新流程 以及项目维度驳回

This commit is contained in:
yuezhihang
2021-12-02 11:18:14 +08:00
parent 7cc898aec6
commit ae67a56dbb
10 changed files with 245 additions and 7 deletions
@@ -66,7 +66,7 @@ public class PCAComplianceAssessmentAfter implements TaskListener {
delegateTask.setVariable(uuid,jsonArray);
object.put("dataList",newRes);
object.put("key",uuid);
JSONObject res=JSONObject.parseObject(newRes.get(0).toString());
JSONObject res=JSONObject.parseObject(jsonArray.get(0).toString());
nextUserList.add(res.getString("liablePeopleId"));
delegateTask.setVariable("ffUserId",res.getString("liablePeopleId"));
//截止时间 流程描述 创建人
@@ -0,0 +1,74 @@
package com.ydw.bat.wkflow.listener.itemlistvalidationprocess;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.ydw.bat.wkflow.business_auth.LawsUserInfoService;
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.business_slrs.dao.StandProjectRelationDto;
import com.ydw.bat.wkflow.util.SpringContextUtil;
import org.activiti.engine.delegate.DelegateTask;
import org.activiti.engine.delegate.TaskListener;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
//分发
public class Step1After 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);
List<String> nextUserList = new ArrayList();
//截止时间 流程描述 创建人
String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date());
String user = delegateTask.getVariable("startId",String.class);
String username = delegateTask.getVariable("startName",String.class);
String prcName = "项目清单确认流程";
QueryWrapper queryWrapper2 = new QueryWrapper();
queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId());
BusProcessName one1 = busProcessNameService.getOne(queryWrapper2);
if(one1!=null){
if ("0".equals(object.getString("passFlag"))) {
one1.setOverTime(OVERTIME);
}
one1.setPrcType("10");
one1.setPrcName(prcName);
one1.setCreatUser(user);
one1.setCreatUserName(username);
busProcessNameService.saveOrUpdate(one1);
}
if(!nextUserList.isEmpty()){
for(String nextUser : nextUserList){
BusProcessNew busProcessNewNext = new BusProcessNew();
busProcessNewNext.setMsgType("clause");
busProcessNewNext.setPId(delegateTask.getProcessInstanceId());
busProcessNewNext.setMesg(object.toJSONString());
busProcessNewNext.setTaskInfo(delegateTask.getTaskDefinitionKey());
busProcessNewNext.setFinishFlag("0");
busProcessNewNext.setTaskInfo(delegateTask.getName());
busProcessNewNext.setUserId(nextUser);
busProcessNewNext.setPrcName(prcName);
busBean.save(busProcessNewNext);
}
}
}
}
@@ -0,0 +1,35 @@
package com.ydw.bat.wkflow.listener.itemlistvalidationprocess;
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 Step1Before implements TaskListener {
@Override
public void notify(DelegateTask delegateTask) {
IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class);
QueryWrapper queryWrapper1 = new QueryWrapper();
queryWrapper1.isNull("TASK_ID");
queryWrapper1.eq("USER_ID",delegateTask.getAssignee());
queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId());
List<BusProcessNew> list = busBean.list(queryWrapper1);
if(!list.isEmpty()){
BusProcessNew one1 = list.get(0);
one1.setTaskId(delegateTask.getId());
one1.setTaskInfo(delegateTask.getName());
busBean.saveOrUpdate(one1);
CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class);
// 发送 oa 待办 设置 跳转页面 router ? 后面流程类型
one1.setLink("xmqdqrStep3?prcType=10");
one1.setTaskInfo(delegateTask.getName());
oaService.sendTodoMq(one1);
}
}
}
@@ -0,0 +1,90 @@
package com.ydw.bat.wkflow.listener.itemlistvalidationprocess;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.ydw.bat.wkflow.business_auth.LawsUserInfoService;
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.business_slrs.dao.StandProjectRelationDto;
import com.ydw.bat.wkflow.util.SpringContextUtil;
import org.activiti.engine.delegate.DelegateTask;
import org.activiti.engine.delegate.TaskListener;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
//汇总
public class Step3After 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);
LawsUserInfoService lawsUserInfoService=SpringContextUtil.getBean(LawsUserInfoService.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);
List<String> nextUserList = new ArrayList();
if ("0".equals(object.getString("passFlag"))) {
delegateTask.setVariable("passFlag","0");
List<StandProjectRelationDto> standProjectRelationDtos = new ArrayList<>();
JSONArray jsonArray = JSONArray.parseArray(object.getString("dataList"));
for (Object os : jsonArray) {
JSONObject jsonObject = JSONObject.parseObject(os.toString());
StandProjectRelationDto standProjectRelationDto = new StandProjectRelationDto();
standProjectRelationDto.setProjectId(object.getString("projectId"));
standProjectRelationDto.setStandId(jsonObject.getString("id"));
standProjectRelationDtos.add(standProjectRelationDto);
}
lawsUserInfoService.batchInsert(standProjectRelationDtos);
}else {
delegateTask.setVariable("passFlag","1");
nextUserList.add(delegateTask.getVariable("confirmId",String.class));
}
//截止时间 流程描述 创建人
String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date());
String user = delegateTask.getVariable("startId",String.class);
String username = delegateTask.getVariable("startName",String.class);
String prcName = "项目清单确认流程";
QueryWrapper queryWrapper2 = new QueryWrapper();
queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId());
BusProcessName one1 = busProcessNameService.getOne(queryWrapper2);
if(one1!=null){
if ("0".equals(object.getString("passFlag"))) {
one1.setOverTime(OVERTIME);
}
one1.setPrcType("10");
one1.setPrcName(prcName);
one1.setCreatUser(user);
one1.setCreatUserName(username);
busProcessNameService.saveOrUpdate(one1);
}
if(!nextUserList.isEmpty()){
for(String nextUser : nextUserList){
BusProcessNew busProcessNewNext = new BusProcessNew();
busProcessNewNext.setMsgType("clause");
busProcessNewNext.setPId(delegateTask.getProcessInstanceId());
busProcessNewNext.setMesg(object.toJSONString());
busProcessNewNext.setTaskInfo(delegateTask.getTaskDefinitionKey());
busProcessNewNext.setFinishFlag("0");
busProcessNewNext.setTaskInfo(delegateTask.getName());
busProcessNewNext.setUserId(nextUser);
busProcessNewNext.setPrcName(prcName);
busBean.save(busProcessNewNext);
}
}
}
}
@@ -0,0 +1,35 @@
package com.ydw.bat.wkflow.listener.itemlistvalidationprocess;
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 Step3Before implements TaskListener {
@Override
public void notify(DelegateTask delegateTask) {
IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class);
QueryWrapper queryWrapper1 = new QueryWrapper();
queryWrapper1.isNull("TASK_ID");
queryWrapper1.eq("USER_ID",delegateTask.getAssignee());
queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId());
List<BusProcessNew> list = busBean.list(queryWrapper1);
if(!list.isEmpty()){
BusProcessNew one1 = list.get(0);
one1.setTaskId(delegateTask.getId());
one1.setTaskInfo(delegateTask.getName());
busBean.saveOrUpdate(one1);
CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class);
// 发送 oa 待办 设置 跳转页面 router ? 后面流程类型
one1.setLink("xmqdqrStep3?prcType=10");
one1.setTaskInfo(delegateTask.getName());
oaService.sendTodoMq(one1);
}
}
}
@@ -19,7 +19,7 @@ import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
//评估
public class bzApproveAfter implements TaskListener {
@Override
public void notify(DelegateTask delegateTask) {
@@ -19,7 +19,7 @@ import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
//确认
public class confirmAfter implements TaskListener {
@Override
public void notify(DelegateTask delegateTask) {
@@ -16,7 +16,7 @@ import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
//启动
public class itemlistvalidationprocessStartAfter implements TaskListener {
@Override
public void notify(DelegateTask delegateTask) {
@@ -33,7 +33,7 @@ public class itemlistvalidationprocessStartAfter implements TaskListener {
List<String> nextUserList = new ArrayList();
nextUserList.add(object.getString("confirmId"));
delegateTask.setVariable("confirmId",object.getString("confirmId"));
delegateTask.setVariable("cpManager",object.getString("confirmId"));
delegateTask.setVariable("dl",object.getString("approveId"));
@@ -65,6 +65,7 @@ public class PEPffresPersonAfter implements TaskListener {
delegateTask.setVariable("fenFlag", "1");
} else {
//不通过就要驳回
object.put("dataList",delegateTask.getVariable(object.getString("key")));
nextUserList.add(String.valueOf(delegateTask.getVariable("workPeople")));
delegateTask.setVariable("workPeople", String.valueOf(delegateTask.getVariable("workPeople")));
delegateTask.setVariable("fenFlag", "2");
@@ -15,6 +15,7 @@ import org.activiti.engine.ActivitiException;
import org.activiti.engine.delegate.DelegateTask;
import org.activiti.engine.delegate.TaskListener;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.BeanUtils;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
@@ -55,13 +56,15 @@ public class PEPtaskEstimateAfter implements TaskListener {
}
}
String uuid = String.valueOf(UUID.randomUUID());
delegateTask.setVariable(uuid, object.getString("dataList"));
JSONArray ne=new JSONArray();
BeanUtils.copyProperties(jsonArray,ne);
delegateTask.setVariable(uuid, ne);
jsonArray.removeAll(remove);
object.put("dataList", jsonArray);
object.put("key", uuid);
//设置分发负责人
List<String> nextUserList = new ArrayList();
JSONObject object1 = JSONObject.parseObject(jsonArray.getString(0));
JSONObject object1 = JSONObject.parseObject(ne.getString(0));
if (StringUtils.isNotBlank(object1.getString("distributePersonId"))) {
delegateTask.setVariable("ffUserId", object1.getString("distributePersonId"));
nextUserList.add(delegateTask.getVariable("ffUserId", String.class));