package com.unis.crk.cplbusiness.entity;

import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;

/**
 * <p>
 * 成品粮出入库订单
 * </p>
 *
 * @author TangSong
 * @since 2022-03-23
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value="DataCrkywCpltzdxxDefault对象", description="成品粮出入库-通用单主表")
public class DataCrkywCpltzdxxDefault implements Serializable {

    private static final long serialVersionUID=1L;

    @ApiModelProperty(value = "数据记录ID")
    @TableId(value = "DataID", type = IdType.UUID)
    private String DataID;

    @ApiModelProperty(value = "单位ID")
    @TableField("UnitID")
    private String UnitID;

    @ApiModelProperty(value = "期间ID")
    @TableField("PeriodID")
    private String PeriodID;

    @ApiModelProperty(value = "舍位ID")
    @TableField("RoundID")
    private Integer RoundID;

    @ApiModelProperty(value = "最后一次编辑时间")
    @TableField(value = "ModifyDate",fill = FieldFill.INSERT_UPDATE)
    private Date ModifyDate;

    @ApiModelProperty(value = "条目创建人")
    private String builder;

    @ApiModelProperty(value = "数据上传时间")
    @TableField(value = "UPDATE_TIME",strategy = FieldStrategy.IGNORED,update = "null",fill = FieldFill.UPDATE)
    private Date updateTime;

    @ApiModelProperty(value = "单门ID")
    @TableField("DeptID")
    private String DeptID;

    @ApiModelProperty(value = "样式Id")
    @TableField("SytelInfoID")
    private String SytelInfoID;

    @ApiModelProperty(value = "创建时间")
    @TableField(value = "BuildDate",fill = FieldFill.INSERT)
    private Date BuildDate;

    @ApiModelProperty(value = "修改人")
    private String editor;

    @ApiModelProperty(value = "通知单ID")
    private String tzdh;

    @ApiModelProperty(value = "客户名称")
    private String kfmc;

    @ApiModelProperty(value = "客户id")
    private String kfbh;

    @ApiModelProperty(value = "合同名称")
    private String htmc;

    @ApiModelProperty(value = "合同id")
    private String htbh;

    @ApiModelProperty(value = "仓号id")
    private String ch;

    @ApiModelProperty(value = "仓号名称")
    private String chmc;

    @ApiModelProperty(value = "货位号ID")
    private String hwh;

    @ApiModelProperty(value = "货位号名称")
    private String hwhmc;

    @ApiModelProperty(value = "明细品种")
    private String mxpz;

    @ApiModelProperty(value = "入库时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    private Date rksj;

    @ApiModelProperty(value = "计划数量")
    private Double sl;

    @ApiModelProperty(value = "数量大写(公斤)")
    private String sldx;

    @ApiModelProperty(value = "粮食年期")
    private String lsrq;

    @ApiModelProperty(value = "代储费用")
    private String dcfy;

    @ApiModelProperty(value = "单价(元/公斤)")
    private Double dj;

    @ApiModelProperty(value = "备注")
    private String bz;

    @ApiModelProperty(value = "容重(g/L)")
    private String rz;

    @ApiModelProperty(value = "水分(%)")
    private String sf;

    @ApiModelProperty(value = "杂质(%)")
    private String zz;

    @ApiModelProperty(value = "不完善粒(%)")
    private String bwskl;

    @ApiModelProperty(value = "开单单位")
    private String kddw;

    @ApiModelProperty(value = "开单人")
    private String kdr;

    @ApiModelProperty(value = "开单时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    private Date kdsj;

    @ApiModelProperty(value = "计划单ID")
    private String jhdh;

    @ApiModelProperty(value = "计划单名称")
    private String jhdmc;

    @ApiModelProperty(value = "出入库作业类型")
    private String cazylx;

    @ApiModelProperty(value = "通知单状态 草稿01、待入库02、部分入库03、已入库04、已撤销05")
    private String tsdzt;

    @ApiModelProperty(value = "通知单编码")
    private String tzdbm;

    @ApiModelProperty(value = "提货单编号")
    private String thdbm;

    @ApiModelProperty(value = "剩余数量")
    private Double sysl;

    @ApiModelProperty(value = "生产年份")
    private String tzscnf;

    @ApiModelProperty(value = "产地")
    private String tzcd;

    @ApiModelProperty(value = "执行部门")
    private String zxbm;

    @ApiModelProperty(value = "责任保管员")
    private String zrbgy;

    @ApiModelProperty(value = "完成数量")
    private Double wcsl;

    @ApiModelProperty(value = "入库时间-02")
    private String rukushijian;

    @ApiModelProperty(value = "计划文件号")
    private String jhwjh;

    @ApiModelProperty(value = "企业名称")
    private String qymc;

    @ApiModelProperty(value = "销售方")
    private String xsf;

    @ApiModelProperty(value = "检验结果")
    private String jyjg;

    @ApiModelProperty(value = "粮食品种")
    private String lspz;

    @ApiModelProperty(value = "粮食性质")
    private String lsxz;

    @ApiModelProperty(value = "结算金额(元)")
    private Double je;

    @ApiModelProperty(value = "等级")
    private String lsdj;

    @ApiModelProperty(value = "审核人")
    @TableField(value = "shr")
    private String shrmc;

    @ApiModelProperty(value = "审核时间")
    private Date shsj;

    @ApiModelProperty(value = "审核状态")
    private String shzt;

    @ApiModelProperty(value = "结算方式")
    private String jsfs;

    @ApiModelProperty(value = "调入日期")
    private Date frrq;

    @ApiModelProperty(value = "审核备注")
    private String shbz;

    @ApiModelProperty(value = "企业类型")
    private String qylx;

    @ApiModelProperty(value = "收储企业属性")
    private String scqysx;

    @ApiModelProperty(value = "库点名称")
    private String kdmc;

    @ApiModelProperty(value = "出库数量")
    private Integer cksl;

    @ApiModelProperty(value = "销售单价")
    private Double xsdj;

    @ApiModelProperty(value = "实际销售单价")
    private Double sjxsdj;

    @ApiModelProperty(value = "销售收入")
    private Double xssr;

    @ApiModelProperty(value = "拟出库时间")
    private Date ncksj;

    @ApiModelProperty(value = "结束时间")
    private Date jssj;

    @ApiModelProperty(value = "质检编号")
    private String zjbh;

    @ApiModelProperty(value = "执行文件号")
    private String zxwjh;

    @ApiModelProperty(value = "机构名称")
    private String jgmc;

    @ApiModelProperty(value = "回笼标识")
    private Integer hlbs;

    @ApiModelProperty(value = "物流公司名称")
    private String wlgsmc;

    @ApiModelProperty(value = "回款账号")
    private String hkzh;

    @ApiModelProperty(value = "件数")
    private Integer js;

    @ApiModelProperty(value = "出库原因")
    private String ckyy;

    @ApiModelProperty(value = "货款拟回笼时间")
    private Date hknhlsj;

    @ApiModelProperty(value = "销售成本")
    private Double xscb;

    @ApiModelProperty(value = "被委托单位")
    private String bwtdw;

    @ApiModelProperty(value = "被委托单位名称")
    private String bwtdwmc;

    @ApiModelProperty(value = "回笼货款上传时间")
    private Date hlhkUpdateTime;

    @ApiModelProperty(value = "流程ID")
    @TableField("FLOW_ID")
    private String flowId;


    @ApiModelProperty(value = "流程状态")
    @TableField("FLOW_STATUS")
    private Integer flowStatus;

    @ApiModelProperty(value = "订单从表信息")
    @TableField(exist = false)
    private List<DataCrkywCpltzdxxFlt001> fltList = new ArrayList<>();


}
