fix(征求意见流程): 80298

This commit is contained in:
yjz
2024-01-31 19:37:02 +08:00
parent 0fc7ac867a
commit eca62ed803
19 changed files with 278 additions and 42 deletions
@@ -24,6 +24,8 @@ public class ResultCommon {
public static final String SUCCESSFULLY_DELETED_IN_BULK = "successfully.deleted.in.bulk";
/**未找到对应数据*/
public static final String NO_CORRESPONDING_DATA_FOUND = "no.corresponding.data.found";
/**已过期*/
public static final String OVER_DUE = "over.due";
/**参数不识别*/
public static final String PARAMETER_NOT_RECOGNIZED = "parameter.not.recognized";
@@ -193,4 +193,10 @@ public class ProcessApprovalRecord {
@TableField(exist = false)
@ApiModelProperty(value = "完成注记 搜索用")
private String finishFlagSearch;
/**
* 超期标识(0:未超期 1:已超期)
*/
@ApiModelProperty(value = "超期标识(0:未超期 1:已超期)")
private String overDue;
}
@@ -188,9 +188,13 @@ public class MyGlobalEventListener implements ActivitiEventListener {
date.setTime(createTime.getTime() + 1000);
}
DateBetween between = date.between(createTime);
approvalRecord.setFinishFlag(FinishFlagEnum.COMPLETE.getValue());
approvalRecord.setEndTime(date);
approvalRecord.setOverTime(between.toString());
// 征求意见流程 超期待办特殊处理
if (YesOrNoEnum.NO.getValue().equals(approvalRecord.getOverDue())){
approvalRecord.setFinishFlag(FinishFlagEnum.COMPLETE.getValue());
approvalRecord.setEndTime(date);
approvalRecord.setOverTime(between.toString());
}
Map<String, Object> variables = delegateTask.getVariables();
// 第一个节点不需要设置commitFlag 非审批节点也不需要设置commitFlag
@@ -11,7 +11,7 @@
</if>
</sql>
<select id="getTodoList" resultType="com.jero.modules.activiti.entity.ProcessAll">
select pa.*,par.create_time as receivedTaskTime,par.task_id,par.task_name, par.node_id
select pa.*,par.create_time as receivedTaskTime,par.task_id,par.task_name, par.node_id, par.over_due
from process_all pa
left join process_approval_record par on pa.process_instance_id = par.process_instance_id
${ew.customSqlSegment}
@@ -219,10 +219,11 @@ public class EsInspectRectifyFlowServiceImpl implements IEsInspectRectifyFlowSer
Map<String, Object> map = esInspectReportFlowVO.getMap();
map.put("responsible_dictText", sysUserService.dictByIdsOrUserNames(String.valueOf(map.get("responsible")), ""));
ProcessEsInspectRectify processEsInspectRectify = esInspectReportFlowVO.getProcessEsInspectRectify();
ProcessEsInspectRectifyVO processEsInspectRectifyVO = processEsInspectRectifyService.queryByProjectId(processEsInspectRectify.getProjectId());
JSONObject jsonObject = new JSONObject();
jsonObject.put("revocation", true);
jsonObject.put("personInfo", map);
jsonObject.put("draftData", processEsInspectRectify);
jsonObject.put("draftData", processEsInspectRectifyVO);
processDraft.setInfoJsonStr(jsonObject.toJSONString());
processDraftService.save(processDraft);
}
@@ -17,6 +17,7 @@ public class FbCommon {
public static final String VARIABLE_DESIGN_ENGINEER_LIST = "designEngineerList"; // 设计工程师
public static final String VARIABLE_DESIGN_ENGINEER_ID = "designEngineerId"; // 设计工程师
public static final String VARIABLE_PASS_FIRST = "passFirst"; // 主管级领导是否分发
public static final String OVER_DUE = "overDue"; // 模块负责人分发超期
public static final String VARIABLE_PASS_SECOND = "passSecond"; // 主管级领导审批是否通过
public static final String VARIABLE_PASS_THIRD = "passThird"; // 法规工程师审批是否通过
public static final String VARIABLE_PASS_FOURTH = "passFourth"; // 驳回流程是否分发
@@ -1,5 +1,27 @@
package com.jero.modules.activiti.process.fb.job;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.jero.common.constant.enums.YesOrNoEnum;
import com.jero.modules.activiti.entity.ProcessApprovalRecord;
import com.jero.modules.activiti.process.fb.common.ConsultationTaskKey;
import com.jero.modules.activiti.process.fb.common.FbCommon;
import com.jero.modules.activiti.process.fb.service.IProcessFbStandardConsultationService;
import com.jero.modules.activiti.process.fb.vo.NodeDispose;
import com.jero.modules.activiti.service.ProcessApprovalRecordService;
import lombok.extern.slf4j.Slf4j;
import org.activiti.engine.RuntimeService;
import org.activiti.engine.TaskService;
import org.apache.commons.collections4.CollectionUtils;
import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.List;
import java.util.stream.Collectors;
/**
* @ClassName: DesignEngineerOverDueJob3
* @Description:
@@ -7,5 +29,64 @@ package com.jero.modules.activiti.process.fb.job;
* @Date: 2024-01-31 10:59
* @Version: 1.0
**/
public class DepartLeaderStartOverDueJob {
@Slf4j
@Transactional(rollbackFor = RuntimeException.class)
public class DepartLeaderStartOverDueJob implements Job {
@Resource
private IProcessFbStandardConsultationService processFbStandardConsultationService;
@Resource
private ProcessApprovalRecordService processApprovalRecordService;
@Resource
private TaskService taskService;
@Resource
private RuntimeService runtimeService;
/**
* 征求意见流程-超过征求意见结束日期,各部所主管级领导未分发时
* @param jobExecutionContext
* @throws JobExecutionException
*/
@Override
public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
log.info("征求意见流程-超过征求意见结束日期,各部所主管级领导 部分/全部 未分发时任务开始");
long num = 0L;
// 查询超过征求意见结束日期的各部所主管级领导未分发节点情况
List<NodeDispose> nodeDisposeCount =
processFbStandardConsultationService.findNodeDisposeCount(ConsultationTaskKey.DEPART_LEADER_START_1);
if (CollectionUtils.isNotEmpty(nodeDisposeCount)){
List<String> processInstanceIdList = nodeDisposeCount.stream()
.map(NodeDispose::getProcessInstanceId)
.collect(Collectors.toList());
// 未完成审批数据
List<ProcessApprovalRecord> processApprovalRecordList = processApprovalRecordService.list(
new LambdaQueryWrapper<ProcessApprovalRecord>()
.in(ProcessApprovalRecord::getProcessInstanceId, processInstanceIdList)
.eq(ProcessApprovalRecord::getNodeId, ConsultationTaskKey.DEPART_LEADER_START_1)
.eq(ProcessApprovalRecord::getOverDue, YesOrNoEnum.NO.getValue())
.isNull(ProcessApprovalRecord::getEndTime));
for (ProcessApprovalRecord processApprovalRecord : processApprovalRecordList) {
num += 1;
// 设置网关条件
runtimeService.setVariableLocal(processApprovalRecord.getProcessInstanceId(),
FbCommon.VARIABLE_PASS_FIRST, "overDue");
// 完成任务
taskService.complete(processApprovalRecord.getTaskId());
}
// 更新超期标识
if (!processApprovalRecordList.isEmpty()){
List<String> idList = processApprovalRecordList.stream()
.map(ProcessApprovalRecord::getId).collect(Collectors.toList());
processApprovalRecordService.update(
new LambdaUpdateWrapper<ProcessApprovalRecord>()
.in(ProcessApprovalRecord::getId, idList)
.eq(ProcessApprovalRecord::getOverDue, YesOrNoEnum.NO.getValue())
.set(ProcessApprovalRecord::getOverDue, YesOrNoEnum.YES.getValue()));
}
}
log.info("征求意见流程-超过征求意见结束日期,各部所主管级领导 部分/全部 未分发时任务结束");
log.info("征求意见流程-超过征求意见结束日期, 任务数量{}", num);
}
}
@@ -1,11 +1,11 @@
package com.jero.modules.activiti.process.fb.job;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.jero.common.constant.enums.YesOrNoEnum;
import com.jero.modules.activiti.entity.ProcessApprovalRecord;
import com.jero.modules.activiti.process.fb.common.ConsultationTaskKey;
import com.jero.modules.activiti.process.fb.common.FbCommon;
import com.jero.modules.activiti.process.fb.service.IProcessFbConsultationListService;
import com.jero.modules.activiti.process.fb.service.IProcessFbConsultationUserLinkService;
import com.jero.modules.activiti.process.fb.service.IProcessFbStandardConsultationService;
import com.jero.modules.activiti.process.fb.vo.NodeDispose;
import com.jero.modules.activiti.service.ProcessApprovalRecordService;
@@ -19,9 +19,7 @@ import org.quartz.JobExecutionException;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
@@ -37,10 +35,6 @@ public class ModuleOwnerStartOverDueJob implements Job {
@Resource
private IProcessFbStandardConsultationService processFbStandardConsultationService;
@Resource
private IProcessFbConsultationUserLinkService processFbConsultationUserLinkService;
@Resource
private IProcessFbConsultationListService processFbConsultationListService;
@Resource
private ProcessApprovalRecordService processApprovalRecordService;
@Resource
private TaskService taskService;
@@ -48,46 +42,62 @@ public class ModuleOwnerStartOverDueJob implements Job {
private RuntimeService runtimeService;
/**
* 征求意见流程-超过征求意见结束日期,模块负责人部分未分发时
* 征求意见流程-超过征求意见结束日期,模块负责人未分发时
* @param jobExecutionContext
* @throws JobExecutionException
*/
@Override
public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
log.info("征求意见流程-超过征求意见结束日期,模块负责人 部分/全部 未分发时任务开始");
long num = 0L;
// 查询超过征求意见结束日期的模块负责人分发节点情况
List<NodeDispose> nodeDisposeCount =
processFbStandardConsultationService.findNodeDisposeCount(ConsultationTaskKey.MODULE_OWNER_START);
if (CollectionUtils.isNotEmpty(nodeDisposeCount)){
// 部分未完成
List<NodeDispose> sectorUnFinishedList = nodeDisposeCount.stream()
.filter(v -> !v.getUnFinished().equals(v.getCount()))
.collect(Collectors.toList());
// 全部未完成
List<NodeDispose> allUnFinishedList = nodeDisposeCount.stream()
.filter(v -> v.getUnFinished().equals(v.getCount()))
.collect(Collectors.toList());
List<String> processInstanceIdList = sectorUnFinishedList.stream()
/**
* // 部分未完成
* List<NodeDispose> sectorUnFinishedList = nodeDisposeCount.stream()
* .filter(v -> !v.getUnFinished().equals(v.getCount()))
* .collect(Collectors.toList());
*
* // 全部未完成
* List<NodeDispose> allUnFinishedList = nodeDisposeCount.stream()
* .filter(v -> v.getUnFinished().equals(v.getCount()))
* .collect(Collectors.toList());
*/
List<String> processInstanceIdList = nodeDisposeCount.stream()
.map(NodeDispose::getProcessInstanceId)
.collect(Collectors.toList());
// 部分未完成审批数据
// 未完成审批数据
List<ProcessApprovalRecord> processApprovalRecordList = processApprovalRecordService.list(
new LambdaQueryWrapper<ProcessApprovalRecord>()
.in(ProcessApprovalRecord::getProcessInstanceId, processInstanceIdList)
.eq(ProcessApprovalRecord::getNodeId, ConsultationTaskKey.MODULE_OWNER_START)
.eq(ProcessApprovalRecord::getOverDue, YesOrNoEnum.NO.getValue())
.isNull(ProcessApprovalRecord::getEndTime));
for (ProcessApprovalRecord processApprovalRecord : processApprovalRecordList) {
num += 1;
// 设置网关条件
Map<String, Object> map = new HashMap<>();
map.put(FbCommon.VARIABLE_PASS_FIRST, "overDue");
runtimeService.setVariablesLocal(processApprovalRecord.getProcessInstanceId(), map);
runtimeService.setVariableLocal(processApprovalRecord.getProcessInstanceId(),
FbCommon.OVER_DUE, true);
// 完成任务
taskService.complete(processApprovalRecord.getTaskId());
}
// 更新超期标识
if (!processApprovalRecordList.isEmpty()){
List<String> idList = processApprovalRecordList.stream()
.map(ProcessApprovalRecord::getId).collect(Collectors.toList());
processApprovalRecordService.update(
new LambdaUpdateWrapper<ProcessApprovalRecord>()
.in(ProcessApprovalRecord::getId, idList)
.eq(ProcessApprovalRecord::getOverDue, YesOrNoEnum.NO.getValue())
.set(ProcessApprovalRecord::getOverDue, YesOrNoEnum.YES.getValue()));
}
}
log.info("征求意见流程-超过征求意见结束日期,模块负责人 部分/全部 未分发时任务结束");
log.info("征求意见流程-超过征求意见结束日期, 任务数量{}", num);
}
}
@@ -47,7 +47,13 @@ public class TaskListenerService {
LambdaQueryWrapper<ProcessFbConsultationUserLink> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(ProcessFbConsultationUserLink::getBusinessId, processAll.getProjectId());
String userId = CurrentUserUtil.getId();
String userId = "";
try {
userId = CurrentUserUtil.getId();
}catch (Exception e){
return;
}
ProcessFbConsultationUserLink userLink;
switch (taskDefinitionKey) {
case ConsultationTaskKey.MODULE_OWNER_START: // 模块负责人分发
@@ -17,8 +17,8 @@ public interface ProcessFbStandardConsultationMapper extends BaseMapper<ProcessF
/**
* 已超期节点任务处理数量查询
* @param nodeId
* @param nodeIds
* @return
*/
List<NodeDispose> findNodeDisposeCount(@Param("nodeId") String nodeId);
List<NodeDispose> findNodeDisposeCount(@Param("nodeIds") String nodeIds);
}
@@ -25,7 +25,10 @@
FROM process_approval_record par
LEFT JOIN process_all pa ON par.process_instance_id = pa.process_instance_id
LEFT JOIN process_fb_standard_consultation pfsc ON pa.project_id = pfsc.id
WHERE node_id = #{nodeId}
WHERE node_id IN
<foreach collection="nodeIds.split(',')" item="item" separator="," open="(" close=")">
#{item}
</foreach>
AND pfsc.consultation_due_date &lt; DATE_FORMAT(NOW(), '%Y-%m-%d')
GROUP BY par.process_instance_id) t
where finished &lt;&gt; count
@@ -72,4 +72,16 @@ public interface IProcessFbStandardConsultationService extends IService<ProcessF
* @return
*/
List<NodeDispose> findNodeDisposeCount(String nodeId);
/**
* 超期判断
* @param taskId
*/
void isOverDue(String taskId);
/**
* 修改标准状态为发布或报批后,征求意见流程的超期待办,流程结束,不进入已办中
* @param id
*/
void endOverDueBackLog(String id);
}
@@ -48,6 +48,12 @@ public interface IProcessHandleService {
**/
void isMyTask(String taskId);
/**
* 超期判断
* @param taskId
*/
void isOverDue(String taskId);
/**
* @Author: liao
* @Date: 2023/11/6 14:22
@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.jero.common.api.dto.message.SendMessageDTO;
import com.jero.common.api.vo.ResultCommon;
import com.jero.common.api.vo.SendMessageAPI;
import com.jero.common.constant.enums.YesOrNoEnum;
import com.jero.common.exception.JeroBootException;
import com.jero.common.util.SnowflakeUtils;
import com.jero.common.util.UUIDUtils;
@@ -14,6 +15,7 @@ import com.jero.modules.activiti.entity.ProcessApprovalRecord;
import com.jero.modules.activiti.entity.ProcessNode;
import com.jero.modules.activiti.entity.ProcessNodeLink;
import com.jero.modules.activiti.enums.CommitFlagEnum;
import com.jero.modules.activiti.enums.ProcessStatusEnum;
import com.jero.modules.activiti.enums.ProcessTypeEnum;
import com.jero.modules.activiti.process.common.service.ProcessDraftService;
import com.jero.modules.activiti.process.fb.common.ConsultationNodeSort;
@@ -31,10 +33,7 @@ import com.jero.modules.activiti.process.fb.service.*;
import com.jero.modules.activiti.process.fb.vo.NodeDispose;
import com.jero.modules.activiti.process.fb.vo.ProcessFbStandardConsultationVO;
import com.jero.modules.activiti.process.fb.vo.ProcessInfoVO;
import com.jero.modules.activiti.service.ProcessApprovalRecordService;
import com.jero.modules.activiti.service.ProcessNodeLinkService;
import com.jero.modules.activiti.service.ProcessNodeService;
import com.jero.modules.activiti.service.WorkCenterService;
import com.jero.modules.activiti.service.*;
import com.jero.modules.activiti.util.SpringContextUtil;
import com.jero.modules.laws.common.constant.MessageTemplateCodeCommon;
import com.jero.modules.laws.common.util.CurrentUserUtil;
@@ -94,6 +93,8 @@ public class ProcessFbStandardConsultationServiceImpl extends ServiceImpl<Proces
@Resource
private ProcessFbStandardConsultationMapper processFbStandardConsultationMapper;
@Resource
private ProcessAllService processAllService;
public static final String EXCEPTION = "目前还未开发,请联系管理员";
@@ -161,6 +162,7 @@ public class ProcessFbStandardConsultationServiceImpl extends ServiceImpl<Proces
BasicTaskInfoDTO taskInfo = processInfoVO.getBasicTaskInfoDTO(); // 任务信息
String taskId = taskInfo.getTaskId();
isOverDue(taskId);
Task task = taskService.createTaskQuery().taskId(taskId).singleResult();
processHandleService.isMyTask(taskId); // 判断是否拥有任务处理权
@@ -288,6 +290,7 @@ public class ProcessFbStandardConsultationServiceImpl extends ServiceImpl<Proces
BasicTaskInfoDTO taskInfoDTO = processInfoVO.getBasicTaskInfoDTO();
String taskId = taskInfoDTO.getTaskId();
isOverDue(taskId);
ProcessFbStandardConsultation processFbStandardConsultation = businessInfoDTO.getProcessFbStandardConsultation();
@@ -335,6 +338,7 @@ public class ProcessFbStandardConsultationServiceImpl extends ServiceImpl<Proces
**/
@Override
public void transfer(String taskId, String toUserId, String projectId) {
isOverDue(taskId);
processHandleService.transfer(taskId, toUserId);
Task task = taskService.createTaskQuery().taskId(taskId).singleResult();
@@ -573,8 +577,66 @@ public class ProcessFbStandardConsultationServiceImpl extends ServiceImpl<Proces
}
@Override
public List<NodeDispose> findNodeDisposeCount(String nodeId) {
return processFbStandardConsultationMapper.findNodeDisposeCount(nodeId);
public List<NodeDispose> findNodeDisposeCount(String nodeIds) {
return processFbStandardConsultationMapper.findNodeDisposeCount(nodeIds);
}
@Override
public void isOverDue(String taskId) {
// 判断是否超期数据
ProcessApprovalRecord processApprovalRecord = processApprovalRecordService.getOne(
new LambdaQueryWrapper<ProcessApprovalRecord>()
.eq(ProcessApprovalRecord::getTaskId, taskId), false);
if (!Objects.isNull(processApprovalRecord)
&& YesOrNoEnum.YES.getValue().equals(processApprovalRecord.getOverDue())){
throw new JeroBootException(ResultCommon.OVER_DUE);
}
}
@Override
public void endOverDueBackLog(String id) {
// 未结束的流程
List<ProcessFbStandardConsultation> list = list(new LambdaQueryWrapper<ProcessFbStandardConsultation>()
.eq(ProcessFbStandardConsultation::getStandardId, id)
.isNull(ProcessFbStandardConsultation::getConsultationEndDate));
if (!list.isEmpty()){
// 超期节点
List<String> nodeIdList = Arrays.asList(ConsultationTaskKey.DEPART_LEADER_START_1, ConsultationTaskKey.MODULE_OWNER_START);
List<NodeDispose> nodeDisposeCount = findNodeDisposeCount(String.join(",", nodeIdList));
// 全部未完成
List<NodeDispose> allUnFinishedList = nodeDisposeCount.stream()
.filter(v -> v.getUnFinished().equals(v.getCount())).collect(Collectors.toList());
List<String> processInstanceId = allUnFinishedList.stream()
.map(NodeDispose::getProcessInstanceId).collect(Collectors.toList());
// 查询含有超期的待办
List<String> idList = list.stream().map(ProcessFbStandardConsultation::getId).collect(Collectors.toList());
List<ProcessApprovalRecord> processApprovalRecords = processApprovalRecordService.list(
new LambdaQueryWrapper<ProcessApprovalRecord>()
.in(ProcessApprovalRecord::getProjectId, idList)
.in(ProcessApprovalRecord::getProcessInstanceId , processInstanceId)
.eq(ProcessApprovalRecord::getOverDue, YesOrNoEnum.YES.getValue()));
// 结束流程
for (ProcessApprovalRecord processApprovalRecord : processApprovalRecords) {
runtimeService.deleteProcessInstance(processApprovalRecord.getProcessInstanceId(),"结束流程");
//更新流程总表状态
processAllService.update(new LambdaUpdateWrapper<ProcessAll>()
.eq(ProcessAll::getProjectId, processApprovalRecord.getProjectId())
.set(ProcessAll::getPrcStatus, ProcessStatusEnum.COMPLETED.getValue()));
}
if (!processApprovalRecords.isEmpty()){
List<String> processApprovalRecordIdList = processApprovalRecords.stream().map(ProcessApprovalRecord::getId).collect(Collectors.toList());
//清除超期标识
processApprovalRecordService.update(
new LambdaUpdateWrapper<ProcessApprovalRecord>()
.in(ProcessApprovalRecord::getId, processApprovalRecordIdList)
.eq(ProcessApprovalRecord::getOverDue, YesOrNoEnum.YES.getValue())
.set(ProcessApprovalRecord::getOverDue, YesOrNoEnum.NO.getValue()));
}
}
}
/**
@@ -591,6 +653,7 @@ public class ProcessFbStandardConsultationServiceImpl extends ServiceImpl<Proces
processInfoVO.setBusinessId(businessBasicInfo.getId());
String taskId = taskInfo.getTaskId();
isOverDue(taskId);
processHandleService.isMyTask(taskId);
Task task = taskService.createTaskQuery().taskId(taskId).singleResult();
@@ -662,12 +725,18 @@ public class ProcessFbStandardConsultationServiceImpl extends ServiceImpl<Proces
.set(ProcessFbStandardConsultation::getUpdateTime, date));
// 发送邮件
try {
sendMessage(businessId);
} catch (Exception e) {
log.error("邮件发送失败!" + e.getMessage());
}
// 清除超期待办
processApprovalRecordService.update(
new LambdaUpdateWrapper<ProcessApprovalRecord>()
.eq(ProcessApprovalRecord::getProcessInstanceId, processInstanceId)
.eq(ProcessApprovalRecord::getOverDue, YesOrNoEnum.YES.getValue())
.set(ProcessApprovalRecord::getOverDue, YesOrNoEnum.NO.getValue()));
} else {
List<Task> taskList = taskService.createTaskQuery().processInstanceId(processInstanceId).list();
log.info("还剩 {} 个任务待完成", taskList.size());
@@ -753,6 +822,7 @@ public class ProcessFbStandardConsultationServiceImpl extends ServiceImpl<Proces
List<String> ids = userLinkList.stream().map(ProcessFbConsultationUserLink::getId).collect(Collectors.toList());
String processInstanceId = task.getProcessInstanceId();
runtimeService.setVariableLocal(processInstanceId, FbCommon.OVER_DUE, false);
runtimeService.setVariableLocal(processInstanceId, FbCommon.VARIABLE_DESIGN_ENGINEER_LIST, ids);
saveNodeUserLink(processInstanceId, ConsultationNodeSort.DESIGN_ENGINEER_LIST, designEngineerIdList, taskDefinitionKey);
@@ -3,6 +3,7 @@ package com.jero.modules.activiti.process.fb.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.jero.common.api.vo.ResultCommon;
import com.jero.common.constant.enums.YesOrNoEnum;
import com.jero.common.exception.JeroBootException;
import com.jero.modules.activiti.entity.ProcessAll;
import com.jero.modules.activiti.entity.ProcessApprovalRecord;
@@ -291,6 +292,18 @@ public class ProcessHandleServiceImpl implements IProcessHandleService {
//}
}
@Override
public void isOverDue(String taskId) {
// 判断是否超期数据
ProcessApprovalRecord processApprovalRecord = processApprovalRecordService.getOne(
new LambdaQueryWrapper<ProcessApprovalRecord>()
.eq(ProcessApprovalRecord::getTaskId, taskId), false);
if (!Objects.isNull(processApprovalRecord)
&& YesOrNoEnum.YES.getValue().equals(processApprovalRecord.getOverDue())){
throw new JeroBootException(ResultCommon.OVER_DUE);
}
}
/**
* @Author: liao
* @Date: 2023/11/6 14:23
@@ -553,6 +566,7 @@ public class ProcessHandleServiceImpl implements IProcessHandleService {
throw new JeroBootException(ResultCommon.NO_PERMISSION);
}
if (StringUtils.isNotBlank(taskId)) {
isOverDue(taskId);
isMyTask(taskId);
}
@@ -9,14 +9,15 @@ import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.IdWorker;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.jero.common.api.vo.ResultCommon;
import com.jero.common.constant.enums.LanguageEnum;
import com.jero.common.constant.enums.YesOrNoEnum;
import com.jero.common.exception.JeroBootException;
import com.jero.common.system.vo.LoginUser;
import com.jero.common.util.MessageUtils;
import com.jero.common.util.MinioUtil;
import com.jero.modules.activiti.process.fb.service.IProcessFbStandardConsultationService;
import com.jero.modules.laws.common.constant.FieldCommon;
import com.jero.common.api.vo.ResultCommon;
import com.jero.modules.laws.common.mapper.LawsCommonMapper;
import com.jero.modules.laws.common.service.ILawsCommonService;
import com.jero.modules.laws.common.util.ImportUtil;
@@ -163,6 +164,9 @@ public class LawsCommonServiceImpl implements ILawsCommonService {
@Resource
private ILawsEnterpriseStandardService esService;
@Resource
private IProcessFbStandardConsultationService processFbStandardConsultationService;
/**
* @Author: liao
* @Date: 2023/8/23 16:57
@@ -772,6 +776,19 @@ public class LawsCommonServiceImpl implements ILawsCommonService {
if (StringUtils.isBlank(standardSystem)) {
throw new JeroBootException(ResultCommon.EMPTY_COMMON, FieldCommon.STANDARD_SYSTEM);
}
// 标准状态
String standardState = (String) parameterMap.get(FieldCommon.STANDARD_STATE);
// 报批 或 发布
if (standardState.contains("3") || standardState.contains("4")){
// 修改标准状态为发布或报批后,征求意见流程的超期待办,流程结束,不进入已办中
try {
processFbStandardConsultationService.endOverDueBackLog(String.valueOf(parameterMap.get("id")));
}catch (Exception e){
log.error(e.getMessage());
}
}
// 获取操作模块
String module = parameterMap.get(FieldCommon.MODULE).toString();
parameterMap.remove(FieldCommon.MODULE);
@@ -21,6 +21,7 @@ successfully.deleted.in.bulk=successfully deleted in bulk
cannot.duplicate.favorites=cannot duplicate favorites
please.select.data=please select data
no.corresponding.data.found=no corresponding data found
over.due=The operation has expired and cannot continue
the.toplevel.group.cannot.be.deleted=the toplevel group cannot be deleted
please.select.personnel.and.workgroup=please select personnel and workgroup
work.no.already.exists=work no already exists
@@ -22,6 +22,7 @@ successfully.deleted.in.bulk=successfully deleted in bulk
cannot.duplicate.favorites=cannot duplicate favorites
please.select.data=please select data
no.corresponding.data.found=no corresponding data found
over.due=The operation has expired and cannot continue
the.toplevel.group.cannot.be.deleted=the toplevel group cannot be deleted
please.select.personnel.and.workgroup=please select personnel and workgroup
work.no.already.exists=work no already exists
@@ -21,6 +21,7 @@ successfully.deleted.in.bulk=\u6279\u91CF\u5220\u9664\u6210\u529F
cannot.duplicate.favorites=\u4E0D\u80FD\u91CD\u590D\u6536\u85CF
please.select.data=\u8BF7\u9009\u62E9\u6570\u636E
no.corresponding.data.found=\u672A\u627E\u5230\u5BF9\u5E94\u6570\u636E
over.due=\u5DF2\u8FC7\u671F\u4E0D\u80FD\u518D\u7EE7\u7EED\u64CD\u4F5C
the.toplevel.group.cannot.be.deleted=\u6700\u9AD8\u7EA7\u7EC4\u522B\u4E0D\u80FD\u5220\u9664
please.select.personnel.and.workgroup=\u8BF7\u9009\u62E9\u4EBA\u5458\u548C\u5DE5\u4F5C\u7EC4
work.no.already.exists=\u5DE5\u53F7\u5DF2\u5B58\u5728