Merge remote-tracking branch 'origin/develop' into develop

This commit is contained in:
zhaokaiyao@91isoft.com
2022-01-28 15:14:22 +08:00
48 changed files with 2435 additions and 29 deletions
@@ -27,6 +27,23 @@ public class BusProcessEvaluationHisController {
@Autowired
private IBusProcessEvaluationHisService busProcessEvaluationHisService;
@GetMapping("/evaluationHisListRepSum")
public Map<String,Integer> evaluationHisListRepSum(String pid) {
return busProcessEvaluationHisService.evaluationHisListRepSum(pid);
}
@GetMapping("/evaluationHisListByOne")
public BusProcessEvaluationHis evaluationHisListByOne(String pid,String taskInfo) {
BusProcessEvaluationHis processEvaluationHis = busProcessEvaluationHisService.evaluationHisListByOne(pid,taskInfo);
return processEvaluationHis;
}
@GetMapping("/evaluationHisListRep")
public List<BusProcessEvaluationHis> evaluationHisListRep(String pid) {
List<BusProcessEvaluationHis> processEvaluationHis = busProcessEvaluationHisService.evaluationHisListRep(pid);
return processEvaluationHis;
}
@GetMapping("/evaluationHisList")
public List<BusProcessEvaluationHis> evaluationHisList(String pid) {
List<BusProcessEvaluationHis> processEvaluationHis = busProcessEvaluationHisService.evaluationHisList(pid);
@@ -5,7 +5,10 @@ import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessEvaluationHis;
import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessModelHis;
import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessEvaluationHisService;
import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessModelHisService;
import com.ydw.bat.wkflow.util.Utils;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.io.FileUtils;
import org.apache.commons.io.IOUtils;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -21,8 +24,12 @@ import javax.servlet.http.HttpServletResponse;
import java.io.*;
import java.net.URL;
import java.net.URLConnection;
import java.net.URLEncoder;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
import java.util.Scanner;
import java.util.UUID;
/**
* <p>
@@ -126,6 +133,17 @@ public class BusProcessModelHisController {
}
}
@GetMapping("/processEditFile")
public BusProcessModelHis processEditFile(String id) {
BusProcessModelHis modelHisOne = busProcessModelHisService.processEditFile(id);
return modelHisOne;
}
@GetMapping("/saveEditFile")
public BusProcessModelHis saveEditFile() {
return busProcessModelHisService.saveEditFile();
}
@GetMapping("/processModelHisOneUpdStatus")
public BusProcessModelHis modelHisOneUpdStatus(String pid,String taskId) {
BusProcessModelHis modelHisOne = busProcessModelHisService.modelHisOneUpdStatus(pid,taskId);
@@ -74,5 +74,9 @@ public class BusProcessEvaluationHis implements Serializable {
@TableField("FLAG")
private String flag;
@ApiModelProperty(value = "处理人姓名")
@TableField(exist = false)
private String userName;
}
@@ -109,4 +109,8 @@ public class EsRevisePlanDTO {
@ApiModelProperty(value = "企标类别")
@TableField("buss_sort")
private String bussSort;
@ApiModelProperty(value = "立项单")
@TableField("LXD")
private String lxd;
}
@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessEvaluationHis;
import java.util.List;
import java.util.Map;
/**
* <p>
@@ -15,5 +16,11 @@ import java.util.List;
*/
public interface IBusProcessEvaluationHisService extends IService<BusProcessEvaluationHis> {
Map<String,Integer> evaluationHisListRepSum(String pid);
BusProcessEvaluationHis evaluationHisListByOne(String pid,String taskInfo);
List<BusProcessEvaluationHis> evaluationHisListRep(String pid);
List<BusProcessEvaluationHis> evaluationHisList(String pid);
}
@@ -21,8 +21,12 @@ public interface IBusProcessModelHisService extends IService<BusProcessModelHis>
BusProcessModelHis modelHisOneCount(String pid);
BusProcessModelHis processEditFile(String id);
BusProcessModelHis modelHisOne(String pid,String taskId);
BusProcessModelHis saveEditFile();
List<BusProcessModelHis> modelHisList(String pid);
String saveBussModelFile(String pid, String taskId);
@@ -1,15 +1,23 @@
package com.ydw.bat.wkflow.business_main.datas.service.impl;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ydw.bat.wkflow.business_auth.LawsUserInfoService;
import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessEvaluationHis;
import com.ydw.bat.wkflow.business_main.datas.entity.ResponseMessage;
import com.ydw.bat.wkflow.business_main.datas.entity.UserVO;
import com.ydw.bat.wkflow.business_main.datas.mapper.BusProcessEvaluationHisMapper;
import com.ydw.bat.wkflow.business_main.datas.mapper.SendTodoLogMapper;
import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessEvaluationHisService;
import com.ydw.bat.wkflow.util.Utils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.stream.Collectors;
/**
* <p>
@@ -22,11 +30,101 @@ import java.util.List;
@Service
public class BusProcessEvaluationHisServiceImpl extends ServiceImpl<BusProcessEvaluationHisMapper, BusProcessEvaluationHis> implements IBusProcessEvaluationHisService {
@Autowired
private LawsUserInfoService lawsUserInfoService;
@Override
public BusProcessEvaluationHis evaluationHisListByOne(String pid,String taskInfo){
QueryWrapper wrapper = new QueryWrapper();
wrapper.eq("P_ID",pid);
wrapper.like("TASK_INFO",taskInfo);
wrapper.orderByDesc("CREATE_TIME","TASK_INFO");
List<BusProcessEvaluationHis> list = this.baseMapper.selectList(wrapper);
BusProcessEvaluationHis his = new BusProcessEvaluationHis();
if(!list.isEmpty()){
his = list.get(0);
}
return his;
}
@Override
public Map<String,Integer> evaluationHisListRepSum(String pid){
Map<String,Integer> map = new HashMap<>();
QueryWrapper wrapper = new QueryWrapper();
wrapper.eq("P_ID",pid);
wrapper.orderByDesc("CREATE_TIME","TASK_INFO");
List<BusProcessEvaluationHis> list = this.baseMapper.selectList(wrapper);
List<BusProcessEvaluationHis> evaluationHis = new ArrayList<>();
Map<String, List<BusProcessEvaluationHis>> listMap = new TreeMap<>();
// 按 相同数据分组
listMap = list.stream().collect(
Collectors.groupingBy(a -> Utils.format("{0}#{1}#{2}", a.getPId(),a.getTaskInfo(),a.getUserId())));
if(!listMap.isEmpty()){
listMap.forEach((key, value) -> {
if(!value.isEmpty()){
evaluationHis.add(value.get(0));
}
});
}
Map<String, List<BusProcessEvaluationHis>> listMapFilter = new TreeMap<>();
listMapFilter = evaluationHis.stream().collect(
Collectors.groupingBy(a -> Utils.format("{0}#{1}", a.getPId(),a.getTaskInfo())));
if(!listMapFilter.isEmpty()){
listMapFilter.forEach((key, value) -> {
if(!value.isEmpty()){
int sum = 0;
for (BusProcessEvaluationHis his : value) {
List<JSONObject> valueArr = JSONArray.parseArray(his.getMesg(),JSONObject.class);
if(!valueArr.isEmpty()){
sum = sum + Integer.parseInt(valueArr.get(0).getString("sum").trim());
}
}
String keyV = value.get(0).getTaskInfo();
int ave = value.size();
map.put(keyV,sum/ave);
}
});
}
return map;
}
@Override
public List<BusProcessEvaluationHis> evaluationHisListRep(String pid){
QueryWrapper wrapper = new QueryWrapper();
wrapper.eq("P_ID",pid);
wrapper.orderByDesc("CREATE_TIME","TASK_INFO");
List<BusProcessEvaluationHis> list = this.baseMapper.selectList(wrapper);
List<BusProcessEvaluationHis> evaluationHis = new ArrayList<>();
Map<String, List<BusProcessEvaluationHis>> listMap = new TreeMap<>();
// 按 相同数据分组
listMap = list.stream().collect(
Collectors.groupingBy(a -> Utils.format("{0}#{1}#{2}", a.getPId(),a.getTaskInfo(),a.getUserId())));
if(!listMap.isEmpty()){
listMap.forEach((key, value) -> {
if(!value.isEmpty()){
ResponseMessage<UserVO> byId = lawsUserInfoService.getById(value.get(0).getUserId());
value.get(0).setUserName(byId == null ? "" : byId.getData().getUname());
evaluationHis.add(value.get(0));
}
});
}
if(!evaluationHis.isEmpty()){
evaluationHis.sort(Comparator.comparing(BusProcessEvaluationHis::getCreateTime).reversed().thenComparing(BusProcessEvaluationHis::getTaskInfo));
}
return evaluationHis;
}
@Override
public List<BusProcessEvaluationHis> evaluationHisList(String pid){
QueryWrapper wrapper = new QueryWrapper();
wrapper.eq("P_ID",pid);
wrapper.orderByDesc("CREATE_TIME","TASK_INFO");
return this.baseMapper.selectList(wrapper);
}
}
@@ -12,6 +12,7 @@ import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessModelHisService
import com.ydw.bat.wkflow.listener.bussLibrary.Utils.PoiUtil;
import com.ydw.bat.wkflow.listener.bussLibrary.Utils.PoiWord;
import org.apache.commons.io.FileUtils;
import org.apache.commons.lang.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Value;
@@ -19,7 +20,10 @@ import org.springframework.stereotype.Service;
import java.io.File;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
import java.util.UUID;
/**
* <p>
@@ -44,6 +48,55 @@ public class BusProcessModelHisServiceImpl extends ServiceImpl<BusProcessModelHi
@Value("${buss.down.file.path}")
private String downloadUrl;
@Override
public BusProcessModelHis saveEditFile(){
BusProcessModelHis modelHis = new BusProcessModelHis();
try {
String preUuid2 = UUID.randomUUID().toString();
String changUuid = preUuid2.substring(0,8);
String taskId = "task_"+changUuid;
String topId = "top_"+changUuid;
StringBuilder builderModel=new StringBuilder();
builderModel.append("model").append("/");
builderModel.append("model").append("/");
File dir = new File(filePath+builderModel.toString());
if (!dir.exists()) {
dir.mkdirs();
}
String sourcePath = builderModel.toString()+"model.docx";
StringBuilder builder=new StringBuilder();
builder.append("model").append("/");
builder.append(taskId).append("/");
File file = new File(filePath+builder.toString());
if (!file.exists()) {
file.mkdirs();
}
String targetPath = builder.toString()+taskId+"_"+topId+"node.docx";
File sourceFile = new File(filePath+sourcePath);
File targetFile = new File(filePath+targetPath);
FileUtils.copyFile(sourceFile, targetFile);
SimpleDateFormat sdf = new SimpleDateFormat("yyy-MM-dd HH:mm:ss");
modelHis.setTaskId(taskId);
modelHis.setPId(topId);
modelHis.setEditFilePath(targetPath);
modelHis.setCreateTime(sdf.format(new Date()));
modelHis.setUpdateTime(sdf.format(new Date()));
this.baseMapper.insert(modelHis);
}catch (Exception e){
logger.error(e.getMessage());
}
return modelHis;
}
@Override
public String mergeModelFile(String pid, String taskId,String fileSuffix){
@@ -161,6 +214,17 @@ public class BusProcessModelHisServiceImpl extends ServiceImpl<BusProcessModelHi
return modelHis;
}
@Override
public BusProcessModelHis processEditFile(String id){
BusProcessModelHis modelHis = this.baseMapper.selectById(id);
if(StringUtils.isNotBlank(modelHis.getId())){
StringBuffer downloadFileUrl = new StringBuffer();
downloadFileUrl.append(downloadUrl).append(modelHis.getEditFilePath() == null ? "" : modelHis.getEditFilePath());
modelHis.setDownLoadUrl(downloadFileUrl.toString());
}
return modelHis;
}
@Override
public BusProcessModelHis modelHisOne(String pid,String taskId){
BusProcessModelHis modelHis = new BusProcessModelHis();
@@ -1,7 +1,9 @@
package com.ydw.bat.wkflow.listener.StandardCommentNewProcess;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.tmsps.fk.common.util.JsonUtil;
import com.ydw.bat.wkflow.business_auth.LawsUserInfoService;
import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessName;
import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew;
@@ -130,6 +132,13 @@ public class StartSurveyAfter implements TaskListener {
} catch (Exception e) {
e.printStackTrace();
}
JSONArray res=new JSONArray();
JSONArray object1=JSONArray.parseArray(object.getString("filesId"));
object1.forEach(o -> {
JSONObject object2=JSONObject.parseObject(o.toString());
object2.put("standFileClassify",object.getString("textType"));
res.add(object2);
});
//发起公开征求意见
SarPublicIdea sarPublicIdea = SarPublicIdea.builder()
.id(UUID.randomUUID().toString())
@@ -141,7 +150,7 @@ public class StartSurveyAfter implements TaskListener {
.standType(object.getString("standType"))
.standId(object.getString("standId"))
.uniques(uniques)
.files(object.getString("filesId"))
.files(JsonUtil.toJson(res))
.filesName(object.getString("filesName"))
.wkfiles(object.getJSONArray("modelList").toJSONString())
.build();
@@ -31,7 +31,7 @@ public class UploadResearchResultBefore implements TaskListener {
// 发送 oa 待办 设置 跳转页面 router ? 后面流程类型
JSONObject object = JSONObject.parseObject(one1.getMesg());
one1.setLink("bzdyStep3?prcType=2&routerType=oa");
one1.setLink("bzdyStep3?prcType=2");
one1.setTaskInfo(delegateTask.getName());
// 干活节点流程
one1.setTaskStatus(2);
@@ -0,0 +1,109 @@
package com.ydw.bat.wkflow.listener.bussFs;
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.IBusProcessModelHisService;
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 org.apache.commons.lang.StringUtils;
import org.apache.tomcat.util.digester.ArrayStack;
import java.text.SimpleDateFormat;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
/**
* 发起企标复审流程后
*/
public class BLApplicantAfter 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);
IBusProcessModelHisService busProcessModelHisService = SpringContextUtil.getBean(IBusProcessModelHisService.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);
//截止时间 流程描述 创建人
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 = "企标复审流程-对接人选择复审人";
List<String> nextUserList = new ArrayStack<>();
if(StringUtils.isNotBlank(object.getString("bussFsSubUser1"))){
if(object.getString("bussFsSubUser1").contains(",")){
nextUserList = Arrays.asList(object.getString("bussFsSubUser1").split(","));
}else {
nextUserList.add(object.getString("bussFsSubUser1"));
}
// 配置多实例
delegateTask.setVariable("bussFsSubList",nextUserList);
delegateTask.addCandidateUsers(nextUserList);
}else {
throw new ActivitiException("1#2对接人参数不存在,请配置相关用户");
}
QueryWrapper queryWrapper2 = new QueryWrapper();
queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId());
BusProcessName one1 = busProcessNameService.getOne(queryWrapper2);
if(one1!=null){
// one1.setOverTime(OVERTIME);
one1.setPrcType("buss3");
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());
busBean.save(busProcessNew);
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);
}
}
}
private String verifyObj(String str){
return (str == null || str.equals("")) ? "" : str;
}
}
@@ -0,0 +1,26 @@
package com.ydw.bat.wkflow.listener.bussFs;
import org.activiti.engine.delegate.DelegateTask;
import org.activiti.engine.delegate.TaskListener;
/**
* 发起企标复审流程前
*/
public class BLApplicantBefore implements TaskListener{
@Override
public void notify(DelegateTask delegateTask) {
// IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class);
// QueryWrapper queryWrapper1 = new QueryWrapper();
// 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);
// }
//
// WkFlowSendEmail.sendEmailTodo(delegateTask,"会前申请流程");
}
}
@@ -0,0 +1,101 @@
package com.ydw.bat.wkflow.listener.bussFs;
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.ActivitiException;
import org.activiti.engine.delegate.DelegateTask;
import org.activiti.engine.delegate.TaskListener;
import org.apache.commons.lang.StringUtils;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
/**
* 对接人选择复审人后
*/
public class BussFsSub1After 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(StringUtils.isNotBlank(object.getString("bussFsSubUser2"))){
delegateTask.setVariable("bussFsSubUser2",object.getString("bussFsSubUser2"));
nextUserList.add(object.getString("bussFsSubUser2"));
}else {
throw new ActivitiException("1#2复审人不存在,请配置相关人员");
}
//截止时间 流程描述 创建人
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 = "企标复审流程-复审人选择复审结果";
QueryWrapper queryWrapper2 = new QueryWrapper();
queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId());
BusProcessName one1 = busProcessNameService.getOne(queryWrapper2);
if(one1!=null){
// one1.setOverTime(OVERTIME);
one1.setPrcType("buss3");
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());
busBean.save(busProcessNew);
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);
}
}
}
private String verifyObj(String str){
return (str == null || str.equals("")) ? "" : str;
}
}
@@ -0,0 +1,68 @@
package com.ydw.bat.wkflow.listener.bussFs;
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;
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 BussFsSub1Before implements TaskListener{
@Override
public void notify(DelegateTask delegateTask) {
IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class);
CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.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);
/**
* 汇总企标编写文件列表
*/
// String msg = one1.getMesg();
// JSONObject jsonObject = JSON.parseObject(msg);
// JSONArray fileList=delegateTask.getVariable("fileModelList",JSONArray.class);
// jsonObject.put("fileModelList",fileList);
// one1.setMesg(jsonObject.toJSONString());
one1.setTaskId(delegateTask.getId());
busBean.saveOrUpdate(one1);
// 发送 oa 待办 设置 跳转页面 router ? 后面流程类型
one1.setLink("BussFsSub1?prcType=buss3");
one1.setTaskInfo(delegateTask.getName());
oaService.sendTodoMq(one1);
// 创建企标复审单文件
// IBusProcessModelHisService hisService = SpringContextUtil.getBean(IBusProcessModelHisService.class);
// SimpleDateFormat sdf = new SimpleDateFormat("yyy-MM-dd HH:mm:ss");
//
// BusProcessModelHis modelHis = new BusProcessModelHis();
// modelHis.setPId(delegateTask.getProcessInstanceId());
// modelHis.setMesg(one1.getMesg());
// modelHis.setTaskInfo(delegateTask.getName());
// modelHis.setUserId(one1.getUserId());
// modelHis.setPrcName(one1.getPrcName());
// modelHis.setTaskId(delegateTask.getId());
// modelHis.setEditType("count");
// modelHis.setCreateTime(sdf.format(new Date()));
// modelHis.setUpdateTime(sdf.format(new Date()));
// // 合并子节点在线编辑文件后 返回 汇总文件路径
// String fileUrl = hisService.mergeModelFile(delegateTask.getProcessInstanceId(),delegateTask.getId(),"docx");
// modelHis.setEditFilePath(fileUrl);
// hisService.save(modelHis);
}
}
}
@@ -0,0 +1,101 @@
package com.ydw.bat.wkflow.listener.bussFs;
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.ActivitiException;
import org.activiti.engine.delegate.DelegateTask;
import org.activiti.engine.delegate.TaskListener;
import org.apache.commons.lang.StringUtils;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
/**
* 复审人选择复审结果后
*/
public class BussFsSub2After 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(StringUtils.isNotBlank(object.getString("bussFsSubUser2"))){
delegateTask.setVariable("bussFsSubUser2",object.getString("bussFsSubUser2"));
nextUserList.add(object.getString("bussFsSubUser2"));
}else {
throw new ActivitiException("1#2复审人不存在,请配置相关人员");
}
//截止时间 流程描述 创建人
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 = "企标复审流程-复审人选择复审结果";
QueryWrapper queryWrapper2 = new QueryWrapper();
queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId());
BusProcessName one1 = busProcessNameService.getOne(queryWrapper2);
if(one1!=null){
// one1.setOverTime(OVERTIME);
one1.setPrcType("buss3");
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());
busBean.save(busProcessNew);
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);
}
}
}
private String verifyObj(String str){
return (str == null || str.equals("")) ? "" : str;
}
}
@@ -0,0 +1,65 @@
package com.ydw.bat.wkflow.listener.bussFs;
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 BussFsSub2Before implements TaskListener{
@Override
public void notify(DelegateTask delegateTask) {
IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class);
CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.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);
/**
* 汇总企标编写文件列表
*/
// String msg = one1.getMesg();
// JSONObject jsonObject = JSON.parseObject(msg);
// JSONArray fileList=delegateTask.getVariable("fileModelList",JSONArray.class);
// jsonObject.put("fileModelList",fileList);
// one1.setMesg(jsonObject.toJSONString());
one1.setTaskId(delegateTask.getId());
busBean.saveOrUpdate(one1);
// 发送 oa 待办 设置 跳转页面 router ? 后面流程类型
one1.setLink("BussFsSub1?prcType=buss3");
one1.setTaskInfo(delegateTask.getName());
oaService.sendTodoMq(one1);
// 创建企标复审单文件
// IBusProcessModelHisService hisService = SpringContextUtil.getBean(IBusProcessModelHisService.class);
// SimpleDateFormat sdf = new SimpleDateFormat("yyy-MM-dd HH:mm:ss");
//
// BusProcessModelHis modelHis = new BusProcessModelHis();
// modelHis.setPId(delegateTask.getProcessInstanceId());
// modelHis.setMesg(one1.getMesg());
// modelHis.setTaskInfo(delegateTask.getName());
// modelHis.setUserId(one1.getUserId());
// modelHis.setPrcName(one1.getPrcName());
// modelHis.setTaskId(delegateTask.getId());
// modelHis.setEditType("count");
// modelHis.setCreateTime(sdf.format(new Date()));
// modelHis.setUpdateTime(sdf.format(new Date()));
// // 合并子节点在线编辑文件后 返回 汇总文件路径
// String fileUrl = hisService.mergeModelFile(delegateTask.getProcessInstanceId(),delegateTask.getId(),"docx");
// modelHis.setEditFilePath(fileUrl);
// hisService.save(modelHis);
}
}
}
@@ -0,0 +1,145 @@
package com.ydw.bat.wkflow.listener.bussLibrary;
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.IBusProcessModelHisService;
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 org.apache.commons.lang.StringUtils;
import org.apache.tomcat.util.digester.ArrayStack;
import java.text.SimpleDateFormat;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
/**
* 重新发起企标制修订流程后
*/
public class BLApplicantC1After 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);
IBusProcessModelHisService busProcessModelHisService = SpringContextUtil.getBean(IBusProcessModelHisService.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);
//截止时间 流程描述 创建人
String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date());
String user = object.getString("prcCreateUser");
String username = object.getString("prcCreateUserName");
String prcName = "";
if(StringUtils.isNotBlank(object.getString("standName"))){
prcName = object.getString("standName") + "-企标制修订-技术标准";
}else {
prcName = "企标制修订-技术标准";
}
List<String> nextUserList = new ArrayStack<>();
if(StringUtils.isNotBlank(object.getString("qcUserId"))){
if(object.getString("qcUserId").contains(",")){
nextUserList = Arrays.asList(object.getString("qcUserId").split(","));
}else {
nextUserList.add(object.getString("qcUserId"));
}
// 配置多实例
delegateTask.setVariable("qcUserList",nextUserList);
delegateTask.addCandidateUsers(nextUserList);
}else {
throw new ActivitiException("1#2其他起草人参数不存在,请配置相关用户");
}
// 下个节点执行人处理逻辑
// List<String> finalNextUserList = new ArrayList();
// List<BusProcessModelHis> busProcessModelHisList = new ArrayList<>();
// if(StringUtils.isNotBlank(object.getString("modelData"))){
// List<JSONObject> valueArr = JSONArray.parseArray(object.getString("modelData"),JSONObject.class);
// Map<String, List<JSONObject>> listMap = valueArr.stream().collect(
// Collectors.groupingBy(a -> Utils.format("{0}", a.getString("zrUserId"))));
// listMap.forEach((s, jsonObjects) -> {
// String json = JSONArray.toJSONString(jsonObjects);
// SimpleDateFormat sdf = new SimpleDateFormat("yyy-MM-dd HH:mm:ss");
// BusProcessModelHis modelHis = new BusProcessModelHis();
// modelHis.setPId(delegateTask.getProcessInstanceId());
// modelHis.setMesg(json);
// modelHis.setUserId(s);
// modelHis.setPrcName(prcName);
// modelHis.setEditType("node");
// modelHis.setCreateTime(sdf.format(new Date()));
// modelHis.setUpdateTime(sdf.format(new Date()));
// busProcessModelHisList.add(modelHis);
// finalNextUserList.add(s);
// });
// // 配置多实例
// delegateTask.setVariable("qcUserList",finalNextUserList);
// delegateTask.addCandidateUsers(finalNextUserList);
// }else {
// throw new ActivitiException("1#2其他起草人参数不存在,请配置相关用户");
// }
QueryWrapper queryWrapper2 = new QueryWrapper();
queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId());
BusProcessName one1 = busProcessNameService.getOne(queryWrapper2);
if(one1!=null){
// one1.setOverTime(OVERTIME);
one1.setPrcType("buss1");
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());
busBean.save(busProcessNew);
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);
}
}
// if(!busProcessModelHisList.isEmpty()){
// busProcessModelHisService.saveBatch(busProcessModelHisList);
// }
// 生成 模板
// busProcessModelHisService.saveBussTemplateFile(object,delegateTask.getProcessInstanceId());
}
private String verifyObj(String str){
return (str == null || str.equals("")) ? "" : str;
}
}
@@ -0,0 +1,37 @@
package com.ydw.bat.wkflow.listener.bussLibrary;
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 BLApplicantC1Before implements TaskListener{
@Override
public void notify(DelegateTask delegateTask) {
IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class);
CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.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);
// 发送 oa 待办 设置 跳转页面 router ? 后面流程类型
one1.setLink("bussLibraryC1?prcType=buss1");
one1.setTaskInfo(delegateTask.getName());
oaService.sendTodoMq(one1);
}
}
}
@@ -88,10 +88,9 @@ public class BussLibrary6After implements TaskListener{
busProcessNewNext.setUserId(nextUser);
busProcessNewNext.setPrcName(prcName);
busBean.save(busProcessNewNext);
// 评分存储
BussUtils.evalSave(delegateTask, object, prcName, delegateTask.getAssignee());
}
// 评分存储
BussUtils.evalSave(delegateTask, object, prcName, delegateTask.getAssignee());
}
}
@@ -19,6 +19,7 @@ import org.apache.commons.lang.StringUtils;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
@@ -74,7 +75,10 @@ public class BussLibrary7After implements TaskListener{
BussUtils.approvalFunc2(delegateTask, object, prcName, nextUserList);
// 评分存储
BussUtils.evalSave(delegateTask, object, prcName, delegateTask.getAssignee());
if(StringUtils.isBlank(object.getString("fsRejectStatus")) || object.getString("fsRejectStatus").equalsIgnoreCase("2")){
BussUtils.evalSave(delegateTask, object, prcName, delegateTask.getAssignee());
}
delegateTask.setVariable("fs7Flag", 0);
}else {
throw new ActivitiException("1#2部长用户参数不存在,请配置相关用户");
@@ -18,7 +18,7 @@ import java.util.ArrayList;
import java.util.List;
/**
* 技术委员会负责人/起草中心主任审核后
* 起草单位高级经理(技术委员会负责人/起草中心主任审核后( 合并至9 又重新启用)
*/
public class BussLibrary8After implements TaskListener{
@Override
@@ -11,7 +11,7 @@ import org.activiti.engine.delegate.TaskListener;
import java.util.List;
/**
* 技术委员会负责人/起草中心主任审核
* 技术委员会负责人/起草中心主任审核(起草单位高级经理)前( 合并至9 又重新启用)
*/
public class BussLibrary8Before implements TaskListener{
@Override
@@ -18,7 +18,7 @@ import java.util.ArrayList;
import java.util.List;
/**
* 标准法规部部长审核后
* 标准法规部高级经理(标准法规部部长审核后
*/
public class BussLibrary9After implements TaskListener{
@Override
@@ -65,13 +65,18 @@ public class BussLibrary9After implements TaskListener{
nextUserList.add(object.getString("fzrUserId"));
BussUtils.approvalFunc2(delegateTask, object, prcName, nextUserList);
// 评分存储
BussUtils.evalSave(delegateTask, object, prcName, delegateTask.getAssignee());
if(StringUtils.isBlank(object.getString("fsRejectStatus")) || object.getString("fsRejectStatus").equalsIgnoreCase("2")){
BussUtils.evalSave(delegateTask, object, prcName, delegateTask.getAssignee());
}
delegateTask.setVariable("bzFlag", 0);
}else {
throw new ActivitiException("1#2副主任用户参数不存在,请配置相关用户");
}
} else {
} else if ("1".equalsIgnoreCase(approvalOpinion)){
// 其他问题
if(StringUtils.isNotBlank(object.getString("xdUserId"))) {
BusProcessNew busProcessNew = new BusProcessNew();
busProcessNew.setMsgType("clause");
@@ -84,12 +89,34 @@ public class BussLibrary9After implements TaskListener{
busProcessNew.setPrcName(prcName);
busBean.save(busProcessNew);
BussUtils.approvalFunc1(delegateTask, busBean, object, prcName,"1");
BussUtils.evalSave(delegateTask, object, prcName, delegateTask.getAssignee());
delegateTask.setVariable("cxdUserId",object.getString("xdUserId"));
delegateTask.setVariable("bzFlag", 1);
}else {
throw new ActivitiException("1#2修订用户参数不存在,请配置相关用户");
}
}else if ("2".equalsIgnoreCase(approvalOpinion)){
// 质量问题
if(StringUtils.isNotBlank(object.getString("cfqUserId"))) {
BusProcessNew busProcessNew = new BusProcessNew();
busProcessNew.setMsgType("clause");
busProcessNew.setPId(delegateTask.getProcessInstanceId());
busProcessNew.setMesg(object.toJSONString());
busProcessNew.setTaskInfo(delegateTask.getTaskDefinitionKey());
busProcessNew.setFinishFlag("0");
busProcessNew.setTaskInfo(delegateTask.getName());
busProcessNew.setUserId(object.getString("cfqUserId"));
busProcessNew.setPrcName(prcName);
busBean.save(busProcessNew);
BussUtils.evalSave(delegateTask, object, prcName, delegateTask.getAssignee());
delegateTask.setVariable("cfqUserId",object.getString("cfqUserId"));
delegateTask.setVariable("bzFlag", 2);
}else {
throw new ActivitiException("1#2修订用户参数不存在,请配置相关用户");
}
}
}else {
throw new ActivitiException("1#2 提交OR驳回参数不存在");
@@ -11,7 +11,7 @@ import org.activiti.engine.delegate.TaskListener;
import java.util.List;
/**
* 标准法规部部长审核前
* 标准法规部高级经理(标准法规部部长审核前
*/
public class BussLibrary9Before implements TaskListener{
@Override
@@ -105,6 +105,10 @@ public class BussLibraryC6After implements TaskListener{
busProcessNewNext.setPrcName(prcName);
busBean.save(busProcessNewNext);
}
// 评分存储
if(StringUtils.isBlank(object.getString("fsRejectStatus")) || object.getString("fsRejectStatus").equalsIgnoreCase("2")) {
BussUtils.evalSave(delegateTask, object, prcName, delegateTask.getAssignee());
}
}
}
}
@@ -37,6 +37,35 @@ public class BussUtils {
evaluationHisService.save(evaluationHis);
}
public static void endFunAll(DelegateTask delegateTask, String prcName,IBusProcessNewService busBean, JSONObject object, String commitFlag, IBusProcessNameService busProcessNameService,String prcType) {
QueryWrapper queryWrapper2 = new QueryWrapper();
queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId());
BusProcessName one2 = busProcessNameService.getOne(queryWrapper2);
String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date());
if (one2 != null) {
//one2.setPrcName("入库流程结束");
one2.setPrcName(prcName);
one2.setOverTime(OVERTIME);
one2.setPrcType(prcType);
busProcessNameService.saveOrUpdate(one2);
}
QueryWrapper queryWrapper1 = new QueryWrapper();
queryWrapper1.eq("TASK_ID", delegateTask.getId());
BusProcessNew one1 = busBean.getOne(queryWrapper1);
if (one1 != null) {
one1.setMsgType("clause");
one1.setPId(delegateTask.getProcessInstanceId());
one1.setMesg(object.toJSONString());
one1.setFinishFlag("0");
one1.setTaskInfo(delegateTask.getName());
one1.setPrcName(prcName);
one1.setCommitFlag(commitFlag);
one1.setCommitText(object.getString("commentText"));
busBean.saveOrUpdate(one1);
}
}
public static void endFunc2(DelegateTask delegateTask, String prcName,IBusProcessNewService busBean, JSONObject object, String commitFlag, IBusProcessNameService busProcessNameService) {
QueryWrapper queryWrapper2 = new QueryWrapper();
queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId());
@@ -57,7 +86,6 @@ public class BussUtils {
one1.setMsgType("clause");
one1.setPId(delegateTask.getProcessInstanceId());
one1.setMesg(object.toJSONString());
one1.setTaskInfo(delegateTask.getTaskDefinitionKey());
one1.setFinishFlag("0");
one1.setTaskInfo(delegateTask.getName());
one1.setPrcName(prcName);
@@ -87,7 +115,6 @@ public class BussUtils {
one1.setMsgType("clause");
one1.setPId(delegateTask.getProcessInstanceId());
one1.setMesg(object.toJSONString());
one1.setTaskInfo(delegateTask.getTaskDefinitionKey());
one1.setFinishFlag("0");
one1.setTaskInfo(delegateTask.getName());
one1.setPrcName(prcName);
@@ -116,7 +143,6 @@ public class BussUtils {
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");
@@ -129,7 +155,6 @@ public class BussUtils {
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);
@@ -61,16 +61,16 @@ public class BussLibraryProduct10After implements TaskListener{
if(StringUtils.isNotBlank(approvalOpinion)){
if ("0".equalsIgnoreCase(approvalOpinion)) {
if(StringUtils.isNotBlank(object.getString("bussUser11"))){
if(StringUtils.isNotBlank(object.getString("bussUser12"))){
if(object.getString("bussUser11").contains(",")){
nextUserList = Arrays.asList(object.getString("bussUser11").split(","));
if(object.getString("bussUser12").contains(",")){
nextUserList = Arrays.asList(object.getString("bussUser12").split(","));
}else {
nextUserList.add(object.getString("bussUser11"));
nextUserList.add(object.getString("bussUser12"));
}
BussUtils.approvalFunc2(delegateTask, object, prcName, nextUserList);
delegateTask.setVariable("bussUser11",object.getString("bussUser11"));
delegateTask.setVariable("bussUser12",object.getString("bussUser12"));
delegateTask.setVariable("bussP10Flag", 0);
}else {
throw new ActivitiException("1#2总院技术管理中心主任/各事业部主管标准业务高级经理参数不存在,请配置相关用户");
@@ -70,8 +70,11 @@ public class BussLibraryProduct7After implements TaskListener{
nextUserList.add(object.getString("bussUser8"));
}
// 配置多实例
delegateTask.setVariable("bussUser8List",nextUserList);
delegateTask.addCandidateUsers(nextUserList);
BussUtils.approvalFunc2(delegateTask, object, prcName, nextUserList);
delegateTask.setVariable("bussUser8",object.getString("bussUser8"));
delegateTask.setVariable("bussP7Flag", 0);
}else {
throw new ActivitiException("1#2总院标准法规部产品标准工程师/各事业部标准法规部参数不存在,请配置相关用户");
@@ -61,16 +61,19 @@ public class BussLibraryProduct8After implements TaskListener{
if(StringUtils.isNotBlank(approvalOpinion)){
if ("0".equalsIgnoreCase(approvalOpinion)) {
if(StringUtils.isNotBlank(object.getString("bussUser9"))){
if(StringUtils.isNotBlank(object.getString("bussUser10"))){
if(object.getString("bussUser9").contains(",")){
nextUserList = Arrays.asList(object.getString("bussUser9").split(","));
if(object.getString("bussUser10").contains(",")){
nextUserList = Arrays.asList(object.getString("bussUser10").split(","));
}else {
nextUserList.add(object.getString("bussUser9"));
nextUserList.add(object.getString("bussUser10"));
}
// 配置多实例
delegateTask.setVariable("bussUser10List",nextUserList);
delegateTask.addCandidateUsers(nextUserList);
BussUtils.approvalFunc2(delegateTask, object, prcName, nextUserList);
delegateTask.setVariable("bussUser9",object.getString("bussUser9"));
delegateTask.setVariable("bussP8Flag", 0);
}else {
throw new ActivitiException("1#2总院标准法规部高级经理/各事业部标准业务/认证业务经理参数不存在,请配置相关用户");
@@ -125,6 +125,7 @@ public class ProcessStep4After implements TaskListener {
esRevisePlanDTO.setRqbJson(object.getString("rqbJson"));
esRevisePlanDTO.setTechnologic(object.getString("technologic"));
esRevisePlanDTO.setBussSort(object.getString("bussSort"));
esRevisePlanDTO.setLxd(object.getString("LXD"));
lawsUserInfoService.addPlan(esRevisePlanDTO);
}
}else {
@@ -0,0 +1,125 @@
package com.ydw.bat.wkflow.listener.projectEvaluationNewProcess;
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.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class PEPstartAfter 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);
//获取对象中的项目的数据
delegateTask.setVariable("standsId",object.getString("standId"));
delegateTask.setVariable("standType",object.getString("standType"));
//业务经理Id
List<String> nextUserList = new ArrayList();
// bzywId 标准法规部业务经理
delegateTask.setVariable("bzywId",object.getString("dockUser"));
nextUserList.add(object.getString("dockUser"));
//赋值标准法规部领导 最后一步审批用
delegateTask.setVariable("DLUserIds", object.getString("ministerUser"));
delegateTask.setVariable("certifiedEngineerName",object.getString("certifiedEngineerName"));
delegateTask.setVariable("qualityEngineerName",object.getString("qualityEngineerName"));
//认证工程师Id
delegateTask.setVariable("certifiedEngineer",object.getString("certifiedEngineer"));
//质量工程师Id
delegateTask.setVariable("qualityEngineer",object.getString("qualityEngineer"));
Map<String,List<String>> people_project=new HashMap<>();
Map<String,String> project_people=new HashMap<>();
JSONArray array=object.getJSONArray("dataList");
for (Object o:array) {
JSONObject jsonObject=JSONObject.parseObject(o.toString());
if (null!=people_project.get(jsonObject.getString("projectGroupPeopleId"))){
people_project.get("projectGroupPeopleId").add(jsonObject.getString("projectGroup"));
}else {
List<String> strings=new ArrayList<>();
strings.add(jsonObject.getString("projectGroup"));
people_project.put(jsonObject.getString("projectGroupPeopleId"),strings);
}
project_people.put(jsonObject.getString("projectGroup"),jsonObject.getString("projectGroupPeopleId"));
}
delegateTask.setVariable("project_people",project_people);
delegateTask.setVariable("people_project",people_project);
//截止时间 流程描述 创建人
String user = object.getString("prcCreateUser");
String username = object.getString("prcCreateUserName");
delegateTask.setVariable("prcCreateUser", user);
delegateTask.setVariable("prcCreateUserName", username);
delegateTask.setVariable("stands",object.getString("standNumber"));
String prcName = String.valueOf(object.getString("standNumber"))+"-标准项目合规评估流程-审核(标准法规业务经理)";
QueryWrapper queryWrapper2 = new QueryWrapper();
queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId());
BusProcessName one1 = busProcessNameService.getOne(queryWrapper2);
if (one1 != null) {
one1.setPrcType("5");
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.projectEvaluationNewProcess;
import org.activiti.engine.delegate.DelegateTask;
import org.activiti.engine.delegate.TaskListener;
public class PEPstartBefore implements TaskListener {
@Override
public void notify(DelegateTask delegateTask) {
}
}
@@ -0,0 +1,134 @@
package com.ydw.bat.wkflow.listener.projectEvaluationNewProcess;
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.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 org.apache.commons.lang.StringUtils;
import org.springframework.beans.BeanUtils;
import java.text.SimpleDateFormat;
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);
Map<String,JSONObject> map=new HashMap<>();
List<String> nextUserList=new ArrayList<>();
if ("0".equals(object.getString("stepFlag"))){
delegateTask.setVariable("Step2Flag","0");
JSONArray jsonArray=object.getJSONArray("dataList");
if (null!=jsonArray && jsonArray.size()>0){
jsonArray.forEach(o -> {
JSONObject jsonObject=JSONObject.parseObject(o.toString());
if (null!=map.get(jsonObject.getString("distributePersonId"))){
map.get(jsonObject.getString("distributePersonId")).getJSONArray("dataList").add(jsonObject);
}else {
JSONObject object1=new JSONObject();
object1= JSON.parseObject(object.toJSONString());
JSONArray jsonArray1=new JSONArray();
jsonArray1.add(jsonObject);
object1.put("dataList",jsonArray);
map.put(jsonObject.getString("distributePersonId"),object1);
nextUserList.add(jsonObject.getString("distributePersonId"));
}
});
}
delegateTask.setVariable("zrIdLists",nextUserList);
}else {
delegateTask.setVariable("Step2Flag","1");
delegateTask.setVariable("createId",delegateTask.getVariable("prcCreateUser",String.class));
nextUserList.add(delegateTask.getVariable("prcCreateUser",String.class));
}
//截止时间 流程描述 创建人
String user = delegateTask.getVariable("prcCreateUser", String.class);
String username = delegateTask.getVariable("prcCreateUserName", String.class);
String prcName = "";
if ("0".equals(object.getString("stepFlag"))) {
prcName = delegateTask.getVariable("stands", String.class) + "-标准项目合规评估-项目分发(项目群负责人/标准法规工程师)";
}else {
prcName = delegateTask.getVariable("stands", String.class) + "-标准项目合规评估-整改";
}
QueryWrapper queryWrapper2 = new QueryWrapper();
queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId());
BusProcessName one1 = busProcessNameService.getOne(queryWrapper2);
if (one1 != null) {
one1.setPrcType("5");
one1.setPrcName(prcName);
one1.setCreatUser(user);
one1.setCreatUserName(username);
busProcessNameService.saveOrUpdate(one1);
}
// 存储当前节点意见
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()) {
if ("0".equals(object.getString("stepFlag"))){
for (String nextUser : nextUserList) {
BusProcessNew busProcessNewNext = new BusProcessNew();
busProcessNewNext.setMsgType("clause");
busProcessNewNext.setPId(delegateTask.getProcessInstanceId());
busProcessNewNext.setMesg(map.get(nextUser).toJSONString());
busProcessNewNext.setTaskInfo(delegateTask.getTaskDefinitionKey());
busProcessNewNext.setFinishFlag("0");
busProcessNewNext.setTaskInfo(delegateTask.getName());
busProcessNewNext.setUserId(nextUser);
busProcessNewNext.setPrcName(prcName);
busBean.save(busProcessNewNext);
}
}else {
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,37 @@
package com.ydw.bat.wkflow.listener.projectEvaluationNewProcess;
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);
CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.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);
// 发送 oa 待办 设置 跳转页面 router ? 后面流程类型
one1.setLink("bzpgStep2?prcType=5");
one1.setTaskInfo(delegateTask.getName());
oaService.sendTodoMq(one1);
}
}
}
@@ -0,0 +1,148 @@
package com.ydw.bat.wkflow.listener.projectEvaluationNewProcess;
import ch.qos.logback.core.joran.spi.ActionException;
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.ActivitiException;
import org.activiti.engine.delegate.DelegateTask;
import org.activiti.engine.delegate.TaskListener;
import org.activiti.rest.exception.ActivitiConflictException;
import java.text.SimpleDateFormat;
import java.util.*;
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);
// 多实例节点定义的计数器
if (null!=delegateTask.getVariable("count1")){
delegateTask.setVariable("count1",delegateTask.getVariable("count1",Integer.class)+1);
}else {
delegateTask.setVariable("count1",1);
}
Map<String,JSONObject> map=new HashMap<>();
if (null!=delegateTask.getVariable("maps")){
map=delegateTask.getVariable("maps",Map.class);
}
List<String> nextUserList=new ArrayList<>();
JSONArray jsonArray=object.getJSONArray("dataList");
if (null!=jsonArray && jsonArray.size()>0){
for (Object s: jsonArray) {
JSONObject object1= JSON.parseObject(s.toString());
if (null!=map.get(object1.getString("unameId"))){
map.get(object1.getString("unameId")).getJSONArray("dataList").add(object1);
}else {
JSONObject object2=new JSONObject();
object2=JSON.parseObject(object.toJSONString());
JSONArray jsonArray1=new JSONArray();
jsonArray1.add(object1);
object2.put("dataList",jsonArray1);
map.put(object1.getString("unameId"),object2);
nextUserList.add(object1.getString("unameId"));
}
}
}
delegateTask.setVariable("maps",map);
//处理下一步的经理问题
if (null!=delegateTask.getVariable("managerIdList")){
List<String> old=delegateTask.getVariable("managerIdList",List.class);
old.forEach(s -> {
if (!nextUserList.contains(s)){
nextUserList.add(s);
}
});
delegateTask.setVariable("managerIdList",nextUserList);
}else {
delegateTask.setVariable("managerIdList",nextUserList);
}
//截止时间 流程描述 创建人
String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date());
String user = delegateTask.getVariable("prcCreateUser", String.class);
String username = delegateTask.getVariable("prcCreateUserName", String.class);
String prcName = delegateTask.getVariable("stands",String.class)+"-标准项目合规评估-任务分发(项目经理)";
QueryWrapper queryWrapper2 = new QueryWrapper();
queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId());
BusProcessName one1 = busProcessNameService.getOne(queryWrapper2);
if (one1 != null) {
one1.setPrcType("5");
one1.setPrcName(prcName);
one1.setCreatUser(user);
one1.setCreatUserName(username);
busProcessNameService.saveOrUpdate(one1);
}
// 存储当前节点意见
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("count1",Integer.class) >=delegateTask.getVariable("zrIdLists",List.class).size()) {
if (nextUserList != null && !nextUserList.isEmpty()) {
for (String nextUser : nextUserList) {
JSONObject object1=JSON.parseObject(map.get(nextUser).toJSONString());
JSONArray array=object1.getJSONArray("dataList");
JSONArray array1=object1.getJSONArray("breakdownList");
JSONArray res=new JSONArray();
for (Object o:array) {
JSONObject object2=JSONObject.parseObject(o.toString());
for (Object o2: array1 ) {
JSONObject object3=JSONObject.parseObject(o2.toString());
object2.keySet().forEach(s -> {
object3.put(s,object2.getString(s));
});
res.add(object3);
}
}
object1.put("resDats",res);
BusProcessNew busProcessNewNext = new BusProcessNew();
busProcessNewNext.setMsgType("clause");
busProcessNewNext.setPId(delegateTask.getProcessInstanceId());
busProcessNewNext.setMesg(object1.toJSONString());
busProcessNewNext.setTaskInfo(delegateTask.getTaskDefinitionKey());
busProcessNewNext.setFinishFlag("0");
busProcessNewNext.setTaskInfo(delegateTask.getName());
busProcessNewNext.setUserId(nextUser);
busProcessNewNext.setPrcName(prcName);
busBean.save(busProcessNewNext);
}
}
}
}
}
@@ -0,0 +1,37 @@
package com.ydw.bat.wkflow.listener.projectEvaluationNewProcess;
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);
CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.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);
// 发送 oa 待办 设置 跳转页面 router ? 后面流程类型
one1.setLink("xmpgStep6?prcType=5");
one1.setTaskInfo(delegateTask.getName());
oaService.sendTodoMq(one1);
}
}
}
@@ -0,0 +1,132 @@
package com.ydw.bat.wkflow.listener.projectEvaluationNewProcess;
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.text.SimpleDateFormat;
import java.util.*;
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<>();
Map<String,JSONObject> map=new HashMap<>();
if (null!=delegateTask.getVariable("map4")){
map=delegateTask.getVariable("map4",Map.class);
}
// 多实例节点定义的计数器
if (null!=delegateTask.getVariable("count2")){
delegateTask.setVariable("count2",delegateTask.getVariable("count2",Integer.class)+1);
}else {
delegateTask.setVariable("count2",1);
}
List<String> order =new ArrayList<>();
JSONArray array=object.getJSONArray("dataList");
if (null!=array && array.size()>0){
for (Object o:array) {
JSONObject object1= JSON.parseObject(o.toString());
if (null!=map.get(delegateTask.getAssignee()+"-"+object1.getString("implementerId"))){
map.get(delegateTask.getAssignee()+"-"+object1.getString("implementerId")).getJSONArray("dataList").add(object1);
}else {
JSONObject object2=JSON.parseObject(object.toJSONString());
JSONArray array1=new JSONArray();
array1.add(object1);
object2.put("dataList",array1);
object2.put("keys",delegateTask.getAssignee()+"-"+object1.getString("implementerId"));
map.put(delegateTask.getAssignee()+"-"+object1.getString("implementerId"),object2);
nextUserList.add(object1.getString("implementerId"));
order.add(delegateTask.getAssignee()+"-"+object1.getString("implementerId"));
}
}
}
delegateTask.setVariable("map4",map);
if (null!=delegateTask.getVariable("jtzrIdList")){
delegateTask.getVariable("jtzrIdList",List.class).addAll(nextUserList);
delegateTask.getVariable("order",List.class).addAll(order);
nextUserList=delegateTask.getVariable("jtzrIdList",List.class);
order=delegateTask.getVariable("order",List.class);
}else {
delegateTask.setVariable("jtzrIdList", nextUserList);
delegateTask.setVariable("order",order);
}
//截止时间 流程描述 创建人
String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date());
String user = delegateTask.getVariable("prcCreateUser", String.class);
String username = delegateTask.getVariable("prcCreateUserName", String.class);
String prcName = delegateTask.getVariable("stands",String.class)+"-标准项目合规评估-合规评估(专业技术人员)";
QueryWrapper queryWrapper2 = new QueryWrapper();
queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId());
BusProcessName one1 = busProcessNameService.getOne(queryWrapper2);
if (one1 != null) {
one1.setPrcType("5");
one1.setPrcName(prcName);
one1.setCreatUser(user);
one1.setCreatUserName(username);
busProcessNameService.saveOrUpdate(one1);
}
// 存储当前节点意见
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("managerIdList",List.class).size()) {
if (nextUserList != null && !nextUserList.isEmpty()) {
int i=0;
for (String nextUser : nextUserList) {
BusProcessNew busProcessNewNext = new BusProcessNew();
busProcessNewNext.setMsgType("clause");
busProcessNewNext.setPId(delegateTask.getProcessInstanceId());
busProcessNewNext.setMesg(map.get(order.get(i)).toJSONString());
busProcessNewNext.setTaskInfo(delegateTask.getTaskDefinitionKey());
busProcessNewNext.setFinishFlag("0");
busProcessNewNext.setTaskInfo(delegateTask.getName());
busProcessNewNext.setUserId(nextUser);
busProcessNewNext.setPrcName(prcName);
busBean.save(busProcessNewNext);
i++;
}
}
}
}
}
@@ -0,0 +1,37 @@
package com.ydw.bat.wkflow.listener.projectEvaluationNewProcess;
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);
CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.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);
// 发送 oa 待办 设置 跳转页面 router ? 后面流程类型
one1.setLink("xmpgStep6?prcType=5");
one1.setTaskInfo(delegateTask.getName());
oaService.sendTodoMq(one1);
}
}
}
@@ -0,0 +1,92 @@
package com.ydw.bat.wkflow.listener.projectEvaluationNewProcess;
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.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;
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);
//根据流程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!=object.getString("keys")){
String[] s=object.getString("keys").split("-");
delegateTask.setVariable("ztManagerId",s[0]);
nextUserList.add(s[0]);
}
//截止时间 流程描述 创建人
String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date());
String user = delegateTask.getVariable("prcCreateUser", String.class);
String username = delegateTask.getVariable("prcCreateUserName", String.class);
String prcName = delegateTask.getVariable("stands",String.class)+"-标准项目合规评估-审核(项目经理)";
QueryWrapper queryWrapper2 = new QueryWrapper();
queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId());
BusProcessName one1 = busProcessNameService.getOne(queryWrapper2);
if (one1 != null) {
one1.setPrcType("5");
one1.setPrcName(prcName);
one1.setCreatUser(user);
one1.setCreatUserName(username);
busProcessNameService.saveOrUpdate(one1);
}
// 存储当前节点意见
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 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,37 @@
package com.ydw.bat.wkflow.listener.projectEvaluationNewProcess;
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);
CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.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);
// 发送 oa 待办 设置 跳转页面 router ? 后面流程类型
one1.setLink("xmpgStep6?prcType=5");
one1.setTaskInfo(delegateTask.getName());
oaService.sendTodoMq(one1);
}
}
}
@@ -0,0 +1,142 @@
package com.ydw.bat.wkflow.listener.projectEvaluationNewProcess;
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.mysql.cj.xdevapi.JsonArray;
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.*;
public class Step6After 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("SDIdList")){
nextUserList=delegateTask.getVariable("SDIdList",List.class);
}
Map<String,JSONObject> map=new HashMap<>();
if (null!=delegateTask.getVariable("res6")){
map=delegateTask.getVariable("res6",Map.class);
}
Map project_people=delegateTask.getVariable("project_people",Map.class);
//子流程定义的计数器
String[] s=object.getString("keys").split("-");
if ("0".equals(object.getString("passFlag"))) {
if (null != delegateTask.getVariable("count6")) {
delegateTask.setVariable("count6", delegateTask.getVariable("count6", Integer.class) + 1);
} else {
delegateTask.setVariable("count6", 1);
}
JSONArray res=object.getJSONArray("dataList");
if (null!=res && res.size()>0){
for (Object o: res) {
JSONObject object1= JSON.parseObject(o.toString());
String projectGroupId= String.valueOf(project_people.get(object1.getString("projectGroup")));
if (null!=map.get(projectGroupId)){
map.get(projectGroupId).getJSONArray("dataList").add(object1);
}else {
JSONObject object2=JSON.parseObject(object.toJSONString());
JSONArray array=new JSONArray();
array.add(object1);
object2.put("dataList",array);
map.put(projectGroupId,object2);
nextUserList.add(projectGroupId);
}
}
}
delegateTask.setVariable("SDIdList",nextUserList);
delegateTask.setVariable("passFlag","0");
delegateTask.setVariable("res6",map);
}else {
nextUserList.add(s[1]);
delegateTask.setVariable("passFlag","1");
}
//截止时间 流程描述 创建人
String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date());
String user = delegateTask.getVariable("prcCreateUser", String.class);
String username = delegateTask.getVariable("prcCreateUserName", String.class);
String prcName = delegateTask.getVariable("stands",String.class)+"-标准项目合规评估-审定(项目群负责人)";
QueryWrapper queryWrapper2 = new QueryWrapper();
queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId());
BusProcessName one1 = busProcessNameService.getOne(queryWrapper2);
if (one1 != null) {
one1.setPrcType("5");
one1.setPrcName(prcName);
one1.setCreatUser(user);
one1.setCreatUserName(username);
busProcessNameService.saveOrUpdate(one1);
}
// 存储当前节点意见
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("count6",Integer.class)>=delegateTask.getVariable("jtzrIdList",List.class).size()) {
for (String nextUser : map.keySet()) {
BusProcessNew busProcessNewNext = new BusProcessNew();
busProcessNewNext.setMsgType("clause");
busProcessNewNext.setPId(delegateTask.getProcessInstanceId());
busProcessNewNext.setMesg(map.get(nextUser).toJSONString());
busProcessNewNext.setTaskInfo(delegateTask.getTaskDefinitionKey());
busProcessNewNext.setFinishFlag("0");
busProcessNewNext.setTaskInfo(delegateTask.getName());
busProcessNewNext.setUserId(nextUser);
busProcessNewNext.setPrcName(prcName);
busBean.save(busProcessNewNext);
}
} else if ("1".equals(object.getString("passFlag"))) {
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,37 @@
package com.ydw.bat.wkflow.listener.projectEvaluationNewProcess;
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 Step6Before implements TaskListener {
@Override
public void notify(DelegateTask delegateTask) {
IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class);
CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.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);
// 发送 oa 待办 设置 跳转页面 router ? 后面流程类型
one1.setLink("xmpgStep6?prcType=5");
one1.setTaskInfo(delegateTask.getName());
oaService.sendTodoMq(one1);
}
}
}
@@ -0,0 +1,103 @@
package com.ydw.bat.wkflow.listener.projectEvaluationNewProcess;
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.*;
public class Step7After 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);
// 多实例节点定义的计数器
if (null!=delegateTask.getVariable("count7")){
delegateTask.setVariable("count7",delegateTask.getVariable("count7",Integer.class)+1);
}else {
delegateTask.setVariable("count7",1);
}
JSONObject object1=new JSONObject();
List<String> nextUserList=new ArrayList<>();
delegateTask.setVariable("gjId",delegateTask.getVariable("DLUserIds",String.class));
nextUserList.add(delegateTask.getVariable("DLUserIds",String.class));
if (null!=delegateTask.getVariable("Step7Res")){
object1=delegateTask.getVariable("Step7Res",JSONObject.class);
object1.getJSONArray("dataList").addAll(object.getJSONArray("dataList"));
}else {
object1=object;
delegateTask.setVariable("Step7Res",object1);
}
//截止时间 流程描述 创建人
String user = delegateTask.getVariable("prcCreateUser", String.class);
String username = delegateTask.getVariable("prcCreateUserName", String.class);
String prcName = delegateTask.getVariable("stands",String.class)+"-标准项目合规评估-批准(标准法规部高级经理)";
QueryWrapper queryWrapper2 = new QueryWrapper();
queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId());
BusProcessName one1 = busProcessNameService.getOne(queryWrapper2);
if (one1 != null) {
one1.setPrcType("5");
one1.setPrcName(prcName);
one1.setCreatUser(user);
one1.setCreatUserName(username);
busProcessNameService.saveOrUpdate(one1);
}
// 存储当前节点意见
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("count7",Integer.class)>=delegateTask.getVariable("SDIdList",List.class).size()) {
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,37 @@
package com.ydw.bat.wkflow.listener.projectEvaluationNewProcess;
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 Step7Before implements TaskListener {
@Override
public void notify(DelegateTask delegateTask) {
IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class);
CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.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);
// 发送 oa 待办 设置 跳转页面 router ? 后面流程类型
one1.setLink("xmpgStep6?prcType=5");
one1.setTaskInfo(delegateTask.getName());
oaService.sendTodoMq(one1);
}
}
}
@@ -0,0 +1,169 @@
package com.ydw.bat.wkflow.listener.projectEvaluationNewProcess;
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.business_slrs.dao.StandProjectRelationDto;
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.*;
public class Step8After 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);
//根据流程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<>();
JSONArray array=object.getJSONArray("dataList");
List<SarStandUnqualified> sarStandUnqualifieds=new ArrayList<>();
List<SarStandardComplianceProductAssess> productAssesses=new ArrayList<>();
List<StandProjectRelationDto> standProjectRelationDtos = new ArrayList<>();
for (Object o: array) {
JSONObject object1 = JSON.parseObject(o.toString());
List<String> projectnum=new ArrayList<>(Arrays.asList(object1.getString("projectNumber").split(",")));
List<String> projectName=new ArrayList<>(Arrays.asList(object1.getString("projectName").split(",")));
int i=0;
for (String s:projectnum) {
if (null != object1.getString("noCompliance") && !"".equals(object1.getString("noCompliance"))) {
SarStandUnqualified sarStandUnqualified = new SarStandUnqualified();
//少一个standId 不合格原因 在研在产!
sarStandUnqualified.setStandId(delegateTask.getVariable("standsId", String.class));
sarStandUnqualified.setStandSerialNumber(object.getString("standNumber"));
sarStandUnqualified.setStandName(object.getString("standName"));
sarStandUnqualified.setItemsNum(object1.getString("itemsNum"));
sarStandUnqualified.setCreateById(delegateTask.getVariable("prcCreateUser", String.class));
sarStandUnqualified.setItemsName(object1.getString("itemsName"));
sarStandUnqualified.setProductLine(object1.getString("projectGroup"));
sarStandUnqualified.setCloseState(1);
sarStandUnqualified.setCreateTime(new Date());
sarStandUnqualified.setProductName(projectName.get(i));
sarStandUnqualified.setQaEngineer(delegateTask.getVariable("qualityEngineerName", String.class));
sarStandUnqualified.setAuthEngineer(delegateTask.getVariable("certifiedEngineerName", String.class));
sarStandUnqualified.setDutyEngineer(object1.getString("implementerId"));
sarStandUnqualified.setResponsibleUnit(object1.getString("responsibleUnit"));
sarStandUnqualified.setReason(object1.getString("noCompliance"));
sarStandUnqualified.setPlanCloseTime(object1.getDate("completionTime"));
sarStandUnqualified.setProductId(s);
sarStandUnqualifieds.add(sarStandUnqualified);
}
//合估评规 结果!
SarStandardComplianceProductAssess sarStandard = new SarStandardComplianceProductAssess();
sarStandard.setProductName(projectName.get(i));
sarStandard.setProductId(s);
sarStandard.setClauseName(object1.getString("itemsName"));
sarStandard.setProductLineId(object1.getString("projectGroup"));
sarStandard.setStandName(object.getString("standName"));
sarStandard.setStandNumber(object.getString("standNumber"));
sarStandard.setStandardItem(object1.getString("itemsName"));
sarStandard.setType(String.valueOf(UUID.randomUUID()));
sarStandard.setStandId(delegateTask.getVariable("standsId", String.class));
sarStandard.setStandType(delegateTask.getVariable("standType", String.class));
sarStandard.setInterpretationTime(delegateTask.getCreateTime());
//111
sarStandard.setProductionCompletionTime(JSONObject.parseObject(String.valueOf(object1.get("zcCompletionTime")), Date.class));
sarStandard.setProductionCountermeasures(object1.getString("zcCountermeasures"));
sarStandard.setProductionNonCompliance(object1.getString("zcNoCompliance"));
sarStandard.setProductionCompliance(object1.getString("zcComplianceReasons"));
sarStandard.setResearchCompliance(object1.getString("complianceReasons"));
sarStandard.setResearchCompletionTime(object1.getDate("completionTime"));
sarStandard.setResearchCountermeasures(object1.getString("countermeasures"));
sarStandard.setResearchNonCompliance(object1.getString("noCompliance"));
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
sarStandard.setEvaluationPeople(object1.getString("implementer"));
sarStandard.setEvaluationPeopleName(object1.getString("implementerId"));
sarStandard.setEvaluationTime(simpleDateFormat.format(new Date()));
i++;
productAssesses.add(sarStandard);
}
List<String> strings=new ArrayList<>(Arrays.asList(object1.getString("projectIds").split(",")));
strings.forEach(s -> {
StandProjectRelationDto standProjectRelationDto = new StandProjectRelationDto();
standProjectRelationDto.setProjectId(s);
standProjectRelationDto.setStandId(delegateTask.getVariable("standsId",String.class));
if (!standProjectRelationDtos.contains(standProjectRelationDto)) {
standProjectRelationDtos.add(standProjectRelationDto);
}
});
//数据归类
}
//数据入库!!!!
lawsUserInfoService.batchInsert(standProjectRelationDtos);
lawsUserInfoService.addsarStandUnqualified(sarStandUnqualifieds);
lawsUserInfoService.addProduct(productAssesses);
//截止时间 流程描述 创建人
String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date());
String user = delegateTask.getVariable("prcCreateUser", String.class);
String username = delegateTask.getVariable("prcCreateUserName", String.class);
String prcName = delegateTask.getVariable("stands",String.class)+"-标准项目合规评估-标准法规部领导审批";
QueryWrapper queryWrapper2 = new QueryWrapper();
queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId());
BusProcessName one1 = busProcessNameService.getOne(queryWrapper2);
if (one1 != null) {
one1.setOverTime(OVERTIME);
one1.setPrcType("5");
one1.setPrcName(prcName);
one1.setCreatUser(user);
one1.setCreatUserName(username);
busProcessNameService.saveOrUpdate(one1);
}
// 存储当前节点意见
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 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,37 @@
package com.ydw.bat.wkflow.listener.projectEvaluationNewProcess;
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 Step8Before implements TaskListener {
@Override
public void notify(DelegateTask delegateTask) {
IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class);
CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.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);
// 发送 oa 待办 设置 跳转页面 router ? 后面流程类型
one1.setLink("xmpgStep6?prcType=5");
one1.setTaskInfo(delegateTask.getName());
oaService.sendTodoMq(one1);
}
}
}
@@ -0,0 +1,109 @@
package com.ydw.bat.wkflow.listener.projectEvaluationNewProcess;
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 Step9After 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);
//获取对象中的项目的数据
delegateTask.setVariable("standsId",object.getString("standId"));
delegateTask.setVariable("standType",object.getString("standType"));
//业务经理Id
List<String> nextUserList = new ArrayList();
// bzywId 标准法规部业务经理
delegateTask.setVariable("bzywId",object.getString("dockUser"));
nextUserList.add(object.getString("dockUser"));
//赋值标准法规部领导 最后一步审批用
delegateTask.setVariable("DLUserIds", object.getString("ministerUser"));
delegateTask.setVariable("certifiedEngineerName",object.getString("certifiedEngineerName"));
delegateTask.setVariable("qualityEngineerName",object.getString("qualityEngineerName"));
//认证工程师Id
delegateTask.setVariable("certifiedEngineer",object.getString("certifiedEngineer"));
//质量工程师Id
delegateTask.setVariable("qualityEngineer",object.getString("qualityEngineer"));
//截止时间 流程描述 创建人
String user = object.getString("prcCreateUser");
String username = object.getString("prcCreateUserName");
delegateTask.setVariable("prcCreateUser", user);
delegateTask.setVariable("prcCreateUserName", username);
delegateTask.setVariable("stands",object.getString("standNumber"));
String prcName = String.valueOf(object.getString("standNumber"))+"-标准项目合规评估流程-审核(标准法规业务经理)";
QueryWrapper queryWrapper2 = new QueryWrapper();
queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId());
BusProcessName one1 = busProcessNameService.getOne(queryWrapper2);
if (one1 != null) {
one1.setPrcType("5");
one1.setPrcName(prcName);
one1.setCreatUser(user);
one1.setCreatUserName(username);
if (null!=object.getJSONObject("newText")){
one1.setMes(object.getJSONObject("newText").toJSONString());
}
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,37 @@
package com.ydw.bat.wkflow.listener.projectEvaluationNewProcess;
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 Step9Before implements TaskListener {
@Override
public void notify(DelegateTask delegateTask) {
IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class);
CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.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);
// 发送 oa 待办 设置 跳转页面 router ? 后面流程类型
one1.setLink("xmpgStep6?prcType=5");
one1.setTaskInfo(delegateTask.getName());
oaService.sendTodoMq(one1);
}
}
}