liurunyu
2024-07-05 76d4ed516122db433859648d58bc971c7b0ce581
修改取水口名称(编号)重复验证
6个文件已修改
79 ■■■■■ 已修改文件
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoPr/PrIntakeMapper.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmIntakeAmountHistory.java 17 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrIntakeMapper.xml 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/intake/IntakeCtrl.java 17 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/intake/IntakeSv.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/result/ProjectResultCode.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoPr/PrIntakeMapper.java
@@ -141,15 +141,17 @@
    Long getIntakeIdByName(String intakeName);
    /**
     * 得到所有的取水口名称
     * @return
     */
    List<String> getIntakeName();
    /**
     * 取水口名称换取水口ID,验证是否重复名称使用
     * @param intakeName
     * @return
     */
    List<Long> getIntakeIdByName1(String intakeName);
    List<Long> getIntakeIdsByName(String intakeName);
    /**
     * 取水口名称换取水口ID,验证是否重复名称使用
     * @param id
     * @param intakeName
     * @return
     */
    List<Long> getIntakeIdByNameExcludeId(@Param("id")Long id, @Param("intakeName")String intakeName);
}
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmIntakeAmountHistory.java
@@ -43,6 +43,13 @@
    public Long intakeid;
    /**
     * 统计日期
     */
    @Schema(description = "日期", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
    @JsonFormat(pattern = "yyyy-MM-dd")
    public Date dt;
    /**
    * 累计取水量(不包括漏损水量)
    */
    @Schema(description = "累计取水量(不包括漏损水量)", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
@@ -55,6 +62,12 @@
    public Double loss;
    /**
     * 最后计水量的控制器地址
     */
    @Schema(description = "控制器地址", requiredMode = Schema.RequiredMode.REQUIRED)
    public String rtuAddrLast;
    /**
    * 最后计水量的控制器ID(外键)
    */
    @Schema(description = "控制器实体外键", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
@@ -62,9 +75,9 @@
    public Long controlleridlast;
    /**
    * 最后计水量日期
    * 最后计水量上报数据接收时间
    */
    @Schema(description = "最后计水量日期", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
    @Schema(description = "数据接收时间", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    public Date dtlast;
pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrIntakeMapper.xml
@@ -443,13 +443,16 @@
    SELECT id AS intakeId FROM pr_intake WHERE `name` = #{intakeName}
  </select>
  <!--得到所有的取水口名称-->
  <select id="getIntakeName" resultType="java.lang.String">
    SELECT `name`  FROM pr_intake WHERE deleted = 0
  <!--取水口名称换取水口ID,验证是否重复名称使用-->
  <select id="getIntakeIdsByName" resultType="java.lang.Long">
    SELECT id AS intakeId FROM pr_intake WHERE `name` = #{intakeName}
  </select>
  <!--取水口名称换取水口ID,验证是否重复名称使用-->
  <select id="getIntakeIdByName1" resultType="java.lang.Long">
    SELECT id AS intakeId FROM pr_intake WHERE `name` = #{intakeName}
  <select id="getIntakeIdByNameExcludeId" resultType="java.lang.Long">
    SELECT id AS intakeId FROM pr_intake WHERE id != #{id} and `name` = #{intakeName}
  </select>
</mapper>
pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/intake/IntakeCtrl.java
@@ -147,12 +147,11 @@
        if (bindingResult != null && bindingResult.hasErrors()) {
            return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage());
        }
        List<Long> ids = intakeSv.getIntakeIdByName1(po.getName());
        List<Long> ids = intakeSv.getIntakeIdsByName(po.getName());
        if (ids.size() > 0) {
            return BaseResponseUtils.buildFail(ProjectResultCode.INTAKE_NAME_EXIST.getMessage());
        }
        Date operateTime = new Date();
        po.setOperateDt(operateTime);
        po.setOperateDt(new Date());
        po.setDeleted((byte)0);
        Integer rec = Optional.ofNullable(intakeSv.addIntake(po)).orElse(0);
        if (rec == 0) {
@@ -182,18 +181,12 @@
        if (bindingResult != null && bindingResult.hasErrors()) {
            return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage());
        }
        List<Long> ids = intakeSv.getIntakeIdByName1(po.getName());
        List<Long> ids = intakeSv.getIntakeIdByNameExcludeId(po.getId(), po.getName());
        if (ids.size() > 0){
            if (!ids.contains(po.getId())){
                return BaseResponseUtils.buildFail(ProjectResultCode.INTAKE_NAME_EXIST.getMessage());
            }
            if (ids.size() > 1){
                return BaseResponseUtils.buildFail(ProjectResultCode.INTAKE_NAME_EXIST.getMessage());
            }
            return BaseResponseUtils.buildFail(ProjectResultCode.INTAKE_NAME_EXIST.getMessage());
        }
        int count;
        Date operateTime = new Date();
        po.setOperateDt(operateTime);
        po.setOperateDt( new Date());
        try {
            count = this.intakeSv.update(po);
        } catch (Exception e) {
pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/intake/IntakeSv.java
@@ -287,12 +287,14 @@
        return response.getBody();
    }
    /**
     * 得到所有取水口名称
     * 取水口名称换取水口ID,验证是否重复名称使用
     * @param intakeName
     * @return
     */
    public List<String> getIntakeName() {
        return prIntakeMapper.getIntakeName();
    public List<Long> getIntakeIdsByName(String intakeName) {
        return prIntakeMapper.getIntakeIdsByName(intakeName);
    }
    /**
@@ -300,7 +302,9 @@
     * @param intakeName
     * @return
     */
    public List<Long> getIntakeIdByName1(String intakeName) {
        return prIntakeMapper.getIntakeIdByName1(intakeName);
    public List<Long> getIntakeIdByNameExcludeId(Long id, String intakeName) {
        return prIntakeMapper.getIntakeIdByNameExcludeId(id, intakeName);
    }
}
pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/result/ProjectResultCode.java
@@ -29,7 +29,7 @@
    PLEASE_INPUT_INTAKE_ID(20004, "取水口编号不为空"),
    DELETE_INTAKE_FAIL(20005, "取水口删除失败"),
    NO_BINDING_INTAKE(20006, "没有未绑定的取水口"),
    INTAKE_NAME_EXIST(20006, "取水口名称已存在"),
    INTAKE_NAME_EXIST(20007, "取水口名称已存在"),
    /**
     * 控制器