Browse Source

代码修改

liubing 3 years ago
parent
commit
3797f4aa21

+ 1 - 1
common/common-entity/src/main/java/com/yihu/jw/entity/care/lifeCare/LifeCareOrderDO.java

@ -25,7 +25,7 @@ public class LifeCareOrderDO extends UuidIdentityEntityWithOperator {
        cancel(-1, "已取消"),
        waitForPay(0, "待支付"),
        waitForAccept(1, "待(医生)接单"),//待服务
        signIn(3, "已签到"),
        signIn(3, "已签到"),//即登记服务小结
        complete(2,"已完成");
        private Integer type;

+ 1 - 1
common/common-entity/src/main/java/com/yihu/jw/entity/care/securitymonitoring/SecurityMonitoringOrderDO.java

@ -318,7 +318,7 @@ public class SecurityMonitoringOrderDO extends UuidIdentityEntityWithOperator {
    private String serviceStatus;//服务类型 1-预约项目 2-即时项目
    private String orderInfo;//工单详情 0-未推送 1-未确认 2-已确认
    private String doctorConfirmFinishImg;
    private Integer orderSource;//工单发起来源状态 1APP 2手环 3居家报警 4监控器发起
    private Integer orderSource;//工单发起来源状态 1APP 2手环 3居家报警 4监控器发起 5睡眠带
    private Integer emergencyCancel;// 紧急预警工单误报警原因 字典emergency_cancel
    private String topicItem;//安防工单所属专题 base_system_dict_entry表service_item
    private String sceneImg;//现场照片

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

@ -301,6 +301,7 @@ public class PatientDeviceService extends BaseJpaService<DevicePatientDevice, Pa
                "when category_code=4 then '智能手表'\n" +
                "when category_code=7 then '报警器'\n" +
                "when category_code=12 then '监控器'\n" +
                "when category_code=13 then '睡眠带'\n" +
                "else '未知'\n" +
                "end as categoryName\n" +
                " from dm_device where del=1 GROUP BY category_code ";
@ -316,6 +317,7 @@ public class PatientDeviceService extends BaseJpaService<DevicePatientDevice, Pa
                "when category_code=4 then '智能手表'\n" +
                "when category_code=7 then '报警器'\n" +
                "when category_code=12 then '监控器'\n" +
                "when category_code=13 then '睡眠带'\n" +
                "else '未知'\n" +
                "end as categoryName\n" +
                " from dm_device where del=1 and category_code='"+category_code+"' GROUP BY model ";

+ 13 - 2
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/service/message/BaseServiceNewsService.java

@ -2,6 +2,7 @@ package com.yihu.jw.care.service.message;
import com.yihu.jw.care.dao.device.PatientDeviceDao;
import com.yihu.jw.care.dao.message.BaseServiceNewsDao;
import com.yihu.jw.care.service.device.DeviceService;
import com.yihu.jw.entity.care.device.DevicePatientDevice;
import com.yihu.jw.entity.care.message.BaseServiceNews;
import com.yihu.jw.restmodel.iot.device.WlyyPatientDeviceVO;
@ -13,6 +14,7 @@ import org.springframework.data.domain.Sort.Direction;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
@ -33,6 +35,8 @@ public class BaseServiceNewsService {
    private JdbcTemplate jdbcTemplate;
    @Autowired
    private PatientDeviceDao patientDeviceDao;
    @Autowired
    private DeviceService deviceService;
    /**
     * 查找机构坐标
@ -70,13 +74,20 @@ public class BaseServiceNewsService {
     * @return
     */
    public List<Map<String,Object>> findPatinetLocations(){
        String sql = "SELECT p.id,p.`name`,p.address,p.photo,p.mobile,p.lat_lon latLon,sex,idcard,archive_type type from base_doctor_patient_tmp t,base_patient p " +
        String sql = "SELECT p.id,p.`name`,p.address,p.photo,p.mobile,p.lat_lon latLon,sex,idcard,archive_type type,p.pad_imei from base_doctor_patient_tmp t,base_patient p " +
                "WHERE t.patient = p.id and t.del=1 and t.`status`=1 and p.del =1 " +
                "UNION  " +
                "SELECT p.id,p.`name`,p.address,p.photo,p.mobile,p.lat_lon latLon,sex,idcard,archive_type type from base_service_package_sign_record t,base_patient p " +
                "SELECT p.id,p.`name`,p.address,p.photo,p.mobile,p.lat_lon latLon,sex,idcard,archive_type type,p.pad_imei from base_service_package_sign_record t,base_patient p " +
                "WHERE t.patient = p.id and t.`status`=1 and p.del =1";
        List<Map<String,Object>> list = jdbcTemplate.queryForList(sql);
        for (Map<String,Object> map:list){
            String devices= deviceService.getPatientDeviceCategoryCode(map.get("id").toString());
            if ("0".equals(devices)){
                map.put("devices",new ArrayList<>());
            }else {
                String[] ss = devices.split(",");
                map.put("devices",ss);
            }
            String idcard = map.get("idcard").toString();
            map.put("age", IdCardUtil.getAgeForIdcard(idcard));
        }

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

@ -162,10 +162,10 @@ public class DeviceService {
                }
            }
            //发送紧急救助
            String sql =" select Distinct item.org_code,item.org_name\n" +
            String sql =" select Distinct pack.org_code,pack.org_name\n" +
                    "from base_service_package_sign_record sr INNER JOIN base_service_package_record pr\n" +
                    "on sr.id = pr.sign_id and sr.status=1 INNER JOIN base_service_package_item item on pr.service_package_id = item.service_package_id and item.del=1 \n" +
                    "where item.code='emergencyAssistance' and sr.patient='"+patientDO.getId()+"'";
                    "INNER JOIN base_service_package pack pack on pr.service_package_id = pack.id where item.code='emergencyAssistance' and sr.patient='"+patientDO.getId()+"'";
            List<Map<String,Object>> sqlResult = jdbcTemplate.queryForList(sql);
            if (sqlResult.size()>0){
                JSONObject jsonObject = new JSONObject();
@ -268,7 +268,7 @@ public class DeviceService {
                            Double lon = jsonObjectData.getJSONObject("data").getJSONObject("obj").getJSONObject("locationdata").getJSONObject("point").getDouble("lon");
                            String address = jsonObjectData.getJSONObject("data").getJSONObject("obj").getJSONObject("locationdata").getString("address");
                            String sql ="select DISTINCT item.org_code,item.org_name\n" +
                            String sql ="select DISTINCT pack.org_code,pack.org_name\n" +
                                    " from base_service_package_sign_record sr,base_service_package_record pr,base_service_package_item item ,base_service_package pack\n" +
                                    "where pr.patient = '"+patientDO.getId()+"' and sr.id = pr.sign_id and pr.service_package_id = item.service_package_id \tand  item.`code`='preventLost'  and item.service_package_id = pack.id \n" +
                                    "  and pack.del=1";
@ -557,8 +557,51 @@ public class DeviceService {
            if(StringUtils.isNotBlank(device)){
                List<DevicePatientDevice> devicePatientDeviceDos = patientDeviceDao.findByDeviceSn(device);
                if (devicePatientDeviceDos.size()>0){
                    if ("1".equals(is_warn)){//触发工单
                    if ("1".equals(is_warn)){//触发安防工单
                        BasePatientDO patientDO = patientDao.findById(devicePatientDeviceDos.get(0).getUser());
                        if(null==patientDO){
                            String sql ="select DISTINCT pack.org_code,pack.org_name\n" +
                                    " from base_service_package_sign_record sr,base_service_package_record pr,base_service_package_item item ,base_service_package pack\n" +
                                    "where pr.patient = '"+patientDO.getId()+"' and sr.id = pr.sign_id and pr.service_package_id = item.service_package_id \tand  item.`code`='preventOutOfBed'  and item.service_package_id = pack.id \n" +
                                    "  and pack.del=1";
                            List<Map<String,Object>> sqlResult = jdbcTemplate.queryForList(sql);
                            Map<String, String> json = null;
                            String address= devicePatientDeviceDos.get(0).getSosAddress();
                            if (StringUtils.isNotBlank(devicePatientDeviceDos.get(0).getSosAddress())) {
                                 json = LatitudeUtils.getGeocoderLatitude(address.replace("G.", "").replace("(糖友网)", "").replace("(高友网)", ""));
                             }
                            String lat=null;
                            String lng=null;
                             if (json != null) {
                                  lat= json.get("lat".toString());
                                  lng = json.get("lng".toString());
                             }
                            Map<String,Object> map = new HashMap();
                            String url = cloudCareUrl+"/cloudCare/noLogin/security/createOrder";
                            JSONObject jsonObject = new JSONObject();
                            jsonObject.put("patient",patientDO.getId());
                            jsonObject.put("patientName",patientDO.getName());
                            jsonObject.put("patientPhone",patientDO.getMobile());
                            jsonObject.put("serveDesc","疑似发生意外");
                            jsonObject.put("hospital",sqlResult.get(0).get("org_code"));
                            jsonObject.put("serveAddress",address.replace(" ",""));
                            jsonObject.put("serveLat",lat);
                            jsonObject.put("serveLon",lng);
                            jsonObject.put("topicItem","preventOutOfBed");
                            jsonObject.put("deviceSn",device);
                            JSONObject jsonObjectParam = new JSONObject();
                            jsonObjectParam.put("order", jsonObject);
                            map.put("jsonData", jsonObjectParam.toJSONString());
                            map.put("orderSource", 5);
                            map.put("warnStr", "疑似发生意外");
                           String content = com.alibaba.fastjson.JSONObject.toJSONString(map);
                           String postParams = AesEncryptUtils.agEncrypt(content);
                           String response = httpClientUtil.postBodyRawForm(url,postParams);
                           JSONObject result = com.alibaba.fastjson.JSONObject.parseObject(response);
                           JSONObject jsonObjectData =JSONObject.parseObject(AesEncryptUtils.agDecrypt(result.getString("data")));
                            System.out.println(jsonObjectData.toJSONString());
                        }
                    }
                }
            }
@ -623,4 +666,9 @@ public class DeviceService {
        }
    }
    public static void main(String[] args) {
        String ss="123123,2323";
        System.out.println(String.join(",",ss));
    }
}