Quellcode durchsuchen

Merge remote-tracking branch 'origin/dev_v1.0.0' into dev_v1.0.0

caozixuan vor 1 Jahr
Ursprung
Commit
b1eab38626

+ 1 - 1
sop-business/src/main/java/com/qmth/sop/business/bean/result/TFFlowLogResult.java

@@ -38,7 +38,7 @@ public class TFFlowLogResult extends ApproveUserResult implements Serializable {
     @ApiModelProperty(value = "审核意见")
     private String approveRemark;
 
-    @ApiModelProperty(value = "审批操作,SUBMIT:提交,APPROVE:审批,REJECT:驳回,END:终止,EXCHANGE:转他人审批")
+    @ApiModelProperty(value = "审批操作,START:提交,DRAFT:草稿,APPROVE:审批,REJECT:驳回,END:终止,CANCEL:撤销,EXCHANGE:转他人审批,FINISH:结束")
     private FlowApproveOperationEnum approveOperation;
 
     @ApiModelProperty(value = "待审核人id")

+ 1 - 1
sop-business/src/main/java/com/qmth/sop/business/bean/result/TFFlowViewLogResult.java

@@ -35,7 +35,7 @@ public class TFFlowViewLogResult extends BaseFlowData implements Serializable {
     @ApiModelProperty(value = "审核意见")
     private String approveRemark;
 
-    @ApiModelProperty(value = "审批操作,SUBMIT:提交,APPROVE:审批,REJECT:驳回,END:终止,EXCHANGE:转他人审批")
+    @ApiModelProperty(value = "审批操作,START:提交,DRAFT:草稿,APPROVE:审批,REJECT:驳回,END:终止,CANCEL:撤销,EXCHANGE:转他人审批,FINISH:结束")
     private FlowApproveOperationEnum approveOperation;
 
     @ApiModelProperty(value = "待审核人id")

+ 1 - 1
sop-business/src/main/java/com/qmth/sop/business/entity/TFFlowLog.java

@@ -50,7 +50,7 @@ public class TFFlowLog extends BaseEntity implements Serializable {
     @ApiModelProperty(value = "审核意见")
     private String approveRemark;
 
-    @ApiModelProperty(value = "审批操作,SUBMIT:提交,APPROVE:审批,REJECT:驳回,END:终止")
+    @ApiModelProperty(value = "审批操作,START:提交,DRAFT:草稿,APPROVE:审批,REJECT:驳回,END:终止,CANCEL:撤销,EXCHANGE:转他人审批,FINISH:结束")
     private FlowApproveOperationEnum approveOperation;
 
     @ApiModelProperty(value = "待审核人id")

+ 24 - 0
sop-business/src/main/java/com/qmth/sop/business/entity/TSJobRemind.java

@@ -2,6 +2,7 @@ package com.qmth.sop.business.entity;
 
 import com.fasterxml.jackson.databind.annotation.JsonSerialize;
 import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
+import com.qmth.sop.common.enums.FlowApproveOperationEnum;
 import com.qmth.sop.common.enums.JobTypeEnum;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
@@ -47,6 +48,13 @@ public class TSJobRemind implements Serializable {
     @ApiModelProperty(value = "是否执行,0:未执行,1:已执行")
     private Boolean exec;
 
+    @ApiModelProperty(value = "接收人id")
+    @JsonSerialize(using = ToStringSerializer.class)
+    private Long receiveUserId;
+
+    @ApiModelProperty(value = "审批操作,START:提交,DRAFT:草稿,APPROVE:审批,REJECT:驳回,END:终止,CANCEL:撤销,EXCHANGE:转他人审批,FINISH:结束")
+    private FlowApproveOperationEnum approveOperation;
+
     @ApiModelProperty(value = "创建人id")
     @JsonSerialize(using = ToStringSerializer.class)
     private Long createId;
@@ -54,6 +62,22 @@ public class TSJobRemind implements Serializable {
     @ApiModelProperty(value = "创建时间")
     private Long createTime;
 
+    public Long getReceiveUserId() {
+        return receiveUserId;
+    }
+
+    public void setReceiveUserId(Long receiveUserId) {
+        this.receiveUserId = receiveUserId;
+    }
+
+    public FlowApproveOperationEnum getApproveOperation() {
+        return approveOperation;
+    }
+
+    public void setApproveOperation(FlowApproveOperationEnum approveOperation) {
+        this.approveOperation = approveOperation;
+    }
+
     public Long getId() {
         return id;
     }

+ 16 - 0
sop-business/src/main/resources/db/log/wangliang_update_log.sql

@@ -608,3 +608,19 @@ UPDATE sys_privilege
 SET name='标记消息已阅读', url='/api/sys/message/read', `type`='URL', parent_id=59, `sequence`=4, property='SYS', related=NULL, enable=1, default_auth=1, front_display=0
 WHERE id=1012;
 
+INSERT INTO sys_config
+(id, org_id, config_key, config_name, config_value, remark, enable, sort, create_id, create_time, update_id, update_time)
+VALUES(20, NULL, 'job.before.time', '提前提醒任务时间(单位:分)', '720', NULL, 1, 1, 1, NULL, NULL, NULL);
+INSERT INTO sys_config
+(id, org_id, config_key, config_name, config_value, remark, enable, sort, create_id, create_time, update_id, update_time)
+VALUES(21, NULL, 'job.after.time', '超时提醒任务时间(单位:分)', '1440', NULL, 1, 1, 1, NULL, NULL, NULL);
+
+ALTER TABLE t_f_flow_log CHANGE COLUMN approve_operation approve_operation VARCHAR(50)
+    COMMENT '审批操作,START:提交,DRAFT:草稿,APPROVE:审批,REJECT:驳回,END:终止,CANCEL:撤销,EXCHANGE:转他人审批,FINISH:结束' NOT NULL;
+
+ALTER TABLE t_s_job_remind ADD receive_user_id BIGINT
+    COMMENT '接收人id' NOT NULL after exec;
+
+ALTER TABLE t_s_job_remind ADD approve_operation VARCHAR(20)
+    COMMENT '审批操作,START:提交,DRAFT:草稿,APPROVE:审批,REJECT:驳回,END:终止,CANCEL:撤销,EXCHANGE:转他人审批,FINISH:结束' NOT NULL after receive_user_id;
+

+ 2 - 0
sop-common/src/main/java/com/qmth/sop/common/contant/SystemConstant.java

@@ -119,6 +119,8 @@ public class SystemConstant {
     public static final String SMS_SIGN_NAME = "sms.sign.name";
     public static final String SMS_TPL_CODE = "sms.tpl.code";
     public static final String FLOW_CODE_LENGTH = "flow.code.length";
+    public static final String JOB_BEFORE_TIME = "job.before.time";
+    public static final String JOB_AFTER_TIME = "job.after.time";
 
     /**
      * api前缀

+ 12 - 0
sop-task/src/main/java/com/qmth/sop/task/job/service/JobService.java

@@ -1,5 +1,7 @@
 package com.qmth.sop.task.job.service;
 
+import com.qmth.sop.common.enums.JobEnum;
+
 /**
  * @Description: job service
  * @Param:
@@ -13,4 +15,14 @@ public interface JobService {
      * 流程任务提醒task
      */
     void flowTaskRemindTask();
+
+    /**
+     * 设置定时任务时间
+     *
+     * @param finishTime
+     * @param jobName
+     * @param cls
+     * @param jobEnum
+     */
+    void setJobTime(Long finishTime, String jobName, Class cls, JobEnum jobEnum);
 }

+ 40 - 0
sop-task/src/main/java/com/qmth/sop/task/job/service/impl/JobServiceImpl.java

@@ -1,10 +1,18 @@
 package com.qmth.sop.task.job.service.impl;
 
+import com.qmth.sop.common.contant.SystemConstant;
+import com.qmth.sop.common.enums.JobEnum;
 import com.qmth.sop.task.job.service.JobService;
+import com.qmth.sop.task.service.QuartzService;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.stereotype.Service;
 
+import javax.annotation.Resource;
+import java.util.Calendar;
+import java.util.HashMap;
+import java.util.Map;
+
 /**
  * @Description: job service impl
  * @Param:
@@ -16,6 +24,9 @@ import org.springframework.stereotype.Service;
 public class JobServiceImpl implements JobService {
     private final static Logger log = LoggerFactory.getLogger(JobServiceImpl.class);
 
+    @Resource
+    QuartzService quartzService;
+
     /**
      * 流程任务提醒task
      */
@@ -23,4 +34,33 @@ public class JobServiceImpl implements JobService {
     public void flowTaskRemindTask() {
 
     }
+
+    /**
+     * 设置定时任务时间
+     *
+     * @param finishTime
+     * @param jobName
+     * @param cls
+     * @param jobEnum
+     */
+    @Override
+    public void setJobTime(Long finishTime, String jobName, Class cls, JobEnum jobEnum) {
+        Calendar calendar = Calendar.getInstance();
+        calendar.setTimeInMillis(finishTime);
+//        calendar.add(Calendar.SECOND, 30);
+        if (calendar.getTime().getTime() > System.currentTimeMillis()) {
+            int year = calendar.get(Calendar.YEAR);//获取年份
+            int month = calendar.get(Calendar.MONTH) + 1;//获取月份
+            int day = calendar.get(Calendar.DATE);//获取日
+            int hour = calendar.get(Calendar.HOUR_OF_DAY);//小时
+            int minute = calendar.get(Calendar.MINUTE);//分
+            int second = calendar.get(Calendar.SECOND);//秒
+            String cron = second + " " + minute + " " + hour + " " + day + " " + month + " ? " + year;
+            log.info("cron:{}", cron);
+            //执行一次性延时任务
+            Map mapJob = new HashMap();
+            mapJob.put(SystemConstant.NAME, jobName);
+            quartzService.addJob(cls, jobName, jobEnum.name(), cron, mapJob);
+        }
+    }
 }