add 调研模块

This commit is contained in:
yinglong zhang
2021-07-08 14:20:50 +08:00
parent 8bc33fb324
commit 6f2f1d8b1a
5 changed files with 140 additions and 91 deletions
@@ -9,13 +9,12 @@ 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.util.SpringContextUtil;
import io.swagger.models.auth.In;
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;
import java.util.*;
public class DockingApprovalAfter implements TaskListener {
@Override
@@ -31,7 +30,7 @@ public class DockingApprovalAfter implements TaskListener {
JSONObject object = JSONObject.parseObject(datas.getFormValsJson());
delegateTask.setVariable("objectJson", object);
List<String> nextUserList = new ArrayList();
List<String> nextUserList = null;
if ("1".equals(object.getString("actionFlag"))) {
delegateTask.setVariable("actionFlag", 1);
} else {
@@ -74,48 +73,35 @@ public class DockingApprovalAfter implements TaskListener {
updataWapper.eq("P_ID",delegateTask.getProcessInstanceId());
busBean.update(busProcessNew,updataWapper);
if (nextUserList != null && !nextUserList.isEmpty()) {
for (String nextUser : nextUserList) {
if(delegateTask.getVariable("actionFlag",Integer.class)==0){
Integer responUserCompletedCount=delegateTask.getVariable("responUserCompletedCount",Integer.class);
if(responUserCompletedCount==null)responUserCompletedCount=0;
responUserCompletedCount++;
delegateTask.setVariable("responUserCompletedCount",responUserCompletedCount);
Collection responUserList=delegateTask.getVariable("zqazqazqaUserList",Collection.class);
if(responUserCompletedCount>=responUserList.size()){
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.setTaskInfo("标准法规工程师调研汇总");
busProcessNewNext.setUserId(delegateTask.getVariable("startUser",String.class));
busBean.save(busProcessNewNext);
}
}else{
if(delegateTask.getVariable("actionFlag",Integer.class)==0){
Integer count=delegateTask.getVariable("task1Count",Integer.class);
List<String> responUserList=delegateTask.getVariable("responUserList",List.class);
if(count==null)count=0;
count++;
delegateTask.setVariable("task1Count",count);
if(count>=responUserList.size()){
BusProcessNew busProcessNewNext = new BusProcessNew();
busProcessNewNext.setMsgType("clause");
busProcessNewNext.setPId(delegateTask.getProcessInstanceId());
busProcessNewNext.setMesg(object.toJSONString());
busProcessNewNext.setFinishFlag("0");
busProcessNewNext.setTaskInfo("标准法规工程师调研汇总");
busProcessNewNext.setUserId(delegateTask.getVariable("startUser",String.class));
busBean.save(busProcessNewNext);
}
}else{
BusProcessNew busProcessNewNext = new BusProcessNew();
busProcessNewNext.setMsgType("clause");
busProcessNewNext.setPId(delegateTask.getProcessInstanceId());
busProcessNewNext.setMesg(object.toJSONString());
busProcessNewNext.setFinishFlag("0");
busProcessNewNext.setTaskInfo("责任人上传调研结果");
busProcessNewNext.setUserId(delegateTask.getVariable("responUser",String.class));
busBean.save(busProcessNewNext);
}
BusProcessNew busProcessNewNext = new BusProcessNew();
busProcessNewNext.setMsgType("clause");
busProcessNewNext.setPId(delegateTask.getProcessInstanceId());
busProcessNewNext.setMesg(object.toJSONString());
busProcessNewNext.setFinishFlag("0");
busProcessNewNext.setTaskInfo("责任人上传调研结果");
busProcessNewNext.setUserId(object.getString("responUser"));
busBean.save(busProcessNewNext);
}
}
}
}
@@ -1,6 +1,7 @@
package com.ydw.bat.wkflow.listener.StandardCommentProcess;
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.BusProcessName;
@@ -41,11 +42,11 @@ public class SelectResponsibleUserAfter implements TaskListener {
String userListString=object.getString("responUserList");
String userListStringName=object.getString("responUserListName");
String userListStringDepartment=object.getString("responUserListNameDepartment");
List<String> responUserList = Arrays.asList(userListString.split(","));
for (int i = 0; i < responUserList.size(); i++) {
responUserList1.add(responUserList.get(i).trim());
delegateTask.setVariable(responUserList.get(i).trim()+"dockUser",delegateTask.getAssignee());
}
List<String> responUserListName= Arrays.asList(userListStringName.split(","));
@@ -54,20 +55,23 @@ public class SelectResponsibleUserAfter implements TaskListener {
}
nextUserList=responUserList1;
JSONObject userListJson= JSON.parseObject(delegateTask.getVariable("responUserListMap",String.class));
if(userListJson==null)userListJson=new JSONObject();
List<String> responUserListNameDepartment= Arrays.asList(userListStringDepartment.split(",").clone());
JSONArray userListJson= JSON.parseArray(delegateTask.getVariable("responUserListInfo",String.class));
if(userListJson==null)userListJson=new JSONArray();
for (int i = 0; i < responUserList.size()&&i<responUserListName.size(); i++) {
JSONObject json=new JSONObject();
json.put("id",responUserList.get(i));
json.put("name",responUserListName.get(i));
json.put("department",responUserListNameDepartment.get(i));
json.put("dockUser",delegateTask.getAssignee());
userListJson.put(responUserList.get(i),json);
json.put("info",new JSONArray());
userListJson.add(json);
}
delegateTask.setVariable("responUserListMap",userListJson.toJSONString());
delegateTask.setVariable("responUserListInfo",userListJson.toJSONString());
delegateTask.setVariable("responUserList",responUserList1);
delegateTask.setVariable("responUserListName1",responUserListName1);
delegateTask.setVariable("responUserListName",responUserListName1);
delegateTask.setVariable("responUserCompletedCount",0);
Integer selectResponCompletedCount=delegateTask.getVariable("selectResponCompletedCount",Integer.class);
@@ -114,7 +118,7 @@ public class SelectResponsibleUserAfter implements TaskListener {
if(selectResponCompletedCount>=dockUserList.size()){
Collection<Object> values = userListJson.getInnerMap().values();
Collection<Object> values = userListJson;
Collection<Map<String,Object>> respon=new ArrayList<>();
for (Object value : values) {
respon.add(((JSONObject)value).getInnerMap());
@@ -127,6 +131,7 @@ public class SelectResponsibleUserAfter implements TaskListener {
BusProcessNew busProcessNewNext = new BusProcessNew();
busProcessNewNext.setMsgType("clause");
busProcessNewNext.setPId(delegateTask.getProcessInstanceId());
object.put("dockUser",(String)zqa.get("dockUser"));
busProcessNewNext.setMesg(object.toJSONString());
busProcessNewNext.setTaskInfo(delegateTask.getTaskDefinitionKey());
busProcessNewNext.setFinishFlag("0");
@@ -1,6 +1,7 @@
package com.ydw.bat.wkflow.listener.StandardCommentProcess;
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;
@@ -21,9 +22,41 @@ public class SummarySurveyBefore implements TaskListener {
List<BusProcessNew> list = busBean.list(queryWrapper1);
if(!list.isEmpty()){
BusProcessNew one1 = list.get(0);
JSONObject obj= JSON.parseObject(one1.getMesg());
JSONObject map = JSON.parseObject(delegateTask.getVariable("responUserListMap", String.class));
obj.put("responUserListMap",map.values());
//看全局变量里有没有存Summary,有的话就直接走,没的话就就初始化
JSONArray summaryList=JSON.parseArray(delegateTask.getVariable("summaryList",String.class));
JSONArray array = JSON.parseArray(delegateTask.getVariable("responUserListInfo",String.class));
if(summaryList==null){
summaryList=new JSONArray();
for (Object o : array) {
JSONObject object=(JSONObject)o;
JSONArray infoList=object.getObject("info",JSONArray.class);
for (Object o1 : infoList) {
JSONObject summaryEntity=new JSONObject();
JSONObject info=(JSONObject)o1;//info 具体反馈的信息
summaryEntity.put("responUser",object.getString("id"));
summaryEntity.put("responUserName",object.getString("name"));
summaryEntity.put("department",object.getString("department"));
summaryEntity.put("dockUser",object.getString("dockUser"));
summaryEntity.put("chapterNumber",info.getString("chapterNumber"));//章节编号
summaryEntity.put("chapterName",info.getString("chapterName"));//章节名称
summaryEntity.put("commentText",info.getString("commentText"));//修改意见内容
summaryEntity.put("state",null);//修改意见内容
summaryEntity.put("stateInfo",null);//修改意见内容
summaryList.add(summaryEntity);
}
}
}
obj.put("summaryList",summaryList);
delegateTask.setVariable("summaryList",summaryList.toJSONString());
one1.setMesg(obj.toJSONString());
one1.setTaskId(delegateTask.getId());
one1.setTaskInfo(delegateTask.getName());
@@ -1,6 +1,7 @@
package com.ydw.bat.wkflow.listener.StandardCommentProcess;
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.BusProcessName;
@@ -18,6 +19,7 @@ import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
@Slf4j
public class UploadResearchResultAfter implements TaskListener {
@@ -34,17 +36,25 @@ public class UploadResearchResultAfter implements TaskListener {
JSONObject object = JSONObject.parseObject(datas.getFormValsJson());
JSONObject map = JSON.parseObject(delegateTask.getVariable("responUserListMap", String.class));
JSONObject jsonObject = map.getJSONObject(delegateTask.getAssignee());
JSONArray responUserListInfo = JSON.parseArray(delegateTask.getVariable("responUserListInfo", String.class));
for (int i=0;i<responUserListInfo.size();i++) {
JSONObject jsonObject= (JSONObject) responUserListInfo.get(i);
if(jsonObject.getString("id").equals(delegateTask.getAssignee())){
if(jsonObject.getString("dockUser").equals(object.getString("dockUser"))){
JSONArray info = jsonObject.getObject("info", JSONArray.class);
info.add(object.get("info"));
jsonObject.put("info",object.get("info"));
object.put("responUser",jsonObject.getString("id"));
object.put("responUserName",jsonObject.getString("name"));
break;
}
}
map.put(delegateTask.getAssignee(),jsonObject);
delegateTask.setVariable("responUserListMap",map.toJSONString());
}
delegateTask.setVariable("responUserListInfo",responUserListInfo.toJSONString());
List<String> nextUserList = new ArrayList();
object.put("responUser",jsonObject.getString("id"));
object.put("responUserName",jsonObject.getString("name"));
delegateTask.setVariable("objectJson",object);
@@ -103,7 +113,8 @@ public class UploadResearchResultAfter implements TaskListener {
busProcessNewNext.setMesg(object.toJSONString());
busProcessNewNext.setFinishFlag("0");
busProcessNewNext.setTaskInfo("责任对接人审批");
busProcessNewNext.setUserId(delegateTask.getVariable(delegateTask.getAssignee()+"dockUser",String.class));
busProcessNewNext.setUserId((String) delegateTask.getVariable("responUser", Map.class).get("dockUser"));
busBean.save(busProcessNewNext);
}
}
@@ -1,20 +1,21 @@
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.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.util.SpringContextUtil;
import io.swagger.models.auth.In;
import org.activiti.engine.delegate.DelegateTask;
import org.activiti.engine.delegate.TaskListener;
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.util.SpringContextUtil;
import org.activiti.engine.delegate.DelegateTask;
import org.activiti.engine.delegate.TaskListener;
import java.text.SimpleDateFormat;
import java.util.*;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
public class DockingApprovalAfter implements TaskListener {
@Override
@@ -30,7 +31,7 @@ public class DockingApprovalAfter implements TaskListener {
JSONObject object = JSONObject.parseObject(datas.getFormValsJson());
delegateTask.setVariable("objectJson", object);
List<String> nextUserList = null;
List<String> nextUserList = new ArrayList();
if ("1".equals(object.getString("actionFlag"))) {
delegateTask.setVariable("actionFlag", 1);
} else {
@@ -73,35 +74,48 @@ public class DockingApprovalAfter implements TaskListener {
updataWapper.eq("P_ID",delegateTask.getProcessInstanceId());
busBean.update(busProcessNew,updataWapper);
if(delegateTask.getVariable("actionFlag",Integer.class)==0){
if (nextUserList != null && !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);
busBean.save(busProcessNewNext);
}
}else{
if(delegateTask.getVariable("actionFlag",Integer.class)==0){
Integer responUserCompletedCount=delegateTask.getVariable("responUserCompletedCount",Integer.class);
if(responUserCompletedCount==null)responUserCompletedCount=0;
responUserCompletedCount++;
delegateTask.setVariable("selectResponCompletedCount",responUserCompletedCount);
Integer count=delegateTask.getVariable("task1Count",Integer.class);
List<String> responUserList=delegateTask.getVariable("responUserList",List.class);
if(count==null)count=0;
count++;
delegateTask.setVariable("task1Count",count);
Collection responUserList=delegateTask.getVariable("zqazqazqaUserList",Collection.class);
if(count>=responUserList.size()){
BusProcessNew busProcessNewNext = new BusProcessNew();
busProcessNewNext.setMsgType("clause");
busProcessNewNext.setPId(delegateTask.getProcessInstanceId());
busProcessNewNext.setMesg(object.toJSONString());
busProcessNewNext.setFinishFlag("0");
busProcessNewNext.setTaskInfo("标准法规工程师调研汇总");
busProcessNewNext.setUserId(delegateTask.getVariable("startUser",String.class));
busBean.save(busProcessNewNext);
}
if(responUserCompletedCount>=responUserList.size()){
}else{
BusProcessNew busProcessNewNext = new BusProcessNew();
busProcessNewNext.setMsgType("clause");
busProcessNewNext.setPId(delegateTask.getProcessInstanceId());
busProcessNewNext.setMesg(object.toJSONString());
busProcessNewNext.setFinishFlag("0");
busProcessNewNext.setTaskInfo("标准法规工程师调研汇总");
busProcessNewNext.setUserId(delegateTask.getVariable("startUser",String.class));
busProcessNewNext.setTaskInfo("责任人上传调研结果");
busProcessNewNext.setUserId(delegateTask.getVariable("responUser",String.class));
busBean.save(busProcessNewNext);
}
}else{
BusProcessNew busProcessNewNext = new BusProcessNew();
busProcessNewNext.setMsgType("clause");
busProcessNewNext.setPId(delegateTask.getProcessInstanceId());
busProcessNewNext.setMesg(object.toJSONString());
busProcessNewNext.setFinishFlag("0");
busProcessNewNext.setTaskInfo("责任人上传调研结果");
busProcessNewNext.setUserId(delegateTask.getVariable("responUser",String.class));
busBean.save(busProcessNewNext);
}
}
}