From feb357af534cb098e052affafb753220ccefd38b Mon Sep 17 00:00:00 2001 From: "Jonguk. Lim" Date: Thu, 13 Jun 2024 11:44:05 +0900 Subject: [PATCH] =?UTF-8?q?fix:=20NIMS=20API=20=EC=A0=95=EB=A6=AC=20=20=20?= =?UTF-8?q?=20=20=20swagger=20=EC=A1=B0=ED=9A=8C=20=ED=95=84=EC=88=98=20co?= =?UTF-8?q?mment=20=EC=B6=94=EA=B0=80=20=20=20=20=20=20default=20=EC=A1=B0?= =?UTF-8?q?=ED=9A=8C=20=EC=A1=B0=EA=B1=B4=20=EC=B6=94=EA=B0=80=20=EC=84=A4?= =?UTF-8?q?=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../nims/service/bean/BizNimsServiceBean.java | 8 ++ .../adds/biz/nims/web/BizNimsController.java | 12 +-- .../nims/service/bean/InfNimsServiceBean.java | 2 +- src/main/resources/sql/work/nims_work.sql | 98 +++++++++++++++++++ 4 files changed, 113 insertions(+), 7 deletions(-) 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 e937f3e..603475f 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 @@ -91,6 +91,9 @@ public class BizNimsServiceBean extends AbstractServiceBean implements BizNimsSe if(isEmpty(reqDto.getK())){ reqDto.setK(getApiInfInfo(reqDto.getUserId()).get("apiKey")); } + reqDto.setFg("1"); // 조회범위(1-전체,2-내거래처) + reqDto.setPg("1"); // 조회페이지 + reqDto.setFg2("1"); // 조회범위2(1:NK(취급승인)포함 - default, 2:NK(취급승인)제외) while(true) { // 마약류취급자식별번호로 마약류취급자정보 조회 @@ -154,6 +157,9 @@ public class BizNimsServiceBean extends AbstractServiceBean implements BizNimsSe if(isEmpty(reqDto.getK())){ reqDto.setK(getApiInfInfo(reqDto.getUserId()).get("apiKey")); } + reqDto.setFg("1"); // 조회범위(1-전체,2-내거래처품목,3-청구코드매핑) + reqDto.setPg("1"); // 조회페이지 + reqDto.setFg2(""); // 중점일반구분(all, 1:중점, 2:일반) while(true) { // 제품코드로 제품정보 조회 @@ -182,6 +188,8 @@ public class BizNimsServiceBean extends AbstractServiceBean implements BizNimsSe if(isEmpty(reqDto.getK())){ reqDto.setK(getApiInfInfo(reqDto.getUserId()).get("apiKey")); } + reqDto.setFg("1"); // 제조번호 또는 일련번호 구분(1-제조번호, 2-일련번호, 3-바코드/RFID) + reqDto.setPg("1"); // 조회페이지 NimsApiResult.Response response = infNimsService.getMnfSeqInfo(reqDto); List results = response.getResult(); 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 5ea2bb0..82a05d4 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 @@ -54,7 +54,7 @@ public class BizNimsController { //------------------------------------------------------------------------------------------------------ // NIMS API CALL //------------------------------------------------------------------------------------------------------ - @Operation(summary = "NIMS 마약류 취급자 정보 조회", description = "마약류 취급자 정보 조회

NIMS API 호출 결과를 DB에 저장후 결과 Return

bi-사업자등록번호, hp-요양기관번호, bn-업체명, bc-취급자식별번호 중 하나는 필수", tags = { "NIMS API" }) + @Operation(summary = "NIMS 마약류 취급자 정보 조회", description = "마약류 취급자 정보 조회
NIMS API 호출 결과를 DB에 저장후 결과 Return

아래 항목만 set
bi - 사업자등록번호
hp - 요양기관번호
bn - 업체명
bc - 취급자식별번호
dbSkipYn - N : db조회후 결과 없는경우만 API호출, Y : API 호출
userId - 사용자ID
bi, hp, bn, bc중 하나는 필수", tags = { "NIMS API" }) @RequestMapping(value = "/getNimsBsshInfoSt", method = { RequestMethod.POST, RequestMethod.GET }) public ApiBaseResponse> getNimsBsshInfoSt( @ModelAttribute NimsApiRequest.BsshInfoReq dto @@ -62,7 +62,7 @@ public class BizNimsController { return ApiBaseResponse.of(bizNimsService.saveBsshInfoSt(dto)); } - @Operation(summary = "NIMS 마약류 제품 조회", description = "마약류 제품 조회

NIMS API 호출 결과를 DB에 저장후 결과 Return", tags = { "NIMS API" }) + @Operation(summary = "NIMS 마약류 제품 조회", description = "마약류 제품 조회
NIMS API 호출 결과를 DB에 저장후 결과 Return

아래 항목만 set
p - 제품번호
pn - 제품명
dbSkipYn - N:db조회후 결과 없는경우만 API호출, Y:API 호출
userId - 사용자ID
p, pn중 하나는 필수", tags = { "NIMS API" }) @RequestMapping(value = "/getNimsProductInfoKd", method = { RequestMethod.POST, RequestMethod.GET }) public ApiBaseResponse> getNimsMnfSeqInfo( @ModelAttribute NimsApiRequest.ProductInfoReq dto @@ -70,7 +70,7 @@ public class BizNimsController { return ApiBaseResponse.of(bizNimsService.saveProductInfoKd(dto, false)); } - @Operation(summary = "NIMS 마약류 상품 정보 & 제조번호 조회", description = "마약류 상품정보 & 제조번호 조회

NIMS API 호출 결과를 DB에 저장후 결과 Return", tags = { "NIMS API" }) + @Operation(summary = "NIMS 마약류 상품 정보 & 제조번호 조회", description = "마약류 상품정보 & 제조번호 조회
NIMS API 호출 결과를 DB에 저장후 결과 Return

아래 항목만 set
p - 제품번호
pn - 제품명
dbSkipYn - N:db조회후 결과 없는경우만 API호출, Y:API 호출
userId - 사용자ID
p, pn중 하나는 필수", tags = { "NIMS API" }) @RequestMapping(value = "/getNimsProductInfoKdAndMnfSeqInfo", method = { RequestMethod.POST, RequestMethod.GET }) public ApiBaseResponse> getNimsProductInfoKdAndMnfSeqInfo( @ModelAttribute NimsApiRequest.ProductInfoReq dto @@ -78,7 +78,7 @@ public class BizNimsController { return ApiBaseResponse.of(bizNimsService.saveProductInfoKd(dto, true)); } - @Operation(summary = "NIMS 제조 일련 번호 정보 조회", description = "제보 일련 번호 정보 조회

NIMS API 호출 결과 Return", tags = { "NIMS API" }) + @Operation(summary = "NIMS 제조 일련 번호 정보 조회", description = "제보 일련 번호 정보 조회
NIMS API 호출 결과 Return

아래 항목만 set
p - 제품번호
userId - 사용자ID", tags = { "NIMS API" }) @RequestMapping(value = "/getNimsMnfSeqInfo", method = { RequestMethod.POST, RequestMethod.GET }) public ApiBaseResponse> getNimsMnfSeqInfo( @ModelAttribute NimsApiRequest.MnfSeqInfoReq dto @@ -86,7 +86,7 @@ public class BizNimsController { return ApiBaseResponse.of(bizNimsService.getMnfSeqInfo(dto)); } - @Operation(summary = "NIMS 관할 허가 관청 정보 조회", description = "관할 허가 관청 정보 조회

NIMS API 호출 결과 Return", tags = { "NIMS API" }) + @Operation(summary = "NIMS 관할 허가 관청 정보 조회", description = "관할 허가 관청 정보 조회

NIMS API 호출 결과를 DB에 저장후 결과 Return

아래 항목만 set
onm - 기관명
ocd - 기관코드
adr - 주소
dbSkipYn - N : db조회후 결과 없는경우만 API호출, Y : API 호출
userId - 사용자ID
onm, ocd, adr중 하나는 필수", tags = { "NIMS API" }) @RequestMapping(value = "/getNimsJurisdictionGovInfo", method = { RequestMethod.POST, RequestMethod.GET }) public ApiBaseResponse> getNimsJurisdictionGovInfo( @ModelAttribute NimsApiRequest.JurisdictionGovInfoReq dto @@ -94,7 +94,7 @@ public class BizNimsController { return ApiBaseResponse.of(bizNimsService.getJurisdictionGovInfo(dto)); } - @Operation(summary = "Nims 폐기 보고 조회", description = "NIMS의 업체 폐기 보고 정보 목록 조회", tags = { "NIMS API" }) + @Operation(summary = "Nims 폐기 보고 조회", description = "NIMS의 업체 폐기 보고 정보 목록 조회

NIMS API 호출 결과를 DB에 저장후 결과 Return

아래 항목만 set
sdt - 조회시작일(취급일자)
edt - 조회종료일(취급일자)
bc - 마약류취급자식별번호
bn - 마약류취급자업체명
ur - 사용자보고식별번호
userId - 사용자ID
bc, bn, ur는 모두 null 가능", tags = { "NIMS API" }) // @io.swagger.v3.oas.annotations.parameters.RequestBody(required = true, content = { // @Content(mediaType = "application/json", examples = { // @ExampleObject(value = """ 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 6d1b7e7..a5ade26 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 @@ -91,7 +91,7 @@ public class InfNimsServiceBean extends AbstractServiceBean implements InfNimsSe } @Override - //@TraceLogging + @TraceLogging public NimsApiResult.Response getProductInfoKd(NimsApiRequest.ProductInfoReq dto) { ApiUtil.validate(dto, null, validator); if(!isEmpty(dto.getYmd())) ApiUtil.checkYmdError(dto.getYmd(), null); diff --git a/src/main/resources/sql/work/nims_work.sql b/src/main/resources/sql/work/nims_work.sql index 78e7a02..5ed3b95 100644 --- a/src/main/resources/sql/work/nims_work.sql +++ b/src/main/resources/sql/work/nims_work.sql @@ -147,4 +147,102 @@ select tdm.dscdmng_id, order by tdm.dscdmng_id desc; + SELECT tdm.DSCDMNG_ID /* 폐기관리 ID */ + , tdm.DEPT_CD /* 부서 코드 */ + , tdm.USER_ID /* 사용자 ID */ + , tdm.PRGRS_STTS_CD /* 진행상태 코드 */ + , tcc1.CODE_VAL PRGRS_STTS_NM /* 진행상태 */ + , tdm.BSSH_CD /* 마약류취급자 식별번호 */ + , tdm.RND_DTL_RPT_CNT /* 수불_상세_보고_수 */ + , tdm.HDR_DE /* 취급 일자 */ + , tdm.DSUSE_SE_CD /* 폐기 구분 코드 */ + , tcc2.CODE_VAL DSUSE_SE_NM /* 폐기 구분 */ + , tdm.DSUSE_PRV_CD /* 폐기 사유 코드 */ + , tcc3.CODE_VAL DSUSE_PRV_NM /* 폐기 사유 */ + , tdm.DSUSE_MTH_CD /* 폐기 방법 코드 */ + , tcc4.CODE_VAL DSUSE_MTH_NM /* 폐기 방법 */ + , tdm.DSUSE_LOC /* 폐기 장소 */ + , tdm.DSUSE_DE /* 폐기 일자 */ + , tdm.STTS /* 처리상태 */ + , tdm.USR_RPT_ID_NO /* 사용자 보고 식별 번호 */ + , tdm.ORG_USR_RPT_ID_NO /* 원 사용자 보고 식별 번호 */ + , tdm.RPT_TY_CD /* 보고 유형 코드 */ + , tcc5.CODE_VAL RPT_TY_NM /* 보고 유형 */ + , tdm.USE_YN /* 사용여부 */ + , CASE WHEN tdm.MDFCN_DT IS NOT NULL THEN tdm.MDFCN_DT + ELSE tdm.REG_DT + END AS MDFCN_DT /* 수정일시 */ + , CASE WHEN tdm.MDFR IS NOT NULL THEN tdm.MDFR + ELSE tdm.RGTR + END AS MDFR /* 수정자 */ + , tbi.BSSH_NM /* 업체 명 */ + , tbi.INDUTY_NM /* 업종 명 */ + , tbi.BIZRNO /* 사업자등록번호 */ + , tbi.RPRSNTV_NM /* 대표자 명 */ + , tbi.HPTL_NO /* 요양기관 번호 */ + , tbi.PRMISN_NO /* 허가번호 */ + FROM TB_DSUSE_MGT tdm + LEFT JOIN TB_BSSH_INFO tbi + ON tdm.BSSH_CD = tbi.BSSH_CD + left join tb_cmn_code tcc1 + on (tdm.PRGRS_STTS_CD = tcc1.CODE + AND tcc1.GRP_ID = 'ADDS11') + left join tb_cmn_code tcc2 + on (tdm.DSUSE_SE_CD = tcc2.CODE + AND tcc2.GRP_ID = 'ADDS03') + left join tb_cmn_code tcc3 + on (tdm.DSUSE_PRV_CD = tcc3.CODE + AND tcc3.GRP_ID = 'ADDS04') + left join tb_cmn_code tcc4 + on (tdm.DSUSE_MTH_CD = tcc4.CODE + AND tcc4.GRP_ID = 'ADDS05') + left join tb_cmn_code tcc5 + on (tdm.RPT_TY_CD = tcc5.CODE + AND tcc5.GRP_ID = 'ADDS02'); +WITH CodeValues AS ( + SELECT + CODE, + GRP_ID, + CODE_VAL + FROM TB_CMN_CODE + WHERE GRP_ID IN ('ADDS11', 'ADDS03', 'ADDS04', 'ADDS05', 'ADDS02') +) +SELECT tdm.DSCDMNG_ID, /* 폐기관리 ID */ + tdm.DEPT_CD, /* 부서 코드 */ + tdm.USER_ID, /* 사용자 ID */ + tdm.PRGRS_STTS_CD, /* 진행상태 코드 */ + tcc1.CODE_VAL PRGRS_STTS_NM, /* 진행상태 */ + tdm.BSSH_CD, /* 마약류취급자 식별번호 */ + tdm.RND_DTL_RPT_CNT, /* 수불_상세_보고_수 */ + tdm.HDR_DE, /* 취급 일자 */ + tdm.DSUSE_SE_CD, /* 폐기 구분 코드 */ + tcc2.CODE_VAL DSUSE_SE_NM, /* 폐기 구분 */ + tdm.DSUSE_PRV_CD, /* 폐기 사유 코드 */ + tcc3.CODE_VAL DSUSE_PRV_NM, /* 폐기 사유 */ + tdm.DSUSE_MTH_CD, /* 폐기 방법 코드 */ + tcc4.CODE_VAL DSUSE_MTH_NM, /* 폐기 방법 */ + tdm.DSUSE_LOC, /* 폐기 장소 */ + tdm.DSUSE_DE, /* 폐기 일자 */ + tdm.STTS, /* 처리상태 */ + tdm.USR_RPT_ID_NO, /* 사용자 보고 식별 번호 */ + tdm.ORG_USR_RPT_ID_NO, /* 원 사용자 보고 식별 번호 */ + tdm.RPT_TY_CD, /* 보고 유형 코드 */ + tcc5.CODE_VAL RPT_TY_NM, /* 보고 유형 */ + tdm.USE_YN, /* 사용여부 */ + COALESCE(tdm.MDFCN_DT, tdm.REG_DT) AS MDFCN_DT, /* 수정일시 */ + COALESCE(tdm.MDFR, tdm.RGTR) AS MDFR, /* 수정자 */ + tbi.BSSH_NM, /* 업체 명 */ + tbi.INDUTY_NM, /* 업종 명 */ + tbi.BIZRNO, /* 사업자등록번호 */ + tbi.RPRSNTV_NM, /* 대표자 명 */ + tbi.HPTL_NO, /* 요양기관 번호 */ + tbi.PRMISN_NO /* 허가번호 */ + FROM TB_DSUSE_MGT tdm + LEFT JOIN TB_BSSH_INFO tbi ON tdm.BSSH_CD = tbi.BSSH_CD + LEFT JOIN CodeValues tcc1 ON tdm.PRGRS_STTS_CD = tcc1.CODE AND tcc1.GRP_ID = 'ADDS11' + LEFT JOIN CodeValues tcc2 ON tdm.DSUSE_SE_CD = tcc2.CODE AND tcc2.GRP_ID = 'ADDS03' + LEFT JOIN CodeValues tcc3 ON tdm.DSUSE_PRV_CD = tcc3.CODE AND tcc3.GRP_ID = 'ADDS04' + LEFT JOIN CodeValues tcc4 ON tdm.DSUSE_MTH_CD = tcc4.CODE AND tcc4.GRP_ID = 'ADDS05' + LEFT JOIN CodeValues tcc5 ON tdm.RPT_TY_CD = tcc5.CODE AND tcc5.GRP_ID = 'ADDS02' +; \ No newline at end of file