package com.shinsoft.sto.model;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.shinsoft.generator.model.BaseModel;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;
import com.alibaba.fastjson.annotation.JSONField;

/**
 * <p>
 * 库存变更记录表
 * </p>
 *
 * @author system
 * @since 2024-09-30
 */
@Getter
@Setter
@Accessors(chain = true)
@TableName("STO_TRANS_RECORD")
@ApiModel(value = "TransRecord对象", description = "库存变更记录表")
public class TransRecord extends BaseModel {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty("公司代码")
    private String compCd;

    @ApiModelProperty("部门代码")
    private String deptCd;

    @ApiModelProperty("物料编码")
    private String itemCd;

    @ApiModelProperty("物料名称")
    private String itemNm;

    @ApiModelProperty("物料类型（原料、备件、成品、副产品、其他）")
    private String itemType;

    @ApiModelProperty("业务单据号")
    private String transactionNo;

    @ApiModelProperty("主数量(干基量)")
    private BigDecimal qty;

    @ApiModelProperty("计量单位")
    private String uom;

    @ApiModelProperty("库房号")
    private String storeCd;
    @ApiModelProperty("库房名称")
    @TableField(exist = false)
    private String storeNm;

    @ApiModelProperty("区号")
    private String areaCd;

    @ApiModelProperty("垛位号")
    private String stackCd;

    @ApiModelProperty("业务类型")
    private String transactionType;

    @ApiModelProperty("湿基量")
    private BigDecimal qtyWet;

    @ApiModelProperty("事务处理时间")
    @JSONField(format="yyyy-MM-dd")
    private Date transactionDate;

    @ApiModelProperty("相关表")
    private String transactionTable;

    @ApiModelProperty("相关表ID")
    private String transactionId;

    @ApiModelProperty("销售订单号")
    private String salOrdNo;

    @ApiModelProperty("销售订单行号")
    private String salOrdLine;

    @ApiModelProperty("采购订单号")
    private String purOrdNo;

    @ApiModelProperty("采购订单行号")
    private String purOrdLn;

    @ApiModelProperty("生产计划号")
    private String prdPlanNo;

    @ApiModelProperty("客商ID")
    private String tradePartnerId;

    @ApiModelProperty("客商编码")
    private String tradePartnerCode;

    @ApiModelProperty("客商名称")
    private String tradePartnerName;

    @ApiModelProperty("备注")
    private String remarks;

    @TableField(exist = false)
    private String remarksOnhand;

    private String attr1;

    private String attr2;

    private String attr3;

    private String attr4;

    private String attr5;

    private String attr6;

    private String attr7;

    private String attr8;

    private String attr9;

    private String attr10;

    @TableField(exist = false)
    private String userId;

    @ApiModelProperty("合同号")
    private String contrNo;
    @ApiModelProperty("合同行号")
    private String contrLineNo;
}
