package com.njzscloud.supervisory.dispose.pojo;

import com.baomidou.mybatisplus.annotation.*;
import com.njzscloud.common.mp.support.handler.j.JsonTypeHandler;
import com.njzscloud.supervisory.dispose.contant.AuditStatus;
import com.njzscloud.supervisory.dispose.contant.GarbageCategory;
import com.njzscloud.supervisory.dispose.contant.TimeOutStatus;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import lombok.experimental.Accessors;

import java.time.LocalDateTime;
import java.util.List;

/**
 * 处置记录
 */
@Getter
@Setter
@ToString
@Accessors(chain = true)
@TableName(value = "dispose_record", autoResultMap = true)
public class DisposeRecordEntity {

    /**
     * 唯一标识
     */
    @TableId(type = IdType.ASSIGN_ID)
    private String id;

    /**
     * 来源
     */
    private String origin;

    /**
     * 清运公司
     */
    private String clearingCompany;

    private GarbageCategory garbageCategory;

    /**
     * 车牌号
     */
    private String licensePlate;

    /**
     * 联系人
     */
    private String contact;

    /**
     * 联系电话
     */
    private String contactPhone;

    /**
     * 入场重量
     */
    private String inWeight;

    /**
     * 出场重量
     */
    private String outWeight;

    /**
     * 净重量
     */
    private String suttleWeight;

    /**
     * 入场时间
     */
    private LocalDateTime inTime;

    /**
     * 出场时间
     */
    private LocalDateTime outTime;

    /**
     * 处置地点
     */
    private String disposalSite;
    /**
     * 装车照片
     */
    @TableField(typeHandler = JsonTypeHandler.class)
    private List<String> zcPhotos;

    /**
     * 审核状态
     */
    private AuditStatus auditStatus;

    /**
     * 问题描述
     */
    private String problemDesc;
    private TimeOutStatus timeOutStatus;

    private String dataSn;
    private String inFrontPhoto;
    private String inBodyPhoto;
    private String outFrontPhoto;
    private String outBodyPhoto;
    /**
     * 现场照片
     */
    @TableField(typeHandler = JsonTypeHandler.class)
    private List<String> tspPhotos;

    /**
     * 创建人 Id;  sys_user.id
     */
    @TableField(fill = FieldFill.INSERT)
    private Long creatorId;

    /**
     * 修改人 Id;  sys_user.id
     */
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private Long modifierId;

    /**
     * 创建时间
     */
    @TableField(fill = FieldFill.INSERT)
    private LocalDateTime createTime;

    /**
     * 修改时间
     */
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private LocalDateTime modifyTime;

    /**
     * 是否删除;  0-->未删除、1-->已删除
     */
    @TableLogic
    private Boolean deleted;

}
