summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorwangwenrui <[email protected]>2018-10-12 19:08:32 +0800
committerwangwenrui <[email protected]>2018-10-12 19:08:32 +0800
commit3d031c3811b450a6e48767913b9abd415c94551b (patch)
treecfe573272fb0edd51e11f2c305aae860decaf6ee /src
parente10049894b8ea129b3f547a7c4143de24e792608 (diff)
解析 空字符串校验
Diffstat (limited to 'src')
-rw-r--r--src/com/nms/server/thread/detectDataHandler/DataResolveThread.java26
1 files 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++;