react-native-mytatva-rn-sdk 1.2.51 → 1.2.53

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. package/android/src/main/java/cgmblelib/base/BApplication.java +57 -57
  2. package/android/src/main/java/cgmblelib/ble/BleService.java +1 -1
  3. package/android/src/main/java/cgmblelib/ble/gattcallback/BleGattCallback.java +1 -1
  4. package/android/src/main/java/cgmblelib/database/dao/DaoDevice.java +4 -0
  5. package/android/src/main/java/cgmblelib/database/dao/DaoGlucose.java +334 -332
  6. package/android/src/main/java/cgmblelib/database/repository/RepositoryDevice.java +5 -0
  7. package/android/src/main/java/cgmblelib/database/repository/RepositoryGlucose.java +167 -162
  8. package/android/src/main/java/cgmblelib/database/source/SourceDevice.java +2 -0
  9. package/android/src/main/java/cgmblelib/database/source/SourceGlucose.java +2 -0
  10. package/android/src/main/java/cgmblelib/database/source/db/DeviceDBDataSource.java +171 -165
  11. package/android/src/main/java/cgmblelib/database/source/db/GlucoseDBDataSource.java +305 -296
  12. package/android/src/main/java/cgmblelib/utils/SharedPreferencesLibraryUtil.java +66 -44
  13. package/android/src/main/java/com/mytatvarnsdk/CgmTrackyLibModule.kt +125 -81
  14. package/android/src/main/java/com/mytatvarnsdk/MainApplication.kt +2 -2
  15. package/android/src/main/java/com/mytatvarnsdk/activity/ConnectSensorActivity.kt +1 -1
  16. package/android/src/main/java/com/mytatvarnsdk/activity/PermissionActivity.kt +1 -1
  17. package/android/src/main/java/com/mytatvarnsdk/activity/PlaceSensorActivity.kt +1 -1
  18. package/android/src/main/java/com/mytatvarnsdk/activity/PlaceTransmitterActivity.kt +1 -1
  19. package/android/src/main/java/com/mytatvarnsdk/activity/SearchTransmitterActivity.kt +3 -4
  20. package/android/src/main/java/com/mytatvarnsdk/activity/SensorConnectSuccessActivity.kt +8 -5
  21. package/android/src/main/java/com/mytatvarnsdk/activity/StartCGMActivity.kt +1 -1
  22. package/android/src/main/java/com/mytatvarnsdk/model/BaseViewModel.java +88 -84
  23. package/android/src/main/java/com/mytatvarnsdk/network/AuthenticateSDKService.kt +197 -197
  24. package/android/src/main/java/com/mytatvarnsdk/utils/TatvaEncryptionConfig.kt +1 -1
  25. package/ios/Database/KLTBluetoothManager.m +8 -0
  26. package/ios/Database/KLTDatabaseHandler.m +43 -26
  27. package/ios/Database/KLTLocalSettingManager.h +3 -0
  28. package/ios/MyReactNativeBridge.m +27 -15
  29. package/ios/Support/API.swift +8 -8
  30. package/ios/ViewControllers/AttachTransmitterViewController.swift +1 -1
  31. package/ios/ViewModel/FinalViewModel.swift +11 -9
  32. package/lib/commonjs/CGMConnect.js +12 -12
  33. package/lib/commonjs/CGMConnect.js.map +1 -1
  34. package/lib/module/CGMConnect.js +13 -13
  35. package/lib/module/CGMConnect.js.map +1 -1
  36. package/lib/typescript/CGMConnect.d.ts +6 -6
  37. package/package.json +2 -2
  38. package/src/CGMConnect.ts +78 -55
@@ -20,336 +20,338 @@ import cgmblelib.database.entity.PocGlucose;
20
20
  */
21
21
  @Dao
22
22
  public interface DaoGlucose {
23
- /**
24
- * 新增数据
25
- *
26
- * @param glucose 数据
27
- * @return 返回插入的id
28
- */
29
- @Insert(onConflict = OnConflictStrategy.REPLACE)
30
- long insert(PocGlucose glucose);
31
-
32
- /**
33
- * 新增多个数据
34
- *
35
- * @param glucoses 数据组
36
- * @return 返回插入的id组
37
- */
38
- @Insert
39
- long[] insertAll(PocGlucose... glucoses);
40
-
41
- /**
42
- * 删除数据
43
- *
44
- * @param glucose 数据
45
- * @return 返回删除的数据数量
46
- */
47
- @Delete
48
- int delete(PocGlucose glucose);
49
-
50
- // @Delete
51
- @Query("DELETE FROM glucose where deviceId = :deviceId and glucoseId > :glucoseId")
52
- void removeAll(long deviceId, int glucoseId);
53
-
54
- /**
55
- * 跟新数据
56
- *
57
- * @param glucose 数据组
58
- */
59
- @Update(onConflict = OnConflictStrategy.REPLACE)
60
- int update(PocGlucose... glucose);
61
-
62
- /**
63
- * 跟新数据
64
- *
65
- * @param glucose 数据
66
- * @return 跟新的数据量
67
- */
68
- @Update(onConflict = OnConflictStrategy.REPLACE)
69
- int update(PocGlucose glucose);
70
-
71
- /**
72
- * 根据设备Id与设局ID获取指定的数据
73
- *
74
- * @param deviceId 设备ID
75
- * @param glucoseId 数据ID
76
- * @return 返回数据信息
77
- */
78
- @Query("SELECT * FROM glucose where deviceId = :deviceId and glucoseId = :glucoseId")
79
- PocGlucose getGlucoseById(long deviceId, int glucoseId);//通过deviceId与glucoseId定位
80
-
81
- @Query("SELECT * FROM glucose where deviceId = :deviceId and abs(:timeMillis - timeInMillis) <= 90000")
82
- PocGlucose getGlucoseByTimeIoThread(long deviceId, long timeMillis);
83
-
84
- /**
85
- * 根据设备ID获取最新的血糖数据信息
86
- *
87
- * @param deviceId 设备ID
88
- * @return 返回数据信息
89
- */
90
- @Query("SELECT * FROM glucose where deviceId = :deviceId and glucoseId = (SELECT MAX(glucoseId) FROM glucose where deviceId = :deviceId)")
91
- PocGlucose getLatestGlucose(long deviceId);//获取正常的经过计算的血糖数据
92
-
93
- /**
94
- * 根据设备ID获取最大的血糖数据ID
95
- *
96
- * @param deviceId 设备ID
97
- * @return 最大的血糖数据ID
98
- */
99
- @Query("SELECT MAX(glucoseId) FROM glucose where deviceId = :deviceId")
100
- int getMaxGlucoseId(long deviceId);
101
-
102
- /**
103
- * 获取该设备ID的血糖数据总数
104
- *
105
- * @param deviceId 设备ID
106
- * @return 血糖数据数量
107
- */
108
- @Query("SELECT COUNT(*) FROM glucose where deviceId = :deviceId")
109
- int getCountGlucose(long deviceId);
110
-
111
- /**
112
- * 根据设备ID获取最新血糖数据 -- 持久化 -- 升序
113
- *
114
- * @param deviceId 设备ID
115
- * @return 返回
116
- */
117
- @Query("SELECT * FROM glucose where deviceId = :deviceId and glucoseId = (SELECT MAX(glucoseId) FROM glucose where deviceId = :deviceId)")
118
- LiveData<PocGlucose> getLatestGlucoseByDeviceId(long deviceId);
119
-
120
-
121
- /**
122
- * 根据设备ID获取所有的数据信息 升序 -- 持久化
123
- *
124
- * @param deviceId 设备ID
125
- * @return 返回持久化数据组
126
- */
127
- @Query("SELECT * FROM glucose WHERE deviceId = :deviceId order by glucoseId asc")
128
- LiveData<List<PocGlucose>> getAllLiveDataGlucosesByDeviceId(long deviceId);
129
-
130
-
131
- /**
132
- * 根据设备ID获取所有的数据信息 升序
133
- *
134
- * @param deviceId 设备ID
135
- * @return 返回持久化数据组
136
- */
137
- @Query("SELECT * FROM glucose WHERE deviceId = :deviceId order by glucoseId asc")
138
- List<PocGlucose> getAllGlucosesByDeviceId(long deviceId);
139
-
140
- @Query("SELECT * FROM glucose WHERE deviceId = :deviceId order by glucoseId desc")
141
- List<PocGlucose> getAllGlucosesByDeviceIdDesc(long deviceId);
142
-
143
- /**
144
- * 获取所有有血糖值的有效数据
145
- *
146
- * @param deviceId 设备ID
147
- * @return 所有有血糖值的有效数据
148
- */
149
- @Query("SELECT * FROM glucose WHERE deviceId = :deviceId and BGICount > 0 and errorCode == 0 order by glucoseId asc")
150
- List<PocGlucose> getAllEffectiveGlucosesByDeviceId(long deviceId);
151
-
152
-
153
- /**
154
- * 获取所有有血糖值的有效数据
155
- *
156
- * @param deviceId 设备ID
157
- * @return 所有有血糖值的有效数据
158
- */
159
- @Query("SELECT * FROM glucose WHERE deviceId = :deviceId and glucoseId >= :startId and glucoseId <= :endId and BGICount > 0 and showGlucose > 1 order by glucoseId asc")
160
- List<PocGlucose> getGlucoseBetweenTime(long deviceId, int startId, int endId);
161
-
162
-
163
- /**
164
- * 获取所有有血糖值的有效数据
165
- *
166
- * @param deviceId 设备ID
167
- * @return 所有有血糖值的有效数据
168
- */
169
- @Query("SELECT Min(glucoseId) FROM glucose WHERE deviceId = :deviceId and year = :startYear and month = :startMonth and day= :startDay and hour= :startHour ")
170
- int getStartIdBetweenTime(long deviceId, int startYear, int startMonth, int startDay, int startHour);
171
-
172
- /**
173
- * 获取所有有血糖值的有效数据
174
- *
175
- * @param deviceId 设备ID
176
- * @return 所有有血糖值的有效数据
177
- */
178
- @Query("SELECT Max(glucoseId) FROM glucose WHERE deviceId = :deviceId and year = :endYear and month = :endMonth and day= :endDay and hour= :endHour")
179
- int getEndIdBetweenTime(long deviceId, int endYear, int endMonth, int endDay, int endHour);
180
-
181
-
182
- /**
183
- * 获取所有预热结束的点的数量
184
- *
185
- * @param deviceId 设备ID
186
- * @return 返回所有预热结束的点
187
- */
188
- @Query("SELECT COUNT(*) FROM glucose WHERE deviceId = :deviceId and BGICount > 0")
189
- int getCountPreheatEndByDeviceIdIoThread(long deviceId);
190
-
191
- /**
192
- * 查询分页数据
193
- *
194
- * @param deviceId 设备ID
195
- * @param limit 数据总数
196
- * @param offset 忽略的数据
197
- * @return 分页数据
198
- */
199
- @Query("SELECT * FROM glucose WHERE deviceId = :deviceId and BGICount > 0 order by glucoseId DESC limit :limit offset :offset")
200
- List<PocGlucose> getPageData(long deviceId, int limit, int offset);
201
-
202
- /**
203
- * 获取最新的限制数据量,获取给定数量的最新的血糖数据
204
- *
205
- * @param deviceId 设备ID
206
- * @param limit 数据总数
207
- * @return 分页数据
208
- */
209
- @Query("SELECT * FROM glucose WHERE deviceId = :deviceId and BGICount > 0 order by glucoseId DESC limit :limit")
210
- List<PocGlucose> getLatestPageData(long deviceId, int limit);
211
-
212
- /**
213
- * 获取所有工作电流
214
- *
215
- * @param deviceId 发射器Id
216
- * @return 所有的工作电流
217
- */
218
- @Query("SELECT Iw FROM glucose where deviceId = :deviceId")
219
- float[] getIws(long deviceId);
220
-
221
- /**
222
- * 获取所有的空白电流
223
- *
224
- * @param deviceId 发射器Id
225
- * @return 所有的空白电流
226
- */
227
- @Query("SELECT Ib FROM glucose where deviceId = :deviceId")
228
- float[] getIbs(long deviceId);
229
-
230
- /**
231
- * 获取所有的温度
232
- *
233
- * @param deviceId 发射器Id
234
- * @return 所有的温度
235
- */
236
- @Query("SELECT T FROM glucose where deviceId = :deviceId")
237
- float[] getTs(long deviceId);
238
-
239
- /**
240
- * 获取所有校准点对应的glucoseId
241
- *
242
- * @param deviceId 发射器Id
243
- * @return 所有校准点
244
- */
245
- @Query("SELECT glucoseId FROM glucose where deviceId = :deviceId and BGICount = 1 and BGCount > 0")
246
- int[] getNewBgToGlucoseIds(long deviceId);
247
-
248
- /**
249
- * 获取所有校准点对应的校准值
250
- *
251
- * @param deviceId 发射器Id
252
- * @return 所有校准值
253
- */
254
- @Query("SELECT * FROM glucose where deviceId = :deviceId and BGICount = 1 and BGCount > 0")
255
- List<PocGlucose> getNewBgValue(long deviceId);
256
-
257
- /**
258
- * 获取数据经历的年份
259
- *
260
- * @param deviceId 发射器Id
261
- * @return 所有的年
262
- */
263
- @Query("SELECT year FROM glucose where deviceId = :deviceId group by year order by year asc")
264
- int[] getYears(long deviceId);
265
-
266
- /**
267
- * 获取数据中的本年的所有月
268
- *
269
- * @param deviceId 发射器Id
270
- * @param year 年
271
- * @return 获取本年内经历的月
272
- */
273
- @Query("SELECT month FROM glucose where deviceId = :deviceId and year = :year group by month order by month asc")
274
- int[] getMonths(long deviceId, int year);
275
-
276
- /**
277
- * 获取该条数据中数据经历的本年当月的所有天
278
- *
279
- * @param deviceId 发射器Id
280
- * @param year 年
281
- * @param month 月
282
- * @return 获取本年本月内经历的天
283
- */
284
- @Query("SELECT day FROM glucose where deviceId = :deviceId and year = :year and month = :month group by day order by day asc")
285
- int[] getDays(long deviceId, int year, int month);
286
-
287
- /**
288
- * 获取当天中的所有数据
289
- *
290
- * @param deviceId 发射器Id
291
- * @param year 年
292
- * @param month 月
293
- * @param day 获取本年本月内经历的天
294
- * @return 获取每天的所有数据
295
- */
296
- @Query("SELECT * FROM glucose where deviceId = :deviceId and year = :year and month = :month and day = :day and BGICount > 0 and showGlucose > 1 order by glucoseId asc")
297
- List<PocGlucose> getEveryDays(long deviceId, int year, int month, int day);
298
-
299
- /**
300
- * 获取当天所有校准点对应的校准值
301
- *
302
- * @param deviceId 发射器Id
303
- * @return 所有校准值
304
- */
305
- @Query("SELECT * FROM glucose where deviceId = :deviceId and BGICount = 1 and BGCount > 0 and year = :year and month = :month and day = :day order by glucoseId asc")
306
- List<PocGlucose> getNewBgValueInDay(long deviceId, int year, int month, int day);
307
-
308
- /**
309
- * 获取当天中的所有数据
310
- *
311
- * @param deviceId 发射器Id
312
- * @param year 年
313
- * @param month 月
314
- * @param day 获取本年本月内经历的天
315
- * @return 获取每天的所有数据
316
- */
317
- @Query("SELECT * FROM glucose where deviceId = :deviceId and year = :year and month = :month and day = :day and hour >= :startHour and BGICount > 0 and showGlucose > 1 order by glucoseId asc")
318
- List<PocGlucose> getStartDayGlucose(long deviceId, int year, int month, int day, int startHour);
319
-
320
-
321
- /**
322
- * 获取当天中的所有数据
323
- *
324
- * @param deviceId 发射器Id
325
- * @param year 年
326
- * @param month 月
327
- * @param day 获取本年本月内经历的天
328
- * @return 获取每天的所有数据
329
- */
330
- @Query("SELECT * FROM glucose where deviceId = :deviceId and year = :year and month = :month and day = :day and hour <= :endHour and BGICount > 0 and showGlucose > 1 order by glucoseId asc")
331
- List<PocGlucose> getEndDayGlucose(long deviceId, int year, int month, int day, int endHour);
332
-
333
-
334
- @Query("SELECT glucoseId FROM glucose where deviceId = :deviceId and errorCode == 7 order by glucoseId asc")
335
- int[] getContinuousAnomalyCurrentInitCheckGlucoseIdsIoThread(long deviceId);
336
-
337
- @Query("SELECT * From glucose where name = :name group by day order by year,month,day asc")
338
- List<PocGlucose> getGlucoseDayByName(String name);
339
-
340
- /**
341
- * 获取所有工作电流
342
- *
343
- * @param deviceId 发射器Id
344
- * @return 所有的工作电流
345
- */
346
- @Query("SELECT errorCode FROM glucose where deviceId = :deviceId")
347
- int[] getErrors(long deviceId);
348
-
349
- @Query("SELECT * FROM glucose where deviceId = :deviceId and timeInMillis > :timeMillisStart")
350
- List<PocGlucose> getGlucoseByDeviceIdAndTimeMillis(long deviceId, long timeMillisStart);
351
-
352
- @Query("SELECT * FROM glucose where timeInMillis BETWEEN :startTime AND :endTime")
353
- List<PocGlucose> getGlucoseByTimeMillis(long startTime, long endTime);
354
-
23
+ /**
24
+ * 新增数据
25
+ *
26
+ * @param glucose 数据
27
+ * @return 返回插入的id
28
+ */
29
+ @Insert(onConflict = OnConflictStrategy.REPLACE)
30
+ long insert(PocGlucose glucose);
31
+
32
+ /**
33
+ * 新增多个数据
34
+ *
35
+ * @param glucoses 数据组
36
+ * @return 返回插入的id组
37
+ */
38
+ @Insert
39
+ long[] insertAll(PocGlucose... glucoses);
40
+
41
+ /**
42
+ * 删除数据
43
+ *
44
+ * @param glucose 数据
45
+ * @return 返回删除的数据数量
46
+ */
47
+ @Delete
48
+ int delete(PocGlucose glucose);
49
+
50
+ // @Delete
51
+ @Query("DELETE FROM glucose where deviceId = :deviceId and glucoseId > :glucoseId")
52
+ void removeAll(long deviceId, int glucoseId);
53
+
54
+ /**
55
+ * 跟新数据
56
+ *
57
+ * @param glucose 数据组
58
+ */
59
+ @Update(onConflict = OnConflictStrategy.REPLACE)
60
+ int update(PocGlucose... glucose);
61
+
62
+ /**
63
+ * 跟新数据
64
+ *
65
+ * @param glucose 数据
66
+ * @return 跟新的数据量
67
+ */
68
+ @Update(onConflict = OnConflictStrategy.REPLACE)
69
+ int update(PocGlucose glucose);
70
+
71
+ /**
72
+ * 根据设备Id与设局ID获取指定的数据
73
+ *
74
+ * @param deviceId 设备ID
75
+ * @param glucoseId 数据ID
76
+ * @return 返回数据信息
77
+ */
78
+ @Query("SELECT * FROM glucose where deviceId = :deviceId and glucoseId = :glucoseId")
79
+ PocGlucose getGlucoseById(long deviceId, int glucoseId);//通过deviceId与glucoseId定位
80
+
81
+ @Query("SELECT * FROM glucose where deviceId = :deviceId and abs(:timeMillis - timeInMillis) <= 90000")
82
+ PocGlucose getGlucoseByTimeIoThread(long deviceId, long timeMillis);
83
+
84
+ /**
85
+ * 根据设备ID获取最新的血糖数据信息
86
+ *
87
+ * @param deviceId 设备ID
88
+ * @return 返回数据信息
89
+ */
90
+ @Query("SELECT * FROM glucose where deviceId = :deviceId and glucoseId = (SELECT MAX(glucoseId) FROM glucose where deviceId = :deviceId)")
91
+ PocGlucose getLatestGlucose(long deviceId);//获取正常的经过计算的血糖数据
92
+
93
+ /**
94
+ * 根据设备ID获取最大的血糖数据ID
95
+ *
96
+ * @param deviceId 设备ID
97
+ * @return 最大的血糖数据ID
98
+ */
99
+ @Query("SELECT MAX(glucoseId) FROM glucose where deviceId = :deviceId")
100
+ int getMaxGlucoseId(long deviceId);
101
+
102
+ /**
103
+ * 获取该设备ID的血糖数据总数
104
+ *
105
+ * @param deviceId 设备ID
106
+ * @return 血糖数据数量
107
+ */
108
+ @Query("SELECT COUNT(*) FROM glucose where deviceId = :deviceId")
109
+ int getCountGlucose(long deviceId);
110
+
111
+ /**
112
+ * 根据设备ID获取最新血糖数据 -- 持久化 -- 升序
113
+ *
114
+ * @param deviceId 设备ID
115
+ * @return 返回
116
+ */
117
+ @Query("SELECT * FROM glucose where deviceId = :deviceId and glucoseId = (SELECT MAX(glucoseId) FROM glucose where deviceId = :deviceId)")
118
+ LiveData<PocGlucose> getLatestGlucoseByDeviceId(long deviceId);
119
+
120
+
121
+ /**
122
+ * 根据设备ID获取所有的数据信息 升序 -- 持久化
123
+ *
124
+ * @param deviceId 设备ID
125
+ * @return 返回持久化数据组
126
+ */
127
+ @Query("SELECT * FROM glucose WHERE deviceId = :deviceId order by glucoseId asc")
128
+ LiveData<List<PocGlucose>> getAllLiveDataGlucosesByDeviceId(long deviceId);
129
+
130
+
131
+ /**
132
+ * 根据设备ID获取所有的数据信息 升序
133
+ *
134
+ * @param deviceId 设备ID
135
+ * @return 返回持久化数据组
136
+ */
137
+ @Query("SELECT * FROM glucose WHERE deviceId = :deviceId order by glucoseId asc")
138
+ List<PocGlucose> getAllGlucosesByDeviceId(long deviceId);
139
+
140
+ @Query("SELECT * FROM glucose WHERE deviceId = :deviceId order by glucoseId desc")
141
+ List<PocGlucose> getAllGlucosesByDeviceIdDesc(long deviceId);
142
+
143
+ /**
144
+ * 获取所有有血糖值的有效数据
145
+ *
146
+ * @param deviceId 设备ID
147
+ * @return 所有有血糖值的有效数据
148
+ */
149
+ @Query("SELECT * FROM glucose WHERE deviceId = :deviceId and BGICount > 0 and errorCode == 0 order by glucoseId asc")
150
+ List<PocGlucose> getAllEffectiveGlucosesByDeviceId(long deviceId);
151
+
152
+
153
+ /**
154
+ * 获取所有有血糖值的有效数据
155
+ *
156
+ * @param deviceId 设备ID
157
+ * @return 所有有血糖值的有效数据
158
+ */
159
+ @Query("SELECT * FROM glucose WHERE deviceId = :deviceId and glucoseId >= :startId and glucoseId <= :endId and BGICount > 0 and showGlucose > 1 order by glucoseId asc")
160
+ List<PocGlucose> getGlucoseBetweenTime(long deviceId, int startId, int endId);
161
+
162
+
163
+ /**
164
+ * 获取所有有血糖值的有效数据
165
+ *
166
+ * @param deviceId 设备ID
167
+ * @return 所有有血糖值的有效数据
168
+ */
169
+ @Query("SELECT Min(glucoseId) FROM glucose WHERE deviceId = :deviceId and year = :startYear and month = :startMonth and day= :startDay and hour= :startHour ")
170
+ int getStartIdBetweenTime(long deviceId, int startYear, int startMonth, int startDay, int startHour);
171
+
172
+ /**
173
+ * 获取所有有血糖值的有效数据
174
+ *
175
+ * @param deviceId 设备ID
176
+ * @return 所有有血糖值的有效数据
177
+ */
178
+ @Query("SELECT Max(glucoseId) FROM glucose WHERE deviceId = :deviceId and year = :endYear and month = :endMonth and day= :endDay and hour= :endHour")
179
+ int getEndIdBetweenTime(long deviceId, int endYear, int endMonth, int endDay, int endHour);
180
+
181
+
182
+ /**
183
+ * 获取所有预热结束的点的数量
184
+ *
185
+ * @param deviceId 设备ID
186
+ * @return 返回所有预热结束的点
187
+ */
188
+ @Query("SELECT COUNT(*) FROM glucose WHERE deviceId = :deviceId and BGICount > 0")
189
+ int getCountPreheatEndByDeviceIdIoThread(long deviceId);
190
+
191
+ /**
192
+ * 查询分页数据
193
+ *
194
+ * @param deviceId 设备ID
195
+ * @param limit 数据总数
196
+ * @param offset 忽略的数据
197
+ * @return 分页数据
198
+ */
199
+ @Query("SELECT * FROM glucose WHERE deviceId = :deviceId and BGICount > 0 order by glucoseId DESC limit :limit offset :offset")
200
+ List<PocGlucose> getPageData(long deviceId, int limit, int offset);
201
+
202
+ /**
203
+ * 获取最新的限制数据量,获取给定数量的最新的血糖数据
204
+ *
205
+ * @param deviceId 设备ID
206
+ * @param limit 数据总数
207
+ * @return 分页数据
208
+ */
209
+ @Query("SELECT * FROM glucose WHERE deviceId = :deviceId and BGICount > 0 order by glucoseId DESC limit :limit")
210
+ List<PocGlucose> getLatestPageData(long deviceId, int limit);
211
+
212
+ /**
213
+ * 获取所有工作电流
214
+ *
215
+ * @param deviceId 发射器Id
216
+ * @return 所有的工作电流
217
+ */
218
+ @Query("SELECT Iw FROM glucose where deviceId = :deviceId")
219
+ float[] getIws(long deviceId);
220
+
221
+ /**
222
+ * 获取所有的空白电流
223
+ *
224
+ * @param deviceId 发射器Id
225
+ * @return 所有的空白电流
226
+ */
227
+ @Query("SELECT Ib FROM glucose where deviceId = :deviceId")
228
+ float[] getIbs(long deviceId);
229
+
230
+ /**
231
+ * 获取所有的温度
232
+ *
233
+ * @param deviceId 发射器Id
234
+ * @return 所有的温度
235
+ */
236
+ @Query("SELECT T FROM glucose where deviceId = :deviceId")
237
+ float[] getTs(long deviceId);
238
+
239
+ /**
240
+ * 获取所有校准点对应的glucoseId
241
+ *
242
+ * @param deviceId 发射器Id
243
+ * @return 所有校准点
244
+ */
245
+ @Query("SELECT glucoseId FROM glucose where deviceId = :deviceId and BGICount = 1 and BGCount > 0")
246
+ int[] getNewBgToGlucoseIds(long deviceId);
247
+
248
+ /**
249
+ * 获取所有校准点对应的校准值
250
+ *
251
+ * @param deviceId 发射器Id
252
+ * @return 所有校准值
253
+ */
254
+ @Query("SELECT * FROM glucose where deviceId = :deviceId and BGICount = 1 and BGCount > 0")
255
+ List<PocGlucose> getNewBgValue(long deviceId);
256
+
257
+ /**
258
+ * 获取数据经历的年份
259
+ *
260
+ * @param deviceId 发射器Id
261
+ * @return 所有的年
262
+ */
263
+ @Query("SELECT year FROM glucose where deviceId = :deviceId group by year order by year asc")
264
+ int[] getYears(long deviceId);
265
+
266
+ /**
267
+ * 获取数据中的本年的所有月
268
+ *
269
+ * @param deviceId 发射器Id
270
+ * @param year 年
271
+ * @return 获取本年内经历的月
272
+ */
273
+ @Query("SELECT month FROM glucose where deviceId = :deviceId and year = :year group by month order by month asc")
274
+ int[] getMonths(long deviceId, int year);
275
+
276
+ /**
277
+ * 获取该条数据中数据经历的本年当月的所有天
278
+ *
279
+ * @param deviceId 发射器Id
280
+ * @param year 年
281
+ * @param month 月
282
+ * @return 获取本年本月内经历的天
283
+ */
284
+ @Query("SELECT day FROM glucose where deviceId = :deviceId and year = :year and month = :month group by day order by day asc")
285
+ int[] getDays(long deviceId, int year, int month);
286
+
287
+ /**
288
+ * 获取当天中的所有数据
289
+ *
290
+ * @param deviceId 发射器Id
291
+ * @param year 年
292
+ * @param month 月
293
+ * @param day 获取本年本月内经历的天
294
+ * @return 获取每天的所有数据
295
+ */
296
+ @Query("SELECT * FROM glucose where deviceId = :deviceId and year = :year and month = :month and day = :day and BGICount > 0 and showGlucose > 1 order by glucoseId asc")
297
+ List<PocGlucose> getEveryDays(long deviceId, int year, int month, int day);
298
+
299
+ /**
300
+ * 获取当天所有校准点对应的校准值
301
+ *
302
+ * @param deviceId 发射器Id
303
+ * @return 所有校准值
304
+ */
305
+ @Query("SELECT * FROM glucose where deviceId = :deviceId and BGICount = 1 and BGCount > 0 and year = :year and month = :month and day = :day order by glucoseId asc")
306
+ List<PocGlucose> getNewBgValueInDay(long deviceId, int year, int month, int day);
307
+
308
+ /**
309
+ * 获取当天中的所有数据
310
+ *
311
+ * @param deviceId 发射器Id
312
+ * @param year 年
313
+ * @param month 月
314
+ * @param day 获取本年本月内经历的天
315
+ * @return 获取每天的所有数据
316
+ */
317
+ @Query("SELECT * FROM glucose where deviceId = :deviceId and year = :year and month = :month and day = :day and hour >= :startHour and BGICount > 0 and showGlucose > 1 order by glucoseId asc")
318
+ List<PocGlucose> getStartDayGlucose(long deviceId, int year, int month, int day, int startHour);
319
+
320
+
321
+ /**
322
+ * 获取当天中的所有数据
323
+ *
324
+ * @param deviceId 发射器Id
325
+ * @param year 年
326
+ * @param month 月
327
+ * @param day 获取本年本月内经历的天
328
+ * @return 获取每天的所有数据
329
+ */
330
+ @Query("SELECT * FROM glucose where deviceId = :deviceId and year = :year and month = :month and day = :day and hour <= :endHour and BGICount > 0 and showGlucose > 1 order by glucoseId asc")
331
+ List<PocGlucose> getEndDayGlucose(long deviceId, int year, int month, int day, int endHour);
332
+
333
+
334
+ @Query("SELECT glucoseId FROM glucose where deviceId = :deviceId and errorCode == 7 order by glucoseId asc")
335
+ int[] getContinuousAnomalyCurrentInitCheckGlucoseIdsIoThread(long deviceId);
336
+
337
+ @Query("SELECT * From glucose where name = :name group by day order by year,month,day asc")
338
+ List<PocGlucose> getGlucoseDayByName(String name);
339
+
340
+ /**
341
+ * 获取所有工作电流
342
+ *
343
+ * @param deviceId 发射器Id
344
+ * @return 所有的工作电流
345
+ */
346
+ @Query("SELECT errorCode FROM glucose where deviceId = :deviceId")
347
+ int[] getErrors(long deviceId);
348
+
349
+ @Query("SELECT * FROM glucose where deviceId = :deviceId and timeInMillis > :timeMillisStart")
350
+ List<PocGlucose> getGlucoseByDeviceIdAndTimeMillis(long deviceId, long timeMillisStart);
351
+
352
+ @Query("SELECT * FROM glucose where timeInMillis BETWEEN :startTime AND :endTime")
353
+ List<PocGlucose> getGlucoseByTimeMillis(long startTime, long endTime);
354
+
355
+ @Query("DELETE FROM glucose")
356
+ void clearGlucoseTable();
355
357
  }