/*
 * Author: wangjian
 * 生成entity
 */
package com.tofly.stocks.entity;

import com.baomidou.mybatisplus.annotation.*;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.tofly.utils.NullHandler;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;

import org.apache.ibatis.type.JdbcType;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.List;
import java.util.stream.Collectors;


/**
 * 设备转移信息表
 *
 * @author admin
 * @date Fri Nov 25 00:00:00 CST 2022
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName(value = "TF_STOCKS_DEVICE_TRANS_INFO", resultMap = "deviceTransInfoMap")
@KeySequence("TF_STOCKS_DEVICE_TRANS_INFO")
@ApiModel
public class DeviceTransInfo extends Model<DeviceTransInfo> {
    private static final long serialVersionUID = 1L;

    /**
     * 设备转移表主键ID
     */
    @TableId(value = "ID", type = IdType.INPUT)
    @ApiModelProperty(value = "设备转移表主键ID")
    private Long id;
    /**
     * 记录日期
     */
    @ApiModelProperty(value = "记录日期")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date recordTime;
    /**
     * 记录人ID
     */
    @ApiModelProperty(value = "记录人ID")
    private Long recordUserId;
    /**
     * 转移日期
     */
    @ApiModelProperty(value = "转移日期")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date transferTime;
    /**
     * 水厂ID
     */
    @ApiModelProperty(value = "水厂ID")
    private Long waterworksId;


    @ApiModelProperty(value = "设备转移状态 1、未转移  2、已转移")
    private Integer transStatus;


    @ApiModelProperty(value = "转移目的地")
    @TableField(jdbcType = JdbcType.VARCHAR,updateStrategy = FieldStrategy.IGNORED,typeHandler = NullHandler.class)
    private String transDestination;


    /**
     * 附件json
     */
    @ApiModelProperty(value = "附件json")
    @TableField(jdbcType = JdbcType.VARCHAR,updateStrategy = FieldStrategy.IGNORED,typeHandler = NullHandler.class)
    private String annex;

    @ApiModelProperty(value = "转移备注")
    @TableField(jdbcType = JdbcType.VARCHAR,updateStrategy = FieldStrategy.IGNORED,typeHandler = NullHandler.class)
    private String transRemark;

    @ApiModelProperty(value = "类别")
    private Long deviceType;
}
