EZDATA 없는데, Ref필드에는 'ERP'로 되어 있는 경우, flat 전문 파싱 오류 처리

This commit is contained in:
curry772
2026-09-07 14:39:47 +09:00
parent ad7ff7276f
commit 831dc9fc48
6 changed files with 385 additions and 22 deletions
@@ -431,18 +431,10 @@ public class StandardMessageCoordinatorDJB extends DefaultStandardMessageCoordin
if (StringUtils.isBlank(refPath) || StringUtils.isBlank(refValue)) {
return true;
}
String actualValue = StringUtils.trimToEmpty(standardMessage.findItemValue(refPath));
boolean negate = refValue.startsWith("!");
String compareValue = negate ? refValue.substring(1) : refValue;
boolean matched = matchesAny(compareValue, actualValue);
return negate ? !matched : matched;
}
private boolean matchesAny(String refValue, String actualValue) {
for (String v : refValue.split("\\|")) {
if (v.equals(actualValue)) return true;
}
return false;
// 판정 기준은 StandardItem.matchRefCondition 하나로 통일한다.
// (FlatReader 파싱 / FLAT 직렬화와 같은 기준이어야 블록 유무 판단이 어긋나지 않음)
return StandardItem.matchRefCondition(refValue,
StringUtils.trimToEmpty(standardMessage.findItemValue(refPath)));
}
private void makeupDataScopLen(StandardMessage standardMessage, String charset) {