fix(征求意见流程): 80293
This commit is contained in:
+58
-4
@@ -8,6 +8,7 @@ import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
|||||||
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
|
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
|
||||||
import com.jero.common.api.dto.message.SendMessageDTO;
|
import com.jero.common.api.dto.message.SendMessageDTO;
|
||||||
import com.jero.common.api.vo.SendMessageAPI;
|
import com.jero.common.api.vo.SendMessageAPI;
|
||||||
|
import com.jero.common.exception.JeroBootException;
|
||||||
import com.jero.common.system.vo.LoginUser;
|
import com.jero.common.system.vo.LoginUser;
|
||||||
import com.jero.common.util.SnowflakeUtils;
|
import com.jero.common.util.SnowflakeUtils;
|
||||||
import com.jero.modules.activiti.entity.ProcessAll;
|
import com.jero.modules.activiti.entity.ProcessAll;
|
||||||
@@ -19,6 +20,10 @@ import com.jero.modules.activiti.enums.ProcessStatusEnum;
|
|||||||
import com.jero.modules.activiti.process.common.entity.ProcessDraft;
|
import com.jero.modules.activiti.process.common.entity.ProcessDraft;
|
||||||
import com.jero.modules.activiti.process.common.enums.ProcessType;
|
import com.jero.modules.activiti.process.common.enums.ProcessType;
|
||||||
import com.jero.modules.activiti.process.common.service.ProcessDraftService;
|
import com.jero.modules.activiti.process.common.service.ProcessDraftService;
|
||||||
|
import com.jero.modules.activiti.process.esAbolish.entity.ProcessEsAbolish;
|
||||||
|
import com.jero.modules.activiti.process.esAbolish.service.ProcessEsAbolishService;
|
||||||
|
import com.jero.modules.activiti.process.esArchive.entity.ProcessEsArchive;
|
||||||
|
import com.jero.modules.activiti.process.esArchive.service.ProcessEsArchiveService;
|
||||||
import com.jero.modules.activiti.process.esinspectplan.common.EsInspectPlanCommon;
|
import com.jero.modules.activiti.process.esinspectplan.common.EsInspectPlanCommon;
|
||||||
import com.jero.modules.activiti.process.esinspectplan.entity.ProcessEsInspectPlan;
|
import com.jero.modules.activiti.process.esinspectplan.entity.ProcessEsInspectPlan;
|
||||||
import com.jero.modules.activiti.process.esinspectplan.entity.ProcessEsInspectPlanOpinion;
|
import com.jero.modules.activiti.process.esinspectplan.entity.ProcessEsInspectPlanOpinion;
|
||||||
@@ -74,6 +79,8 @@ public class EsInspectPlanFlowServiceImpl implements IEsInspectPlanFlowService {
|
|||||||
private final EnterpriseStandardInspectService enterpriseStandardInspectService;
|
private final EnterpriseStandardInspectService enterpriseStandardInspectService;
|
||||||
private final EnterpriseStandardInspectObjectService enterpriseStandardInspectObjectService;
|
private final EnterpriseStandardInspectObjectService enterpriseStandardInspectObjectService;
|
||||||
private final IProcessEsInspectPlanOpinionService processEsInspectPlanOpinionService;
|
private final IProcessEsInspectPlanOpinionService processEsInspectPlanOpinionService;
|
||||||
|
private final ProcessEsAbolishService processEsAbolishService;
|
||||||
|
private final ProcessEsArchiveService processEsArchiveService;
|
||||||
public EsInspectPlanFlowServiceImpl(ProcessAllService processAllService,
|
public EsInspectPlanFlowServiceImpl(ProcessAllService processAllService,
|
||||||
ProcessApprovalRecordService processApprovalRecordService,
|
ProcessApprovalRecordService processApprovalRecordService,
|
||||||
ProcessDraftService processDraftService,
|
ProcessDraftService processDraftService,
|
||||||
@@ -85,7 +92,9 @@ public class EsInspectPlanFlowServiceImpl implements IEsInspectPlanFlowService {
|
|||||||
SendMessageAPI sendMessageAPI,
|
SendMessageAPI sendMessageAPI,
|
||||||
EnterpriseStandardInspectService enterpriseStandardInspectService,
|
EnterpriseStandardInspectService enterpriseStandardInspectService,
|
||||||
EnterpriseStandardInspectObjectService enterpriseStandardInspectObjectService,
|
EnterpriseStandardInspectObjectService enterpriseStandardInspectObjectService,
|
||||||
IProcessEsInspectPlanOpinionService processEsInspectPlanOpinionService) {
|
IProcessEsInspectPlanOpinionService processEsInspectPlanOpinionService,
|
||||||
|
ProcessEsAbolishService processEsAbolishService,
|
||||||
|
ProcessEsArchiveService processEsArchiveService) {
|
||||||
this.processAllService = processAllService;
|
this.processAllService = processAllService;
|
||||||
this.processApprovalRecordService = processApprovalRecordService;
|
this.processApprovalRecordService = processApprovalRecordService;
|
||||||
this.processDraftService = processDraftService;
|
this.processDraftService = processDraftService;
|
||||||
@@ -98,6 +107,8 @@ public class EsInspectPlanFlowServiceImpl implements IEsInspectPlanFlowService {
|
|||||||
this.enterpriseStandardInspectService = enterpriseStandardInspectService;
|
this.enterpriseStandardInspectService = enterpriseStandardInspectService;
|
||||||
this.enterpriseStandardInspectObjectService = enterpriseStandardInspectObjectService;
|
this.enterpriseStandardInspectObjectService = enterpriseStandardInspectObjectService;
|
||||||
this.processEsInspectPlanOpinionService = processEsInspectPlanOpinionService;
|
this.processEsInspectPlanOpinionService = processEsInspectPlanOpinionService;
|
||||||
|
this.processEsAbolishService = processEsAbolishService;
|
||||||
|
this.processEsArchiveService = processEsArchiveService;
|
||||||
}
|
}
|
||||||
|
|
||||||
ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
|
ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
|
||||||
@@ -161,7 +172,7 @@ public class EsInspectPlanFlowServiceImpl implements IEsInspectPlanFlowService {
|
|||||||
private void handleBusinessData(EsInspectPlanFlowVO esInspectPlanFlowVO) {
|
private void handleBusinessData(EsInspectPlanFlowVO esInspectPlanFlowVO) {
|
||||||
List<ProcessEsInspectPlan> processEsInspectPlanList = esInspectPlanFlowVO.getProcessEsInspectPlanList();
|
List<ProcessEsInspectPlan> processEsInspectPlanList = esInspectPlanFlowVO.getProcessEsInspectPlanList();
|
||||||
// 删除数据
|
// 删除数据
|
||||||
if (StringUtils.isNotBlank(esInspectPlanFlowVO.getProcessAllDelIds())){
|
if (StringUtils.isNotBlank(esInspectPlanFlowVO.getProcessAllDelIds())) {
|
||||||
List<String> idList = Arrays.asList(esInspectPlanFlowVO.getProcessAllDelIds().split(","));
|
List<String> idList = Arrays.asList(esInspectPlanFlowVO.getProcessAllDelIds().split(","));
|
||||||
processEsInspectPlanService.removeByIds(idList);
|
processEsInspectPlanService.removeByIds(idList);
|
||||||
processEsInspectPlanOpinionService.removeByIds(idList);
|
processEsInspectPlanOpinionService.removeByIds(idList);
|
||||||
@@ -169,7 +180,10 @@ public class EsInspectPlanFlowServiceImpl implements IEsInspectPlanFlowService {
|
|||||||
ProcessAll processAll = esInspectPlanFlowVO.getProcessAll();
|
ProcessAll processAll = esInspectPlanFlowVO.getProcessAll();
|
||||||
String projectId = processAll.getProjectId();
|
String projectId = processAll.getProjectId();
|
||||||
|
|
||||||
List<ProcessEsInspectPlan> updateProcessEsInspectPlanList = processEsInspectPlanList.stream()
|
// 废止/封存判断
|
||||||
|
List<ProcessEsInspectPlan> updateProcessEsInspectPlanList = null;
|
||||||
|
checkout(updateProcessEsInspectPlanList);
|
||||||
|
updateProcessEsInspectPlanList = processEsInspectPlanList.stream()
|
||||||
.filter(v -> StringUtils.isNotBlank(v.getId()))
|
.filter(v -> StringUtils.isNotBlank(v.getId()))
|
||||||
.map(v -> {
|
.map(v -> {
|
||||||
v.setProjectId(projectId);
|
v.setProjectId(projectId);
|
||||||
@@ -191,7 +205,7 @@ public class EsInspectPlanFlowServiceImpl implements IEsInspectPlanFlowService {
|
|||||||
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||||
|
|
||||||
// 处理意见
|
// 处理意见
|
||||||
if (EsInspectPlanCommon.PROCESS_NODE_2.equals(processAll.getNodeId())){
|
if (EsInspectPlanCommon.PROCESS_NODE_2.equals(processAll.getNodeId())) {
|
||||||
ArrayList<ProcessEsInspectPlanOpinion> processEsInspectPlanOpinions = new ArrayList<>();
|
ArrayList<ProcessEsInspectPlanOpinion> processEsInspectPlanOpinions = new ArrayList<>();
|
||||||
for (ProcessEsInspectPlan processEsInspectPlan : processEsInspectPlanList) {
|
for (ProcessEsInspectPlan processEsInspectPlan : processEsInspectPlanList) {
|
||||||
if (!Objects.isNull(processEsInspectPlan.getProcessEsInspectPlanOpinion())) {
|
if (!Objects.isNull(processEsInspectPlan.getProcessEsInspectPlanOpinion())) {
|
||||||
@@ -206,6 +220,46 @@ public class EsInspectPlanFlowServiceImpl implements IEsInspectPlanFlowService {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void checkout(List<ProcessEsInspectPlan> processEsInspectPlanList){
|
||||||
|
List<String> errorList = new ArrayList<>();
|
||||||
|
for (ProcessEsInspectPlan processEsInspectPlan : processEsInspectPlanList) {
|
||||||
|
String inspectNo = processEsInspectPlan.getInspectNo();
|
||||||
|
// 企标废止
|
||||||
|
ProcessEsAbolish processEsAbolish = processEsAbolishService.getOne(
|
||||||
|
new LambdaQueryWrapper<ProcessEsAbolish>()
|
||||||
|
.eq(ProcessEsAbolish::getStandardNumber, inspectNo)
|
||||||
|
.orderByDesc(ProcessEsAbolish::getCreateTime)
|
||||||
|
.last("limit 1"), false);
|
||||||
|
if (!Objects.isNull(processEsAbolish)){
|
||||||
|
ProcessAll processAll = processAllService.getOne(
|
||||||
|
new LambdaQueryWrapper<ProcessAll>()
|
||||||
|
.eq(ProcessAll::getProcessInstanceId, processEsAbolish.getProcessInstanceId()));
|
||||||
|
if (!Objects.isNull(processEsAbolish)
|
||||||
|
&& ProcessStatusEnum.INCOMPLETE.getValue().equals(processAll.getPrcStatus())){
|
||||||
|
errorList.add(inspectNo);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 企标封存
|
||||||
|
ProcessEsArchive processEsArchive = processEsArchiveService.getOne(
|
||||||
|
new LambdaQueryWrapper<ProcessEsArchive>()
|
||||||
|
.eq(ProcessEsArchive::getStandardNumber, inspectNo)
|
||||||
|
.orderByDesc(ProcessEsArchive::getCreateTime)
|
||||||
|
.last("limit 1"), false);
|
||||||
|
if (!Objects.isNull(processEsArchive)){
|
||||||
|
ProcessAll processAll = processAllService.getOne(
|
||||||
|
new LambdaQueryWrapper<ProcessAll>()
|
||||||
|
.eq(ProcessAll::getProcessInstanceId, processEsArchive.getProcessInstanceId()));
|
||||||
|
if (!Objects.isNull(processAll)
|
||||||
|
&& ProcessStatusEnum.INCOMPLETE.getValue().equals(processAll.getPrcStatus())){
|
||||||
|
errorList.add(inspectNo);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (!errorList.isEmpty()){
|
||||||
|
throw new JeroBootException("企标编号为" + String.join(",", errorList) + "的数据已在企标废止/封存流程进行中,不可发起!");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void flowSave(EsInspectPlanFlowVO esInspectPlanFlowVO) {
|
public void flowSave(EsInspectPlanFlowVO esInspectPlanFlowVO) {
|
||||||
|
|||||||
+5
-1
@@ -755,7 +755,11 @@ public class ProcessFbStandardConsultationServiceImpl extends ServiceImpl<Proces
|
|||||||
.eq(ProcessFbStandardConsultation::getId, businessId)
|
.eq(ProcessFbStandardConsultation::getId, businessId)
|
||||||
.set(ProcessFbStandardConsultation::getConsultationEndDate, date)
|
.set(ProcessFbStandardConsultation::getConsultationEndDate, date)
|
||||||
.set(ProcessFbStandardConsultation::getUpdateTime, date));
|
.set(ProcessFbStandardConsultation::getUpdateTime, date));
|
||||||
|
// 删除超期待办
|
||||||
|
processApprovalRecordService.remove(
|
||||||
|
new LambdaQueryWrapper<ProcessApprovalRecord>()
|
||||||
|
.eq(ProcessApprovalRecord::getProcessInstanceId, processInstanceId)
|
||||||
|
.eq(ProcessApprovalRecord::getOverDue, YesOrNoEnum.YES.getValue()));
|
||||||
// 发送邮件
|
// 发送邮件
|
||||||
try {
|
try {
|
||||||
sendMessage(businessId);
|
sendMessage(businessId);
|
||||||
|
|||||||
@@ -2,7 +2,6 @@ package com.jero.modules.activiti.service;
|
|||||||
|
|
||||||
import cn.hutool.core.collection.CollStreamUtil;
|
import cn.hutool.core.collection.CollStreamUtil;
|
||||||
import cn.hutool.core.util.StrUtil;
|
import cn.hutool.core.util.StrUtil;
|
||||||
import com.alibaba.fastjson.JSON;
|
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||||
@@ -10,13 +9,11 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
|
|||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import com.jero.common.api.dto.message.SendMessageDTO;
|
import com.jero.common.api.dto.message.SendMessageDTO;
|
||||||
import com.jero.common.api.vo.Result;
|
|
||||||
import com.jero.common.api.vo.ResultCommon;
|
import com.jero.common.api.vo.ResultCommon;
|
||||||
import com.jero.common.api.vo.SendMessageAPI;
|
import com.jero.common.api.vo.SendMessageAPI;
|
||||||
import com.jero.common.constant.enums.YesOrNoEnum;
|
import com.jero.common.constant.enums.YesOrNoEnum;
|
||||||
import com.jero.common.exception.JeroBootException;
|
import com.jero.common.exception.JeroBootException;
|
||||||
import com.jero.common.system.vo.LoginUser;
|
import com.jero.common.system.vo.LoginUser;
|
||||||
import com.jero.modules.activiti.controller.WorkCenterController;
|
|
||||||
import com.jero.modules.activiti.entity.ProcessAll;
|
import com.jero.modules.activiti.entity.ProcessAll;
|
||||||
import com.jero.modules.activiti.entity.ProcessApprovalRecord;
|
import com.jero.modules.activiti.entity.ProcessApprovalRecord;
|
||||||
import com.jero.modules.activiti.enums.FinishFlagEnum;
|
import com.jero.modules.activiti.enums.FinishFlagEnum;
|
||||||
@@ -29,10 +26,8 @@ import com.jero.modules.activiti.process.common.service.ProcessDraftService;
|
|||||||
import com.jero.modules.activiti.process.esInitChange.entity.enums.ESPProjectStatus;
|
import com.jero.modules.activiti.process.esInitChange.entity.enums.ESPProjectStatus;
|
||||||
import com.jero.modules.activiti.process.esRevision.entity.ProcessEsRevision;
|
import com.jero.modules.activiti.process.esRevision.entity.ProcessEsRevision;
|
||||||
import com.jero.modules.activiti.process.esRevision.service.EsRevisionService;
|
import com.jero.modules.activiti.process.esRevision.service.EsRevisionService;
|
||||||
import com.jero.modules.activiti.util.SpringContextUtil;
|
|
||||||
import com.jero.modules.activiti.vo.DelegateTaskParam;
|
import com.jero.modules.activiti.vo.DelegateTaskParam;
|
||||||
import com.jero.modules.activiti.vo.ResolveTaskParam;
|
import com.jero.modules.activiti.vo.ResolveTaskParam;
|
||||||
import com.jero.modules.laws.common.constant.FieldCommon;
|
|
||||||
import com.jero.modules.laws.common.constant.MessageTemplateCodeCommon;
|
import com.jero.modules.laws.common.constant.MessageTemplateCodeCommon;
|
||||||
import com.jero.modules.laws.common.util.CurrentUserUtil;
|
import com.jero.modules.laws.common.util.CurrentUserUtil;
|
||||||
import com.jero.modules.laws.enterprise.entity.EnterpriseStandardPlan;
|
import com.jero.modules.laws.enterprise.entity.EnterpriseStandardPlan;
|
||||||
@@ -42,7 +37,6 @@ import org.activiti.engine.HistoryService;
|
|||||||
import org.activiti.engine.RuntimeService;
|
import org.activiti.engine.RuntimeService;
|
||||||
import org.activiti.engine.TaskService;
|
import org.activiti.engine.TaskService;
|
||||||
import org.activiti.engine.task.Task;
|
import org.activiti.engine.task.Task;
|
||||||
import org.apache.commons.collections4.CollectionUtils;
|
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import org.apache.shiro.SecurityUtils;
|
import org.apache.shiro.SecurityUtils;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
@@ -114,6 +108,7 @@ public class ProcessAllService extends ServiceImpl<ProcessAllMapper, ProcessAll>
|
|||||||
wrapper.select("process_instance_id","group_concat(user_id) as user_id");
|
wrapper.select("process_instance_id","group_concat(user_id) as user_id");
|
||||||
wrapper.lambda().in(ProcessApprovalRecord::getProcessInstanceId,collect)
|
wrapper.lambda().in(ProcessApprovalRecord::getProcessInstanceId,collect)
|
||||||
.eq(ProcessApprovalRecord::getFinishFlag,FinishFlagEnum.INCOMPLETE.getValue())
|
.eq(ProcessApprovalRecord::getFinishFlag,FinishFlagEnum.INCOMPLETE.getValue())
|
||||||
|
.eq(ProcessApprovalRecord::getOverDue, YesOrNoEnum.NO.getValue())
|
||||||
.groupBy(ProcessApprovalRecord::getProcessInstanceId);
|
.groupBy(ProcessApprovalRecord::getProcessInstanceId);
|
||||||
List<ProcessApprovalRecord> approvalRecordList = approvalRecordService.list(wrapper);
|
List<ProcessApprovalRecord> approvalRecordList = approvalRecordService.list(wrapper);
|
||||||
Map<String, String> userMap = CollStreamUtil.toMap(approvalRecordList, ProcessApprovalRecord::getProcessInstanceId, ProcessApprovalRecord::getUserId);
|
Map<String, String> userMap = CollStreamUtil.toMap(approvalRecordList, ProcessApprovalRecord::getProcessInstanceId, ProcessApprovalRecord::getUserId);
|
||||||
|
|||||||
+2
@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
import com.jero.common.constant.enums.YesOrNoEnum;
|
||||||
import com.jero.common.system.api.ISysBaseAPI;
|
import com.jero.common.system.api.ISysBaseAPI;
|
||||||
import com.jero.modules.activiti.entity.ProcessAll;
|
import com.jero.modules.activiti.entity.ProcessAll;
|
||||||
import com.jero.modules.activiti.entity.ProcessApprovalRecord;
|
import com.jero.modules.activiti.entity.ProcessApprovalRecord;
|
||||||
@@ -47,6 +48,7 @@ public class ProcessApprovalRecordService extends ServiceImpl<ProcessApprovalRec
|
|||||||
if (StringUtils.isNotBlank(processApprovalRecord.getFinishFlagSearch())){
|
if (StringUtils.isNotBlank(processApprovalRecord.getFinishFlagSearch())){
|
||||||
wrapper.in("finish_flag", Arrays.asList(processApprovalRecord.getFinishFlagSearch().split(",")));
|
wrapper.in("finish_flag", Arrays.asList(processApprovalRecord.getFinishFlagSearch().split(",")));
|
||||||
}
|
}
|
||||||
|
wrapper.eq("over_due", YesOrNoEnum.NO.getValue());
|
||||||
wrapper.eq("process_instance_id", processApprovalRecord.getProcessInstanceId());
|
wrapper.eq("process_instance_id", processApprovalRecord.getProcessInstanceId());
|
||||||
wrapper.last("ORDER BY IF(ISNULL(create_time), 1, 0) DESC ,create_time DESC, end_time DESC");
|
wrapper.last("ORDER BY IF(ISNULL(create_time), 1, 0) DESC ,create_time DESC, end_time DESC");
|
||||||
Page<ProcessApprovalRecord> pageList = this.page(page, wrapper);
|
Page<ProcessApprovalRecord> pageList = this.page(page, wrapper);
|
||||||
|
|||||||
Reference in New Issue
Block a user