fix: Data base duplicate 처리 추가

dev
Jonguk. Lim 5 months ago
parent 1ebbdc97e5
commit 8f33dbf62d

@ -245,6 +245,8 @@ public class BizNimsServiceBean extends AbstractServiceBean implements BizNimsSe
reqDto.setFg("2"); // 조회기준일자(1-보고일,2-취급일)
reqDto.setPg("1"); // 조회 페이지
reqDto.setSe("AAR"); // 보고구분코드 - 폐기
// FIXME: 적용 필요 한지 확인후 적용 여부 결정
// reqDto.setPs("01"); // 상태[폐기보고] ('': 전체, 01:확인, 02:보류, 03:정정, 04:미처리)
Map<String, String> apiInfInfo = getApiInfInfo(reqDto.getUserId());
reqDto.setK(apiInfInfo.get("apiKey"));
@ -356,6 +358,8 @@ public class BizNimsServiceBean extends AbstractServiceBean implements BizNimsSe
reqDto.setFg("2"); // 조회기준일자(1-보고일,2-취급일)
reqDto.setPg("1"); // 조회 페이지
reqDto.setSe("AAR"); // 보고구분코드 - 폐기
// FIXME: 적용 필요 한지 확인후 적용 여부 결정
reqDto.setPs("01"); // 상태[폐기보고] ('': 전체, 01:확인, 02:보류, 03:정정, 04:미처리)
Map<String, String> apiInfInfo = getApiInfInfo(reqDto.getUserId());
reqDto.setK(apiInfInfo.get("apiKey"));
@ -424,6 +428,8 @@ public class BizNimsServiceBean extends AbstractServiceBean implements BizNimsSe
.se("AAR") // 보고구분: AAR-폐기
.pg("1") // 페이지번호
.fg("2") // 조회기준일자 : 1-보고일자, 2-취급일자
// FIXME: 적용 필요 한지 확인후 적용 여부 결정
// .ps("01") // 상태[폐기보고] ('': 전체, 01:확인, 02:보류, 03:정정, 04:미처리)
.sdt(dsuseMgtDto.getHdrDe())
.edt(dsuseMgtDto.getHdrDe())
.bc(dsuseMgtDto.getBsshCd())
@ -614,13 +620,13 @@ public class BizNimsServiceBean extends AbstractServiceBean implements BizNimsSe
List<NimsApiDto.DsuseRptInfo> rtnList = new ArrayList<>();
for (NimsApiDto.DsuseRptInfo nimsDto : nimsList) {
NimsApiDto.DsuseRptInfo savedMgtDto = bizNimsMapper.selectDsuseRptInfoByUsrRptIdNo(Map.of("usrRptIdNo", nimsDto.getUsrRptIdNo()));
if(isEmpty(savedMgtDto)){
NimsApiDto.DsuseRptInfo savedRptDto = bizNimsMapper.selectDsuseRptInfoByUsrRptIdNo(Map.of("usrRptIdNo", nimsDto.getUsrRptIdNo()));
if(isEmpty(savedRptDto)){
newList.add(nimsDto);
}else{
// FIXME: API 데이타 적용후 반드시 교차 확인 필요
if("Y".equals(savedMgtDto.getUseYn())){
nimsDto.setOrgUsrRptIdNo(savedMgtDto.getOrgUsrRptIdNo());
if("Y".equals(savedRptDto.getUseYn())){
nimsDto.setOrgUsrRptIdNo(savedRptDto.getOrgUsrRptIdNo());
rtnList.add(nimsDto);
}
};

@ -12,6 +12,7 @@ public enum ResultCode{
// 2xx
SUCCESS(HttpStatus.OK.value(), "성공"), // 200
NO_CONTENT(HttpStatus.NO_CONTENT.value(), "데이터가 없습니다"), // 204
DUPLICATE_RESOURCE(HttpStatus.CONFLICT.value(), "데이터가 이미 존재합니다"),
// 4xx
BAD_REQUEST(HttpStatus.BAD_REQUEST.value(), "항목이 올바르지 않습니다"), // 400

@ -4,7 +4,9 @@ import java.security.SignatureException;
import java.util.Objects;
import javax.servlet.http.HttpServletRequest;
import javax.validation.ConstraintViolationException;
import org.springframework.dao.DataIntegrityViolationException;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.http.converter.HttpMessageNotReadableException;
@ -19,6 +21,7 @@ import org.springframework.web.bind.annotation.RestControllerAdvice;
import org.springframework.web.client.HttpClientErrorException;
import org.springframework.web.servlet.NoHandlerFoundException;
import cokr.xit.adds.core.Constants;
import cokr.xit.adds.core.model.ApiBaseResponse;
import cokr.xit.adds.core.model.ResultCode;
import io.jsonwebtoken.ExpiredJwtException;
@ -142,6 +145,27 @@ public class CustomExceptionHandler {
return makeEntity(resultCode.getStatusCode(), resultCode.getMessage(), HttpStatus.OK);
}
/**
* Data
*
* @return ErrorResponse
*/
@ExceptionHandler(value = {ConstraintViolationException.class})
protected ResponseEntity<ApiBaseResponse<?>> handleDataException(ConstraintViolationException e) {
return makeEntity(
ResultCode.DUPLICATE_RESOURCE.getStatusCode(),
Constants.PROFILE.equals("prod")? ResultCode.DUPLICATE_RESOURCE.getMessage() : e.getMessage(),
HttpStatus.OK);
}
@ExceptionHandler(value = {DataIntegrityViolationException.class})
protected ResponseEntity<ApiBaseResponse<?>> handleDataException(DataIntegrityViolationException e) {
return makeEntity(
ResultCode.DUPLICATE_RESOURCE.getStatusCode(),
Constants.PROFILE.equals("prod")? ResultCode.DUPLICATE_RESOURCE.getMessage() : e.getMessage(),
HttpStatus.OK);
}
/**
*
* @param ex ApiCustomException

Loading…
Cancel
Save