Commit 88e7d2da authored by KeYong's avatar KeYong

修改中心水池弹框bug

parent d82b1899
......@@ -161,19 +161,14 @@ public class PoolStatisticController {
List<Map<String, Object>> abNormalList = new ArrayList<>();
if (!infoList.isEmpty()) {
for (Map<String, Object> m : infoList) {
Map<String, Object> map = new HashMap<>();
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"));
if (StringUtil.isNotEmpty(IndexStatusEnum.getEnumByKey(String.valueOf(transResult.get("status"))))) {
if (IndexStatusEnum.LOW.getKey().equals(String.valueOf(transResult.get("status")))) {
if (StringUtil.isNotEmpty(IndexStatusEnum.getEnumByKey(String.valueOf(m.get("status"))))) {
if (IndexStatusEnum.LOW.getKey().equals(String.valueOf(m.get("status")))) {
abNormalList.add(m);
} else if (IndexStatusEnum.HIGH.getKey().equals(String.valueOf(transResult.get("status")))) {
} else if (IndexStatusEnum.HIGH.getKey().equals(String.valueOf(m.get("status")))) {
abNormalList.add(m);
} else {
} else if (IndexStatusEnum.NORMAL.getKey().equals(String.valueOf(m.get("status")))) {
normalList.add(m);
}
m.put("levelStatus", IndexStatusEnum.getEnumByKey(String.valueOf(transResult.get("status"))).getDescribe1());
} else {
normalList.add(m);
}
......@@ -230,7 +225,8 @@ public class PoolStatisticController {
public ResponseModel getWaterInfo(CommonPageable commonPageable, @RequestParam(required = false) String bizOrgCode,
@RequestParam(required = false) String stationOrder,
@RequestParam(required = false) String stateOrder,
@RequestParam(required = false) String status) {
@RequestParam(required = false) String status,
@RequestParam(value = "sorter", required = false) String sorter) {
if (commonPageable.getPageNumber() == 0) {
commonPageable.setPageNumber(1);
}
......@@ -240,29 +236,29 @@ public class PoolStatisticController {
status = "1";
}
Page page = new Page<>(commonPageable.getPageNumber(), commonPageable.getPageSize());
Page<Map<String, Object>> page1 = fireFightingSystemMapper.getWaterInfoList(page, bizOrgCode, stationOrder, stateOrder, status);
String sortField = "", sortOrder = "";
if (org.springframework.util.StringUtils.hasText(sorter)) {
sortField = sorter.split("@")[0];
sortOrder = sorter.split("@")[1];
}
String sortFlag = null;
if (sortField.equalsIgnoreCase("bizOrgName")) {
sortFlag = "1";
} else if (sortField.equalsIgnoreCase("eligibility")) {
sortFlag = "2";
}
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 allVolume = String.valueOf(list.get(0).get("allVolume"));
int result = new BigDecimal(4000).compareTo(new BigDecimal(allVolume));
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"));
// if (StringUtil.isNotEmpty(IndexStatusEnum.getEnumByKey(String.valueOf(transResult.get("status"))))) {
// if (IndexStatusEnum.LOW.getKey().equals(String.valueOf(transResult.get("status")))) {
// m.put("status", 1);
// } else if (IndexStatusEnum.HIGH.getKey().equals(String.valueOf(transResult.get("status")))) {
// m.put("status", 1);
// } else {
// m.put("status", 0);
// }
// } else {
// m.put("status", 0);
// }
m.put("abs", transResult.get("abs"));
if (!String.valueOf(transResult.get("abs")).equals("--") && !ObjectUtils.isEmpty(m.get("volume"))) {
BigDecimal divide = new BigDecimal(100);
......@@ -277,13 +273,6 @@ public class PoolStatisticController {
m.put("levelAbs", transResult.get("abs"));
}
}
if (StringUtils.isNotEmpty(stationOrder)) {
if ("1".equals(stationOrder)) {
res = res.stream().sorted((t1, t2) -> Integer.valueOf(String.valueOf(t2.get("value"))).compareTo(Integer.valueOf(String.valueOf(t1.get("value"))))).collect(Collectors.toList());
} else {
res = res.stream().sorted(Comparator.comparing(t -> Integer.valueOf(String.valueOf(t.get("value"))))).collect(Collectors.toList());
}
}
page1.setRecords(res);
}
return CommonResponseUtil.success(page1);
......
......@@ -356,7 +356,7 @@ public interface FireFightingSystemMapper extends BaseMapper<FireFightingSystemE
* @param bizOrgCode
* @return
*/
Page<Map<String, Object>> getWaterInfoList(Page page, @Param("bizOrgCode") String bizOrgCode, @Param("stationOrder") String stationOrder, @Param("stateOrder") String stateOrder, @Param("status") String status);
Page<Map<String, Object>> getWaterInfoList(Page page, @Param("bizOrgCode") String bizOrgCode, @Param("sortFlag") String sortFlag, @Param("sortOrder") String sortOrder, @Param("status") String status);
/**
* 水源信息统计
......
......@@ -4902,16 +4902,16 @@
WHEN nowLevel IS NOT NULL
AND maxLevel IS NOT NULL
AND nowLevel - maxLevel > 0 THEN
'1'
'2'
WHEN nowLevel IS NOT NULL
AND minLevel IS NOT NULL
AND nowLevel != '--'
AND nowLevel - minLevel >= 0 THEN
'2'
'1'
WHEN nowLevel IS NOT NULL
AND minLevel IS NOT NULL AND nowLevel != '--'
AND minLevel - nowLevel > 0 THEN
'0' ELSE '4'
'0' ELSE '1'
END
) AS `status`
from (
......@@ -4978,7 +4978,7 @@
IFNULL( rp.max_water_level, 0 ) AS maxLevel,
IFNULL( rp.output_flow_rate, 0 ) AS outputFlowRate,
(select
avg(ei.`value`)
avg(IFNULL( ei.`value`, 0 ))
from
wl_equipment_specific_index ei
where
......@@ -5153,18 +5153,34 @@
c.`status` = #{status}
</if>
</where>
<if test="stationOrder!=null and stationOrder!=''">
ORDER BY CONVERT(c.bizOrgName USING gbk) ASC
</if>
<if test="stationOrder = null or stationOrder =''">
ORDER BY CONVERT(c.bizOrgName USING gbk) DESC
<if test="sortFlag != null and sortFlag != '' and sortFlag = '1'">
<choose>
<when test="sortOrder == 'ascend'">
ORDER BY CONVERT(c.bizOrgName USING gbk) ASC
</when>
<otherwise>
ORDER BY CONVERT(c.bizOrgName USING gbk) DESC
</otherwise>
</choose>
</if>
</select>
<select id="getWaterInfoByBizOrgName" resultType="java.util.Map">
SELECT
*,
(
CASE WHEN
IFNULL(allVolume*allNowLevel/allMaxLevel, 0) > 4000
THEN '1'
ELSE '0'
END
) AS eligibility
FROM (
select
*,
sum(volume) AS allVolume
*,
sum(volume) AS allVolume,
sum(nowLevel) AS allNowLevel,
sum(maxLevel) AS allMaxLevel
from (
(SELECT
r.`name`,
......@@ -5177,9 +5193,11 @@
from
wl_equipment_specific_index ei
where
(ei.equipment_index_key = 'FHS_FirePoolDevice_WaterLevel' or ei.equipment_index_key = 'FHS_WirelessliquidDetector_WaterLevel')
(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(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,
......@@ -5232,7 +5250,8 @@
from
wl_equipment_specific_index ei
where
(ei.equipment_index_key = 'FHS_FirePoolDevice_WaterLevel' or ei.equipment_index_key = 'FHS_WirelessliquidDetector_WaterLevel')
(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
......@@ -5240,7 +5259,8 @@
wl_equipment_specific_index ei
where
-- or ei.equipment_index_key = 'FHS_WirelessliquidDetector_WaterLevel' 此处由于单位会出现多个,所以无法确定选择哪一个,所以此处默认用一个指标的单位进行单位换算
(ei.equipment_index_key = 'FHS_FirePoolDevice_WaterLevel' or ei.equipment_index_key = 'FHS_WirelessliquidDetector_WaterLevel')
(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,
......@@ -5268,6 +5288,7 @@
) a
)) b
GROUP BY bizOrgName
) c
</select>
<select id="getCAFSWaterTankAndFormTank" resultType="java.util.Map">
......
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