Browse Source

大屏,火灾触发条件修改

liubing 3 years ago
parent
commit
7773d055c3

+ 6 - 0
common/common-entity/sql记录

@ -1779,4 +1779,9 @@ ALTER TABLE birthday_wishes_to_patient MODIFY COLUMN admin_team_code VARCHAR(50)
-- 2022-03-22 lb
-- 2022-03-22 lb
-- ALTER table base_care_prescription add column `deal_time` datetime DEFAULT NULL COMMENT '处置时间'; -- 已执行
-- ALTER table base_care_prescription add column `deal_time` datetime DEFAULT NULL COMMENT '处置时间'; -- 已执行
-- update base_care_prescription set deal_time = create_time where `status`=2; -- 已执行
-- update base_care_prescription set deal_time = create_time where `status`=2; -- 已执行
-- alter table base_security_monitoring_order add column `team_code` varchar(100) DEFAULT NULL COMMENT '服务团队'; -- 已执行
-- 2022-03-26
ALTER TABLE base_device_health_index add `temperature_value` varchar(20) DEFAULT NULL COMMENT '温度测量值';
ALTER TABLE base_device_health_index add `power_value` varchar(20) DEFAULT NULL COMMENT '剩余电量';
ALTER TABLE base_device_health_index add `at_id` varchar(50) DEFAULT NULL COMMENT 'at';

+ 30 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/care/device/DeviceHealthIndex.java

@ -23,6 +23,9 @@ public class DeviceHealthIndex extends UuidIdentityEntityWithCreateTime{
    private String value;//测量值
    private String value;//测量值
    private String unit;//单位
    private String unit;//单位
    private String recordTime;//记录时间
    private String recordTime;//记录时间
    private String temperaturValue;//温度值
    private String powerValue;//剩余电量
    private String atId;//at
    @Column(name = "device_sn")
    @Column(name = "device_sn")
    public String getDeviceSn() {
    public String getDeviceSn() {
@ -68,4 +71,31 @@ public class DeviceHealthIndex extends UuidIdentityEntityWithCreateTime{
    public void setRecordTime(String recordTime) {
    public void setRecordTime(String recordTime) {
        this.recordTime = recordTime;
        this.recordTime = recordTime;
    }
    }
    @Column(name = "temperature_value")
    public String getTemperaturValue() {
        return temperaturValue;
    }
    public void setTemperaturValue(String temperaturValue) {
        this.temperaturValue = temperaturValue;
    }
    @Column(name = "power_value")
    public String getPowerValue() {
        return powerValue;
    }
    public void setPowerValue(String powerValue) {
        this.powerValue = powerValue;
    }
    @Column(name = "at_id")
    public String getAtId() {
        return atId;
    }
    public void setAtId(String atId) {
        this.atId = atId;
    }
}
}

+ 10 - 5
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/endpoint/doctor/admin/AdminInfoEndpoint.java

@ -3,6 +3,7 @@ package com.yihu.jw.care.endpoint.doctor.admin;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.JSONObject;
import com.yihu.jw.care.service.common.PermissionService;
import com.yihu.jw.care.service.common.PermissionService;
import com.yihu.jw.care.service.device.DeviceManageService;
import com.yihu.jw.care.service.statistics.DetectionPlatformService;
import com.yihu.jw.care.service.statistics.DetectionPlatformService;
import com.yihu.jw.care.service.statistics.StatisticsService;
import com.yihu.jw.care.service.statistics.StatisticsService;
import com.yihu.jw.restmodel.web.Envelop;
import com.yihu.jw.restmodel.web.Envelop;
@ -13,6 +14,7 @@ import com.yihu.jw.restmodel.web.endpoint.EnvelopRestEndpoint;
import io.swagger.annotations.Api;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import io.swagger.annotations.ApiParam;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.*;
@ -31,6 +33,8 @@ public class AdminInfoEndpoint extends EnvelopRestEndpoint {
    private StatisticsService statisticsService;
    private StatisticsService statisticsService;
    @Autowired
    @Autowired
    private DetectionPlatformService platformService;
    private DetectionPlatformService platformService;
    @Autowired
    private DeviceManageService deviceManageService;
    @GetMapping(value = "getOlderOverview")
    @GetMapping(value = "getOlderOverview")
    @ApiOperation("获取老人概况")
    @ApiOperation("获取老人概况")
@ -246,8 +250,7 @@ public class AdminInfoEndpoint extends EnvelopRestEndpoint {
            if(permissionService.noPermission(0,param)){
            if(permissionService.noPermission(0,param)){
                return PageEnvelop.getError("该操作没有权限");
                return PageEnvelop.getError("该操作没有权限");
            }
            }
            //todo
            return PageEnvelop.getSuccessListWithPage(null,null,page,size,null);
            return deviceManageService.getDeviceRepairList(name,status,page,size);
        } catch (Exception e) {
        } catch (Exception e) {
            return failedPageEnvelopException2(e);
            return failedPageEnvelopException2(e);
        }
        }
@ -264,8 +267,7 @@ public class AdminInfoEndpoint extends EnvelopRestEndpoint {
            if(permissionService.noPermission(0,param)){
            if(permissionService.noPermission(0,param)){
                return ObjEnvelop.getError("该操作没有权限");
                return ObjEnvelop.getError("该操作没有权限");
            }
            }
            //todo
            return ObjEnvelop.getSuccess("获取成功",null);
            return ObjEnvelop.getSuccess("获取成功",deviceManageService.getDeviceRepairDetail(orderId));
        } catch (Exception e) {
        } catch (Exception e) {
            return failedObjEnvelopException2(e);
            return failedObjEnvelopException2(e);
        }
        }
@ -284,7 +286,10 @@ public class AdminInfoEndpoint extends EnvelopRestEndpoint {
            if(permissionService.noPermission(0,param)){
            if(permissionService.noPermission(0,param)){
                return Envelop.getError("该操作没有权限");
                return Envelop.getError("该操作没有权限");
            }
            }
            //todo
            if (StringUtils.isBlank(dealContent)){
                return Envelop.getError("报修反馈未填");
            }
            deviceManageService.dealDeviceRepair(doctorId,orderId,dealContent);
            return Envelop.getSuccess("填写成功");
            return Envelop.getSuccess("填写成功");
        } catch (Exception e) {
        } catch (Exception e) {
            return failedObjEnvelopException2(e);
            return failedObjEnvelopException2(e);

+ 4 - 2
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/endpoint/orderLogProcess/OrderLogProcessController.java

@ -74,7 +74,9 @@ public class OrderLogProcessController extends BaseController {
    @RequestMapping(value = "processLog", method = RequestMethod.POST)
    @RequestMapping(value = "processLog", method = RequestMethod.POST)
    @ApiOperation(value = "紧急救助工单流程")
    @ApiOperation(value = "紧急救助工单流程")
    public String processLog(@ApiParam(name = "orderid")
    public String processLog(@ApiParam(name = "orderid")
                             @RequestParam(value = "orderid") String orderid) {
                             @RequestParam(value = "orderid") String orderid,
                             @ApiParam(name = "orderType",value = "20紧急呼叫22安防工单")
                             @RequestParam(value = "orderType") String orderType) {
        try {
        try {
            JSONObject param = new JSONObject();
            JSONObject param = new JSONObject();
@ -83,7 +85,7 @@ public class OrderLogProcessController extends BaseController {
                return write(-1, "该操作没有权限");
                return write(-1, "该操作没有权限");
            }
            }
            JSONObject emergencyAssistanceProcess = easervice.getEmergencyAssistanceProcess(orderid);
            JSONObject emergencyAssistanceProcess = easervice.getEmergencyAssistanceProcess(orderid,orderType);
            if (null == emergencyAssistanceProcess) {
            if (null == emergencyAssistanceProcess) {
                return error(400, "工单不存在");
                return error(400, "工单不存在");
            }
            }

+ 31 - 2
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/endpoint/third/platForm/PatientInfoPlatFormEndpoint.java

@ -1,7 +1,6 @@
package com.yihu.jw.care.endpoint.third.platForm;
package com.yihu.jw.care.endpoint.third.platForm;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.JSONObject;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.yihu.jw.care.endpoint.BaseController;
import com.yihu.jw.care.endpoint.BaseController;
import com.yihu.jw.care.service.assistance.EmergencyAssistanceService;
import com.yihu.jw.care.service.assistance.EmergencyAssistanceService;
import com.yihu.jw.care.service.common.DictService;
import com.yihu.jw.care.service.common.DictService;
@ -141,6 +140,17 @@ public class PatientInfoPlatFormEndpoint extends EnvelopRestEndpoint {
        }
        }
    }
    }
    @GetMapping(value = "getPatientDeviceInfoWithDetail")
    @ApiOperation("获取居民设备列表(带设备电量、预警情况、是否在线等信息)")
    public ObjEnvelop getPatientDeviceInfoWithDetail(@ApiParam(name="patient",value = "居民id",required = true)
                                        @RequestParam(value = "patient")String patient){
        try {
            return ObjEnvelop.getSuccess("查询成功",patientInfoPlatFormService.getPatientDeviceInfoWithDetail(patient));
        }catch (Exception e){
            return failedObjEnvelopException2(e);
        }
    }
    @GetMapping(value = "getEmeAndOlderServiceInfo")
    @GetMapping(value = "getEmeAndOlderServiceInfo")
    @ApiOperation("大屏获取老人紧急预警、助老服务情况")
    @ApiOperation("大屏获取老人紧急预警、助老服务情况")
    public ObjEnvelop getEmeAndOlderServiceInfo(@ApiParam(name="patient",value = "居民id",required = true)
    public ObjEnvelop getEmeAndOlderServiceInfo(@ApiParam(name="patient",value = "居民id",required = true)
@ -379,7 +389,7 @@ public class PatientInfoPlatFormEndpoint extends EnvelopRestEndpoint {
    }
    }
    @GetMapping(value = "getHealthMonitoringListNew")
    @GetMapping(value = "getHealthMonitoringListNew")
    @ApiOperation(value = "健康监测列表 v0.7.0")//        血糖+血压
    @ApiOperation(value = "健康监测列表 v0.7.0")// 血糖+血压
    public PageEnvelop getHealthMonitoringListNew(@ApiParam(name="page",value = "page")
    public PageEnvelop getHealthMonitoringListNew(@ApiParam(name="page",value = "page")
                                                  @RequestParam(value = "page") Integer page,
                                                  @RequestParam(value = "page") Integer page,
                                                  @ApiParam(name="pageSize",value = "pageSize")
                                                  @ApiParam(name="pageSize",value = "pageSize")
@ -410,4 +420,23 @@ public class PatientInfoPlatFormEndpoint extends EnvelopRestEndpoint {
        return dictService.findDictsByNameCode(modelName,name,code,value,page,pageSize);
        return dictService.findDictsByNameCode(modelName,name,code,value,page,pageSize);
    }
    }
    @RequestMapping(value = "processLog", method = RequestMethod.GET)
    @ApiOperation(value = "紧急救助工单流程")
    public ObjEnvelop processLog(@ApiParam(name = "orderid")
                                @RequestParam(value = "orderid") String orderid,
                                 @ApiParam(name = "orderType",value = "20紧急呼叫22安防工单")
                                 @RequestParam(value = "orderType") String orderType) {
        try {
            JSONObject emergencyAssistanceProcess = assistanceService.getEmergencyAssistanceProcess(orderid,orderType);
            if (null == emergencyAssistanceProcess) {
                return ObjEnvelop.getError("工单不存在",400 );
            }
            return ObjEnvelop.getSuccess("成功",emergencyAssistanceProcess);
        } catch (Exception e) {
           return failedObjEnvelopException2(e);
        }
    }
}
}

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

@ -1403,13 +1403,20 @@ public class EmergencyAssistanceService extends BaseJpaService<EmergencyAssistan
        return result;
        return result;
    }
    }
    public JSONObject getEmergencyAssistanceProcess(String orderId){
    public JSONObject getEmergencyAssistanceProcess(String orderId,String orderType){
        JSONObject jsonObject = new JSONObject();
        JSONObject jsonObject = new JSONObject();
        String eaSql = " ";
        List<Map<String, Object>> maps = new ArrayList<>();
        if ("20".equals(orderType)){
            eaSql   = "SELECT `status`,DATE_FORMAT(create_time,'%Y-%m-%d %H:%i:%S') AS createTime,complete_time AS completeTime " +
                    "from base_emergency_assistance_order WHERE id = '"+orderId+"'";
        String eaSql = "SELECT `status`,create_time AS createTime,complete_time AS completeTime " +
                "from base_emergency_assistance_order WHERE id = '"+orderId+"'";
        List<Map<String, Object>> maps = jdbcTemplate.queryForList(eaSql);
        }if ("22".equals(orderId)){
            eaSql   = "SELECT `status`,DATE_FORMAT(create_time,'%Y-%m-%d %H:%i:%S') AS createTime,complete_time AS completeTime " +
                    "from base_security_monitoring_conclusion WHERE id = '"+orderId+"'";
        }
        maps = jdbcTemplate.queryForList(eaSql);
        if (maps.size()==0) {
        if (maps.size()==0) {
            return null;
            return null;
        }
        }
@ -1419,12 +1426,12 @@ public class EmergencyAssistanceService extends BaseJpaService<EmergencyAssistan
        }
        }
        String sql = "select * from base_emergency_warn_log where user_type = 2 and order_id = '"+orderId+"' and type IS NOT NULL ";
        String sql = "select * from base_emergency_warn_log where user_type = 2 and order_id = '"+orderId+"' and type IS NOT NULL ";
        List<BaseEmergencyWarnLogDO> query = jdbcTemplate.query(sql, new BeanPropertyRowMapper<>(BaseEmergencyWarnLogDO.class));
        List<BaseEmergencyWarnLogDO> query = jdbcTemplate.query(sql, new BeanPropertyRowMapper<>(BaseEmergencyWarnLogDO.class));
        jsonObject.put("type1_status",0);
        jsonObject.put("type2_status",0);
        jsonObject.put("type3_status",0);
        jsonObject.put("type4_status",0);
        jsonObject.put("type5_status",0);
        for (BaseEmergencyWarnLogDO baseEmergencyWarnLogDO : query) {
        for (BaseEmergencyWarnLogDO baseEmergencyWarnLogDO : query) {
            jsonObject.put("type1_status",0);
            jsonObject.put("type2_status",0);
            jsonObject.put("type3_status",0);
            jsonObject.put("type4_status",0);
            jsonObject.put("type5_status",0);
            switch (baseEmergencyWarnLogDO.getType()){
            switch (baseEmergencyWarnLogDO.getType()){
                case 1:
                case 1:
                    jsonObject.put("type1_status",1);
                    jsonObject.put("type1_status",1);
@ -1460,6 +1467,7 @@ public class EmergencyAssistanceService extends BaseJpaService<EmergencyAssistan
                    break;
                    break;
            }
            }
        }
        }
        jsonObject = JSONObject.parseObject(JSON.toJSONStringWithDateFormat(jsonObject,"yyyy-MM-dd HH:mm:ss", SerializerFeature.WriteMapNullValue));
        return jsonObject;
        return jsonObject;
    }
    }

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

@ -8,6 +8,7 @@ import com.yihu.jw.care.service.security.SecurityMonitoringOrderService;
import com.yihu.jw.doctor.dao.BaseDoctorDao;
import com.yihu.jw.doctor.dao.BaseDoctorDao;
import com.yihu.jw.entity.base.doctor.BaseDoctorDO;
import com.yihu.jw.entity.base.doctor.BaseDoctorDO;
import com.yihu.jw.entity.patient.BaseDeviceRepairEntity;
import com.yihu.jw.entity.patient.BaseDeviceRepairEntity;
import com.yihu.jw.restmodel.web.PageEnvelop;
import com.yihu.jw.util.date.DateUtil;
import com.yihu.jw.util.date.DateUtil;
import com.yihu.mysql.query.BaseJpaService;
import com.yihu.mysql.query.BaseJpaService;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.StringUtils;
@ -16,9 +17,7 @@ import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Service;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Map;
import java.util.UUID;
import java.util.*;
@Service
@Service
public class DeviceManageService extends BaseJpaService<BaseDeviceRepairEntity,BaseDeviceRepairDao> {
public class DeviceManageService extends BaseJpaService<BaseDeviceRepairEntity,BaseDeviceRepairDao> {
@ -156,4 +155,63 @@ public class DeviceManageService extends BaseJpaService<BaseDeviceRepairEntity,B
        return baseDeviceRepairDao.save(repairEntity);
        return baseDeviceRepairDao.save(repairEntity);
    }
    }
    /**
     * 管理员端获取保修列表
     * @param name
     * @param status 保修状态0保修中 1已完成
     * @param page
     * @param size
     * @return
     */
    public PageEnvelop<List<Map<String,Object>>> getDeviceRepairList(String name,String status,Integer page,Integer size){
        List<Map<String,Object>> list = new ArrayList<>();
        Long total = 0l;
        String sql = " SELECT DISTINCT " +
                " dr.id,pd.device_name AS deviceName,dr.`status` AS `status` ,pd.category_code,dr.bind_user_name AS bindName,dr.deal_peoper_name AS dealName, " +
                " DATE_FORMAT( dr.create_time ,'%Y-%m-%d %H:%i:%S') createTime " ;
        String countSql = " select count(distinct dr.id) ";
        String filterSql =  " FROM wlyy_patient_device pd,base_device_repair dr,base_patient p " +
                "WHERE p.id = pd.user AND pd.del = 0 AND dr.device_sn = pd.device_sn and p.del=1  ";
        if (StringUtils.isNotBlank(status)){
            filterSql += " and dr.status='"+status+"' ";
        }
        if (StringUtils.isNotBlank(name)){
            filterSql += " and (p.name like '%"+name+"%' or p.idcard='%"+name+"%' ) ";
        }
        total = jdbcTemplate.queryForObject(countSql+filterSql,Long.class);
        filterSql += " order by dr.create_time asc limit "+page*size+","+size;
        list = jdbcTemplate.queryForList(sql+filterSql);
        return PageEnvelop.getSuccessListWithPage("获取成功",list,page,size,total);
    }
    public Map<String,Object> getDeviceRepairDetail(String orderId){
       Map<String,Object> result = null;
        String sql  = " SELECT DISTINCT dr.id, " +
                " pd.device_name AS deviceName,dr.status ,dr.bind_user_name AS bindName,dr.deal_peoper_name AS dealName, " +
                " DATE_FORMAT( dr.create_time ,'%Y-%m-%d %H:%i:%S') createTime,  DATE_FORMAT( pd.czrq ,'%Y-%m-%d %H:%i:%S') czrq, " +
                " dr.show_content,dr.img,dr.feedback " +
                "FROM wlyy_patient_device pd,base_device_repair dr,base_patient p " +
                "WHERE p.id = pd.user AND pd.del = 0 AND dr.device_sn = pd.device_sn and p.del=1 and dr.id="+orderId+" ";
        List <Map<String,Object>> list =  jdbcTemplate.queryForList(sql);
        if (list.size()>0){
            result = list.get(0);
        }
        return result;
    }
    public String dealDeviceRepair(String doctorId,String orderId,String dealContent)throws Exception{
        BaseDeviceRepairEntity deviceRepairEntity =  baseDeviceRepairDao.findOne(Long.parseLong(orderId));
        if (null != deviceRepairEntity){
            deviceRepairEntity.setFeedback(dealContent);
            deviceRepairEntity.setDealTime(new Date());
            deviceRepairEntity.setDealPeoper(doctorId);
            deviceRepairEntity.setStatus(1);
            deviceRepairEntity.setDealPeoperName("管理员");
            baseDeviceRepairDao.save(deviceRepairEntity);
        }else{
            throw new Exception("工单不存在");
        }
        return "success";
    }
}
}

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

@ -613,7 +613,7 @@ public class PatientDeviceService extends BaseJpaService<DevicePatientDevice, Pa
                "from dm_device dd INNER JOIN wlyy_patient_device pd on dd.category_code = pd.category_code INNER JOIN wlyy_devices wd on dd.model = wd.device_model and pd.device_sn = wd.device_code \n" +
                "from dm_device dd INNER JOIN wlyy_patient_device pd on dd.category_code = pd.category_code INNER JOIN wlyy_devices wd on dd.model = wd.device_model and pd.device_sn = wd.device_code \n" +
                "where 1=1 and  pd.del=0 ";
                "where 1=1 and  pd.del=0 ";
        if (StringUtils.isNotBlank(patient)) {
        if (StringUtils.isNotBlank(patient)) {
        sql += " and  pd.`user`='" + patient + "' ";
            sql += " and  pd.`user`='" + patient + "' ";
        }
        }
        if (StringUtils.isNotBlank(serviceTopic)) {
        if (StringUtils.isNotBlank(serviceTopic)) {
            sql+= " and dd.service_topic like '%"+serviceTopic+"%' ";
            sql+= " and dd.service_topic like '%"+serviceTopic+"%' ";

+ 231 - 4
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/service/third/PatientInfoPlatFormService.java

@ -37,10 +37,7 @@ import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Service;
import org.springframework.stereotype.Service;
import java.lang.reflect.Field;
import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.*;
import java.util.stream.Collectors;
import java.util.stream.Collectors;
/**
/**
@ -664,4 +661,234 @@ public class PatientInfoPlatFormService {
        List<Map<String,Object>> list = jdbcTemplate.queryForList(sql);
        List<Map<String,Object>> list = jdbcTemplate.queryForList(sql);
        return PageEnvelop.getSuccessListWithPage("查询成功",list,page,pageSize,count);
        return PageEnvelop.getSuccessListWithPage("查询成功",list,page,pageSize,count);
    }
    }
    /**
     *获取设备详情
     */
    public List<Map<String,Object>> getPatientDeviceInfoWithDetail(String patient){
        List<Map<String,Object>>  list = new ArrayList<>();
        list = patientDeviceService.patientDeviceListByTopic(patient,null);
        for (Map<String,Object> tmp :list){
            String category_code = tmp.get("category_code").toString();
            String deviceSN = tmp.get("device_sn").toString();
            Map<String,Object> detailInfo =  getDeviceIndexAndOrder(category_code,deviceSN,patient);
            tmp.put("detailInfo",detailInfo);
        }
        return list;
    }
    /**
     * 获取设备关联数据
     * 手表4:电量、佩戴状态、是否预警、在线状态
     * 报警器7:电量  是否报警、在线状态
     * 床带13:是否压床、是否预警、心率和呼吸频率、在线状态
     * 监控12:是否预警、在线状态
     * 烟雾15:浓度、是否预警、在线状态
     * 燃气14 :浓度、是否预警、在线状态
     * 拐杖16:是否预警、在线状态
     * 血压2:最近一次收缩压,舒张压、在线状态
     * 血糖1:最近一次血糖、在线状态
     */
    public Map<String,Object> getDeviceIndexAndOrder(String category_code,String deviceSn,String patient){
        Map<String,Object> detailInfo = new HashMap<>();
        String sql = " select IFNULL(contact_status,0) contact_status from wlyy_devices where device_code='"+deviceSn+"' ";
        List<String> contact_status = jdbcTemplate.queryForList(sql,String.class);
        detailInfo.put("contact_status",0);
        if (contact_status.size()>0){
            detailInfo.put("contact_status",contact_status.get(0));
        }
        switch (category_code){
            case "1"://血糖 最近一次血糖、在线状态
                sql = " select *,CAST(DATE_FORMAT(record_date,'%Y-%m-%d %H:%i:%S') as char) record_date,  " +
                        " CAST(DATE_FORMAT(sort_date,'%Y-%m-%d %H:%i:%S') as char) sort_date,  " +
                        " CAST(DATE_FORMAT(czrq,'%Y-%m-%d %H:%i:%S') as char) czrq from wlyy_patient_health_index " +
                        " where device_sn='"+deviceSn+"' ORDER BY sort_date DESC LIMIT 1  ";
                List<Map<String,Object>> sqlResult = jdbcTemplate.queryForList(sql);
                if (sqlResult.size()>0){
                    detailInfo.put("healthIndex",sqlResult.get(0));
                }else {
                    detailInfo.put("healthIndex",null);
                }
                break;
            case "2"://血压 最近一次收缩压,舒张压、在线状态
                sql = " select *,CAST(DATE_FORMAT(record_date,'%Y-%m-%d %H:%i:%S') as char) record_date,  " +
                        " CAST(DATE_FORMAT(sort_date,'%Y-%m-%d %H:%i:%S') as char) sort_date,  " +
                        " CAST(DATE_FORMAT(czrq,'%Y-%m-%d %H:%i:%S') as char) czrq from wlyy_patient_health_index " +
                        " where device_sn='"+deviceSn+"' ORDER BY sort_date DESC LIMIT 1  ";
                sqlResult = jdbcTemplate.queryForList(sql);
                if (sqlResult.size()>0){
                    detailInfo.put("healthIndex",sqlResult.get(0));
                }else {
                    detailInfo.put("healthIndex",null);
                }
                break;
            case "4"://手表 电量、佩戴状态、是否预警、在线状态
                sql = "  select o.id,p.id patient,p.name,p.idcard,p.residential_area,'20' orderType,'1' type,o.serve_address,'紧急呼叫' serve_desc,  " +
                        " o.status,DATE_FORMAT(o.create_time,'%Y-%m-%d %H:%i:%S') create_time from base_emergency_assistance_order o " +
                        " INNER JOIN base_patient p on p.id = o.patient where device_sn='"+deviceSn+"' " +
                        " UNION " +
                        " select o.id,p.id patient,p.name,p.idcard,p.residential_area,'22' orderType,'1' type,o.serve_address,o.serve_desc,  " +
                        " o.status,DATE_FORMAT(o.create_time,'%Y-%m-%d %H:%i:%S') create_time from base_security_monitoring_order o " +
                        " INNER JOIN base_patient p on p.id = o.patient where device_sn='"+deviceSn+"' " +
                        "ORDER BY create_time desc limit 1 ";
                sqlResult = jdbcTemplate.queryForList(sql);
                if (sqlResult.size()>0){
                    detailInfo.put("warnStatus",true);
                    detailInfo.put("orderInfo",sqlResult.get(0));
                }else {
                    detailInfo.put("warnStatus",false);
                }
                JSONObject response = patientDeviceService.getAqgDeviceInfo2(deviceSn);
                //手表佩戴状态
                if (response.containsKey("wear_flag") && response.get("wear_flag") != null) {
                    detailInfo.put("wear_flag", response.get("wear_flag"));
                    detailInfo.put("wear_flagName", 1==response.getInteger("wear_flag")?"未佩戴":"已佩戴");
                }
                //电量
                if (response.containsKey("remaining_power") && response.get("remaining_power") != null) {
                    detailInfo.put("remaining_power", response.get("remaining_power"));
                }
                //在线状态实时获取
                if (!response.getBoolean("online")) {//设备在线状态
                    detailInfo.put("contact_status",0);
                } else {
                    detailInfo.put("contact_status",1);
                }
                break;
            case "7"://报警器 电量  是否报警、在线状态
                sql = "  select o.id,p.id patient,p.name,p.idcard,p.residential_area,'20' orderType,'1' type,o.serve_address,'紧急呼叫' serve_desc,  " +
                        " o.status,DATE_FORMAT(o.create_time,'%Y-%m-%d %H:%i:%S') create_time from base_emergency_assistance_order o " +
                        " INNER JOIN base_patient p on p.id = o.patient where device_sn='"+deviceSn+"' ORDER BY create_time desc limit 1 ";
                sqlResult = jdbcTemplate.queryForList(sql);
                if (sqlResult.size()>0){
                    detailInfo.put("warnStatus",true);
                    detailInfo.put("orderInfo",sqlResult.get(0));
                }else {
                    detailInfo.put("warnStatus",false);
                }
                response = patientDeviceService.getAqgDeviceInfo2(deviceSn);
                //电量
                if (response.containsKey("remaining_power") && response.get("remaining_power") != null) {
                    detailInfo.put("remaining_power", response.get("remaining_power"));
                }
                //在线状态实时获取
                if (!response.getBoolean("online")) {//设备在线状态
                    detailInfo.put("contact_status",0);
                } else {
                    detailInfo.put("contact_status",1);
                }
                break;
            case "12"://监控
                sql = " select o.id,p.id patient,p.name,p.idcard,p.residential_area,'22' orderType,'1' type,o.serve_address,o.serve_desc,  " +
                     " o.status,DATE_FORMAT(o.create_time,'%Y-%m-%d %H:%i:%S') create_time from base_security_monitoring_order o " +
                     " INNER JOIN base_patient p on p.id = o.patient where device_sn='"+deviceSn+"' " +
                     "ORDER BY create_time desc limit 1 ";
                sqlResult = jdbcTemplate.queryForList(sql);
                if (sqlResult.size()>0){
                    detailInfo.put("warnStatus",true);
                    detailInfo.put("orderInfo",sqlResult.get(0));
                }else {
                    detailInfo.put("warnStatus",false);
                }
                break;
            case "13"://床带 是否压床、 心率和呼吸频率、在线状态
                sql = " select o.id,p.id patient,p.name,p.idcard,p.residential_area,'22' orderType,'1' type,o.serve_address,o.serve_desc,  " +
                        " o.status,DATE_FORMAT(o.create_time,'%Y-%m-%d %H:%i:%S') create_time from base_security_monitoring_order o " +
                        " INNER JOIN base_patient p on p.id = o.patient where device_sn='"+deviceSn+"' " +
                        "ORDER BY create_time desc limit 1 ";
                sqlResult = jdbcTemplate.queryForList(sql);
                if (sqlResult.size()>0){
                    detailInfo.put("warnStatus",true);
                    detailInfo.put("orderInfo",sqlResult.get(0));
                }else {
                    detailInfo.put("warnStatus",false);
                }
                JSONObject deviceInfo = patientDeviceService.getSleepDeviceInfo(deviceSn);
                if (deviceInfo.getBooleanValue("success")) {
                    com.alibaba.fastjson.JSONArray objInfo = deviceInfo.getJSONArray("objs");
                    if (objInfo.size() > 0) {
                        response = objInfo.getJSONObject(0);
                        if (!response.getBoolean("online")) {//设备在线状态
                            detailInfo.put("contact_status",0);
                        } else {
                            detailInfo.put("contact_status",1);
                        }
                        if (response.getBooleanValue("onbed")) {//当前在床状态
                            detailInfo.put("bedStatus", 1);
                            detailInfo.put("heartRate", response.getString("heartrate"));
                            detailInfo.put("breath", response.getString("breathrate"));
                        } else {
                            detailInfo.put("bedStatus", 0);
                            detailInfo.put("heartRate", null);
                            detailInfo.put("breath", null);
                        }
                    }
                }
                break;
            case "14"://燃气
                sql = " select o.id,p.id patient,p.name,p.idcard,p.residential_area,'22' orderType,'1' type,o.serve_address,o.serve_desc,  " +
                        " o.status,DATE_FORMAT(o.create_time,'%Y-%m-%d %H:%i:%S') create_time from base_security_monitoring_order o " +
                        " INNER JOIN base_patient p on p.id = o.patient where device_sn='"+deviceSn+"' " +
                        "ORDER BY create_time desc limit 1 ";
                sqlResult = jdbcTemplate.queryForList(sql);
                if (sqlResult.size()>0){
                    detailInfo.put("warnStatus",true);
                    detailInfo.put("orderInfo",sqlResult.get(0));
                }else {
                    detailInfo.put("warnStatus",false);
                }
                //获取最新一次燃气浓度
                sql = "";
                break;
            case "15"://烟感
                sql = " select o.id,p.id patient,p.name,p.idcard,p.residential_area,'22' orderType,'1' type,o.serve_address,o.serve_desc,  " +
                        " o.status,DATE_FORMAT(o.create_time,'%Y-%m-%d %H:%i:%S') create_time from base_security_monitoring_order o " +
                        " INNER JOIN base_patient p on p.id = o.patient where device_sn='"+deviceSn+"' " +
                        "ORDER BY create_time desc limit 1 ";
                sqlResult = jdbcTemplate.queryForList(sql);
                if (sqlResult.size()>0){
                    detailInfo.put("warnStatus",true);
                    detailInfo.put("orderInfo",sqlResult.get(0));
                }else {
                    detailInfo.put("warnStatus",false);
                }
                //获取最新一次燃气浓度
                sql = " select value,record_time from base_device_health_index where device_sn='"+deviceSn+"' ORDER BY record_time desc limit 1 ";
                sqlResult = jdbcTemplate.queryForList(sql);
                if (sqlResult.size()>0){
                    detailInfo.putAll(sqlResult.get(0));
                }else {
                    detailInfo.put("value",null);
                    detailInfo.put("record_time",null);
                }
                break;
            case "16"://拐杖 是否预警
                sql = "  select o.id,p.id patient,p.name,p.idcard,p.residential_area,'20' orderType,'1' type,o.serve_address,'紧急呼叫' serve_desc,  " +
                        " o.status,DATE_FORMAT(o.create_time,'%Y-%m-%d %H:%i:%S') create_time from base_emergency_assistance_order o " +
                        " INNER JOIN base_patient p on p.id = o.patient where device_sn='"+deviceSn+"' " +
                        " UNION " +
                        " select o.id,p.id patient,p.name,p.idcard,p.residential_area,'22' orderType,'1' type,o.serve_address,o.serve_desc,  " +
                        " o.status,DATE_FORMAT(o.create_time,'%Y-%m-%d %H:%i:%S') create_time from base_security_monitoring_order o " +
                        " INNER JOIN base_patient p on p.id = o.patient where device_sn='"+deviceSn+"' " +
                        "ORDER BY create_time desc limit 1 ";
                sqlResult = jdbcTemplate.queryForList(sql);
                if (sqlResult.size()>0){
                    detailInfo.put("warnStatus",true);
                    detailInfo.put("orderInfo",sqlResult.get(0));
                }else {
                    detailInfo.put("warnStatus",false);
                }
                sql = " select value,record_time from base_device_health_index where device_sn='"+deviceSn+"' ORDER BY record_time desc limit 1 ";
                sqlResult = jdbcTemplate.queryForList(sql);
                if (sqlResult.size()>0){
                    detailInfo.putAll(sqlResult.get(0));
                }else {
                    detailInfo.put("value",null);
                    detailInfo.put("record_time",null);
                }
                break;
        }
        return detailInfo;
    }
}
}

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

@ -13,4 +13,5 @@ import org.springframework.data.repository.PagingAndSortingRepository;
 */
 */
public interface DeviceHealthIndexDao extends PagingAndSortingRepository<DeviceHealthIndex, String>, JpaSpecificationExecutor<DeviceHealthIndex> {
public interface DeviceHealthIndexDao extends PagingAndSortingRepository<DeviceHealthIndex, String>, JpaSpecificationExecutor<DeviceHealthIndex> {
    DeviceHealthIndex findByAtId(String atId);
}
}

+ 22 - 4
svr/svr-cloud-device/src/main/java/com/yihu/jw/care/service/HvDeviceService.java

@ -16,11 +16,13 @@ import com.yihu.jw.entity.care.device.DeviceDetail;
import com.yihu.jw.entity.care.device.DeviceHealthIndex;
import com.yihu.jw.entity.care.device.DeviceHealthIndex;
import com.yihu.jw.entity.care.device.HvDeviceRecord;
import com.yihu.jw.entity.care.device.HvDeviceRecord;
import com.yihu.jw.entity.care.device.HvDeviceSosLog;
import com.yihu.jw.entity.care.device.HvDeviceSosLog;
import com.yihu.jw.util.date.DateUtil;
import com.yihu.jw.utils.StringUtil;
import com.yihu.jw.utils.StringUtil;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Service;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.ArrayList;
@ -52,6 +54,8 @@ public class HvDeviceService {
    private DeviceDataPushLogUtil dataPushLogUtil;
    private DeviceDataPushLogUtil dataPushLogUtil;
    @Autowired
    @Autowired
    private DeviceLostMessageUtil deviceLostMessageUtil;
    private DeviceLostMessageUtil deviceLostMessageUtil;
    @Autowired
    private JdbcTemplate jdbcTemplate;
    /**
    /**
     * 消息通知接收
     * 消息通知接收
@ -117,15 +121,29 @@ public class HvDeviceService {
                //独立式可燃气体探测器(NB)
                //独立式可燃气体探测器(NB)
                JSONObject tmp = new JSONObject();
                JSONObject tmp = new JSONObject();
                tmp.put("gas",monitorValue);
                tmp.put("gas",monitorValue);
                orderUtil.createSecurityOrder(resourceSerial,null,new JSONObject(),null,6,"11","preventGasLeakage",JSON.toJSONString(tmp, SerializerFeature.WriteMapNullValue));
                String sql = "select count(*) from base_device_health_index where device_sn = '"+resourceSerial+"'" +
                        " and value>0 and create_time>='"+ DateUtil.getNextMinute(-60)+"' ";
                Integer count = jdbcTemplate.queryForObject(sql,Integer.class);
                if(count==0){
                    orderUtil.createSecurityOrder(resourceSerial,null,new JSONObject(),null,6,"11","preventGasLeakage",JSON.toJSONString(tmp, SerializerFeature.WriteMapNullValue));
                }
                dataPushLogUtil.savePushLog(resourceSerial,jsonObject.toJSONString(jsonObject,SerializerFeature.WriteMapNullValue),"可燃气体探测器报警信息接收");
                dataPushLogUtil.savePushLog(resourceSerial,jsonObject.toJSONString(jsonObject,SerializerFeature.WriteMapNullValue),"可燃气体探测器报警信息接收");
            }
            }
            if("600002".equals(deviceType)){
            if("600002".equals(deviceType)){
                //独立式光电感烟探测器(NB)
                //独立式光电感烟探测器(NB)
                JSONObject tmp = new JSONObject();
                tmp.put("smoke",monitorValue);
                orderUtil.createSecurityOrder(resourceSerial,null,new JSONObject(),null,7,"10","preventFire",JSON.toJSONString(tmp, SerializerFeature.WriteMapNullValue));
                Double smokeValued = Double.valueOf(monitorValue);
                if (smokeValued>=70.0){
                    String sql = " select count(*) from base_security_monitoring_order where device_sn = '"+resourceSerial+"' " +
                            " and create_time>='"+DateUtil.getNextMinute(-60)+"' ";
                    Integer count = jdbcTemplate.queryForObject(sql,Integer.class);
                    if(count==0){
                        JSONObject tmp = new JSONObject();
                        tmp.put("smoke",monitorValue);
                        tmp.put("temperature",null);
                        orderUtil.createSecurityOrder(resourceSerial,null,new JSONObject(),null,7,"10","preventFire",JSON.toJSONString(tmp, SerializerFeature.WriteMapNullValue));
                    }
                }
                dataPushLogUtil.savePushLog(resourceSerial,jsonObject.toJSONString(jsonObject,SerializerFeature.WriteMapNullValue),"烟感探测器报警信息接收");
                dataPushLogUtil.savePushLog(resourceSerial,jsonObject.toJSONString(jsonObject,SerializerFeature.WriteMapNullValue),"烟感探测器报警信息接收");
            }
            }
        }
        }

+ 78 - 37
svr/svr-cloud-device/src/main/java/com/yihu/jw/care/service/OnenetService.java

@ -16,6 +16,7 @@ import com.yihu.jw.entity.care.device.OnenetReceiveRecord;
import com.yihu.jw.util.common.StringUtil;
import com.yihu.jw.util.common.StringUtil;
import com.yihu.jw.util.date.DateUtil;
import com.yihu.jw.util.date.DateUtil;
import com.yihu.jw.util.http.HttpClientUtil;
import com.yihu.jw.util.http.HttpClientUtil;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Autowired;
@ -192,7 +193,7 @@ public class OnenetService {
                    String monitorValue = Integer.valueOf(wParamValue,16)+"";
                    String monitorValue = Integer.valueOf(wParamValue,16)+"";
                    String resourceSerial = onenetDevice.getSn();
                    String resourceSerial = onenetDevice.getSn();
                    addDeviceIndex(resourceSerial,monitorValue,time,"2","%");
                    addDeviceIndex(resourceSerial,monitorValue,time,"2","%");
                    dataPushLogUtil.savePushLog(resourceSerial,jsonObject.toJSONString(jsonObject,SerializerFeature.WriteMapNullValue),"可燃气体探测器监测信息接收");
                    dataPushLogUtil.savePushLog(resourceSerial,jsonObject.toJSONString(jsonObject,SerializerFeature.WriteMapNullValue),"烟探测器监测信息接收");
                }
                }
                return flag;
                return flag;
            }
            }
@ -214,17 +215,20 @@ public class OnenetService {
                    //烟雾浓度
                    //烟雾浓度
                    String monitorValue = Integer.valueOf(wParamValue,16)+"";
                    String monitorValue = Integer.valueOf(wParamValue,16)+"";
                    String resourceSerial = onenetDevice.getSn();
                    String resourceSerial = onenetDevice.getSn();
                    String sql = "select count(*) from base_device_health_index where device_sn = '"+resourceSerial+"'" +
                            " and value>0 and create_time>='"+DateUtil.getNextMinute(-60)+"' ";
                    Integer count = jdbcTemplate.queryForObject(sql,Integer.class);
                    if(count==0){
                        logger.info("烟雾浓度大于0触发报警,deviceSn:{}",resourceSerial);
                        //1小时内不重复发起
                        JSONObject tmp = new JSONObject();
                        tmp.put("smoke",monitorValue);
                        orderUtil.createSecurityOrder(resourceSerial,null,new JSONObject(),null,7,"10","preventFire",JSON.toJSONString(tmp, SerializerFeature.WriteMapNullValue));
                        dataPushLogUtil.savePushLog(resourceSerial,jsonObject.toJSONString(jsonObject,SerializerFeature.WriteMapNullValue),"烟感探测器报警信息接收");
                        flag = true;
                    Double smokeValue = Double.valueOf(monitorValue);
                    if (smokeValue>=70.0){
                        String sql = " select count(*) from base_security_monitoring_order where device_sn = '"+resourceSerial+"' " +
                                " and create_time>='"+DateUtil.getNextMinute(-60)+"' ";
                        Integer count = jdbcTemplate.queryForObject(sql,Integer.class);
                        if(count==0){
                            logger.info("烟雾浓度大于70触发报警,deviceSn:{}",resourceSerial);
                            JSONObject tmp = new JSONObject();
                            tmp.put("smoke",monitorValue);
                            tmp.put("temperature",null);
                            orderUtil.createSecurityOrder(resourceSerial,null,new JSONObject(),null,7,"10","preventFire",JSON.toJSONString(tmp, SerializerFeature.WriteMapNullValue));
                            dataPushLogUtil.savePushLog(resourceSerial,jsonObject.toJSONString(jsonObject,SerializerFeature.WriteMapNullValue),"烟感探测器报警信息接收");
                            flag = true;
                        }
                    }
                    }
                    addDeviceIndex(resourceSerial,monitorValue,time,"2","%");
                    addDeviceIndex(resourceSerial,monitorValue,time,"2","%");
                }
                }
@ -381,44 +385,81 @@ public class OnenetService {
     */
     */
    public boolean wlyDateDelSmoke(JSONObject msg){
    public boolean wlyDateDelSmoke(JSONObject msg){
        boolean flag = false;
        boolean flag = false;
        Long at = msg.getLongValue("at");
        String dsId = msg.getString("ds_id");
        String dsId = msg.getString("ds_id");
        String msgId = dsId.split("_")[2];
        String msgId = dsId.split("_")[2];
        String value = msg.getString("value");
        String value = msg.getString("value");
        String deviceSn = msg.getString("imei");
        String deviceSn = msg.getString("imei");
        if ("5504".equals(msgId)){//烟雾浓度消息 大于0 触发报警
            Integer gasValue = Integer.parseInt(value);
            if (gasValue>0){
                String sql = "select count(*) from base_device_health_index where device_sn = '"+deviceSn+"'" +
                        " and value>0 and create_time>='"+DateUtil.getNextMinute(-60)+"' ";
                Integer count = jdbcTemplate.queryForObject(sql,Integer.class);
                if(count==0){
                    JSONObject tmp = new JSONObject();
                    tmp.put("smoke",value);
                    orderUtil.createSecurityOrder(deviceSn,null,new JSONObject(),null,7,"10","preventFire",JSON.toJSONString(tmp, SerializerFeature.WriteMapNullValue));
                    flag = true;
                }
            }
            DeviceHealthIndex index = new DeviceHealthIndex();
        //烟感报警条件修改1.7.2  烟雾浓度>=70%&温度>=50  同一个at值的为同一组数据信息
        Boolean warnFlag = false;
        Integer smokeValue = 0;
        Integer temperatureValue = 0;
        DeviceHealthIndex index = deviceHealthIndexDao.findByAtId(at+"");
        if (null==index){
            index = new DeviceHealthIndex();
            index.setDeviceSn(deviceSn);
            index.setDeviceSn(deviceSn);
            index.setAtId(at+"");
            index.setDeviceType("2");
            index.setRecordTime(DateUtil.getStringDate());
        }
        if ("5504".equals(msgId)){//烟雾浓度消息
            smokeValue = Integer.parseInt(value);
            index.setUnit("%");
            index.setUnit("%");
            index.setDeviceType("2");
            index.setDeviceType("2");
            index.setValue(value);
            index.setValue(value);
            index.setRecordTime(DateUtil.getStringDate());
            deviceHealthIndexDao.save(index);
            deviceHealthIndexDao.save(index);
            if (smokeValue>=70){
                if (StringUtils.isNotBlank(index.getTemperaturValue())){
                    if (50<=Integer.valueOf(index.getTemperaturValue())){ //查询温度是否>=50
                        temperatureValue=Integer.valueOf(index.getTemperaturValue());
                        warnFlag=true;
                    }
                }
            }
        }
        }
        if ("5503".equals(msgId)){//各消息类型
            if ("1".equals(value)) {//设备烟雾报警
                String sql = "select count(*) from base_device_health_index where device_sn = '"+deviceSn+"'" +
                        " and value>0 and create_time>='"+DateUtil.getNextMinute(-60)+"' ";
                Integer count = jdbcTemplate.queryForObject(sql,Integer.class);
                if(count==0){
                    JSONObject tmp = new JSONObject();
                    tmp.put("smoke","100");
                    orderUtil.createSecurityOrder(deviceSn,null,new JSONObject(),null,7,"10","preventFire",JSON.toJSONString(tmp, SerializerFeature.WriteMapNullValue));
                    flag = true;
        if ("5751".equals(msgId)){//当前温度
            temperatureValue = Integer.parseInt(value);
            if (temperatureValue>=50){
                if (StringUtils.isNotBlank(index.getValue())){
                    if (70<=Integer.valueOf(index.getValue())){ //查询烟雾浓度是否>=70
                        smokeValue = Integer.valueOf(index.getValue());
                        warnFlag=true;
                    }
                }
                }
            }
            }
            index.setTemperaturValue(temperatureValue+"");
            deviceHealthIndexDao.save(index);
        }
        if ("5501".equals(msgId)){//当前剩余电量
            index.setPowerValue(value);
            deviceHealthIndexDao.save(index);
        }
        if (warnFlag){//具备报警条件
            String sql = " select count(*) from base_security_monitoring_order where device_sn = '"+deviceSn+"' " +
                    " and create_time>='"+DateUtil.getNextMinute(-60)+"' ";
            Integer count = jdbcTemplate.queryForObject(sql,Integer.class);
            if(count==0){
                JSONObject tmp = new JSONObject();
                tmp.put("smoke",smokeValue+"");
                tmp.put("temperature",temperatureValue+"");
                orderUtil.createSecurityOrder(deviceSn,null,new JSONObject(),null,7,"10","preventFire",JSON.toJSONString(tmp, SerializerFeature.WriteMapNullValue));
                flag = true;
            }
        }
        }
//        if ("5503".equals(msgId)){//各消息类型
//            if ("1".equals(value)) {//设备烟雾报警
//                String sql = "select count(*) from base_device_health_index where device_sn = '"+deviceSn+"'" +
//                        " and value>0 and create_time>='"+DateUtil.getNextMinute(-60)+"' ";
//                Integer count = jdbcTemplate.queryForObject(sql,Integer.class);
//                if(count==0){
//                    JSONObject tmp = new JSONObject();
//                    tmp.put("smoke","100");
//                    orderUtil.createSecurityOrder(deviceSn,null,new JSONObject(),null,7,"10","preventFire",JSON.toJSONString(tmp, SerializerFeature.WriteMapNullValue));
//                    flag = true;
//                }
//            }
//        }
        return flag;
        return flag;
    }
    }