Ver código fonte

市自来水更新:
1.更改泵组优化接口调用预测时间增加未来一天
2.增加营业片区小时实际用水量数据定时任务
3.更改预测的组织机构条件范围查新
4.更改营业片区预测插值bug和原始数据采集bug
5.更改水量预测查询接口,支持查询营业所数据

1037015548@qq.com 2 semanas atrás
pai
commit
73cd73e298

+ 6 - 6
sql.properties

@@ -5,13 +5,13 @@ spring.datasource.data.password=kpr.23417.postgres
 spring.datasource.data.driver-class-name=org.postgis.DriverWrapper
 
 #pgsql Ë®Á¿Ô¤²âÊý¾Ý¿âÔ´
-spring.datasource.db2.jdbc-url=jdbc:postgresql_postGIS://140.246.183.164:5432/water_volume_prediction?useSSL=false&useAffectedRows=false&allowMultiQueries=true
-spring.datasource.db2.username=postgres
-spring.datasource.db2.password=kpr.23417.postgres
-#spring.datasource.db2.jdbc-url=jdbc:postgresql_postGIS://10.101.5.50:5432/water_volume_prediction?useSSL=false&useAffectedRows=false&allowMultiQueries=true
-#spring.datasource.db2.jdbc-url=jdbc:postgresql_postGIS://10.101.3.104:5432/water_volume_prediction_jiangjin2?useSSL=false&useAffectedRows=false&allowMultiQueries=true
+#spring.datasource.db2.jdbc-url=jdbc:postgresql_postGIS://140.246.183.164:5432/water_volume_prediction?useSSL=false&useAffectedRows=false&allowMultiQueries=true
 #spring.datasource.db2.username=postgres
-#spring.datasource.db2.password=ygt.23417.postgres
+#spring.datasource.db2.password=kpr.23417.postgres
+spring.datasource.db2.jdbc-url=jdbc:postgresql_postGIS://10.101.5.50:5432/water_volume_prediction?useSSL=false&useAffectedRows=false&allowMultiQueries=true
+#spring.datasource.db2.jdbc-url=jdbc:postgresql_postGIS://10.101.3.104:5432/water_volume_prediction_jiangjin2?useSSL=false&useAffectedRows=false&allowMultiQueries=true
+spring.datasource.db2.username=postgres
+spring.datasource.db2.password=ygt.23417.postgres
 spring.datasource.db2.driver-class-name=org.postgis.DriverWrapper
 #spring,database.name=water_volume_prediction_jiangjin2
 spring,database.name=water_volume_prediction

+ 12 - 13
src/main/java/com/shkpr/service/aimodelpower/bizmgr/KprAimWaterCollecationBizFun.java

@@ -349,9 +349,9 @@ public class KprAimWaterCollecationBizFun {
     public static Optional<String> findOrgNameByOrgId(Map<String, String> workZoneIds, String orgId) {
         return workZoneIds.entrySet()
                 .stream()
-                .filter(entry -> orgId.equals(entry.getValue())) // 过滤出值等于 orgId 的条目
-                .map(Map.Entry::getKey) // 提取键(orgName)
-                .findFirst(); // 返回第一个匹配的 orgName
+                .filter(entry -> orgId.equals(entry.getValue()))
+                .map(Map.Entry::getKey)
+                .findFirst(); // 找不到会自动返回 Optional.empty()
     }
     private static double parseDouble(Object value) {
         return value == null ? 0.0 : Double.parseDouble(value.toString());
@@ -931,8 +931,6 @@ public class KprAimWaterCollecationBizFun {
      */
     public static ResponseRes selectTbHourWaterList(JPTbMHourWater jpTbMHourWater,Integer level,Map<String, Map<String, List<String>>> result
             ,Map<String,String> workZonIds){
-        LogPrintMgr.getInstance().printLogMsg(LogLevelFlag.LOG_INFO, LogFlagBusiType.BUSI_INTERNAL.toStrValue(), mStrClassName, ""
-                , "2222");
         ResponseRes responseRes = new ResponseRes();
         List<Map<String, Object>> list = new ArrayList<>();
             Map<String, Object> map = new HashMap<>();
@@ -954,15 +952,11 @@ public class KprAimWaterCollecationBizFun {
         responseRes.setResmsg(ResponseCode.RESULT_NORMAL.toStrMsg());
         try {
             if ("water_volume_prediction".equals(databaseName)){
-                LogPrintMgr.getInstance().printLogMsg(LogLevelFlag.LOG_INFO, LogFlagBusiType.BUSI_INTERNAL.toStrValue(), mStrClassName, ""
-                        , "3333");
 //TODO 自来水分了二级泵房,要做查询数据处理,点击水厂查询条件时,查询其下的泵房数据 再相加,
                 //TODO 点击泵房则就查泵房的数据 ,无需做处理
                 List<String> childList = new ArrayList<>();//要查询的组织机构名称集合
                 List<String> childIdList = new ArrayList<>();//要查询的组织机构id集合
                 if (level==1){
-                    LogPrintMgr.getInstance().printLogMsg(LogLevelFlag.LOG_INFO, LogFlagBusiType.BUSI_INTERNAL.toStrValue(), mStrClassName, ""
-                            , "4444");
                     //TODO 一级已经没有数据了(水厂), 查询一级的话则是将其下的供水数据相加
                     //TODO 查询二级,及其二级带的三级
                     Optional zoneNameOpt = findOrgNameByOrgId(workZonIds,jpTbMHourWater.getOrgId());
@@ -999,14 +993,21 @@ public class KprAimWaterCollecationBizFun {
                         }
                     }
                 }else if(level==3){
-                    LogPrintMgr.getInstance().printLogMsg(LogLevelFlag.LOG_INFO, LogFlagBusiType.BUSI_INTERNAL.toStrValue(), mStrClassName, ""
-                            , "5555");
                     //TODO 如果是三级,就查询其自身
                     Optional zoneNameOpt = findOrgNameByOrgId(workZonIds,jpTbMHourWater.getOrgId());
                     if(zoneNameOpt.isPresent()) {
                         String zoneName = zoneNameOpt.get().toString();
                         childList.add(zoneName);
                     }
+                }else if(level==-1){
+                    List<Map<String,Object>> orgConfig = getWaterTapWaterApi().getOrgConfig(false,0,0,"");
+                    Map<String,Object> objectMap = orgConfig.stream()
+                            .filter(mapX -> Objects.equals(jpTbMHourWater.getOrgId(), mapX.get("org_id")))
+                            .findFirst().orElse(null);
+                    if(objectMap!=null) {
+                        childList.add(objectMap.get("org_name").toString());
+                        childIdList.add(objectMap.get("org_id").toString());
+                    }
                 }
                 //TODO 开始查询
                 // 结果集合,存储 childList 对应的组织机构 ID
@@ -1020,8 +1021,6 @@ public class KprAimWaterCollecationBizFun {
                 List<Map<String,Object>> newResList = new ArrayList<>();
                 int index = 0;
                 for (String orgId:childIdList){
-                    LogPrintMgr.getInstance().printLogMsg(LogLevelFlag.LOG_INFO, LogFlagBusiType.BUSI_INTERNAL.toStrValue(), mStrClassName, ""
-                            , "6666");
                     jpTbMHourWater.setOrgId(orgId);
                     jpTbMHourWater.checkValid();
                     List<Map<String, Object>> resList = getWaterTapWaterApi().getTbMHourwater(jpTbMHourWater.getIsPage(),

+ 2 - 1
src/main/java/com/shkpr/service/aimodelpower/controllerapi/WaterCollecationController.java

@@ -508,7 +508,8 @@ public class WaterCollecationController {
                 Map<String, Map<String, List<String>>> result = getWaterWorks();
                 Map<String, String> workZonIds = getWaterZoneIds();
                 if (!MapUtils.isEmpty(result) && !MapUtils.isEmpty(workZonIds)) {
-                    int level = findOrgLevel(result, KprAimWaterCollecationBizFun.findOrgNameByOrgId(workZonIds, oJsonParam.getOrgId()).get().toString());
+                    String orgId = KprAimWaterCollecationBizFun.findOrgNameByOrgId(workZonIds, oJsonParam.getOrgId()).orElse(null);
+                    int level = findOrgLevel(result, orgId);
                     oRes = KprAimWaterCollecationBizFun.selectTbHourWaterList(oJsonParam, level, result, workZonIds);
                 }
             } else {