package com.artfess.rescue.patrol.model;

import com.artfess.base.entity.BizDelModel;
import com.artfess.rescue.file.model.BizRescueFileCommon;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.TableField;

import java.util.List;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

/**
 * 巡检任务结果记录表
 *
 * @company 阿特菲斯信息技术有限公司
 * @author 系统管理员
 * @since 2024-08-02
 */
@ApiModel(value="BizInspectionResultDetail对象", description="巡检任务结果记录表")
@TableName("biz_inspection_result_detail")
@Data
public class BizInspectionResultDetail extends BizDelModel<BizInspectionResultDetail> {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "主键_ID")
    @TableId(value = "ID_", type = IdType.ASSIGN_ID)
    private String id;

    @ApiModelProperty(value = "任务ID")
    @TableField("TASK_ID_")
    private String taskId;

    @ApiModelProperty(value = "结果ID")
    @TableField("RESULT_ID_")
    private String resultId;

    @ApiModelProperty(value = "巡检点位")
    @TableField("PATROL_ID_")
    private String patrolId;

    @ApiModelProperty(value = "点位类型")
    @TableField("CATEGORY_")
    private Integer category;

    @ApiModelProperty(value = "点位类型【字典】（1：路面，2：结构物，3：安全设施，4：施工现场，5：土地，6：违章建筑及路产侵占，7：广告牌，8：收费站，9：服务区，10：突发事件，11：环保设施）")
    @TableField("TYPE_")
    private String type;

    @ApiModelProperty(value = "具体内容【字典】（更具点位类别联动）")
    @TableField("TYPE_CONTENT_")
    private String typeContent;

    @ApiModelProperty(value = "点位名称")
    @TableField("TYPE_CONTENT_DETAIL_")
    private String typeContentDetail;

    @ApiModelProperty(value = "方向")
    @TableField("DIRECTION_")
    private String direction;

    @ApiModelProperty(value = "巡检点位桩号全值（例如：K23+100）")
    @TableField("PEG_VAL_")
    private String pegVal;

    @ApiModelProperty(value = "巡检点位经度")
    @TableField("LNG_")
    private String lng;

    @ApiModelProperty(value = "巡检点位纬度")
    @TableField("LAT_")
    private String lat;

    @ApiModelProperty(value = "巡查记录时间")
    @TableField("INSPECT_TIME_")
    private LocalDateTime inspectTime;

    @ApiModelProperty(value = "巡查记录情况")
    @TableField("INSPECT_INFO_")
    private String inspectInfo;

    @ApiModelProperty(value = "巡查记录人员ID")
    @TableField("INSPECT_USER_ID_")
    private String inspectUserId;

    @ApiModelProperty(value = "巡查记录人员名称")
    @TableField("INSPECT_USER_NAME_")
    private String inspectUserName;

    @ApiModelProperty(value = "异常处理方式（1：现场处理，2：上报中心）")
    @TableField("HANDLE_TYPE_")
    private String  handleType;

    @ApiModelProperty(value = "状态(0：异常，1：正常)")
    @TableField("INSPECT_STATUS_")
    private String inspectStatus;

    @ApiModelProperty(value = "数据是否上报（0：未上报，1：上报）")
    @TableField("IS_REPORT_")
    private String isReport;

    @ApiModelProperty(value = "上报手机")
    @TableField("REPORT_TEL_")
    private String reportTel;

    @ApiModelProperty(value = "巡查队ID（组织机构的ID）")
    @TableField("TEAM_ID_")
    private String teamId;

    @ApiModelProperty(value = "异常处理状态（0：未处理，1：已处理）")
    @TableField("HANDLE_STATUS_")
    private String handleStatus;

    @ApiModelProperty(value = "异常处理措施")
    @TableField("HANDLE_CONTENT_")
    private String handleContent;

    @ApiModelProperty(value = "异常处理人ID")
    @TableField("HANDLE_USER_")
    private String handleUser;

    @ApiModelProperty(value = "异常处理人姓名")
    @TableField("HANDLE_USER_NAME_")
    private String handleUserName;

    @ApiModelProperty(value = "异常处理时间")
    @TableField("HANDLE_TIME_")
    private LocalDateTime handleTime;

    @ApiModelProperty(value = "巡查环节")
    @TableField(exist = false)
    private Integer inspectNode;

    @ApiModelProperty(value = "路段名称")
    @TableField(exist = false)
    private String roadName;

    @ApiModelProperty(value = "路段编码")
    @TableField(exist = false)
    private String roadCode;

    @ApiModelProperty(value = "附件集合")
    @TableField(exist = false)
    private List<BizRescueFileCommon> files;

}
