package cn.iocoder.yudao.module.crm.controller.admin.invoice.vo.invoice;
|
|
import cn.idev.excel.annotation.ExcelProperty;
|
import io.swagger.v3.oas.annotations.media.Schema;
|
import lombok.AllArgsConstructor;
|
import lombok.Builder;
|
import lombok.Data;
|
import lombok.NoArgsConstructor;
|
|
import java.math.BigDecimal;
|
|
/**
|
* 管理后台 - 开票导入 Excel VO
|
*
|
* 说明:一行 = 一张开票记录。“合同编号”为必填,需与系统中已审核通过的合同编号一致。
|
* 客户、负责人、审批状态由系统处理:客户取合同所属客户;负责人 = 当前登录用户;审批状态 = 未提交。
|
*
|
* @author 超级管理员
|
*/
|
@Schema(description = "管理后台 - 开票导入 Excel VO")
|
@Data
|
@Builder
|
@AllArgsConstructor
|
@NoArgsConstructor
|
public class CrmInvoiceImportExcelVO {
|
|
@ExcelProperty("开票编号")
|
@Schema(description = "开票编号,留空则自动生成", example = "KP20260101000001")
|
private String no;
|
|
@ExcelProperty("合同编号")
|
@Schema(description = "合同编号,需与系统中已审核通过的合同编号一致", requiredMode = Schema.RequiredMode.REQUIRED, example = "HT20260101000001")
|
private String contractNo;
|
|
@ExcelProperty("发票类型")
|
@Schema(description = "发票类型,填写字典 crm_invoice_type 的名称,如 增值税专用发票", requiredMode = Schema.RequiredMode.REQUIRED, example = "增值税专用发票")
|
private String invoiceType;
|
|
@ExcelProperty("发票号码")
|
@Schema(description = "发票号码", example = "02564178")
|
private String invoiceNo;
|
|
@ExcelProperty("发票抬头")
|
@Schema(description = "发票抬头", example = "XX科技有限公司")
|
private String invoiceTitle;
|
|
@ExcelProperty("开票金额(元)")
|
@Schema(description = "开票金额,需大于 0 且不超过合同剩余可开票金额", requiredMode = Schema.RequiredMode.REQUIRED, example = "10000.00")
|
private BigDecimal price;
|
|
@ExcelProperty("开票日期")
|
@Schema(description = "开票日期,格式如 2026-01-01 10:00:00;留空取当前时间", example = "2026-01-01 10:00:00")
|
private String invoiceTime;
|
|
@ExcelProperty("备注")
|
@Schema(description = "备注", example = "备注")
|
private String remark;
|
|
}
|