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