package com.qmth.sop.business.bean.result;

import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.qmth.sop.common.enums.CrmProcessEnum;
import io.swagger.annotations.ApiModelProperty;

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

/**
 * @Description 项目监控
 * @Author haoguanghui
 * @date 2024/09/05
 */
public class ProjectMonitorResult implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "客户名称")
    private String customName;

    @ApiModelProperty(value = "项目名称")
    private String crmName;

    @ApiModelProperty(value = "科目名称")
    private String courseName;

    @ApiModelProperty(value = "当前进度")
    private CrmProcessEnum process;

    @ApiModelProperty(value = "审核所处阶段")
    private String taskName;

    @ApiModelProperty(value = "派单详情ID")
    @JsonSerialize(using = ToStringSerializer.class)
    private Long crmDetailId;

    @ApiModelProperty(value = "大区经理ID")
    @JsonSerialize(using = ToStringSerializer.class)
    private Long leadId;

    @ApiModelProperty(value = "大区经理")
    private String leadName;

    @ApiModelProperty(value = "大区经理电话")
    private String leadMobile;

    @ApiModelProperty(value = "流程id")
    private String flowId;

    @ApiModelProperty(value = "预警字段")
    private String fieldObj;

    @ApiModelProperty(value = "预警表的ID")
    @JsonSerialize(using = ToStringSerializer.class)
    private Long warnId;

    @ApiModelProperty(value = "区域协调人")
    private ProjectMonitorUserResult regionCoordinator;

    @ApiModelProperty(value = "项目经理")
    private ProjectMonitorUserResult projectManager;

    @ApiModelProperty(value = "工程师")
    private List<ProjectMonitorUserResult> engineerList;

    public String getCustomName() {
        return customName;
    }

    public void setCustomName(String customName) {
        this.customName = customName;
    }

    public String getCrmName() {
        return crmName;
    }

    public void setCrmName(String crmName) {
        this.crmName = crmName;
    }

    public String getCourseName() {
        return courseName;
    }

    public void setCourseName(String courseName) {
        this.courseName = courseName;
    }

    public CrmProcessEnum getProcess() {
        return process;
    }

    public void setProcess(CrmProcessEnum process) {
        this.process = process;
    }

    public String getLeadName() {
        return leadName;
    }

    public void setLeadName(String leadName) {
        this.leadName = leadName;
    }

    public ProjectMonitorUserResult getRegionCoordinator() {
        return regionCoordinator;
    }

    public void setRegionCoordinator(ProjectMonitorUserResult regionCoordinator) {
        this.regionCoordinator = regionCoordinator;
    }

    public ProjectMonitorUserResult getProjectManager() {
        return projectManager;
    }

    public void setProjectManager(ProjectMonitorUserResult projectManager) {
        this.projectManager = projectManager;
    }

    public List<ProjectMonitorUserResult> getEngineerList() {
        return engineerList;
    }

    public void setEngineerList(List<ProjectMonitorUserResult> engineerList) {
        this.engineerList = engineerList;
    }

    public String getTaskName() {
        return taskName;
    }

    public void setTaskName(String taskName) {
        this.taskName = taskName;
    }

    public String getLeadMobile() {
        return leadMobile;
    }

    public void setLeadMobile(String leadMobile) {
        this.leadMobile = leadMobile;
    }

    public Long getCrmDetailId() {
        return crmDetailId;
    }

    public void setCrmDetailId(Long crmDetailId) {
        this.crmDetailId = crmDetailId;
    }

    public String getFlowId() {
        return flowId;
    }

    public void setFlowId(String flowId) {
        this.flowId = flowId;
    }

    public Long getLeadId() {
        return leadId;
    }

    public void setLeadId(Long leadId) {
        this.leadId = leadId;
    }

    public String getFieldObj() {
        return fieldObj;
    }

    public void setFieldObj(String fieldObj) {
        this.fieldObj = fieldObj;
    }

    public Long getWarnId() {
        return warnId;
    }

    public void setWarnId(Long warnId) {
        this.warnId = warnId;
    }
}
