From 3d031c3811b450a6e48767913b9abd415c94551b Mon Sep 17 00:00:00 2001 From: wangwenrui Date: Fri, 12 Oct 2018 19:08:32 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A7=A3=E6=9E=90=20=E7=A9=BA=E5=AD=97?= =?UTF-8?q?=E7=AC=A6=E4=B8=B2=E6=A0=A1=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../detectDataHandler/DataResolveThread.java | 26 +++++++++++-------- 1 file changed, 15 insertions(+), 11 deletions(-) diff --git a/src/com/nms/server/thread/detectDataHandler/DataResolveThread.java b/src/com/nms/server/thread/detectDataHandler/DataResolveThread.java index e82848c..859eba1 100644 --- a/src/com/nms/server/thread/detectDataHandler/DataResolveThread.java +++ b/src/com/nms/server/thread/detectDataHandler/DataResolveThread.java @@ -955,28 +955,32 @@ public class DataResolveThread implements Runnable{ } try { String fileType = field.getFiledType().toUpperCase(); + String col = detailsArr0[index]; if("DATE".equals(fileType)){ - if(StringUtils.isNumeric(detailsArr0[index])){//如果为数字型时间,转换 - detail.put(field.getFiledName(), format.format(new Date(Long.parseLong(detailsArr0[index].trim())))); + if(StringUtils.isBlank(col)){ + detail.put(field.getFiledName(), null); + }else if(StringUtils.isNumeric(col)){//如果为数字型时间,转换 + detail.put(field.getFiledName(), format.format(new Date(Long.parseLong(col.trim())))); }else{//eg:2016-03-06 12:12:12 - detail.put(field.getFiledName(), detailsArr0[index].trim()); + detail.put(field.getFiledName(), col.trim()); } }else{ if("NUMBER".equals(fileType)){ - if (StringUtils.isBlank(detailsArr0[index]) - || StringUtil.isRationalNumber(detailsArr0[index])) { - detail.put(field.getFiledName(), detailsArr0[index].trim()); - } else if (detailsArr0[index].trim().contains(" days, ")) { - detail.put(field.getFiledName(), CommonService.getLongTimeStr(detailsArr0[index].trim())); + if(StringUtils.isBlank(col)){ + detail.put(field.getFiledName(), null); + } else if (StringUtil.isRationalNumber(col)) { + detail.put(field.getFiledName(), col.trim()); + } else if (col.trim().contains(" days, ")) { + detail.put(field.getFiledName(), CommonService.getLongTimeStr(col.trim())); } else { throw new Exception("NUMBER数据格式错误!"); } }else{ // VARCHAR2(x) String length = fileType.replaceAll("VARCHAR2\\((\\d+)\\)", "$1"); - if(Integer.parseInt(length) < detailsArr0[index].trim().length()) { + if(Integer.parseInt(length) < col.trim().length()) { throw new Exception("VARCHAR2数据格式错误!"); } - detail.put(field.getFiledName(), detailsArr0[index].trim()); + detail.put(field.getFiledName(), col.trim()); } } } catch (Exception e) { @@ -988,7 +992,7 @@ public class DataResolveThread implements Runnable{ } errorInfo.deleteCharAt(errorInfo.length()-1); //监测数据的详细信息如果和指定的字段类型不匹配,则抛弃此条监测数据,避免影响批量入库 - logger.error(" 第一步-1: 新格式监测数据解析异常: seqId:"+seqId+",setInfoId:"+setInfoId+",checkType:"+checkType+" checkTime:"+new Date(checkTime)+" 监测数据解析异常:"+errorInfo); + logger.error(" 第一步-1: 新格式监测数据解析异常: seqId:"+seqId+",setInfoId:"+setInfoId+",checkType:"+checkType+" checkTime:"+new Date(checkTime)+" 监测数据解析异常:"+errorInfo,e); return null; } index++;