From f8499faf6a13f77b1fe0082eaba5e9ad50d7d481 Mon Sep 17 00:00:00 2001
From: yangys <y_ys79@sina.com>
Date: 星期四, 07 八月 2025 14:22:31 +0800
Subject: [PATCH] 增加任务表
---
blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/controller/DispatchController.java | 13 +++
blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/mapper/TaskDispatchMapper.java | 10 +++
blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/excution/StartDispatcher.java | 4 +
doc/sql/mdm/mdm.mysql.all.create.sql | 24 ++++++++
blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/entity/TaskDispatch.java | 57 +++++++++++++++++++
blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/mapper/TaskDispatchMapper.xml | 13 ++++
blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/TaskDispatchService.java | 38 ++++++++++++
7 files changed, 156 insertions(+), 3 deletions(-)
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/controller/DispatchController.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/controller/DispatchController.java
index b496b9c..8a7d871 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/controller/DispatchController.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/controller/DispatchController.java
@@ -23,6 +23,7 @@
import org.springblade.mdm.flow.service.ApproveRecordService;
import org.springblade.mdm.flow.service.FlowCommonService;
import org.springblade.mdm.flow.service.FlowProgramFileService;
+import org.springblade.mdm.flow.service.TaskDispatchService;
import org.springblade.mdm.flow.service.execute.AbstractFlowCompleteService;
import org.springblade.mdm.flow.service.execute.DefaultFlowCompleteService;
import org.springblade.mdm.flow.service.execute.TryFlowCompleteService;
@@ -59,14 +60,22 @@
private final TryFlowCompleteService tryFlowCompleteService;
private final DefaultFlowCompleteService defaultFlowCompleteService;
+ private final TaskDispatchService taskDispatchService;
/**
* 鍙戣捣娲惧伐娴佺▼
*/
@PostMapping("/start")
@Operation(summary = "浠诲姟璁″垝(娲惧伐娴佺▼)", description = "鍚姩娲惧伐娴佺▼")
public R<Boolean> start(@RequestBody TaskAssignVO startVO) {
- dispatcher.start(startVO);
- return R.status(true);
+ try {
+ long id= taskDispatchService.saveTask(startVO);
+ String instId = dispatcher.start(startVO);
+ taskDispatchService.updateSuccess(id,instId);
+ return R.data(true);
+ }catch(Exception e){
+ return R.fail(e.getMessage());
+ }
+
}
AbstractFlowCompleteService getActualService(String processInstanceId){
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/entity/TaskDispatch.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/entity/TaskDispatch.java
new file mode 100644
index 0000000..e766c54
--- /dev/null
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/entity/TaskDispatch.java
@@ -0,0 +1,57 @@
+package org.springblade.mdm.flow.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Getter;
+import lombok.Setter;
+import org.springblade.core.mp.base.BizEntity;
+
+import java.util.Date;
+
+/**
+ * 浠诲姟娲惧伐鍙戣捣鐨勬暟鎹�
+ */
+@Setter
+@Getter
+@TableName("mdm_task_dispatch")
+public class TaskDispatch extends BizEntity {
+ /**
+ * 璁惧缂栧彿
+ */
+ private String machineCode;
+ /**
+ * 宸ュ簭鍚嶇О锛屽鈥滅簿閾b��
+ */
+ private String processName;
+
+ /**
+ * 宸ュ簭鐗堟
+ */
+ private String processEdition;
+ /**
+ * 绋嬪簭鏂囦欢鑺傜偣鐨勬暟鎹�
+ */
+ private String processNo;
+ /**
+ * 宸ヨ壓鐗堟
+ */
+ private String craftEdition;
+ /**
+ * 闆剁粍浠跺彿/鍥惧彿
+ */
+ private String drawingNo;
+ /**
+ * 鍥惧彿鐗堟
+ */
+ private String drawingNoEdition;
+
+ /**
+ * 浜у搧鍨嬪彿
+ */
+ private String productModel;
+
+ /**
+ * 瀹℃壒鏃剁殑娴佺▼瀹炰緥id锛屽叧鑱旂殑娴佺▼瀹炰緥id锛屾祦绋嬪彂璧峰悗濉厖
+ */
+ private String processInstanceId;
+
+}
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/excution/StartDispatcher.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/excution/StartDispatcher.java
index 049a382..11e0ec2 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/excution/StartDispatcher.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/excution/StartDispatcher.java
@@ -40,9 +40,10 @@
/**
* 鍚姩娲惧伐娴佺▼
* @param startVO
+ * @return 娴佺▼瀹炰緥id
*/
@Transactional
- public void start(TaskAssignVO startVO){
+ public String start(TaskAssignVO startVO){
Map<String,Object> preAssignee = autoAssignUsersService.autoAssignUsers(startVO);
Map<String, Object> vars = new HashMap<>(preAssignee);
@@ -90,6 +91,7 @@
copyFlowProgramFiles(programPkg.getProcessInstanceId(),inst.getProcessInstanceId());
}
+ return inst.getProcessInstanceId();
}
/**
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/mapper/TaskDispatchMapper.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/mapper/TaskDispatchMapper.java
new file mode 100644
index 0000000..42e4d5f
--- /dev/null
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/mapper/TaskDispatchMapper.java
@@ -0,0 +1,10 @@
+package org.springblade.mdm.flow.mapper;
+
+import org.springblade.core.mp.mapper.BladeMapper;
+import org.springblade.mdm.flow.entity.FlowProgramFile;
+import org.springblade.mdm.flow.entity.TaskDispatch;
+
+public interface TaskDispatchMapper extends BladeMapper<TaskDispatch> {
+
+
+}
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/mapper/TaskDispatchMapper.xml b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/mapper/TaskDispatchMapper.xml
new file mode 100644
index 0000000..7b48cd2
--- /dev/null
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/mapper/TaskDispatchMapper.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="org.springblade.mdm.flow.mapper.TaskDispatchMapper">
+ <resultMap id="BaseResultMap" type="org.springblade.mdm.flow.entity.TaskDispatch">
+ <id column="id" property="id"/>
+ <result column="status" property="status"/>
+ <result column="create_time" property="createTime"/>
+ <result column="update_time" property="updateTime"/>
+ <result column="is_deleted" property="isDeleted"/>
+ </resultMap>
+
+
+</mapper>
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
new file mode 100644
index 0000000..b8914d7
--- /dev/null
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/TaskDispatchService.java
@@ -0,0 +1,38 @@
+
+package org.springblade.mdm.flow.service;
+
+import lombok.AllArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springblade.core.mp.base.BizServiceImpl;
+import org.springblade.mdm.flow.entity.TaskDispatch;
+import org.springblade.mdm.flow.mapper.TaskDispatchMapper;
+import org.springblade.mdm.flow.vo.TaskAssignVO;
+import org.springframework.beans.BeanUtils;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+/**
+ * 浠诲姟娲惧伐鏁版嵁 澶勭悊鏈嶅姟
+ *
+ * @author yangys
+ */
+@Slf4j
+@Service
+@AllArgsConstructor
+public class TaskDispatchService extends BizServiceImpl<TaskDispatchMapper, TaskDispatch> {
+
+ @Transactional(rollbackFor = Exception.class)
+ public long saveTask(TaskAssignVO startVO) {
+ TaskDispatch taskDispatch = new TaskDispatch();
+ BeanUtils.copyProperties(startVO, taskDispatch);
+ this.save(taskDispatch);
+
+ return taskDispatch.getId();
+ }
+
+ public void updateSuccess(long id, String instId) {
+ TaskDispatch taskDispatch = getById(id);
+ taskDispatch.setProcessInstanceId(instId);
+ this.updateById(taskDispatch);
+ }
+}
diff --git a/doc/sql/mdm/mdm.mysql.all.create.sql b/doc/sql/mdm/mdm.mysql.all.create.sql
index 1fb8f60..4d79bc8 100644
--- a/doc/sql/mdm/mdm.mysql.all.create.sql
+++ b/doc/sql/mdm/mdm.mysql.all.create.sql
@@ -151,6 +151,30 @@
PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT=DYNAMIC COMMENT='绋嬪簭鑺傜偣鐩綍';
+DROP TABLE IF EXISTS `mdm_task_dispatch`;
+CREATE TABLE `mdm_task_dispatch` (
+ `id` bigint NOT NULL,
+ `tenant_id` varchar(6) DEFAULT NULL COMMENT '鎵�灞炵鎴�',
+ `process_name` varchar(20) NULL COMMENT '宸ュ簭鍚嶇О',
+ `process_no` varchar(100) NULL COMMENT '宸ュ簭鍙�',
+ `machine_code` varchar(100) DEFAULT NULL COMMENT '璁惧缂栧彿/鏈哄簥缂栧彿',
+ `drawing_no` varchar(100) NULL COMMENT '闆剁粍浠剁紪鍙�/鍥惧彿',
+ `process_edition` varchar(40) DEFAULT NULL COMMENT '宸ュ簭鐗堟锛屽崌鐗堝氨鏄彉鏇存敼璇ュ瓧娈碉紝闇�瑕佷繚鐣欏巻鍙茶褰�',
+ `craft_edition` varchar(40) DEFAULT NULL COMMENT '宸ヨ壓鐗堟',
+ `drawing_no_edition` varchar(100) NULL COMMENT '鍥惧彿鐗堟',
+ `node_type` varchar(20) DEFAULT NULL COMMENT '鑺傜偣绫诲瀷锛氫笟鍔″瓧鍏稿畾涔�',
+ `product_model` varchar(100) NULL COMMENT '浜у搧鍨嬪彿',
+ `process_instance_id` varchar(64) NULL COMMENT '鍏宠仈鐨勬祦绋嬪疄渚媔d锛屾祦绋嬪彂璧峰悗濉厖',
+ `status` int DEFAULT NULL COMMENT '涓氬姟鐘舵�侊紝1锛氬垵濮嬪寲锛�2:娴佺▼宸插惎鍔�',
+ `create_dept` bigint DEFAULT NULL COMMENT '鍒涘缓鍗曚綅',
+ `is_deleted` int DEFAULT NULL,
+ `create_time` datetime DEFAULT NULL COMMENT '鍒涘缓鏃堕棿',
+ `create_user` bigint DEFAULT NULL COMMENT '鍒涘缓浜�',
+ `update_time` datetime DEFAULT NULL COMMENT '鏇存柊鏃堕棿',
+ `update_user` bigint DEFAULT NULL COMMENT '鏇存柊浜�',
+ PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT=DYNAMIC COMMENT='浠诲姟娲惧伐琛�';
+
DROP TABLE IF EXISTS `mdm_nc_program`;
CREATE TABLE `mdm_nc_program` (
`id` bigint NOT NULL,
--
Gitblit v1.9.3