diff --git a/src/main/java/cokr/xit/adds/biz/nims/service/bean/BizNimsServiceBean.java b/src/main/java/cokr/xit/adds/biz/nims/service/bean/BizNimsServiceBean.java index 1b5b6e7..0546fd4 100644 --- a/src/main/java/cokr/xit/adds/biz/nims/service/bean/BizNimsServiceBean.java +++ b/src/main/java/cokr/xit/adds/biz/nims/service/bean/BizNimsServiceBean.java @@ -234,8 +234,6 @@ public class BizNimsServiceBean extends AbstractServiceBean implements BizNimsSe reqDto.setFg("2"); // 조회기준일자(1-보고일,2-취급일) reqDto.setPg("1"); // 조회 페이지 reqDto.setSe("AAR"); // 보고구분코드 - 폐기 - if(isEmpty(reqDto.getFg2())) reqDto.setFg2(""); // 보고유형('': 전체, 0:신규, 1:취소, 2:변경) - if(isEmpty(reqDto.getPs())) reqDto.setPs(""); // 상태("": 전체, 01: 확인, 02: 보류, 03: 정정, 04: 미처리) Map apiInfInfo = getApiInfInfo(reqDto.getUserId()); reqDto.setK(apiInfInfo.get("apiKey")); @@ -325,11 +323,10 @@ public class BizNimsServiceBean extends AbstractServiceBean implements BizNimsSe if(isForDoc) apiKey = getApiInfInfo(reqDto.getUserId()).get("apiKey"); for (BizNimsResponse.DsuseMgtRes dto : resList) { - // FIXME: API 적용 완류후 command 제거 - //dto.setRptTyNm(RPT_TY_CD.getName(dto.getRptTyCd())); - // dto.setDsuseSeNm(Constants.DSUSE_SE_CD.getName(dto.getDsuseSeCd())); - // dto.setDsusePrvNm(Constants.DSUSE_PRV_CD.getName(dto.getDsusePrvCd())); - // dto.setDsuseMthNm(Constants.DSUSE_MTH_CD.getName(dto.getDsuseMthCd())); + dto.setRptTyNm(RPT_TY_CD.getName(dto.getRptTyCd())); + dto.setDsuseSeNm(Constants.DSUSE_SE_CD.getName(dto.getDsuseSeCd())); + dto.setDsusePrvNm(Constants.DSUSE_PRV_CD.getName(dto.getDsusePrvCd())); + dto.setDsuseMthNm(Constants.DSUSE_MTH_CD.getName(dto.getDsuseMthCd())); Map map = new HashMap<>(); map.put("dscdmngId", dto.getDscdmngId()); @@ -346,8 +343,6 @@ public class BizNimsServiceBean extends AbstractServiceBean implements BizNimsSe reqDto.setFg("2"); // 조회기준일자(1-보고일,2-취급일) reqDto.setPg("1"); // 조회 페이지 reqDto.setSe("AAR"); // 보고구분코드 - 폐기 - if(isEmpty(reqDto.getFg2())) reqDto.setFg2(""); // 보고유형('': 전체, 0:신규, 1:취소, 2:변경) - if(isEmpty(reqDto.getPs())) reqDto.setPs(""); // 상태("": 전체, 01: 확인, 02: 보류, 03: 정정, 04: 미처리) Map apiInfInfo = getApiInfInfo(reqDto.getUserId()); reqDto.setK(apiInfInfo.get("apiKey")); @@ -366,37 +361,41 @@ public class BizNimsServiceBean extends AbstractServiceBean implements BizNimsSe * saveDsuseRptInfo 대체 메소드 - 확인후 적용 * 6. return List에 현재 데이타 추가 - 변경인 경우만 추가 - * 7. FIXME : 폐기 관리 데이타 매핑 * 8. 결과 sort 및 return * @param reqDto * @return * */ - // FIXME: API 적용 필요 - nims API 확정후 - // FIXME: saveDsuseRptInfo() 메소드를 활용할 수 있도록 구성 @Override public List getDsuseMgtMapping(BizNimsRequest.DsuseRptMappingInq reqDto) { ApiUtil.validate(reqDto, null, validator); Map apiInfInfo = getApiInfInfo(reqDto.getUserId()); // 0. GET 폐기관리 데이타 정보 - BizNimsResponse.DsuseMgtRes dsuseMgtDto = getDsuseMgts( + List dsuseMgtDtos = getDsuseMgts( BizNimsRequest.DsuseMgtInq.builder() .dscdmngIds(List.of(reqDto.getDscdmngId())) .deptCd(apiInfInfo.get("deptCd")) .prgrsSttsCd(null) .build(), - false) - .get(0); + false); + if(dsuseMgtDtos.isEmpty()){ + throw ApiCustomException.create( + String.format( + "사용자[%s]의 폐기관리데이타[%s]를 확인해 주세요", + reqDto.getUserId(), + reqDto.getDscdmngId() + ) + ); + } + BizNimsResponse.DsuseMgtRes dsuseMgtDto = dsuseMgtDtos.get(0); NimsApiRequest.DsuseRptInfoReq rptDto = NimsApiRequest.DsuseRptInfoReq.builder() .k(apiInfInfo.get("apiKey")) .gc(apiInfInfo.get("deptCd")) .se("AAR") // 보고구분: AAR-폐기 .pg("1") // 페이지번호 .fg("2") // 조회기준일자 : 1-보고일자, 2-취급일자 - .fg2("0") // 보고 유형: ""- 전체, 0-신규, 1-취소, 2-변경 - .ps("01") // "": 전체, 01: 확인, 02: 보류, 03: 정정, 04: 미처리 .sdt(dsuseMgtDto.getHdrDe()) .edt(dsuseMgtDto.getHdrDe()) .bc(dsuseMgtDto.getBsshCd()) @@ -513,8 +512,8 @@ public class BizNimsServiceBean extends AbstractServiceBean implements BizNimsSe ); if (isEmpty(list)) { // FIXME : 데이타 정상 흐름 확인후 comment 제거 - continue; - //throw ApiCustomException.create(String.format("데이타 오류(제품코드[%s]에 해당하는 데이타가 없습니다)", r.getPrductCd())); + //continue; + throw ApiCustomException.create(String.format("데이타 오류(제품코드[%s]에 해당하는 데이타가 없습니다)", r.getPrductCd())); } r.setNrcdSeNm(list.get(0).getNrcdSeNm()); r.setPrtmSeNm(list.get(0).getPrtmSeNm()); @@ -535,8 +534,8 @@ public class BizNimsServiceBean extends AbstractServiceBean implements BizNimsSe ); if (isEmpty(list)) { // FIXME : 데이타 정상 흐름 확인후 comment 제거 - continue; - //throw ApiCustomException.create(String.format("데이타 오류(마약류취급자식별번호[%s]에 해당하는 데이타가 없습니다)", r.getBsshCd())); + //continue; + throw ApiCustomException.create(String.format("데이타 오류(마약류취급자식별번호[%s]에 해당하는 데이타가 없습니다)", r.getBsshCd())); } r.setBsshNm(list.get(0).getBsshNm()); } @@ -588,14 +587,9 @@ public class BizNimsServiceBean extends AbstractServiceBean implements BizNimsSe NimsApiDto.DsuseRptInfo savedMgtDto = bizNimsMapper.selectDsuseRptInfoByUsrRptIdNo(Map.of("usrRptIdNo", nimsDto.getUsrRptIdNo())); if(isEmpty(savedMgtDto)){ - // FIXME: API 적용후 적용 내용 삭제 : 취소 데이타가 비정상 적으로 내려오고 있어 skip 처리 /////////////////////// - //if(!"1".equals(nimsDto.getRptTyCd())) - ////////////////////////////////////////////////////////////// newList.add(nimsDto); }else{ - // FIXME: API 적용 필요 - // API 조회 반영된 사용여부가 'Y', 처리상태코드가 미완료인 경우는 return 대상 - //if("Y".equals(infoDto.getUseYn()) && !"".equals(infoDto.getStatus())){ + // FIXME: API 적용 확인 필요 if("Y".equals(savedMgtDto.getUseYn())){ nimsDto.setOrgUsrRptIdNo(savedMgtDto.getOrgUsrRptIdNo()); rtnList.add(nimsDto); @@ -635,8 +629,6 @@ public class BizNimsServiceBean extends AbstractServiceBean implements BizNimsSe // 1) tb_dsuse_rpt_info, tb_dsuse_rpt_info_dtl 사용여부 'N' update updateDsuseRptOfCancel(dto, reqDto.getUserId()); - // FIXME : API 적용 필요 - // 결과 return 대상 데이타 List에서 조회한 변경 대상이 있는 경우 replace for(NimsApiDto.DsuseRptInfo item : concurrentList){ if(item.getOrgUsrRptIdNo().equals(dto.getOrgUsrRptIdNo()) && item.getUsrRptIdNo().equals(dto.getRefUsrRptIdNo())){ @@ -651,77 +643,17 @@ public class BizNimsServiceBean extends AbstractServiceBean implements BizNimsSe private List findNimsDsuseRptsOfApi(NimsApiRequest.DsuseRptInfoReq reqDto) { List nimsList = new ArrayList<>(); - // FIXME: API 적용후 comment 제거 /////////////////////// - // while(true) { - // NimsApiResult.Response rslt = infNimsService.getDsuseRptInfo(reqDto); - // List curList = rslt.getResultOrThrow(); - // - // if(isEmpty(curList)) break; - // - // nimsList.addAll(curList); - // - // if(rslt.isEndYn()) break; - // reqDto.setPg(String.valueOf(Integer.parseInt(reqDto.getPg()) + 1)); - // } - ////////////////////////////////////////////////////////////////////////// - - // FIXME: API 적용후 제거 /////////////////////// - NimsApiResult.Response rslt = infNimsService.getDsuseRptInfo(reqDto); - List curList = rslt.getResult(); - - if(!isEmpty(curList)) nimsList.addAll(curList); - - reqDto.setPs("02"); // 상태("": 전체, 01: 확인, 02: 보류, 03: 정정, 04: 미처리) - rslt = infNimsService.getDsuseRptInfo(reqDto); - curList = rslt.getResult(); - if(!isEmpty(curList)) nimsList.addAll(curList); - reqDto.setPs("03"); // 상태("": 전체, 01: 확인, 02: 보류, 03: 정정, 04: 미처리) - rslt = infNimsService.getDsuseRptInfo(reqDto); - curList = rslt.getResult(); - if(!isEmpty(curList)) nimsList.addAll(curList); - reqDto.setPs("04"); // 상태("": 전체, 01: 확인, 02: 보류, 03: 정정, 04: 미처리) - rslt = infNimsService.getDsuseRptInfo(reqDto); - curList = rslt.getResult(); - if(!isEmpty(curList)) nimsList.addAll(curList); - - reqDto.setFg2("1"); // 보고 유형: ""- 전체, 0-신규, 1-취소, 2-변경 - reqDto.setPs("01"); // 상태("": 전체, 01: 확인, 02: 보류, 03: 정정, 04: 미처리) - rslt = infNimsService.getDsuseRptInfo(reqDto); - curList = rslt.getResult(); - if(!isEmpty(curList)) nimsList.addAll(curList); - reqDto.setPs("02"); // 상태("": 전체, 01: 확인, 02: 보류, 03: 정정, 04: 미처리) - rslt = infNimsService.getDsuseRptInfo(reqDto); - curList = rslt.getResult(); - if(!isEmpty(curList)) nimsList.addAll(curList); - reqDto.setPs("03"); // 상태("": 전체, 01: 확인, 02: 보류, 03: 정정, 04: 미처리) - rslt = infNimsService.getDsuseRptInfo(reqDto); - curList = rslt.getResult(); - if(!isEmpty(curList)) nimsList.addAll(curList); - reqDto.setPs("04"); // 상태("": 전체, 01: 확인, 02: 보류, 03: 정정, 04: 미처리) - rslt = infNimsService.getDsuseRptInfo(reqDto); - curList = rslt.getResult(); - if(!isEmpty(curList)) nimsList.addAll(curList); - - reqDto.setFg2("2"); // 보고 유형: ""- 전체, 0-신규, 1-취소, 2-변경 - reqDto.setPs("01"); // 상태("": 전체, 01: 확인, 02: 보류, 03: 정정, 04: 미처리) - rslt = infNimsService.getDsuseRptInfo(reqDto); - curList = rslt.getResult(); - if(!isEmpty(curList)) nimsList.addAll(curList); - reqDto.setPs("02"); // 상태("": 전체, 01: 확인, 02: 보류, 03: 정정, 04: 미처리) - rslt = infNimsService.getDsuseRptInfo(reqDto); - curList = rslt.getResult(); - if(!isEmpty(curList)) nimsList.addAll(curList); - reqDto.setPs("03"); // 상태("": 전체, 01: 확인, 02: 보류, 03: 정정, 04: 미처리) - rslt = infNimsService.getDsuseRptInfo(reqDto); - curList = rslt.getResult(); - if(!isEmpty(curList)) nimsList.addAll(curList); - reqDto.setPs("04"); // 상태("": 전체, 01: 확인, 02: 보류, 03: 정정, 04: 미처리) - rslt = infNimsService.getDsuseRptInfo(reqDto); - curList = rslt.getResult(); - if(!isEmpty(curList)) nimsList.addAll(curList); - ////////////////////////////////////////////////////////////////////////// + while(true) { + NimsApiResult.Response rslt = infNimsService.getDsuseRptInfo(reqDto); + List curList = rslt.getResultOrThrow(); + + if(isEmpty(curList)) break; + nimsList.addAll(curList); + if(rslt.isEndYn()) break; + reqDto.setPg(String.valueOf(Integer.parseInt(reqDto.getPg()) + 1)); + } nimsList.sort((a, b) -> a.getUsrRptIdNo().compareTo(b.getUsrRptIdNo())); return nimsList; } @@ -739,11 +671,10 @@ public class BizNimsServiceBean extends AbstractServiceBean implements BizNimsSe */ private void createDsuseRpt(final NimsApiDto.DsuseRptInfo dto, String userId) { dto.setRgtr(userId); - // FIXME: API 적용 완류후 command 제거 - // dto.setRptTyNm(RPT_TY_CD.getName(dto.getRptTyCd())); - // dto.setDsuseSeNm(Constants.DSUSE_SE_CD.getName(dto.getDsuseSeCd())); - // dto.setDsusePrvNm(Constants.DSUSE_PRV_CD.getName(dto.getDsusePrvCd())); - // dto.setDsuseMthNm(Constants.DSUSE_MTH_CD.getName(dto.getDsuseMthCd())); + dto.setRptTyNm(RPT_TY_CD.getName(dto.getRptTyCd())); + dto.setDsuseSeNm(Constants.DSUSE_SE_CD.getName(dto.getDsuseSeCd())); + dto.setDsusePrvNm(Constants.DSUSE_PRV_CD.getName(dto.getDsusePrvCd())); + dto.setDsuseMthNm(Constants.DSUSE_MTH_CD.getName(dto.getDsuseMthCd())); // 참조사용자보고번호가 없으면 -> 원사용자보고식별번호 = 사용자보고식별번호 if(isEmpty(dto.getRefUsrRptIdNo())){ @@ -758,11 +689,6 @@ public class BizNimsServiceBean extends AbstractServiceBean implements BizNimsSe int dtlCnt = 0; for (NimsApiDto.DsuseRptInfoDtl d : dto.getListDtl()) { d.setRgtr(userId); - - // FIXME: API 적용 완류후 아래 라인 제거 - 사용자보고라인번호가 내려오지 않고 있어 임시로 추가 ///////////////////////////////////// - d.setUsrRptLnIdNo(d.getUsrRptIdNo()+"_"+(dtlCnt+1)); - ///////////////////////////////////////////////////////////////////////////////////// - dtlCnt = dtlCnt + bizNimsMapper.insertDsuseRptInfoDtl(d); } if (dto.getRndDtlRptCnt() != dtlCnt) @@ -943,68 +869,6 @@ public class BizNimsServiceBean extends AbstractServiceBean implements BizNimsSe - - /** - *
-	 *    폐기관리정보 저장
-	 * @param dtos List
-	 * @return List
-	 * 
- */ - // @Deprecated - // @Override - // public List saveDsuseMgts(List dtos) { - // for (BizNimsRequest.DsuseMgt dto : dtos) { - // ApiUtil.validate(dto, null, validator); - // } - // - // final List dscdmngIds = new ArrayList<>(); - // for (BizNimsRequest.DsuseMgt dto : dtos) { - // dto.setRgtr(Constants.NIMS_API_USER_ID); - // - // bizNimsMapper.insertDsuseMgt(dto); - // dscdmngIds.add(dto.getDscdmngId()); - // } - // List resList = bizNimsMapper.selectSavedDsuseMgts(dscdmngIds); - // - // // 마약류취급업체의 허가번호(prmisnNo), 대표자명(rprsntvNm) set - // setAddBsshInfo(resList); - // - // return resList; - // } - - - /** - *
-	 *     사고마약류폐기관리 생성
-	 * @param reqDto BizNimsRequest.DsuseMgt
-	 * @return BizNimsRequest.DsuseMgt 생성된 폐기관리 정보
-	 * 
- */ - // FIXME: 현재 미사용 - // public BizNimsDto.DsuseMgt saveDsuseMgt(BizNimsDto.DsuseMgt reqDto) { - // ApiUtil.validate(reqDto, null, validator); - // if(reqDto.getRndDtlRptCnt() != reqDto.getDsuseMgtDtls().size()) throw ApiCustomException.create("폐기물 보고수 오류[폐기물 갯수 확인]"); - // reqDto.setRgtr(reqDto.getUserId()); - // - // if(bizNimsMapper.insertDsuseMgt(reqDto) == 1){ - // int dtlCnt = 0; - // for (BizNimsDto.DsuseMgtDtl d : reqDto.getDsuseMgtDtls()) { - // d.setDscdmngId(reqDto.getDscdmngId()); - // d.setDscdmngSn(StringUtils.leftPad(dtlCnt + 1 + "", 3, "0")); - // d.setRgtr(reqDto.getUserId()); - // dtlCnt = dtlCnt + bizNimsMapper.insertDsuseMgtDtl(d); - // } - // if(reqDto.getDsuseMgtDtls().size() != dtlCnt) throw ApiCustomException.create("폐기 관리 상세 등록 실패"); - // } else { - // throw ApiCustomException.create("폐기 관리 마스터 등록 실패"); - // } - // return reqDto; - // } - - - - // @Override // public List saveStorageInfo(NimsApiRequest.StorageInfoRequest dto) { // NimsApiResult.Response result = infNimsService.getStorageInfo(dto); diff --git a/src/main/java/cokr/xit/adds/biz/nims/web/BizNimsController.java b/src/main/java/cokr/xit/adds/biz/nims/web/BizNimsController.java index 47781e3..9bfe821 100644 --- a/src/main/java/cokr/xit/adds/biz/nims/web/BizNimsController.java +++ b/src/main/java/cokr/xit/adds/biz/nims/web/BizNimsController.java @@ -163,14 +163,12 @@ public class BizNimsController { @Content(mediaType = "application/json", examples = { @ExampleObject(value = """ { - "sdt": "20240105", - "edt": "20240105", + "sdt": "20221016", + "edt": "20221116", "bc": "", "bn": "", - "ur": "", - "fg2": "0", - "ps": "01", - "userId": "suji" + "ur": "", + "userId": "cheoin" } """) }) diff --git a/src/main/java/cokr/xit/adds/core/Constants.java b/src/main/java/cokr/xit/adds/core/Constants.java index bd60760..8aa64d2 100644 --- a/src/main/java/cokr/xit/adds/core/Constants.java +++ b/src/main/java/cokr/xit/adds/core/Constants.java @@ -179,10 +179,10 @@ public class Constants { *
      * 폐기관리진행상태 - ADDS11
      * 01-폐기신청서 접수
-     * 06-폐기통보서작성
-     * 07-폐기내역서작성
-     * 11-폐기보고확인
-     * 21-폐기보고
+     * 06-폐기결과[통보]처리
+     * 11-폐기결과보고서작성
+     * 12-폐기처리내역및사진작성
+     * 21-폐기보고확인
      * 99-폐기보고완료
      * 
*/ @@ -190,10 +190,11 @@ public class Constants { public enum PRGRS_STTS_CD { // 폐기보고신청서의 데이타 입력 생성 - 폐기관리 데이타 생성 RECEIPT("01", "폐기신청서접수"), - NOTICE_WRITE("06", "폐기결과통보서작성"), - REPORT_WRITE("07", "폐기내역서작성"), + RESULT_EXEC("06", "폐기결과[통보]처리"), + RESULT_REPORT_WRITE("11", "폐기결과보고서작성"), + PROC_STTMT_WRITE("12", "폐기처리내역및사진작성"), // 폐기보고 데이타 매핑 완료 - MAPPING("11", "폐기보고확인"), + MAPPING("21", "폐기보고확인"), COMPLETE("99", "폐기보고완료") ; diff --git a/src/main/java/cokr/xit/adds/core/auth/service/bean/AuthApiServiceBean.java b/src/main/java/cokr/xit/adds/core/auth/service/bean/AuthApiServiceBean.java index ca53b6d..ad6e672 100644 --- a/src/main/java/cokr/xit/adds/core/auth/service/bean/AuthApiServiceBean.java +++ b/src/main/java/cokr/xit/adds/core/auth/service/bean/AuthApiServiceBean.java @@ -11,7 +11,6 @@ import cokr.xit.foundation.util.CharsEncoder; import egovframework.com.cmm.model.LoginVO; @Service -//public class AuthApiService extends EgovAbstractServiceImpl implements IAuthApiService { public class AuthApiServiceBean extends AbstractServiceBean implements IAuthApiService { @Resource diff --git a/src/main/java/cokr/xit/adds/inf/nims/model/NimsApiDto.java b/src/main/java/cokr/xit/adds/inf/nims/model/NimsApiDto.java index d43267f..ec1cff3 100644 --- a/src/main/java/cokr/xit/adds/inf/nims/model/NimsApiDto.java +++ b/src/main/java/cokr/xit/adds/inf/nims/model/NimsApiDto.java @@ -478,22 +478,18 @@ public class NimsApiDto { String rptInfoStr = String.join("", this.bsshCd, // 마약류취급자식별번호 this.hdrDe, // 취급일자 - // FIXME: API 적용 완료후 comment 제거 필요 - // this.dsuseSeCd, // 폐기구분코드 - // this.dsusePrvCd, // 폐기사유코드 - // this.dsuseMthCd, // 폐기방법코드 - ///////////////////////////////////////////////////////////////////// + this.dsuseSeCd, // 폐기구분코드 + this.dsusePrvCd, // 폐기사유코드 + this.dsuseMthCd, // 폐기방법코드 this.dsuseDe, // 폐기일자 String.valueOf(this.rndDtlRptCnt) // 수불상세보고수 ); String mgtInfoStr = String.join("", mgtDto.getBsshCd(), // 마약류취급자식별번호 mgtDto.getHdrDe(), - // FIXME: API 적용 완료후 comment 제거 필요// 취급일자 - // mgtDto.getDsuseSeCd(), // 폐기구분코드 - // mgtDto.getDsusePrvCd(), // 폐기사유코드 - // mgtDto.getDsuseMthCd(), // 폐기방법코드 - ///////////////////////////////////////////////////////////////// + mgtDto.getDsuseSeCd(), // 폐기구분코드 + mgtDto.getDsusePrvCd(), // 폐기사유코드 + mgtDto.getDsuseMthCd(), // 폐기방법코드 mgtDto.getDsuseDe(), // 폐기일자 String.valueOf(mgtDto.getRndDtlRptCnt()) // 수불상세보고수 ); @@ -563,7 +559,6 @@ public class NimsApiDto { continue; } - // FIXME: 상품정보 미일치 여부 set - 비교 필드 확정 필요 if (this.listDtl.size() == mgtDto.getDsuseMgtDtls().size()) { for (DsuseRptInfoDtl rptDtl : this.listDtl) { for (BizNimsDto.DsuseMgtDtl mgtDtl : mgtDto.getDsuseMgtDtls()) { diff --git a/src/main/java/cokr/xit/adds/inf/nims/model/NimsApiRequest.java b/src/main/java/cokr/xit/adds/inf/nims/model/NimsApiRequest.java index 7402451..228e12f 100644 --- a/src/main/java/cokr/xit/adds/inf/nims/model/NimsApiRequest.java +++ b/src/main/java/cokr/xit/adds/inf/nims/model/NimsApiRequest.java @@ -231,7 +231,7 @@ public class NimsApiRequest { /** * 인증키 */ - @Schema(requiredMode = REQUIRED, title = "인증키", description = "인증키", example = "1d6646562470902a61fc334c83a249cdcc5dc753426942138ee04342e66c8128") + @Schema(requiredMode = REQUIRED, title = "인증키", description = "인증키", example = "030723d4b6f30126a7abc350f78ee3b5fa2302f7ec7f22ad95d6c99db568db57") @NotEmpty(message = "인증키는 필수 입니다") String k; @@ -257,7 +257,7 @@ public class NimsApiRequest { * 빈값 : 전체 * 0: 신규, 1: 취소, 2: 변경 */ - @Schema(title = "보고유형('': 전체, 0:신규, 1:취소, 2:변경)", description = "보고유형('': 전체, 0:신규, 1:취소, 2:변경)", example = "0", allowableValues = {"", "0", "1", "2"}) + @Schema(title = "보고유형('': 전체, 0:신규, 1:취소, 2:변경)", description = "보고유형('': 전체, 0:신규, 1:취소, 2:변경)", example = " ", allowableValues = {"", "0", "1", "2"}) @Pattern(regexp = "^$|[012]", message = "보고유형 값을 확인해 주세요('': 전체, 0:신규, 1:취소, 2:변경)") String fg2; @@ -274,7 +274,7 @@ public class NimsApiRequest { * 조회 시작일(yyyyMMdd) * 최대 1개월 */ - @Schema(title = "조회 시작일(yyyyMMdd)", description = "조회 시작일(yyyyMMdd)", example = "20240105") + @Schema(title = "조회 시작일(yyyyMMdd)", description = "조회 시작일(yyyyMMdd)", example = "20221016") @Pattern(regexp = Constants.DATE_REGX, message = "조회 시작일은 필수 입니다(yyyyMMdd)") String sdt; @@ -282,7 +282,7 @@ public class NimsApiRequest { * 조회 종료일(yyyyMMdd) * 최대 1개월 */ - @Schema(title = "조회 종료일(yyyyMMdd)", description = "조회 종료일(yyyyMMdd)", example = "20240105") + @Schema(title = "조회 종료일(yyyyMMdd)", description = "조회 종료일(yyyyMMdd)", example = "20221116") @Pattern(regexp = Constants.DATE_REGX, message = "조회 종료일은 필수 입니다(yyyyMMdd)") String edt; @@ -308,7 +308,7 @@ public class NimsApiRequest { * 폐기 보고 상태 * "": 전체, 01: 확인, 02: 보류, 03: 정정, 04: 미처리 */ - @Schema(title = "상태", description = "상태(\"\": 전체, 01: 확인, 02: 보류, 03: 정정, 04: 미처리)", example = "01", allowableValues = {"01", "02", "03", "04"}) + @Schema(title = "상태", description = "상태(\"\": 전체, 01: 확인, 02: 보류, 03: 정정, 04: 미처리)", example = " ", allowableValues = {"01", "02", "03", "04"}) @Pattern(regexp = "^$|0[1-4]", message = "상태[폐기보고] 값을 확인해 주세요('': 전체, 01:확인, 02:보류, 03:정정, 04:미처리)") String ps; @@ -320,7 +320,7 @@ public class NimsApiRequest { * 4050149 - 수지구보건소 * */ - @Schema(requiredMode = REQUIRED, title = "관할관청기관코드", description = "관할관청기관코드", example = "4050149") + @Schema(requiredMode = REQUIRED, title = "관할관청기관코드", description = "관할관청기관코드", example = " ") @Pattern(regexp = "[0-9]{7}", message = "관할 관청 기관 코드는 필수 입니다(7자리)") String gc; @@ -329,7 +329,7 @@ public class NimsApiRequest { * 업무상 필요에 의해 추가 * */ - @Schema(title = "사용자ID", description = "해당 사용자ID로 관할관청코드및 API KEY 조회", example = "suji") + @Schema(title = "사용자ID", description = "해당 사용자ID로 관할관청코드및 API KEY 조회", example = "cheoin") String userId; } diff --git a/src/main/java/cokr/xit/adds/inf/nims/service/bean/InfNimsServiceBean.java b/src/main/java/cokr/xit/adds/inf/nims/service/bean/InfNimsServiceBean.java index f074817..51289ca 100644 --- a/src/main/java/cokr/xit/adds/inf/nims/service/bean/InfNimsServiceBean.java +++ b/src/main/java/cokr/xit/adds/inf/nims/service/bean/InfNimsServiceBean.java @@ -1,8 +1,5 @@ package cokr.xit.adds.inf.nims.service.bean; -import java.util.List; -import java.util.Map; - import javax.validation.Validation; import javax.validation.Validator; @@ -17,7 +14,6 @@ import cokr.xit.adds.core.util.ApiUtil; import cokr.xit.adds.inf.nims.model.NimsApiDto; import cokr.xit.adds.inf.nims.model.NimsApiRequest; import cokr.xit.adds.inf.nims.model.NimsApiResult; -import cokr.xit.adds.inf.nims.model.NimsApiResult2; import cokr.xit.adds.inf.nims.service.InfNimsService; import cokr.xit.foundation.component.AbstractServiceBean; import cokr.xit.foundation.data.JSON; @@ -130,6 +126,21 @@ public class InfNimsServiceBean extends AbstractServiceBean implements InfNimsSe return result.getResponse(); } + @Override + public NimsApiResult.Response getDsuseRptInfo(NimsApiRequest.DsuseRptInfoReq dto) { + //FIXME: API 운영반영시 까지 comment 처리 - gc(관할군청코드 필수) skip + //ApiUtil.validate(dto, null, validator); + ApiUtil.checkYmdError(dto.getSdt(), "sdt"); + ApiUtil.checkYmdError(dto.getEdt(), "edt"); + + // FIXME: API 호출 시 주석 해제 + String rslt = ApiUtil.callNimsApi(nimsUrl + dsuseresult, dto); + + NimsApiResult result = json.parse(rslt, new TypeReference<>() {}); + return result.getResponse(); + } + + // @Override // @TraceLogging // public NimsApiResult.Response getStorageInfo(NimsApiRequest.StorageInfoRequest dto) { @@ -146,62 +157,4 @@ public class InfNimsServiceBean extends AbstractServiceBean implements InfNimsSe // NimsApiResult result = json.parse(rslt, new TypeReference<>() {}); // return result.getResponse(); // } - - @Override - public NimsApiResult.Response getDsuseRptInfo(NimsApiRequest.DsuseRptInfoReq dto) { - ApiUtil.validate(dto, null, validator); - ApiUtil.checkYmdError(dto.getSdt(), "sdt"); - ApiUtil.checkYmdError(dto.getEdt(), "edt"); - - // FIXME: API 호출 시 주석 해제 - String rslt = ApiUtil.callNimsApi(nimsUrl + dsuseresult, dto); - - - ///////////////////////////////////////////////////////////////////////////////// - // FIXME: API 오류 보정을 위해 임시로 사용 - // listDtl의 값이 [] String 형태로 들어오는데, 이를 객체로 변환하기 위해 처리 - // "listDtl": "[{PCE_UNIT=정 PRDUCT_CD=8806519017940 DSUSE_QY=28 MNF_NO=20005 MNF_SEQ=2010136201005327 MIN_DISTB_UNIT=병 PRD_VALID_DE=20230722 PCE_QY=0 PRDUCT_NM=졸피신정10mg (10mg) USR_RPT_ID_NO=AAR_R240108122001673_H0000 MIN_DISTB_QY=1}]", - NimsApiResult2 tempResult = json.parse(rslt, new TypeReference<>() {}); - - List list = null; - try{ - list = tempResult.getResponse().getResult(); - } catch (ApiCustomException e) { - throw e; - } - list = tempResult.getResponse().getResult(); - - for (Object o : list) { - Map map = (Map)o; - String input = map.get("listDtl").toString(); - - // Remove the brackets at the beginning and end of the string - input = input.substring(1, input.length() - 1); - - // Split the string into individual objects - String[] objects = input.split("\\}\\s*\\{"); - - // Process each object - for (int i = 0; i < objects.length; i++) { - // Add back the curly braces - objects[i] = objects[i].startsWith("{") ? objects[i] : "{" + objects[i]; - objects[i] = objects[i].endsWith("}") ? objects[i] : objects[i] + "}"; - - objects[i] = objects[i].replaceAll("(\\w+_QY)=([^=]+)\\s{2}", "\"$1\":$2,"); - objects[i] = objects[i].replaceAll("(\\w+)=([^=]+)\\s{2}", "\"$1\":\"$2\","); - objects[i] = objects[i].replaceAll("(\\w+)=([^=]+)\\}", "\"$1\":$2}"); - } - - // Join the objects back into a single string - String output = "[" + String.join(", ", objects) + "]"; - //json.parse(output, new TypeReference<>() {}); - map.put("listDtl", json.parse(output, new TypeReference<>() {})); - } - String tmp = json.stringify(tempResult); - // FIXME: API 오류 보정을 위해 임시로 사용 - ///////////////////////////////////////////////////////////////////////////////// - - NimsApiResult result = json.parse(tmp, new TypeReference<>() {}); - return result.getResponse(); - } } diff --git a/src/main/resources/config/application-nims.yml b/src/main/resources/config/application-nims.yml index 8493a56..6dbbaa6 100644 --- a/src/main/resources/config/application-nims.yml +++ b/src/main/resources/config/application-nims.yml @@ -23,7 +23,7 @@ spring: app: inf: nims: - url: https://www.nims.or.kr + url: https://test.nims.or.kr --- spring: