This commit is contained in:
yuezhihang
2021-07-08 21:02:03 +08:00
parent 3960eb96ea
commit 7ee390bf08
26 changed files with 1060 additions and 6 deletions
@@ -19,7 +19,7 @@ import java.util.Map;
import java.util.Set;
@Component
@FeignClient(value = "FotonLAWSSystem",path="/api",url="")
@FeignClient(value = "FotonLAWSSystem444",path="/api",url="")
@RequestMapping("/")
public interface LawsUserInfoService {
@@ -52,7 +52,7 @@ public class DetailedUpDto {
private String reNewPeople;
@ApiModelProperty(value = "要添加的清单id")
private String[] lawsIds;
private String inforlist;
@ApiModelProperty(value = "清单详情")
private String remark;
@@ -0,0 +1,119 @@
/**
* Copyright 2021 bejson.com
*/
package com.ydw.bat.wkflow.business_main.datas.dto;
import java.util.Date;
/**
* Auto-generated: 2021-07-08 14:51:4
*
* @author bejson.com (i@bejson.com)
* @website http://www.bejson.com/java2pojo/
*/
public class PEPDTO {
private String id;
private String projectPlatfor;
private String projectNumber;
private String projectName;
private String projectClassification;
private String projectStatus;
private String projectGroup;
private Date projectStartDate;
private Date projectEndDate;
private String currentNode;
private String projectLevel;
private String productLine;
private String projectManager;
public void setId(String id) {
this.id = id;
}
public String getId() {
return id;
}
public void setProjectPlatfor(String projectPlatfor) {
this.projectPlatfor = projectPlatfor;
}
public String getProjectPlatfor() {
return projectPlatfor;
}
public void setProjectNumber(String projectNumber) {
this.projectNumber = projectNumber;
}
public String getProjectNumber() {
return projectNumber;
}
public void setProjectName(String projectName) {
this.projectName = projectName;
}
public String getProjectName() {
return projectName;
}
public void setProjectClassification(String projectClassification) {
this.projectClassification = projectClassification;
}
public String getProjectClassification() {
return projectClassification;
}
public void setProjectStatus(String projectStatus) {
this.projectStatus = projectStatus;
}
public String getProjectStatus() {
return projectStatus;
}
public void setProjectGroup(String projectGroup) {
this.projectGroup = projectGroup;
}
public String getProjectGroup() {
return projectGroup;
}
public void setProjectStartDate(Date projectStartDate) {
this.projectStartDate = projectStartDate;
}
public Date getProjectStartDate() {
return projectStartDate;
}
public void setProjectEndDate(Date projectEndDate) {
this.projectEndDate = projectEndDate;
}
public Date getProjectEndDate() {
return projectEndDate;
}
public void setCurrentNode(String currentNode) {
this.currentNode = currentNode;
}
public String getCurrentNode() {
return currentNode;
}
public void setProjectLevel(String projectLevel) {
this.projectLevel = projectLevel;
}
public String getProjectLevel() {
return projectLevel;
}
public void setProductLine(String productLine) {
this.productLine = productLine;
}
public String getProductLine() {
return productLine;
}
public void setProjectManager(String projectManager) {
this.projectManager = projectManager;
}
public String getProjectManager() {
return projectManager;
}
}
@@ -26,4 +26,6 @@ public interface BusProcessNewMapper extends BaseMapper<BusProcessNew> {
List<BusProcessNew> findNoExecuteBusProcessNewForEnd(@Param("taskIds")List<String> taskIds);
// String queryTaskName(@Param("id")String id);
List<BusProcessNew> findLastworkPeople(@Param("key")String key,@Param("pId")String pId);
}
@@ -3,6 +3,7 @@ package com.ydw.bat.wkflow.business_main.datas.service;
import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew;
import com.baomidou.mybatisplus.extension.service.IService;
import org.activiti.engine.task.Task;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@@ -28,5 +29,7 @@ public interface IBusProcessNewService extends IService<BusProcessNew> {
List<BusProcessNew> findTaskDetailByTaskIds(List<String> taskIdList);
List<BusProcessNew> findNoExecuteBusProcessNewForEnd(List<String> taskIdList);
//子流程 获取 阶段数据 专用 BY yzh
List<BusProcessNew> findLastworkPeople(@Param("key")String key, @Param("pId")String pId);
}
@@ -68,4 +68,9 @@ public class BusProcessNewServiceImpl extends ServiceImpl<BusProcessNewMapper, B
public List<BusProcessNew> findNoExecuteBusProcessNewForEnd(List<String> taskIdList) {
return baseMapper.findNoExecuteBusProcessNewForEnd(taskIdList);
}
@Override
public List<BusProcessNew> findLastworkPeople(String key, String pId) {
return baseMapper.findLastworkPeople(key,pId);
}
}
@@ -0,0 +1,87 @@
package com.ydw.bat.wkflow.listener.projectEvaluationProcess;
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.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.Arrays;
import java.util.Date;
import java.util.List;
public class PEPDepartLeaderAfter 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();
//是否审批通过 passFlag == 1 通过
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("applyUpdUserId"));
busBean.save(busProcessNew);
func1(delegateTask,busBean,object,"0");
//截止时间 流程描述 创建人
String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date());
String user = object.getString("prcCreateUser");
String username = object.getString("prcCreateUserName");
String standName = object.getString("standName");
String prcName = standName+"-标准项目合规评估-标准法规部业务经理审批";
QueryWrapper queryWrapper2 = new QueryWrapper();
queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId());
BusProcessName one1 = busProcessNameService.getOne(queryWrapper2);
if(one1!=null){
one1.setOverTime(OVERTIME);
one1.setPrcType("5");
one1.setPrcName(prcName);
one1.setCreatUser(user);
one1.setCreatUserName(username);
busProcessNameService.saveOrUpdate(one1);
}
}
private void func1(DelegateTask delegateTask, IBusProcessNewService busBean, JSONObject object,String commitFlag) {
QueryWrapper queryWrapper1 = new QueryWrapper();
queryWrapper1.eq("TASK_ID",delegateTask.getId());
BusProcessNew one1 = busBean.getOne(queryWrapper1);
if(one1!=null){
one1.setCommitFlag(commitFlag);
one1.setCommitText(object.getString("commentText"));
busBean.saveOrUpdate(one1);
}
}
}
@@ -0,0 +1,27 @@
package com.ydw.bat.wkflow.listener.projectEvaluationProcess;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew;
import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService;
import com.ydw.bat.wkflow.util.SpringContextUtil;
import org.activiti.engine.delegate.DelegateTask;
import org.activiti.engine.delegate.TaskListener;
import java.util.List;
public class PEPDepartLeaderBefore 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);
}
}
}
@@ -0,0 +1,98 @@
package com.ydw.bat.wkflow.listener.projectEvaluationProcess;
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 java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
public class PEPSumAfter 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);
//业务经理Id
List<String> nextUserList = new ArrayList();
if (StringUtils.isNotBlank(object.getString(""))){
nextUserList.add(object.getString("DLUserId"));
delegateTask.setVariable("DLUserId",object.getString("DLUserId"));
}else {
throw new ActivitiException("请选择标准法规部门领导!!");
}
//截止时间 流程描述 创建人
String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date());
String user = object.getString("prcCreateUser");
String username = object.getString("prcCreateUserName");
String standName = object.getString("standName");
String prcName = standName+"-标准项目合规评估";
QueryWrapper queryWrapper2 = new QueryWrapper();
queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId());
BusProcessName one1 = busProcessNameService.getOne(queryWrapper2);
if(one1!=null){
one1.setOverTime(OVERTIME);
one1.setPrcType("5");
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);
busBean.save(busProcessNewNext);
}
}
}
}
@@ -0,0 +1,27 @@
package com.ydw.bat.wkflow.listener.projectEvaluationProcess;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew;
import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService;
import com.ydw.bat.wkflow.util.SpringContextUtil;
import org.activiti.engine.delegate.DelegateTask;
import org.activiti.engine.delegate.TaskListener;
import java.util.List;
public class PEPSumBefore 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);
}
}
}
@@ -0,0 +1,152 @@
package com.ydw.bat.wkflow.listener.projectEvaluationProcess;
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;
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.*;
public class PEPffresPersonAfter 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();
if (StringUtils.isNotBlank(object.getString("fenFlag"))){
if ("1".equals(object.getString("fenFlag"))){
//通过 记录通过的流程条数
if (StringUtils.isNotBlank(String.valueOf(delegateTask.getVariable("PEPCount")))){
String as= String.valueOf(delegateTask.getVariable("PEPCount"));
delegateTask.setVariable("PEPCount",String.valueOf(Integer.valueOf(as)+1));
}else {
delegateTask.setVariable("PEPCount","0");
}
delegateTask.setVariable("fenFlag",object.getString("fenFlag"));
}else {
//不通过就要驳回
nextUserList.add(object.getString("workPeople"));
delegateTask.setVariable("workPeople",object.getString("workPeople"));
delegateTask.setVariable("fenFlag",object.getString("fenFlag"));
}
}
//截止时间 流程描述 创建人
String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date());
String user = object.getString("prcCreateUser");
String username = object.getString("prcCreateUserName");
String standName = object.getString("standName");
String prcName = standName+"-标准项目合规评估-标准法规部业务经理审批";
QueryWrapper queryWrapper2 = new QueryWrapper();
queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId());
BusProcessName one1 = busProcessNameService.getOne(queryWrapper2);
if(one1!=null){
one1.setOverTime(OVERTIME);
one1.setPrcType("5");
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() && "2".equals(object.getString("fenFlag"))){
oneStep(delegateTask, busBean, object, nextUserList);
}else if ("1".equals(object.getString("fenFlag")) && String.valueOf(delegateTask.getVariable("PEPCount")).equals(String.valueOf(delegateTask.getVariable("PEPAllCount")))){
oneStep1(delegateTask, busBean, object, nextUserList);
}else {
oneStep(delegateTask, busBean, object, nextUserList);
}
}
private void oneStep(DelegateTask delegateTask, IBusProcessNewService busBean, JSONObject object, List<String> nextUserList) {
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);
busBean.save(busProcessNewNext);
}
}
// TODO: 2021/7/7
private void oneStep1(DelegateTask delegateTask, IBusProcessNewService busBean, JSONObject object, List<String> nextUserList) {
List<BusProcessNew> busProcessNews = busBean.findLastworkPeople("ProjectEvaluationProcess5",delegateTask.getProcessInstanceId());
//中间对象
Map<String,List<BusProcessNew>> map=new HashMap<>();
List<String> CPX=new ArrayList<>();
for (BusProcessNew bus:busProcessNews) {
//数据归纳
JSONObject object1 = JSONObject.parseObject(bus.getMesg());
String key=object1.getString("CPXpeople");
if (StringUtils.isNotBlank(key)){
List<BusProcessNew> middle=new ArrayList<>();
if (null!=map.get(key)){
map.get(key).add(bus);
}else {
//判断存在多少个 产品线负责人
CPX.add(key);
middle.add(bus);
map.put(key,middle);
}
}else {
throw new ActivitiException("请检查是否存在,产品线负责人!!");
}
}
//生成任务信息
for (String cp:CPX) {
BusProcessNew busProcessNewNext = new BusProcessNew();
busProcessNewNext.setMsgType("clause");
busProcessNewNext.setPId(delegateTask.getProcessInstanceId());
busProcessNewNext.setMesg(JsonUtil.toJson(map.get(cp)));
busProcessNewNext.setTaskInfo(delegateTask.getTaskDefinitionKey());
busProcessNewNext.setFinishFlag("0");
busProcessNewNext.setTaskInfo(delegateTask.getName());
busProcessNewNext.setUserId(cp);
busBean.save(busProcessNewNext);
}
//赋值 节点
delegateTask.setVariable("CPXpeoples",CPX);
}
}
@@ -0,0 +1,27 @@
package com.ydw.bat.wkflow.listener.projectEvaluationProcess;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew;
import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService;
import com.ydw.bat.wkflow.util.SpringContextUtil;
import org.activiti.engine.delegate.DelegateTask;
import org.activiti.engine.delegate.TaskListener;
import java.util.List;
public class PEPffresPersonBefore 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);
}
}
}
@@ -0,0 +1,110 @@
package com.ydw.bat.wkflow.listener.projectEvaluationProcess;
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.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.Arrays;
import java.util.Date;
import java.util.List;
public class PEPmanagerApproveAfter 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();
//是否审批通过 passFlag == 1 不通过
if ("2".equals(String.valueOf(object.get("passFlag")))){
//如果流程通过标识为1 则为不通过发送消息给用户流程结束
}else {
if(StringUtils.isNotBlank(object.getString("zrUserId"))){
if(object.getString("zrUserId").contains(",")){
nextUserList = Arrays.asList(object.getString("zrUserId").split(","));
}else {
nextUserList.add(object.getString("zrUserId"));
}
// 配置多实例
delegateTask.setVariable("liablePeopleList",nextUserList);
}
//设置一个计数器
if (StringUtils.isNotBlank(delegateTask.getVariable("PEPAllCount",String.class))){
delegateTask.setVariable("PEPAllCount", String.valueOf(delegateTask.getVariable("PEPAllCount",Integer.class)
+nextUserList.size()));
}else {
delegateTask.setVariable("PEPAllCount",nextUserList.size());
}
}
//截止时间 流程描述 创建人
String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date());
String user = object.getString("prcCreateUser");
String username = object.getString("prcCreateUserName");
String standName = object.getString("standName");
String prcName = standName+"-标准项目合规评估-标准法规部业务经理审批";
QueryWrapper queryWrapper2 = new QueryWrapper();
queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId());
BusProcessName one1 = busProcessNameService.getOne(queryWrapper2);
if(one1!=null){
one1.setOverTime(OVERTIME);
one1.setPrcType("5");
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);
busBean.save(busProcessNewNext);
}
}
}
}
@@ -0,0 +1,27 @@
package com.ydw.bat.wkflow.listener.projectEvaluationProcess;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew;
import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService;
import com.ydw.bat.wkflow.util.SpringContextUtil;
import org.activiti.engine.delegate.DelegateTask;
import org.activiti.engine.delegate.TaskListener;
import java.util.List;
public class PEPmanagerApproveBefore 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);
}
}
}
@@ -0,0 +1,96 @@
package com.ydw.bat.wkflow.listener.projectEvaluationProcess;
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.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 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);
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 object2 = JSONObject.parseObject(datas.getFormValsJson());
JSONObject object = null;
delegateTask.setVariable("objectJson",object2);
//获取对象中的项目的数据
// JSONArray os=object.getJSONArray("sarStandProjectLibraries");
// for (Object o:os) {
// System.out.println(object1);
// }
//业务经理Id
List<String> nextUserList = new ArrayList();
delegateTask.setVariable("YWuserId",object.getString("YWuserId"));
nextUserList.add(object.getString("YWuserId"));
//截止时间 流程描述 创建人
String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date());
String user = object.getString("prcCreateUser");
String username = object.getString("prcCreateUserName");
String standName = object.getString("standName");
String prcName = standName+"-标准项目合规评估";
QueryWrapper queryWrapper2 = new QueryWrapper();
queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId());
BusProcessName one1 = busProcessNameService.getOne(queryWrapper2);
if(one1!=null){
one1.setOverTime(OVERTIME);
one1.setPrcType("5");
one1.setPrcName(prcName);
one1.setCreatUser(user);
one1.setCreatUserName(username);
busProcessNameService.saveOrUpdate(one1);
}
throw new ActivitiException("lalallallal");
// 存储当前节点意见
// 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);
// busBean.save(busProcessNewNext);
// }
// }
}
}
@@ -0,0 +1,21 @@
package com.ydw.bat.wkflow.listener.projectEvaluationProcess;
import org.activiti.engine.delegate.DelegateTask;
import org.activiti.engine.delegate.TaskListener;
public class PEPstartBefore 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);
// }
}
}
@@ -0,0 +1,92 @@
package com.ydw.bat.wkflow.listener.projectEvaluationProcess;
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.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.Arrays;
import java.util.Date;
import java.util.List;
public class PEPtaskEstimateAfter 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();
if (StringUtils.isNotBlank(object.getString("ffUserId"))){
delegateTask.setVariable("ffUserId",object.getString("ffUserId"));
nextUserList.add(object.getString("ffUserId"));
}
//截止时间 流程描述 创建人
String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date());
String user = object.getString("prcCreateUser");
String username = object.getString("prcCreateUserName");
String standName = object.getString("standName");
String prcName = standName+"-标准项目合规评估-标准法规部业务经理审批";
QueryWrapper queryWrapper2 = new QueryWrapper();
queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId());
BusProcessName one1 = busProcessNameService.getOne(queryWrapper2);
if(one1!=null){
one1.setOverTime(OVERTIME);
one1.setPrcType("5");
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);
busBean.save(busProcessNewNext);
}
}
}
}
@@ -0,0 +1,27 @@
package com.ydw.bat.wkflow.listener.projectEvaluationProcess;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew;
import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService;
import com.ydw.bat.wkflow.util.SpringContextUtil;
import org.activiti.engine.delegate.DelegateTask;
import org.activiti.engine.delegate.TaskListener;
import java.util.List;
public class PEPtaskEstimateBefore 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);
}
}
}
@@ -0,0 +1,99 @@
package com.ydw.bat.wkflow.listener.projectEvaluationProcess;
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.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.Arrays;
import java.util.Date;
import java.util.List;
public class PEPtaskLssueAfter 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();
//流程下发给对应的人
if (StringUtils.isNotBlank(object.getString("workPeoples"))){
if(object.getString("workPeoples").contains(",")){
nextUserList = Arrays.asList(object.getString("workPeoples").split(","));
}else {
nextUserList.add(object.getString("workPeoples"));
}
// 配置多实例
delegateTask.setVariable("workPeoples",nextUserList);
}
//截止时间 流程描述 创建人
String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date());
String user = object.getString("prcCreateUser");
String username = object.getString("prcCreateUserName");
String standName = object.getString("standName");
String prcName = standName+"-标准项目合规评估-标准法规部业务经理审批";
QueryWrapper queryWrapper2 = new QueryWrapper();
queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId());
BusProcessName one1 = busProcessNameService.getOne(queryWrapper2);
if(one1!=null){
one1.setOverTime(OVERTIME);
one1.setPrcType("5");
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);
busBean.save(busProcessNewNext);
}
}
}
}
@@ -0,0 +1,27 @@
package com.ydw.bat.wkflow.listener.projectEvaluationProcess;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew;
import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService;
import com.ydw.bat.wkflow.util.SpringContextUtil;
import org.activiti.engine.delegate.DelegateTask;
import org.activiti.engine.delegate.TaskListener;
import java.util.List;
public class PEPtaskLssueBefore 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);
}
}
}
@@ -59,7 +59,7 @@ public class CountersignSRPAfter implements TaskListener{
BusProcessName one1 = busProcessNameService.getOne(queryWrapper2);
if(one1!=null){
one1.setOverTime(OVERTIME);
one1.setPrcType("3");
one1.setPrcType("4");
one1.setPrcName(prcName);
one1.setCreatUser(user);
one1.setCreatUserName(username);
@@ -56,7 +56,7 @@ public class SRPApplyApplicantAfter implements TaskListener{
BusProcessName one1 = busProcessNameService.getOne(queryWrapper2);
if(one1!=null){
one1.setOverTime(OVERTIME);
one1.setPrcType("3");
one1.setPrcType("4");
one1.setPrcName(prcName);
one1.setCreatUser(user);
one1.setCreatUserName(username);
@@ -71,6 +71,7 @@ public class SRPManagerApproveAfter implements TaskListener{
detailed.setApplicationScope(object.getString("applyRegion"));
detailed.setFileId(object.getString("enclosure"));
detailed.setRemark(object.getString("descriptionList"));
detailed.setInforlist(object.getString("inforlist"));
detailed.setDetailedListState("1");
detailed.setDetailedListVision(re1+String.valueOf(Integer.valueOf(re2)+1));
lawsUserInfoService.updateLaws(detailed);
@@ -79,6 +80,7 @@ public class SRPManagerApproveAfter implements TaskListener{
}
delegateTask.setVariable("jlFlag",0);
func1(delegateTask, busBean, object,"0");
}
}
@@ -93,7 +93,7 @@ public class SRPstartAfter implements TaskListener {
BusProcessName one1 = busProcessNameService.getOne(queryWrapper2);
if(one1!=null){
one1.setOverTime(OVERTIME);
one1.setPrcType("3");
one1.setPrcType("4");
one1.setPrcName(prcName);
one1.setCreatUser(user);
one1.setCreatUserName(username);
+1 -1
View File
@@ -18,7 +18,7 @@ eureka:
defaultZone: http://192.168.10.47:8761/eureka/
spring:
application:
name: bat-wkflow
name: shan2
http:
encoding:
charset: UTF-8
@@ -27,4 +27,10 @@
<select id="queryTaskName" resultType="java.lang.String">
SELECT NAME_ FROM ACT_HI_TASKINST WHERE ID_ = #{id}
</select>
<select id="findLastworkPeople" resultType="com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew">
SELECT bpn.* FROM bus_process_new bpn
LEFT JOIN act_hi_taskinst aht ON bpn.TASK_ID = aht.ID_
WHERE bpn.P_ID = #{pId} and aht.TASK_DEF_KEY_ = #{key}
</select>
</mapper>