项目确认流程 新节点添加

This commit is contained in:
yuezhihang
2021-09-14 16:36:40 +08:00
parent 7693aa7007
commit 518fa5bc61
4 changed files with 131 additions and 11 deletions
@@ -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 bzApproveAfter 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,27 @@
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.util.SpringContextUtil;
import org.activiti.engine.delegate.DelegateTask;
import org.activiti.engine.delegate.TaskListener;
import java.util.List;
public class bzApproveBefore implements TaskListener {
@Override
public void notify(DelegateTask delegateTask) {
IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class);
QueryWrapper queryWrapper1 = new QueryWrapper();
queryWrapper1.isNull("TASK_ID");
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);
}
}
}
@@ -34,18 +34,19 @@ public class confirmAfter implements TaskListener {
JSONObject object = JSONObject.parseObject(datas.getFormValsJson());
delegateTask.setVariable("objectJson",object);
List<String> nextUserList = new ArrayList();
delegateTask.setVariable("approveId",object.getString("approveId"));
nextUserList.add(object.getString("approveId"));
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);
// 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);
//截止时间 流程描述 创建人
String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date());
String user = delegateTask.getVariable("startId",String.class);
@@ -55,7 +56,7 @@ public class confirmAfter implements TaskListener {
queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId());
BusProcessName one1 = busProcessNameService.getOne(queryWrapper2);
if(one1!=null){
one1.setOverTime(OVERTIME);
// one1.setOverTime(OVERTIME);
one1.setPrcType("10");
one1.setPrcName(prcName);
one1.setCreatUser(user);
@@ -35,6 +35,8 @@ public class itemlistvalidationprocessStartAfter implements TaskListener {
nextUserList.add(object.getString("confirmId"));
delegateTask.setVariable("confirmId",object.getString("confirmId"));
delegateTask.setVariable("dl",object.getString("approveId"));
//截止时间 流程描述 创建人
String user = object.getString("startUser");
String username = object.getString("startUserName");