...
|
...
|
@@ -92,7 +92,8 @@ public class Originmanifestsecondary { |
|
|
|
|
|
private String TEMP_KEY_WORD="";
|
|
|
|
|
|
private int CURRENT_LINE=0;
|
|
|
//报文结束标识
|
|
|
private static String END_WORD= "=";
|
|
|
|
|
|
public String getAutoid() {
|
|
|
return autoid;
|
...
|
...
|
@@ -400,21 +401,25 @@ public class Originmanifestsecondary { |
|
|
for (int i = 0; i < lineList.size(); i++) {
|
|
|
|
|
|
String pattern = "[^A-Z0-9/\\.\\-<=\\s]+";
|
|
|
// 创建 Pattern 对象
|
|
|
Pattern r = Pattern.compile(pattern);
|
|
|
// 现在创建 matcher 对象
|
|
|
Matcher m = r.matcher(text);
|
|
|
|
|
|
|
|
|
//根据行关键字走相应的解析逻辑
|
|
|
String line = lineList.get(i);
|
|
|
Matcher m = r.matcher(line);
|
|
|
if(m.find()){
|
|
|
log.error("[FHL] 行[{}]中包含非允许特殊字符,报文中只允许包含-[{}]等特殊字符",i," / -. Space < =");
|
|
|
throw new FFMResolveException("[FHL] 报文中包含特殊字符,报文中只允许包含 / -. Space < = 等特殊字符");
|
|
|
}
|
|
|
|
|
|
//根据行关键字走相应的解析逻辑
|
|
|
String line = lineList.get(i);
|
|
|
|
|
|
log.debug("[TEXT] 开始处理行[{}]-[{}]",i,line);
|
|
|
if(line.equals(END_WORD)){
|
|
|
log.info("[END]- 当前行为结束行,解析结束");
|
|
|
return true;
|
|
|
}
|
|
|
|
|
|
String keyword = keyword(line);
|
|
|
CURRENT_LINE = i;
|
|
|
if (!"NOT_KEYWORD".equals(keyword)){
|
|
|
TEMP_KEY_WORD = "";
|
|
|
keywordParse(keyword,line,i);
|
...
|
...
|
|