|
|
@@ -21,15 +21,28 @@ class AlarmOperationsMapperTest {
|
|
|
}
|
|
|
AlarmQuery query = new AlarmQuery(); query.setRootTypeId(2);
|
|
|
Map<String,Object> params = new HashMap<>(); params.put("query",query); params.put("typeIds",Arrays.asList(2,21));
|
|
|
+ params.put("unhandledStatus",com.zksy.base.alarm.enums.AlarmRecordStatusEnum.UNHANDLED.getCode());
|
|
|
+ params.put("handledStatus",com.zksy.base.alarm.enums.AlarmRecordStatusEnum.HANDLED.getCode());
|
|
|
Map<String,String> rendered = new LinkedHashMap<>();
|
|
|
for (String name : Arrays.asList("selectPage","selectDetail","selectReminders","countByLevel","selectMap")) {
|
|
|
query.setAlarmStatus("selectReminders".equals(name) ? 0 : null);
|
|
|
String sql = sql(config,name,params);
|
|
|
assertTrue(sql.contains("e.equipment_type_id IN"));
|
|
|
- assertEquals("selectReminders".equals(name),sql.contains("a.alarm_status ="));
|
|
|
+ assertEquals("selectReminders".equals(name),sql.contains("AND a.alarm_status ="));
|
|
|
assertFalse(sql.contains("a.actual_value IS NOT NULL"));
|
|
|
assertTrue(sql.contains("w.order_id = a.work_order_id")); rendered.put(name,sql);
|
|
|
}
|
|
|
+ String statisticsSql = rendered.get("countByLevel");
|
|
|
+ assertTrue(statisticsSql.contains("COUNT(*) AS total"));
|
|
|
+ assertTrue(statisticsSql.contains("COUNT(CASE WHEN a.alarm_status = ? THEN 1 END) AS abnormal"));
|
|
|
+ assertTrue(statisticsSql.contains("COUNT(CASE WHEN a.alarm_status = ? THEN 1 END) AS recovered"));
|
|
|
+ assertFalse(statisticsSql.contains("OFFSET"));
|
|
|
+ assertTrue(statisticsSql.endsWith("GROUP BY a.alarm_level"));
|
|
|
+ query.setAlarmStatus(1);
|
|
|
+ assertTrue(sql(config,"countByLevel",params).contains("AND a.alarm_status = ?"));
|
|
|
+ params.put("typeIds",Collections.emptyList());
|
|
|
+ assertTrue(sql(config,"countByLevel",params).contains("1 = 0"));
|
|
|
+ params.put("typeIds",Arrays.asList(2,21)); query.setAlarmStatus(null);
|
|
|
query.setKeyword("设备搜索");
|
|
|
for (String name : Arrays.asList("selectPage", "selectReminders", "countByLevel", "selectMap")) {
|
|
|
String keywordSql = sql(config,name,params);
|