From f2f8241dd52ef12ec109f6f4f0f13042055338ac Mon Sep 17 00:00:00 2001
From: lyh <925863403@qq.com>
Date: 星期五, 14 二月 2025 14:55:56 +0800
Subject: [PATCH] 修改指派设备 修改设备结构树权限 优化查询 优化排序

---
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentServiceImpl.java |   83 +++++++++++++++++++++++++++++++++++++----
 1 files changed, 74 insertions(+), 9 deletions(-)

diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentServiceImpl.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentServiceImpl.java
index 1937aa0..84ee56f 100644
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentServiceImpl.java
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentServiceImpl.java
@@ -7,15 +7,18 @@
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.apache.commons.lang3.StringUtils;
+import org.apache.shiro.SecurityUtils;
 import org.jeecg.common.api.dto.message.MessageDTO;
 import org.jeecg.common.constant.CommonConstant;
 import org.jeecg.common.system.api.ISysBaseAPI;
+import org.jeecg.common.system.vo.LoginUser;
 import org.jeecg.common.util.oConvertUtils;
 import org.jeecg.modules.mdc.dto.MdcEquDepDto;
 import org.jeecg.modules.mdc.dto.MdcEquProDto;
 import org.jeecg.modules.mdc.dto.MdcEquipmentDetailedDto;
 import org.jeecg.modules.mdc.dto.MdcEquipmentDto;
 import org.jeecg.modules.mdc.entity.*;
+import org.jeecg.modules.mdc.mapper.DncDevicePermissionMapper;
 import org.jeecg.modules.mdc.mapper.MdcEquipmentMapper;
 import org.jeecg.modules.mdc.mapper.MdcTorqueConfigMapper;
 import org.jeecg.modules.mdc.model.MdcEquipmentTree;
@@ -24,16 +27,11 @@
 import org.jeecg.modules.mdc.util.FindsEquipmentDepartUtil;
 import org.jeecg.modules.mdc.util.FindsEquipmentProductionUtil;
 import org.jeecg.modules.mdc.vo.*;
-import org.jeecg.modules.system.entity.MdcEquipmentDepart;
-import org.jeecg.modules.system.entity.MdcProduction;
-import org.jeecg.modules.system.entity.MdcProductionEquipment;
-import org.jeecg.modules.system.entity.SysDepart;
+import org.jeecg.modules.system.entity.*;
 import org.jeecg.modules.system.mapper.MdcEquipmentDepartMapper;
 import org.jeecg.modules.system.mapper.MdcProductionEquipmentMapper;
-import org.jeecg.modules.system.service.IMdcProductionService;
-import org.jeecg.modules.system.service.IMdcUserProductionService;
-import org.jeecg.modules.system.service.ISysDepartService;
-import org.jeecg.modules.system.service.ISysUserDepartService;
+import org.jeecg.modules.system.service.*;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.cache.annotation.CacheEvict;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -94,6 +92,12 @@
     @Resource
     private IMdcOverrunAlarmService mdcOverrunAlarmService;
 
+    @Resource
+    private ISysParamsService ISysParamsService;
+
+    @Resource
+    private DncDevicePermissionMapper dncDevicePermissionMapper;
+
 
     @Override
     public Map<String, String> getDepNamesByEquipmentIds(List<String> equipmentIds) {
@@ -114,8 +118,40 @@
     @Override
     @Transactional(rollbackFor = Exception.class)
     public void saveMdcEquipment(MdcEquipment mdcEquipment, String selectedDeparts, String selectedProduction) {
+        if (mdcEquipment.getSystemValue()!=null) {
+            switch (mdcEquipment.getSystemValue()){
+                case "1":
+                    mdcEquipment.setDeviceTypeDnc("1");
+                    break;
+                case "2":
+                    mdcEquipment.setDeviceTypeMdc("1");
+                    break;
+                case "3":
+                    mdcEquipment.setDeviceTypeDnc("1");
+                    mdcEquipment.setDeviceTypeMdc("1");
+                    break;
+            }
+        }else {
+            //鑾峰彇绯荤粺绫诲瀷
+            SysParams sysParams = ISysParamsService.getSysPramBySettingKey("system_type");
+            //MDC绯荤粺
+            if ("-1".equals(sysParams.getSettingValue())){
+                mdcEquipment.setDeviceTypeMdc("1");
+            }
+            //DNC绯荤粺
+            if ("1".equals(sysParams.getSettingValue())) {
+                mdcEquipment.setDeviceTypeDnc("1");
+            }
+        }
         //step.1 淇濆瓨璁惧
         this.save(mdcEquipment);
+        //DNC娣诲姞璁惧鏉冮檺
+        LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal();
+        String userId = user.getId();
+        DncDevicePermission dncDevicePermission=new DncDevicePermission();
+        dncDevicePermission.setDeviceId(mdcEquipment.getId());
+        dncDevicePermission.setUserId(userId);
+        dncDevicePermissionMapper.insert(dncDevicePermission);
         //step.2 淇濆瓨鎵�灞為儴闂�
         if (oConvertUtils.isNotEmpty(selectedDeparts)) {
             String[] arr = selectedDeparts.split(",");
@@ -138,6 +174,22 @@
     @Transactional(rollbackFor = Exception.class)
     @CacheEvict(value = {"mdc:cache:encrypt:equipment"}, allEntries = true)
     public void editMdcEquipment(MdcEquipment mdcEquipment) {
+        if (mdcEquipment.getSystemValue()!=null) {
+            switch (mdcEquipment.getSystemValue()){
+                case "1":
+                    mdcEquipment.setDeviceTypeDnc("1");
+                    mdcEquipment.setDeviceTypeMdc("0");
+                    break;
+                case "2":
+                    mdcEquipment.setDeviceTypeDnc("0");
+                    mdcEquipment.setDeviceTypeMdc("1");
+                    break;
+                case "3":
+                    mdcEquipment.setDeviceTypeDnc("1");
+                    mdcEquipment.setDeviceTypeMdc("1");
+                    break;
+            }
+        }
         //step.1 淇敼璁惧鍩虹淇℃伅
         this.updateById(mdcEquipment);
         //step.2 淇敼閮ㄩ棬
@@ -734,7 +786,20 @@
             List<String> productionIds = mdcProductionService.recursionChildren(mdcEquipment.getProductionName());
             mdcEquipment.setProductionIds(productionIds);
         }
-        return this.baseMapper.pageList(page, mdcEquipment);
+        IPage<MdcEquipment> equipmentIPage= this.baseMapper.pageList(page, mdcEquipment);
+        equipmentIPage.getRecords().forEach(item->{
+            if (("1").equals(item.getDeviceTypeDnc())&&("1").equals(item.getDeviceTypeMdc())){
+                item.setSystemValue("3");
+            }else {
+                if (("1").equals(item.getDeviceTypeDnc())){
+                    item.setSystemValue("1");
+                }
+                if (("1").equals(item.getDeviceTypeMdc())){
+                    item.setSystemValue("2");
+                }
+            }
+        });
+        return equipmentIPage;
     }
 
     /**

--
Gitblit v1.9.3