package com.mosty.base.model.dto.qwzx;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.mosty.base.model.entity.qwzx.TbQwJl;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;

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

/**
 * @author dw
 * @since 2022-08-03
 * 值班排班周期DTO
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value = "TbQwZbpbZqDto对象", description = "值班排班周期DTO")
public class TbQwZbpbZqDto implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "ID")
    @TableId(value = "id", type = IdType.ASSIGN_ID)
    private String id;

    @ApiModelProperty(value = "值班排班ID")
    private String pbId;

    @ApiModelProperty(value = "值班周期，存1，2，3")
    private Integer zbzq;

    @ApiModelProperty(value = "班次数，存1，2，3")
    private Integer bcs;

    @ApiModelProperty(value = "勤务班次ID")
    private String qwbcid;

    @ApiModelProperty(value = "值班开始时间")
    @JsonFormat(pattern = "HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "HH:mm:ss")
    private Date kssj;

    @ApiModelProperty(value = "值班结束时间")
    @JsonFormat(pattern = "HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "HH:mm:ss")
    private Date jssj;

    @ApiModelProperty(value = "值班时长（分钟）")
    private Integer zbsc;

    @ApiModelProperty(value = "值班领导ID")
    private String zbldId;

    @ApiModelProperty(value = "值班领导身份证号")
    private String zbldSfzh;

    @ApiModelProperty(value = "值班领导")
    private String zbldXm;

    @ApiModelProperty(value = "值班电话")
    private String zbldDh;

    @ApiModelProperty(value = "值班指挥长ID")
    private String zbzhzId;

    @ApiModelProperty(value = "值班指挥长身份证号")
    private String zbzhzSfzh;

    @ApiModelProperty(value = "值班指挥长姓名")
    private String zbzhzXm;

    @ApiModelProperty(value = "值班指挥长电话")
    private String zbzhzDh;

    @ApiModelProperty(value = "专职指挥长ID")
    private String zzzhzId;

    @ApiModelProperty(value = "专职指挥长身份证号")
    private String zzzhzSfzh;

    @ApiModelProperty(value = "专职指挥长姓名")
    private String zzzhzXm;

    @ApiModelProperty(value = "专职指挥长电话")
    private String zzzhzDh;

    @ApiModelProperty(value = "法制值班ID")
    private String fzzbId;

    @ApiModelProperty(value = "法制值班身份证号")
    private String fzzbSfzh;

    @ApiModelProperty(value = "法制值班姓名")
    private String fzzbXm;

    @ApiModelProperty(value = "法制值班电话")
    private String fzzbDh;

    @ApiModelProperty(value = "值班民警（此处存民警id、姓名、警号、呼号json数据，详细数据从关联表获取）")
    private String zbmj;

    @ApiModelProperty(value = "值班辅警（此处存民警id、姓名、警号、呼号json数据，详细数据从关联表获取）")
    private String zbfj;

    @ApiModelProperty(value = "民警数量（冗余存储方便统计）")
    private Integer mjsl;

    @ApiModelProperty(value = "辅警数量（冗余存储方便统计）")
    private Integer fjsl;

    @ApiModelProperty(value = "呼号")
    private String hh;

    @ApiModelProperty(value = "所属部门id")
    private String ssbmid;

    @ApiModelProperty(value = "所属部门")
    private String ssbm;

    @ApiModelProperty(value = "所属部门代码")
    private String ssbmdm;

    @ApiModelProperty(value = "所属县公安局")
    private String ssxgaj;

    @ApiModelProperty(value = "所属县公安局id")
    private String ssxgajid;

    @ApiModelProperty(value = "所属县公安局代码")
    private String ssxgajdm;

    @ApiModelProperty(value = "所属市公安局id")
    private String sssgajid;

    @ApiModelProperty(value = "所属市公安局")
    private String sssgaj;

    @ApiModelProperty(value = "所属市公安局代码")
    private String sssgajdm;

    @ApiModelProperty("民辅警集合")
    private List<TbQwJl> jlList;
}
