package com.zt.plat.module.contractorder.controller.admin.entrustorder.vo;

import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.TableField;
import lombok.*;
import java.util.*;
import io.swagger.v3.oas.annotations.media.Schema;
import com.zt.plat.framework.common.pojo.PageParam;
import java.math.BigDecimal;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;

import static com.zt.plat.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;

@Schema(description = "管理后台 - 委托加工订单明细分页 Request VO")
@Data
public class EntrustOrderDetailPageReqVO extends PageParam {

    @Schema(description = "收货工厂名称", example = "赵六")
    private String receiveFactoryName;

    @Schema(description = "订单ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "8625")
    private Long orderId;

    @Schema(description = "收货工厂编码")
    private String receiveFactoryNumber;

    @Schema(description = "收货库位名称", example = "张三")
    private String receiveWarehouseName;

    @Schema(description = "收货库位编码")
    private String receiveWarehouseNumber;

//    @Schema(description = "物料名称", example = "赵六")
//    private String materialName;
//
//    @Schema(description = "物料编码")
//    private String materialNumber;

    @Schema(description = "发货计量单位")
    private String sendUnit;
    @Schema(description = "收货计量单位")
    private String receiveUnit;

    @Schema(description = "暂估数量")
    private BigDecimal forecastQuantity;

    @Schema(description = "含税单价", example = "24704")
    private BigDecimal inTaxUnitPrice;

    @Schema(description = "交货起始日期")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private LocalDateTime[] deliveryCargoBeginDate;

    @Schema(description = "交货截止日期")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private LocalDateTime[] deliveryCargoEndDate;

    @Schema(description = "是否启用")
    private String isEnable;

    @Schema(description = "短文本")
    private String shortText;

    @Schema(description = "创建时间")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private LocalDateTime[] createTime;

    @Schema(description = "税码")
    private String taxNumber;
    //科目类别
    @Schema(description = "科目类别")
    private String accountingItemType;
    //MTRL_CPNT_NUM 物料组
    @Schema(description = "物料组")
    private String materialGroup;
    //RET_ITM  退货标识
    @Schema(description = "退货标识")
    private String returnItem;
    //免费标识FREE_ITM
    @Schema(description = "免费标识")
    private String freeItem;
    //VNDB 外部行号
    @Schema(description = "外部行号")
    private String externalLineNumber;
    //ACTS_CTGR_DTL 科目分配
    @Schema(description = "科目分配")
    private String accountingItemAllocation;
    @Schema(description = "备注")
    private String remark;
    @Schema(description = "收货物料编码")
    private String receiveMaterialNumber;
    @Schema(description = "收货物料名称")
    private String receiveMaterialName;
    @Schema(description = "发货物料编码")
    private String sendMaterialNumber;
    @Schema(description = "发货物料名称")
    private String sendMaterialName;
    //税率
    @Schema(description = "税率")
    private BigDecimal taxRate;
    @Schema(description = "回收率")
    private BigDecimal recoveryRate;
    @Schema(description = "行项目号")
    private Integer lineNumber;
    @Schema(description = "金属元素缩写")
    private String elementAbbreviation;
    @Schema(description = "金属元素名称")
    private String elementName;
    @Schema(description = "金属元素编码")
    private String elementNumber;

}