Commit f4971857 authored by KeYong's avatar KeYong

修改告警筛选bug、水池查询问题

parent 49c43cd2
......@@ -82,13 +82,14 @@ public class PluginInterceptor implements Interceptor {
ReflectionUtils.makeAccessible(field);
field.set(boundSql, sql);
return executor.query(mappedStatement, parameter, rowBounds, resultHandler, cacheKey, boundSql);
} else if ("com.yeejoin.equipmanage.mapper.FireFightingSystemMapper.getSystemInfoPage".equals(id)) {
} else if ("com.yeejoin.equipmanage.mapper.FireFightingSystemMapper.getSystemInfoPage".equals(id) ||
"com.yeejoin.equipmanage.mapper.EmergencyMapper.alarmList".equals(id)) {
//执行结果
String sortField = "";
if (parameter instanceof HashMap) {
sortField = ((HashMap<?, ?>) parameter).get("sortField").toString();
}
sql = sql.replace("_sortField", sortField);
sql = sql.replace("@SORT_FIELD", sortField);
//通过反射修改sql语句
Field field = boundSql.getClass().getDeclaredField("sql");
ReflectionUtils.makeAccessible(field);
......
......@@ -74,7 +74,8 @@ public class AlarmStatisticController extends AbstractBaseController {
}
}
}
return CommonResponseUtil.success(iEmergencyService.alarmList(page, bizOrgCode, systemCode, types, emergencyLevels, name, cleanStatus, handleStatus, createDate, startDate, endDate));
return CommonResponseUtil.success(iEmergencyService.alarmList(page, bizOrgCode, systemCode, types, emergencyLevels,
name, cleanStatus, handleStatus, createDate, startDate, endDate, "", ""));
}
@TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false)
......
......@@ -709,7 +709,8 @@ public class EmergencyController extends AbstractBaseController {
@RequestParam(required = false) String systemCode,
@RequestParam(required = false) String createDate,
@RequestParam(required = false) String startDate,
@RequestParam(required = false) String endDate
@RequestParam(required = false) String endDate,
@RequestParam(required = false) String sorter
) {
Page<Map<String, Object>> page = new Page<>(pageNumber, pageSize);
if (StringUtils.isEmpty(bizOrgCode)) {
......@@ -722,7 +723,12 @@ public class EmergencyController extends AbstractBaseController {
}
}
}
return CommonResponseUtil.success(iEmergencyService.alarmList(page, bizOrgCode, systemCode, types, emergencyLevels, name, cleanStatus, handleStatus, createDate, startDate, endDate));
String sortField = "", sortOrder = "";
if (org.springframework.util.StringUtils.hasText(sorter)) {
sortField = sorter.split("@")[0].equalsIgnoreCase("cleanStatus") ? "clean_time" : sorter.split("@")[0];
sortOrder = sorter.split("@")[1];
}
return CommonResponseUtil.success(iEmergencyService.alarmList(page, bizOrgCode, systemCode, types, emergencyLevels, name, cleanStatus, handleStatus, createDate, startDate, endDate, sortField, sortOrder));
}
@TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false)
......
......@@ -254,12 +254,7 @@ public class PoolStatisticController {
Page<Map<String, Object>> page1 = fireFightingSystemMapper.getWaterInfoList(page, bizOrgCode, sortFlag, sortOrder, status);
List<Map<String, Object>> res = page1.getRecords();
if (!res.isEmpty()) {
List<Map<String, Object>> infoList = fireFightingSystemMapper.getWaterInfoByBizOrgName(bizOrgCode);
for (Map<String, Object> m : res) {
List<Map<String, Object>> list = infoList.stream().filter(x -> String.valueOf(x.get("bizOrgName")).equals(m.get("bizOrgName"))).collect(Collectors.toList());
String csl = String.valueOf(list.get(0).get("csl"));
int result = new BigDecimal(4000).compareTo(new BigDecimal(csl));
m.put("eligibility", result < 0 ? "1" : "0");
Map<String, Object> transResult = UnitTransformUtil.transformValues(String.valueOf(m.get("nowLevel")),
String.valueOf(m.get("unit")), String.valueOf(m.get("minLevel")), String.valueOf(m.get("maxLevel")));
m.put("nowLevel", transResult.get("nowValue"));
......
......@@ -107,7 +107,12 @@ public interface EmergencyMapper extends BaseMapper{
* @param name 设备名称
* @return
*/
Page<Map<String, Object>> alarmList(@Param("page") Page<Map<String, Object>> page, @Param("bizOrgCode") String bizOrgCode, @Param("systemCode") String systemCode, @Param("types") List<String> types, @Param("emergencyLevels") List<String> emergencyLevels, @Param("name") String name, @Param("cleanStatus") Integer cleanStatus, @Param("handleStatus") Integer handleStatus , @Param("createDate") String createDate , @Param("startDate") String startDate , @Param("endDate") String endDate);
Page<Map<String, Object>> alarmList(@Param("page") Page<Map<String, Object>> page, @Param("bizOrgCode") String bizOrgCode,
@Param("systemCode") String systemCode, @Param("types") List<String> types,
@Param("emergencyLevels") List<String> emergencyLevels, @Param("name") String name,
@Param("cleanStatus") Integer cleanStatus, @Param("handleStatus") Integer handleStatus,
@Param("createDate") String createDate , @Param("startDate") String startDate ,
@Param("endDate") String endDate, @Param("sortField") String sortField, @Param("sortOrder") String sortOrder);
List<Map<String, Object>> alarmListNoPage( @Param("bizOrgCode") String bizOrgCode, @Param("systemCode") String systemCode, @Param("types") List<String> types, @Param("emergencyLevels") List<String> emergencyLevels, @Param("name") String name, @Param("cleanStatus") Integer cleanStatus, @Param("handleStatus") Integer handleStatus , @Param("createDate") String createDate , @Param("startDate") String startDate , @Param("endDate") String endDate);
......
......@@ -69,7 +69,9 @@ public interface IEmergencyService {
List<Map<String, Object>> getPressurePumpDiagnosticAnalysis(String bizOrgCode);
Page<Map<String, Object>> alarmList(Page<Map<String, Object>> page,String bizOrgCode, String systemCode, List<String> types, List<String> emergencyLevels, String name, Integer cleanStatus, Integer handleStatus,String createDate,String startDate,String endDate);
Page<Map<String, Object>> alarmList(Page<Map<String, Object>> page,String bizOrgCode, String systemCode, List<String> types,
List<String> emergencyLevels, String name, Integer cleanStatus, Integer handleStatus,
String createDate,String startDate,String endDate,String sortField,String sortOrder);
Map<String, List<PressurePumpCountVo>> getPressurePumpDay();
......
......@@ -643,8 +643,12 @@ public class EmergencyServiceImpl implements IEmergencyService {
@Override
public Page<Map<String, Object>> alarmList(Page<Map<String, Object>> page, String bizOrgCode, String systemCode, List<String> types, List<String> emergencyLevels, String name, Integer cleanStatus, Integer handleStatus,String createDate,String startDate,String endDate) {
return emergencyMapper.alarmList(page, bizOrgCode, systemCode, types, emergencyLevels, name, cleanStatus, handleStatus, createDate, startDate, endDate);
public Page<Map<String, Object>> alarmList(Page<Map<String, Object>> page, String bizOrgCode, String systemCode,
List<String> types, List<String> emergencyLevels, String name, Integer cleanStatus,
Integer handleStatus,String createDate,String startDate,String endDate,
String sortField,String sortOrder) {
return emergencyMapper.alarmList(page, bizOrgCode, systemCode, types, emergencyLevels, name, cleanStatus,
handleStatus, createDate, startDate, endDate, sortField, sortOrder);
}
//稳压泵定时向缓存中存昨日启动次数任务
......
......@@ -1224,7 +1224,6 @@ public class FireFightingSystemServiceImpl extends ServiceImpl<FireFightingSyste
resList.add(map);
i++;
}
;
}
return resList;
}
......
......@@ -1492,7 +1492,19 @@
</if>
</where>
ORDER BY
<if test="sortField != null and sortField != ''">
<choose>
<when test="sortOrder == 'ascend'">
wlesal.@SORT_FIELD ASC
</when>
<otherwise>
wlesal.@SORT_FIELD DESC
</otherwise>
</choose>
</if>
<if test="sortField == null or sortField == ''">
wlesal.create_date DESC
</if>
</select>
<select id="alarmListNoPage" resultType="java.util.Map">
......
......@@ -5147,7 +5147,133 @@
r.sequence_nbr
) a
)) b
)c
) c
LEFT JOIN (SELECT SUM(c1.csl) AS totalCsl, (CASE WHEN SUM(c1.csl) <![CDATA[<]]> 4000 THEN '0' ELSE '1' END) AS eligibility, c1.bizOrgName FROM (
select
*,
(
CASE
WHEN nowLevel IS NOT NULL
AND maxLevel IS NOT NULL
AND nowLevel - maxLevel > 0 THEN
'1'
WHEN nowLevel IS NOT NULL
AND minLevel IS NOT NULL
AND nowLevel != '--'
AND nowLevel - minLevel >= 0 THEN
'0'
WHEN nowLevel IS NOT NULL
AND minLevel IS NOT NULL AND nowLevel != '--'
AND minLevel - nowLevel > 0 THEN
'1' ELSE '0'
END
) AS `status`,
IFNULL(nowLevel/maxlevel, 0) * volume AS csl
from (
(SELECT
r.sequence_nbr AS id,
r.`name`,
wes.id as equipmentSpecificId,
IFNULL( rp.min_water_level, 0 ) AS minLevel,
IFNULL( rp.max_water_level, 0 ) AS maxLevel,
IFNULL( rp.output_flow_rate, 0 ) AS outputFlowRate,
IFNULL((select
avg(IFNULL(ei.`value`, 0))
from
wl_equipment_specific_index ei
where
(ei.equipment_index_key = 'FHS_FirePoolDevice_WaterLevel' or ei.equipment_index_key = 'FHS_WirelessliquidDetector_WaterLevel')
AND FIND_IN_SET( ei.equipment_specific_id, rp.level_device_id) > 0), '--') AS nowLevel,
IFNULL(CASE WHEN (ei.equipment_index_key = 'FHS_FirePoolDevice_WaterLevel' or ei.equipment_index_key = 'FHS_WirelessliquidDetector_WaterLevel') THEN ei.`unit` END,'--') AS 'unit',
IFNULL( rp.volume, 0 ) AS volume,
ec.image,
r.resource_type,
r.sequence_nbr,
wes.code,
ifnull(rp.pump_device_id, '') as pumpDeviceId,
r.biz_org_name AS bizOrgName
FROM
cb_water_resource r
LEFT JOIN cb_water_resource_pool rp ON rp.resource_id = r.sequence_nbr
LEFT JOIN wl_equipment_specific_index ei ON ei.equipment_specific_id = rp.level_device_id
LEFT JOIN wl_equipment_category ec ON ec.id = r.equip_category_id
LEFT JOIN f_fire_fighting_system fs ON fs.id = r.belong_fighting_system_id
LEFT JOIN wl_equipment_specific wes ON wes.id = rp.level_device_id
WHERE
r.resource_type = 'industryPool'
AND r.is_delete = 1
AND r.`biz_org_code` IS NOT NULL
<if test="bizOrgCode!=null and bizOrgCode!=''">
AND r.biz_org_code like concat(#{bizOrgCode}, '%')
</if>
GROUP BY
r.sequence_nbr) union all
(
SELECT
a1.id,
a1.`name`,
a1.equipmentSpecificId,
a1.minLevel,
a1.maxLevel,
a1.outputFlowRate,
IFNULL( a1.nowLevel, '--' ) nowLevel,
a1.`unit`,
a1.volume,
a1.image,
a1.resource_type,
a1.sequence_nbr,
a1.code,
a1.pumpDeviceId,
a1.bizOrgName
FROM
(
SELECT
r.sequence_nbr AS id,
r.`name`,
wes.id as equipmentSpecificId,
IFNULL( rp.min_water_level, 0 ) AS minLevel,
IFNULL( rp.max_water_level, 0 ) AS maxLevel,
IFNULL( rp.output_flow_rate, 0 ) AS outputFlowRate,
(select
avg(IFNULL(ei.`value`,0))
from
wl_equipment_specific_index ei
where
(ei.equipment_index_key = 'FHS_FirePoolDevice_WaterLevel' or ei.equipment_index_key = 'FHS_WirelessliquidDetector_WaterLevel')
and FIND_IN_SET( ei.equipment_specific_id, rp.level_device_id) > 0) AS nowLevel,
(select
ei.unit
from
wl_equipment_specific_index ei
where
(ei.equipment_index_key = 'FHS_FirePoolDevice_WaterLevel' or ei.equipment_index_key = 'FHS_WirelessliquidDetector_WaterLevel')
and FIND_IN_SET( ei.equipment_specific_id, rp.level_device_id) > 0 limit 1) AS 'unit',
IFNULL( rp.volume, 0 ) AS volume,
ec.image,
r.resource_type,
r.sequence_nbr,
rp.level_device_id,
wes.code,
ifnull(rp.pump_device_id, '') as pumpDeviceId,
r.biz_org_name AS bizOrgName
FROM
cb_water_resource r
LEFT JOIN cb_water_resource_pool rp ON rp.resource_id = r.sequence_nbr
LEFT JOIN wl_equipment_category ec ON ec.id = r.equip_category_id
LEFT JOIN f_fire_fighting_system fs ON fs.id = r.belong_fighting_system_id
LEFT JOIN wl_equipment_specific wes ON wes.id = rp.level_device_id
WHERE
r.resource_type = 'pool'
AND r.is_delete = 1
AND r.`biz_org_code` IS NOT NULL
<if test="bizOrgCode!=null and bizOrgCode!=''">
AND r.biz_org_code like concat(#{bizOrgCode}, '%')
</if>
GROUP BY
r.sequence_nbr
) a1
)) b1
) c1 GROUP BY bizOrgName) d ON d.bizOrgName = c.bizOrgName
<where>
<if test="status != null and status != ''">
c.`status` = #{status}
......@@ -5163,6 +5289,16 @@
</otherwise>
</choose>
</if>
<if test="sortFlag != null and sortFlag != '' and sortFlag = '2'">
<choose>
<when test="sortOrder == 'ascend'">
ORDER BY d.eligibility ASC
</when>
<otherwise>
ORDER BY d.eligibility DESC
</otherwise>
</choose>
</if>
</select>
<select id="getWaterInfoByBizOrgName" resultType="java.util.Map">
......@@ -7005,10 +7141,10 @@
<if test="sortField != null and sortField != ''">
<choose>
<when test="sortOrder == 'ascend'">
_sortField ASC
@SORT_FIELD ASC
</when>
<otherwise>
_sortField DESC
@SORT_FIELD DESC
</otherwise>
</choose>
</if>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment