|
|
|
@ -139,37 +139,57 @@ public interface CollectionParamsManageMapper extends BaseMapper<CollectionParam
|
|
|
|
|
" and csr.area_id = #{areaId} ") |
|
|
|
|
List<CollectionParamsManage> selectByAreaId(@Param("areaId") String areaId); |
|
|
|
|
|
|
|
|
|
@Select("select " + |
|
|
|
|
" csr.house_id, " + |
|
|
|
|
" hi.house_name, " + |
|
|
|
|
" cpm.other_name, " + |
|
|
|
|
" cpm.cur_value, " + |
|
|
|
|
" cpm.cur_time, " + |
|
|
|
|
" cpm.id as cpm_id, " + |
|
|
|
|
" dl.status, " + |
|
|
|
|
" hi.order_num, " + |
|
|
|
|
" cpm.param_type, " + |
|
|
|
|
" case " + |
|
|
|
|
" when ar.create_time >= CURRENT_DATE " + |
|
|
|
|
" and ar.create_time < CURRENT_DATE + interval '1 day' then 1 " + |
|
|
|
|
" else 0 " + |
|
|
|
|
" end as alarm_status " + |
|
|
|
|
"from " + |
|
|
|
|
" cpm_space_relation csr " + |
|
|
|
|
"join collection_params_manage cpm on " + |
|
|
|
|
" csr.cpm_id = cpm.id " + |
|
|
|
|
"join house_info hi on " + |
|
|
|
|
" csr.house_id = hi.id " + |
|
|
|
|
"join device_ledger dl on " + |
|
|
|
|
" dl.id = cpm.device_ledger_id " + |
|
|
|
|
"left join alarm_records ar on " + |
|
|
|
|
" ar.cpm_id = cpm.id " + |
|
|
|
|
"where " + |
|
|
|
|
" csr.floor_id = #{floorId} " + |
|
|
|
|
" and hi.floor_id = #{floorId} " + |
|
|
|
|
" and cpm.param_type = #{paramType} " + |
|
|
|
|
" and cpm.system_type = #{systemType}" + |
|
|
|
|
" order by hi.order_num ; ") |
|
|
|
|
@Select("WITH ranked_data AS ( " + |
|
|
|
|
" SELECT " + |
|
|
|
|
" csr.house_id, " + |
|
|
|
|
" hi.house_name, " + |
|
|
|
|
" cpm.other_name, " + |
|
|
|
|
" cpm.cur_value, " + |
|
|
|
|
" cpm.cur_time, " + |
|
|
|
|
" cpm.id as cpm_id, " + |
|
|
|
|
" dl.status, " + |
|
|
|
|
" hi.order_num, " + |
|
|
|
|
" cpm.param_type, " + |
|
|
|
|
" CASE " + |
|
|
|
|
" WHEN ar.create_time >= CURRENT_DATE AND ar.create_time < CURRENT_DATE + interval '1 day' " + |
|
|
|
|
" THEN 1 " + |
|
|
|
|
" ELSE 0 " + |
|
|
|
|
" END as alarm_status, " + |
|
|
|
|
" ROW_NUMBER() OVER ( " + |
|
|
|
|
" PARTITION BY csr.house_id " + |
|
|
|
|
" ORDER BY " + |
|
|
|
|
" CASE WHEN ar.create_time >= CURRENT_DATE AND ar.create_time < CURRENT_DATE + interval '1 day' THEN 0 ELSE 1 END, " + |
|
|
|
|
" cpm.cur_time DESC " + |
|
|
|
|
" ) as row_num " + |
|
|
|
|
" FROM " + |
|
|
|
|
" cpm_space_relation csr " + |
|
|
|
|
" JOIN collection_params_manage cpm ON csr.cpm_id = cpm.id " + |
|
|
|
|
" RIGHT JOIN house_info hi ON csr.house_id = hi.id " + |
|
|
|
|
" JOIN device_ledger dl ON dl.id = cpm.device_ledger_id " + |
|
|
|
|
" LEFT JOIN alarm_records ar ON ar.cpm_id = cpm.id " + |
|
|
|
|
" WHERE " + |
|
|
|
|
" csr.floor_id = #{floorId} " + |
|
|
|
|
" AND hi.floor_id = #{floorId} " + |
|
|
|
|
" AND cpm.param_type = #{paramType} " + |
|
|
|
|
" AND cpm.system_type = #{systemType} " + |
|
|
|
|
") " + |
|
|
|
|
"SELECT " + |
|
|
|
|
" house_id, " + |
|
|
|
|
" house_name, " + |
|
|
|
|
" other_name, " + |
|
|
|
|
" cur_value, " + |
|
|
|
|
" cur_time, " + |
|
|
|
|
" cpm_id, " + |
|
|
|
|
" status, " + |
|
|
|
|
" order_num, " + |
|
|
|
|
" param_type, " + |
|
|
|
|
" alarm_status " + |
|
|
|
|
"FROM " + |
|
|
|
|
" ranked_data " + |
|
|
|
|
"WHERE " + |
|
|
|
|
" row_num = 1 " + |
|
|
|
|
"ORDER BY " + |
|
|
|
|
" order_num; ") |
|
|
|
|
List<TempHumidityDTO> selectByParamType(@Param("systemType") String systemType, |
|
|
|
|
@Param("floorId") String floorId, |
|
|
|
|
@Param("paramType") String paramType); |
|
|
|
@ -307,4 +327,15 @@ public interface CollectionParamsManageMapper extends BaseMapper<CollectionParam
|
|
|
|
|
|
|
|
|
|
@Update("update collection_params_manage set cur_value = #{curValue}, cur_time = #{curTime} where id = #{id} ") |
|
|
|
|
void updateCurValueById(@Param("id") String id, @Param("curValue") BigDecimal curValue, @Param("curTime") Date curTime); |
|
|
|
|
|
|
|
|
|
@Select("select" + |
|
|
|
|
" device_ledger_id " + |
|
|
|
|
"from" + |
|
|
|
|
" collection_params_manage cpm " + |
|
|
|
|
"where" + |
|
|
|
|
" is_use = 0 " + |
|
|
|
|
" and date(cur_time) != date(current_timestamp) " + |
|
|
|
|
" and device_ledger_id is not null " + |
|
|
|
|
" group by device_ledger_id;") |
|
|
|
|
List<String> OffLine(); |
|
|
|
|
} |
|
|
|
|