Browse Source

add 添加业务表状态更新示例

gssong 9 months ago
parent
commit
512b5204bc

+ 1 - 1
ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/common/enums/BusinessStatusEnum.java → ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/enums/BusinessStatusEnum.java

@@ -1,4 +1,4 @@
-package org.dromara.workflow.common.enums;
+package org.dromara.common.core.enums;
 
 import cn.hutool.core.util.StrUtil;
 import lombok.AllArgsConstructor;

+ 5 - 0
ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/TestLeave.java

@@ -54,5 +54,10 @@ public class TestLeave extends BaseEntity {
      */
     private String remark;
 
+    /**
+     * 状态
+     */
+    private String status;
+
 
 }

+ 5 - 0
ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/bo/TestLeaveBo.java

@@ -71,5 +71,10 @@ public class TestLeaveBo extends BaseEntity {
      */
     private String remark;
 
+    /**
+     * 状态
+     */
+    private String status;
+
 
 }

+ 6 - 0
ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/vo/TestLeaveVo.java

@@ -62,6 +62,12 @@ public class TestLeaveVo implements Serializable {
     @ExcelProperty(value = "请假原因")
     private String remark;
 
+    /**
+     * 状态
+     */
+    @ExcelProperty(value = "请假原因")
+    private String status;
+
     /**
      * 业务与流程实例关联对象
      */

+ 1 - 1
ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/ActProcessInstanceServiceImpl.java

@@ -16,7 +16,7 @@ import org.dromara.common.mybatis.core.page.PageQuery;
 import org.dromara.common.mybatis.core.page.TableDataInfo;
 import org.dromara.common.satoken.utils.LoginHelper;
 import org.dromara.workflow.common.constant.FlowConstant;
-import org.dromara.workflow.common.enums.BusinessStatusEnum;
+import org.dromara.common.core.enums.BusinessStatusEnum;
 import org.dromara.workflow.common.enums.TaskStatusEnum;
 import org.dromara.workflow.domain.ActHiProcinst;
 import org.dromara.workflow.domain.bo.ProcessInstanceBo;

+ 1 - 3
ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/ActTaskServiceImpl.java

@@ -9,10 +9,8 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import lombok.RequiredArgsConstructor;
 import org.dromara.common.core.domain.dto.RoleDTO;
 import org.dromara.common.core.domain.dto.UserDTO;
-import org.dromara.common.core.domain.event.ProcessTaskEvent;
 import org.dromara.common.core.exception.ServiceException;
 import org.dromara.common.core.service.UserService;
-import org.dromara.common.core.utils.ServletUtils;
 import org.dromara.common.core.utils.StreamUtils;
 import org.dromara.common.core.utils.StringUtils;
 import org.dromara.common.mybatis.core.page.PageQuery;
@@ -20,7 +18,7 @@ import org.dromara.common.mybatis.core.page.TableDataInfo;
 import org.dromara.common.satoken.utils.LoginHelper;
 import org.dromara.common.tenant.helper.TenantHelper;
 import org.dromara.workflow.common.constant.FlowConstant;
-import org.dromara.workflow.common.enums.BusinessStatusEnum;
+import org.dromara.common.core.enums.BusinessStatusEnum;
 import org.dromara.workflow.common.enums.TaskStatusEnum;
 import org.dromara.workflow.domain.ActHiTaskinst;
 import org.dromara.workflow.domain.WfTaskBackNode;

+ 7 - 0
ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/TestLeaveServiceImpl.java

@@ -8,6 +8,7 @@ import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.dromara.common.core.domain.event.ProcessEvent;
 import org.dromara.common.core.domain.event.ProcessTaskEvent;
+import org.dromara.common.core.enums.BusinessStatusEnum;
 import org.dromara.common.core.service.WorkflowService;
 import org.dromara.common.core.utils.MapstructUtils;
 import org.dromara.common.core.utils.StreamUtils;
@@ -131,6 +132,9 @@ public class TestLeaveServiceImpl implements ITestLeaveService {
     @EventListener(condition = "#processEvent.key=='leave1'")
     public void processHandler(ProcessEvent processEvent) {
         log.info("当前任务执行了{}", processEvent.toString());
+        TestLeave testLeave = baseMapper.selectById(Long.valueOf(processEvent.getBusinessKey()));
+        testLeave.setStatus(processEvent.getStatus());
+        baseMapper.updateById(testLeave);
     }
 
     /**
@@ -141,6 +145,9 @@ public class TestLeaveServiceImpl implements ITestLeaveService {
     @EventListener(condition = "#processTaskEvent.keyNode=='leave1_Activity_14633hx'")
     public void processTaskHandler(ProcessTaskEvent processTaskEvent) {
         log.info("当前任务执行了{}", processTaskEvent.toString());
+        TestLeave testLeave = baseMapper.selectById(Long.valueOf(processTaskEvent.getBusinessKey()));
+        testLeave.setStatus(BusinessStatusEnum.WAITING.getStatus());
+        baseMapper.updateById(testLeave);
     }
 
 

+ 1 - 1
ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/utils/WorkflowUtils.java

@@ -21,7 +21,7 @@ import org.dromara.common.tenant.helper.TenantHelper;
 import org.dromara.common.websocket.dto.WebSocketMessageDto;
 import org.dromara.common.websocket.utils.WebSocketUtils;
 import org.dromara.workflow.common.constant.FlowConstant;
-import org.dromara.workflow.common.enums.BusinessStatusEnum;
+import org.dromara.common.core.enums.BusinessStatusEnum;
 import org.dromara.workflow.common.enums.MessageTypeEnum;
 import org.dromara.workflow.common.enums.TaskStatusEnum;
 import org.dromara.workflow.domain.ActHiProcinst;

+ 1 - 0
script/sql/flowable.sql

@@ -27,6 +27,7 @@ create table test_leave
     end_date     datetime                     not null comment '结束时间',
     leave_days  int(10)                      not null comment '请假天数',
     remark      varchar(255)                 null comment '请假原因',
+    status      varchar(255)                 null comment '状态',
     create_dept bigint                       null comment '创建部门',
     create_by   bigint                       null comment '创建者',
     create_time datetime                     null comment '创建时间',

+ 2 - 0
script/sql/oracle/flowable.sql

@@ -30,6 +30,7 @@ create table TEST_LEAVE
     END_DATE    DATE,
     LEAVE_DAYS  NUMBER(10),
     REMARK      VARCHAR2(255),
+    STATUS      VARCHAR2(255),
     CREATE_DEPT NUMBER(20),
     CREATE_BY   NUMBER(20),
     CREATE_TIME DATE,
@@ -45,6 +46,7 @@ comment on column TEST_LEAVE.START_DATE is '开始时间';
 comment on column TEST_LEAVE.END_DATE is '结束时间';
 comment on column TEST_LEAVE.LEAVE_DAYS is '请假天数';
 comment on column TEST_LEAVE.REMARK is '请假原因';
+comment on column TEST_LEAVE.STATUS is '状态';
 comment on column TEST_LEAVE.CREATE_DEPT is '创建部门';
 comment on column TEST_LEAVE.CREATE_BY is '创建者';
 comment on column TEST_LEAVE.CREATE_TIME is '创建时间';

+ 3 - 0
script/sql/postgres/flowable.sql

@@ -29,6 +29,7 @@ create table test_leave
     end_date    timestamp,
     leave_days  bigint,
     remark      varchar(255),
+    status      varchar(255),
     create_dept bigint,
     create_by   bigint,
     create_time timestamp,
@@ -49,6 +50,8 @@ comment on column test_leave.end_date is '结束时间';
 
 comment on column test_leave.remark is '请假原因';
 
+comment on column test_leave.status is '状态';
+
 comment on column test_leave.create_dept is '创建部门';
 
 comment on column test_leave.create_by is '创建者';

+ 4 - 0
script/sql/sqlserver/flowable.sql

@@ -28,6 +28,7 @@ create table test_leave
     end_date    datetime2     not null,
     leave_days  int           not null,
     remark      nvarchar(255),
+    status      nvarchar(255),
     create_dept bigint,
     create_by   bigint,
     create_time datetime2,
@@ -61,6 +62,9 @@ go
 exec sp_addextendedproperty 'MS_Description', N'请假原因', 'SCHEMA', 'dbo', 'TABLE', 'test_leave', 'COLUMN', 'remark'
 go
 
+exec sp_addextendedproperty 'MS_Description', N'状态', 'SCHEMA', 'dbo', 'TABLE', 'test_leave', 'COLUMN', 'status'
+go
+
 exec sp_addextendedproperty 'MS_Description', N'创建部门', 'SCHEMA', 'dbo', 'TABLE', 'test_leave', 'COLUMN',
      'create_dept'
 go