package com.sy.coinage.workshop.req;

import io.swagger.annotations.ApiModelProperty;

import java.io.Serializable;
import java.util.Date;

import com.alibaba.fastjson2.annotation.JSONField;
import com.sy.coinage.core.req.PageReq;
import lombok.Getter;
import lombok.Setter;

/**
 * -查询请求bean
 */
@Getter
@Setter
public class DeliveryPlanListReq extends PageReq implements Serializable {

    private static final long serialVersionUID = 1L;


    @ApiModelProperty(value = "品名ID")
    private Integer securitiesId;

    @ApiModelProperty(value = "品名")
    private String securities;

    @ApiModelProperty(value = "入库地点ID(原发货地址ID)")
    private String addressId;

    @ApiModelProperty(value = "入库地址（原发货地址名称）")
    private String addressCn;

    @ApiModelProperty(value = "计划解缴时间（yyyy-MM-dd）")
    @JSONField(format = "yyyy-MM-dd")
    private Date planDeliveryDate;

    @ApiModelProperty(value = "数量（万枚）")
    private Integer qty;

    @ApiModelProperty(value = "总箱数（整拍箱子+零箱）")
    private Integer totalBoxNum;

    @ApiModelProperty(value = "首箱冠字号(根据首箱冠字号，与首拍箱数)")
    private String firstCrown;

    @ApiModelProperty(value = "首拍编号")
    private String firstSerialNumber;

    @ApiModelProperty(value = "首拍箱数(根据首拍箱数)")
    private Integer firstBoxNum;

    @ApiModelProperty(value = "crownBetween")
    private String crownBetween;

    @ApiModelProperty(value = "计划拍数（根据箱数、初始冠字号计算得到）")
    private Integer planPar;

    @ApiModelProperty(value = "零箱数-计划（计算所得，不是完整拍子的都在这里累加）")
    private Integer planBoxNum;

    @ApiModelProperty(value = "拍号字符串（将拍号按照规则，组装成字符串）")
    private String parBetween;

    @ApiModelProperty(value = "发货单号（品名+序号的形式）")
    private String orderNo;

    @ApiModelProperty(value = "计划单状态  1:初始创建  2:完成发货")
    private Integer status;

    @ApiModelProperty(value = "开始跳号ID字符串（多个用逗号分割），冗余字段")
    private String startJumpIds;

    @ApiModelProperty(value = "开始跳号字符串（多个跳号段用逗号分割）冗余字段")
    private String startJumpStr;

    @ApiModelProperty(value = "结束跳号id字符串（多ID用逗号分割）冗余字段")
    private String endJumpIds;

    @ApiModelProperty(value = "结束跳号字符串（多个跳号段用逗号分割),冗余字段")
    private String endJumpStr;

    @ApiModelProperty(value = "实际发货时间(yyyy-MM-dd hh:mm:ss)，即app库房发货确认时的时间。")
    @JSONField(format = "yyyy-MM-dd")
    private Date deliveryTime;

    @ApiModelProperty(value = "记录创建时间")
    @JSONField(format = "yyyy-MM-dd")
    private Date createTime;

}
