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

This commit is contained in:
yuezhihang
2021-12-25 10:45:10 +08:00
3 changed files with 81 additions and 82 deletions
@@ -1,9 +1,7 @@
package com.ydw.bat.wkflow.listener.bussLibrary; package com.ydw.bat.wkflow.listener.bussLibrary;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessModelHis;
import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessName; 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.BusProcessNew;
import com.ydw.bat.wkflow.business_main.datas.entity.Datas; import com.ydw.bat.wkflow.business_main.datas.entity.Datas;
@@ -11,17 +9,17 @@ 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.IBusProcessNameService;
import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService; 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_main.datas.service.IDatasService;
import com.ydw.bat.wkflow.listener.bussLibrary.Utils.PoiWord;
import com.ydw.bat.wkflow.util.SpringContextUtil; import com.ydw.bat.wkflow.util.SpringContextUtil;
import com.ydw.bat.wkflow.util.Utils;
import org.activiti.engine.ActivitiException; import org.activiti.engine.ActivitiException;
import org.activiti.engine.delegate.DelegateTask; import org.activiti.engine.delegate.DelegateTask;
import org.activiti.engine.delegate.TaskListener; import org.activiti.engine.delegate.TaskListener;
import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.StringUtils;
import org.apache.tomcat.util.digester.ArrayStack;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.*; import java.util.Arrays;
import java.util.stream.Collectors; import java.util.Date;
import java.util.List;
/** /**
* 发起企标制修订流程后 * 发起企标制修订流程后
@@ -50,38 +48,47 @@ public class BLApplicantAfter implements TaskListener{
String standName = ""; String standName = "";
String prcName = "企标制修订流程及企业标准库流程"; String prcName = "企标制修订流程及企业标准库流程";
// 下个节点执行人处理逻辑 List<String> nextUserList = new ArrayStack<>();
List<String> finalNextUserList = new ArrayList(); if(StringUtils.isNotBlank(object.getString("qcUserId"))){
List<BusProcessModelHis> busProcessModelHisList = new ArrayList<>();
if(StringUtils.isNotBlank(object.getString("modelData"))){ if(object.getString("qcUserId").contains(",")){
List<JSONObject> valueArr = JSONArray.parseArray(object.getString("modelData"),JSONObject.class); nextUserList = Arrays.asList(object.getString("qcUserId").split(","));
Map<String, List<JSONObject>> listMap = valueArr.stream().collect( }else {
Collectors.groupingBy(a -> Utils.format("{0}", a.getString("zrUserId")))); nextUserList.add(object.getString("qcUserId"));
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);
});
// if(object.getString("qcUserId").contains(",")){
// nextUserList = Arrays.asList(object.getString("qcUserId").split(","));
// }else {
// nextUserList.add(object.getString("qcUserId"));
// }
// 配置多实例 // 配置多实例
delegateTask.setVariable("qcUserList",finalNextUserList); delegateTask.setVariable("qcUserList",nextUserList);
delegateTask.addCandidateUsers(finalNextUserList); delegateTask.addCandidateUsers(nextUserList);
}else { }else {
throw new ActivitiException("1#2其他起草人参数不存在,请配置相关用户"); 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(); QueryWrapper queryWrapper2 = new QueryWrapper();
queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId()); queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId());
@@ -107,8 +114,8 @@ public class BLApplicantAfter implements TaskListener{
busProcessNew.setTaskInfo(delegateTask.getName()); busProcessNew.setTaskInfo(delegateTask.getName());
busBean.save(busProcessNew); busBean.save(busProcessNew);
if(finalNextUserList != null && !finalNextUserList.isEmpty()){ if(nextUserList != null && !nextUserList.isEmpty()){
for(String nextUser : finalNextUserList){ for(String nextUser : nextUserList){
BusProcessNew busProcessNewNext = new BusProcessNew(); BusProcessNew busProcessNewNext = new BusProcessNew();
busProcessNewNext.setMsgType("clause"); busProcessNewNext.setMsgType("clause");
busProcessNewNext.setPId(delegateTask.getProcessInstanceId()); busProcessNewNext.setPId(delegateTask.getProcessInstanceId());
@@ -121,12 +128,12 @@ public class BLApplicantAfter implements TaskListener{
busBean.save(busProcessNewNext); busBean.save(busProcessNewNext);
} }
} }
if(!busProcessModelHisList.isEmpty()){ // if(!busProcessModelHisList.isEmpty()){
busProcessModelHisService.saveBatch(busProcessModelHisList); // busProcessModelHisService.saveBatch(busProcessModelHisList);
} // }
// 生成 模板 // 生成 模板
busProcessModelHisService.saveBussTemplateFile(object,delegateTask.getProcessInstanceId()); // busProcessModelHisService.saveBussTemplateFile(object,delegateTask.getProcessInstanceId());
} }
private String verifyObj(String str){ private String verifyObj(String str){
@@ -1,17 +1,13 @@
package com.ydw.bat.wkflow.listener.bussLibrary; package com.ydw.bat.wkflow.listener.bussLibrary;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessModelHis;
import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew; import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew;
import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessModelHisService;
import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService; import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService;
import com.ydw.bat.wkflow.business_mq.service.CreateMQService; import com.ydw.bat.wkflow.business_mq.service.CreateMQService;
import com.ydw.bat.wkflow.util.SpringContextUtil; import com.ydw.bat.wkflow.util.SpringContextUtil;
import org.activiti.engine.delegate.DelegateTask; import org.activiti.engine.delegate.DelegateTask;
import org.activiti.engine.delegate.TaskListener; import org.activiti.engine.delegate.TaskListener;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List; import java.util.List;
/** /**
@@ -39,23 +35,23 @@ public class BussLibrary2Before implements TaskListener{
} }
// 创建当前节点文件 - 暂时为空文件 // 创建当前节点文件 - 暂时为空文件
IBusProcessModelHisService hisService = SpringContextUtil.getBean(IBusProcessModelHisService.class); // IBusProcessModelHisService hisService = SpringContextUtil.getBean(IBusProcessModelHisService.class);
//
QueryWrapper wrapperModel = new QueryWrapper(); // QueryWrapper wrapperModel = new QueryWrapper();
wrapperModel.eq("P_ID",delegateTask.getProcessInstanceId()); // wrapperModel.eq("P_ID",delegateTask.getProcessInstanceId());
wrapperModel.eq("USER_ID",delegateTask.getAssignee()); // wrapperModel.eq("USER_ID",delegateTask.getAssignee());
wrapperModel.isNull("TASK_ID"); // wrapperModel.isNull("TASK_ID");
List<BusProcessModelHis> hisList = hisService.list(wrapperModel); // List<BusProcessModelHis> hisList = hisService.list(wrapperModel);
if(!hisList.isEmpty()){ // if(!hisList.isEmpty()){
SimpleDateFormat sdf = new SimpleDateFormat("yyy-MM-dd HH:mm:ss"); // SimpleDateFormat sdf = new SimpleDateFormat("yyy-MM-dd HH:mm:ss");
BusProcessModelHis modelHis = hisList.get(0); // BusProcessModelHis modelHis = hisList.get(0);
modelHis.setTaskId(delegateTask.getId()); // modelHis.setTaskId(delegateTask.getId());
modelHis.setTaskInfo(delegateTask.getName()); // modelHis.setTaskInfo(delegateTask.getName());
String filePath = hisService.saveBussModelFile(delegateTask.getProcessInstanceId(),delegateTask.getId()); // String filePath = hisService.saveBussModelFile(delegateTask.getProcessInstanceId(),delegateTask.getId());
modelHis.setEditFilePath(filePath); // modelHis.setEditFilePath(filePath);
modelHis.setUpdateTime(sdf.format(new Date())); // modelHis.setUpdateTime(sdf.format(new Date()));
hisService.saveOrUpdate(modelHis); // hisService.saveOrUpdate(modelHis);
} // }
} }
} }
@@ -1,17 +1,13 @@
package com.ydw.bat.wkflow.listener.bussLibrary; package com.ydw.bat.wkflow.listener.bussLibrary;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessModelHis;
import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew; import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew;
import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessModelHisService;
import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService; import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService;
import com.ydw.bat.wkflow.business_mq.service.CreateMQService; import com.ydw.bat.wkflow.business_mq.service.CreateMQService;
import com.ydw.bat.wkflow.util.SpringContextUtil; import com.ydw.bat.wkflow.util.SpringContextUtil;
import org.activiti.engine.delegate.DelegateTask; import org.activiti.engine.delegate.DelegateTask;
import org.activiti.engine.delegate.TaskListener; import org.activiti.engine.delegate.TaskListener;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List; import java.util.List;
/** /**
@@ -38,23 +34,23 @@ public class BussLibrary3Before implements TaskListener{
oaService.sendTodoMq(one1); oaService.sendTodoMq(one1);
// 创建汇总文件 --- 合并子节点在线编辑文件 // 创建汇总文件 --- 合并子节点在线编辑文件
IBusProcessModelHisService hisService = SpringContextUtil.getBean(IBusProcessModelHisService.class); // IBusProcessModelHisService hisService = SpringContextUtil.getBean(IBusProcessModelHisService.class);
SimpleDateFormat sdf = new SimpleDateFormat("yyy-MM-dd HH:mm:ss"); // SimpleDateFormat sdf = new SimpleDateFormat("yyy-MM-dd HH:mm:ss");
//
BusProcessModelHis modelHis = new BusProcessModelHis(); // BusProcessModelHis modelHis = new BusProcessModelHis();
modelHis.setPId(delegateTask.getProcessInstanceId()); // modelHis.setPId(delegateTask.getProcessInstanceId());
modelHis.setMesg(one1.getMesg()); // modelHis.setMesg(one1.getMesg());
modelHis.setTaskInfo(delegateTask.getName()); // modelHis.setTaskInfo(delegateTask.getName());
modelHis.setUserId(one1.getUserId()); // modelHis.setUserId(one1.getUserId());
modelHis.setPrcName(one1.getPrcName()); // modelHis.setPrcName(one1.getPrcName());
modelHis.setTaskId(delegateTask.getId()); // modelHis.setTaskId(delegateTask.getId());
modelHis.setEditType("count"); // modelHis.setEditType("count");
modelHis.setCreateTime(sdf.format(new Date())); // modelHis.setCreateTime(sdf.format(new Date()));
modelHis.setUpdateTime(sdf.format(new Date())); // modelHis.setUpdateTime(sdf.format(new Date()));
// 合并子节点在线编辑文件后 返回 汇总文件路径 // // 合并子节点在线编辑文件后 返回 汇总文件路径
String fileUrl = hisService.mergeModelFile(delegateTask.getProcessInstanceId(),delegateTask.getId(),"docx"); // String fileUrl = hisService.mergeModelFile(delegateTask.getProcessInstanceId(),delegateTask.getId(),"docx");
modelHis.setEditFilePath(fileUrl); // modelHis.setEditFilePath(fileUrl);
hisService.save(modelHis); // hisService.save(modelHis);
} }
} }
} }