From 457fa2cb4cc7c78f1caace6ef34207ff785144f9 Mon Sep 17 00:00:00 2001
From: zhangherong <571457620@qq.com>
Date: 星期四, 17 七月 2025 17:14:00 +0800
Subject: [PATCH] art: 技术状态鉴定申请-工单生成

---
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamTechnicalStatusEvaluationApplication.java                  |    5 ++
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamTechnicalStatusEvaluationStandardServiceImpl.java    |   15 +++++++
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamTechnicalStatusEvaluationStandardService.java            |    7 +++
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamTechnicalStatusEvaluationApplicationServiceImpl.java |   39 ++++++++++++++++---
 4 files changed, 59 insertions(+), 7 deletions(-)

diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamTechnicalStatusEvaluationApplication.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamTechnicalStatusEvaluationApplication.java
index 2b1a32a..13e614c 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamTechnicalStatusEvaluationApplication.java
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamTechnicalStatusEvaluationApplication.java
@@ -66,6 +66,11 @@
 	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
 	@DateTimeFormat(pattern = "yyyy-MM-dd")
 	private Date applyDate;
+	/**鎶�鏈姸鎬侀壌瀹氭棩鏈�*/
+	@ApiModelProperty(value = "鎶�鏈姸鎬侀壌瀹氭棩鏈�")
+	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
+	@DateTimeFormat(pattern = "yyyy-MM-dd")
+	private Date evaluationDate;
 	/**鐢宠鍗曠姸鎬�;寰呮彁浜ゃ�佸緟鍗曚綅瀹ょ骇棰嗗瀹℃牳銆佺敓浜ц澶囩鐞嗕富绠″鏍搞�佸緟淇濋殰閮ㄩ瀵煎鏍搞�佸凡浣滃簾銆佸凡瀹屾垚*/
     @ApiModelProperty(value = "鐢宠鍗曠姸鎬�;寰呮彁浜ゃ�佸緟鍗曚綅瀹ょ骇棰嗗瀹℃牳銆佺敓浜ц澶囩鐞嗕富绠″鏍搞�佸緟淇濋殰閮ㄩ瀵煎鏍搞�佸凡浣滃簾銆佸凡瀹屾垚")
 	private String applicationStatus;
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamTechnicalStatusEvaluationStandardService.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamTechnicalStatusEvaluationStandardService.java
index c621279..578ea70 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamTechnicalStatusEvaluationStandardService.java
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamTechnicalStatusEvaluationStandardService.java
@@ -84,4 +84,11 @@
      * @return
      */
     List<EamTechnicalStatusEvaluationStandard> queryListByKeyword(String keyword, String equipmentId, Integer pageSize);
+
+    /**
+     * 鏌ヨ璁惧鎶�鏈壌瀹氭爣鍑�
+     * @param equipmentId
+     * @return
+     */
+    EamTechnicalStatusEvaluationStandard queryEnableStandard(String equipmentId);
 }
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamTechnicalStatusEvaluationApplicationServiceImpl.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamTechnicalStatusEvaluationApplicationServiceImpl.java
index c9c7b24..865ab2e 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamTechnicalStatusEvaluationApplicationServiceImpl.java
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamTechnicalStatusEvaluationApplicationServiceImpl.java
@@ -19,16 +19,12 @@
 import org.jeecg.modules.eam.constant.BusinessCodeConst;
 import org.jeecg.modules.eam.constant.HfTemplateCategoryEnum;
 import org.jeecg.modules.eam.constant.TechnicalStatusEvaluationApplicationStatusEnum;
-import org.jeecg.modules.eam.entity.EamBaseHFCode;
-import org.jeecg.modules.eam.entity.EamEquipment;
-import org.jeecg.modules.eam.entity.EamTechnicalStatusEvaluationApplication;
-import org.jeecg.modules.eam.entity.EamTechnicalStatusEvaluationOrderChange;
+import org.jeecg.modules.eam.entity.*;
 import org.jeecg.modules.eam.mapper.EamTechnicalStatusEvaluationApplicationMapper;
 import org.jeecg.modules.eam.request.EamTechnicalStatusEvaluationApplicationQuery;
 import org.jeecg.modules.eam.request.EamTechnicalStatusEvaluationApplicationRequest;
-import org.jeecg.modules.eam.service.IEamBaseHFCodeService;
-import org.jeecg.modules.eam.service.IEamEquipmentService;
-import org.jeecg.modules.eam.service.IEamTechnicalStatusEvaluationApplicationService;
+import org.jeecg.modules.eam.request.EamTechnicalStatusEvaluationOrderRequest;
+import org.jeecg.modules.eam.service.*;
 import org.jeecg.modules.flowable.apithird.business.entity.FlowMyBusiness;
 import org.jeecg.modules.flowable.apithird.business.service.IFlowMyBusinessService;
 import org.jeecg.modules.flowable.apithird.service.FlowCallBackServiceI;
@@ -77,6 +73,12 @@
     private IFlowTaskService flowTaskService;
     @Autowired
     private ISysUserService sysUserService;
+    @Autowired
+    private IEamTechnicalStatusEvaluationStandardService evaluationStandardService;
+    @Autowired
+    private IEamTechnicalStatusEvaluationStandardDetailService evaluationStandardDetailService;
+    @Autowired
+    private IEamTechnicalStatusEvaluationOrderService evaluationOrderService;
 
     @Override
     public IPage<EamTechnicalStatusEvaluationApplication> queryPageList(Page<EamTechnicalStatusEvaluationApplication> page, EamTechnicalStatusEvaluationApplicationQuery query) {
@@ -151,6 +153,14 @@
         if (equipment == null) {
             throw new JeecgBootException("璁惧淇℃伅涓嶅瓨鍦紝鎿嶄綔澶辫触锛�");
         }
+        EamTechnicalStatusEvaluationStandard standard = evaluationStandardService.queryEnableStandard(request.getEquipmentId());
+        if(standard == null) {
+            throw new JeecgBootException("璁惧鏈厤缃妧鏈姸鎬侀壌瀹氳鑼冿紝鎿嶄綔澶辫触锛�");
+        }
+        List<EamTechnicalStatusEvaluationStandardDetail> standardDetailList = evaluationStandardDetailService.queryList(standard.getId());
+        if(CollectionUtil.isEmpty(standardDetailList)) {
+            throw new JeecgBootException("璁惧鏈厤缃妧鏈姸鎬侀壌瀹氳鑼冿紝鎿嶄綔澶辫触锛�");
+        }
         //鐢ㄦ埛鏁版嵁鏉冮檺
         LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
         if (sysUser == null) {
@@ -185,6 +195,7 @@
             throw new JeecgBootException("鍙湁寰呮彁浜ょ姸鎬佹墠鍙紪杈戯紒");
         }
         entity.setRemark(request.getRemark());
+        entity.setEvaluationDate(request.getEvaluationDate());
         this.getBaseMapper().updateById(entity);
         return true;
     }
@@ -362,6 +373,20 @@
                 if(BusinessCodeConst.APPROVED.equals(request.getProductionSupportSignatureResult())) {
                     //閫氳繃
                     entity.setApplicationStatus(TechnicalStatusEvaluationApplicationStatusEnum.COMPLETED.name());
+                    //鐢熸垚宸ュ崟
+                    EamTechnicalStatusEvaluationStandard standard = evaluationStandardService.queryEnableStandard(request.getEquipmentId());
+                    if(standard == null) {
+                        throw new JeecgBootException("璁惧鏈厤缃妧鏈姸鎬侀壌瀹氳鑼冿紝鎿嶄綔澶辫触锛�");
+                    }
+                    EamTechnicalStatusEvaluationOrderRequest orderRequest = new EamTechnicalStatusEvaluationOrderRequest();
+                    orderRequest.setEquipmentId(equipment.getId());
+                    orderRequest.setEvaluationDate(entity.getEvaluationDate());
+                    orderRequest.setStandardId(standard.getId());
+                    orderRequest.setRemark(entity.getRemark());
+                    boolean b = evaluationOrderService.addTechnicalStatusEvaluationOrder(orderRequest);
+                    if(!b) {
+                        throw new JeecgBootException("鐢熸垚鎶�鏈姸鎬侀壌瀹氬伐鍗曞け璐ワ紒");
+                    }
                 }else {
                     //椹冲洖
                     entity.setApplicationStatus(TechnicalStatusEvaluationApplicationStatusEnum.REJECTED.name());
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamTechnicalStatusEvaluationStandardServiceImpl.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamTechnicalStatusEvaluationStandardServiceImpl.java
index e0bf032..f6932c1 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamTechnicalStatusEvaluationStandardServiceImpl.java
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamTechnicalStatusEvaluationStandardServiceImpl.java
@@ -558,6 +558,21 @@
         return pageData.getRecords();
     }
 
+    @Override
+    public EamTechnicalStatusEvaluationStandard queryEnableStandard(String equipmentId) {
+        LambdaQueryWrapper<EamTechnicalStatusEvaluationStandard> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper.eq(EamTechnicalStatusEvaluationStandard::getEquipmentId, equipmentId);
+        queryWrapper.eq(EamTechnicalStatusEvaluationStandard::getDelFlag, CommonConstant.DEL_FLAG_0);
+        //鍚敤鐘舵��
+        queryWrapper.eq(EamTechnicalStatusEvaluationStandard::getStandardStatus, TechnicalStatusEvaluationStandardStatusEnum.ENABLE.name());
+        queryWrapper.orderByDesc(EamTechnicalStatusEvaluationStandard::getStandardVersion);
+        List<EamTechnicalStatusEvaluationStandard> list = this.getBaseMapper().selectList(queryWrapper);
+        if (CollectionUtil.isEmpty(list)) {
+            return null;
+        }
+        return list.get(0);
+    }
+
     /**
      * 妫�鏌ュ鍏ユ枃浠跺垎绫绘槸鍚﹀尮閰�
      * @param title 鏍囬娈佃惤瀛楃涓�

--
Gitblit v1.9.3