From 189c22920f56eccf89090197e82de8dae57c4a01 Mon Sep 17 00:00:00 2001
From: hyingbo <1363390067@qq.com>
Date: 星期五, 12 九月 2025 17:32:08 +0800
Subject: [PATCH] 根据车间筛选设备调整

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

diff --git a/lxzn-module-mdc-common/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentServiceImpl.java b/lxzn-module-mdc-common/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentServiceImpl.java
index 4849ff7..0006777 100644
--- a/lxzn-module-mdc-common/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentServiceImpl.java
+++ b/lxzn-module-mdc-common/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentServiceImpl.java
@@ -4,9 +4,11 @@
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
+import com.baomidou.mybatisplus.core.toolkit.StringPool;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.compress.utils.Lists;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.shiro.SecurityUtils;
 import org.jeecg.common.api.dto.message.MessageDTO;
@@ -429,6 +431,9 @@
                         case 22:
                             mdcEquipmentMonitor.setOporationDict("鎶ヨ");
                             break;
+                        case 5:
+                            mdcEquipmentMonitor.setOporationDict("鏁呴殰");
+                            break;
                         default:
                             mdcEquipmentMonitor.setOporationDict("鍏虫満");
                             break;
@@ -630,6 +635,21 @@
     }
 
     /**
+     * 鏌ヨ浜х嚎涓嬬殑鎵�鏈夎澶�
+     */
+    @Override
+    public List<String> getEquipmentIdsProduction(String key) {
+        List<String> partProduction = Lists.newArrayList();
+        if (StringUtils.isNotEmpty(key)) {
+            //key涓嶄负绌猴紝鏌ヨ鎵�鏈変笅绾т骇绾縤d
+            partProduction = this.findAllProductions(key);
+            partProduction.add(key);
+        }
+        List<String> equipmentIds = this.baseMapper.queryIdsByProductions(partProduction);
+        return equipmentIds;
+    }
+
+    /**
      * 鏍规嵁璁惧id鏌ヨ璁惧鍚嶇О
      */
     @Override
@@ -683,7 +703,7 @@
     /**
      * 鏍规嵁鐖剁骇id閫掑綊鏌ヨ鎵�鏈変笅绾d闆嗗悎
      */
-    private List<String> findAllProductions(String key) {
+    public List<String> findAllProductions(String key) {
         List<String> productions = new ArrayList<>();
         List<MdcProduction> mdcProductions = mdcProductionService.queryProdByPid(key);
         if (mdcProductions != null && !mdcProductions.isEmpty()) {
@@ -1005,8 +1025,73 @@
         mdcEquipment.setDriveType(equipment.getDrivetype());
         mdcEquipment.setControlSystem(equipment.getControlsystem());
         mdcEquipment.setSaveTableName(equipment.getSavetablename());
+        mdcEquipment.setEquipmentStatus(CommonConstant.STATUS_NORMAL);
 
         this.saveMdcEquipment(mdcEquipment, null, productionId);
     }
 
+    /**
+     * 鏍规嵁浜х嚎id闆嗗悎鏌ヨ璁惧鍒楄〃
+     * @param mdcProductionIds
+     * @return
+     */
+    @Override
+    public List<MdcEquipment> findByProductionIds(List<String> mdcProductionIds) {
+        return this.baseMapper.findByProductionIds(mdcProductionIds);
+    }
+
+    /**
+     * 鏍规嵁浜х嚎id闆嗗悎鍜岄厤閫佸皬缁勬煡璇㈣澶囧垪琛�
+     * @param mdcProductionIds
+     * @param teamCodeList
+     * @return
+     */
+    @Override
+    public List<MdcEquipment> findByProIdsAndTeamCode(List<String> mdcProductionIds, List<String> teamCodeList) {
+        return this.baseMapper.findByProIdsAndTeamCode(mdcProductionIds, teamCodeList);
+    }
+
+    /**
+     * 鏍规嵁浜х嚎id闆嗗悎鍜岃澶囩被鍨嬫煡璇㈣澶囧垪琛�
+     * @param allProductionIds
+     * @param typeList
+     * @return
+     */
+    @Override
+    public List<MdcEquipment> findByProIdsAndType(List<String> allProductionIds, List<String> typeList) {
+        return this.baseMapper.findByProIdsAndType(allProductionIds, typeList);
+    }
+
+    @Override
+    public List<MdcEquipment> getEquipmentList() {
+
+        LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal();
+        String userId = user.getId();
+        if (StringUtils.isNotEmpty(user.getEquipmentIds())) {
+            return this.baseMapper.selectList(new LambdaQueryWrapper<MdcEquipment>().in(MdcEquipment::getEquipmentId, Arrays.asList(user.getEquipmentIds().split(StringPool.COMMA))));
+        }
+        //鑾峰彇鎵�鏈変骇绾挎暟鎹�
+        List<MdcProduction> productionList = mdcProductionService.list(new LambdaQueryWrapper<MdcProduction>().eq(MdcProduction::getDelFlag, CommonConstant.DEL_FLAG_0.toString()).orderByAsc(MdcProduction::getProductionOrder));
+        //鏍规嵁鐢ㄦ埛id鑾峰彇鎷ユ湁鐨勪骇绾夸俊鎭泦鍚�
+        List<String> productionIds = mdcUserProductionService.queryProductionIdsByUserId(userId);
+        List<String> allProductionIds = new ArrayList<>();
+        //鎵惧埌鎵�鏈変骇绾縤d鐨勪笂绾d
+        if (productionIds != null && !productionIds.isEmpty()) {
+            for (String productionId : productionIds) {
+                this.getAllProductionIds(productionList, productionId, allProductionIds);
+            }
+        }
+        //鏍规嵁浜х嚎闆嗗悎鏌ユ壘鎵�鏈夎澶噄d
+        if (allProductionIds.isEmpty()) {
+            return null;
+        }
+        List<MdcEquipment> equipmentIds = this.baseMapper.getEquipmentList(allProductionIds);
+        return equipmentIds;
+    }
+
+    @Override
+    public List<String> getEquIdsByProIds(List<String> proIds) {
+        return this.baseMapper.getEquIdsByProIds(proIds);
+    }
+
 }

--
Gitblit v1.9.3