瀏覽代碼

Merge branch 'dev' of lyr/patient-co-management into dev

lyr 8 年之前
父節點
當前提交
bb8da2cfb5

+ 5 - 0
patient-co-wlyy/src/main/java/com/yihu/wlyy/repository/doctor/DoctorDao.java

@ -91,10 +91,15 @@ public interface DoctorDao extends PagingAndSortingRepository<Doctor, Long>, Jpa
    @Query("select d from Doctor d, DoctorTeamMember dtm where d.code=dtm.memberCode and dtm.signType='1' and dtm.team=?1  and dtm.del='1'")
    List<Doctor> findSanshiDoctorByTeam(String code);
    @Query("select d.code,d.name,d.level,dtm.type from Doctor d, DoctorTeamMember dtm where d.code=dtm.memberCode and dtm.signType='1' and dtm.team=?1  and dtm.del='1'")
    List<Object> findSanshiDoctorByTeamObj(String code);
    @Query("select d from Doctor d, DoctorTeamMember dtm where d.code=dtm.memberCode and dtm.signType='2' and dtm.team=?1  and dtm.del='1'")
    List<Doctor> findJiatingDoctorByTeam(String code);
    @Query("select d.code,d.name,d.level,dtm.type from Doctor d, DoctorTeamMember dtm where d.code=dtm.memberCode and dtm.signType='2' and dtm.team=?1  and dtm.del='1'")
    List<Object> findJiatingDoctorByTeamObj(String code);
    @Query("select dtm from Doctor d, DoctorTeamMember dtm where d.code=dtm.memberCode and dtm.signType='2' and dtm.team=?1 and dtm.memberCode=?2  and dtm.del='1'")
    List<DoctorTeamMember> findTeamType(String teamCode,String docCode);

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

@ -250,6 +250,18 @@ public class DrHealthTeamService extends BaseService {
        }
    }
    public List<Object> findSanshiTeamDoctorsObj(String parientCode) {
        //查看当前的患者所在的三师团队
        DoctorTeam doctorTeam = doctorTeamDao.findBySanshiParientCode(parientCode);
        //查看三师团队里面的医生医生
        if (doctorTeam != null) {
            List<Object> doctors = doctorDao.findSanshiDoctorByTeamObj(doctorTeam.getCode());
            return doctors;
        } else {
            return null;
        }
    }
    public List<Doctor> findJiatingTeamDoctors(String parientCode) {
        System.out.println("DrHealthTeamService findJiatingTeamDoctors" + parientCode);
        //查看当前的患者所在的家庭团队
@ -263,6 +275,19 @@ public class DrHealthTeamService extends BaseService {
        }
    }
    public List<Object> findJiatingTeamDoctorsObj(String parientCode) {
        System.out.println("DrHealthTeamService findJiatingTeamDoctors" + parientCode);
        //查看当前的患者所在的家庭团队
        DoctorTeam doctorTeam = doctorTeamDao.findByParientCode(parientCode);
        //查看家庭团队里面的医生
        if (doctorTeam != null) {
            List<Object> doctors = doctorDao.findJiatingDoctorByTeamObj(doctorTeam.getCode());
            return doctors;
        } else {
            return null;
        }
    }
    public List<DoctorTeamMember> findTeamType(String parientCode,String docCode) {
        //查看当前的患者所在的家庭团队
        DoctorTeam doctorTeam = doctorTeamDao.findByParientCode(parientCode);

+ 19 - 29
patient-co-wlyy/src/main/java/com/yihu/wlyy/web/patient/account/PatientController.java

@ -355,8 +355,8 @@ public class PatientController extends WeixinBaseController {
                    token = tokenDao.findByPatient(getUID(), 3);
                }
                if(token == null){
                    return error(-1,"用户未登录");
                if (token == null) {
                    return error(-1, "用户未登录");
                }
                token.setDel("0");
@ -558,50 +558,40 @@ public class PatientController extends WeixinBaseController {
            String id = getUID();
            //查询家庭签约
            SignFamily jt = familyContractService.findByPatientYes(id);
            Map<String,Object> docMap = new HashMap<>();
            Map<String, Object> docMap = new HashMap<>();
            if (jt != null) {
                List<Doctor> doctors = doctorTeamService.findJiatingTeamDoctors(id);
                List<Object> doctors = doctorTeamService.findJiatingTeamDoctorsObj(id);
                if (doctors != null) {
                    for (Doctor doctor : doctors) {
                    for (Object doctor : doctors) {
                        if (doctor == null) {
                            continue;
                        }
                        Object[] docArray = (Object[]) doctor;
                        JSONObject doctorJson = new JSONObject();
                        doctorJson.put("code", doctor.getCode());
                        doctorJson.put("name", doctor.getName());
                        doctorJson.put("level", doctor.getLevel());
                        List<DoctorTeamMember> oc = new ArrayList<>();
                        if(docMap.get(doctor.getCode())!=null){//不为空证明全科,建管同一个
                            oc = (List<DoctorTeamMember>)docMap.get(doctor.getCode());
                            doctorJson.put("teamlevel",2);
                        }else{//为空证明建管和全科不一致,或者第一次进入
                            oc = doctorTeamService.findTeamType(id,doctor.getCode());
                            if(oc!=null&&oc.size()==1){//找出只有一条直接返回团队所属职位
                                doctorJson.put("teamlevel",oc.get(0).getType());
                            }
                            if(oc!=null&&oc.size()==2){//两条数据证明专科全科一致
                                docMap.put(doctor.getCode(),oc);
                                doctorJson.put("teamlevel",3);
                            }
                        }
                        familyDoctors.put(doctor.getCode(), doctorJson);
                        doctorJson.put("code", docArray[0]);
                        doctorJson.put("name", docArray[1]);
                        doctorJson.put("level", docArray[2]);
                        doctorJson.put("teamlevel", docArray[3]);
                        familyDoctors.put(docArray[0].toString(), doctorJson);
                    }
                }
            }
            // 查询三师医生
            SignFamily ss = familyContractService.findBySanshiPatientYes(id);
            if (ss != null) {
                List<Doctor> doctors = doctorTeamService.findSanshiTeamDoctors(id);
                List<Object> doctors = doctorTeamService.findSanshiTeamDoctorsObj(id);
                if (doctors != null) {
                    for (Doctor doctor : doctors) {
                    for (Object doctor : doctors) {
                        if (doctor == null) {
                            continue;
                        }
                        Object[] docArray = (Object[]) doctor;
                        JSONObject doctorJson = new JSONObject();
                        doctorJson.put("code", doctor.getCode());
                        doctorJson.put("name", doctor.getName());
                        doctorJson.put("level", doctor.getLevel());
                        teamDoctors.put(doctor.getCode(), doctorJson);
                        doctorJson.put("code", docArray[0]);
                        doctorJson.put("name", docArray[1]);
                        doctorJson.put("level", docArray[2]);
                        doctorJson.put("teamlevel", docArray[3]);
                        teamDoctors.put(docArray[0].toString(), doctorJson);
                    }
                }
            }