feat: UAT 企标更改单问题
This commit is contained in:
+1
-75
@@ -2,15 +2,12 @@ package com.jero.modules.activiti.process.common.service;
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
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.update.LambdaUpdateWrapper;
|
||||
import com.jero.common.api.vo.ResultCommon;
|
||||
import com.jero.common.exception.JeroBootException;
|
||||
import com.jero.common.system.vo.LoginUser;
|
||||
import com.jero.modules.activiti.entity.ProcessAll;
|
||||
import com.jero.modules.activiti.entity.ProcessApprovalRecord;
|
||||
import com.jero.modules.activiti.enums.CommitFlagEnum;
|
||||
import com.jero.modules.activiti.enums.FinishFlagEnum;
|
||||
import com.jero.modules.activiti.enums.ProcessTypeEnum;
|
||||
import com.jero.modules.activiti.process.common.common.DraftCommon;
|
||||
@@ -25,7 +22,6 @@ import com.jero.modules.activiti.process.fb.service.IProcessHandleService;
|
||||
import com.jero.modules.activiti.process.fb.vo.ProcessInfoVO;
|
||||
import com.jero.modules.activiti.service.ProcessAllService;
|
||||
import com.jero.modules.activiti.service.ProcessApprovalRecordService;
|
||||
import com.jero.modules.laws.common.util.CurrentUserUtil;
|
||||
import com.jero.modules.laws.enterprise.entity.EnterpriseStandardPlan;
|
||||
import com.jero.modules.laws.enterprise.service.EnterpriseStandardPlanService;
|
||||
import com.jero.modules.laws.standard.entity.LawsEnterpriseStandard;
|
||||
@@ -41,7 +37,6 @@ import org.activiti.engine.runtime.Execution;
|
||||
import org.activiti.engine.runtime.ProcessInstance;
|
||||
import org.activiti.engine.task.Task;
|
||||
import org.activiti.engine.task.TaskQuery;
|
||||
import org.apache.shiro.SecurityUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.util.CollectionUtils;
|
||||
@@ -70,9 +65,6 @@ public class ActFlowCommonService {
|
||||
@Resource
|
||||
private ProcessApprovalRecordService processApprovalRecordService;
|
||||
|
||||
@Resource
|
||||
private ProcessApprovalRecordService approvalRecordService;
|
||||
|
||||
@Resource
|
||||
private EnterpriseStandardPlanService espService;
|
||||
|
||||
@@ -264,25 +256,6 @@ public class ActFlowCommonService {
|
||||
return taskService.createTaskQuery().taskId(taskId).singleResult() != null;
|
||||
}
|
||||
|
||||
public void autoCompleteFirstTask(String userId, String processInstanceId, String processDefinitionId, CommonVO commonVO) {
|
||||
// 自动完成第一个任务
|
||||
List<Map<String, Object>> taskList = this.myTaskList(userId);
|
||||
if (!CollectionUtils.isEmpty(taskList)) {
|
||||
for (Map<String, Object> map : taskList) {
|
||||
if (map.get("assignee").toString().equals(userId) &&
|
||||
map.get("processDefinitionId").toString().equals(processDefinitionId) &&
|
||||
map.get("processInstanceId").toString().equals(processInstanceId)) { // 添加这一行来进行更精确的匹配
|
||||
|
||||
log.info("当前用户ID:{},相关联的流程定义ID:{}", userId, map.get("processDefinitionId").toString());
|
||||
log.info("匹配到的任务ID:{}", map.get("taskId").toString());
|
||||
String taskId = map.get("taskId").toString();
|
||||
this.completeTask(taskId, userId);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public String getProcessInstanceIdByTaskId(String taskId) {
|
||||
if (StrUtil.isBlank(taskId)) {
|
||||
return null;
|
||||
@@ -430,21 +403,6 @@ public class ActFlowCommonService {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 会签节点驳回后,将其余节点recode设置为 未处理 状态
|
||||
*
|
||||
* @param prcId
|
||||
* @param nodeName
|
||||
*/
|
||||
public void updateOtherCountersignRecodeStatus(String prcId, String nodeName) {
|
||||
// LambdaUpdateWrapper<ProcessApprovalRecord> updateWrapper = new LambdaUpdateWrapper<>();
|
||||
// updateWrapper.eq(ProcessApprovalRecord::getProcessInstanceId, prcId);
|
||||
// updateWrapper.eq(ProcessApprovalRecord::getFinishFlag, FinishFlagEnum.INCOMPLETE.getValue());
|
||||
// updateWrapper.eq(ProcessApprovalRecord::getTaskName, nodeName);
|
||||
// updateWrapper.set(ProcessApprovalRecord::getCommitText, CommitFlagEnum.UNDISPOSED.getName());
|
||||
// processApprovalRecordService.update(updateWrapper);
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据指定的执行Id递归获取所有子执行Id
|
||||
*
|
||||
@@ -480,18 +438,6 @@ public class ActFlowCommonService {
|
||||
return approvalRecord.getOriginUserId();
|
||||
}
|
||||
|
||||
/**
|
||||
* 强制撤回流程-保存草稿
|
||||
*
|
||||
* @param common
|
||||
* @param processTypeEnum
|
||||
* @param jsonData
|
||||
*/
|
||||
public void saveFirstNodeDraft(CommonVO common, ProcessTypeEnum processTypeEnum, Object data) {
|
||||
ProcessInfoVO processInfoVo = this.getProcessInfoVo(common, processTypeEnum, data);
|
||||
processHandleService.saveToDraft(processInfoVo);
|
||||
}
|
||||
|
||||
public void saveFirstNodeDraft(CommonVO common, ProcessTypeEnum processTypeEnum, String jsonData) {
|
||||
ProcessInfoVO processInfoVo = this.getProcessInfoVo(common, processTypeEnum, jsonData);
|
||||
processHandleService.saveToDraft(processInfoVo);
|
||||
@@ -502,26 +448,6 @@ public class ActFlowCommonService {
|
||||
processHandleService.saveToDraftCustomUserId(processInfoVo, userId);
|
||||
}
|
||||
|
||||
private ProcessInfoVO getProcessInfoVo(CommonVO common, ProcessTypeEnum processTypeEnum, Object data) {
|
||||
// 将archiveData转为Json
|
||||
String dataJson = JSON.toJSONString(data);
|
||||
ProcessInfoVO<ESArchiveDataVO> processInfoVO = new ProcessInfoVO<>();
|
||||
processInfoVO.setSaveSource(DraftCommon.INITIAL_SOURCE);
|
||||
BasicTaskInfoDTO basicTaskInfoDTO = new BasicTaskInfoDTO();
|
||||
basicTaskInfoDTO.setHandleFile(common.getCommitFile());
|
||||
basicTaskInfoDTO.setHandleText(common.getCommitText());
|
||||
BasicProcessInfoDTO basicProcessInfoDTO = new BasicProcessInfoDTO();
|
||||
basicProcessInfoDTO.setProcessName(common.getPrcName());
|
||||
basicProcessInfoDTO.setProcessDescription(common.getPrcMes());
|
||||
basicProcessInfoDTO.setProcessType(processTypeEnum.getValue());
|
||||
basicProcessInfoDTO.setProcessDueDate(common.getDueTime());
|
||||
basicProcessInfoDTO.setProcessInstanceId(common.getProcessInstanceId());
|
||||
processInfoVO.setInfoJsonStr(dataJson);
|
||||
processInfoVO.setBasicTaskInfoDTO(basicTaskInfoDTO);
|
||||
processInfoVO.setBasicProcessInfoDTO(basicProcessInfoDTO);
|
||||
return processInfoVO;
|
||||
}
|
||||
|
||||
private ProcessInfoVO getProcessInfoVo(CommonVO common, ProcessTypeEnum processTypeEnum, String jsonData) {
|
||||
ProcessInfoVO<ESArchiveDataVO> processInfoVO = new ProcessInfoVO<>();
|
||||
processInfoVO.setSaveSource(DraftCommon.INITIAL_SOURCE);
|
||||
@@ -546,7 +472,7 @@ public class ActFlowCommonService {
|
||||
String standardState = es.getStandardState();
|
||||
if (StandardStateEnum.ABOLISH.getStateValue().equals(standardState) ||
|
||||
StandardStateEnum.ARCHIVE.getStateValue().equals(standardState)) {
|
||||
log.error("企标编号为{}的企标已经废止或者封存,无法进行复审流程", es.getStandardNumber());
|
||||
log.error("企标编号为{}的企标已经废止或者封存,无法进行复审或更改流程", es.getStandardNumber());
|
||||
throw new JeroBootException(ResultCommon.CAN_NOT_EDIT_ABOLISH_OR_ARCHIVE_ES);
|
||||
}
|
||||
}
|
||||
|
||||
+11
-4
@@ -4,16 +4,16 @@ 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 java.io.Serializable;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.jero.common.aspect.annotation.Dict;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 企业标准
|
||||
* @TableName process_es_change
|
||||
@@ -302,6 +302,13 @@ public class ProcessEsChange implements Serializable {
|
||||
@ApiModelProperty(value = "需要替换的fileId")
|
||||
private String replaceFileId;
|
||||
|
||||
/**
|
||||
* 修改单位代号
|
||||
*/
|
||||
@ApiModelProperty(value = "修改单位代号")
|
||||
@Dict(dicCode = "es_modify_order_dept_code")
|
||||
private String changeDeptCode;
|
||||
|
||||
/**
|
||||
* 修改意见内容列表
|
||||
*/
|
||||
|
||||
+4
-17
@@ -5,7 +5,6 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.jero.common.api.CommonAPI;
|
||||
import com.jero.common.api.vo.Result;
|
||||
import com.jero.common.exception.JeroBootException;
|
||||
import com.jero.common.system.vo.DictModel;
|
||||
import com.jero.common.system.vo.SysDictItemCore;
|
||||
import com.jero.modules.activiti.entity.ProcessApprovalRecord;
|
||||
import com.jero.modules.activiti.process.common.enums.StandardStateEnum;
|
||||
@@ -24,8 +23,8 @@ import com.jero.modules.onlyoffice.service.IBusProcessModelHisService;
|
||||
import com.jero.modules.oss.entity.OSSFile;
|
||||
import com.jero.modules.oss.service.IOSSFileService;
|
||||
import com.jero.modules.system.controller.CommonController;
|
||||
import com.jero.modules.system.entity.SysDepart;
|
||||
import com.jero.modules.system.service.*;
|
||||
import com.jero.modules.system.service.ISysDepartService;
|
||||
import com.jero.modules.system.service.ISysDictService;
|
||||
import com.jero.modules.tag.enums.TableNameEnum;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.activiti.engine.delegate.DelegateExecution;
|
||||
@@ -283,22 +282,10 @@ public class ProcessESChangeEndListener implements ExecutionListener {
|
||||
}
|
||||
|
||||
private void genModificationOrderNumber(ProcessEsChange change) {
|
||||
String deptCode = "";
|
||||
String deptCode = change.getChangeDeptCode();
|
||||
// 找到单位代号
|
||||
String deptId = change.getMainDraftingUnit();
|
||||
SysDepart dept = sysDepartService.getById(deptId);
|
||||
if (dept != null) {
|
||||
String deptName = dept.getDepartName();
|
||||
List<DictModel> dictItems = dictService.queryEnableDictItemsByCode("es_modify_order_dept_code");
|
||||
for (DictModel dictItem : dictItems) {
|
||||
if (dictItem.getText().equals(deptName)) {
|
||||
deptCode = dictItem.getValue();
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (StrUtil.isBlank(deptCode)) {
|
||||
throw new JeroBootException("生成修改单失败,找不到主起草单位的单位代号,请前往数据字典中添加后再试");
|
||||
throw new JeroBootException("生成修改单失败,找不到更改单位的单位代号,请联系系统管理员添加后再试");
|
||||
}
|
||||
// 找到年份
|
||||
Date effectiveDate = new Date();
|
||||
|
||||
+5
-36
@@ -7,36 +7,27 @@ import com.jero.common.api.vo.ResultCommon;
|
||||
import com.jero.common.aspect.TranslationAspect;
|
||||
import com.jero.common.constant.enums.YesOrNoEnum;
|
||||
import com.jero.common.exception.JeroBootException;
|
||||
import com.jero.common.system.vo.DictModel;
|
||||
import com.jero.modules.activiti.entity.ProcessAll;
|
||||
import com.jero.modules.activiti.entity.ProcessApprovalRecord;
|
||||
import com.jero.modules.activiti.enums.ProcessStatusEnum;
|
||||
import com.jero.modules.activiti.enums.ProcessTypeEnum;
|
||||
import com.jero.modules.activiti.process.common.entity.CommonVO;
|
||||
import com.jero.modules.activiti.process.common.entity.CounterSignNodeNameConstants;
|
||||
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.StandardStateEnum;
|
||||
import com.jero.modules.activiti.process.common.service.ActFlowCommonService;
|
||||
import com.jero.modules.activiti.process.esArchive.entity.ProcessEsArchive;
|
||||
import com.jero.modules.activiti.process.esArchive.entity.vo.ESArchiveDataVO;
|
||||
import com.jero.modules.activiti.process.esChange.entity.EsChangeOpinion;
|
||||
import com.jero.modules.activiti.process.esChange.entity.ProcessEsChange;
|
||||
import com.jero.modules.activiti.process.esChange.entity.vo.ESChangeDataVO;
|
||||
import com.jero.modules.activiti.process.esChange.mapper.ProcessEsChangeMapper;
|
||||
import com.jero.modules.activiti.process.esChange.service.EsChangeOpinionService;
|
||||
import com.jero.modules.activiti.process.esChange.service.ProcessEsChangeService;
|
||||
import com.jero.modules.activiti.process.esChange.mapper.ProcessEsChangeMapper;
|
||||
import com.jero.modules.activiti.process.fb.dto.BasicProcessInfoDTO;
|
||||
import com.jero.modules.activiti.process.fb.service.IProcessHandleService;
|
||||
import com.jero.modules.activiti.process.fb.vo.ProcessInfoVO;
|
||||
import com.jero.modules.activiti.service.ProcessAllService;
|
||||
import com.jero.modules.activiti.service.ProcessNodeLinkService;
|
||||
import com.jero.modules.laws.standard.entity.LawsEnterpriseStandard;
|
||||
import com.jero.modules.laws.standard.service.ILawsEnterpriseStandardService;
|
||||
import com.jero.modules.onlyoffice.service.IBusProcessModelHisService;
|
||||
import com.jero.modules.oss.entity.OSSFile;
|
||||
import com.jero.modules.sys.utils.UserUtils;
|
||||
import com.jero.modules.system.entity.SysDepart;
|
||||
import com.jero.modules.system.service.ISysDepartService;
|
||||
import com.jero.modules.system.service.ISysDictService;
|
||||
import com.jero.modules.system.service.ISysUserDepartService;
|
||||
@@ -214,30 +205,9 @@ public class ProcessEsChangeServiceImpl extends ServiceImpl<ProcessEsChangeMappe
|
||||
if (data != null) {
|
||||
actFlowCommonService.checkStandardState(data.getStandardId());
|
||||
// 判断主起草部门是否有对应的修改单代码
|
||||
if (StrUtil.isBlank(data.getMainDraftingUnit())) {
|
||||
throw new JeroBootException("主起草单位不能为空");
|
||||
if (StrUtil.isBlank(data.getChangeDeptCode())) {
|
||||
throw new JeroBootException("修改单位不能为空");
|
||||
}
|
||||
this.validDepartCode(changeData.getData().getMainDraftingUnit());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public void validDepartCode(String deptId) {
|
||||
String deptCode = "";
|
||||
// 找到单位代号
|
||||
SysDepart dept = sysDepartService.getById(deptId);
|
||||
if (dept != null) {
|
||||
String deptName = dept.getDepartName();
|
||||
List<DictModel> dictItems = dictService.queryEnableDictItemsByCode("es_modify_order_dept_code");
|
||||
for (DictModel dictItem : dictItems) {
|
||||
if (dictItem.getText().equals(deptName)) {
|
||||
deptCode = dictItem.getValue();
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (StrUtil.isBlank(deptCode)) {
|
||||
throw new JeroBootException("发起失败,找不到主起草单位对应的单位代号,请前往数据字典中添加后再试");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -296,10 +266,9 @@ public class ProcessEsChangeServiceImpl extends ServiceImpl<ProcessEsChangeMappe
|
||||
// 判断主起草单位
|
||||
actFlowCommonService.checkStandardState(data.getStandardId());
|
||||
// 判断主起草部门是否有对应的修改单代码
|
||||
if (StrUtil.isBlank(data.getMainDraftingUnit())) {
|
||||
throw new JeroBootException("主起草单位不能为空");
|
||||
if (StrUtil.isBlank(data.getChangeDeptCode())) {
|
||||
throw new JeroBootException("修改单位不能为空");
|
||||
}
|
||||
this.validDepartCode(changeData.getData().getMainDraftingUnit());
|
||||
// 清理原来的修改意见
|
||||
LambdaQueryWrapper<EsChangeOpinion> esChangeOpinionLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
esChangeOpinionLambdaQueryWrapper.eq(EsChangeOpinion::getBusinessId, data.getId());
|
||||
|
||||
Reference in New Issue
Block a user