update 流程进行后删除原来的草稿

This commit is contained in:
liao
2023-11-09 16:52:26 +08:00
parent d8678be7e1
commit 98cb7e90be
4 changed files with 35 additions and 9 deletions
@@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable; import java.io.Serializable;
import java.util.Date; import java.util.Date;
import com.jero.common.aspect.annotation.Dict;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
@@ -61,6 +62,7 @@ public class ProcessDraft implements Serializable {
/** /**
* 项目类型 * 项目类型
*/ */
@Dict(dicCode = "prc_type")
private Integer prcType; private Integer prcType;
/** /**
@@ -63,7 +63,7 @@ public class ProcessFbInfoController {
@ApiOperation(value = "查询草稿") @ApiOperation(value = "查询草稿")
@GetMapping("/getDraftList") @GetMapping("/getDraftList")
public Result<?> getDraftList(ProcessDraft processDraft, public Result<IPage<ProcessDraft>> getDraftList(ProcessDraft processDraft,
@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize) { @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize) {
LambdaQueryWrapper<ProcessDraft> queryWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<ProcessDraft> queryWrapper = new LambdaQueryWrapper<>();
@@ -68,6 +68,9 @@ public class ProcessHandleServiceImpl implements IProcessHandleService {
**/ **/
@Override @Override
public void startProcess(ProcessInfoVO processInfoVO) { public void startProcess(ProcessInfoVO processInfoVO) {
// 删除自己的草稿
deleteMyDraft(processInfoVO.getBusinessId());
BasicProcessInfoDTO basicProcessInfoDTO = processInfoVO.getBasicProcessInfoDTO(); // 流程信息 BasicProcessInfoDTO basicProcessInfoDTO = processInfoVO.getBasicProcessInfoDTO(); // 流程信息
Map<String, Object> userInfoMap = processInfoVO.getUserInfoMap(); // 用户变量map Map<String, Object> userInfoMap = processInfoVO.getUserInfoMap(); // 用户变量map
BasicTaskInfoDTO basicTaskInfoDTO = processInfoVO.getBasicTaskInfoDTO(); // 流程审批信息 BasicTaskInfoDTO basicTaskInfoDTO = processInfoVO.getBasicTaskInfoDTO(); // 流程审批信息
@@ -111,6 +114,10 @@ public class ProcessHandleServiceImpl implements IProcessHandleService {
BasicTaskInfoDTO basicTaskInfoDTO = processInfoVO.getBasicTaskInfoDTO(); BasicTaskInfoDTO basicTaskInfoDTO = processInfoVO.getBasicTaskInfoDTO();
String taskId = basicTaskInfoDTO.getTaskId(); String taskId = basicTaskInfoDTO.getTaskId();
isMyTask(taskId); isMyTask(taskId);
// 删除自己的草稿
deleteMyDraft(processInfoVO.getBusinessId());
ProcessDTO processDTO = getProcessDTO(taskId); ProcessDTO processDTO = getProcessDTO(taskId);
String processInstanceId = processDTO.getProcessInstanceId(); String processInstanceId = processDTO.getProcessInstanceId();
String processDefinitionId = processDTO.getProcessDefinitionId(); String processDefinitionId = processDTO.getProcessDefinitionId();
@@ -121,10 +128,10 @@ public class ProcessHandleServiceImpl implements IProcessHandleService {
processNodeLinkService.saveNodeUserLink(processDefinitionId, processInstanceId, userInfoMap); processNodeLinkService.saveNodeUserLink(processDefinitionId, processInstanceId, userInfoMap);
} }
if (pass) { // 通过 if (pass) { // 通过
runtimeService.setVariableLocal(processInstanceId, "pass", true); runtimeService.setVariable(processInstanceId, "pass", true);
basicTaskInfoDTO.setCommitFlag(CommitFlagEnum.PASS.getValue()); basicTaskInfoDTO.setCommitFlag(CommitFlagEnum.PASS.getValue());
} else { // 驳回 } else { // 驳回
runtimeService.setVariableLocal(processInstanceId, "pass", false); runtimeService.setVariable(processInstanceId, "pass", false);
basicTaskInfoDTO.setCommitFlag(CommitFlagEnum.REJECT.getValue()); basicTaskInfoDTO.setCommitFlag(CommitFlagEnum.REJECT.getValue());
} }
// 更新审批记录表 // 更新审批记录表
@@ -142,6 +149,10 @@ public class ProcessHandleServiceImpl implements IProcessHandleService {
public void transfer(String taskId, String toUserId) { public void transfer(String taskId, String toUserId) {
isMyTask(taskId); // 判断是否拥有任务处理权限 isMyTask(taskId); // 判断是否拥有任务处理权限
ProcessApprovalRecord processApprovalRecord = processApprovalRecordService.getToDoByTaskId(taskId); ProcessApprovalRecord processApprovalRecord = processApprovalRecordService.getToDoByTaskId(taskId);
// 删除自己的草稿
deleteMyDraft(processApprovalRecord.getProjectId());
processApprovalRecord.setTransferBy(CurrentUserUtil.getId()); // 转办人 processApprovalRecord.setTransferBy(CurrentUserUtil.getId()); // 转办人
processApprovalRecord.setUserId(toUserId); // 任务处理人 processApprovalRecord.setUserId(toUserId); // 任务处理人
processApprovalRecordService.updateById(processApprovalRecord); processApprovalRecordService.updateById(processApprovalRecord);
@@ -231,11 +242,8 @@ public class ProcessHandleServiceImpl implements IProcessHandleService {
BasicProcessInfoDTO basicProcessInfoDTO = processInfoVO.getBasicProcessInfoDTO(); BasicProcessInfoDTO basicProcessInfoDTO = processInfoVO.getBasicProcessInfoDTO();
BasicTaskInfoDTO basicTaskInfoDTO = processInfoVO.getBasicTaskInfoDTO(); BasicTaskInfoDTO basicTaskInfoDTO = processInfoVO.getBasicTaskInfoDTO();
// 添加前先进行旧数据删除 // 删除自己的草稿
LambdaQueryWrapper<ProcessDraft> deleteWrapper = new LambdaQueryWrapper<>(); deleteMyDraft(processInfoVO.getBusinessId());
deleteWrapper.eq(ProcessDraft::getProjectId, processInfoVO.getBusinessId());
deleteWrapper.eq(ProcessDraft::getUserId, CurrentUserUtil.getId());
processDraftService.remove(deleteWrapper);
ProcessDraft processDraft = new ProcessDraft(); ProcessDraft processDraft = new ProcessDraft();
processDraft.setProjectId(processInfoVO.getBusinessId()); // 业务id processDraft.setProjectId(processInfoVO.getBusinessId()); // 业务id
@@ -250,6 +258,20 @@ public class ProcessHandleServiceImpl implements IProcessHandleService {
processDraftService.save(processDraft); processDraftService.save(processDraft);
} }
/**
* @Author: liao
* @Date: 2023/11/9 16:46
* @Description: 删除自己的草稿
**/
private void deleteMyDraft(String businessId) {
if (StringUtils.isNotBlank(businessId)) {
LambdaQueryWrapper<ProcessDraft> deleteWrapper = new LambdaQueryWrapper<>();
deleteWrapper.eq(ProcessDraft::getProjectId, businessId);
deleteWrapper.eq(ProcessDraft::getUserId, CurrentUserUtil.getId());
processDraftService.remove(deleteWrapper);
}
}
/** /**
* @Author: liao * @Author: liao
* @Date: 2023/11/3 11:14 * @Date: 2023/11/3 11:14
@@ -565,7 +565,9 @@ public class LawsCommonServiceImpl implements ILawsCommonService {
if (module.equals(TableNameEnum.DOMESTIC_REGULATIONS.getValue()) if (module.equals(TableNameEnum.DOMESTIC_REGULATIONS.getValue())
|| module.equals(TableNameEnum.FOREIGN_REGULATIONS.getValue())) { || module.equals(TableNameEnum.FOREIGN_REGULATIONS.getValue())) {
// 拼接标准编号 // 拼接标准编号
setStandardNumber(parameterMap); if (null == parameterMap.get(FieldCommon.STANDARD_NUMBER)) {
setStandardNumber(parameterMap);
}
} }
// 提前处理企标的稽查内容,否则后面转换会报错 // 提前处理企标的稽查内容,否则后面转换会报错
List<LinkedHashMap> checkList = (List<LinkedHashMap>) parameterMap.get(FieldCommon.CHECK_LIST); List<LinkedHashMap> checkList = (List<LinkedHashMap>) parameterMap.get(FieldCommon.CHECK_LIST);