From fc3ae614a4c5a2a7cdb9029ecfc4372eb1c28b18 Mon Sep 17 00:00:00 2001
From: yangys <y_ys79@sina.com>
Date: 星期二, 09 九月 2025 11:41:42 +0800
Subject: [PATCH] 补充确认表,审批表模板字段
---
blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/TaskDispatchService.java | 110 +++++++++++++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 106 insertions(+), 4 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 b8914d7..4656aa7 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
@@ -1,15 +1,24 @@
package org.springblade.mdm.flow.service;
-import lombok.AllArgsConstructor;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
import lombok.extern.slf4j.Slf4j;
import org.springblade.core.mp.base.BizServiceImpl;
+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.mapper.DrawingNosMapper;
import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
+
+import java.time.LocalDateTime;
+import java.util.List;
+import java.util.Optional;
/**
* 浠诲姟娲惧伐鏁版嵁 澶勭悊鏈嶅姟
@@ -18,21 +27,114 @@
*/
@Slf4j
@Service
-@AllArgsConstructor
public class TaskDispatchService extends BizServiceImpl<TaskDispatchMapper, TaskDispatch> {
+ @Autowired
+ private ParamService paramService;
+ @Autowired
+ private DrawingNosMapper drawingNosMapper;
+
@Transactional(rollbackFor = Exception.class)
- public long saveTask(TaskAssignVO startVO) {
+ public TaskDispatch saveTask(TaskAssignVO startVO,boolean isDup) {
TaskDispatch taskDispatch = new TaskDispatch();
BeanUtils.copyProperties(startVO, taskDispatch);
+ if(isDup){
+ taskDispatch.setStatus(TaskDispatch.STATUS_DUP);
+ }
this.save(taskDispatch);
- return taskDispatch.getId();
+ addDrawingNos(taskDispatch.getDrawingNo());
+ return taskDispatch;
}
+ /**
+ * 鍔爑浜轰笅鎷夋暟鎹�
+ * @param drawingNo
+ */
+ public void addDrawingNos(String drawingNo){
+ DrawingNos data = drawingNosMapper.selectById(drawingNo);
+ if(data == null){
+ data = new DrawingNos();
+ data.setDrawingNo(drawingNo);
+ try {
+ drawingNosMapper.insert(data);
+ }catch (Exception e){
+ log.error("鍔犲叆闆剁粍浠跺彿涓嬫媺鏁版嵁閿欒");
+ }
+ }
+ }
+ /*
public void updateSuccess(long id, String instId) {
TaskDispatch taskDispatch = getById(id);
taskDispatch.setProcessInstanceId(instId);
+ taskDispatch.setStatus(TaskDispatch.STATUS_STARTED);
this.updateById(taskDispatch);
}
+
+ */
+
+
+ /**
+ * 妫�鏌ユ槸鍚﹂噸澶嶆淳宸�
+ * @param startVO
+ * @return
+ */
+ public boolean checkIsDuplicate(TaskAssignVO startVO) {
+ if(startVO.isTemporaryFlow()){
+ //璇曞垏琛ュ厖锛屼笉楠岃瘉閲嶅
+ return false;
+ }
+
+ int taskDupDays = paramService.taskDuplicateCheckDays();
+ LocalDateTime checkStartDate = LocalDateTime.now().minusDays(taskDupDays);
+ LambdaQueryChainWrapper<TaskDispatch> q = lambdaQuery().eq(TaskDispatch::getDrawingNo,startVO.getDrawingNo())
+ .eq(TaskDispatch::getProcessNo,startVO.getProcessNo())
+ //.eq(TaskDispatch::getProcessEdition,startVO.getProcessEdition())
+ .eq(TaskDispatch::getMachineCode,startVO.getMachineCode())
+ .gt(TaskDispatch::getCreateTime,checkStartDate);
+
+ long cnt = q.count();
+
+ return cnt > 0;
+ }
+ @Transactional(readOnly = true)
+ public List<String> drawingNoSeletDropList(String drawingNo){
+ return drawingNosMapper.selectDropDownList(drawingNo);
+ }
+
+ @Transactional
+ public void resetDrawingNos() {
+ drawingNosMapper.delete(Wrappers.emptyWrapper());//
+ List<String> dnoList = baseMapper.distinctAllDrawingNo();
+ for(String dno : dnoList){
+ DrawingNos drawingNos = new DrawingNos();
+ drawingNos.setDrawingNo(dno);
+ drawingNosMapper.insert(drawingNos);
+ }
+
+ }
+
+ /**
+ * 娓呯悊杩囨湡鐨勫紓甯镐换鍔¤鍒�
+ */
+ @Transactional
+ public void cleanExpiredExceptionTask() {
+ int expireDays = paramService.getTaskExpireDays();
+ LocalDateTime expiredTime = LocalDateTime.now().minusDays(expireDays);
+ baseMapper.deleteExpiredExceptionTasks(expiredTime);
+ }
+
+ /**
+ * 鏍规嵁mes鍞竴鏍囪瘑鑾峰彇娲惧伐鏁版嵁
+ * @param mesTaskId
+ * @return
+ */
+ public TaskDispatch getByMesTaskId(String mesTaskId) {
+ Optional<TaskDispatch> opt = lambdaQuery().eq(TaskDispatch::getMesTaskId, mesTaskId).oneOpt();
+ return opt.orElse(null);
+ }
+
+ public TaskDispatch getByProgramNo(String programNo) {
+ return lambdaQuery().eq(TaskDispatch::getProgramNo, programNo).one();
+ }
}
--
Gitblit v1.9.3