Commit db733e2f authored by tianbo's avatar tianbo

feat(statistics): 为特种设备添加上线率计算功能

- 新增上线率计算逻辑,针对锅炉、电梯、起重机械等设备类型 - 添加底数和上线率字段到 SkjsEquipCountItemDto 类 - 实现 calculateRate 方法用于计算上线率 - 修改 getEquipOnLineInfo 方法,增加上线率相关数据的获取和计算- 更新 RegionModelDto 类,添加 parentRegionCode 字段 -调整 RegulatoryUnitLevelEnum枚举,使用 level 代替 code
parent 4c4efa38
package com.yeejoin.amos.boot.module.statistics.api.dto; package com.yeejoin.amos.boot.module.statistics.api.dto;
import lombok.Builder;
import lombok.Data; import lombok.Data;
/** /**
...@@ -15,6 +14,11 @@ public class RegionModelDto { ...@@ -15,6 +14,11 @@ public class RegionModelDto {
private String regionCode; private String regionCode;
/** /**
* 父级区域-code
*/
private String parentRegionCode;
/**
* 区域-name * 区域-name
*/ */
private String regionName; private String regionName;
......
...@@ -34,10 +34,29 @@ public class SkjsEquipCountItemDto { ...@@ -34,10 +34,29 @@ public class SkjsEquipCountItemDto {
private String dt; private String dt;
/** /**
* 电梯-底数
*/
private String dtBaseline;
/**
* 电梯上线率
*/
private String dtOnlineRate;
/**
* 起重机械 * 起重机械
*/ */
private String qzjx; private String qzjx;
/**
* 起重机械-底数
*/
private String qzjxBaseline;
/**
* 起重机械上线率
*/
private String qzjxOnlineRate;
/** /**
* 客运索道 * 客运索道
...@@ -45,38 +64,105 @@ public class SkjsEquipCountItemDto { ...@@ -45,38 +64,105 @@ public class SkjsEquipCountItemDto {
private String kysd; private String kysd;
/** /**
* 客运索道-底数
*/
private String kysdBaseline;
/**
* 客运索道上线率
*/
private String kysdOnlineRate;
/**
* 大型游乐设施 * 大型游乐设施
*/ */
private String dxylss; private String dxylss;
/** /**
* 大型游乐设施-底数
*/
private String dxylssBaseline;
/**
* 大型游乐设施上线率
*/
private String dxylssOnlineRate;
/**
* 厂车 * 厂车
*/ */
private String cc; private String cc;
/** /**
* 厂车-底数
*/
private String ccBaseline;
/**
* 厂车上线率
*/
private String ccOnlineRate;
/**
* 锅炉 * 锅炉
*/ */
private String gl; private String gl;
/**
* 锅炉-底数
*/
private String glBaseline;
/**
* 锅炉上线率
*/
private String glOnlineRate;
/** /**
* 压力容器 * 压力容器
*/ */
private String ylrq; private String ylrq;
/**
* 压力容器-底数
*/
private String ylrqBaseline;
/**
* 压力容器上线率
*/
private String ylrqOnlineRate;
/** /**
* 压力管道 * 压力管道
*/ */
private String ylgd; private String ylgd;
/**
* 压力管道-底数
*/
private String ylgdBaseline;
/**
* 压力管道上线率
*/
private String ylgdOnlineRate;
/** /**
* 气瓶 * 气瓶
*/ */
private String qp; private String qp;
/**
* 气瓶-底数
*/
private String qpBaseline;
/**
* 气瓶上线率
*/
private String qpOnlineRate;
public void setDefaultValues() { public void setDefaultValues() {
this.dt = "0"; this.dt = "0";
this.qzjx = "0"; this.qzjx = "0";
......
...@@ -15,12 +15,12 @@ public enum RegulatoryUnitLevelEnum { ...@@ -15,12 +15,12 @@ public enum RegulatoryUnitLevelEnum {
* *监管单位类型 * *监管单位类型
*/ */
省局("省局", "headquarter"), PROVINCE("省局", "headquarter"),
市局("市局", "prefecture-level"), CITY("市局", "prefecture-level"),
区县局("区县局", "county"); COUNTY("区县局", "county");
private final String name; private final String name;
private final String code; private final String level;
public static Map<String, String> getName = new HashMap<>(); public static Map<String, String> getName = new HashMap<>();
public static Map<String, String> getCode = new HashMap<>(); public static Map<String, String> getCode = new HashMap<>();
...@@ -28,12 +28,12 @@ public enum RegulatoryUnitLevelEnum { ...@@ -28,12 +28,12 @@ public enum RegulatoryUnitLevelEnum {
static { static {
for (RegulatoryUnitLevelEnum e : RegulatoryUnitLevelEnum.values()) { for (RegulatoryUnitLevelEnum e : RegulatoryUnitLevelEnum.values()) {
getName.put(e.code, e.name); getName.put(e.level, e.name);
getCode.put(e.name, e.code); getCode.put(e.name, e.level);
} }
} }
public static RegulatoryUnitLevelEnum getEnumByCode(String code) { public static RegulatoryUnitLevelEnum getEnumByLevelCode(String levelCode) {
return Arrays.stream(RegulatoryUnitLevelEnum.values()).filter(r -> r.code.equals(code)).findFirst().orElse(null); return Arrays.stream(RegulatoryUnitLevelEnum.values()).filter(r -> r.level.equals(levelCode)).findFirst().orElse(null);
} }
} }
...@@ -48,4 +48,5 @@ public interface ZLStatisticsMapper { ...@@ -48,4 +48,5 @@ public interface ZLStatisticsMapper {
List<CountDto> countUserByPostAndAreaCode(@Param("orgCode") String orgCode, @Param("regionCode") String regionCode, Boolean isOrgCodeExactMatch); List<CountDto> countUserByPostAndAreaCode(@Param("orgCode") String orgCode, @Param("regionCode") String regionCode, Boolean isOrgCodeExactMatch);
List<Map<String, Object>> getEquBaselineData();
} }
...@@ -102,12 +102,17 @@ ...@@ -102,12 +102,17 @@
</select> </select>
<select id="getEquipTotal" resultType="java.lang.Long"> <select id="getEquipTotal" resultType="java.lang.Long">
select equip_num from tzs_equip_claim_statistics where city_code = #{cityCode} select equip_num from tzs_equip_claim_statistics where is_delete = 0 and city_code = #{cityCode}
</select> </select>
<select id="getEquListTotal" resultType="java.lang.Long"> <select id="getEquListTotal" resultType="java.lang.Long">
select ${field} from tzs_equip_claim_statistics where city_code = #{cityCode} select ${field} from tzs_equip_claim_statistics where is_delete = 0 and city_code = #{cityCode}
</select> </select>
<select id="getEquBaselineData" resultType="java.util.Map">
select * from tzs_equip_claim_statistics where is_delete = 0
</select>
<select id="getPersonPage" resultType="java.util.Map"> <select id="getPersonPage" resultType="java.util.Map">
SELECT SELECT
tui.sequence_nbr sequenceNbr, tui.sequence_nbr sequenceNbr,
......
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