From 131b2dc4b3e5e3e894b2d55d485e46ef010b5f30 Mon Sep 17 00:00:00 2001
From: zhangherong <571457620@qq.com>
Date: 星期三, 02 四月 2025 15:09:36 +0800
Subject: [PATCH] art: 设备管理-保养标准-升版

---
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamMaintenanceStandardService.java         |    7 +++
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamMaintenanceStandardController.java    |   25 ++++++++++++
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamMaintenanceStandardServiceImpl.java |   58 +++++++++++++++++++++++++++++
 3 files changed, 90 insertions(+), 0 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 7084d5b..6d41772 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
@@ -134,6 +134,31 @@
     }
 
     /**
+     * 鍗囩増
+     *
+     * @param standardRequest
+     * @return
+     */
+    @AutoLog(value = "淇濆吇鏍囧噯-鍗囩増")
+    @ApiOperation(value = "淇濆吇鏍囧噯-鍗囩増", notes = "淇濆吇鏍囧噯-鍗囩増")
+    @RequestMapping(value = "/upgrade", method = {RequestMethod.PUT, RequestMethod.POST})
+    public Result<?> upgrade(@RequestBody EamMaintenanceStandardRequest standardRequest) {
+        if (standardRequest == null) {
+            return Result.error("娣诲姞鐨勫璞′笉鑳戒负绌猴紒");
+        }
+        if (CollectionUtil.isEmpty(standardRequest.getTableDetailList())) {
+            return Result.error("淇濆吇椤逛笉鑳戒负绌猴紒");
+        }
+        String codeSeq = businessCodeRuleService.generateBusinessCodeSeq(BusinessCodeConst.MAINTENANCE_STANDARD_CODE_RULE);
+        standardRequest.setStandardCode(codeSeq);
+        boolean b = eamMaintenanceStandardService.upgradeMaintenanceStandard(standardRequest);
+        if (!b) {
+            return Result.error("鍗囩増澶辫触锛�");
+        }
+        return Result.OK("鍗囩増鎴愬姛!");
+    }
+
+    /**
      * 閫氳繃id鍒犻櫎
      *
      * @param id
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 feaabd0..33f761f 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
@@ -34,6 +34,13 @@
     boolean editMaintenanceStandard(EamMaintenanceStandardRequest standardRequest);
 
     /**
+     * 鍗囩増
+     * @param standardRequest
+     * @return
+     */
+    boolean upgradeMaintenanceStandard(EamMaintenanceStandardRequest standardRequest);
+
+    /**
      * 閲嶅鎬ф牎楠�
      * @param equipmentId 璁惧缂栧彿
      * @param maintenanceCategory 淇濆吇绫诲瀷
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 8a2c3d3..af38a15 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
@@ -190,6 +190,64 @@
     }
 
     @Override
+    @Transactional(rollbackFor = Exception.class)
+    public boolean upgradeMaintenanceStandard(EamMaintenanceStandardRequest standardRequest) {
+        EamMaintenanceStandard entity = eamMaintenanceStandardMapper.selectById(standardRequest.getId());
+        if(entity == null){
+            throw new JeecgBootException("缂栬緫鐨勬暟鎹凡鍒犻櫎锛岃鍒锋柊閲嶈瘯锛�");
+        }
+        entity.setStandardStatus(MaintenanceStandardStatusEnum.ABOLISH.name());
+        //鍘熸潵鐨勪綔搴�
+        eamMaintenanceStandardMapper.updateById(entity);
+
+        //鏂板涓�涓増鏈�
+        EamMaintenanceStandard newEntity = new EamMaintenanceStandard();
+        newEntity.setStandardCode(standardRequest.getStandardCode());
+        newEntity.setStandardName(standardRequest.getStandardName());
+        newEntity.setMaintenanceCategory(standardRequest.getMaintenanceCategory());
+        newEntity.setMaintenancePeriod(standardRequest.getMaintenancePeriod());
+        newEntity.setInitialDate(standardRequest.getInitialDate());
+        newEntity.setFileCode(standardRequest.getFileCode());
+        newEntity.setStandardStatus(MaintenanceStandardStatusEnum.NORMAL.name());
+        //鐗堟湰閫掑
+        newEntity.setStandardVersion(entity.getStandardVersion() + 1);
+        //璁惧澶勭悊
+        newEntity.setEquipmentId(standardRequest.getEquipmentId());
+        //鍒犻櫎鏍囪
+        newEntity.setDelFlag(CommonConstant.DEL_FLAG_0);
+        //閲嶅鎬ф牎楠�
+        EamMaintenanceStandard exist = checkDuplicate(newEntity.getEquipmentId(), newEntity.getMaintenanceCategory());
+        if(exist != null){
+            throw new JeecgBootException("璁惧鏍囧噯宸插瓨鍦紝涓嶈兘閲嶅娣诲姞锛�");
+        }
+        //澶勭悊闄勪欢
+        if(CollectionUtil.isNotEmpty(standardRequest.getFileList())) {
+            FileUploadResult fileUploadResult = standardRequest.getFileList().get(0);
+            ObjectMapper mapper = new ObjectMapper();
+            try {
+                String referenceFile = mapper.writeValueAsString(fileUploadResult);
+                newEntity.setReferenceFile(referenceFile);
+            } catch (JsonProcessingException e) {
+                log.error("JSON杞崲澶辫触锛�" + e.getMessage(), e);
+            }
+        }
+        eamMaintenanceStandardMapper.insert(newEntity);
+        //澶勭悊鏄庣粏鏁版嵁
+        if(CollectionUtil.isNotEmpty(standardRequest.getTableDetailList())) {
+            standardRequest.getTableDetailList().forEach(tableDetail -> {
+                tableDetail.setId(null);
+                tableDetail.setCreateBy(null);
+                tableDetail.setUpdateBy(null);
+                tableDetail.setCreateTime(null);
+                tableDetail.setUpdateTime(null);
+                tableDetail.setStandardId(newEntity.getId());
+            });
+            eamMaintenanceStandardDetailService.saveBatch(standardRequest.getTableDetailList());
+        }
+        return true;
+    }
+
+    @Override
     public EamMaintenanceStandard checkDuplicate(String equipmentId, String maintenanceCategory) {
         LambdaQueryWrapper<EamMaintenanceStandard> queryWrapper = new LambdaQueryWrapper<>();
         queryWrapper.eq(EamMaintenanceStandard::getEquipmentId, equipmentId);

--
Gitblit v1.9.3