Browse Source

自来水预测数据接口 更改返回dao层结果

1037015548@qq.com 1 year ago
parent
commit
e99ae206de

+ 19 - 1
src/main/java/com/shkpr/service/aimodelpower/bizmgr/KprAimTapWaterBizFun.java

@@ -70,8 +70,9 @@ public class KprAimTapWaterBizFun {
                             //TODO 循环获取该天该水厂每个设备数据
 
                             //TODO 查询当前天日期内每小时的设备数据
+                            System.out.println(Integer.valueOf(String.valueOf(Duration.between(startDateTime, today.withMinute(0).withSecond(0)).toHours())));
                             for (int i = 0; i < Integer.valueOf(String.valueOf(Duration.between(startDateTime, today.withMinute(0).withSecond(0)).toHours())); i++) {
-                                String startTime = newStartDateTime.withHour(i).format(formater);
+                                String startTime = newStartDateTime.minusHours(-i).format(formater);
                                 String endTime = newStartDateTime.minusHours(-(i + 1)).format(formater);
 
                                 Map<String, Object> recordAllEntity = new HashMap<>();//需要添加的实体数据
@@ -129,6 +130,23 @@ public class KprAimTapWaterBizFun {
                                                             FastJsonUtil.toJSON(recordAllEntity)));
                                         }
                                     }
+                                }else{
+                                    //TODO 说明存在,进行修改
+                                    if(!ObjectUtils.isEmpty(recordAllEntity.get("value"))) {
+                                        int updateCode = getWaterTapWaterApi().updateWaterCollectionRecordAll(String.valueOf(value)," WHERE " +
+                                                "(" +
+                                                " org_name = '" + recordAllEntity.get("org_name") + "' and" +
+                                                " \"time\" = '" + recordAllEntity.get("time") + "' and" +
+                                                " value_tag = '" + recordAllEntity.get("value_tag") + "'" +
+                                                ") ");
+                                        if (updateCode < 0) {
+                                            LogPrintMgr.getInstance().printLogMsg(LogLevelFlag.LOG_ERROR
+                                                    , mStrClassName
+                                                    , mStrClassName
+                                                    , String.format("Batch updateWaterCollectionRecordAll 未成功:{%s} ",
+                                                            FastJsonUtil.toJSON(recordAllEntity)));
+                                        }
+                                    }
                                 }
                             }
                             latch.countDown();

+ 17 - 0
src/main/java/com/shkpr/service/aimodelpower/dbdao/shizilaishuiDataSource/WaterZILAISHUIDao.java

@@ -146,4 +146,21 @@ public class WaterZILAISHUIDao {
             return -1;
         }
     }
+
+    //TODO 修改自来水小时用水量记录表value
+    public int updateWaterCollectionRecordAll(String value,String extend){
+        try{
+            String sql = "UPDATE water_collecation_record_all " +
+                    " SET \"value\" =  "+value+" " +
+                    " ";
+            if(!StringUtils.isEmpty(extend)){
+                sql = sql +extend;
+            }
+            JdbcTemplate pgJdbc = new JdbcTemplate(childDataSource);
+            Integer resCode = pgJdbc.update(sql);
+            return resCode;
+        }catch(Exception ex){
+            return -1;
+        }
+    }
 }

+ 21 - 0
src/main/java/com/shkpr/service/aimodelpower/dbdao/shizilaishuiDataSource/service/WaterTapWaterServiceImpl.java

@@ -164,4 +164,25 @@ public class WaterTapWaterServiceImpl implements WaterTapWaterService {
         }
         return arrRes;
     }
+
+    @Override
+    public Integer updateWaterCollectionRecordAll(String value,String extend) {
+        int nCode = 0;
+        String strMsg = "Success";
+        Integer arrRes = null;
+        try {
+            arrRes = waterZILAISHUIDao.updateWaterCollectionRecordAll(value,extend);
+        }catch (Exception e){
+            nCode = LogLevelFlag.LOG_ERROR.ordinal();
+            strMsg = e.getLocalizedMessage();
+        }finally {
+//            LogPrintMgr.getInstance().printLogMsg(LogLevelFlag.valueFromInt(nCode)
+//                    , LogFlagBusiType.BUSI_CHILD_DB_TAP_WATER.toStrValue()
+//                    , mStrClassName
+//                    , String.format("Batch Insert WaterRecord:{%s} from database, code:{%s} msg:{%s} ..."
+//                            , arrRes
+//                            , nCode, strMsg));
+        }
+        return arrRes;
+    }
 }

+ 2 - 0
src/main/java/com/shkpr/service/aimodelpower/dbdao/shizilaishuiDataSource/service/intef/WaterTapWaterService.java

@@ -24,4 +24,6 @@ public interface WaterTapWaterService {
     public Integer insertWaterCollectionRecord(String extend);
     //TODO pgsql 插入自来水小时用水量记录表
     public Integer insertWaterCollectionRecordAll(String extend);
+    //TODO pgsql 修改自来水小时用水量记录
+    public Integer updateWaterCollectionRecordAll(String value,String extend);
 }

+ 30 - 30
src/main/java/com/shkpr/service/aimodelpower/globalmgr/ScheduleTaskMgr.java

@@ -106,44 +106,44 @@ public class ScheduleTaskMgr {
     }
 
     //TODO 启动时执行 测试方法
-//    @PostConstruct
-//    public void initTest(){
-//        Timer timer = new Timer();
-//        // 创建定时器任务
-//        TimerTask timerTask = new TimerTask() {
-//            @Override
-//            public void run() {
-//                KprAimTapWaterBizFun.checkRecordAllData();
-//                KprAimTapWaterBizFun.checkRecordData();
-//            }
-//        };
-//        timer.schedule(timerTask, 5000); // 10秒后执行一次
-//    }
-
-
-    //TODO 启动时执行一次
     @PostConstruct
-    public void initOneTapWater(){
+    public void initTest(){
         Timer timer = new Timer();
         // 创建定时器任务
         TimerTask timerTask = new TimerTask() {
             @Override
             public void run() {
-                KprAimTapWaterBizFun.initTapWaterData();
+                KprAimTapWaterBizFun.checkRecordAllData();
+//                KprAimTapWaterBizFun.checkRecordData();
             }
         };
-        timer.schedule(timerTask, 10000); // 10秒后执行一次
+        timer.schedule(timerTask, 5000); // 10秒后执行一次
     }
 
-    @PostConstruct
-    public void initWaterRecordAll(){
-        Timer timer = new Timer();
-        TimerTask timerTask1 = new TimerTask() {
-            @Override
-            public void run() {
-                KprAimTapWaterBizFun.initWaterCollecationReacordAll();
-            }
-        };
-        timer.schedule(timerTask1,11000);//11秒后执行一次
-    }
+
+    //TODO 启动时执行一次
+//    @PostConstruct
+//    public void initOneTapWater(){
+//        Timer timer = new Timer();
+//        // 创建定时器任务
+//        TimerTask timerTask = new TimerTask() {
+//            @Override
+//            public void run() {
+//                KprAimTapWaterBizFun.initTapWaterData();
+//            }
+//        };
+//        timer.schedule(timerTask, 10000); // 10秒后执行一次
+//    }
+//
+//    @PostConstruct
+//    public void initWaterRecordAll(){
+//        Timer timer = new Timer();
+//        TimerTask timerTask1 = new TimerTask() {
+//            @Override
+//            public void run() {
+//                KprAimTapWaterBizFun.initWaterCollecationReacordAll();
+//            }
+//        };
+//        timer.schedule(timerTask1,11000);//11秒后执行一次
+//    }
 }