From 79e481b7da2a83c769f9709eeec0e7130359be1b Mon Sep 17 00:00:00 2001
From: wuzeyu <1223318623@qq.com>
Date: 星期五, 05 七月 2024 16:59:12 +0800
Subject: [PATCH] 添加取水口和更改取水口时判断取水口是否重名 重新优化

---
 pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/intake/IntakeCtrl.java |   19 +++++++++----------
 pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/intake/IntakeSv.java   |    9 +++++++++
 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoPr/PrIntakeMapper.java               |    7 +++++++
 pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrIntakeMapper.xml                              |    5 +++++
 4 files changed, 30 insertions(+), 10 deletions(-)

diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoPr/PrIntakeMapper.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoPr/PrIntakeMapper.java
index c90161c..3cea409 100644
--- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoPr/PrIntakeMapper.java
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoPr/PrIntakeMapper.java
@@ -145,4 +145,11 @@
      * @return
      */
     List<String> getIntakeName();
+
+    /**
+     * 鍙栨按鍙e悕绉版崲鍙栨按鍙D锛岄獙璇佹槸鍚﹂噸澶嶅悕绉颁娇鐢�
+     * @param intakeName
+     * @return
+     */
+    List<Long> getIntakeIdByName1(String intakeName);
 }
diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrIntakeMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrIntakeMapper.xml
index 1ce5038..0c1ea74 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrIntakeMapper.xml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrIntakeMapper.xml
@@ -447,4 +447,9 @@
   <select id="getIntakeName" resultType="java.lang.String">
     SELECT `name`  FROM pr_intake WHERE deleted = 0
   </select>
+
+  <!--鍙栨按鍙e悕绉版崲鍙栨按鍙D锛岄獙璇佹槸鍚﹂噸澶嶅悕绉颁娇鐢�-->
+  <select id="getIntakeIdByName1" resultType="java.lang.Long">
+    SELECT id AS intakeId FROM pr_intake WHERE `name` = #{intakeName}
+  </select>
 </mapper>
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/intake/IntakeCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/intake/IntakeCtrl.java
index 9bbdea9..2d966ea 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/intake/IntakeCtrl.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/intake/IntakeCtrl.java
@@ -147,12 +147,9 @@
         if (bindingResult != null && bindingResult.hasErrors()) {
             return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage());
         }
-        List<String> intakeNameList = intakeSv.getIntakeName();
-        for (int i = 0; i < intakeNameList.size(); i++) {
-            String intakeName = intakeNameList.get(i);
-            if (intakeName.equals(po.getName())) {
-                return BaseResponseUtils.buildFail(ProjectResultCode.INTAKE_NAME_EXIST.getMessage());
-            }
+        List<Long> ids = intakeSv.getIntakeIdByName1(po.getName());
+        if (ids.size() > 0) {
+            return BaseResponseUtils.buildFail(ProjectResultCode.INTAKE_NAME_EXIST.getMessage());
         }
         Date operateTime = new Date();
         po.setOperateDt(operateTime);
@@ -185,10 +182,12 @@
         if (bindingResult != null && bindingResult.hasErrors()) {
             return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage());
         }
-        List<String> intakeNameList = intakeSv.getIntakeName();
-        for (int i = 0; i < intakeNameList.size(); i++) {
-            String intakeName = intakeNameList.get(i);
-            if (intakeName.equals(po.getName())) {
+        List<Long> ids = intakeSv.getIntakeIdByName1(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());
             }
         }
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/intake/IntakeSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/intake/IntakeSv.java
index 2a9bf1e..1c61f81 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/intake/IntakeSv.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/intake/IntakeSv.java
@@ -294,4 +294,13 @@
     public List<String> getIntakeName() {
         return prIntakeMapper.getIntakeName();
     }
+
+    /**
+     * 鍙栨按鍙e悕绉版崲鍙栨按鍙D锛岄獙璇佹槸鍚﹂噸澶嶅悕绉颁娇鐢�
+     * @param intakeName
+     * @return
+     */
+    public List<Long> getIntakeIdByName1(String intakeName) {
+        return prIntakeMapper.getIntakeIdByName1(intakeName);
+    }
 }

--
Gitblit v1.8.0