wuzeyu
2024-07-05 79e481b7da2a83c769f9709eeec0e7130359be1b
pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/divide/DivideCtrl.java
@@ -13,7 +13,6 @@
import com.dy.pipIrrGlobal.voSe.VoActiveCard;
import com.dy.pipIrrProject.result.ProjectResultCode;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.media.Content;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.responses.ApiResponse;
@@ -69,7 +68,11 @@
    public BaseResponse<QueryResultVo<List<VoDivide>>> getDivides(QueryVo vo){
        try {
            QueryResultVo<List<VoDivide>> res = divideSv.getDivides(vo);
            return BaseResponseUtils.buildSuccess(res);
            if(res.itemTotal != null && res.itemTotal > 0) {
                return BaseResponseUtils.buildSuccess(res);
            }else {
                return BaseResponseUtils.buildFail(ProjectResultCode.NO_DIVIDES.getMessage());
            }
        } catch (Exception e) {
            log.error("获取开卡记录异常", e);
            return BaseResponseUtils.buildException(e.getMessage()) ;
@@ -95,7 +98,11 @@
    public BaseResponse<PrDivide> getOneDivide(@PathVariable("id") Long id){
        try {
            PrDivide res = divideSv.getOneDivide(id);
            return BaseResponseUtils.buildSuccess(res);
            if(res != null) {
                return BaseResponseUtils.buildSuccess(res);
            }else {
                return BaseResponseUtils.buildFail(ProjectResultCode.NO_DIVIDES.getMessage());
            }
        } catch (Exception e) {
            log.error("查询农户异常", e);
            return BaseResponseUtils.buildException(e.getMessage()) ;
@@ -120,30 +127,33 @@
    @PostMapping(path = "add", consumes = MediaType.APPLICATION_JSON_VALUE)
    @Transactional(rollbackFor = Exception.class)
    @SsoAop()
    public BaseResponse<Boolean> add(@RequestBody @Parameter(description = "form表单json数据", required = true) @Valid PrDivide po, @Parameter(hidden = true) 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级行政区划信息
         */
        Map map_districts = Optional.ofNullable(divideSv.getDistrictsByVillageId(villageId)).orElse(new HashMap());
        if(map_districts.size() <= 0) {
            return BaseResponseUtils.buildFail("区划信息有误");
        PrDivide prDivide = DtoToDividePojo.INSTANCT.po2vo(po);
        if (villageId!=null){
            /**
             * 获取5级行政区划信息
             */
            Map map_districts = Optional.ofNullable(divideSv.getDistrictsByVillageId(villageId)).orElse(new HashMap());
            if(map_districts.size() <= 0) {
                return BaseResponseUtils.buildFail("区划信息有误");
            }
            Long countryId = Long.parseLong(map_districts.get("countryId").toString());
            Long townId = Long.parseLong(map_districts.get("townId").toString());
            prDivide.setCountyid(countryId);
            prDivide.setTownid(townId);
        }
        Long countryId = Long.parseLong(map_districts.get("countryId").toString());
        Long townId = Long.parseLong(map_districts.get("townId").toString());
        po.setCountyid(countryId);
        po.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());
        }
@@ -152,7 +162,7 @@
    /**
     * 根据分水房ID逻辑删除分水房
     * @param id
     * @param map
     * @return
     */
    @Operation(summary = "删除一个分水房", description = "删除一个分水房数据")
@@ -165,14 +175,19 @@
            )
    })
    @GetMapping(path = "/delone/{id}")
    //@GetMapping(path = "/delone/{id}")
    @PostMapping(path = "delete", consumes = MediaType.APPLICATION_JSON_VALUE)
    @SsoAop()
    public BaseResponse<Boolean> deleteDivideById(@PathVariable("id") Long id){
    public BaseResponse<Boolean> deleteDivideById(@RequestBody Map map){
        Long id = Optional.ofNullable(Long.parseLong(map.get("id").toString())).orElse(0L);
        if(id == 0)
            return BaseResponseUtils.buildException(ProjectResultCode.DELETE_DIVIDE_FAIL.getMessage());
        try {
            Integer res = Optional.ofNullable(divideSv.deleteDivideById(id)).orElse(0);
            if(res == 0) {
                return BaseResponseUtils.buildFail("分水房删除失败");
            }
            if(res == 0)
                return BaseResponseUtils.buildFail(ProjectResultCode.DELETE_DIVIDE_FAIL.getMessage());
            return BaseResponseUtils.buildSuccess(true);
        } catch (Exception e) {
            log.error("删除分水房异常", e);
@@ -198,32 +213,34 @@
    @PostMapping(path = "update", consumes = MediaType.APPLICATION_JSON_VALUE)
    @Transactional(rollbackFor = Exception.class)
    @SsoAop()
    public BaseResponse<Boolean> update(@RequestBody @Parameter(description = "form表单json数据", required = true) @Valid PrDivide po, @Parameter(hidden = true) BindingResult bindingResult){
    public BaseResponse<Boolean> update(@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级行政区划信息
         */
        Map map_districts = Optional.ofNullable(divideSv.getDistrictsByVillageId(villageId)).orElse(new HashMap());
        if(map_districts.size() <= 0) {
            return BaseResponseUtils.buildFail("区划信息有误");
        PrDivide prDivide = DtoToDividePojo.INSTANCT.po2vo(po);
        if (villageId!=null){
            /**
             * 获取5级行政区划信息
             */
            Map map_districts = Optional.ofNullable(divideSv.getDistrictsByVillageId(villageId)).orElse(new HashMap());
            if(map_districts.size() <= 0) {
                return BaseResponseUtils.buildFail("区划信息有误");
            }
            Long countryId = Long.parseLong(map_districts.get("countryId").toString());
            Long townId = Long.parseLong(map_districts.get("townId").toString());
            prDivide.setCountyid(countryId);
            prDivide.setTownid(townId);
        }
        Long countryId = Long.parseLong(map_districts.get("countryId").toString());
        Long townId = Long.parseLong(map_districts.get("townId").toString());
        po.setCountyid(countryId);
        po.setTownid(townId);
        Date operateTime = new Date();
        po.setOperatedt(operateTime);
        prDivide.setOperatedt(operateTime);
        Integer rec = Optional.ofNullable(divideSv.updateByPrimaryKey(po)).orElse(0);
        Integer rec = Optional.ofNullable(divideSv.updateByPrimaryKey(prDivide)).orElse(0);
        if(rec == 0) {
            return BaseResponseUtils.buildFail("分水房修改失败");
        }
@@ -236,8 +253,8 @@
     * @param vo
     */
    @SneakyThrows(IOException.class)
    @RequestMapping(value = "/exportDivides", method = RequestMethod.GET)
    public void exportDivides(HttpServletResponse response, QueryVo vo) {
    @RequestMapping(value = "/export", method = RequestMethod.GET)
    public void export(HttpServletResponse response, QueryVo vo) {
        setExcelRespProp(response, "分水房列表");
        //List<VoDivide> memberList = LocalJsonUtil.getListFromJson("json/members.json", VoDivide.class);
        List<VoDivide> memberList = divideSv.exportDivides(vo);