From 8904f9e6005e7e1f3cc06f415fdcde0033c32332 Mon Sep 17 00:00:00 2001
From: zhangherong <571457620@qq.com>
Date: 星期一, 21 七月 2025 20:33:53 +0800
Subject: [PATCH] art: 技术状态鉴定工单-生成逻辑优化

---
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/job/TechnicalStatusEvaluationLockedJob.java |   63 +++++++++++++++++++++++++++++++
 1 files changed, 62 insertions(+), 1 deletions(-)

diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/job/TechnicalStatusEvaluationLockedJob.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/job/TechnicalStatusEvaluationLockedJob.java
index 169595e..01d098e 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/job/TechnicalStatusEvaluationLockedJob.java
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/job/TechnicalStatusEvaluationLockedJob.java
@@ -1,4 +1,65 @@
 package org.jeecg.modules.eam.job;
 
-public class TechnicalStatusEvaluationLockedJob {
+import cn.hutool.core.collection.CollectionUtil;
+import lombok.extern.slf4j.Slf4j;
+import org.jeecg.common.util.DateUtils;
+import org.jeecg.modules.eam.constant.TechnicalStatusEvaluationOrderStatusEnum;
+import org.jeecg.modules.eam.entity.EamTechnicalStatusEvaluationOrder;
+import org.jeecg.modules.eam.service.IEamTechnicalStatusEvaluationOrderService;
+import org.jeecg.modules.quartz.entity.QuartzJob;
+import org.jeecg.modules.quartz.entity.SysQuartzLog;
+import org.jeecg.modules.quartz.service.IQuartzJobService;
+import org.jeecg.modules.quartz.service.ISysQuartzLogService;
+import org.quartz.Job;
+import org.quartz.JobExecutionContext;
+import org.quartz.JobExecutionException;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.Date;
+import java.util.List;
+
+@Component
+@Slf4j
+public class TechnicalStatusEvaluationLockedJob implements Job {
+
+    @Autowired
+    private IEamTechnicalStatusEvaluationOrderService evaluationOrderService;
+    @Autowired
+    private ISysQuartzLogService sysQuartzLogService;
+    @Autowired
+    private IQuartzJobService quartzJobService;
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
+        //浠诲姟鏃ュ織
+        SysQuartzLog quartzLog = new SysQuartzLog();
+        quartzLog.setCreateTime(new Date());
+        List<QuartzJob> jobClassName = quartzJobService.findByJobClassName(this.getClass().getName());
+        if (jobClassName != null && !jobClassName.isEmpty()) {
+            quartzLog.setJobId(jobClassName.get(0).getId());
+        }
+        long startTime = System.currentTimeMillis();
+        List<EamTechnicalStatusEvaluationOrder> list = evaluationOrderService.selectWaitEvaluationOrderList();
+        if (CollectionUtil.isEmpty(list)) {
+            log.info("娌℃湁闇�瑕侀攣瀹氱殑宸ュ崟锛佹棩鏈燂細{}", DateUtils.date2Str(DateUtils.date_sdf.get()));
+            quartzLog.setIsSuccess(0);
+            long endTime = System.currentTimeMillis();
+            quartzLog.setExecutionTime(Integer.parseInt(String.valueOf(endTime - startTime)));
+            quartzLog.setExceptionDetail("娌℃湁闇�瑕侀攣瀹氱殑宸ュ崟锛屾棩鏈燂細" + DateUtils.date2Str(DateUtils.date_sdf.get()));
+            sysQuartzLogService.save(quartzLog);
+            return;
+        }
+        for (EamTechnicalStatusEvaluationOrder order : list) {
+            order.setEvaluationStatus(TechnicalStatusEvaluationOrderStatusEnum.LOCKED.name());
+            evaluationOrderService.updateById(order);
+        }
+        quartzLog.setIsSuccess(0);
+        long endTime = System.currentTimeMillis();
+        quartzLog.setExecutionTime(Integer.parseInt(String.valueOf(endTime - startTime)));
+        quartzLog.setExceptionDetail("閿佸畾浜唟" + list.size() + "}鏉″伐鍗曪紝鏃ユ湡锛�" + DateUtils.date2Str(DateUtils.date_sdf.get()));
+        sysQuartzLogService.save(quartzLog);
+    }
 }

--
Gitblit v1.9.3