Biz Assist에서 낙찰방법을 분류할 때
적격심사로 확인된 공고와 적격심사일 가능성이 있는 공고를 같은 값으로 처리하면 안 됐다.
그래서 낙찰방법 종류와 판정 상태를 따로 뒀다.
qualification.setAwardMethodCategory(
result.category().name()
);
qualification.setAwardMethodStatus(
result.status().name()
);
category
→ 어떤 낙찰방법인지
status
→ 그 판단이 확정인지 추정인지
이렇게 역할을 나눴다.
첨부문서에서 적격심사라는 단어만 찾았다고 바로 확정하지는 않았다.
private boolean isClearQualificationReviewEvidence(String line) {
String normalized = getSafeValue(line).replaceAll("\\s+", "");
if (!normalized.contains("적격심사")
|| normalized.contains("부적격심사")) {
return false;
}
return normalized.contains("낙찰자선정방법")
|| normalized.contains("낙찰방법")
|| normalized.contains("적격심사제")
|| normalized.contains("적격심사대상")
|| normalized.contains("적격심사세부기준")
|| normalized.contains("적격심사기준");
}
적격심사라는 단어가 있으면서
낙찰방법과 연결되는 표현도 있는지 같이 확인했다.
첨부문서 근거만으로 적격심사 가능성이 있다고 판단한 경우에는 LIKELY로 처리했다.
if (qualificationReview
&& awardMethodStatus == BidAwardMethodStatus.LIKELY) {
additionalCheckReasons.add(
"첨부문서 근거의 적격심사 여부 확인 필요"
);
}
즉
적격심사로 분류
+ 근거가 충분함
→ 일반 검토
적격심사로 분류
+ 첨부문서 기반 추정
→ 추가 확인 필요
내 코드에서는
무엇으로 분류했는지와 얼마나 확실한지를 따로 관리한 것으로 보면 된다.