合并分支 'dev_20230216' 到 'master'
Dev 20230216 查看合并请求 laws-foton-slrs/foton-wkflow-rest!16
This commit is contained in:
@@ -2230,8 +2230,10 @@ public class TodoTaskController extends BaseAction {
|
||||
if (task.getAssignee() != null && !task.getAssignee().equals("")) {
|
||||
ResponseMessage<UserVO> byId = lawsUserInfoService.getById(task.getAssignee());
|
||||
if (byId.getData() != null) {
|
||||
if (assignee.indexOf(byId.getData().getUname()) == -1) {
|
||||
assignee += ((byId.getData().getOrgName() != null && !byId.getData().getOrgName().equals("")) ? byId.getData().getOrgName() + "-" + byId.getData().getUname() : byId.getData().getUname()) + ",";
|
||||
if (byId.getData().getUname() != null){
|
||||
if (assignee.indexOf(byId.getData().getUname()) == -1) {
|
||||
assignee += ((byId.getData().getOrgName() != null && !byId.getData().getOrgName().equals("")) ? byId.getData().getOrgName() + "-" + byId.getData().getUname() : byId.getData().getUname()) + ",";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -2717,4 +2719,44 @@ public class TodoTaskController extends BaseAction {
|
||||
// public List<BusProcessName> findProcessNameByPrcNum(@RequestBody String taskId) {
|
||||
// return iBusProcessNameService.findBusProcessNameForEnd(taskId);
|
||||
// }
|
||||
//
|
||||
@ApiOperation(value = "取消OA消息通知")
|
||||
@PostMapping("/cancelOAInform")
|
||||
public String cancelOAInform(@RequestParam("id") String id) {
|
||||
//查询出当前数据
|
||||
BusProcessName busProcessName = iBusProcessNameService.selectById(id);
|
||||
//在mes字段中增添一个属性 用来关联是否oa提醒
|
||||
String mes = busProcessName.getMes();
|
||||
JSONObject jsonObject = JSONObject.parseObject(mes);
|
||||
Map<String, Object> stringObjectMap = JsonUtil.objToMap(jsonObject);
|
||||
stringObjectMap.put("oa_cancelOAInform","1");
|
||||
String s = JSON.toJSONString(stringObjectMap);
|
||||
iBusProcessNameService.updateById(busProcessName);
|
||||
return null;
|
||||
}
|
||||
|
||||
@ApiOperation(value = "我的待办任务列表速度优化项(首页OA提醒)")
|
||||
@ApiImplicitParams({@ApiImplicitParam(name = "name", value = "名称"),
|
||||
@ApiImplicitParam(name = "current", value = "当前页"),
|
||||
@ApiImplicitParam(name = "size", value = "每页条数"),
|
||||
@ApiImplicitParam(name = "userId", value = "用户Id")})
|
||||
@PostMapping("/todoTaskListNewOAInform")
|
||||
public List<BusProcessName> todoTaskListNewOAInform(@RequestBody TaskCommonQuery taskCommonQuery) {
|
||||
// 创建查询对象
|
||||
List<BusProcessName> busProcessNames=new ArrayList<>();
|
||||
busProcessNames=iBusProcessNameService.todoTask(taskCommonQuery);
|
||||
// 判断当前数据是否被取消OA提醒
|
||||
for (BusProcessName data: busProcessNames){
|
||||
String mes = data.getMes();
|
||||
JSONObject jsonObject = JSONObject.parseObject(mes);
|
||||
Map<String, Object> stringObjectMap = JsonUtil.objToMap(jsonObject);
|
||||
Object oa_cancelOAInform = stringObjectMap.get("oa_cancelOAInform");
|
||||
if(oa_cancelOAInform != null){
|
||||
//证明取消oa提醒
|
||||
busProcessNames.remove(data);
|
||||
}
|
||||
}
|
||||
return busProcessNames;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -213,4 +213,7 @@ public interface LawsUserInfoService {
|
||||
|
||||
@GetMapping("/esRevisePlan/es-revise-plan/getAllPlansByWk")
|
||||
public List<EsRevisePlanDTO> getAllPlansByWk(@RequestParam("esName") String esName);
|
||||
|
||||
@GetMapping("/esRevisePlan/es-revise-plan/oaUpdatePlans")
|
||||
void updateEsRevisePlan(@RequestParam("esId")String esId, @RequestParam("date")Date date,@RequestParam("s") String s);
|
||||
}
|
||||
|
||||
+7
@@ -1,6 +1,7 @@
|
||||
package com.ydw.bat.wkflow.business_main.datas.controller;
|
||||
|
||||
|
||||
import com.baomidou.mybatisplus.extension.api.R;
|
||||
import com.tmsps.fk.common.base.action.BaseAction;
|
||||
import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew;
|
||||
import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService;
|
||||
@@ -61,6 +62,12 @@ public class BusProcessNewController extends BaseAction {
|
||||
return findtodotask;
|
||||
}
|
||||
|
||||
@ApiOperation(value = "首页流程计划立项查询mesg")
|
||||
@GetMapping("/selectBusProcessNew")
|
||||
public String selectBusProcessNew(String taskId) {
|
||||
return iBusProcessNewService.selectBusProcessNew(taskId);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -113,4 +113,13 @@ public class EsRevisePlanDTO {
|
||||
@ApiModelProperty(value = "立项单")
|
||||
@TableField("LXD")
|
||||
private String lxd;
|
||||
|
||||
@ApiModelProperty(value = "OA发送时间记录")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
||||
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
|
||||
private Date oaDateIime;
|
||||
|
||||
@ApiModelProperty(value = "OA是否已经发送")
|
||||
@TableField("OA_IS_SEND")
|
||||
private String oaIsSend;
|
||||
}
|
||||
|
||||
+2
@@ -24,4 +24,6 @@ public interface IBusProcessNameService extends IService<BusProcessName> {
|
||||
|
||||
|
||||
String delDB(List<String> id);
|
||||
|
||||
BusProcessName selectById(String id);
|
||||
}
|
||||
|
||||
+1
@@ -36,4 +36,5 @@ public interface IBusProcessNewService extends IService<BusProcessNew> {
|
||||
List<BusProcessNew> everyDayTenOlock();
|
||||
List<BusProcessNew> everyDayTenOlockSAM();
|
||||
|
||||
String selectBusProcessNew(String taskId);
|
||||
}
|
||||
|
||||
+6
@@ -7,6 +7,7 @@ import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNameService;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@@ -43,4 +44,9 @@ public class BusProcessNameServiceImpl extends ServiceImpl<BusProcessNameMapper,
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public BusProcessName selectById(@RequestParam("id") String id) {
|
||||
return busProcessNameMapper.selectById(id);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
+19
-4
@@ -1,5 +1,6 @@
|
||||
package com.ydw.bat.wkflow.business_main.datas.service.impl;
|
||||
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew;
|
||||
import com.ydw.bat.wkflow.business_main.datas.mapper.BusProcessNewMapper;
|
||||
@@ -9,10 +10,7 @@ import org.activiti.engine.TaskService;
|
||||
import org.activiti.engine.task.Task;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Comparator;
|
||||
import java.util.List;
|
||||
import java.util.TreeSet;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
@@ -89,4 +87,21 @@ public class BusProcessNewServiceImpl extends ServiceImpl<BusProcessNewMapper, B
|
||||
return baseMapper.everyDayTenOlockSAM();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String selectBusProcessNew(String taskId) {
|
||||
QueryWrapper<BusProcessNew> busProcessNewQueryWrapper = new QueryWrapper<>();
|
||||
busProcessNewQueryWrapper.eq("TASK_id",taskId);
|
||||
BusProcessNew busProcessNew = baseMapper.selectOne(busProcessNewQueryWrapper);
|
||||
if(busProcessNew!=null){
|
||||
Map mapType = JSON.parseObject(busProcessNew.getMesg(),Map.class);
|
||||
Object nowEsIdObject = mapType.get("nowEsId");
|
||||
if(nowEsIdObject!=null){
|
||||
String nowEsId = nowEsIdObject.toString();
|
||||
return nowEsId;
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
+5
@@ -211,6 +211,11 @@ public class WebServiceOAServiceImpl implements WebServiceOAService {
|
||||
map.put("list",notifyTodoSendContexts);
|
||||
net.sf.json.JSONObject jsonObject = net.sf.json.JSONObject.fromObject(map);
|
||||
oaService.setTodoDeleteMq(jsonObject.toString());
|
||||
try {
|
||||
setTodoDelete(jsonObject.toString());
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -5,9 +5,11 @@ 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.EsPrcRelation;
|
||||
import com.ydw.bat.wkflow.business_main.datas.entity.EsRevisePlanDTO;
|
||||
import com.ydw.bat.wkflow.business_main.datas.mapper.BusProcessNameMapper;
|
||||
import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService;
|
||||
import com.ydw.bat.wkflow.business_main.datas.service.IEsPrcRelationService;
|
||||
import com.ydw.bat.wkflow.business_mq.service.CreateMQService;
|
||||
import com.ydw.bat.wkflow.business_oa.webService.service.impl.WebServiceOAServiceImpl;
|
||||
import com.ydw.bat.wkflow.util.SpringContextUtil;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.activiti.engine.TaskService;
|
||||
@@ -15,6 +17,7 @@ import org.activiti.engine.task.Task;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.scheduling.annotation.Async;
|
||||
import org.springframework.scheduling.annotation.EnableScheduling;
|
||||
@@ -23,6 +26,7 @@ import org.springframework.stereotype.Component;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Calendar;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@@ -35,49 +39,164 @@ public class ScheduledJobEsPlan {
|
||||
@Value("${isNotScheduled}")
|
||||
private boolean isNotScheduled; //是否开启定时器
|
||||
|
||||
@Autowired
|
||||
WebServiceOAServiceImpl webServiceOAService;
|
||||
|
||||
// @Scheduled(cron = "0 0 2 * * ?") //每天的凌晨2点执行
|
||||
// @Async
|
||||
// public void SchedulingTask() {
|
||||
// if(isNotScheduled) {
|
||||
// logger.info("============企标计划定时任务开始===========");
|
||||
// LawsUserInfoService lawsUserInfoService = SpringContextUtil.getBean(LawsUserInfoService.class);
|
||||
// IEsPrcRelationService esPrcRelationService = SpringContextUtil.getBean(IEsPrcRelationService.class);
|
||||
// TaskService taskService = SpringContextUtil.getBean(TaskService.class);
|
||||
//
|
||||
// List<EsRevisePlanDTO> esRevisePlanDTOList = lawsUserInfoService.getAllPlansByWk(null); // 查询 制定中,修订中的企标计划
|
||||
// // 计划标准初稿时间前一个月的企标计划
|
||||
// SimpleDateFormat sdfQuery = new SimpleDateFormat("yyyy-MM-dd");
|
||||
// Calendar calendar = Calendar.getInstance();
|
||||
// calendar.add(Calendar.MONTH, 1);
|
||||
// String endDate = sdfQuery.format(calendar.getTime());
|
||||
// List<EsRevisePlanDTO> esRevisePlanDTOList2 = esRevisePlanDTOList.stream()
|
||||
// .filter(e -> endDate.equals(sdfQuery.format(e.getDraftTime())))
|
||||
// .collect(Collectors.toList());
|
||||
// if (!esRevisePlanDTOList2.isEmpty()) {
|
||||
// for (EsRevisePlanDTO esRevisePlanDTO : esRevisePlanDTOList2) {
|
||||
// List<EsPrcRelation> esPrcRelationList = esPrcRelationService.list(esRevisePlanDTO.getId());
|
||||
// if (esPrcRelationList.isEmpty()) {
|
||||
// continue;
|
||||
// }
|
||||
// String esId = esPrcRelationList.get(0).getEsId();
|
||||
// String prcIdGk = esPrcRelationList.get(0).getPrcIdGk();
|
||||
// String oaFlag = esPrcRelationList.get(0).getOaFlag();
|
||||
// // 判断对应 管控流程是否还在 技术标准起草节点, 且之前点过接受任务
|
||||
// if (StringUtils.isNotBlank(prcIdGk)) {
|
||||
// List<Task> list2 = taskService.createTaskQuery().processInstanceId(prcIdGk).active().list();
|
||||
// if (!list2.isEmpty()) {
|
||||
// String nowTaskInfo = list2.get(0).getName();
|
||||
// if ("技术标准起草".equals(nowTaskInfo) && "0".equals(oaFlag)) {
|
||||
// // 再次发送待办
|
||||
// logger.info("============再次发送待办的企标计划" + esRevisePlanDTO.getEsName() +"===========");
|
||||
// sendOATodo(list2.get(0));
|
||||
//
|
||||
// // 更新 状态为待办
|
||||
// esPrcRelationService.modifyEsPrcRelation(esId, null, "1", null);
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// logger.info("============企标计划定时任务结束===========");
|
||||
// }
|
||||
// }
|
||||
|
||||
@Scheduled(cron = "0 0 2 * * ?") //每天的凌晨2点执行
|
||||
@Async
|
||||
public void SchedulingTask() {
|
||||
public void SchedulingTaskInfo() {
|
||||
if(isNotScheduled) {
|
||||
logger.info("============企标计划定时任务开始===========");
|
||||
LawsUserInfoService lawsUserInfoService = SpringContextUtil.getBean(LawsUserInfoService.class);
|
||||
IEsPrcRelationService esPrcRelationService = SpringContextUtil.getBean(IEsPrcRelationService.class);
|
||||
TaskService taskService = SpringContextUtil.getBean(TaskService.class);
|
||||
{
|
||||
LawsUserInfoService lawsUserInfoService = SpringContextUtil.getBean(LawsUserInfoService.class);
|
||||
IEsPrcRelationService esPrcRelationService = SpringContextUtil.getBean(IEsPrcRelationService.class);
|
||||
TaskService taskService = SpringContextUtil.getBean(TaskService.class);
|
||||
|
||||
List<EsRevisePlanDTO> esRevisePlanDTOList = lawsUserInfoService.getAllPlansByWk(null); // 查询 制定中,修订中的企标计划
|
||||
// 计划标准初稿时间前一个月的企标计划
|
||||
SimpleDateFormat sdfQuery = new SimpleDateFormat("yyyy-MM-dd");
|
||||
Calendar calendar = Calendar.getInstance();
|
||||
calendar.add(Calendar.MONTH, 1);
|
||||
String endDate = sdfQuery.format(calendar.getTime());
|
||||
List<EsRevisePlanDTO> esRevisePlanDTOList2 = esRevisePlanDTOList.stream()
|
||||
.filter(e -> endDate.equals(sdfQuery.format(e.getDraftTime())))
|
||||
.collect(Collectors.toList());
|
||||
if (!esRevisePlanDTOList2.isEmpty()) {
|
||||
for (EsRevisePlanDTO esRevisePlanDTO : esRevisePlanDTOList2) {
|
||||
List<EsPrcRelation> esPrcRelationList = esPrcRelationService.list(esRevisePlanDTO.getId());
|
||||
if (esPrcRelationList.isEmpty()) {
|
||||
continue;
|
||||
}
|
||||
String esId = esPrcRelationList.get(0).getEsId();
|
||||
String prcIdGk = esPrcRelationList.get(0).getPrcIdGk();
|
||||
String oaFlag = esPrcRelationList.get(0).getOaFlag();
|
||||
// 判断对应 管控流程是否还在 技术标准起草节点, 且之前点过接受任务
|
||||
if (StringUtils.isNotBlank(prcIdGk)) {
|
||||
List<Task> list2 = taskService.createTaskQuery().processInstanceId(prcIdGk).active().list();
|
||||
if (!list2.isEmpty()) {
|
||||
String nowTaskInfo = list2.get(0).getName();
|
||||
if ("技术标准起草".equals(nowTaskInfo) && "0".equals(oaFlag)) {
|
||||
// 再次发送待办
|
||||
logger.info("============再次发送待办的企标计划" + esRevisePlanDTO.getEsName() +"===========");
|
||||
sendOATodo(list2.get(0));
|
||||
|
||||
// 更新 状态为待办
|
||||
esPrcRelationService.modifyEsPrcRelation(esId, null, "1", null);
|
||||
List<EsRevisePlanDTO> esRevisePlanDTOList = lawsUserInfoService.getAllPlansByWk(null); // 查询 制定中,修订中的企标计划
|
||||
//esRevisePlanDTOList 如果 计划标准初稿时间前一个月的企标计划 以前发送过,
|
||||
if(!esRevisePlanDTOList.isEmpty()){
|
||||
for (EsRevisePlanDTO data : esRevisePlanDTOList) {
|
||||
if(StringUtils.isNotBlank(data.getOaIsSend()) && data.getOaIsSend().equals("1")){
|
||||
//等于1 则证明已经发送了 三十天的OA信息 判断是否是已经发送三天 如果是 则撤回发送
|
||||
if(data.getOaDateIime()!=null){
|
||||
// 三天时间的时间戳 86400000 * 3
|
||||
long threeDay = 259200000;
|
||||
long time1 = new Date().getTime();
|
||||
long oaTime = data.getOaDateIime().getTime();
|
||||
//long l = threeDay;
|
||||
long l = time1 - oaTime;
|
||||
if( l > threeDay || l == threeDay){
|
||||
//证明已经过了三天 则发送撤回信息
|
||||
List<EsPrcRelation> esPrcRelationList = esPrcRelationService.list(data.getId());
|
||||
if (!esPrcRelationList.isEmpty()) {
|
||||
String esId = esPrcRelationList.get(0).getEsId();
|
||||
lawsUserInfoService.updateEsRevisePlan(esId,new Date(),"0");
|
||||
if(esPrcRelationList.get(0) != null && StringUtils.isNotBlank(esPrcRelationList.get(0).getPrcId())) {
|
||||
webServiceOAService.deleteOAByPid(esPrcRelationList.get(0).getPrcId());
|
||||
logger.info("============撤销OA待办消息===========");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
// 计划标准初稿时间前一个月的企标计划
|
||||
SimpleDateFormat sdfQuery = new SimpleDateFormat("yyyy-MM-dd");
|
||||
Calendar calendar = Calendar.getInstance();
|
||||
calendar.add(Calendar.MONTH, 1);
|
||||
String endDate = sdfQuery.format(calendar.getTime());
|
||||
List<EsRevisePlanDTO> esRevisePlanDTOList2 = esRevisePlanDTOList.stream()
|
||||
.filter(e -> endDate.equals(sdfQuery.format(e.getDraftTime())))
|
||||
.collect(Collectors.toList());
|
||||
if (!esRevisePlanDTOList2.isEmpty()) {
|
||||
for (EsRevisePlanDTO esRevisePlanDTO : esRevisePlanDTOList2) {
|
||||
List<EsPrcRelation> esPrcRelationList = esPrcRelationService.list(esRevisePlanDTO.getId());
|
||||
if (esPrcRelationList.isEmpty()) {
|
||||
continue;
|
||||
}
|
||||
String esId = esPrcRelationList.get(0).getEsId();
|
||||
String prcIdGk = esPrcRelationList.get(0).getPrcIdGk();
|
||||
String oaFlag = esPrcRelationList.get(0).getOaFlag();
|
||||
// 判断对应 管控流程是否还在 技术标准起草节点, 且之前点过接受任务
|
||||
if (StringUtils.isNotBlank(prcIdGk)) {
|
||||
List<Task> list2 = taskService.createTaskQuery().processInstanceId(prcIdGk).active().list();
|
||||
if (!list2.isEmpty()) {
|
||||
String nowTaskInfo = list2.get(0).getName();
|
||||
if ("技术标准起草".equals(nowTaskInfo) && "0".equals(oaFlag)) {
|
||||
// 再次发送待办
|
||||
sendOATodo(list2.get(0));
|
||||
// 更新 状态为待办
|
||||
esPrcRelationService.modifyEsPrcRelation(esId, null, "1", null);
|
||||
//存储 OA发的时间 和 修改是否发送过
|
||||
lawsUserInfoService.updateEsRevisePlan(esId,new Date(),"1");
|
||||
logger.info("============再次发送待办的企标计划" + esRevisePlanDTO.getEsName() +"===========");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
// 计划标准发布时间 前三天
|
||||
Calendar calendarTrid = Calendar.getInstance();
|
||||
calendarTrid.add(Calendar.DATE, 3);
|
||||
String endDateTrid = sdfQuery.format(calendarTrid.getTime());
|
||||
List<EsRevisePlanDTO> esRevisePlanDTOList3 = esRevisePlanDTOList.stream()
|
||||
.filter(e -> endDateTrid.equals(sdfQuery.format(e.getReleaseTime())))
|
||||
.collect(Collectors.toList());
|
||||
if (!esRevisePlanDTOList3.isEmpty()) {
|
||||
for (EsRevisePlanDTO esRevisePlanDTO : esRevisePlanDTOList3) {
|
||||
List<EsPrcRelation> esPrcRelationList = esPrcRelationService.list(esRevisePlanDTO.getId());
|
||||
if (esPrcRelationList.isEmpty()) {
|
||||
continue;
|
||||
}
|
||||
String esId = esPrcRelationList.get(0).getEsId();
|
||||
String prcIdGk = esPrcRelationList.get(0).getPrcIdGk();
|
||||
String oaFlag = esPrcRelationList.get(0).getOaFlag();
|
||||
// 判断对应 管控流程是否还在 技术标准起草节点, 且之前点过接受任务
|
||||
if (StringUtils.isNotBlank(prcIdGk)) {
|
||||
List<Task> list2 = taskService.createTaskQuery().processInstanceId(prcIdGk).active().list();
|
||||
if (!list2.isEmpty()) {
|
||||
String nowTaskInfo = list2.get(0).getName();
|
||||
if ("技术标准起草".equals(nowTaskInfo) && "0".equals(oaFlag)) {
|
||||
// 再次发送待办
|
||||
logger.info("============再次发送待办的企标计划" + esRevisePlanDTO.getEsName() +"===========");
|
||||
sendOATodo(list2.get(0));
|
||||
// 更新 状态为待办
|
||||
esPrcRelationService.modifyEsPrcRelation(esId, null, "1", null);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
//logger.info("============企标计划定时任务结束===========");
|
||||
}
|
||||
logger.info("============企标计划定时任务结束===========");
|
||||
}
|
||||
|
||||
@@ -0,0 +1,97 @@
|
||||
package com.ydw.bat.wkflow.listener.quizOrAnswer;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessName;
|
||||
import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew;
|
||||
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.IBusProcessNewService;
|
||||
import com.ydw.bat.wkflow.business_main.datas.service.IDatasService;
|
||||
import com.ydw.bat.wkflow.listener.bussLibrary.BussUtils;
|
||||
import com.ydw.bat.wkflow.util.SpringContextUtil;
|
||||
import org.activiti.engine.delegate.DelegateTask;
|
||||
import org.activiti.engine.delegate.TaskListener;
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
//问答中心 答 后置
|
||||
public class answerAfter implements TaskListener {
|
||||
@Override
|
||||
public void notify(DelegateTask delegateTask) {
|
||||
//默认流程数据接口
|
||||
IDatasService datasService = SpringContextUtil.getBean(IDatasService.class);
|
||||
//流程节点信息
|
||||
IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class);
|
||||
//流程信息
|
||||
IBusProcessNameService busProcessNameService = SpringContextUtil.getBean(IBusProcessNameService.class);
|
||||
|
||||
//根据流程id找到流程信息
|
||||
QueryWrapper<Datas> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.eq("ACTI_TASK_ID", delegateTask.getId());
|
||||
Datas datas = datasService.getOne(queryWrapper);
|
||||
JSONObject object = JSONObject.parseObject(datas.getFormValsJson());
|
||||
delegateTask.setVariable("objectJson", object);
|
||||
|
||||
QueryWrapper<BusProcessNew> queryWrapper1 = new QueryWrapper<>();
|
||||
queryWrapper1.eq("TASK_ID", delegateTask.getId());
|
||||
BusProcessNew one = busBean.getOne(queryWrapper1);
|
||||
String mesg = one.getMesg();
|
||||
JSONObject jsonObject = JSONObject.parseObject(mesg);
|
||||
//截止时间 流程描述 创建人
|
||||
String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date());
|
||||
String user = delegateTask.getVariable("prcCreateUser", String.class);
|
||||
String username = delegateTask.getVariable("prcCreateUserName", String.class);
|
||||
|
||||
String[] split1 = jsonObject.getString("askQuestions").substring(1, jsonObject.getString("askQuestions").length() - 2).split(",");
|
||||
List<String> asList = Arrays.asList(split1);
|
||||
String str = "";
|
||||
String bzstr = "";
|
||||
for (int i = 0; i <asList.size() ; i++) {
|
||||
if(i==3){
|
||||
String[] split2 = asList.get(i).split(":");
|
||||
str = split2[1].substring(1, split2[1].length() -1);
|
||||
}
|
||||
if(i==2){
|
||||
String[] split2 = asList.get(i).split(":");
|
||||
bzstr = split2[1].substring(1, split2[1].length() -1);
|
||||
}
|
||||
}
|
||||
String prcName = bzstr+"-("+str+")-问答流程";
|
||||
//截止时间 流程描述 创建人
|
||||
QueryWrapper queryWrapper2 = new QueryWrapper();
|
||||
queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId());
|
||||
BusProcessName one1 = busProcessNameService.getOne(queryWrapper2);
|
||||
if (one1 != null) {
|
||||
one1.setOverTime(OVERTIME);
|
||||
one1.setPrcType("27");
|
||||
one1.setPrcName(prcName);
|
||||
one1.setCreatUser(user);
|
||||
one1.setCreatUserName(username);
|
||||
busProcessNameService.saveOrUpdate(one1);
|
||||
}
|
||||
|
||||
// 存储当前节点意见1
|
||||
if (null != object.getString("commentText")) {
|
||||
QueryWrapper queryWrapper3 = new QueryWrapper();
|
||||
queryWrapper3.eq("TASK_ID", delegateTask.getId());
|
||||
queryWrapper3.eq("USER_ID", delegateTask.getAssignee());
|
||||
List<BusProcessNew> list = busBean.list(queryWrapper3);
|
||||
if (!list.isEmpty()) {
|
||||
BusProcessNew busProcessNews = list.get(0);
|
||||
busProcessNews.setTaskInfo(delegateTask.getName());
|
||||
busProcessNews.setTaskId(delegateTask.getId());
|
||||
busProcessNews.setCommitText(object.getString("commentText"));
|
||||
busProcessNews.setPrcName(prcName);
|
||||
busBean.saveOrUpdate(busProcessNews);
|
||||
}
|
||||
}
|
||||
// 提交时,结束流程,保存当前节点信息
|
||||
BussUtils.endFunAll(delegateTask, prcName, busBean, object, "0", busProcessNameService, "27");
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,35 @@
|
||||
package com.ydw.bat.wkflow.listener.quizOrAnswer;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew;
|
||||
import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService;
|
||||
import com.ydw.bat.wkflow.business_mq.service.CreateMQService;
|
||||
import com.ydw.bat.wkflow.util.SpringContextUtil;
|
||||
import org.activiti.engine.delegate.DelegateTask;
|
||||
import org.activiti.engine.delegate.TaskListener;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
//问答中心 答 前
|
||||
public class answerBefore implements TaskListener {
|
||||
@Override
|
||||
public void notify(DelegateTask delegateTask) {
|
||||
IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class);
|
||||
QueryWrapper queryWrapper1 = new QueryWrapper();
|
||||
queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId());
|
||||
queryWrapper1.eq("USER_ID",delegateTask.getAssignee());
|
||||
queryWrapper1.isNull("TASK_ID");
|
||||
List<BusProcessNew> list = busBean.list(queryWrapper1);
|
||||
if(!list.isEmpty()){
|
||||
BusProcessNew one1 = list.get(0);
|
||||
one1.setTaskId(delegateTask.getId());
|
||||
busBean.saveOrUpdate(one1);
|
||||
|
||||
CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class);
|
||||
// 发送 oa 待办 设置 跳转页面 router ? 后面流程类型
|
||||
one1.setLink("standQA?prcType=27");
|
||||
one1.setTaskInfo(delegateTask.getName());
|
||||
oaService.sendTodoMq(one1);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,118 @@
|
||||
package com.ydw.bat.wkflow.listener.quizOrAnswer;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessName;
|
||||
import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew;
|
||||
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.IBusProcessNewService;
|
||||
import com.ydw.bat.wkflow.business_main.datas.service.IDatasService;
|
||||
import com.ydw.bat.wkflow.listener.bussLibrary.BussUtils;
|
||||
import com.ydw.bat.wkflow.util.SpringContextUtil;
|
||||
import org.activiti.engine.delegate.DelegateTask;
|
||||
import org.activiti.engine.delegate.TaskListener;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
// 问答中心 问 后
|
||||
public class quizAfter implements TaskListener {
|
||||
@Override
|
||||
public void notify(DelegateTask delegateTask) {
|
||||
IDatasService datasService = SpringContextUtil.getBean(IDatasService.class);
|
||||
IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class);
|
||||
IBusProcessNameService busProcessNameService = SpringContextUtil.getBean(IBusProcessNameService.class);
|
||||
|
||||
QueryWrapper<Datas> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.eq("ACTI_TASK_ID", delegateTask.getId());
|
||||
Datas datas = datasService.getOne(queryWrapper);
|
||||
|
||||
JSONObject object = JSONObject.parseObject(datas.getFormValsJson());
|
||||
delegateTask.setVariable("objectJson",object);
|
||||
|
||||
String[] split = object.getString("questioner").substring(1, object.getString("questioner").length() - 1).split(",");
|
||||
List<String> nextUserList = Arrays.asList(split);
|
||||
|
||||
//截止时间 流程描述 创建人
|
||||
String user = object.getString("prcCreateUser");
|
||||
String username = object.getString("prcCreateUserName");
|
||||
|
||||
String[] split1 = object.getString("askQuestions").substring(1, object.getString("askQuestions").length() - 2).split(",");
|
||||
List<String> asList = Arrays.asList(split1);
|
||||
String str = "";
|
||||
String bzstr = "";
|
||||
for (int i = 0; i <asList.size() ; i++) {
|
||||
if(i==1){
|
||||
String[] split2 = asList.get(i).split(":");
|
||||
str = split2[1].substring(1, split2[1].length() -1);
|
||||
}
|
||||
if(i==6){
|
||||
String[] split2 = asList.get(i).split(":");
|
||||
bzstr = split2[1].substring(1, split2[1].length() -1);
|
||||
}
|
||||
}
|
||||
String prcName = bzstr+"-("+str+")-问答流程";
|
||||
QueryWrapper queryWrapper2 = new QueryWrapper();
|
||||
queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId());
|
||||
BusProcessName one1 = busProcessNameService.getOne(queryWrapper2);
|
||||
if(one1!=null){
|
||||
one1.setPrcType("27");
|
||||
one1.setPrcName(prcName);
|
||||
one1.setCreatUser(user);
|
||||
one1.setCreatUserName(username);
|
||||
busProcessNameService.saveOrUpdate(one1);
|
||||
}
|
||||
|
||||
// 存储当前节点意见
|
||||
BusProcessNew busProcessNew = new BusProcessNew();
|
||||
busProcessNew.setMsgType("clause");
|
||||
busProcessNew.setPId(delegateTask.getProcessInstanceId());
|
||||
busProcessNew.setMesg(object.toJSONString());
|
||||
busProcessNew.setTaskId(delegateTask.getId());
|
||||
busProcessNew.setCommitText(object.getString("commentText"));
|
||||
busProcessNew.setFinishFlag("0");
|
||||
busProcessNew.setTaskInfo(delegateTask.getName());
|
||||
busProcessNew.setPrcName(prcName);
|
||||
busBean.save(busProcessNew);
|
||||
List<String> objects = new ArrayList<>();
|
||||
if(nextUserList != null && !nextUserList.isEmpty()){
|
||||
if(nextUserList.size()==1){
|
||||
for (String nextUser : nextUserList) {
|
||||
BusProcessNew busProcessNewNext = new BusProcessNew();
|
||||
busProcessNewNext.setMsgType("clause");
|
||||
busProcessNewNext.setPId(delegateTask.getProcessInstanceId());
|
||||
busProcessNewNext.setMesg(object.toJSONString());
|
||||
busProcessNewNext.setFinishFlag("0");
|
||||
busProcessNewNext.setTaskInfo(delegateTask.getName());
|
||||
//切割引号
|
||||
String questioner = nextUser.substring(1);
|
||||
busProcessNewNext.setUserId(questioner);
|
||||
objects.add(questioner);
|
||||
busProcessNewNext.setPrcName(prcName);
|
||||
busBean.save(busProcessNewNext);
|
||||
}
|
||||
}else {
|
||||
for (String nextUser : nextUserList) {
|
||||
BusProcessNew busProcessNewNext = new BusProcessNew();
|
||||
busProcessNewNext.setMsgType("clause");
|
||||
busProcessNewNext.setPId(delegateTask.getProcessInstanceId());
|
||||
busProcessNewNext.setMesg(object.toJSONString());
|
||||
busProcessNewNext.setFinishFlag("0");
|
||||
busProcessNewNext.setTaskInfo(delegateTask.getName());
|
||||
//切割引号
|
||||
String questioner = nextUser.substring(1, nextUser.length() - 1);
|
||||
busProcessNewNext.setUserId(questioner);
|
||||
objects.add(questioner);
|
||||
busProcessNewNext.setPrcName(prcName);
|
||||
busBean.save(busProcessNewNext);
|
||||
}
|
||||
}
|
||||
|
||||
delegateTask.setVariable("questionerList",objects);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
package com.ydw.bat.wkflow.listener.quizOrAnswer;
|
||||
|
||||
import org.activiti.engine.delegate.DelegateTask;
|
||||
import org.activiti.engine.delegate.TaskListener;
|
||||
//问答中心 问 前
|
||||
public class quizBefore implements TaskListener {
|
||||
@Override
|
||||
public void notify(DelegateTask delegateTask) {
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user