From e5c29d6ac2b210a9385723598d79a42ae5a9679e Mon Sep 17 00:00:00 2001
From: liurunyu <lry9898@163.com>
Date: 星期三, 23 四月 2025 15:20:13 +0800
Subject: [PATCH] Merge branch 'master' of http://8.140.179.55:20000/r/pipIrr-SV

---
 pipIrr-platform/pipIrr-web/pipIrr-web-irrigate/src/main/java/com/dy/pipIrrIrrigate/result/IrrigateResultCode.java       |    1 
 pipIrr-platform/.gitignore                                                                                              |    1 
 .gitignore                                                                                                              |    6 +--
 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoIr/IrIrrigateGroupMapper.java                        |   15 +++++++
 pipIrr-platform/pipIrr-web/pipIrr-web-irrigate/src/main/java/com/dy/pipIrrIrrigate/irrigateGroup/IrrigateGroupSv.java   |   25 ++++++++++++
 pipIrr-platform/pipIrr-global/src/main/resources/mapper/IrIrrigateGroupMapper.xml                                       |   17 ++++++++
 pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/irrigatePlan/IrrigatePlanSv.java         |    1 
 pipIrr-platform/pipIrr-web/pipIrr-web-irrigate/src/main/java/com/dy/pipIrrIrrigate/irrigateGroup/IrrigateGroupCtrl.java |   10 +++++
 8 files changed, 71 insertions(+), 5 deletions(-)

diff --git a/.gitignore b/.gitignore
index fc13813..da2d2bd 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,8 +1,6 @@
 /pipIrr-platform/downloadTemp/
 /pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu3rdTest/
-/.idea/*.*
-.idea/
 /logs/*.*
 logs/
-/rtuLogs/*.*
-rtuLogs/
\ No newline at end of file
+### IntelliJ IDEA ###
+.idea/
\ No newline at end of file
diff --git a/pipIrr-platform/.gitignore b/pipIrr-platform/.gitignore
index c7ede0c..ee6e957 100644
--- a/pipIrr-platform/.gitignore
+++ b/pipIrr-platform/.gitignore
@@ -14,7 +14,6 @@
 .sts4-cache
 
 ### IntelliJ IDEA ###
-.idea
 .idea/
 *.iws
 *.iml
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoIr/IrIrrigateGroupMapper.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoIr/IrIrrigateGroupMapper.java
index e49bf93..b2be323 100644
--- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoIr/IrIrrigateGroupMapper.java
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoIr/IrIrrigateGroupMapper.java
@@ -101,4 +101,19 @@
      * @return
      */
     List<VoIntake> getGroupIntakesList(Long groupId);
+
+    /**
+     * 鏍规嵁杞亴缁勫悕绉扮粺璁¤褰曟暟
+     * @param groupCode 杞亴缁勫悕绉�
+     * @return 鍖归厤鐨勮褰曟暟
+     */
+    int countByGroupCode(@Param("groupCode") String groupCode);
+
+    /**
+     * 鏍规嵁杞亴缁勫悕绉扮粺璁¤褰曟暟锛堟帓闄ゆ寚瀹欼D锛�
+     * @param groupCode 杞亴缁勫悕绉�
+     * @param excludeId 闇�瑕佹帓闄ょ殑杞亴缁処D
+     * @return 鍖归厤鐨勮褰曟暟
+     */
+    int countByGroupCodeExcludeId(@Param("groupCode") String groupCode, @Param("excludeId") Long excludeId);
 }
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/IrIrrigateGroupMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/IrIrrigateGroupMapper.xml
index 115fe2b..5305c81 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/IrIrrigateGroupMapper.xml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/IrIrrigateGroupMapper.xml
@@ -362,4 +362,21 @@
            INNER JOIN pr_controller con ON con.intakeId = gi.intake_id
     WHERE gi.group_id = #{groupId}
   </select>
+  
+  <!--鏍规嵁杞亴缁勫悕绉扮粺璁¤褰曟暟-->
+  <select id="countByGroupCode" resultType="java.lang.Integer">
+    SELECT COUNT(*) 
+    FROM ir_irrigate_group 
+    WHERE group_code = #{groupCode} 
+    AND deleted = 0
+  </select>
+  
+  <!--鏍规嵁杞亴缁勫悕绉扮粺璁¤褰曟暟锛堟帓闄ゆ寚瀹欼D锛�-->
+  <select id="countByGroupCodeExcludeId" resultType="java.lang.Integer">
+    SELECT COUNT(*) 
+    FROM ir_irrigate_group 
+    WHERE group_code = #{groupCode} 
+    AND id != #{excludeId} 
+    AND deleted = 0
+  </select>
 </mapper>
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-irrigate/src/main/java/com/dy/pipIrrIrrigate/irrigateGroup/IrrigateGroupCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-irrigate/src/main/java/com/dy/pipIrrIrrigate/irrigateGroup/IrrigateGroupCtrl.java
index 89c086e..77706f0 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-irrigate/src/main/java/com/dy/pipIrrIrrigate/irrigateGroup/IrrigateGroupCtrl.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-irrigate/src/main/java/com/dy/pipIrrIrrigate/irrigateGroup/IrrigateGroupCtrl.java
@@ -460,6 +460,11 @@
         if (bindingResult != null && bindingResult.hasErrors()) {
             return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage());
         }
+        
+        // 鍏堝垽鏂〃鍐呮槸鍚﹀瓨鍦ㄧ浉鍚岀殑 groupCode
+        if (irrigateGroupSv.existsByGroupCode(po.getGroupCode())) {
+            return BaseResponseUtils.buildFail(IrrigateResultCode.GROUP_CODE_ALREADY_EXISTS.getMessage());
+        }
 
         Map map_result = irrigateGroupSv.addIrrigateGroup(po);
         if(map_result.get("success").equals(false)) {
@@ -505,6 +510,11 @@
         if(po.getGroupId() == null) {
             return BaseResponseUtils.buildErrorMsg("杞亴缁処D涓嶈兘涓虹┖");
         }
+        
+        // 鍏堝垽鏂〃鍐呮槸鍚﹀瓨鍦ㄧ浉鍚岀殑 groupCode锛堟帓闄ゅ綋鍓嶆鍦ㄤ慨鏀圭殑璁板綍锛�
+        if (irrigateGroupSv.existsByGroupCodeExcludeId(po.getGroupCode(), po.getGroupId())) {
+            return BaseResponseUtils.buildFail(IrrigateResultCode.GROUP_CODE_ALREADY_EXISTS.getMessage());
+        }
 
         Map map_result = irrigateGroupSv.updateIrrigateGroup(po);
         if(map_result.get("success").equals(false)) {
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-irrigate/src/main/java/com/dy/pipIrrIrrigate/irrigateGroup/IrrigateGroupSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-irrigate/src/main/java/com/dy/pipIrrIrrigate/irrigateGroup/IrrigateGroupSv.java
index 1ff9050..da54d34 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-irrigate/src/main/java/com/dy/pipIrrIrrigate/irrigateGroup/IrrigateGroupSv.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-irrigate/src/main/java/com/dy/pipIrrIrrigate/irrigateGroup/IrrigateGroupSv.java
@@ -172,6 +172,31 @@
     }
 
     /**
+     * 鏍规嵁杞亴缁勫悕绉版煡璇㈡槸鍚﹀瓨鍦紙娣诲姞杞亴缁勬椂浣跨敤锛�
+     * @param groupCode 杞亴缁勫悕绉�
+     * @return 鏄惁瀛樺湪
+     */
+    public boolean existsByGroupCode(String groupCode) {
+        if (groupCode == null || "".equals(groupCode.trim())) {
+            return false;
+        }
+        return irIrrigateGroupMapper.countByGroupCode(groupCode) > 0;
+    }
+
+    /**
+     * 鏍规嵁杞亴缁勫悕绉版煡璇㈡槸鍚﹀瓨鍦紙淇敼杞亴缁勬椂浣跨敤锛屾帓闄ゅ綋鍓岻D锛�
+     * @param groupCode 杞亴缁勫悕绉�
+     * @param excludeId 闇�瑕佹帓闄ょ殑ID
+     * @return 鏄惁瀛樺湪
+     */
+    public boolean existsByGroupCodeExcludeId(String groupCode, Long excludeId) {
+        if (groupCode == null || "".equals(groupCode.trim())) {
+            return false;
+        }
+        return irIrrigateGroupMapper.countByGroupCodeExcludeId(groupCode, excludeId) > 0;
+    }
+
+    /**
      * 鍒犻櫎杞亴缁勪笌鍐滄埛绠$悊
      * @param id
      * @return
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-irrigate/src/main/java/com/dy/pipIrrIrrigate/result/IrrigateResultCode.java b/pipIrr-platform/pipIrr-web/pipIrr-web-irrigate/src/main/java/com/dy/pipIrrIrrigate/result/IrrigateResultCode.java
index c13d4b1..96ac899 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-irrigate/src/main/java/com/dy/pipIrrIrrigate/result/IrrigateResultCode.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-irrigate/src/main/java/com/dy/pipIrrIrrigate/result/IrrigateResultCode.java
@@ -42,6 +42,7 @@
     GROUP_ADD_UNIT_FAIL(30006, "杞亴缁勬坊鍔犵亴婧夊崟鍏冨け璐�"),
     GROUP_DELETE_UNIT_FAIL(30007, "杞亴缁勭Щ闄ょ亴婧夊崟鍏冨け璐�"),
     UPDATE_GROUP_BIND_UNIT_FAIL(30008, "淇敼杞亴缁勭粦瀹氱殑鐏屾簤鍗曞厓澶辫触"),
+    GROUP_CODE_ALREADY_EXISTS(30009, "杞亴缁勫悕绉板凡瀛樺湪"),
 
     /**
      * 浣滅墿
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/irrigatePlan/IrrigatePlanSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/irrigatePlan/IrrigatePlanSv.java
index 1ac23ad..1b3d0f2 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/irrigatePlan/IrrigatePlanSv.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/irrigatePlan/IrrigatePlanSv.java
@@ -205,6 +205,7 @@
             // 璁$畻涓嬩竴缁勭殑寮�濮嬫椂闂�
             LocalDateTime LocalscheduleStartTime = scheduleStartTime.toInstant().atZone(ZoneId.systemDefault()) .toLocalDateTime();
             LocalscheduleStartTime = LocalscheduleStartTime.plusMinutes(schedule.getDuration());
+            LocalscheduleStartTime = LocalscheduleStartTime.minusMinutes(2);
             scheduleStartTime = Date.from(LocalscheduleStartTime.atZone(ZoneId.systemDefault()).toInstant());
         }
 

--
Gitblit v1.8.0