feat: 标准入库流程提交

This commit is contained in:
super_liu
2021-06-21 14:10:35 +08:00
parent 1624c71c2a
commit 30716da96c
7 changed files with 282 additions and 91 deletions
@@ -488,51 +488,6 @@ public class TodoTaskController extends BaseAction {
JSONArray arr2 = new JSONArray();
object3.put("taskBreak", arr2);
processNew.setMesg(object3.toJSONString());
for (BusProcessNew busProcessNew : list) {
JSONObject object = JSONObject.parseObject(busProcessNew.getMesg());
JSONArray array = object.getJSONArray("taskBreak");
JSONArray itemsList = ((JSONObject) array.get(0)).getJSONArray("itemsList");
if (itemsList != null && itemsList.size() > 0) {
itemsList.getJSONObject(0).put("taskId", busProcessNew.getTaskId());
JSONObject objectOld = JSONObject.parseObject(processNew.getMesg());
for (Object obj : objectOld.getJSONArray("taskBreak")) {
if (((Map) obj).get("id").toString().equals(((JSONObject) array.get(0)).getString("id"))) {
JSONArray itemsList1 = ((JSONObject) obj).getJSONArray("itemsList");
itemsList1.add(itemsList.get(0));
}
}
if (objectOld.getJSONArray("taskBreak").size() == 0) {
object.put("itemsList", array);
JSONObject object2 = JSONObject.parseObject(processNew.getMesg());
JSONArray arr = object2.getJSONArray("taskBreak");
arr.add(array.get(0));
processNew.setMesg(object2.toJSONString());
} else {
processNew.setMesg(objectOld.toJSONString());
}
} else {
JSONArray array1 = object.getJSONArray("taskBreak");
((JSONObject) array1.get(0)).put("taskId", busProcessNew.getTaskId());
JSONObject object2 = JSONObject.parseObject(processNew.getMesg());
JSONArray arr = object2.getJSONArray("taskBreak");
Task task = taskService.createTaskQuery().taskId(busProcessNew.getTaskId()).singleResult();
if(task!=null){
if(task.getName().equals("再次下发")){
// if(arr.size()==0){
arr.add(array1.get(0));
// }
}else{
arr.add(array1.get(0));
}
}else{
arr.add(array1.get(0));
}
processNew.setMesg(object2.toJSONString());
}
}
return processNew;
}
@@ -0,0 +1,71 @@
package com.ydw.bat.wkflow.listener.standardLibrary;
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.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.Date;
/**
* 标准入库申请人修订后manager
*/
public class ApplyApplicantAfter 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());
JSONObject array = object.getJSONObject("hqsqForm");
boolean flag = true;
if(array.getString("opinion").equals("1")){
flag=false;
}
// if(!flag){
delegateTask.setVariable("jlspFlag",1);
BusProcessNew busProcessNew = new BusProcessNew();
busProcessNew.setUserId(delegateTask.getVariable("fqr").toString());
busProcessNew.setPId(delegateTask.getProcessInstanceId());
busProcessNew.setFinishFlag("0");
busProcessNew.setTaskInfo(delegateTask.getTaskDefinitionKey());
busProcessNew.setMsgType("10");
array.put("opinionTime",new Date());
busProcessNew.setMesg(object.toJSONString());
busBean.save(busProcessNew);
//
// QueryWrapper queryWrapper1 = new QueryWrapper();
// queryWrapper1.eq("TASK_ID",delegateTask.getId());
// BusProcessNew one1 = busBean.getOne(queryWrapper1);
// if(one1!=null){
// one1.setCommitFlag("1");
//// one1.setCommitText(array.getString("opinionContent"));
// busBean.saveOrUpdate(one1);
// }
// }else{
// delegateTask.setVariable("jlspFlag",0);
//
// QueryWrapper queryWrapper1 = new QueryWrapper();
// queryWrapper1.eq("TASK_ID",delegateTask.getId());
// BusProcessNew one1 = busBean.getOne(queryWrapper1);
// if(one1!=null){
// one1.setCommitFlag("0");
//// one1.setCommitText(array.getString("opinionContent"));
// busBean.saveOrUpdate(one1);
// }
// }
}
}
@@ -0,0 +1,38 @@
package com.ydw.bat.wkflow.listener.standardLibrary;
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.BusProcessNew;
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.List;
/**
* 标准入库申请人修订前
*/
public class ApplyApplicantBefore implements TaskListener{
@Override
public void notify(DelegateTask delegateTask) {
IDatasService datasService = SpringContextUtil.getBean(IDatasService.class);
IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class);
IBusProcessNameService busProcessNameServiceBean = SpringContextUtil.getBean(IBusProcessNameService.class);
LawsUserInfoService lawsUserInfoService = SpringContextUtil.getBean(LawsUserInfoService.class);
QueryWrapper queryWrapper1 = new QueryWrapper();
queryWrapper1.eq("USER_ID", delegateTask.getAssignee());
queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId());
queryWrapper1.isNull("TASK_ID");
List<BusProcessNew> list = busBean.list(queryWrapper1);
// BusProcessNew one1 = busBean.getOne(queryWrapper1);
// one1.setTaskId(delegateTask.getId());
// busBean.saveOrUpdate(one1);
////
//
// WkFlowSendEmail.sendEmailTodo(delegateTask,"会前申请流程");
}
}
@@ -0,0 +1,66 @@
package com.ydw.bat.wkflow.listener.standardLibrary;
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.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.common.WorkflowUtil;
import com.ydw.bat.wkflow.util.SpringContextUtil;
import org.activiti.engine.delegate.DelegateTask;
import org.activiti.engine.delegate.TaskListener;
import java.util.Arrays;
import java.util.Date;
/**
* 经理人审批后
*/
public class ManagerApplicantAfter 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());
String approvalOpinion = object.get("approvalOpinion") == null ? "" : object.get("approvalOpinion").toString();
if("1".equalsIgnoreCase(approvalOpinion)){
delegateTask.setVariable("applyUserId",object.getString("applyUpdUserId"));
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,"1");
delegateTask.setVariable("jlFlag",1);
}else {
delegateTask.setVariable("jlFlag",0);
func1(delegateTask, busBean, object,"0");
}
}
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);
busBean.saveOrUpdate(one1);
}
}
}
@@ -0,0 +1,27 @@
package com.ydw.bat.wkflow.listener.standardLibrary;
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.BusProcessNew;
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.List;
/**
* 经理人审批前
*/
public class ManagerApplicantBefore implements TaskListener{
@Override
public void notify(DelegateTask delegateTask) {
// IDatasService datasService = SpringContextUtil.getBean(IDatasService.class);
// IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class);
// IBusProcessNameService busProcessNameServiceBean = SpringContextUtil.getBean(IBusProcessNameService.class);
// LawsUserInfoService lawsUserInfoService = SpringContextUtil.getBean(LawsUserInfoService.class);
}
}
@@ -2,21 +2,29 @@ package com.ydw.bat.wkflow.listener.standardLibrary;
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.Arrays;
import java.util.Date;
import java.util.List;
/**
* 标准入库申请人发起后
*/
public class SLApplicantAfter implements TaskListener{
@Override
public void notify(DelegateTask delegateTask) {
IDatasService datasService = SpringContextUtil.getBean(IDatasService.class);
@@ -28,44 +36,76 @@ public class SLApplicantAfter implements TaskListener{
Datas datas = datasService.getOne(queryWrapper);
JSONObject object = JSONObject.parseObject(datas.getFormValsJson());
delegateTask.setVariable("objectJson",object);
JSONObject array = object.getJSONObject("hqsqForm");
boolean flag = true;
if(array.getString("opinion").equals("1")){
flag=false;
List<String> nextUserList = new ArrayList();
// 逻辑判断是否会签 signFlag
// JSONObject array = object.getJSONObject("hqsqForm");
if(object.getString("signFlag").equals("2")){
delegateTask.setVariable("hqFlag",2);
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("hqUserList",nextUserList);
}else {
throw new ActivitiException("1#2会签状态不存在,请配置相关状态");
}
}else {
delegateTask.setVariable("hqFlag",1);
if(StringUtils.isNotBlank(object.getString("jlUserId"))){
delegateTask.setVariable("managerUserId",object.getString("jlUserId"));
nextUserList.add(object.getString("jlUserId"));
}else {
throw new ActivitiException("1#2经理人不存在,请配置相关人员");
}
}
// if(!flag){
// delegateTask.setVariable("jlspFlag",1);
// BusProcessNew busProcessNew = new BusProcessNew();
// busProcessNew.setUserId(delegateTask.getVariable("fqr").toString());
// busProcessNew.setPId(delegateTask.getProcessInstanceId());
// busProcessNew.setFinishFlag("0");
// busProcessNew.setTaskInfo(delegateTask.getTaskDefinitionKey());
// busProcessNew.setMsgType("10");
// array.put("opinionTime",new Date());
// busProcessNew.setMesg(object.toJSONString());
// busBean.save(busProcessNew);
//
// QueryWrapper queryWrapper1 = new QueryWrapper();
// queryWrapper1.eq("TASK_ID",delegateTask.getId());
// BusProcessNew one1 = busBean.getOne(queryWrapper1);
// if(one1!=null){
// one1.setCommitFlag("1");
//// one1.setCommitText(array.getString("opinionContent"));
// busBean.saveOrUpdate(one1);
// }
// }else{
// delegateTask.setVariable("jlspFlag",0);
//
// QueryWrapper queryWrapper1 = new QueryWrapper();
// queryWrapper1.eq("TASK_ID",delegateTask.getId());
// BusProcessNew one1 = busBean.getOne(queryWrapper1);
// if(one1!=null){
// one1.setCommitFlag("0");
//// one1.setCommitText(array.getString("opinionContent"));
// busBean.saveOrUpdate(one1);
// }
// }
//截止时间 流程描述 创建人
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 = "";
if(object.getString("standInData").equals("0")){
standName = "国内";
}else {
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("1");
one1.setPrcName(prcName);
one1.setCreatUser(user);
one1.setCreatUserName(username);
busProcessNameService.saveOrUpdate(one1);
}
if(nextUserList != null && !nextUserList.isEmpty()){
for(String nextUser : nextUserList){
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(nextUser);
busBean.save(busProcessNew);
}
}
}
}
@@ -19,16 +19,10 @@ import java.util.List;
public class SLApplicantBefore implements TaskListener{
@Override
public void notify(DelegateTask delegateTask) {
IDatasService datasService = SpringContextUtil.getBean(IDatasService.class);
IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class);
IBusProcessNameService busProcessNameServiceBean = SpringContextUtil.getBean(IBusProcessNameService.class);
LawsUserInfoService lawsUserInfoService = SpringContextUtil.getBean(LawsUserInfoService.class);
QueryWrapper queryWrapper1 = new QueryWrapper();
queryWrapper1.eq("USER_ID", delegateTask.getAssignee());
queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId());
queryWrapper1.isNull("TASK_ID");
List<BusProcessNew> list = busBean.list(queryWrapper1);
//
// queryWrapper1.isNull("TASK_ID");
// List<BusProcessNew> list = busBean.list(queryWrapper1);
// BusProcessNew one1 = busBean.getOne(queryWrapper1);
// one1.setTaskId(delegateTask.getId());
// busBean.saveOrUpdate(one1);