瀏覽代碼

Merge branch 'dev' of http://192.168.1.220:10080/Amoy/patient-co-management into dev

8 年之前
父節點
當前提交
fcba5dbe54

+ 20 - 1
patient-co-wlyy/src/main/java/com/yihu/wlyy/entity/consult/Consult.java

@ -41,7 +41,10 @@ public class Consult extends IdEntity {
	private Date czrq;
	private Date czrq;
	// 作废标识,1正常,0作废
	// 作废标识,1正常,0作废
	private String del;
	private String del;
	//起始消息id
	private Integer startMsgId;
	//结束消息id
	private Integer endMsgId;
	public String getCode() {
	public String getCode() {
		return code;
		return code;
	}
	}
@ -113,4 +116,20 @@ public class Consult extends IdEntity {
	public void setGuidance(Long guidance) {
	public void setGuidance(Long guidance) {
		this.guidance = guidance;
		this.guidance = guidance;
	}
	}
	public Integer getStartMsgId() {
		return startMsgId;
	}
	public void setStartMsgId(Integer startMsgId) {
		this.startMsgId = startMsgId;
	}
	public Integer getEndMsgId() {
		return endMsgId;
	}
	public void setEndMsgId(Integer endMsgId) {
		this.endMsgId = endMsgId;
	}
}
}

+ 3 - 0
patient-co-wlyy/src/main/java/com/yihu/wlyy/service/app/consult/ConsultService.java

@ -96,4 +96,7 @@ public class ConsultService extends BaseService {
		}
		}
	}
	}
	public Consult findOneConsult(String consult) {
		return consultDao.findByCode(consult);
	}
}
}

+ 73 - 9
patient-co-wlyy/src/main/java/com/yihu/wlyy/service/app/consult/ConsultTeamService.java

@ -1,6 +1,6 @@
/*******************************************************************************
/*******************************************************************************
 * Copyright (c) 2005, 2014 springside.github.io
 * Copyright (c) 2005, 2014 springside.github.io
 *
 * <p>
 * Licensed under the Apache License, Version 2.0 (the "License");
 * Licensed under the Apache License, Version 2.0 (the "License");
 *******************************************************************************/
 *******************************************************************************/
package com.yihu.wlyy.service.app.consult;
package com.yihu.wlyy.service.app.consult;
@ -24,8 +24,12 @@ import com.yihu.wlyy.repository.doctor.DoctorTeamDao;
import com.yihu.wlyy.repository.doctor.DoctorTeamMemberDao;
import com.yihu.wlyy.repository.doctor.DoctorTeamMemberDao;
import com.yihu.wlyy.repository.patient.SignFamilyDao;
import com.yihu.wlyy.repository.patient.SignFamilyDao;
import com.yihu.wlyy.service.app.health.PatientHealthGuidanceService;
import com.yihu.wlyy.service.app.health.PatientHealthGuidanceService;
import com.yihu.wlyy.util.HttpClientUtil;
import com.yihu.wlyy.util.HttpUtil;
import com.yihu.wlyy.util.HttpUtil;
import com.yihu.wlyy.util.SystemConf;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.http.NameValuePair;
import org.apache.http.message.BasicNameValuePair;
import org.json.JSONObject;
import org.json.JSONObject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Page;
@ -89,7 +93,7 @@ public class ConsultTeamService extends ConsultService {
        if (type == 1) {
        if (type == 1) {
            // 查询三师签约信息
            // 查询三师签约信息
            SignFamily sc = signFamilyDao.findBySanshiPatientYes(patient);
            SignFamily sc = signFamilyDao.findBySanshiPatientYes(patient);
            if(sc == null){
            if (sc == null) {
                throw new Exception("不存在三师签约");
                throw new Exception("不存在三师签约");
            }
            }
            // 设置健康管理师,三师咨询默认给健康管理师处理
            // 设置健康管理师,三师咨询默认给健康管理师处理
@ -104,7 +108,7 @@ public class ConsultTeamService extends ConsultService {
        } else if (type == 2) {
        } else if (type == 2) {
            // 咨询家庭医生
            // 咨询家庭医生
            SignFamily sf = signFamilyDao.findByjiatingPatient(patient);
            SignFamily sf = signFamilyDao.findByjiatingPatient(patient);
            if(sf == null){
            if (sf == null) {
                throw new Exception("不存在家庭签约");
                throw new Exception("不存在家庭签约");
            }
            }
            // 设置健康管理师,家庭医生咨询默认给健康管理师处理
            // 设置健康管理师,家庭医生咨询默认给健康管理师处理
@ -117,7 +121,7 @@ public class ConsultTeamService extends ConsultService {
                member = doctorTeamDoctor.findDoctorJiating2ByTeam(doctorTeam.getCode(), 2);
                member = doctorTeamDoctor.findDoctorJiating2ByTeam(doctorTeam.getCode(), 2);
            }
            }
        }
        }
        if(member == null){
        if (member == null) {
            throw new Exception("找不到签约服务团队医生");
            throw new Exception("找不到签约服务团队医生");
        }
        }
        int count = consultTeamDao.countByPatient(patient, member.getMemberCode());
        int count = consultTeamDao.countByPatient(patient, member.getMemberCode());
@ -536,6 +540,8 @@ public class ConsultTeamService extends ConsultService {
    public void reply(List<ConsultTeamLog> logs, String patient) {
    public void reply(List<ConsultTeamLog> logs, String patient) {
        for (ConsultTeamLog log : logs) {
        for (ConsultTeamLog log : logs) {
            reply(log, patient, null, log.getType());
            reply(log, patient, null, log.getType());
            //推送给IM
            sendIM(patient, log.getDoctor(), log.getChatType()+"", log.getContent());
        }
        }
    }
    }
@ -585,6 +591,7 @@ public class ConsultTeamService extends ConsultService {
    }
    }
    /**
    /**
     * 患者端
     * 添加三师咨询
     * 添加三师咨询
     *
     *
     * @param ct      三师咨询对象
     * @param ct      三师咨询对象
@ -669,20 +676,52 @@ public class ConsultTeamService extends ConsultService {
        cd.setDel("1");
        cd.setDel("1");
        cd.setCzrq(new Date());
        cd.setCzrq(new Date());
        cd.setTo(ct.getDoctor());
        cd.setTo(ct.getDoctor());
        // 添加医生咨询日志
        String content = addLogs(ct);
        //推送给IM文字消息
        String returnJson= sendIM(ct.getPatient(), ct.getDoctor(), "1", content);
        JSONObject jo=new JSONObject(returnJson);
        //设置消息ID
        consult.setStartMsgId(jo.getInt("startId"));
        //推送给IM图片
        if (StringUtils.isNotEmpty(ct.getImages())) {
            String[] images = ct.getImages().split(",");
            for (String image : images) {
                if (StringUtils.isNoneEmpty(image)) {
                    sendIM(ct.getPatient(), ct.getDoctor(), "2", image);
                }
            }
        }
        consultDao.save(consult);
        consultDao.save(consult);
        consultTeamDoctorDao.save(cd);
        consultTeamDoctorDao.save(cd);
        // 添加医生咨询日志
        addLogs(ct);
        return 1;
        return 1;
    }
    }
    /**
     * 发送消息给IM
     * @param from 来自
     * @param to
     * @param contentType 1文字 2图片消息
     * @param content 内容
     */
    private String sendIM(String from, String to, String contentType, String content) {
        String imAddr = SystemConf.getInstance().getImListGet() + "api/v1/chats/pm";
        List<NameValuePair> params = new ArrayList<>();
        params.add(new BasicNameValuePair("from", from));
        params.add(new BasicNameValuePair("to", to));
        params.add(new BasicNameValuePair("contentType", contentType));
        params.add(new BasicNameValuePair("content", content));
        String response = HttpClientUtil.post(imAddr, params, "UTF-8");
        return response;
    }
    /**
    /**
     * 添加三师咨询日志
     * 添加三师咨询日志
     *
     *
     * @param ct
     * @param ct
     * @throws Exception
     * @throws Exception
     */
     */
    private void addLogs(ConsultTeam ct) throws Exception {
    private String addLogs(ConsultTeam ct) throws Exception {
        List<ConsultTeamLog> logs = new ArrayList<ConsultTeamLog>();
        List<ConsultTeamLog> logs = new ArrayList<ConsultTeamLog>();
        // 添加问题咨询日志
        // 添加问题咨询日志
        String content = "";
        String content = "";
@ -751,6 +790,7 @@ public class ConsultTeamService extends ConsultService {
        }
        }
        // 患者提问或追问,给医生发消息
        // 患者提问或追问,给医生发消息
        // sendMessage(ct.getDoctor(), ct.getPatient(), "三师咨询", "您有新的三师咨询消息", ct.getConsult(), 116, 1, 0, 0);
        // sendMessage(ct.getDoctor(), ct.getPatient(), "三师咨询", "您有新的三师咨询消息", ct.getConsult(), 116, 1, 0, 0);
        return content;
    }
    }
    /**
    /**
@ -810,6 +850,14 @@ public class ConsultTeamService extends ConsultService {
     * @return
     * @return
     */
     */
    public int finish(String consult) {
    public int finish(String consult) {
        Consult consultObj=consultDao.findByCode(consult);
        ConsultTeam consultTeam=consultTeamDao.findByConsult(consult);
        //推送给IM文字消息
        String returnJson=  sendIM(consultTeam.getPatient(), consultTeam.getDoctor(), "1", "本次咨询结束");;
        JSONObject jo=new JSONObject(returnJson);
        //设置消息ID
        consultObj.setEndMsgId(jo.getInt("startId"));
        return consultTeamDao.updateStatusByConsult(consult);
        return consultTeamDao.updateStatusByConsult(consult);
    }
    }
@ -1052,9 +1100,25 @@ public class ConsultTeamService extends ConsultService {
        cd.setDel("1");
        cd.setDel("1");
        cd.setCzrq(new Date());
        cd.setCzrq(new Date());
        cd.setTo(ct.getDoctor());
        cd.setTo(ct.getDoctor());
        consultTeamDoctorDao.save(cd);
        // 添加医生咨询日志
        // 添加医生咨询日志
        addLogs(ct);
        String content=addLogs(ct);
        //推送给IM文字消息
        String returnJson=  sendIM(ct.getPatient(), ct.getDoctor(), "1", content);;
        JSONObject jo=new JSONObject(returnJson);
        //设置消息ID
        consult.setStartMsgId(jo.getInt("startId"));
        //推送给IM图片
        if (StringUtils.isNotEmpty(ct.getImages())) {
            String[] images = ct.getImages().split(",");
            for (String image : images) {
                if (StringUtils.isNoneEmpty(image)) {
                    sendIM(ct.getPatient(), ct.getDoctor(), "2", image);
                }
            }
        }
        consultTeamDoctorDao.save(cd);
        consultDao.save(consult);
    }
    }
    /**
    /**

+ 2 - 0
patient-co-wlyy/src/main/java/com/yihu/wlyy/service/app/team/DrHealthTeamService.java

@ -263,11 +263,13 @@ public class DrHealthTeamService extends BaseService {
        List<Doctor> zrDoctors=  doctorTeamMemberDao.getTeamZKByQK(doctorCode);
        List<Doctor> zrDoctors=  doctorTeamMemberDao.getTeamZKByQK(doctorCode);
        for(Doctor doctor:zrDoctors){
        for(Doctor doctor:zrDoctors){
            //判断是否求助
            //判断是否求助
            doctor.setIsHelp("0");
        }
        }
        //得到医生所在的团队的除了自己的所有人
        //得到医生所在的团队的除了自己的所有人
        List<Doctor> teamDoctors= memberDao.findAllHeathExcludeThis(teamId, doctorCode);
        List<Doctor> teamDoctors= memberDao.findAllHeathExcludeThis(teamId, doctorCode);
        for(Doctor doctor:teamDoctors){
        for(Doctor doctor:teamDoctors){
            //判断是否求助
            //判断是否求助
            doctor.setIsHelp("0");
        }
        }
        returnMap.put("zr",zrDoctors);
        returnMap.put("zr",zrDoctors);
        returnMap.put("team",teamDoctors);
        returnMap.put("team",teamDoctors);

+ 12 - 0
patient-co-wlyy/src/main/java/com/yihu/wlyy/util/SystemConf.java

@ -16,6 +16,7 @@ public class SystemConf {
	public static final int NOT_LOGIN = 997;
	public static final int NOT_LOGIN = 997;
	private static final String SERVER_IP = "server_ip";
	private static final String SERVER_IP = "server_ip";
	private static final String IM_LIST_GET = "im_list_get";
	private static final String SERVER_PORT = "server_port";
	private static final String SERVER_PORT = "server_port";
	private static final String SERVER_DOMAIN = "server_domain";
	private static final String SERVER_DOMAIN = "server_domain";
@ -76,6 +77,8 @@ public class SystemConf {
	private static SystemConf systemConf;
	private static SystemConf systemConf;
	// 系统配置文件
	// 系统配置文件
	private Properties systemProperties;
	private Properties systemProperties;
	//im列表
	private String imListGet;
	public static SystemConf getInstance() {
	public static SystemConf getInstance() {
		if (systemConf == null) {
		if (systemConf == null) {
@ -177,6 +180,15 @@ public class SystemConf {
		return getSystemProperties().getProperty(SERVER_PORT);
		return getSystemProperties().getProperty(SERVER_PORT);
	}
	}
	/**
	 * IM地址
	 * @return
     */
	public String getImListGet() {
		return getSystemProperties().getProperty(IM_LIST_GET);
	}
	/**
	/**
	 * 获取服务资源名
	 * 获取服务资源名
	 * @return
	 * @return

+ 7 - 0
patient-co-wlyy/src/main/java/com/yihu/wlyy/web/doctor/consult/DoctorConsultController.java

@ -3,6 +3,8 @@ package com.yihu.wlyy.web.doctor.consult;
import java.util.List;
import java.util.List;
import java.util.Map;
import java.util.Map;
import com.yihu.wlyy.entity.consult.Consult;
import com.yihu.wlyy.service.app.consult.ConsultService;
import com.yihu.wlyy.service.app.health.PatientHealthGuidanceService;
import com.yihu.wlyy.service.app.health.PatientHealthGuidanceService;
import com.yihu.wlyy.service.app.scheduling.DoctorWorkTimeService;
import com.yihu.wlyy.service.app.scheduling.DoctorWorkTimeService;
import com.yihu.wlyy.service.common.account.DoctorService;
import com.yihu.wlyy.service.common.account.DoctorService;
@ -54,6 +56,8 @@ public class DoctorConsultController extends WeixinBaseController {
    private DoctorService doctorService;
    private DoctorService doctorService;
    @Autowired
    @Autowired
    private DoctorWorkTimeService doctorWorkTimeService;
    private DoctorWorkTimeService doctorWorkTimeService;
    @Autowired
    private ConsultService consultService;
    /**
    /**
     * 三师咨询列表查询
     * 三师咨询列表查询
@ -187,6 +191,9 @@ public class DoctorConsultController extends WeixinBaseController {
                json.put("doctorRead", consult.getDoctorRead());
                json.put("doctorRead", consult.getDoctorRead());
                // 设置关联指导
                // 设置关联指导
                json.put("guidance", consult.getGuidance());
                json.put("guidance", consult.getGuidance());
                Consult consultObj=consultService.findOneConsult(consult.getConsult());
                json.put("startId", consultObj.getStartMsgId());
                json.put("endId", consultObj.getEndMsgId());
                jsonArray.put(json);
                jsonArray.put(json);
            }
            }

+ 4 - 3
patient-co-wlyy/src/main/java/com/yihu/wlyy/web/patient/consult/ConsultController.java

@ -8,8 +8,11 @@ import com.yihu.wlyy.entity.doctor.profile.Doctor;
import com.yihu.wlyy.entity.doctor.schedule.WlyyDoctorWorkTime;
import com.yihu.wlyy.entity.doctor.schedule.WlyyDoctorWorkTime;
import com.yihu.wlyy.entity.doctor.schedule.WlyyDoctorWorkWeek;
import com.yihu.wlyy.entity.doctor.schedule.WlyyDoctorWorkWeek;
import com.yihu.wlyy.service.app.scheduling.DoctorWorkTimeService;
import com.yihu.wlyy.service.app.scheduling.DoctorWorkTimeService;
import com.yihu.wlyy.util.*;
import io.swagger.annotations.Api;
import io.swagger.annotations.Api;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.http.NameValuePair;
import org.apache.http.message.BasicNameValuePair;
import org.json.JSONArray;
import org.json.JSONArray;
import org.json.JSONObject;
import org.json.JSONObject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Autowired;
@ -28,9 +31,6 @@ import com.yihu.wlyy.service.app.talk.TalkGroupService;
import com.yihu.wlyy.service.common.account.DoctorService;
import com.yihu.wlyy.service.common.account.DoctorService;
import com.yihu.wlyy.task.DoctorStatisticsTask;
import com.yihu.wlyy.task.DoctorStatisticsTask;
import com.yihu.wlyy.task.PushMsgTask;
import com.yihu.wlyy.task.PushMsgTask;
import com.yihu.wlyy.util.CommonUtil;
import com.yihu.wlyy.util.DateUtil;
import com.yihu.wlyy.util.MessageType;
import com.yihu.wlyy.web.WeixinBaseController;
import com.yihu.wlyy.web.WeixinBaseController;
/**
/**
@ -315,6 +315,7 @@ public class ConsultController extends WeixinBaseController {
            if (consult.getType() == 2) {
            if (consult.getType() == 2) {
                DoctorStatisticsTask.getInstance(doctorStatisticsService).put(consult.getDoctor(), 1, 1, 0);
                DoctorStatisticsTask.getInstance(doctorStatisticsService).put(consult.getDoctor(), 1, 1, 0);
            }
            }
            // 推送消息给医生
            // 推送消息给医生
            PushMsgTask.getInstance().put(consult.getDoctor(), MessageType.MESSAGE_TYPE_DOCTOR_NEW_CONSULT_TEAM.D_CT_01.name(), MessageType.MESSAGE_TYPE_DOCTOR_NEW_CONSULT_TEAM.指定咨询.name(), MessageType.MESSAGE_TYPE_DOCTOR_NEW_CONSULT_TEAM.您有新的指定咨询.name(), consult.getConsult());
            PushMsgTask.getInstance().put(consult.getDoctor(), MessageType.MESSAGE_TYPE_DOCTOR_NEW_CONSULT_TEAM.D_CT_01.name(), MessageType.MESSAGE_TYPE_DOCTOR_NEW_CONSULT_TEAM.指定咨询.name(), MessageType.MESSAGE_TYPE_DOCTOR_NEW_CONSULT_TEAM.您有新的指定咨询.name(), consult.getConsult());

+ 1 - 1
patient-co-wlyy/src/main/resources/system.properties

@ -64,7 +64,7 @@ wechat_token=27eb3bb24f149a7760cf1bb154b08040
#是否签约检查和签约数据上传
#是否签约检查和签约数据上传
sign_check_upload=http://172.19.103.87:8011/wlyy_service
sign_check_upload=http://172.19.103.87:8011/wlyy_service
#im一对一列表获取
#im一对一列表获取
im_list_get=http://172.19.103.76:3000/
im_list_get=http://192.168.131.101:3000/
#-------------测试------------#
#-------------测试------------#
#server_ip=ehr.yihu.com
#server_ip=ehr.yihu.com