From 12d71ee7f050b981d584668f6ca70794d2c92a44 Mon Sep 17 00:00:00 2001
From: doum <doum>
Date: 星期一, 08 十二月 2025 17:53:10 +0800
Subject: [PATCH] 最新版本541200007

---
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/WarningRuleServiceImpl.java |   69 +++++++++++++++++++++++++++++++++-
 1 files changed, 67 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..abb9cf3 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
@@ -3,7 +3,10 @@
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.doumee.core.constants.ResponseStatus;
 import com.doumee.core.exception.BusinessException;
+import com.doumee.core.haikang.model.param.request.EventSubRequest;
+import com.doumee.core.haikang.service.HKService;
 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 +48,8 @@
     @Autowired
     private MemberMapper memberMapper;
     @Autowired
+    private DeviceMapper deviceMapper;
+    @Autowired
     private WarningRuleDetailMapper warningRuleDetailMapper;
 
     @Override
@@ -82,7 +87,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 +99,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 +131,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 +239,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 +295,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());
@@ -272,6 +316,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());
@@ -320,4 +370,19 @@
         QueryWrapper<WarningRule> wrapper = new QueryWrapper<>(warningRule);
         return warningRuleMapper.selectCount(wrapper);
     }
+
+    @Override
+    public  void updateStatus(WarningRule param) {
+        WarningRule model = warningRuleMapper.selectById(param.getId());
+        if (model==null || Constants.equalsInteger(model.getIsdeleted(), Constants.ONE)) {
+            throw new BusinessException(ResponseStatus.DATA_EMPTY);
+        }
+        if(Constants.equalsInteger(model.getStatus(),param.getStatus())){
+            return;
+        }
+        model.setStatus(param.getStatus());
+        model.setEditDate(new Date());
+        model.setEditor(param.getLoginUserInfo().getId());
+        warningRuleMapper.updateById(model);
+    }
 }

--
Gitblit v1.9.3