/*
 * Copyright [2022] [https://www.xiaonuo.vip]
 *
 * Snowy采用APACHE LICENSE 2.0开源协议，您在使用过程中，需要注意以下几点：
 *
 * 1.请不要删除和修改根目录下的LICENSE文件。
 * 2.请不要删除和修改Snowy源码头部的版权声明。
 * 3.本项目代码可免费商业使用，商业使用请保留源码和相关描述文件的项目出处，作者声明等。
 * 4.分发源码时候，请注明软件出处 https://www.xiaonuo.vip
 * 5.不可二次分发开源参与同类竞品，如有想法可联系团队xiaonuobase@qq.com商议合作。
 * 6.若您的项目无法满足以上几点，需要更多功能代码，获取Snowy商业授权许可，请在官网购买授权，地址为 https://www.xiaonuo.vip
 */
package vip.xiaonuo.biz.modular.depotWorkAlarm.entity;

import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import vip.xiaonuo.biz.modular.depotGrain.entity.BaseDepotGrainName;

/**
 * 出入库异常实体
 *
 * @author xiang
 * @date  2023/09/18 11:09
 **/
@Getter
@Setter
@TableName("DEPOT_WORK_ALARM")
public class DepotWorkAlarm extends BaseDepotGrainName {

    /** ID */
    @TableId
    @ApiModelProperty(value = "ID", position = 1)
    private String id;

    /** 项目编码 */
    @ApiModelProperty(value = "项目编码", position = 2)
    private String depotId;

    /** 预约ID */
    @ApiModelProperty(value = "预约ID", position = 3)
    private String truckBookId;

    /** 关联异常id */
    @ApiModelProperty(value = "关联异常id", position = 3)
    private String unionAlarmId;

    /** 出入库id */
    @ApiModelProperty(value = "出入库id", position = 3)
    private String depotWorkId;

    /** 出入库:入库/出库 */
    @ApiModelProperty(value = "出入库:入库/出库", position = 4)
    private String depotBizType;

    /** 车牌 */
    @ApiModelProperty(value = "车牌", position = 5)
    private String licensePlate;

    /** 异常分类 */
    @ApiModelProperty(value = "异常分类", position = 6)
    private String alarmType;

    /** 进程分类
     * 入库 车辆离开门禁区到达扦样区校验超时时间       预警类型  1
     * 入库 车辆离开扦样区到达称重区进行一次过磅称重   预警类型  2
     * 入库 车辆离开库房装卸区到达称重区进行二次过磅称重   预警类型  3
     * 入库 系统校验皮重。净重或者校验是否存在一致重量(上下阈值)  预警类型  4
     * 出库 车辆进行一次过磅称重   预警类型  5
     */
    @ApiModelProperty(value = "进程分类", position = 6)
    private String flowType;

    /** 异常信息 */
    @ApiModelProperty(value = "异常信息", position = 7)
    private String alarmMsg;

    /** 处理进程状态:待处理/驳回离场/允许通行 */
    @ApiModelProperty(value = "处理进程状态:待处理/驳回离场/允许通行", position = 8)
    private String saveState;

    /** 处理信息 */
    @ApiModelProperty(value = "处理信息", position = 9)
    private String saveMsg;

    /** 处理图片 */
    @ApiModelProperty(value = "处理时间", position = 10)
    private String savePicUrl;

    /** 处理人员 */
    @ApiModelProperty(value = "处理人员", position = 11)
    private String saveUser;

    /** 处理时间 */
    @ApiModelProperty(value = "处理时间", position = 12)
    private String saveTime;

    /** 银行管理员审批 */
    @ApiModelProperty(value = "银行管理员审批", position = 13)
    private String bankOpApprovalState;

    public DepotWorkAlarm() {
    }

    public DepotWorkAlarm(String truckBookId, String flowType) {
        this.truckBookId = truckBookId;
        this.flowType = flowType;
    }

    public DepotWorkAlarm(String depotId, String licensePlate, String alarmType, String flowType, String saveState) {
        this.depotId = depotId;
        this.licensePlate = licensePlate;
        this.alarmType = alarmType;
        this.flowType = flowType;
        this.saveState = saveState;
    }
}
