(测试提交)1

This commit is contained in:
gaojiabao
2023-02-22 16:08:54 +08:00
parent 3bde9b42f5
commit 9b715ca97d
4 changed files with 247 additions and 0 deletions
@@ -0,0 +1,100 @@
package com.ydw.bat.wkflow.listener.quizOrAnswer;
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.listener.bussLibrary.BussUtils;
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 answerAfter 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);
//截止时间 流程描述 创建人
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[] split1 = object.getString("askQuestions").substring(1, object.getString("askQuestions").length() - 2).split(",");
List<String> asList = Arrays.asList(split1);
String str = "";
String bzstr = "";
String namestr = "";
for (int i = 0; i <asList.size() ; i++) {
if(i==0){
String[] split2 = asList.get(i).split(":");
namestr = split2[1].substring(1, split2[1].length() -1);
}
if(i==1){
String[] split2 = asList.get(i).split(":");
str = split2[1].substring(1, split2[1].length() -1);
}
if(i==6){
String[] split2 = asList.get(i).split(":");
bzstr = split2[1].substring(1, split2[1].length() -1);
}
}
String prcName = bzstr+"-"+namestr+"-"+str+"-问答流程";
//截止时间 流程描述 创建人
QueryWrapper queryWrapper2 = new QueryWrapper();
queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId());
BusProcessName one1 = busProcessNameService.getOne(queryWrapper2);
if (one1 != null) {
one1.setOverTime(OVERTIME);
one1.setPrcType("27");
one1.setPrcName(prcName);
one1.setCreatUser(user);
one1.setCreatUserName(username);
busProcessNameService.saveOrUpdate(one1);
}
// 存储当前节点意见1
if (null != object.getString("commentText")) {
QueryWrapper queryWrapper3 = new QueryWrapper();
queryWrapper3.eq("TASK_ID", delegateTask.getId());
queryWrapper3.eq("USER_ID", delegateTask.getAssignee());
List<BusProcessNew> list = busBean.list(queryWrapper3);
if (!list.isEmpty()) {
BusProcessNew busProcessNews = list.get(0);
busProcessNews.setTaskInfo(delegateTask.getName());
busProcessNews.setTaskId(delegateTask.getId());
busProcessNews.setCommitText(object.getString("commentText"));
busProcessNews.setPrcName(prcName);
busBean.saveOrUpdate(busProcessNews);
}
}
// 提交时,结束流程,保存当前节点信息
BussUtils.endFunAll(delegateTask, prcName, busBean, object, "0", busProcessNameService, "27");
}
}
@@ -0,0 +1,35 @@
package com.ydw.bat.wkflow.listener.quizOrAnswer;
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 answerBefore implements TaskListener {
@Override
public void notify(DelegateTask delegateTask) {
IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class);
QueryWrapper queryWrapper1 = new QueryWrapper();
queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId());
queryWrapper1.eq("USER_ID",delegateTask.getAssignee());
queryWrapper1.isNull("TASK_ID");
List<BusProcessNew> list = busBean.list(queryWrapper1);
if(!list.isEmpty()){
BusProcessNew one1 = list.get(0);
one1.setTaskId(delegateTask.getId());
busBean.saveOrUpdate(one1);
CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class);
// 发送 oa 待办 设置 跳转页面 router ? 后面流程类型
one1.setLink("?prcType=");
one1.setTaskInfo(delegateTask.getName());
oaService.sendTodoMq(one1);
}
}
}
@@ -0,0 +1,101 @@
package com.ydw.bat.wkflow.listener.quizOrAnswer;
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.listener.bussLibrary.BussUtils;
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.Arrays;
import java.util.Collections;
import java.util.List;
// 问答中心 问 后
public class quizAfter 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);
String[] split = object.getString("questioner").substring(1, object.getString("questioner").length() - 2).split(",");
List<String> nextUserList = Arrays.asList(split);
//截止时间 流程描述 创建人
String user = object.getString("prcCreateUser");
String username = object.getString("prcCreateUserName");
String[] split1 = object.getString("askQuestions").substring(1, object.getString("askQuestions").length() - 2).split(",");
List<String> asList = Arrays.asList(split1);
String str = "";
String bzstr = "";
for (int i = 0; i <asList.size() ; i++) {
if(i==1){
String[] split2 = asList.get(i).split(":");
str = split2[1].substring(1, split2[1].length() -1);
}
if(i==6){
String[] split2 = asList.get(i).split(":");
bzstr = split2[1].substring(1, split2[1].length() -1);
}
}
String prcName = bzstr+"-("+str+")-问答流程";
QueryWrapper queryWrapper2 = new QueryWrapper();
queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId());
BusProcessName one1 = busProcessNameService.getOne(queryWrapper2);
if(one1!=null){
one1.setPrcType("27");
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.setTaskId(delegateTask.getId());
busProcessNew.setCommitText(object.getString("commentText"));
busProcessNew.setFinishFlag("0");
busProcessNew.setTaskInfo(delegateTask.getName());
busProcessNew.setPrcName(prcName);
busBean.save(busProcessNew);
List<String> objects = new ArrayList<>();
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.setFinishFlag("0");
busProcessNewNext.setTaskInfo(delegateTask.getName());
//切割引号
String questioner = nextUser.substring(1, nextUser.length() -1);
busProcessNewNext.setUserId(questioner);
objects.add(questioner);
busProcessNewNext.setPrcName(prcName);
busBean.save(busProcessNewNext);
}
delegateTask.setVariable("questionerList",objects);
}
}
}
@@ -0,0 +1,11 @@
package com.ydw.bat.wkflow.listener.quizOrAnswer;
import org.activiti.engine.delegate.DelegateTask;
import org.activiti.engine.delegate.TaskListener;
//问答中心 问 前
public class quizBefore implements TaskListener {
@Override
public void notify(DelegateTask delegateTask) {
}
}