政策征求意见流程开发、对接。
This commit is contained in:
@@ -112,8 +112,6 @@ public class TaskTodoService {
|
||||
break;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
result = true;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
@@ -20,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;
|
||||
@@ -36,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;
|
||||
@@ -101,6 +100,12 @@ public class TodoTaskController extends BaseAction {
|
||||
@Autowired
|
||||
private CreateMQService mqService;
|
||||
|
||||
@Autowired
|
||||
private IFlowUserRelInfoService flowUserRelInfoService;
|
||||
|
||||
@Autowired
|
||||
private IPolicySolicitOpinionEOService policySolicitOpinionEOService;
|
||||
|
||||
@ApiOperation(value = "我的待办任务列表")
|
||||
@ApiImplicitParams({@ApiImplicitParam(name = "name", value = "名称"),
|
||||
@ApiImplicitParam(name = "current", value = "当前页"),
|
||||
@@ -242,6 +247,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());
|
||||
@@ -404,6 +410,10 @@ public class TodoTaskController extends BaseAction {
|
||||
busProcessEntrust.setPrcName(one.getPrcName());
|
||||
busProcessEntrust.setTaskId(str);
|
||||
iBusProcessEntrustService.save(busProcessEntrust);
|
||||
|
||||
if (StringUtils.equals(one.getPrcType(), FlowTypeEnum.ZCZQYJLC.getValue())) {
|
||||
this.changePolicySolicitOpinionProcessAssignee(assignee, userId, pId, str);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -490,6 +500,49 @@ public class TodoTaskController extends BaseAction {
|
||||
// logger.info("task {} find " + taskId);
|
||||
return WrapMapper.ok("改派成功");
|
||||
}
|
||||
/**
|
||||
* @Description: 变更政策征求意见流程任务办理人(责任部门子流程相关)
|
||||
* @author: wangzhijiang
|
||||
* @date: 2023-10-18
|
||||
* @Param:
|
||||
* @return:
|
||||
*/
|
||||
private void changePolicySolicitOpinionProcessAssignee(String assignee, String userId, String pId, String str) {
|
||||
Task task = this.taskService.createTaskQuery().taskId(str).singleResult();
|
||||
QueryWrapper<FlowUserRelInfo> furQueryWrap = new QueryWrapper<>();
|
||||
furQueryWrap.lambda().eq(FlowUserRelInfo::getActiProcInstId, pId);
|
||||
furQueryWrap.lambda().eq(FlowUserRelInfo::getFlowType,FlowTypeEnum.ZCZQYJLC.getValue());
|
||||
// 责任人任务处理。
|
||||
if (StringUtils.equals(task.getTaskDefinitionKey(),"PolicySolicitOpinionProcessKey8")) {
|
||||
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")) {
|
||||
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")) {
|
||||
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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ApiOperation(value = "完成任务", notes = "流程单个节点任务,直接完成任务")
|
||||
@ApiImplicitParams({@ApiImplicitParam(name = "taskId", value = "任务id"),
|
||||
@@ -1870,6 +1923,14 @@ 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);
|
||||
}
|
||||
return WrapMapper.ok("保存成功");
|
||||
}
|
||||
}
|
||||
|
||||
+32
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -94,4 +94,7 @@ public class BusProcessName implements Serializable {
|
||||
|
||||
@TableField("RESPONSIBLE_UNIT_DEADLINE_DATE")
|
||||
private Date responsibleUnitDeadlineDate;
|
||||
|
||||
@TableField(exist = false)
|
||||
private String taskDefinitionKey;
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
|
||||
}
|
||||
+88
@@ -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;
|
||||
|
||||
}
|
||||
+11
@@ -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> {
|
||||
}
|
||||
+7
@@ -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> {
|
||||
}
|
||||
+17
@@ -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);
|
||||
}
|
||||
+15
@@ -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);
|
||||
}
|
||||
+42
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
+130
@@ -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;
|
||||
}
|
||||
}
|
||||
+3
-2
@@ -24,7 +24,8 @@ public class PolicySolicitOpinionProcess10After implements TaskListener {
|
||||
Datas datas = datasService.getOne(queryWrapper);
|
||||
|
||||
JSONObject object = JSONObject.parseObject(datas.getFormValsJson());
|
||||
String approvalFlag = object.getString("approvalFlag");
|
||||
JSONObject jsonForm = object.getJSONObject("form");
|
||||
String approvalFlag = jsonForm.getString("approvalFlag");
|
||||
if (StringUtils.equals(approvalFlag, ApprovalFlagEnum.PASS.getValue())) {
|
||||
// 责任部门 子流程总数
|
||||
int zrSubProcessCount = (int) delegateTask.getVariable("zrSubProcessCount");
|
||||
@@ -35,7 +36,7 @@ public class PolicySolicitOpinionProcess10After implements TaskListener {
|
||||
|
||||
// 如果该流程中的 责任部门子流程都已完成,给管理员节点分配数据。
|
||||
if (zrSubProcessCount == zrSubProcessFinishCount) {
|
||||
String glyUserId = object.getString("glyUserId");
|
||||
String glyUserId = jsonForm.getString("glyUserId");
|
||||
delegateTask.setVariable("glyUserId",glyUserId);
|
||||
|
||||
BusProcessNew busProcessNewNext = new BusProcessNew();
|
||||
|
||||
+4
-3
@@ -29,9 +29,10 @@ public class PolicySolicitOpinionProcess11After implements TaskListener {
|
||||
Datas datas = datasService.getOne(queryWrapper);
|
||||
|
||||
JSONObject object = JSONObject.parseObject(datas.getFormValsJson());
|
||||
String approvalFlag = object.getString("approvalFlag");
|
||||
JSONObject jsonForm = object.getJSONObject("form");
|
||||
String approvalFlag = jsonForm.getString("approvalFlag");
|
||||
if (StringUtils.equals(approvalFlag, ApprovalFlagEnum.PASS.getValue())) {
|
||||
String shr2UserIds = object.getString("shr2UserIds");
|
||||
String shr2UserIds = jsonForm.getString("shr2UserIds");
|
||||
List<String> nextUserList = Arrays.asList(shr2UserIds.split(","));
|
||||
if (CollectionUtils.isNotEmpty(nextUserList)) {
|
||||
List<BusProcessNew> addBusProcessNewList = new ArrayList<>();
|
||||
@@ -55,7 +56,7 @@ public class PolicySolicitOpinionProcess11After implements TaskListener {
|
||||
delegateTask.setVariable("shr2UserOverruleCount", 0);
|
||||
}
|
||||
} else if (StringUtils.equals(approvalFlag, ApprovalFlagEnum.OVERRULE.getValue())) {
|
||||
String pzr1UserId = object.getString("pzr1UserId");
|
||||
String pzr1UserId = jsonForm.getString("pzr1UserId");
|
||||
BusProcessNew busProcessNewNext = new BusProcessNew();
|
||||
busProcessNewNext.setMsgType("clause");
|
||||
busProcessNewNext.setPId(delegateTask.getProcessInstanceId());
|
||||
|
||||
+15
-4
@@ -8,6 +8,7 @@ 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_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;
|
||||
@@ -26,19 +27,24 @@ public class PolicySolicitOpinionProcess12After implements TaskListener {
|
||||
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());
|
||||
String approvalFlag = object.getString("approvalFlag");
|
||||
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 hqrUserIds = object.getString("hqrUserIds");
|
||||
List<String> nextUserList = Arrays.asList(hqrUserIds.split(","));
|
||||
List<String> nextUserList = new ArrayList<>();
|
||||
String hqrUserIds = jsonForm.getString("hqrUserIds");
|
||||
if (StringUtils.isNotEmpty(hqrUserIds)) {
|
||||
nextUserList.addAll(Arrays.asList(hqrUserIds.split(",")));
|
||||
}
|
||||
|
||||
List<String> hqrUserIdList = (List<String>) delegateTask.getVariable("hqrUserIdList");
|
||||
if (CollectionUtils.isNotEmpty(hqrUserIdList)) {
|
||||
@@ -75,7 +81,7 @@ public class PolicySolicitOpinionProcess12After implements TaskListener {
|
||||
}
|
||||
}
|
||||
} else if (StringUtils.equals(approvalFlag, ApprovalFlagEnum.OVERRULE.getValue())) {
|
||||
String pzr1UserId = object.getString("pzr1UserId");
|
||||
String pzr1UserId = jsonForm.getString("pzr1UserId");
|
||||
BusProcessNew busProcessNewNext = new BusProcessNew();
|
||||
busProcessNewNext.setMsgType("clause");
|
||||
busProcessNewNext.setPId(delegateTask.getProcessInstanceId());
|
||||
@@ -91,6 +97,11 @@ public class PolicySolicitOpinionProcess12After implements TaskListener {
|
||||
delegateTask.setVariable("shr2UserOverruleCount", 1);
|
||||
}
|
||||
|
||||
// 保存责任人填写的征求意见信息
|
||||
object.put("currentUserId",delegateTask.getAssignee());
|
||||
object.put("prcId",delegateTask.getProcessInstanceId());
|
||||
policySolicitOpinionEOService.batchInsert(object);
|
||||
|
||||
// 存储当前节点意见
|
||||
BusProcessNew busProcessNew = new BusProcessNew();
|
||||
busProcessNew.setMsgType("clause");
|
||||
|
||||
+4
-3
@@ -31,7 +31,8 @@ public class PolicySolicitOpinionProcess13After implements TaskListener {
|
||||
Datas datas = datasService.getOne(queryWrapper);
|
||||
|
||||
JSONObject object = JSONObject.parseObject(datas.getFormValsJson());
|
||||
String approvalFlag = object.getString("approvalFlag");
|
||||
JSONObject jsonForm = object.getJSONObject("form");
|
||||
String approvalFlag = jsonForm.getString("approvalFlag");
|
||||
if (StringUtils.equals(approvalFlag, ApprovalFlagEnum.PASS.getValue())) {
|
||||
int hqrUserPassCount = (int) delegateTask.getVariable("hqrUserPassCount");
|
||||
delegateTask.setVariable("hqrUserPassCount", hqrUserPassCount + 1);
|
||||
@@ -41,7 +42,7 @@ public class PolicySolicitOpinionProcess13After implements TaskListener {
|
||||
delegateTask.getId()
|
||||
);
|
||||
if (!existTaskFlag) {
|
||||
String sdr2UserIds = object.getString("sdr2UserIds");
|
||||
String sdr2UserIds = jsonForm.getString("sdr2UserIds");
|
||||
List<String> nextUserList = Arrays.asList(sdr2UserIds.split(","));
|
||||
if (CollectionUtils.isNotEmpty(nextUserList)) {
|
||||
List<BusProcessNew> addBusProcessNewList = new ArrayList<>();
|
||||
@@ -66,7 +67,7 @@ public class PolicySolicitOpinionProcess13After implements TaskListener {
|
||||
}
|
||||
}
|
||||
} else if (StringUtils.equals(approvalFlag, ApprovalFlagEnum.OVERRULE.getValue())) {
|
||||
String pzr1UserId = object.getString("pzr1UserId");
|
||||
String pzr1UserId = jsonForm.getString("pzr1UserId");
|
||||
BusProcessNew busProcessNewNext = new BusProcessNew();
|
||||
busProcessNewNext.setMsgType("clause");
|
||||
busProcessNewNext.setPId(delegateTask.getProcessInstanceId());
|
||||
|
||||
+4
-3
@@ -26,7 +26,8 @@ public class PolicySolicitOpinionProcess14After implements TaskListener {
|
||||
Datas datas = datasService.getOne(queryWrapper);
|
||||
|
||||
JSONObject object = JSONObject.parseObject(datas.getFormValsJson());
|
||||
String approvalFlag = object.getString("approvalFlag");
|
||||
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);
|
||||
@@ -36,7 +37,7 @@ public class PolicySolicitOpinionProcess14After implements TaskListener {
|
||||
delegateTask.getId()
|
||||
);
|
||||
if (!existTaskFlag) {
|
||||
String pzr2UserId = object.getString("pzr2UserId");
|
||||
String pzr2UserId = jsonForm.getString("pzr2UserId");
|
||||
|
||||
BusProcessNew busProcessNewNext = new BusProcessNew();
|
||||
busProcessNewNext.setMsgType("clause");
|
||||
@@ -50,7 +51,7 @@ public class PolicySolicitOpinionProcess14After implements TaskListener {
|
||||
delegateTask.setVariable("pzr2UserId", pzr2UserId);
|
||||
}
|
||||
} else if (StringUtils.equals(approvalFlag, ApprovalFlagEnum.OVERRULE.getValue())) {
|
||||
String pzr1UserId = object.getString("pzr1UserId");
|
||||
String pzr1UserId = jsonForm.getString("pzr1UserId");
|
||||
BusProcessNew busProcessNewNext = new BusProcessNew();
|
||||
busProcessNewNext.setMsgType("clause");
|
||||
busProcessNewNext.setPId(delegateTask.getProcessInstanceId());
|
||||
|
||||
+4
-3
@@ -29,9 +29,10 @@ public class PolicySolicitOpinionProcess15After implements TaskListener {
|
||||
Datas datas = datasService.getOne(queryWrapper);
|
||||
|
||||
JSONObject object = JSONObject.parseObject(datas.getFormValsJson());
|
||||
String approvalFlag = object.getString("approvalFlag");
|
||||
JSONObject jsonForm = object.getJSONObject("form");
|
||||
String approvalFlag = jsonForm.getString("approvalFlag");
|
||||
if (StringUtils.equals(approvalFlag, ApprovalFlagEnum.PASS.getValue())) {
|
||||
String csrUserIds = object.getString("csrUserIds");
|
||||
String csrUserIds = jsonForm.getString("csrUserIds");
|
||||
List<String> nextUserList = Arrays.asList(csrUserIds.split(","));
|
||||
if (CollectionUtils.isNotEmpty(nextUserList)) {
|
||||
List<BusProcessNew> addBusProcessNewList = new ArrayList<>();
|
||||
@@ -52,7 +53,7 @@ public class PolicySolicitOpinionProcess15After implements TaskListener {
|
||||
delegateTask.setVariable("csrUserIdList", nextUserList);
|
||||
}
|
||||
} else if (StringUtils.equals(approvalFlag, ApprovalFlagEnum.OVERRULE.getValue())) {
|
||||
String pzr1UserId = object.getString("pzr1UserId");
|
||||
String pzr1UserId = jsonForm.getString("pzr1UserId");
|
||||
BusProcessNew busProcessNewNext = new BusProcessNew();
|
||||
busProcessNewNext.setMsgType("clause");
|
||||
busProcessNewNext.setPId(delegateTask.getProcessInstanceId());
|
||||
|
||||
+27
@@ -2,6 +2,8 @@ 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_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;
|
||||
@@ -11,11 +13,16 @@ 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;
|
||||
|
||||
public class PolicySolicitOpinionProcess16After 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);
|
||||
|
||||
QueryWrapper<Datas> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.eq("ACTI_TASK_ID", delegateTask.getId());
|
||||
@@ -23,6 +30,26 @@ public class PolicySolicitOpinionProcess16After implements TaskListener {
|
||||
|
||||
JSONObject object = JSONObject.parseObject(datas.getFormValsJson());
|
||||
|
||||
// TODO 等需求确认,提交后需要做什么操作。
|
||||
|
||||
|
||||
|
||||
boolean existTaskFlag = taskTodoService.whetherExistTaskByTaskDefinitionKey(
|
||||
delegateTask.getProcessDefinitionId(),
|
||||
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");
|
||||
|
||||
+7
-7
@@ -9,6 +9,7 @@ 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;
|
||||
@@ -31,18 +32,18 @@ public class PolicySolicitOpinionProcess1After implements TaskListener {
|
||||
Datas datas = datasService.getOne(queryWrapper);
|
||||
|
||||
JSONObject object = JSONObject.parseObject(datas.getFormValsJson());
|
||||
JSONObject jsonForm = object.getJSONObject("form");
|
||||
delegateTask.setVariable("objectJson",object);
|
||||
|
||||
// 审核人1用户ids
|
||||
String shr1UserIds = object.getString("shr1UserIds");
|
||||
String shr1UserIds = jsonForm.getString("shr1UserIds");
|
||||
List<String> nextUserList = Arrays.asList(shr1UserIds.split(","));
|
||||
|
||||
|
||||
//截止时间 流程描述 创建人
|
||||
String user = object.getString("prcCreateUser");
|
||||
String username = object.getString("prcCreateUserName");
|
||||
Object lawsName = object.get("lawsName");
|
||||
Object lawsNumber = object.get("lawsNumber");
|
||||
Object lawsName = jsonForm.get("lawsName");
|
||||
Object lawsNumber = jsonForm.get("lawsNumber");
|
||||
String lawsInfoName = "";
|
||||
if(lawsName != null && lawsNumber != null){
|
||||
String name = lawsName.toString()+"-";
|
||||
@@ -56,12 +57,12 @@ public class PolicySolicitOpinionProcess1After implements TaskListener {
|
||||
queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId());
|
||||
BusProcessName one1 = busProcessNameService.getOne(queryWrapper2);
|
||||
if(one1!=null){
|
||||
one1.setPrcType("laws2");
|
||||
one1.setPrcType(FlowTypeEnum.ZCZQYJLC.getValue());
|
||||
one1.setPrcName(prcName);
|
||||
one1.setCreatUser(user);
|
||||
one1.setCreatUserName(username);
|
||||
|
||||
Date responsibleUnitDeadlineDate = object.getDate("responsibleUnitDeadline");
|
||||
Date responsibleUnitDeadlineDate = jsonForm.getDate("responsibleUnitDeadline");
|
||||
one1.setResponsibleUnitDeadlineDate(responsibleUnitDeadlineDate);
|
||||
busProcessNameService.saveOrUpdate(one1);
|
||||
}
|
||||
@@ -89,7 +90,6 @@ public class PolicySolicitOpinionProcess1After implements TaskListener {
|
||||
busProcessNewNext.setFinishFlag("0");
|
||||
busProcessNewNext.setTaskInfo(delegateTask.getName());
|
||||
busProcessNewNext.setUserId(nextUser);
|
||||
busProcessNewNext.setPrcName(prcName);
|
||||
addBusProcessNewList.add(busProcessNewNext);
|
||||
}
|
||||
busBean.saveBatch(addBusProcessNewList);
|
||||
|
||||
+4
-2
@@ -30,7 +30,9 @@ public class PolicySolicitOpinionProcess2After implements TaskListener {
|
||||
Datas datas = datasService.getOne(queryWrapper);
|
||||
JSONObject object = JSONObject.parseObject(datas.getFormValsJson());
|
||||
|
||||
String approvalFlag = object.getString("approvalFlag");
|
||||
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);
|
||||
@@ -42,7 +44,7 @@ public class PolicySolicitOpinionProcess2After implements TaskListener {
|
||||
);
|
||||
if (!existTaskFlag) {
|
||||
// 审定人1用户ids
|
||||
String sdr1UserIds = object.getString("sdr1UserIds");
|
||||
String sdr1UserIds = jsonForm.getString("sdr1UserIds");
|
||||
List<String> nextUserList = Arrays.asList(sdr1UserIds.split(","));
|
||||
if (CollectionUtils.isNotEmpty(nextUserList)) {
|
||||
List<BusProcessNew> addBusProcessNewList = new ArrayList<>();
|
||||
|
||||
+4
-2
@@ -26,7 +26,9 @@ public class PolicySolicitOpinionProcess4After implements TaskListener {
|
||||
Datas datas = datasService.getOne(queryWrapper);
|
||||
|
||||
JSONObject object = JSONObject.parseObject(datas.getFormValsJson());
|
||||
String approvalFlag = object.getString("approvalFlag");
|
||||
|
||||
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);
|
||||
@@ -37,7 +39,7 @@ public class PolicySolicitOpinionProcess4After implements TaskListener {
|
||||
delegateTask.getId()
|
||||
);
|
||||
if (!existTaskFlag) {
|
||||
String pzr1UserId = object.getString("pzr1UserId");
|
||||
String pzr1UserId = jsonForm.getString("pzr1UserId");
|
||||
BusProcessNew busProcessNewNext = new BusProcessNew();
|
||||
busProcessNewNext.setMsgType("clause");
|
||||
busProcessNewNext.setPId(delegateTask.getProcessInstanceId());
|
||||
|
||||
+5
-15
@@ -4,7 +4,6 @@ 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;
|
||||
@@ -14,8 +13,6 @@ import org.activiti.engine.delegate.TaskListener;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
|
||||
import java.text.ParseException;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Date;
|
||||
@@ -32,23 +29,16 @@ public class PolicySolicitOpinionProcess5After implements TaskListener {
|
||||
Datas datas = datasService.getOne(queryWrapper);
|
||||
|
||||
JSONObject object = JSONObject.parseObject(datas.getFormValsJson());
|
||||
String approvalFlag = object.getString("approvalFlag");
|
||||
JSONObject jsonForm = object.getJSONObject("form");
|
||||
String approvalFlag = jsonForm.getString("approvalFlag");
|
||||
if (StringUtils.equals(approvalFlag, ApprovalFlagEnum.PASS.getValue())) {
|
||||
SimpleDateFormat sdf = new SimpleDateFormat("yyy-MM-dd HH:mm:ss");
|
||||
String responsibleUnitDeadline = object.getString("responsibleUnitDeadline");
|
||||
Date responsibleUnitDeadlineDate = null;
|
||||
try {
|
||||
responsibleUnitDeadlineDate = sdf.parse(responsibleUnitDeadline);
|
||||
} catch (ParseException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
Date responsibleUnitDeadlineDate = jsonForm.getDate("responsibleUnitDeadline");
|
||||
String endFlag = "";
|
||||
// 如果当前日期大于责任单位截止日期,则不走责任对接人子流程 RESPONSIBLE_UNIT_DEADLINE_DATE
|
||||
if (new Date().after(responsibleUnitDeadlineDate)) {
|
||||
endFlag = "0";
|
||||
// 管理员用户id
|
||||
String glyUserId = object.getString("glyUserId");
|
||||
String glyUserId = jsonForm.getString("glyUserId");
|
||||
BusProcessNew busProcessNewNext = new BusProcessNew();
|
||||
busProcessNewNext.setMsgType("clause");
|
||||
busProcessNewNext.setPId(delegateTask.getProcessInstanceId());
|
||||
@@ -64,7 +54,7 @@ public class PolicySolicitOpinionProcess5After implements TaskListener {
|
||||
endFlag = "1";
|
||||
|
||||
// 责任对接人用户id
|
||||
String djrUserIds = object.getString("djrUserIds");
|
||||
String djrUserIds = jsonForm.getString("djrUserIds");
|
||||
List<String> nextUserList = Arrays.asList(djrUserIds.split(","));
|
||||
if (CollectionUtils.isNotEmpty(nextUserList)) {
|
||||
List<BusProcessNew> addBusProcessNewList = new ArrayList<>();
|
||||
|
||||
+19
-2
@@ -4,10 +4,13 @@ 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.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_main.datas.service.IFlowUserRelInfoService;
|
||||
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;
|
||||
@@ -22,19 +25,23 @@ public class PolicySolicitOpinionProcess7After implements TaskListener {
|
||||
public void notify(DelegateTask delegateTask) {
|
||||
IDatasService datasService = SpringContextUtil.getBean(IDatasService.class);
|
||||
IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class);
|
||||
IFlowUserRelInfoService flowUserRelInfoService = SpringContextUtil.getBean(IFlowUserRelInfoService.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 = object.getString("zrrUserIds");
|
||||
String zrrUserIds = jsonForm.getString("zrrUserIds");
|
||||
if (StringUtils.isNotEmpty(zrrUserIds)) {
|
||||
List<String> nextUserList = Arrays.asList(zrrUserIds.split(","));
|
||||
if (CollectionUtils.isNotEmpty(nextUserList)) {
|
||||
List<FlowUserRelInfo> flowUserRelInfoList = new ArrayList<>();
|
||||
|
||||
List<BusProcessNew> addBusProcessNewList = new ArrayList<>();
|
||||
for (String nextUser : nextUserList) {
|
||||
BusProcessNew busProcessNewNext = new BusProcessNew();
|
||||
@@ -46,11 +53,21 @@ public class PolicySolicitOpinionProcess7After implements TaskListener {
|
||||
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.ZCZQYJLC.getValue());
|
||||
flowUserRelInfo.setDataType("zrdjrfpzrr"); // 责任对接人分配责任人
|
||||
flowUserRelInfoList.add(flowUserRelInfo);
|
||||
}
|
||||
busBean.saveBatch(addBusProcessNewList);
|
||||
|
||||
// 配置多实例
|
||||
delegateTask.setVariable("zrrUserIdList", nextUserList);
|
||||
|
||||
flowUserRelInfoService.saveBatchFlowUserRelInfo(flowUserRelInfoList);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -64,7 +81,7 @@ public class PolicySolicitOpinionProcess7After implements TaskListener {
|
||||
|
||||
// 如果该流程中的 责任部门子流程都已完成,给管理员节点分配数据。
|
||||
if (zrSubProcessCount == zrSubProcessFinishCount) {
|
||||
String glyUserId = object.getString("glyUserId");
|
||||
String glyUserId = jsonForm.getString("glyUserId");
|
||||
delegateTask.setVariable("glyUserId", glyUserId);
|
||||
|
||||
BusProcessNew busProcessNewNext = new BusProcessNew();
|
||||
|
||||
+19
-17
@@ -8,6 +8,7 @@ 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_main.datas.service.IPolicySolicitOpinionEOService;
|
||||
import com.ydw.bat.wkflow.util.SpringContextUtil;
|
||||
import org.activiti.engine.delegate.DelegateTask;
|
||||
import org.activiti.engine.delegate.TaskListener;
|
||||
@@ -19,31 +20,32 @@ public class PolicySolicitOpinionProcess8After implements TaskListener {
|
||||
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");
|
||||
// 提交方式,如果该字段不为空,则是定时器自动提交 定时器自动提交value:timerAutoSubmit
|
||||
String submitMethod = object.getString("submitMethod");
|
||||
if (StringUtils.isEmpty(submitMethod)) {
|
||||
boolean existTaskFlag = taskTodoService.whetherExistTaskByTaskDefinitionKey(
|
||||
delegateTask.getProcessDefinitionId(),
|
||||
delegateTask.getTaskDefinitionKey(),
|
||||
delegateTask.getId()
|
||||
);
|
||||
if (!existTaskFlag) {
|
||||
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);
|
||||
}
|
||||
|
||||
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);
|
||||
|
||||
// 保存责任人填写的征求意见信息
|
||||
object.put("currentUserId",delegateTask.getAssignee());
|
||||
object.put("prcId",delegateTask.getProcessInstanceId());
|
||||
policySolicitOpinionEOService.batchInsert(object);
|
||||
|
||||
submitMethod = "pageSubmit";
|
||||
} else {
|
||||
@@ -55,7 +57,7 @@ public class PolicySolicitOpinionProcess8After implements TaskListener {
|
||||
|
||||
// 如果该流程中的 责任部门子流程都已完成,给管理员节点分配数据。
|
||||
if (zrSubProcessCount == zrSubProcessFinishCount) {
|
||||
String glyUserId = object.getString("glyUserId");
|
||||
String glyUserId = jsonForm.getString("glyUserId");
|
||||
delegateTask.setVariable("glyUserId", glyUserId);
|
||||
|
||||
BusProcessNew busProcessNewNext = new BusProcessNew();
|
||||
|
||||
+28
-7
@@ -4,11 +4,11 @@ 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.business_main.datas.entity.FlowUserRelInfo;
|
||||
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;
|
||||
@@ -21,19 +21,22 @@ public class PolicySolicitOpinionProcess9After implements TaskListener {
|
||||
public void notify(DelegateTask delegateTask) {
|
||||
IDatasService datasService = SpringContextUtil.getBean(IDatasService.class);
|
||||
IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class);
|
||||
IFlowUserRelInfoService flowUserRelInfoService = SpringContextUtil.getBean(IFlowUserRelInfoService.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 = object.getString("approvalFlag");
|
||||
String approvalFlag = jsonForm.getString("approvalFlag");
|
||||
if (StringUtils.equals(approvalFlag, ApprovalFlagEnum.PASS.getValue())) {
|
||||
// 内部审查 0 是,1 否
|
||||
String internalReviewFlag = object.getString("internalReviewFlag");
|
||||
String internalReviewFlag = jsonForm.getString("internalReviewFlag");
|
||||
if (StringUtils.equals(internalReviewFlag, "0")) {
|
||||
String zrdwUserId = object.getString("zrdwUserId");
|
||||
String zrdwUserId = jsonForm.getString("zrdwUserId");
|
||||
delegateTask.setVariable("zrdwUserId", zrdwUserId);
|
||||
|
||||
BusProcessNew busProcessNewNext = new BusProcessNew();
|
||||
@@ -45,6 +48,16 @@ public class PolicySolicitOpinionProcess9After implements TaskListener {
|
||||
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.ZCZQYJLC.getValue());
|
||||
flowUserRelInfo.setDataType("zrdjrfpzrdw"); // 责任对接人分配责任单位审批
|
||||
flowUserRelInfoList.add(flowUserRelInfo);
|
||||
flowUserRelInfoService.saveBatchFlowUserRelInfo(flowUserRelInfoList);
|
||||
} else if (StringUtils.equals(internalReviewFlag, "1")) {
|
||||
// 责任部门 子流程总数
|
||||
int zrSubProcessCount = (int) delegateTask.getVariable("zrSubProcessCount");
|
||||
@@ -54,7 +67,7 @@ public class PolicySolicitOpinionProcess9After implements TaskListener {
|
||||
|
||||
// 如果该流程中的 责任部门子流程都已完成,给管理员节点分配数据。
|
||||
if (zrSubProcessCount == zrSubProcessFinishCount) {
|
||||
String glyUserId = object.getString("glyUserId");
|
||||
String glyUserId = jsonForm.getString("glyUserId");
|
||||
delegateTask.setVariable("glyUserId", glyUserId);
|
||||
|
||||
BusProcessNew busProcessNewNext = new BusProcessNew();
|
||||
@@ -68,6 +81,9 @@ public class PolicySolicitOpinionProcess9After implements TaskListener {
|
||||
busBean.save(busProcessNewNext);
|
||||
}
|
||||
}
|
||||
|
||||
jsonForm.put("internalReviewFlag","");
|
||||
jsonForm.put("zrdwUserId","");
|
||||
delegateTask.setVariable("internalReviewFlag", internalReviewFlag);
|
||||
} else if (StringUtils.equals(approvalFlag, ApprovalFlagEnum.OVERRULE.getValue())) {
|
||||
List<String> zrrUserIdList = (List<String>) delegateTask.getVariable("zrrUserIdList");
|
||||
@@ -86,6 +102,11 @@ public class PolicySolicitOpinionProcess9After implements TaskListener {
|
||||
busBean.saveBatch(addBusProcessNewList);
|
||||
}
|
||||
|
||||
// 保存责任人填写的征求意见信息
|
||||
object.put("currentUserId",delegateTask.getAssignee());
|
||||
object.put("prcId",delegateTask.getProcessInstanceId());
|
||||
policySolicitOpinionEOService.batchInsert(object);
|
||||
|
||||
// 存储当前节点意见
|
||||
BusProcessNew busProcessNew = new BusProcessNew();
|
||||
busProcessNew.setMsgType("clause");
|
||||
|
||||
+142
@@ -0,0 +1,142 @@
|
||||
package com.ydw.bat.wkflow.listener.policySolicitOpinionProcess.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.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* @Description: 政策征求意见流程定时器
|
||||
* @author: wangzhijiang
|
||||
* @date: 2023-10-23
|
||||
*/
|
||||
@Component
|
||||
@EnableScheduling
|
||||
@Slf4j
|
||||
public class PolicySolicitOpinionProcessTimer {
|
||||
|
||||
@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 = "30 59 13 * * ? ")//每天十点执行
|
||||
// @Scheduled(cron = "0/15 * * * * ? ")
|
||||
public void autoSubmitZrbmTask() {
|
||||
QueryWrapper<BusProcessName> bpnQueryWrap = new QueryWrapper<>();
|
||||
bpnQueryWrap.lambda().eq(BusProcessName::getPrcType, FlowTypeEnum.ZCZQYJLC.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(), "PolicySolicitOpinionProcessKey7")
|
||||
|| StringUtils.equals(task.getTaskDefinitionKey(), "PolicySolicitOpinionProcessKey8")
|
||||
|| StringUtils.equals(task.getTaskDefinitionKey(), "PolicySolicitOpinionProcessKey9")
|
||||
|| StringUtils.equals(task.getTaskDefinitionKey(), "PolicySolicitOpinionProcessKey10")) {
|
||||
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(), "PolicySolicitOpinionProcessKey7")
|
||||
|| StringUtils.equals(task.getTaskDefinitionKey(), "PolicySolicitOpinionProcessKey8")
|
||||
|| StringUtils.equals(task.getTaskDefinitionKey(), "PolicySolicitOpinionProcessKey9")
|
||||
|| StringUtils.equals(task.getTaskDefinitionKey(), "PolicySolicitOpinionProcessKey10")) {
|
||||
flag = true;
|
||||
}
|
||||
return flag;
|
||||
}).distinct().collect(Collectors.toList());
|
||||
if (taskList.size() != 0) {
|
||||
result.add(actiProcInstId);
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
package com.ydw.bat.wkflow.util.enums;
|
||||
|
||||
/**
|
||||
* 流程类型枚举类
|
||||
*/
|
||||
public enum FlowTypeEnum {
|
||||
ZCZQYJLC("29","政策征求意见流程"),;
|
||||
|
||||
private String value;
|
||||
private String lable;
|
||||
|
||||
private FlowTypeEnum(String value, String lable) {
|
||||
this.value = value;
|
||||
this.lable = lable;
|
||||
}
|
||||
public String getValue() {
|
||||
return value;
|
||||
}
|
||||
public String getLable() {
|
||||
return lable;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.ydw.bat.wkflow.business_main.datas.mapper.PolicySolicitOpinionEOMapper">
|
||||
|
||||
</mapper>
|
||||
Reference in New Issue
Block a user