From 5083abb65d2a6e43603ee11575b0e233b00a085c Mon Sep 17 00:00:00 2001
From: doum <doum>
Date: 星期一, 08 十二月 2025 17:19:52 +0800
Subject: [PATCH] 最新版本541200007

---
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/WarningRuleServiceImpl.java |   52 ++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 50 insertions(+), 2 deletions(-)

diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/WarningRuleServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/WarningRuleServiceImpl.java
index 87fe604..393ff42 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/WarningRuleServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/WarningRuleServiceImpl.java
@@ -4,6 +4,7 @@
 import com.doumee.core.constants.ResponseStatus;
 import com.doumee.core.exception.BusinessException;
 import com.doumee.core.utils.Constants;
+import com.doumee.dao.business.DeviceMapper;
 import com.doumee.dao.business.WarningMapper;
 import com.doumee.dao.business.WarningRuleDetailMapper;
 import com.doumee.dao.business.dao.MemberMapper;
@@ -45,6 +46,8 @@
     @Autowired
     private MemberMapper memberMapper;
     @Autowired
+    private DeviceMapper deviceMapper;
+    @Autowired
     private WarningRuleDetailMapper warningRuleDetailMapper;
 
     @Override
@@ -82,7 +85,8 @@
             detail.setEditor(warning.getCreator());
         }
 
-        warning.setMemberNames( initMemberInfo(warning));
+         initMemberInfo(warning);
+        initDeviceInfo(warning);
         warning.setTitle(title);
         warningRuleMapper.insert(warning);
         for(WarningRuleDetail detail : warning.getDetailList()){
@@ -93,6 +97,9 @@
     }
 
     private String initMemberInfo(WarningRule warning) {
+        if(Constants.equalsInteger(warning.getMemberNotice(),Constants.ZERO)){
+            return null;
+        }
         String[] members = warning.getMemberIds().split(",");
         List<Integer> mIds = new ArrayList<>();
         for(String str :members){
@@ -122,6 +129,39 @@
         warning.setMemberIds(memberIds);
         warning.setMemberNames(memberNames);
         return memberNames;
+    }
+    private String initDeviceInfo(WarningRule warning) {
+        if(Constants.equalsInteger(warning.getDeviceNotice(),Constants.ZERO)){
+            return null;
+        }
+        String[] ids = warning.getDeviceIds().split(",");
+        List<Integer> mIds = new ArrayList<>();
+        for(String str :ids){
+            try {
+                mIds.add(Integer.parseInt(str));
+            }catch (Exception e){
+            }
+        }
+        if(mIds.size() ==0){
+            throw  new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"璇烽�夋嫨姝g‘鐨勮澶囦俊鎭�");
+        }
+        List<Device> list = deviceMapper.selectJoinList(Device.class,new MPJLambdaWrapper<Device>()
+                .selectAll(Device.class )
+                .eq(Device::getIsdeleted,Constants.ZERO )
+                .eq(Device::getType,Constants.FOUR )
+                .in(Device::getId,mIds ));
+        if(list == null || list.size() ==0){
+            throw  new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"璇烽�夋嫨姝g‘鐨勮澶囦俊鎭�!");
+        }
+        String dids = "";
+        String names = "";
+        for(Device m : list){
+            dids += (StringUtils.isNotBlank(dids)?",":"")+m.getId();
+            names += StringUtils.defaultString(m.getName(),"") +"; ";
+        }
+        warning.setDeviceIds(dids);
+        warning.setDeviceNames(names);
+        return names;
     }
 
     @Override
@@ -197,7 +237,8 @@
             detail.setEditDate(warning.getCreateDate());
             detail.setEditor(warning.getCreator());
         }
-        warning.setMemberNames( initMemberInfo(warning));
+        initMemberInfo(warning);
+        initDeviceInfo(warning);
         warning.setTitle(title);
         warningRuleMapper.updateById(warning);
         for(WarningRuleDetail detail : warning.getDetailList()){
@@ -252,6 +293,7 @@
         queryWrapper.selectAll(WarningRule.class );
         queryWrapper.like(StringUtils.isNotBlank(pageWrap.getModel().getMemberNames()),WarningRule::getMemberNames, pageWrap.getModel().getMemberNames());
         queryWrapper.like(StringUtils.isNotBlank(pageWrap.getModel().getTitle()),WarningRule::getTitle, pageWrap.getModel().getTitle());
+        queryWrapper.like(StringUtils.isNotBlank(pageWrap.getModel().getDeviceNames()),WarningRule::getDeviceNames, pageWrap.getModel().getDeviceNames());
 
         if (pageWrap.getModel().getId() != null) {
             queryWrapper.eq(WarningRule::getId, pageWrap.getModel().getId());
@@ -273,6 +315,12 @@
         if (pageWrap.getModel().getIsdeleted() != null) {
             queryWrapper.eq(WarningRule::getIsdeleted, pageWrap.getModel().getIsdeleted());
         }
+        if (pageWrap.getModel().getMemberNotice() != null) {
+            queryWrapper.eq(WarningRule::getMemberNotice, pageWrap.getModel().getMemberNotice());
+        }
+        if (pageWrap.getModel().getDeviceNotice() != null) {
+            queryWrapper.eq(WarningRule::getDeviceNotice, pageWrap.getModel().getDeviceNotice());
+        }
         if (pageWrap.getModel().getInfo() != null) {
             queryWrapper.eq(WarningRule::getInfo, pageWrap.getModel().getInfo());
         }

--
Gitblit v1.9.3