From 2ef8fc63badef9c5b9dea999449119f88587911a Mon Sep 17 00:00:00 2001 From: hongjli <3117313295@qq.com> Date: 星期五, 23 五月 2025 13:41:15 +0800 Subject: [PATCH] 管路&气柜产能负载取消返回空值 --- aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsGasPipingRouteStatServiceImpl.java | 52 ++++++++++++++++++++++++++ aps-modules/aps-core/src/main/resources/mapper/core/ApsGasPipingRouteStatMapper.xml | 39 +++++++++++++++++++ aps-modules/aps-core/src/main/java/com/aps/core/mapper/ApsGasPipingRouteStatMapper.java | 8 ++++ 3 files changed, 99 insertions(+), 0 deletions(-) diff --git a/aps-modules/aps-core/src/main/java/com/aps/core/mapper/ApsGasPipingRouteStatMapper.java b/aps-modules/aps-core/src/main/java/com/aps/core/mapper/ApsGasPipingRouteStatMapper.java index 6dd1432..f1fcb23 100644 --- a/aps-modules/aps-core/src/main/java/com/aps/core/mapper/ApsGasPipingRouteStatMapper.java +++ b/aps-modules/aps-core/src/main/java/com/aps/core/mapper/ApsGasPipingRouteStatMapper.java @@ -122,4 +122,12 @@ * @return 鎵�鏈夋墜宸ユ皵浣撳伐鍗曟暟鎹� */ public List<Map<String, Object>> selectAllMoData(); + + /** + * 鏌ヨ鍩虹缁熻鏁版嵁锛堜笉鍖呭惈鏃堕棿闄愬埗锛� + * + * @param params 鏌ヨ鍙傛暟锛堜笉鍖呭惈鏃堕棿鑼冨洿鍙傛暟锛� + * @return 鍩虹缁熻鏁版嵁鍒楄〃 + */ + public List<Map<String, Object>> selectBaseStatData(Map<String, Object> params); } diff --git a/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsGasPipingRouteStatServiceImpl.java b/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsGasPipingRouteStatServiceImpl.java index d01e96b..53dd3b5 100644 --- a/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsGasPipingRouteStatServiceImpl.java +++ b/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsGasPipingRouteStatServiceImpl.java @@ -1489,9 +1489,61 @@ // 鏌ヨ鍘熷鏁版嵁锛堜笉渚濊禆鏁版嵁搴撹仛鍚堬級 List<Map<String, Object>> rawData = apsGasPipingRouteStatMapper.selectRawStatData(queryParams); + // 濡傛灉娌℃湁鏌ヨ鍒板師濮嬫暟鎹紝浣嗛渶瑕佽繑鍥炴墍鏈夊伐搴�/杞﹂棿鐨勬暟鎹� if (rawData.isEmpty()) { + // 鍒涘缓娌℃湁鏃堕棿闄愬埗鐨勫熀纭�鏌ヨ鍙傛暟 + Map<String, Object> baseParams = new HashMap<>(queryParams); + baseParams.remove("yearStart"); + baseParams.remove("monthStart"); + baseParams.remove("yearEnd"); + baseParams.remove("monthEnd"); + + // 鐩存帴浠巃ps_gas_piping_route_stat琛ㄦ煡璇㈡墍鏈夊彲鑳界殑宸ュ簭鍜岃溅闂� + List<Map<String, Object>> baseData = apsGasPipingRouteStatMapper.selectBaseStatData(baseParams); + + // 涓烘瘡涓伐搴�/杞﹂棿鍒涘缓鍩轰簬鏃堕棿鐨勭┖鏁版嵁 + for (Map<String, Object> data : baseData) { + String rowGroupValue = getStringValue(data, rowGroupBy); + if (rowGroupValue == null || rowGroupValue.trim().isEmpty()) continue; + + Map<String, Object> rowEntry = new HashMap<>(); + Map<String, Object> rowDetail = new HashMap<>(); + + // 娣诲姞鍩烘湰淇℃伅 + String plant = getStringValue(data, "plant"); + String major = getStringValue(data, "major"); + String workshop = getStringValue(data, "workshop"); + + if (groupByPlant) rowDetail.put("plant", plant); + if (groupByMajor) rowDetail.put("major", major); + if (groupByWorkshop) rowDetail.put("workshop", workshop); + + // 澶勭悊宸ュ簭鍚嶇О - 濡傛灉rowGroupBy涓簑orkshop锛岄渶瑕佹坊鍔爌rocessName瀛楁 + if ("workshop".equals(rowGroupBy)) { + String processName = getStringValue(data, "processName"); + rowDetail.put("processName", processName != null ? processName : ""); + } + + // 涓烘瘡涓椂闂寸偣鍒涘缓闆跺�兼暟鎹� + List<Map<String, Object>> timeDataList = new ArrayList<>(); + for (String timePoint : timePoints) { + Map<String, Object> pointData = new HashMap<>(); + pointData.put("planDay", timePoint); + pointData.put("requireTimes", BigDecimal.ZERO); + pointData.put("designTimes", BigDecimal.ZERO); + pointData.put("capacityLoad", BigDecimal.ZERO); + timeDataList.add(pointData); + } + + rowDetail.put("timeData", timeDataList); + rowEntry.put(rowGroupValue, rowDetail); + plantTable.add(rowEntry); + } + result.put("plantTable", plantTable); result.put("timePoints", timePoints); + result.put("rowGroupBy", rowGroupBy); + return result; } diff --git a/aps-modules/aps-core/src/main/resources/mapper/core/ApsGasPipingRouteStatMapper.xml b/aps-modules/aps-core/src/main/resources/mapper/core/ApsGasPipingRouteStatMapper.xml index 4789ec5..0cee419 100644 --- a/aps-modules/aps-core/src/main/resources/mapper/core/ApsGasPipingRouteStatMapper.xml +++ b/aps-modules/aps-core/src/main/resources/mapper/core/ApsGasPipingRouteStatMapper.xml @@ -413,4 +413,43 @@ FROM aps_gas_pipeline_mo </select> + <!-- 鏌ヨ鍩虹缁熻鏁版嵁锛堜笉鍖呭惈鏃堕棿闄愬埗锛夛紝鐢ㄤ簬鑾峰彇鎵�鏈夊彲鑳界殑宸ュ簭鍚嶅拰杞﹂棿 --> + <select id="selectBaseStatData" parameterType="java.util.Map" resultType="java.util.Map"> + SELECT DISTINCT + process_name AS "processName", + plant AS "plant", + major AS "major", + workshop AS "workshop" + FROM aps_gas_piping_route_stat + <where> + <if test="plants != null and plants.size() > 0"> + AND plant IN + <foreach collection="plants" item="item" open="(" separator="," close=")"> + #{item} + </foreach> + </if> + <if test="plant != null and plant != ''"> + AND plant = #{plant} + </if> + <if test="majors != null and majors.size() > 0"> + AND major IN + <foreach collection="majors" item="item" open="(" separator="," close=")"> + #{item} + </foreach> + </if> + <if test="major != null and major != ''"> + AND major = #{major} + </if> + <if test="workshops != null and workshops.size() > 0"> + AND workshop IN + <foreach collection="workshops" item="item" open="(" separator="," close=")"> + #{item} + </foreach> + </if> + <if test="workshop != null and workshop != ''"> + AND workshop = #{workshop} + </if> + </where> + </select> + </mapper> \ No newline at end of file -- Gitblit v1.9.3