Merge remote-tracking branch 'origin/develop' into develop

This commit is contained in:
super_liu
2021-10-14 13:52:22 +08:00
14 changed files with 114 additions and 6 deletions
@@ -181,7 +181,7 @@ public class TodoTaskController extends BaseAction {
queryWrapper1.eq("P_ID",res.getPrcId());
queryWrapper1.eq("TASK_ID",res.getTaskIds());
BusProcessNew busProcessNew=iBusProcessNewService.getOne(queryWrapper1);
res.setPrcName(busProcessNew.getPrcName());
res.setPrcName(busProcessNew != null ? (StringUtils.isNotBlank(busProcessNew.getPrcName()) ? busProcessNew.getPrcName() : "") : "" );
todoList.add(res);
}
}
@@ -51,6 +51,8 @@ public class DataList {
private String zcCountermeasures;
private String responsibleEngineer;
private String zcComplianceReasons;
private String technicalRequir;
private String changePoint;
private List<SarStandProjectLibraries> sarStandProjectLibraries;
public void setUname(String uname) {
@@ -17,4 +17,5 @@ public interface IOaTaskExecService extends IService<OaTaskExec> {
Map<String,Object> execTask(String todoId);
String endTime(String pId);
}
@@ -1,7 +1,11 @@
package com.ydw.bat.wkflow.business_main.datas.service.impl;
import com.alibaba.fastjson.JSONObject;
import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService;
import org.activiti.engine.HistoryService;
import org.activiti.engine.TaskService;
import org.activiti.engine.history.HistoricTaskInstance;
import org.activiti.engine.history.HistoricTaskInstanceQuery;
import org.activiti.engine.impl.persistence.entity.TaskEntity;
import org.activiti.engine.task.Task;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -43,6 +47,31 @@ public class OaTaskExecServiceImpl extends ServiceImpl<OaTaskExecMapper, OaTaskE
@Autowired
private TaskService taskService;
@Autowired
private HistoryService historyService;
@Autowired
private IBusProcessNewService iBusProcessNewService;
@Override
public String endTime(String pId){
String endTime = "";
HistoricTaskInstanceQuery historicTaskInstanceQuery = historyService.createHistoricTaskInstanceQuery()
.processInstanceId(pId).orderByTaskCreateTime().asc();
List<HistoricTaskInstance> list = historicTaskInstanceQuery.list();
if(!list.isEmpty()){
QueryWrapper queryWrapper1 = new QueryWrapper();
queryWrapper1.eq("TASK_ID",list.get(0).getId());
queryWrapper1.eq("P_ID",pId);
List<BusProcessNew> processNews = iBusProcessNewService.list(queryWrapper1);
if(!processNews.isEmpty()){
JSONObject object = JSONObject.parseObject(processNews.get(0).getMesg());
endTime = object.getString("endTime");
}
}
return endTime;
}
@Override
public Map<String,Object> execTask(String todoId){
Map<String,Object> map = new TreeMap<>();
@@ -41,8 +41,8 @@ public class ScheduledJob {
@Value("${isNotScheduled}")
private boolean isNotScheduled; //是否开启定时器
@Scheduled(cron = "0 0 0 * * ?") //每天的凌晨0点执行
// @Scheduled(cron="*/5 * * * * ?")
// @Scheduled(cron = "0 0 0 * * ?") //每天的凌晨0点执行
@Scheduled(cron="*/5 * * * * ?")
@Async
public void SchedulingTask() {
if(isNotScheduled){
@@ -1,15 +1,20 @@
package com.ydw.bat.wkflow.listener.NonConformanceRectification;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
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 com.ydw.bat.wkflow.util.Utils;
import org.activiti.engine.delegate.DelegateTask;
import org.activiti.engine.delegate.TaskListener;
import org.apache.commons.lang3.StringUtils;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
public class UploadCommentBefore implements TaskListener {
@@ -34,6 +39,21 @@ public class UploadCommentBefore implements TaskListener {
// 发送 oa 待办 设置 跳转页面 router ? 后面流程类型
one1.setLink("wfhxzgStep4?prcType=8");
one1.setTaskInfo(delegateTask.getName());
// 干活节点流程
one1.setTaskStatus(2);
JSONObject object = JSONObject.parseObject(one1.getMesg());
JSONArray array = object.getJSONArray("responUserList");
String endTime = "";
if(array != null && !array.isEmpty()){
endTime = array.getJSONObject(0).getString("planCloseTime");
}
// 如果整改时间没有,默认流程发起日期+30天
if(StringUtils.isNotBlank(endTime)){
one1.setEndTime(Utils.interceptTime(endTime));
}else {
one1.setEndTime(Utils.interceptTime(Utils.addDay(30)));
}
oaService.sendTodoMq(one1);
}
}
@@ -1,10 +1,13 @@
package com.ydw.bat.wkflow.listener.ProjectComplianceAssessment;
import com.alibaba.fastjson.JSONObject;
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_main.datas.service.IOaTaskExecService;
import com.ydw.bat.wkflow.business_mq.service.CreateMQService;
import com.ydw.bat.wkflow.util.SpringContextUtil;
import com.ydw.bat.wkflow.util.Utils;
import org.activiti.engine.delegate.DelegateTask;
import org.activiti.engine.delegate.TaskListener;
@@ -15,6 +18,7 @@ public class PCAComplianceAssessmentBefore implements TaskListener {
@Override
public void notify(DelegateTask delegateTask) {
IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class);
IOaTaskExecService execService = SpringContextUtil.getBean(IOaTaskExecService.class);
QueryWrapper queryWrapper1 = new QueryWrapper();
queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId());
queryWrapper1.eq("USER_ID",delegateTask.getAssignee());
@@ -29,6 +33,10 @@ public class PCAComplianceAssessmentBefore implements TaskListener {
// 发送 oa 待办 设置 跳转页面 router ? 后面流程类型
one1.setLink("xmpg2Step6?prcType=6");
one1.setTaskInfo(delegateTask.getName());
// 干活节点流程
one1.setTaskStatus(2);
one1.setEndTime(Utils.interceptTime(execService.endTime(delegateTask.getProcessInstanceId())));
oaService.sendTodoMq(one1);
}
}
@@ -1,10 +1,12 @@
package com.ydw.bat.wkflow.listener.StandardSurvey;
import com.alibaba.fastjson.JSONObject;
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 com.ydw.bat.wkflow.util.Utils;
import org.activiti.engine.delegate.DelegateTask;
import org.activiti.engine.delegate.TaskListener;
@@ -28,8 +30,12 @@ public class UploadResearchResultBefore implements TaskListener {
busBean.saveOrUpdate(one1);
// 发送 oa 待办 设置 跳转页面 router ? 后面流程类型
JSONObject object = JSONObject.parseObject(one1.getMesg());
one1.setLink("bzdyStep3?prcType=2");
one1.setTaskInfo(delegateTask.getName());
// 干活节点流程
one1.setTaskStatus(2);
one1.setEndTime(Utils.interceptTime(object.getString("date")));
oaService.sendTodoMq(one1);
}
}
@@ -1,10 +1,13 @@
package com.ydw.bat.wkflow.listener.itemlistvalidationprocess;
import com.alibaba.fastjson.JSONObject;
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_main.datas.service.IOaTaskExecService;
import com.ydw.bat.wkflow.business_mq.service.CreateMQService;
import com.ydw.bat.wkflow.util.SpringContextUtil;
import com.ydw.bat.wkflow.util.Utils;
import org.activiti.engine.delegate.DelegateTask;
import org.activiti.engine.delegate.TaskListener;
@@ -14,6 +17,7 @@ public class confirmBefore implements TaskListener {
@Override
public void notify(DelegateTask delegateTask) {
IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class);
IOaTaskExecService execService = SpringContextUtil.getBean(IOaTaskExecService.class);
QueryWrapper queryWrapper1 = new QueryWrapper();
queryWrapper1.isNull("TASK_ID");
queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId());
@@ -28,6 +32,10 @@ public class confirmBefore implements TaskListener {
// 发送 oa 待办 设置 跳转页面 router ? 后面流程类型
one1.setLink("xmqdqrStep2?prcType=10");
one1.setTaskInfo(delegateTask.getName());
// 干活节点流程
one1.setTaskStatus(2);
one1.setEndTime(Utils.interceptTime(execService.endTime(delegateTask.getProcessInstanceId())));
oaService.sendTodoMq(one1);
}
}
@@ -129,8 +129,12 @@ public class PEPDepartLeaderAfter implements TaskListener {
sarStandard.setResearchNonCompliance(object1.getString("noCompliance"));
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
try {
sarStandard.setResearchImplementationTime(simpleDateFormat.parse(String.valueOf(delegateTask.getVariable("XCXSSRQ"))));
sarStandard.setProductionImplementationTime(simpleDateFormat.parse(String.valueOf(delegateTask.getVariable("ZCCSSRQ"))));
if (null!=delegateTask.getVariable("XCXSSRQ")) {
sarStandard.setResearchImplementationTime(simpleDateFormat.parse(String.valueOf(delegateTask.getVariable("XCXSSRQ"))));
}
if (null!=delegateTask.getVariable("ZCCSSRQ")) {
sarStandard.setProductionImplementationTime(simpleDateFormat.parse(String.valueOf(delegateTask.getVariable("ZCCSSRQ"))));
}
} catch (ParseException e) {
e.printStackTrace();
}
@@ -144,6 +144,7 @@ public class PEPffresPersonAfter implements TaskListener {
PEPDTO re = new PEPDTO();
BeanUtils.copyProperties(res, re);
List<Step3DTO> mis = new ArrayList<>();
mis.add(JSONObject.parseObject(String.valueOf(j), Step3DTO.class));
re.setStep3DTOS(mis);
List<DataList> dataLists = new ArrayList<>();
DataList list = JSONObject.parseObject(String.valueOf(dataList.get(i)), DataList.class);
@@ -175,5 +176,4 @@ public class PEPffresPersonAfter implements TaskListener {
delegateTask.getVariable("CPXpeoples", List.class).addAll(CPX);
}
}
}
@@ -1,10 +1,13 @@
package com.ydw.bat.wkflow.listener.projectEvaluationProcess;
import com.alibaba.fastjson.JSONObject;
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_main.datas.service.IOaTaskExecService;
import com.ydw.bat.wkflow.business_mq.service.CreateMQService;
import com.ydw.bat.wkflow.util.SpringContextUtil;
import com.ydw.bat.wkflow.util.Utils;
import org.activiti.engine.delegate.DelegateTask;
import org.activiti.engine.delegate.TaskListener;
@@ -15,6 +18,7 @@ public class PEPtaskEstimateBefore implements TaskListener {
@Override
public void notify(DelegateTask delegateTask) {
IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class);
IOaTaskExecService execService = SpringContextUtil.getBean(IOaTaskExecService.class);
CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class);
QueryWrapper queryWrapper1 = new QueryWrapper();
@@ -30,6 +34,10 @@ public class PEPtaskEstimateBefore implements TaskListener {
// 发送 oa 待办 设置 跳转页面 router ? 后面流程类型
one1.setLink("xmpgStep4?prcType=5");
one1.setTaskInfo(delegateTask.getName());
// 干活节点流程
one1.setTaskStatus(2);
one1.setEndTime(Utils.interceptTime(execService.endTime(delegateTask.getProcessInstanceId())));
oaService.sendTodoMq(one1);
}
}
@@ -1,10 +1,13 @@
package com.ydw.bat.wkflow.listener.standardRead;
import com.alibaba.fastjson.JSONObject;
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_main.datas.service.IOaTaskExecService;
import com.ydw.bat.wkflow.business_mq.service.CreateMQService;
import com.ydw.bat.wkflow.util.SpringContextUtil;
import com.ydw.bat.wkflow.util.Utils;
import org.activiti.engine.delegate.DelegateTask;
import org.activiti.engine.delegate.TaskListener;
import java.util.List;
@@ -16,6 +19,7 @@ public class ExpainBefore implements TaskListener{
@Override
public void notify(DelegateTask delegateTask) {
IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class);
IOaTaskExecService execService = SpringContextUtil.getBean(IOaTaskExecService.class);
CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class);
QueryWrapper queryWrapper1 = new QueryWrapper();
@@ -31,6 +35,11 @@ public class ExpainBefore implements TaskListener{
// 发送 oa 待办 设置 跳转页面 router ? 后面流程类型
one1.setLink("bzjdStep3?prcType=9");
one1.setTaskInfo(delegateTask.getName());
// 干活节点流程
one1.setTaskStatus(2);
one1.setEndTime(Utils.interceptTime(execService.endTime(delegateTask.getProcessInstanceId())));
oaService.sendTodoMq(one1);
}
}
@@ -31,6 +31,19 @@ public class Utils {
return days;
}
public static String addDay(Integer dayInt) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date today = new Date();
Calendar theCa = Calendar.getInstance();
theCa.setTime(today);
theCa.add(theCa.DATE, +dayInt);//最后一个数字30可改,30天的意思
Date start = theCa.getTime();
String startDate = sdf.format(start);//三十天之前日期
return startDate;
}
public static String interceptTime(String timeStr) {
if (StringUtils.isNotBlank(timeStr)) {
System.out.println(timeStr.length());