package com.prolog.cs.base.gsp.model;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.prolog.cs.base.gsp.vo.GspUpkeepCheckVO;
import com.prolog.framework.core.annotation.Column;
import com.prolog.framework.core.annotation.Id;
import com.prolog.framework.core.annotation.Ignore;
import com.prolog.framework.core.annotation.Table;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

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

/**
 * @Description
 * @Date 2021-05-19
 */

@Data
@ApiModel
@Table(value = "gsp_upkeep_check_plan")
public class GspUpkeepCheckPlan implements Serializable {
    private static final long serialVersionUID = 8241210990350951861L;

    @Id
    @ApiModelProperty(value = "单据ID")
    @Column(value = "id")
    private String id;

    @ApiModelProperty(value = "养护单号")
    @Column(value = "code")
    private String code;

    @ApiModelProperty(value = "企业ID")
    @Column(value = "enterprise_id")
    private String enterpriseId;

    @ApiModelProperty(value = "仓配中心ID")
    @Column(value = "dc_id")
    private String dcId;

    @ApiModelProperty(value = "仓ID")
    @Column(value = "warehouse_id")
    private String warehouseId;

    @ApiModelProperty(value = "货主id")
    @Column(value = "cargo_owner_id")
    private String cargoOwnerId;

    @ApiModelProperty(value = "状态：10=初始 20=已审批 30=已驳回")
    @Column(value = "status")
    private String status;

    @ApiModelProperty(value = "数据来源")
    @Column(value = "source")
    private String source;

    @ApiModelProperty(value = "创建日期")
    @Column(value = "gmt_create")
    private Date gmtCreate;

    @ApiModelProperty(value = "创建人")
    @Column(value = "creator")
    private String creator;

    @ApiModelProperty(value = "创建人")
    @Column(value = "creator_name")
    private String creatorName;

    @ApiModelProperty(value = "最后修改日期")
    @Column(value = "gmt_modified")
    private Date gmtModified;

    @ApiModelProperty(value = "最后修改人")
    @Column(value = "modifier")
    private String modifier;

    @ApiModelProperty(value = "最后修改人")
    @Column(value = "modifier_name")
    private String modifierName;

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

    @ApiModelProperty(value = "打印次数")
    @Column(value = "PRINT_COUNT")
    private Integer printCount;

    @ApiModelProperty(value = "建筑物ID")
    @Column(value = "BLDG_ID")
    private String bldgId;

    @Ignore
    @ApiModelProperty(value = "货主")
    private String cargoOwnerName;

    @Ignore
    @ApiModelProperty(value = "仓库Name")
    private String warehouseName;

    @Ignore
    private List<GspUpkeepCheckVO> gspUpkeepCheckList;

    @Ignore
    @ApiModelProperty(value = "建筑物")
    private String bldgName;

    @ApiModelProperty(value = "")
    @Column(value = "IS_PROTECTED")
    private Integer isProtected;

    @ApiModelProperty(value = "类型：0=未分类 1=重点特殊药品，2=重点专管药品，3=重点其他药品，4=重点医疗器械，5=重点非药品，3=一般药品，4=一般器械，5=一般非药品")
    @Column(value = "UPKEEP_TYPE")
    private Integer upkeepType;

    @Ignore
    @ApiModelProperty(value = "类型：0=未分类 1=重点特殊药品，2=重点专管药品，3=重点其他药品，4=重点医疗器械，5=重点非药品，3=一般药品，4=一般器械，5=一般非药品")
    private String upkeepTypeDesc;

    @Ignore
    @ApiModelProperty(value = "打印时间")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date printDate;

    @Ignore
    @ApiModelProperty(value = "养护员")
    private String operBy;
}
