From 0c7fd9e2118ae1e83c51f5e50d709e5cd01ec635 Mon Sep 17 00:00:00 2001
From: VVT789 <sdxt_0802@163.com>
Date: 星期三, 05 三月 2025 23:26:19 +0800
Subject: [PATCH] update the relation of template code and collect code

---
 zhitan-system/src/main/java/com/zhitan/model/mapper/DaqTemplateMapper.java            |    3 +
 zhitan-system/src/main/java/com/zhitan/model/domain/DaqTemplate.java                  |   10 +++++
 zhitan-system/src/main/resources/mapper/model/DaqTemplateMapper.xml                   |   19 +++++++++
 zhitan-admin/src/main/java/com/zhitan/web/controller/model/DaqTemplateController.java |   15 +++++--
 zhitan-system/src/main/java/com/zhitan/model/service/IDaqTemplateService.java         |    9 ++++
 zhitan-system/src/main/java/com/zhitan/model/service/impl/DaqTemplateServiceImpl.java |   11 +++++
 6 files changed, 61 insertions(+), 6 deletions(-)

diff --git a/zhitan-admin/src/main/java/com/zhitan/web/controller/model/DaqTemplateController.java b/zhitan-admin/src/main/java/com/zhitan/web/controller/model/DaqTemplateController.java
index aadde5f..788d218 100644
--- a/zhitan-admin/src/main/java/com/zhitan/web/controller/model/DaqTemplateController.java
+++ b/zhitan-admin/src/main/java/com/zhitan/web/controller/model/DaqTemplateController.java
@@ -70,9 +70,12 @@
     boolean isExist = daqTemplateService.dapHasExist(daqTemplate.getCode(), daqTemplate.getDeviceType());
     if (isExist) {
       return AjaxResult.error("鐩稿悓璁惧绫诲瀷涓嬬殑鍙傛暟缂栫爜涓嶈兘閲嶅锛�");
-    } else {
-      return toAjax(daqTemplateService.insertDaqTemplate(daqTemplate));
     }
+    boolean isCodeExist = daqTemplateService.dapCodeHasExist(daqTemplate.getGatewayKey(), daqTemplate.getDeviceType());
+    if (isCodeExist) {
+      return AjaxResult.error("鐩稿悓璁惧绫诲瀷涓嬬殑閲囬泦鍙傛暟缂栫爜涓嶈兘閲嶅锛�");
+    }
+    return toAjax(daqTemplateService.insertDaqTemplate(daqTemplate));
   }
 
   /**
@@ -85,11 +88,13 @@
     boolean isExist = daqTemplateService.dapHasExist(daqTemplate);
     if (isExist) {
       return AjaxResult.error("鐩稿悓璁惧绫诲瀷涓嬬殑鍙傛暟缂栫爜涓嶈兘閲嶅锛�");
-    } else {
-      return toAjax(daqTemplateService.updateDaqTemplate(daqTemplate));
     }
+    boolean isCodeExist = daqTemplateService.dapCodeHasExist(daqTemplate);
+    if (isCodeExist) {
+      return AjaxResult.error("鐩稿悓璁惧绫诲瀷涓嬬殑閲囬泦鍙傛暟缂栫爜涓嶈兘閲嶅锛�");
+    }
+    return toAjax(daqTemplateService.updateDaqTemplate(daqTemplate));
   }
-
   /**
    * 鍒犻櫎閲囬泦鍙傛暟妯℃澘
    */
diff --git a/zhitan-system/src/main/java/com/zhitan/model/domain/DaqTemplate.java b/zhitan-system/src/main/java/com/zhitan/model/domain/DaqTemplate.java
index 30df1fa..7c4eba6 100644
--- a/zhitan-system/src/main/java/com/zhitan/model/domain/DaqTemplate.java
+++ b/zhitan-system/src/main/java/com/zhitan/model/domain/DaqTemplate.java
@@ -25,6 +25,8 @@
   @Excel(name = "鍙傛暟缂栫爜")
   private String code;
 
+  @Excel(name = "閲囬泦缂栫爜")
+  private String gatewayKey;
   /**
    * 鍙傛暟鍚嶇О
    */
@@ -90,4 +92,12 @@
   public void setUnit(String unit) {
     this.unit = unit;
   }
+
+  public String getGatewayKey() {
+    return gatewayKey;
+  }
+
+  public void setGatewayKey(String gatewayKey) {
+    this.gatewayKey = gatewayKey;
+  }
 }
diff --git a/zhitan-system/src/main/java/com/zhitan/model/mapper/DaqTemplateMapper.java b/zhitan-system/src/main/java/com/zhitan/model/mapper/DaqTemplateMapper.java
index 905ad07..d384f9e 100644
--- a/zhitan-system/src/main/java/com/zhitan/model/mapper/DaqTemplateMapper.java
+++ b/zhitan-system/src/main/java/com/zhitan/model/mapper/DaqTemplateMapper.java
@@ -65,6 +65,9 @@
 
     int dapHasExistWhenUpdate(@Param("id") String id, @Param("code") String code, @Param("deviceType") String deviceType);
 
+    int dapCodeHasExist(@Param("kay") String key, @Param("deviceType") String deviceType);
+
+    int dapCodeHasExistWhenUpdate(@Param("id") String id, @Param("key") String code, @Param("deviceType") String deviceType);
     /**
      * 鏌ヨ鎸囨爣妯℃澘淇℃伅
      *
diff --git a/zhitan-system/src/main/java/com/zhitan/model/service/IDaqTemplateService.java b/zhitan-system/src/main/java/com/zhitan/model/service/IDaqTemplateService.java
index e722df0..eb64518 100644
--- a/zhitan-system/src/main/java/com/zhitan/model/service/IDaqTemplateService.java
+++ b/zhitan-system/src/main/java/com/zhitan/model/service/IDaqTemplateService.java
@@ -74,6 +74,15 @@
     boolean dapHasExist(DaqTemplate daqTemplate);
 
     /**
+     * 鏌ヨ鐩稿悓璁惧绫诲瀷涓嬫槸鍚︽湁閲嶅鐨勭紪鐮�
+     *
+     * @param code       鍙傛暟缂栫爜
+     * @param deviceType 璁惧绫诲瀷
+     * @return 鏄惁瀛樺湪
+     */
+    boolean dapCodeHasExist(String code, String deviceType);
+    boolean dapCodeHasExist(DaqTemplate daqTemplate);
+    /**
      * 鏌ヨ鎸囨爣妯℃澘
      *
      * @return 缁撴灉
diff --git a/zhitan-system/src/main/java/com/zhitan/model/service/impl/DaqTemplateServiceImpl.java b/zhitan-system/src/main/java/com/zhitan/model/service/impl/DaqTemplateServiceImpl.java
index c1d84f2..9c80ef8 100644
--- a/zhitan-system/src/main/java/com/zhitan/model/service/impl/DaqTemplateServiceImpl.java
+++ b/zhitan-system/src/main/java/com/zhitan/model/service/impl/DaqTemplateServiceImpl.java
@@ -114,6 +114,17 @@
         return count > 0;
     }
 
+    @Override
+    public boolean dapCodeHasExist(String key, String deviceType) {
+        int count = daqTemplateMapper.dapHasExist(key, deviceType);
+        return count > 0;
+    }
+    @Override
+    public boolean dapCodeHasExist(DaqTemplate daqTemplate) {
+        int count = daqTemplateMapper.dapHasExistWhenUpdate(daqTemplate.getId(), daqTemplate.getGatewayKey(), daqTemplate.getDeviceType());
+        return count > 0;
+    }
+
     /**
      * 鏌ヨ鎸囨爣妯℃澘
      *
diff --git a/zhitan-system/src/main/resources/mapper/model/DaqTemplateMapper.xml b/zhitan-system/src/main/resources/mapper/model/DaqTemplateMapper.xml
index 7259945..2ae22ca 100644
--- a/zhitan-system/src/main/resources/mapper/model/DaqTemplateMapper.xml
+++ b/zhitan-system/src/main/resources/mapper/model/DaqTemplateMapper.xml
@@ -10,10 +10,11 @@
         <result property="name" column="name"/>
         <result property="deviceType" column="device_type"/>
         <result property="unit" column="unit"/>
+        <result property="gatewayKey" column="gateway_key"/>
     </resultMap>
 
     <sql id="selectDaqTemplateVo">
-        select id, code, name, device_type, unit
+        select id, code, name, device_type, unit, gateway_key
         from daq_template
     </sql>
 
@@ -44,6 +45,19 @@
           AND device_type = #{deviceType}
           AND id != #{id}
     </select>
+    <select id="dapCodeHasExist" resultType="java.lang.Integer">
+        SELECT COUNT(*)
+        FROM daq_template
+        WHERE gateway_key = #{key}
+          AND device_type = #{deviceType}
+    </select>
+    <select id="dapCodeHasExistWhenUpdate" resultType="java.lang.Integer">
+        SELECT COUNT(*)
+        FROM daq_template
+        WHERE gateway_key = #{key}
+          AND device_type = #{deviceType}
+          AND id != #{id}
+    </select>
     <select id="listTemplate" resultType="com.zhitan.model.domain.DaqTemplate">
         <include refid="selectDaqTemplateVo"/>
     </select>
@@ -56,6 +70,7 @@
             <if test="name != null  and name != ''">name,</if>
             <if test="deviceType != null  and deviceType != ''">device_type,</if>
             <if test="unit != null  and unit != ''">unit,</if>
+            <if test="gatewayKey != null  and gatewayKey != ''">gateway_key,</if>
         </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
             <if test="id != null  and id != ''">#{id},</if>
@@ -63,6 +78,7 @@
             <if test="name != null  and name != ''">#{name},</if>
             <if test="deviceType != null  and deviceType != ''">#{deviceType},</if>
             <if test="unit != null  and unit != ''">#{unit},</if>
+            <if test="gatewayKey != null  and gatewayKey != ''">#{gatewayKey},</if>
         </trim>
     </insert>
 
@@ -73,6 +89,7 @@
             <if test="name != null  and name != ''">name = #{name},</if>
             <if test="deviceType != null  and deviceType != ''">device_type = #{deviceType},</if>
             <if test="unit != null  and unit != ''">unit = #{unit},</if>
+            <if test="gatewayKey != null  and gatewayKey != ''">gateway_key = #{gatewayKey},</if>
         </trim>
         where id = #{id}
     </update>

--
Gitblit v1.9.3