Преглед на файлове

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

yeshijie преди 3 години
родител
ревизия
b23902141d

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

@ -194,7 +194,7 @@ public class EmergencyAssistanceService extends BaseJpaService<EmergencyAssistan
        JSONObject IMObj = consultTeamService.addServiceConsult(assistanceDO.getId(),patient,proxyPatient,null);
        String sessionId=patient+"_"+ IMObj.getJSONObject("resultMsg").getString("consult") + "_20";
        assistanceDO.setSessionId(sessionId);
        //向会话中发送一条 陈XX发起紧急救助
        //向会话中发送一条消息
        ConsultTeamDo consultTeam = consultTeamDao.queryByRelationCode(assistanceDO.getId());
        if (consultTeam!=null){
            if (StringUtils.isNotBlank(assistanceDO.getSendMessage())){
@ -232,6 +232,7 @@ public class EmergencyAssistanceService extends BaseJpaService<EmergencyAssistan
            return result;
        }
        emergencyOrderVO.setId(assistanceDO.getId());
        //手环发起时坐标已取
        if (assistanceDO.getOrderSource()==2){//手环发起的紧急救助获取手环坐标
            try {
                List<DevicePatientDevice> devicePatientDeviceDos = patientDeviceDao.findByUserAndCategoryCode(assistanceDO.getPatient(),"4");
@ -246,6 +247,7 @@ public class EmergencyAssistanceService extends BaseJpaService<EmergencyAssistan
                                if (pointJsonObject!=null){
                                    Double lat = pointJsonObject.getDouble("lat");
                                    Double lon = pointJsonObject.getDouble("lon");
                                    assistanceDO.setServeAddress(resultTmp2.getString("address").replace(" ",""));
                                    assistanceDO.setServeLat(lat+"");
                                    assistanceDO.setServeLon(lon+"");
                                    assistanceDO = emergencyAssistanceDao.save(assistanceDO);
@ -307,6 +309,30 @@ public class EmergencyAssistanceService extends BaseJpaService<EmergencyAssistan
        //通知对象
        List<Map<String,Object>> noticePersons = new ArrayList<>();
        JSONArray familyArr =  familyMemberService.getPatientMembers(assistanceDO.getPatient(),null,null,null);
        String emeCallPhone = "";
        if (assistanceDO.getOrderSource()!=1){//设备发起工单
            String category = assistanceDO.getOrderSource()==2?"4":"7";
            List<DevicePatientDevice> devices = patientDeviceDao.findByUserAndCategoryCode(assistanceDO.getPatient(),category);
            if (devices.size()>0){
                try {
                    com.alibaba.fastjson.JSONObject jsonTmp = patientDeviceService.getAqgDeviceInfo(devices.get(0).getDeviceSn());
                    if (jsonTmp.containsKey("sos_numbers")){//取第一个号码
                        JSONArray array = jsonTmp.getJSONArray("sos_numbers");
                        for (int i=0;i<array.size();i++){
                            JSONObject obj = array.getJSONObject(i);
                            if (obj.getBooleanValue("dial_flag")){
                                emeCallPhone = obj.getString("num");
                                break;
                            }
                        }
                    }
                    System.out.println("1");
                }catch (Exception e){
                    e.printStackTrace();
                }
            }
        }
        for (int i=0;i<familyArr.size();i++){
            String patientId = familyArr.getJSONObject(i).getString("id");
            BasePatientDO patientDO1 = patientDao.findById(patientId);
@ -321,12 +347,12 @@ public class EmergencyAssistanceService extends BaseJpaService<EmergencyAssistan
            Map<String,Object> tmp = new HashMap<>();
            tmp.put("name","系统预警");
            tmp.put("status",0);
            tmp.put(statusName,"未读");
            if (assistanceDO.getOrderSource()==2){
            tmp.put("statusName","未读");
            if (assistanceDO.getOrderSource()!=1){//设备发起工单
                Map<String,Object> tmp2 = new HashMap<>();
                tmp2.put("name","电话通知");
                tmp2.put("status",0);
                tmp2.put(statusName,"未呼叫");
                tmp2.put("status",emeCallPhone.equals(patientDO1.getMobile())?1:0);
                tmp2.put("statusName",emeCallPhone.equals(patientDO1.getMobile())?"已呼叫":"未呼叫");
                arr.add(tmp2);
            }
            SystemMessageDO messageDO = systemMessageDao.findByRelationCodeAndReceiver(assistanceDO.getId(),patientId);
@ -334,7 +360,7 @@ public class EmergencyAssistanceService extends BaseJpaService<EmergencyAssistan
                if (StringUtils.isNotBlank(messageDO.getIsRead())){
                    tmp.put("status",Integer.parseInt(messageDO.getIsRead()));
                    if (Integer.parseInt(messageDO.getIsRead())==1){
                        tmp.put(statusName,"已读");
                        tmp.put("statusName","已读");
                    }
                }
            }
@ -409,7 +435,7 @@ public class EmergencyAssistanceService extends BaseJpaService<EmergencyAssistan
//            }
//            otherDoctorDistance.sort(Comparator.comparing(obj -> ((JSONObject) obj).getInteger("distance")));
//        }
        emergencyOrderVO.setOtherDoctorDistance(otherDoctorDistanceObj.toJSONString());
        emergencyOrderVO.setOtherDoctorDistance(otherDoctorDistance.toJSONString());
        emergencyOrderVO.setNoticePersons(noticePersons);
        JSONObject jsonObject = JSONObject.parseObject(JSON.toJSONStringWithDateFormat(emergencyOrderVO,"yyyy-MM-dd HH:mm:ss", SerializerFeature.WriteMapNullValue));
@ -807,6 +833,12 @@ public class EmergencyAssistanceService extends BaseJpaService<EmergencyAssistan
        assistanceDO.setUpdateUserName(doctorDO.getName());
        assistanceDO.setUpdateUser(doctorDO.getId());
        assistanceDO.setEmergencyCancel(emergencyCancel);
        if (!consultTeamService.finishConsult(assistanceDO.getId(),assistanceDO.getPatient(),doctor,2)){
            String failMsg = "修改失败:咨询未能结束";
            result.put(ResponseContant.resultFlag, ResponseContant.fail);
            result.put(ResponseContant.resultMsg,failMsg);
            return result;
        }
        emergencyAssistanceDao.save(assistanceDO);
        result = getOrderDetail(orderId,null);

+ 13 - 5
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/service/course/CourseService.java

@ -448,11 +448,18 @@ public class CourseService {
                String ksbm = "SELECT COUNT(1) a FROM base_recruit_students WHERE '"+nowDate+"' > create_time AND '"+nowDate+"' < end_time AND del = 1 AND org_code = '"+mapList.get(0).get("code")+"'";
                num = jdbcTemplate.queryForObject(ksbm,Integer.class);
                if (num > 0){
                    String sqlNum = "SELECT allm.num - bbm.num num\n" +
                            "FROM (SELECT num FROM base_recruit_students WHERE org_code = '"+mapList.get(0).get("code")+"') allm,(\n" +
                            "SELECT COUNT(rsr.id) num FROM base_recruit_students rs,base_recruit_students_record rsr WHERE '"+nowDate+"' >rs.start_time AND rs.org_code = '"+mapList.get(0).get("code")+"'\n" +
                    String sqlNum = "SELECT allm.id,allm.num - bbm.num num\n" +
                            "FROM (SELECT id,num FROM base_recruit_students WHERE org_code = '"+mapList.get(0).get("code")+"' AND del = 1 ) allm,(\n" +
                            "SELECT rs.id,COUNT(rsr.id) num FROM base_recruit_students rs,base_recruit_students_record rsr WHERE '"+nowDate+"' >rs.start_time AND rs.org_code = '"+mapList.get(0).get("code")+"'\n" +
                            "AND '"+nowDate+"' < rs.end_time AND rs.del = 1 AND rs.id = rsr.recruit_students_id AND rsr.status IN (2,3,6)) bbm";
                    num = jdbcTemplate.queryForObject(sqlNum,Integer.class);
                    List<Map<String,Object>> maps = jdbcTemplate.queryForList(sqlNum);
                    if (maps.size() > 0){
                        for (int j =0 ; j < maps.size() ; j++){
                            num = num + Integer.parseInt(String.valueOf(maps.get(j).get("num")));
                        }
                    }else {
                        num = 0;
                    }
                } else {
                    num = -1; //未开放报名
                }
@ -594,11 +601,12 @@ public class CourseService {
    public JSONObject getOrgInfoById(String id){
        JSONObject object = new JSONObject();
        String sql = "SELECT o.id,o.`code`,o.`name`,o.mobile,o.photo,o.address,o.intro,rs.start_time startTime,rs.end_time endTime,rs.num,rs.fee,rs.id rsId \n" +
        String sql = "SELECT o.id,rs.id recruitId,o.`code`,o.`name`,o.mobile,o.photo,o.address,o.intro,rs.start_time startTime,rs.end_time endTime,rs.num,rs.fee,rs.id rsId \n" +
                "FROM base_org o,base_recruit_students rs\n" +
                "WHERE o.id = '"+id+"' AND o.type = 4 AND o.del = 1 AND o.`code` = rs.org_code AND rs.del = 1";
        List<Map<String,Object>> mapList = jdbcTemplate.queryForList(sql);
        if (mapList.size() > 0){
            object.put("recruitId",mapList.get(0).get("recruitId"));//机构id
            object.put("id",mapList.get(0).get("id"));//机构id
            object.put("name",mapList.get(0).get("name"));//机构名称
            object.put("mobile",mapList.get(0).get("mobile"));//机构联系方式

+ 3 - 1
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/service/device/PatientHealthIndexService.java

@ -757,7 +757,9 @@ public class PatientHealthIndexService extends BaseJpaService<DevicePatientHealt
                }
                case "6": {
                    obj.setType(6);
                    obj.setValue1(map.get("temperature"));  //腰围
                    obj.setValue1(map.get("temperature"));  //体温
                    Double tem = Double.parseDouble(map.get("temperature"));
                    obj.setValue2(tem<37.2?"0":"1");
                    break;
                }
                default: {

+ 4 - 2
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/service/doorCoach/DoctorDoorCoachOrderService.java

@ -446,8 +446,10 @@ public class DoctorDoorCoachOrderService {
            first = first.replace("key1",(patient.getName()==null?"":patient.getName()));
            first = first.replace("key2", null != doorServiceOrder.getDoctorName() ? doorServiceOrder.getDoctorName() : "");
            List<BasePatientWechatDo> basePatientWechatDos = basePatientWechatDao.findByWechatIdAndPatientId(wxId,patient.getId());
            String openId = basePatientWechatDos.get(0).getOpenid();
            messageUtil.putTemplateWxMessage(wxId,"template_process_feedback","smyyyjjd",openId,first,null,null,30,json, DateUtil.dateToChineseDate(new Date()),"上门预约已接单");
            if (basePatientWechatDos.size()>0){
                String openId = basePatientWechatDos.get(0).getOpenid();
                messageUtil.putTemplateWxMessage(wxId,"template_process_feedback","smyyyjjd",openId,first,null,null,30,json, DateUtil.dateToChineseDate(new Date()),"上门预约已接单");
            }
        }catch (Exception e){
            e.printStackTrace();
            logger.error(e.getMessage());

+ 4 - 4
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/service/doorCoach/PatientDoorCoachOrderService.java

@ -793,7 +793,7 @@ public class PatientDoorCoachOrderService extends BaseJpaService<BaseDoorCoachOr
        }
        //如果是调度员取消,推送IM取消工单json消息,
        if (StringUtils.isNotBlank(dispatcher)){
            if (!consultTeamService.finishConsult(orderDO.getId(),dispatcher,dispatcherName,2)){
            if (!consultTeamService.finishConsult(orderDO.getId(),orderDO.getPatient(),dispatcher,2)){
                String failMsg = "咨询结束失败 无法取消工单";
                result.put(ResponseContant.resultFlag, ResponseContant.fail);
                result.put(ResponseContant.resultMsg,failMsg);
@ -801,7 +801,7 @@ public class PatientDoorCoachOrderService extends BaseJpaService<BaseDoorCoachOr
            }
        }
        else {
            if (!consultTeamService.finishConsult(orderDO.getId(),orderDO.getPatient(),orderDO.getPatientName(),1)){
            if (!consultTeamService.finishConsult(orderDO.getId(),orderDO.getPatient(),orderDO.getPatient(),1)){
                String failMsg = "咨询结束失败 无法取消工单";
                result.put(ResponseContant.resultFlag, ResponseContant.fail);
                result.put(ResponseContant.resultMsg,failMsg);
@ -1373,9 +1373,9 @@ public class PatientDoorCoachOrderService extends BaseJpaService<BaseDoorCoachOr
            wlyyDoorServiceOrder.setDoctorArrivingTime(jsonObjectParam.get("doctorArrivingTime").toString());
        }
        // 居民期望服务时间
//        if(!StringUtils.isEmpty(jsonObjectParam.getString("patientExpectedServeTime"))){
        if(!StringUtils.isEmpty(jsonObjectParam.getString("patientExpectedServeTime"))){
        wlyyDoorServiceOrder.setPatientExpectedServeTime(jsonObjectParam.get("patientExpectedServeTime").toString());
//        }
        }
        // 服务区
        if(!StringUtils.isEmpty(jsonObjectParam.getString("serveTown"))){
            wlyyDoorServiceOrder.setServeTown(jsonObjectParam.getString("serveTown"));

+ 25 - 3
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/service/security/SecurityMonitoringOrderService.java

@ -16,9 +16,11 @@ import com.yihu.jw.care.service.sign.ServicePackageService;
import com.yihu.jw.care.util.ConstantUtil;
import com.yihu.jw.care.util.CountDistance;
import com.yihu.jw.entity.base.im.ConsultDo;
import com.yihu.jw.entity.base.im.ConsultTeamDo;
import com.yihu.jw.entity.care.assistance.EmergencyAssistanceDO;
import com.yihu.jw.entity.hospital.message.SystemMessageDO;
import com.yihu.jw.im.dao.ConsultDao;
import com.yihu.jw.im.dao.ConsultTeamDao;
import com.yihu.jw.im.util.ImUtil;
import com.yihu.jw.restmodel.emergency.EmergencyOrderVO;
import com.yihu.jw.restmodel.web.PageEnvelop;
@ -98,6 +100,8 @@ public class SecurityMonitoringOrderService extends BaseJpaService<SecurityMonit
    private EmergencyWarnDoctorResponseDao emergencyWarnDoctorResponseDao;
    @Autowired
    private PatientFamilyMemberService familyMemberService;
    @Autowired
    private ConsultTeamDao consultTeamDao;
    private Logger logger = LoggerFactory.getLogger(SecurityMonitoringOrderService.class);
@ -193,6 +197,13 @@ public class SecurityMonitoringOrderService extends BaseJpaService<SecurityMonit
        //创建im会话  安防警报咨询的sessionid  为居民code+(wlyy_consult_team表consult)+20
        JSONObject IMObj = consultTeamService.addSecurityMoConsult(orderDO.getId(),orderDO.getPatient(),null,null);
        String sessionId=orderDO.getPatient()+"_"+ IMObj.getJSONObject("resultMsg").getString("consult") + "_22";
        orderDO.setSessionId(sessionId);
        if (StringUtils.isNotBlank(orderDO.getServeDesc())){
            ConsultTeamDo consultTeam = consultTeamDao.queryByRelationCode(orderDO.getId());
            if (consultTeam!=null){
                imUtil.sendTopicIM(orderDO.getPatient(),patientDO.getName(),consultTeam.getConsult(),"1",orderDO.getServeDesc(),null);
            }
        }
        //推送socket给医生  推送紧急预警
        for (BaseDoctorDO doctorDO:doctorDOS){
            JSONObject message = new JSONObject();
@ -261,7 +272,12 @@ public class SecurityMonitoringOrderService extends BaseJpaService<SecurityMonit
        }
        emergencyOrderVO.setUpdateTime(orderDO.getUpdateTime());
        if (orderDO.getStatus()==-1){//已取消
            emergencyOrderVO.setUpdateTime(orderDO.getCancelTime());
            if (orderDO.getCancelTime()!=null){
                emergencyOrderVO.setUpdateTime(orderDO.getCancelTime());
            }
            else {
                emergencyOrderVO.setUpdateTime(orderDO.getUpdateTime());
            }
        }
        //小结
        Integer conclusionStatus = Integer.valueOf(orderDO.getConclusionStatus()==null?"0":(orderDO.getConclusionStatus()+""));
@ -297,13 +313,13 @@ public class SecurityMonitoringOrderService extends BaseJpaService<SecurityMonit
            Map<String,Object> tmp = new HashMap<>();
            tmp.put("name","系统预警");
            tmp.put("status",0);
            tmp.put(statusName,"未读");
            tmp.put("statusName","未读");
            SystemMessageDO messageDO = systemMessageDao.findByRelationCodeAndReceiver(orderDO.getId(),patientId);
            if (messageDO != null){
                if (StringUtils.isNotBlank(messageDO.getIsRead())){
                    tmp.put("status",Integer.parseInt(messageDO.getIsRead()));
                    if (Integer.parseInt(messageDO.getIsRead())==1){
                        tmp.put(statusName,"已读");
                        tmp.put("statusName","已读");
                    }
                }
            }
@ -404,6 +420,12 @@ public class SecurityMonitoringOrderService extends BaseJpaService<SecurityMonit
        orderDO.setUpdateUserName(doctorDO.getName());
        orderDO.setUpdateUser(doctorDO.getId());
        orderDO.setEmergencyCancel(emergencyCancel);
        if (!consultTeamService.finishConsult(orderDO.getId(),orderDO.getPatient(),doctor,2)){
            String failMsg = "修改失败:咨询未能结束";
            result.put(ResponseContant.resultFlag, ResponseContant.fail);
            result.put(ResponseContant.resultMsg,failMsg);
            return result;
        }
        securityMonitoringOrderDao.save(orderDO);
        result = getSecurityOrderDetail(orderId,null);

+ 1 - 0
svr/svr-cloud-device/src/main/java/com/yihu/jw/care/service/DeviceService.java

@ -271,6 +271,7 @@ public class DeviceService {
                                JSONObject jsonObjectParam = new JSONObject();
                                jsonObjectParam.put("order", jsonObject);
                                map.put("jsonData", jsonObjectParam.toJSONString());
                                map.put("orderSource", 2);
                                content = com.alibaba.fastjson.JSONObject.toJSONString(map);
                                postParams = AesEncryptUtils.agEncrypt(content);