From c82b14f3a882698cbca62ef168615d31711320ca Mon Sep 17 00:00:00 2001
From: zhangherong <571457620@qq.com>
Date: 星期四, 03 七月 2025 15:12:29 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamEquipmentServiceImpl.java |   45 +++++++++++++++++++++++++++++++++++++++------
 1 files changed, 39 insertions(+), 6 deletions(-)

diff --git a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamEquipmentServiceImpl.java b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamEquipmentServiceImpl.java
index c2ec226..19c81b7 100644
--- a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamEquipmentServiceImpl.java
+++ b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamEquipmentServiceImpl.java
@@ -4,8 +4,10 @@
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 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.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import io.micrometer.core.instrument.binder.BaseUnits;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.shiro.SecurityUtils;
 import org.jeecg.common.constant.CommonConstant;
@@ -13,6 +15,10 @@
 import org.jeecg.common.system.vo.LoginUser;
 import org.jeecg.common.util.oConvertUtils;
 import org.jeecg.modules.eam.aspect.annotation.EquipmentHistoryLog;
+import org.jeecg.modules.eam.base.entity.BaseFactory;
+import org.jeecg.modules.eam.base.entity.BaseFactoryUser;
+import org.jeecg.modules.eam.base.service.IBaseFactoryService;
+import org.jeecg.modules.eam.base.service.IBaseFactoryUserService;
 import org.jeecg.modules.eam.constant.AssetStatusEnum;
 import org.jeecg.modules.eam.constant.EquipmentMaintenanceStatus;
 import org.jeecg.modules.eam.constant.EquipmentOperationTagEnum;
@@ -28,6 +34,7 @@
 import org.jeecg.modules.eam.vo.EquipmentSearchResult;
 import org.jeecg.modules.system.entity.MdcProduction;
 import org.jeecg.modules.system.service.IMdcProductionService;
+import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -54,6 +61,10 @@
     private IEamEquipmentExtendService equipmentExtendService;
     @Autowired
     private IMdcProductionService mdcProductionService;
+    @Autowired
+    private IBaseFactoryUserService baseFactoryUserService;
+    @Autowired
+    private IBaseFactoryService baseFactoryService;
 
     @Override
     @Transactional(rollbackFor = Exception.class)
@@ -69,13 +80,28 @@
 
         //鎵╁睍琛ㄦ暟鎹悓姝ユ坊鍔�
         EamEquipmentExtend eamEquipmentExtend = new EamEquipmentExtend();
-        eamEquipmentExtend.setId(eamEquipment.getId());
+        BeanUtils.copyProperties(eamEquipment, eamEquipmentExtend);
         eamEquipmentExtend.setMaintenanceStatus(EquipmentMaintenanceStatus.NORMAL.name());
         eamEquipmentExtend.setRepairStatus(EquipmentRepairStatus.NORMAL.name());
-
         equipmentExtendService.save(eamEquipmentExtend);
 
         //鎻掑叆璁惧灞ュ巻   @EquipmentHistoryLog
+        return eamEquipment;
+    }
+
+    /**
+     * 鍙拌处璁惧缂栬緫
+     * @param eamEquipment
+     */
+    @Override
+    public EamEquipment updateEquipment(EamEquipment eamEquipment){
+        if (eamEquipment == null) {
+            return null;
+        }
+        eamEquipmentMapper.updateById(eamEquipment);
+        EamEquipmentExtend eamEquipmentExtend = new EamEquipmentExtend();
+        BeanUtils.copyProperties(eamEquipment, eamEquipmentExtend);
+        equipmentExtendService.updateById(eamEquipmentExtend);
         return eamEquipment;
     }
 
@@ -109,13 +135,20 @@
         if (sysUser == null) {
             return page;
         }
-        if (StringUtils.isNotBlank(sysUser.getEquipmentIds())) {
+        if (StringUtils.isNotBlank(sysUser.getEamEquipmentIds())) {
             //閫夋嫨浜嗚澶囷紝鏍规嵁璁惧id杩囨护璁惧
-            List<String> equipArr = Arrays.asList(sysUser.getEquipmentIds().split(","));
+            List<String> equipArr = Arrays.asList(sysUser.getEamEquipmentIds().split(","));
             queryWrapper.in("e.equipment_code", equipArr);
         } else {
-            //娌℃湁閫夋嫨璁惧锛屾牴鎹溅闂磋繃婊よ澶�
-            queryWrapper.exists("select 1 from mdc_user_production t where t.user_id={0} and t.pro_id=e.org_id", sysUser.getId());
+            //娌℃湁閫夋嫨璁惧锛屾牴鎹腑蹇冭繃婊よ澶�
+            List<BaseFactoryUser> baseFactoryUserList=baseFactoryUserService.
+                    list(new LambdaQueryWrapper<BaseFactoryUser>().eq(BaseFactoryUser::getUserId,sysUser.getId()));
+            if(!CollectionUtils.isEmpty(baseFactoryUserList)){
+                List<String> factoryIds = baseFactoryUserList.stream().map(BaseFactoryUser::getFactoryId).collect(Collectors.toList());
+                List<String> factoryCode= baseFactoryService.listByIds(factoryIds).stream().map(BaseFactory::getFactoryCode).collect(Collectors.toList());
+                queryWrapper.in("e.factory_code", factoryCode);
+            }
+
         }
         //鏌ヨ鏉′欢杩囨护
         if (eamEquipment != null) {

--
Gitblit v1.9.3