2023.01.06 (TIL)

SaGo_MunGcci·2023년 1월 6일
0

업무 프로젝트

목록 보기
5/29
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;
profile
이리저리 생각만 많은 사고뭉치입니다.

0개의 댓글