From 5e6c3ac5d7c7a2702a0bad5195e954c9e95d2306 Mon Sep 17 00:00:00 2001
From: Houjie <714924425@qq.com>
Date: 星期日, 15 六月 2025 17:55:35 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 lxzn-module-mdc-common/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentServiceImpl.java |  106 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 105 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 5954d6f..49944e5 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,10 @@
 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.lang3.StringUtils;
 import org.apache.shiro.SecurityUtils;
 import org.jeecg.common.api.dto.message.MessageDTO;
@@ -31,6 +33,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 +53,7 @@
  * @Date: 2023-03-22
  * @Version: V1.0
  */
+@Slf4j
 @Service
 public class MdcEquipmentServiceImpl extends ServiceImpl<MdcEquipmentMapper, MdcEquipment> implements IMdcEquipmentService {
 
@@ -92,6 +96,9 @@
 
     @Value("${fileNCPath}")
     private String fileNCPath;
+
+    @Autowired
+    private IEquipmentService equipmentService;
 
 
     @Override
@@ -380,7 +387,7 @@
     @Override
     public List<MdcEquipmentTree> loadTreeListByProduction(String userId) {
         //鑾峰彇鎵�鏈変骇绾挎暟鎹�
-        List<MdcProduction> productionList = mdcProductionService.list(new LambdaQueryWrapper<MdcProduction>().eq(MdcProduction::getDelFlag, CommonConstant.DEL_FLAG_0.toString()).orderByAsc(MdcProduction::getProductionOrder));
+        List<MdcProduction> productionList = mdcProductionService.list(new LambdaQueryWrapper<MdcProduction>().eq(MdcProduction::getDelFlag, CommonConstant.DEL_FLAG_0.toString()).eq(MdcProduction::getMdcFlag, CommonConstant.DEFAULT_1).orderByAsc(MdcProduction::getProductionOrder));
         //鏍规嵁鐢ㄦ埛id鑾峰彇鎷ユ湁鐨勪骇绾夸俊鎭泦鍚�
         List<String> productionIds = mdcUserProductionService.queryProductionIdsByUserId(userId);
         List<String> allProductionIds = new ArrayList<>();
@@ -422,6 +429,9 @@
                             break;
                         case 22:
                             mdcEquipmentMonitor.setOporationDict("鎶ヨ");
+                            break;
+                        case 5:
+                            mdcEquipmentMonitor.setOporationDict("鏁呴殰");
                             break;
                         default:
                             mdcEquipmentMonitor.setOporationDict("鍏虫満");
@@ -974,4 +984,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