|  | @@ -66,10 +66,11 @@ public class EmsWaterRealtimeServiceImpl extends BaseServiceImpl<EmsWaterRealtim
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      //更换数据源使用
 | 
	
		
			
				|  |  | -    List<EmsWaterRealtime> emsWaterRealtimeList;
 | 
	
		
			
				|  |  | -    List<EmsWAiHourSumTab1> emsWAiHourSumTab1s;
 | 
	
		
			
				|  |  | -    List<EmsWAiHourSumTab1Org> emsWAiHourSumTab1Orgs;
 | 
	
		
			
				|  |  | -    List<EmsWaterRealtime>  emsWaterToMeterRelation;
 | 
	
		
			
				|  |  | +    static List<EmsWaterRealtime> emsWaterRealtimeList = new ArrayList<>();
 | 
	
		
			
				|  |  | +    static List<EmsWAiHourSumTab1> emsWAiHourSumTab1s = new ArrayList<>();
 | 
	
		
			
				|  |  | +    static List<EmsWAiHourSumTab1Org> emsWAiHourSumTab1Orgs = new ArrayList<>();
 | 
	
		
			
				|  |  | +    static List<EmsWaterRealtime>  emsWaterToMeterRelation = new ArrayList<>();
 | 
	
		
			
				|  |  | +    static List<TRmCalpointExValue> tRmCalpointExValues = new ArrayList<>();
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      @Override
 | 
	
	
		
			
				|  | @@ -132,50 +133,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 {
 | 
	
		
			
				|  |  | +        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;
 | 
	
		
			
				|  |  | +                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);
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      /***
 | 
	
	
		
			
				|  | @@ -257,8 +257,42 @@ public class EmsWaterRealtimeServiceImpl extends BaseServiceImpl<EmsWaterRealtim
 | 
	
		
			
				|  |  |              StringBuffer whens = new StringBuffer();
 | 
	
		
			
				|  |  |              List<String> tagList = new ArrayList<>(size-1);
 | 
	
		
			
				|  |  |              List<String> codeList = new ArrayList<>(size-1);
 | 
	
		
			
				|  |  | +            // tag存储字段
 | 
	
		
			
				|  |  | +            String tag;
 | 
	
		
			
				|  |  | +            // 存储表
 | 
	
		
			
				|  |  | +            String table;
 | 
	
		
			
				|  |  | +            // 十分钟表字段
 | 
	
		
			
				|  |  | +            String tenvs;
 | 
	
		
			
				|  |  | +            TRmCalpointExValue tRmCalpointExValue;
 | 
	
		
			
				|  |  | +            String exTime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date());
 | 
	
		
			
				|  |  |              for (EmsWaterRealtime emsWaterRealtime : emsWaterToMeterRelation){
 | 
	
		
			
				|  |  | +                // 获取配置
 | 
	
		
			
				|  |  | +                tag = emsWaterRealtime.getmName();
 | 
	
		
			
				|  |  | +                table = emsWaterRealtime.getmUsertype();
 | 
	
		
			
				|  |  | +                tenvs = emsWaterRealtime.getmType();
 | 
	
		
			
				|  |  | +                if (tag == null || table == null || tenvs == null || tag.trim().isEmpty() || table.trim().isEmpty() || tenvs.trim().isEmpty()) {
 | 
	
		
			
				|  |  | +                    tRmCalpointExValue=new TRmCalpointExValue();
 | 
	
		
			
				|  |  | +                    tRmCalpointExValue.setItemid(emsWaterRealtime.getMeterid());
 | 
	
		
			
				|  |  | +                    // 配置错误
 | 
	
		
			
				|  |  | +                    tRmCalpointExValue.setExtype("2");
 | 
	
		
			
				|  |  | +                    tRmCalpointExValue.setClock(clock);
 | 
	
		
			
				|  |  | +                    tRmCalpointExValue.setCreatetime(exTime);
 | 
	
		
			
				|  |  | +                    tRmCalpointExValue.setBz("配置不能为空");
 | 
	
		
			
				|  |  | +                    tRmCalpointExValues.add(tRmCalpointExValue);
 | 
	
		
			
				|  |  | +                    continue;
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  |                  tens = emsWaterRealtime.getmType().split("\\.");
 | 
	
		
			
				|  |  | +                if (tens.length != 2) {
 | 
	
		
			
				|  |  | +                    tRmCalpointExValue = new TRmCalpointExValue();
 | 
	
		
			
				|  |  | +                    tRmCalpointExValue.setItemid(emsWaterRealtime.getMeterid());
 | 
	
		
			
				|  |  | +                    // 配置错误
 | 
	
		
			
				|  |  | +                    tRmCalpointExValue.setExtype("2");
 | 
	
		
			
				|  |  | +                    tRmCalpointExValue.setClock(clock);
 | 
	
		
			
				|  |  | +                    tRmCalpointExValue.setCreatetime(exTime);
 | 
	
		
			
				|  |  | +                    tRmCalpointExValue.setBz("十分钟表字段配置错误");
 | 
	
		
			
				|  |  | +                    tRmCalpointExValues.add(tRmCalpointExValue);
 | 
	
		
			
				|  |  | +                    continue;
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  |                  whens.append(" when '");
 | 
	
		
			
				|  |  |                  whens.append(emsWaterRealtime.getAddresscode());
 | 
	
		
			
				|  |  |                  whens.append("' then '");
 | 
	
	
		
			
				|  | @@ -295,7 +329,42 @@ public class EmsWaterRealtimeServiceImpl extends BaseServiceImpl<EmsWaterRealtim
 | 
	
		
			
				|  |  |              StringBuffer whens = new StringBuffer();
 | 
	
		
			
				|  |  |              List<String> tagList = new ArrayList<>(size-1);
 | 
	
		
			
				|  |  |              List<String> codeList = new ArrayList<>(size-1);
 | 
	
		
			
				|  |  | +            // tag存储字段
 | 
	
		
			
				|  |  | +            String tag;
 | 
	
		
			
				|  |  | +            // 存储表
 | 
	
		
			
				|  |  | +            String table;
 | 
	
		
			
				|  |  | +            // 十分钟表字段
 | 
	
		
			
				|  |  | +            String tenvs;
 | 
	
		
			
				|  |  | +            TRmCalpointExValue tRmCalpointExValue;
 | 
	
		
			
				|  |  | +            String exTime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date());
 | 
	
		
			
				|  |  |              for (EmsWaterRealtime emsWaterRealtime : emsWaterToMeterRelation){
 | 
	
		
			
				|  |  | +                // 获取配置
 | 
	
		
			
				|  |  | +                tag = emsWaterRealtime.getmName();
 | 
	
		
			
				|  |  | +                table = emsWaterRealtime.getmUsertype();
 | 
	
		
			
				|  |  | +                tenvs = emsWaterRealtime.getmType();
 | 
	
		
			
				|  |  | +                if (tag == null || table == null || tenvs == null || tag.trim().isEmpty() || table.trim().isEmpty() || tenvs.trim().isEmpty()) {
 | 
	
		
			
				|  |  | +                    tRmCalpointExValue=new TRmCalpointExValue();
 | 
	
		
			
				|  |  | +                    tRmCalpointExValue.setItemid(emsWaterRealtime.getMeterid());
 | 
	
		
			
				|  |  | +                    // 配置错误
 | 
	
		
			
				|  |  | +                    tRmCalpointExValue.setExtype("2");
 | 
	
		
			
				|  |  | +                    tRmCalpointExValue.setClock(clock);
 | 
	
		
			
				|  |  | +                    tRmCalpointExValue.setCreatetime(exTime);
 | 
	
		
			
				|  |  | +                    tRmCalpointExValue.setBz("配置不能为空");
 | 
	
		
			
				|  |  | +                    tRmCalpointExValues.add(tRmCalpointExValue);
 | 
	
		
			
				|  |  | +                    continue;
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +                tens = emsWaterRealtime.getmType().split("\\.");
 | 
	
		
			
				|  |  | +                if (tens.length != 2) {
 | 
	
		
			
				|  |  | +                    tRmCalpointExValue = new TRmCalpointExValue();
 | 
	
		
			
				|  |  | +                    tRmCalpointExValue.setItemid(emsWaterRealtime.getMeterid());
 | 
	
		
			
				|  |  | +                    // 配置错误
 | 
	
		
			
				|  |  | +                    tRmCalpointExValue.setExtype("2");
 | 
	
		
			
				|  |  | +                    tRmCalpointExValue.setClock(clock);
 | 
	
		
			
				|  |  | +                    tRmCalpointExValue.setCreatetime(exTime);
 | 
	
		
			
				|  |  | +                    tRmCalpointExValue.setBz("十分钟表字段配置错误");
 | 
	
		
			
				|  |  | +                    tRmCalpointExValues.add(tRmCalpointExValue);
 | 
	
		
			
				|  |  | +                    continue;
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  |                  tens = emsWaterRealtime.getmType().split("\\.");
 | 
	
		
			
				|  |  |                  whens.append(" when '");
 | 
	
		
			
				|  |  |                  whens.append(emsWaterRealtime.getAddresscode());
 | 
	
	
		
			
				|  | @@ -349,12 +418,18 @@ public class EmsWaterRealtimeServiceImpl extends BaseServiceImpl<EmsWaterRealtim
 | 
	
		
			
				|  |  |          //异常处理使用
 | 
	
		
			
				|  |  |          TRmCalpointExValue tce;
 | 
	
		
			
				|  |  |          try{
 | 
	
		
			
				|  |  | -        if(!emsWAiHourSumTab1Orgs.equals(null)&&emsWAiHourSumTab1Orgs.size()>0){
 | 
	
		
			
				|  |  | +            //获取用量值数据
 | 
	
		
			
				|  |  | +        if(!emsWAiHourSumTab1s.equals(null)&&emsWAiHourSumTab1s.size()>0){
 | 
	
		
			
				|  |  |          for(EmsWAiHourSumTab1 model : emsWAiHourSumTab1s) {
 | 
	
		
			
				|  |  |              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();
 | 
	
		
			
				|  |  | +                String finalI = varName;
 | 
	
		
			
				|  |  |                  try {
 | 
	
		
			
				|  |  |                      // 获取原来的访问控制权限
 | 
	
		
			
				|  |  |                      accessFlag = fields[i].isAccessible();
 | 
	
	
		
			
				|  | @@ -363,53 +438,60 @@ public class EmsWaterRealtimeServiceImpl extends BaseServiceImpl<EmsWaterRealtim
 | 
	
		
			
				|  |  |                      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())){
 | 
	
		
			
				|  |  |                              //Method m = model.getClass().getMethod("get"+name);
 | 
	
		
			
				|  |  |                              //Double value = (Double) m.invoke(model);
 | 
	
		
			
				|  |  |                              if(o != null){
 | 
	
		
			
				|  |  | +                                // 大于等于0
 | 
	
		
			
				|  |  | +                                //if ((Double) o >= 0) {
 | 
	
		
			
				|  |  | +                                //    //暂时不做判断,水数据四小时一次,等时间间距变小,再做处理
 | 
	
		
			
				|  |  | +                                //    // 数据增加500以上,异常记录
 | 
	
		
			
				|  |  | +                                //    if ((Double) o >= 500) {
 | 
	
		
			
				|  |  | +                                //        // 记录异常数据
 | 
	
		
			
				|  |  | +                                //        tce = gettRmCalpointExValue(clock5s[j],finalI,"8")
 | 
	
		
			
				|  |  | +                                //        // 水数据增大超过最大值
 | 
	
		
			
				|  |  | +                                //        tce.setBefvalue(val2);
 | 
	
		
			
				|  |  | +                                //        tce.setCurvalue(val1);
 | 
	
		
			
				|  |  | +                                //        tce.setClock(ma.get("TIM").toString());
 | 
	
		
			
				|  |  | +                                //        tce.setCreatetime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));
 | 
	
		
			
				|  |  | +                                //        //tce.setBz("十分钟水数据增大超过500,clock:" + clock1 + ",col:" + tenCol + ",table:" + tenTab);
 | 
	
		
			
				|  |  | +                                //        tce.setBz("四小时水数据增大超过500,clock:" + clock1 + ",col:" + tenCol + ",table:" + tenTab);
 | 
	
		
			
				|  |  | +                                //        tRmCalpointExValueService.add(tce);
 | 
	
		
			
				|  |  | +                                //    }//else{
 | 
	
		
			
				|  |  | +                                //    hval = hval.add(tenval);
 | 
	
		
			
				|  |  | +                                //    //}
 | 
	
		
			
				|  |  | +                                //} else {
 | 
	
		
			
				|  |  | +                                //    // 清零处理
 | 
	
		
			
				|  |  | +                                //    if (tenval.doubleValue() < -20d && val2.doubleValue() < 500d) {
 | 
	
		
			
				|  |  | +                                //        hval = hval.add(val2);
 | 
	
		
			
				|  |  | +                                //    }
 | 
	
		
			
				|  |  | +                                //    // 记录异常数据
 | 
	
		
			
				|  |  | +                                //    TRmCalpointExValue tce = new TRmCalpointExValue();
 | 
	
		
			
				|  |  | +                                //    tce.setItemid(itemid);
 | 
	
		
			
				|  |  | +                                //    tce.setExtype("1"); // 十分钟数据变小
 | 
	
		
			
				|  |  | +                                //    tce.setBefvalue(val1);
 | 
	
		
			
				|  |  | +                                //    tce.setCurvalue(val2);
 | 
	
		
			
				|  |  | +                                //    tce.setClock(ma.get("TIM").toString());
 | 
	
		
			
				|  |  | +                                //    tce.setCreatetime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));
 | 
	
		
			
				|  |  | +                                //    tce.setBz("十分钟数据变小,clock:" + clock1 + ",col:" + tenCol + ",table:" + tenTab);
 | 
	
		
			
				|  |  | +                                //    tRmCalpointExValueService.add(tce);
 | 
	
		
			
				|  |  | +                                //}
 | 
	
		
			
				|  |  |                                  //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:"
 | 
	
		
			
				|  |  | +                                // 历史用量值更新失败
 | 
	
		
			
				|  |  | +                                tce = gettRmCalpointExValue(clock5s[j], finalI,"6");
 | 
	
		
			
				|  |  | +                                tce.setBz("准点用量值读取失败,clock:" + clock5s[j] + ",col:" + varName + ",table:"
 | 
	
		
			
				|  |  |                                          + model.getClass().getName());
 | 
	
		
			
				|  |  | -                                tRmCalpointExValueService.add(tce);
 | 
	
		
			
				|  |  | +                                tRmCalpointExValues.add(tce);
 | 
	
		
			
				|  |  |                                  //用量直接赋值0
 | 
	
		
			
				|  |  |                                  val=0d;
 | 
	
		
			
				|  |  |                                  fields[i].set(model,val);
 | 
	
		
			
				|  |  | -                                //if(val5s[i].equals(BigDecimal.ZERO)){
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -                                //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();
 | 
	
	
		
			
				|  | @@ -425,7 +507,9 @@ public class EmsWaterRealtimeServiceImpl extends BaseServiceImpl<EmsWaterRealtim
 | 
	
		
			
				|  |  |                  emsWAiHourSumTab1Mapper.insertSelective(model);
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  | +            val5s = new Double[0];
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  | +        //获取仪表值数据
 | 
	
		
			
				|  |  |          if(!emsWAiHourSumTab1Orgs.equals(null)&&emsWAiHourSumTab1Orgs.size()>0){
 | 
	
		
			
				|  |  |              clock5s=new String[emsWAiHourSumTab1Orgs.size()];
 | 
	
		
			
				|  |  |              for(EmsWAiHourSumTab1Org model : emsWAiHourSumTab1Orgs) {
 | 
	
	
		
			
				|  | @@ -437,6 +521,7 @@ public class EmsWaterRealtimeServiceImpl extends BaseServiceImpl<EmsWaterRealtim
 | 
	
		
			
				|  |  |                      }
 | 
	
		
			
				|  |  |                      // 对于每个属性,获取属性名
 | 
	
		
			
				|  |  |                      varName = fields[i].getName().trim();
 | 
	
		
			
				|  |  | +                    String finalI = varName;
 | 
	
		
			
				|  |  |                      try {
 | 
	
		
			
				|  |  |                          // 获取原来的访问控制权限
 | 
	
		
			
				|  |  |                          accessFlag = fields[i].isAccessible();
 | 
	
	
		
			
				|  | @@ -456,16 +541,10 @@ public class EmsWaterRealtimeServiceImpl extends BaseServiceImpl<EmsWaterRealtim
 | 
	
		
			
				|  |  |                                      //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 = gettRmCalpointExValue(clock, finalI,"3");
 | 
	
		
			
				|  |  |                                      tce.setBz("准点仪表值读取失败,获取5小时前数据clock:" + clock + ",col:" + varName
 | 
	
		
			
				|  |  |                                              + ",table:" + model.getClass().getName());
 | 
	
		
			
				|  |  | -                                    tRmCalpointExValueService.add(tce);
 | 
	
		
			
				|  |  | -                                    //logger.error("准点数据查询失败,clock:" + clock);
 | 
	
		
			
				|  |  | +                                    tRmCalpointExValues.add(tce);
 | 
	
		
			
				|  |  |                                      if(val5s[i]==(0.0d)) {
 | 
	
		
			
				|  |  |                                          // 5小时前准点值,当前小时
 | 
	
		
			
				|  |  |                                          clock5s[j]+=":00:00";
 | 
	
	
		
			
				|  | @@ -479,16 +558,12 @@ public class EmsWaterRealtimeServiceImpl extends BaseServiceImpl<EmsWaterRealtim
 | 
	
		
			
				|  |  |                                              val = val5s[i];
 | 
	
		
			
				|  |  |                                          } catch (Exception e) {
 | 
	
		
			
				|  |  |                                              val = 0d;
 | 
	
		
			
				|  |  | -                                            tce = new TRmCalpointExValue();
 | 
	
		
			
				|  |  | -                                            tce.setItemid(varName);
 | 
	
		
			
				|  |  | -                                            // 准点值错误
 | 
	
		
			
				|  |  | -                                            tce.setExtype("11");
 | 
	
		
			
				|  |  | -                                            tce.setClock(clock5);
 | 
	
		
			
				|  |  | +                                            tce = gettRmCalpointExValue(clock5, finalI,"3");
 | 
	
		
			
				|  |  |                                              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);
 | 
	
		
			
				|  |  | +                                            tRmCalpointExValues.add(tce);
 | 
	
		
			
				|  |  |                                          }
 | 
	
		
			
				|  |  |                                      } else {
 | 
	
		
			
				|  |  |                                         val=val5s[i];
 | 
	
	
		
			
				|  | @@ -523,7 +598,7 @@ public class EmsWaterRealtimeServiceImpl extends BaseServiceImpl<EmsWaterRealtim
 | 
	
		
			
				|  |  |              tce.setCreatetime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")
 | 
	
		
			
				|  |  |                      .format(new Date()));
 | 
	
		
			
				|  |  |              tce.setBz("数据传输错误,无数据;请联系管理员");
 | 
	
		
			
				|  |  | -            tRmCalpointExValueService.add(tce);
 | 
	
		
			
				|  |  | +            tRmCalpointExValues.add(tce);
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          } catch (Exception e) {
 | 
	
		
			
				|  |  |              tce = new TRmCalpointExValue();
 | 
	
	
		
			
				|  | @@ -534,10 +609,35 @@ public class EmsWaterRealtimeServiceImpl extends BaseServiceImpl<EmsWaterRealtim
 | 
	
		
			
				|  |  |              tce.setCreatetime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")
 | 
	
		
			
				|  |  |                      .format(new Date()));
 | 
	
		
			
				|  |  |              tce.setBz("数据传输错误,无数据;请联系管理员");
 | 
	
		
			
				|  |  | -            tRmCalpointExValueService.add(tce);
 | 
	
		
			
				|  |  | +            tRmCalpointExValues.add(tce);
 | 
	
		
			
				|  |  | +        }finally {
 | 
	
		
			
				|  |  | +            tRmCalpointExValueService.batchAdd(tRmCalpointExValues);
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +    private TRmCalpointExValue gettRmCalpointExValue(String clock, String finalI,String type) {
 | 
	
		
			
				|  |  | +        String itemId;
 | 
	
		
			
				|  |  | +        TRmCalpointExValue tce;
 | 
	
		
			
				|  |  | +        itemId = emsWaterToMeterRelation.stream()
 | 
	
		
			
				|  |  | +                .filter(emsWaterToMeter -> finalI.toUpperCase()
 | 
	
		
			
				|  |  | +                        .equals(emsWaterToMeter.getmName().toUpperCase().trim()))
 | 
	
		
			
				|  |  | +                .findFirst()
 | 
	
		
			
				|  |  | +                .orElse(null).getMosaicid();
 | 
	
		
			
				|  |  | +        tce = new TRmCalpointExValue();
 | 
	
		
			
				|  |  | +        tce.setItemid(itemId);
 | 
	
		
			
				|  |  | +        tce.setExtype(type);
 | 
	
		
			
				|  |  | +        tce.setClock(clock);
 | 
	
		
			
				|  |  | +        tce.setCreatetime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")
 | 
	
		
			
				|  |  | +                .format(new Date()));
 | 
	
		
			
				|  |  | +        return tce;
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    @Override
 | 
	
		
			
				|  |  | +    public void getAbnormalToExitValue() {
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |      @Autowired
 | 
	
		
			
				|  |  |      IFormulaService formulaService;
 | 
	
		
			
				|  |  |  
 |