Merge branch 'dev_20230829_change' into dev_20231201_feizhi

# Conflicts:
#	src/main/java/com/ydw/bat/wkflow/business_main/datas/service/impl/BusProcessNewServiceImpl.java
This commit is contained in:
wxyclub
2023-12-01 18:20:00 +08:00
133 changed files with 7214 additions and 477 deletions
+10
View File
@@ -0,0 +1,10 @@
ALTER TABLE `foton-bat-wkflow`.`bus_process_new`
ADD INDEX `PROCESS_NEW_TASK_ID_INDEX`(`TASK_ID`) USING BTREE COMMENT 'TASK_ID索引',
ADD INDEX `PROCESS_NEW_P_ID_INDEX`(`P_ID`) USING BTREE COMMENT 'P_ID索引',
ADD INDEX `PROCESS_NEW_TASK_AND_P_ID_INDEX`(`TASK_ID`, `P_ID`) USING BTREE COMMENT 'TASK_ID和P_ID的联合索引';
ADD INDEX `PROCESS_NEW_TASK_INFO_INDEX`(`TASK_INFO`) USING BTREE COMMENT 'TASK_INFO索引',
ADD INDEX `PROCESS_NEW_TASK_ID_AND_INFO_INDEX`(`TASK_INFO`, `TASK_ID`) USING BTREE COMMENT 'TASK_ID和TASK_INFO的联合索引';
ADD INDEX `PROCESS_NEW_RECEIVE_STATUS_INDEX`(`RECEIVE_STATUS`) USING BTREE COMMENT 'RECEIVE_STATUS索引';
ALTER TABLE `foton-bat-wkflow`.`bus_process_name`
ADD INDEX `PROCESS_NAME_PRC_ID_INDEX`(`PRC_ID`) USING BTREE COMMENT 'PRC_ID索引';
@@ -1,9 +1,13 @@
package com.ydw.bat.wkflow.business_activiti.service;
import java.util.Date;
import java.util.List;
import java.util.stream.Collectors;
import org.activiti.engine.TaskService;
import org.activiti.engine.task.NativeTaskQuery;
import org.activiti.engine.task.Task;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -81,4 +85,35 @@ public class TaskTodoService {
}
/**
* 根据任务定义key,判断是否还存在该节点的待办任务。(排除当前操作的待办任务)
*
* @param prcId
* @param taskDefinitionKey
* @return
*/
public boolean whetherExistTaskByTaskDefinitionKey(String prcId, String taskDefinitionKey,String taskId) {
boolean result = false;
List<Task> taskList = taskService.createTaskQuery().processInstanceId(prcId).active().list().stream().filter(task-> {
boolean flag = false;
if (StringUtils.isNotEmpty(taskId)) {
if (!StringUtils.equals(task.getId(),taskId)) {
flag = true;
}
} else {
flag = true;
}
return flag;
}).distinct().collect(Collectors.toList());
if (CollectionUtils.isNotEmpty(taskList)) {
for (Task task : taskList) {
if (StringUtils.equals(task.getTaskDefinitionKey(),taskDefinitionKey)) {
result = true;
break;
}
}
}
return result;
}
}
@@ -3,6 +3,7 @@ package com.ydw.bat.wkflow.business_activiti.task;
import java.text.SimpleDateFormat;
import java.util.*;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
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.*;
@@ -180,6 +181,25 @@ public class TaskController {
}
});
}
// 将节点完成状态添加到返回的Map集合中
for (Map<String, Object> historyTaskMap : list) {
String processInstanceId = (String) historyTaskMap.get("processInstanceId");
if (StringUtils.isBlank(processInstanceId)) {
continue;
}
// 查询节点完成状态
LambdaQueryWrapper<BusProcessNew> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(BusProcessNew::getPId, processInstanceId);
wrapper.isNotNull(BusProcessNew::getTaskId);
wrapper.eq(BusProcessNew::getReceiveStatus,"已接收");
wrapper.select(BusProcessNew::getTaskId, BusProcessNew::getReceiveStatus);
List<BusProcessNew> busProcessNewList = iBusProcessNewService.list(wrapper);
for (BusProcessNew busProcessNew : busProcessNewList) {
if (busProcessNew.getTaskId().equals(historyTaskMap.get("id"))) {
historyTaskMap.put("receiveStatus",busProcessNew.getReceiveStatus());
}
}
}
return list;
}
@ApiOperation(value = "流程实例汇总列表")
@@ -207,6 +227,8 @@ public class TaskController {
typeData.put("25","起草");//企标制修订计划管控
typeData.put("26","起草");//企标制修订立项计划
typeData.put("23","汇总");//企标复审
typeData.put("29","管理员");//政策征求意见
typeData.put("30","管理员");//重点认证标准/政策合规性项目审查
BusProcessName one = iBusProcessNameService.getOne(queryWrapper);
HistoricTaskInstanceQuery historicTaskInstanceQuery = historyService.createHistoricTaskInstanceQuery()
.processInstanceId(one.getPrcId()).orderByHistoricTaskInstanceEndTime().asc();
@@ -6,6 +6,7 @@ import java.util.*;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.serializer.SerializerFeature;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.tmsps.fk.common.util.JsonUtil;
import com.ydw.bat.wkflow.business_activiti.dto.*;
import com.ydw.bat.wkflow.business_auth.LawsUserInfoService;
@@ -19,15 +20,13 @@ import java.util.Map;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessEntrustService;
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.IOaTaskExecService;
import com.ydw.bat.wkflow.business_main.datas.service.*;
import com.ydw.bat.wkflow.business_mq.service.CreateMQService;
import com.ydw.bat.wkflow.business_oa.webService.service.WebServiceOAService;
import com.ydw.bat.wkflow.business_oa.webService.service.impl.WebServiceOAServiceImpl;
import com.ydw.bat.wkflow.business_wkflow.form.dto.FormSubmitDto;
import com.ydw.bat.wkflow.business_wkflow.form.service.FormValsService;
import com.ydw.bat.wkflow.util.enums.FlowTypeEnum;
import org.activiti.engine.*;
import org.activiti.engine.history.*;
import org.activiti.engine.repository.ProcessDefinition;
@@ -35,6 +34,7 @@ import org.activiti.engine.runtime.ProcessInstance;
import org.activiti.engine.runtime.ProcessInstanceQuery;
import org.activiti.engine.task.NativeTaskQuery;
import org.activiti.engine.task.Task;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
@@ -100,6 +100,18 @@ public class TodoTaskController extends BaseAction {
@Autowired
private CreateMQService mqService;
@Autowired
private IFlowUserRelInfoService flowUserRelInfoService;
@Autowired
private IPolicySolicitOpinionEOService policySolicitOpinionEOService;
@Autowired
private IZchgxxmscSybDataEOService zchgxxmscSybDataEOService;
@Autowired
private IZchgxxmscCpghbDataEOService zchgxxmscCpghbDataEOService;
@ApiOperation(value = "我的待办任务列表")
@ApiImplicitParams({@ApiImplicitParam(name = "name", value = "名称"),
@ApiImplicitParam(name = "current", value = "当前页"),
@@ -241,6 +253,7 @@ public class TodoTaskController extends BaseAction {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String data = sdf.format(entry.getValue().get(0).get("createTime"));
res.setAcceptTime(data);
res.setTaskDefinitionKey(entry.getValue().get(0).get("taskDefinitionKey").toString());
// //获取新的流程名称
// QueryWrapper<BusProcessNew> queryWrapper1=new QueryWrapper<>();
// queryWrapper1.eq("P_ID",res.getPrcId());
@@ -328,6 +341,7 @@ public class TodoTaskController extends BaseAction {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String data = sdf.format(entry.getValue().get(0).get("createTime"));
res.setAcceptTime(data);
res.setTaskDefinitionKey(entry.getValue().get(0).get("taskDefinitionKey").toString());
// //获取新的流程名称
// QueryWrapper<BusProcessNew> queryWrapper1=new QueryWrapper<>();
// queryWrapper1.eq("P_ID",res.getPrcId());
@@ -403,6 +417,13 @@ public class TodoTaskController extends BaseAction {
busProcessEntrust.setPrcName(one.getPrcName());
busProcessEntrust.setTaskId(str);
iBusProcessEntrustService.save(busProcessEntrust);
if (StringUtils.equals(one.getPrcType(), FlowTypeEnum.ZCZQYJLC.getValue())) {
this.changeZczqyjFlowAssignee(assignee, userId, pId, str);
} else if (StringUtils.equals(one.getPrcType(), FlowTypeEnum.ZCHGXXMSCLC.getValue())) {
this.changeZchgxxmscFlowAssignee(assignee, userId, pId, str);
}
}
}
@@ -489,7 +510,110 @@ public class TodoTaskController extends BaseAction {
// logger.info("task {} find " + taskId);
return WrapMapper.ok("改派成功");
}
/**
* @Description: 变更流程人员关系
* @author: wangzhijiang
* @date: 2023-10-18
* @Param:
* @return:
*/
private void changeFlowUserRelInfoAssignee(String assignee, String userId, String pId, String str,String flowType,Task task) {
QueryWrapper<FlowUserRelInfo> furQueryWrap = new QueryWrapper<>();
furQueryWrap.lambda().eq(FlowUserRelInfo::getActiProcInstId, pId);
furQueryWrap.lambda().eq(FlowUserRelInfo::getFlowType,flowType);
// 责任人任务处理。
if (StringUtils.equals(task.getTaskDefinitionKey(),"PolicySolicitOpinionProcessKey8") || StringUtils.equals(task.getTaskDefinitionKey(),"PolicyComplianceProgramReviewProcessKey8")) {
furQueryWrap.lambda().eq(FlowUserRelInfo::getDataType,"zrdjrfpzrr");
furQueryWrap.lambda().eq(FlowUserRelInfo::getUserId, userId);
List<FlowUserRelInfo> furInfoList = this.flowUserRelInfoService.list(furQueryWrap);
if (CollectionUtils.isNotEmpty(furInfoList)) {
furInfoList.forEach(furInfo -> {furInfo.setUserId(assignee);});
this.flowUserRelInfoService.updateBatchById(furInfoList);
}
}
// 责任对接人汇总
if (StringUtils.equals(task.getTaskDefinitionKey(),"PolicySolicitOpinionProcessKey9") || StringUtils.equals(task.getTaskDefinitionKey(),"PolicyComplianceProgramReviewProcessKey9")) {
furQueryWrap.lambda().eq(FlowUserRelInfo::getDataType,"zrdjrfpzrr");
furQueryWrap.lambda().eq(FlowUserRelInfo::getParentUserId, userId);
List<FlowUserRelInfo> furInfoList = this.flowUserRelInfoService.list(furQueryWrap);
if (CollectionUtils.isNotEmpty(furInfoList)) {
furInfoList.forEach(furInfo -> {furInfo.setParentUserId(assignee);});
this.flowUserRelInfoService.updateBatchById(furInfoList);
}
}
// 责任单位审批
if (StringUtils.equals(task.getTaskDefinitionKey(),"PolicySolicitOpinionProcessKey10") || StringUtils.equals(task.getTaskDefinitionKey(),"PolicyComplianceProgramReviewProcessKey10")) {
furQueryWrap.lambda().eq(FlowUserRelInfo::getDataType,"zrdjrfpzrdw");
furQueryWrap.lambda().eq(FlowUserRelInfo::getUserId, userId);
List<FlowUserRelInfo> furInfoList = this.flowUserRelInfoService.list(furQueryWrap);
if (CollectionUtils.isNotEmpty(furInfoList)) {
furInfoList.forEach(furInfo -> {furInfo.setUserId(assignee);});
this.flowUserRelInfoService.updateBatchById(furInfoList);
}
}
}
public void changeZczqyjFlowAssignee(String assignee, String userId, String pId, String str){
Task task = this.taskService.createTaskQuery().taskId(str).singleResult();
if (StringUtils.equals(task.getTaskDefinitionKey(),"PolicySolicitOpinionProcessKey8")) {
Map<String,Object> params = new HashMap<>();
params.put("taskDefinitionKey",task.getTaskDefinitionKey());
params.put("currentUserId",userId);
params.put("prcId",task.getProcessInstanceId());
List<PolicySolicitOpinionEO> policySolicitOpinionEOList = this.policySolicitOpinionEOService.queryPolicitOpinionEOList(params);
if (CollectionUtils.isNotEmpty(policySolicitOpinionEOList)) {
policySolicitOpinionEOList.forEach(policySolicitOpinionEO -> {policySolicitOpinionEO.setCreateUserId(assignee);});
this.policySolicitOpinionEOService.updateBatchById(policySolicitOpinionEOList);
}
} else if (StringUtils.equals(task.getTaskDefinitionKey(),"PolicySolicitOpinionProcessKey9")) {
Map<String,Object> params = new HashMap<>();
params.put("taskDefinitionKey","PolicySolicitOpinionProcessKey8");
params.put("currentUserId",userId);
params.put("prcId",task.getProcessInstanceId());
List<PolicySolicitOpinionEO> policySolicitOpinionEOList = this.policySolicitOpinionEOService.queryPolicitOpinionEOList(params);
if (CollectionUtils.isNotEmpty(policySolicitOpinionEOList)) {
policySolicitOpinionEOList.forEach(policySolicitOpinionEO -> {policySolicitOpinionEO.setCreateUserId(assignee);});
this.policySolicitOpinionEOService.updateBatchById(policySolicitOpinionEOList);
}
}
this.changeFlowUserRelInfoAssignee(assignee, userId, pId, str, FlowTypeEnum.ZCZQYJLC.getValue(),task);
}
public void changeZchgxxmscFlowAssignee(String assignee, String userId, String pId, String str){
Task task = this.taskService.createTaskQuery().taskId(str).singleResult();
if (StringUtils.equals(task.getTaskDefinitionKey(),"PolicyComplianceProgramReviewProcessKey8")) {
// 如果是责任人任务处理,修改当前责任人被分配的事业部数据
Map<String,Object> params = new HashMap<>();
params.put("taskDefinitionKey",task.getTaskDefinitionKey());
params.put("currentUserId",userId);
params.put("pId",task.getProcessInstanceId());
List<ZchgxxmscSybDataEO> zchgxxmscSybDataEOList = this.zchgxxmscSybDataEOService.queryZchgxxmscSybDataEOList(params);
if (CollectionUtils.isNotEmpty(zchgxxmscSybDataEOList)) {
zchgxxmscSybDataEOList.forEach(sybDataEO -> {sybDataEO.setZrrUserId(assignee);});
this.zchgxxmscSybDataEOService.updateBatchById(zchgxxmscSybDataEOList);
}
List<ZchgxxmscCpghbDataEO> zchgxxmscCpghbDataEOList = this.zchgxxmscCpghbDataEOService.queryZchgxxmscCpghbDataEOList(params);
if (CollectionUtils.isNotEmpty(zchgxxmscCpghbDataEOList)) {
zchgxxmscCpghbDataEOList.forEach(cpghbDataEO -> {cpghbDataEO.setZrrUserId(assignee);});
this.zchgxxmscCpghbDataEOService.updateBatchById(zchgxxmscCpghbDataEOList);
}
} else if (StringUtils.equals(task.getTaskDefinitionKey(),"PolicyComplianceProgramReviewProcessKey9")){
Map<String,Object> params = new HashMap<>();
params.put("taskDefinitionKey","PolicyComplianceProgramReviewProcessKey8");
params.put("currentUserId",userId);
params.put("pId",task.getProcessInstanceId());
List<ZchgxxmscCpghbDataEO> zchgxxmscCpghbDataEOList = this.zchgxxmscCpghbDataEOService.queryZchgxxmscCpghbDataEOList(params);
if (CollectionUtils.isNotEmpty(zchgxxmscCpghbDataEOList)) {
zchgxxmscCpghbDataEOList.forEach(cpghbDataEO -> {cpghbDataEO.setZrrUserId(assignee);});
this.zchgxxmscCpghbDataEOService.updateBatchById(zchgxxmscCpghbDataEOList);
}
}
this.changeFlowUserRelInfoAssignee(assignee, userId, pId, str, FlowTypeEnum.ZCHGXXMSCLC.getValue(),task);
}
@ApiOperation(value = "完成任务", notes = "流程单个节点任务,直接完成任务")
@ApiImplicitParams({@ApiImplicitParam(name = "taskId", value = "任务id"),
@ApiImplicitParam(name = "userId", value = "完成任务用户Id")})
@@ -762,6 +886,11 @@ public class TodoTaskController extends BaseAction {
wrapper.eq("EXEC_STATUS",0);
long count = oaTaskExecService.count(wrapper);
processNew.setCommitStatus(count);
// 设置processNew表流程状态为已接收
LambdaUpdateWrapper<BusProcessNew> updateWrapper = new LambdaUpdateWrapper<>();
updateWrapper.in(BusProcessNew::getTaskId,taskIdList);
updateWrapper.set(BusProcessNew::getReceiveStatus,"已接收");
iBusProcessNewService.update(updateWrapper);
return processNew;
}
@@ -1864,6 +1993,34 @@ public class TodoTaskController extends BaseAction {
BusProcessNew one = busProcessNewList.get(0);
one.setMesg(object.toString());
iBusProcessNewService.saveOrUpdate(one);
QueryWrapper<BusProcessName> bpnQueryWrap = new QueryWrapper<>();
bpnQueryWrap.lambda().eq(BusProcessName::getPrcId,one.getPId());
BusProcessName busProcessName = this.iBusProcessNameService.getOne(bpnQueryWrap);
if (StringUtils.equals(busProcessName.getPrcType(),FlowTypeEnum.ZCZQYJLC.getValue())) {
object.put("prcId",busProcessName.getPrcId());
this.policySolicitOpinionEOService.batchInsert(object);
} else if (StringUtils.equals(busProcessName.getPrcType(),FlowTypeEnum.ZCHGXXMSCLC.getValue())) {
JSONObject jsonForm = object.getJSONObject("form");
// departmentType字段: value: undertaking 事业部 productPlanning 产品规划部
String departmentType = jsonForm.getString("departmentType");
if (StringUtils.equals(departmentType,"undertaking") && jsonForm.containsKey("sybDataList")) {
JSONArray sybDataListArr = jsonForm.getJSONArray("sybDataList");
List<ZchgxxmscSybDataEO> zchgxxmscSybDataEOList = new ArrayList<>();
ZchgxxmscSybDataEO zchgxxmscSybDataEO = null;
for (Object sybData : sybDataListArr) {
zchgxxmscSybDataEO = JSONObject.parseObject(JSONObject.toJSONString(sybData),ZchgxxmscSybDataEO.class);
zchgxxmscSybDataEO.setModifyTime(new Date());
zchgxxmscSybDataEOList.add(zchgxxmscSybDataEO);
}
this.zchgxxmscSybDataEOService.updateBatchById(zchgxxmscSybDataEOList);
} else if (StringUtils.equals(departmentType,"productPlanning") && jsonForm.containsKey("cpghbDataList")) {
// 保存产品规划部的责任人填写的信息
object.put("currentUserId",one.getUserId());
object.put("prcId",busProcessName.getPrcId());
this.zchgxxmscCpghbDataEOService.batchInsert(object);
}
}
return WrapMapper.ok("保存成功");
}
}
@@ -3103,4 +3260,57 @@ public class TodoTaskController extends BaseAction {
return "1";
}
/**
* 本接口仅提供法规系统调用
*/
@ApiOperation(value = "查询重点认证标准/政策合规性项目审查任务明细")
@GetMapping("/queryZchgxxmscTaskDetail")
public BusProcessNew queryZchgxxmscTaskDetail(@RequestParam Map<String,Object> params) {
String taskIds = (String) params.get("taskIds");
String prcId = (String) params.get("pId");
List<String> taskIdList = new ArrayList<>(Arrays.asList(taskIds.split(",")));
List<BusProcessNew> list = iBusProcessNewService.findNoExecuteBusProcessNewForEnd(taskIdList);
if (list.isEmpty()) {
return null;
}
BusProcessNew processNew = new BusProcessNew();
BeanUtils.copyProperties(list.get(0), processNew);
if(StringUtils.isNotBlank(prcId)){
List<Task> list2 = taskService.createTaskQuery().processInstanceId(prcId).active().list();
if(!list2.isEmpty()){
processNew.setNowTaskInfo(list2.get(0).getName());
}
}
JSONObject object3 = JSONObject.parseObject(list.get(0).getMesg());
List<ZchgxxmscSybDataEO> zchgxxmscSybDataEOList = this.zchgxxmscSybDataEOService.queryZchgxxmscSybDataEOList(params);
if (CollectionUtils.isNotEmpty(zchgxxmscSybDataEOList)) {
JSONObject jsonForm = object3.getJSONObject("form");
jsonForm.put("sybDataList",zchgxxmscSybDataEOList);
}
List<ZchgxxmscCpghbDataEO> zchgxxmscCpghbDataEOList = this.zchgxxmscCpghbDataEOService.queryZchgxxmscCpghbDataEOList(params);
if (CollectionUtils.isNotEmpty(zchgxxmscCpghbDataEOList)) {
JSONObject jsonForm = object3.getJSONObject("form");
jsonForm.put("cpghbDataList",zchgxxmscCpghbDataEOList);
}
processNew.setMesg(object3.toJSONString());
QueryWrapper wrapper = new QueryWrapper();
wrapper.eq("TODO_ID",processNew.getId());
wrapper.eq("EXEC_TYPE",2);
wrapper.eq("EXEC_STATUS",0);
long count = oaTaskExecService.count(wrapper);
processNew.setCommitStatus(count);
// 设置processNew表流程状态为已接收
LambdaUpdateWrapper<BusProcessNew> updateWrapper = new LambdaUpdateWrapper<>();
updateWrapper.in(BusProcessNew::getTaskId,taskIdList);
updateWrapper.set(BusProcessNew::getReceiveStatus,"已接收");
iBusProcessNewService.update(updateWrapper);
return processNew;
}
}
@@ -0,0 +1,32 @@
package com.ydw.bat.wkflow.business_main.datas.controller;
import com.ydw.bat.wkflow.business_main.datas.entity.PolicySolicitOpinionEO;
import com.ydw.bat.wkflow.business_main.datas.service.IPolicySolicitOpinionEOService;
import com.ydw.bat.wkflow.util.http.ResponseMessage;
import com.ydw.bat.wkflow.util.http.Result;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
import java.util.Map;
@RestController
@RequestMapping("/datas/policySolicitOpinion")
public class PolicySolicitOpinionEOController {
@Autowired
private IPolicySolicitOpinionEOService policySolicitOpinionEOService;
@ApiOperation(value = "查询政策征求意见列表")
@GetMapping("/queryPolicitOpinionEOList")
public ResponseMessage<List<PolicySolicitOpinionEO>> queryPolicitOpinionEOList(@RequestParam Map<String,Object> params) {
List<PolicySolicitOpinionEO> policySolicitOpinionEOList = this.policySolicitOpinionEOService.queryPolicitOpinionEOList(params);
return Result.success(policySolicitOpinionEOList);
}
}
@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
@@ -91,4 +92,9 @@ public class BusProcessName implements Serializable {
@TableField(exist = false)
private String startTaskTime;
@TableField("RESPONSIBLE_UNIT_DEADLINE_DATE")
private Date responsibleUnitDeadlineDate;
@TableField(exist = false)
private String taskDefinitionKey;
}
@@ -120,4 +120,9 @@ public class BusProcessNew implements Serializable {
@TableField( exist = false)
@ApiModelProperty(value = "当前节点信息")
private String nowTaskInfo;
@TableField("RECEIVE_STATUS")
@ApiModelProperty("接收状态")
private String receiveStatus;
}
@@ -0,0 +1,67 @@
package com.ydw.bat.wkflow.business_main.datas.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.util.Date;
/**
* 流程用户关系信息表 :流程中,存储用户上下级关系
* 作用:记录流程中,用户分配的上下级关系。
*/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("T_FLOW_USER_REL_INFO")
@ApiModel(value="FlowUserRelInfo对象", description="")
public class FlowUserRelInfo {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "主键")
@TableId(value = "id", type = IdType.UUID)
private String id;
@ApiModelProperty(value = "流程类型")
@TableField("flow_type")
private String flowType;
@ApiModelProperty(value = "数据类型")
@TableField("data_type")
private String dataType;
@ApiModelProperty(value = "用户id")
@TableField("user_id")
private String userId;
@ApiModelProperty(value = "上级用户id")
@TableField("parent_user_id")
private String parentUserId;
@ApiModelProperty(value = "标准id")
@TableField("stand_id")
private String standId;
@ApiModelProperty(value = "待办id")
@TableField("task_id")
private String taskId;
@ApiModelProperty(value = "流程实例id")
@TableField("acti_proc_inst_id")
private String actiProcInstId;
@ApiModelProperty(value = "创建时间")
@TableField("create_time")
private Date createTime;
@ApiModelProperty(value = "创建人")
@TableField("create_by")
private String createBy;
}
@@ -0,0 +1,88 @@
package com.ydw.bat.wkflow.business_main.datas.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.util.Date;
/**
* @Description: 政策征求意见列表
* @author: wangzhijiang
* @date: 2023-10-18
*/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("POLICY_SOLICIT_OPINION")
@ApiModel(value="PolicySolicitOpinion对象", description="")
public class PolicySolicitOpinionEO {
private static final long serialVersionUID=1L;
@TableId(value = "ID", type = IdType.UUID)
private String id;
@TableField("PRC_ID")
private String prcId;
@TableField("SAR_LAWS_INFO_ID")
private String sarLawsInfoId;
// 章节编号
@TableField("CHAPTER_NUMBER")
private String chapterNumber;
// 章节条目
@TableField("CHAPTER_ENTRIES")
private String chapterEntries;
// 修改前
@TableField("MODIFY_BEFORE")
private String modifyBefore;
// 修改后
@TableField("MODIFY_AFTER")
private String modifyAfter;
// 修改理由
@TableField("MODIFY_REASON")
private String modifyReason;
// 原因
@TableField("CAUSE")
private String cause;
// 附件id
@TableField("ANNEX_FILE_ID")
private String annexFileId;
// 处理意见
@TableField("HANDLING_OPINIONS")
private String handlingOpinions;
// 处理原因
@TableField("HANDLING_CAUSE")
private String handlingCause;
// 提出人/创建人
@TableField("CREATE_USER_ID")
private String createUserId;
// 创建时间
@TableField("CREATE_TIME")
private Date createTime;
// 更新人
@TableField("MODIFY_USER_ID")
private String modifyUserId;
// 更新时间
@TableField("MODIFY_TIME")
private Date modifyTime;
}
@@ -0,0 +1,43 @@
package com.ydw.bat.wkflow.business_main.datas.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
* @Description: 重点认证标准/政策合规性项目审查-产品规划部数据明细表
* @author: wangzhijiang
* @date: 2023-10-26
*/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("ZCHGXXMSC_CPGHB_DATA_DETAIL")
@ApiModel(value="ZchgxxmscCpghbDataDetail对象", description="")
public class ZchgxxmscCpghbDataDetailEO {
private static final long serialVersionUID=1L;
@TableId(value = "ID", type = IdType.UUID)
private String id;
// 流程实例id
@TableField("PRC_ID")
private String prcId;
// 产品规划部数据id
@TableField("ZCHGXXMSC_CPGHB_DATA_ID")
private String zchgxxmscCpghbDataId;
// 标准/政策id
@TableField("LAW_ID")
private String lawId;
// 输入值
@TableField("INPUT_VALUE")
private String inputValue;
}
@@ -0,0 +1,185 @@
package com.ydw.bat.wkflow.business_main.datas.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;
import java.util.Date;
import java.util.List;
/**
* @Description: 重点认证标准/政策合规性项目审查-产品规划部数据表
* @author: wangzhijiang
* @date: 2023-10-26
*/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("ZCHGXXMSC_CPGHB_DATA")
@ApiModel(value="ZchgxxmscCpghbData对象", description="")
public class ZchgxxmscCpghbDataEO {
private static final long serialVersionUID=1L;
@TableId(value = "ID", type = IdType.UUID)
private String id;
// 流程实例id
@TableField("PRC_ID")
private String prcId;
// 责任人用户id
@TableField("ZRR_USER_ID")
private String zrrUserId;
// 业务
@TableField("BUSINESS")
private String business;
// 平台
@TableField("PLATFORM")
private String platform;
// 项目
@TableField("PROJECT")
private String project;
// 项目描述
@TableField("PROJECT_DESCRIPTION")
private String projectDescription;
// 当前节点
@TableField("CURRENT_NODE")
private String currentNode;
// G0
@TableField("G_ZERO_DATE")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
private Date gZeroDate;
// G1
@TableField("G_ONE_DATE")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
private Date gOneDate;
// G2
@TableField("G_TWO_DATE")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
private Date gTwoDate;
// G3
@TableField("G_THREE_DATE")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
private Date gThreeDate;
// G4
@TableField("G_FOUR_DATE")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
private Date gFourDate;
// G5
@TableField("G_FIVE_DATE")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
private Date gFiveDate;
// G6
@TableField("G_SIX_DATE")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
private Date gSixDate;
// G7
@TableField("G_SEVEN_DATE")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
private Date gSevenDate;
// G8
@TableField("G_EIGHT_DATE")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
private Date gEightDate;
// G9
@TableField("G_NINE_DATE")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
private Date gNineDate;
// G10
@TableField("G_TEN_DATE")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
private Date gTenDate;
// G11
@TableField("G_ELEVEN_DATE")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
private Date gElevenDate;
// G12
@TableField("G_TWELVE_DATE")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
private Date gTwelveDate;
// G13
@TableField("G_THIRTEEN_DATE")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
private Date gThirteenDate;
// 提出人/创建人
@TableField("CREATE_USER_ID")
private String createUserId;
// 标准填写信息
@TableField("INFO_TABLE_DATA")
private String infoTableData;
// 概念状态
@TableField("CONCEPTUAL_STATE")
private String conceptualState;
// 概念计划下发时间
@TableField("CONCEPT_PLAN_RELEASE_TIME")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
private Date conceptPlanReleaseTime;
// 概念修订计划
@TableField("CONCEPT_REVISION_PLAN")
private String conceptRevisionPlan;
// 其它说明
@TableField("ADDITIONAL_NOTES")
private String additionalNotes;
// 创建时间
@TableField("CREATE_TIME")
private Date createTime;
// 更新人
@TableField("MODIFY_USER_ID")
private String modifyUserId;
// 更新时间
@TableField("MODIFY_TIME")
private Date modifyTime;
// @TableField(exist = false)
// private List<ZchgxxmscCpghbDataDetailEO> zchgxxmscCpghbDataDetailEOList;
}
@@ -0,0 +1,101 @@
package com.ydw.bat.wkflow.business_main.datas.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.util.Date;
/**
* @Description: 重点认证标准/政策合规性项目审查-事业部数据表
* @author: wangzhijiang
* @date: 2023-10-25
*/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("ZCHGXXMSC_SYB_DATA")
@ApiModel(value="ZchgxxmscSybData对象", description="")
public class ZchgxxmscSybDataEO {
private static final long serialVersionUID=1L;
@TableId(value = "ID", type = IdType.UUID)
private String id;
// 标准/政策id
@TableField("LAW_ID")
private String lawId;
// 流程实例id
@TableField("PRC_ID")
private String prcId;
// 责任人用户id
@TableField("ZRR_USER_ID")
private String zrrUserId;
// 数据来源
@TableField("DATA_SOURCE")
private String dataSource;
// 标准/政策编号
@TableField("LAW_CODE")
private String lawCode;
// 标准/政策名称
@TableField("LAW_NAME")
private String lawName;
// 产品类型
@TableField("PRODUCT_TYPE")
private String productType;
// 实施日期
@TableField("IMPL_TIME")
private String implTime;
// 实施要求
@TableField("IMPL_REQUIRE")
private String implRequire;
// 资源符合情况
@TableField("RESOURCE_ACCORDWITH_CIRCUMSTANCE")
private String resourceAccordwithCircumstance;
// 开发计划
@TableField("DEV_PLAN")
private String devPlan;
// sop时间
@TableField("SOP_DATE")
private String sopDate;
// 完成情况
@TableField("FINISH_CIRCUMSTANCE")
private String finishCircumstance;
// sop时间超过法规时限的空挡期的业务应对方案
@TableField("SOP_DATE_SOLUTIONS")
private String sopDateSolutions;
// 提出人/创建人
@TableField("CREATE_USER_ID")
private String createUserId;
// 创建时间
@TableField("CREATE_TIME")
private Date createTime;
// 更新人
@TableField("MODIFY_USER_ID")
private String modifyUserId;
// 更新时间
@TableField("MODIFY_TIME")
private Date modifyTime;
}
@@ -0,0 +1,11 @@
package com.ydw.bat.wkflow.business_main.datas.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ydw.bat.wkflow.business_main.datas.entity.FlowUserRelInfo;
/**
* 流程用户关系信息表 :流程中,存储用户上下级关系
* 作用:记录流程中,用户分配的上下级关系。
*/
public interface FlowUserRelInfoMapper extends BaseMapper<FlowUserRelInfo> {
}
@@ -0,0 +1,7 @@
package com.ydw.bat.wkflow.business_main.datas.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ydw.bat.wkflow.business_main.datas.entity.PolicySolicitOpinionEO;
public interface PolicySolicitOpinionEOMapper extends BaseMapper<PolicySolicitOpinionEO> {
}
@@ -0,0 +1,7 @@
package com.ydw.bat.wkflow.business_main.datas.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ydw.bat.wkflow.business_main.datas.entity.ZchgxxmscCpghbDataDetailEO;
public interface ZchgxxmscCpghbDataDetailEOMapper extends BaseMapper<ZchgxxmscCpghbDataDetailEO> {
}
@@ -0,0 +1,7 @@
package com.ydw.bat.wkflow.business_main.datas.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ydw.bat.wkflow.business_main.datas.entity.ZchgxxmscCpghbDataEO;
public interface ZchgxxmscCpghbDataEOMapper extends BaseMapper<ZchgxxmscCpghbDataEO> {
}
@@ -0,0 +1,7 @@
package com.ydw.bat.wkflow.business_main.datas.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ydw.bat.wkflow.business_main.datas.entity.ZchgxxmscSybDataEO;
public interface ZchgxxmscSybDataEOMapper extends BaseMapper<ZchgxxmscSybDataEO> {
}
@@ -0,0 +1,17 @@
package com.ydw.bat.wkflow.business_main.datas.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ydw.bat.wkflow.business_main.datas.entity.FlowUserRelInfo;
import java.util.List;
/**
* 流程用户信息:流程中,存储用户上下级关系
*/
public interface IFlowUserRelInfoService extends IService<FlowUserRelInfo> {
/**
* 批量新增流程用户上下级关系
* @param flowUserRelInfoList
*/
void saveBatchFlowUserRelInfo(List<FlowUserRelInfo> flowUserRelInfoList);
}
@@ -0,0 +1,15 @@
package com.ydw.bat.wkflow.business_main.datas.service;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ydw.bat.wkflow.business_main.datas.entity.PolicySolicitOpinionEO;
import java.util.List;
import java.util.Map;
public interface IPolicySolicitOpinionEOService extends IService<PolicySolicitOpinionEO> {
void batchInsert(JSONObject json);
List<PolicySolicitOpinionEO> queryPolicitOpinionEOList(Map<String,Object> params);
}
@@ -0,0 +1,13 @@
package com.ydw.bat.wkflow.business_main.datas.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ydw.bat.wkflow.business_main.datas.entity.ZchgxxmscCpghbDataDetailEO;
import java.util.List;
public interface IZchgxxmscCpghbDataDetailEOService extends IService<ZchgxxmscCpghbDataDetailEO> {
void batchInsert(List<ZchgxxmscCpghbDataDetailEO> zchgxxmscCpghbDataDetailEOList);
List<ZchgxxmscCpghbDataDetailEO> queryZchgxxmscCpghbDataDetailEOList(List<String> zchgxxmscCpghbDataIdList);
}
@@ -0,0 +1,15 @@
package com.ydw.bat.wkflow.business_main.datas.service;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ydw.bat.wkflow.business_main.datas.entity.ZchgxxmscCpghbDataEO;
import java.util.List;
import java.util.Map;
public interface IZchgxxmscCpghbDataEOService extends IService<ZchgxxmscCpghbDataEO> {
void batchInsert(JSONObject json);
List<ZchgxxmscCpghbDataEO> queryZchgxxmscCpghbDataEOList(Map<String,Object> params);
}
@@ -0,0 +1,14 @@
package com.ydw.bat.wkflow.business_main.datas.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ydw.bat.wkflow.business_main.datas.entity.ZchgxxmscSybDataEO;
import java.util.List;
import java.util.Map;
public interface IZchgxxmscSybDataEOService extends IService<ZchgxxmscSybDataEO> {
void batchInsert(List<ZchgxxmscSybDataEO> zchgxxmscSybDataEOList);
List<ZchgxxmscSybDataEO> queryZchgxxmscSybDataEOList(Map<String,Object> params);
}
@@ -0,0 +1,42 @@
package com.ydw.bat.wkflow.business_main.datas.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ydw.bat.wkflow.business_main.datas.entity.FlowUserRelInfo;
import com.ydw.bat.wkflow.business_main.datas.mapper.FlowUserRelInfoMapper;
import com.ydw.bat.wkflow.business_main.datas.service.IFlowUserRelInfoService;
import org.apache.commons.collections4.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
/**
* 流程用户信息:流程中,存储用户上下级关系
* 作用:记录流程每一个节点的用户id
*/
@Service
@Transactional(value = "transactionManager", propagation = Propagation.REQUIRED, rollbackFor = Throwable.class)
public class FlowUserRelInfoServiceImpl extends ServiceImpl<FlowUserRelInfoMapper, FlowUserRelInfo> implements IFlowUserRelInfoService {
@Autowired
private FlowUserRelInfoMapper flowUserRelInfoMapper;
@Override
public void saveBatchFlowUserRelInfo(List<FlowUserRelInfo> flowUserRelInfoList) {
if(CollectionUtils.isNotEmpty(flowUserRelInfoList)){
FlowUserRelInfo flowUserRelInfo = flowUserRelInfoList.get(0);
QueryWrapper<FlowUserRelInfo> deleteWrap = new QueryWrapper<>();
deleteWrap.lambda().eq(FlowUserRelInfo::getParentUserId,flowUserRelInfo.getParentUserId());
deleteWrap.lambda().eq(FlowUserRelInfo::getDataType,flowUserRelInfo.getDataType());
deleteWrap.lambda().eq(FlowUserRelInfo::getFlowType,flowUserRelInfo.getFlowType());
deleteWrap.lambda().eq(FlowUserRelInfo::getActiProcInstId,flowUserRelInfo.getActiProcInstId());
this.flowUserRelInfoMapper.delete(deleteWrap);
this.saveBatch(flowUserRelInfoList);
}
}
}
@@ -0,0 +1,130 @@
package com.ydw.bat.wkflow.business_main.datas.service.impl;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.netflix.discovery.converters.Auto;
import com.ydw.bat.wkflow.business_main.datas.entity.FlowUserRelInfo;
import com.ydw.bat.wkflow.business_main.datas.entity.PolicySolicitOpinionEO;
import com.ydw.bat.wkflow.business_main.datas.mapper.PolicySolicitOpinionEOMapper;
import com.ydw.bat.wkflow.business_main.datas.service.IFlowUserRelInfoService;
import com.ydw.bat.wkflow.business_main.datas.service.IPolicySolicitOpinionEOService;
import com.ydw.bat.wkflow.util.enums.FlowTypeEnum;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.*;
import java.util.stream.Collectors;
@Service
public class PolicySolicitOpinionEOServiceImpl extends ServiceImpl<PolicySolicitOpinionEOMapper, PolicySolicitOpinionEO> implements IPolicySolicitOpinionEOService {
@Autowired
private IFlowUserRelInfoService flowUserRelInfoService;
@Override
public void batchInsert(JSONObject json) {
String currentUserId = json.getString("currentUserId");
String prcId = json.getString("prcId");
String removeIds = json.getString("removeIds");
JSONObject jsonForm = json.getJSONObject("form");
if (StringUtils.isNotEmpty(removeIds)) {
List<String> removeIdList = Arrays.asList(removeIds.split(","));
this.removeByIds(removeIdList);
}
JSONArray policySolicitOpinionEOArr = json.getJSONArray("policySolicitOpinionEOList");
List<PolicySolicitOpinionEO> addPolicySolicitOpinionEOList = new ArrayList<>();
List<PolicySolicitOpinionEO> updatePolicySolicitOpinionEOList = new ArrayList<>();
PolicySolicitOpinionEO policySolicitOpinionEO = null;
for (Object policySolicitOpinion : policySolicitOpinionEOArr) {
policySolicitOpinionEO = JSONObject.parseObject(JSONObject.toJSONString(policySolicitOpinion), PolicySolicitOpinionEO.class);
policySolicitOpinionEO.setPrcId(prcId);
policySolicitOpinionEO.setSarLawsInfoId(jsonForm.getString("lawsId"));
if (StringUtils.isEmpty(policySolicitOpinionEO.getId())) {
policySolicitOpinionEO.setCreateUserId(currentUserId);
policySolicitOpinionEO.setCreateTime(new Date());
addPolicySolicitOpinionEOList.add(policySolicitOpinionEO);
} else {
policySolicitOpinionEO.setModifyUserId(currentUserId);
policySolicitOpinionEO.setModifyTime(new Date());
updatePolicySolicitOpinionEOList.add(policySolicitOpinionEO);
}
}
if (CollectionUtils.isNotEmpty(addPolicySolicitOpinionEOList)) {
this.saveBatch(addPolicySolicitOpinionEOList);
}
if (CollectionUtils.isNotEmpty(updatePolicySolicitOpinionEOList)) {
this.updateBatchById(updatePolicySolicitOpinionEOList);
}
}
@Override
public List<PolicySolicitOpinionEO> queryPolicitOpinionEOList(Map<String, Object> params) {
List<PolicySolicitOpinionEO> result = new ArrayList<>();
String taskDefinitionKey = (String) params.get("taskDefinitionKey");
String currentUserId = (String) params.get("currentUserId");
String prcId = (String) params.get("prcId");
QueryWrapper<PolicySolicitOpinionEO> psoEoQueryWrap = new QueryWrapper<>();
psoEoQueryWrap.lambda().eq(PolicySolicitOpinionEO::getPrcId, prcId);
if (StringUtils.equals(taskDefinitionKey, "PolicySolicitOpinionProcessKey8")) {
// 责任人处理
psoEoQueryWrap.lambda().eq(PolicySolicitOpinionEO::getCreateUserId, currentUserId);
} else if (StringUtils.equals(taskDefinitionKey, "PolicySolicitOpinionProcessKey9")) {
// 责任对接人汇总
// 查询当前责任对接人分配出去的责任人,获取这些责任人填写的征求意见列表
List<String> userIdList = new ArrayList<>();
userIdList.add(currentUserId);
QueryWrapper<FlowUserRelInfo> furQueryWrap = new QueryWrapper<>();
furQueryWrap.lambda().eq(FlowUserRelInfo::getActiProcInstId, prcId);
furQueryWrap.lambda().eq(FlowUserRelInfo::getFlowType, FlowTypeEnum.ZCZQYJLC.getValue());
furQueryWrap.lambda().eq(FlowUserRelInfo::getDataType, "zrdjrfpzrr"); // 责任对接人分配责任人
furQueryWrap.lambda().eq(FlowUserRelInfo::getParentUserId, currentUserId);
List<FlowUserRelInfo> zrdjrFlowUserRelInfoList = this.flowUserRelInfoService.list(furQueryWrap);
if (CollectionUtils.isNotEmpty(zrdjrFlowUserRelInfoList)) {
userIdList.addAll(zrdjrFlowUserRelInfoList.stream().map(FlowUserRelInfo::getUserId).distinct().collect(Collectors.toList()));
}
psoEoQueryWrap.lambda().in(PolicySolicitOpinionEO::getCreateUserId, userIdList);
} else if (StringUtils.equals(taskDefinitionKey, "PolicySolicitOpinionProcessKey10")) {
// 责任单位审批
// 查询当前责任单位被分配出去的责任人对接人,根据责任对接人获取分配出去的责任人,获取这些责任人填写的征求意见列表
List<String> userIdList = new ArrayList<>();
QueryWrapper<FlowUserRelInfo> furQueryWrap = new QueryWrapper<>();
furQueryWrap.lambda().eq(FlowUserRelInfo::getActiProcInstId, prcId);
furQueryWrap.lambda().eq(FlowUserRelInfo::getFlowType, FlowTypeEnum.ZCZQYJLC.getValue());
furQueryWrap.lambda().eq(FlowUserRelInfo::getDataType, "zrdjrfpzrdw"); // 责任对接人分配责任单位审批
furQueryWrap.lambda().eq(FlowUserRelInfo::getUserId, currentUserId);
List<FlowUserRelInfo> zrdwflowUserRelInfoList = this.flowUserRelInfoService.list(furQueryWrap);
if (CollectionUtils.isNotEmpty(zrdwflowUserRelInfoList)) {
List<String> zrdjrUserIdList = zrdwflowUserRelInfoList.stream().map(FlowUserRelInfo::getParentUserId).distinct().collect(Collectors.toList());
userIdList.addAll(zrdjrUserIdList);
QueryWrapper<FlowUserRelInfo> zrdjrQueryWrap = new QueryWrapper<>();
zrdjrQueryWrap.lambda().eq(FlowUserRelInfo::getActiProcInstId, prcId);
zrdjrQueryWrap.lambda().eq(FlowUserRelInfo::getFlowType, FlowTypeEnum.ZCZQYJLC.getValue());
zrdjrQueryWrap.lambda().eq(FlowUserRelInfo::getDataType, "zrdjrfpzrr"); // 责任对接人分配责任人
zrdjrQueryWrap.lambda().in(FlowUserRelInfo::getParentUserId, zrdjrUserIdList);
List<FlowUserRelInfo> zrdjrFlowUserRelInfoList = this.flowUserRelInfoService.list(zrdjrQueryWrap);
if (CollectionUtils.isNotEmpty(zrdjrFlowUserRelInfoList)) {
userIdList.addAll(zrdjrFlowUserRelInfoList.stream().map(FlowUserRelInfo::getUserId).distinct().collect(Collectors.toList()));
}
} else {
userIdList.add("设置一个无法满足的条件");
}
psoEoQueryWrap.lambda().in(PolicySolicitOpinionEO::getCreateUserId, userIdList);
}
psoEoQueryWrap.orderByAsc("create_time");
result = this.list(psoEoQueryWrap);
return result;
}
}
@@ -0,0 +1,36 @@
package com.ydw.bat.wkflow.business_main.datas.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ydw.bat.wkflow.business_main.datas.entity.ZchgxxmscCpghbDataDetailEO;
import com.ydw.bat.wkflow.business_main.datas.mapper.ZchgxxmscCpghbDataDetailEOMapper;
import com.ydw.bat.wkflow.business_main.datas.service.IZchgxxmscCpghbDataDetailEOService;
import org.apache.commons.collections.CollectionUtils;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
@Service
public class ZchgxxmscCpghbDataDetailEOServiceImpl extends ServiceImpl<ZchgxxmscCpghbDataDetailEOMapper, ZchgxxmscCpghbDataDetailEO> implements IZchgxxmscCpghbDataDetailEOService {
@Override
public void batchInsert(List<ZchgxxmscCpghbDataDetailEO> zchgxxmscCpghbDataDetailEOList) {
if (CollectionUtils.isNotEmpty(zchgxxmscCpghbDataDetailEOList)) {
this.saveBatch(zchgxxmscCpghbDataDetailEOList);
}
}
@Override
public List<ZchgxxmscCpghbDataDetailEO> queryZchgxxmscCpghbDataDetailEOList(List<String> zchgxxmscCpghbDataIdList) {
List<ZchgxxmscCpghbDataDetailEO> result = new ArrayList<>();
if (CollectionUtils.isNotEmpty(zchgxxmscCpghbDataIdList)) {
zchgxxmscCpghbDataIdList = zchgxxmscCpghbDataIdList.stream().distinct().collect(Collectors.toList());
QueryWrapper<ZchgxxmscCpghbDataDetailEO> cpghbDataDetailQueryWrap = new QueryWrapper<>();
cpghbDataDetailQueryWrap.lambda().in(ZchgxxmscCpghbDataDetailEO::getZchgxxmscCpghbDataId,zchgxxmscCpghbDataIdList);
result = this.list(cpghbDataDetailQueryWrap);
}
return result;
}
}
@@ -0,0 +1,134 @@
package com.ydw.bat.wkflow.business_main.datas.service.impl;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ydw.bat.wkflow.business_main.datas.entity.FlowUserRelInfo;
import com.ydw.bat.wkflow.business_main.datas.entity.ZchgxxmscCpghbDataEO;
import com.ydw.bat.wkflow.business_main.datas.mapper.ZchgxxmscCpghbDataEOMapper;
import com.ydw.bat.wkflow.business_main.datas.service.IFlowUserRelInfoService;
import com.ydw.bat.wkflow.business_main.datas.service.IZchgxxmscCpghbDataDetailEOService;
import com.ydw.bat.wkflow.business_main.datas.service.IZchgxxmscCpghbDataEOService;
import com.ydw.bat.wkflow.util.enums.FlowTypeEnum;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.*;
import java.util.stream.Collectors;
@Service
public class ZchgxxmscCpghbDataEOServiceImpl extends ServiceImpl<ZchgxxmscCpghbDataEOMapper, ZchgxxmscCpghbDataEO> implements IZchgxxmscCpghbDataEOService {
@Autowired
private IFlowUserRelInfoService flowUserRelInfoService;
@Autowired
private IZchgxxmscCpghbDataDetailEOService zchgxxmscCpghbDataDetailEOService;
@Override
public void batchInsert(JSONObject json) {
String currentUserId = json.getString("currentUserId");
String prcId = json.getString("prcId");
String removeIds = json.getString("removeIds");
JSONObject jsonForm = json.getJSONObject("form");
if (StringUtils.isNotEmpty(removeIds)) {
List<String> removeIdList = Arrays.asList(removeIds.split(","));
this.removeByIds(removeIdList);
}
JSONArray cpghbDataListArr = jsonForm.getJSONArray("cpghbDataList");
List<ZchgxxmscCpghbDataEO> addZchgxxmscCpghbDataEOList = new ArrayList<>();
List<ZchgxxmscCpghbDataEO> updateZchgxxmscCpghbDataEOList = new ArrayList<>();
ZchgxxmscCpghbDataEO zchgxxmscCpghbDataEO = null;
for (Object cpghbData : cpghbDataListArr) {
zchgxxmscCpghbDataEO = JSONObject.parseObject(JSONObject.toJSONString(cpghbData), ZchgxxmscCpghbDataEO.class);
zchgxxmscCpghbDataEO.setPrcId(prcId);
if (StringUtils.isEmpty(zchgxxmscCpghbDataEO.getId())) {
zchgxxmscCpghbDataEO.setId(UUID.randomUUID().toString());
zchgxxmscCpghbDataEO.setZrrUserId(currentUserId);
zchgxxmscCpghbDataEO.setCreateUserId(currentUserId);
zchgxxmscCpghbDataEO.setCreateTime(new Date());
addZchgxxmscCpghbDataEOList.add(zchgxxmscCpghbDataEO);
} else {
zchgxxmscCpghbDataEO.setModifyUserId(currentUserId);
zchgxxmscCpghbDataEO.setModifyTime(new Date());
updateZchgxxmscCpghbDataEOList.add(zchgxxmscCpghbDataEO);
}
}
if (CollectionUtils.isNotEmpty(addZchgxxmscCpghbDataEOList)) {
this.saveBatch(addZchgxxmscCpghbDataEOList);
}
if (CollectionUtils.isNotEmpty(updateZchgxxmscCpghbDataEOList)) {
this.updateBatchById(updateZchgxxmscCpghbDataEOList);
}
}
@Override
public List<ZchgxxmscCpghbDataEO> queryZchgxxmscCpghbDataEOList(Map<String, Object> params) {
List<ZchgxxmscCpghbDataEO> result = new ArrayList<>();
String taskDefinitionKey = (String) params.get("taskDefinitionKey");
String currentUserId = (String) params.get("currentUserId");
String prcId = (String) params.get("pId");
QueryWrapper<ZchgxxmscCpghbDataEO> cpghbEoQueryWrap = new QueryWrapper<>();
cpghbEoQueryWrap.lambda().eq(ZchgxxmscCpghbDataEO::getPrcId, prcId);
if (StringUtils.equals(taskDefinitionKey, "PolicyComplianceProgramReviewProcessKey8")) {
// 责任人处理
cpghbEoQueryWrap.lambda().eq(ZchgxxmscCpghbDataEO::getZrrUserId, currentUserId);
} else if (StringUtils.equals(taskDefinitionKey, "PolicyComplianceProgramReviewProcessKey9")) {
// 责任对接人汇总
// 查询当前责任对接人分配出去的责任人,获取这些责任人填写的数据列表
List<String> userIdList = new ArrayList<>();
userIdList.add(currentUserId);
QueryWrapper<FlowUserRelInfo> furQueryWrap = new QueryWrapper<>();
furQueryWrap.lambda().eq(FlowUserRelInfo::getActiProcInstId, prcId);
furQueryWrap.lambda().eq(FlowUserRelInfo::getFlowType, FlowTypeEnum.ZCHGXXMSCLC.getValue());
furQueryWrap.lambda().eq(FlowUserRelInfo::getDataType, "zrdjrfpzrr"); // 责任对接人分配责任人
furQueryWrap.lambda().eq(FlowUserRelInfo::getParentUserId, currentUserId);
List<FlowUserRelInfo> zrdjrFlowUserRelInfoList = this.flowUserRelInfoService.list(furQueryWrap);
if (CollectionUtils.isNotEmpty(zrdjrFlowUserRelInfoList)) {
userIdList.addAll(zrdjrFlowUserRelInfoList.stream().map(FlowUserRelInfo::getUserId).distinct().collect(Collectors.toList()));
}
cpghbEoQueryWrap.lambda().in(ZchgxxmscCpghbDataEO::getZrrUserId, userIdList);
} else if (StringUtils.equals(taskDefinitionKey, "PolicyComplianceProgramReviewProcessKey10")) {
// 责任单位审批
// 查询当前责任单位被分配出去的责任人对接人,根据责任对接人获取分配出去的责任人,获取这些责任人填写的数据列表
List<String> userIdList = new ArrayList<>();
QueryWrapper<FlowUserRelInfo> furQueryWrap = new QueryWrapper<>();
furQueryWrap.lambda().eq(FlowUserRelInfo::getActiProcInstId, prcId);
furQueryWrap.lambda().eq(FlowUserRelInfo::getFlowType, FlowTypeEnum.ZCHGXXMSCLC.getValue());
furQueryWrap.lambda().eq(FlowUserRelInfo::getDataType, "zrdjrfpzrdw"); // 责任对接人分配责任单位审批
furQueryWrap.lambda().eq(FlowUserRelInfo::getUserId, currentUserId);
List<FlowUserRelInfo> zrdwflowUserRelInfoList = this.flowUserRelInfoService.list(furQueryWrap);
if (CollectionUtils.isNotEmpty(zrdwflowUserRelInfoList)) {
List<String> zrdjrUserIdList = zrdwflowUserRelInfoList.stream().map(FlowUserRelInfo::getParentUserId).distinct().collect(Collectors.toList());
userIdList.addAll(zrdjrUserIdList);
QueryWrapper<FlowUserRelInfo> zrdjrQueryWrap = new QueryWrapper<>();
zrdjrQueryWrap.lambda().eq(FlowUserRelInfo::getActiProcInstId, prcId);
zrdjrQueryWrap.lambda().eq(FlowUserRelInfo::getFlowType, FlowTypeEnum.ZCHGXXMSCLC.getValue());
zrdjrQueryWrap.lambda().eq(FlowUserRelInfo::getDataType, "zrdjrfpzrr"); // 责任对接人分配责任人
zrdjrQueryWrap.lambda().in(FlowUserRelInfo::getParentUserId, zrdjrUserIdList);
List<FlowUserRelInfo> zrdjrFlowUserRelInfoList = this.flowUserRelInfoService.list(zrdjrQueryWrap);
if (CollectionUtils.isNotEmpty(zrdjrFlowUserRelInfoList)) {
userIdList.addAll(zrdjrFlowUserRelInfoList.stream().map(FlowUserRelInfo::getUserId).distinct().collect(Collectors.toList()));
}
} else {
userIdList.add("设置一个无法满足的条件");
}
cpghbEoQueryWrap.lambda().in(ZchgxxmscCpghbDataEO::getZrrUserId, userIdList);
}
cpghbEoQueryWrap.orderByAsc("create_time");
result = this.list(cpghbEoQueryWrap);
return result;
}
}
@@ -0,0 +1,95 @@
package com.ydw.bat.wkflow.business_main.datas.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ydw.bat.wkflow.business_main.datas.entity.FlowUserRelInfo;
import com.ydw.bat.wkflow.business_main.datas.entity.ZchgxxmscSybDataEO;
import com.ydw.bat.wkflow.business_main.datas.mapper.ZchgxxmscSybDataEOMapper;
import com.ydw.bat.wkflow.business_main.datas.service.IFlowUserRelInfoService;
import com.ydw.bat.wkflow.business_main.datas.service.IZchgxxmscSybDataEOService;
import com.ydw.bat.wkflow.util.enums.FlowTypeEnum;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.*;
import java.util.stream.Collectors;
@Service
public class ZchgxxmscSybDataEOServiceImpl extends ServiceImpl<ZchgxxmscSybDataEOMapper, ZchgxxmscSybDataEO> implements IZchgxxmscSybDataEOService {
@Autowired
private IFlowUserRelInfoService flowUserRelInfoService;
@Override
public void batchInsert(List<ZchgxxmscSybDataEO> zchgxxmscSybDataEOList) {
if (CollectionUtils.isNotEmpty(zchgxxmscSybDataEOList)) {
this.saveBatch(zchgxxmscSybDataEOList);
}
}
@Override
public List<ZchgxxmscSybDataEO> queryZchgxxmscSybDataEOList(Map<String, Object> params) {
List<ZchgxxmscSybDataEO> result = new ArrayList<>();
String taskDefinitionKey = (String) params.get("taskDefinitionKey");
String currentUserId = (String) params.get("currentUserId");
String prcId = (String) params.get("pId");
QueryWrapper<ZchgxxmscSybDataEO> sybEoQueryWrap = new QueryWrapper<>();
sybEoQueryWrap.lambda().eq(ZchgxxmscSybDataEO::getPrcId, prcId);
if (StringUtils.equals(taskDefinitionKey, "PolicyComplianceProgramReviewProcessKey8")) {
// 责任人处理
sybEoQueryWrap.lambda().eq(ZchgxxmscSybDataEO::getZrrUserId, currentUserId);
} else if (StringUtils.equals(taskDefinitionKey, "PolicyComplianceProgramReviewProcessKey9")) {
// 责任对接人汇总
// 查询当前责任对接人分配出去的责任人,获取这些责任人填写的数据列表
List<String> userIdList = new ArrayList<>();
userIdList.add(currentUserId);
QueryWrapper<FlowUserRelInfo> furQueryWrap = new QueryWrapper<>();
furQueryWrap.lambda().eq(FlowUserRelInfo::getActiProcInstId, prcId);
furQueryWrap.lambda().eq(FlowUserRelInfo::getFlowType, FlowTypeEnum.ZCHGXXMSCLC.getValue());
furQueryWrap.lambda().eq(FlowUserRelInfo::getDataType, "zrdjrfpzrr"); // 责任对接人分配责任人
furQueryWrap.lambda().eq(FlowUserRelInfo::getParentUserId, currentUserId);
List<FlowUserRelInfo> zrdjrFlowUserRelInfoList = this.flowUserRelInfoService.list(furQueryWrap);
if (CollectionUtils.isNotEmpty(zrdjrFlowUserRelInfoList)) {
userIdList.addAll(zrdjrFlowUserRelInfoList.stream().map(FlowUserRelInfo::getUserId).distinct().collect(Collectors.toList()));
}
sybEoQueryWrap.lambda().in(ZchgxxmscSybDataEO::getZrrUserId, userIdList);
} else if (StringUtils.equals(taskDefinitionKey, "PolicyComplianceProgramReviewProcessKey10")) {
// 责任单位审批
// 查询当前责任单位被分配出去的责任人对接人,根据责任对接人获取分配出去的责任人,获取这些责任人填写的数据列表
List<String> userIdList = new ArrayList<>();
QueryWrapper<FlowUserRelInfo> furQueryWrap = new QueryWrapper<>();
furQueryWrap.lambda().eq(FlowUserRelInfo::getActiProcInstId, prcId);
furQueryWrap.lambda().eq(FlowUserRelInfo::getFlowType, FlowTypeEnum.ZCHGXXMSCLC.getValue());
furQueryWrap.lambda().eq(FlowUserRelInfo::getDataType, "zrdjrfpzrdw"); // 责任对接人分配责任单位审批
furQueryWrap.lambda().eq(FlowUserRelInfo::getUserId, currentUserId);
List<FlowUserRelInfo> zrdwflowUserRelInfoList = this.flowUserRelInfoService.list(furQueryWrap);
if (CollectionUtils.isNotEmpty(zrdwflowUserRelInfoList)) {
List<String> zrdjrUserIdList = zrdwflowUserRelInfoList.stream().map(FlowUserRelInfo::getParentUserId).distinct().collect(Collectors.toList());
userIdList.addAll(zrdjrUserIdList);
QueryWrapper<FlowUserRelInfo> zrdjrQueryWrap = new QueryWrapper<>();
zrdjrQueryWrap.lambda().eq(FlowUserRelInfo::getActiProcInstId, prcId);
zrdjrQueryWrap.lambda().eq(FlowUserRelInfo::getFlowType, FlowTypeEnum.ZCHGXXMSCLC.getValue());
zrdjrQueryWrap.lambda().eq(FlowUserRelInfo::getDataType, "zrdjrfpzrr"); // 责任对接人分配责任人
zrdjrQueryWrap.lambda().in(FlowUserRelInfo::getParentUserId, zrdjrUserIdList);
List<FlowUserRelInfo> zrdjrFlowUserRelInfoList = this.flowUserRelInfoService.list(zrdjrQueryWrap);
if (CollectionUtils.isNotEmpty(zrdjrFlowUserRelInfoList)) {
userIdList.addAll(zrdjrFlowUserRelInfoList.stream().map(FlowUserRelInfo::getUserId).distinct().collect(Collectors.toList()));
}
} else {
userIdList.add("设置一个无法满足的条件");
}
sybEoQueryWrap.lambda().in(ZchgxxmscSybDataEO::getZrrUserId, userIdList);
}
sybEoQueryWrap.orderByAsc("create_time");
result = this.list(sybEoQueryWrap);
return result;
}
}
@@ -59,4 +59,19 @@ public class CreateMQService {
}
}
/**
* @Description: 发送OA待阅
* @author: wangzhijiang
* @date: 2023-10-27
* @Param: @param busProcessNew
* @return:
*/
public void sendToBeReadMq(BusProcessNew busProcessNew) {
if (oaFlag) {
//发送消息队列
this.rabbitTemplate.convertAndSend("sendToBeRead-exchange_MQ_GSAR_RELEASE", "sendToBeRead-key_MQ_GSAR_RELEASE", busProcessNew);
}
}
}
@@ -0,0 +1,171 @@
package com.ydw.bat.wkflow.business_mq.service;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.rabbitmq.client.Channel;
import com.ydw.bat.wkflow.business_auth.LawsUserInfoService;
import com.ydw.bat.wkflow.business_main.datas.entity.*;
import com.ydw.bat.wkflow.business_main.datas.mapper.SendTodoLogMapper;
import com.ydw.bat.wkflow.business_oa.utils.EmailUtils;
import com.ydw.bat.wkflow.business_oa.webService.service.WebServiceOAService;
import com.ydw.bat.wkflow.business_oa.webService.todoResult.NotifyTodoAppResult;
import net.sf.json.JSONObject;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.amqp.rabbit.annotation.Exchange;
import org.springframework.amqp.rabbit.annotation.Queue;
import org.springframework.amqp.rabbit.annotation.QueueBinding;
import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.amqp.support.AmqpHeaders;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.messaging.Message;
import org.springframework.stereotype.Component;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@Component
public class SendToBeReadMQService {
private static final Logger logger = LoggerFactory.getLogger(SendToBeReadMQService.class);
@Autowired
private CreateMQService convertMq;
@Autowired
private EmailUtils emailUtils;
@Autowired
private WebServiceOAService webServiceOAService;
@Autowired
private SendTodoLogMapper sendTodoLogMapper;
@Autowired
private LawsUserInfoService lawsUserInfoService;
@RabbitListener(bindings = @QueueBinding(
value = @Queue(value = "createMQToBeRead_SQ_GSAR_RELEASE", durable = "true"),
exchange = @Exchange(value = "sendToBeRead-exchange_MQ_GSAR_RELEASE", ignoreDeclarationExceptions = "true"),
key = "sendToBeRead-key_MQ_GSAR_RELEASE"))
public void createMQ(BusProcessNew object, Message message, Channel channel) throws Exception {
try {
try {
Thread.sleep(5000);
// 发送OA待阅
insertOrUpdateInfo(object);
} catch (InterruptedException e) {
logger.error(e.toString());
Thread.currentThread().interrupt();
}
} catch (Exception e) {
logger.error("消息队列进入添加数据方法前失败!");
logger.error(e.getMessage(), e);
} finally {
Long tag = (Long) message.getHeaders().get(AmqpHeaders.DELIVERY_TAG);
channel.basicAck(tag, false);
logger.debug("消息确认成功!!!!!!!!!");
}
}
public void insertOrUpdateInfo(BusProcessNew object) throws Exception {
try {
NotifyTodoAppResult todoAppResult = webServiceOAService.sendToBeRead(object);
SimpleDateFormat sdf = new SimpleDateFormat("yyy-MM-dd HH:mm:ss");
if (todoAppResult.getSIGN().equals("0") || todoAppResult.getMASSAGE().equals("操作成功")) {
QueryWrapper wrapper = new QueryWrapper();
wrapper.eq("TODO_ID", object.getId());
wrapper.eq("MSG_TYPE", "0");
List<SendTodoLog> list = sendTodoLogMapper.selectList(wrapper);
if (!list.isEmpty()) {
SendTodoLog sendTodoLog = list.get(0);
sendTodoLog.setMsgStatus("2");
sendTodoLog.setOperMesg(todoAppResult.getMASSAGE());
sendTodoLog.setCreateTime(sdf.format(new Date()));
sendTodoLog.setUpdateTime(sdf.format(new Date()));
sendTodoLogMapper.updateById(sendTodoLog);
} else {
sendTodoSave(object, sdf, "2", todoAppResult.getMASSAGE());
}
} else {
// 重试发送待办
logger.info("重试发送待办");
this.restartSendMq(object, todoAppResult.getMASSAGE());
}
} catch (Exception e) {
logger.error(e.getMessage(), e);
this.restartSendMq(object, e.getMessage());
}
}
public void restartSendMq(BusProcessNew object, String operMesg) throws Exception {
QueryWrapper wrapper = new QueryWrapper();
wrapper.eq("TODO_ID", object.getId());
wrapper.eq("MSG_TYPE", "0");
List<SendTodoLog> list = sendTodoLogMapper.selectList(wrapper);
SimpleDateFormat sdf = new SimpleDateFormat("yyy-MM-dd HH:mm:ss");
if (!list.isEmpty()) {
SendTodoLog sendTodoLog = list.get(0);
int againNumNew = Integer.valueOf(sendTodoLog.getErrNum());
if (againNumNew >= 6) {
ResponseMessage<UserVO> byId = lawsUserInfoService.getById("WY8J26MH23");
// 发送待办 或 发送给管理员邮箱
List<String> emailList = new ArrayList<>();
// 占时指定admin用户邮箱
emailList.add(byId == null ? "" : (byId.getData().getEmail() == null ? "" : byId.getData().getEmail()));
String[] arr = emailList.toArray(new String[emailList.size()]);
String title = "OA请求发送失败6次";
String countText = "<div style=\"font-size:16px\" ><div><p>您好:</p></div>" +
"<span style=\"color:blue;\" >" + "OA请求发送失败6次,请线下协调处理" + "</span></div>";
emailUtils.sendMsgFeign(arr, title, countText);
logger.info("发送失败6次,发送给管理员邮箱");
} else {
restSendTodo(object, sdf, sendTodoLog, againNumNew, operMesg);
}
} else {
sendTodoSave(object, sdf, "3", operMesg);
}
}
private void restSendTodo(BusProcessNew object, SimpleDateFormat sdf, SendTodoLog sendTodoLog, int againNumNew, String operMesg) throws Exception {
// 失败次数小于6次,放入失败队列延迟消费
if ((againNumNew < 6)) {
Thread.sleep(3000);
logger.info("发送失败连续持续" + againNumNew + "次,存入延迟重试队列!!!!!!!!!");
} else {
logger.info("发送失败连续持续" + againNumNew + "次!!");
}
sendTodoLog.setErrNum(sendTodoLog.getErrNum() + 1);
sendTodoLog.setUpdateTime(sdf.format(new Date()));
sendTodoLog.setOperMesg(operMesg);
sendTodoLogMapper.updateById(sendTodoLog);
convertMq.sendTodoMq(object);
logger.info("已重新加入延迟队列");
}
private void sendTodoSave(BusProcessNew object, SimpleDateFormat sdf, String s, String operMesg) {
SendTodoLog sendTodoLog = new SendTodoLog();
sendTodoLog.setMsgType("0");
sendTodoLog.setTodoId(object.getId());
sendTodoLog.setUserId(object.getUserId());
JSONObject json = JSONObject.fromObject(object);
sendTodoLog.setMesg(json.toString());
sendTodoLog.setMsgStatus(s);
sendTodoLog.setErrNum(1);
sendTodoLog.setOperMesg(operMesg);
sendTodoLog.setCreateTime(sdf.format(new Date()));
sendTodoLog.setUpdateTime(sdf.format(new Date()));
sendTodoLogMapper.insert(sendTodoLog);
if (s.equals("2")) {
logger.info("发送成功,存入OA日志");
} else {
convertMq.sendToBeReadMq(object);
logger.info("已重新加入延迟队列");
}
}
}
@@ -24,4 +24,6 @@ public interface WebServiceOAService {
NotifyTodoAppDeleteResult setTodoDelete(String object) throws Exception;
NotifyTodoAppResult sendToBeRead(BusProcessNew busProcessNew) throws Exception;
}
@@ -492,5 +492,69 @@ public class WebServiceOAServiceImpl implements WebServiceOAService {
}
}
}
@Override
@Async
public NotifyTodoAppResult sendToBeRead(BusProcessNew busProcessNew) throws Exception {
NotifyTodoAppResult notifyTodoAppResult = new NotifyTodoAppResult();
String result = "";
SimpleDateFormat sdf = new SimpleDateFormat("yyy-MM-dd HH:mm:ss");
JsonSend jsonSend = new JsonSend();
HEAD head = new HEAD();
head.setACCOUNT("OA");
head.setBIZTRANSACTIONID("SYC_161320210206133219");
head.setCONSUMER("SPRS");
head.setCOUNT("1");
head.setPASSWORD("oa201611241710");
head.setSRVLEVEL("1");
List<Object> list = new ArrayList<>();
NotifyTodoSendContext notifyTodoSendContext = new NotifyTodoSendContext();
// 待办来源的系统
notifyTodoSendContext.setAppName("SPRS");
//创建时间
notifyTodoSendContext.setCreateTime(sdf.format(new Date()));
// 待办在原系统唯一标识
notifyTodoSendContext.setModelId(busProcessNew.getId());
//模块名称
notifyTodoSendContext.setModelName(busProcessNew.getTaskInfo());
//标题
notifyTodoSendContext.setSubject(busProcessNew.getPrcName());
//地址
QueryWrapper queryWrapper = new QueryWrapper();
queryWrapper.eq("PRC_ID", busProcessNew.getPId());
BusProcessName busProcessName = iBusProcessNameService.getOne(queryWrapper);
String linkParam = "&taskIds=" + busProcessNew.getTaskId() + "&prcId=" + busProcessNew.getPId() + "&prcNum=" + busProcessName.getPrcNum() + "&prcName=" + busProcessName.getPrcName();
notifyTodoSendContext.setLink(webUrl + busProcessNew.getLink() + linkParam);
//待办类型
notifyTodoSendContext.setType("2");
Map<String, Object> map = new HashMap<>();
ResponseMessage<UserVO> byId = lawsUserInfoService.getById(busProcessNew.getUserId());
map.put("LoginName", byId == null ? "" : byId.getData().getAccount());
JSONObject jsonLoginName = new JSONObject(map);
notifyTodoSendContext.setTargets(jsonLoginName.toJSONString());
list.add(notifyTodoSendContext);
jsonSend.setHEAD(head);
jsonSend.setLIST(list);
net.sf.json.JSONObject json = net.sf.json.JSONObject.fromObject(jsonSend);
Map<String, String> mapCtr = new TreeMap<>();
mapCtr.put("Authorization", credentials);
log.info("处理完文件数据,开始请求发送待办接口数据:【" + sdf.format(new Date()) + "");
log.info("sendTodo当前处理的文件数据(josnSend):" + jsonSend.toString());
log.info("sendTodo当前处理的文件数据(notifyTodoSendContext):" + notifyTodoSendContext.toString());
result = okHttpUtil.postForJson("https://fesbnew.foton.com.cn/WP_FOTON_FSOA/APP_DOC_SERVICES/Proxy_Services/TA_OA/DOC_SYC_1019_SendTodo_PS", json.toString(), mapCtr);
log.info("请求发送待办接口完毕,返回响应状态:【" + sdf.format(new Date()) + "");
if (!result.contains("操作成功")) {
log.error("请求发送待办接口出现异常:" + result);
log.info("sendTodo当前处理的文件数据(josnSend):" + jsonSend.toString());
log.info("sendTodo当前处理的文件数据(notifyTodoSendContext):" + notifyTodoSendContext.toString());
notifyTodoAppResult.setSIGN("1");
notifyTodoAppResult.setMASSAGE(result);
} else {
log.info("okHttp请求发送待办接口成功结果:" + result);
notifyTodoAppResult = (NotifyTodoAppResult) net.sf.json.JSONObject.toBean(net.sf.json.JSONObject.fromObject(result), NotifyTodoAppResult.class);
}
return notifyTodoAppResult;
}
}
@@ -0,0 +1,163 @@
package com.ydw.bat.wkflow.config;
import com.alibaba.druid.filter.Filter;
import com.alibaba.druid.filter.logging.Slf4jLogFilter;
import com.alibaba.druid.filter.stat.StatFilter;
import com.alibaba.druid.pool.DruidDataSource;
import com.alibaba.druid.support.http.StatViewServlet;
import com.alibaba.druid.support.http.WebStatFilter;
import com.alibaba.druid.support.spring.stat.DruidStatInterceptor;
import com.alibaba.druid.wall.WallConfig;
import com.alibaba.druid.wall.WallFilter;
import org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator;
import org.springframework.boot.context.properties.bind.BindResult;
import org.springframework.boot.context.properties.bind.Binder;
import org.springframework.boot.context.properties.source.ConfigurationPropertySources;
import org.springframework.boot.web.servlet.FilterRegistrationBean;
import org.springframework.boot.web.servlet.ServletRegistrationBean;
import org.springframework.context.EnvironmentAware;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.env.Environment;
import org.springframework.transaction.annotation.EnableTransactionManagement;
import javax.sql.DataSource;
import java.sql.SQLException;
import java.util.*;
@Configuration
@EnableTransactionManagement
public class DruidDataSourceConfig implements EnvironmentAware {
private Properties propertyResolver;
private Properties configResolver;
public DruidDataSourceConfig() {
}
public void setEnvironment(Environment env) {
Iterable sources = ConfigurationPropertySources.get(env);
Binder binder = new Binder(sources);
BindResult<Properties> propertyResolverBind = binder.bind("spring.datasource", Properties.class);
BindResult<Properties> configResolverBind = binder.bind("spring.profiles", Properties.class);
propertyResolver= propertyResolverBind.get();
configResolver = configResolverBind.get();
}
@Bean(
name = {"dataSource"}
)
public DataSource dataSource() throws SQLException {
DruidDataSource datasource = new DruidDataSource();
datasource.setUrl(this.propertyResolver.getProperty("url"));
datasource.setDriverClassName(this.propertyResolver.getProperty("driver-class-name"));
datasource.setUsername(this.propertyResolver.getProperty("username"));
datasource.setPassword(this.propertyResolver.getProperty("password"));
datasource.setInitialSize(Integer.valueOf(this.propertyResolver.getProperty("initialSize")));
datasource.setMinIdle(Integer.valueOf(this.propertyResolver.getProperty("minIdle")));
datasource.setMaxWait(Long.valueOf(this.propertyResolver.getProperty("maxWait")));
datasource.setMaxActive(Integer.valueOf(this.propertyResolver.getProperty("maxActive")));
datasource.setTimeBetweenEvictionRunsMillis(Long.valueOf(this.propertyResolver.getProperty("timeBetweenEvictionRunsMillis")));
datasource.setMinEvictableIdleTimeMillis(Long.valueOf(this.propertyResolver.getProperty("minEvictableIdleTimeMillis")));
// datasource.setRemoveAbandoned(Boolean.valueOf(this.propertyResolver.getProperty("removeAbandoned")));
// datasource.setRemoveAbandonedTimeout(Integer.valueOf(this.propertyResolver.getProperty("removeAbandonedTimeout")));
datasource.setTestOnBorrow(Boolean.valueOf(this.propertyResolver.getProperty("testOnBorrow")));
datasource.setTestOnReturn(Boolean.valueOf(this.propertyResolver.getProperty("testOnReturn")));
datasource.setTestWhileIdle(Boolean.valueOf(this.propertyResolver.getProperty("testWhileIdle")));
datasource.setValidationQuery(this.propertyResolver.getProperty("validationQuery"));
// datasource.setValidationQueryTimeout(Integer.valueOf(this.propertyResolver.getProperty("validationQueryTimeout")));
// datasource.setKeepAlive(Boolean.valueOf(this.propertyResolver.getProperty("keepAlive")));
// if("prd".equals(this.configResolver.getProperty("active"))){
// datasource.setConnectProperties(this.connectionProper());
// }
// datasource.setConnectProperties(this.connectionProper());
List<Filter> filters = new ArrayList();
filters.add(this.wallFilter());
filters.add(this.statFilter());
filters.add(this.slf4jLogFilter());
// if("prd".equals(this.configResolver.getProperty("active"))){
// filters.add(new ConfigFilter());
// }
// filters.add(new ConfigFilter());
datasource.setProxyFilters(filters);
// 启动时自动初始化维护连接
datasource.init();
return datasource;
}
@Bean
public StatFilter statFilter() {
StatFilter statFilter = new StatFilter();
statFilter.setMergeSql(Boolean.valueOf(this.propertyResolver.getProperty("mergeSql")));
statFilter.setSlowSqlMillis(Long.valueOf(this.propertyResolver.getProperty("slowSqlMillis")));
statFilter.setLogSlowSql(Boolean.valueOf(this.propertyResolver.getProperty("logSlowSql")));
return statFilter;
}
@Bean
public WallFilter wallFilter() {
WallFilter wallFilter = new WallFilter();
wallFilter.setLogViolation(true);
wallFilter.setThrowException(false);
wallFilter.setConfig(this.wallConfig());
return wallFilter;
}
@Bean
public Slf4jLogFilter slf4jLogFilter() {
Slf4jLogFilter slf4jLogFilter = new Slf4jLogFilter();
return slf4jLogFilter;
}
public Properties connectionProper(){
Properties connection=new Properties();
connection.setProperty("config.decrypt","true");
connection.setProperty("config.decrypt.key",this.propertyResolver.getProperty("publicKey"));
return connection;
}
@Bean
public ServletRegistrationBean druidServlet() {
ServletRegistrationBean servletRegistrationBean = new ServletRegistrationBean();
servletRegistrationBean.setServlet(new StatViewServlet());
servletRegistrationBean.addUrlMappings(new String[]{"/druid/*"});
Map<String, String> initParameters = new HashMap();
initParameters.put("resetEnable", "true");
initParameters.put("loginUsername", "druid");
initParameters.put("loginPassword", "druid");
servletRegistrationBean.setInitParameters(initParameters);
return servletRegistrationBean;
}
@Bean
public FilterRegistrationBean filterRegistrationBean() {
FilterRegistrationBean filterRegistrationBean = new FilterRegistrationBean();
filterRegistrationBean.setFilter(new WebStatFilter());
filterRegistrationBean.addUrlPatterns(new String[]{"/*"});
filterRegistrationBean.addInitParameter("exclusions", "*.js,*.gif,*.jpg,*.bmp,*.png,*.css,*.ico,/druid/*");
return filterRegistrationBean;
}
@Bean({"druid-stat-interceptor"})
public DruidStatInterceptor DruidStatInterceptor() {
DruidStatInterceptor druidStatInterceptor = new DruidStatInterceptor();
return druidStatInterceptor;
}
@Bean
public BeanNameAutoProxyCreator beanNameAutoProxyCreator() {
BeanNameAutoProxyCreator beanNameAutoProxyCreator = new BeanNameAutoProxyCreator();
beanNameAutoProxyCreator.setProxyTargetClass(true);
beanNameAutoProxyCreator.setInterceptorNames(new String[]{"druid-stat-interceptor"});
return beanNameAutoProxyCreator;
}
@Bean
public WallConfig wallConfig() {
WallConfig wallConfig = new WallConfig();
wallConfig.setMultiStatementAllow(true);
return wallConfig;
}
}
@@ -0,0 +1,103 @@
package com.ydw.bat.wkflow.listener.insideOutsideMeetingLibrary;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
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;
/**
* @author tjzdw
* @description 内外部会议入库申请发起后
* @date 2023/10/16
*/
public class MeetingApplicationAfter 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);
LambdaQueryWrapper<Datas> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(Datas::getActiTaskId, delegateTask.getId());
Datas datas = datasService.getOne(queryWrapper);
JSONObject object = JSONObject.parseObject(datas.getFormValsJson());
// 添加关联流程编号
String processInstanceId = delegateTask.getProcessInstanceId();
LambdaQueryWrapper<BusProcessName> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(BusProcessName::getPrcId,processInstanceId);
BusProcessName processName = busProcessNameService.getOne(wrapper);
object.put("prcNum",processName.getPrcNum());
delegateTask.setVariable("objectJson",object);
List<String> nextUserList = new ArrayList<>();
if(StringUtils.isNotBlank(object.getString("jlUserId"))){
delegateTask.setVariable("managerUserId",object.getString("jlUserId"));
nextUserList.add(object.getString("jlUserId"));
}else {
throw new ActivitiException("1#2经理人不存在,请配置相关人员");
}
//截止时间 流程描述 创建人
String overTime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date());
String user = object.getString("applyUserId");
String username = object.getString("applyUserName");
Object meetingName = object.get("meetingName");
String prcName = meetingName + "-内外部会议入库流程";
LambdaQueryWrapper<BusProcessName> queryWrapper2 = new LambdaQueryWrapper<>();
queryWrapper2.eq(BusProcessName::getPrcId,delegateTask.getProcessInstanceId());
BusProcessName one1 = busProcessNameService.getOne(queryWrapper2);
if(one1!=null){
one1.setPrcType("29");
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);
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);
busProcessNewNext.setPrcName(prcName);
busBean.save(busProcessNewNext);
}
}
private String verifyObj(String str){
return (str == null || str.equals("")) ? "" : str;
}
}
@@ -0,0 +1,17 @@
package com.ydw.bat.wkflow.listener.insideOutsideMeetingLibrary;
import org.activiti.engine.delegate.DelegateTask;
import org.activiti.engine.delegate.TaskListener;
/**
* @author tjzdw
* @description 内外部会议入库申请发起前
* @date 2023/10/16
*/
public class MeetingApplicationBefore implements TaskListener {
@Override
public void notify(DelegateTask delegateTask) {
}
}
@@ -0,0 +1,88 @@
package com.ydw.bat.wkflow.listener.insideOutsideMeetingLibrary;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
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 java.text.SimpleDateFormat;
import java.util.Date;
/**
* @author tjzdw
* @description 经理人审批后
* @date 2023/10/16
*/
public class MeetingManagerApproveAfter 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);
LambdaQueryWrapper<Datas> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(Datas::getActiTaskId, delegateTask.getId());
Datas datas = datasService.getOne(queryWrapper);
JSONObject object = JSONObject.parseObject(datas.getFormValsJson());
String approvalOpinion = object.get("approvalOpinion") == null ? "" : object.get("approvalOpinion").toString();
String meetingName = object.getString("meetingName");
String prcName = meetingName + "-内外部会议入库流程";
// 驳回任务
if ("1".equalsIgnoreCase(approvalOpinion)) {
delegateTask.setVariable("applyUserId", object.getString("applyUserId"));
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("applyUserId"));
busProcessNew.setPrcName(prcName);
busBean.save(busProcessNew);
LambdaQueryWrapper<BusProcessNew> queryWrapper1 = new LambdaQueryWrapper<>();
queryWrapper1.eq(BusProcessNew::getTaskId, delegateTask.getId());
BusProcessNew one1 = busBean.getOne(queryWrapper1);
if (one1 != null) {
one1.setCommitFlag("1");
one1.setCommitText(object.getString("commentText"));
busBean.saveOrUpdate(one1);
}
delegateTask.setVariable("jlFlag", 1);
} else {
// 同意
delegateTask.setVariable("jlFlag", 0);
LambdaQueryWrapper<BusProcessName> queryWrapper2 = new LambdaQueryWrapper<>();
queryWrapper2.eq(BusProcessName::getPrcId, delegateTask.getProcessInstanceId());
BusProcessName one2 = busProcessNameService.getOne(queryWrapper2);
String overTime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date());
if (one2 != null) {
one2.setPrcName(prcName);
one2.setOverTime(overTime);
one2.setPrcType("29");
busProcessNameService.saveOrUpdate(one2);
}
LambdaQueryWrapper<BusProcessNew> queryWrapper1 = new LambdaQueryWrapper<>();
queryWrapper1.eq(BusProcessNew::getTaskId, delegateTask.getId());
BusProcessNew one1 = busBean.getOne(queryWrapper1);
if (one1 != null) {
one1.setCommitFlag("0");
one1.setCommitText(object.getString("commentText"));
busBean.saveOrUpdate(one1);
}
}
}
}
@@ -0,0 +1,42 @@
package com.ydw.bat.wkflow.listener.insideOutsideMeetingLibrary;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
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;
/**
* @author tjzdw
* @description 经理人审批前
* @date 2023/10/16
*/
public class MeetingManagerApproveBefore implements TaskListener {
@Override
public void notify(DelegateTask delegateTask) {
IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class);
CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class);
LambdaQueryWrapper<BusProcessNew> queryWrapper1 = new LambdaQueryWrapper<>();
queryWrapper1.eq(BusProcessNew::getPId,delegateTask.getProcessInstanceId());
queryWrapper1.eq(BusProcessNew::getUserId,delegateTask.getAssignee());
queryWrapper1.isNull(BusProcessNew::getTaskId);
List<BusProcessNew> list = busBean.list(queryWrapper1);
if(!list.isEmpty()){
BusProcessNew one1 = list.get(0);
one1.setTaskId(delegateTask.getId());
one1.setTaskInfo(delegateTask.getName());
busBean.saveOrUpdate(one1);
// 发送 oa 待办 设置 跳转页面 router ? 后面流程类型
one1.setLink("policyMeetings2?prcType=29");
one1.setTaskInfo(delegateTask.getName());
oaService.sendTodoMq(one1);
}
}
}
@@ -0,0 +1,92 @@
package com.ydw.bat.wkflow.listener.insideOutsideMeetingLibrary;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
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;
/**
* @author tjzdw
* @description 重新发起内外部会议入库申请发起后
* @date 2023/10/16
*/
public class MeetingReissueApplicationAfter 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);
LambdaQueryWrapper<Datas> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(Datas::getActiTaskId, 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("jlUserId"))){
delegateTask.setVariable("managerUserId",object.getString("jlUserId"));
nextUserList.add(object.getString("jlUserId"));
}else {
throw new ActivitiException("1#2经理人不存在,请配置相关人员");
}
//截止时间 流程描述 创建人
String overTime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date());
String user = object.getString("applyUserId");
String username = object.getString("applyUserName");
String meetingName = object.getString("meetingName");
String prcName = meetingName + "-内外部会议入库流程";
LambdaQueryWrapper<BusProcessName> queryWrapper2 = new LambdaQueryWrapper<>();
queryWrapper2.eq(BusProcessName::getPrcId,delegateTask.getProcessInstanceId());
BusProcessName one1 = busProcessNameService.getOne(queryWrapper2);
if(one1!=null){
one1.setPrcType("29");
one1.setPrcName(prcName);
one1.setCreatUser(user);
one1.setCreatUserName(username);
busProcessNameService.saveOrUpdate(one1);
}
LambdaQueryWrapper<BusProcessNew> queryWrapper1 = new LambdaQueryWrapper<>();
queryWrapper1.eq(BusProcessNew::getTaskId,delegateTask.getId());
List<BusProcessNew> list = busBean.list(queryWrapper1);
if(!list.isEmpty()){
BusProcessNew busProcessNew = list.get(0);
busProcessNew.setTaskId(delegateTask.getId());
busProcessNew.setTaskInfo(delegateTask.getName());
busProcessNew.setCommitText(object.getString("commentText"));
busBean.saveOrUpdate(busProcessNew);
}
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);
busProcessNew.setPrcName(prcName);
busBean.save(busProcessNew);
}
}
}
@@ -0,0 +1,40 @@
package com.ydw.bat.wkflow.listener.insideOutsideMeetingLibrary;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
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;
/**
* @author tjzdw
* @description 重新发起内外部会议入库申请发起前
* @date 2023/10/16
*/
public class MeetingReissueApplicationBefore implements TaskListener {
@Override
public void notify(DelegateTask delegateTask) {
IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class);
CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class);
LambdaQueryWrapper<BusProcessNew> queryWrapper1 = new LambdaQueryWrapper<>();
queryWrapper1.eq(BusProcessNew::getPId,delegateTask.getProcessInstanceId());
queryWrapper1.eq(BusProcessNew::getUserId,delegateTask.getAssignee());
queryWrapper1.isNull(BusProcessNew::getTaskId);
List<BusProcessNew> list = busBean.list(queryWrapper1);
if(!list.isEmpty()){
BusProcessNew one1 = list.get(0);
one1.setTaskId(delegateTask.getId());
busBean.saveOrUpdate(one1);
// 发送 oa 待办 设置 跳转页面 router ? 后面流程类型
one1.setLink("policyMeetings1?prcType=29");
one1.setTaskInfo(delegateTask.getName());
oaService.sendTodoMq(one1);
}
}
}
@@ -52,7 +52,7 @@ public class LCLApplicantAfter implements TaskListener{
}
QueryWrapper queryWrapper1 = new QueryWrapper();
QueryWrapper<BusProcessNew> queryWrapper1 = new QueryWrapper<>();
queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId());
queryWrapper1.eq("USER_ID",delegateTask.getAssignee());
queryWrapper1.eq("TASK_ID",delegateTask.getId());
@@ -60,7 +60,7 @@ public class LCLApplicantAfter implements TaskListener{
if(!list.isEmpty()){
BusProcessNew one = list.get(0);
JSONObject object = JSONObject.parseObject(one.getMesg());
List<String> nextUserList = new ArrayList();
List<String> nextUserList = new ArrayList<>();
if(StringUtils.isNotBlank(objectNew.getString("jlUserId"))){
delegateTask.setVariable("managerUserId",objectNew.getString("jlUserId"));
@@ -78,17 +78,17 @@ public class LCLApplicantAfter implements TaskListener{
// object.getString("standName")
String standName = "";
Object lawsName = object.get("lawsName");
Object lawsNumber = object.get("lawsNumber");
String lawsInfoName = "";
if(lawsName != null && lawsNumber != null){
String name = lawsName.toString()+"-";
String number = lawsNumber.toString()+"-";
if(StringUtils.isNotBlank(name) && StringUtils.isNotBlank(number)){
lawsInfoName = number+name;
}
}
String prcName = lawsInfoName+"政策入库流程";
QueryWrapper queryWrapper2 = new QueryWrapper();
// Object lawsNumber = object.get("lawsNumber");
// String lawsInfoName = "";
// if(lawsName != null && lawsNumber != null){
// String name = lawsName.toString()+"-";
// String number = lawsNumber.toString()+"-";
// if(StringUtils.isNotBlank(name) && StringUtils.isNotBlank(number)){
// lawsInfoName = number+name;
// }
// }
String prcName = lawsName+"-政策入库流程";
QueryWrapper<BusProcessName> queryWrapper2 = new QueryWrapper<>();
queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId());
BusProcessName one1 = busProcessNameService.getOne(queryWrapper2);
if(one1!=null){
@@ -20,7 +20,7 @@ public class LCLApplicantBefore implements TaskListener{
IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class);
CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class);
QueryWrapper queryWrapper1 = new QueryWrapper();
QueryWrapper<BusProcessNew> queryWrapper1 = new QueryWrapper<>();
queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId());
queryWrapper1.eq("USER_ID",delegateTask.getAssignee());
queryWrapper1.isNull("TASK_ID");
@@ -33,7 +33,7 @@ public class LCLApplicantBefore implements TaskListener{
one1.setTaskInfo(delegateTask.getName());
busBean.saveOrUpdate(one1);
// 发送 oa 待办 设置 跳转页面 router ? 后面流程类型
one1.setLink("zcrkStep3?prcType=laws1");
one1.setLink("policyWarehousing1?prcType=laws1");
one1.setTaskInfo(delegateTask.getName());
oaService.sendTodoMq(one1);
}
@@ -1,6 +1,7 @@
package com.ydw.bat.wkflow.listener.lawsLibrary;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
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;
@@ -36,9 +37,15 @@ public class LLApplicantAfter implements TaskListener{
Datas datas = datasService.getOne(queryWrapper);
JSONObject object = JSONObject.parseObject(datas.getFormValsJson());
// 添加关联流程编号
String processInstanceId = delegateTask.getProcessInstanceId();
LambdaQueryWrapper<BusProcessName> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(BusProcessName::getPrcId,processInstanceId);
BusProcessName processName = busProcessNameService.getOne(wrapper);
object.put("prcNum",processName.getPrcNum());
delegateTask.setVariable("objectJson",object);
List<String> nextUserList = new ArrayList();
List<String> nextUserList = new ArrayList<>();
// 逻辑判断是否会签 signFlag
// JSONObject array = object.getJSONObject("hqsqForm");
@@ -80,17 +87,18 @@ public class LLApplicantAfter implements TaskListener{
// object.getString("standName")
String standName = "";
Object lawsName = object.get("lawsName");
Object lawsNumber = object.get("lawsNumber");
String lawsInfoName = "";
if(lawsName != null && lawsNumber != null){
String name = lawsName.toString()+"-";
String number = lawsNumber.toString()+"-";
if(StringUtils.isNotBlank(name) && StringUtils.isNotBlank(number)){
lawsInfoName = number+name;
}
}
String prcName = lawsInfoName+"政策入库流程";
QueryWrapper queryWrapper2 = new QueryWrapper();
// Object lawsNumber = object.get("lawsNumber");
// String lawsInfoName = "";
// if(lawsName != null){
// String name = lawsName.toString()+"-";
// String number = lawsNumber.toString()+"-";
// if(StringUtils.isNotBlank(name) && StringUtils.isNotBlank(number)){
// lawsInfoName = number+name;
// }
// }
// String prcName = lawsInfoName+"政策入库流程";
String prcName = lawsName + "-政策入库流程";
QueryWrapper<BusProcessName> queryWrapper2 = new QueryWrapper<>();
queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId());
BusProcessName one1 = busProcessNameService.getOne(queryWrapper2);
if(one1!=null){
@@ -114,19 +122,17 @@ public class LLApplicantAfter implements TaskListener{
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);
busProcessNewNext.setPrcName(prcName);
busBean.save(busProcessNewNext);
}
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);
busProcessNewNext.setPrcName(prcName);
busBean.save(busProcessNewNext);
}
}
@@ -36,34 +36,34 @@ public class LawsManagerApproveAfter implements TaskListener {
String approvalOpinion = object.get("approvalOpinion") == null ? "" : object.get("approvalOpinion").toString();
Object lawsName = object.get("lawsName");
Object lawsNumber = object.get("lawsNumber");
String lawsInfoName = "";
if(lawsName != null && lawsNumber != null){
String name = lawsName.toString()+"-";
String number = lawsNumber.toString()+"-";
if(StringUtils.isNotBlank(name) && StringUtils.isNotBlank(number)){
lawsInfoName = number+name;
}
}
String prcName = lawsInfoName+"政策入库流程";
// Object lawsNumber = object.get("lawsNumber");
// String lawsInfoName = "";
// if(lawsName != null && lawsNumber != null){
// String name = lawsName.toString()+"-";
// String number = lawsNumber.toString()+"-";
// if(StringUtils.isNotBlank(name) && StringUtils.isNotBlank(number)){
// lawsInfoName = number+name;
// }
// }
String prcName = lawsName+"-政策入库流程";
//截止时间 流程描述 创建人
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 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);
// 驳回
if ("1".equalsIgnoreCase(approvalOpinion)) {
//截止时间 流程描述 创建人
QueryWrapper queryWrapper2 = new QueryWrapper();
queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId());
BusProcessName one1 = busProcessNameService.getOne(queryWrapper2);
if (one1 != null) {
one1.setOverTime(OVERTIME);
one1.setPrcType("laws1");
one1.setPrcName(prcName);
one1.setCreatUser(user);
one1.setCreatUserName(username);
busProcessNameService.saveOrUpdate(one1);
}
// 流程描述 创建人
// QueryWrapper<BusProcessName> queryWrapper2 = new QueryWrapper<>();
// queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId());
// BusProcessName one1 = busProcessNameService.getOne(queryWrapper2);
// if (one1 != null) {
// one1.setPrcType("laws1");
// one1.setPrcName(prcName);
// one1.setCreatUser(user);
// one1.setCreatUserName(username);
// busProcessNameService.saveOrUpdate(one1);
// }
BusProcessNew busProcessNew = new BusProcessNew();
busProcessNew.setMsgType("clause");
@@ -72,26 +72,27 @@ public class LawsManagerApproveAfter implements TaskListener {
busProcessNew.setTaskInfo(delegateTask.getTaskDefinitionKey());
busProcessNew.setFinishFlag("0");
busProcessNew.setTaskInfo(delegateTask.getName());
busProcessNew.setUserId(object.getString("applyUpdUserId"));
busProcessNew.setUserId(object.getString("jlUserId"));
busProcessNew.setPrcName(prcName);
busBean.save(busProcessNew);
BussUtils.approvalFunc1(delegateTask, busBean, object, prcName,"1");
delegateTask.setVariable("applyUserId", object.getString("applyUpdUserId"));
func1(delegateTask, busBean, object, "1");
delegateTask.setVariable("applyUserId", object.getString("prcCreateUser"));
delegateTask.setVariable("jlFlag", 1);
} else {
// 通过
//截止时间 流程描述 创建人
QueryWrapper queryWrapper2 = new QueryWrapper();
QueryWrapper<BusProcessName> queryWrapper2 = new QueryWrapper<>();
queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId());
BusProcessName one1 = busProcessNameService.getOne(queryWrapper2);
if (one1 != null) {
one1.setOverTime(OVERTIME);
one1.setPrcType("laws1");
one1.setPrcName(prcName);
one1.setCreatUser(user);
one1.setCreatUserName(username);
busProcessNameService.saveOrUpdate(one1);
}
// if (one1 != null) {
// one1.setOverTime(OVERTIME);
// one1.setPrcType("laws1");
// one1.setPrcName(prcName);
// one1.setCreatUser(user);
// one1.setCreatUserName(username);
// busProcessNameService.saveOrUpdate(one1);
// }
BusProcessNew busProcessNew = new BusProcessNew();
busProcessNew.setMsgType("clause");
@@ -100,7 +101,7 @@ public class LawsManagerApproveAfter implements TaskListener {
busProcessNew.setTaskInfo(delegateTask.getTaskDefinitionKey());
busProcessNew.setFinishFlag("0");
busProcessNew.setTaskInfo(delegateTask.getName());
busProcessNew.setUserId(object.getString("applyUpdUserId"));
busProcessNew.setUserId(object.getString("jlUserId"));
busProcessNew.setPrcName(prcName);
busBean.save(busProcessNew);
delegateTask.setVariable("jlFlag", 0);
@@ -109,7 +110,7 @@ public class LawsManagerApproveAfter implements TaskListener {
}
private void func1(DelegateTask delegateTask, IBusProcessNewService busBean, JSONObject object, String commitFlag) {
QueryWrapper queryWrapper1 = new QueryWrapper();
QueryWrapper<BusProcessNew> queryWrapper1 = new QueryWrapper<>();
queryWrapper1.eq("TASK_ID", delegateTask.getId());
BusProcessNew one1 = busBean.getOne(queryWrapper1);
if (one1 != null) {
@@ -120,7 +121,7 @@ public class LawsManagerApproveAfter implements TaskListener {
}
private void func2(DelegateTask delegateTask, IBusProcessNewService busBean, JSONObject object, String commitFlag, IBusProcessNameService busProcessNameService) {
QueryWrapper queryWrapper2 = new QueryWrapper();
QueryWrapper<BusProcessName> queryWrapper2 = new QueryWrapper<>();
queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId());
BusProcessName one2 = busProcessNameService.getOne(queryWrapper2);
String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date());
@@ -131,7 +132,7 @@ public class LawsManagerApproveAfter implements TaskListener {
busProcessNameService.saveOrUpdate(one2);
}
QueryWrapper queryWrapper1 = new QueryWrapper();
QueryWrapper<BusProcessNew> queryWrapper1 = new QueryWrapper<>();
queryWrapper1.eq("TASK_ID", delegateTask.getId());
BusProcessNew one1 = busBean.getOne(queryWrapper1);
if (one1 != null) {
@@ -31,7 +31,7 @@ public class LawsManagerApproveBefore implements TaskListener{
one1.setTaskInfo(delegateTask.getName());
busBean.saveOrUpdate(one1);
// 发送 oa 待办 设置 跳转页面 router ? 后面流程类型
one1.setLink("zcrkStep2?prcType=laws1");
one1.setLink("policyWarehousing2?prcType=laws1");
one1.setTaskInfo(delegateTask.getName());
oaService.sendTodoMq(one1);
}
@@ -0,0 +1,78 @@
package com.ydw.bat.wkflow.listener.policyComplianceProgramReviewProcess;
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.IBusProcessNewService;
import com.ydw.bat.wkflow.business_main.datas.service.IDatasService;
import com.ydw.bat.wkflow.util.SpringContextUtil;
import com.ydw.bat.wkflow.util.enums.ApprovalFlagEnum;
import org.activiti.engine.delegate.DelegateTask;
import org.activiti.engine.delegate.TaskListener;
import org.apache.commons.lang.StringUtils;
public class PolicyComplianceProgramReviewProcess10After implements TaskListener {
@Override
public void notify(DelegateTask delegateTask) {
IDatasService datasService = SpringContextUtil.getBean(IDatasService.class);
IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.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 jsonForm = object.getJSONObject("form");
String approvalFlag = jsonForm.getString("approvalFlag");
if (StringUtils.equals(approvalFlag, ApprovalFlagEnum.PASS.getValue())) {
// 责任部门 子流程总数
int zrSubProcessCount = (int) delegateTask.getVariable("zrSubProcessCount");
// 责任部门 子流程完成总数
int zrSubProcessFinishCount = (int) delegateTask.getVariable("zrSubProcessFinishCount");
zrSubProcessFinishCount = zrSubProcessFinishCount + 1;
delegateTask.setVariable("zrSubProcessFinishCount",zrSubProcessFinishCount);
// 如果该流程中的 责任部门子流程都已完成,给管理员节点分配数据。
if (zrSubProcessCount == zrSubProcessFinishCount) {
String glyUserId = jsonForm.getString("glyUserId");
delegateTask.setVariable("glyUserId",glyUserId);
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(glyUserId);
busBean.save(busProcessNewNext);
}
} else if (StringUtils.equals(approvalFlag, ApprovalFlagEnum.OVERRULE.getValue())) {
String djrUserId = (String) delegateTask.getVariable("djrUserId");
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(djrUserId);
busBean.save(busProcessNewNext);
}
// 存储当前节点意见
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);
delegateTask.setVariable("approvalFlag",approvalFlag);
}
}
@@ -0,0 +1,38 @@
package com.ydw.bat.wkflow.listener.policyComplianceProgramReviewProcess;
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 com.ydw.bat.wkflow.util.enums.FlowTypeEnum;
import org.activiti.engine.delegate.DelegateTask;
import org.activiti.engine.delegate.TaskListener;
import org.apache.commons.collections4.CollectionUtils;
import java.util.List;
public class PolicyComplianceProgramReviewProcess10Before implements TaskListener {
@Override
public void notify(DelegateTask delegateTask) {
IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class);
CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class);
QueryWrapper queryWrapper = new QueryWrapper();
queryWrapper.isNull("TASK_ID");
queryWrapper.eq("P_ID",delegateTask.getProcessInstanceId());
queryWrapper.eq("USER_ID",delegateTask.getAssignee());
List<BusProcessNew> list = busBean.list(queryWrapper);
if(CollectionUtils.isNotEmpty(list)){
BusProcessNew one1 = list.get(0);
one1.setTaskId(delegateTask.getId());
one1.setTaskInfo(delegateTask.getName());
busBean.saveOrUpdate(one1);
// 发送 oa 待办 设置 跳转页面 router ? 后面流程类型
one1.setLink(FlowTypeEnum.ZCHGXXMSCLC.getRoute() + "?prcType=" + FlowTypeEnum.ZCHGXXMSCLC.getValue() + "&taskDefinitionKey="+delegateTask.getTaskDefinitionKey());
one1.setTaskInfo(delegateTask.getName());
oaService.sendTodoMq(one1);
}
}
}
@@ -0,0 +1,86 @@
package com.ydw.bat.wkflow.listener.policyComplianceProgramReviewProcess;
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.IBusProcessNewService;
import com.ydw.bat.wkflow.business_main.datas.service.IDatasService;
import com.ydw.bat.wkflow.util.SpringContextUtil;
import com.ydw.bat.wkflow.util.enums.ApprovalFlagEnum;
import org.activiti.engine.delegate.DelegateTask;
import org.activiti.engine.delegate.TaskListener;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang.StringUtils;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class PolicyComplianceProgramReviewProcess11After implements TaskListener {
@Override
public void notify(DelegateTask delegateTask) {
IDatasService datasService = SpringContextUtil.getBean(IDatasService.class);
IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.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 jsonForm = object.getJSONObject("form");
String approvalFlag = jsonForm.getString("approvalFlag");
if (StringUtils.equals(approvalFlag, ApprovalFlagEnum.PASS.getValue())) {
String shr2UserIds = jsonForm.getString("shr2UserIds");
List<String> nextUserList = Arrays.asList(shr2UserIds.split(","));
if (CollectionUtils.isNotEmpty(nextUserList)) {
List<BusProcessNew> addBusProcessNewList = new ArrayList<>();
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);
addBusProcessNewList.add(busProcessNewNext);
}
busBean.saveBatch(addBusProcessNewList);
// 配置多实例
delegateTask.setVariable("shr2UserIdList", nextUserList);
delegateTask.setVariable("shr2UserCount", nextUserList.size());
delegateTask.setVariable("shr2UserPassCount", 0);
delegateTask.setVariable("shr2UserOverruleCount", 0);
}
} else if (StringUtils.equals(approvalFlag, ApprovalFlagEnum.OVERRULE.getValue())) {
String pzr1UserId = jsonForm.getString("pzr1UserId");
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(pzr1UserId);
busBean.save(busProcessNewNext);
delegateTask.setVariable("pzr1UserId", pzr1UserId);
}
// 存储当前节点意见
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);
delegateTask.setVariable("approvalFlag", approvalFlag);
}
}
@@ -0,0 +1,37 @@
package com.ydw.bat.wkflow.listener.policyComplianceProgramReviewProcess;
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 com.ydw.bat.wkflow.util.enums.FlowTypeEnum;
import org.activiti.engine.delegate.DelegateTask;
import org.activiti.engine.delegate.TaskListener;
import org.apache.commons.collections4.CollectionUtils;
import java.util.List;
public class PolicyComplianceProgramReviewProcess11Before implements TaskListener {
@Override
public void notify(DelegateTask delegateTask) {
IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class);
CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class);
QueryWrapper queryWrapper = new QueryWrapper();
queryWrapper.isNull("TASK_ID");
queryWrapper.eq("P_ID",delegateTask.getProcessInstanceId());
queryWrapper.eq("USER_ID",delegateTask.getAssignee());
List<BusProcessNew> list = busBean.list(queryWrapper);
if(CollectionUtils.isNotEmpty(list)){
BusProcessNew one1 = list.get(0);
one1.setTaskId(delegateTask.getId());
one1.setTaskInfo(delegateTask.getName());
busBean.saveOrUpdate(one1);
// 发送 oa 待办 设置 跳转页面 router ? 后面流程类型
one1.setLink(FlowTypeEnum.ZCHGXXMSCLC.getRoute() + "?prcType=" + FlowTypeEnum.ZCHGXXMSCLC.getValue() + "&taskDefinitionKey="+delegateTask.getTaskDefinitionKey());
one1.setTaskInfo(delegateTask.getName());
oaService.sendTodoMq(one1);
}
}
}
@@ -0,0 +1,108 @@
package com.ydw.bat.wkflow.listener.policyComplianceProgramReviewProcess;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.ydw.bat.wkflow.business_activiti.service.TaskTodoService;
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.IBusProcessNewService;
import com.ydw.bat.wkflow.business_main.datas.service.IDatasService;
import com.ydw.bat.wkflow.business_main.datas.service.IPolicySolicitOpinionEOService;
import com.ydw.bat.wkflow.util.SpringContextUtil;
import com.ydw.bat.wkflow.util.enums.ApprovalFlagEnum;
import org.activiti.engine.delegate.DelegateTask;
import org.activiti.engine.delegate.TaskListener;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang.StringUtils;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
public class PolicyComplianceProgramReviewProcess12After implements TaskListener {
@Override
public void notify(DelegateTask delegateTask) {
IDatasService datasService = SpringContextUtil.getBean(IDatasService.class);
IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class);
TaskTodoService taskTodoService = SpringContextUtil.getBean(TaskTodoService.class);
IPolicySolicitOpinionEOService policySolicitOpinionEOService = SpringContextUtil.getBean(IPolicySolicitOpinionEOService.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 jsonForm = object.getJSONObject("form");
String approvalFlag = jsonForm.getString("approvalFlag");
if (StringUtils.equals(approvalFlag, ApprovalFlagEnum.PASS.getValue())) {
int shr2UserPassCount = (int) delegateTask.getVariable("shr2UserPassCount");
delegateTask.setVariable("shr2UserPassCount", shr2UserPassCount + 1);
String sdr2UserIds = jsonForm.getString("sdr2UserIds");
List<String> nextUserList = Arrays.asList(sdr2UserIds.split(","));
delegateTask.setVariable("sdr2UserIdList", nextUserList);
boolean existTaskFlag = taskTodoService.whetherExistTaskByTaskDefinitionKey(
delegateTask.getProcessInstanceId(),
delegateTask.getTaskDefinitionKey(),
delegateTask.getId()
);
if (!existTaskFlag) {
if (CollectionUtils.isNotEmpty(nextUserList)) {
List<BusProcessNew> addBusProcessNewList = new ArrayList<>();
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);
addBusProcessNewList.add(busProcessNewNext);
}
busBean.saveBatch(addBusProcessNewList);
// 配置多实例
delegateTask.setVariable("sdr2UserCount", nextUserList.size());
delegateTask.setVariable("sdr2UserPassCount", 0);
delegateTask.setVariable("sdr2UserOverruleCount", 0);
}
}
} else if (StringUtils.equals(approvalFlag, ApprovalFlagEnum.OVERRULE.getValue())) {
String pzr1UserId = jsonForm.getString("pzr1UserId");
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(pzr1UserId);
busBean.save(busProcessNewNext);
delegateTask.setVariable("pzr1UserId", pzr1UserId);
delegateTask.setVariable("shr2UserOverruleCount", 1);
}
// 保存责任人填写的征求意见信息
// object.put("currentUserId",delegateTask.getAssignee());
// object.put("prcId",delegateTask.getProcessInstanceId());
// policySolicitOpinionEOService.batchInsert(object);
// 存储当前节点意见
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);
delegateTask.setVariable("approvalFlag", approvalFlag);
}
}
@@ -0,0 +1,37 @@
package com.ydw.bat.wkflow.listener.policyComplianceProgramReviewProcess;
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 com.ydw.bat.wkflow.util.enums.FlowTypeEnum;
import org.activiti.engine.delegate.DelegateTask;
import org.activiti.engine.delegate.TaskListener;
import org.apache.commons.collections4.CollectionUtils;
import java.util.List;
public class PolicyComplianceProgramReviewProcess12Before implements TaskListener {
@Override
public void notify(DelegateTask delegateTask) {
IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class);
CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class);
QueryWrapper queryWrapper = new QueryWrapper();
queryWrapper.isNull("TASK_ID");
queryWrapper.eq("P_ID",delegateTask.getProcessInstanceId());
queryWrapper.eq("USER_ID",delegateTask.getAssignee());
List<BusProcessNew> list = busBean.list(queryWrapper);
if(CollectionUtils.isNotEmpty(list)){
BusProcessNew one1 = list.get(0);
one1.setTaskId(delegateTask.getId());
one1.setTaskInfo(delegateTask.getName());
busBean.saveOrUpdate(one1);
// 发送 oa 待办 设置 跳转页面 router ? 后面流程类型
one1.setLink(FlowTypeEnum.ZCHGXXMSCLC.getRoute() + "?prcType=" + FlowTypeEnum.ZCHGXXMSCLC.getValue() + "&taskDefinitionKey="+delegateTask.getTaskDefinitionKey());
one1.setTaskInfo(delegateTask.getName());
oaService.sendTodoMq(one1);
}
}
}
@@ -0,0 +1,87 @@
package com.ydw.bat.wkflow.listener.policyComplianceProgramReviewProcess;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.ydw.bat.wkflow.business_activiti.service.TaskTodoService;
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.IBusProcessNewService;
import com.ydw.bat.wkflow.business_main.datas.service.IDatasService;
import com.ydw.bat.wkflow.util.SpringContextUtil;
import com.ydw.bat.wkflow.util.enums.ApprovalFlagEnum;
import org.activiti.engine.delegate.DelegateTask;
import org.activiti.engine.delegate.TaskListener;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang.StringUtils;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class PolicyComplianceProgramReviewProcess13After implements TaskListener {
@Override
public void notify(DelegateTask delegateTask) {
IDatasService datasService = SpringContextUtil.getBean(IDatasService.class);
IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class);
TaskTodoService taskTodoService = SpringContextUtil.getBean(TaskTodoService.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 jsonForm = object.getJSONObject("form");
String approvalFlag = jsonForm.getString("approvalFlag");
if (StringUtils.equals(approvalFlag, ApprovalFlagEnum.PASS.getValue())) {
int sdr2UserPassCount = (int) delegateTask.getVariable("sdr2UserPassCount");
delegateTask.setVariable("sdr2UserPassCount", sdr2UserPassCount + 1);
boolean existTaskFlag = taskTodoService.whetherExistTaskByTaskDefinitionKey(
delegateTask.getProcessInstanceId(),
delegateTask.getTaskDefinitionKey(),
delegateTask.getId()
);
if (!existTaskFlag) {
String pzr2UserId = jsonForm.getString("pzr2UserId");
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(pzr2UserId);
busBean.save(busProcessNewNext);
delegateTask.setVariable("pzr2UserId", pzr2UserId);
}
} else if (StringUtils.equals(approvalFlag, ApprovalFlagEnum.OVERRULE.getValue())) {
String pzr1UserId = jsonForm.getString("pzr1UserId");
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(pzr1UserId);
busBean.save(busProcessNewNext);
delegateTask.setVariable("pzr1UserId", pzr1UserId);
delegateTask.setVariable("sdr2UserOverruleCount", 1);
}
// 存储当前节点意见
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);
delegateTask.setVariable("approvalFlag", approvalFlag);
}
}
@@ -0,0 +1,37 @@
package com.ydw.bat.wkflow.listener.policyComplianceProgramReviewProcess;
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 com.ydw.bat.wkflow.util.enums.FlowTypeEnum;
import org.activiti.engine.delegate.DelegateTask;
import org.activiti.engine.delegate.TaskListener;
import org.apache.commons.collections4.CollectionUtils;
import java.util.List;
public class PolicyComplianceProgramReviewProcess13Before implements TaskListener {
@Override
public void notify(DelegateTask delegateTask) {
IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class);
CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class);
QueryWrapper queryWrapper = new QueryWrapper();
queryWrapper.isNull("TASK_ID");
queryWrapper.eq("P_ID",delegateTask.getProcessInstanceId());
queryWrapper.eq("USER_ID",delegateTask.getAssignee());
List<BusProcessNew> list = busBean.list(queryWrapper);
if(CollectionUtils.isNotEmpty(list)){
BusProcessNew one1 = list.get(0);
one1.setTaskId(delegateTask.getId());
one1.setTaskInfo(delegateTask.getName());
busBean.saveOrUpdate(one1);
// 发送 oa 待办 设置 跳转页面 router ? 后面流程类型
one1.setLink(FlowTypeEnum.ZCHGXXMSCLC.getRoute() + "?prcType=" + FlowTypeEnum.ZCHGXXMSCLC.getValue() + "&taskDefinitionKey="+delegateTask.getTaskDefinitionKey());
one1.setTaskInfo(delegateTask.getName());
oaService.sendTodoMq(one1);
}
}
}
@@ -0,0 +1,85 @@
package com.ydw.bat.wkflow.listener.policyComplianceProgramReviewProcess;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.ydw.bat.wkflow.business_activiti.service.TaskTodoService;
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.IBusProcessNewService;
import com.ydw.bat.wkflow.business_main.datas.service.IDatasService;
import com.ydw.bat.wkflow.util.SpringContextUtil;
import com.ydw.bat.wkflow.util.enums.ApprovalFlagEnum;
import org.activiti.engine.delegate.DelegateTask;
import org.activiti.engine.delegate.TaskListener;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang.StringUtils;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class PolicyComplianceProgramReviewProcess14After implements TaskListener {
@Override
public void notify(DelegateTask delegateTask) {
IDatasService datasService = SpringContextUtil.getBean(IDatasService.class);
IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class);
TaskTodoService taskTodoService = SpringContextUtil.getBean(TaskTodoService.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 jsonForm = object.getJSONObject("form");
String approvalFlag = jsonForm.getString("approvalFlag");
if (StringUtils.equals(approvalFlag, ApprovalFlagEnum.PASS.getValue())) {
String csrUserIds = jsonForm.getString("csrUserIds");
List<String> nextUserList = Arrays.asList(csrUserIds.split(","));
if (CollectionUtils.isNotEmpty(nextUserList)) {
List<BusProcessNew> addBusProcessNewList = new ArrayList<>();
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);
addBusProcessNewList.add(busProcessNewNext);
}
busBean.saveBatch(addBusProcessNewList);
// 配置多实例
delegateTask.setVariable("csrUserIdList", nextUserList);
}
} else if (StringUtils.equals(approvalFlag, ApprovalFlagEnum.OVERRULE.getValue())) {
String pzr1UserId = jsonForm.getString("pzr1UserId");
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(pzr1UserId);
busBean.save(busProcessNewNext);
delegateTask.setVariable("pzr1UserId", pzr1UserId);
}
// 存储当前节点意见
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);
delegateTask.setVariable("approvalFlag",approvalFlag);
}
}
@@ -0,0 +1,37 @@
package com.ydw.bat.wkflow.listener.policyComplianceProgramReviewProcess;
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 com.ydw.bat.wkflow.util.enums.FlowTypeEnum;
import org.activiti.engine.delegate.DelegateTask;
import org.activiti.engine.delegate.TaskListener;
import org.apache.commons.collections4.CollectionUtils;
import java.util.List;
public class PolicyComplianceProgramReviewProcess14Before implements TaskListener {
@Override
public void notify(DelegateTask delegateTask) {
IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class);
CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class);
QueryWrapper queryWrapper = new QueryWrapper();
queryWrapper.isNull("TASK_ID");
queryWrapper.eq("P_ID",delegateTask.getProcessInstanceId());
queryWrapper.eq("USER_ID",delegateTask.getAssignee());
List<BusProcessNew> list = busBean.list(queryWrapper);
if(CollectionUtils.isNotEmpty(list)){
BusProcessNew one1 = list.get(0);
one1.setTaskId(delegateTask.getId());
one1.setTaskInfo(delegateTask.getName());
busBean.saveOrUpdate(one1);
// 发送 oa 待办 设置 跳转页面 router ? 后面流程类型
one1.setLink(FlowTypeEnum.ZCHGXXMSCLC.getRoute() + "?prcType=" + FlowTypeEnum.ZCHGXXMSCLC.getValue() + "&taskDefinitionKey="+delegateTask.getTaskDefinitionKey());
one1.setTaskInfo(delegateTask.getName());
oaService.sendTodoMq(one1);
}
}
}
@@ -0,0 +1,95 @@
package com.ydw.bat.wkflow.listener.policyComplianceProgramReviewProcess;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.ydw.bat.wkflow.business_activiti.service.TaskTodoService;
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.business_mq.service.CreateMQService;
import com.ydw.bat.wkflow.util.SpringContextUtil;
import com.ydw.bat.wkflow.util.enums.FlowTypeEnum;
import org.activiti.engine.delegate.DelegateTask;
import org.activiti.engine.delegate.TaskListener;
import org.apache.commons.lang3.StringUtils;
import java.text.SimpleDateFormat;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
import java.util.UUID;
public class PolicyComplianceProgramReviewProcess15After implements TaskListener {
@Override
public void notify(DelegateTask delegateTask) {
IDatasService datasService = SpringContextUtil.getBean(IDatasService.class);
IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class);
TaskTodoService taskTodoService = SpringContextUtil.getBean(TaskTodoService.class);
IBusProcessNameService busProcessNameService = SpringContextUtil.getBean(IBusProcessNameService.class);
CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class);
QueryWrapper<Datas> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("ACTI_TASK_ID", delegateTask.getId());
Datas datas = datasService.getOne(queryWrapper);
JSONObject object = JSONObject.parseObject(datas.getFormValsJson());
// TODO 等需求确认,提交后需要做什么操作。
JSONObject jsonForm = object.getJSONObject("form");
String csr2UserIds = jsonForm.getString("csr2UserIds");
if (StringUtils.isNotEmpty(csr2UserIds)) {
List<String> csr2UserIdList = Arrays.asList(csr2UserIds.split(","));
for (String csr2UserId : csr2UserIdList) {
// 发送 oa 待阅
BusProcessNew sendToBeReadBpn = new BusProcessNew();
sendToBeReadBpn.setId(UUID.randomUUID().toString().substring(0, 20));
sendToBeReadBpn.setTaskId(delegateTask.getId());
sendToBeReadBpn.setTaskInfo(delegateTask.getName());
sendToBeReadBpn.setLink(
FlowTypeEnum.ZCHGXXMSCLC.getRoute() + "?prcType=" +
FlowTypeEnum.ZCHGXXMSCLC.getValue() +
"&taskDefinitionKey=PolicyComplianceProgramReviewProcessKey11" +
"&operate=view"
);
sendToBeReadBpn.setTaskInfo(delegateTask.getName());
sendToBeReadBpn.setUserId(csr2UserId);
sendToBeReadBpn.setPrcName("重点认证标准/政策合规性项目审查流程");
sendToBeReadBpn.setPId(delegateTask.getProcessInstanceId());
oaService.sendToBeReadMq(sendToBeReadBpn);
}
}
boolean existTaskFlag = taskTodoService.whetherExistTaskByTaskDefinitionKey(
delegateTask.getProcessInstanceId(),
delegateTask.getTaskDefinitionKey(),
delegateTask.getId()
);
if (!existTaskFlag) {
String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date());
QueryWrapper bpnQueryWrap = new QueryWrapper();
bpnQueryWrap.eq("PRC_ID", delegateTask.getProcessInstanceId());
BusProcessName bpn = busProcessNameService.getOne(bpnQueryWrap);
if (bpn != null) {
bpn.setOverTime(OVERTIME);
busProcessNameService.saveOrUpdate(bpn);
}
}
// 存储当前节点意见
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);
}
}
@@ -0,0 +1,37 @@
package com.ydw.bat.wkflow.listener.policyComplianceProgramReviewProcess;
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 com.ydw.bat.wkflow.util.enums.FlowTypeEnum;
import org.activiti.engine.delegate.DelegateTask;
import org.activiti.engine.delegate.TaskListener;
import org.apache.commons.collections4.CollectionUtils;
import java.util.List;
public class PolicyComplianceProgramReviewProcess15Before implements TaskListener {
@Override
public void notify(DelegateTask delegateTask) {
IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class);
CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class);
QueryWrapper queryWrapper = new QueryWrapper();
queryWrapper.isNull("TASK_ID");
queryWrapper.eq("P_ID",delegateTask.getProcessInstanceId());
queryWrapper.eq("USER_ID",delegateTask.getAssignee());
List<BusProcessNew> list = busBean.list(queryWrapper);
if(CollectionUtils.isNotEmpty(list)){
BusProcessNew one1 = list.get(0);
one1.setTaskId(delegateTask.getId());
one1.setTaskInfo(delegateTask.getName());
busBean.saveOrUpdate(one1);
// 发送 oa 待办 设置 跳转页面 router ? 后面流程类型
one1.setLink(FlowTypeEnum.ZCHGXXMSCLC.getRoute() + "?prcType=" + FlowTypeEnum.ZCHGXXMSCLC.getValue() + "&taskDefinitionKey="+delegateTask.getTaskDefinitionKey());
one1.setTaskInfo(delegateTask.getName());
oaService.sendTodoMq(one1);
}
}
}
@@ -0,0 +1,97 @@
package com.ydw.bat.wkflow.listener.policyComplianceProgramReviewProcess;
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 com.ydw.bat.wkflow.util.enums.FlowTypeEnum;
import org.activiti.engine.delegate.DelegateTask;
import org.activiti.engine.delegate.TaskListener;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang.StringUtils;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
public class PolicyComplianceProgramReviewProcess1After 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 jsonForm = object.getJSONObject("form");
delegateTask.setVariable("objectJson", object);
// 审核人1用户ids
String shr1UserIds = jsonForm.getString("shr1UserIds");
List<String> nextUserList = Arrays.asList(shr1UserIds.split(","));
//截止时间 流程描述 创建人
String user = object.getString("prcCreateUser");
String username = object.getString("prcCreateUserName");
String prcName = "重点认证标准/政策合规性项目审查流程";
QueryWrapper bpnQueryWrap = new QueryWrapper();
bpnQueryWrap.eq("PRC_ID", delegateTask.getProcessInstanceId());
BusProcessName bpn = busProcessNameService.getOne(bpnQueryWrap);
if (bpn != null) {
bpn.setPrcType(FlowTypeEnum.ZCHGXXMSCLC.getValue());
bpn.setPrcName(prcName);
bpn.setCreatUser(user);
bpn.setCreatUserName(username);
Date approvalUnitDeadline = jsonForm.getDate("approvalUnitDeadline");
bpn.setResponsibleUnitDeadlineDate(approvalUnitDeadline);
busProcessNameService.saveOrUpdate(bpn);
}
// 存储当前节点意见
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 (CollectionUtils.isNotEmpty(nextUserList)) {
List<BusProcessNew> addBusProcessNewList = new ArrayList<>();
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);
addBusProcessNewList.add(busProcessNewNext);
}
busBean.saveBatch(addBusProcessNewList);
// 配置多实例
delegateTask.setVariable("shr1UserIdList", nextUserList);
delegateTask.setVariable("shr1UserCount", nextUserList.size());
delegateTask.setVariable("shr1UserPassCount", 0);
delegateTask.setVariable("shr1UserOverruleCount", 0);
}
delegateTask.setVariable("fqrUserId", delegateTask.getAssignee());
}
}
@@ -0,0 +1,35 @@
package com.ydw.bat.wkflow.listener.policyComplianceProgramReviewProcess;
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 com.ydw.bat.wkflow.util.enums.FlowTypeEnum;
import org.activiti.engine.delegate.DelegateTask;
import org.activiti.engine.delegate.TaskListener;
import java.util.List;
public class PolicyComplianceProgramReviewProcess1Before implements TaskListener {
@Override
public void notify(DelegateTask delegateTask) {
IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class);
CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class);
QueryWrapper queryWrapper1 = new QueryWrapper();
queryWrapper1.isNull("TASK_ID");
queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId());
List<BusProcessNew> list = busBean.list(queryWrapper1);
if(!list.isEmpty()){
BusProcessNew one1 = list.get(0);
one1.setTaskId(delegateTask.getId());
one1.setTaskInfo(delegateTask.getName());
busBean.saveOrUpdate(one1);
// 发送 oa 待办 设置 跳转页面 router ? 后面流程类型
one1.setLink(FlowTypeEnum.ZCHGXXMSCLC.getRoute() + "?prcType=" + FlowTypeEnum.ZCHGXXMSCLC.getValue() + "&taskDefinitionKey="+delegateTask.getTaskDefinitionKey());
one1.setTaskInfo(delegateTask.getName());
oaService.sendTodoMq(one1);
}
}
}
@@ -0,0 +1,97 @@
package com.ydw.bat.wkflow.listener.policyComplianceProgramReviewProcess;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.ydw.bat.wkflow.business_activiti.service.TaskTodoService;
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.IBusProcessNewService;
import com.ydw.bat.wkflow.business_main.datas.service.IDatasService;
import com.ydw.bat.wkflow.util.SpringContextUtil;
import com.ydw.bat.wkflow.util.enums.ApprovalFlagEnum;
import org.activiti.engine.delegate.DelegateTask;
import org.activiti.engine.delegate.TaskListener;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang.StringUtils;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class PolicyComplianceProgramReviewProcess2After implements TaskListener {
@Override
public void notify(DelegateTask delegateTask) {
IDatasService datasService = SpringContextUtil.getBean(IDatasService.class);
IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class);
TaskTodoService taskTodoService = SpringContextUtil.getBean(TaskTodoService.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 jsonForm = object.getJSONObject("form");
String approvalFlag = jsonForm.getString("approvalFlag");
if (StringUtils.equals(approvalFlag, ApprovalFlagEnum.PASS.getValue())) {
int shr1UserPassCount = (int) delegateTask.getVariable("shr1UserPassCount");
delegateTask.setVariable("shr1UserPassCount", shr1UserPassCount + 1);
boolean existTaskFlag = taskTodoService.whetherExistTaskByTaskDefinitionKey(
delegateTask.getProcessInstanceId(),
delegateTask.getTaskDefinitionKey(),
delegateTask.getId()
);
if (!existTaskFlag) {
// 审定人1用户ids
String sdr1UserIds = jsonForm.getString("sdr1UserIds");
List<String> nextUserList = Arrays.asList(sdr1UserIds.split(","));
if (CollectionUtils.isNotEmpty(nextUserList)) {
List<BusProcessNew> addBusProcessNewList = new ArrayList<>();
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);
addBusProcessNewList.add(busProcessNewNext);
}
busBean.saveBatch(addBusProcessNewList);
// 配置多实例
delegateTask.setVariable("sdr1UserIdList", nextUserList);
delegateTask.setVariable("sdr1UserCount",nextUserList.size());
delegateTask.setVariable("sdr1UserPassCount",0);
delegateTask.setVariable("sdr1UserOverruleCount",0);
}
}
} else if (StringUtils.equals(approvalFlag, ApprovalFlagEnum.OVERRULE.getValue())) {
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());
busBean.save(busProcessNewNext);
delegateTask.setVariable("shr1UserOverruleCount", 1);
}
// 存储当前节点意见
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);
delegateTask.setVariable("approvalFlag",approvalFlag);
}
}
@@ -0,0 +1,37 @@
package com.ydw.bat.wkflow.listener.policyComplianceProgramReviewProcess;
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 com.ydw.bat.wkflow.util.enums.FlowTypeEnum;
import org.activiti.engine.delegate.DelegateTask;
import org.activiti.engine.delegate.TaskListener;
import org.apache.commons.collections4.CollectionUtils;
import java.util.List;
public class PolicyComplianceProgramReviewProcess2Before implements TaskListener {
@Override
public void notify(DelegateTask delegateTask) {
IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class);
CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class);
QueryWrapper queryWrapper = new QueryWrapper();
queryWrapper.isNull("TASK_ID");
queryWrapper.eq("P_ID",delegateTask.getProcessInstanceId());
queryWrapper.eq("USER_ID",delegateTask.getAssignee());
List<BusProcessNew> list = busBean.list(queryWrapper);
if(CollectionUtils.isNotEmpty(list)){
BusProcessNew one1 = list.get(0);
one1.setTaskId(delegateTask.getId());
one1.setTaskInfo(delegateTask.getName());
busBean.saveOrUpdate(one1);
// 发送 oa 待办 设置 跳转页面 router ? 后面流程类型
one1.setLink(FlowTypeEnum.ZCHGXXMSCLC.getRoute() + "?prcType=" + FlowTypeEnum.ZCHGXXMSCLC.getValue() + "&taskDefinitionKey="+delegateTask.getTaskDefinitionKey());
one1.setTaskInfo(delegateTask.getName());
oaService.sendTodoMq(one1);
}
}
}
@@ -0,0 +1,81 @@
package com.ydw.bat.wkflow.listener.policyComplianceProgramReviewProcess;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.ydw.bat.wkflow.business_activiti.service.TaskTodoService;
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.IBusProcessNewService;
import com.ydw.bat.wkflow.business_main.datas.service.IDatasService;
import com.ydw.bat.wkflow.util.SpringContextUtil;
import com.ydw.bat.wkflow.util.enums.ApprovalFlagEnum;
import org.activiti.engine.delegate.DelegateTask;
import org.activiti.engine.delegate.TaskListener;
import org.apache.commons.lang.StringUtils;
public class PolicyComplianceProgramReviewProcess4After implements TaskListener {
@Override
public void notify(DelegateTask delegateTask) {
IDatasService datasService = SpringContextUtil.getBean(IDatasService.class);
IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class);
TaskTodoService taskTodoService = SpringContextUtil.getBean(TaskTodoService.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 jsonForm = object.getJSONObject("form");
String approvalFlag = jsonForm.getString("approvalFlag");
if (StringUtils.equals(approvalFlag, ApprovalFlagEnum.PASS.getValue())) {
int sdr1UserPassCount = (int) delegateTask.getVariable("sdr1UserPassCount");
delegateTask.setVariable("sdr1UserPassCount", sdr1UserPassCount + 1);
boolean existTaskFlag = taskTodoService.whetherExistTaskByTaskDefinitionKey(
delegateTask.getProcessInstanceId(),
delegateTask.getTaskDefinitionKey(),
delegateTask.getId()
);
if (!existTaskFlag) {
String pzr1UserId = jsonForm.getString("pzr1UserId");
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(pzr1UserId);
busBean.save(busProcessNewNext);
delegateTask.setVariable("pzr1UserId",pzr1UserId);
}
} else if (StringUtils.equals(approvalFlag, ApprovalFlagEnum.OVERRULE.getValue())) {
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());
busBean.save(busProcessNewNext);
delegateTask.setVariable("sdr1UserOverruleCount", 1);
}
// 存储当前节点意见
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);
delegateTask.setVariable("approvalFlag",approvalFlag);
}
}
@@ -0,0 +1,37 @@
package com.ydw.bat.wkflow.listener.policyComplianceProgramReviewProcess;
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 com.ydw.bat.wkflow.util.enums.FlowTypeEnum;
import org.activiti.engine.delegate.DelegateTask;
import org.activiti.engine.delegate.TaskListener;
import org.apache.commons.collections4.CollectionUtils;
import java.util.List;
public class PolicyComplianceProgramReviewProcess4Before implements TaskListener {
@Override
public void notify(DelegateTask delegateTask) {
IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class);
CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class);
QueryWrapper queryWrapper = new QueryWrapper();
queryWrapper.isNull("TASK_ID");
queryWrapper.eq("P_ID",delegateTask.getProcessInstanceId());
queryWrapper.eq("USER_ID",delegateTask.getAssignee());
List<BusProcessNew> list = busBean.list(queryWrapper);
if(CollectionUtils.isNotEmpty(list)){
BusProcessNew one1 = list.get(0);
one1.setTaskId(delegateTask.getId());
one1.setTaskInfo(delegateTask.getName());
busBean.saveOrUpdate(one1);
// 发送 oa 待办 设置 跳转页面 router ? 后面流程类型
one1.setLink(FlowTypeEnum.ZCHGXXMSCLC.getRoute() + "?prcType=" + FlowTypeEnum.ZCHGXXMSCLC.getValue() + "&taskDefinitionKey="+delegateTask.getTaskDefinitionKey());
one1.setTaskInfo(delegateTask.getName());
oaService.sendTodoMq(one1);
}
}
}
@@ -0,0 +1,107 @@
package com.ydw.bat.wkflow.listener.policyComplianceProgramReviewProcess;
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.IBusProcessNewService;
import com.ydw.bat.wkflow.business_main.datas.service.IDatasService;
import com.ydw.bat.wkflow.util.SpringContextUtil;
import com.ydw.bat.wkflow.util.enums.ApprovalFlagEnum;
import org.activiti.engine.delegate.DelegateTask;
import org.activiti.engine.delegate.TaskListener;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang.StringUtils;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
public class PolicyComplianceProgramReviewProcess5After implements TaskListener {
@Override
public void notify(DelegateTask delegateTask) {
IDatasService datasService = SpringContextUtil.getBean(IDatasService.class);
IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.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 jsonForm = object.getJSONObject("form");
String approvalFlag = jsonForm.getString("approvalFlag");
if (StringUtils.equals(approvalFlag, ApprovalFlagEnum.PASS.getValue())) {
Date approvalUnitDeadline = jsonForm.getDate("approvalUnitDeadline");
String endFlag = "";
// 如果当前日期大于审批单位截止日期,则不走责任对接人子流程
if (new Date().after(approvalUnitDeadline)) {
endFlag = "0";
// 管理员用户id
String glyUserId = jsonForm.getString("glyUserId");
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(glyUserId);
busBean.save(busProcessNewNext);
delegateTask.setVariable("glyUserId",glyUserId);
} else {
endFlag = "1";
// 责任对接人用户id
String djrUserIds = jsonForm.getString("djrUserIds");
List<String> nextUserList = Arrays.asList(djrUserIds.split(","));
if (CollectionUtils.isNotEmpty(nextUserList)) {
List<BusProcessNew> addBusProcessNewList = new ArrayList<>();
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);
addBusProcessNewList.add(busProcessNewNext);
}
busBean.saveBatch(addBusProcessNewList);
// 配置多实例
delegateTask.setVariable("djrUserIdList", nextUserList);
delegateTask.setVariable("zrSubProcessCount",nextUserList.size());
delegateTask.setVariable("zrSubProcessFinishCount",0);
}
}
delegateTask.setVariable("endFlag",endFlag);
} else if (StringUtils.equals(approvalFlag, ApprovalFlagEnum.OVERRULE.getValue())) {
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());
busBean.save(busProcessNewNext);
}
// 存储当前节点意见
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);
delegateTask.setVariable("approvalFlag",approvalFlag);
}
}
@@ -0,0 +1,37 @@
package com.ydw.bat.wkflow.listener.policyComplianceProgramReviewProcess;
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 com.ydw.bat.wkflow.util.enums.FlowTypeEnum;
import org.activiti.engine.delegate.DelegateTask;
import org.activiti.engine.delegate.TaskListener;
import org.apache.commons.collections4.CollectionUtils;
import java.util.List;
public class PolicyComplianceProgramReviewProcess5Before implements TaskListener {
@Override
public void notify(DelegateTask delegateTask) {
IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class);
CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class);
QueryWrapper queryWrapper = new QueryWrapper();
queryWrapper.isNull("TASK_ID");
queryWrapper.eq("P_ID",delegateTask.getProcessInstanceId());
queryWrapper.eq("USER_ID",delegateTask.getAssignee());
List<BusProcessNew> list = busBean.list(queryWrapper);
if(CollectionUtils.isNotEmpty(list)){
BusProcessNew one1 = list.get(0);
one1.setTaskId(delegateTask.getId());
one1.setTaskInfo(delegateTask.getName());
busBean.saveOrUpdate(one1);
// 发送 oa 待办 设置 跳转页面 router ? 后面流程类型
one1.setLink(FlowTypeEnum.ZCHGXXMSCLC.getRoute() + "?prcType=" + FlowTypeEnum.ZCHGXXMSCLC.getValue() + "&taskDefinitionKey="+delegateTask.getTaskDefinitionKey());
one1.setTaskInfo(delegateTask.getName());
oaService.sendTodoMq(one1);
}
}
}
@@ -0,0 +1,137 @@
package com.ydw.bat.wkflow.listener.policyComplianceProgramReviewProcess;
import com.alibaba.fastjson.JSONArray;
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.entity.FlowUserRelInfo;
import com.ydw.bat.wkflow.business_main.datas.entity.ZchgxxmscSybDataEO;
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.IFlowUserRelInfoService;
import com.ydw.bat.wkflow.business_main.datas.service.IZchgxxmscSybDataEOService;
import com.ydw.bat.wkflow.util.SpringContextUtil;
import com.ydw.bat.wkflow.util.enums.FlowTypeEnum;
import org.activiti.engine.delegate.DelegateTask;
import org.activiti.engine.delegate.TaskListener;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import java.util.*;
public class PolicyComplianceProgramReviewProcess7After implements TaskListener {
@Override
public void notify(DelegateTask delegateTask) {
IDatasService datasService = SpringContextUtil.getBean(IDatasService.class);
IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class);
IFlowUserRelInfoService flowUserRelInfoService = SpringContextUtil.getBean(IFlowUserRelInfoService.class);
IZchgxxmscSybDataEOService zchgxxmscSybDataEOService = SpringContextUtil.getBean(IZchgxxmscSybDataEOService.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 jsonForm = object.getJSONObject("form");
// 提交方式,如果该字段不为空,则是定时器自动提交 定时器自动提交value:timerAutoSubmit
String submitMethod = object.getString("submitMethod");
if (StringUtils.isEmpty(submitMethod)) {
String zrrUserIds = jsonForm.getString("zrrUserIds");
if (StringUtils.isNotEmpty(zrrUserIds)) {
List<String> nextUserList = Arrays.asList(zrrUserIds.split(","));
if (CollectionUtils.isNotEmpty(nextUserList)) {
// departmentType字段: value: undertaking 事业部 productPlanning 产品规划部
String departmentType = jsonForm.getString("departmentType");
if (StringUtils.equals(departmentType,"undertaking")) {
JSONArray sybDataList = jsonForm.getJSONArray("infoTableDatas");
List<ZchgxxmscSybDataEO> zchgxxmscSybDataEOList = new ArrayList<>();
for (String nextUser : nextUserList) {
ZchgxxmscSybDataEO zchgxxmscSybDataEO = null;
for (Object sybData : sybDataList) {
zchgxxmscSybDataEO = JSONObject.parseObject(JSONObject.toJSONString(sybData),ZchgxxmscSybDataEO.class);
zchgxxmscSybDataEO.setId(UUID.randomUUID().toString());
zchgxxmscSybDataEO.setZrrUserId(nextUser);
zchgxxmscSybDataEO.setPrcId(delegateTask.getProcessInstanceId());
zchgxxmscSybDataEO.setCreateTime(new Date());
zchgxxmscSybDataEOList.add(zchgxxmscSybDataEO);
}
}
zchgxxmscSybDataEOService.batchInsert(zchgxxmscSybDataEOList);
}
List<FlowUserRelInfo> flowUserRelInfoList = new ArrayList<>();
List<BusProcessNew> addBusProcessNewList = new ArrayList<>();
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);
addBusProcessNewList.add(busProcessNewNext);
FlowUserRelInfo flowUserRelInfo = new FlowUserRelInfo();
flowUserRelInfo.setParentUserId(delegateTask.getAssignee());
flowUserRelInfo.setUserId(nextUser);
flowUserRelInfo.setActiProcInstId(delegateTask.getProcessInstanceId());
flowUserRelInfo.setFlowType(FlowTypeEnum.ZCHGXXMSCLC.getValue());
flowUserRelInfo.setDataType("zrdjrfpzrr"); // 责任对接人分配责任人
flowUserRelInfoList.add(flowUserRelInfo);
}
busBean.saveBatch(addBusProcessNewList);
// 配置多实例
delegateTask.setVariable("zrrUserIdList", nextUserList);
flowUserRelInfoService.saveBatchFlowUserRelInfo(flowUserRelInfoList);
}
}
submitMethod = "pageSubmit";
} else {
// 责任部门 子流程总数
int zrSubProcessCount = (int) delegateTask.getVariable("zrSubProcessCount");
int zrSubProcessFinishCount = (int) delegateTask.getVariable("zrSubProcessFinishCount");
zrSubProcessFinishCount = zrSubProcessFinishCount + 1;
delegateTask.setVariable("zrSubProcessFinishCount", zrSubProcessFinishCount);
// 如果该流程中的 责任部门子流程都已完成,给管理员节点分配数据。
if (zrSubProcessCount == zrSubProcessFinishCount) {
String glyUserId = jsonForm.getString("glyUserId");
delegateTask.setVariable("glyUserId", glyUserId);
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(glyUserId);
busBean.save(busProcessNewNext);
}
submitMethod = "timerAutoSubmit";
}
// 存储当前节点意见
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);
delegateTask.setVariable("submitMethod",submitMethod);
}
}
@@ -0,0 +1,38 @@
package com.ydw.bat.wkflow.listener.policyComplianceProgramReviewProcess;
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 com.ydw.bat.wkflow.util.enums.FlowTypeEnum;
import org.activiti.engine.delegate.DelegateTask;
import org.activiti.engine.delegate.TaskListener;
import org.apache.commons.collections4.CollectionUtils;
import java.util.List;
public class PolicyComplianceProgramReviewProcess7Before implements TaskListener {
@Override
public void notify(DelegateTask delegateTask) {
IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class);
CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class);
QueryWrapper queryWrapper = new QueryWrapper();
queryWrapper.isNull("TASK_ID");
queryWrapper.eq("P_ID",delegateTask.getProcessInstanceId());
queryWrapper.eq("USER_ID",delegateTask.getAssignee());
List<BusProcessNew> list = busBean.list(queryWrapper);
if(CollectionUtils.isNotEmpty(list)){
BusProcessNew one1 = list.get(0);
one1.setTaskId(delegateTask.getId());
one1.setTaskInfo(delegateTask.getName());
busBean.saveOrUpdate(one1);
// 发送 oa 待办 设置 跳转页面 router ? 后面流程类型
one1.setLink(FlowTypeEnum.ZCHGXXMSCLC.getRoute() + "?prcType=" + FlowTypeEnum.ZCHGXXMSCLC.getValue() + "&taskDefinitionKey="+delegateTask.getTaskDefinitionKey());
one1.setTaskInfo(delegateTask.getName());
oaService.sendTodoMq(one1);
}
}
}
@@ -0,0 +1,108 @@
package com.ydw.bat.wkflow.listener.policyComplianceProgramReviewProcess;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.ydw.bat.wkflow.business_activiti.service.TaskTodoService;
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.ZchgxxmscSybDataEO;
import com.ydw.bat.wkflow.business_main.datas.service.*;
import com.ydw.bat.wkflow.util.SpringContextUtil;
import org.activiti.engine.delegate.DelegateTask;
import org.activiti.engine.delegate.TaskListener;
import org.apache.commons.lang3.StringUtils;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
public class PolicyComplianceProgramReviewProcess8After implements TaskListener {
@Override
public void notify(DelegateTask delegateTask) {
IDatasService datasService = SpringContextUtil.getBean(IDatasService.class);
IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class);
IZchgxxmscSybDataEOService zchgxxmscSybDataEOService = SpringContextUtil.getBean(IZchgxxmscSybDataEOService.class);
IZchgxxmscCpghbDataEOService zchgxxmscCpghbDataEOService = SpringContextUtil.getBean(IZchgxxmscCpghbDataEOService.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 jsonForm = object.getJSONObject("form");
// 提交方式,如果该字段不为空,则是定时器自动提交 定时器自动提交value:timerAutoSubmit
String submitMethod = object.getString("submitMethod");
if (StringUtils.isEmpty(submitMethod)) {
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((String) delegateTask.getVariable("djrUserId"));
busBean.save(busProcessNewNext);
// 保存责任人填写的数据信息
// departmentType字段: value: undertaking 事业部 productPlanning 产品规划部
String departmentType = jsonForm.getString("departmentType");
if (StringUtils.equals(departmentType,"undertaking") && jsonForm.containsKey("sybDataList")) {
JSONArray sybDataListArr = jsonForm.getJSONArray("sybDataList");
List<ZchgxxmscSybDataEO> zchgxxmscSybDataEOList = new ArrayList<>();
ZchgxxmscSybDataEO zchgxxmscSybDataEO = null;
for (Object sybData : sybDataListArr) {
zchgxxmscSybDataEO = JSONObject.parseObject(JSONObject.toJSONString(sybData),ZchgxxmscSybDataEO.class);
zchgxxmscSybDataEO.setModifyTime(new Date());
zchgxxmscSybDataEOList.add(zchgxxmscSybDataEO);
}
zchgxxmscSybDataEOService.updateBatchById(zchgxxmscSybDataEOList);
} else if (StringUtils.equals(departmentType,"productPlanning")) {
// 保存产品规划部的责任人填写的信息
object.put("currentUserId",delegateTask.getAssignee());
object.put("prcId",delegateTask.getProcessInstanceId());
zchgxxmscCpghbDataEOService.batchInsert(object);
}
submitMethod = "pageSubmit";
} else {
// 责任部门 子流程总数
int zrSubProcessCount = (int) delegateTask.getVariable("zrSubProcessCount");
int zrSubProcessFinishCount = (int) delegateTask.getVariable("zrSubProcessFinishCount");
zrSubProcessFinishCount = zrSubProcessFinishCount + 1;
delegateTask.setVariable("zrSubProcessFinishCount", zrSubProcessFinishCount);
// 如果该流程中的 责任部门子流程都已完成,给管理员节点分配数据。
if (zrSubProcessCount == zrSubProcessFinishCount) {
String glyUserId = jsonForm.getString("glyUserId");
delegateTask.setVariable("glyUserId", glyUserId);
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(glyUserId);
busBean.save(busProcessNewNext);
}
submitMethod = "timerAutoSubmit";
}
// 存储当前节点意见
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);
delegateTask.setVariable("submitMethod",submitMethod);
}
}
@@ -0,0 +1,37 @@
package com.ydw.bat.wkflow.listener.policyComplianceProgramReviewProcess;
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 com.ydw.bat.wkflow.util.enums.FlowTypeEnum;
import org.activiti.engine.delegate.DelegateTask;
import org.activiti.engine.delegate.TaskListener;
import org.apache.commons.collections4.CollectionUtils;
import java.util.List;
public class PolicyComplianceProgramReviewProcess8Before implements TaskListener {
@Override
public void notify(DelegateTask delegateTask) {
IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class);
CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class);
QueryWrapper queryWrapper = new QueryWrapper();
queryWrapper.isNull("TASK_ID");
queryWrapper.eq("P_ID",delegateTask.getProcessInstanceId());
queryWrapper.eq("USER_ID",delegateTask.getAssignee());
List<BusProcessNew> list = busBean.list(queryWrapper);
if(CollectionUtils.isNotEmpty(list)){
BusProcessNew one1 = list.get(0);
one1.setTaskId(delegateTask.getId());
one1.setTaskInfo(delegateTask.getName());
busBean.saveOrUpdate(one1);
// 发送 oa 待办 设置 跳转页面 router ? 后面流程类型
one1.setLink(FlowTypeEnum.ZCHGXXMSCLC.getRoute() + "?prcType=" + FlowTypeEnum.ZCHGXXMSCLC.getValue() + "&taskDefinitionKey="+delegateTask.getTaskDefinitionKey());
one1.setTaskInfo(delegateTask.getName());
oaService.sendTodoMq(one1);
}
}
}
@@ -0,0 +1,140 @@
package com.ydw.bat.wkflow.listener.policyComplianceProgramReviewProcess;
import com.alibaba.fastjson.JSONArray;
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.entity.FlowUserRelInfo;
import com.ydw.bat.wkflow.business_main.datas.entity.ZchgxxmscSybDataEO;
import com.ydw.bat.wkflow.business_main.datas.service.*;
import com.ydw.bat.wkflow.util.SpringContextUtil;
import com.ydw.bat.wkflow.util.enums.ApprovalFlagEnum;
import com.ydw.bat.wkflow.util.enums.FlowTypeEnum;
import org.activiti.engine.delegate.DelegateTask;
import org.activiti.engine.delegate.TaskListener;
import org.apache.commons.lang.StringUtils;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
public class PolicyComplianceProgramReviewProcess9After implements TaskListener {
@Override
public void notify(DelegateTask delegateTask) {
IDatasService datasService = SpringContextUtil.getBean(IDatasService.class);
IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class);
IFlowUserRelInfoService flowUserRelInfoService = SpringContextUtil.getBean(IFlowUserRelInfoService.class);
IZchgxxmscSybDataEOService zchgxxmscSybDataEOService = SpringContextUtil.getBean(IZchgxxmscSybDataEOService.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 jsonForm = object.getJSONObject("form");
String approvalFlag = jsonForm.getString("approvalFlag");
// 提交方式,如果该字段不为空,则是定时器自动提交 定时器自动提交value:timerAutoSubmit
String submitMethod = object.getString("submitMethod");
if (StringUtils.isEmpty(submitMethod)) {
if (StringUtils.equals(approvalFlag, ApprovalFlagEnum.PASS.getValue())) {
String zrdwUserId = jsonForm.getString("zrdwUserId");
delegateTask.setVariable("zrdwUserId", zrdwUserId);
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(zrdwUserId);
busBean.save(busProcessNewNext);
List<FlowUserRelInfo> flowUserRelInfoList = new ArrayList<>();
FlowUserRelInfo flowUserRelInfo = new FlowUserRelInfo();
flowUserRelInfo.setParentUserId(delegateTask.getAssignee());
flowUserRelInfo.setUserId(zrdwUserId);
flowUserRelInfo.setActiProcInstId(delegateTask.getProcessInstanceId());
flowUserRelInfo.setFlowType(FlowTypeEnum.ZCHGXXMSCLC.getValue());
flowUserRelInfo.setDataType("zrdjrfpzrdw"); // 责任对接人分配责任单位审批
flowUserRelInfoList.add(flowUserRelInfo);
flowUserRelInfoService.saveBatchFlowUserRelInfo(flowUserRelInfoList);
jsonForm.put("zrdwUserId","");
submitMethod = "pageSubmit";
} else if (StringUtils.equals(approvalFlag, ApprovalFlagEnum.OVERRULE.getValue())) {
List<String> zrrUserIdList = (List<String>) delegateTask.getVariable("zrrUserIdList");
List<BusProcessNew> addBusProcessNewList = new ArrayList<>();
for (String nextUser : zrrUserIdList) {
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);
addBusProcessNewList.add(busProcessNewNext);
}
busBean.saveBatch(addBusProcessNewList);
}
} else {
// 责任部门 子流程总数
int zrSubProcessCount = (int) delegateTask.getVariable("zrSubProcessCount");
int zrSubProcessFinishCount = (int) delegateTask.getVariable("zrSubProcessFinishCount");
zrSubProcessFinishCount = zrSubProcessFinishCount + 1;
delegateTask.setVariable("zrSubProcessFinishCount", zrSubProcessFinishCount);
// 如果该流程中的 责任部门子流程都已完成,给管理员节点分配数据。
if (zrSubProcessCount == zrSubProcessFinishCount) {
String glyUserId = jsonForm.getString("glyUserId");
delegateTask.setVariable("glyUserId", glyUserId);
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(glyUserId);
busBean.save(busProcessNewNext);
}
submitMethod = "timerAutoSubmit";
}
// 保存责任人对接人修改的数据信息
// departmentType字段: value: undertaking 事业部 productPlanning 产品规划部
String departmentType = jsonForm.getString("departmentType");
if (StringUtils.equals(departmentType,"undertaking") && jsonForm.containsKey("sybDataList")) {
JSONArray sybDataListArr = jsonForm.getJSONArray("sybDataList");
List<ZchgxxmscSybDataEO> zchgxxmscSybDataEOList = new ArrayList<>();
ZchgxxmscSybDataEO zchgxxmscSybDataEO = null;
for (Object sybData : sybDataListArr) {
zchgxxmscSybDataEO = JSONObject.parseObject(JSONObject.toJSONString(sybData),ZchgxxmscSybDataEO.class);
zchgxxmscSybDataEO.setModifyTime(new Date());
zchgxxmscSybDataEOList.add(zchgxxmscSybDataEO);
}
zchgxxmscSybDataEOService.updateBatchById(zchgxxmscSybDataEOList);
} else if (StringUtils.equals(departmentType,"productPlanning")) {
}
// 存储当前节点意见
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);
delegateTask.setVariable("approvalFlag", approvalFlag);
delegateTask.setVariable("submitMethod", submitMethod);
}
}
@@ -0,0 +1,38 @@
package com.ydw.bat.wkflow.listener.policyComplianceProgramReviewProcess;
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 com.ydw.bat.wkflow.util.enums.FlowTypeEnum;
import org.activiti.engine.delegate.DelegateTask;
import org.activiti.engine.delegate.TaskListener;
import org.apache.commons.collections4.CollectionUtils;
import java.util.List;
public class PolicyComplianceProgramReviewProcess9Before implements TaskListener {
@Override
public void notify(DelegateTask delegateTask) {
IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class);
CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class);
QueryWrapper queryWrapper = new QueryWrapper();
queryWrapper.isNull("TASK_ID");
queryWrapper.eq("P_ID",delegateTask.getProcessInstanceId());
queryWrapper.eq("USER_ID",delegateTask.getAssignee());
List<BusProcessNew> list = busBean.list(queryWrapper);
if(CollectionUtils.isNotEmpty(list)){
BusProcessNew one1 = list.get(0);
one1.setTaskId(delegateTask.getId());
one1.setTaskInfo(delegateTask.getName());
busBean.saveOrUpdate(one1);
// 发送 oa 待办 设置 跳转页面 router ? 后面流程类型
one1.setLink(FlowTypeEnum.ZCHGXXMSCLC.getRoute() + "?prcType=" + FlowTypeEnum.ZCHGXXMSCLC.getValue() + "&taskDefinitionKey="+delegateTask.getTaskDefinitionKey());
one1.setTaskInfo(delegateTask.getName());
oaService.sendTodoMq(one1);
}
}
}
@@ -0,0 +1,143 @@
package com.ydw.bat.wkflow.listener.policyComplianceProgramReviewProcess.timer;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
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.service.IBusProcessNameService;
import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService;
import com.ydw.bat.wkflow.business_wkflow.form.dto.FormSubmitDto;
import com.ydw.bat.wkflow.business_wkflow.form.service.FormValsService;
import com.ydw.bat.wkflow.util.enums.ApprovalFlagEnum;
import com.ydw.bat.wkflow.util.enums.FlowTypeEnum;
import lombok.extern.slf4j.Slf4j;
import org.activiti.engine.TaskService;
import org.activiti.engine.task.Task;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.stream.Collectors;
/**
* @Description: 重点认证标准/政策合规性项目审查流程定时器
* @author: wangzhijiang
* @date: 2023-10-26
*/
@Component
@EnableScheduling
@Slf4j
public class PolicyComplianceProgramReviewProcessTimer {
@Autowired
private IBusProcessNameService busProcessNameService;
@Autowired
private TaskService taskService;
@Autowired
private IBusProcessNewService busProcessNewService;
@Autowired
private FormValsService formValsService;
/**
* @Description: 自动提交待办任务
* @author: wangzhijiang
* @date: 2023-10-23
* @Param:
* @return:
*/
@Scheduled(cron = "10 0 0 * * ? ")//每天凌晨12点10分执行
public void autoSubmitZrbmTask() {
QueryWrapper<BusProcessName> bpnQueryWrap = new QueryWrapper<>();
bpnQueryWrap.lambda().eq(BusProcessName::getPrcType, FlowTypeEnum.ZCHGXXMSCLC.getValue());
bpnQueryWrap.lambda().lt(BusProcessName::getResponsibleUnitDeadlineDate, new Date());
List<BusProcessName> busProcessNameList = this.busProcessNameService.list(bpnQueryWrap);
if (CollectionUtils.isNotEmpty(busProcessNameList)) {
List<String> actiProcInstIdList = busProcessNameList.stream().map(BusProcessName::getPrcId).distinct().collect(Collectors.toList());
this.recursionComplteZrbmTask(actiProcInstIdList);
}
}
/**
* 递归提交待办任务
*
* @param actiProcInstIdList
*/
public void recursionComplteZrbmTask(List<String> actiProcInstIdList) {
for (String actiProcInstId : actiProcInstIdList) {
List<Task> taskList = this.taskService.createTaskQuery().processInstanceId(actiProcInstId).list().stream().filter(task -> {
boolean flag = false;
if (StringUtils.equals(task.getTaskDefinitionKey(), "PolicyComplianceProgramReviewProcessKey7")
|| StringUtils.equals(task.getTaskDefinitionKey(), "PolicyComplianceProgramReviewProcessKey8")
|| StringUtils.equals(task.getTaskDefinitionKey(), "PolicyComplianceProgramReviewProcessKey9")
|| StringUtils.equals(task.getTaskDefinitionKey(), "PolicyComplianceProgramReviewProcessKey10")) {
flag = true;
}
return flag;
}).distinct().collect(Collectors.toList());
if (CollectionUtils.isNotEmpty(taskList)) {
for (Task task : taskList) {
JSONObject formJson = new JSONObject();
QueryWrapper<BusProcessNew> newQueryWrapper = new QueryWrapper<>();
newQueryWrapper.lambda().eq(BusProcessNew::getTaskId, task.getId());
BusProcessNew busProcessNew = this.busProcessNewService.getOne(newQueryWrapper);
if (ObjectUtils.isNotEmpty(busProcessNew)) {
formJson = JSONObject.parseObject(busProcessNew.getMesg());
JSONObject jsonForm = formJson.getJSONObject("form");
jsonForm.put("approvalFlag",ApprovalFlagEnum.PASS.getValue());
jsonForm.put("internalReviewFlag", "1");
formJson.put("commentText","");
}
formJson.put("submitMethod", "timerAutoSubmit");
formJson.put("approvalFlag", ApprovalFlagEnum.PASS.getValue());
formJson.put("internalReviewFlag", "1");
FormSubmitDto formSubmitDto = new FormSubmitDto();
formSubmitDto.setForm(formJson.toString());
formSubmitDto.setTask_id(task.getId());
this.formValsService.saveFormVals(formSubmitDto, task.getTaskDefinitionKey());
this.taskService.complete(task.getId());
}
}
}
List<String> actiProcInstIds = this.queryZrbmTaskByActiProcInstId(actiProcInstIdList);
if (CollectionUtils.isNotEmpty(actiProcInstIds)) {
this.recursionComplteZrbmTask(actiProcInstIds);
}
}
/**
* 根据流程实例id,查询还有待办任务的流程。
*
* @param actiProcInstIdList
* @return
*/
public List<String> queryZrbmTaskByActiProcInstId(List<String> actiProcInstIdList) {
List<String> result = new ArrayList<>();
for (String actiProcInstId : actiProcInstIdList) {
List<Task> taskList = this.taskService.createTaskQuery().processInstanceId(actiProcInstId).list().stream().filter(task -> {
boolean flag = false;
if (StringUtils.equals(task.getTaskDefinitionKey(), "PolicyComplianceProgramReviewProcessKey7")
|| StringUtils.equals(task.getTaskDefinitionKey(), "PolicyComplianceProgramReviewProcessKey8")
|| StringUtils.equals(task.getTaskDefinitionKey(), "PolicyComplianceProgramReviewProcessKey9")
|| StringUtils.equals(task.getTaskDefinitionKey(), "PolicyComplianceProgramReviewProcessKey10")) {
flag = true;
}
return flag;
}).distinct().collect(Collectors.toList());
if (taskList.size() != 0) {
result.add(actiProcInstId);
}
}
return result;
}
}
@@ -0,0 +1,99 @@
package com.ydw.bat.wkflow.listener.policyLawsInformationLibrary;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
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;
/**
* @author tjzdw
* @description 政策法规资料入库申请发起后
* @date 2023/10/16
*/
public class PolicyLawsInformationApplicationAfter 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);
LambdaQueryWrapper<Datas> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(Datas::getActiTaskId, delegateTask.getId());
Datas datas = datasService.getOne(queryWrapper);
JSONObject object = JSONObject.parseObject(datas.getFormValsJson());
// 添加关联流程编号
String processInstanceId = delegateTask.getProcessInstanceId();
LambdaQueryWrapper<BusProcessName> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(BusProcessName::getPrcId,processInstanceId);
BusProcessName processName = busProcessNameService.getOne(wrapper);
object.put("prcNum",processName.getPrcNum());
delegateTask.setVariable("objectJson",object);
List<String> nextUserList = new ArrayList<>();
if(StringUtils.isNotBlank(object.getString("approverId"))){
delegateTask.setVariable("approverId",object.getString("approverId"));
nextUserList.add(object.getString("approverId"));
}else {
throw new ActivitiException("1#2经理人不存在,请配置相关人员");
}
//截止时间 流程描述 创建人
String overTime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date());
String user = object.getString("applyUserId");
String username = object.getString("applyUserName");
Object informationName = object.get("name");
String prcName = informationName + "-政策法规资料入库流程";
LambdaQueryWrapper<BusProcessName> queryWrapper2 = new LambdaQueryWrapper<>();
queryWrapper2.eq(BusProcessName::getPrcId,delegateTask.getProcessInstanceId());
BusProcessName one1 = busProcessNameService.getOne(queryWrapper2);
if(one1!=null){
one1.setPrcType("32");
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.setPrcName(prcName);
busProcessNew.setTaskInfo(delegateTask.getName());
busBean.save(busProcessNew);
for(String nextUser : nextUserList){
BusProcessNew busProcessNewNext = new BusProcessNew();
busProcessNewNext.setMsgType("clause");
busProcessNewNext.setPId(delegateTask.getProcessInstanceId());
busProcessNewNext.setMesg(object.toJSONString());
busProcessNewNext.setTaskInfo("批准");
busProcessNewNext.setFinishFlag("0");
busProcessNewNext.setTaskInfo(delegateTask.getName());
busProcessNewNext.setUserId(nextUser);
busProcessNewNext.setPrcName(prcName);
busBean.save(busProcessNewNext);
}
}
}
@@ -0,0 +1,17 @@
package com.ydw.bat.wkflow.listener.policyLawsInformationLibrary;
import org.activiti.engine.delegate.DelegateTask;
import org.activiti.engine.delegate.TaskListener;
/**
* @author tjzdw
* @description 政策法规资料入库申请发起前
* @date 2023/10/27
*/
public class PolicyLawsInformationApplicationBefore implements TaskListener {
@Override
public void notify(DelegateTask delegateTask) {
}
}
@@ -0,0 +1,87 @@
package com.ydw.bat.wkflow.listener.policyLawsInformationLibrary;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
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 java.text.SimpleDateFormat;
import java.util.Date;
/**
* @author tjzdw
* @description 政策法规资料入库经理人审批后
* @date 2023/10/16
*/
public class PolicyLawsInformationApproveAfter 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);
LambdaQueryWrapper<Datas> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(Datas::getActiTaskId, delegateTask.getId());
Datas datas = datasService.getOne(queryWrapper);
JSONObject object = JSONObject.parseObject(datas.getFormValsJson());
Integer approvalOpinion = object.getInteger("approvalOpinion");
String informationName = object.getString("name");
String prcName = informationName + "-政策法规资料入库流程";
// 驳回任务
if (approvalOpinion == 1) {
delegateTask.setVariable("applyUserId", object.getString("applyUserId"));
BusProcessNew busProcessNew = new BusProcessNew();
busProcessNew.setMsgType("clause");
busProcessNew.setPId(delegateTask.getProcessInstanceId());
busProcessNew.setMesg(object.toJSONString());
busProcessNew.setTaskInfo("重新起草");
busProcessNew.setFinishFlag("0");
busProcessNew.setUserId(object.getString("applyUserId"));
busProcessNew.setPrcName(prcName);
busBean.save(busProcessNew);
LambdaQueryWrapper<BusProcessNew> queryWrapper1 = new LambdaQueryWrapper<>();
queryWrapper1.eq(BusProcessNew::getTaskId, delegateTask.getId());
BusProcessNew one1 = busBean.getOne(queryWrapper1);
if (one1 != null) {
one1.setCommitFlag("1");
one1.setCommitText(object.getString("commentText"));
busBean.saveOrUpdate(one1);
}
delegateTask.setVariable("approvalOpinion", 1);
} else {
// 同意
delegateTask.setVariable("approvalOpinion", 0);
LambdaQueryWrapper<BusProcessName> queryWrapper2 = new LambdaQueryWrapper<>();
queryWrapper2.eq(BusProcessName::getPrcId, delegateTask.getProcessInstanceId());
BusProcessName one2 = busProcessNameService.getOne(queryWrapper2);
String overTime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date());
if (one2 != null) {
one2.setPrcName(prcName);
one2.setOverTime(overTime);
one2.setPrcType("32");
busProcessNameService.saveOrUpdate(one2);
}
LambdaQueryWrapper<BusProcessNew> queryWrapper1 = new LambdaQueryWrapper<>();
queryWrapper1.eq(BusProcessNew::getTaskId, delegateTask.getId());
BusProcessNew one1 = busBean.getOne(queryWrapper1);
if (one1 != null) {
one1.setCommitFlag("0");
one1.setCommitText(object.getString("commentText"));
busBean.saveOrUpdate(one1);
}
}
}
}
@@ -0,0 +1,42 @@
package com.ydw.bat.wkflow.listener.policyLawsInformationLibrary;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
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;
/**
* @author tjzdw
* @description 政策法规资料入库经理人审批前
* @date 2023/10/16
*/
public class PolicyLawsInformationApproveBefore implements TaskListener {
@Override
public void notify(DelegateTask delegateTask) {
IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class);
CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class);
LambdaQueryWrapper<BusProcessNew> queryWrapper1 = new LambdaQueryWrapper<>();
queryWrapper1.eq(BusProcessNew::getPId,delegateTask.getProcessInstanceId());
queryWrapper1.eq(BusProcessNew::getUserId,delegateTask.getAssignee());
queryWrapper1.isNull(BusProcessNew::getTaskId);
List<BusProcessNew> list = busBean.list(queryWrapper1);
if(!list.isEmpty()){
BusProcessNew one1 = list.get(0);
one1.setTaskId(delegateTask.getId());
one1.setTaskInfo(delegateTask.getName());
busBean.saveOrUpdate(one1);
// 发送 oa 待办 设置 跳转页面 router ? 后面流程类型
one1.setLink("policyRegulatoryMaterials/step2?prcType=32");
one1.setTaskInfo(delegateTask.getName());
oaService.sendTodoMq(one1);
}
}
}
@@ -0,0 +1,92 @@
package com.ydw.bat.wkflow.listener.policyLawsInformationLibrary;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
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;
/**
* @author tjzdw
* @description 重新发起政策法规资料入库申请后
* @date 2023/10/16
*/
public class PolicyLawsInformationReissueAfter 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);
LambdaQueryWrapper<Datas> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(Datas::getActiTaskId, 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("approverId"))){
delegateTask.setVariable("approverId",object.getString("approverId"));
nextUserList.add(object.getString("approverId"));
}else {
throw new ActivitiException("1#2经理人不存在,请配置相关人员");
}
//截止时间 流程描述 创建人
String overTime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date());
String user = object.getString("applyUserId");
String username = object.getString("applyUserName");
String informationName = object.getString("name");
String prcName = informationName + "-政策法规资料入库流程";
LambdaQueryWrapper<BusProcessName> queryWrapper2 = new LambdaQueryWrapper<>();
queryWrapper2.eq(BusProcessName::getPrcId,delegateTask.getProcessInstanceId());
BusProcessName one1 = busProcessNameService.getOne(queryWrapper2);
if(one1!=null){
one1.setPrcType("32");
one1.setPrcName(prcName);
one1.setCreatUser(user);
one1.setCreatUserName(username);
busProcessNameService.saveOrUpdate(one1);
}
LambdaQueryWrapper<BusProcessNew> queryWrapper1 = new LambdaQueryWrapper<>();
queryWrapper1.eq(BusProcessNew::getTaskId,delegateTask.getId());
List<BusProcessNew> list = busBean.list(queryWrapper1);
if(!list.isEmpty()){
BusProcessNew busProcessNew = list.get(0);
busProcessNew.setTaskId(delegateTask.getId());
busProcessNew.setTaskInfo(delegateTask.getName());
busProcessNew.setCommitText(object.getString("commentText"));
busBean.saveOrUpdate(busProcessNew);
}
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("批准");
busProcessNew.setUserId(nextUser);
busProcessNew.setPrcName(prcName);
busBean.save(busProcessNew);
}
}
}
@@ -0,0 +1,40 @@
package com.ydw.bat.wkflow.listener.policyLawsInformationLibrary;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
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;
/**
* @author tjzdw
* @description 重新发起政策法规资料入库申请前
* @date 2023/10/16
*/
public class PolicyLawsInformationReissueBefore implements TaskListener {
@Override
public void notify(DelegateTask delegateTask) {
IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class);
CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class);
LambdaQueryWrapper<BusProcessNew> queryWrapper1 = new LambdaQueryWrapper<>();
queryWrapper1.eq(BusProcessNew::getPId,delegateTask.getProcessInstanceId());
queryWrapper1.eq(BusProcessNew::getUserId,delegateTask.getAssignee());
queryWrapper1.isNull(BusProcessNew::getTaskId);
List<BusProcessNew> list = busBean.list(queryWrapper1);
if(!list.isEmpty()){
BusProcessNew one1 = list.get(0);
one1.setTaskId(delegateTask.getId());
busBean.saveOrUpdate(one1);
// 发送 oa 待办 设置 跳转页面 router ? 后面流程类型
one1.setLink("policyRegulatoryMaterials/step1_1?prcType=32");
one1.setTaskInfo(delegateTask.getName());
oaService.sendTodoMq(one1);
}
}
}
@@ -0,0 +1,107 @@
package com.ydw.bat.wkflow.listener.policyResearchGroupAttendMeeting;
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.util.ArrayList;
import java.util.List;
/**
* 政策课题参会审定后
*/
public class InspectorApprovalAfter 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 user = delegateTask.getVariable("applyUserId", String.class);
String username = delegateTask.getVariable("applyUserName", String.class);
String topicName = object.getString("topicName");
String prcName= topicName + "-政策课题入会流程";
String taskInfo = "";
List<String> nextUserList = new ArrayList<>();
if (object.getInteger("approvalOpinion") == 0) {
// 审定通过
delegateTask.setVariable("approvalOpinion", 0);
if (StringUtils.isNotBlank(object.getString("presidentId"))) {
delegateTask.setVariable("presidentId", object.getString("presidentId"));
nextUserList.add(object.getString("presidentId"));
taskInfo = "批准";
} else {
throw new ActivitiException("1#2公司副总不存在,请配置相关人员");
}
} else {
// 审定驳回
delegateTask.setVariable("approvalOpinion", 1);
if (StringUtils.isNotBlank(object.getString("applyUserId"))){
delegateTask.setVariable("applyUserId", object.getString("applyUserId"));
nextUserList.add(object.getString("applyUserId"));
taskInfo = "重新起草";
} else {
throw new ActivitiException("1#2起草人不存在,请配置相关人员");
}
}
// 存储当前节点意见
if (null != object.getString("commentText")) {
QueryWrapper<BusProcessNew> 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.setTaskId(delegateTask.getId());
busProcessNews.setCommitText(object.getString("commentText"));
busBean.saveOrUpdate(busProcessNews);
}
}
QueryWrapper<BusProcessName> queryWrapper2 = new QueryWrapper<>();
queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId());
BusProcessName one1 = busProcessNameService.getOne(queryWrapper2);
if (one1 != null) {
one1.setPrcType("31");
one1.setCreatUser(user);
one1.setCreatUserName(username);
busProcessNameService.saveOrUpdate(one1);
}
if (!nextUserList.isEmpty() && delegateTask.getVariable("nrOfCompletedInstances", Integer.class) == 0) {
for (String nextUser : nextUserList) {
BusProcessNew busProcessNewNext = new BusProcessNew();
busProcessNewNext.setMsgType("clause");
busProcessNewNext.setPId(delegateTask.getProcessInstanceId());
busProcessNewNext.setMesg(object.toJSONString());
busProcessNewNext.setFinishFlag("0");
busProcessNewNext.setTaskInfo(taskInfo);
busProcessNewNext.setUserId(nextUser);
busProcessNewNext.setPrcName(prcName);
busBean.save(busProcessNewNext);
}
}
}
}
@@ -0,0 +1,39 @@
package com.ydw.bat.wkflow.listener.policyResearchGroupAttendMeeting;
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 InspectorApprovalBefore implements TaskListener {
@Override
public void notify(DelegateTask delegateTask) {
IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class);
QueryWrapper<BusProcessNew> 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());
one1.setTaskInfo(delegateTask.getName());
busBean.saveOrUpdate(one1);
CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class);
// 发送 oa 待办 设置 跳转页面 router ? 后面流程类型
one1.setLink("policyTopicParticipation/step3?prcType=31");
oaService.sendTodoMq(one1);
}
}
}
@@ -2,7 +2,6 @@ package com.ydw.bat.wkflow.listener.policyResearchGroupAttendMeeting;
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;
@@ -10,88 +9,94 @@ 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.util.ArrayList;
import java.util.Arrays;
import java.util.List;
/**
* 政策课题入会审核后
*/
public class MinisterApprovalAfter 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找到流程信息
// 根据流程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 user = delegateTask.getVariable("createUser",String.class);
String username = delegateTask.getVariable("createUserName",String.class);
String prcName="";
JSONObject object = JSONObject.parseObject(datas.getFormValsJson());
delegateTask.setVariable("objectJson", object);
List<String> nextUserList = new ArrayList();
String user = delegateTask.getVariable("applyUserId", String.class);
String username = delegateTask.getVariable("applyUserName", String.class);
String topicName = object.getString("topicName");
String prcName = topicName + "-政策课题参会流程";
List<String> nextUserList = new ArrayList<>();
if("1".equals(object.getString("fgfbz"))){
delegateTask.setVariable("fgfbz", "1");
if (StringUtils.isNotBlank(object.getString("presidentId"))){
nextUserList.add(object.getString("presidentId"));
delegateTask.setVariable("presidentApproval", object.getString("presidentId"));
prcName = "政策课题组参会流程-公司副总批准";
if (object.getInteger("approvalOpinion") == 0) {
// 审核通过
delegateTask.setVariable("approvalOpinion", 0);
if (StringUtils.isNotBlank(object.getString("inspectorId"))) {
List<String> inspectorIdList = Arrays.asList(object.getString("inspectorId").split(","));
delegateTask.setVariable("inspectorIdList", inspectorIdList);
nextUserList.addAll(inspectorIdList);
} else {
throw new ActivitiException("1#2法规认证部副总监不存在,请配置相关人员");
}
}else if ("0".equals(object.getString("fgfbz"))){
delegateTask.setVariable("fgfbz", "0");
if (StringUtils.isNotBlank(object.getString("revisionId"))){
nextUserList.add(object.getString("revisionId"));
delegateTask.setVariable("revision", object.getString("revisionId"));
prcName = "政策课题组参会流程-修订参会信息";
} else {
// 审核驳回
delegateTask.setVariable("approvalOpinion", 1);
if (StringUtils.isNotBlank(object.getString("applyUserId"))) {
delegateTask.setVariable("applyUserId", object.getString("applyUserId"));
nextUserList.add(object.getString("applyUserId"));
} else {
throw new ActivitiException("1#2起草人不存在,请配置相关人员");
}
}else{
delegateTask.setVariable("fgfbz", "2");
prcName = "政策课题组参会流程";
}
QueryWrapper queryWrapper2 = new QueryWrapper();
queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId());
BusProcessName one1 = busProcessNameService.getOne(queryWrapper2);
if(one1!=null){
one1.setPrcType("18");
// one1.setPrcName(prcName);
one1.setCreatUser(user);
one1.setCreatUserName(username);
busProcessNameService.saveOrUpdate(one1);
}
// 存储当前节点意见
if (null!=object.getString("commentText")) {
QueryWrapper queryWrapper3 = new QueryWrapper();
if (null != object.getString("commentText")) {
QueryWrapper<BusProcessNew> queryWrapper3 = new QueryWrapper<>();
queryWrapper3.eq("TASK_ID", delegateTask.getId());
queryWrapper3.eq("USER_ID",delegateTask.getAssignee());
queryWrapper3.eq("USER_ID", delegateTask.getAssignee());
List<BusProcessNew> list = busBean.list(queryWrapper3);
if(!list.isEmpty()){
if (!list.isEmpty()) {
BusProcessNew busProcessNews = list.get(0);
busProcessNews.setTaskId(delegateTask.getId());
busProcessNews.setCommitText(object.getString("commentText"));
busBean.saveOrUpdate(busProcessNews);
}
}
if(nextUserList != null && !nextUserList.isEmpty()){
for(String nextUser : nextUserList){
QueryWrapper<BusProcessName> queryWrapper2 = new QueryWrapper<>();
queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId());
BusProcessName one1 = busProcessNameService.getOne(queryWrapper2);
if (one1 != null) {
one1.setPrcType("31");
one1.setCreatUser(user);
one1.setCreatUserName(username);
busProcessNameService.saveOrUpdate(one1);
}
if (!nextUserList.isEmpty() && delegateTask.getVariable("nrOfCompletedInstances", Integer.class) == 0) {
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);
busProcessNewNext.setPrcName(prcName);
busBean.save(busProcessNewNext);
@@ -10,11 +10,14 @@ import org.activiti.engine.delegate.TaskListener;
import java.util.List;
/**
* 政策课题参会审核前
*/
public class MinisterApprovalBefore implements TaskListener {
@Override
public void notify(DelegateTask delegateTask) {
IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class);
QueryWrapper queryWrapper1 = new QueryWrapper();
QueryWrapper<BusProcessNew> queryWrapper1 = new QueryWrapper<>();
queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId());
queryWrapper1.eq("USER_ID",delegateTask.getAssignee());
queryWrapper1.isNull("TASK_ID");
@@ -22,12 +25,12 @@ public class MinisterApprovalBefore implements TaskListener {
if(!list.isEmpty()){
BusProcessNew one1 = list.get(0);
one1.setTaskId(delegateTask.getId());
one1.setTaskInfo(delegateTask.getName());
busBean.saveOrUpdate(one1);
CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class);
// 发送 oa 待办 设置 跳转页面 router ? 后面流程类型
one1.setLink("zcchStep3?prcType=18");
one1.setTaskInfo(delegateTask.getName());
one1.setLink("policyTopicParticipation/step2?prcType=31");
oaService.sendTodoMq(one1);
}
}
@@ -2,7 +2,6 @@ package com.ydw.bat.wkflow.listener.policyResearchGroupAttendMeeting;
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;
@@ -10,13 +9,18 @@ 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.util.ArrayList;
import java.util.Arrays;
import java.util.List;
/**
* 政策课题参会起草后
*/
public class PRGAMStartAfter implements TaskListener {
@Override
public void notify(DelegateTask delegateTask) {
@@ -34,56 +38,53 @@ public class PRGAMStartAfter implements TaskListener {
JSONObject object = JSONObject.parseObject(datas.getFormValsJson());
delegateTask.setVariable("objectJson",object);
List<String> nextUserList = new ArrayList();
List<String> nextUserList = new ArrayList<>();
if(StringUtils.isNotBlank(object.getString("ministerId"))){
delegateTask.setVariable("ministerApproval", object.getString("ministerId"));
nextUserList.add(object.getString("ministerId"));
List<String> ministerIdList = Arrays.asList(object.getString("ministerId").split(","));
delegateTask.setVariable("ministerIdList",ministerIdList);
nextUserList.addAll(ministerIdList);
} else {
throw new ActivitiException("1#2法规认证部部长不存在,请配置相关人员");
}
//截止时间 流程描述 创建人
// String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date());
String user = object.getString("revisionId");
delegateTask.setVariable("createUser",user);
String username = object.getString("revisionIdName");
delegateTask.setVariable("createUserName",username);
String prcName = "";
prcName= "政策课题组参会流程-法规认证部副部长审核";
String user = object.getString("applyUserId");
String username = object.getString("applyUserName");
String topicName = object.getString("topicName");
String prcName = topicName + "-政策课题参会流程";
QueryWrapper queryWrapper2 = new QueryWrapper();
queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId());
QueryWrapper<BusProcessName> queryWrapper2 = new QueryWrapper<>();
queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId());
BusProcessName one1 = busProcessNameService.getOne(queryWrapper2);
if(one1!=null){
one1.setPrcType("18");
if (one1 != null) {
one1.setPrcType("31");
one1.setPrcName(prcName);
one1.setCreatUser(user);
one1.setCreatUserName(username);
busProcessNameService.saveOrUpdate(one1);
}
// 存储当前节点意见
if (null != object.getString("commentText")) {
BusProcessNew busProcessNews = new BusProcessNew();
busProcessNews.setMsgType("clause");
busProcessNews.setPId(delegateTask.getProcessInstanceId());
busProcessNews.setMesg(object.toJSONString());
busProcessNews.setTaskInfo(delegateTask.getTaskDefinitionKey());
busProcessNews.setFinishFlag("0");
busProcessNews.setTaskInfo(delegateTask.getName());
busProcessNews.setTaskId(delegateTask.getId());
busProcessNews.setUserId("start");
busProcessNews.setUserId(user);
busProcessNews.setPrcName(prcName);
busProcessNews.setCommitText(object.getString("commentText"));
busBean.save(busProcessNews);
}
if(nextUserList != null && !nextUserList.isEmpty()){
for(String nextUser : nextUserList){
if (!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);
busProcessNewNext.setPrcName(prcName);
busBean.save(busProcessNewNext);
@@ -3,6 +3,9 @@ package com.ydw.bat.wkflow.listener.policyResearchGroupAttendMeeting;
import org.activiti.engine.delegate.DelegateTask;
import org.activiti.engine.delegate.TaskListener;
/**
* 政策课题参会起草前
*/
public class PRGAMStartBefore implements TaskListener {
@Override
public void notify(DelegateTask delegateTask) {
@@ -1,17 +1,16 @@
package com.ydw.bat.wkflow.listener.policyResearchGroupAttendMeeting;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
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.business_slrs.dao.WgDept;
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;
@@ -21,6 +20,9 @@ import java.util.ArrayList;
import java.util.Date;
import java.util.List;
/**
* 政策课题参会批准后
*/
public class PresidentApprovalAfter implements TaskListener {
@Override
public void notify(DelegateTask delegateTask) {
@@ -30,112 +32,79 @@ public class PresidentApprovalAfter implements TaskListener {
//流程信息
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);
JSONObject object = JSONObject.parseObject(datas.getFormValsJson());
delegateTask.setVariable("objectJson", object);
String user = delegateTask.getVariable("applyUserId", String.class);
String username = delegateTask.getVariable("applyUserName", String.class);
String topicName = object.getString("topicName");
String prcName= topicName + "-政策课题参会流程";
String taskInfo = "";
//截止时间 流程描述 创建人
String user = delegateTask.getVariable("createUser",String.class);
String username = delegateTask.getVariable("createUserName",String.class);
String prcName="";
List<String> nextUserList = new ArrayList();
List<String> nextUserList = new ArrayList<>();
if("1".equals(object.getString("gsfz"))){
delegateTask.setVariable("gsfz", "1");
JSONArray jsonArray=JSONArray.parseArray(object.getString("itemList"));
// List<WgDept> wgDept=new ArrayList<>();
// jsonArray.forEach(o -> {
// JSONObject os=JSONObject.parseObject(o.toString());
// WgDept wgDept1=new WgDept();
// wgDept1.setWgId(object.getString("standId"));
// wgDept1.setDeptOrder(os.getString("itemsNum"));
// wgDept1.setDeptPeopleId(os.getString("itemsName"));
// wgDept1.setIdentity(os.getString("responsibleUnitShow"));
// wgDept1.setJoinfile(os.getString("zxUserIdName"));
// wgDept1.setJoinId(os.getString("itermsConditions"));
// wgDept.add(wgDept1);
// });
//
// JSONArray jsonArray1=JSONArray.parseArray(delegateTask.getVariable("itemListOld",String.class));
// jsonArray1.forEach(obj ->{
// JSONObject object1 = JSONObject.parseObject(obj.toString());
// WgDept wgDept1=new WgDept();
// wgDept1.setWgId(object.getString("standId"));
// wgDept1.setDeptOrder(object1.getString("itemsNum"));
// wgDept1.setDeptPeopleId(object1.getString("itemsName"));
// wgDept1.setIdentity(object1.getString("responsibleUnitShow"));
// wgDept1.setJoinfile(object1.getString("zxUserIdName"));
// wgDept1.setJoinId(object1.getString("itermsConditions"));
// wgDept.add(wgDept1);
// });
//
// lawsUserInfoService.wgDeptSaveBatch(wgDept);
prcName = "政策课题组参会流程";
}else{
delegateTask.setVariable("gsfz", "0");
if (StringUtils.isNotBlank(object.getString("revisionId"))){
nextUserList.add(object.getString("revisionId"));
delegateTask.setVariable("revision", object.getString("revisionId"));
prcName = "政策课题组参会流程-修订参会信息";
if (object.getInteger("approvalOpinion") == 0) {
// 批准通过
delegateTask.setVariable("approvalOpinion", 0);
LambdaQueryWrapper<BusProcessName> queryWrapper2 = new LambdaQueryWrapper<>();
queryWrapper2.eq(BusProcessName::getPrcId, delegateTask.getProcessInstanceId());
BusProcessName one2 = busProcessNameService.getOne(queryWrapper2);
String overTime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date());
if (one2 != null) {
one2.setOverTime(overTime);
busProcessNameService.saveOrUpdate(one2);
}
}
String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date());
QueryWrapper queryWrapper2 = new QueryWrapper();
queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId());
BusProcessName one1 = busProcessNameService.getOne(queryWrapper2);
if(one1!=null){
if("1".equals(object.getString("gsfz"))){
one1.setOverTime(OVERTIME);
} else {
// 批准驳回
delegateTask.setVariable("approvalOpinion", 1);
if (StringUtils.isNotBlank(object.getString("applyUserId"))) {
delegateTask.setVariable("applyUserId", object.getString("applyUserId"));
nextUserList.add(object.getString("applyUserId"));
taskInfo = "重新起草";
} else {
throw new ActivitiException("1#2起草人不存在,请配置相关人员");
}
one1.setPrcType("18");
// one1.setPrcName(prcName);
one1.setCreatUser(user);
one1.setCreatUserName(username);
busProcessNameService.saveOrUpdate(one1);
}
// 存储当前节点意见
if (null!=object.getString("commentText")) {
QueryWrapper queryWrapper3 = new QueryWrapper();
if (null != object.getString("commentText")) {
QueryWrapper<BusProcessNew> queryWrapper3 = new QueryWrapper<>();
queryWrapper3.eq("TASK_ID", delegateTask.getId());
queryWrapper3.eq("USER_ID",delegateTask.getAssignee());
queryWrapper3.eq("USER_ID", delegateTask.getAssignee());
List<BusProcessNew> list = busBean.list(queryWrapper3);
if(!list.isEmpty()){
if (!list.isEmpty()) {
BusProcessNew busProcessNews = list.get(0);
busProcessNews.setTaskId(delegateTask.getId());
busProcessNews.setCommitText(object.getString("commentText"));
busBean.saveOrUpdate(busProcessNews);
}
}
if(nextUserList != null && !nextUserList.isEmpty()){
for(String nextUser : nextUserList){
QueryWrapper<BusProcessName> queryWrapper2 = new QueryWrapper<>();
queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId());
BusProcessName one1 = busProcessNameService.getOne(queryWrapper2);
if (one1 != null) {
one1.setPrcType("31");
one1.setCreatUser(user);
one1.setCreatUserName(username);
busProcessNameService.saveOrUpdate(one1);
}
if (!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.setTaskInfo(taskInfo);
busProcessNewNext.setUserId(nextUser);
busProcessNewNext.setPrcName(prcName);
busBean.save(busProcessNewNext);
}
}else {
BusProcessNew busProcessNewNext = new BusProcessNew();
busProcessNewNext.setMsgType("clause");
busProcessNewNext.setPId(delegateTask.getProcessInstanceId());
busProcessNewNext.setMesg(object.toJSONString());
busProcessNewNext.setFinishFlag("0");
busProcessNewNext.setTaskInfo("政策课题组参会流程-流程结束");
busProcessNewNext.setPrcName(prcName);
busBean.save(busProcessNewNext);
}
}
}
@@ -10,11 +10,14 @@ import org.activiti.engine.delegate.TaskListener;
import java.util.List;
/**
* 政策课题参会批准前
*/
public class PresidentApprovalBefore implements TaskListener {
@Override
public void notify(DelegateTask delegateTask) {
IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class);
QueryWrapper queryWrapper1 = new QueryWrapper();
QueryWrapper<BusProcessNew> queryWrapper1 = new QueryWrapper<>();
queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId());
queryWrapper1.eq("USER_ID",delegateTask.getAssignee());
queryWrapper1.isNull("TASK_ID");
@@ -22,12 +25,12 @@ public class PresidentApprovalBefore implements TaskListener {
if(!list.isEmpty()){
BusProcessNew one1 = list.get(0);
one1.setTaskId(delegateTask.getId());
one1.setTaskInfo(delegateTask.getName());
busBean.saveOrUpdate(one1);
CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class);
// 发送 oa 待办 设置 跳转页面 router ? 后面流程类型
one1.setLink("zcchStep2?prcType=18");
one1.setTaskInfo(delegateTask.getName());
one1.setLink("policyTopicParticipation/step4?prcType=31");
oaService.sendTodoMq(one1);
}
}
@@ -2,7 +2,6 @@ package com.ydw.bat.wkflow.listener.policyResearchGroupAttendMeeting;
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;
@@ -10,13 +9,19 @@ 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.util.ArrayList;
import java.util.Arrays;
import java.util.List;
/**
* 政策课题参会重新起草后
*/
public class RevisionInformationAfter implements TaskListener {
@Override
public void notify(DelegateTask delegateTask) {
@@ -26,41 +31,41 @@ public class RevisionInformationAfter implements TaskListener {
//流程信息
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);
//截止时间 流程描述 创建人
String user = delegateTask.getVariable("createUser",String.class);
String username = delegateTask.getVariable("createUserName",String.class);
String prcName="";
List<String> nextUserList = new ArrayList();
JSONObject object = JSONObject.parseObject(datas.getFormValsJson());
delegateTask.setVariable("objectJson", object);
if (StringUtils.isNotBlank(object.getString("ministerId"))){
nextUserList.add(object.getString("ministerId"));
delegateTask.setVariable("ministerApproval", object.getString("ministerId"));
prcName = "政策课题组参会流程-法规认证部副部长审核";
List<String> nextUserList = new ArrayList<>();
if (StringUtils.isNotBlank(object.getString("ministerId"))) {
List<String> ministerIdList = Arrays.asList(object.getString("ministerId").split(","));
delegateTask.setVariable("ministerIdList",ministerIdList);
nextUserList.addAll(ministerIdList);
} else {
throw new ActivitiException("1#2法规认证部部长不存在,请配置相关人员");
}
String user = delegateTask.getVariable("applyUserId", String.class);
String username = delegateTask.getVariable("applyUserName", String.class);
String topicName = object.getString("topicName");
String prcName= topicName + "-政策课题组参会流程";
QueryWrapper queryWrapper2 = new QueryWrapper();
queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId());
QueryWrapper<BusProcessName> queryWrapper2 = new QueryWrapper<>();
queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId());
BusProcessName one1 = busProcessNameService.getOne(queryWrapper2);
if(one1!=null){
one1.setPrcType("18");
// one1.setPrcName(prcName);
if (one1 != null) {
one1.setPrcType("31");
one1.setCreatUser(user);
one1.setCreatUserName(username);
busProcessNameService.saveOrUpdate(one1);
}
//存储当前节点意见
if (null != object.getString("commentText")) {
QueryWrapper queryWrapper3 = new QueryWrapper();
QueryWrapper<BusProcessNew> queryWrapper3 = new QueryWrapper<>();
queryWrapper3.eq("TASK_ID", delegateTask.getId());
queryWrapper3.eq("USER_ID", delegateTask.getAssignee());
List<BusProcessNew> list = busBean.list(queryWrapper3);
@@ -72,15 +77,14 @@ public class RevisionInformationAfter implements TaskListener {
}
}
if(nextUserList != null && !nextUserList.isEmpty()){
for(String nextUser : nextUserList){
if (!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.setTaskInfo("审核");
busProcessNewNext.setUserId(nextUser);
busProcessNewNext.setPrcName(prcName);
busBean.save(busProcessNewNext);
@@ -10,11 +10,14 @@ import org.activiti.engine.delegate.TaskListener;
import java.util.List;
/**
* 政策课题参会重新起草前
*/
public class RevisionInformationBefore implements TaskListener {
@Override
public void notify(DelegateTask delegateTask) {
IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class);
QueryWrapper queryWrapper1 = new QueryWrapper();
QueryWrapper<BusProcessNew> queryWrapper1 = new QueryWrapper<>();
queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId());
queryWrapper1.eq("USER_ID",delegateTask.getAssignee());
queryWrapper1.isNull("TASK_ID");
@@ -22,12 +25,12 @@ public class RevisionInformationBefore implements TaskListener {
if(!list.isEmpty()){
BusProcessNew one1 = list.get(0);
one1.setTaskId(delegateTask.getId());
one1.setTaskInfo(delegateTask.getName());
busBean.saveOrUpdate(one1);
CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class);
// 发送 oa 待办 设置 跳转页面 router ? 后面流程类型
one1.setLink("zcchStep1-1?prcType=18");
one1.setTaskInfo(delegateTask.getName());
one1.setLink("policyTopicParticipation/step1_1?prcType=31");
oaService.sendTodoMq(one1);
}
}
@@ -1,18 +1,14 @@
package com.ydw.bat.wkflow.listener.policyResearchGroupEnrollment;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.ydw.bat.wkflow.business_auth.LawsUserInfoService;
import com.ydw.bat.wkflow.business_main.datas.dto.DetailedUpDto;
import com.ydw.bat.wkflow.business_main.datas.dto.SarLawsDetailedList;
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.business_slrs.dao.WgDept;
import com.ydw.bat.wkflow.util.SpringContextUtil;
import org.activiti.engine.ActivitiException;
import org.activiti.engine.delegate.DelegateTask;
@@ -21,10 +17,12 @@ 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 PGREPresidentApprovalAfter implements TaskListener {
@Override
public void notify(DelegateTask delegateTask) {
@@ -34,8 +32,6 @@ public class PGREPresidentApprovalAfter implements TaskListener {
//流程信息
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());
@@ -43,58 +39,38 @@ public class PGREPresidentApprovalAfter implements TaskListener {
JSONObject object = JSONObject.parseObject(datas.getFormValsJson());
delegateTask.setVariable("objectJson", object);
String user = delegateTask.getVariable("createUser", String.class);
String username = delegateTask.getVariable("createUserName", String.class);
String prcName="";
String user = delegateTask.getVariable("applyUserId", String.class);
String username = delegateTask.getVariable("applyUserName", String.class);
String topicName = object.getString("topicName");
String prcName= topicName + "-政策课题入会流程";
List<String> nextUserList = new ArrayList<>();
List<String> nextUserList = new ArrayList();
if ("1".equals(object.getString("gsfz"))) {
delegateTask.setVariable("gsfz", "1");
// JSONArray jsonArray=JSONArray.parseArray(object.getString("itemList"));
// List<WgDept> wgDept=new ArrayList<>();
// jsonArray.forEach(o -> {
// JSONObject os=JSONObject.parseObject(o.toString());
// WgDept wgDept1=new WgDept();
// wgDept1.setWgId(object.getString("standId"));
// wgDept1.setDeptOrder(os.getString("itemsNum"));
// wgDept1.setDeptPeopleId(os.getString("itemsName"));
// wgDept1.setIdentity(os.getString("responsibleUnitShow"));
// wgDept1.setJoinfile(os.getString("zxUserIdName"));
// wgDept1.setJoinId(os.getString("itermsConditions"));
// wgDept.add(wgDept1);
// });
//
// JSONArray jsonArray1=JSONArray.parseArray(delegateTask.getVariable("itemListOld",String.class));
// jsonArray1.forEach(obj ->{
// JSONObject object1 = JSONObject.parseObject(obj.toString());
// WgDept wgDept1=new WgDept();
// wgDept1.setWgId(object.getString("standId"));
// wgDept1.setDeptOrder(object1.getString("itemsNum"));
// wgDept1.setDeptPeopleId(object1.getString("itemsName"));
// wgDept1.setIdentity(object1.getString("responsibleUnitShow"));
// wgDept1.setJoinfile(object1.getString("zxUserIdName"));
// wgDept1.setJoinId(object1.getString("itermsConditions"));
// wgDept.add(wgDept1);
// });
// lawsUserInfoService.wgDeptSaveBatch(wgDept);
prcName = "政策课题组入会流程";
} else {
delegateTask.setVariable("gsfz", "0");
if (StringUtils.isNotBlank(object.getString("revisionId"))) {
delegateTask.setVariable("revisionInformation", object.getString("revisionId"));
nextUserList.add(object.getString("revisionId"));
if (object.getInteger("approvalOpinion") == 0) {
// 批准通过
delegateTask.setVariable("approvalOpinion", 0);
LambdaQueryWrapper<BusProcessName> queryWrapper2 = new LambdaQueryWrapper<>();
queryWrapper2.eq(BusProcessName::getPrcId, delegateTask.getProcessInstanceId());
BusProcessName one2 = busProcessNameService.getOne(queryWrapper2);
String overTime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date());
if (one2 != null) {
one2.setOverTime(overTime);
busProcessNameService.saveOrUpdate(one2);
}
prcName = "政策课题组入会流程-修订入会信息";
} else {
// 批准驳回
delegateTask.setVariable("approvalOpinion", 1);
if (StringUtils.isNotBlank(object.getString("applyUserId"))) {
delegateTask.setVariable("applyUserId", object.getString("applyUserId"));
nextUserList.add(object.getString("applyUserId"));
} else {
throw new ActivitiException("1#2起草人不存在,请配置相关人员");
}
// prcName = "政策课题组入会流程-修订入会信息";
}
// 存储当前节点意见
// 存储当前节点意见
if (null != object.getString("commentText")) {
QueryWrapper queryWrapper3 = new QueryWrapper();
QueryWrapper<BusProcessNew> queryWrapper3 = new QueryWrapper<>();
queryWrapper3.eq("TASK_ID", delegateTask.getId());
queryWrapper3.eq("USER_ID", delegateTask.getAssignee());
List<BusProcessNew> list = busBean.list(queryWrapper3);
@@ -106,27 +82,24 @@ public class PGREPresidentApprovalAfter implements TaskListener {
}
}
QueryWrapper queryWrapper2 = new QueryWrapper();
QueryWrapper<BusProcessName> queryWrapper2 = new QueryWrapper<>();
queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId());
BusProcessName one1 = busProcessNameService.getOne(queryWrapper2);
if (one1 != null) {
one1.setPrcType("17");
one1.setPrcType("30");
// one1.setPrcName(prcName);
one1.setCreatUser(user);
one1.setCreatUserName(username);
busProcessNameService.saveOrUpdate(one1);
}
if (nextUserList != null && !nextUserList.isEmpty()) {
if (!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);
busProcessNewNext.setPrcName(prcName);
busBean.save(busProcessNewNext);
@@ -10,11 +10,14 @@ import org.activiti.engine.delegate.TaskListener;
import java.util.List;
/**
* 政策课题入会批准前
*/
public class PGREPresidentApprovalBefore implements TaskListener {
@Override
public void notify(DelegateTask delegateTask) {
IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class);
QueryWrapper queryWrapper1 = new QueryWrapper();
QueryWrapper<BusProcessNew> queryWrapper1 = new QueryWrapper<>();
queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId());
queryWrapper1.eq("USER_ID",delegateTask.getAssignee());
queryWrapper1.isNull("TASK_ID");
@@ -22,12 +25,12 @@ public class PGREPresidentApprovalBefore implements TaskListener {
if(!list.isEmpty()){
BusProcessNew one1 = list.get(0);
one1.setTaskId(delegateTask.getId());
one1.setTaskInfo(delegateTask.getName());
busBean.saveOrUpdate(one1);
CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class);
// 发送 oa 待办 设置 跳转页面 router ? 后面流程类型
one1.setLink("zcrhStep4?prcType=17");
one1.setTaskInfo(delegateTask.getName());
one1.setLink("policyTopicEnrollment/step4?prcType=30");
oaService.sendTodoMq(one1);
}
}
@@ -2,9 +2,6 @@ package com.ydw.bat.wkflow.listener.policyResearchGroupEnrollment;
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.dto.DetailedUpDto;
import com.ydw.bat.wkflow.business_main.datas.dto.SarLawsDetailedList;
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;
@@ -17,12 +14,12 @@ 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 PRGEInspectorApprovalAfter implements TaskListener {
@Override
public void notify(DelegateTask delegateTask) {
@@ -32,8 +29,6 @@ public class PRGEInspectorApprovalAfter implements TaskListener {
//流程信息
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());
@@ -42,33 +37,35 @@ public class PRGEInspectorApprovalAfter implements TaskListener {
JSONObject object = JSONObject.parseObject(datas.getFormValsJson());
delegateTask.setVariable("objectJson", object);
String user = delegateTask.getVariable("createUser", String.class);
String username = delegateTask.getVariable("createUserName", String.class);
String prcName="";
List<String> nextUserList = new ArrayList();
String user = delegateTask.getVariable("applyUserId", String.class);
String username = delegateTask.getVariable("applyUserName", String.class);
String topicName = object.getString("topicName");
String prcName= topicName + "-政策课题入会流程";
List<String> nextUserList = new ArrayList<>();
if ("1".equals(object.getString("fgfzj"))) {
delegateTask.setVariable("fgfzj", "1");
if (object.getInteger("approvalOpinion") == 0) {
// 审定通过
delegateTask.setVariable("approvalOpinion", 0);
if (StringUtils.isNotBlank(object.getString("presidentId"))) {
delegateTask.setVariable("presidentApproval", object.getString("presidentId"));
delegateTask.setVariable("presidentId", object.getString("presidentId"));
nextUserList.add(object.getString("presidentId"));
} else {
throw new ActivitiException("1#2公司副总不存在,请配置相关人员");
}
prcName = "政策课题组入会流程-公司副总批准";
} else if ("0".equals(object.getString("fgfzj"))) {
delegateTask.setVariable("fgfzj", "0");
if (StringUtils.isNotBlank(object.getString("revisionId"))){
delegateTask.setVariable("revisionInformation", object.getString("revisionId"));
nextUserList.add(object.getString("revisionId"));
} else {
// 审定驳回
delegateTask.setVariable("approvalOpinion", 1);
if (StringUtils.isNotBlank(object.getString("applyUserId"))){
delegateTask.setVariable("applyUserId", object.getString("applyUserId"));
nextUserList.add(object.getString("applyUserId"));
} else {
throw new ActivitiException("1#2起草人不存在,请配置相关人员");
}
prcName = "政策课题组入会流程-修订入会信息";
}else{
delegateTask.setVariable("fgfzj", "2");
prcName = "政策课题组入会流程";
}
// 存储当前节点意见
// 存储当前节点意见
if (null != object.getString("commentText")) {
QueryWrapper queryWrapper3 = new QueryWrapper();
QueryWrapper<BusProcessNew> queryWrapper3 = new QueryWrapper<>();
queryWrapper3.eq("TASK_ID", delegateTask.getId());
queryWrapper3.eq("USER_ID", delegateTask.getAssignee());
List<BusProcessNew> list = busBean.list(queryWrapper3);
@@ -80,29 +77,24 @@ public class PRGEInspectorApprovalAfter implements TaskListener {
}
}
QueryWrapper queryWrapper2 = new QueryWrapper();
QueryWrapper<BusProcessName> queryWrapper2 = new QueryWrapper<>();
queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId());
BusProcessName one1 = busProcessNameService.getOne(queryWrapper2);
if (one1 != null) {
one1.setPrcType("17");
one1.setPrcType("30");
// one1.setPrcName(prcName);
one1.setCreatUser(user);
one1.setCreatUserName(username);
busProcessNameService.saveOrUpdate(one1);
}
if (nextUserList != null && !nextUserList.isEmpty()) {
if (!nextUserList.isEmpty() && delegateTask.getVariable("nrOfCompletedInstances", Integer.class) == 0) {
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);
busProcessNewNext.setPrcName(prcName);
busBean.save(busProcessNewNext);
@@ -10,11 +10,15 @@ import org.activiti.engine.delegate.TaskListener;
import java.util.List;
/**
* 政策课题入会审定前
*/
public class PRGEInspectorApprovalBefore implements TaskListener {
@Override
public void notify(DelegateTask delegateTask) {
IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class);
QueryWrapper queryWrapper1 = new QueryWrapper();
QueryWrapper<BusProcessNew> queryWrapper1 = new QueryWrapper<>();
queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId());
queryWrapper1.eq("USER_ID",delegateTask.getAssignee());
queryWrapper1.isNull("TASK_ID");
@@ -22,12 +26,12 @@ public class PRGEInspectorApprovalBefore implements TaskListener {
if(!list.isEmpty()){
BusProcessNew one1 = list.get(0);
one1.setTaskId(delegateTask.getId());
one1.setTaskInfo(delegateTask.getName());
busBean.saveOrUpdate(one1);
CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class);
// 发送 oa 待办 设置 跳转页面 router ? 后面流程类型
one1.setLink("zcrhStep3?prcType=17");
one1.setTaskInfo(delegateTask.getName());
one1.setLink("policyTopicParticipation/step3?prcType=30");
oaService.sendTodoMq(one1);
}
}
@@ -1,10 +1,8 @@
package com.ydw.bat.wkflow.listener.policyResearchGroupEnrollment;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.ydw.bat.wkflow.business_auth.LawsUserInfoService;
import com.ydw.bat.wkflow.business_main.datas.dto.DetailedUpDto;
import com.ydw.bat.wkflow.business_main.datas.dto.SarLawsDetailedList;
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;
@@ -17,12 +15,13 @@ 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 PRGEMinisterConfirmAfter implements TaskListener {
@Override
public void notify(DelegateTask delegateTask) {
@@ -33,8 +32,6 @@ public class PRGEMinisterConfirmAfter implements TaskListener {
//流程信息
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());
@@ -43,33 +40,41 @@ public class PRGEMinisterConfirmAfter implements TaskListener {
JSONObject object = JSONObject.parseObject(datas.getFormValsJson());
delegateTask.setVariable("objectJson",object);
//截止时间 流程描述 创建人
String user = delegateTask.getVariable("createUser",String.class);
String username = delegateTask.getVariable("createUserName",String.class);
String prcName="";
String user = delegateTask.getVariable("applyUserId",String.class);
String username = delegateTask.getVariable("applyUserName",String.class);
String topicName = object.getString("topicName");
String prcName= topicName + "-政策课题入会流程";
String taskInfo = "";
List<String> nextUserList = new ArrayList<>();
List<String> nextUserList = new ArrayList();
if("1".equals(object.getString("fgfbz"))){
delegateTask.setVariable("fgfbz", "1");
if(object.getInteger("approvalOpinion") == 0){
// 审核通过
delegateTask.setVariable("approvalOpinion", 0);
if (StringUtils.isNotBlank(object.getString("inspectorId"))){
delegateTask.setVariable("inspectorApproval", object.getString("inspectorId"));
nextUserList.add(object.getString("inspectorId"));
List<String> inspectorIdList = Arrays.asList(object.getString("inspectorId").split(","));
delegateTask.setVariable("inspectorIdList",inspectorIdList);
nextUserList.addAll(inspectorIdList);
taskInfo = "审定";
} else {
throw new ActivitiException("1#2法规认证部副总监不存在,请配置相关人员");
}
prcName = "政策课题组入会流程-法规认证部副总监批准";
}else{
delegateTask.setVariable("fgfbz","0");
if (StringUtils.isNotBlank(object.getString("revisionId"))){
delegateTask.setVariable("revisionInformation", object.getString("revisionId"));
nextUserList.add(object.getString("revisionId"));
// 审核驳回
delegateTask.setVariable("approvalOpinion",1);
if (StringUtils.isNotBlank(object.getString("applyUserId"))){
delegateTask.setVariable("applyUserId", object.getString("applyUserId"));
nextUserList.add(object.getString("applyUserId"));
taskInfo = "重新起草";
} else {
throw new ActivitiException("1#2起草人不存在,请配置相关人员");
}
prcName = "政策课题组入会流程-修订入会信息";
}
// 存储当前节点意见
// 存储当前节点意见
if (null != object.getString("commentText")) {
QueryWrapper queryWrapper3 = new QueryWrapper();
QueryWrapper<BusProcessNew> queryWrapper3 = new QueryWrapper<>();
queryWrapper3.eq("TASK_ID", delegateTask.getId());
queryWrapper3.eq("USER_ID", delegateTask.getAssignee());
List<BusProcessNew> list = busBean.list(queryWrapper3);
@@ -81,32 +86,24 @@ public class PRGEMinisterConfirmAfter implements TaskListener {
}
}
QueryWrapper queryWrapper2 = new QueryWrapper();
QueryWrapper<BusProcessName> queryWrapper2 = new QueryWrapper<>();
queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId());
BusProcessName one1 = busProcessNameService.getOne(queryWrapper2);
if (one1 != null) {
one1.setPrcType("17");
one1.setPrcType("30");
// one1.setPrcName(prcName);
one1.setCreatUser(user);
one1.setCreatUserName(username);
busProcessNameService.saveOrUpdate(one1);
}
if (nextUserList != null && !nextUserList.isEmpty()) {
if (!nextUserList.isEmpty() && delegateTask.getVariable("nrOfCompletedInstances", Integer.class) ==0) {
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);
busProcessNewNext.setPrcName(prcName);
busBean.save(busProcessNewNext);
@@ -10,15 +10,15 @@ import org.activiti.engine.delegate.TaskListener;
import java.util.List;
/**
* 政策课题入会审核前
*/
public class PRGEMinisterConfirmBefore implements TaskListener {
// @Override
// public void notify(DelegateTask delegateTask) {
//
// }
@Override
public void notify(DelegateTask delegateTask) {
IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class);
QueryWrapper queryWrapper1 = new QueryWrapper();
QueryWrapper<BusProcessNew> queryWrapper1 = new QueryWrapper<>();
queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId());
queryWrapper1.eq("USER_ID",delegateTask.getAssignee());
queryWrapper1.isNull("TASK_ID");
@@ -26,12 +26,12 @@ public class PRGEMinisterConfirmBefore implements TaskListener {
if(!list.isEmpty()){
BusProcessNew one1 = list.get(0);
one1.setTaskId(delegateTask.getId());
one1.setTaskInfo(delegateTask.getName());
busBean.saveOrUpdate(one1);
CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class);
// 发送 oa 待办 设置 跳转页面 router ? 后面流程类型
one1.setLink("zcrhStep2?prcType=17");
one1.setTaskInfo(delegateTask.getName());
one1.setLink("policyTopicEnrollment/step2?prcType=30");
oaService.sendTodoMq(one1);
}
}
@@ -1,10 +1,8 @@
package com.ydw.bat.wkflow.listener.policyResearchGroupEnrollment;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.ydw.bat.wkflow.business_auth.LawsUserInfoService;
import com.ydw.bat.wkflow.business_main.datas.dto.DetailedUpDto;
import com.ydw.bat.wkflow.business_main.datas.dto.SarLawsDetailedList;
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;
@@ -17,12 +15,13 @@ 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 PRGEStartAfter implements TaskListener {
@Override
public void notify(DelegateTask delegateTask) {
@@ -33,8 +32,6 @@ public class PRGEStartAfter implements TaskListener {
//流程信息
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());
@@ -43,47 +40,46 @@ public class PRGEStartAfter implements TaskListener {
JSONObject object = JSONObject.parseObject(datas.getFormValsJson());
delegateTask.setVariable("objectJson",object);
List<String> nextUserList = new ArrayList();
List<String> nextUserList = new ArrayList<>();
if(StringUtils.isNotBlank(object.getString("ministerId"))){
delegateTask.setVariable("ministerConfirm", object.getString("ministerId"));
nextUserList.add(object.getString("ministerId"));
List<String> ministerIdList = Arrays.asList(object.getString("ministerId").split(","));
delegateTask.setVariable("ministerIdList",ministerIdList);
nextUserList.addAll(ministerIdList);
} else {
throw new ActivitiException("1#2法规认证部部长不存在,请配置相关人员");
}
//截止时间 流程描述 创建人
String user = object.getString("revisionId");
delegateTask.setVariable("createUser",user);
String username = object.getString("revisionIdName");
delegateTask.setVariable("createUserName",username);
String prcName="";
prcName = "政策课题组入会流程-法规认证部副部长审核";
String user = object.getString("applyUserId");
String username = object.getString("applyUserName");
String topicName = object.getString("topicName");
String prcName = topicName + "-政策课题入会流程";
QueryWrapper queryWrapper2 = new QueryWrapper();
QueryWrapper<BusProcessName> queryWrapper2 = new QueryWrapper<>();
queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId());
BusProcessName one1 = busProcessNameService.getOne(queryWrapper2);
if (one1 != null) {
one1.setPrcType("17");
one1.setPrcType("30");
one1.setPrcName(prcName);
one1.setCreatUser(user);
one1.setCreatUserName(username);
busProcessNameService.saveOrUpdate(one1);
}
if (null != object.getString("commentText")) {
BusProcessNew busProcessNews = new BusProcessNew();
busProcessNews.setMsgType("clause");
busProcessNews.setPId(delegateTask.getProcessInstanceId());
busProcessNews.setMesg(object.toJSONString());
busProcessNews.setTaskInfo(delegateTask.getTaskDefinitionKey());
busProcessNews.setFinishFlag("0");
busProcessNews.setTaskInfo(delegateTask.getName());
busProcessNews.setTaskId(delegateTask.getId());
busProcessNews.setUserId("start");
busProcessNews.setPrcName(prcName);
busProcessNews.setCommitText(object.getString("commentText"));
busBean.save(busProcessNews);
}
// 存储当前节点意见
BusProcessNew busProcessNews = new BusProcessNew();
busProcessNews.setMsgType("clause");
busProcessNews.setPId(delegateTask.getProcessInstanceId());
busProcessNews.setMesg(object.toJSONString());
// busProcessNews.setTaskInfo(delegateTask.getTaskDefinitionKey());
busProcessNews.setFinishFlag("0");
busProcessNews.setTaskInfo(delegateTask.getName());
busProcessNews.setTaskId(delegateTask.getId());
// busProcessNews.setUserId("start");
busProcessNews.setUserId(user);
busProcessNews.setPrcName(prcName);
busProcessNews.setCommitText(object.getString("commentText"));
busBean.save(busProcessNews);
if (!nextUserList.isEmpty()) {
for (String nextUser : nextUserList) {
@@ -91,9 +87,7 @@ public class PRGEStartAfter implements TaskListener {
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);
busProcessNewNext.setPrcName(prcName);
busBean.save(busProcessNewNext);
@@ -3,6 +3,9 @@ package com.ydw.bat.wkflow.listener.policyResearchGroupEnrollment;
import org.activiti.engine.delegate.DelegateTask;
import org.activiti.engine.delegate.TaskListener;
/**
* 政策课题入会起草前
*/
public class PRGEStartBefore implements TaskListener {
@Override
@@ -2,9 +2,6 @@ package com.ydw.bat.wkflow.listener.policyResearchGroupEnrollment;
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.dto.DetailedUpDto;
import com.ydw.bat.wkflow.business_main.datas.dto.SarLawsDetailedList;
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;
@@ -17,13 +14,14 @@ 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 RevisonInformationAfter implements TaskListener {
/**
* 政策课题入会重新起草后
*/
public class RevisionInformationAfter implements TaskListener {
@Override
public void notify(DelegateTask delegateTask) {
IDatasService datasService = SpringContextUtil.getBean(IDatasService.class);
@@ -32,8 +30,6 @@ public class RevisonInformationAfter implements TaskListener {
//流程信息
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());
@@ -42,22 +38,27 @@ public class RevisonInformationAfter implements TaskListener {
JSONObject object = JSONObject.parseObject(datas.getFormValsJson());
delegateTask.setVariable("objectJson", object);
List<String> nextUserList = new ArrayList();
List<String> nextUserList = new ArrayList<>();
if (StringUtils.isNotBlank(delegateTask.getVariable("ministerConfirm",String.class))) {
nextUserList.add(delegateTask.getVariable("ministerConfirm",String.class));
if (StringUtils.isNotBlank(object.getString("ministerId"))) {
delegateTask.setVariable("approvalOpinion", 0);
List<String> ministerIdList = Arrays.asList(object.getString("ministerId").split(","));
delegateTask.setVariable("ministerIdList",ministerIdList);
nextUserList.addAll(ministerIdList);
} else {
throw new ActivitiException("1#2法规认证部部长不存在,请配置相关人员");
}
String user = delegateTask.getVariable("createUser", String.class);
String username = delegateTask.getVariable("createUserName", String.class);
String prcName="";
prcName = "政策课题入会流程-法规认证部副部长审核";
String user = delegateTask.getVariable("applyUserId", String.class);
String username = delegateTask.getVariable("applyUserName", String.class);
String topicName = object.getString("topicName");
String prcName= topicName + "-政策课题入会流程";
QueryWrapper queryWrapper2 = new QueryWrapper();
QueryWrapper<BusProcessName> queryWrapper2 = new QueryWrapper<>();
queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId());
BusProcessName one1 = busProcessNameService.getOne(queryWrapper2);
if (one1 != null) {
one1.setPrcType("17");
one1.setPrcType("30");
// one1.setPrcName(prcName);
one1.setCreatUser(user);
one1.setCreatUserName(username);
@@ -65,7 +66,7 @@ public class RevisonInformationAfter implements TaskListener {
}
//存储当前节点意见
if (null != object.getString("commentText")) {
QueryWrapper queryWrapper3 = new QueryWrapper();
QueryWrapper<BusProcessNew> queryWrapper3 = new QueryWrapper<>();
queryWrapper3.eq("TASK_ID", delegateTask.getId());
queryWrapper3.eq("USER_ID", delegateTask.getAssignee());
List<BusProcessNew> list = busBean.list(queryWrapper3);
@@ -77,22 +78,17 @@ public class RevisonInformationAfter implements TaskListener {
}
}
if (nextUserList != null && !nextUserList.isEmpty()) {
if (!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);
busProcessNewNext.setPrcName(prcName);
busBean.save(busProcessNewNext);
}
}
}
}
@@ -10,11 +10,14 @@ import org.activiti.engine.delegate.TaskListener;
import java.util.List;
/**
* 政策课题入会重新起草前
*/
public class RevisionInformationBefore implements TaskListener {
@Override
public void notify(DelegateTask delegateTask) {
IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class);
QueryWrapper queryWrapper1 = new QueryWrapper();
QueryWrapper<BusProcessNew> queryWrapper1 = new QueryWrapper<>();
queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId());
queryWrapper1.eq("USER_ID",delegateTask.getAssignee());
queryWrapper1.isNull("TASK_ID");
@@ -22,12 +25,12 @@ public class RevisionInformationBefore implements TaskListener {
if(!list.isEmpty()){
BusProcessNew one1 = list.get(0);
one1.setTaskId(delegateTask.getId());
one1.setTaskInfo(delegateTask.getName());
busBean.saveOrUpdate(one1);
CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class);
// 发送 oa 待办 设置 跳转页面 router ? 后面流程类型
one1.setLink("zcrhStep1-1?prcType=17");
one1.setTaskInfo(delegateTask.getName());
one1.setLink("policyTopicEnrollment/step1_1?prcType=30");
oaService.sendTodoMq(one1);
}
}
@@ -0,0 +1,79 @@
package com.ydw.bat.wkflow.listener.policySolicitOpinionProcess;
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 com.ydw.bat.wkflow.util.enums.ApprovalFlagEnum;
import org.activiti.engine.delegate.DelegateTask;
import org.activiti.engine.delegate.TaskListener;
import org.apache.commons.lang.StringUtils;
public class PolicySolicitOpinionProcess10After implements TaskListener {
@Override
public void notify(DelegateTask delegateTask) {
IDatasService datasService = SpringContextUtil.getBean(IDatasService.class);
IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.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 jsonForm = object.getJSONObject("form");
String approvalFlag = jsonForm.getString("approvalFlag");
if (StringUtils.equals(approvalFlag, ApprovalFlagEnum.PASS.getValue())) {
// 责任部门 子流程总数
int zrSubProcessCount = (int) delegateTask.getVariable("zrSubProcessCount");
// 责任部门 子流程完成总数
int zrSubProcessFinishCount = (int) delegateTask.getVariable("zrSubProcessFinishCount");
zrSubProcessFinishCount = zrSubProcessFinishCount + 1;
delegateTask.setVariable("zrSubProcessFinishCount",zrSubProcessFinishCount);
// 如果该流程中的 责任部门子流程都已完成,给管理员节点分配数据。
if (zrSubProcessCount == zrSubProcessFinishCount) {
String glyUserId = jsonForm.getString("glyUserId");
delegateTask.setVariable("glyUserId",glyUserId);
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(glyUserId);
busBean.save(busProcessNewNext);
}
} else if (StringUtils.equals(approvalFlag, ApprovalFlagEnum.OVERRULE.getValue())) {
String djrUserId = (String) delegateTask.getVariable("djrUserId");
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(djrUserId);
busBean.save(busProcessNewNext);
}
// 存储当前节点意见
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);
delegateTask.setVariable("approvalFlag",approvalFlag);
}
}
@@ -0,0 +1,38 @@
package com.ydw.bat.wkflow.listener.policySolicitOpinionProcess;
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 com.ydw.bat.wkflow.util.enums.FlowTypeEnum;
import org.activiti.engine.delegate.DelegateTask;
import org.activiti.engine.delegate.TaskListener;
import org.apache.commons.collections4.CollectionUtils;
import java.util.List;
public class PolicySolicitOpinionProcess10Before implements TaskListener {
@Override
public void notify(DelegateTask delegateTask) {
IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class);
CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class);
QueryWrapper queryWrapper = new QueryWrapper();
queryWrapper.isNull("TASK_ID");
queryWrapper.eq("P_ID",delegateTask.getProcessInstanceId());
queryWrapper.eq("USER_ID",delegateTask.getAssignee());
List<BusProcessNew> list = busBean.list(queryWrapper);
if(CollectionUtils.isNotEmpty(list)){
BusProcessNew one1 = list.get(0);
one1.setTaskId(delegateTask.getId());
one1.setTaskInfo(delegateTask.getName());
busBean.saveOrUpdate(one1);
// 发送 oa 待办 设置 跳转页面 router ? 后面流程类型
one1.setLink(FlowTypeEnum.ZCZQYJLC.getRoute() + "?prcType=" + FlowTypeEnum.ZCZQYJLC.getValue() + "&taskDefinitionKey="+delegateTask.getTaskDefinitionKey());
one1.setTaskInfo(delegateTask.getName());
oaService.sendTodoMq(one1);
}
}
}
@@ -0,0 +1,87 @@
package com.ydw.bat.wkflow.listener.policySolicitOpinionProcess;
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 com.ydw.bat.wkflow.util.enums.ApprovalFlagEnum;
import org.activiti.engine.delegate.DelegateTask;
import org.activiti.engine.delegate.TaskListener;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang.StringUtils;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class PolicySolicitOpinionProcess11After implements TaskListener {
@Override
public void notify(DelegateTask delegateTask) {
IDatasService datasService = SpringContextUtil.getBean(IDatasService.class);
IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.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 jsonForm = object.getJSONObject("form");
String approvalFlag = jsonForm.getString("approvalFlag");
if (StringUtils.equals(approvalFlag, ApprovalFlagEnum.PASS.getValue())) {
String shr2UserIds = jsonForm.getString("shr2UserIds");
List<String> nextUserList = Arrays.asList(shr2UserIds.split(","));
if (CollectionUtils.isNotEmpty(nextUserList)) {
List<BusProcessNew> addBusProcessNewList = new ArrayList<>();
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);
addBusProcessNewList.add(busProcessNewNext);
}
busBean.saveBatch(addBusProcessNewList);
// 配置多实例
delegateTask.setVariable("shr2UserIdList", nextUserList);
delegateTask.setVariable("shr2UserCount", nextUserList.size());
delegateTask.setVariable("shr2UserPassCount", 0);
delegateTask.setVariable("shr2UserOverruleCount", 0);
}
} else if (StringUtils.equals(approvalFlag, ApprovalFlagEnum.OVERRULE.getValue())) {
String pzr1UserId = jsonForm.getString("pzr1UserId");
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(pzr1UserId);
busBean.save(busProcessNewNext);
delegateTask.setVariable("pzr1UserId", pzr1UserId);
}
// 存储当前节点意见
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);
delegateTask.setVariable("approvalFlag", approvalFlag);
}
}
@@ -0,0 +1,37 @@
package com.ydw.bat.wkflow.listener.policySolicitOpinionProcess;
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 com.ydw.bat.wkflow.util.enums.FlowTypeEnum;
import org.activiti.engine.delegate.DelegateTask;
import org.activiti.engine.delegate.TaskListener;
import org.apache.commons.collections4.CollectionUtils;
import java.util.List;
public class PolicySolicitOpinionProcess11Before implements TaskListener {
@Override
public void notify(DelegateTask delegateTask) {
IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class);
CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class);
QueryWrapper queryWrapper = new QueryWrapper();
queryWrapper.isNull("TASK_ID");
queryWrapper.eq("P_ID",delegateTask.getProcessInstanceId());
queryWrapper.eq("USER_ID",delegateTask.getAssignee());
List<BusProcessNew> list = busBean.list(queryWrapper);
if(CollectionUtils.isNotEmpty(list)){
BusProcessNew one1 = list.get(0);
one1.setTaskId(delegateTask.getId());
one1.setTaskInfo(delegateTask.getName());
busBean.saveOrUpdate(one1);
// 发送 oa 待办 设置 跳转页面 router ? 后面流程类型
one1.setLink(FlowTypeEnum.ZCZQYJLC.getRoute() + "?prcType=" + FlowTypeEnum.ZCZQYJLC.getValue() + "&taskDefinitionKey="+delegateTask.getTaskDefinitionKey());
one1.setTaskInfo(delegateTask.getName());
oaService.sendTodoMq(one1);
}
}
}

Some files were not shown because too many files have changed in this diff Show More