gaoluyang
4 天以前 d39e4f7d839167c16425086dfa2f8747bccfdff9
yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/controller/admin/invoice/vo/invoice/CrmInvoiceSaveReqVO.java
@@ -25,6 +25,15 @@
    @NotNull(message = "合同编号不能为空")
    private Long contractId;
    @Schema(description = "关联销售订单")
    private Long saleOrderId;
    @Schema(description = "关联出库单")
    private Long saleOutId;
    @Schema(description = "出库单号(后端按 saleOutId 回填,前端无需传递)", hidden = true)
    private String saleOutCode;
    @Schema(description = "负责人编号", example = "25682")
    private Long ownerUserId;
@@ -42,6 +51,18 @@
    @NotNull(message = "开票金额不能为空")
    private BigDecimal price;
    @Schema(description = "合同金额")
    private BigDecimal contractAmount;
    @Schema(description = "预付款金额")
    private BigDecimal prepaymentAmount;
    @Schema(description = "到货款金额")
    private BigDecimal deliveryAmount;
    @Schema(description = "验收款金额")
    private BigDecimal acceptanceAmount;
    @Schema(description = "开票日期", requiredMode = Schema.RequiredMode.REQUIRED, example = "2024-02-02")
    @NotNull(message = "开票日期不能为空")
    private LocalDateTime invoiceTime;
@@ -52,4 +73,25 @@
    @Schema(description = "发票附件 BlobId 列表")
    private List<Long> blobIds;
    @Schema(description = "收款节点(合同款/预付款/到货款/验收款/质保金)")
    private List<PaymentNode> paymentNodes;
    @Schema(description = "收款节点")
    @Data
    public static class PaymentNode {
        @Schema(description = "阶段:1合同款 2预付款 3到货款 4验收款 5质保金", requiredMode = Schema.RequiredMode.REQUIRED)
        private Integer stage;
        @Schema(description = "金额", requiredMode = Schema.RequiredMode.REQUIRED)
        private BigDecimal amount;
        @Schema(description = "计划回款时间", requiredMode = Schema.RequiredMode.REQUIRED)
        private LocalDateTime returnTime;
        @Schema(description = "备注")
        private String remark;
    }
}