项目清单确认流程
This commit is contained in:
@@ -17,6 +17,7 @@ import org.activiti.engine.delegate.TaskListener;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
//分发
|
||||
@@ -36,11 +37,17 @@ public class Step1After implements TaskListener {
|
||||
|
||||
List<String> nextUserList = new ArrayList();
|
||||
|
||||
if (object.getString("detailPeople").contains(",")){
|
||||
nextUserList.addAll(new ArrayList<>(Arrays.asList(object.getString("detailPeople").split(","))));
|
||||
}else {
|
||||
nextUserList.add(object.getString("detailPeople"));
|
||||
}
|
||||
delegateTask.setVariable("qrPeopleList",nextUserList);
|
||||
//截止时间 流程描述 创建人
|
||||
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 = "项目清单确认流程";
|
||||
String prcName = "项目清单确认流程-确认人确认";
|
||||
QueryWrapper queryWrapper2 = new QueryWrapper();
|
||||
queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId());
|
||||
BusProcessName one1 = busProcessNameService.getOne(queryWrapper2);
|
||||
|
||||
+4
-15
@@ -15,6 +15,7 @@ import com.ydw.bat.wkflow.util.SpringContextUtil;
|
||||
import org.activiti.engine.delegate.DelegateTask;
|
||||
import org.activiti.engine.delegate.TaskListener;
|
||||
|
||||
import java.rmi.activation.ActivationException;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
@@ -36,26 +37,14 @@ public class Step3After implements TaskListener {
|
||||
delegateTask.setVariable("objectJson",object);
|
||||
|
||||
List<String> nextUserList = new ArrayList();
|
||||
//设计一个确认人的计数器
|
||||
if (null!=delegateTask.getVariable("count")){
|
||||
delegateTask.setVariable("count",delegateTask.getVariable("count",Integer.class)+1);
|
||||
}else {
|
||||
delegateTask.setVariable("count",1);
|
||||
}
|
||||
//判断是否为最后一步 决定数据是否需要合并***---***
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
nextUserList.add(object.getString("approveId"));
|
||||
delegateTask.setVariable("approveId",object.getString("approveId"));
|
||||
|
||||
//截止时间 流程描述 创建人
|
||||
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 = "项目清单确认流程";
|
||||
String prcName = "项目清单确认流程-标准法规部经理审批";
|
||||
QueryWrapper queryWrapper2 = new QueryWrapper();
|
||||
queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId());
|
||||
BusProcessName one1 = busProcessNameService.getOne(queryWrapper2);
|
||||
|
||||
+13
-6
@@ -42,21 +42,28 @@ public class bzApproveAfter implements TaskListener {
|
||||
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);
|
||||
if ("涉及".equals(jsonObject.getString("involve"))) {
|
||||
StandProjectRelationDto standProjectRelationDto = new StandProjectRelationDto();
|
||||
standProjectRelationDto.setProjectId(object.getString("projectId"));
|
||||
standProjectRelationDto.setStandId(jsonObject.getString("standId"));
|
||||
standProjectRelationDtos.add(standProjectRelationDto);
|
||||
}
|
||||
}
|
||||
lawsUserInfoService.batchInsert(standProjectRelationDtos);
|
||||
}else {
|
||||
delegateTask.setVariable("passFlag","1");
|
||||
nextUserList.add(delegateTask.getVariable("confirmId",String.class));
|
||||
nextUserList.add(delegateTask.getVariable("cpManagerSum",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 = "项目清单确认流程";
|
||||
String prcName="";
|
||||
if ("0".equals(object.getString("passFlag"))) {
|
||||
prcName = "项目清单确认流程";
|
||||
}else {
|
||||
prcName = "项目清单确认流程-产品工程经理查看汇总清单";
|
||||
}
|
||||
QueryWrapper queryWrapper2 = new QueryWrapper();
|
||||
queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId());
|
||||
BusProcessName one1 = busProcessNameService.getOne(queryWrapper2);
|
||||
|
||||
+73
-14
@@ -1,25 +1,23 @@
|
||||
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.ActivitiException;
|
||||
import org.activiti.engine.delegate.DelegateTask;
|
||||
import org.activiti.engine.delegate.TaskListener;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.*;
|
||||
|
||||
//确认
|
||||
public class confirmAfter implements TaskListener {
|
||||
@Override
|
||||
@@ -35,18 +33,55 @@ public class confirmAfter implements TaskListener {
|
||||
JSONObject object = JSONObject.parseObject(datas.getFormValsJson());
|
||||
delegateTask.setVariable("objectJson",object);
|
||||
List<String> nextUserList = new ArrayList();
|
||||
if (!object.getString("detailPeople").contains(",")){
|
||||
nextUserList.addAll(new ArrayList<>(Arrays.asList(object.getString("detailPeople").split(","))));
|
||||
//设计一个确认人的计数器
|
||||
if (null!=delegateTask.getVariable("count")){
|
||||
delegateTask.setVariable("count",delegateTask.getVariable("count",Integer.class)+1);
|
||||
}else {
|
||||
nextUserList.add(object.getString("detailPeople"));
|
||||
delegateTask.setVariable("count",1);
|
||||
}
|
||||
delegateTask.setVariable("qrPeopleList",nextUserList);
|
||||
|
||||
//判断是否为最后一步 决定数据是否需要合并***---***
|
||||
if (delegateTask.getVariable("qrPeopleList",List.class).size()==delegateTask.getVariable("count",Integer.class)){
|
||||
QueryWrapper queryWrapper1 = new QueryWrapper();
|
||||
queryWrapper1.eq("TASK_ID","xmqd");
|
||||
queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId());
|
||||
List<BusProcessNew> busProcessNews=busBean.list(queryWrapper1);
|
||||
JSONArray res=new JSONArray();
|
||||
JSONArray middle=new JSONArray();
|
||||
Map<String,JSONObject> map=new HashMap<>();
|
||||
Map<String,JSONObject> successmap=new HashMap<>();
|
||||
List<String> standIds=new ArrayList<>();
|
||||
List<String> successIds=new ArrayList<>();
|
||||
middle.addAll(object.getJSONArray("dataList"));
|
||||
middle.forEach(o -> {
|
||||
JSONObject object1=JSONObject.parseObject(o.toString());
|
||||
makeData(map, successmap, standIds, successIds, object, object1);
|
||||
});
|
||||
for (BusProcessNew bus:busProcessNews) {
|
||||
JSONObject object1=JSONObject.parseObject(bus.getMesg());
|
||||
JSONArray jsonArray=object1.getJSONArray("dataList");
|
||||
jsonArray.forEach(o -> {
|
||||
JSONObject object11=JSONObject.parseObject(o.toString());
|
||||
makeData(map, successmap, standIds, successIds, object1, object11);
|
||||
});
|
||||
}
|
||||
//草拟吗
|
||||
map.keySet().forEach(s -> {
|
||||
res.add(map.get(s));
|
||||
});
|
||||
successmap.keySet().forEach(s -> {
|
||||
if (!standIds.contains(s)){
|
||||
res.add(successmap.get(s));
|
||||
}
|
||||
});
|
||||
object.put("dataList",res);
|
||||
}
|
||||
nextUserList.add(delegateTask.getVariable("cpManager",String.class));
|
||||
delegateTask.setVariable("cpManagerSum",delegateTask.getVariable("cpManager",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 = "项目清单确认流程";
|
||||
String prcName = "项目清单确认流程-产品工程经理查看汇总清单";
|
||||
QueryWrapper queryWrapper2 = new QueryWrapper();
|
||||
queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId());
|
||||
BusProcessName one1 = busProcessNameService.getOne(queryWrapper2);
|
||||
@@ -58,8 +93,6 @@ public class confirmAfter implements TaskListener {
|
||||
one1.setCreatUserName(username);
|
||||
busProcessNameService.saveOrUpdate(one1);
|
||||
}
|
||||
|
||||
|
||||
if(!nextUserList.isEmpty()){
|
||||
for(String nextUser : nextUserList){
|
||||
BusProcessNew busProcessNewNext = new BusProcessNew();
|
||||
@@ -69,10 +102,36 @@ public class confirmAfter implements TaskListener {
|
||||
busProcessNewNext.setTaskInfo(delegateTask.getTaskDefinitionKey());
|
||||
busProcessNewNext.setFinishFlag("0");
|
||||
busProcessNewNext.setTaskInfo(delegateTask.getName());
|
||||
if (delegateTask.getVariable("qrPeopleList",List.class).size()!=delegateTask.getVariable("count",Integer.class)){
|
||||
busProcessNewNext.setTaskId("xmqd");
|
||||
}
|
||||
busProcessNewNext.setUserId(nextUser);
|
||||
busProcessNewNext.setPrcName(prcName);
|
||||
busBean.save(busProcessNewNext);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void makeData(Map<String, JSONObject> map, Map<String, JSONObject> successmap, List<String> standIds, List<String> successIds, JSONObject object1, JSONObject object11) {
|
||||
if (!standIds.contains(object11.getString("standId"))){
|
||||
if ("noInvolve".equals(object11.getString("involve"))){
|
||||
object11.put("remarks",object1.getString("currentPerson")+":"+object11.getString("remarks"));
|
||||
standIds.add(object11.getString("standId"));
|
||||
map.put(object11.getString("standId"),object11);
|
||||
}else {
|
||||
if (!successIds.contains(object11.getString("standId"))) {
|
||||
successmap.put(object11.getString("standId"),object11);
|
||||
}
|
||||
}
|
||||
}else {
|
||||
if ("noInvolve".equals(object11.getString("involve"))){
|
||||
standIds.add(object11.getString("standId"));
|
||||
map.get(object11.getString("standId")).put("remarks",map.get(object11.getString("standId")).getString("remarks")+","+object1.getString("currentPerson")+":"+object11.getString("remarks"));
|
||||
}else {
|
||||
if (!successIds.contains(object11.getString("standId"))) {
|
||||
successmap.put(object11.getString("standId"),object11);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -42,7 +42,7 @@ public class itemlistvalidationprocessStartAfter implements TaskListener {
|
||||
String username = object.getString("startUserName");
|
||||
delegateTask.setVariable("startId",user);
|
||||
delegateTask.setVariable("startName",username);
|
||||
String prcName = "项目清单确认流程";
|
||||
String prcName = "项目清单确认流程-产品工程经理分发清单";
|
||||
QueryWrapper queryWrapper2 = new QueryWrapper();
|
||||
queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId());
|
||||
BusProcessName one1 = busProcessNameService.getOne(queryWrapper2);
|
||||
|
||||
Reference in New Issue
Block a user