package com.zcxk.order.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.order.entity.WorkOrderManage;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.List;

@ApiModel(value = "工单管理表")
@Data
public class WorkOrderManageDto extends WorkOrderManage {

    /**
     * 所属公司名称
     */
    @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 = "用户类型(-9999 超管 -999普通用户 2普通用户)",hidden = true)
    @JsonIgnore
    private String userType;

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

    /**
     * 查询截至日期
     */
    @ApiModelProperty(value="截至日期")
    private String endDate;

    @ApiModelProperty(value = "接单人名称")
    private String orderUserName;

    @ApiModelProperty(value = "派单人名称")
    private String sendByName;

    @ApiModelProperty(value = " 创建人名称")
    private String createByName;

    @ApiModelProperty(value = "上报人电话")
    private String createUserPhone;

    @ApiModelProperty(value = "修改人名称")
    private String updateByName;

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

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

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

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

    @ApiModelProperty(value = "接单人电话")
    private String orderUserPhone;

    @ApiModelProperty(value = "工单数量")
    private Integer orderCount;

    @ApiModelProperty(value = "工单状态名称")
    private String orderStatusName;

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