Browse Source

Merge branch 'dev' of http://192.168.1.220:10080/Amoy2/wlyy2.0 into dev

yeshijie 4 years ago
parent
commit
7ea59b56bb

+ 1 - 1
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/aop/ServicesAuthAOP.java

@ -56,7 +56,7 @@ public class ServicesAuthAOP extends BaseAop{
            List<String> items =servicePackageService.fingServiceItemsCodeByPatientId(patientId);
            if(!items.contains(item)){
                PrintWriter writer=response.getWriter();
                writer.write(error(401, "该操作没有权限"));
                writer.write(error(401, "未签约相关服务,该操作没有权限"));
                writer.flush();
                return o;
            }

+ 33 - 11
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/service/assistance/EmergencyAssistanceService.java

@ -84,7 +84,7 @@ public class EmergencyAssistanceService extends BaseJpaService<EmergencyAssistan
            return result;
        }
        //签约防走失服务包
        String sql ="SELECT i.code,team_code,org_code from base_service_package_sign_record sr,base_service_package_record r, base_service_package_item i  \n" +
        String sql ="SELECT i.code,i.team_code,i.org_code,i.org_name from base_service_package_sign_record sr,base_service_package_record r, base_service_package_item i  \n" +
                "where  sr.id = r.sign_id and sr.status=1 and r.service_package_id = i.service_package_id   and i.del = 1 and sr.`status`=1 \n" +
                "and  sr.patient  = '"+assistanceDO.getPatient()+"' and i.code='emergencyAssistance' ";
        List<Map<String,Object>> items = jdbcTemplate.queryForList(sql);
@ -96,6 +96,12 @@ public class EmergencyAssistanceService extends BaseJpaService<EmergencyAssistan
        }
        Map<String,Object> mapTmp = items.get(0);
        List<BaseDoctorDO> doctorDOS = baseTeamMemberDao.findAllMembers(mapTmp.get("team_code").toString());
        if (StringUtils.isNotBlank((mapTmp.get("org_code").toString()))){
            assistanceDO.setOrgCode(mapTmp.get("org_code").toString());
        }
        if (StringUtils.isNotBlank((mapTmp.get("org_name").toString()))){
            assistanceDO.setOrgName((mapTmp.get("org_name").toString()));
        }
        assistanceDO.setTeamCode(mapTmp.get("team_code").toString());
        if (doctorDOS.size()==0){
            String failMsg = "紧急救助服务项服务医生为空,不可发起救助";
@ -103,7 +109,7 @@ public class EmergencyAssistanceService extends BaseJpaService<EmergencyAssistan
            result.put(ResponseContant.resultMsg,failMsg);
            return result;
        }
        //获取距离患者最近的一个医生
        //获取距离患者最近的一个医生(默认直线距离最近的医生)
        double distance = 0.0;
        for (BaseDoctorDO doctorDO:doctorDOS){
            if (StringUtils.isBlank(doctorDO.getDoctorLat())||StringUtils.isBlank(doctorDO.getDoctorLon())){
@ -131,6 +137,19 @@ public class EmergencyAssistanceService extends BaseJpaService<EmergencyAssistan
                imUtill.sendTopicIM(patient,patientDO.getName(),consultTeam.getConsult(),"1",assistanceDO.getSendMessage(),null);
            }
        }
        //推送socket给医生
        for (BaseDoctorDO doctorDO:doctorDOS){
            JSONObject message = new JSONObject();
            message.put("session_id",assistanceDO.getSessionId());
            message.put("sender_name",assistanceDO.getPatientName());
            message.put("order_id",assistanceDO.getId());
            message.put("content_type",40);
            try {
                imUtill.sendMDTSocketMessageToDoctor(doctorDO.getId(),message.toString());
            }catch (Exception e){
                e.printStackTrace();
            }
        }
        emergencyAssistanceDao.save(assistanceDO);
        return getOrderDetail(assistanceDO.getId());
    }
@ -156,15 +175,14 @@ public class EmergencyAssistanceService extends BaseJpaService<EmergencyAssistan
            if (doctorDO.getId().equals(assistanceDO.getDoctor())){//服务医生
                assistanceDO.setDistance(distance);
            }
            else {
                otherDoctorDistanceObj.put("doctor",doctorDO.getId());
                otherDoctorDistanceObj.put("doctorName",doctorDO.getName());
                otherDoctorDistanceObj.put("doctorAddress",doctorDO.getDoctorLocateAddress());
                otherDoctorDistanceObj.put("doctorLon",doctorDO.getDoctorLon());
                otherDoctorDistanceObj.put("doctorLat",doctorDO.getDoctorLat());
                otherDoctorDistanceObj.put("distance",distanceTmp);
                otherDoctorDistance.add(otherDoctorDistanceObj);
            }
            otherDoctorDistanceObj = new JSONObject();
            otherDoctorDistanceObj.put("doctor",doctorDO.getId());
            otherDoctorDistanceObj.put("doctorName",doctorDO.getName());
            otherDoctorDistanceObj.put("doctorAddress",doctorDO.getDoctorLocateAddress());
            otherDoctorDistanceObj.put("doctorLon",doctorDO.getDoctorLon());
            otherDoctorDistanceObj.put("doctorLat",doctorDO.getDoctorLat());
            otherDoctorDistanceObj.put("distance",distanceTmp);
            otherDoctorDistance.add(otherDoctorDistanceObj);
        }
        assistanceDO.setOtherDoctorDistance(otherDoctorDistance.toJSONString());
        BasePatientDO patientDO = patientDao.findById(assistanceDO.getPatient());
@ -382,6 +400,10 @@ public class EmergencyAssistanceService extends BaseJpaService<EmergencyAssistan
        if (StringUtils.isNotBlank(conclusionImg)){
            assistanceDO.setConclusionImg(conclusionImg);
        }
        //完成医生
        BaseDoctorDO doctorDO = doctorDao.findById(doctor);
        assistanceDO.setDoctor(doctor);
        assistanceDO.setDoctorName(doctorDO.getName());
        assistanceDO.setCompleteTime(new Date());
        assistanceDO.setStatus(0);
        assistanceDO.setUpdateUser(doctor);

+ 4 - 0
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/util/ConstantUtil.java

@ -37,6 +37,8 @@ public class ConstantUtil {
     servicePackageStatus 是否分配服务包
     capacity_agree_status 能力评估认可状态
     sex 性别
     emergency_assistance_message //紧急救助快速消息
     emergency_assistance_call //紧急救助快速呼叫
     */
    public static final String DICT_ARCHIVETYPE = "archiveType";
    public static final String DICT_ARCHIVESTATUS = "archiveStatus";
@ -52,6 +54,8 @@ public class ConstantUtil {
    public static final String DICT_SERVICEPACKAGESTATUS= "servicePackageStatus";
    public static final String DICT_CAPACITY_AGREE_STATUS= "capacity_agree_status";
    public static final String DICT_SEX= "sex";
    public static final String DICT_EMERGENCY_ASSISTANCE_MESSAGE= "emergency_assistance_message";
    public static final String DICT_EMERGENCY_ASSISTANCE_CALL= "emergency_assistance_call";
}