2023-12-26 朱宝民 县镇村获取接口、用水方式获取接口、农户增加虚拟卡号和用水方式
6个文件已修改
213 ■■■■■ 已修改文件
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoPr/PrDivideMapper.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrDivideMapper.xml 17 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/PipIrrProjectApplication.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/divide/DivideCtrl.java 144 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/divide/DivideSv.java 40 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/divide/QueryVo.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoPr/PrDivideMapper.java
@@ -2,6 +2,7 @@
import com.dy.pipIrrGlobal.pojoPr.PrDivide;
import com.dy.pipIrrGlobal.voPr.VoDivide;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map;
@@ -38,4 +39,11 @@
     * @return
     */
    List<VoDivide> getDivides(Map<?, ?> params);
    /**
     * 根据分水房ID逻辑删除分水房
     * @param id
     * @return
     */
    Integer deleteDivideById(@Param("id") Long id);
}
pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrDivideMapper.xml
@@ -227,8 +227,9 @@
      lat = #{lat,jdbcType=DOUBLE},
      remarks = #{remarks,jdbcType=VARCHAR},
      `operator` = #{operator,jdbcType=BIGINT},
      operateDt = #{operatedt,jdbcType=TIMESTAMP},
      deleted = #{deleted,jdbcType=TINYINT}
      operateDt = #{operatedt,jdbcType=TIMESTAMP}
<!--    ,-->
<!--      deleted = #{deleted,jdbcType=TINYINT}-->
    where id = #{id,jdbcType=BIGINT}
  </update>
@@ -243,6 +244,7 @@
        INNER JOIN ba_district village ON divi.villageid = village.id
        , (SELECT @i:=0) AS itable
    <where>
      AND divi. deleted = 0
      <if test = "divideName != null and divideName !=''">
        AND divi.name LIKE CONCAT('%',#{divideName},'%')
      </if>
@@ -270,6 +272,7 @@
        INNER JOIN ba_district village ON divi.villageid = village.id
        , (SELECT @i:=0) AS itable
    <where>
      AND divi. deleted = 0
      <if test = "divideName != null and divideName !=''">
        AND divi.name LIKE CONCAT('%',#{divideName},'%')
      </if>
@@ -284,4 +287,14 @@
    </if>
  </select>
  <!--根据分水房ID逻辑删除分水房-->
  <update id="deleteDivideById" parameterType="java.lang.Long">
    update pr_divide set deleted = 1
    <where>
      <if test = "id != null and id > 0">
        AND id = ${id}
      </if>
    </where>
  </update>
</mapper>
pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/PipIrrProjectApplication.java
@@ -18,7 +18,7 @@
@EnableAspectJAutoProxy
@EnableMultiDataSource
@ComponentScan(basePackages = {"com.dy.common", "com.dy.pipIrrGlobal", "com.dy.pipIrrProject"})
@MapperScan({"com.dy.pipIrrGlobal.daoPr"})
@MapperScan({"com.dy.pipIrrGlobal.daoPr", "com.dy.pipIrrGlobal.daoBa"})
public class PipIrrProjectApplication {
    public static void main(String[] args) {
pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/divide/DivideCtrl.java
@@ -7,6 +7,7 @@
import com.dy.common.webUtil.BaseResponseUtils;
import com.dy.common.webUtil.QueryResultVo;
import com.dy.common.webUtil.ResultCodeMsg;
import com.dy.pipIrrGlobal.pojoBa.BaClient;
import com.dy.pipIrrGlobal.pojoPr.PrDivide;
import com.dy.pipIrrGlobal.voPr.VoDivide;
import com.dy.pipIrrGlobal.voSe.VoActiveCard;
@@ -32,11 +33,7 @@
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import java.time.format.DateTimeFormatter;
import java.util.Date;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import java.util.*;
/**
 * @author ZhuBaoMin
@@ -53,6 +50,11 @@
public class DivideCtrl {
    private final DivideSv divideSv;
    /**
     * 分页获取分水房记录
     * @param vo
     * @return
     */
    @Operation(summary = "获得一页分水房记录", description = "返回一页分水房数据")
    @ApiResponses(value = {
            @ApiResponse(
@@ -62,9 +64,9 @@
                            schema = @Schema(implementation = VoActiveCard.class))}
            )
    })
    @GetMapping(path = "/getDivides", consumes = MediaType.APPLICATION_JSON_VALUE)
    @GetMapping(path = "/getDivides")
    @SsoAop()
    public BaseResponse<QueryResultVo<List<VoDivide>>> getDivides(@RequestBody @Parameter(description = "查询form表单json数据", required = true) QueryVo vo){
    public BaseResponse<QueryResultVo<List<VoDivide>>> getDivides(QueryVo vo){
        try {
            QueryResultVo<List<VoDivide>> res = divideSv.getDivides(vo);
            return BaseResponseUtils.buildSuccess(res);
@@ -74,6 +76,38 @@
        }
    }
    /**
     * 根据分水房主键获取分水房对象
     * @param id
     * @return
     */
    @Operation(summary = "获得一个分水房", description = "返回一个分水房数据")
    @ApiResponses(value = {
            @ApiResponse(
                    responseCode = ResultCodeMsg.RsCode.SUCCESS_CODE,
                    description = "返回一页农户数据(BaseResponse.content:QueryResultVo[{}])",
                    content = {@Content(mediaType = MediaType.APPLICATION_JSON_VALUE,
                            schema = @Schema(implementation = BaClient.class))}
            )
    })
    @GetMapping(path = "/getone/{id}")
    @SsoAop()
    public BaseResponse<PrDivide> getOneDivide(@PathVariable("id") Long id){
        try {
            PrDivide res = divideSv.getOneDivide(id);
            return BaseResponseUtils.buildSuccess(res);
        } catch (Exception e) {
            log.error("查询农户异常", e);
            return BaseResponseUtils.buildException(e.getMessage()) ;
        }
    }
    /**
     * 添加分水房记录
     * @param po
     * @param bindingResult
     * @return
     */
    @Operation(summary = "添加分水房记录", description = "添加分水房记录")
    @ApiResponses(value = {
            @ApiResponse(
@@ -87,13 +121,28 @@
    @Transactional(rollbackFor = Exception.class)
    @SsoAop()
    public BaseResponse<Boolean> add(@RequestBody @Parameter(description = "form表单json数据", required = true) @Valid PrDivide po, @Parameter(hidden = true) BindingResult bindingResult){
        DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
        if(bindingResult != null && bindingResult.hasErrors()){
            return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage());
        }
        // 接收村编号(主键)
        Long villageId = po.getVillageid();
        /**
         * 获取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());
        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);
        if(rec == 0) {
            return BaseResponseUtils.buildFail(ProjectResultCode.DIVIDE_FAIL.getMessage());
@@ -101,6 +150,85 @@
        return BaseResponseUtils.buildSuccess(true) ;
    }
    /**
     * 根据分水房ID逻辑删除分水房
     * @param id
     * @return
     */
    @Operation(summary = "删除一个分水房", description = "删除一个分水房数据")
    @ApiResponses(value = {
            @ApiResponse(
                    responseCode = ResultCodeMsg.RsCode.SUCCESS_CODE,
                    description = "返回一页农户数据(BaseResponse.content:QueryResultVo[{}])",
                    content = {@Content(mediaType = MediaType.APPLICATION_JSON_VALUE,
                            schema = @Schema(implementation = BaClient.class))}
            )
    })
    @GetMapping(path = "/delone/{id}")
    @SsoAop()
    public BaseResponse<Boolean> deleteDivideById(@PathVariable("id") Long id){
        try {
            Integer res = Optional.ofNullable(divideSv.deleteDivideById(id)).orElse(0);
            if(res == 0) {
                return BaseResponseUtils.buildFail("分水房删除失败");
            }
            return BaseResponseUtils.buildSuccess(true);
        } catch (Exception e) {
            log.error("删除分水房异常", e);
            return BaseResponseUtils.buildException(e.getMessage()) ;
        }
    }
    /**
     * 修改分水房
     * @param po
     * @param bindingResult
     * @return
     */
    @Operation(summary = "修改分水房记录", description = "修改分水房记录")
    @ApiResponses(value = {
            @ApiResponse(
                    responseCode = ResultCodeMsg.RsCode.SUCCESS_CODE,
                    description = "操作结果:true:成功,false:失败(BaseResponse.content)",
                    content = {@Content(mediaType = MediaType.APPLICATION_JSON_VALUE,
                            schema = @Schema(implementation = Boolean.class))}
            )
    })
    @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){
        if(bindingResult != null && bindingResult.hasErrors()){
            return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage());
        }
        // 接收村编号(主键)
        Long villageId = po.getVillageid();
        /**
         * 获取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());
        po.setCountyid(countryId);
        po.setTownid(townId);
        Date operateTime = new Date();
        po.setOperatedt(operateTime);
        Integer rec = Optional.ofNullable(divideSv.updateByPrimaryKey(po)).orElse(0);
        if(rec == 0) {
            return BaseResponseUtils.buildFail("分水房修改失败");
        }
        return BaseResponseUtils.buildSuccess(true) ;
    }
    /**
     * 导出分水房列表
pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/divide/DivideSv.java
@@ -1,6 +1,7 @@
package com.dy.pipIrrProject.divide;
import com.dy.common.webUtil.QueryResultVo;
import com.dy.pipIrrGlobal.daoBa.BaDistrictMapper;
import com.dy.pipIrrGlobal.daoPr.PrDivideMapper;
import com.dy.pipIrrGlobal.pojoPr.PrDivide;
import com.dy.pipIrrGlobal.voPr.VoDivide;
@@ -25,6 +26,9 @@
public class DivideSv {
    @Autowired
    private PrDivideMapper prDivideMapper;
    @Autowired
    private BaDistrictMapper baDistrictMapper;
    /**
     * 添加分水房
@@ -64,4 +68,40 @@
        rsVo = prDivideMapper.getDivides(params);
        return rsVo ;
    }
    /**
     * 根据分水房主键获取分水房对象
     * @param id
     * @return
     */
    public PrDivide getOneDivide(Long id) {
        return prDivideMapper.selectByPrimaryKey(id);
    }
    /**
     * 根据主键逻辑删除一个分水房
     * @param id
     * @return
     */
    public Integer deleteDivideById(Long id) {
        return prDivideMapper.deleteDivideById(id);
    }
    /**
     * 根据村编号获取5级区划信息
     * @param villageId 村编号(主键)
     * @return 5级行政区划信息
     */
    public Map getDistrictsByVillageId(Long villageId) {
        return baDistrictMapper.getDistrictsByVillageId(villageId);
    }
    /**
     * 修改分水房对象
     * @param po 农户对象
     * @return 修改记录条数
     */
    public Integer updateByPrimaryKey(PrDivide po) {
        return prDivideMapper.updateByPrimaryKey(po);
    }
}
pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/divide/QueryVo.java
@@ -22,6 +22,6 @@
    @Schema(description = "农户姓名")
    public String divideName;
    @Schema(description = "IC卡号")
    @Schema(description = "片区名称")
    public String blockName;
}