diff --git a/src/main/java/com/ydw/bat/wkflow/listener/quizOrAnswer/answerAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/quizOrAnswer/answerAfter.java new file mode 100644 index 00000000..ea8bfd11 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/quizOrAnswer/answerAfter.java @@ -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 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 asList = Arrays.asList(split1); + String str = ""; + String bzstr = ""; + String namestr = ""; + for (int i = 0; i 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"); + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/quizOrAnswer/answerBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/quizOrAnswer/answerBefore.java new file mode 100644 index 00000000..cac66f21 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/quizOrAnswer/answerBefore.java @@ -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 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); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/quizOrAnswer/quizAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/quizOrAnswer/quizAfter.java new file mode 100644 index 00000000..d8666bcd --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/quizOrAnswer/quizAfter.java @@ -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 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 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 asList = Arrays.asList(split1); + String str = ""; + String bzstr = ""; + for (int i = 0; i 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); + } + + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/quizOrAnswer/quizBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/quizOrAnswer/quizBefore.java new file mode 100644 index 00000000..d9a52c41 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/quizOrAnswer/quizBefore.java @@ -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) { + + } +}