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

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
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;

/**
 * <p>
 * 值班表
 * </p>
 *
 * @author zengbo
 * @since 2022-06-27
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("tb_qw_zbbb")
@ApiModel(value="TbQwZb对象", description="值班表")
public class TbQwZbVo implements Serializable,Cloneable {

    private static final long serialVersionUID=1L;

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

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

    @ApiModelProperty(value = "值班开始日期")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
    private Date zbksrq;

    @ApiModelProperty(value = "值班日期")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
    private Date zbrq;

    @ApiModelProperty(value = "值班结束日期")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
    private Date zbjsrq;

    @ApiModelProperty(value = "循环周期")
    private Integer xfzq;

    @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 = "值班领导")
    private String zbld;

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

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

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

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

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

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

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

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

    @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 Integer txzbsl;

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

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

    @ApiModelProperty(value = "值班状态（01 未值班、02值班中、03 值班完成）")
    private String zbzt;

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

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

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

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

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

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

    @ApiModelProperty(value = "值班民警姓名", hidden = true)
    private String zbmjxm;

    @ApiModelProperty(value = "备注", hidden = true)
    private String bz;

    @ApiModelProperty(value = "警力集合")
    List<TbQwJl> jlList;

}
