标准合规评估流程 - 项目维度

This commit is contained in:
yuezhihang
2022-02-21 09:35:43 +08:00
parent 8386384782
commit d0a734e47a
11 changed files with 792 additions and 0 deletions
@@ -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);
}
}
}