|
@ -1,155 +0,0 @@
|
|
|
package com.yihu.wlyy.service.app.concern;
|
|
|
|
|
|
import com.yihu.wlyy.entity.concern.ConcernDo;
|
|
|
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;
|
|
|
import com.yihu.wlyy.entity.patient.Patient;
|
|
|
import com.yihu.wlyy.repository.concern.ConcernDao;
|
|
|
import com.yihu.wlyy.repository.doctor.DoctorDao;
|
|
|
import com.yihu.wlyy.repository.doctor.DoctorTeamDao;
|
|
|
import com.yihu.wlyy.repository.doctor.DoctorTeamMemberDao;
|
|
|
import com.yihu.wlyy.repository.patient.PatientDao;
|
|
|
import com.yihu.wlyy.service.BaseService;
|
|
|
import io.vavr.collection.List;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.jdbc.core.JdbcTemplate;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
import java.util.Date;
|
|
|
|
|
|
/**
|
|
|
* Created by Administrator on 2018/4/4 0004.
|
|
|
*/
|
|
|
@Service
|
|
|
public class ConcernService extends BaseService {
|
|
|
@Autowired
|
|
|
private ConcernDao concernDao;
|
|
|
@Autowired
|
|
|
private PatientDao patientDao;
|
|
|
@Autowired
|
|
|
private DoctorDao doctorDao;
|
|
|
@Autowired
|
|
|
private DoctorTeamDao doctorTeamDao;
|
|
|
@Autowired
|
|
|
private DoctorTeamMemberDao doctorTeamDoctorDao;
|
|
|
@Autowired
|
|
|
private JdbcTemplate jdbcTemplate;
|
|
|
|
|
|
/**
|
|
|
* 新增患者关注医生
|
|
|
*
|
|
|
* @param patientCode
|
|
|
* @param doctorCode
|
|
|
* @param concernSource 关注方式: 1扫描二维码 2页面跳转 前端传
|
|
|
* @return
|
|
|
*/
|
|
|
@Transactional
|
|
|
public boolean addConcern(
|
|
|
String patientCode, String doctorCode, Integer concernSource) {
|
|
|
Patient patient = patientDao.findByCode(patientCode);
|
|
|
Doctor doctor = doctorDao.findByCode(doctorCode);
|
|
|
|
|
|
//新增关注
|
|
|
ConcernDo concern = new ConcernDo();
|
|
|
//新增关注的服务团队
|
|
|
//建立团队
|
|
|
DoctorTeam doctorTeam = new DoctorTeam();
|
|
|
String doctorTeamCode = getCode();
|
|
|
doctorTeam.setName("签约团队患者:" + patient.getName());
|
|
|
doctorTeam.setCode(doctorTeamCode);
|
|
|
doctorTeam.setCzrq(new Date());
|
|
|
doctorTeam.setSignType("2");
|
|
|
doctorTeam.setDel("1");
|
|
|
doctorTeamDao.save(doctorTeam);
|
|
|
concern.setTeamCode(doctorTeamCode);
|
|
|
|
|
|
//添加团队成员
|
|
|
DoctorTeamMember wlyyDoctorTeamDoctor = new DoctorTeamMember();
|
|
|
wlyyDoctorTeamDoctor.setTeam(doctorTeamCode);
|
|
|
wlyyDoctorTeamDoctor.setMemberCode(doctor.getCode());
|
|
|
wlyyDoctorTeamDoctor.setName(doctor.getName());
|
|
|
wlyyDoctorTeamDoctor.setDel("1");
|
|
|
wlyyDoctorTeamDoctor.setType(1);
|
|
|
wlyyDoctorTeamDoctor.setCode(getCode());
|
|
|
wlyyDoctorTeamDoctor.setCzrq(new Date());
|
|
|
doctorTeamDoctorDao.save(wlyyDoctorTeamDoctor);
|
|
|
//保存关注记录
|
|
|
concern.setCode(getCode());
|
|
|
concern.setName(patient.getName());
|
|
|
concern.setConcernDoctorCode(doctor.getCode());
|
|
|
concern.setConcernDoctorName(doctor.getName());
|
|
|
concern.setCreateTime(new Date());
|
|
|
concern.setIdcard(patient.getIdcard());
|
|
|
concern.setMobile(patient.getMobile());
|
|
|
concern.setSsc(patient.getSsc());
|
|
|
concern.setOpenid(patient.getOpenid());
|
|
|
concern.setPatient(patient.getCode());
|
|
|
concern.setStatus(1);
|
|
|
concern.setConcernSource(concernSource);
|
|
|
concernDao.save(concern);
|
|
|
return true;
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 删除患者关注医生
|
|
|
*
|
|
|
* @param concernCode 关注code
|
|
|
* @return
|
|
|
*/
|
|
|
@Transactional
|
|
|
public boolean deleteConcern(String concernCode) {
|
|
|
ConcernDo concern = concernDao.findByCode(concernCode);
|
|
|
//删除关注
|
|
|
concern.setStatus(-1);
|
|
|
//删除团队
|
|
|
doctorTeamDao.deleteTeam(concern.getTeamCode());
|
|
|
//删除团队成员
|
|
|
doctorTeamDoctorDao.deleteMember(concern.getTeamCode());
|
|
|
|
|
|
return true;
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 删除患者关注医生
|
|
|
*
|
|
|
* @param patientCode 患者code
|
|
|
* @param doctorCode
|
|
|
*/
|
|
|
@Transactional
|
|
|
public void deleteConcern(String patientCode, String doctorCode) {
|
|
|
ConcernDo concern = concernDao.findByPatientAndDoctor(patientCode, doctorCode);
|
|
|
//删除关注
|
|
|
concern.setStatus(-1);
|
|
|
//删除团队
|
|
|
doctorTeamDao.deleteTeam(concern.getTeamCode());
|
|
|
//删除团队成员
|
|
|
doctorTeamDoctorDao.deleteMember(concern.getTeamCode());
|
|
|
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 获取患者关注医生
|
|
|
*
|
|
|
* @param patientCode
|
|
|
* @return
|
|
|
*/
|
|
|
public List<Doctor> listDoctorsByPatientCode(String patientCode) {
|
|
|
List<Doctor> doctors = concernDao.listDoctorsByPatientCode(patientCode);
|
|
|
return doctors;
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 获取患者关注医生
|
|
|
*
|
|
|
* @param doctorCode
|
|
|
* @return
|
|
|
*/
|
|
|
public List<Patient> listPatientsByDoctorCode(String doctorCode) {
|
|
|
|
|
|
List<Patient> patients = concernDao.listPatientsByDoctorCode(doctorCode);
|
|
|
return patients;
|
|
|
}
|
|
|
|
|
|
}
|