Переглянути джерело

Merge branch 'master' of https://git.steerinfo.com/XTEMS/xt-ems-api

lirl 3 роки тому
батько
коміт
d575253746

+ 1 - 0
src/main/java/com/steerinfo/ems/emswaterrealtime/mapper/EmsWaterRealtimeMapper.xml

@@ -641,6 +641,7 @@
     JOIN T_RM_CALPOINT c ON l.ID = c.LOCATEID
     AND c.ENERGYTYPEID = 'W' AND c.ITEMTYPE='AUTO'
     LEFT JOIN EMS_WATER_REALTIME w ON l.BCODE = w.ADDRESSCODE
+    WHERE ADDRESSCODE IS NOT NULL
     ORDER BY TO_NUMBER(regexp_substr(l.ID,'[0-9.]+'))
   </select>
   <insert id="insertWaterTenMinutes" parameterType="java.util.HashMap">

+ 1 - 0
src/main/java/com/steerinfo/ems/rttable/mapper/RttableMapper.xml

@@ -46,6 +46,7 @@
         and NOTE = #{note}
       </if>
     </where>
+    order by ALTID
   </sql>
   <sql id="whereLike">
     <where> 

+ 17 - 12
src/main/java/com/steerinfo/ems/rttable/service/impl/RttableServiceImpl.java

@@ -83,20 +83,25 @@ public class RttableServiceImpl extends BaseServiceImpl<Rttable, BigDecimal> imp
             Rttable model;
             // emsWaterRealtimeMapper.selectByPrimaryKey("1");//.getWaterListByArmMeter();
             String clock1 = DateUtils.dateStr(new Date(),"yyyy-MM-dd HH:mm:ss");
-            HashMap<String,Object> hashMap = new HashMap<String,Object>();
+            HashMap<String,Object> hashMap = new HashMap<String,Object>(2);
             hashMap.put("clock1",clock1);
-            addSize += rttableMapper.insertPowerTenMinutes(hashMap);
-            StringBuffer sub = new StringBuffer();
-            List<Rttable> rttableList = rttableMapper.selectByParameters(hashMap);
-            String table="EMS_POWER_TIMING";
-            for (Rttable rttable : rttableList){
-                i++;
-                String sql = "TAG"+ i+ " = " + "'" + rttable.getRtvalue() + "',";
-                sub.append(sql);
+            try {
+                addSize += rttableMapper.insertPowerTenMinutes(hashMap);
+            } catch (Exception e) {
+                logger.error("主键已存在");
+            } finally {
+                StringBuffer sub = new StringBuffer();
+                List<Rttable> rttableList = rttableMapper.selectByParameters(hashMap);
+                String table = "EMS_POWER_TIMING";
+                for (Rttable rttable : rttableList) {
+                    i++;
+                    String sql = "TAG" + i + " = " + "'" + rttable.getRtvalue() + "',";
+                    sub.append(sql);
+                }
+                hashMap.put("table", table);
+                hashMap.put("sql", sub.toString());
+                updateSize += rttableMapper.updatePowerTenMinutes(hashMap);
             }
-            hashMap.put("table",table);
-            hashMap.put("sql",sub.toString());
-            updateSize += rttableMapper.updatePowerTenMinutes(hashMap);
         } catch (Exception e) {
             e.printStackTrace();
         } finally {

+ 2 - 2
src/main/java/com/steerinfo/task/SpringCronTask.java

@@ -276,7 +276,7 @@ public class SpringCronTask implements SchedulingConfigurer{
 					 rttableService.dataGeneration();
 					 logger.info("定时任务"+taskId+"执行时长:" + (System.currentTimeMillis() - start)/1000 + "秒");
 				 } else if(taskId.equalsIgnoreCase("121")){
-					 // 根据计量点配置生成动力数据、水数据 10分钟一次,暂时弃用只保留传输到mosaic
+					 // 根据计量点配置生成动力数据、水数据 10分钟一次,传输到mosaic
 					 long start = System.currentTimeMillis();
 					 emsWaterRealtimeService.getWaterTenMinutes();
 					 rttableService.getPowerTenMinutes();
@@ -292,7 +292,7 @@ public class SpringCronTask implements SchedulingConfigurer{
 					// 动力、水(计量点)小时表定时统计(自动补全24小时内的小时用量值)
 					long start = System.currentTimeMillis();
 					tRmCalpointService.statHourData();
-					////水计量点统计,获取水系统历史数据,弃用不准确
+					////水计量点统计,获取水系统历史数据,弃用,数据不准确
 					// emsWaterRealtimeService.getWaterTenMinutes();
 					// emsWaterRealtimeService.getWaterHour();
 					// emsWaterRealtimeService.getHistoryWaterToHour();