gaoluyang
6 天以前 006020bc9a87dc40c2e73bc50f244b348b831de1
yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/purchase/ErpPurchaseOrderController.java
@@ -146,8 +146,7 @@
                    MapUtils.findAndThen(unitMeasureMap, item.getProductUnitId(), unit ->
                            item.setProductUnitName(unit.getName()));
                })).setAttachmentList(storageAttachmentApi.listAttachments("erp_purchase_order", id))
                        .setSourceTypeName(ErpPurchaseOrderSourceTypeEnum.WORK_ORDER.getType()
                                .equals(purchaseOrder.getSourceType()) ? "生产工单" : null)));
                        .setSourceTypeName(getSourceTypeName(purchaseOrder.getSourceType()))));
    }
    @GetMapping("/page")
@@ -255,12 +254,19 @@
            purchaseOrder.setProductNames(CollUtil.join(purchaseOrder.getItems(), ",", ErpPurchaseOrderRespVO.Item::getProductName));
            MapUtils.findAndThen(supplierMap, purchaseOrder.getSupplierId(), supplier -> purchaseOrder.setSupplierName(supplier.getName()));
            MapUtils.findAndThen(userMap, Long.parseLong(purchaseOrder.getCreator()), user -> purchaseOrder.setCreatorName(user.getNickname()));
            purchaseOrder.setSourceTypeName(ErpPurchaseOrderSourceTypeEnum.WORK_ORDER.getType()
                    .equals(purchaseOrder.getSourceType()) ? "生产工单" : null);
            purchaseOrder.setSourceTypeName(getSourceTypeName(purchaseOrder.getSourceType()));
            // 剩余可开票金额 = 订单总金额 - 已来票金额
            purchaseOrder.setRemainInvoicePrice(purchaseOrder.getTotalPrice().subtract(
                    invoicePriceSumMap.getOrDefault(purchaseOrder.getId(), BigDecimal.ZERO)));
        });
    }
    /**
     * 来源类型的中文名称:生产工单 / 预定任务(需求 6.5 预订货下单生成采购订单)
     */
    private static String getSourceTypeName(Integer sourceType) {
        ErpPurchaseOrderSourceTypeEnum sourceTypeEnum = ErpPurchaseOrderSourceTypeEnum.valueOf(sourceType);
        return sourceTypeEnum != null ? sourceTypeEnum.getName() : null;
    }
}