Selaa lähdekoodia

分配健管师接口添加

lyr 8 vuotta sitten
vanhempi
commit
8a264772f6

+ 3 - 0
src/main/java/com/yihu/wlyy/repository/doctor/DoctorPatientGroupInfoDao.java

@ -24,6 +24,9 @@ public interface DoctorPatientGroupInfoDao extends PagingAndSortingRepository<Do
	@Query("select p from DoctorPatientGroupInfo p where p.doctor = ?1 and p.patient = ?2")
	DoctorPatientGroupInfo findGroupInfoByPatient(String doctor, String patient);
	@Query("select p from DoctorPatientGroupInfo p where p.doctor = ?1 and p.patient = ?2 and p.status = 1 and p.signType = '2'")
	List<DoctorPatientGroupInfo> findGroupInfoByPatientAndDoctor(String doctor, String patient);
	// 删除分组时将原来分组患者移动到other分组
	@Modifying
	@Query("update DoctorPatientGroupInfo a set a.group = 'other' where a.group = ?1")

+ 123 - 0
src/main/java/com/yihu/wlyy/service/app/sign/FamilyContractService.java

@ -1649,4 +1649,127 @@ public class FamilyContractService extends BaseService {
        }
        return true;
    }
    /**
     * 分配健管师
     *
     * @param patient 患者code
     * @param healthDoctor 健康管理师code
     * @return
     */
    public JSONObject updateHealthDoctor(String patient,String healthDoctor){
        JSONObject result = new JSONObject();
        Doctor doctor = doctorDao.findByCode(healthDoctor);
        SignFamily signFamily = signFamilyDao.findByjiatingPatientYes(patient);
        if(signFamily == null){
            result.put("status",-1);
            result.put("msg","患者不存在家庭签约");
        }
        if(doctor == null){
            result.put("status",-2);
            result.put("msg","医生不存在");
        }
        if(StringUtils.isNotEmpty(signFamily.getDoctorHealth())){
            // 取消原有健康管理师的家庭签约分组,并新增分组
            List<DoctorPatientGroupInfo> groups = doctorPatientGroupInfoDao.findGroupInfoByPatientAndDoctor(signFamily.getDoctorHealth(),patient);
            if(groups != null){
                List<DoctorPatientGroupInfo> newGroups = new ArrayList<>();
                for(DoctorPatientGroupInfo group : groups){
                    if(group.getGroup().equals("1") || group.getGroup().equals("2") || group.getGroup().equals("3")) {
                        DoctorPatientGroupInfo newGroup = new DoctorPatientGroupInfo();
                        newGroup.setDoctor(doctor.getCode());
                        newGroup.setCzrq(new Date());
                        newGroup.setGroup(group.getGroup());
                        newGroup.setPatient(patient);
                        newGroup.setSignType("2");
                        newGroup.setStatus(1);
                        newGroup.setPname(group.getPname());
                        newGroups.add(newGroup);
                    }
                    group.setStatus(0);
                    group.setCzrq(new Date());
                }
                if(newGroups.size() > 0){
                    doctorPatientGroupInfoDao.save(newGroups);
                }
                // 更新团队信息
                if(StringUtils.isNotEmpty(signFamily.getTeamCode())) {
                    DoctorTeamMember teamMember = doctorTeamDoctor.findMemberByTeamAndCode(signFamily.getTeamCode(), signFamily.getDoctorHealth());
                    if (teamMember != null) {
                        teamMember.setDel("0");
                        teamMember.setCzrq(new Date());
                    }
                    DoctorTeamMember newTeamMember = new DoctorTeamMember();
                    newTeamMember.setCode(getCode());
                    newTeamMember.setMemberCode(doctor.getCode());
                    newTeamMember.setName(doctor.getName());
                    newTeamMember.setTeam(signFamily.getTeamCode());
                    newTeamMember.setDel("1");
                    newTeamMember.setSignType("2");
                    newTeamMember.setType(3);
                    newTeamMember.setCzrq(new Date());
                    doctorTeamDoctor.save(newTeamMember);
                }
            }
        }else{
            // 新增分组
            List<DoctorPatientGroupInfo> groups = doctorPatientGroupInfoDao.findGroupInfoByPatientAndDoctor(signFamily.getDoctor(),patient);
            if(groups != null){
                List<DoctorPatientGroupInfo> newGroups = new ArrayList<>();
                for(DoctorPatientGroupInfo group : groups){
                    if(group.getGroup().equals("1") || group.getGroup().equals("2") || group.getGroup().equals("3")) {
                        DoctorPatientGroupInfo newGroup = new DoctorPatientGroupInfo();
                        newGroup.setDoctor(doctor.getCode());
                        newGroup.setCzrq(new Date());
                        newGroup.setGroup(group.getGroup());
                        newGroup.setPatient(patient);
                        newGroup.setSignType("2");
                        newGroup.setStatus(1);
                        newGroup.setPname(group.getPname());
                        newGroups.add(newGroup);
                    }
                }
                if(newGroups.size() > 0){
                    doctorPatientGroupInfoDao.save(newGroups);
                }
                // 新增团队信息
                if(StringUtils.isNotEmpty(signFamily.getTeamCode())) {
                    DoctorTeamMember newTeamMember = new DoctorTeamMember();
                    newTeamMember.setCode(getCode());
                    newTeamMember.setMemberCode(doctor.getCode());
                    newTeamMember.setName(doctor.getName());
                    newTeamMember.setTeam(signFamily.getTeamCode());
                    newTeamMember.setDel("1");
                    newTeamMember.setSignType("2");
                    newTeamMember.setType(3);
                    newTeamMember.setCzrq(new Date());
                    doctorTeamDoctor.save(newTeamMember);
                }
            }
        }
        signFamily.setDoctorHealth(doctor.getCode());
        signFamily.setDoctorHealthName(doctor.getName());
        signFamily.setCzrq(new Date());
        result.put("status",1);
        result.put("msg","分配健管师成功");
        return result;
    }
}

+ 24 - 0
src/main/java/com/yihu/wlyy/web/doctor/sign/DoctorFamilyContractController.java

@ -680,4 +680,28 @@ public class DoctorFamilyContractController extends WeixinBaseController {
            return error(-1,"查询失败");
        }
    }
    /**
     * 分配健管师
     *
     * @param patient 患者code
     * @param healthDoctor 健康管理师code
     * @return
     */
    @RequestMapping(value = "/patient_health_doctor")
    @ResponseBody
    public String setHealthDoctor(String patient,String healthDoctor){
        try{
            JSONObject result = familyContractService.updateHealthDoctor(patient,healthDoctor);
            if(result.getInt("status") == 1){
                return write(200,"分配健管师成功");
            }else{
                return error(-1,result.getString("msg"));
            }
        }catch (Exception e){
            e.printStackTrace();
            return error(-1,"分配健管师失败");
        }
    }
}