| 
					
				 | 
			
			
				@ -245,61 +245,56 @@ public class PatientDeviceService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String startTimeDevice2 =  DateUtil.getPreTime(endTime,-60*2+""); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            List<String> lostSN = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            List<String> onContact = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            /*******************未失联**/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           //血糖仪,血压计。30天内有数据上传,则改为未失联 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//            String sql = " SELECT pd.device_sn FROM base.wlyy_patient_device pd  where pd.del=0 and pd.category_code in (1,2) and EXISTS ( " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//                    "select dp.device_sn from device_data_push_log dp where dp.device_sn = pd.device_sn and dp.create_time " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//                    " BETWEEN '"+startTimeDevice1+"' AND '"+endTime+"') "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//            List<String> devices = jdbcTemplate.queryForList(sql,String.class) ; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//            if (devices.size() > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//                onContact.addAll(devices); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				// 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//            //智能拐杖。手表2天内有数据上传,则改为未失联** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//            sql = " SELECT pd.device_sn FROM base.wlyy_patient_device pd  where pd.del=0 and pd.category_code in (4,16) and EXISTS ( " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//                    "select dp.device_sn from device_data_push_log dp where dp.device_sn = pd.device_sn and dp.create_time " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//                    " BETWEEN '"+startTimeDevice2+"' AND '"+endTime+"') "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            //清除消息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            String sql = " select distinct dp.device_sn from device_data_push_log dp where  dp.create_time " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " BETWEEN '"+startTimeDevice2+"' AND '"+endTime+"') "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            List<String> devices = jdbcTemplate.queryForList(sql,String.class) ; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if (devices.size() > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                onContact.addAll(devices); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            /***************失联**/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            //血糖仪、血压**/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            sql = " SELECT pd.device_sn FROM base.wlyy_patient_device pd  where pd.del=0 and pd.category_code in (1,2) and not EXISTS ( " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "select dp.device_sn from device_data_push_log dp where dp.device_sn = pd.device_sn and dp.create_time " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " BETWEEN '"+startTimeDevice1+"' AND '"+endTime+"') "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            devices = jdbcTemplate.queryForList(sql,String.class) ; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if (devices.size() > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                lostSN.addAll(devices); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            //智能拐杖、手表 睡眠带 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            sql = " SELECT pd.device_sn FROM base.wlyy_patient_device pd  where pd.del=0 and pd.category_code in (4,13,16) and not EXISTS ( " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "select dp.device_sn from device_data_push_log dp where dp.device_sn = pd.device_sn and dp.create_time " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " BETWEEN '"+startTimeDevice2+"' AND '"+endTime+"') "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            devices = jdbcTemplate.queryForList(sql,String.class) ; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if (devices.size() > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                lostSN.addAll(devices); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if (onContact.size()>0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//                wlyyDeviceDao.updateByContactStatus(1,new Date(),onContact); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                //如果在线 将之前的离线消息全部清除 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                systemMessageDao.delMessageByRelationCode(onContact); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if (lostSN.size()>0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                wlyyDeviceDao.updateByContactStatus(0,new Date(),lostSN); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                deviceLostMessageUtil.deviceLostMessage(lostSN); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<String> lostSN = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<String> onContact = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        /*******************未失联**/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //血糖仪,血压计。30天内有数据上传,则改为未失联 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//        String sql = " SELECT pd.device_sn FROM base.wlyy_patient_device pd  where pd.del=0 and pd.category_code in (1,2) and EXISTS ( " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//                "select dp.device_sn from device_data_push_log dp where dp.device_sn = pd.device_sn and dp.create_time " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//                " BETWEEN '"+startTimeDevice1+"' AND '"+endTime+"') "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//        List<String> devices = jdbcTemplate.queryForList(sql,String.class) ; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//        if (devices.size() > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//            onContact.addAll(devices); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				// 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//        //智能拐杖。手表2天内有数据上传,则改为未失联** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//        sql = " SELECT pd.device_sn FROM base.wlyy_patient_device pd  where pd.del=0 and pd.category_code in (4,16) and EXISTS ( " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//                "select dp.device_sn from device_data_push_log dp where dp.device_sn = pd.device_sn and dp.create_time " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//                " BETWEEN '"+startTimeDevice2+"' AND '"+endTime+"') "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } catch (Exception e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            logger.info(e.getMessage()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //清除消息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String sql = " select distinct dp.device_sn from device_data_push_log dp where  dp.create_time " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " BETWEEN '"+startTimeDevice2+"' AND '"+endTime+"' and dp.device_sn is not null "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<String> devices = jdbcTemplate.queryForList(sql,String.class) ; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (devices.size() > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            onContact.addAll(devices); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        /***************失联**/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //血糖仪、血压**/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        sql = " SELECT pd.device_sn FROM base.wlyy_patient_device pd  where pd.del=0 and pd.category_code in (1,2) and not EXISTS ( " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "select dp.device_sn from device_data_push_log dp where dp.device_sn = pd.device_sn and dp.device_sn is not null and dp.create_time " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " BETWEEN '"+startTimeDevice1+"' AND '"+endTime+"') "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        devices = jdbcTemplate.queryForList(sql,String.class) ; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (devices.size() > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            lostSN.addAll(devices); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //智能拐杖、手表 睡眠带 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        sql = " SELECT pd.device_sn FROM base.wlyy_patient_device pd  where pd.del=0 and pd.category_code in (4,13,16) and not EXISTS ( " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "select dp.device_sn from device_data_push_log dp where dp.device_sn = pd.device_sn and dp.device_sn is not null and dp.create_time " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " BETWEEN '"+startTimeDevice2+"' AND '"+endTime+"') "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        devices = jdbcTemplate.queryForList(sql,String.class) ; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (devices.size() > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            lostSN.addAll(devices); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (onContact.size()>0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//            wlyyDeviceDao.updateByContactStatus(1,new Date(),onContact); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            //如果在线 将之前的离线消息全部清除 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            systemMessageDao.delMessageByRelationCode(onContact); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (lostSN.size()>0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            wlyyDeviceDao.updateByContactStatus(0,new Date(),lostSN); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            deviceLostMessageUtil.deviceLostMessage(lostSN); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 |