Просмотр исходного кода

新增 创建虫情告警配置接口

zhaiyifei 9 месяцев назад
Родитель
Сommit
65a8f73639

+ 2 - 2
src/main/java/com/yunfeiyun/agmp/iotm/web/domain/reqvo/IotWarnconfigAddReqVo.java

@@ -1,8 +1,8 @@
 package com.yunfeiyun.agmp.iotm.web.domain.reqvo;
 
 import com.yunfeiyun.agmp.iot.common.domain.IotWarnconfig;
-import com.yunfeiyun.agmp.iot.common.domain.IotWarnindicator;
 import com.yunfeiyun.agmp.iot.common.domain.IotWarnobject;
+import com.yunfeiyun.agmp.iot.common.domain.dto.IotWarnindicatorDto;
 import lombok.Data;
 
 import java.util.List;
@@ -12,6 +12,6 @@ public class IotWarnconfigAddReqVo extends IotWarnconfig {
     /**告警对象*/
     private List<IotWarnobject> iotWarnobjectList;
     /**告警指标(告警条件)*/
-    private List<IotWarnindicator> iotWarnindicatorList;
+    private List<IotWarnindicatorDto> iotWarnindicatorList;
 
 }

+ 8 - 0
src/main/java/com/yunfeiyun/agmp/iotm/web/mapper/IotWarnindicatorMapper.java

@@ -62,4 +62,12 @@ public interface IotWarnindicatorMapper {
     public int deleteIotWarnindicatorByWiBids(@Param("array") String[] ids, @Param("tid") String tid);
 
     int deleteIotWarnindicatorByWcBid(@Param("wcBid") String wcBid,@Param("tid")String tid);
+
+    /**
+     * 新增告警指标,存储所有与告警相关的指标信息
+     *
+     * @param iotWarnindicator 告警指标,存储所有与告警相关的指标信息
+     * @return 结果
+     */
+    public int insertIotWarnindicatorBatch(List<IotWarnindicator> iotWarnindicator);
 }

+ 10 - 0
src/main/java/com/yunfeiyun/agmp/iotm/web/service/IIotWarnindicatorService.java

@@ -83,4 +83,14 @@ public interface IIotWarnindicatorService {
      * @return
      */
     List<IotPest> pestList(String devBid);
+
+    /**
+     * 批量新增告警指标
+     *
+     * @param iotWarnindicator
+     * @return 结果
+     * @param iotWarnindicator
+     * @return
+     */
+    public int insertIotWarnindicatorBatch(List<IotWarnindicator> iotWarnindicator);
 }

+ 36 - 8
src/main/java/com/yunfeiyun/agmp/iotm/web/service/impl/IotWarnconfigServiceImpl.java

@@ -14,6 +14,7 @@ import com.yunfeiyun.agmp.common.utils.StringUtils;
 import com.yunfeiyun.agmp.iot.common.constant.devicetype.IotDeviceDictConst;
 import com.yunfeiyun.agmp.iot.common.constant.devicetype.IotDeviceDictEnum;
 import com.yunfeiyun.agmp.iot.common.domain.*;
+import com.yunfeiyun.agmp.iot.common.domain.dto.IotWarnindicatorDto;
 import com.yunfeiyun.agmp.iot.common.enums.warn.IotWarnTouchTypeEnum;
 import com.yunfeiyun.agmp.iot.common.enums.warn.IotWarnlevelEnum;
 import com.yunfeiyun.agmp.iot.common.util.dev.DevTypeUtil;
@@ -66,6 +67,7 @@ public class IotWarnconfigServiceImpl implements IIotWarnconfigService {
     @Resource
     private IotDeviceCommonService iotDeviceCommonService;
 
+
     /**
      * 查询告警配置
      * 
@@ -193,14 +195,40 @@ public class IotWarnconfigServiceImpl implements IIotWarnconfigService {
         }
 
         // 获取告警规则
-        List<IotWarnindicator> iotWarnindicatorList = iotWarnconfigAddReqVo.getIotWarnindicatorList();
-        for(IotWarnindicator iotWarnindicator : iotWarnindicatorList){
-            iotWarnindicator.setWiBid(iotWarnindicator.getUUId());
-            iotWarnindicator.setWcBid(iotWarnconfigAddReqVo.getWcBid());
-            iotWarnindicator.setTid(SecurityUtils.getTid());
-            iotWarnindicator.setWiCreator(SecurityUtils.getTid());
-            iotWarnindicator.setWiCreateddate(DateUtils.dateTimeNow());
-            iotWarnindicatorMapper.insertIotWarnindicator(iotWarnindicator);
+        List<IotWarnindicatorDto> iotWarnindicatorList = iotWarnconfigAddReqVo.getIotWarnindicatorList();
+        String createDate = DateUtils.dateTimeNow();
+        List<IotWarnindicator> insertList = new ArrayList<>();
+
+        for(IotWarnindicatorDto item : iotWarnindicatorList){
+            String wiBid = item.getUUId();
+            String tid = SecurityUtils.getTid();
+            String wcBid = iotWarnconfigAddReqVo.getWcBid();
+            String wiCreator = SecurityUtils.getUserId();
+
+            item.setWiBid(wiBid);
+            item.setWcBid(wcBid);
+            item.setTid(tid);
+            item.setWiCreator(wiCreator);
+            item.setWiCreateddate(createDate);
+            insertList.add(item);
+
+            List<IotWarnindicator> childrenList = item.getChildrenList();
+            if(childrenList != null && !childrenList.isEmpty()){
+                for(IotWarnindicator iotWarnindicator : childrenList){
+                    iotWarnindicator.setWiBid(iotWarnindicator.getUUId());
+                    iotWarnindicator.setWcBid(wcBid);
+                    iotWarnindicator.setTid(tid);
+                    iotWarnindicator.setWiCreator(wiCreator);
+                    iotWarnindicator.setWiCreateddate(createDate);
+                    iotWarnindicator.setWiOptiontype("0");
+                    iotWarnindicator.setWiParentbid(wiBid);
+
+                    insertList.add(iotWarnindicator);
+                }
+            }
+        }
+        if(!insertList.isEmpty()){
+            iotWarnindicatorService.insertIotWarnindicatorBatch(insertList);
         }
         return iotWarnconfigMapper.insertIotWarnconfig(iotWarnconfigAddReqVo);
     }

+ 18 - 0
src/main/java/com/yunfeiyun/agmp/iotm/web/service/impl/IotWarnindicatorServiceImpl.java

@@ -241,4 +241,22 @@ public class IotWarnindicatorServiceImpl implements IIotWarnindicatorService {
         return iotPestService.selectIotWarnPestList(iotWarnPestVo);
     }
 
+    /**
+     * 批量新增告警指标
+     *
+     * @param iotWarnindicator
+     * @return 结果
+     * @param iotWarnindicator
+     * @return
+     */
+    @Override
+    public int insertIotWarnindicatorBatch(List<IotWarnindicator> iotWarnindicator) {
+        for(IotWarnindicator item : iotWarnindicator){
+            if(StringUtils.isEmpty(item.getWiOptiontype())){
+                item.setWiOptiontype("0");
+            }
+        }
+        return iotWarnindicatorMapper.insertIotWarnindicatorBatch(iotWarnindicator);
+    }
+
 }

+ 24 - 1
src/main/resources/mapper/IotWarnindicatorMapper.xml

@@ -23,10 +23,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="wiModifieddate"    column="wiModifieddate"    />
         <result property="wiModifier"    column="wiModifier"    />
         <result property="tid"    column="tid"    />
+        <result property="wiOptiontype"    column="wiOptiontype"    />
+        <result property="wiParentbid"    column="wiParentbid"    />
     </resultMap>
 
     <sql id="selectIotWarnindicatorVo">
-        select id, wiBid, wcBid, wdBid, wiAddress, wiCode, wiName, wiUnit,wiStatus,wiExpression, wiValue, wiCreator, wiCreateddate, wiModifieddate, wiModifier, tid from IotWarnindicator
+        select id, wiBid, wcBid, wdBid, wiAddress, wiCode, wiName, wiUnit,wiStatus,wiExpression, wiValue, wiCreator,
+            wiCreateddate, wiModifieddate, wiModifier, tid, wiOptiontype, wiParentbid
+        from IotWarnindicator
     </sql>
 
     <select id="selectIotWarnindicatorList" parameterType="IotWarnindicator" resultMap="IotWarnindicatorResult">
@@ -47,6 +51,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="wiModifieddate != null  and wiModifieddate != ''"> and wiModifieddate = #{wiModifieddate}</if>
             <if test="wiModifier != null  and wiModifier != ''"> and wiModifier = #{wiModifier}</if>
             <if test="tid != null  and tid != ''"> and tid = #{tid}</if>
+            <if test="wiOptiontype != null  and wiOptiontype != ''"> and wiOptiontype = #{wiOptiontype}</if>
+            <if test="wiParentbid != null  and wiParentbid != ''"> and wiParentbid = #{wiParentbid}</if>
         </where>
     </select>
     
@@ -93,6 +99,23 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
          </trim>
     </insert>
 
+    <insert id="insertIotWarnindicatorBatch" parameterType="IotWarnindicator">
+        insert into IotWarnindicator (
+            wiBid, wcBid, wdBid, wiAddress, wiCode, wiName, wiUnit, wiStatus,
+            wiExpression, wiValue, wiCreator, wiCreateddate, wiModifieddate, wiModifier,
+            tid, wiOptiontype, wiParentbid
+        )
+        values
+        <foreach collection="list" item="item" index="index" separator=",">
+            (
+                #{item.wiBid}, #{item.wcBid}, #{item.wdBid}, #{item.wiAddress}, #{item.wiCode}, #{item.wiName},
+                #{item.wiUnit}, #{item.wiStatus}, #{item.wiExpression}, #{item.wiValue}, #{item.wiCreator},
+                #{item.wiCreateddate}, #{item.wiModifieddate}, #{item.wiModifier}, #{item.tid},
+                #{item.wiOptiontype}, #{item.wiParentbid}
+            )
+        </foreach>
+    </insert>
+
     <update id="updateIotWarnindicator" parameterType="IotWarnindicator">
         update IotWarnindicator
         <trim prefix="SET" suffixOverrides=",">