fix(法规采购流程): ;临时提交

This commit is contained in:
yjz
2024-01-10 20:21:01 +08:00
parent 44b11b0182
commit ed8c717125
3 changed files with 96 additions and 7 deletions
@@ -323,6 +323,7 @@ public class ProcessFbEntryChangeServiceImpl extends ServiceImpl<ProcessFbEntryC
businessInfoDTO.setOperateType((String) businessMap.get("operateType"));
if (StringUtils.isBlank(businessInfoDTO.getId())) { // 如果是发起时保存
businessInfoDTO.setId(UUIDUtils.randomUUID20());
processInfoVO.getBasicProcessInfoDTO().setProcessName(getProcessNameByBusinessId(processInfoVO.getBusinessId()));
save(businessInfoDTO);
} else { // 如果是审批时保存
businessInfoDTO.setBusinessJson(JSON.toJSONString(businessInfoDTO.getBusinessMap()));
@@ -4,11 +4,14 @@ 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.util.UUIDUtils;
import com.jero.modules.activiti.entity.ProcessAll;
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.ProcessTypeEnum;
import com.jero.modules.activiti.process.common.entity.ProcessDraft;
import com.jero.modules.activiti.process.common.service.ProcessDraftService;
import com.jero.modules.activiti.process.fb.common.FbCommon;
import com.jero.modules.activiti.process.fb.common.ConsultationNodeSort;
import com.jero.modules.activiti.process.fb.common.ConsultationTaskKey;
@@ -18,16 +21,16 @@ import com.jero.modules.activiti.process.fb.dto.BasicTaskInfoDTO;
import com.jero.modules.activiti.process.fb.entity.ProcessFbConsultationList;
import com.jero.modules.activiti.process.fb.entity.ProcessFbConsultationUserLink;
import com.jero.modules.activiti.process.fb.entity.ProcessFbStandardConsultation;
import com.jero.modules.activiti.process.fb.entity.ProcessFbStandardPurchase;
import com.jero.modules.activiti.process.fb.mapper.ProcessFbStandardConsultationMapper;
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.service.IProcessHandleService;
import com.jero.modules.activiti.process.fb.service.*;
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.util.SpringContextUtil;
import com.jero.modules.laws.common.util.CurrentUserUtil;
import com.jero.modules.system.entity.SysUser;
import com.jero.modules.system.service.ISysUserService;
@@ -57,7 +60,8 @@ import java.util.stream.Collectors;
@Service
@Slf4j
@Transactional(rollbackFor = JeroBootException.class)
public class ProcessFbStandardConsultationServiceImpl extends ServiceImpl<ProcessFbStandardConsultationMapper, ProcessFbStandardConsultation> implements IProcessFbStandardConsultationService {
public class ProcessFbStandardConsultationServiceImpl extends ServiceImpl<ProcessFbStandardConsultationMapper, ProcessFbStandardConsultation>
implements IProcessFbStandardConsultationService, WorkCenterService {
@Resource
private IProcessHandleService processHandleService;
@@ -383,6 +387,9 @@ public class ProcessFbStandardConsultationServiceImpl extends ServiceImpl<Proces
case ConsultationTaskKey.DEPART_LEADER_COLLECT_2: // 各部所主管级领导汇总(不分发给模块负责人)
linkQueryWrapper.eq(ProcessFbConsultationUserLink::getDepartLeaderId, userId);
userLinks = processFbConsultationUserLinkService.list(linkQueryWrapper);
if(userLinks.isEmpty()){
break;
}
linkIds = userLinks.stream().map(ProcessFbConsultationUserLink::getId).collect(Collectors.toList());
listQueryWrapper.in(ProcessFbConsultationList::getUserLinkId, linkIds);
consultationLists = processFbConsultationListService.list(listQueryWrapper);
@@ -517,7 +524,6 @@ public class ProcessFbStandardConsultationServiceImpl extends ServiceImpl<Proces
processHandleService.isMyTask(taskId); // 判断是否拥有任务处理权
Execution execution = runtimeService.createExecutionQuery().executionId(task.getExecutionId()).singleResult();
taskInfo.setCommitFlag(CommitFlagEnum.PASS.getValue());
processHandleService.updateApprovalRecord(processInfoVO);
log.info("================================流程节点=================================");
@@ -560,6 +566,11 @@ public class ProcessFbStandardConsultationServiceImpl extends ServiceImpl<Proces
// 如果流程已经结束
endProcess(processInstanceId, businessBasicInfo.getId());
// 再次更新流程审批信息
processApprovalRecordService.update(new LambdaUpdateWrapper<ProcessApprovalRecord>()
.eq(ProcessApprovalRecord::getTaskId, taskId)
.set(ProcessApprovalRecord::getCommitFlag, null));
}
/**
@@ -905,4 +916,37 @@ public class ProcessFbStandardConsultationServiceImpl extends ServiceImpl<Proces
});
processNodeLinkService.saveBatch(linkList, linkList.size());
}
@Override
public void changeToDraft(ProcessAll processAll) {
// 删除自己的草稿
IProcessHandleService processHandleService = SpringContextUtil.getBean(IProcessHandleService.class);
processHandleService.deleteMyDraft(processAll.getTaskId(), processAll.getProjectId(), processAll.getPrcType());
String projectId = UUIDUtils.randomUUID20();
// 查询第一个节点处理人
ProcessApprovalRecordService processApprovalRecordService = SpringContextUtil.getBean(ProcessApprovalRecordService.class);
ProcessApprovalRecord processApprovalRecord = processApprovalRecordService.getOne(new LambdaQueryWrapper<ProcessApprovalRecord>()
.eq(ProcessApprovalRecord::getProcessInstanceId, processAll.getProcessInstanceId())
.orderByAsc(ProcessApprovalRecord::getCreateTime)
.last("limit 1"));
// 处理业务表信息
IProcessFbStandardPurchaseService processFbStandardPurchaseService = SpringContextUtil.getBean(IProcessFbStandardPurchaseService.class);
ProcessFbStandardPurchase processFbStandardPurchase = processFbStandardPurchaseService.getById(processAll.getProjectId());
processFbStandardPurchase.setId(projectId);
processFbStandardPurchase.setCreateTime(new Date());
ISysUserService sysUserService = SpringContextUtil.getBean(ISysUserService.class);
SysUser sysUser = sysUserService.getById(processApprovalRecord.getOriginUserId());
processFbStandardPurchase.setCreateBy(sysUser.getUsername());
processFbStandardPurchaseService.save(processFbStandardPurchase);
ProcessDraft processDraft = new ProcessDraft();
processDraft.setProjectId(projectId); // 业务id
processDraft.setPrcType(processAll.getPrcType()); // 流程类型
processDraft.setUserId(processApprovalRecord.getOriginUserId()); // 用户id
// 保存草稿
ProcessDraftService processDraftService = SpringContextUtil.getBean(ProcessDraftService.class);
processDraftService.save(processDraft);
}
}
@@ -6,7 +6,11 @@ import com.jero.common.api.vo.ResultCommon;
import com.jero.common.exception.JeroBootException;
import com.jero.common.system.base.controller.JeroController;
import com.jero.common.util.UUIDUtils;
import com.jero.modules.activiti.entity.ProcessAll;
import com.jero.modules.activiti.entity.ProcessApprovalRecord;
import com.jero.modules.activiti.enums.ProcessTypeEnum;
import com.jero.modules.activiti.process.common.entity.ProcessDraft;
import com.jero.modules.activiti.process.common.service.ProcessDraftService;
import com.jero.modules.activiti.process.fb.common.ProcessDefinitionKey;
import com.jero.modules.activiti.process.fb.dto.BasicProcessInfoDTO;
import com.jero.modules.activiti.process.fb.entity.ProcessFbStandardPurchase;
@@ -14,7 +18,12 @@ import com.jero.modules.activiti.process.fb.mapper.ProcessFbStandardPurchaseMapp
import com.jero.modules.activiti.process.fb.service.IProcessFbStandardPurchaseService;
import com.jero.modules.activiti.process.fb.service.IProcessHandleService;
import com.jero.modules.activiti.process.fb.vo.ProcessInfoVO;
import com.jero.modules.activiti.service.ProcessApprovalRecordService;
import com.jero.modules.activiti.service.WorkCenterService;
import com.jero.modules.activiti.util.SpringContextUtil;
import com.jero.modules.laws.common.util.CurrentUserUtil;
import com.jero.modules.system.entity.SysUser;
import com.jero.modules.system.service.ISysUserService;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
@@ -26,6 +35,7 @@ import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.servlet.ModelAndView;
import javax.annotation.Resource;
import java.util.Date;
import java.util.List;
import java.util.Map;
@@ -39,7 +49,8 @@ import java.util.Map;
@Service
@Slf4j
@Transactional(rollbackFor = JeroBootException.class)
public class ProcessFbStandardPurchaseServiceImpl extends ServiceImpl<ProcessFbStandardPurchaseMapper, ProcessFbStandardPurchase> implements IProcessFbStandardPurchaseService {
public class ProcessFbStandardPurchaseServiceImpl extends ServiceImpl<ProcessFbStandardPurchaseMapper, ProcessFbStandardPurchase>
implements IProcessFbStandardPurchaseService, WorkCenterService {
@Resource
private IProcessHandleService processHandleService;
@@ -188,4 +199,37 @@ public class ProcessFbStandardPurchaseServiceImpl extends ServiceImpl<ProcessFbS
public void carbonCopy(String processInstanceId, String userIds) {
log.info("已发送抄送消息...");
}
@Override
public void changeToDraft(ProcessAll processAll) {
// 删除自己的草稿
IProcessHandleService processHandleService = SpringContextUtil.getBean(IProcessHandleService.class);
processHandleService.deleteMyDraft(processAll.getTaskId(), processAll.getProjectId(), processAll.getPrcType());
String projectId = UUIDUtils.randomUUID20();
// 查询第一个节点处理人
ProcessApprovalRecordService processApprovalRecordService = SpringContextUtil.getBean(ProcessApprovalRecordService.class);
ProcessApprovalRecord processApprovalRecord = processApprovalRecordService.getOne(new LambdaQueryWrapper<ProcessApprovalRecord>()
.eq(ProcessApprovalRecord::getProcessInstanceId, processAll.getProcessInstanceId())
.orderByAsc(ProcessApprovalRecord::getCreateTime)
.last("limit 1"));
// 处理业务表信息
IProcessFbStandardPurchaseService processFbStandardPurchaseService = SpringContextUtil.getBean(IProcessFbStandardPurchaseService.class);
ProcessFbStandardPurchase processFbStandardPurchase = processFbStandardPurchaseService.getById(processAll.getProjectId());
processFbStandardPurchase.setId(projectId);
processFbStandardPurchase.setCreateTime(new Date());
ISysUserService sysUserService = SpringContextUtil.getBean(ISysUserService.class);
SysUser sysUser = sysUserService.getById(processApprovalRecord.getOriginUserId());
processFbStandardPurchase.setCreateBy(sysUser.getUsername());
processFbStandardPurchaseService.save(processFbStandardPurchase);
ProcessDraft processDraft = new ProcessDraft();
processDraft.setProjectId(projectId); // 业务id
processDraft.setPrcType(processAll.getPrcType()); // 流程类型
processDraft.setUserId(processApprovalRecord.getOriginUserId()); // 用户id
// 保存草稿
ProcessDraftService processDraftService = SpringContextUtil.getBean(ProcessDraftService.class);
processDraftService.save(processDraft);
}
}