From 4062490580b9f0358d2dc31f5ef3ebac2316355e Mon Sep 17 00:00:00 2001
From: lyh <925863403@qq.com>
Date: 星期六, 05 七月 2025 17:42:58 +0800
Subject: [PATCH] 保养规范

---
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamMaintenanceStandard.java                  |    2 
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/request/EamMaintenanceStandardRequest.java          |    2 
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamMaintenanceStandardService.java         |    3 -
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamMaintenanceStandardController.java    |    8 ++--
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamMaintenanceStandardServiceImpl.java |   60 +++++++++++++++++++++++++----
 5 files changed, 58 insertions(+), 17 deletions(-)

diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamMaintenanceStandardController.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamMaintenanceStandardController.java
index f714e0a..317a494 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamMaintenanceStandardController.java
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamMaintenanceStandardController.java
@@ -75,7 +75,7 @@
     @ApiOperation(value = "淇濆吇鏍囧噯-娴佺▼鍚姩淇濆瓨瀵瑰簲鐨勬暟鎹�", notes = "淇濆吇鏍囧噯-娴佺▼鍚姩淇濆瓨瀵瑰簲鐨勬暟鎹�")
     @GetMapping(value = "/saveEamMaintenanceStandardProcess")
     public Result<?> saveEamMaintenanceStandardProcess(String id){
-        return Result.OK(eamMaintenanceStandardService.saveEamMaintenanceStandardProcess(id));
+        return eamMaintenanceStandardService.saveEamMaintenanceStandardProcess(id);
     }
 
     /**
@@ -85,8 +85,8 @@
      */
     @ApiOperation(value = "淇濆吇鏍囧噯-娴佺▼瀹℃牳", notes = "淇濆吇鏍囧噯-娴佺▼瀹℃牳")
     @PostMapping(value = "/audit")
-    public Result<?> auditEamMaintenanceStandard(EamMaintenanceStandardVo eamMaintenanceStandardVo){
-        return Result.OK(eamMaintenanceStandardService.auditEamMaintenanceStandard(eamMaintenanceStandardVo));
+    public Result<?> auditEamMaintenanceStandard(@RequestBody EamMaintenanceStandardVo eamMaintenanceStandardVo){
+        return eamMaintenanceStandardService.auditEamMaintenanceStandard(eamMaintenanceStandardVo);
     }
 
     /**
@@ -166,7 +166,7 @@
      */
     @AutoLog(value = "淇濆吇鏍囧噯-鍗囩増")
     @ApiOperation(value = "淇濆吇鏍囧噯-鍗囩増", notes = "淇濆吇鏍囧噯-鍗囩増")
-    @RequestMapping(value = "/upgrade", method = {RequestMethod.PUT, RequestMethod.POST})
+    @PutMapping(value = "/upgrade")
     public Result<?> upgrade(@RequestBody EamMaintenanceStandardRequest standardRequest) {
         if (standardRequest == null) {
             return Result.error("娣诲姞鐨勫璞′笉鑳戒负绌猴紒");
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamMaintenanceStandard.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamMaintenanceStandard.java
index b6be351..fa75c22 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamMaintenanceStandard.java
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamMaintenanceStandard.java
@@ -111,7 +111,7 @@
      * 鏍囧噯鐗堟湰
      */
     @ApiModelProperty(value = "鏍囧噯鐗堟湰")
-    private Integer standardVersion;
+    private String standardVersion;
     /**
      * 缂栧埗浜�
      */
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/request/EamMaintenanceStandardRequest.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/request/EamMaintenanceStandardRequest.java
index c392904..544d7de 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/request/EamMaintenanceStandardRequest.java
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/request/EamMaintenanceStandardRequest.java
@@ -49,7 +49,7 @@
     private String standardStatus;
     /**鏍囧噯鐗堟湰*/
     @ApiModelProperty(value = "鏍囧噯鐗堟湰")
-    private Integer standardVersion;
+    private String standardVersion;
     /**鏂囦欢缂栧彿*/
     @ApiModelProperty(value = "鏂囦欢缂栧彿")
     private String fileCode;
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamMaintenanceStandardService.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamMaintenanceStandardService.java
index ba2d94e..643d231 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamMaintenanceStandardService.java
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamMaintenanceStandardService.java
@@ -32,7 +32,7 @@
     boolean addMaintenanceStandard(EamMaintenanceStandardRequest standardRequest);
 
     /**
-     * 鏂板 淇濆吇鏍囧噯
+     * 缂栬緫 淇濆吇鏍囧噯
      * @param standardRequest
      */
     boolean editMaintenanceStandard(EamMaintenanceStandardRequest standardRequest);
@@ -73,7 +73,6 @@
      * @return
      */
     Result<?> saveEamMaintenanceStandardProcess(String id);
-
 
     /**
      * 瀹℃壒鎿嶄綔
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamMaintenanceStandardServiceImpl.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamMaintenanceStandardServiceImpl.java
index d69efd8..42c5eb5 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamMaintenanceStandardServiceImpl.java
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamMaintenanceStandardServiceImpl.java
@@ -12,6 +12,9 @@
 import com.fasterxml.jackson.core.JsonProcessingException;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import org.apache.commons.lang3.StringUtils;
+import org.apache.poi.ss.usermodel.Sheet;
+import org.apache.poi.ss.usermodel.Workbook;
+import org.apache.poi.ss.usermodel.WorkbookFactory;
 import org.apache.shiro.SecurityUtils;
 import org.flowable.engine.TaskService;
 import org.flowable.task.api.Task;
@@ -47,9 +50,12 @@
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
+import org.springframework.web.multipart.MultipartFile;
 
 import javax.annotation.Resource;
 import java.util.*;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
 import java.util.stream.Collectors;
 
 /**
@@ -133,6 +139,10 @@
                         .or()
                         .like("e.equipment_code", eamMaintenanceStandard.getKeyword()));
             }
+            //id
+            if(StringUtils.isNotBlank(eamMaintenanceStandard.getId())) {
+                queryWrapper.eq("ems.id", eamMaintenanceStandard.getId());
+            }
         }
         queryWrapper.orderByDesc("ems.create_time");
         return eamMaintenanceStandardMapper.queryPageList(page, queryWrapper);
@@ -145,7 +155,7 @@
         BeanUtils.copyProperties(standardRequest, entity);
         entity.setStandardStatus(MaintenanceStandardStatusEnum.WAIT_SUBMIT.name());
         //鐗堟湰閫掑
-        entity.setStandardVersion(CommonConstant.OPERATE_TYPE_1);
+        entity.setStandardVersion("v"+CommonConstant.OPERATE_TYPE_1);
         //璁惧澶勭悊
         entity.setEquipmentId(standardRequest.getEquipmentId());
         //鍒犻櫎鏍囪
@@ -209,9 +219,6 @@
         if(entity == null){
             throw new JeecgBootException("缂栬緫鐨勬暟鎹凡鍒犻櫎锛岃鍒锋柊閲嶈瘯锛�");
         }
-        entity.setStandardStatus(MaintenanceStandardStatusEnum.ABOLISH.name());
-        //鍘熸潵鐨勪綔搴�
-        eamMaintenanceStandardMapper.updateById(entity);
 
         //鏂板涓�涓増鏈�
         EamMaintenanceStandard newEntity = new EamMaintenanceStandard();
@@ -222,7 +229,16 @@
         newEntity.setInitialDate(standardRequest.getInitialDate());
         newEntity.setStandardStatus(MaintenanceStandardStatusEnum.WAIT_SUBMIT.name());
         //鐗堟湰閫掑
-        newEntity.setStandardVersion(entity.getStandardVersion() + 1);
+        //鑾峰彇鏁板瓧
+        Pattern pattern = Pattern.compile("(\\d+)(?:\\.\\d+)*$");
+        Matcher matcher = pattern.matcher(entity.getStandardVersion());
+        if (matcher.find()) {
+            try {
+                int mainVersion = Integer.parseInt(matcher.group(1));
+                newEntity.setStandardVersion("v"+(mainVersion+1));
+            } catch (NumberFormatException ignored) {
+            }
+        }
         //璁惧澶勭悊
         newEntity.setEquipmentId(standardRequest.getEquipmentId());
         //鍒犻櫎鏍囪
@@ -398,13 +414,23 @@
             // 璁剧疆娴佺▼鍙橀噺
             Map<String, Object> values = setProcessVariables(eamMaintenanceStandard, userId, eamMaintenanceStandardVo);
             eamMaintenanceStandardVo.setValues(values);
-
+            eamMaintenanceStandardVo.setComment(values.get("comment").toString());
             // 瀹屾垚娴佺▼浠诲姟
             Result result = flowTaskService.complete(eamMaintenanceStandardVo);
             if (result.isSuccess()) {
                 if (eamMaintenanceStandardVo.getRepairManagerApproveResult() != null) {
                     if (eamMaintenanceStandardVo.getRepairManagerApproveResult().equals("1")){
                         eamMaintenanceStandard.setStandardStatus(MaintenanceStandardStatusEnum.WAIT_TECHNICAL_DIRECTOR.name());
+                        //鑾峰彇flow鐨勬祦绋嬪疄渚媔d,璁剧疆涓嬩竴姝ョ殑澶勭悊浜哄憳
+                        EamMaintenanceStandard maintenanceStandard=this.getById(eamMaintenanceStandardVo.getDataId());
+                        EamEquipment eamEquipment=eamEquipmentService.getById(maintenanceStandard.getEquipmentId());
+                        BaseFactory baseFactory=baseFactoryService.getOne(new QueryWrapper<BaseFactory>().eq("org_code", eamEquipment.getFactoryOrgCode()));
+                        List<UserSelector> userSelectorList=sysUserService.selectOperatorFactoryList(eamEquipment.getEquipmentCode(),baseFactory.getId(), BusinessCodeConst.PCR0008);
+                        if (!CollectionUtils.isEmpty(userSelectorList)) {
+                            List<String> usernameList=userSelectorList.stream().map(UserSelector::getUsername).collect(Collectors.toList());
+                            flowMyBusiness.setTodoUsers(JSON.toJSONString(usernameList));
+                            flowMyBusinessService.updateById(flowMyBusiness);
+                        }
                     }else {
                         eamMaintenanceStandard.setStandardStatus(MaintenanceStandardStatusEnum.WAIT_SUBMIT.name());
                     }
@@ -416,6 +442,20 @@
                 if (eamMaintenanceStandardVo.getTechnicalManagerApproveResult() != null) {
                     if (eamMaintenanceStandardVo.getTechnicalManagerApproveResult().equals("1")){
                         eamMaintenanceStandard.setStandardStatus(MaintenanceStandardStatusEnum.START.name());
+                        //鍒ゆ柇鏄惁杩涜鍗囩増锛岄�氳繃璁惧缂栧彿銆佷繚鍏诲垎绫汇�佺姸鎬佽繘琛岀瓫閫�
+                        EamMaintenanceStandard maintenanceStandard=this.getById(eamMaintenanceStandardVo.getDataId());
+                        QueryWrapper<EamMaintenanceStandard> queryWrapper=new QueryWrapper<>();
+                        queryWrapper.eq("equipment_id", maintenanceStandard.getEquipmentId());
+                        queryWrapper.eq("maintenance_category", maintenanceStandard.getMaintenanceCategory());
+                        queryWrapper.eq("standard_status", MaintenanceStandardStatusEnum.START.name());
+                        List<EamMaintenanceStandard> list=eamMaintenanceStandardMapper.selectList(queryWrapper);
+                        if (!CollectionUtils.isEmpty(list)) {
+                            //浣滃簾鍘熸湁
+                            for (EamMaintenanceStandard eamMaintenanceStandard1 : list) {
+                                eamMaintenanceStandard1.setStandardStatus(MaintenanceStandardStatusEnum.ABOLISH.name());
+                                this.updateById(eamMaintenanceStandard1);
+                            }
+                        }
                     }else {
                         eamMaintenanceStandard.setStandardStatus(MaintenanceStandardStatusEnum.WAIT_SUBMIT.name());
                     }
@@ -428,7 +468,6 @@
             } else {
                 return result;
             }
-
             return Result.OK("鎿嶄綔鎴愬姛");
         } catch (Exception e) {
             return Result.error("鎿嶄綔澶辫触锛�" + e.getMessage());
@@ -439,13 +478,15 @@
         Map<String, Object> values = new HashMap<>();
         values.put("dataId", eamMaintenanceStandard.getId());
         values.put("assignee", userId);
-        values.put("organization", eamMaintenanceStandardVo.getComment());
-        values.put("comment", eamMaintenanceStandardVo.getComment());
         if (eamMaintenanceStandardVo.getRepairManagerApproveResult() != null) {
             values.put("repairManagerApproveResult", eamMaintenanceStandardVo.getRepairManagerApproveResult());
+            values.put("organization", eamMaintenanceStandardVo.getRepairManagerApproveComment());
+            values.put("comment", eamMaintenanceStandardVo.getRepairManagerApproveComment());
         }
         if (eamMaintenanceStandardVo.getTechnicalManagerApproveResult() != null) {
             values.put("technicalManagerApproveResult", eamMaintenanceStandardVo.getTechnicalManagerApproveResult());
+            values.put("organization", eamMaintenanceStandardVo.getTechnicalManagerApproveComment());
+            values.put("comment", eamMaintenanceStandardVo.getTechnicalManagerApproveComment());
         }
         return values;
     }
@@ -475,4 +516,5 @@
     }
 
     /*娴佺▼涓氬姟浠g爜--------------------------缁撴潫*/
+
 }

--
Gitblit v1.9.3