package com.zcxk.task.dto;

import com.fasterxml.jackson.annotation.JsonIgnore;
import com.zcxk.model.ProgramItem;
import com.zcxk.order.entity.WorkFlowDetail;
import com.zcxk.order.entity.WorkFlowLog;
import com.zcxk.task.entity.PlanManage;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.List;

@Data
@ApiModel("计划管理")
public class PlanManageDto extends PlanManage {

    @ApiModelProperty(value = "任务工单类型")
    private String typeName;

    @ApiModelProperty(value = "json格式存储对应任务详情")
    private String flowDetail;

    @ApiModelProperty(value = "工作流详情")
    WorkFlowDetail workFlowDetail;

    @ApiModelProperty(value = "工作流日志集合")
    List<WorkFlowLog> workFlowLogList;

    /**
     * 所属公司名称
     */
    @ApiModelProperty(value = "所属公司名称")
    private String companyOrgName;
    /**
     * 所属部门名称
     */
    @ApiModelProperty(value = "所属部门名称")
    private String deptOrgName;
    /**
     * 权限
     */
    @ApiModelProperty(value ="权限",hidden = true)
    @JsonIgnore
    private List<ProgramItem> programItems;
    /**
     * 属性名称
     */
    @ApiModelProperty(value="用户权限类型",hidden = true)
    @JsonIgnore
    private Integer permissonType;
    /**
     *关键字查询
     */
    @ApiModelProperty(value = "关键字")
    private String key;

    /**
     * 查询起始日期
     */
    @ApiModelProperty(value="起始日期")
    private String startDate;

    /**
     * 查询截至日期
     */
    @ApiModelProperty(value="截至日期")
    private String endDate;
    /**
     * 用户类型
     */
    @ApiModelProperty(value = "用户类型(-9999 超管 -999普通用户 2普通用户)",hidden = true)
    @JsonIgnore
    private String userType;

    @ApiModelProperty(value = "任务数量")
    private Integer taskCount;

    @ApiModelProperty(value = "任务完成数量")
    private Integer finishedCount;

    @ApiModelProperty(value="统计类型 0或null本月、1本年、2近一年",hidden = true)
    @JsonIgnore
    private Integer statsType;

    @ApiModelProperty(value="间隔数",hidden = true)
    @JsonIgnore
    private Integer intervalCount;

    @ApiModelProperty(value="运维人数",hidden = true)
    @JsonIgnore
    private Integer maintainerCount;
}
