Administrator
2024-01-06 5de06c73416275934bcfce7cb0e04562c9462ce8
2024-01-06 朱宝民 三级行政区划获取
2个文件已修改
2个文件已添加
195 ■■■■■ 已修改文件
pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/district/DistrictCtrl.java 51 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/divide/DivideCtrl.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/divide/DtoDivide.java 96 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/divide/DtoToDividePojo.java 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/district/DistrictCtrl.java
@@ -1,5 +1,8 @@
package com.dy.pipIrrBase.district;
import com.alibaba.fastjson2.JSON;
import com.alibaba.fastjson2.JSONArray;
import com.alibaba.fastjson2.JSONObject;
import com.dy.common.aop.SsoAop;
import com.dy.common.mybatis.envm.Deleted;
import com.dy.common.webUtil.BaseResponse;
@@ -263,4 +266,52 @@
        }
        return BaseResponseUtils.buildSuccess(map_Districts);
    }
    /**
     * 获取三级行政区划
     * @return 县镇村三级行政区划
     */
    @GetMapping(path = "/three")
    @SsoAop()
    public BaseResponse<QueryResultVo<List<Map<String, Object>>>> getThreeDistrict() {
        JSONArray array_counties = new JSONArray();
        JSONArray array_towns = new JSONArray();
        JSONArray array_villages = new JSONArray();
        List<Map<String, Object>> list_counties = Optional.ofNullable(sv.getDistrictgsByLevel(2)).orElse(new ArrayList<>());
        if(list_counties.size() > 0) {
            array_counties = JSONArray.parseArray(JSON.toJSONString(list_counties));
            // 遍历每一个县,将县下的镇村加到县的子集
            for(int i = 0; i < array_counties.size(); i++) {
                JSONObject job_county = array_counties.getJSONObject(i);
                    Long countyId = job_county.getLong("id");
                    List<Map<String, Object>> list_towns = Optional.ofNullable(sv.getDistrictsBySupperId(countyId)).orElse(new ArrayList<>());
                    if(list_towns.size() > 0) {
                        array_towns = JSONArray.parseArray(JSON.toJSONString(list_towns));
                        // 遍历每一个镇,将镇下村列表加到镇的子集
                        for(int j = 0; j < array_towns.size(); j++) {
                            JSONObject job_town = array_towns.getJSONObject(j);
                            Long townId = job_town.getLong("id");
                            List<Map<String, Object>> list_villages = Optional.ofNullable(sv.getDistrictsBySupperId(townId)).orElse(new ArrayList<>());
                            if(list_villages.size() > 0) {
                                array_villages = JSONArray.parseArray(JSON.toJSONString(list_villages));
                                job_town.put("children", array_villages);
                            }
                        }
                        //System.out.println("----" + array_towns);
                    }
                    // 镇村组装完毕,将镇村加到县下
                    job_county.put("children", array_towns);
            }
            // 县组装完毕
            //String a = array_counties.toJSONString();
            //System.out.println(a);
            return BaseResponseUtils.buildSuccess(array_counties);
        }else {
            return BaseResponseUtils.buildFail("县级行政区划不存在");
        }
        //return BaseResponseUtils.buildSuccess();
    }
}
pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/divide/DivideCtrl.java
@@ -119,12 +119,12 @@
    @PostMapping(path = "add", consumes = MediaType.APPLICATION_JSON_VALUE)
    @Transactional(rollbackFor = Exception.class)
    @SsoAop()
    public BaseResponse<Boolean> add(@RequestBody @Valid PrDivide po, BindingResult bindingResult){
    public BaseResponse<Boolean> add(@RequestBody @Valid DtoDivide po, BindingResult bindingResult){
        if(bindingResult != null && bindingResult.hasErrors()){
            return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage());
        }
        // 接收村编号(主键)
        Long villageId = po.getVillageid();
        Long villageId = po.getVillageId();
        /**
         * 获取5级行政区划信息
@@ -134,15 +134,17 @@
            return BaseResponseUtils.buildFail("区划信息有误");
        }
        PrDivide prDivide = DtoToDividePojo.INSTANCT.po2vo(po);
        Long countryId = Long.parseLong(map_districts.get("countryId").toString());
        Long townId = Long.parseLong(map_districts.get("townId").toString());
        po.setCountyid(countryId);
        po.setTownid(townId);
        prDivide.setCountyid(countryId);
        prDivide.setTownid(townId);
        Date operateTime = new Date();
        po.setOperatedt(operateTime);
        po.setDeleted((byte)0);
        Integer rec = Optional.ofNullable(divideSv.addDivide(po)).orElse(0);
        prDivide.setOperatedt(operateTime);
        prDivide.setDeleted((byte)0);
        Integer rec = Optional.ofNullable(divideSv.addDivide(prDivide)).orElse(0);
        if(rec == 0) {
            return BaseResponseUtils.buildFail(ProjectResultCode.DIVIDE_FAIL.getMessage());
        }
pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/divide/DtoDivide.java
New file
@@ -0,0 +1,96 @@
package com.dy.pipIrrProject.divide;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
import org.hibernate.validator.constraints.Length;
/**
 * @author ZhuBaoMin
 * @date 2024-01-05 17:00
 * @LastEditTime 2024-01-05 17:00
 * @Description
 */
@Data
@Schema(name = "分水房传入对象")
public class DtoDivide {
    public static final long serialVersionUID = 1L;
    /**
     * 所在村
     */
    @Schema(description = "所在村ID", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "所在村不能为空")
    private Long villageId;
    /**
     * 所在片区
     */
    @Schema(description = "所在片区ID", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "所在片区不能为空")
    private Long blockId;
    /**
     * 分水口名称或编号
     */
    @Schema(description = "分水口名称", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotBlank(message = "分水房名称不能为空")
    @Length(max = 25, message = "分水口名称最多25字")
    private String name;
    /**
     * 覆盖村
     */
    @Schema(description = "覆盖村", requiredMode = Schema.RequiredMode.REQUIRED)
    @Length(max = 100, message = "覆盖村最多100字")
    private String villages;
    /**
     * 覆盖面积(平方公里)
     */
    @Schema(description = "覆盖面积", requiredMode = Schema.RequiredMode.REQUIRED)
    private Double area;
    /**
     * 负责人
     */
    @Schema(description = "负责人", requiredMode = Schema.RequiredMode.REQUIRED)
    private String header;
    /**
     * 联系电话
     */
    @Schema(description = "联系电话", requiredMode = Schema.RequiredMode.REQUIRED)
    @Length(max = 11, message = "联系电话最大11位")
    private String phone;
    /**
     * 经度
     */
    @Schema(description = "经度", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "经度不能为空")
    private Double lng;
    /**
     * 纬度
     */
    @Schema(description = "经度", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "经度不能为空")
    private Double lat;
    /**
     * 备注信息
     */
    @Schema(description = "备注", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
    @Length(max = 200, message = "备注最多200字")
    private String remarks;
    /**
     * 操作人编号
     */
    @Schema(description = "操作人编号", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
    @NotNull(message = "操作人编号不能为空")
    private Long operator;
}
pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/divide/DtoToDividePojo.java
New file
@@ -0,0 +1,32 @@
package com.dy.pipIrrProject.divide;
import com.dy.pipIrrGlobal.pojoPr.PrDivide;
import org.mapstruct.Mapper;
import org.mapstruct.Mapping;
import org.mapstruct.factory.Mappers;
/**
 * @author ZhuBaoMin
 * @date 2024-01-05 17:10
 * @LastEditTime 2024-01-05 17:10
 * @Description
 */
@Mapper
public interface DtoToDividePojo {
    DtoToDividePojo INSTANCT = Mappers.getMapper(DtoToDividePojo.class);
    @Mapping(target = "villageid", source = "villageId")
    @Mapping(target = "blockid", source = "blockId")
    @Mapping(target = "name", source = "name")
    @Mapping(target = "villages", source = "villages")
    @Mapping(target = "area", source = "area")
    @Mapping(target = "header", source = "header")
    @Mapping(target = "phone", source = "phone")
    @Mapping(target = "lng", source = "lng")
    @Mapping(target = "lat", source = "lat")
    @Mapping(target = "remarks", source = "remarks")
    @Mapping(target = "operator", source = "operator")
    PrDivide po2vo(DtoDivide po);
}