|
|
|
|
@ -71,7 +71,7 @@ public class OwnActRegistAndViewServiceImpl extends EgovAbstractServiceImpl impl
|
|
|
|
|
*/
|
|
|
|
|
@Override
|
|
|
|
|
public int insert(OwnActRegistAndViewVO vo) {
|
|
|
|
|
log.debug("소유자행위자 등록 - 성명: {}, 주민번호: {}", vo.getFlnm(), vo.getRrno());
|
|
|
|
|
log.debug("소유자행위자 등록 - 소유자ID: {}", vo.getOwnrId());
|
|
|
|
|
|
|
|
|
|
// 필수값 검증
|
|
|
|
|
validateRequiredFields(vo);
|
|
|
|
|
@ -84,64 +84,44 @@ public class OwnActRegistAndViewServiceImpl extends EgovAbstractServiceImpl impl
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 단속 정보를 수정합니다.
|
|
|
|
|
* 소유자행위자 정보를 수정합니다.
|
|
|
|
|
*
|
|
|
|
|
* @param vo 수정할 단속 정보를 담은 VO 객체
|
|
|
|
|
* @param vo 수정할 소유자행위자 정보를 담은 VO 객체
|
|
|
|
|
* @return 수정된 행의 수
|
|
|
|
|
*/
|
|
|
|
|
/*@Override
|
|
|
|
|
public int update(CrdnRegistAndViewVO vo) {
|
|
|
|
|
log.debug("단속 수정 - 단속연도: {}, 단속번호: {}", vo.getCrdnYr(), vo.getCrdnNo());
|
|
|
|
|
@Override
|
|
|
|
|
public int update(OwnActRegistAndViewVO vo) {
|
|
|
|
|
log.debug("소유자행위자 수정 - 소유자ID: {}", vo.getOwnrId());
|
|
|
|
|
|
|
|
|
|
// PK(단속연도+단속번호) 필수값 검증
|
|
|
|
|
validatePrimaryKey(vo);
|
|
|
|
|
//validatePrimaryKey(vo);
|
|
|
|
|
|
|
|
|
|
// 필수값 검증
|
|
|
|
|
validateRequiredFields(vo);
|
|
|
|
|
|
|
|
|
|
// 조사원 바이트 길이 검증 (한글 3바이트 기준 최대 100바이트)
|
|
|
|
|
if (vo.getExmnr() != null && !vo.getExmnr().trim().isEmpty()) {
|
|
|
|
|
int byteLength = StringUtil.calculateUtf8ByteLength(vo.getExmnr());
|
|
|
|
|
if (byteLength > 100) {
|
|
|
|
|
log.warn("단속 수정 실패 - 조사원 바이트 길이 초과: {}바이트", byteLength);
|
|
|
|
|
throw new MessageException("조사원명은 최대 100바이트까지 입력 가능합니다. (현재: " + byteLength + "바이트)");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 비고 바이트 길이 검증 (한글 3바이트 기준 최대 1000바이트)
|
|
|
|
|
if (vo.getRmrk() != null && !vo.getRmrk().trim().isEmpty()) {
|
|
|
|
|
int byteLength = StringUtil.calculateUtf8ByteLength(vo.getRmrk());
|
|
|
|
|
if (byteLength > 1000) {
|
|
|
|
|
log.warn("단속 수정 실패 - 비고 바이트 길이 초과: {}바이트", byteLength);
|
|
|
|
|
throw new MessageException("비고는 최대 1000바이트까지 입력 가능합니다. (현재: " + byteLength + "바이트)");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 수정 수행
|
|
|
|
|
|
|
|
|
|
// 수정자 정보 설정 및 수정 수행
|
|
|
|
|
vo.setMdfr(SessionUtil.getUserId());
|
|
|
|
|
int result = mapper.update(vo);
|
|
|
|
|
log.debug("단속 수정 완료 - 수정 건수: {}", result);
|
|
|
|
|
return result;
|
|
|
|
|
}*/
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 단속 정보를 삭제합니다. (논리 삭제)
|
|
|
|
|
* 소유자행위자 정보를 삭제합니다. (논리 삭제)
|
|
|
|
|
*
|
|
|
|
|
* @param vo 삭제할 PK 정보(crdnYr, crdnNo)를 담은 VO 객체
|
|
|
|
|
* @param vo 삭제할 PK 정보(ownrId)를 담은 VO 객체
|
|
|
|
|
* @return 삭제된 행의 수
|
|
|
|
|
*/
|
|
|
|
|
/*@Override
|
|
|
|
|
public int delete(CrdnRegistAndViewVO vo) {
|
|
|
|
|
// PK(단속연도+단속번호) 필수값 검증
|
|
|
|
|
validatePrimaryKey(vo);
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public int delete(OwnActRegistAndViewVO vo) {
|
|
|
|
|
// 삭제자 정보 설정 및 삭제 수행
|
|
|
|
|
vo.setDltr(SessionUtil.getUserId());
|
|
|
|
|
return mapper.delete(vo);
|
|
|
|
|
}*/
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* PK(단속연도+단속번호) 중복 체크를 수행합니다.
|
|
|
|
|
*
|
|
|
|
|
*
|
|
|
|
|
* @param vo 중복 체크할 PK 정보(crdnYr, crdnNo)를 담은 VO 객체
|
|
|
|
|
* @return 중복 건수 (0이면 중복 없음, 1이상이면 중복 존재)
|
|
|
|
|
*/
|
|
|
|
|
@ -185,52 +165,4 @@ public class OwnActRegistAndViewServiceImpl extends EgovAbstractServiceImpl impl
|
|
|
|
|
throw new MessageException("주소는 필수값입니다.");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 년도별 시퀀스 존재 여부를 확인하고 없으면 생성한다.
|
|
|
|
|
* @param year 년도 (YYYY 형태)
|
|
|
|
|
*/
|
|
|
|
|
/*private void ensureSequenceExists(String year) {
|
|
|
|
|
String sequenceName = SEQ_CRDN + year;
|
|
|
|
|
log.debug("년도별 시퀀스 확인 - 시퀀스명: {}", sequenceName);
|
|
|
|
|
|
|
|
|
|
try {
|
|
|
|
|
// 시퀀스 존재 여부 확인 (SHOW CREATE SEQUENCE 실행)
|
|
|
|
|
String sequenceDefinition = mapper.checkSequenceExists(sequenceName);
|
|
|
|
|
log.debug("년도별 시퀀스 이미 존재 - 시퀀스명: {}, 정의: {}", sequenceName, sequenceDefinition);
|
|
|
|
|
} catch (Exception e) {
|
|
|
|
|
// 시퀀스가 존재하지 않으면 예외 발생 -> 시퀀스 생성
|
|
|
|
|
log.info("년도별 시퀀스 생성 - 시퀀스명: {} (원인: {})", sequenceName, e.getMessage());
|
|
|
|
|
mapper.createSequence(sequenceName);
|
|
|
|
|
log.debug("년도별 시퀀스 생성 완료 - 시퀀스명: {}", sequenceName);
|
|
|
|
|
}
|
|
|
|
|
}*/
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 단속 처리 상태를 업데이트합니다.
|
|
|
|
|
*
|
|
|
|
|
* @param vo 상태 업데이트할 단속 정보(crdnYr, crdnNo, crdnPrcsSttsCd)를 담은 VO 객체
|
|
|
|
|
* @return 업데이트된 행의 수
|
|
|
|
|
*/
|
|
|
|
|
/*@Override
|
|
|
|
|
public int updateStatus(CrdnRegistAndViewVO vo) {
|
|
|
|
|
log.debug("단속 상태 업데이트 - 단속연도: {}, 단속번호: {}, 상태코드: {}", vo.getCrdnYr(), vo.getCrdnNo(), vo.getCrdnPrcsSttsCd());
|
|
|
|
|
|
|
|
|
|
// PK(단속연도+단속번호) 필수값 검증
|
|
|
|
|
validatePrimaryKey(vo);
|
|
|
|
|
|
|
|
|
|
// 처리 상태 코드 필수값 검증
|
|
|
|
|
if (vo.getCrdnPrcsSttsCd() == null || vo.getCrdnPrcsSttsCd().trim().isEmpty()) {
|
|
|
|
|
log.warn("단속 상태 업데이트 실패 - 처리상태코드 미입력");
|
|
|
|
|
throw new MessageException("처리 상태 코드는 필수값입니다.");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 단속 처리 일자를 현재 일자로 설정 (yyyyMMdd 형식)
|
|
|
|
|
vo.setCrdnPrcsYmd(LocalDate.now().toString().replace("-", ""));
|
|
|
|
|
|
|
|
|
|
// 상태 업데이트 수행
|
|
|
|
|
int result = mapper.updateStatus(vo);
|
|
|
|
|
log.debug("단속 상태 업데이트 완료 - 업데이트 건수: {}", result);
|
|
|
|
|
return result;
|
|
|
|
|
}*/
|
|
|
|
|
}
|