package com.ruoyi.sales.dto;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.List;
/**
*
* 销售订单打印Dto
*
*
* @author deslrey
* @version 1.0
* @since 2026/03/27 14:36
*/
@Data
public class SalesOrdersDto {
@ApiModelProperty("客户名称")
private String customerName;
@ApiModelProperty("项目名称")
private String projectName;
@ApiModelProperty("产品名称")
private String productName;
@ApiModelProperty("业务员")
private String salesman;
@ApiModelProperty("制单日期")
@JsonFormat(pattern = "yyyy/MM/dd")
private LocalDateTime executionDate;
@ApiModelProperty("交货日期")
@JsonFormat(pattern = "yyyy/MM/dd")
private LocalDate deliveryDate;
@ApiModelProperty("送货地址")
private String companyAddress;
@ApiModelProperty("订单编号")
private String salesContractNo;
@ApiModelProperty("产品明细")
private List items;
@ApiModelProperty("小计数量")
private BigDecimal subtotalQuantity;
@ApiModelProperty("小计面积")
private BigDecimal subtotalArea;
@ApiModelProperty("小计金额")
private BigDecimal subtotalAmount;
@ApiModelProperty("合计数量")
private BigDecimal totalQuantity;
@ApiModelProperty("合计面积")
private BigDecimal totalArea;
@ApiModelProperty("合计金额")
private BigDecimal totalAmount;
@ApiModelProperty("总金额")
private String totalAmountDisplay;
@ApiModelProperty("加工要求和备注")
private String remakes;
@ApiModelProperty("制单员")
private String orderMaker;
@ApiModelProperty("审核员")
private String auditor;
@ApiModelProperty("打印人")
private String printPeople;
@ApiModelProperty("审核日期")
@JsonFormat(pattern = "yyyy/MM/dd")
private LocalDateTime auditDate;
@ApiModelProperty("制单日期(底部)")
@JsonFormat(pattern = "yyyy/MM/dd")
private LocalDateTime orderMakerDate;
@ApiModelProperty("打印时间")
@JsonFormat(pattern = "yyyy/MM/dd HH:mm:ss")
private LocalDateTime printTime;
@ApiModelProperty("公司名称")
private String companyName;
@ApiModelProperty("其他费用明细")
private List otherFees;
/**
* 销售订单明细 DTO
*/
@Data
public static class SalesOrderItemDto {
@ApiModelProperty("楼层编号")
private String floorCode;
@ApiModelProperty("产品描述")
private String productDescription;
@ApiModelProperty("宽(弧长)")
private BigDecimal width;
@ApiModelProperty("高")
private BigDecimal height;
@ApiModelProperty("数量")
private BigDecimal quantity;
@ApiModelProperty("结算面积(㎡)")
private BigDecimal area;
@ApiModelProperty("单价")
private BigDecimal unitPrice;
@ApiModelProperty("金额")
private BigDecimal amount;
@ApiModelProperty("备注")
private String remark;
@ApiModelProperty("加工要求")
private String processRequirement;
}
/**
* 其他费用 DTO
*/
@Data
public static class OtherFeeDto {
@ApiModelProperty("费用名称")
private String feeName;
@ApiModelProperty("单价")
private BigDecimal unitPrice;
@ApiModelProperty("数量")
private BigDecimal quantity;
@ApiModelProperty("金额")
private BigDecimal amount;
}
}