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 |  122 ++++++++++++++++++++++++++++++++++++++++
 1 files changed, 121 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 e55a56b..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,8 +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;
@@ -31,6 +34,7 @@
 import org.jeecg.modules.system.mapper.MdcEquipmentDepartMapper;
 import org.jeecg.modules.system.mapper.MdcProductionEquipmentMapper;
 import org.jeecg.modules.system.service.*;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.cache.annotation.CacheEvict;
 import org.springframework.stereotype.Service;
@@ -50,6 +54,7 @@
  * @Date: 2023-03-22
  * @Version: V1.0
  */
+@Slf4j
 @Service
 public class MdcEquipmentServiceImpl extends ServiceImpl<MdcEquipmentMapper, MdcEquipment> implements IMdcEquipmentService {
 
@@ -92,6 +97,9 @@
 
     @Value("${fileNCPath}")
     private String fileNCPath;
+
+    @Autowired
+    private IEquipmentService equipmentService;
 
 
     @Override
@@ -423,6 +431,9 @@
                         case 22:
                             mdcEquipmentMonitor.setOporationDict("鎶ヨ");
                             break;
+                        case 5:
+                            mdcEquipmentMonitor.setOporationDict("鏁呴殰");
+                            break;
                         default:
                             mdcEquipmentMonitor.setOporationDict("鍏虫満");
                             break;
@@ -624,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
@@ -677,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()) {
@@ -974,4 +1000,98 @@
         return list.stream().map(MdcEquipment::getEquipmentId).collect(Collectors.toList());
     }
 
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public void addNewEquipmentFromEam(MdcEquipment mdcEquipment, String productionId) {
+        //榛樿绯荤粺绫诲瀷
+        mdcEquipment.setSystemValue("3");
+        //鍒ゆ柇MDC鏄惁宸叉坊鍔犳璁惧
+        MdcEquipment entity = this.getBaseMapper().selectOne(new LambdaQueryWrapper<MdcEquipment>().eq(MdcEquipment::getEquipmentId, mdcEquipment.getEquipmentId()));
+        if (entity != null) {
+            //MDC宸茬粡瀛樺湪姝よ澶�
+            log.warn("MDC宸茬粡瀛樺湪姝よ澶�, equipmentId={}", mdcEquipment.getEquipmentId());
+            return;
+        }
+        Equipment equipment = equipmentService.getOne(new LambdaQueryWrapper<Equipment>().eq(Equipment::getEquipmentid, mdcEquipment.getEquipmentId()));
+        if(equipment == null) {
+            //閲囬泦鏈厤缃�
+            log.warn("閲囬泦鏈厤缃�, equipmentId={}", mdcEquipment.getEquipmentId());
+            return;
+        }
+        //璁剧疆鍊�
+        mdcEquipment.setEquipmentIp(equipment.getEquipmentip());
+        mdcEquipment.setEquipmentModel(equipment.getEquipmentmodel());
+        mdcEquipment.setDataPort(equipment.getDataport());
+        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