| 
					
				 | 
			
			
				@ -11,6 +11,8 @@ import com.yihu.wlyy.entity.consult.Consult; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.wlyy.entity.consult.ConsultTeam; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.wlyy.entity.consult.ConsultTeamDoctor; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.wlyy.entity.consult.ConsultTeamLog; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.wlyy.entity.discussion.WlyyTalkGroup; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.wlyy.entity.discussion.WlyyTalkGroupMember; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.wlyy.entity.doctor.profile.Doctor; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.wlyy.entity.doctor.team.sign.DoctorTeam; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.wlyy.entity.doctor.team.sign.DoctorTeamMember; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -24,6 +26,7 @@ import com.yihu.wlyy.repository.doctor.DoctorTeamDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.wlyy.repository.doctor.DoctorTeamMemberDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.wlyy.repository.patient.SignFamilyDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.wlyy.service.app.health.PatientHealthGuidanceService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.wlyy.service.app.talk.TalkGroupService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.wlyy.util.HttpClientUtil; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.wlyy.util.HttpUtil; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.wlyy.util.SystemConf; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -80,6 +83,8 @@ public class ConsultTeamService extends ConsultService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private JdbcTemplate jdbcTemplate; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private PatientHealthGuidanceService guidanceService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private TalkGroupService talkGroupService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 查询患者是否还有未结束的三师咨询 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -667,9 +672,6 @@ public class ConsultTeamService extends ConsultService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        // 设置咨询标识 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        ct.setConsult(consult.getCode()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        // 保存医生咨询信息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (consultTeamDao.save(ct) == null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            throw new Exception("保存失败!"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        // 添加咨询转发记录 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        ConsultTeamDoctor cd = new ConsultTeamDoctor(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        cd.setConsult(consult.getCode()); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -681,17 +683,21 @@ public class ConsultTeamService extends ConsultService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //推送给IM文字消息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String returnJson= sendIM(ct.getPatient(), ct.getDoctor(), "6", 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); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(jo.has("startId")){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            //设置消息ID 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            ct.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); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        consultTeamDao.save(ct); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        consultDao.save(consult); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        consultTeamDoctorDao.save(cd); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return 1; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -851,13 +857,12 @@ public class ConsultTeamService extends ConsultService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public int finish(String consult) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Consult consultObj=consultDao.findByCode(consult); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        ConsultTeam consultTeam=consultTeamDao.findByConsult(consult); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //推送给IM文字消息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String returnJson=  sendIM(consultTeam.getPatient(), consultTeam.getDoctor(), "7", "本次咨询结束");; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        JSONObject jo=new JSONObject(returnJson); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //设置消息ID 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        consultObj.setEndMsgId(jo.getInt("startId")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        consultTeam.setEndMsgId(jo.getInt("startId")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return consultTeamDao.updateStatusByConsult(consult); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -893,7 +898,7 @@ public class ConsultTeamService extends ConsultService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param consult 三师咨询标识 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public void transfer(String from, String to, String consult) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public void transfer(String from, String to, String consult,String groupCode) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        // 检查是否存在 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (consultTeamDoctorDao.isExist(consult, to) == 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            ConsultTeam ct = consultTeamDao.findByConsult(consult); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -912,6 +917,20 @@ public class ConsultTeamService extends ConsultService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            cd.setFromName(d.getName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            cd.setTo(to); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            consultTeamDoctorDao.save(cd); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            //添加讨论组成员 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            // 保存医生到讨论组 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            Doctor toDoctor = doctorDao.findByCode(to); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            WlyyTalkGroup wlyyTalkGroup=talkGroupService.findTalkGroup(groupCode); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            WlyyTalkGroupMember doctorMember=new WlyyTalkGroupMember(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            doctorMember.setMemberCode(to); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            doctorMember.setMemberName(toDoctor.getName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            doctorMember.setGroupCode(groupCode); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            doctorMember.setGroupName(wlyyTalkGroup.getName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            doctorMember.setType(3); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            doctorMember.setStatus(1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            doctorMember.setCzrq(new Date()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            talkGroupService.saveTalkMember(doctorMember); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -1090,10 +1109,6 @@ public class ConsultTeamService extends ConsultService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Consult consult = addConsult(ct.getPatient(), null, ct.getSymptoms(), ct.getImages(), ct.getType()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        // 设置咨询标识 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        ct.setConsult(consult.getCode()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        // 保存医生咨询信息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (consultTeamDao.save(ct) == null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            throw new Exception("保存失败!"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        // 添加咨询转发记录 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        ConsultTeamDoctor cd = new ConsultTeamDoctor(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        cd.setConsult(consult.getCode()); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -1106,7 +1121,7 @@ public class ConsultTeamService extends ConsultService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String returnJson=  sendIM(ct.getPatient(), ct.getDoctor(), "6", content);; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        JSONObject jo=new JSONObject(returnJson); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //设置消息ID 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        consult.setStartMsgId(jo.getInt("startId")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        ct.setStartMsgId(jo.getInt("startId")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //推送给IM图片 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (StringUtils.isNotEmpty(ct.getImages())) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            String[] images = ct.getImages().split(","); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -1116,7 +1131,7 @@ public class ConsultTeamService extends ConsultService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        consultTeamDao.save(ct);  // 保存医生咨询信息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        consultTeamDoctorDao.save(cd); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        consultDao.save(consult); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -1132,10 +1147,10 @@ public class ConsultTeamService extends ConsultService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return consultTeam; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public void transfers(String uid, String doctor, String consult) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public void transfers(String uid, String doctor, String consult,String groupCode) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String[] doctors = doctor.split(","); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        for (int i = 0; i < doctors.length; i++) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            transfer(uid, doctors[i], consult); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            transfer(uid, doctors[i], consult,groupCode); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -1162,4 +1177,8 @@ public class ConsultTeamService extends ConsultService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        sf.append(sf1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return sf.toString(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public void save(ConsultTeam consult) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        consultTeamDao.save(consult); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				} 
			 |