package com.junmp.jyzb.entity;

import cn.hutool.core.date.DateTime;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;

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

/**
* @Author: Zhaojw
* @Description: 库存
* @DateTime: 2023/7/20 10:55
* @Params: 
* @Return 
*/
@Data
@TableName("base_inventory")
public class Inventory implements Serializable {

    @TableId(value = "id",type=IdType.ASSIGN_UUID)
    private String id;

    @TableField(exist = false)
    private Long wiId;

    /**
     * 装备包ID
     */
    @TableField("package_id")
    private String packageId;

    /**
     * 装备类型ID
     */
    @TableField("type_id")
    private String typeId;
    @TableField("epc_type")
    private Integer epcType;

    @TableField(exist = false)
    private String typeName;
    /**
     * 装备类型ID
     */
    @TableField("size_id")
    private String sizeId;

    @TableField(exist = false)
    private String sizeName;
    /**
     * 供应商ID
     */
    @TableField("supplier_id")
    private String supplierId;

    @TableField(exist = false)
    private String supplierName;

    /**
     * 部门ID
     */
    @TableField("department_id")
    private Long departmentId;

    /**
     * 货架位置
     */
    @TableField("shelf_location")
    private String shelfLocation;

    /**
     * 货架id
     */
    @TableField("shelf_id")
    private String shelfId;

    /**
     * 区域id
     */
    @TableField("area_id")
    private String areaId;
    /**
     * epc
     */
    private String epc;

    /**
     * 组织机构ID
     */
    @TableField("org_id_int")
    private Long orgId;

    /**
     * 组织机构名称
     */
    @TableField(exist = false)
    private String orgName;

    /**
     * 组织机构代码
     */
    @TableField(exist = false)
    private String orgCode;

    /**
     * 规格尺寸
     */
    private String state;

    /**
     * 业务状�
     */
    @TableField("bussiness_state")
    private String bussinessState;

    /**
     * 位置状�
     */
    @TableField("location_state")
    private String locationState;


    /**
     * 生产日期
     */
    @TableField(value = "production_date",fill = FieldFill.INSERT_UPDATE)
    private Date productionDate;

    /**
     * 质保期
     */
    @TableField(value = "warranty_period", fill = FieldFill.INSERT_UPDATE)
    private Integer warrantyPeriod;

    /**
     * 维保期
     */
    @TableField(value = "maintenance_period", fill = FieldFill.INSERT_UPDATE)
    private Integer maintenancePeriod;

    /**
     * 维修次数
     */
    @TableField("fix_count")
    private Integer fixCount;
    /**
     * 是否过期
     */
    @TableField("term_state")
    private Integer TermState;
    /**
     * 位置类型
     */
    @TableField(value = "location_type")
    private Integer locationType;

    /**
     * 位置ID
     */
    @TableField(value = "location_id", fill = FieldFill.INSERT_UPDATE)
    private String locationId ;

    /**
     * 位置名称
     */
    @TableField(exist = false)
    private String locationName ;

    /**
     * 是否遗失
     */
    @TableField(value = "lost_flag")
    private Integer lostFlag ;


    /**
     * 标签id
     */
    private String tid ;

    /**
     * 价格
     */
    private BigDecimal price ;

    /**
     * 备注
     */
    //装备导入 equipmentImport
    private String note ;


    /**
     * 创建时间
     */
    @TableField(value = "create_time", fill = FieldFill.INSERT)
    private Date createTime;

    /**
     * 更新时间
     */
    @TableField(value = "update_time", fill = FieldFill.UPDATE)
    private Date updateTime;

    /**
     * 更新人员
     */
    @TableField(value = "update_user", fill = FieldFill.INSERT)
    private String updateUser;

    /**
     * 创建人员
     */
    @TableField(value = "create_user", fill = FieldFill.UPDATE)
    private String createUser;

    @TableField(exist = false)
    private String bussinessType;

    //Epc类型（0固定资产1库存物资非固定资产）
    @TableField(value = "property")
    private Integer property;

    //装备绑定状态（1表示绑定箱门，0或空表示解绑箱门或没有绑定）
    @TableField(value = "eqs_bind_state", fill = FieldFill.INSERT_UPDATE)
    private Integer eqsBindState;

    //归还入库使用（物资原来所在仓库）
    @TableField(exist = false)
    private String oldLocationId;

    @TableField(exist = false)
    private String devSn;

    @TableField(exist = false)
    private String cabinetId;

    @TableField(exist = false)
    private String boxNo;

    @TableField(value = "police_id")
    private String policeId;

    @TableField(exist = false)
    private String policeName;

    @TableField(value = "box_mark_id")
    private String boxMarkId;

    @TableField(exist = false)
    private String equCode;

    @TableField(exist = false)
    private String sizeCode;

    @TableField(exist = false)
    private String supplierCode;

    @TableField(value = "instantiation_state")
    private Integer instantiationState;

    @TableField(value = "is_in_box")
    private Integer isInBox;

    @TableField(value = "bind_location_id")
    private String bindLocationId;

    @TableField(exist = false)
    private String bindCabinetId;

    @TableField(exist = false)
    private String photo;

    @TableField(exist = false)
    private Integer shelfRow;

    @TableField(exist = false)
    private Integer shelfColumn;

    @TableField(exist = false)
    private Integer shelfRange;

}