浏览代码

Merge branch 'dev' of liubing/wlyy2.0 into dev

liubing 3 年之前
父节点
当前提交
f7e3c3adfb

+ 12 - 2
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/endpoint/statistics/DetectionPlatformEndpoint.java

@ -98,8 +98,8 @@ public class DetectionPlatformEndpoint extends EnvelopRestEndpoint {
    @GetMapping(value = "getDeviceByCondition")
    @ApiOperation(value = "地图展示,根据不同的条件展示不同的数据")
    public ListEnvelop<Object> getDeviceByCondition(            @ApiParam(name="categoryCode",value = "categoryCode") @RequestParam(required = false) String categoryCode,
                                                                @ApiParam(name="patient",value = "patient") @RequestParam(required = false) String patient){
    public ListEnvelop<Object> getDeviceByCondition(@ApiParam(name="categoryCode",value = "categoryCode") @RequestParam(required = false) String categoryCode,
                                                    @ApiParam(name="patient",value = "patient") @RequestParam(required = false) String patient){
        try {
            JSONArray object = platformService.getDeviceByCondition(categoryCode,patient);
            return success("查询成功",200,object);
@ -108,6 +108,16 @@ public class DetectionPlatformEndpoint extends EnvelopRestEndpoint {
        }
    }
    @GetMapping("getOrderListWarning")
    @ApiOperation(value = "物联网大屏预警工单列表坐标获取")
    public ListEnvelop getOrderListWarning(){
        try {
            return ListEnvelop.getSuccess("success",platformService.getOrderListWarning());
        }catch (Exception e){
            return failedListEnvelopException(e);
        }
    }
    @GetMapping(value = "getDeviceInfo")
    @ApiOperation(value = "地图展示,根据设备sn码查询详情")
    public ObjEnvelop getDeviceInfo(            @ApiParam(name="deviceSn",value = "deviceSn") @RequestParam(required = true) String deviceSn){

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

@ -6,6 +6,7 @@ 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.BaseYxDeviceIndexDao;
import com.yihu.jw.care.dao.device.DeviceDetailDao;
import com.yihu.jw.care.dao.device.PatientDeviceDao;
import com.yihu.jw.care.dao.security.BaseEmergencyWarnLogDao;
import com.yihu.jw.care.dao.security.EmergencyWarnConclusionDao;
@ -32,6 +33,7 @@ import com.yihu.jw.entity.base.patient.BasePatientDO;
import com.yihu.jw.entity.care.assistance.EmergencyAssistanceDO;
import com.yihu.jw.entity.care.contacts.PatientSosContactsDO;
import com.yihu.jw.entity.care.device.BaseYxDeviceIndex;
import com.yihu.jw.entity.care.device.DeviceDetail;
import com.yihu.jw.entity.care.device.DevicePatientDevice;
import com.yihu.jw.entity.care.securitymonitoring.BaseEmergencyWarnLogDO;
import com.yihu.jw.entity.care.securitymonitoring.EmergencyWarnConclusionDO;
@ -125,6 +127,8 @@ public class EmergencyAssistanceService extends BaseJpaService<EmergencyAssistan
    @Autowired
    private BaseOrgDao orgDao;
    private DeviceDetailDao deviceDetailDao;
    /**
     * 获取百度天气
     */
@ -247,6 +251,8 @@ public class EmergencyAssistanceService extends BaseJpaService<EmergencyAssistan
        }
        //推送socket给医生
        JSONObject message = new JSONObject();
        String latLon = assistanceDO.getServeLat()+","+assistanceDO.getServeLon();
        message.put("latLon",latLon);
        message.put("session_id",assistanceDO.getSessionId());
        message.put("sender_name",assistanceDO.getPatientName());
        message.put("content_notice",assistanceDO.getPatientName()+" 发起紧急救助!");
@ -256,6 +262,28 @@ public class EmergencyAssistanceService extends BaseJpaService<EmergencyAssistan
        message.put("order_id",assistanceDO.getId());
        message.put("content_type",40);
        message.put("serverDesc","紧急呼叫");
        message.put("categoryCode","");
        message.put("orgType","");
        message.put("contactStatus","");
        if (null!=assistanceDO.getDeviceSn()){
            String device_sn = assistanceDO.getDeviceSn();
            if (org.apache.commons.lang.StringUtils.isNotBlank(device_sn)){
                DeviceDetail deviceDetail = deviceDetailDao.findBySn(device_sn);
                if (null!=deviceDetail){
                    message.put("contactStatus",deviceDetail.getContactStatus());
                    message.put("categoryCode",deviceDetail.getCategoryCode());
                }
            }
        }
        String orgCode = assistanceDO.getOrgCode();
        BaseOrgDO orgDO = orgDao.findByCode(orgCode);
        if (null!=orgDO){
            message.put("orgType",orgDO.getType());
        }
        for (BaseDoctorDO doctorDO:doctorDOS){
            try {
                if (StringUtils.isNotBlank(doctorDO.getMobile())){
@ -774,6 +802,8 @@ public class EmergencyAssistanceService extends BaseJpaService<EmergencyAssistan
        }
        //工单完成 给pc管理端推送完成信息
        JSONObject message = new JSONObject();
        String latLon = assistanceDO.getServeLat()+","+assistanceDO.getServeLon();
        message.put("latLon",latLon);
        message.put("session_id",assistanceDO.getSessionId());
        message.put("sender_name",assistanceDO.getPatientName());
        message.put("content_notice",assistanceDO.getPatientName()+" 完成紧急救助!");
@ -783,6 +813,27 @@ public class EmergencyAssistanceService extends BaseJpaService<EmergencyAssistan
        message.put("order_id",assistanceDO.getId());
        message.put("content_type",40);
        message.put("serverDesc","紧急呼叫");
        message.put("categoryCode","");
        message.put("orgType","");
        message.put("contactStatus","");
        if (null!=assistanceDO.getDeviceSn()){
            String device_sn = assistanceDO.getDeviceSn();
            if (org.apache.commons.lang.StringUtils.isNotBlank(device_sn)){
                DeviceDetail deviceDetail = deviceDetailDao.findBySn(device_sn);
                if (null!=deviceDetail){
                    message.put("contactStatus",deviceDetail.getContactStatus());
                    message.put("categoryCode",deviceDetail.getCategoryCode());
                }
            }
        }
        String orgCode = assistanceDO.getOrgCode();
        BaseOrgDO orgDO = orgDao.findByCode(orgCode);
        if (null!=orgDO){
            message.put("orgType",orgDO.getType());
        }
        imUtill.sendPcManageMessageToPc("cloudCare_pcManage",message.toString());
        emergencyAssistanceDao.save(assistanceDO);
        String failMsg = "当前救助工单已取消";
@ -842,6 +893,8 @@ public class EmergencyAssistanceService extends BaseJpaService<EmergencyAssistan
        }
        //工单完成 给pc管理端推送完成信息
        JSONObject message = new JSONObject();
        String latLon = assistanceDO.getServeLat()+","+assistanceDO.getServeLon();
        message.put("latLon",latLon);
        message.put("session_id",assistanceDO.getSessionId());
        message.put("sender_name",assistanceDO.getPatientName());
        message.put("content_notice",assistanceDO.getPatientName()+" 完成紧急救助!");
@ -851,6 +904,27 @@ public class EmergencyAssistanceService extends BaseJpaService<EmergencyAssistan
        message.put("order_id",assistanceDO.getId());
        message.put("content_type",40);
        message.put("serverDesc","紧急呼叫");
        message.put("categoryCode","");
        message.put("orgType","");
        message.put("contactStatus","");
        if (null!=assistanceDO.getDeviceSn()){
            String device_sn = assistanceDO.getDeviceSn();
            if (org.apache.commons.lang.StringUtils.isNotBlank(device_sn)){
                DeviceDetail deviceDetail = deviceDetailDao.findBySn(device_sn);
                if (null!=deviceDetail){
                    message.put("contactStatus",deviceDetail.getContactStatus());
                    message.put("categoryCode",deviceDetail.getCategoryCode());
                }
            }
        }
        String orgCode = assistanceDO.getOrgCode();
        BaseOrgDO orgDO = orgDao.findByCode(orgCode);
        if (null!=orgDO){
            message.put("orgType",orgDO.getType());
        }
        imUtill.sendPcManageMessageToPc("cloudCare_pcManage",message.toString());
        emergencyAssistanceDao.save(assistanceDO);
        return getOrderDetail(orderId,null);
@ -979,6 +1053,8 @@ public class EmergencyAssistanceService extends BaseJpaService<EmergencyAssistan
        //工单完成 给pc管理端推送完成信息
        JSONObject message = new JSONObject();
        String latLon = assistanceDO.getServeLat()+","+assistanceDO.getServeLon();
        message.put("latLon",latLon);
        message.put("session_id",assistanceDO.getSessionId());
        message.put("sender_name",assistanceDO.getPatientName());
        message.put("content_notice",assistanceDO.getPatientName()+" 完成紧急救助!");
@ -988,6 +1064,27 @@ public class EmergencyAssistanceService extends BaseJpaService<EmergencyAssistan
        message.put("order_id",assistanceDO.getId());
        message.put("content_type",40);
        message.put("serverDesc","紧急呼叫");
        message.put("categoryCode","");
        message.put("orgType","");
        message.put("contactStatus","");
        if (null!=assistanceDO.getDeviceSn()){
            String device_sn = assistanceDO.getDeviceSn();
            if (org.apache.commons.lang.StringUtils.isNotBlank(device_sn)){
                DeviceDetail deviceDetail = deviceDetailDao.findBySn(device_sn);
                if (null!=deviceDetail){
                    message.put("contactStatus",deviceDetail.getContactStatus());
                    message.put("categoryCode",deviceDetail.getCategoryCode());
                }
            }
        }
        String orgCode = assistanceDO.getOrgCode();
        BaseOrgDO orgDO = orgDao.findByCode(orgCode);
        if (null!=orgDO){
            message.put("orgType",orgDO.getType());
        }
        imUtill.sendPcManageMessageToPc("cloudCare_pcManage",message.toString());
        result = getOrderDetail(orderId,null);
        return result;

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

@ -1,11 +1,15 @@
package com.yihu.jw.care.service.message;
import com.yihu.jw.care.dao.device.DeviceDetailDao;
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.base.org.BaseOrgDO;
import com.yihu.jw.entity.base.patient.BasePatientDO;
import com.yihu.jw.entity.care.device.DeviceDetail;
import com.yihu.jw.entity.care.device.DevicePatientDevice;
import com.yihu.jw.entity.care.message.BaseServiceNews;
import com.yihu.jw.org.dao.BaseOrgDao;
import com.yihu.jw.patient.dao.BasePatientDao;
import com.yihu.jw.util.common.IdCardUtil;
import org.apache.commons.lang.StringUtils;
@ -41,6 +45,11 @@ public class BaseServiceNewsService {
    private DeviceService deviceService;
    @Autowired
    private BasePatientDao patientDao;
    @Autowired
    private DeviceDetailDao deviceDetailDao;
    @Autowired
    private BaseOrgDao orgDao;
    /**
     * 查找机构坐标
@ -132,6 +141,28 @@ public class BaseServiceNewsService {
            }
            String idcard = map.get("idcard").toString();
            map.put("age", IdCardUtil.getAgeForIdcard(idcard));
            sql = " select CONCAT(o.serve_lat,',',o.serve_lon) latLon,'紧急呼叫' as serverDesc,o.org_code orgCode,o.device_sn from base_emergency_assistance_order o where o.patient='"+patient+"' and `status`=1 " +
                    " UNION All  " +
                    "select CONCAT(o.serve_lat,',',o.serve_lon) latLon,o.serve_desc serverDesc,o.hospital orgCode,o.device_sn from base_security_monitoring_order o where o.patient='"+patient+"' and `status`=1 ";
            List<Map<String,Object>> orderPoints = jdbcTemplate.queryForList(sql);
            for (Map<String,Object> tmp:orderPoints){
                if (null!=tmp.get("device_sn")){
                    String device_sn = tmp.get("device_sn").toString();
                    if (StringUtils.isNotBlank(device_sn)){
                        DeviceDetail deviceDetail = deviceDetailDao.findBySn(device_sn);
                        if (null!=deviceDetail){
                            tmp.put("contactStatus",deviceDetail.getContactStatus());
                            tmp.put("categoryCode",deviceDetail.getCategoryCode());
                        }
                    }
                }
                String orgCode = tmp.get("orgCode").toString();
                BaseOrgDO orgDO = orgDao.findByCode(orgCode);
                if (null!=orgDO){
                    tmp.put("orgType",orgDO.getType());
                }
            }
            map.put("orderPoints",orderPoints);
        }
        return list;
    }

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

@ -135,6 +135,8 @@ public class SecurityMonitoringOrderService extends BaseJpaService<SecurityMonit
    private DoctorServicePermissionsService doctorServicePermissionsService;
    @Autowired
    private BaseOrgDao orgDao;
    @Autowired
    private DeviceDetailDao deviceDetailDao;
    private Logger logger = LoggerFactory.getLogger(SecurityMonitoringOrderService.class);
@ -251,6 +253,8 @@ public class SecurityMonitoringOrderService extends BaseJpaService<SecurityMonit
        }
        //推送socket给医生  推送紧急预警
        JSONObject message = new JSONObject();
        String latLon = orderDO.getServeLat()+","+orderDO.getServeLon();
        message.put("latLon",latLon);
        message.put("session_id",sessionId);
        message.put("sender_name",orderDO.getPatientName());
        message.put("content_notice",orderDO.getPatientName()+" "+warnStr+"!");
@ -259,6 +263,28 @@ public class SecurityMonitoringOrderService extends BaseJpaService<SecurityMonit
        message.put("OrderStatus","new");
        message.put("order_id",orderDO.getId());
        message.put("content_type",40);
        message.put("serverDesc",orderDO.getServeDesc());
        message.put("categoryCode","");
        message.put("orgType","");
        message.put("contactStatus","");
        if (null!=orderDO.getDeviceSn()){
            String device_sn = orderDO.getDeviceSn();
            if (org.apache.commons.lang.StringUtils.isNotBlank(device_sn)){
                DeviceDetail deviceDetail = deviceDetailDao.findBySn(device_sn);
                if (null!=deviceDetail){
                    message.put("contactStatus",deviceDetail.getContactStatus());
                    message.put("categoryCode",deviceDetail.getCategoryCode());
                }
            }
        }
        String orgCode = orderDO.getHospital();
        BaseOrgDO orgDO = orgDao.findByCode(orgCode);
        if (null!=orgDO){
            message.put("orgType",orgDO.getType());
        }
        for (BaseDoctorDO doctorDO:doctorDOS){
            try {
                if (StringUtils.isNotBlank(doctorDO.getMobile())){
@ -590,6 +616,8 @@ public class SecurityMonitoringOrderService extends BaseJpaService<SecurityMonit
        //完成工单向pc管理端发送消息
        JSONObject message = new JSONObject();
        String latLon = orderDO.getServeLat()+","+orderDO.getServeLon();
        message.put("latLon",latLon);
        message.put("session_id",orderDO.getSessionId());
        message.put("sender_name",orderDO.getPatientName());
        message.put("content_notice","完成安防服务工单");
@ -599,6 +627,27 @@ public class SecurityMonitoringOrderService extends BaseJpaService<SecurityMonit
        message.put("order_id",orderDO.getId());
        message.put("content_type",40);
        message.put("serverDesc",orderDO.getServeDesc());
        message.put("categoryCode","");
        message.put("orgType","");
        message.put("contactStatus","");
        if (null!=orderDO.getDeviceSn()){
            String device_sn = orderDO.getDeviceSn();
            if (org.apache.commons.lang.StringUtils.isNotBlank(device_sn)){
                DeviceDetail deviceDetail = deviceDetailDao.findBySn(device_sn);
                if (null!=deviceDetail){
                    message.put("contactStatus",deviceDetail.getContactStatus());
                    message.put("categoryCode",deviceDetail.getCategoryCode());
                }
            }
        }
        String orgCode = orderDO.getHospital();
        BaseOrgDO orgDO = orgDao.findByCode(orgCode);
        if (null!=orgDO){
            message.put("orgType",orgDO.getType());
        }
        imUtil.sendPcManageMessageToPc("cloudCare_pcManage",message.toString());
        result = getSecurityOrderDetail(orderId,null);
        return result;
@ -992,6 +1041,8 @@ public class SecurityMonitoringOrderService extends BaseJpaService<SecurityMonit
        //完成工单向pc管理端发送消息
        JSONObject message = new JSONObject();
        String latLon = orderDO.getServeLat()+","+orderDO.getServeLon();
        message.put("latLon",latLon);
        message.put("session_id",orderDO.getSessionId());
        message.put("sender_name",orderDO.getPatientName());
        message.put("content_notice","完成安防服务工单");
@ -1001,6 +1052,27 @@ public class SecurityMonitoringOrderService extends BaseJpaService<SecurityMonit
        message.put("order_id",orderDO.getId());
        message.put("content_type",40);
        message.put("serverDesc",orderDO.getServeDesc());
        message.put("categoryCode","");
        message.put("orgType","");
        message.put("contactStatus","");
        if (null!=orderDO.getDeviceSn()){
            String device_sn = orderDO.getDeviceSn();
            if (org.apache.commons.lang.StringUtils.isNotBlank(device_sn)){
                DeviceDetail deviceDetail = deviceDetailDao.findBySn(device_sn);
                if (null!=deviceDetail){
                    message.put("contactStatus",deviceDetail.getContactStatus());
                    message.put("categoryCode",deviceDetail.getCategoryCode());
                }
            }
        }
        String orgCode = orderDO.getHospital();
        BaseOrgDO orgDO = orgDao.findByCode(orgCode);
        if (null!=orgDO){
            message.put("orgType",orgDO.getType());
        }
        imUtil.sendPcManageMessageToPc("cloudCare_pcManage",message.toString());
//        Consult consult = consultDao.queryByRelationCode(orderId);
//        // 发送微信模板消息,通知居民工单已取消(smyyyqx-上门预约已取消)
@ -1137,6 +1209,8 @@ public class SecurityMonitoringOrderService extends BaseJpaService<SecurityMonit
        //完成工单向pc管理端发送消息
        JSONObject message = new JSONObject();
        String latLon = one.getServeLat()+","+one.getServeLon();
        message.put("latLon",latLon);
        message.put("session_id",one.getSessionId());
        message.put("sender_name",one.getPatientName());
        message.put("content_notice","完成安防服务工单");
@ -1146,6 +1220,27 @@ public class SecurityMonitoringOrderService extends BaseJpaService<SecurityMonit
        message.put("order_id",one.getId());
        message.put("content_type",40);
        message.put("serverDesc",one.getServeDesc());
        message.put("categoryCode","");
        message.put("orgType","");
        message.put("contactStatus","");
        if (null!=one.getDeviceSn()){
            String device_sn = one.getDeviceSn();
            if (org.apache.commons.lang.StringUtils.isNotBlank(device_sn)){
                DeviceDetail deviceDetail = deviceDetailDao.findBySn(device_sn);
                if (null!=deviceDetail){
                    message.put("contactStatus",deviceDetail.getContactStatus());
                    message.put("categoryCode",deviceDetail.getCategoryCode());
                }
            }
        }
        String orgCode = one.getHospital();
        BaseOrgDO orgDO = orgDao.findByCode(orgCode);
        if (null!=orgDO){
            message.put("orgType",orgDO.getType());
        }
        imUtil.sendPcManageMessageToPc("cloudCare_pcManage",message.toString());
        return getSecurityOrderDetail(orderId,null);
    }

+ 34 - 0
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/service/statistics/DetectionPlatformService.java

@ -3,12 +3,16 @@ package com.yihu.jw.care.service.statistics;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.sun.org.apache.xerces.internal.xs.datatypes.ByteList;
import com.yihu.jw.care.dao.device.DeviceDetailDao;
import com.yihu.jw.care.dao.device.PatientDeviceDao;
import com.yihu.jw.care.service.device.PatientDeviceService;
import com.yihu.jw.entity.base.org.BaseOrgDO;
import com.yihu.jw.entity.base.patient.BasePatientDO;
import com.yihu.jw.entity.care.device.DeviceDetail;
import com.yihu.jw.entity.care.device.DevicePatientDevice;
import com.yihu.jw.es.util.ElasticsearchUtil;
import com.yihu.jw.es.util.SaveModel;
import com.yihu.jw.org.dao.BaseOrgDao;
import com.yihu.jw.patient.dao.BasePatientDao;
import com.yihu.jw.restmodel.web.PageEnvelop;
import com.yihu.jw.rm.base.BaseRequestMapping;
@ -52,6 +56,11 @@ public class DetectionPlatformService  {
    private ElasticsearchUtil elasticsearchUtil;
    private static final String defalutArea = "330100";
    @Autowired
    private DeviceDetailDao deviceDetailDao;
    @Autowired
    private BaseOrgDao orgDao;
    /**
     * 体征监测 安防监护
     * @param page
@ -279,6 +288,31 @@ public class DetectionPlatformService  {
        return arrayAll;
    }
    public List<Map<String,Object>> getOrderListWarning(){
       String sql = " select CONCAT(o.serve_lat,',',o.serve_lon) latLon,'紧急呼叫' as serverDesc,o.org_code orgCode,o.device_sn from base_emergency_assistance_order o where  `status`=1 " +
                " UNION All  " +
                " select CONCAT(o.serve_lat,',',o.serve_lon) latLon,o.serve_desc serverDesc,o.hospital orgCode,o.device_sn from base_security_monitoring_order o where  `status`=1 ";
        List<Map<String,Object>> orderPoints2 = jdbcTemplate.queryForList(sql);
        for (Map<String,Object> tmp:orderPoints2){
            if (null!=tmp.get("device_sn")){
                String device_sn = tmp.get("device_sn").toString();
                if (StringUtils.isNotBlank(device_sn)){
                    DeviceDetail deviceDetail = deviceDetailDao.findBySn(device_sn);
                    if (null!=deviceDetail){
                        tmp.put("contactStatus",deviceDetail.getContactStatus());
                        tmp.put("categoryCode",deviceDetail.getCategoryCode());
                    }
                }
            }
            String orgCode = tmp.get("orgCode").toString();
            BaseOrgDO orgDO = orgDao.findByCode(orgCode);
            if (null!=orgDO){
                tmp.put("orgType",orgDO.getType());
            }
        }
        return orderPoints2;
    }
    public JSONObject getDeviceInfo(String deviceSn) throws Exception{
        String categoryCode = "";
        JSONObject object = new JSONObject();

+ 1 - 0
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/util/CountDistance.java

@ -39,6 +39,7 @@ public class CountDistance {
    }
    /**
     * 判断坐标是否在多边形区域内
     * @param pointLon

+ 25 - 0
svr/svr-cloud-job/src/main/java/com/yihu/jw/care/dao/org/DeviceDetailDao.java

@ -0,0 +1,25 @@
package com.yihu.jw.care.dao.org;
import com.yihu.jw.entity.care.device.DeviceDetail;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.PagingAndSortingRepository;
import java.util.List;
/**
 * @author yeshijie on 2018/1/10.
 */
public interface DeviceDetailDao extends PagingAndSortingRepository<DeviceDetail, Long>, JpaSpecificationExecutor<DeviceDetail> {
    @Query(value = "select a.* from wlyy_devices a where a.device_code=?1 limit 0,1",nativeQuery = true)
    DeviceDetail findBySn(String sn);
    List<DeviceDetail> findByDeviceCode(String deviceCode);
    List<DeviceDetail> findBySim(String sim);
    @Query("select a from DeviceDetail a where a.deviceCode = ?1 and a.manufacturerCode = ?2")
    DeviceDetail findByDeviceCodeAndManufacturerCode(String deviceCode,String manufacturerCode);
}

+ 87 - 29
svr/svr-cloud-job/src/main/java/com/yihu/jw/care/job/order/EmeWarnOrderDayJob.java

@ -1,7 +1,12 @@
package com.yihu.jw.care.job.order;
import com.alibaba.fastjson.JSONObject;
import com.yihu.jw.care.dao.org.DeviceDetailDao;
import com.yihu.jw.entity.base.org.BaseOrgDO;
import com.yihu.jw.entity.care.device.DeviceDetail;
import com.yihu.jw.im.util.ImUtil;
import com.yihu.jw.org.dao.BaseOrgDao;
import org.apache.commons.lang.StringUtils;
import org.quartz.DisallowConcurrentExecution;
import org.quartz.Job;
import org.quartz.JobExecutionContext;
@ -25,6 +30,10 @@ public class EmeWarnOrderDayJob implements Job {
    private JdbcTemplate jdbcTemplate;
    @Autowired
    private ImUtil imUtil;
    @Autowired
    private DeviceDetailDao deviceDetailDao;
    @Autowired
    private BaseOrgDao orgDao;
    @Override
    public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
@ -32,46 +41,95 @@ public class EmeWarnOrderDayJob implements Job {
        try {
            //救助工单>=1天未处理
            String sql = " select o.id,o.session_id sessionId,o.patient,o.patient_name patientName,o.create_time,20 as type from " +
            String sql = " select '紧急呼叫' as serverDesc,o.org_code orgCode,o.device_sn,o.serve_lat,o.serve_lon,o.id,o.session_id sessionId,o.patient,o.patient_name patientName,o.create_time,20 as type from " +
                    "base_emergency_assistance_order o where status=1 and (TIMESTAMPDIFF(DAY,o.create_time,now()) >=1) and not EXISTS ( " +
                    " select 1 from base_emergency_warn_log log where log.order_id = o.id) ";
            List<Map<String,Object>>  list = jdbcTemplate.queryForList(sql);
            //安防>=1天未处理
            sql = " select o.id,o.patient,o.patient_name patientName,o.serve_desc serverDesc,ct.id consult,22 as type from base_security_monitoring_order o " +
            sql = " select o.serve_desc serverDesc,o.hospital orgCode,o.device_sn,o.serve_lat,o.serve_lon,o.id,o.patient,o.patient_name patientName,o.serve_desc serverDesc,ct.id consult,22 as type from base_security_monitoring_order o " +
                    " INNER JOIN wlyy_consult ct on o.id = ct.relation_code where o.status=1 and (TIMESTAMPDIFF(DAY,o.create_time,now()) >=1 ) and not EXISTS ( " +
                    " select 1 from base_emergency_warn_log log where log.order_id = o.id); ";
            list.addAll(jdbcTemplate.queryForList(sql));
            for (Map<String,Object> map:list){
                Integer type = Integer.parseInt(map.get("type").toString()) ;
                JSONObject message = null;
                if (20==type){
                    message = new JSONObject();
                    message.put("session_id",map.get("sessionId"));
                    message.put("sender_name",map.get("patientName"));
                    message.put("content_notice",map.get("patientName")+" 发起紧急救助!");
                    message.put("sender_code",map.get("patient"));
                    message.put("OrderType",20);
                    message.put("OrderStatus","new");
                    message.put("order_id",map.get("id"));
                    message.put("content_type",40);
                }else {
                    message = new JSONObject();
                    String sessionId = map.get("patient")+"_"+ map.get("consult") + "_22";
                    message.put("session_id",sessionId);
                    message.put("sender_name",map.get("patientName"));
                    message.put("content_notice",map.get("patientName")+" "+map.get("serverDesc")+"!");
                    message.put("sender_code",map.get("patient"));
                    message.put("OrderType",22);
                    message.put("OrderStatus","new");
                    message.put("order_id",map.get("id"));
                    message.put("content_type",40);
                }
                if (null!=message){
                    imUtil.sendPcManageMessageToPc("cloudCare_pcManage",message.toString());
                }
                try {
                    Integer type = Integer.parseInt(map.get("type").toString()) ;
                    JSONObject message = null;
                    if (20==type){
                        message = new JSONObject();
                        message.put("session_id",map.get("sessionId"));
                        message.put("sender_name",map.get("patientName"));
                        message.put("content_notice",map.get("patientName")+" 发起紧急救助!");
                        message.put("sender_code",map.get("patient"));
                        message.put("OrderType",20);
                        message.put("OrderStatus","new");
                        message.put("order_id",map.get("id"));
                        message.put("content_type",40);
                        String latLon = map.get("serve_lat").toString()+","+map.get("serve_lon").toString();
                        message.put("latLon",latLon);
                        message.put("serverDesc","紧急呼叫");
                        message.put("categoryCode","");
                        message.put("orgType","");
                        message.put("contactStatus","");
                        if (null!=map.get("device_sn")){
                            String device_sn = map.get("device_sn").toString();
                            if (StringUtils.isNotBlank(device_sn)){
                                DeviceDetail deviceDetail = deviceDetailDao.findBySn(device_sn);
                                if (null!=deviceDetail){
                                    message.put("contactStatus",deviceDetail.getContactStatus());
                                    message.put("categoryCode",deviceDetail.getCategoryCode());
                                }
                            }
                        }
                        String orgCode = map.get("orgCode").toString();
                        BaseOrgDO orgDO = orgDao.findByCode(orgCode);
                        if (null!=orgDO){
                            message.put("orgType",orgDO.getType());
                        }
                    }else {
                        message = new JSONObject();
                        String sessionId = map.get("patient")+"_"+ map.get("consult") + "_22";
                        message.put("session_id",sessionId);
                        message.put("sender_name",map.get("patientName"));
                        message.put("content_notice",map.get("patientName")+" "+map.get("serverDesc")+"!");
                        message.put("sender_code",map.get("patient"));
                        message.put("OrderType",22);
                        message.put("OrderStatus","new");
                        message.put("order_id",map.get("id"));
                        message.put("content_type",40);
                        String latLon = map.get("serve_lat").toString()+","+map.get("serve_lon").toString();
                        message.put("latLon",latLon);
                        message.put("serverDesc",map.get("serverDesc"));
                        message.put("categoryCode","");
                        message.put("orgType","");
                        message.put("contactStatus","");
                        if (null!=map.get("device_sn")){
                            String device_sn = map.get("device_sn").toString();
                            if (StringUtils.isNotBlank(device_sn)){
                                DeviceDetail deviceDetail = deviceDetailDao.findBySn(device_sn);
                                if (null!=deviceDetail){
                                    message.put("contactStatus",deviceDetail.getContactStatus());
                                    message.put("categoryCode",deviceDetail.getCategoryCode());
                                }
                            }
                        }
                        String orgCode = map.get("orgCode").toString();
                        BaseOrgDO orgDO = orgDao.findByCode(orgCode);
                        if (null!=orgDO){
                            message.put("orgType",orgDO.getType());
                        }
                    }
                    if (null!=message){
                        imUtil.sendPcManageMessageToPc("cloudCare_pcManage",message.toString());
                    }
                }catch (Exception e){ }
            }
        }catch (Exception e){
            e.printStackTrace();

+ 87 - 29
svr/svr-cloud-job/src/main/java/com/yihu/jw/care/job/order/EmeWarnOrderJob.java

@ -1,7 +1,12 @@
package com.yihu.jw.care.job.order;
import com.alibaba.fastjson.JSONObject;
import com.yihu.jw.care.dao.org.DeviceDetailDao;
import com.yihu.jw.entity.base.org.BaseOrgDO;
import com.yihu.jw.entity.care.device.DeviceDetail;
import com.yihu.jw.im.util.ImUtil;
import com.yihu.jw.org.dao.BaseOrgDao;
import org.apache.commons.lang.StringUtils;
import org.quartz.DisallowConcurrentExecution;
import org.quartz.Job;
import org.quartz.JobExecutionContext;
@ -25,6 +30,10 @@ public class EmeWarnOrderJob implements Job {
    private JdbcTemplate jdbcTemplate;
    @Autowired
    private ImUtil imUtil;
    @Autowired
    private DeviceDetailDao deviceDetailDao;
    @Autowired
    private BaseOrgDao orgDao;
    @Override
    public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
@ -32,7 +41,7 @@ public class EmeWarnOrderJob implements Job {
        try {
            //救助工单<=1小时&&<1未处理
            String sql = " select o.id,o.session_id sessionId,o.patient,o.patient_name patientName,o.create_time,20 as type from " +
            String sql = " select '紧急呼叫' as serverDesc,o.org_code orgCode,o.device_sn,o.serve_lat,o.serve_lon,o.id,o.session_id sessionId,o.patient,o.patient_name patientName,o.create_time,20 as type from " +
                "base_emergency_assistance_order o where status=1 and (TIMESTAMPDIFF(HOUR,o.create_time,now()) >=1 " +
                "and TIMESTAMPDIFF(HOUR,o.create_time,now()) <24) and not EXISTS ( " +
                    " select 1 from base_emergency_warn_log log where log.order_id = o.id) ";
@ -40,40 +49,89 @@ public class EmeWarnOrderJob implements Job {
            List<Map<String,Object>>  list = jdbcTemplate.queryForList(sql);
            //安防<=1小时&&<1天未处理
             sql = " select o.id,o.patient,o.patient_name patientName,o.serve_desc serverDesc,ct.id consult,22 as type from base_security_monitoring_order o " +
             sql = " select o.serve_desc serverDesc,o.hospital orgCode,o.device_sn,o.serve_lat,o.serve_lon,o.id,o.patient,o.patient_name patientName,o.serve_desc serverDesc,ct.id consult,22 as type from base_security_monitoring_order o " +
                     " INNER JOIN wlyy_consult ct on o.id = ct.relation_code where o.status=1 and (TIMESTAMPDIFF(HOUR,o.create_time,now()) >=1 " +
                     " AND TIMESTAMPDIFF(HOUR,o.create_time,now()) <24) and not EXISTS ( " +
                    " select 1 from base_emergency_warn_log log where log.order_id = o.id); ";
            list.addAll(jdbcTemplate.queryForList(sql));
            for (Map<String,Object> map:list){
                Integer type = Integer.parseInt(map.get("type").toString()) ;
                JSONObject message = null;
                if (20==type){
                    message = new JSONObject();
                    message.put("session_id",map.get("sessionId"));
                    message.put("sender_name",map.get("patientName"));
                    message.put("content_notice",map.get("patientName")+" 发起紧急救助!");
                    message.put("sender_code",map.get("patient"));
                    message.put("OrderType",20);
                    message.put("OrderStatus","new");
                    message.put("order_id",map.get("id"));
                    message.put("content_type",40);
                }else {
                    message = new JSONObject();
                    String sessionId = map.get("patient")+"_"+ map.get("consult") + "_22";
                    message.put("session_id",sessionId);
                    message.put("sender_name",map.get("patientName"));
                    message.put("content_notice",map.get("patientName")+" "+map.get("serverDesc")+"!");
                    message.put("sender_code",map.get("patient"));
                    message.put("OrderType",22);
                    message.put("OrderStatus","new");
                    message.put("order_id",map.get("id"));
                    message.put("content_type",40);
                }
                if (null!=message){
                    imUtil.sendPcManageMessageToPc("cloudCare_pcManage",message.toString());
                }
                try {
                    Integer type = Integer.parseInt(map.get("type").toString()) ;
                    JSONObject message = null;
                    if (20==type){
                        message = new JSONObject();
                        message.put("session_id",map.get("sessionId"));
                        message.put("sender_name",map.get("patientName"));
                        message.put("content_notice",map.get("patientName")+" 发起紧急救助!");
                        message.put("sender_code",map.get("patient"));
                        message.put("OrderType",20);
                        message.put("OrderStatus","new");
                        message.put("order_id",map.get("id"));
                        message.put("content_type",40);
                        String latLon = map.get("serve_lat").toString()+","+map.get("serve_lon").toString();
                        message.put("latLon",latLon);
                        message.put("serverDesc","紧急呼叫");
                        message.put("categoryCode","");
                        message.put("orgType","");
                        message.put("contactStatus","");
                        if (null!=map.get("device_sn")){
                            String device_sn = map.get("device_sn").toString();
                            if (StringUtils.isNotBlank(device_sn)){
                                DeviceDetail deviceDetail = deviceDetailDao.findBySn(device_sn);
                                if (null!=deviceDetail){
                                    message.put("contactStatus",deviceDetail.getContactStatus());
                                    message.put("categoryCode",deviceDetail.getCategoryCode());
                                }
                            }
                        }
                        String orgCode = map.get("orgCode").toString();
                        BaseOrgDO orgDO = orgDao.findByCode(orgCode);
                        if (null!=orgDO){
                            message.put("orgType",orgDO.getType());
                        }
                    }else {
                        message = new JSONObject();
                        String sessionId = map.get("patient")+"_"+ map.get("consult") + "_22";
                        message.put("session_id",sessionId);
                        message.put("sender_name",map.get("patientName"));
                        message.put("content_notice",map.get("patientName")+" "+map.get("serverDesc")+"!");
                        message.put("sender_code",map.get("patient"));
                        message.put("OrderType",22);
                        message.put("OrderStatus","new");
                        message.put("order_id",map.get("id"));
                        message.put("content_type",40);
                        String latLon = map.get("serve_lat").toString()+","+map.get("serve_lon").toString();
                        message.put("latLon",latLon);
                        message.put("serverDesc",map.get("serverDesc"));
                        message.put("categoryCode","");
                        message.put("orgType","");
                        message.put("contactStatus","");
                        if (null!=map.get("device_sn")){
                            String device_sn = map.get("device_sn").toString();
                            if (StringUtils.isNotBlank(device_sn)){
                                DeviceDetail deviceDetail = deviceDetailDao.findBySn(device_sn);
                                if (null!=deviceDetail){
                                    message.put("contactStatus",deviceDetail.getContactStatus());
                                    message.put("categoryCode",deviceDetail.getCategoryCode());
                                }
                            }
                        }
                        String orgCode = map.get("orgCode").toString();
                        BaseOrgDO orgDO = orgDao.findByCode(orgCode);
                        if (null!=orgDO){
                            message.put("orgType",orgDO.getType());
                        }
                    }
                    if (null!=message){
                        imUtil.sendPcManageMessageToPc("cloudCare_pcManage",message.toString());
                    }
                }catch (Exception e){}
            }
        }catch (Exception e){
            e.printStackTrace();