package cn.iocoder.yudao.module.erp.controller.admin.sale.vo.order;
|
|
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 ErpSaleOrderImportExcelVO {
|
|
@ExcelProperty("销售单编号")
|
@Schema(description = "销售单编号,留空则自动生成;相同编号的多行合并为同一张订单")
|
private String no;
|
|
@ExcelProperty("客户名称")
|
@Schema(description = "客户名称,需与 CRM 中的客户名称一致", requiredMode = Schema.RequiredMode.REQUIRED)
|
private String customerName;
|
|
@ExcelProperty("合同单号")
|
@Schema(description = "关联合同单号,可空")
|
private String contractNo;
|
|
@ExcelProperty("下单时间")
|
@Schema(description = "下单时间,格式如 2026-01-01 10:00:00;留空取当前时间")
|
private String orderTime;
|
|
@ExcelProperty("产品编码")
|
@Schema(description = "产品(物料)编码", requiredMode = Schema.RequiredMode.REQUIRED)
|
private String productCode;
|
|
@ExcelProperty("产品名称")
|
@Schema(description = "产品名称(仅供对照,匹配仍以产品编码为准)")
|
private String productName;
|
|
@ExcelProperty("数量")
|
@Schema(description = "产品数量", requiredMode = Schema.RequiredMode.REQUIRED)
|
private BigDecimal count;
|
|
@ExcelProperty("单价")
|
@Schema(description = "产品单价;留空则取该物料的销售价")
|
private BigDecimal productPrice;
|
|
@ExcelProperty("税率(%)")
|
@Schema(description = "税率,百分比,例如 13 表示 13%")
|
private BigDecimal taxPercent;
|
|
@ExcelProperty("是否需要生产")
|
@Schema(description = "是否需要生产:填“是/否”,留空默认“是”")
|
private String needProduction;
|
|
@ExcelProperty("备注")
|
@Schema(description = "备注;同一张订单取首行备注作为整单备注")
|
private String remark;
|
|
}
|