gaoluyang
8 小时以前 7c03ac9182b338a13dce52631b2924da7793dd5e
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/outsourcereceipt/MesWmOutsourceReceiptServiceImpl.java
@@ -21,7 +21,7 @@
import cn.iocoder.yudao.module.mes.enums.wm.MesWmQualityStatusEnum;
import cn.iocoder.yudao.module.mes.enums.wm.MesWmTransactionTypeEnum;
import cn.iocoder.yudao.module.mes.service.mdm.MesMdmItemService;
import cn.iocoder.yudao.module.erp.api.purchase.ErpSupplierApi;
import cn.iocoder.yudao.module.srm.api.supplier.SrmSupplierApi;
import cn.iocoder.yudao.module.mes.service.pro.workorder.MesProWorkOrderService;
import cn.iocoder.yudao.module.mes.service.wm.transaction.MesWmTransactionService;
import cn.iocoder.yudao.module.mes.service.wm.transaction.dto.MesWmTransactionSaveReqDTO;
@@ -56,7 +56,7 @@
    @Resource
    private MesWmTransactionService wmTransactionService;
    @Resource
    private ErpSupplierApi supplierApi;
    private SrmSupplierApi srmSupplierApi;
    @Resource
    private MesMdmItemService mdmItemService;
    @Resource
@@ -108,11 +108,11 @@
    public PageResult<MesWmOutsourceReceiptDO> getOutsourceReceiptPage(MesWmOutsourceReceiptPageReqVO pageReqVO) {
        List<Long> workOrderIds = null;
        if (StrUtil.isNotBlank(pageReqVO.getWorkOrderCode())) {
            // 工单号既可能是关联工单,也可能是手工填写文本:找到工单按 ID 过滤,找不到则按文本模糊匹配
            MesProWorkOrderDO workOrder = workOrderService.getWorkOrder(pageReqVO.getWorkOrderCode());
            if (workOrder == null) {
                return PageResult.empty();
            if (workOrder != null) {
                workOrderIds = java.util.Collections.singletonList(workOrder.getId());
            }
            workOrderIds = java.util.Collections.singletonList(workOrder.getId());
        }
        return outsourceReceiptMapper.selectPage(pageReqVO, workOrderIds);
    }
@@ -308,8 +308,10 @@
    private void validateOutsourceReceiptSaveData(Long id, MesWmOutsourceReceiptSaveReqVO reqVO) {
        // 校验编码唯一
        validateCodeUnique(id, reqVO.getCode());
        // 校验供应商存在
        supplierApi.validateSupplier(reqVO.getVendorId());
        // 校验供应商存在(仅关联供应商档案时;手工填写供应商名称不校验)
        if (reqVO.getVendorId() != null) {
            srmSupplierApi.getSupplier(reqVO.getVendorId());
        }
        // 校验外协工单存在
        if (reqVO.getWorkOrderId() != null) {
            workOrderService.validateWorkOrderConfirmed(reqVO.getWorkOrderId());