add 未合规整改模块

This commit is contained in:
yinglong zhang
2021-07-13 15:37:31 +08:00
parent 39dc1d27e7
commit 34d5a31bc9
10 changed files with 350 additions and 61 deletions
@@ -1,5 +1,7 @@
package com.ydw.bat.wkflow;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
@@ -27,6 +29,8 @@ public class BatWkflowApplication {
public static void main(String[] args) {
SpringApplication.run(BatWkflowApplication.class, args);
// JSONObject jsonObject= JSON.parseObject("{\"startUser\":\"WY8J26MH23\",\"engineer\":\"engineer\",\"dockUserList\":[{\"id\":\"zqazqazqa\"},{\"id\":\"xwsxwsxws\"},{\"id\":\"cedcedced\"}],\"actionFlag\":\"0\",\"responUserList\":[{\"id\":\"zqazqazqa\"},{\"id\":\"xwsxwsxws\"},{\"id\":\"cedcedced\"}]}");
// System.out.println(jsonObject.toJSONString());
}
}
@@ -0,0 +1,104 @@
package com.ydw.bat.wkflow.listener.NonConformanceRectification;
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;
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.ArrayList;
import java.util.Date;
import java.util.List;
public class DockingApprovalAfter 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();
if ("1".equals(object.getString("actionFlag"))) {
delegateTask.setVariable("actionFlag", 1);
} else {
delegateTask.setVariable("actionFlag", 0);
}
//截止时间 流程描述 创建人
String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date());
String user = object.getString("prcCreateUser");
String username = object.getString("prcCreateUserName");
// object.getString("standName")
String standName = "";
String prcName = standName + "标准调研流程";
QueryWrapper queryWrapper2 = new QueryWrapper();
queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId());
BusProcessName one1 = busProcessNameService.getOne(queryWrapper2);
if (one1 != null) {
one1.setOverTime(OVERTIME);
one1.setPrcType("8");
one1.setPrcName(prcName);
one1.setCreatUser(user);
one1.setCreatUserName(username);
busProcessNameService.saveOrUpdate(one1);
}
// 存储当前节点意见
BusProcessNew busProcessNew = new BusProcessNew();
busProcessNew.setMsgType("clause");
busProcessNew.setPId(delegateTask.getProcessInstanceId());
busProcessNew.setMesg(object.toJSONString());
busProcessNew.setTaskInfo(delegateTask.getTaskDefinitionKey());
busProcessNew.setTaskId(delegateTask.getId());
busProcessNew.setCommitText(object.getString("commentText"));
busProcessNew.setFinishFlag("0");
busProcessNew.setTaskInfo(delegateTask.getName());
QueryWrapper updataWapper=new QueryWrapper();
updataWapper.eq("TASK_ID",delegateTask.getId());
updataWapper.eq("P_ID",delegateTask.getProcessInstanceId());
busBean.update(busProcessNew,updataWapper);
Integer count=delegateTask.getVariable("dockUserApprovalState",Integer.class);
JSONArray responUserList=delegateTask.getVariable("dockUserList", JSONArray.class);
if(count==null)count=0;
count++;
delegateTask.setVariable("dockUserApprovalState",count);
if(delegateTask.getVariable("actionFlag",Integer.class)==0){
if(count>=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("responUser",JSONObject.class).getString("id"));
busBean.save(busProcessNewNext);
}
}
}
@@ -0,0 +1,30 @@
package com.ydw.bat.wkflow.listener.NonConformanceRectification;
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 DockingApprovalBefore 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);
}
}
}
@@ -73,7 +73,7 @@ public class SelectDockUserAfter implements TaskListener {
BusProcessName one1 = busProcessNameService.getOne(queryWrapper2);
if(one1!=null){
one1.setOverTime(OVERTIME);
one1.setPrcType("1");
one1.setPrcType("8");
one1.setPrcName(prcName);
one1.setCreatUser(user);
one1.setCreatUserName(username);
@@ -100,6 +100,7 @@ public class SelectDockUserAfter implements TaskListener {
busBean.update(busProcessNew,updataWapper);
if(!nextUserList.isEmpty()){
List<BusProcessNew> busProcessNews=new ArrayList<>();
for(String nextUser : nextUserList){
BusProcessNew busProcessNewNext = new BusProcessNew();
busProcessNewNext.setMsgType("clause");
@@ -109,8 +110,9 @@ public class SelectDockUserAfter implements TaskListener {
busProcessNewNext.setFinishFlag("0");
busProcessNewNext.setTaskInfo(delegateTask.getName());
busProcessNewNext.setUserId(nextUser);
busBean.save(busProcessNewNext);
busProcessNews.add(busProcessNewNext);
}
busBean.saveBatch(busProcessNews);
}else{
BusProcessNew busProcessNewNext = new BusProcessNew();
busProcessNewNext.setMsgType("clause");
@@ -19,6 +19,7 @@ import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.UUID;
public class SelectResponUserAfter implements TaskListener {
@Override
@@ -31,51 +32,62 @@ public class SelectResponUserAfter implements TaskListener {
queryWrapper.eq("ACTI_TASK_ID", delegateTask.getId());
Datas datas = datasService.getOne(queryWrapper);
JSONObject object = JSONObject.parseObject(datas.getFormValsJson());
delegateTask.setVariable("objectJson",object);
JSONObject object = JSONObject.parseObject(datas.getFormValsJson());
delegateTask.setVariable("objectJson", object);
List<String> nextUserList = new ArrayList();
Integer actionFlag=object.getInteger("actionFlag");
Integer allActionFlag=delegateTask.getVariable("actionFlag",Integer.class);
if(actionFlag==null)actionFlag=0;
if(actionFlag==1)allActionFlag=1;
delegateTask.setVariable("actionFlag",allActionFlag);
Integer actionFlag = object.getInteger("actionFlag");
Integer allActionFlag = delegateTask.getVariable("actionFlag", Integer.class);
if (actionFlag == null) actionFlag = 0;
if (actionFlag == 1) allActionFlag = 1;
delegateTask.setVariable("actionFlag", allActionFlag);
JSONArray responUserList=(delegateTask.getVariable("responUserList",JSONArray.class));
if(responUserList==null)responUserList=new JSONArray();
if(actionFlag==0){
JSONArray dockUserList=(delegateTask.getVariable("dockUserList",JSONArray.class));
if(dockUserList==null)dockUserList=new JSONArray();
JSONObject preDockUser=(delegateTask.getVariable("preDockUser",JSONObject.class));
JSONArray responUserList = (delegateTask.getVariable("responUserList", JSONArray.class));
if (responUserList == null) responUserList = new JSONArray();
if (actionFlag == 0) {
JSONArray dockUserList = (delegateTask.getVariable("dockUserList", JSONArray.class));
if (dockUserList == null) dockUserList = new JSONArray();
JSONObject preDockUser = (delegateTask.getVariable("preDockUser", JSONObject.class));
dockUserList.add(preDockUser);
delegateTask.setVariable("dockUserList",dockUserList);
delegateTask.setVariable("dockUserList", dockUserList);
JSONArray preResponUserList=object.getJSONArray("responUserList");
JSONArray preResponUserList = object.getJSONArray("responUserList");
for (Object o : preResponUserList) {
JSONObject preResponUser=(JSONObject)o;
boolean ok=true;
JSONObject preResponUser = (JSONObject) o;
boolean ok = true;
for (Object o1 : responUserList) {
JSONObject responUser=(JSONObject)o1;
if(responUser.getString("id").equals(preResponUser.get("id"))&&responUser.getString("dockUser").equals(delegateTask.getAssignee())){
ok=false;break;
JSONObject responUser = (JSONObject) o1;
if (responUser.getString("id").equals(preResponUser.get("id"))
&& responUser.getString("dockUser").equals(delegateTask.getAssignee())) {
ok = false;
break;
}
}
if(ok){
preResponUser.put("dockUser",delegateTask.getAssignee());
responUserList.add(preResponUser);
if (ok) {
preResponUser.put("dockUser", delegateTask.getAssignee());
JSONArray standardInfoList = preResponUser.getJSONArray("standardInfoList");
for (int i = 0; i < standardInfoList.size(); i++) {
JSONObject jsonObject=new JSONObject();
jsonObject.put("id",preResponUser.getString("id"));
jsonObject.put("name",preResponUser.getString("name"));
jsonObject.put("dockUser",preResponUser.getString("dockUser"));
jsonObject.put("info",standardInfoList.get(i));
responUserList.add(jsonObject);
}
}
}
delegateTask.setVariable("responUserList",responUserList);
}
delegateTask.setVariable("responUserList", responUserList);
delegateTask.setVariable("objectJson",object);
delegateTask.setVariable("objectJson", object);
delegateTask.setVariable("dockUserApprovalState", 0);
//截止时间 流程描述 创建人
@@ -84,13 +96,13 @@ public class SelectResponUserAfter implements TaskListener {
String username = object.getString("prcCreateUserName");
// object.getString("standName")
String standName = "";
String prcName = standName+"未符合项整改";
String prcName = standName + "未符合项整改";
QueryWrapper queryWrapper2 = new QueryWrapper();
queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId());
queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId());
BusProcessName one1 = busProcessNameService.getOne(queryWrapper2);
if(one1!=null){
if (one1 != null) {
one1.setOverTime(OVERTIME);
one1.setPrcType("1");
one1.setPrcType("8");
one1.setPrcName(prcName);
one1.setCreatUser(user);
one1.setCreatUserName(username);
@@ -98,7 +110,6 @@ public class SelectResponUserAfter implements TaskListener {
}
// 存储当前节点意见
BusProcessNew busProcessNew = new BusProcessNew();
busProcessNew.setMsgType("clause");
@@ -111,19 +122,19 @@ public class SelectResponUserAfter implements TaskListener {
busProcessNew.setFinishFlag("0");
busProcessNew.setTaskInfo(delegateTask.getName());
QueryWrapper updataWapper=new QueryWrapper();
updataWapper.eq("TASK_ID",delegateTask.getId());
updataWapper.eq("P_ID",delegateTask.getProcessInstanceId());
busBean.update(busProcessNew,updataWapper);
QueryWrapper updataWapper = new QueryWrapper();
updataWapper.eq("TASK_ID", delegateTask.getId());
updataWapper.eq("P_ID", delegateTask.getProcessInstanceId());
busBean.update(busProcessNew, updataWapper);
Integer selectResponUserState=delegateTask.getVariable("selectResponUserState",Integer.class);
if(selectResponUserState==null)selectResponUserState=0;
if(actionFlag==0)selectResponUserState++;
delegateTask.setVariable("selectResponUserState",selectResponUserState);
JSONArray dockUserList=(delegateTask.getVariable("preDockUserList",JSONArray.class));
Integer selectResponUserState = delegateTask.getVariable("selectResponUserState", Integer.class);
if (selectResponUserState == null) selectResponUserState = 0;
if (actionFlag == 0) selectResponUserState++;
delegateTask.setVariable("selectResponUserState", selectResponUserState);
JSONArray dockUserList = (delegateTask.getVariable("preDockUserList", JSONArray.class));
if(selectResponUserState>=dockUserList.size()){
if(allActionFlag==1){
if (selectResponUserState >= dockUserList.size()) {
if (allActionFlag == 1) {
BusProcessNew busProcessNewNext = new BusProcessNew();
busProcessNewNext.setMsgType("clause");
@@ -131,23 +142,27 @@ public class SelectResponUserAfter implements TaskListener {
busProcessNewNext.setMesg(object.toJSONString());
busProcessNewNext.setFinishFlag("0");
busProcessNewNext.setTaskInfo("下发至标准法规工程师");
busProcessNewNext.setUserId(delegateTask.getVariable("engineer",String.class));
busProcessNewNext.setUserId(delegateTask.getVariable("engineer", String.class));
busBean.save(busProcessNewNext);
}else {
} else {
List<BusProcessNew> busProcessNews = new ArrayList<>();
for (Object o : responUserList) {
JSONObject responUser=(JSONObject)o;
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(responUser.getString("id"));
busBean.save(busProcessNewNext);
}
JSONObject responUser = (JSONObject) o;
object.put("info",responUser);
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(responUser.getString("id"));
busProcessNews.add(busProcessNewNext);
}
busBean.saveBatch(busProcessNews);
}
}
@@ -51,7 +51,7 @@ public class StartSurveyAfter implements TaskListener {
BusProcessName one1 = busProcessNameService.getOne(queryWrapper2);
if(one1!=null){
one1.setOverTime(OVERTIME);
one1.setPrcType("1");
one1.setPrcType("8");
one1.setPrcName(prcName);
one1.setCreatUser(user);
one1.setCreatUserName(username);
@@ -0,0 +1,127 @@
package com.ydw.bat.wkflow.listener.NonConformanceRectification;
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;
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.ArrayList;
import java.util.Date;
import java.util.List;
public class UploadCommentAfter 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());
List<String> nextUserList = new ArrayList();
delegateTask.setVariable("actionFlag",0);
JSONArray responUserList=(delegateTask.getVariable("responUserList",JSONArray.class));
JSONObject responUser = delegateTask.getVariable("responUser", JSONObject.class);
for (int i = 0; i < responUserList.size(); i++) {
JSONObject obj=(JSONObject)responUserList.get(i);
if(responUser.getString("id").equals(obj.get("id"))
&&responUser.getString("dockUser").equals(obj.get("dockUser"))
){
obj.put("info",object.get("info"));
responUserList.set(i,obj);
break;
}
}
delegateTask.setVariable("responUserList",responUserList);
// JSONArray dockUserList=delegateTask.getVariable("dockUserList", JSONArray.class);
// if(dockUserList==null)dockUserList=new JSONArray();
// JSONArray preDockUserListOrg=object.getJSONArray("dockUserList");
// JSONArray preDockUserList=new JSONArray();
//
// for (Object o : preDockUserListOrg) {
// boolean ok=true;
// JSONObject preDockUserOrg=(JSONObject)o;
// for (Object o1 : dockUserList) {
// JSONObject dockUser=(JSONObject)o1;
// if(dockUser.getString("id").equals(preDockUserOrg.getString("id"))){
// ok=false;break;
// }
// }
// if(ok){
// preDockUserList.add(preDockUserOrg);
// nextUserList.add(preDockUserOrg.getString("id"));
// }
// }
// delegateTask.setVariable("preDockUserList",preDockUserList);
delegateTask.setVariable("objectJson",object);
//截止时间 流程描述 创建人
String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date());
String user = object.getString("prcCreateUser");
String username = object.getString("prcCreateUserName");
// object.getString("standName")
String standName = "";
String prcName = standName+"未符合项整改";
QueryWrapper queryWrapper2 = new QueryWrapper();
queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId());
BusProcessName one1 = busProcessNameService.getOne(queryWrapper2);
if(one1!=null){
one1.setOverTime(OVERTIME);
one1.setPrcType("8");
one1.setPrcName(prcName);
one1.setCreatUser(user);
one1.setCreatUserName(username);
busProcessNameService.saveOrUpdate(one1);
}
// 存储当前节点意见
BusProcessNew busProcessNew = new BusProcessNew();
busProcessNew.setMsgType("clause");
busProcessNew.setPId(delegateTask.getProcessInstanceId());
busProcessNew.setMesg(object.toJSONString());
busProcessNew.setTaskInfo(delegateTask.getTaskDefinitionKey());
busProcessNew.setUserId(delegateTask.getAssignee());
busProcessNew.setTaskId(delegateTask.getId());
busProcessNew.setCommitText(object.getString("commentText"));
busProcessNew.setFinishFlag("0");
busProcessNew.setTaskInfo(delegateTask.getName());
QueryWrapper updataWapper=new QueryWrapper();
updataWapper.eq("TASK_ID",delegateTask.getId());
updataWapper.eq("P_ID",delegateTask.getProcessInstanceId());
busBean.update(busProcessNew,updataWapper);
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",JSONObject.class).getString("dockUser"));
busBean.save(busProcessNewNext);
}
}
@@ -1,5 +1,7 @@
package com.ydw.bat.wkflow.listener.NonConformanceRectification;
import com.alibaba.fastjson.JSON;
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;
@@ -20,6 +22,9 @@ public class UploadCommentBefore implements TaskListener {
List<BusProcessNew> list = busBean.list(queryWrapper1);
if(!list.isEmpty()){
BusProcessNew one1 = list.get(0);
JSONObject jsonObject = JSON.parseObject(one1.getMesg());
jsonObject.put("responUserInfo",delegateTask.getVariable("responUser"));
one1.setMesg(jsonObject.toJSONString());
one1.setTaskId(delegateTask.getId());
one1.setTaskInfo(delegateTask.getName());
busBean.saveOrUpdate(one1);
@@ -124,6 +124,7 @@ public class SelectResponsibleUserAfter implements TaskListener {
if(nextUserList != null && !nextUserList.isEmpty()){
List<BusProcessNew> busProcessNews=new ArrayList<>();
for(Map<String,Object> zqa : respon){
BusProcessNew busProcessNewNext = new BusProcessNew();
busProcessNewNext.setMsgType("clause");
@@ -134,8 +135,9 @@ public class SelectResponsibleUserAfter implements TaskListener {
busProcessNewNext.setFinishFlag("0");
busProcessNewNext.setTaskInfo(delegateTask.getName());
busProcessNewNext.setUserId((String) zqa.get("id"));
busBean.save(busProcessNewNext);
busProcessNews.add(busProcessNewNext);
}
busBean.saveBatch(busProcessNews);
}
}
}
@@ -45,7 +45,7 @@ public class UploadResearchResultAfter implements TaskListener {
JSONArray info = jsonObject.getObject("info", JSONArray.class);
info.addAll(object.getJSONArray("info"));
jsonObject.put("info",info);
jsonObject.put("info",object.getJSONArray("info"));
object.put("responUser",jsonObject.getString("id"));
object.put("responUserName",jsonObject.getString("name"));