政策征求意见、重点认证标准/政策合规性项目审查流程完善。 推送OA待阅。
This commit is contained in:
@@ -223,6 +223,8 @@ public class TaskController {
|
|||||||
typeData.put("25","起草");//企标制修订计划管控
|
typeData.put("25","起草");//企标制修订计划管控
|
||||||
typeData.put("26","起草");//企标制修订立项计划
|
typeData.put("26","起草");//企标制修订立项计划
|
||||||
typeData.put("23","汇总");//企标复审
|
typeData.put("23","汇总");//企标复审
|
||||||
|
typeData.put("29","管理员");//政策征求意见
|
||||||
|
typeData.put("30","管理员");//重点认证标准/政策合规性项目审查
|
||||||
BusProcessName one = iBusProcessNameService.getOne(queryWrapper);
|
BusProcessName one = iBusProcessNameService.getOne(queryWrapper);
|
||||||
HistoricTaskInstanceQuery historicTaskInstanceQuery = historyService.createHistoricTaskInstanceQuery()
|
HistoricTaskInstanceQuery historicTaskInstanceQuery = historyService.createHistoricTaskInstanceQuery()
|
||||||
.processInstanceId(one.getPrcId()).orderByHistoricTaskInstanceEndTime().asc();
|
.processInstanceId(one.getPrcId()).orderByHistoricTaskInstanceEndTime().asc();
|
||||||
|
|||||||
@@ -341,6 +341,7 @@ public class TodoTaskController extends BaseAction {
|
|||||||
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
||||||
String data = sdf.format(entry.getValue().get(0).get("createTime"));
|
String data = sdf.format(entry.getValue().get(0).get("createTime"));
|
||||||
res.setAcceptTime(data);
|
res.setAcceptTime(data);
|
||||||
|
res.setTaskDefinitionKey(entry.getValue().get(0).get("taskDefinitionKey").toString());
|
||||||
// //获取新的流程名称
|
// //获取新的流程名称
|
||||||
// QueryWrapper<BusProcessNew> queryWrapper1=new QueryWrapper<>();
|
// QueryWrapper<BusProcessNew> queryWrapper1=new QueryWrapper<>();
|
||||||
// queryWrapper1.eq("P_ID",res.getPrcId());
|
// queryWrapper1.eq("P_ID",res.getPrcId());
|
||||||
|
|||||||
@@ -59,4 +59,19 @@ public class CreateMQService {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Description: 发送OA待阅
|
||||||
|
* @author: wangzhijiang
|
||||||
|
* @date: 2023-10-27
|
||||||
|
* @Param: @param busProcessNew
|
||||||
|
* @return:
|
||||||
|
*/
|
||||||
|
public void sendToBeReadMq(BusProcessNew busProcessNew) {
|
||||||
|
|
||||||
|
if (oaFlag) {
|
||||||
|
//发送消息队列
|
||||||
|
this.rabbitTemplate.convertAndSend("sendToBeRead-exchange_MQ_GSAR_RELEASE", "sendToBeRead-key_MQ_GSAR_RELEASE", busProcessNew);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,171 @@
|
|||||||
|
package com.ydw.bat.wkflow.business_mq.service;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
|
import com.rabbitmq.client.Channel;
|
||||||
|
import com.ydw.bat.wkflow.business_auth.LawsUserInfoService;
|
||||||
|
import com.ydw.bat.wkflow.business_main.datas.entity.*;
|
||||||
|
import com.ydw.bat.wkflow.business_main.datas.mapper.SendTodoLogMapper;
|
||||||
|
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.todoResult.NotifyTodoAppResult;
|
||||||
|
import net.sf.json.JSONObject;
|
||||||
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
|
import org.springframework.amqp.rabbit.annotation.Exchange;
|
||||||
|
import org.springframework.amqp.rabbit.annotation.Queue;
|
||||||
|
import org.springframework.amqp.rabbit.annotation.QueueBinding;
|
||||||
|
import org.springframework.amqp.rabbit.annotation.RabbitListener;
|
||||||
|
import org.springframework.amqp.support.AmqpHeaders;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.messaging.Message;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
import java.text.SimpleDateFormat;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Date;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@Component
|
||||||
|
public class SendToBeReadMQService {
|
||||||
|
|
||||||
|
private static final Logger logger = LoggerFactory.getLogger(SendToBeReadMQService.class);
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private CreateMQService convertMq;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private EmailUtils emailUtils;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private WebServiceOAService webServiceOAService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private SendTodoLogMapper sendTodoLogMapper;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private LawsUserInfoService lawsUserInfoService;
|
||||||
|
|
||||||
|
@RabbitListener(bindings = @QueueBinding(
|
||||||
|
value = @Queue(value = "createMQToBeRead_SQ_GSAR_RELEASE", durable = "true"),
|
||||||
|
exchange = @Exchange(value = "sendToBeRead-exchange_MQ_GSAR_RELEASE", ignoreDeclarationExceptions = "true"),
|
||||||
|
key = "sendToBeRead-key_MQ_GSAR_RELEASE"))
|
||||||
|
public void createMQ(BusProcessNew object, Message message, Channel channel) throws Exception {
|
||||||
|
try {
|
||||||
|
try {
|
||||||
|
Thread.sleep(5000);
|
||||||
|
// 发送OA待阅
|
||||||
|
insertOrUpdateInfo(object);
|
||||||
|
} catch (InterruptedException e) {
|
||||||
|
logger.error(e.toString());
|
||||||
|
Thread.currentThread().interrupt();
|
||||||
|
}
|
||||||
|
} catch (Exception e) {
|
||||||
|
logger.error("消息队列进入添加数据方法前失败!");
|
||||||
|
logger.error(e.getMessage(), e);
|
||||||
|
} finally {
|
||||||
|
Long tag = (Long) message.getHeaders().get(AmqpHeaders.DELIVERY_TAG);
|
||||||
|
channel.basicAck(tag, false);
|
||||||
|
logger.debug("消息确认成功!!!!!!!!!");
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public void insertOrUpdateInfo(BusProcessNew object) throws Exception {
|
||||||
|
try {
|
||||||
|
NotifyTodoAppResult todoAppResult = webServiceOAService.sendToBeRead(object);
|
||||||
|
SimpleDateFormat sdf = new SimpleDateFormat("yyy-MM-dd HH:mm:ss");
|
||||||
|
|
||||||
|
if (todoAppResult.getSIGN().equals("0") || todoAppResult.getMASSAGE().equals("操作成功")) {
|
||||||
|
QueryWrapper wrapper = new QueryWrapper();
|
||||||
|
wrapper.eq("TODO_ID", object.getId());
|
||||||
|
wrapper.eq("MSG_TYPE", "0");
|
||||||
|
List<SendTodoLog> list = sendTodoLogMapper.selectList(wrapper);
|
||||||
|
if (!list.isEmpty()) {
|
||||||
|
SendTodoLog sendTodoLog = list.get(0);
|
||||||
|
sendTodoLog.setMsgStatus("2");
|
||||||
|
sendTodoLog.setOperMesg(todoAppResult.getMASSAGE());
|
||||||
|
sendTodoLog.setCreateTime(sdf.format(new Date()));
|
||||||
|
sendTodoLog.setUpdateTime(sdf.format(new Date()));
|
||||||
|
sendTodoLogMapper.updateById(sendTodoLog);
|
||||||
|
} else {
|
||||||
|
sendTodoSave(object, sdf, "2", todoAppResult.getMASSAGE());
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
// 重试发送待办
|
||||||
|
logger.info("重试发送待办");
|
||||||
|
this.restartSendMq(object, todoAppResult.getMASSAGE());
|
||||||
|
}
|
||||||
|
|
||||||
|
} catch (Exception e) {
|
||||||
|
logger.error(e.getMessage(), e);
|
||||||
|
this.restartSendMq(object, e.getMessage());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void restartSendMq(BusProcessNew object, String operMesg) throws Exception {
|
||||||
|
QueryWrapper wrapper = new QueryWrapper();
|
||||||
|
wrapper.eq("TODO_ID", object.getId());
|
||||||
|
wrapper.eq("MSG_TYPE", "0");
|
||||||
|
List<SendTodoLog> list = sendTodoLogMapper.selectList(wrapper);
|
||||||
|
SimpleDateFormat sdf = new SimpleDateFormat("yyy-MM-dd HH:mm:ss");
|
||||||
|
if (!list.isEmpty()) {
|
||||||
|
SendTodoLog sendTodoLog = list.get(0);
|
||||||
|
int againNumNew = Integer.valueOf(sendTodoLog.getErrNum());
|
||||||
|
if (againNumNew >= 6) {
|
||||||
|
ResponseMessage<UserVO> byId = lawsUserInfoService.getById("WY8J26MH23");
|
||||||
|
// 发送待办 或 发送给管理员邮箱
|
||||||
|
List<String> emailList = new ArrayList<>();
|
||||||
|
// 占时指定admin用户邮箱
|
||||||
|
emailList.add(byId == null ? "" : (byId.getData().getEmail() == null ? "" : byId.getData().getEmail()));
|
||||||
|
String[] arr = emailList.toArray(new String[emailList.size()]);
|
||||||
|
String title = "OA请求发送失败6次";
|
||||||
|
String countText = "<div style=\"font-size:16px\" ><div><p>您好:</p></div>" +
|
||||||
|
"<span style=\"color:blue;\" >" + "OA请求发送失败6次,请线下协调处理" + "</span></div>";
|
||||||
|
emailUtils.sendMsgFeign(arr, title, countText);
|
||||||
|
logger.info("发送失败6次,发送给管理员邮箱");
|
||||||
|
} else {
|
||||||
|
restSendTodo(object, sdf, sendTodoLog, againNumNew, operMesg);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
sendTodoSave(object, sdf, "3", operMesg);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void restSendTodo(BusProcessNew object, SimpleDateFormat sdf, SendTodoLog sendTodoLog, int againNumNew, String operMesg) throws Exception {
|
||||||
|
// 失败次数小于6次,放入失败队列延迟消费
|
||||||
|
if ((againNumNew < 6)) {
|
||||||
|
Thread.sleep(3000);
|
||||||
|
logger.info("发送失败连续持续" + againNumNew + "次,存入延迟重试队列!!!!!!!!!");
|
||||||
|
} else {
|
||||||
|
logger.info("发送失败连续持续" + againNumNew + "次!!");
|
||||||
|
}
|
||||||
|
sendTodoLog.setErrNum(sendTodoLog.getErrNum() + 1);
|
||||||
|
sendTodoLog.setUpdateTime(sdf.format(new Date()));
|
||||||
|
sendTodoLog.setOperMesg(operMesg);
|
||||||
|
sendTodoLogMapper.updateById(sendTodoLog);
|
||||||
|
convertMq.sendTodoMq(object);
|
||||||
|
logger.info("已重新加入延迟队列");
|
||||||
|
}
|
||||||
|
|
||||||
|
private void sendTodoSave(BusProcessNew object, SimpleDateFormat sdf, String s, String operMesg) {
|
||||||
|
SendTodoLog sendTodoLog = new SendTodoLog();
|
||||||
|
sendTodoLog.setMsgType("0");
|
||||||
|
sendTodoLog.setTodoId(object.getId());
|
||||||
|
sendTodoLog.setUserId(object.getUserId());
|
||||||
|
JSONObject json = JSONObject.fromObject(object);
|
||||||
|
sendTodoLog.setMesg(json.toString());
|
||||||
|
sendTodoLog.setMsgStatus(s);
|
||||||
|
sendTodoLog.setErrNum(1);
|
||||||
|
sendTodoLog.setOperMesg(operMesg);
|
||||||
|
sendTodoLog.setCreateTime(sdf.format(new Date()));
|
||||||
|
sendTodoLog.setUpdateTime(sdf.format(new Date()));
|
||||||
|
sendTodoLogMapper.insert(sendTodoLog);
|
||||||
|
if (s.equals("2")) {
|
||||||
|
logger.info("发送成功,存入OA日志");
|
||||||
|
} else {
|
||||||
|
convertMq.sendToBeReadMq(object);
|
||||||
|
logger.info("已重新加入延迟队列");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
+2
@@ -24,4 +24,6 @@ public interface WebServiceOAService {
|
|||||||
|
|
||||||
NotifyTodoAppDeleteResult setTodoDelete(String object) throws Exception;
|
NotifyTodoAppDeleteResult setTodoDelete(String object) throws Exception;
|
||||||
|
|
||||||
|
NotifyTodoAppResult sendToBeRead(BusProcessNew busProcessNew) throws Exception;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
+64
@@ -492,5 +492,69 @@ public class WebServiceOAServiceImpl implements WebServiceOAService {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
@Async
|
||||||
|
public NotifyTodoAppResult sendToBeRead(BusProcessNew busProcessNew) throws Exception {
|
||||||
|
NotifyTodoAppResult notifyTodoAppResult = new NotifyTodoAppResult();
|
||||||
|
String result = "";
|
||||||
|
SimpleDateFormat sdf = new SimpleDateFormat("yyy-MM-dd HH:mm:ss");
|
||||||
|
JsonSend jsonSend = new JsonSend();
|
||||||
|
HEAD head = new HEAD();
|
||||||
|
head.setACCOUNT("OA");
|
||||||
|
head.setBIZTRANSACTIONID("SYC_161320210206133219");
|
||||||
|
head.setCONSUMER("SPRS");
|
||||||
|
head.setCOUNT("1");
|
||||||
|
head.setPASSWORD("oa201611241710");
|
||||||
|
head.setSRVLEVEL("1");
|
||||||
|
List<Object> list = new ArrayList<>();
|
||||||
|
NotifyTodoSendContext notifyTodoSendContext = new NotifyTodoSendContext();
|
||||||
|
// 待办来源的系统
|
||||||
|
notifyTodoSendContext.setAppName("SPRS");
|
||||||
|
//创建时间
|
||||||
|
notifyTodoSendContext.setCreateTime(sdf.format(new Date()));
|
||||||
|
// 待办在原系统唯一标识
|
||||||
|
notifyTodoSendContext.setModelId(busProcessNew.getId());
|
||||||
|
//模块名称
|
||||||
|
notifyTodoSendContext.setModelName(busProcessNew.getTaskInfo());
|
||||||
|
//标题
|
||||||
|
notifyTodoSendContext.setSubject(busProcessNew.getPrcName());
|
||||||
|
//地址
|
||||||
|
QueryWrapper queryWrapper = new QueryWrapper();
|
||||||
|
queryWrapper.eq("PRC_ID", busProcessNew.getPId());
|
||||||
|
BusProcessName busProcessName = iBusProcessNameService.getOne(queryWrapper);
|
||||||
|
String linkParam = "&taskIds=" + busProcessNew.getTaskId() + "&prcId=" + busProcessNew.getPId() + "&prcNum=" + busProcessName.getPrcNum() + "&prcName=" + busProcessName.getPrcName();
|
||||||
|
notifyTodoSendContext.setLink(webUrl + busProcessNew.getLink() + linkParam);
|
||||||
|
//待办类型
|
||||||
|
notifyTodoSendContext.setType("2");
|
||||||
|
|
||||||
|
Map<String, Object> map = new HashMap<>();
|
||||||
|
ResponseMessage<UserVO> byId = lawsUserInfoService.getById(busProcessNew.getUserId());
|
||||||
|
map.put("LoginName", byId == null ? "" : byId.getData().getAccount());
|
||||||
|
JSONObject jsonLoginName = new JSONObject(map);
|
||||||
|
notifyTodoSendContext.setTargets(jsonLoginName.toJSONString());
|
||||||
|
list.add(notifyTodoSendContext);
|
||||||
|
jsonSend.setHEAD(head);
|
||||||
|
jsonSend.setLIST(list);
|
||||||
|
net.sf.json.JSONObject json = net.sf.json.JSONObject.fromObject(jsonSend);
|
||||||
|
Map<String, String> mapCtr = new TreeMap<>();
|
||||||
|
mapCtr.put("Authorization", credentials);
|
||||||
|
log.info("处理完文件数据,开始请求发送待办接口数据:【" + sdf.format(new Date()) + "】");
|
||||||
|
log.info("sendTodo当前处理的文件数据(josnSend):" + jsonSend.toString());
|
||||||
|
log.info("sendTodo当前处理的文件数据(notifyTodoSendContext):" + notifyTodoSendContext.toString());
|
||||||
|
result = okHttpUtil.postForJson("https://fesbnew.foton.com.cn/WP_FOTON_FSOA/APP_DOC_SERVICES/Proxy_Services/TA_OA/DOC_SYC_1019_SendTodo_PS", json.toString(), mapCtr);
|
||||||
|
log.info("请求发送待办接口完毕,返回响应状态:【" + sdf.format(new Date()) + "】");
|
||||||
|
if (!result.contains("操作成功")) {
|
||||||
|
log.error("请求发送待办接口出现异常:" + result);
|
||||||
|
log.info("sendTodo当前处理的文件数据(josnSend):" + jsonSend.toString());
|
||||||
|
log.info("sendTodo当前处理的文件数据(notifyTodoSendContext):" + notifyTodoSendContext.toString());
|
||||||
|
notifyTodoAppResult.setSIGN("1");
|
||||||
|
notifyTodoAppResult.setMASSAGE(result);
|
||||||
|
} else {
|
||||||
|
log.info("okHttp请求发送待办接口成功结果:" + result);
|
||||||
|
notifyTodoAppResult = (NotifyTodoAppResult) net.sf.json.JSONObject.toBean(net.sf.json.JSONObject.fromObject(result), NotifyTodoAppResult.class);
|
||||||
|
}
|
||||||
|
return notifyTodoAppResult;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+30
@@ -9,12 +9,18 @@ import com.ydw.bat.wkflow.business_main.datas.entity.Datas;
|
|||||||
import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNameService;
|
import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNameService;
|
||||||
import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService;
|
import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService;
|
||||||
import com.ydw.bat.wkflow.business_main.datas.service.IDatasService;
|
import com.ydw.bat.wkflow.business_main.datas.service.IDatasService;
|
||||||
|
import com.ydw.bat.wkflow.business_mq.service.CreateMQService;
|
||||||
import com.ydw.bat.wkflow.util.SpringContextUtil;
|
import com.ydw.bat.wkflow.util.SpringContextUtil;
|
||||||
|
import com.ydw.bat.wkflow.util.enums.FlowTypeEnum;
|
||||||
import org.activiti.engine.delegate.DelegateTask;
|
import org.activiti.engine.delegate.DelegateTask;
|
||||||
import org.activiti.engine.delegate.TaskListener;
|
import org.activiti.engine.delegate.TaskListener;
|
||||||
|
import org.apache.commons.lang3.StringUtils;
|
||||||
|
|
||||||
import java.text.SimpleDateFormat;
|
import java.text.SimpleDateFormat;
|
||||||
|
import java.util.Arrays;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
public class PolicyComplianceProgramReviewProcess15After implements TaskListener {
|
public class PolicyComplianceProgramReviewProcess15After implements TaskListener {
|
||||||
@Override
|
@Override
|
||||||
@@ -23,6 +29,7 @@ public class PolicyComplianceProgramReviewProcess15After implements TaskListener
|
|||||||
IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class);
|
IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class);
|
||||||
TaskTodoService taskTodoService = SpringContextUtil.getBean(TaskTodoService.class);
|
TaskTodoService taskTodoService = SpringContextUtil.getBean(TaskTodoService.class);
|
||||||
IBusProcessNameService busProcessNameService = SpringContextUtil.getBean(IBusProcessNameService.class);
|
IBusProcessNameService busProcessNameService = SpringContextUtil.getBean(IBusProcessNameService.class);
|
||||||
|
CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class);
|
||||||
|
|
||||||
QueryWrapper<Datas> queryWrapper = new QueryWrapper<>();
|
QueryWrapper<Datas> queryWrapper = new QueryWrapper<>();
|
||||||
queryWrapper.eq("ACTI_TASK_ID", delegateTask.getId());
|
queryWrapper.eq("ACTI_TASK_ID", delegateTask.getId());
|
||||||
@@ -32,7 +39,30 @@ public class PolicyComplianceProgramReviewProcess15After implements TaskListener
|
|||||||
|
|
||||||
// TODO 等需求确认,提交后需要做什么操作。
|
// TODO 等需求确认,提交后需要做什么操作。
|
||||||
|
|
||||||
|
JSONObject jsonForm = object.getJSONObject("form");
|
||||||
|
String csr2UserIds = jsonForm.getString("csr2UserIds");
|
||||||
|
if (StringUtils.isNotEmpty(csr2UserIds)) {
|
||||||
|
List<String> csr2UserIdList = Arrays.asList(csr2UserIds.split(","));
|
||||||
|
for (String csr2UserId : csr2UserIdList) {
|
||||||
|
// 发送 oa 待阅
|
||||||
|
BusProcessNew sendToBeReadBpn = new BusProcessNew();
|
||||||
|
sendToBeReadBpn.setId(UUID.randomUUID().toString().substring(0, 20));
|
||||||
|
sendToBeReadBpn.setTaskId(delegateTask.getId());
|
||||||
|
sendToBeReadBpn.setTaskInfo(delegateTask.getName());
|
||||||
|
sendToBeReadBpn.setLink(
|
||||||
|
FlowTypeEnum.ZCHGXXMSCLC.getRoute() + "?prcType=" +
|
||||||
|
FlowTypeEnum.ZCHGXXMSCLC.getValue() +
|
||||||
|
"&taskDefinitionKey=PolicyComplianceProgramReviewProcessKey11" +
|
||||||
|
"&operate=view"
|
||||||
|
);
|
||||||
|
sendToBeReadBpn.setTaskInfo(delegateTask.getName());
|
||||||
|
sendToBeReadBpn.setUserId(csr2UserId);
|
||||||
|
sendToBeReadBpn.setPrcName("重点认证标准/政策合规性项目审查流程");
|
||||||
|
sendToBeReadBpn.setPId(delegateTask.getProcessInstanceId());
|
||||||
|
|
||||||
|
oaService.sendToBeReadMq(sendToBeReadBpn);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
boolean existTaskFlag = taskTodoService.whetherExistTaskByTaskDefinitionKey(
|
boolean existTaskFlag = taskTodoService.whetherExistTaskByTaskDefinitionKey(
|
||||||
delegateTask.getProcessInstanceId(),
|
delegateTask.getProcessInstanceId(),
|
||||||
|
|||||||
+1
-2
@@ -52,8 +52,7 @@ public class PolicyComplianceProgramReviewProcessTimer {
|
|||||||
* @Param:
|
* @Param:
|
||||||
* @return:
|
* @return:
|
||||||
*/
|
*/
|
||||||
@Scheduled(cron = "10 11 11 * * ? ")//每天十点执行
|
@Scheduled(cron = "10 0 0 * * ? ")//每天凌晨12点10分执行
|
||||||
// @Scheduled(cron = "0/15 * * * * ? ")
|
|
||||||
public void autoSubmitZrbmTask() {
|
public void autoSubmitZrbmTask() {
|
||||||
QueryWrapper<BusProcessName> bpnQueryWrap = new QueryWrapper<>();
|
QueryWrapper<BusProcessName> bpnQueryWrap = new QueryWrapper<>();
|
||||||
bpnQueryWrap.lambda().eq(BusProcessName::getPrcType, FlowTypeEnum.ZCHGXXMSCLC.getValue());
|
bpnQueryWrap.lambda().eq(BusProcessName::getPrcType, FlowTypeEnum.ZCHGXXMSCLC.getValue());
|
||||||
|
|||||||
+32
@@ -9,12 +9,18 @@ import com.ydw.bat.wkflow.business_main.datas.entity.Datas;
|
|||||||
import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNameService;
|
import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNameService;
|
||||||
import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService;
|
import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService;
|
||||||
import com.ydw.bat.wkflow.business_main.datas.service.IDatasService;
|
import com.ydw.bat.wkflow.business_main.datas.service.IDatasService;
|
||||||
|
import com.ydw.bat.wkflow.business_mq.service.CreateMQService;
|
||||||
import com.ydw.bat.wkflow.util.SpringContextUtil;
|
import com.ydw.bat.wkflow.util.SpringContextUtil;
|
||||||
|
import com.ydw.bat.wkflow.util.enums.FlowTypeEnum;
|
||||||
import org.activiti.engine.delegate.DelegateTask;
|
import org.activiti.engine.delegate.DelegateTask;
|
||||||
import org.activiti.engine.delegate.TaskListener;
|
import org.activiti.engine.delegate.TaskListener;
|
||||||
|
import org.apache.commons.lang3.StringUtils;
|
||||||
|
|
||||||
import java.text.SimpleDateFormat;
|
import java.text.SimpleDateFormat;
|
||||||
|
import java.util.Arrays;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
public class PolicySolicitOpinionProcess16After implements TaskListener {
|
public class PolicySolicitOpinionProcess16After implements TaskListener {
|
||||||
@Override
|
@Override
|
||||||
@@ -23,6 +29,7 @@ public class PolicySolicitOpinionProcess16After implements TaskListener {
|
|||||||
IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class);
|
IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class);
|
||||||
TaskTodoService taskTodoService = SpringContextUtil.getBean(TaskTodoService.class);
|
TaskTodoService taskTodoService = SpringContextUtil.getBean(TaskTodoService.class);
|
||||||
IBusProcessNameService busProcessNameService = SpringContextUtil.getBean(IBusProcessNameService.class);
|
IBusProcessNameService busProcessNameService = SpringContextUtil.getBean(IBusProcessNameService.class);
|
||||||
|
CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class);
|
||||||
|
|
||||||
QueryWrapper<Datas> queryWrapper = new QueryWrapper<>();
|
QueryWrapper<Datas> queryWrapper = new QueryWrapper<>();
|
||||||
queryWrapper.eq("ACTI_TASK_ID", delegateTask.getId());
|
queryWrapper.eq("ACTI_TASK_ID", delegateTask.getId());
|
||||||
@@ -32,7 +39,32 @@ public class PolicySolicitOpinionProcess16After implements TaskListener {
|
|||||||
|
|
||||||
// TODO 等需求确认,提交后需要做什么操作。
|
// TODO 等需求确认,提交后需要做什么操作。
|
||||||
|
|
||||||
|
JSONObject jsonForm = object.getJSONObject("form");
|
||||||
|
String csr2UserIds = jsonForm.getString("csr2UserIds");
|
||||||
|
if (StringUtils.isNotEmpty(csr2UserIds)) {
|
||||||
|
List<String> csr2UserIdList = Arrays.asList(csr2UserIds.split(","));
|
||||||
|
for (String csr2UserId : csr2UserIdList) {
|
||||||
|
// 发送 oa 待阅
|
||||||
|
BusProcessNew sendToBeReadBpn = new BusProcessNew();
|
||||||
|
sendToBeReadBpn.setId(UUID.randomUUID().toString().substring(0, 20));
|
||||||
|
sendToBeReadBpn.setTaskId(delegateTask.getId());
|
||||||
|
sendToBeReadBpn.setTaskInfo(delegateTask.getName());
|
||||||
|
sendToBeReadBpn.setLink(
|
||||||
|
FlowTypeEnum.ZCZQYJLC.getRoute() +
|
||||||
|
"?prcType=" + FlowTypeEnum.ZCZQYJLC.getValue() +
|
||||||
|
"&taskDefinitionKey=PolicySolicitOpinionProcessKey11" +
|
||||||
|
"&operate=view"
|
||||||
|
);
|
||||||
|
sendToBeReadBpn.setTaskInfo(delegateTask.getName());
|
||||||
|
sendToBeReadBpn.setUserId(csr2UserId);
|
||||||
|
sendToBeReadBpn.setTaskInfo(delegateTask.getName());
|
||||||
|
sendToBeReadBpn.setUserId(csr2UserId);
|
||||||
|
sendToBeReadBpn.setPrcName("政策征求意见流程");
|
||||||
|
sendToBeReadBpn.setPId(delegateTask.getProcessInstanceId());
|
||||||
|
|
||||||
|
oaService.sendToBeReadMq(sendToBeReadBpn);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
boolean existTaskFlag = taskTodoService.whetherExistTaskByTaskDefinitionKey(
|
boolean existTaskFlag = taskTodoService.whetherExistTaskByTaskDefinitionKey(
|
||||||
delegateTask.getProcessInstanceId(),
|
delegateTask.getProcessInstanceId(),
|
||||||
|
|||||||
+1
-2
@@ -50,8 +50,7 @@ public class PolicySolicitOpinionProcessTimer {
|
|||||||
* @Param:
|
* @Param:
|
||||||
* @return:
|
* @return:
|
||||||
*/
|
*/
|
||||||
@Scheduled(cron = "30 59 13 * * ? ")//每天十点执行
|
@Scheduled(cron = "5 0 0 * * ? ")//每天凌晨12点05分执行
|
||||||
// @Scheduled(cron = "0/15 * * * * ? ")
|
|
||||||
public void autoSubmitZrbmTask() {
|
public void autoSubmitZrbmTask() {
|
||||||
QueryWrapper<BusProcessName> bpnQueryWrap = new QueryWrapper<>();
|
QueryWrapper<BusProcessName> bpnQueryWrap = new QueryWrapper<>();
|
||||||
bpnQueryWrap.lambda().eq(BusProcessName::getPrcType, FlowTypeEnum.ZCZQYJLC.getValue());
|
bpnQueryWrap.lambda().eq(BusProcessName::getPrcType, FlowTypeEnum.ZCZQYJLC.getValue());
|
||||||
|
|||||||
Reference in New Issue
Block a user