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

import com.baomidou.mybatisplus.annotation.*;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.tofly.mybatisplus.config.ToflySqlCondition;
import com.tofly.pojo.comm.vo.ImageVo;
import com.tofly.pojo.maintain.vo.ExcelImageVo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

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

import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;

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


/**
 * 管网设施维护保养记录
 *
 * @author admin
 * @date Tue Oct 26 00:00:00 CST 2021
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName(value = "TF_YMPN_PIPE_MF_RECORD_W", resultMap = "pipeMfRecordMap")
@KeySequence("TF_YMPN_PIPE_MF_RECORD_W")
@ApiModel
public class PipeMfRecord extends Model<PipeMfRecord> {
    private static final long serialVersionUID = 1L;

    /**
     * $column.comments
     */
    @TableId(value = "ID", type = IdType.INPUT)
    @ApiModelProperty(value = "$column.comments")
    private Long id;
    /**
     * 维护部门
     */
    @ApiModelProperty(value = "维护部门")
    private String maintainDept;
    /**
     * 维护时间
     */
    @ApiModelProperty(value = "维护时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date maintainTime;

    @ApiModelProperty(value = "维护时间-起")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @TableField(exist = false)
    private Date startDate;

    @ApiModelProperty(value = "维护时间-止")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @TableField(exist = false)
    private Date endDate;


    @TableField(exist = false)
    private String maintainTimeSrt;
    /**
     * 阀门位置
     */
    @ApiModelProperty(value = "阀门位置")
    private String valveLocation;
    @ApiModelProperty(value = "X")
    private Double x;
    @ApiModelProperty(value = "Y")
    private Double y;

    /**
     * 设施类型
     */
    @ApiModelProperty(value = "设施类型")
    @TableField(condition = ToflySqlCondition.LIKE)
    private String facilitiesType;
    /**
     * 设施口径
     */
    @ApiModelProperty(value = "设施口径")
    private String facilitiesCaliber;
    /**
     * 编号
     */
    @ApiModelProperty(value = "编号")
    @TableField(condition = ToflySqlCondition.LIKE)
    private String code;
    /**
     * 工单编号
     */
    @ApiModelProperty(value = "工单编号")
    @TableField(condition = ToflySqlCondition.LIKE)
    private String orderCode;
    @ApiModelProperty(value = "工单id")
    private Long orderId;
    /**
     * 创建时间
     */
    @ApiModelProperty(value = "创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @TableField(value = "CREATE_TIME", fill = FieldFill.INSERT)
    private Date createTime;
    @TableField(exist = false)
    private String createTimeSrt;
    /**
     * 创建人
     */
    @ApiModelProperty(value = "创建人")
    @TableField(value = "CREATE_USER", fill = FieldFill.INSERT)
    private Long createUser;
    @ApiModelProperty(hidden = true)
    @TableField(exist = false)
    private String createUserName;
    /**
     * 上传附件id，关联表TF_YWPN_FILE _W关键值，多个文件以英文逗号分割
     */
    @ApiModelProperty(value = "附件1")
    private String fileIdsOne;
    @ApiModelProperty(hidden = true,value = "附件1文件路径")
    @TableField(exist = false)
    private List<String> filePathOneList;
    @ApiModelProperty(value = "附件2")
    private String fileIdsTow;
    @ApiModelProperty(hidden = true,value = "附件2文件路径")
    @TableField(exist = false)
    private List<String> filePathTowList;
    @ApiModelProperty(value = "附件3")
    private String fileIdsThree;
    @ApiModelProperty(hidden = true,value = "附件3文件路径")
    @TableField(exist = false)
    private List<String> filePathThreeList;
    @TableField(exist = false)
    @ApiModelProperty("管网设施维护保养内容情况列表")
    private List<PipeMfContent> pipeMfContentList;
    @TableField(exist = false)
    @ApiModelProperty("管网设施维护保养评价记录列表")
    private List<PipeMfEvaluate> pipeMfEvaluateList;

    @ApiModelProperty(value = "是否有效 0无 1有")
    private String flag;
    @ApiModelProperty(value = "个人任务id")
    private Long repairUserId;

    /**
     * excel导出 设施是否能启闭 是否评价
     */
    @ApiModelProperty(hidden = true)
    @TableField(exist = false)
    private String excelISPJ;
    /**
     * excel导出 设施维护保养效果 评价内容
     */
    @ApiModelProperty(hidden = true)
    @TableField(exist = false)
    private String pJconten;
}
