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.util.Date;
import com.jero.common.aspect.annotation.Dict;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@@ -61,6 +62,7 @@ public class ProcessDraft implements Serializable {
/**
* 项目类型
*/
@Dict(dicCode = "prc_type")
private Integer prcType;
/**
@@ -63,7 +63,7 @@ public class ProcessFbInfoController {
@ApiOperation(value = "查询草稿")
@GetMapping("/getDraftList")
public Result<?> getDraftList(ProcessDraft processDraft,
public Result<IPage<ProcessDraft>> getDraftList(ProcessDraft processDraft,
@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize) {
LambdaQueryWrapper<ProcessDraft> queryWrapper = new LambdaQueryWrapper<>();
@@ -68,6 +68,9 @@ public class ProcessHandleServiceImpl implements IProcessHandleService {
**/
@Override
public void startProcess(ProcessInfoVO processInfoVO) {
// 删除自己的草稿
deleteMyDraft(processInfoVO.getBusinessId());
BasicProcessInfoDTO basicProcessInfoDTO = processInfoVO.getBasicProcessInfoDTO(); // 流程信息
Map<String, Object> userInfoMap = processInfoVO.getUserInfoMap(); // 用户变量map
BasicTaskInfoDTO basicTaskInfoDTO = processInfoVO.getBasicTaskInfoDTO(); // 流程审批信息
@@ -111,6 +114,10 @@ public class ProcessHandleServiceImpl implements IProcessHandleService {
BasicTaskInfoDTO basicTaskInfoDTO = processInfoVO.getBasicTaskInfoDTO();
String taskId = basicTaskInfoDTO.getTaskId();
isMyTask(taskId);
// 删除自己的草稿
deleteMyDraft(processInfoVO.getBusinessId());
ProcessDTO processDTO = getProcessDTO(taskId);
String processInstanceId = processDTO.getProcessInstanceId();
String processDefinitionId = processDTO.getProcessDefinitionId();
@@ -121,10 +128,10 @@ public class ProcessHandleServiceImpl implements IProcessHandleService {
processNodeLinkService.saveNodeUserLink(processDefinitionId, processInstanceId, userInfoMap);
}
if (pass) { // 通过
runtimeService.setVariableLocal(processInstanceId, "pass", true);
runtimeService.setVariable(processInstanceId, "pass", true);
basicTaskInfoDTO.setCommitFlag(CommitFlagEnum.PASS.getValue());
} else { // 驳回
runtimeService.setVariableLocal(processInstanceId, "pass", false);
runtimeService.setVariable(processInstanceId, "pass", false);
basicTaskInfoDTO.setCommitFlag(CommitFlagEnum.REJECT.getValue());
}
// 更新审批记录表
@@ -142,6 +149,10 @@ public class ProcessHandleServiceImpl implements IProcessHandleService {
public void transfer(String taskId, String toUserId) {
isMyTask(taskId); // 判断是否拥有任务处理权限
ProcessApprovalRecord processApprovalRecord = processApprovalRecordService.getToDoByTaskId(taskId);
// 删除自己的草稿
deleteMyDraft(processApprovalRecord.getProjectId());
processApprovalRecord.setTransferBy(CurrentUserUtil.getId()); // 转办人
processApprovalRecord.setUserId(toUserId); // 任务处理人
processApprovalRecordService.updateById(processApprovalRecord);
@@ -231,11 +242,8 @@ public class ProcessHandleServiceImpl implements IProcessHandleService {
BasicProcessInfoDTO basicProcessInfoDTO = processInfoVO.getBasicProcessInfoDTO();
BasicTaskInfoDTO basicTaskInfoDTO = processInfoVO.getBasicTaskInfoDTO();
// 添加前先进行旧数据删除
LambdaQueryWrapper<ProcessDraft> deleteWrapper = new LambdaQueryWrapper<>();
deleteWrapper.eq(ProcessDraft::getProjectId, processInfoVO.getBusinessId());
deleteWrapper.eq(ProcessDraft::getUserId, CurrentUserUtil.getId());
processDraftService.remove(deleteWrapper);
// 删除自己的草稿
deleteMyDraft(processInfoVO.getBusinessId());
ProcessDraft processDraft = new ProcessDraft();
processDraft.setProjectId(processInfoVO.getBusinessId()); // 业务id
@@ -250,6 +258,20 @@ public class ProcessHandleServiceImpl implements IProcessHandleService {
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
* @Date: 2023/11/3 11:14
@@ -565,7 +565,9 @@ public class LawsCommonServiceImpl implements ILawsCommonService {
if (module.equals(TableNameEnum.DOMESTIC_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);