fix: 폐기보고API 반영

dev
Jonguk. Lim 6 months ago
parent 0728f6ef2b
commit 8ff4808c8a

@ -257,12 +257,12 @@ public class BizNimsRequest {
@Pattern(regexp = Constants.DATE_REGX, message = "취급일자를 정확히 입력해 주세요(yyyyMMdd)") @Pattern(regexp = Constants.DATE_REGX, message = "취급일자를 정확히 입력해 주세요(yyyyMMdd)")
private String hdrDe; private String hdrDe;
/** // /**
* // * 보고일자
*/ // */
@Schema(title = "보고일자", example = " ") // @Schema(title = "보고일자", example = " ")
@Pattern(regexp = Constants.DATE_REGX, message = "보고일자를 정확히 입력해 주세요(yyyyMMdd)") // @Pattern(regexp = Constants.DATE_REGX, message = "보고일자를 정확히 입력해 주세요(yyyyMMdd)")
private String rptDe; // private String rptDe;
/** /**
* <pre> * <pre>

@ -86,12 +86,12 @@ public class BizNimsResponse {
private String bsshNm; private String bsshNm;
/** /**
* * : minDistbUnit
*/ */
private String stdPackngStleNm; private String stdPackngStleNm;
/** /**
* * : pceUnit
*/ */
private String pceCoUnitNm; private String pceCoUnitNm;
} }

@ -256,7 +256,7 @@ public class BizNimsServiceBean extends AbstractServiceBean implements BizNimsSe
Map<String, String> apiInfInfo = getApiInfInfo(reqDto.getUserId()); Map<String, String> apiInfInfo = getApiInfInfo(reqDto.getUserId());
reqDto.setK(apiInfInfo.get("apiKey")); reqDto.setK(apiInfInfo.get("apiKey"));
reqDto.setFg4(apiInfInfo.get("deptCd")); // 관할관청코드 reqDto.setGc(apiInfInfo.get("deptCd")); // 관할관청코드
while(true) { while(true) {
NimsApiResult.Response<NimsApiDto.DsuseRptInfo> rslt = infNimsService.getDsuseRptInfo(reqDto); NimsApiResult.Response<NimsApiDto.DsuseRptInfo> rslt = infNimsService.getDsuseRptInfo(reqDto);
@ -548,15 +548,14 @@ public class BizNimsServiceBean extends AbstractServiceBean implements BizNimsSe
NimsApiRequest.DsuseRptInfoReq rptDto = NimsApiRequest.DsuseRptInfoReq.builder() NimsApiRequest.DsuseRptInfoReq rptDto = NimsApiRequest.DsuseRptInfoReq.builder()
.k(apiInfInfo.get("apiKey")) .k(apiInfInfo.get("apiKey"))
.fg("1") .fg("2") // 조회기준일자 : 1-보고일자, 2-취급일자
.pg("1") .pg("1")
.fg2("2") .fg2("") // 보고 유형: ""- 전체, 0-신규, 1-취소, 2-변경
.se("AAR") .se("AAR") // 보고구분: AAR-폐기
.fg3("1") // 조회기준일자 : 1-보고일자, 2-취급일자 .sdt(reqDto.getHdrDe())
.sdt("20220101") .edt(reqDto.getHdrDe())
.edt("20220131")
.bc(reqDto.getBsshCd()) .bc(reqDto.getBsshCd())
.fg4(apiInfInfo.get("deptCd")) .gc(apiInfInfo.get("deptCd"))
.build(); .build();
// 1. GET 폐기보고 데이타 목록 - NIMS API 호출 // 1. GET 폐기보고 데이타 목록 - NIMS API 호출

@ -152,7 +152,6 @@ public class BizNimsController {
"bsshCd": "H00008333", "bsshCd": "H00008333",
"rndDtlRptCnt": 2, "rndDtlRptCnt": 2,
"hdrDe": "20240301", "hdrDe": "20240301",
"rptDe": "20240305",
"dsuseSeCd": "1", "dsuseSeCd": "1",
"dsusePrvCd": "04", "dsusePrvCd": "04",
"dsuseMthCd": "3", "dsuseMthCd": "3",

@ -393,6 +393,12 @@ public class NimsApiDto {
@JsonAlias("STATUS") @JsonAlias("STATUS")
private String status; private String status;
/**
*
*/
@JsonAlias("DSUSE_PROCESS_DE")
private String dsuseProcessDe;
/** /**
* *
*/ */
@ -470,7 +476,6 @@ public class NimsApiDto {
String rptInfo = String.join("", String rptInfo = String.join("",
this.bsshCd, // 마약류취급자식별번호 this.bsshCd, // 마약류취급자식별번호
this.hdrDe, // 취급일자 this.hdrDe, // 취급일자
this.rptDe, // 보고일자
this.dsuseSeCd, // 폐기구분코드 this.dsuseSeCd, // 폐기구분코드
this.dsusePrvCd, // 폐기사유코드 this.dsusePrvCd, // 폐기사유코드
this.dsuseMthCd, // 폐기방법코드 this.dsuseMthCd, // 폐기방법코드
@ -480,7 +485,6 @@ public class NimsApiDto {
String mgtInfo = String.join("", String mgtInfo = String.join("",
mgtDto.getBsshCd(), // 마약류취급자식별번호 mgtDto.getBsshCd(), // 마약류취급자식별번호
mgtDto.getHdrDe(), // 취급일자 mgtDto.getHdrDe(), // 취급일자
mgtDto.getRptDe(), // 보고일자
mgtDto.getDsuseSeCd(), // 폐기구분코드 mgtDto.getDsuseSeCd(), // 폐기구분코드
mgtDto.getDsusePrvCd(), // 폐기사유코드 mgtDto.getDsusePrvCd(), // 폐기사유코드
mgtDto.getDsuseMthCd(), // 폐기방법코드 mgtDto.getDsuseMthCd(), // 폐기방법코드
@ -494,9 +498,9 @@ public class NimsApiDto {
for (DsuseRptInfoDtl rptDtl : this.dsuseRptInfoDtls) { for (DsuseRptInfoDtl rptDtl : this.dsuseRptInfoDtls) {
for (BizNimsRequest.DsuseMgtDtl mgtDtl : mgtDto.getDsuseMgtDtls()) { for (BizNimsRequest.DsuseMgtDtl mgtDtl : mgtDto.getDsuseMgtDtls()) {
if (rptDtl.getPrductCd().equals(mgtDtl.getPrductCd()) if (rptDtl.getPrductCd().equals(mgtDtl.getPrductCd())
// && rptDtl.getMnfNo().equals(mgtDtl.getMnfNo()) && rptDtl.getMnfNo().equals(mgtDtl.getMnfNo())
// && rptDtl.getPrdValidDe().equals(mgtDtl.getPrdValidDe()) && rptDtl.getPrdValidDe().equals(mgtDtl.getPrdValidDe())
// && rptDtl.getMnfSeq().equals(mgtDtl.getMnfSeq()) && rptDtl.getMnfSeq().equals(mgtDtl.getMnfSeq())
&& rptDtl.getDsuseQy().equals(mgtDtl.getDsuseQy())) { && rptDtl.getDsuseQy().equals(mgtDtl.getDsuseQy())) {
mgtDtl.setValidYn("Y"); mgtDtl.setValidYn("Y");
break; break;
@ -557,9 +561,9 @@ public class NimsApiDto {
for (DsuseRptInfoDtl rptDtl : this.dsuseRptInfoDtls) { for (DsuseRptInfoDtl rptDtl : this.dsuseRptInfoDtls) {
for (BizNimsRequest.DsuseMgtDtl mgtDtl : mgtDto.getDsuseMgtDtls()) { for (BizNimsRequest.DsuseMgtDtl mgtDtl : mgtDto.getDsuseMgtDtls()) {
if (rptDtl.getPrductCd().equals(mgtDtl.getPrductCd()) if (rptDtl.getPrductCd().equals(mgtDtl.getPrductCd())
// && rptDtl.getMnfNo().equals(mgtDtl.getMnfNo()) && rptDtl.getMnfNo().equals(mgtDtl.getMnfNo())
// && rptDtl.getPrdValidDe().equals(mgtDtl.getPrdValidDe()) && rptDtl.getPrdValidDe().equals(mgtDtl.getPrdValidDe())
// && rptDtl.getMnfSeq().equals(mgtDtl.getMnfSeq()) && rptDtl.getMnfSeq().equals(mgtDtl.getMnfSeq())
&& rptDtl.getDsuseQy().equals(mgtDtl.getDsuseQy())) { && rptDtl.getDsuseQy().equals(mgtDtl.getDsuseQy())) {
mgtDtl.setValidYn("Y"); mgtDtl.setValidYn("Y");
break; break;
@ -616,12 +620,24 @@ public class NimsApiDto {
@JsonAlias("MIN_DISTB_QY") @JsonAlias("MIN_DISTB_QY")
private Integer minDistbQy; private Integer minDistbQy;
/**
*
*/
@JsonAlias("MIN_DISTB_UNIT")
private String minDistbUnit;
/** /**
* *
*/ */
@JsonAlias("PCE_QY") @JsonAlias("PCE_QY")
private Integer pceQy; private Integer pceQy;
/**
*
*/
@JsonAlias("PCE_UNIT")
private String pceUnit;
/** /**
* *
*/ */
@ -640,13 +656,6 @@ public class NimsApiDto {
@JsonAlias("MNF_SEQ") @JsonAlias("MNF_SEQ")
private String mnfSeq; private String mnfSeq;
/**
*
* 1102: , 1170:
*/
@JsonAlias("MVMN_TY_CD")
private String mvmnTyCd;
/** /**
* *
*/ */

@ -236,13 +236,14 @@ public class NimsApiRequest {
String k; String k;
/** /**
* * (1-,2-)
* 1-(, ), 2-(,,) * 1- : NIMS -
* 2-
*/ */
@Schema(requiredMode = REQUIRED, title = "조회범위(1-취소제외(신규,변경), 2-취소포함)", description = "조회범위(1-취소제외(신규,변경), 2-취소포함)", example = "1", allowableValues = {"1", "2"}) @Schema(requiredMode = REQUIRED, title = "조회기준일자(1-보고일,2-취급일)", description = "조회기준일자(1-보고일,2-취급일)", example = "2", allowableValues = {"1", "2"})
@Pattern(regexp = "[12]", message = "조회범위는 필수 입니다(1-취소제외(신규,변경), 2-취소포함)") @Pattern(regexp = "[12]", message = "조회기준일자는 필수 입니다(1-보고일,2-취급일")
@Builder.Default @Builder.Default
String fg = "1"; String fg = "2";
/** /**
* *
@ -252,34 +253,23 @@ public class NimsApiRequest {
String pg; String pg;
/** /**
* *
* 1: * :
* 2:(, ) * 0: , 1: , 2:
*/ */
@Schema(title = "상태(1:정상, 2:전체(정상,변경,취소))", description = "상태(1:정상, 2:전체(정상,변경,취소))", example = "1", allowableValues = {"1", "2"}) @Schema(title = "보고유형('': 전체, 0:신규, 1:취소, 2:변경)", description = "보고유형('': 전체, 0:신규, 1:취소, 2:변경)", example = " ", allowableValues = {"", "0", "1", "2"})
@Pattern(regexp = "[12]", message = "상태는 필수 입니다(상태(1:정상, 2:전체(정상,변경,취소))") @Pattern(regexp = "^$|[012]", message = "보고유형 값을 확인해 주세요('': 전체, 0:신규, 1:취소, 2:변경)")
@Builder.Default String fg2;
String fg2 = "1";
/** /**
* *
* AAR - * AAR -
*/ */
@Schema(title = "보고 구분 코드(AAR-폐기보고)", description = "보고 구분 코드(AAR-폐기보고)", example = "AAR") @Schema(title = "보고 구분 코드(AAR-폐기보고)", description = "보고 구분 코드(AAR-폐기보고)", example = "AAR")
@Pattern(regexp = "[A-Z]{3}", message = "보고 구분 코드는 필수 입니다(AAR-폐기보고)") @Pattern(regexp = "[A-Z]{3}", message = "보고 구분 코드는 필수 입니다(AAR-폐기보고)")
@Builder.Default @Builder.Default
String se = "AAR"; String se = "AAR";
/**
*
* 1:
* 2:
*/
@Schema(title = "조회 기준 일자(1:보고 일자, 2:취급 일자)", description = "조회 기준 일자(1:보고 일자, 2:취급 일자)", example = "1", allowableValues = {"1", "2"})
@Pattern(regexp = "[12]", message = "조회 기준 일자는 필수 입니다(1:보고 일자, 2:취급 일자)")
@Builder.Default
String fg3 = "1";
/** /**
* (yyyyMMdd) * (yyyyMMdd)
* 1 * 1
@ -315,20 +305,24 @@ public class NimsApiRequest {
String ur; String ur;
/** /**
* FIXME : *
* * 01: , 02: , 03: , 04:
* 0: , 1: , 2: , 3:
*/ */
@Schema(title = "폐기 보고 진행 상태", description = "폐기 보고 진행 상태", example = " ", allowableValues = {"0", "1", "2", "3"}) @Schema(title = "상태", description = "상태", example = " ", allowableValues = {"01", "02", "03", "04"})
@Pattern(regexp = "^$|0[1-4]", message = "상태[폐기보고] 값을 확인해 주세요('': 전체, 01:확인, 02:보류, 03:정정, 04:미처리)")
String ps; String ps;
/** /**
* FIXME : * <pre>
*
* 4050147 -
* 4050148 -
* 4050149 - * 4050149 -
* </pre>
*/ */
@Schema(title = "관할관청기관코드", description = "관할관청기관코드", example = "4050149") @Schema(requiredMode = REQUIRED, title = "관할관청기관코드", description = "관할관청기관코드", example = "4050149")
@NotEmpty(message = "관할 관청 기관 코드는 필수 입니다") @Pattern(regexp = "[0-9]{7}", message = "관할 관청 기관 코드는 필수 입니다(7자리)")
String fg4; String gc;
/** /**
* <pre> * <pre>

@ -145,6 +145,7 @@ public class InfNimsServiceBean extends AbstractServiceBean implements InfNimsSe
ApiUtil.checkYmdError(dto.getSdt(), "sdt"); ApiUtil.checkYmdError(dto.getSdt(), "sdt");
ApiUtil.checkYmdError(dto.getEdt(), "edt"); ApiUtil.checkYmdError(dto.getEdt(), "edt");
// FIXME: API 호출 시 주석 해제
//String rslt = ApiUtil.callNimsApi(nimsUrl + reportinfo, dto); //String rslt = ApiUtil.callNimsApi(nimsUrl + reportinfo, dto);
//NimsApiResult<NimsApiDto.DsuseRpt> result = json.parse(rslt, new TypeReference<>() {}); //NimsApiResult<NimsApiDto.DsuseRpt> result = json.parse(rslt, new TypeReference<>() {});
//return result.getResponse(); //return result.getResponse();

@ -150,7 +150,6 @@ app:
cors: cors:
allowed-origins: http://localhost:9077 allowed-origins: http://localhost:9077
swagger: swagger:
url: 211.
desc: 사고마약류폐기지원시스템 desc: 사고마약류폐기지원시스템
log: log:
parameter-enabled: true parameter-enabled: true

@ -1,7 +1,6 @@
app: app:
inf: inf:
nims: nims:
url: https://test.nims.or.kr
api: api:
bsshinfoStV1: /api/bsshinfo_st_v1.do bsshinfoStV1: /api/bsshinfo_st_v1.do
productinfoKd: /api/productinfo_kd.do productinfoKd: /api/productinfo_kd.do
@ -14,3 +13,25 @@ app:
api-key: 0fTkYnZU6XjaAPAp6GzKW9Q6fYq8iaoSH9wKUZwz2PBjRXGM04aUgtO3a61xYGjL8nFZn4fjLGS9XErhMSXq%2Bw%3D%3D api-key: 0fTkYnZU6XjaAPAp6GzKW9Q6fYq8iaoSH9wKUZwz2PBjRXGM04aUgtO3a61xYGjL8nFZn4fjLGS9XErhMSXq%2Bw%3D%3D
api: api:
drugPrdtMcpnDtlInq: /1471000/DrugPrdtPrmsnInfoService05/getDrugPrdtMcpnDtlInq04 drugPrdtMcpnDtlInq: /1471000/DrugPrdtPrmsnInfoService05/getDrugPrdtMcpnDtlInq04
---
spring:
config:
activate:
on-profile: local
app:
inf:
nims:
url: https://test.nims.or.kr
---
spring:
config:
activate:
on-profile: prod
app:
inf:
nims:
url: https://www.nims.or.kr

@ -309,7 +309,6 @@
bssh_cd, /* 마약류취급자식별ID */ bssh_cd, /* 마약류취급자식별ID */
rnd_dtl_rpt_cnt, /* 수불상세보고수 */ rnd_dtl_rpt_cnt, /* 수불상세보고수 */
hdr_de, /* 취급일자 */ hdr_de, /* 취급일자 */
rpt_de, /* 보고일자 */
dsuse_se_cd, /* 폐기구분코드 */ dsuse_se_cd, /* 폐기구분코드 */
dsuse_prv_cd, /* 폐기사유코드 */ dsuse_prv_cd, /* 폐기사유코드 */
dsuse_mth_cd, /* 폐기방법코드 */ dsuse_mth_cd, /* 폐기방법코드 */
@ -326,7 +325,6 @@
#{bsshCd}, #{bsshCd},
#{rndDtlRptCnt}, #{rndDtlRptCnt},
#{hdrDe}, #{hdrDe},
#{rptDe},
#{dsuseSeCd}, #{dsuseSeCd},
#{dsusePrvCd}, #{dsusePrvCd},
#{dsuseMthCd}, #{dsuseMthCd},
@ -404,7 +402,6 @@
tdm.bssh_cd, /** 마약류취급자식별번호 */ tdm.bssh_cd, /** 마약류취급자식별번호 */
tdm.rnd_dtl_rpt_cnt, /** 수불상세보고수 */ tdm.rnd_dtl_rpt_cnt, /** 수불상세보고수 */
tdm.hdr_de, /** 취급일자 */ tdm.hdr_de, /** 취급일자 */
tdm.rpt_de, /** 보고일자 */
tdm.dsuse_se_cd, /** 폐기구분코드 */ tdm.dsuse_se_cd, /** 폐기구분코드 */
tdm.dsuse_prv_cd, /** 폐기사유코드 */ tdm.dsuse_prv_cd, /** 폐기사유코드 */
tdm.dsuse_mth_cd, /** 폐기방법코드 */ tdm.dsuse_mth_cd, /** 폐기방법코드 */
@ -531,6 +528,7 @@
dsuse_loc, /* 폐기장소 */ dsuse_loc, /* 폐기장소 */
dsuse_de, /* 폐기일자 */ dsuse_de, /* 폐기일자 */
status, /* 상태 */ status, /* 상태 */
dsuse_process_de, /* 폐기처리일자 */
org_usr_rpt_id_no, /* 원본사용자보고식별번호 */ org_usr_rpt_id_no, /* 원본사용자보고식별번호 */
dept_cd, /* 부서코드 */ dept_cd, /* 부서코드 */
use_yn, use_yn,
@ -553,7 +551,9 @@
tdrid.prduct_cd, /* 제품코드 */ tdrid.prduct_cd, /* 제품코드 */
tdrid.prduct_nm, /* 제품명 */ tdrid.prduct_nm, /* 제품명 */
tdrid.min_distb_qy, /* 최소유통단위수량 */ tdrid.min_distb_qy, /* 최소유통단위수량 */
tdrid.min_distb_unit_nm, /* 최소유통단위명 */
tdrid.pce_qy, /* 낱개단위수량 */ tdrid.pce_qy, /* 낱개단위수량 */
tdrid.pce_unit, /* 낱개단위명 */
tdrid.mnf_no, /* 제조번호 */ tdrid.mnf_no, /* 제조번호 */
tdrid.prd_valid_de, /* 제품유효기한일자 */ tdrid.prd_valid_de, /* 제품유효기한일자 */
tdrid.mnf_seq, /* 제품일련번호 */ tdrid.mnf_seq, /* 제품일련번호 */
@ -601,6 +601,7 @@
dsuse_loc, /* 폐기장소 */ dsuse_loc, /* 폐기장소 */
dsuse_de, /* 폐기일자 */ dsuse_de, /* 폐기일자 */
status, /* 상태 */ status, /* 상태 */
dsuse_process_de, /* 폐기처리일자 */
org_usr_rpt_id_no, /* 원본사용자보고식별번호 */ org_usr_rpt_id_no, /* 원본사용자보고식별번호 */
dept_cd, /* 부서코드 */ dept_cd, /* 부서코드 */
use_yn, use_yn,
@ -622,6 +623,7 @@
#{dsuseLoc}, #{dsuseLoc},
#{dsuseDe}, #{dsuseDe},
#{status}, #{status},
#{dsuseProcessDe},
#{orgUsrRptIdNo}, #{orgUsrRptIdNo},
(SELECT dept_cd FROM tb_user WHERE user_id = #{userId}), (SELECT dept_cd FROM tb_user WHERE user_id = #{userId}),
IF(#{rptTyCd} = '1', 'N', 'Y'), IF(#{rptTyCd} = '1', 'N', 'Y'),
@ -638,7 +640,9 @@
prduct_cd, /* 제품코드 */ prduct_cd, /* 제품코드 */
prduct_nm, /* 제품명 */ prduct_nm, /* 제품명 */
min_distb_qy, /* 최소유통단위수량 */ min_distb_qy, /* 최소유통단위수량 */
min_distb_unit, /* 최소유통단위명 */
pce_qy, /* 낱개단위수량 */ pce_qy, /* 낱개단위수량 */
pce_unit, /* 낱개단위명 */
mnf_no, /* 제조번호 */ mnf_no, /* 제조번호 */
prd_valid_de, /* 제품유효기한일자 */ prd_valid_de, /* 제품유효기한일자 */
mnf_seq, /* 제품일련번호 */ mnf_seq, /* 제품일련번호 */
@ -652,7 +656,9 @@
#{prductCd}, #{prductCd},
#{prductNm}, #{prductNm},
#{minDistbQy}, #{minDistbQy},
#{minDistbUnit},
#{pceQy}, #{pceQy},
#{pceUnit},
#{mnfNo}, #{mnfNo},
#{prdValidDe}, #{prdValidDe},
#{mnfSeq}, #{mnfSeq},
@ -691,9 +697,6 @@
FROM tb_dsuse_rpt_info FROM tb_dsuse_rpt_info
WHERE usr_rpt_id_no = #{refUsrRptIdNo} WHERE usr_rpt_id_no = #{refUsrRptIdNo}
</select> </select>
<!-- ============================= --> <!-- ============================= -->
<!-- 폐기 보고 정보 업무 테이블 end --> <!-- 폐기 보고 정보 업무 테이블 end -->
<!-- ============================= --> <!-- ============================= -->

Loading…
Cancel
Save