From 72e6bac02526caebc3797a7c2934d12896805708 Mon Sep 17 00:00:00 2001
From: yangys <y_ys79@sina.com>
Date: 星期二, 23 九月 2025 00:47:18 +0800
Subject: [PATCH] 修复文件状态读取问题

---
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/TaskDispatchService.java |   60 +++++++++++++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 55 insertions(+), 5 deletions(-)

diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/TaskDispatchService.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/TaskDispatchService.java
index 481ea03..1bf86f9 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/TaskDispatchService.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/TaskDispatchService.java
@@ -3,15 +3,16 @@
 
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
-import lombok.AllArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.StringUtils;
 import org.springblade.core.mp.base.BizServiceImpl;
-import org.springblade.core.tool.utils.Func;
 import org.springblade.mdm.commons.service.ParamService;
 import org.springblade.mdm.flow.entity.TaskDispatch;
 import org.springblade.mdm.flow.mapper.TaskDispatchMapper;
 import org.springblade.mdm.flow.vo.TaskAssignVO;
 import org.springblade.mdm.program.entity.DrawingNos;
+import org.springblade.mdm.program.entity.NcNode;
+import org.springblade.mdm.program.entity.NcNodeHis;
 import org.springblade.mdm.program.mapper.DrawingNosMapper;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -20,6 +21,7 @@
 
 import java.time.LocalDateTime;
 import java.util.List;
+import java.util.Optional;
 
 /**
  * 浠诲姟娲惧伐鏁版嵁 澶勭悊鏈嶅姟
@@ -28,12 +30,13 @@
  */
 @Slf4j
 @Service
-@AllArgsConstructor
 public class TaskDispatchService  extends BizServiceImpl<TaskDispatchMapper, TaskDispatch> {
 	@Autowired
 	private ParamService paramService;
 	@Autowired
 	private DrawingNosMapper drawingNosMapper;
+
+
 	@Transactional(rollbackFor = Exception.class)
 	public TaskDispatch saveTask(TaskAssignVO startVO,boolean isDup) {
 		TaskDispatch taskDispatch = new TaskDispatch();
@@ -51,7 +54,7 @@
 	 * 鍔爑浜轰笅鎷夋暟鎹�
 	 * @param drawingNo
 	 */
-	void addDrawingNos(String drawingNo){
+	public void addDrawingNos(String drawingNo){
 		DrawingNos data = drawingNosMapper.selectById(drawingNo);
 		if(data == null){
 			data = new DrawingNos();
@@ -85,7 +88,7 @@
 			return false;
 		}
 
-		int taskDupDays = Func.toInt(paramService.taskDuplicateCheckDays());
+		int taskDupDays = paramService.taskDuplicateCheckDays();
 		LocalDateTime checkStartDate = LocalDateTime.now().minusDays(taskDupDays);
 		LambdaQueryChainWrapper<TaskDispatch> q = lambdaQuery().eq(TaskDispatch::getDrawingNo,startVO.getDrawingNo())
 			.eq(TaskDispatch::getProcessNo,startVO.getProcessNo())
@@ -113,4 +116,51 @@
 		}
 
 	}
+
+	/**
+	 * 娓呯悊杩囨湡鐨勫紓甯镐换鍔¤鍒�
+	 */
+	@Transactional
+    public void cleanExpiredExceptionTask() {
+		int expireDays = paramService.getTaskExpireDays();
+		LocalDateTime expiredTime = LocalDateTime.now().minusDays(expireDays);
+		baseMapper.deleteExpiredExceptionTasks(expiredTime);
+    }
+
+	/**
+	 * 鏍规嵁宸ュ簭鍞竴鐮佽幏鍙栨淳宸ユ暟鎹�
+	 * @param operationId 宸ュ簭鍞竴鐮�
+	 * @return
+	 */
+	public TaskDispatch getByOperationId(String operationId) {
+		Optional<TaskDispatch> opt = lambdaQuery().eq(TaskDispatch::getOperationId, operationId).oneOpt();
+		return opt.orElse(null);
+	}
+
+	/**
+	 * 鏍规嵁绋嬪簭鍐呴儴缂栧彿鑾峰彇瀹炰綋
+	 * @param programNo 鍐呴儴缂栧彿
+	 * @return 瀹炰綋
+	 */
+    public TaskDispatch getByProgramNo(String programNo) {
+		return lambdaQuery().eq(TaskDispatch::getProgramNo, programNo).one();
+    }
+
+
+	/**
+	 * 鏌ヨ鍋忕鍗曠殑搴忓彿
+	 * @param programNo 鍋忕鍗曠殑绋嬪簭鍖呭悕鑺傜偣
+	 * @return 搴忓彿
+	 */
+	public long getDeviationSerial(String programNo) {
+		TaskDispatch dispatch = this.getByProgramNo(programNo);
+
+		return lambdaQuery()
+			.eq(TaskDispatch::getDrawingNo,dispatch.getDrawingNo())
+			.eq(TaskDispatch::getProcessNo,dispatch.getProcessNo())
+			.eq(TaskDispatch::getProcessEdition,dispatch.getProcessEdition())
+			.eq(TaskDispatch::getDeviation,dispatch.getDeviation())
+			.le(TaskDispatch::getCreateTime,dispatch.getCreateTime())  //鏃堕棿灏忎簬绛変簬褰撳墠鑺傜偣
+			.count();
+	}
 }

--
Gitblit v1.9.3