|
|
|
@ -201,29 +201,33 @@ public class BizNimsServiceBean extends AbstractServiceBean implements BizNimsSe
|
|
|
|
|
reqDto.setPg("1"); // 조회페이지
|
|
|
|
|
|
|
|
|
|
List<NimsApiDto.MnfSeqInfo> list = new ArrayList<>();
|
|
|
|
|
boolean isPrdValidDe = !isEmpty(reqDto.getPrdValidDe());
|
|
|
|
|
while (true) {
|
|
|
|
|
NimsApiResult.Response<NimsApiDto.MnfSeqInfo> rslt = infNimsService.getMnfSeqInfo(reqDto);
|
|
|
|
|
|
|
|
|
|
List<NimsApiDto.MnfSeqInfo> curList = rslt.getResult();
|
|
|
|
|
|
|
|
|
|
if (isEmpty(curList)) break;
|
|
|
|
|
list.addAll(curList);
|
|
|
|
|
|
|
|
|
|
// 데이타 조회 결과 마지막 페이지 이거나 100건 이상인 경우 종료
|
|
|
|
|
if(rslt.isEndYn() || list.size() >= 200) break;
|
|
|
|
|
|
|
|
|
|
reqDto.setPg(String.valueOf(Integer.parseInt(reqDto.getPg()) + 1));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 유효기간을 기준으로 검색하면 시리얼조회건수가 많아(10000건이상인 경우등) 무한루프가 도는 것처럼 보여짐
|
|
|
|
|
// 시리얼번호 및 제조번호 기준 검색후, 결과내에서 유효기간으로 필터링 하도록 처리
|
|
|
|
|
boolean isPrdValidDe = !isEmpty(reqDto.getPrdValidDe());
|
|
|
|
|
if(isPrdValidDe) {
|
|
|
|
|
for (NimsApiDto.MnfSeqInfo d : curList) {
|
|
|
|
|
List<NimsApiDto.MnfSeqInfo> tempList = new ArrayList<>();
|
|
|
|
|
for (NimsApiDto.MnfSeqInfo d : list) {
|
|
|
|
|
if(!isEmpty(d.getPrdValidDe()) && d.getPrdValidDe().contains(reqDto.getPrdValidDe())){
|
|
|
|
|
list.add(d);
|
|
|
|
|
tempList.add(d);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}else{
|
|
|
|
|
list.addAll(curList);
|
|
|
|
|
return tempList;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 데이타 조회 결과 마지막 페이지 이거나 100건 이상인 경우 종료
|
|
|
|
|
if(rslt.isEndYn() || list.size() >= 100) break;
|
|
|
|
|
|
|
|
|
|
reqDto.setPg(String.valueOf(Integer.parseInt(reqDto.getPg()) + 1));
|
|
|
|
|
}
|
|
|
|
|
// 올림 차순 정렬
|
|
|
|
|
list.sort((a, b) -> {
|
|
|
|
|
if (isEmpty(a.getPrdValidDe()) && isEmpty(b.getPrdValidDe()))
|
|
|
|
|