package cn.iocoder.yudao.module.crm.controller.admin.contract.vo.contract;
|
|
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 CrmContractImportExcelVO {
|
|
@ExcelProperty("合同编号")
|
@Schema(description = "合同编号,留空则自动生成;相同编号的多行合并为同一张合同")
|
private String no;
|
|
@ExcelProperty("合同名称")
|
@Schema(description = "合同名称", requiredMode = Schema.RequiredMode.REQUIRED)
|
private String name;
|
|
@ExcelProperty("客户名称")
|
@Schema(description = "客户名称,需与 CRM 客户名称一致", requiredMode = Schema.RequiredMode.REQUIRED)
|
private String customerName;
|
|
@ExcelProperty("下单时间")
|
@Schema(description = "下单时间,格式如 2026-01-01 10:00:00;留空取当前时间", requiredMode = Schema.RequiredMode.REQUIRED)
|
private String orderDate;
|
|
@ExcelProperty("合同开始时间")
|
@Schema(description = "合同开始时间,格式 yyyy-MM-dd")
|
private String startTime;
|
|
@ExcelProperty("合同结束时间")
|
@Schema(description = "合同结束时间,格式 yyyy-MM-dd")
|
private String endTime;
|
|
@ExcelProperty("优惠率(%)")
|
@Schema(description = "整单优惠率,百分比,例如 10 表示 10%;留空按 0")
|
private BigDecimal discountPercent;
|
|
@ExcelProperty("定金金额(元)")
|
@Schema(description = "定金金额;留空按 0")
|
private BigDecimal depositPrice;
|
|
@ExcelProperty("产品编码")
|
@Schema(description = "产品(物料)编码", requiredMode = Schema.RequiredMode.REQUIRED)
|
private String productCode;
|
|
@ExcelProperty("产品名称")
|
@Schema(description = "产品名称(仅供对照,匹配仍以产品编码为准)")
|
private String productName;
|
|
@ExcelProperty("数量")
|
@Schema(description = "产品数量", requiredMode = Schema.RequiredMode.REQUIRED)
|
private Integer count;
|
|
@ExcelProperty("合同单价(元)")
|
@Schema(description = "产品合同单价;留空则取该物料的销售价")
|
private BigDecimal contractPrice;
|
|
@ExcelProperty("备注")
|
@Schema(description = "备注;同一张合同取首行备注作为整单备注")
|
private String remark;
|
|
}
|