feat: There is no way the task exec
This commit is contained in:
+21
@@ -0,0 +1,21 @@
|
|||||||
|
package com.ydw.bat.wkflow.business_main.datas.controller;
|
||||||
|
|
||||||
|
|
||||||
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
|
|
||||||
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* OA 干活任务执行表 前端控制器
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author Super_liu
|
||||||
|
* @since 2021-09-24
|
||||||
|
*/
|
||||||
|
@RestController
|
||||||
|
@RequestMapping("/oaTaskExec")
|
||||||
|
public class OaTaskExecController {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
@@ -6,6 +6,8 @@ import com.baomidou.mybatisplus.annotation.TableId;
|
|||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
import com.baomidou.mybatisplus.annotation.TableField;
|
import com.baomidou.mybatisplus.annotation.TableField;
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
import io.swagger.annotations.ApiModel;
|
import io.swagger.annotations.ApiModel;
|
||||||
import io.swagger.annotations.ApiModelProperty;
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
@@ -92,4 +94,17 @@ public class BusProcessNew implements Serializable {
|
|||||||
@TableField( exist = false)
|
@TableField( exist = false)
|
||||||
@ApiModelProperty(value = "OA link")
|
@ApiModelProperty(value = "OA link")
|
||||||
private String link;
|
private String link;
|
||||||
|
|
||||||
|
@TableField( exist = false)
|
||||||
|
@ApiModelProperty(value = "干活任务截止时间")
|
||||||
|
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
|
||||||
|
private String endTime;
|
||||||
|
|
||||||
|
@TableField( exist = false)
|
||||||
|
@ApiModelProperty(value = "任务状态 1 审批任务 2 干活任务")
|
||||||
|
private int taskStatus;
|
||||||
|
|
||||||
|
@TableField( exist = false)
|
||||||
|
@ApiModelProperty(value = "维度 1 3天内 2 3天外")
|
||||||
|
private int execType;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,85 @@
|
|||||||
|
package com.ydw.bat.wkflow.business_main.datas.entity;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableField;
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
|
import io.swagger.annotations.ApiModel;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.EqualsAndHashCode;
|
||||||
|
import lombok.experimental.Accessors;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* OA 干活任务执行表
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author Super_liu
|
||||||
|
* @since 2021-09-24
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@EqualsAndHashCode(callSuper = false)
|
||||||
|
@Accessors(chain = true)
|
||||||
|
@ApiModel(value="OaTaskExec对象", description="OA 干活任务执行表")
|
||||||
|
public class OaTaskExec implements Serializable {
|
||||||
|
|
||||||
|
private static final long serialVersionUID=1L;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "主键")
|
||||||
|
@TableId("ID")
|
||||||
|
private String id;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "执行维度 1 3天内 2 3天外")
|
||||||
|
@TableField("EXEC_TYPE")
|
||||||
|
private int execType;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "待办ID")
|
||||||
|
@TableField("TODO_ID")
|
||||||
|
private String todoId;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "待办用户ID")
|
||||||
|
@TableField("USER_ID")
|
||||||
|
private String userId;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "待办对象JSON")
|
||||||
|
@TableField("MESG")
|
||||||
|
private String mesg;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "执行状态 0 未启动 1 已启动 2 已完成")
|
||||||
|
@TableField("EXEC_STATUS")
|
||||||
|
private int execStatus;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "执行时间")
|
||||||
|
@TableField("EXEC_TIME")
|
||||||
|
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
|
||||||
|
private String execTime;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "截止时间")
|
||||||
|
@TableField("END_TIME")
|
||||||
|
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
|
||||||
|
private String endTime;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "创建时间")
|
||||||
|
@TableField("CREATE_TIME")
|
||||||
|
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
|
||||||
|
private String createTime;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "更新时间")
|
||||||
|
@TableField("UPDATE_TIME")
|
||||||
|
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
|
||||||
|
private String updateTime;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "参数1")
|
||||||
|
@TableField("PARAM1")
|
||||||
|
private int param1;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "参数2")
|
||||||
|
@TableField("PARAM2")
|
||||||
|
private String param2;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
package com.ydw.bat.wkflow.business_main.datas.mapper;
|
||||||
|
|
||||||
|
import com.ydw.bat.wkflow.business_main.datas.entity.OaTaskExec;
|
||||||
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* OA 干活任务执行表 Mapper 接口
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author Super_liu
|
||||||
|
* @since 2021-09-24
|
||||||
|
*/
|
||||||
|
public interface OaTaskExecMapper extends BaseMapper<OaTaskExec> {
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
package com.ydw.bat.wkflow.business_main.datas.service;
|
||||||
|
|
||||||
|
import com.ydw.bat.wkflow.business_main.datas.entity.OaTaskExec;
|
||||||
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* OA 干活任务执行表 服务类
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author Super_liu
|
||||||
|
* @since 2021-09-24
|
||||||
|
*/
|
||||||
|
public interface IOaTaskExecService extends IService<OaTaskExec> {
|
||||||
|
|
||||||
|
}
|
||||||
+20
@@ -0,0 +1,20 @@
|
|||||||
|
package com.ydw.bat.wkflow.business_main.datas.service.impl;
|
||||||
|
|
||||||
|
import com.ydw.bat.wkflow.business_main.datas.entity.OaTaskExec;
|
||||||
|
import com.ydw.bat.wkflow.business_main.datas.mapper.OaTaskExecMapper;
|
||||||
|
import com.ydw.bat.wkflow.business_main.datas.service.IOaTaskExecService;
|
||||||
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* OA 干活任务执行表 服务实现类
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author Super_liu
|
||||||
|
* @since 2021-09-24
|
||||||
|
*/
|
||||||
|
@Service
|
||||||
|
public class OaTaskExecServiceImpl extends ServiceImpl<OaTaskExecMapper, OaTaskExec> implements IOaTaskExecService {
|
||||||
|
|
||||||
|
}
|
||||||
@@ -3,15 +3,14 @@ package com.ydw.bat.wkflow.business_mq.service;
|
|||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
import com.rabbitmq.client.Channel;
|
import com.rabbitmq.client.Channel;
|
||||||
import com.ydw.bat.wkflow.business_auth.LawsUserInfoService;
|
import com.ydw.bat.wkflow.business_auth.LawsUserInfoService;
|
||||||
import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew;
|
import com.ydw.bat.wkflow.business_main.datas.entity.*;
|
||||||
import com.ydw.bat.wkflow.business_main.datas.entity.ResponseMessage;
|
|
||||||
import com.ydw.bat.wkflow.business_main.datas.entity.SendTodoLog;
|
|
||||||
import com.ydw.bat.wkflow.business_main.datas.entity.UserVO;
|
|
||||||
import com.ydw.bat.wkflow.business_main.datas.mapper.SendTodoLogMapper;
|
import com.ydw.bat.wkflow.business_main.datas.mapper.SendTodoLogMapper;
|
||||||
|
import com.ydw.bat.wkflow.business_main.datas.service.IOaTaskExecService;
|
||||||
import com.ydw.bat.wkflow.business_oa.utils.EmailUtils;
|
import com.ydw.bat.wkflow.business_oa.utils.EmailUtils;
|
||||||
import com.ydw.bat.wkflow.business_oa.webService.service.WebServiceOAService;
|
import com.ydw.bat.wkflow.business_oa.webService.service.WebServiceOAService;
|
||||||
import com.ydw.bat.wkflow.business_oa.webService.todoResult.NotifyTodoAppResult;
|
import com.ydw.bat.wkflow.business_oa.webService.todoResult.NotifyTodoAppResult;
|
||||||
import net.sf.json.JSONObject;
|
import net.sf.json.JSONObject;
|
||||||
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import org.apache.commons.lang3.exception.ExceptionUtils;
|
import org.apache.commons.lang3.exception.ExceptionUtils;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
@@ -25,6 +24,9 @@ import org.springframework.messaging.Message;
|
|||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
import java.text.SimpleDateFormat;
|
import java.text.SimpleDateFormat;
|
||||||
|
import java.time.LocalDate;
|
||||||
|
import java.time.format.DateTimeFormatter;
|
||||||
|
import java.time.temporal.ChronoUnit;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -46,6 +48,9 @@ public class SendMQService {
|
|||||||
@Autowired
|
@Autowired
|
||||||
private SendTodoLogMapper sendTodoLogMapper;
|
private SendTodoLogMapper sendTodoLogMapper;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private IOaTaskExecService oaTaskExecService;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private LawsUserInfoService lawsUserInfoService;
|
private LawsUserInfoService lawsUserInfoService;
|
||||||
|
|
||||||
@@ -57,7 +62,28 @@ public class SendMQService {
|
|||||||
try{
|
try{
|
||||||
try{
|
try{
|
||||||
Thread.sleep(5000);
|
Thread.sleep(5000);
|
||||||
insertOrUpdateInfo(object);
|
if(object.getTaskStatus() == 2 && object.getEndTime() != null && StringUtils.isNotBlank(object.getEndTime())){
|
||||||
|
DateTimeFormatter fmt = DateTimeFormatter.ofPattern("yyyy-MM-dd");
|
||||||
|
SimpleDateFormat sdf = new SimpleDateFormat("yyy-MM-dd HH:mm:ss");
|
||||||
|
LocalDate startDate = LocalDate.parse(new SimpleDateFormat("yyyy-MM-dd").format(new Date()),fmt);
|
||||||
|
LocalDate endDate = LocalDate.parse(object.getEndTime(),fmt);
|
||||||
|
int days = (int) startDate.until(endDate, ChronoUnit.DAYS);
|
||||||
|
// 3 天 外
|
||||||
|
if(days > 3){
|
||||||
|
// 待
|
||||||
|
OaTaskExec oaTaskExec = new OaTaskExec();
|
||||||
|
oaTaskExec.setExecType(2);
|
||||||
|
oaTaskExec.setCreateTime(sdf.format(new Date()));
|
||||||
|
oaTaskExec.setUpdateTime(sdf.format(new Date()));
|
||||||
|
oaTaskExecService.save(oaTaskExec);
|
||||||
|
}else {
|
||||||
|
// 3 天 内 发送 OA 待办
|
||||||
|
insertOrUpdateInfo(object);
|
||||||
|
}
|
||||||
|
}else {
|
||||||
|
// 正常逻辑发送 OA 待办
|
||||||
|
insertOrUpdateInfo(object);
|
||||||
|
}
|
||||||
}catch(InterruptedException e){
|
}catch(InterruptedException e){
|
||||||
logger.error(e.toString());
|
logger.error(e.toString());
|
||||||
Thread.currentThread().interrupt();
|
Thread.currentThread().interrupt();
|
||||||
|
|||||||
@@ -0,0 +1,5 @@
|
|||||||
|
<?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="com.ydw.bat.wkflow.business_main.datas.mapper.OaTaskExecMapper">
|
||||||
|
|
||||||
|
</mapper>
|
||||||
Reference in New Issue
Block a user