package com.ruoyi.postCheck.domain.join;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.postCheck.domain.PostCheckedProblem;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

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

    private static final long serialVersionUID = 389888685756205407L;

    @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 checkedUserNames;

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

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

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

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

    @ApiModelProperty("问题录入中的检查时间：岗检计划开始时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date checkTime;

    @ApiModelProperty("问题列表")
    List<PostCheckedProblem> children = new ArrayList<>();
}
