case "U":
List<HeGHSExamPanJRefCdDTO> resultList = heGHSExamPanJRefCdManageMapper.retrieveExamPanRefCdListSqnc(vo);
// 업데이트하는 경우
if (!vo.getRfvlSn().equals("")) {
for(int i = 0 ; i<resultList.size(); i++) {
arrayList.add(resultList.get(i).getRfvlSn());
}
vo.setRfvlSn(Collections.max(arrayList)) + 1);
} else { // 추가하는 경우
}
result += heGHSExamPanJRefCdManageMapper.registerExamPanRefCd(vo);
break;
vo.setRfvlSn(Collections.max(arrayList)) + 1);
이렇게 하니까 문자열 + 숫자 1이 되어서 문자열로 더해서 출려되었다.
만약 제일큰수가 8이었으면 문자열 8 숫자 1 이 더해져서
81이로 출력이되었다
그리고 3이면 31 311 이런식으로 출력되었다.
아...... 로직이 좀 힘들고 이 트러블도 한참을 생각했다.
수정한 코드
case "U":
// 추가 되는 경우(참고치 일련번호(채번)가 없을때)
if (vo.getRfvlSn().equals("")) {
List<HeGHSExamPanJRefCdDTO> resultList = heGHSExamPanJRefCdManageMapper.retrieveExamPanRefCdListSqnc(vo);
for(int i = 0 ; i<resultList.size(); i++) {
arrayList.add(resultList.get(i).getRfvlSn());
}
int max = Integer.parseInt(Collections.max(arrayList)) + 1;
String maxNum = Integer.toString(max);
vo.setRfvlSn(maxNum);
}else { // 수정하는 경우
}
result += heGHSExamPanJRefCdManageMapper.registerExamPanRefCd(vo);
break;