云
5 天以前 cccbfadcb6e96c23a33c40c0687a27c2f6efa1db
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/salesnotice/MesWmSalesNoticeServiceImpl.java
@@ -167,10 +167,16 @@
        }
        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. 创建审批流程实例,进入审批中