package org.jeecg.modules.checkData.equipmentCheckData.vo;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.Getter;
import lombok.Setter;
import org.jeecg.modules.utils.DicMap;
import org.springframework.format.annotation.DateTimeFormat;

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

/**
 * <p>
 * 线路巡查记录主表-巡道员使用
 * </p>
 *
 * @author hkl
 * @since 2023-07-08
 */
@Data
public class RecordPatrolMasterVO {


    private static final long serialVersionUID = 1L;

    @ApiModelProperty("主键")
    @TableId("id")
    private String id;

    @ApiModelProperty("创建人")
    @TableField("create_by")
    private String createBy;

    @ApiModelProperty("创建日期")
    @TableField("create_time")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date createTime;

    @ApiModelProperty("更新人")
    @TableField("update_by")
    private String updateBy;

    @ApiModelProperty("更新时间")
    @TableField("update_time")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date updateTime;

    @ApiModelProperty("检查批次编号")
    @TableField("ek_code")
    private String ekCode;

    @ApiModelProperty("工单编号")
    @TableField("work_code")
    private String workCode;

    @ApiModelProperty("检查日期")
    @TableField("inspect_time")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date inspectTime;

    @ApiModelProperty("天气")
    @TableField("weather")
    private String weather;

    @ApiModelProperty("巡查线路id")
    @TableField("light_rail_id")
    private String lightRailId;

    @ApiModelProperty("巡查线路名称")
    @TableField("light_rail_name")
    private String lightRailName;

    @ApiModelProperty("计划巡道里程（km）")
    @TableField("planned_patrol_mileage")
    private BigDecimal plannedPatrolMileage;

    @ApiModelProperty("巡道线别id")
    @TableField("line_alias_id")
    private String lineAliasId;

    @ApiModelProperty("巡道线别名称")
    @TableField("line_alias_name")
    private String lineAliasName;

    @ApiModelProperty("起始里程")
    @TableField("starting_mileage")
    private BigDecimal startingMileage;

    @ApiModelProperty("终点里程")
    @TableField("end_mileage")
    private BigDecimal endMileage;

    @ApiModelProperty("完成里程")
    @TableField("completed_mileage")
    private BigDecimal completedMileage;

    @ApiModelProperty("巡道类型(1:步行巡道 2:乘车巡道)")
    @TableField("patrol_type")
    private String patrolType;

    @ApiModelProperty("巡道类型翻译(1:步行巡道 2:乘车巡道)")
    private String patrolTypeStr;
    public String getPatrolTypeStr() {
        return  DicMap.PATROL_TYPE_MAP.get(patrolType);
    }

    @ApiModelProperty("巡道工时")
    @TableField("patrol_hourse")
    private BigDecimal patrolHourse;

    @ApiModelProperty("检查人姓名")
    @TableField("check_by")
    private String checkBy;

    @ApiModelProperty("清点时间")
    @TableField("check_time")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd hh:mm")
    @DateTimeFormat(pattern = "yyyy-MM-dd hh:mm")
    private Date checkTime;

    @ApiModelProperty("销点时间")
    @TableField("pinpoint_time")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd hh:mm")
    @DateTimeFormat(pattern = "yyyy-MM-dd hh:mm")
    private Date pinpointTime;

    @ApiModelProperty("审核人姓名")
    @TableField("verify_by")
    private String verifyBy;

    @ApiModelProperty("审核时间")
    @TableField("verify_time")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date verifyTime;

    @ApiModelProperty("巡道员备忘录")
    @TableField("remark")
    private String remark;

    @ApiModelProperty("是否删除（0：未删除；1：已删除）")
    @TableField("del_flag")
    private String delFlag;


}
