标准合规评估流程 - 项目维度
This commit is contained in:
+4
@@ -129,5 +129,9 @@ public class SarStandardComplianceProductAssess {
|
||||
@TableField("evaluation_people_name")
|
||||
private String evaluationPeopleName;
|
||||
|
||||
@ApiModelProperty(value = "不涉及理由")
|
||||
@TableField("no_involve")
|
||||
private String noInvolve;
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,97 @@
|
||||
package com.ydw.bat.wkflow.listener.xmhgpgXM;
|
||||
|
||||
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.Arrays;
|
||||
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);
|
||||
|
||||
//根据流程id找到流程信息
|
||||
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);
|
||||
//标准法规部业务经理Id
|
||||
List<String> nextUserList = new ArrayList();
|
||||
//赋值标准法规工程师,工程经理,标准法规部部长
|
||||
if (object.getString("serviceManager").contains(",")){
|
||||
nextUserList.addAll(Arrays.asList(object.getString("serviceManager").split(",")));
|
||||
}else {
|
||||
nextUserList.add(object.getString("serviceManager"));
|
||||
}
|
||||
delegateTask.setVariable("managerList",nextUserList);
|
||||
|
||||
//截止时间 流程描述 创建人
|
||||
String user = object.getString("prcCreateUser");
|
||||
String username = object.getString("prcCreateUserName");
|
||||
delegateTask.setVariable("prcCreateUser", user);
|
||||
delegateTask.setVariable("prcCreateUserName", username);
|
||||
String prcName = object.getString("projectNumber")+"-项目合规评估流程-项目维度";
|
||||
QueryWrapper queryWrapper2 = new QueryWrapper();
|
||||
queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId());
|
||||
BusProcessName one1 = busProcessNameService.getOne(queryWrapper2);
|
||||
if (one1 != null) {
|
||||
one1.setPrcType("6");
|
||||
one1.setPrcName(prcName);
|
||||
one1.setCreatUser(user);
|
||||
one1.setCreatUserName(username);
|
||||
busProcessNameService.saveOrUpdate(one1);
|
||||
}
|
||||
|
||||
// 存储当前节点意见
|
||||
if (null != object.getString("commentText")) {
|
||||
BusProcessNew busProcessNews = new BusProcessNew();
|
||||
busProcessNews.setMsgType("clause");
|
||||
busProcessNews.setPId(delegateTask.getProcessInstanceId());
|
||||
busProcessNews.setMesg(object.toJSONString());
|
||||
busProcessNews.setTaskInfo(delegateTask.getTaskDefinitionKey());
|
||||
busProcessNews.setFinishFlag("0");
|
||||
busProcessNews.setTaskInfo(delegateTask.getName());
|
||||
busProcessNews.setTaskId(delegateTask.getId());
|
||||
busProcessNews.setUserId("start");
|
||||
busProcessNews.setPrcName(prcName);
|
||||
busProcessNews.setCommitText(object.getString("commentText"));
|
||||
busBean.save(busProcessNews);
|
||||
}
|
||||
|
||||
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);
|
||||
busProcessNewNext.setPrcName(prcName);
|
||||
busBean.save(busProcessNewNext);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
package com.ydw.bat.wkflow.listener.xmhgpgXM;
|
||||
|
||||
import org.activiti.engine.delegate.DelegateTask;
|
||||
import org.activiti.engine.delegate.TaskListener;
|
||||
|
||||
public class Step1Before implements TaskListener {
|
||||
|
||||
@Override
|
||||
public void notify(DelegateTask delegateTask) {
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,168 @@
|
||||
package com.ydw.bat.wkflow.listener.xmhgpgXM;
|
||||
|
||||
|
||||
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;
|
||||
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.util.*;
|
||||
|
||||
public class Step2After 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);
|
||||
|
||||
//根据流程id找到流程信息
|
||||
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 (null != delegateTask.getVariable("count2")) {
|
||||
delegateTask.setVariable("count2", delegateTask.getVariable("count2", Integer.class) + 1);
|
||||
} else {
|
||||
delegateTask.setVariable("count2", 1);
|
||||
}
|
||||
//数据存储器
|
||||
Map<String, JSONObject> map = new HashMap<>();
|
||||
if (null != delegateTask.getVariable("Step2res")) {
|
||||
map = delegateTask.getVariable("Step2res", Map.class);
|
||||
}
|
||||
//处理数据
|
||||
JSONArray array = object.getJSONArray("dataList");
|
||||
for (Object o : array) {
|
||||
JSONObject object1 = JSON.parseObject(o.toString());
|
||||
|
||||
if (!"有条款".equals(object1.getString("people")) && !"请选择责任人".equals(object1.getString("workPeople"))) {
|
||||
List<String> middles = new ArrayList<>(Arrays.asList(object1.getString("workPeopleId").split(",")));
|
||||
for (String s : middles) {
|
||||
if (null != map.get(delegateTask.getAssignee()+"-"+s)) {
|
||||
map.get(delegateTask.getAssignee()+"-"+s).getJSONArray("dataList").add(object1);
|
||||
} else {
|
||||
JSONArray jsonArray = new JSONArray();
|
||||
jsonArray.add(object1);
|
||||
JSONObject res = JSON.parseObject(object.toJSONString());
|
||||
res.put("dataList", jsonArray);
|
||||
res.put("GC_FZ",delegateTask.getAssignee()+"-"+s);
|
||||
map.put(delegateTask.getAssignee()+"-"+s, res);
|
||||
}
|
||||
}
|
||||
}
|
||||
JSONArray array1 = object1.getJSONArray("children");
|
||||
if (null != array1) {
|
||||
//遍历条款 生成数据
|
||||
for (Object o2 : array1) {
|
||||
JSONObject object2 = JSON.parseObject(o2.toString());
|
||||
if (!"请选择责任人".equals(object2.getString("workPeople"))) {
|
||||
List<String> middleChildren = new ArrayList<>(Arrays.asList(object2.getString("workPeopleId").split(",")));
|
||||
for (String ss : middleChildren) {
|
||||
if (null != map.get(delegateTask.getAssignee()+"-"+ss)) {
|
||||
JSONArray middle = map.get(delegateTask.getAssignee()+"-"+ss).getJSONArray("dataList");
|
||||
//如果有上级 那么就将数据重新组装 在赋值 因为要转对象 地址会变 =。= 暂时想不到好办法
|
||||
JSONArray dataList=new JSONArray();
|
||||
boolean flag=true;
|
||||
for (Object o3 : middle) {
|
||||
JSONObject object3 = JSONObject.parseObject(o3.toString());
|
||||
if (object3.getString("standId").equals(object2.getString("key"))) {
|
||||
object3.getJSONArray("children").add(object2);
|
||||
flag=false;
|
||||
}
|
||||
dataList.add(object3);
|
||||
}
|
||||
//如果没有父级 那么生成他
|
||||
if (flag){
|
||||
JSONObject push=JSON.parseObject(object1.toJSONString());
|
||||
JSONArray jsonArray3 = new JSONArray();
|
||||
jsonArray3.add(object2);
|
||||
push.put("children", jsonArray3);
|
||||
map.get(delegateTask.getAssignee()+"-"+ss).getJSONArray("dataList").add(push);
|
||||
}else {
|
||||
map.get(delegateTask.getAssignee()+"-"+ss).put("dataList",dataList);
|
||||
}
|
||||
} else {
|
||||
JSONArray jsonArray = new JSONArray();
|
||||
jsonArray.add(object1);
|
||||
JSONArray jsonArray1 = new JSONArray();
|
||||
jsonArray1.add(object2);
|
||||
object1.put("children", jsonArray1);
|
||||
JSONObject res = JSON.parseObject(object.toJSONString());
|
||||
res.put("dataList", jsonArray);
|
||||
res.put("GC_FZ",delegateTask.getAssignee()+"-"+ss);
|
||||
map.put(delegateTask.getAssignee()+"-"+ss, res);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
delegateTask.setVariable("Step2res", map);
|
||||
for (String s : map.keySet()) {
|
||||
if (null != s) {
|
||||
String peo[] = s.split("-");
|
||||
nextUserList.add(peo[1]);
|
||||
}
|
||||
}
|
||||
delegateTask.setVariable("zrList", nextUserList);
|
||||
//截止时间 流程描述 创建人
|
||||
String user = delegateTask.getVariable("prcCreateUser", String.class);
|
||||
String username = delegateTask.getVariable("prcCreateUserName", String.class);
|
||||
String prcName = delegateTask.getVariable("stId", String.class) + "-项目合规评估流程-标准法规部部长审核";
|
||||
QueryWrapper queryWrapper2 = new QueryWrapper();
|
||||
queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId());
|
||||
BusProcessName one1 = busProcessNameService.getOne(queryWrapper2);
|
||||
if (one1 != null) {
|
||||
one1.setPrcType("6");
|
||||
one1.setCreatUser(user);
|
||||
one1.setCreatUserName(username);
|
||||
busProcessNameService.saveOrUpdate(one1);
|
||||
}
|
||||
// 存储当前节点意见1
|
||||
if (null != object.getString("commentText")) {
|
||||
QueryWrapper queryWrapper3 = new QueryWrapper();
|
||||
queryWrapper3.eq("TASK_ID", delegateTask.getId());
|
||||
queryWrapper3.eq("USER_ID", delegateTask.getAssignee());
|
||||
List<BusProcessNew> list = busBean.list(queryWrapper3);
|
||||
if (!list.isEmpty()) {
|
||||
BusProcessNew busProcessNews = list.get(0);
|
||||
busProcessNews.setTaskId(delegateTask.getId());
|
||||
busProcessNews.setCommitText(object.getString("commentText"));
|
||||
busBean.saveOrUpdate(busProcessNews);
|
||||
}
|
||||
}
|
||||
if (delegateTask.getVariable("count2", Integer.class) >= delegateTask.getVariable("managerList", List.class).size()) {
|
||||
for (String userId : map.keySet()) {
|
||||
String peo[] = userId.split("-");
|
||||
BusProcessNew busProcessNewNext = new BusProcessNew();
|
||||
busProcessNewNext.setMsgType("clause");
|
||||
busProcessNewNext.setPId(delegateTask.getProcessInstanceId());
|
||||
busProcessNewNext.setMesg(map.get(userId).toJSONString());
|
||||
busProcessNewNext.setTaskInfo(delegateTask.getTaskDefinitionKey());
|
||||
busProcessNewNext.setFinishFlag("0");
|
||||
busProcessNewNext.setTaskInfo(delegateTask.getName());
|
||||
busProcessNewNext.setUserId(peo[1]);
|
||||
busProcessNewNext.setPrcName(prcName);
|
||||
busBean.save(busProcessNewNext);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,36 @@
|
||||
package com.ydw.bat.wkflow.listener.xmhgpgXM;
|
||||
|
||||
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 Step2Before implements TaskListener {
|
||||
|
||||
@Override
|
||||
public void notify(DelegateTask delegateTask) {
|
||||
IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class);
|
||||
QueryWrapper queryWrapper1 = new QueryWrapper();
|
||||
queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId());
|
||||
queryWrapper1.eq("USER_ID",delegateTask.getAssignee());
|
||||
queryWrapper1.isNull("TASK_ID");
|
||||
List<BusProcessNew> list = busBean.list(queryWrapper1);
|
||||
if(!list.isEmpty()){
|
||||
BusProcessNew one1 = list.get(0);
|
||||
one1.setTaskId(delegateTask.getId());
|
||||
busBean.saveOrUpdate(one1);
|
||||
|
||||
CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class);
|
||||
// 发送 oa 待办 设置 跳转页面 router ? 后面流程类型
|
||||
one1.setLink("xmpg2Step11?prcType=6");
|
||||
one1.setTaskInfo(delegateTask.getName());
|
||||
oaService.sendTodoMq(one1);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,84 @@
|
||||
package com.ydw.bat.wkflow.listener.xmhgpgXM;
|
||||
|
||||
|
||||
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.util.ArrayList;
|
||||
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);
|
||||
|
||||
//根据流程id找到流程信息
|
||||
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 a[]=object.getString("GC_FZ").split("-");
|
||||
nextUserList.add(a[0]);
|
||||
delegateTask.setVariable("shManager",a[0]);
|
||||
//截止时间 流程描述 创建人
|
||||
String user = delegateTask.getVariable("prcCreateUser",String.class);
|
||||
String username = delegateTask.getVariable("prcCreateUserName",String.class);
|
||||
String prcName = delegateTask.getVariable("stId",String.class)+"-项目合规评估流程-标准法规部部长审核";
|
||||
QueryWrapper queryWrapper2 = new QueryWrapper();
|
||||
queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId());
|
||||
BusProcessName one1 = busProcessNameService.getOne(queryWrapper2);
|
||||
if (one1 != null) {
|
||||
one1.setPrcType("6");
|
||||
one1.setCreatUser(user);
|
||||
one1.setCreatUserName(username);
|
||||
busProcessNameService.saveOrUpdate(one1);
|
||||
}
|
||||
|
||||
// 存储当前节点意见1
|
||||
if (null!=object.getString("commentText")) {
|
||||
QueryWrapper queryWrapper3 = new QueryWrapper();
|
||||
queryWrapper3.eq("TASK_ID", delegateTask.getId());
|
||||
queryWrapper3.eq("USER_ID",delegateTask.getAssignee());
|
||||
List<BusProcessNew> list = busBean.list(queryWrapper3);
|
||||
if(!list.isEmpty()){
|
||||
BusProcessNew busProcessNews = list.get(0);
|
||||
busProcessNews.setTaskId(delegateTask.getId());
|
||||
busProcessNews.setCommitText(object.getString("commentText"));
|
||||
busBean.saveOrUpdate(busProcessNews);
|
||||
}
|
||||
}
|
||||
if(nextUserList != null && !nextUserList.isEmpty()){
|
||||
for(String userId : 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(userId);
|
||||
busProcessNewNext.setPrcName(prcName);
|
||||
busBean.save(busProcessNewNext);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,36 @@
|
||||
package com.ydw.bat.wkflow.listener.xmhgpgXM;
|
||||
|
||||
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.eq("P_ID",delegateTask.getProcessInstanceId());
|
||||
queryWrapper1.eq("USER_ID",delegateTask.getAssignee());
|
||||
queryWrapper1.isNull("TASK_ID");
|
||||
List<BusProcessNew> list = busBean.list(queryWrapper1);
|
||||
if(!list.isEmpty()){
|
||||
BusProcessNew one1 = list.get(0);
|
||||
one1.setTaskId(delegateTask.getId());
|
||||
busBean.saveOrUpdate(one1);
|
||||
|
||||
CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class);
|
||||
// 发送 oa 待办 设置 跳转页面 router ? 后面流程类型
|
||||
one1.setLink("xmpg2Step11?prcType=6");
|
||||
one1.setTaskInfo(delegateTask.getName());
|
||||
oaService.sendTodoMq(one1);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,128 @@
|
||||
package com.ydw.bat.wkflow.listener.xmhgpgXM;
|
||||
|
||||
|
||||
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.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class Step4After 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);
|
||||
|
||||
//根据流程id找到流程信息
|
||||
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 (null!=delegateTask.getVariable("count4")){
|
||||
delegateTask.setVariable("count4",delegateTask.getVariable("count4",Integer.class)+1);
|
||||
}else {
|
||||
delegateTask.setVariable("count4",1);
|
||||
}
|
||||
|
||||
//后续节点所需要的数据
|
||||
JSONObject resJson=new JSONObject();
|
||||
if (null!=delegateTask.getVariable("resJSON")){
|
||||
resJson=delegateTask.getVariable("resJSON",JSONObject.class);
|
||||
}
|
||||
if ("0".equals(object.getString("passFlag"))){
|
||||
if (null!=resJson.getString("GC_FZ")){
|
||||
resJson.getJSONArray("dataList").addAll(object.getJSONArray("dataList"));
|
||||
}else {
|
||||
resJson=object;
|
||||
}
|
||||
delegateTask.setVariable("resJSON",resJson);
|
||||
delegateTask.setVariable("passFlag","0");
|
||||
nextUserList.add(delegateTask.getVariable("prcCreateUser",String.class));
|
||||
delegateTask.setVariable("beLeaderId",delegateTask.getVariable("prcCreateUser",String.class));
|
||||
}else {
|
||||
String a[]=object.getString("GC_FZ").split("-");
|
||||
nextUserList.add(a[1]);
|
||||
delegateTask.setVariable("zrId",a[1]);
|
||||
delegateTask.setVariable("passFlag","1");
|
||||
}
|
||||
|
||||
//截止时间 流程描述 创建人
|
||||
String user = delegateTask.getVariable("prcCreateUser",String.class);
|
||||
String username = delegateTask.getVariable("prcCreateUserName",String.class);
|
||||
String prcName = delegateTask.getVariable("stId",String.class)+"-项目合规评估流程-标准法规部部长审核";
|
||||
QueryWrapper queryWrapper2 = new QueryWrapper();
|
||||
queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId());
|
||||
BusProcessName one1 = busProcessNameService.getOne(queryWrapper2);
|
||||
if (one1 != null) {
|
||||
one1.setPrcType("6");
|
||||
one1.setCreatUser(user);
|
||||
one1.setCreatUserName(username);
|
||||
busProcessNameService.saveOrUpdate(one1);
|
||||
}
|
||||
|
||||
// 存储当前节点意见1
|
||||
if (null!=object.getString("commentText")) {
|
||||
QueryWrapper queryWrapper3 = new QueryWrapper();
|
||||
queryWrapper3.eq("TASK_ID", delegateTask.getId());
|
||||
queryWrapper3.eq("USER_ID",delegateTask.getAssignee());
|
||||
List<BusProcessNew> list = busBean.list(queryWrapper3);
|
||||
if(!list.isEmpty()){
|
||||
BusProcessNew busProcessNews = list.get(0);
|
||||
busProcessNews.setTaskId(delegateTask.getId());
|
||||
busProcessNews.setCommitText(object.getString("commentText"));
|
||||
busBean.saveOrUpdate(busProcessNews);
|
||||
}
|
||||
}
|
||||
if ("0".equals(object.getString("passFlag"))) {
|
||||
if (delegateTask.getVariable("count4", Integer.class) >= delegateTask.getVariable("zrList", List.class).size()) {
|
||||
if (nextUserList != null && !nextUserList.isEmpty()) {
|
||||
for (String userId : 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(userId);
|
||||
busProcessNewNext.setPrcName(prcName);
|
||||
busBean.save(busProcessNewNext);
|
||||
}
|
||||
}
|
||||
}
|
||||
}else {
|
||||
if (nextUserList != null && !nextUserList.isEmpty()) {
|
||||
for (String userId : 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(userId);
|
||||
busProcessNewNext.setPrcName(prcName);
|
||||
busBean.save(busProcessNewNext);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,36 @@
|
||||
package com.ydw.bat.wkflow.listener.xmhgpgXM;
|
||||
|
||||
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 Step4Before implements TaskListener {
|
||||
|
||||
@Override
|
||||
public void notify(DelegateTask delegateTask) {
|
||||
IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class);
|
||||
QueryWrapper queryWrapper1 = new QueryWrapper();
|
||||
queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId());
|
||||
queryWrapper1.eq("USER_ID",delegateTask.getAssignee());
|
||||
queryWrapper1.isNull("TASK_ID");
|
||||
List<BusProcessNew> list = busBean.list(queryWrapper1);
|
||||
if(!list.isEmpty()){
|
||||
BusProcessNew one1 = list.get(0);
|
||||
one1.setTaskId(delegateTask.getId());
|
||||
busBean.saveOrUpdate(one1);
|
||||
|
||||
CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class);
|
||||
// 发送 oa 待办 设置 跳转页面 router ? 后面流程类型
|
||||
one1.setLink("xmpg2Step11?prcType=6");
|
||||
one1.setTaskInfo(delegateTask.getName());
|
||||
oaService.sendTodoMq(one1);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,154 @@
|
||||
package com.ydw.bat.wkflow.listener.xmhgpgXM;
|
||||
|
||||
|
||||
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_auth.LawsUserInfoService;
|
||||
import com.ydw.bat.wkflow.business_main.datas.dto.SarStandUnqualified;
|
||||
import com.ydw.bat.wkflow.business_main.datas.dto.SarStandardComplianceProductAssess;
|
||||
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.ActivitiException;
|
||||
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.UUID;
|
||||
|
||||
public class Step5After 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);
|
||||
|
||||
|
||||
UUID uuid = UUID.randomUUID();
|
||||
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
||||
//根据流程id找到流程信息
|
||||
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<SarStandUnqualified> standUnqualifieds = new ArrayList<>();
|
||||
//评估结果存储集合
|
||||
List<SarStandardComplianceProductAssess> sarStandardComplianceProductAssesses = new ArrayList<>();
|
||||
List<String> nextUserList = new ArrayList<>();
|
||||
//后续节点所需要的数据
|
||||
JSONArray jsonArray = object.getJSONArray("dataList");
|
||||
for (Object o : jsonArray) {
|
||||
JSONObject jsonObject = JSON.parseObject(o.toString());
|
||||
if (null != jsonObject.getString("noCompliance")) {
|
||||
SarStandUnqualified sarStandUnqualified = new SarStandUnqualified();
|
||||
//少一个standId 不合格原因 在研在产!
|
||||
sarStandUnqualified.setStandId(jsonObject.getString("standId"));
|
||||
sarStandUnqualified.setStandSerialNumber(jsonObject.getString("standSort") + " " + jsonObject.getString("standNumber") + "-" + jsonObject.getString("standYear"));
|
||||
if (null != jsonObject.getString("standName") && !"".equals(jsonObject.getString("standName"))) {
|
||||
sarStandUnqualified.setStandName(jsonObject.getString("standName"));
|
||||
} else {
|
||||
sarStandUnqualified.setStandName(jsonObject.getString("standEnName"));
|
||||
}
|
||||
sarStandUnqualified.setCreateById(delegateTask.getVariable("prcCreateUser", String.class));
|
||||
sarStandUnqualified.setCloseState(1);
|
||||
sarStandUnqualified.setCreateTime(new Date());
|
||||
sarStandUnqualified.setProductName(object.getString("projectName"));
|
||||
sarStandUnqualified.setResponsibleUnit(jsonObject.getString("zrbm"));
|
||||
sarStandUnqualified.setReason(jsonObject.getString("noCompliance"));
|
||||
sarStandUnqualified.setPlanCloseTime(jsonObject.getDate("completionTime"));
|
||||
sarStandUnqualified.setProductLine(object.getString("productLine"));
|
||||
sarStandUnqualified.setProductId(object.getString("projectId"));
|
||||
standUnqualifieds.add(sarStandUnqualified);
|
||||
}
|
||||
if (null!=jsonObject.getString("remarks") || null!=jsonObject.getString("complianceReasons") || null!= jsonObject.getString("noCompliance")) {
|
||||
//合估评规 结果!
|
||||
SarStandardComplianceProductAssess sarStandard = new SarStandardComplianceProductAssess();
|
||||
sarStandard.setStandId(jsonObject.getString("standId"));
|
||||
if (null != jsonObject.getString("standName") && !"".equals(jsonObject.getString("standName"))) {
|
||||
sarStandard.setStandName(jsonObject.getString("standName"));
|
||||
} else {
|
||||
sarStandard.setStandName(jsonObject.getString("standEnName"));
|
||||
}
|
||||
sarStandard.setProductLineId(object.getString("productLine"));
|
||||
sarStandard.setProductId(object.getString("projectId"));
|
||||
sarStandard.setProductName(object.getString("projectName"));
|
||||
sarStandard.setStandNumber(jsonObject.getString("standSort") + " " + jsonObject.getString("standNumber") + "-" + jsonObject.getString("standYear"));
|
||||
sarStandard.setStandType(jsonObject.getString("standType"));
|
||||
sarStandard.setType(String.valueOf(uuid));
|
||||
sarStandard.setResearchCompletionTime(jsonObject.getDate("completionTime"));
|
||||
sarStandard.setResearchCountermeasures(jsonObject.getString("countermeasures"));
|
||||
sarStandard.setResearchNonCompliance(jsonObject.getString("noCompliance"));
|
||||
sarStandard.setResearchCompliance(jsonObject.getString("complianceReasons"));
|
||||
sarStandard.setClauseName(jsonObject.getString("itemsName"));
|
||||
sarStandard.setStandardItem(jsonObject.getString("itemsNum"));
|
||||
sarStandard.setEvaluationTime(simpleDateFormat.format(new Date()));
|
||||
sarStandard.setEvaluationPeopleName(jsonObject.getString("workPeople"));
|
||||
sarStandard.setEvaluationPeople(jsonObject.getString("workPeopleId"));
|
||||
sarStandard.setNoInvolve(jsonObject.getString("remarks"));
|
||||
sarStandardComplianceProductAssesses.add(sarStandard);
|
||||
}
|
||||
|
||||
}
|
||||
//数据入库!!!!
|
||||
lawsUserInfoService.addsarStandUnqualified(standUnqualifieds);
|
||||
lawsUserInfoService.addProduct(sarStandardComplianceProductAssesses);
|
||||
|
||||
|
||||
//截止时间 流程描述 创建人
|
||||
String user = delegateTask.getVariable("prcCreateUser", String.class);
|
||||
String username = delegateTask.getVariable("prcCreateUserName", String.class);
|
||||
String prcName = delegateTask.getVariable("stId", String.class) + "-项目合规评估流程-标准法规部部长审核";
|
||||
QueryWrapper queryWrapper2 = new QueryWrapper();
|
||||
queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId());
|
||||
BusProcessName one1 = busProcessNameService.getOne(queryWrapper2);
|
||||
if (one1 != null) {
|
||||
one1.setPrcType("6");
|
||||
one1.setCreatUser(user);
|
||||
one1.setCreatUserName(username);
|
||||
busProcessNameService.saveOrUpdate(one1);
|
||||
}
|
||||
|
||||
// 存储当前节点意见1
|
||||
if (null != object.getString("commentText")) {
|
||||
QueryWrapper queryWrapper3 = new QueryWrapper();
|
||||
queryWrapper3.eq("TASK_ID", delegateTask.getId());
|
||||
queryWrapper3.eq("USER_ID", delegateTask.getAssignee());
|
||||
List<BusProcessNew> list = busBean.list(queryWrapper3);
|
||||
if (!list.isEmpty()) {
|
||||
BusProcessNew busProcessNews = list.get(0);
|
||||
busProcessNews.setTaskId(delegateTask.getId());
|
||||
busProcessNews.setCommitText(object.getString("commentText"));
|
||||
busBean.saveOrUpdate(busProcessNews);
|
||||
}
|
||||
}
|
||||
|
||||
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("finish");
|
||||
busProcessNewNext.setPrcName(prcName);
|
||||
busBean.save(busProcessNewNext);
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,36 @@
|
||||
package com.ydw.bat.wkflow.listener.xmhgpgXM;
|
||||
|
||||
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 Step5Before implements TaskListener {
|
||||
|
||||
@Override
|
||||
public void notify(DelegateTask delegateTask) {
|
||||
IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class);
|
||||
QueryWrapper queryWrapper1 = new QueryWrapper();
|
||||
queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId());
|
||||
queryWrapper1.eq("USER_ID",delegateTask.getAssignee());
|
||||
queryWrapper1.isNull("TASK_ID");
|
||||
List<BusProcessNew> list = busBean.list(queryWrapper1);
|
||||
if(!list.isEmpty()){
|
||||
BusProcessNew one1 = list.get(0);
|
||||
one1.setTaskId(delegateTask.getId());
|
||||
busBean.saveOrUpdate(one1);
|
||||
|
||||
CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class);
|
||||
// 发送 oa 待办 设置 跳转页面 router ? 后面流程类型
|
||||
one1.setLink("xmpg2Step11?prcType=6");
|
||||
one1.setTaskInfo(delegateTask.getName());
|
||||
oaService.sendTodoMq(one1);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user