Pārlūkot izejas kodu

update--更改水数据流程

QuietShadow 3 gadi atpakaļ
vecāks
revīzija
e42f1826bf
15 mainītis faili ar 534 papildinājumiem un 209 dzēšanām
  1. 5 1
      src/main/java/com/steerinfo/ems/emswaihoursumtab1/mapper/EmsWAiHourSumTab1Mapper.java
  2. 7 5
      src/main/java/com/steerinfo/ems/emswaihoursumtab1/mapper/EmsWAiHourSumTab1Mapper.xml
  3. 5 3
      src/main/java/com/steerinfo/ems/emswaihoursumtab1/service/IEmsWAiHourSumTab1Service.java
  4. 11 5
      src/main/java/com/steerinfo/ems/emswaihoursumtab1/service/impl/EmsWAiHourSumTab1ServiceImpl.java
  5. 5 1
      src/main/java/com/steerinfo/ems/emswaihoursumtab1org/mapper/EmsWAiHourSumTab1OrgMapper.java
  6. 8 5
      src/main/java/com/steerinfo/ems/emswaihoursumtab1org/mapper/EmsWAiHourSumTab1OrgMapper.xml
  7. 1 1
      src/main/java/com/steerinfo/ems/emswaterrealtime/mapper/EmsWaterRealtimeMapper.xml
  8. 26 0
      src/main/java/com/steerinfo/ems/emswaterrealtime/service/IEmsWaterRealtimeService.java
  9. 381 122
      src/main/java/com/steerinfo/ems/emswaterrealtime/service/impl/EmsWaterRealtimeServiceImpl.java
  10. 1 0
      src/main/java/com/steerinfo/ems/trmcalpoint/service/ITRmCalpointService.java
  11. 8 3
      src/main/java/com/steerinfo/ems/trmcalpoint/service/impl/TRmCalpointServiceImpl.java
  12. 1 2
      src/main/java/com/steerinfo/ems/trmcalpointvalue/controller/TRmCalpointValueController.java
  13. 9 4
      src/main/java/com/steerinfo/ems/trmcalpointvalue/service/ITRmCalpointValueService.java
  14. 20 14
      src/main/java/com/steerinfo/ems/trmcalpointvalue/service/impl/TRmCalpointValueServiceImpl.java
  15. 46 43
      src/main/java/com/steerinfo/task/SpringCronTask.java

+ 5 - 1
src/main/java/com/steerinfo/ems/emswaihoursumtab1/mapper/EmsWAiHourSumTab1Mapper.java

@@ -2,9 +2,13 @@ package com.steerinfo.ems.emswaihoursumtab1.mapper;
 
 import com.steerinfo.ems.emswaihoursumtab1.model.EmsWAiHourSumTab1;
 import com.steerinfo.framework.mapper.IBaseMapper;
-import java.math.*;
 import org.apache.ibatis.annotations.Mapper;
 
+import java.util.List;
+import java.util.Map;
+
 @Mapper
 public interface EmsWAiHourSumTab1Mapper extends IBaseMapper<EmsWAiHourSumTab1, String> {
+
+   List<EmsWAiHourSumTab1> getHistoryData(Map<String, Object> map);
 }

+ 7 - 5
src/main/java/com/steerinfo/ems/emswaihoursumtab1/mapper/EmsWAiHourSumTab1Mapper.xml

@@ -3408,7 +3408,7 @@
     <include refid="whereLike"/>
   </select>
   <insert id="batchInsert" parameterType="java.util.List">
-    insert into EMS_W_AI_HOUR_SUM_TAB1 
+    insert into EMS_W_AI_HOUR_SUM_TAB1 
       (CLOCK, 
       INSERT_TIME, TAG1, TAG2, 
       TAG3, TAG4, TAG5, 
@@ -3464,8 +3464,8 @@
       TAG153, TAG154, TAG155, 
       TAG156, TAG157, TAG158, 
       TAG159, TAG160)
-    ( <foreach collection="list" item="item" separator="union all"> 
-   select  
+    ( <foreach collection="list" item="item" separator="union all"> 
+   select  
       #{item.clock,jdbcType=VARCHAR}, 
       #{item.insertTime,jdbcType=TIMESTAMP}, #{item.tag1,jdbcType=FLOAT}, #{item.tag2,jdbcType=FLOAT}, 
       #{item.tag3,jdbcType=FLOAT}, #{item.tag4,jdbcType=FLOAT}, #{item.tag5,jdbcType=FLOAT}, 
@@ -3520,7 +3520,7 @@
       #{item.tag150,jdbcType=FLOAT}, #{item.tag151,jdbcType=FLOAT}, #{item.tag152,jdbcType=FLOAT}, 
       #{item.tag153,jdbcType=FLOAT}, #{item.tag154,jdbcType=FLOAT}, #{item.tag155,jdbcType=FLOAT}, 
       #{item.tag156,jdbcType=FLOAT}, #{item.tag157,jdbcType=FLOAT}, #{item.tag158,jdbcType=FLOAT}, 
-      #{item.tag159,jdbcType=FLOAT}, #{item.tag160,jdbcType=FLOAT} from dual  
+      #{item.tag159,jdbcType=FLOAT}, #{item.tag160,jdbcType=FLOAT} from dual  
    </foreach> )
   </insert>
   <update id="batchUpdate" parameterType="java.util.List">
@@ -4188,5 +4188,7 @@
   </delete>
   <!-- 友情提示!!!-->
   <!-- 请将自己写的代码放在此标签之下,方便以后粘贴复制。-->
-  
+  <select id="getHistoryData" parameterType="java.util.Map" resultMap="BaseResultMap">
+    SELECT * FROM (SELECT distinct CONVERT(varchar(13), CreateTime, 120) as CLOCK,FlowVal,case AddressCode ${whens} END as TAG FROM ARM_HistoryData with (NOLOCK) where CONVERT(varchar(13), CreateTime, 120) between #{clock4} and #{clock} and AddressCode in(${codes})) as VAL PIVOT (SUM(FlowVal) FOR TAG IN (${tags})) AS EMS_W_AI_HOUR_SUM_TAB1 order by CLOCK
+  </select>
 </mapper>

+ 5 - 3
src/main/java/com/steerinfo/ems/emswaihoursumtab1/service/IEmsWAiHourSumTab1Service.java

@@ -1,9 +1,10 @@
 package com.steerinfo.ems.emswaihoursumtab1.service;
 
-import com.steerinfo.framework.service.IBaseService;
 import com.steerinfo.ems.emswaihoursumtab1.model.EmsWAiHourSumTab1;
-import java.util.Date;
-import java.math.BigDecimal;
+import com.steerinfo.framework.service.IBaseService;
+
+import java.util.List;
+import java.util.Map;
 
 /**
  * EmsWAiHourSumTab1服务接口:
@@ -19,5 +20,6 @@ import java.math.BigDecimal;
  * @Copyright 湖南视拓信息技术股份有限公司. All rights reserved.
  */
 public interface IEmsWAiHourSumTab1Service extends IBaseService<EmsWAiHourSumTab1, String>{
+    List<EmsWAiHourSumTab1> getHistoryData(Map<String, Object> map);
 
 }

+ 11 - 5
src/main/java/com/steerinfo/ems/emswaihoursumtab1/service/impl/EmsWAiHourSumTab1ServiceImpl.java

@@ -1,14 +1,15 @@
 package com.steerinfo.ems.emswaihoursumtab1.service.impl;
 
-import com.steerinfo.framework.mapper.IBaseMapper;
-import com.steerinfo.framework.service.impl.BaseServiceImpl;
-import com.steerinfo.ems.emswaihoursumtab1.model.EmsWAiHourSumTab1;
 import com.steerinfo.ems.emswaihoursumtab1.mapper.EmsWAiHourSumTab1Mapper;
+import com.steerinfo.ems.emswaihoursumtab1.model.EmsWAiHourSumTab1;
 import com.steerinfo.ems.emswaihoursumtab1.service.IEmsWAiHourSumTab1Service;
+import com.steerinfo.framework.mapper.IBaseMapper;
+import com.steerinfo.framework.service.impl.BaseServiceImpl;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
-import java.util.Date;
-import java.math.BigDecimal;
+
+import java.util.List;
+import java.util.Map;
 
 /**
  * EmsWAiHourSumTab1服务实现:
@@ -33,4 +34,9 @@ public class EmsWAiHourSumTab1ServiceImpl extends BaseServiceImpl<EmsWAiHourSumT
     protected IBaseMapper<EmsWAiHourSumTab1, String> getMapper() {
         return emsWAiHourSumTab1Mapper;
     }
+
+    @Override
+    public List<EmsWAiHourSumTab1> getHistoryData(Map<String, Object> map) {
+        return emsWAiHourSumTab1Mapper.getHistoryData(map);
+    }
 }

+ 5 - 1
src/main/java/com/steerinfo/ems/emswaihoursumtab1org/mapper/EmsWAiHourSumTab1OrgMapper.java

@@ -2,9 +2,13 @@ package com.steerinfo.ems.emswaihoursumtab1org.mapper;
 
 import com.steerinfo.ems.emswaihoursumtab1org.model.EmsWAiHourSumTab1Org;
 import com.steerinfo.framework.mapper.IBaseMapper;
-import java.math.*;
 import org.apache.ibatis.annotations.Mapper;
 
+import java.util.List;
+import java.util.Map;
+
+
 @Mapper
 public interface EmsWAiHourSumTab1OrgMapper extends IBaseMapper<EmsWAiHourSumTab1Org, String> {
+    List<EmsWAiHourSumTab1Org> getHistoryDataOrg(Map<String, Object> map);
 }

+ 8 - 5
src/main/java/com/steerinfo/ems/emswaihoursumtab1org/mapper/EmsWAiHourSumTab1OrgMapper.xml

@@ -3408,7 +3408,7 @@
     <include refid="whereLike"/>
   </select>
   <insert id="batchInsert" parameterType="java.util.List">
-    insert into EMS_W_AI_HOUR_SUM_TAB1_ORG 
+    insert into EMS_W_AI_HOUR_SUM_TAB1_ORG 
       (CLOCK, 
       INSERT_TIME, TAG1, TAG2, 
       TAG3, TAG4, TAG5, 
@@ -3464,8 +3464,8 @@
       TAG153, TAG154, TAG155, 
       TAG156, TAG157, TAG158, 
       TAG159, TAG160)
-    ( <foreach collection="list" item="item" separator="union all"> 
-   select  
+    ( <foreach collection="list" item="item" separator="union all"> 
+   select  
       #{item.clock,jdbcType=VARCHAR}, 
       #{item.insertTime,jdbcType=TIMESTAMP}, #{item.tag1,jdbcType=FLOAT}, #{item.tag2,jdbcType=FLOAT}, 
       #{item.tag3,jdbcType=FLOAT}, #{item.tag4,jdbcType=FLOAT}, #{item.tag5,jdbcType=FLOAT}, 
@@ -3520,7 +3520,7 @@
       #{item.tag150,jdbcType=FLOAT}, #{item.tag151,jdbcType=FLOAT}, #{item.tag152,jdbcType=FLOAT}, 
       #{item.tag153,jdbcType=FLOAT}, #{item.tag154,jdbcType=FLOAT}, #{item.tag155,jdbcType=FLOAT}, 
       #{item.tag156,jdbcType=FLOAT}, #{item.tag157,jdbcType=FLOAT}, #{item.tag158,jdbcType=FLOAT}, 
-      #{item.tag159,jdbcType=FLOAT}, #{item.tag160,jdbcType=FLOAT} from dual  
+      #{item.tag159,jdbcType=FLOAT}, #{item.tag160,jdbcType=FLOAT} from dual  
    </foreach> )
   </insert>
   <update id="batchUpdate" parameterType="java.util.List">
@@ -4188,5 +4188,8 @@
   </delete>
   <!-- 友情提示!!!-->
   <!-- 请将自己写的代码放在此标签之下,方便以后粘贴复制。-->
-  
+  <select id="getHistoryDataOrg" parameterType="java.util.Map" resultMap="BaseResultMap">
+    SELECT CLOCK,${tags} FROM (SELECT distinct CONVERT(varchar(13), CreateTime, 120) as CLOCK,ForValue,case AddressCode ${whens} END as TAG FROM ARM_HistoryData with (NOLOCK) where CONVERT(varchar(13), CreateTime, 120) between #{clock4} and #{clock}  and AddressCode in(${codes})) as a
+    PIVOT (SUM(ForValue) FOR TAG IN (${tags})) AS EMS_W_AI_HOUR_SUM_TAB1_ORG order by CLOCK
+  </select>
 </mapper>

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

@@ -634,7 +634,7 @@
     (SELECT t.ITEMID FROM T_RM_CALPOINT t JOIN FORMULA f ON t.ITEMID =f.CODE)
   </select>
   <select id="getWaterTenMinutes" resultMap="BaseResultMap">
-    SELECT w.FORVALUE AS SUMVALUE,
+    SELECT w.ADDRESSCODE,w.FORVALUE AS SUMVALUE,
 <!--(w.FORVALUE - w.REVVALUE) -->
     c.BTYPE2 AS M_TYPE,  c.SOURCE_TYPE AS M_MATERIAL
     FROM T_RM_LOCATION l

+ 26 - 0
src/main/java/com/steerinfo/ems/emswaterrealtime/service/IEmsWaterRealtimeService.java

@@ -23,11 +23,37 @@ public interface IEmsWaterRealtimeService extends IBaseService<EmsWaterRealtime,
 
     List<EmsWaterRealtime> getWaterListByArmMeter();
 
+    /**
+     * 获取大用户水系统数据到ems数据库存储
+     * @return
+     */
     int dataGeneration();
 
     void getcalpoint();
 
+    /**
+     * 获取ems系统中所有和大用户系统对应的计量点信息
+     */
     void getWaterTenMinutes();
 
+    /**
+     * 传输数据到mosaic
+     * @throws AxisFault
+     */
     void getWaterListToMosaic() throws AxisFault;
+
+    /**
+     * 获取大用户水数据历史表数据
+     * */
+    void getWaterHour();
+
+    /**
+     * 获取大用户水数据历史表数据
+     * */
+    void getWaterHour(String clock,String clock2);
+
+    /**
+     * 传输大用户水数据历史表到小时表
+     * */
+    void getHistoryWaterToHour();
 }

+ 381 - 122
src/main/java/com/steerinfo/ems/emswaterrealtime/service/impl/EmsWaterRealtimeServiceImpl.java

@@ -3,6 +3,10 @@ package com.steerinfo.ems.emswaterrealtime.service.impl;
 import com.steerinfo.auth.utils.JwtUtil;
 import com.steerinfo.ems.Utils.DateUtils;
 import com.steerinfo.ems.Utils.MosaicUtils;
+import com.steerinfo.ems.emswaihoursumtab1.mapper.EmsWAiHourSumTab1Mapper;
+import com.steerinfo.ems.emswaihoursumtab1.model.EmsWAiHourSumTab1;
+import com.steerinfo.ems.emswaihoursumtab1org.mapper.EmsWAiHourSumTab1OrgMapper;
+import com.steerinfo.ems.emswaihoursumtab1org.model.EmsWAiHourSumTab1Org;
 import com.steerinfo.ems.emswaterrealtime.mapper.EmsWaterRealtimeMapper;
 import com.steerinfo.ems.emswaterrealtime.model.EmsWaterRealtime;
 import com.steerinfo.ems.emswaterrealtime.service.IEmsWaterRealtimeService;
@@ -10,6 +14,8 @@ import com.steerinfo.ems.formula.model.Formula;
 import com.steerinfo.ems.formula.service.IFormulaService;
 import com.steerinfo.ems.ifmesemsswapfile.service.impl.IfMesEmsSwapfileServiceImpl;
 import com.steerinfo.ems.trmcalpoint.model.TRmCalpoint;
+import com.steerinfo.ems.trmcalpointexvalue.model.TRmCalpointExValue;
+import com.steerinfo.ems.trmcalpointexvalue.service.ITRmCalpointExValueService;
 import com.steerinfo.framework.datasource.DataSourceKey;
 import com.steerinfo.framework.datasource.TargetDataSource;
 import com.steerinfo.framework.mapper.IBaseMapper;
@@ -17,11 +23,13 @@ import com.steerinfo.framework.service.impl.BaseServiceImpl;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.jdbc.core.JdbcTemplate;
 import org.springframework.stereotype.Service;
 
-import java.util.Date;
-import java.util.HashMap;
-import java.util.List;
+import java.lang.reflect.Field;
+import java.math.BigDecimal;
+import java.text.SimpleDateFormat;
+import java.util.*;
 
 /**
  * EmsWaterRealtime服务实现:
@@ -43,13 +51,26 @@ public class EmsWaterRealtimeServiceImpl extends BaseServiceImpl<EmsWaterRealtim
 
     @Autowired
     private EmsWaterRealtimeMapper emsWaterRealtimeMapper;
+    @Autowired
+    private EmsWAiHourSumTab1Mapper emsWAiHourSumTab1Mapper;
+    @Autowired
+    private EmsWAiHourSumTab1OrgMapper emsWAiHourSumTab1OrgMapper;
+    @Autowired
+    ITRmCalpointExValueService tRmCalpointExValueService;
+    @Autowired
+    private JdbcTemplate jdbcTemplate;
 
     @Override
     protected IBaseMapper<EmsWaterRealtime, String> getMapper() {
         return emsWaterRealtimeMapper;
     }
 
+    //更换数据源使用
     List<EmsWaterRealtime> emsWaterRealtimeList;
+    List<EmsWAiHourSumTab1> emsWAiHourSumTab1s;
+    List<EmsWAiHourSumTab1Org> emsWAiHourSumTab1Orgs;
+    List<EmsWaterRealtime>  emsWaterToMeterRelation;
+
 
     @Override
     @TargetDataSource(dataSourceKey = DataSourceKey.DB_OTHER)
@@ -111,49 +132,49 @@ public class EmsWaterRealtimeServiceImpl extends BaseServiceImpl<EmsWaterRealtim
 
     @Override
     public void getWaterTenMinutes() {
-        int addSize = 0;
-        int updateSize = 0;
-        int i = 0;
-        try {
-            EmsWaterRealtime model;
-            // emsWaterRealtimeMapper.selectByPrimaryKey("1");//.getWaterListByArmMeter();
-            String clock1 = DateUtils.dateStr(new Date(),"yyyy-MM-dd HH:mm:ss");
-            String clock2 = DateUtils.dateStr(new Date(),"yyyy-MM-dd HH:mm:ss");
-            HashMap<String,Object> hashMap = new HashMap<String,Object>();
-            hashMap.put("clock1",clock1);
-            hashMap.put("clock2",clock2);
-            try {
-                addSize += emsWaterRealtimeMapper.insertWaterTenMinutes(hashMap);
-            } catch (Exception e) {
-                logger.error("主键已存在");
-            } finally {
-                List<EmsWaterRealtime> emsWaterRealtimeList = emsWaterRealtimeMapper.getWaterTenMinutes();
-                StringBuffer sub = new StringBuffer();
-                String table="EMS_WATER_TIMING";
-                String[] tens;
-                String tag;
-                String sql;
-                for (EmsWaterRealtime emsWaterRealtime : emsWaterRealtimeList){
-                    i++;
-                    tens = emsWaterRealtime.getmType().split("\\.");
-                    tag = tens[1];
-                    //多个表生成数据就填加table;
-                    table = tens[0];
-                    sql = ","+tag + " = " + "'" + emsWaterRealtime.getSumvalue() + "'";
-                    sub.append(sql);
-                }
-                clock2 = DateUtils.dateStr(new Date(),"yyyy-MM-dd HH:mm:ss");
-                hashMap.put("table",table);
-                hashMap.put("clock2",clock2);
-                hashMap.put("sql",sub.toString());
-                updateSize += emsWaterRealtimeMapper.updateWaterTenMinutes(hashMap);
-            }
-        } catch (Exception e) {
-            e.printStackTrace();
-        } finally {
-        }
-        logger.info("本次总共新增水数据条数:" + addSize);
-        logger.info("本次总共更新水数据条数:" + updateSize+";总共更新数据项"+i);
+        //int addSize = 0;
+        //int updateSize = 0;
+        //int i = 0;
+        //try {
+        //    EmsWaterRealtime model;
+        //    // emsWaterRealtimeMapper.selectByPrimaryKey("1");//.getWaterListByArmMeter();
+        //    String clock1 = DateUtils.dateStr(new Date(),"yyyy-MM-dd HH:mm:ss");
+        //    String clock2 = DateUtils.dateStr(new Date(),"yyyy-MM-dd HH:mm:ss");
+        //    HashMap<String,Object> hashMap = new HashMap<String,Object>();
+        //    hashMap.put("clock1",clock1);
+        //    hashMap.put("clock2",clock2);
+        //    try {
+        //        addSize += emsWaterRealtimeMapper.insertWaterTenMinutes(hashMap);
+        //    } catch (Exception e) {
+        //        logger.error("主键已存在");
+        //    } finally {
+        emsWaterToMeterRelation = emsWaterRealtimeMapper.getWaterTenMinutes();
+        //        StringBuffer sub = new StringBuffer();
+        //        String table="EMS_WATER_TIMING";
+        //        String[] tens;
+        //        String tag;
+        //        String sql;
+        //        for (EmsWaterRealtime emsWaterRealtime : emsWaterToMeterRelation){
+        //            i++;
+        //            tens = emsWaterRealtime.getmType().split("\\.");
+        //            tag = tens[1];
+        //            //多个表生成数据就填加table;
+        //            table = tens[0];
+        //            sql = ","+tag + " = " + "'" + emsWaterRealtime.getSumvalue() + "'";
+        //            sub.append(sql);
+        //        }
+        //        clock2 = DateUtils.dateStr(new Date(),"yyyy-MM-dd HH:mm:ss");
+        //        hashMap.put("table",table);
+        //        hashMap.put("clock2",clock2);
+        //        hashMap.put("sql",sub.toString());
+        //        updateSize += emsWaterRealtimeMapper.updateWaterTenMinutes(hashMap);
+        //    }
+        //} catch (Exception e) {
+        //    e.printStackTrace();
+        //} finally {
+        //}
+        //logger.info("本次总共新增水数据条数:" + addSize);
+        //logger.info("本次总共更新水数据条数:" + updateSize+";总共更新数据项"+i);
         //return addSize+updateSize;
     }
 
@@ -197,86 +218,324 @@ public class EmsWaterRealtimeServiceImpl extends BaseServiceImpl<EmsWaterRealtim
         });
         // Close
         MosaicUtils.SetCloseConnSample();
-        //for(EmsWaterRealtime emswater:emsWaterRealtimeList) {
-        //    //Equip:Desig='11KV变电站' and Quantity:Name='累计流量'
-        //    if(emswater.getMosaicid()==null||"".equals(emswater.getMosaicid()))
-        //    {
-        //        continue;
-        //    }
-        //   sql.append(emswater.getSumvalue());
-        //   sql.append(emswater.getMosaicid());
-        //    ="update Ana set Eng='"+emswater.getSumvalue()+"' where Equip="+emswater.getMosaicid()+"";
-        //   switch (emswater.getmType()){
-        //       case "SS":
-        //           sql+=" AND Quantity="+SS+"";
-        //       break;
-        //       case "YL":
-        //           sql+=" AND Quantity="+YL+"";
-        //       break;
-        //       default:
-        //           sql+=" AND Quantity="+LJ+"";
-        //       break;
-        //    }
-        //    // Update
-        //    MosaicUtils.SetUpdateValue(sql.toString());
-        //}
     }
 
-    //private static void SetOpenConnSample(MswebserviceStub stub) {
-    //    try {
-    //        MswebserviceStub.WSConnectOpen openReq = new MswebserviceStub.WSConnectOpen();
-    //        MswebserviceStub.WSConnectOpenResponse openResp = null;
-    //        // Open
-    //        openReq.setUserInfo(userInfo);
-    //
-    //        openResp = stub.wSConnectOpen(openReq);
-    //        System.out.println("打开mosaic链接成功");
-    //        // Save UserID
-    //        userInfo.setMUserID(openResp.getId());
-    //
-    //    } catch (RemoteException e) {
-    //        // TODO Auto-generated catch block
-    //        e.printStackTrace();
-    //        System.out.println("打开mosaic链接失败");
-    //    }
-    //
-    //}
+    /**
+     * 四个小时读取一次大用户水系统数据
+     */
+    @Override
+    @TargetDataSource(dataSourceKey = DataSourceKey.DB_OTHER)
+    public void getWaterHour() {
+        if(!emsWaterToMeterRelation.equals(null) && emsWaterToMeterRelation.size()>0){
+            int addSize = 0;
+            int updateSize = 0;
+            int i = 0;
+            int size =emsWaterToMeterRelation.size();
+            Calendar cal = Calendar.getInstance();
+            //整点5个小时前
+            cal.add(Calendar.HOUR_OF_DAY, -5);
+            String clock5 = new SimpleDateFormat("yyyy-MM-dd HH").format(cal.getTime());
+            // 整点4小时前
+            cal.add(Calendar.HOUR_OF_DAY, 1);
+            String clock4 = new SimpleDateFormat("yyyy-MM-dd HH").format(cal.getTime());
+            //// 2小时前
+            cal.add(Calendar.HOUR_OF_DAY, 2);
+            String clock2 = new SimpleDateFormat("yyyy-MM-dd HH").format(cal.getTime());
+            // 1小时前
+            cal.add(Calendar.HOUR_OF_DAY, 1);
+            String clock1 = new SimpleDateFormat("yyyy-MM-dd HH").format(cal.getTime());
+            // 当前小时保留10分钟
+            cal.add(Calendar.HOUR_OF_DAY, 1);
+            String clock = new SimpleDateFormat("yyyy-MM-dd HH:mm").format(cal.getTime());
+            // 24小时前
+            cal.add(Calendar.DAY_OF_YEAR, -1);
+            String clock24 = new SimpleDateFormat("yyyy-MM-dd HH").format(cal.getTime());
+            HashMap<String,Object> historyMap = new HashMap<>(8);
+            String[] tens;
+            StringBuffer codes = new StringBuffer();
+            String tags;
+            StringBuffer whens = new StringBuffer();
+            List<String> tagList = new ArrayList<>(size-1);
+            List<String> codeList = new ArrayList<>(size-1);
+            for (EmsWaterRealtime emsWaterRealtime : emsWaterToMeterRelation){
+                tens = emsWaterRealtime.getmType().split("\\.");
+                whens.append(" when '");
+                whens.append(emsWaterRealtime.getAddresscode());
+                whens.append("' then '");
+                whens.append(tens[1]);
+                whens.append("'");
+                tagList.add(tens[1]);
+                codeList.add(emsWaterRealtime.getAddresscode());
+            }
+            codes.append("'");
+            codes.append(codeList.toString().replaceAll("(?:\\[|null|\\]| +)", "")
+                    .replaceAll(",","','"));
+            codes.append("'");
+            tags = tagList.toString().replaceAll("(?:\\[|null|\\]| +)", "");
+            historyMap.put("whens",whens.toString());
+            historyMap.put("clock4",clock4);
+            historyMap.put("clock",clock);
+            historyMap.put("codes", codes.toString());
+            historyMap.put("tags", tags);
+            emsWAiHourSumTab1s = emsWAiHourSumTab1Mapper.getHistoryData(historyMap);
+            emsWAiHourSumTab1Orgs = emsWAiHourSumTab1OrgMapper.getHistoryDataOrg(historyMap);
+        }
+    }
+
+    @Override
+    public void getWaterHour(String clock, String clock2) {
+        if(!emsWaterToMeterRelation.equals(null) && emsWaterToMeterRelation.size()>0){
+            int i = 0;
+            int size =emsWaterToMeterRelation.size();
+            HashMap<String,Object> historyMap = new HashMap<String,Object>(8);
+            String[] tens;
+            StringBuffer codes = new StringBuffer();
+            String tags;
+            StringBuffer whens = new StringBuffer();
+            List<String> tagList = new ArrayList<>(size-1);
+            List<String> codeList = new ArrayList<>(size-1);
+            for (EmsWaterRealtime emsWaterRealtime : emsWaterToMeterRelation){
+                tens = emsWaterRealtime.getmType().split("\\.");
+                whens.append(" when '");
+                whens.append(emsWaterRealtime.getAddresscode());
+                whens.append("' then '");
+                whens.append(tens[1]);
+                whens.append("'");
+                tagList.add(tens[1]);
+                codeList.add(emsWaterRealtime.getAddresscode());
+            }
+            codes.append("'");
+            codes.append(codeList.toString().replaceAll("(?:\\[|null|\\]| +)", "")
+                    .replaceAll(",","','"));
+            codes.append("'");
+            tags = tagList.toString().replaceAll("(?:\\[|null|\\]| +)", "");
+            historyMap.put("whens",whens.toString());
+            historyMap.put("clock4",clock);
+            historyMap.put("clock",clock2);
+            historyMap.put("codes", codes.toString());
+            historyMap.put("tags", tags);
+            emsWAiHourSumTab1s = emsWAiHourSumTab1Mapper.getHistoryData(historyMap);
+            emsWAiHourSumTab1Orgs = emsWAiHourSumTab1OrgMapper.getHistoryDataOrg(historyMap);
+        }
+    }
 
-    //// 更新点的值
-    //private static void SetUpdateValue(MswebserviceStub stub,String sql) {
-    //    // 0x0002:5365:2e
-    //    MswebserviceStub.DataResult queryData = new MswebserviceStub.DataResult();
-    //
-    //    try {
-    //
-    //        //String sql = "update Ana set(Eng,User)=(100,0x0002:5365:2e) where AltId='PUMP1_SPEED' ";
-    //        // Dig表为 update Dig set(Cs,User)=(1,0x0002:5365:2e) update Ana set Eng='1812482' where Equip='0x06f4:0bfe:1e' AND Quantity='0x006a:489c:22'
-    //
-    //        userInfo.setComText(sql);
-    //        MswebserviceStub.WSQueryExecute query = new MswebserviceStub.WSQueryExecute();
-    //        query.setUserInfo(userInfo);
-    //        queryData = stub.wSQueryExecute(query);
-    //        //System.out.println(queryData.getData());
-    //
-    //    } catch (RemoteException e) {
-    //        // TODO Auto-generated catch block
-    //        e.printStackTrace();
-    //    }
-    //}
+    /**
+     * 四个小时读取一次大用户水系统数据到小时表
+     */
+    @Override
+    public void getHistoryWaterToHour() {
+        //反射使用
+        Object o;
+        String varName;
+        boolean accessFlag=false;
+        Field[] fields;
+        //赋值使用
+        String sql;
+        Double val = 0d;
+        BigDecimal tab_val5 = BigDecimal.ZERO;
+        BigDecimal org_val5 = BigDecimal.ZERO;
+        //存储5小时前的值,禁止循环读取数据
+        Integer j =0;
+        Double [] val5s = new Double[0];
+        String [] clock5s = new String[0];
+        Calendar cal = Calendar.getInstance();
+        Calendar cal5 = Calendar.getInstance();
+        //当前小时
+        String clock = new SimpleDateFormat("yyyy-MM-dd HH").format(cal.getTime());
+        //当前整点5个小时前
+        cal.add(Calendar.HOUR_OF_DAY, -5);
+        String clock5 = new SimpleDateFormat("yyyy-MM-dd HH").format(cal.getTime());
+        //异常处理使用
+        TRmCalpointExValue tce;
+        try{
+        if(!emsWAiHourSumTab1Orgs.equals(null)&&emsWAiHourSumTab1Orgs.size()>0){
+        for(EmsWAiHourSumTab1 model : emsWAiHourSumTab1s) {
+            fields = model.getClass().getDeclaredFields();
+            for(int i = 0, len = fields.length; i < len; i++) {
+                // 对于每个属性,获取属性名
+                varName = fields[i].getName().trim();
+                try {
+                    // 获取原来的访问控制权限
+                    accessFlag = fields[i].isAccessible();
+                    // 修改访问控制权限
+                    fields[i].setAccessible(true);
+                    try {
+                        // 获取在对象f中属性fields[i]对应的对象中的变量
+                        o = fields[i].get(model);
+                        if("class java.lang.Double".equals(fields[i].getGenericType().toString())){
+                            //Method m = model.getClass().getMethod("get"+name);
+                            //Double value = (Double) m.invoke(model);
+                            if(o != null){
+                                //val=new BigDecimal(String.valueOf((Double) o));
+                                //fields[i].set(model,val.setScale(1, RoundingMode.HALF_UP).doubleValue());
+                            } else {
+                                tce = new TRmCalpointExValue();
+                                tce.setItemid(varName);
+                                // 准点值错误
+                                tce.setExtype("3");
+                                tce.setClock(clock);
+                                tce.setCreatetime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")
+                                        .format(new Date()));
+                                tce.setBz("准点用量值读取失败,clock:" + clock + ",col:" + varName + ",table:"
+                                        + model.getClass().getName());
+                                tRmCalpointExValueService.add(tce);
+                                //用量直接赋值0
+                                val=0d;
+                                fields[i].set(model,val);
+                                //if(val5s[i].equals(BigDecimal.ZERO)){
 
-    //// 关闭mosaic链接
-    //private static void SetCloseConnSample(MswebserviceStub stub) {
-    //    MswebserviceStub.WSConnectClose closeReq = new MswebserviceStub.WSConnectClose();
-    //    closeReq.setUserInfo(userInfo);
-    //    try {
-    //        stub.wSConnectClose(closeReq);
-    //        userInfo = null;
-    //        System.out.println("关闭mosaic链接成功");
-    //    } catch (RemoteException e) {
-    //        // TODO Auto-generated catch block
-    //        e.printStackTrace();
-    //    }
-    //}
+                                //logger.error("准点数据查询失败,clock:" + clock);
+                                // 当前小时准点值 用量直接赋值0
+                                //sql = "select " + varName + " from  EMS_W_AI_HOUR_SUM_TAB1 where CLOCK = '" + clock5+"'" ;
+                                //try {
+                                //    tab_val5 = jdbcTemplate.queryForObject(sql, BigDecimal.class);
+                                //    val5s[i]=tab_val5.setScale(0, RoundingMode.DOWN);
+                                //    val = tab_val5;
+                                //} catch (Exception e){
+                                //    val=BigDecimal.ZERO;
+                                //    tce.setItemid(varName);
+                                //    // 准点值错误
+                                //    tce.setExtype("11");
+                                //    tce.setClock(clock5);
+                                //    tce.setCreatetime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")
+                                //            .format(new Date()));
+                                //    tce.setBz("5小时前准点用量值读取失败,clock:" + clock + ",col:" + varName + ",table:"
+                                //            + model.getClass().getName());
+                                //    tRmCalpointExValueService.add(tce);
+                                //}
+                                //} else {
+                                //    val = val5s[i];
+                                //}
+                            }
+                        }
+                        //System.err.println("传入的对象中包含一个如下的变量:" + varName + " = " + o);
+                    } catch (IllegalAccessException e) {
+                        // TODO Auto-generated catch block
+                        e.printStackTrace();
+                    } finally {
+                        // 恢复访问控制权限
+                        fields[i].setAccessible(accessFlag);
+                    }
+                } catch (IllegalArgumentException ex) {
+                    ex.printStackTrace();
+                }
+            }
+            if(emsWAiHourSumTab1Mapper.updateByPrimaryKeySelective(model)==0){
+                emsWAiHourSumTab1Mapper.insertSelective(model);
+            }
+        }
+        }
+        if(!emsWAiHourSumTab1Orgs.equals(null)&&emsWAiHourSumTab1Orgs.size()>0){
+            clock5s=new String[emsWAiHourSumTab1Orgs.size()];
+            for(EmsWAiHourSumTab1Org model : emsWAiHourSumTab1Orgs) {
+                fields = model.getClass().getDeclaredFields();
+                for(int i = 0, len = fields.length; i < len; i++) {
+                    if(val5s.length==0){
+                        val5s=new Double[fields.length];
+                        Arrays.fill(val5s,0.0d);
+                    }
+                    // 对于每个属性,获取属性名
+                    varName = fields[i].getName().trim();
+                    try {
+                        // 获取原来的访问控制权限
+                        accessFlag = fields[i].isAccessible();
+                        // 修改访问控制权限
+                        fields[i].setAccessible(true);
+                        try {
+                            // 获取在对象f中属性fields[i]对应的对象中的变量
+                            o = fields[i].get(model);
+                            if(i==0){
+                                clock5s[j]=o.toString();
+                            }
+                            if("class java.lang.Double".equals(fields[i].getGenericType().toString().trim())){
+                                //Method m = model.getClass().getMethod("get"+name);
+                                //Double value = (Double) m.invoke(model);
+                                if(o != null){
+                                    //val=new BigDecimal(String.valueOf(o));
+                                    //fields[i].set(model,val.setScale(1, RoundingMode.HALF_UP).doubleValue());
+                                } else {
+                                    // 准点值错误
+                                    tce = new TRmCalpointExValue();
+                                    tce.setItemid(varName);
+                                    tce.setExtype("3");
+                                    tce.setClock(clock);
+                                    tce.setCreatetime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")
+                                            .format(new Date()));
+                                    tce.setBz("准点仪表值读取失败,获取5小时前数据clock:" + clock + ",col:" + varName
+                                            + ",table:" + model.getClass().getName());
+                                    tRmCalpointExValueService.add(tce);
+                                    //logger.error("准点数据查询失败,clock:" + clock);
+                                    if(val5s[i]==(0.0d)) {
+                                        // 5小时前准点值,当前小时
+                                        clock5s[j]+=":00:00";
+                                        cal5.setTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(clock5s[j]));
+                                        //上个小时
+                                        cal5.add(Calendar.HOUR_OF_DAY, -1);
+                                        clock5 = new SimpleDateFormat("yyyy-MM-dd HH").format(cal.getTime());
+                                        sql = "select " + varName + " from  EMS_W_AI_HOUR_SUM_TAB1_ORG where CLOCK = '" + clock5 + "'";
+                                        try {
+                                            val5s[i] = jdbcTemplate.queryForObject(sql, Double.class);
+                                            val = val5s[i];
+                                        } catch (Exception e) {
+                                            val = 0d;
+                                            tce = new TRmCalpointExValue();
+                                            tce.setItemid(varName);
+                                            // 准点值错误
+                                            tce.setExtype("11");
+                                            tce.setClock(clock5);
+                                            tce.setCreatetime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")
+                                                    .format(new Date()));
+                                            tce.setBz("5小时前准点仪表值读取失败,clock:" + clock + ",col:" + varName + ",table:"
+                                                    + model.getClass().getName());
+                                            tRmCalpointExValueService.add(tce);
+                                        }
+                                    } else {
+                                       val=val5s[i];
+                                    }
+                                    fields[i].set(model,val);
+                                }
+                            }
+                            //System.err.println("传入的对象中包含一个如下的变量:" + varName + " = " + o);
+                        } catch (IllegalAccessException e) {
+                            // TODO Auto-generated catch block
+                            e.printStackTrace();
+                        } finally {
+                            // 恢复访问控制权限
+                            fields[i].setAccessible(accessFlag);
+                        }
+                    } catch (IllegalArgumentException ex) {
+                        ex.printStackTrace();
+                    }
+                }
+                if(emsWAiHourSumTab1OrgMapper.updateByPrimaryKeySelective(model)==0){
+                    emsWAiHourSumTab1OrgMapper.insertSelective(model);
+                }
+                j++;
+            }
+        }
+        if(emsWAiHourSumTab1Orgs.size()==0||emsWAiHourSumTab1s.size()==0){
+            tce = new TRmCalpointExValue();
+            tce.setItemid("数据传输错误");
+            // 准点值错误
+            tce.setExtype("12");
+            tce.setClock(clock);
+            tce.setCreatetime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")
+                    .format(new Date()));
+            tce.setBz("数据传输错误,无数据;请联系管理员");
+            tRmCalpointExValueService.add(tce);
+        }
+        } catch (Exception e) {
+            tce = new TRmCalpointExValue();
+            tce.setItemid("数据传输错误");
+            // 准点值错误
+            tce.setExtype("12");
+            tce.setClock(clock);
+            tce.setCreatetime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")
+                    .format(new Date()));
+            tce.setBz("数据传输错误,无数据;请联系管理员");
+            tRmCalpointExValueService.add(tce);
+        }
+    }
 
     @Autowired
     IFormulaService formulaService;

+ 1 - 0
src/main/java/com/steerinfo/ems/trmcalpoint/service/ITRmCalpointService.java

@@ -92,6 +92,7 @@ public interface ITRmCalpointService extends IBaseService<TRmCalpoint, String>{
 	
 	/**
 	 * 动力、水小时表定时统计(自动补全24小时内的小时用量值)
+	 * 业务变更,只读取动力
 	 *  
 	 * @param date 统计时间
 	 */

+ 8 - 3
src/main/java/com/steerinfo/ems/trmcalpoint/service/impl/TRmCalpointServiceImpl.java

@@ -308,12 +308,15 @@ public class TRmCalpointServiceImpl extends BaseServiceImpl<TRmCalpoint, String>
     @Override
     /**
      *  动力、水小时表定时统计(自动补全24小时内的小时用量值)
+     *  业务变更,暂时只读取动力
      */
     public void statHourData() {
         Map<String, Object> m = new HashMap<String, Object>();
         m.put("useflag", "1");
         m.put("itemtype", "AUTO");
-        m.put("energytypeid", "'P','W'");
+        //m.put("energytypeid", "'P','W'");
+        //业务变更,暂时只读取动力
+        m.put("energytypeid", "'P'");
         List<TRmCalpoint> l = tRmCalpointMapper.selectLikeByParameters(m);
         int size = 0;
         if (l != null && l.size() > 0) {
@@ -478,7 +481,9 @@ public class TRmCalpointServiceImpl extends BaseServiceImpl<TRmCalpoint, String>
         Map<String, Object> m = new HashMap<String, Object>();
         m.put("useflag", "1");
         m.put("itemtype", "AUTO");
-        m.put("energytypeid", "'P','W'");
+        //m.put("energytypeid", "'P','W'");
+        //业务变更,暂时只读取动力
+        m.put("energytypeid", "'P'");
         List<TRmCalpoint> l = tRmCalpointMapper.selectLikeByParameters(m);
         int size = 0;
         if (l != null && l.size() > 0) {
@@ -1083,7 +1088,7 @@ public class TRmCalpointServiceImpl extends BaseServiceImpl<TRmCalpoint, String>
 
     @Override
     /**
-     *  补全水数据
+     *  从十分钟补全水数据,弃用
      */
     public void resData(String clockstart,String itemId) {
         Map<String, Object> m = new HashMap<String, Object>();

+ 1 - 2
src/main/java/com/steerinfo/ems/trmcalpointvalue/controller/TRmCalpointValueController.java

@@ -492,8 +492,7 @@ public class TRmCalpointValueController extends BaseRESTfulController {
 			if(!itemid.startsWith("'")){
 				itemid = "'" + itemid.replaceAll(",", "','").replaceAll(",", "','") + "'";
 			}
-			//parmas.put("itemid", itemid);
-			tRmCalpointService.resData(clocke,itemid);
+			tRmCalpointValueService.resWData(clock,clocke);
 		}
 
 		return success();

+ 9 - 4
src/main/java/com/steerinfo/ems/trmcalpointvalue/service/ITRmCalpointValueService.java

@@ -1,16 +1,14 @@
 package com.steerinfo.ems.trmcalpointvalue.service;
 
+import com.steerinfo.ems.trmcalpoint.model.TRmCalpoint;
+import com.steerinfo.ems.trmcalpointvalue.model.TRmCalpointValue;
 import com.steerinfo.framework.service.IBaseService;
-import com.steerinfo.framework.service.pagehelper.PageList;
 
 import java.util.Date;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
-import com.steerinfo.ems.trmcalpoint.model.TRmCalpoint;
-import com.steerinfo.ems.trmcalpointvalue.model.TRmCalpointValue;
-
 /**
  * TRmCalpointValue服务接口:
  * @author generator
@@ -96,4 +94,11 @@ public interface ITRmCalpointValueService extends IBaseService<TRmCalpointValue,
      * @return
      */
     Double getSumvalue(HashMap<String,Object> params);
+
+    /**
+     * 水数据从大用户读取
+     * @param clock 开始时间
+     * @param clock2 结束时间
+     */
+    void resWData(String clock,String clock2);
 }

+ 20 - 14
src/main/java/com/steerinfo/ems/trmcalpointvalue/service/impl/TRmCalpointValueServiceImpl.java

@@ -1,13 +1,11 @@
 package com.steerinfo.ems.trmcalpointvalue.service.impl;
 
-import com.steerinfo.framework.mapper.IBaseMapper;
-import com.steerinfo.framework.service.impl.BaseServiceImpl;
-import com.steerinfo.ems.trmcalpointvalue.model.TRmCalpointValue;
 import com.steerinfo.auth.utils.JwtUtil;
 import com.steerinfo.ems.cordasconfiguration.mapper.CordasConfigurationMapper;
 import com.steerinfo.ems.cordasconfiguration.model.CordasConfiguration;
 import com.steerinfo.ems.emscalpointvalue.mapper.EmsCalpointValueMapper;
 import com.steerinfo.ems.emscalpointvalue.model.EmsCalpointValue;
+import com.steerinfo.ems.emswaterrealtime.service.IEmsWaterRealtimeService;
 import com.steerinfo.ems.formula.service.IFormulaService;
 import com.steerinfo.ems.mesemsdieseloil.service.IMesEmsDieseloilService;
 import com.steerinfo.ems.trmcalpoint.mapper.TRmCalpointMapper;
@@ -15,18 +13,10 @@ import com.steerinfo.ems.trmcalpoint.model.TRmCalpoint;
 import com.steerinfo.ems.trmcalpointexvalue.model.TRmCalpointExValue;
 import com.steerinfo.ems.trmcalpointexvalue.service.ITRmCalpointExValueService;
 import com.steerinfo.ems.trmcalpointvalue.mapper.TRmCalpointValueMapper;
+import com.steerinfo.ems.trmcalpointvalue.model.TRmCalpointValue;
 import com.steerinfo.ems.trmcalpointvalue.service.ITRmCalpointValueService;
-
-import java.math.BigDecimal;
-import java.text.ParseException;
-import java.text.SimpleDateFormat;
-import java.util.ArrayList;
-import java.util.Calendar;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
+import com.steerinfo.framework.mapper.IBaseMapper;
+import com.steerinfo.framework.service.impl.BaseServiceImpl;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -34,6 +24,11 @@ import org.springframework.dao.DataAccessException;
 import org.springframework.jdbc.core.JdbcTemplate;
 import org.springframework.stereotype.Service;
 
+import java.math.BigDecimal;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.*;
+
 /**
  * TRmCalpointValue服务实现:
  * @author generator
@@ -76,6 +71,9 @@ public class TRmCalpointValueServiceImpl extends BaseServiceImpl<TRmCalpointValu
     @Autowired
     IMesEmsDieseloilService mesEmsDieseloilService;
 
+	@Autowired
+	IEmsWaterRealtimeService emsWaterRealtimeService;
+
     @Override
     protected IBaseMapper<TRmCalpointValue, HashMap<String, Object>> getMapper() {
         return tRmCalpointValueMapper;
@@ -1089,4 +1087,12 @@ public class TRmCalpointValueServiceImpl extends BaseServiceImpl<TRmCalpointValu
     public Double getSumvalue(HashMap<String, Object> params) {
         return tRmCalpointValueMapper.getSumvalue(params);
     }
+
+	@Override
+	public void resWData(String clock, String clock2) {
+		//水计量点统计
+		emsWaterRealtimeService.getWaterTenMinutes();
+		emsWaterRealtimeService.getWaterHour(clock,clock2);
+		emsWaterRealtimeService.getHistoryWaterToHour();
+	}
 }

+ 46 - 43
src/main/java/com/steerinfo/task/SpringCronTask.java

@@ -216,29 +216,29 @@ public class SpringCronTask implements SchedulingConfigurer{
 //				}
 //				if (taskId.equalsIgnoreCase("101")) { // 定时任务1的业务处理-MES数据同步
 //					logger.info("定时任务触发时间:" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));
-//					long start = new Date().getTime();
+//					long start = System.currentTimeMillis();
 //					ifMesEmsSwapfileService.synchronousMesAnEmsData(); // 获取MES投入产出数据
 //					ifMesEmsProductorderService.synchronousMesAnEmsData(); // 获取MES生产计划数据
 //					//usageDataService.getAutoSum(DateUtils.dateStr(new Date(start - 24*3600*1000L), "yyyy-MM-dd")); // 统计自动上传的能源上报数据(昨日)
 //					//mesEmsDieseloilService.synchronousMesEmsData(); // 获取MES柴油数据
-//					logger.info("定时任务"+taskId+"执行时长:" + (new Date().getTime() - start)/1000 + "秒");
+//					logger.info("定时任务"+taskId+"执行时长:" + (System.currentTimeMillis() - start)/1000 + "秒");
 //				} else if (taskId.equalsIgnoreCase("102")) {
 //					// 计量点定时任务
-//					long start = new Date().getTime();
+//					long start = System.currentTimeMillis();
 //					tRmCalpointValueService.statData(new Date());
-//					logger.info("定时任务"+taskId+"执行时长:" + (new Date().getTime() - start)/1000 + "秒");
+//					logger.info("定时任务"+taskId+"执行时长:" + (System.currentTimeMillis() - start)/1000 + "秒");
 //				} else if (taskId.equalsIgnoreCase("103")) {
-//					long start = new Date().getTime();
+//					long start = System.currentTimeMillis();
 //					tRmActValueService.statDataforDay();// 每日数据统计(实绩定时任务)
-//					logger.info("定时任务"+taskId+"执行时长:" + (new Date().getTime() - start)/1000 + "秒");
+//					logger.info("定时任务"+taskId+"执行时长:" + (System.currentTimeMillis() - start)/1000 + "秒");
 //				} else if (taskId.equalsIgnoreCase("104")) {
-//					long start = new Date().getTime();
+//					long start = System.currentTimeMillis();
 //					tRmPlanValueService.state();// 每日数据统计(计划定时任务)
-//					logger.info("定时任务"+taskId+"执行时长:" + (new Date().getTime() - start)/1000 + "秒");
+//					logger.info("定时任务"+taskId+"执行时长:" + (System.currentTimeMillis() - start)/1000 + "秒");
 //				}
 				 if (taskId.equalsIgnoreCase("105")) {
 					// 先计算产品,因为原材料计算单耗需要产品实绩数据参与计算
-					long start = new Date().getTime();
+					long start = System.currentTimeMillis();
 					ifMesEmsSwapfileService.getLgDateProd();
 					try {
 						ifMesEmsSwapfileService.getLgDateProd2();
@@ -247,20 +247,20 @@ public class SpringCronTask implements SchedulingConfigurer{
 					}
 					tRmWorkprocProductValueService.setDate(new Date()); // 产品实绩产量、产品计划数据维护
 					tRmWorkprocMaterialValueService.setDate(new Date()); // 原材料数据维护
-					logger.info("定时任务"+taskId+"执行时长:" + (new Date().getTime() - start)/1000 + "秒");
+					logger.info("定时任务"+taskId+"执行时长:" + (System.currentTimeMillis() - start)/1000 + "秒");
 				}
 				else if (taskId.equalsIgnoreCase("119")) {
-					 long start = new Date().getTime();
+					 long start = System.currentTimeMillis();
 					  bfhydService.getBfhyds();
 					 try {
 						 tCm0348Service.getDate();
 					 } catch (ParseException e) {
 						 e.printStackTrace();
 					 }
-					 logger.info("定时任务"+taskId+"执行时长:" + (new Date().getTime() - start)/1000 + "秒");
+					 logger.info("定时任务"+taskId+"执行时长:" + (System.currentTimeMillis() - start)/1000 + "秒");
 				 }
 				 else if (taskId.equalsIgnoreCase("122")) {
-					 long start = new Date().getTime();
+					 long start = System.currentTimeMillis();
 					 tCm0318Service.getDataAsLg(DateUtils.getDate());
 					 tCm0318Service.getDataAsYlc(DateUtils.getDate());
 					 tCm0318Service.getDataAsYgx(DateUtils.getDate());
@@ -268,37 +268,40 @@ public class SpringCronTask implements SchedulingConfigurer{
 					 tCm0318Service.getDataAsFdc(DateUtils.getDate());
 					 tCm0318Service.getDataAsJjc(DateUtils.getDate());
 					 tCm0318Service.getDataAsWscj(DateUtils.getDate());
-					 logger.info("定时任务"+taskId+"执行时长:" + (new Date().getTime() - start)/1000 + "秒");
+					 logger.info("定时任务"+taskId+"执行时长:" + (System.currentTimeMillis() - start)/1000 + "秒");
 				}
 				 else if(taskId.equalsIgnoreCase("120")){
+					 long start = System.currentTimeMillis();
 					 // 获取大用户水系统数据 5分钟一次
-					 long start = new Date().getTime();
 					 emsWaterRealtimeService.getWaterListByArmMeter();
 					 emsWaterRealtimeService.dataGeneration();
-					 logger.info("定时任务"+taskId+"执行时长:" + (new Date().getTime() - start)/1000 + "秒");
+					 logger.info("定时任务"+taskId+"执行时长:" + (System.currentTimeMillis() - start)/1000 + "秒");
 				 } else if(taskId.equalsIgnoreCase("121")){
-					 // 根据计量点配置生成水数据 10分钟一次
-					 long start = new Date().getTime();
-					 emsWaterRealtimeService.getWaterTenMinutes();
+					 // 根据计量点配置生成水数据 10分钟一次,暂时弃用,只保留传输到mosaic
+					 long start = System.currentTimeMillis();
 					 try {
 						 emsWaterRealtimeService.getWaterListToMosaic();
 					 } catch (AxisFault e) {
 						 e.printStackTrace();
 					 } finally {
-						 logger.info("定时任务"+taskId+"执行时长:" + (new Date().getTime() - start)/1000 + "秒");
+						 logger.info("定时任务"+taskId+"执行时长:" + (System.currentTimeMillis() - start)/1000 + "秒");
 					 }
 				 }
 				 else if(taskId.equalsIgnoreCase("116")){
-					// 动力、水(计量点)小时表定时统计(自动补全24小时内的小时用量值)
-					long start = new Date().getTime();
+					// 动力、水(计量点)小时表定时统计(自动补全24小时内的小时用量值),已改为只统计动力点位
+					long start = System.currentTimeMillis();
 					tRmCalpointService.statHourData();
-					logger.info("定时任务"+taskId+"执行时长:" + (new Date().getTime() - start)/1000 + "秒");
+					//水计量点统计
+					 emsWaterRealtimeService.getWaterTenMinutes();
+					 emsWaterRealtimeService.getWaterHour();
+					 emsWaterRealtimeService.getHistoryWaterToHour();
+					logger.info("定时任务"+taskId+"执行时长:" + (System.currentTimeMillis() - start)/1000 + "秒");
 				}
 				 else if (taskId.equalsIgnoreCase("102")) {
 					 // 计量点定时任务(天)
-					 long start = new Date().getTime();
+					 long start = System.currentTimeMillis();
 					 tRmCalpointValueService.statData(new Date());
-					 logger.info("定时任务"+taskId+"执行时长:" + (new Date().getTime() - start)/1000 + "秒");
+					 logger.info("定时任务"+taskId+"执行时长:" + (System.currentTimeMillis() - start)/1000 + "秒");
 				 }
 				 else if (taskId.equalsIgnoreCase("123")) {
 					 // 大宗物料收发数据,从炼钢mes调度日报生成生产日报每天(0点57分,4点57分,8点57分)
@@ -308,7 +311,7 @@ public class SpringCronTask implements SchedulingConfigurer{
 					logger.info("定时任务"+taskId+"执行时长:" + (System.currentTimeMillis() - start)/1000 + "秒");
 				} 
 				else if(taskId.equalsIgnoreCase("124")){
-					 long start = new Date().getTime();
+					 long start = System.currentTimeMillis();
 					 try {
 					 	 foldTheValuesService.getData();
 					 	 foldTheValuesService.getDataForwl();
@@ -320,18 +323,18 @@ public class SpringCronTask implements SchedulingConfigurer{
 					 } catch (Exception e) {
 						 e.printStackTrace();
 					 }
-					 logger.info("定时任务"+taskId+"执行时长:" + (new Date().getTime() - start)/1000 + "秒");
+					 logger.info("定时任务"+taskId+"执行时长:" + (System.currentTimeMillis() - start)/1000 + "秒");
 				 }//				 else if (taskId.equalsIgnoreCase("106")) {
 //					// 获取MES水质监测数据
-//					long start = new Date().getTime();
+//					long start = System.currentTimeMillis();
 //					ifMesEmsWatermonitorService.synchronousMesAnEmsData();
 //					// 生成人工录入监测数据
 //					tCm0312Controller.getmanualdata();
-//					logger.info("定时任务"+taskId+"执行时长:" + (new Date().getTime() - start)/1000 + "秒");
+//					logger.info("定时任务"+taskId+"执行时长:" + (System.currentTimeMillis() - start)/1000 + "秒");
 //				} else if (taskId.equalsIgnoreCase("107")) { // 电统计(从南瑞到EMS)
-//					long start = new Date().getTime();
+//					long start = System.currentTimeMillis();
 //					emsETimingSersvice.getData();
-//					logger.info("定时任务"+taskId+"执行时长:" + (new Date().getTime() - start)/1000 + "秒");
+//					logger.info("定时任务"+taskId+"执行时长:" + (System.currentTimeMillis() - start)/1000 + "秒");
 //				} else if (taskId.equalsIgnoreCase("108")) {
 //					// 从IF_MES_EMS_WATERMONITOR表获取水质监测数据到T_CM_0318表
 //					tCm0312Controller.synchronousData();
@@ -342,42 +345,42 @@ public class SpringCronTask implements SchedulingConfigurer{
 //					ifEmsMesActitemService.getUploadData();
 //				} else if (taskId.equalsIgnoreCase("111")) {
 //					// 指标管理数据生成
-//					long start = new Date().getTime();
+//					long start = System.currentTimeMillis();
 //					tRmIndexValueService.statData();
-//					logger.info("定时任务"+taskId+"执行时长:" + (new Date().getTime() - start)/1000 + "秒");
+//					logger.info("定时任务"+taskId+"执行时长:" + (System.currentTimeMillis() - start)/1000 + "秒");
 //				} else if (taskId.equalsIgnoreCase("112")) {
 //					// 能源上报_晋泰信和
 //					usageDataService.autoUpload();
 //				} else if(taskId.equalsIgnoreCase("113")){
 //					//平衡数据维护
-//					long start = new Date().getTime();
+//					long start = System.currentTimeMillis();
 //					tRmBalanceValueService.state();
 //					// 上报项目数据维护
 //					tRmDwValueService.state(new Date());
-//					logger.info("定时任务"+taskId+"执行时长:" + (new Date().getTime() - start)/1000 + "秒");
+//					logger.info("定时任务"+taskId+"执行时长:" + (System.currentTimeMillis() - start)/1000 + "秒");
 //				} else if(taskId.equalsIgnoreCase("114")){
 //					// 环保监控记录定时任务
 //					zghbjkbzLogService.record();
 //				} else if(taskId.equalsIgnoreCase("115")){
 //					// 月初自动生成宾馆转供电记录
-//					long start = new Date().getTime();
+//					long start = System.currentTimeMillis();
 //					tRmTransfereActValueService.createRecord();
-//					logger.info("定时任务"+taskId+"执行时长:" + (new Date().getTime() - start)/1000 + "秒");
+//					logger.info("定时任务"+taskId+"执行时长:" + (System.currentTimeMillis() - start)/1000 + "秒");
 //				} else if(taskId.equalsIgnoreCase("116")){
 //					// 动力、水小时表定时统计(自动补全24小时内的小时用量值)
-//					long start = new Date().getTime();
+//					long start = System.currentTimeMillis();
 //					tRmCalpointService.statHourData();
-//					logger.info("定时任务"+taskId+"执行时长:" + (new Date().getTime() - start)/1000 + "秒");
+//					logger.info("定时任务"+taskId+"执行时长:" + (System.currentTimeMillis() - start)/1000 + "秒");
 //				} else if(taskId.equalsIgnoreCase("117")){
 //					// 财务投入产出数据生成
-//					long start = new Date().getTime();
+//					long start = System.currentTimeMillis();
 //					tRmDfValueService.state(new Date());
-//					logger.info("定时任务"+taskId+"执行时长:" + (new Date().getTime() - start)/1000 + "秒");
+//					logger.info("定时任务"+taskId+"执行时长:" + (System.currentTimeMillis() - start)/1000 + "秒");
 //				} else if(taskId.equalsIgnoreCase("118")){
 //					// 财务投入产出数据MES产量补全
-//					long start = new Date().getTime();
+//					long start = System.currentTimeMillis();
 //					tRmDfValueService.state(new Date());
-//					logger.info("定时任务"+taskId+"执行时长:" + (new Date().getTime() - start)/1000 + "秒");
+//					logger.info("定时任务"+taskId+"执行时长:" + (System.currentTimeMillis() - start)/1000 + "秒");
 //				}
 			}
 		};