package com.hz.his.dto.consultation;

import com.fasterxml.jackson.annotation.JsonInclude;

import java.util.Date;
import java.util.List;
import java.util.Map;


/**
 * 咨询记录dto 新版
 */
@JsonInclude(JsonInclude.Include.NON_NULL)
public class ConsultRecordDto{

    //用户id
    private String userId;
    //门店/诊所ID
    private String shopId;
    //咨询类型 0=标准(旧版) 1=初诊 2=复诊
    private Integer consultType;
    //满意度 0=不满意 1=一般 2=满意
    private Integer satisfie;
    //面诊医生id
    private String faceDoctorId;
    //治疗医生id
    private String treatDoctorId;
    //基本信息
    private String content;
    //主要诉求
    private String appealDetail;
    //治疗方案&报价
    private String treatPlanQuote;
    //剂量参数
    private String dosageParams;
    //既往病史
    private String anamnesis;
    //来院前治疗过的项目
    private String hasTreatProjects;
    //是否草稿 0=否 1=是
    private Integer isDraft;
    //创建人类型 0=员工 1=后台
    private Integer adminType;
    //创建人id
    private String adminId;
    //创建人名称
    private String adminName;
    //面诊方案
    private String facePlan;
    //创建时间
    private Date createTime;
    //本次治疗项目 多个逗号分割
    private String treatProjectIds;
    //推荐项目 多个逗号分割
    private String recommendProjectIds;
    //上次治疗医生ID
    private String lastTreatDoctorId;
    //上次治疗项目json字符串 ["项目ID","项目ID"]
    private String lastTreatProjects;
    //咨询方式代码
    private String methodCode;
    //咨询方式名称
    private String methodCodeName;

    //------------- 修改传值
    private String id;


    //------------- 详情返回
    //治疗医生名称
    private String faceDoctorName;
    //治疗医生名称
    private String treatDoctorName;
    //上次治疗医生名称
    private String lastTreatDoctorName;

    //------------ 详情返回值补充
    //治疗项目
    private List<Map<String,Object>> treatProjectList;
    //推荐项目
    private List<Map<String,Object>> recommendProjectList;
    //上次治疗项目
    private List<Map<String,Object>> lastTreatProjectList;


    //-------------- 搜索条件
    //小程序搜索时 有个页面是需要传时间的
    @JsonInclude(JsonInclude.Include.NON_NULL)
    private String startTime;
    @JsonInclude(JsonInclude.Include.NON_NULL)
    private String endTime;

    //搜索条件
    //用户名查找
    @JsonInclude(JsonInclude.Include.NON_NULL)
    private String userName;
    //客户来源渠道分类
    @JsonInclude(JsonInclude.Include.NON_NULL)
    private String channelsTypeId;
    //客户来源一级渠道
    @JsonInclude(JsonInclude.Include.NON_NULL)
    private String channelId;
    //客户来源二级渠道
    @JsonInclude(JsonInclude.Include.NON_NULL)
    private String channel2Id;
    //咨询师
    @JsonInclude(JsonInclude.Include.NON_NULL)
    private String hisCorpUserId;
    //用户顾问名称
    private String hisCorpUserName;
    //手机号
    private String tel;
    //电网咨询师
    @JsonInclude(JsonInclude.Include.NON_NULL)
    private String internetCorpUserId;
    //客服
    @JsonInclude(JsonInclude.Include.NON_NULL)
    private String chatCorpUserId;
    //创建人
    @JsonInclude(JsonInclude.Include.NON_NULL)
    private String createEmployeeId;
    //创建人部门
    @JsonInclude(JsonInclude.Include.NON_NULL)
    private String createEmployeePartId;
    //关注活动
    @JsonInclude(JsonInclude.Include.NON_NULL)
    private String focusActivityId;
    //到访类型
    @JsonInclude(JsonInclude.Include.NON_NULL)
    private String recentVisitType;
    //到访状态
    @JsonInclude(JsonInclude.Include.NON_NULL)
    private Integer recentVisitStatus;
    //是否成交
    @JsonInclude(JsonInclude.Include.NON_NULL)
    private Integer isMakeADeal;

    //列表接口 小程序也使用 区分是否是从用户详情进去的
    private Integer isDetail;

    /**当前页数*/
    private Integer pageNum = 1;
    /**当前页显示条数*/
    private Integer pageSize = 20;
    /**关键字*/
    private String keyWord;
    /**查询方式*/
    private String useType;
    public ConsultRecordDto() {
    }

    public String getUserId() {
        return userId;
    }

    public void setUserId(String userId) {
        this.userId = userId;
    }

    public String getShopId() {
        return shopId;
    }

    public void setShopId(String shopId) {
        this.shopId = shopId;
    }

    public Integer getConsultType() {
        return consultType;
    }

    public void setConsultType(Integer consultType) {
        this.consultType = consultType;
    }

    public String getContent() {
        return content;
    }

    public void setContent(String content) {
        this.content = content;
    }

    public String getFaceDoctorId() {
        return faceDoctorId;
    }

    public void setFaceDoctorId(String faceDoctorId) {
        this.faceDoctorId = faceDoctorId;
    }

    public String getTreatDoctorId() {
        return treatDoctorId;
    }

    public void setTreatDoctorId(String treatDoctorId) {
        this.treatDoctorId = treatDoctorId;
    }

    public String getAppealDetail() {
        return appealDetail;
    }

    public void setAppealDetail(String appealDetail) {
        this.appealDetail = appealDetail;
    }

    public String getTreatPlanQuote() {
        return treatPlanQuote;
    }

    public void setTreatPlanQuote(String treatPlanQuote) {
        this.treatPlanQuote = treatPlanQuote;
    }

    public String getDosageParams() {
        return dosageParams;
    }

    public void setDosageParams(String dosageParams) {
        this.dosageParams = dosageParams;
    }

    public String getAnamnesis() {
        return anamnesis;
    }

    public void setAnamnesis(String anamnesis) {
        this.anamnesis = anamnesis;
    }

    public String getHasTreatProjects() {
        return hasTreatProjects;
    }

    public void setHasTreatProjects(String hasTreatProjects) {
        this.hasTreatProjects = hasTreatProjects;
    }

    public Integer getIsDraft() {
        return isDraft;
    }

    public void setIsDraft(Integer isDraft) {
        this.isDraft = isDraft;
    }

    public Integer getAdminType() {
        return adminType;
    }

    public void setAdminType(Integer adminType) {
        this.adminType = adminType;
    }

    public String getAdminId() {
        return adminId;
    }

    public void setAdminId(String adminId) {
        this.adminId = adminId;
    }

    public String getAdminName() {
        return adminName;
    }

    public void setAdminName(String adminName) {
        this.adminName = adminName;
    }

    public String getTreatProjectIds() {
        return treatProjectIds;
    }

    public void setTreatProjectIds(String treatProjectIds) {
        this.treatProjectIds = treatProjectIds;
    }

    public String getRecommendProjectIds() {
        return recommendProjectIds;
    }

    public void setRecommendProjectIds(String recommendProjectIds) {
        this.recommendProjectIds = recommendProjectIds;
    }

    public List<Map<String, Object>> getTreatProjectList() {
        return treatProjectList;
    }

    public void setTreatProjectList(List<Map<String, Object>> treatProjectList) {
        this.treatProjectList = treatProjectList;
    }

    public List<Map<String, Object>> getRecommendProjectList() {
        return recommendProjectList;
    }

    public void setRecommendProjectList(List<Map<String, Object>> recommendProjectList) {
        this.recommendProjectList = recommendProjectList;
    }

    public String getFacePlan() {
        return facePlan;
    }

    public void setFacePlan(String facePlan) {
        this.facePlan = facePlan;
    }

    public Integer getSatisfie() {
        return satisfie;
    }

    public void setSatisfie(Integer satisfie) {
        this.satisfie = satisfie;
    }

    public String getFaceDoctorName() {
        return faceDoctorName;
    }

    public void setFaceDoctorName(String faceDoctorName) {
        this.faceDoctorName = faceDoctorName;
    }

    public String getTreatDoctorName() {
        return treatDoctorName;
    }

    public void setTreatDoctorName(String treatDoctorName) {
        this.treatDoctorName = treatDoctorName;
    }

    public String getStartTime() {
        return startTime;
    }

    public void setStartTime(String startTime) {
        this.startTime = startTime;
    }

    public String getEndTime() {
        return endTime;
    }

    public void setEndTime(String endTime) {
        this.endTime = endTime;
    }


    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public String getChannelsTypeId() {
        return channelsTypeId;
    }

    public void setChannelsTypeId(String channelsTypeId) {
        this.channelsTypeId = channelsTypeId;
    }

    public String getChannelId() {
        return channelId;
    }

    public void setChannelId(String channelId) {
        this.channelId = channelId;
    }

    public String getChannel2Id() {
        return channel2Id;
    }

    public void setChannel2Id(String channel2Id) {
        this.channel2Id = channel2Id;
    }

    public String getHisCorpUserId() {
        return hisCorpUserId;
    }

    public void setHisCorpUserId(String hisCorpUserId) {
        this.hisCorpUserId = hisCorpUserId;
    }

    public String getHisCorpUserName() {
        return hisCorpUserName;
    }

    public void setHisCorpUserName(String hisCorpUserName) {
        this.hisCorpUserName = hisCorpUserName;
    }

    public String getTel() {
        return tel;
    }

    public void setTel(String tel) {
        this.tel = tel;
    }

    public String getInternetCorpUserId() {
        return internetCorpUserId;
    }

    public void setInternetCorpUserId(String internetCorpUserId) {
        this.internetCorpUserId = internetCorpUserId;
    }

    public String getChatCorpUserId() {
        return chatCorpUserId;
    }

    public void setChatCorpUserId(String chatCorpUserId) {
        this.chatCorpUserId = chatCorpUserId;
    }

    public String getCreateEmployeeId() {
        return createEmployeeId;
    }

    public void setCreateEmployeeId(String createEmployeeId) {
        this.createEmployeeId = createEmployeeId;
    }

    public String getCreateEmployeePartId() {
        return createEmployeePartId;
    }

    public void setCreateEmployeePartId(String createEmployeePartId) {
        this.createEmployeePartId = createEmployeePartId;
    }

    public String getFocusActivityId() {
        return focusActivityId;
    }

    public void setFocusActivityId(String focusActivityId) {
        this.focusActivityId = focusActivityId;
    }

    public String getRecentVisitType() {
        return recentVisitType;
    }

    public void setRecentVisitType(String recentVisitType) {
        this.recentVisitType = recentVisitType;
    }

    public Integer getRecentVisitStatus() {
        return recentVisitStatus;
    }

    public void setRecentVisitStatus(Integer recentVisitStatus) {
        this.recentVisitStatus = recentVisitStatus;
    }

    public Integer getIsMakeADeal() {
        return isMakeADeal;
    }

    public void setIsMakeADeal(Integer isMakeADeal) {
        this.isMakeADeal = isMakeADeal;
    }

    public String getLastTreatDoctorId() {
        return lastTreatDoctorId;
    }

    public void setLastTreatDoctorId(String lastTreatDoctorId) {
        this.lastTreatDoctorId = lastTreatDoctorId;
    }

    public String getLastTreatProjects() {
        return lastTreatProjects;
    }

    public void setLastTreatProjects(String lastTreatProjects) {
        this.lastTreatProjects = lastTreatProjects;
    }

    public String getLastTreatDoctorName() {
        return lastTreatDoctorName;
    }

    public void setLastTreatDoctorName(String lastTreatDoctorName) {
        this.lastTreatDoctorName = lastTreatDoctorName;
    }

    public List<Map<String, Object>> getLastTreatProjectList() {
        return lastTreatProjectList;
    }

    public void setLastTreatProjectList(List<Map<String, Object>> lastTreatProjectList) {
        this.lastTreatProjectList = lastTreatProjectList;
    }

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public Integer getPageNum() {
        return pageNum;
    }

    public void setPageNum(Integer pageNum) {
        this.pageNum = pageNum;
    }

    public Integer getPageSize() {
        return pageSize;
    }

    public void setPageSize(Integer pageSize) {
        this.pageSize = pageSize;
    }

    public String getKeyWord() {
        return keyWord;
    }

    public void setKeyWord(String keyWord) {
        this.keyWord = keyWord;
    }

    public String getMethodCode() {
        return methodCode;
    }

    public void setMethodCode(String methodCode) {
        this.methodCode = methodCode;
    }

    public String getMethodCodeName() {
        return methodCodeName;
    }

    public void setMethodCodeName(String methodCodeName) {
        this.methodCodeName = methodCodeName;
    }

    public String getUseType() {
        return useType;
    }

    public void setUseType(String useType) {
        this.useType = useType;
    }

    public Integer getIsDetail() {
        return isDetail;
    }

    public void setIsDetail(Integer isDetail) {
        this.isDetail = isDetail;
    }
}