package com.zt.plat.module.contractorder.api.vo.contract;

import com.zt.plat.framework.common.pojo.PageParam;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.math.BigDecimal;
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 ContractReceiveSendPageReqVO extends PageParam {

    @Schema(description = "物料名称", example = "ZT")
    private String materialName;

    @Schema(description = "物料编码")
    private String materialNumber;

    @Schema(description = "元素缩写")
    private String elementAbbreviation;

    @Schema(description = "元素名称", example = "张三")
    private String elementName;

    @Schema(description = "元素编码")
    private String elementNumber;

    @Schema(description = "类型(字典:CONTRACT_RECEIVING_SHIPPING_TYPE_RULES)", example = "2")
    private String type;

    @Schema(description = "规则(字典:CONTRACT_RECEIVING_SHIPPING_ALLOW_RULES)")
    private String rule;

    @Schema(description = "符号(字典:CONTRACT_RECEIVING_SHIPPING_SYMBOL_RULES)")
    private String rangeWay;

    @Schema(description = "区间下限")
    private BigDecimal gradeDown;

    @Schema(description = "区间上限")
    private BigDecimal gradeUp;

    @Schema(description = "合同id", example = "22162")
    private Long contractId;

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

}