yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/purchase/ErpPurchaseOrderController.java
@@ -111,7 +111,6 @@
    @GetMapping("/approve-process-list")
    @Operation(summary = "获取采购订单审批流程列表")
    @PreAuthorize("@ss.hasPermission('erp:purchase-order:query')")
    public CommonResult<List<Map<String, Object>>> getApproveProcessList() {
        return success(purchaseOrderService.getPurchaseOrderApproveProcessDefinitionList());
    }
@@ -128,7 +127,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得采购订单")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('erp:purchase-order:query')")
    public CommonResult<ErpPurchaseOrderRespVO> getPurchaseOrder(@RequestParam("id") Long id) {
        ErpPurchaseOrderDO purchaseOrder = purchaseOrderService.getPurchaseOrder(id);
        if (purchaseOrder == null) {
@@ -148,13 +146,11 @@
                    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")
    @Operation(summary = "获得采购订单分页")
    @PreAuthorize("@ss.hasPermission('erp:purchase-order:query')")
    public CommonResult<PageResult<ErpPurchaseOrderRespVO>> getPurchaseOrderPage(@Valid ErpPurchaseOrderPageReqVO pageReqVO) {
        PageResult<ErpPurchaseOrderDO> pageResult = purchaseOrderService.getPurchaseOrderPage(pageReqVO);
        return success(buildPurchaseOrderVOPageResult(pageResult));
@@ -258,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;
    }
}