From d465f6537bda4c5b3844a15b73badf704f44c9a1 Mon Sep 17 00:00:00 2001
From: zhangherong <571457620@qq.com>
Date: 星期一, 07 四月 2025 16:01:16 +0800
Subject: [PATCH] art: 设备管理-用户选择-根据岗位选择用户

---
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamWeekMaintenanceOrderServiceImpl.java |   47 +++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 45 insertions(+), 2 deletions(-)

diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamWeekMaintenanceOrderServiceImpl.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamWeekMaintenanceOrderServiceImpl.java
index 4cc12f2..b8e533c 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamWeekMaintenanceOrderServiceImpl.java
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamWeekMaintenanceOrderServiceImpl.java
@@ -9,12 +9,13 @@
 import org.apache.shiro.SecurityUtils;
 import org.jeecg.common.constant.CommonConstant;
 import org.jeecg.common.constant.DataBaseConstant;
+import org.jeecg.common.exception.JeecgBootException;
 import org.jeecg.common.system.vo.LoginUser;
 import org.jeecg.common.util.oConvertUtils;
 import org.jeecg.modules.eam.constant.MaintenanceStatusEnum;
 import org.jeecg.modules.eam.constant.OrderCreationMethodEnum;
-import org.jeecg.modules.eam.entity.EamEquipment;
 import org.jeecg.modules.eam.entity.EamWeekMaintenanceOrder;
+import org.jeecg.modules.eam.entity.EamWeekMaintenanceOrderDetail;
 import org.jeecg.modules.eam.mapper.EamWeekMaintenanceOrderMapper;
 import org.jeecg.modules.eam.request.EamWeekMaintenanceQuery;
 import org.jeecg.modules.eam.request.EamWeekMaintenanceRequest;
@@ -25,9 +26,10 @@
 import org.springframework.transaction.annotation.Transactional;
 
 import javax.annotation.Resource;
+import java.util.ArrayList;
 import java.util.Arrays;
-import java.util.Date;
 import java.util.List;
+import java.util.stream.Collectors;
 
 /**
  * @Description: 鍛ㄤ繚宸ュ崟
@@ -121,4 +123,45 @@
 
         return eamWeekMaintenanceOrderMapper.queryPageList(page, queryWrapper);
     }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public boolean editWeekMaintenance(EamWeekMaintenanceRequest request) {
+        EamWeekMaintenanceOrder entity = eamWeekMaintenanceOrderMapper.selectById(request.getId());
+        if(entity == null){
+            throw new JeecgBootException("缂栬緫鐨勬暟鎹凡鍒犻櫎锛岃鍒锋柊閲嶈瘯锛�");
+        }
+        if(!MaintenanceStatusEnum.WAIT_MAINTENANCE.name().equals(entity.getMaintenanceStatus())){
+            throw new JeecgBootException("鍙湁寰呬繚鍏荤姸鎬佺殑鏁版嵁鎵嶅彲缂栬緫锛�");
+        }
+        entity.setMaintenanceDate(request.getMaintenanceDate());
+        entity.setOperator(request.getOperator());
+        entity.setRemark(request.getRemark());
+
+        eamWeekMaintenanceOrderMapper.updateById(entity);
+        //澶勭悊璇︽儏
+        if(CollectionUtil.isNotEmpty(request.getTableDetailList())) {
+            List<EamWeekMaintenanceOrderDetail> addList = new ArrayList<>();
+            List<EamWeekMaintenanceOrderDetail> updateList = new ArrayList<>();
+            request.getTableDetailList().forEach(tableDetail -> {
+                tableDetail.setOrderId(entity.getId());
+                if(tableDetail.getId() == null){
+                    addList.add(tableDetail);
+                }else {
+                    updateList.add(tableDetail);
+                }
+            });
+            if(CollectionUtil.isNotEmpty(addList)){
+                eamWeekMaintenanceOrderDetailService.saveBatch(addList);
+            }
+            if(CollectionUtil.isNotEmpty(updateList)){
+                eamWeekMaintenanceOrderDetailService.updateBatchById(updateList);
+            }
+        }
+        if(CollectionUtil.isNotEmpty(request.getRemoveDetailList())) {
+            List<String> ids = request.getRemoveDetailList().stream().map(EamWeekMaintenanceOrderDetail::getId).collect(Collectors.toList());
+            eamWeekMaintenanceOrderDetailService.removeBatchByIds(ids);
+        }
+        return true;
+    }
 }

--
Gitblit v1.9.3