package com.mosty.common.task.entity.vo;

import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.List;

@Data
@Accessors(chain = true)
public class AddSysTaskVO implements Serializable {
    /**
     * 应用id
     */
    @ApiModelProperty("应用id")
    @NotNull(message = "应用id不能为空")
    private Long appId;

    /**
     * 任务类型
     */
    @ApiModelProperty("任务类型 1， 核实任务 2。预警指令")
    @NotNull(message = "任务类型不能为空")
    private String rwlx;

    /**
     * 执行类型
     */
    @ApiModelProperty("执行类型 1用户 2部门")
    @NotNull(message = "执行类型不能为空")
    private Integer zxlx;

    /**
     * 任务紧急程度
     */
    @ApiModelProperty("任务紧急程度")
    @NotNull(message = "任务紧急程度不能为空")
    private String rwjjcd;

    /**
     * 任务名称
     */
    @ApiModelProperty("任务名称")
    @NotBlank(message = "任务名称不能为空")
    private String rwmc;

    /**
     * 任务内容
     */
    @ApiModelProperty("任务内容")
    @NotBlank(message = "任务内容不能为空")
    private String rwnr;

    /**
     * 任务制定时间
     */
    @ApiModelProperty("任务制定时间")
    private LocalDateTime rwzdsj;

    /**
     * 任务要求完成时间
     */
    @ApiModelProperty("任务要求完成时间")
    private LocalDateTime rwyqwcsj;
    /**
     * 任务创建人ID
     */
    @ApiModelProperty("任务创建人ID")
    private Long rwcjrId;
    /**
     * 任务创建人身份证号
     */
    @ApiModelProperty("任务创建人身份证号")
    private String rwcjrsfzh;

    /**
     * 任务创建人姓名
     */
    @ApiModelProperty("任务创建人姓名")
    private String rwcjrxm;

    /**
     * 任务创建人单位
     */
    @ApiModelProperty("任务创建人单位")
    private String rwcjrdw;

    /**
     * 任务创建人部门id
     */
    @ApiModelProperty("任务创建人部门id")
    private Long rwcjrbmId;

    /**
     * 任务创建人部门名称
     */
    @ApiModelProperty("任务创建人部门名称")
    private String rwcjrbmmc;

    /**
     * 任务创建人单位id
     */
    @ApiModelProperty("任务创建人单位id")
    private Long rwcjrdwId;


    /**
     * 任务创建人电话
     */
    @ApiModelProperty("任务创建人电话")
    private String rwcjrdh;

    /**
     * 任务创建规则 1.单人任务 2.多人任务
     */
    @ApiModelProperty("任务创建规则 1.单人任务 2.多人任务")
    private Integer rwcjrgz;

    /**
     * 任务来源系统
     */
    @ApiModelProperty("任务来源系统  1 智能安防，2。公共安全监管 3。三级指挥")
    @NotNull(message = "任务来源系统不能为空 1 智能安防，2。公共安全监管 3。三级指挥" )
    private String rwlyxt;

    /**
     * 任务来源id
     */
    @ApiModelProperty("任务来源id  ")
    private String rwlyId;


    /**
     * 任务url
     */
    @ApiModelProperty("任务url")
    private String rwUrl;

    /**
     * 任务终端
     */
    @ApiModelProperty("任务终端 1,安卓 2 H5 ")
    @NotNull(message = "任务终端不能为空 1")
    private String rwzd;

    /**
     * 备注
     */
    private String bz;
    /**
     * 执行类型为用户时 必穿
     */
    @ApiModelProperty("执行类型为用户时 必传  任务接受人信息")
    private List<AddSysTaskUserInfoVO> UserInfos;

    /**
     * 执行类型为用户时 必穿
     */
    @ApiModelProperty("执行类型为部门时 必传  任务接受部门信息")
    private List<AddSysTaskDeptVO> deptVOS;
}
