liubing %!s(int64=4) %!d(string=hai) anos
pai
achega
9fe11c116c

+ 2 - 0
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/endpoint/sign/SignEndpoint.java

@ -2,6 +2,7 @@ package com.yihu.jw.care.endpoint.sign;
import com.alibaba.fastjson.JSONObject;
import com.yihu.jw.care.aop.ObserverRequired;
import com.yihu.jw.care.aop.RedisLock;
import com.yihu.jw.care.dao.sign.ArchiveDao;
import com.yihu.jw.care.dao.sign.CapacityAssessmentRecordDao;
import com.yihu.jw.care.service.sign.ArchiveService;
@ -408,6 +409,7 @@ public class SignEndpoint extends EnvelopRestEndpoint {
    @PostMapping(value = "sysArchive" )
    @ApiOperation(value = "同步档案")
    @ObserverRequired
    @RedisLock(key = "#idcard")
    public Envelop sysArchive(
            @ApiParam(name = "idcard", value = "居民身份证", required = true)
            @RequestParam String idcard,

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

@ -5,16 +5,19 @@ import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.serializer.SerializerFeature;
import com.yihu.jw.care.dao.assistance.EmergencyAssistanceDao;
import com.yihu.jw.care.dao.device.PatientDeviceDao;
import com.yihu.jw.care.dao.sign.ServicePackageItemDao;
import com.yihu.jw.care.dao.sign.ServicePackageSignRecordDao;
import com.yihu.jw.care.dao.team.BaseTeamMemberDao;
import com.yihu.jw.care.service.consult.ConsultTeamService;
import com.yihu.jw.care.service.device.PatientDeviceService;
import com.yihu.jw.care.util.CountDistance;
import com.yihu.jw.doctor.dao.BaseDoctorDao;
import com.yihu.jw.entity.base.doctor.BaseDoctorDO;
import com.yihu.jw.entity.base.im.ConsultTeamDo;
import com.yihu.jw.entity.base.patient.BasePatientDO;
import com.yihu.jw.entity.care.assistance.EmergencyAssistanceDO;
import com.yihu.jw.entity.care.device.DevicePatientDevice;
import com.yihu.jw.im.dao.ConsultTeamDao;
import com.yihu.jw.im.util.ImUtil;
import com.yihu.jw.patient.dao.BasePatientDao;
@ -61,6 +64,10 @@ public class EmergencyAssistanceService extends BaseJpaService<EmergencyAssistan
    private ConsultTeamDao consultTeamDao;
    @Autowired
    private HttpClientUtil httpClientUtil;
    @Autowired
    private PatientDeviceService patientDeviceService;
    @Autowired
    private PatientDeviceDao patientDeviceDao;
    @Value("${baiduApi.AK}")
    private String baiduAk;
    @Value("${baiduApi.url}")
@ -196,6 +203,32 @@ public class EmergencyAssistanceService extends BaseJpaService<EmergencyAssistan
            result.put(ResponseContant.resultMsg,failMsg);
            return result;
        }
        if (assistanceDO.getOrderSource()==2){//手环发起的获取手环坐标
            try {
                List<DevicePatientDevice> devicePatientDeviceDos = patientDeviceDao.findByUserAndCategoryCode(assistanceDO.getPatient(),"4");
                if (devicePatientDeviceDos.size()>0){
                    JSONObject resultTmp =  patientDeviceService.getDeviceLastLocation(devicePatientDeviceDos.get(0).getDeviceSn(),null);
                    if (resultTmp.getBooleanValue("success")==true&&resultTmp.containsKey("obj")&&resultTmp.getJSONObject("obj")!=null){
                        JSONObject resultTmp1 = resultTmp.getJSONObject("obj");
                        if (resultTmp1!=null&&resultTmp1.containsKey("locationdata")){
                            JSONObject resultTmp2 = resultTmp1.getJSONObject("locationdata");
                            if (resultTmp2!=null&&resultTmp2.containsKey("point")){
                                JSONObject pointJsonObject = resultTmp2.getJSONObject("point");
                                if (pointJsonObject!=null){
                                    Double lat = pointJsonObject.getDouble("lat");
                                    Double lon = pointJsonObject.getDouble("lon");
                                    assistanceDO.setServeLat(lat+"");
                                    assistanceDO.setServeLon(lon+"");
                                    emergencyAssistanceDao.save(assistanceDO);
                                }
                            }
                        }
                    }
                }
            }catch (Exception e){
            }
        }
        List<BaseDoctorDO> doctorDOS = baseTeamMemberDao.findAllMembers(assistanceDO.getTeamCode());
        double distance = 0.0;
        JSONArray otherDoctorDistance = new JSONArray();

+ 15 - 10
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/service/sign/ArchiveService.java

@ -178,16 +178,21 @@ public class ArchiveService extends BaseJpaService<ArchiveDO, ArchiveDao> {
     */
    public void sysArchive(String doctorId,String idcard){
        BasePatientDO patientDO = patientDao.findByIdcardAndDel(idcard,"1");
        BaseDoctorDO doctorDO = doctorDao.findById(doctorId);
        ArchiveDO archiveDO = new ArchiveDO();
        archiveDO.setArchiveOperatorName(doctorDO.getName());
        archiveDO.setDoctorCode(doctorId);
        archiveDO.setPatient(patientDO.getId());
        archiveDO.setSickName(patientDO.getName());
        archiveDO.setSignStatus(0);
        archiveDO.setIdcard(patientDO.getIdcard());
        archiveDO.setCreateTime(new Date());
        archiveDao.save(archiveDO);
        ArchiveDO archiveDOExist = archiveDao.findByPatientAndDoctorCode(patientDO.getId(),doctorId);
        if (archiveDOExist==null){
            BaseDoctorDO doctorDO = doctorDao.findById(doctorId);
            ArchiveDO archiveDO = new ArchiveDO();
            archiveDO.setArchiveOperatorName(doctorDO.getName());
            archiveDO.setDoctorCode(doctorId);
            archiveDO.setPatient(patientDO.getId());
            archiveDO.setSickName(patientDO.getName());
            archiveDO.setSignStatus(0);
            archiveDO.setIdcard(patientDO.getIdcard());
            archiveDO.setCreateTime(new Date());
            archiveDao.save(archiveDO);
        }
    }
}