催办功能、催办统计
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
package com.yxt.messagecenter.api.messageurgeList;
|
||||
|
||||
import com.yxt.common.core.dto.Dto;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
@@ -12,7 +13,7 @@ import lombok.Data;
|
||||
public class MessageListDto implements Dto {
|
||||
private static final long serialVersionUID = -1667937381274036191L;
|
||||
|
||||
private String proInstId;
|
||||
private String procInstId;
|
||||
|
||||
private int type;
|
||||
|
||||
@@ -21,4 +22,13 @@ public class MessageListDto implements Dto {
|
||||
private String nodeName;
|
||||
|
||||
private String msgSid;
|
||||
|
||||
private String urgeType;
|
||||
|
||||
private String taskId;
|
||||
|
||||
@ApiModelProperty("系统催办时间间隔")
|
||||
private String timeInterval;
|
||||
@ApiModelProperty("催办内容")
|
||||
private String urgeContent;
|
||||
}
|
||||
|
||||
@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.yxt.common.core.domain.BaseEntity;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @description:
|
||||
@@ -11,12 +12,13 @@ import io.swagger.annotations.ApiModelProperty;
|
||||
* @date: 2023/9/9
|
||||
**/
|
||||
@TableName("message_urgeList")
|
||||
@Data
|
||||
public class MessageUrgeList extends BaseEntity {
|
||||
private static final long serialVersionUID = 7667726702154027285L;
|
||||
@ApiModelProperty("消息sid")
|
||||
private String msgSid;
|
||||
@ApiModelProperty("流程实例id")
|
||||
private String proInstId;
|
||||
private String procInstId;
|
||||
@ApiModelProperty("催办类别:1系统,2人工")
|
||||
private String urgeType;
|
||||
@ApiModelProperty("被催办人")
|
||||
@@ -25,4 +27,8 @@ public class MessageUrgeList extends BaseEntity {
|
||||
private String nodeName;
|
||||
@ApiModelProperty("任务id")
|
||||
private String taskId;
|
||||
@ApiModelProperty("系统催办时间间隔")
|
||||
private String timeInterval;
|
||||
@ApiModelProperty("催办内容")
|
||||
private String urgeContent;
|
||||
}
|
||||
|
||||
@@ -1,11 +1,15 @@
|
||||
package com.yxt.messagecenter.api.messageurgeList;
|
||||
|
||||
import com.yxt.common.core.query.PagerQuery;
|
||||
import com.yxt.common.core.result.ResultBean;
|
||||
import com.yxt.messagecenter.api.message.MessageFeignFallback;
|
||||
import com.yxt.common.core.vo.PagerVo;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.springframework.cloud.openfeign.FeignClient;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.ResponseBody;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @description:
|
||||
@@ -22,4 +26,10 @@ public interface MessageUrgeListFeign {
|
||||
@ApiOperation("人工催办")
|
||||
@PostMapping(value = "/manualReminder")
|
||||
ResultBean manualReminder(@RequestBody UrgeDto dto);
|
||||
|
||||
|
||||
@ApiOperation("催办统计")
|
||||
@PostMapping(value = "/urgeCount")
|
||||
@ResponseBody
|
||||
ResultBean<PagerVo<MessageUrgeListVo>> urgeCount(@RequestBody PagerQuery<MessageUrgeListQuery> query);
|
||||
}
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
package com.yxt.messagecenter.api.messageurgeList;
|
||||
|
||||
import com.yxt.common.core.query.Query;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @author Administrator
|
||||
* @description
|
||||
* @date 2023/10/8 15:34
|
||||
*/
|
||||
@Data
|
||||
public class MessageUrgeListQuery implements Query {
|
||||
}
|
||||
@@ -0,0 +1,46 @@
|
||||
package com.yxt.messagecenter.api.messageurgeList;
|
||||
|
||||
import com.yxt.common.core.vo.Vo;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @author Administrator
|
||||
* @description
|
||||
* @date 2023/10/8 13:34
|
||||
*/
|
||||
@Data
|
||||
public class MessageUrgeListVo implements Vo {
|
||||
@ApiModelProperty("工作编号")
|
||||
private String taskId;
|
||||
@ApiModelProperty("工作名称")
|
||||
private String taskName;
|
||||
@ApiModelProperty("发起人")
|
||||
private String applyName;
|
||||
@ApiModelProperty("发起时间")
|
||||
private String startTime;
|
||||
@ApiModelProperty("结束时间")
|
||||
private String endTime;
|
||||
@ApiModelProperty("审批状态")
|
||||
private String approvalState;
|
||||
@ApiModelProperty("审批结果")
|
||||
private String result;
|
||||
@ApiModelProperty("审批人")
|
||||
private String approvalName;
|
||||
@ApiModelProperty("审批环节")
|
||||
private String aspect;
|
||||
@ApiModelProperty("审批接收时间")
|
||||
private String receiveTime;
|
||||
@ApiModelProperty("审批通过时间")
|
||||
private String passTime;
|
||||
@ApiModelProperty("审批用时(时分秒)")
|
||||
private String approvalTime;
|
||||
@ApiModelProperty("系统催办次数")
|
||||
private String sysCount;
|
||||
@ApiModelProperty("系统催办时间间隔")
|
||||
private String timeInterval;
|
||||
@ApiModelProperty("人工催办次数")
|
||||
private String artificialCount;
|
||||
private String procInstId;
|
||||
|
||||
}
|
||||
@@ -1,9 +1,14 @@
|
||||
package com.yxt.messagecenter.biz.messageurgeList;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.yxt.anrui.portal.api.sysparameter.SysParameter;
|
||||
import com.yxt.anrui.portal.api.sysparameter.SysParameterVo;
|
||||
import com.yxt.messagecenter.api.messagetype.MessageType;
|
||||
import com.yxt.messagecenter.api.messageurgeList.MessageUrgeList;
|
||||
import com.yxt.messagecenter.api.messageurgeList.MessageUrgeListVo;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@@ -15,4 +20,10 @@ import java.util.List;
|
||||
@Mapper
|
||||
public interface MessageUrgeListMapper extends BaseMapper<MessageUrgeList> {
|
||||
List<MessageUrgeList> selecct(String taskId);
|
||||
|
||||
IPage<MessageUrgeListVo> urgeCount(IPage<MessageUrgeList> page);
|
||||
|
||||
int selCuiBanCount(@Param("taskId") String taskId, @Param("procInstId") String procInstId, @Param("count") int count);
|
||||
|
||||
MessageUrgeList selecctOneBySys(@Param("taskId") String taskId, @Param("procInstId") String procInstId);
|
||||
}
|
||||
|
||||
@@ -2,6 +2,32 @@
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.yxt.messagecenter.biz.messageurgeList.MessageUrgeListMapper">
|
||||
<select id="selecct" resultType="com.yxt.messagecenter.api.messageurgeList.MessageUrgeList">
|
||||
select count(*) from message_urgelist where taskId = #{taskId}
|
||||
select *
|
||||
from message_urgelist
|
||||
where taskId = #{taskId}
|
||||
</select>
|
||||
<select id="urgeCount" resultType="com.yxt.messagecenter.api.messageurgeList.MessageUrgeListVo">
|
||||
SELECT taskId,
|
||||
urgeName as approvalName,
|
||||
procInstId,
|
||||
urgeContent as taskName
|
||||
FROM message_urgelist
|
||||
GROUP BY taskId
|
||||
order by createTime desc
|
||||
</select>
|
||||
<select id="selCuiBanCount" resultType="java.lang.Integer">
|
||||
SELECT COUNT(*)
|
||||
FROM message_urgelist
|
||||
WHERE procInstId = #{procInstId}
|
||||
AND taskId = #{taskId}
|
||||
AND urgeType = #{count}
|
||||
</select>
|
||||
<select id="selecctOneBySys" resultType="com.yxt.messagecenter.api.messageurgeList.MessageUrgeList">
|
||||
SELECT *
|
||||
FROM message_urgelist
|
||||
WHERE procInstId = #{procInstId}
|
||||
AND taskId = #{taskId}
|
||||
AND urgeType = 1
|
||||
order by id desc limit 1
|
||||
</select>
|
||||
</mapper>
|
||||
@@ -1,12 +1,18 @@
|
||||
package com.yxt.messagecenter.biz.messageurgeList;
|
||||
|
||||
import com.yxt.common.core.query.PagerQuery;
|
||||
import com.yxt.common.core.result.ResultBean;
|
||||
import com.yxt.common.core.vo.PagerVo;
|
||||
import com.yxt.messagecenter.api.messageurgeList.MessageUrgeListFeign;
|
||||
import com.yxt.messagecenter.api.messageurgeList.MessageUrgeListQuery;
|
||||
import com.yxt.messagecenter.api.messageurgeList.MessageUrgeListVo;
|
||||
import com.yxt.messagecenter.api.messageurgeList.UrgeDto;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @description:
|
||||
* @author: dimengzhe
|
||||
@@ -18,8 +24,16 @@ public class MessageUrgeListRest implements MessageUrgeListFeign {
|
||||
|
||||
@Autowired
|
||||
private MessageUrgeListService messageUrgeListService;
|
||||
|
||||
@Override
|
||||
public ResultBean manualReminder(UrgeDto dto) {
|
||||
return messageUrgeListService.manualReminder(dto);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean<PagerVo<MessageUrgeListVo>> urgeCount(PagerQuery<MessageUrgeListQuery> query) {
|
||||
ResultBean<PagerVo<MessageUrgeListVo>> rb = ResultBean.fireFail();
|
||||
PagerVo<MessageUrgeListVo> pv = messageUrgeListService.urgeCount(query);
|
||||
return rb.success().setData(pv);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,22 +1,33 @@
|
||||
package com.yxt.messagecenter.biz.messageurgeList;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.yxt.anrui.flowable.api.flow.FlowSelectVo;
|
||||
import com.yxt.anrui.flowable.api.flow.FlowableFeign;
|
||||
import com.yxt.anrui.flowable.api.flow2.FlowFeign;
|
||||
import com.yxt.anrui.flowable.api.flow2.FlowableMessageVo;
|
||||
import com.yxt.anrui.flowable.api.flowtask.FlowTaskDto;
|
||||
import com.yxt.anrui.portal.api.sysparameter.SysParameter;
|
||||
import com.yxt.anrui.portal.api.sysparameter.SysParameterVo;
|
||||
import com.yxt.anrui.portal.api.sysuser.SysUserFeign;
|
||||
import com.yxt.anrui.portal.api.sysuser.SysUserVo;
|
||||
import com.yxt.common.base.service.MybatisBaseService;
|
||||
import com.yxt.common.base.utils.PagerUtil;
|
||||
import com.yxt.common.base.utils.StringUtils;
|
||||
import com.yxt.common.core.query.PagerQuery;
|
||||
import com.yxt.common.core.result.ResultBean;
|
||||
import com.yxt.common.core.vo.PagerVo;
|
||||
import com.yxt.messagecenter.api.message.PushMessageQuery;
|
||||
import com.yxt.messagecenter.api.messagetype.MessageType;
|
||||
import com.yxt.messagecenter.api.messageurgeList.MessageListDto;
|
||||
import com.yxt.messagecenter.api.messageurgeList.MessageUrgeList;
|
||||
import com.yxt.messagecenter.api.messageurgeList.UrgeDto;
|
||||
import com.yxt.messagecenter.api.messageurgeList.*;
|
||||
import com.yxt.messagecenter.biz.message.MessageService;
|
||||
import com.yxt.messagecenter.biz.messagetype.MessageTypeMapper;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.text.ParseException;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.*;
|
||||
|
||||
/**
|
||||
* @description:
|
||||
@@ -32,7 +43,10 @@ public class MessageUrgeListService extends MybatisBaseService<MessageUrgeListMa
|
||||
private MessageService messageService;
|
||||
@Autowired
|
||||
private MessageUrgeListService messageUrgeListService;
|
||||
|
||||
@Autowired
|
||||
private SysUserFeign sysUserFeign;
|
||||
@Autowired
|
||||
private FlowableFeign flowableFeign;
|
||||
|
||||
ResultBean saveMessage(MessageListDto dto) {
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
@@ -45,10 +59,11 @@ public class MessageUrgeListService extends MybatisBaseService<MessageUrgeListMa
|
||||
public ResultBean manualReminder(UrgeDto dto) {
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
String proDefId = dto.getProDefId();
|
||||
String proInstId = dto.getProInstId();
|
||||
String proInstId = dto.getProcInstId();
|
||||
ResultBean<FlowableMessageVo> resultBean = flowFeign.getMessageReminder(proDefId, proInstId);
|
||||
if (resultBean.getData() != null) {
|
||||
FlowableMessageVo flowableMessageVo = resultBean.getData();
|
||||
String taskId = flowableMessageVo.getTaskId();
|
||||
MessageListDto messageListDto = new MessageListDto();
|
||||
BeanUtil.copyProperties(flowableMessageVo, messageListDto);
|
||||
//===================================================
|
||||
@@ -64,6 +79,29 @@ public class MessageUrgeListService extends MybatisBaseService<MessageUrgeListMa
|
||||
String msgSid = msgSidResultBean.getData();
|
||||
messageListDto.setMsgSid(msgSid);
|
||||
messageListDto.setType(2);
|
||||
messageListDto.setUrgeType("2");
|
||||
String urgeName = "";
|
||||
if (StringUtils.isNotBlank(flowableMessageVo.getAssignee())) {
|
||||
StringBuffer sb = new StringBuffer();
|
||||
List<String> userSids = Arrays.asList(flowableMessageVo.getAssignee().split(","));
|
||||
if (!userSids.isEmpty()) {
|
||||
for (String userSid : userSids) {
|
||||
ResultBean<SysUserVo> sysUserVoResultBean = sysUserFeign.fetchBySid(userSid);
|
||||
if (sysUserVoResultBean.getData() != null) {
|
||||
sb.append(sysUserVoResultBean.getData().getName()).append(",");
|
||||
}
|
||||
}
|
||||
sb.delete(sb.length() - 1, sb.length());
|
||||
urgeName = sb.toString();
|
||||
}
|
||||
}
|
||||
messageListDto.setUrgeName(urgeName);
|
||||
FlowTaskDto flowTaskDto = flowFeign.getTaskNameForUrgeCount(taskId, proInstId).getData();
|
||||
if (null != flowTaskDto) {
|
||||
if (StringUtils.isNotBlank(flowTaskDto.getProcDefName())) {
|
||||
messageListDto.setUrgeContent(flowTaskDto.getProcDefName());
|
||||
}
|
||||
}
|
||||
messageUrgeListService.saveMessage(messageListDto);
|
||||
}
|
||||
return rb.success();
|
||||
@@ -72,4 +110,117 @@ public class MessageUrgeListService extends MybatisBaseService<MessageUrgeListMa
|
||||
public List<MessageUrgeList> selecct(String taskId) {
|
||||
return baseMapper.selecct(taskId);
|
||||
}
|
||||
|
||||
/**
|
||||
* 催办统计
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
public PagerVo<MessageUrgeListVo> urgeCount(PagerQuery<MessageUrgeListQuery> pagerQuery) {
|
||||
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
||||
IPage<MessageUrgeList> page = PagerUtil.queryToPage(pagerQuery);
|
||||
IPage<MessageUrgeListVo> pagging = baseMapper.urgeCount(page);
|
||||
List<MessageUrgeListVo> records = pagging.getRecords();
|
||||
records.removeAll(Collections.singleton(null));
|
||||
if (!records.isEmpty()) {
|
||||
for (MessageUrgeListVo urgeVo : records) {
|
||||
String taskId = urgeVo.getTaskId();
|
||||
String procInstId = urgeVo.getProcInstId();
|
||||
FlowableMessageVo flowableMessageVo = flowFeign.getApplicantInfoForUrgeCount(taskId, procInstId).getData();
|
||||
if (null != flowableMessageVo) {
|
||||
//发起人
|
||||
if (StringUtils.isNotBlank(flowableMessageVo.getAssignee())) {
|
||||
SysUserVo userVo = sysUserFeign.fetchBySid(flowableMessageVo.getAssignee()).getData();
|
||||
if (null != userVo) {
|
||||
urgeVo.setApplyName(userVo.getName());
|
||||
}
|
||||
}
|
||||
//发起时间
|
||||
if (StringUtils.isNotBlank(flowableMessageVo.getCreateTime())) {
|
||||
try {
|
||||
Date parseStartTime = sdf.parse(flowableMessageVo.getCreateTime());
|
||||
urgeVo.setStartTime(sdf.format(parseStartTime));
|
||||
} catch (ParseException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
String proDefId = flowableMessageVo.getProDefId();
|
||||
//结束时间
|
||||
//根据流程定义id以及实例id查询结束时间
|
||||
ResultBean<FlowSelectVo> flowSelectVoResultBean = flowableFeign.selectFlows(proDefId, procInstId);
|
||||
if (flowSelectVoResultBean.getData() != null) {
|
||||
FlowSelectVo flowSelectVo = flowSelectVoResultBean.getData();
|
||||
if (StringUtils.isNotBlank(flowSelectVo.getEndTime())) {
|
||||
urgeVo.setEndTime(flowSelectVo.getEndTime());
|
||||
}
|
||||
}
|
||||
}
|
||||
FlowableMessageVo taskVo = flowFeign.getTask(taskId, procInstId).getData();
|
||||
if (null != taskVo) {
|
||||
//审批结果
|
||||
String proDefId = taskVo.getProDefId();
|
||||
FlowableMessageVo resultVo = flowFeign.getApprovalResult(proDefId, procInstId).getData();
|
||||
if (null != resultVo) {
|
||||
if (StringUtils.isNotBlank(resultVo.getResult())) {
|
||||
urgeVo.setResult(resultVo.getResult());
|
||||
}
|
||||
}
|
||||
//审批环节
|
||||
if (StringUtils.isNotBlank(taskVo.getNodeName())) {
|
||||
urgeVo.setAspect(taskVo.getNodeName());
|
||||
}
|
||||
//审批接收时间
|
||||
String recTime = "";
|
||||
if (StringUtils.isNotBlank(taskVo.getCreateTime())) {
|
||||
recTime = taskVo.getCreateTime();
|
||||
try {
|
||||
Date parseRecTime = sdf.parse(recTime);
|
||||
urgeVo.setReceiveTime(sdf.format(parseRecTime));
|
||||
} catch (ParseException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
//审批通过时间
|
||||
String endTime = "";
|
||||
if (StringUtils.isNotBlank(taskVo.getEndTime())) {
|
||||
endTime = taskVo.getEndTime();
|
||||
try {
|
||||
Date parseEndTime = sdf.parse(endTime);
|
||||
Date parseRecTime = sdf.parse(recTime);
|
||||
urgeVo.setPassTime(sdf.format(parseEndTime));
|
||||
//审批用时
|
||||
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("HH:mm:ss");
|
||||
long interval = parseEndTime.getTime() - parseRecTime.getTime();
|
||||
simpleDateFormat.setTimeZone(TimeZone.getTimeZone("GMT+00:00"));
|
||||
String hms = simpleDateFormat.format(interval);
|
||||
urgeVo.setApprovalTime(hms);
|
||||
} catch (ParseException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
urgeVo.setApprovalState("已完成");
|
||||
} else {
|
||||
urgeVo.setApprovalState("未完成");
|
||||
}
|
||||
}
|
||||
int count = 0;
|
||||
//查询系统催办次数
|
||||
count = 1;
|
||||
int sysCount = baseMapper.selCuiBanCount(taskId, procInstId, count);
|
||||
urgeVo.setSysCount(String.valueOf(sysCount));
|
||||
//查询人工催办次数
|
||||
count = 2;
|
||||
int renGong = baseMapper.selCuiBanCount(taskId, procInstId, count);
|
||||
urgeVo.setArtificialCount(String.valueOf(renGong));
|
||||
//查询系统催办时间间隔
|
||||
MessageUrgeList messageUrgeList = baseMapper.selecctOneBySys(taskId, procInstId);
|
||||
if (null != messageUrgeList) {
|
||||
if (StringUtils.isNotBlank(messageUrgeList.getTimeInterval())) {
|
||||
urgeVo.setTimeInterval(messageUrgeList.getTimeInterval() + "分钟");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
PagerVo<MessageUrgeListVo> p = PagerUtil.pageToVo(pagging, null);
|
||||
return p;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,6 +3,9 @@ package com.yxt.messagecenter.biz.messageurgeList;
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import com.yxt.anrui.flowable.api.flow2.FlowFeign;
|
||||
import com.yxt.anrui.flowable.api.flow2.FlowableMessageVo;
|
||||
import com.yxt.anrui.flowable.api.flowtask.FlowTaskDto;
|
||||
import com.yxt.anrui.portal.api.sysuser.SysUserFeign;
|
||||
import com.yxt.anrui.portal.api.sysuser.SysUserVo;
|
||||
import com.yxt.anrui.portal.api.sysuser.UserQuery;
|
||||
import com.yxt.common.base.utils.StringUtils;
|
||||
import com.yxt.common.core.result.ResultBean;
|
||||
@@ -38,14 +41,14 @@ public class ScheduledMessageService {
|
||||
private MessageService messageService;
|
||||
@Autowired
|
||||
private MessageRemindruleService messageRemindruleService;
|
||||
@Autowired
|
||||
private SysUserFeign sysUserFeign;
|
||||
|
||||
|
||||
// @Scheduled(cron = "0 0 0 * * ?")
|
||||
//@Scheduled(cron = "0 0 0 * * ?")
|
||||
// @Scheduled(cron = "0 0/5 16 * * ?")
|
||||
// @Scheduled(cron = "0/30 * * * * ?") //每30秒执行一次
|
||||
// @Scheduled(cron = "0/30 * * * * ?") //每30秒执行一次
|
||||
public void remindMessage() {
|
||||
//查询规则
|
||||
|
||||
Date now = new Date();
|
||||
//获取当前时间
|
||||
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
||||
@@ -72,7 +75,7 @@ public class ScheduledMessageService {
|
||||
//超过次数后,不再推送消息
|
||||
List<MessageUrgeList> messageUrgeListList = messageUrgeListService.selecct(flowableMessageVo.getTaskId());
|
||||
messageUrgeListList.removeAll(Collections.singleton(null));
|
||||
if (messageUrgeListList.size() > 0) {
|
||||
if (messageUrgeListList.size() >= 0) {
|
||||
if (num > messageUrgeListList.size()) {
|
||||
MessageListDto messageListDto = new MessageListDto();
|
||||
BeanUtil.copyProperties(flowableMessageVo, messageListDto);
|
||||
@@ -88,7 +91,31 @@ public class ScheduledMessageService {
|
||||
ResultBean<String> msgSidResultBean = messageService.pushUrgeNoUriMessage(pushMessageQuery);
|
||||
String msgSid = msgSidResultBean.getData();
|
||||
messageListDto.setMsgSid(msgSid);
|
||||
messageListDto.setType(1);
|
||||
// messageListDto.setType(1);
|
||||
messageListDto.setUrgeType("1");
|
||||
String urgeName = "";
|
||||
if (StringUtils.isNotBlank(flowableMessageVo.getAssignee())) {
|
||||
StringBuffer sb = new StringBuffer();
|
||||
List<String> userSids = Arrays.asList(flowableMessageVo.getAssignee().split(","));
|
||||
if (!userSids.isEmpty()) {
|
||||
for (String userSid : userSids) {
|
||||
ResultBean<SysUserVo> sysUserVoResultBean = sysUserFeign.fetchBySid(userSid);
|
||||
if (sysUserVoResultBean.getData() != null) {
|
||||
sb.append(sysUserVoResultBean.getData().getName()).append(",");
|
||||
}
|
||||
}
|
||||
sb.delete(sb.length() - 1, sb.length());
|
||||
urgeName = sb.toString();
|
||||
}
|
||||
}
|
||||
messageListDto.setTimeInterval(String.valueOf(minutes));
|
||||
messageListDto.setUrgeName(urgeName);
|
||||
FlowTaskDto flowTaskDto = flowFeign.getTaskNameForUrgeCount(flowableMessageVo.getTaskId(), flowableMessageVo.getProcInstId()).getData();
|
||||
if (null != flowTaskDto) {
|
||||
if (StringUtils.isNotBlank(flowTaskDto.getProcDefName())) {
|
||||
messageListDto.setUrgeContent(flowTaskDto.getProcDefName());
|
||||
}
|
||||
}
|
||||
messageUrgeListService.saveMessage(messageListDto);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user