| | |
| | | } |
| | | validateSalesNoticeApproveCategoryAndProcessDefinition(); |
| | | ProcessDefinition processDefinition = bpmProcessDefinitionService.getActiveProcessDefinition(processDefinitionKey); |
| | | if (processDefinition == null || bpmProcessDefinitionService |
| | | // 区分「Key 不存在/已停用」与「流程存在但不属于发货审批分类」,分别给出可执行的提示 |
| | | if (processDefinition == null) { |
| | | throw exception(WM_SALES_NOTICE_BPM_PROCESS_KEY_INVALID, processDefinitionKey); |
| | | } |
| | | boolean inDeliveryCategory = bpmProcessDefinitionService |
| | | .getProcessDefinitionInfoListByCategory(SALES_DELIVERY_APPROVE_CATEGORY_CODE).stream() |
| | | .noneMatch(info -> Objects.equals(info.getProcessDefinitionId(), processDefinition.getId()))) { |
| | | throw exception(WM_SALES_NOTICE_BPM_PROCESS_DEFINITION_NOT_EXISTS); |
| | | .anyMatch(info -> Objects.equals(info.getProcessDefinitionId(), processDefinition.getId())); |
| | | if (!inDeliveryCategory) { |
| | | throw exception(WM_SALES_NOTICE_BPM_PROCESS_DEFINITION_NOT_IN_CATEGORY, |
| | | StrUtil.blankToDefault(processDefinition.getName(), processDefinitionKey)); |
| | | } |
| | | |
| | | // 4. 创建审批流程实例,进入审批中 |