package com.ruoyi.postCheck.domain.join;

import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.ruoyi.common.annotation.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serializable;
import java.util.Date;
import java.util.Map;

@EqualsAndHashCode
@Data
@ApiModel(value = "岗检记录上传列表：连接表岗检计划、岗检计划明细，按岗位分组查询")
public class PostPlanJoinChecked implements Serializable {

    private static final long serialVersionUID = -4567465960543504158L;
    @ApiModelProperty("岗检计划明细ID")
    private Long planInfoId;

    @ApiModelProperty("检查工作组ID")
//    @TableField(value = "check_group_id")
    @Excel(name = "检查工作组ID")
    private Long checkGroupId;
    @ApiModelProperty("检查工作组名称")
    private String checkGroupName;

    @ApiModelProperty("检查小组")
//    @TableField(value = "check_team_id")
    @Excel(name = "检查小组")
    private Long checkTeamId;

    @ApiModelProperty("检查小组名称")
    private String checkTeamName;

    @ApiModelProperty("上传-岗检人")
    private String checkedUserName;

    @ApiModelProperty("检查人员中文名称逗号拼接")
    private String checkedUserNames;

    @ApiModelProperty("上传：检查人ID")
//    @TableField(value = "checked_user_id")
    @Excel(name = "检查人ID")
    private Long checkedUserId;

    @ApiModelProperty("被检查部门ID")
//    @TableField(value = "checked_dept_id")
    @Excel(name = "被检查部门ID")
    private Long checkedDeptId;
    @ApiModelProperty("被检查部门名称")
    private String checkedDeptName;
    @ApiModelProperty("被检查部门属性")
    private String checkedDeptTypeView;

    @ApiModelProperty("被检查岗位ID")
//    @TableField(value = "checked_post_id")
    @Excel(name = "被检查岗位ID")
    private Long checkedPostId;

    @ApiModelProperty("被检查岗位名称（多个拼接）")
    private String checkedPostNames;


    @ApiModelProperty("岗检计划的状态：1-待审核；2-审核中；3-通过；4-驳回；")
    private Integer planStatus;

    @ApiModelProperty("岗检状态：1-未检；2-已检；")
//    @TableField(value = "status")
    @Excel(name = "岗检状态")
    private Integer status;


    @ApiModelProperty("检查时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date checkTime;


    @ApiModelProperty("上传：检查后的检查表照片或PDF，磁盘相对路径")
    private String checkedImg;


    /**
     * 请求参数
     */
    @JsonInclude(JsonInclude.Include.NON_EMPTY)
    @TableField(exist = false)
    private Map<String, Object> params;

}
