From 489c04c4f5dbefc01bfc5c3ae1c3011ce5282f10 Mon Sep 17 00:00:00 2001 From: "Jonguk. Lim" Date: Mon, 29 Apr 2024 17:59:46 +0900 Subject: [PATCH] =?UTF-8?q?=EB=AF=B8=EC=82=AC=EC=9A=A9=20API=20=EC=A0=95?= =?UTF-8?q?=EB=A6=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../xit/adds/biz/nims/dao/BizNimsMapper.java | 4 +- .../adds/biz/nims/model/BizNimsAarDto.java | 524 +++++++-------- .../adds/biz/nims/service/BizNimsService.java | 8 +- .../nims/service/bean/BizNimsServiceBean.java | 389 ++++++----- .../adds/biz/nims/web/BizNimsController.java | 62 +- .../cokr/xit/adds/inf/nims/model/Aar.java | 622 +++++++++--------- .../adds/inf/nims/model/NimsAarResult.java | 170 ++--- .../xit/adds/inf/nims/model/NimsApiDto.java | 517 +++++++-------- .../adds/inf/nims/model/NimsApiRequest.java | 454 ++++++------- .../adds/inf/nims/service/InfNimsService.java | 14 +- .../nims/service/bean/InfNimsServiceBean.java | 110 ++-- .../adds/inf/nims/web/InfNimsController.java | 62 +- .../nims-mysql-mapper-backup.xml | 458 +++++++++++++ .../sql/mapper/biz/nims-mysql-mapper.xml | 171 ----- 14 files changed, 1913 insertions(+), 1652 deletions(-) create mode 100644 src/main/resources/sql/mapper-backup/nims-mysql-mapper-backup.xml diff --git a/src/main/java/cokr/xit/adds/biz/nims/dao/BizNimsMapper.java b/src/main/java/cokr/xit/adds/biz/nims/dao/BizNimsMapper.java index 89b1240..11c25c3 100644 --- a/src/main/java/cokr/xit/adds/biz/nims/dao/BizNimsMapper.java +++ b/src/main/java/cokr/xit/adds/biz/nims/dao/BizNimsMapper.java @@ -31,8 +31,8 @@ public interface BizNimsMapper extends AbstractMapper { // NIMS API CALL //------------------------------------------------------------------------------------------------------ int mergeBsshInfoSt(NimsApiDto.BsshInfoSt dto); - int mergeProductInfoKd(NimsApiDto.ProductInfoKd dto); - int mergeStorgeInfo(NimsApiDto.StorageInfo dto); + // int mergeProductInfoKd(NimsApiDto.ProductInfoKd dto); + // int mergeStorgeInfo(NimsApiDto.StorageInfo dto); //------------------------------------------------------------------------------------------------------ // NIMS BIZ diff --git a/src/main/java/cokr/xit/adds/biz/nims/model/BizNimsAarDto.java b/src/main/java/cokr/xit/adds/biz/nims/model/BizNimsAarDto.java index 1b6ccca..654678c 100644 --- a/src/main/java/cokr/xit/adds/biz/nims/model/BizNimsAarDto.java +++ b/src/main/java/cokr/xit/adds/biz/nims/model/BizNimsAarDto.java @@ -1,262 +1,262 @@ -package cokr.xit.adds.biz.nims.model; - -import static io.swagger.v3.oas.annotations.media.Schema.RequiredMode.*; - -import java.util.ArrayList; -import java.util.List; - -import javax.validation.Valid; -import javax.validation.constraints.NotEmpty; -import javax.validation.constraints.Pattern; - -import com.fasterxml.jackson.annotation.JsonIgnoreProperties; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; - -import cokr.xit.adds.core.Constants; -import cokr.xit.adds.core.model.AuditDto; -import cokr.xit.adds.inf.nims.model.NimsApiDto; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Getter; -import lombok.NoArgsConstructor; -import lombok.Setter; -import lombok.experimental.SuperBuilder; - -/** - *
- * description : 
- *
- * author      : limju
- * date        : 2024-04-08
- * ======================================================================
- * 변경일         변경자        변경 내용
- * ----------------------------------------------------------------------
- * 2024-04-08    limju       최초 생성
- *
- * 
- */ -public class BizNimsAarDto { - - /** - * 마약류 연계보고 Header request - */ - @Schema(name = "AarHeader", description = "마약류 연계보고 Header DTO") - @Getter - @NoArgsConstructor - @AllArgsConstructor - @SuperBuilder - public static class AarHeader extends AuditDto { - @Setter - @Schema(title = "폐기관리ID", description = "폐기관리ID", example = " ") - private String dscdmngId; - - @Setter - @Schema(requiredMode = REQUIRED, title = "보고자식별ID", description = "보고자식별ID", example = " ") - @NotEmpty(message = "보고자식별ID 필수 입니다") - private String uid; - - @Setter - @Schema(requiredMode = REQUIRED, title = "소프트웨어ID", example = " ") - @NotEmpty(message = "소프트웨어ID 필수 입니다") - private String swId; - - @Schema(requiredMode = AUTO, title = "수불비고", example = " ") - private String rndRmk; - - @Schema(requiredMode = REQUIRED, title = "취급일자", example = " ") - @Pattern(regexp = Constants.DATE_REGX, message = "취급일자 필수 입니다(8자리-yyyyMMdd)") - private String hdrDe; - - @Schema(requiredMode = REQUIRED, title = "마약류취급자식별번호", example = " ") - @NotEmpty(message = "마약류 취급자 식별번호는 필수 입니다") - private String bsshCd; - - @Schema(requiredMode = REQUIRED, title = "보고구분코드", example = "AAR") - @NotEmpty(message = "보고 구분 코드는 필수 입니다(폐기-AAR)") - @Builder.Default - private String rptSeCd = "AAR"; - - @Schema(requiredMode = REQUIRED, title = "사용자보고식별번호", example = " ") - @NotEmpty(message = "사용자 보고 식별번호는 필수 입니다") - private String usrRptIdNo; - - @Schema(requiredMode = AUTO, title = "참조사용자보고식별번호(변경|취소시 필수)", example = " ") - //@NotEmpty(message = "사용자 보고 식별번호는 필수 입니다") - private String refUsrRptIdNo; - - @Schema(requiredMode = REQUIRED, title = "보고유형코드", example = " ", allowableValues = {"0", "1", "2"}) - @Pattern(regexp = "[012]", message = "보고 유형 코드는 필수 입니다(0-신규, 1-취소, 2-변경)") - private String rptTyCd; - - @Schema(requiredMode = AUTO, title = "비고(변경 및 취소시 필수-사유 기재)", example = " ") - private String rmk; - - @Schema(requiredMode = REQUIRED, title = "보고자명", example = " ") - @NotEmpty(message = "보고자 이름은 필수 입니다") - private String rptrNm; - - @Schema(requiredMode = REQUIRED, title = "보고자업체명", example = " ") - @NotEmpty(message = "보고자 업체명은 필수 입니다") - private String rptrEntrpsNm; - - @Schema(requiredMode = REQUIRED, title = "담당자명", example = " ") - @NotEmpty(message = "담당자 이름은 필수 입니다") - private String chrgNm; - - @Schema(requiredMode = REQUIRED, title = "담당자 전화번호", example = " ") - @Pattern(regexp = Constants.TEL_REGX, message = "담당자 전화번호는 필수 입니다") - private String chrgTelNo; - - @Schema(requiredMode = REQUIRED, title = "담당자 휴대폰 번호", example = " ") - @Pattern(regexp = Constants.PHONE_REGX, message = "담당자 휴대폰 번호는 필수 입니다") - private String chrgMpNo; - - @Schema(requiredMode = REQUIRED, title = "수불 상세 보고수", example = " ") - @NotEmpty(message = "수불 상세 보고수는 필수 입니다") - private String rndDtlRptCnt; - - @Schema(requiredMode = REQUIRED, title = "폐기 구분 코드", example = " ", allowableValues = {"1", "2", "4"}) - @Pattern(regexp = "[124]", message = "폐기 구분 코드는 필수 입니다(1-보건소폐기, 2-공무원임회, 4-도난/분실/재해 발생 사고마약류)") - private String dsuseSeCd; - - /** - *
-		 * 폐기 사유 코드
-		 *
-		 * 01-파손, 02-변질,부패, 03-유효기간 또는 사용기한 경과
-		 * 04-유효 기간 임박, 05-사용 중단, 07-폐업, 08-환자 반납
-		 * 09-기타, 12-제조 공정중 폐기물
-		 * 
- */ - @Schema(requiredMode = REQUIRED, title = "폐기 사유 코드", example = " ", allowableValues = {"01", "02", "03", "04", "05", "07", "08", "09", "12"}) - @Pattern(regexp = "0[1-57-9]|12", message = "폐기 사유 코드는 필수 입니다(01~05, 07~09, 12)") - private String dsusePrvCd; - - @Schema(requiredMode = REQUIRED, title = "폐기 방법 코드", example = " ", allowableValues = {"1", "2", "3", "4", "5", "6", "7", "8", "9"}) - @Pattern(regexp = "[1-9]", message = "폐기 방법 코드는 필수 입니다(1~9)") - private String dsuseMthCd; - - @Schema(requiredMode = REQUIRED, title = "폐기 장소", example = " ") - @NotEmpty(message = "폐기 장소는 필수 입니다") - private String dsuseLoc; - - @Schema(requiredMode = REQUIRED, title = "폐기 일자", example = " ") - @Pattern(regexp = Constants.CUR_DATE_REGX, message = "폐기 일자는 필수 입니다(8자리-yyyyMMdd)") - private String dsuseDe; - - @Setter - @Schema(requiredMode = REQUIRED, title = "폐기 관할 행정 기관 코드", example = " ") - @NotEmpty(message = "폐기 관할 행정 기관 코드는 필수 입니다") - private String dsuseInsttCd; - - @Schema(requiredMode = REQUIRED, title = "첨부 파일 건수", example = " ") - @Pattern(regexp = "\\d+", message = "첨부 파일 건수 필수 입니다") - private String atchFileCo; - - @Schema(requiredMode = REQUIRED, title = "등록자ID", example = " ") - @NotEmpty(message = "등록자 ID는 필수 입니다") - private String registerId; - - @Schema(requiredMode = REQUIRED, title = "파일 생성 일시", example = " ") - @Pattern(regexp = Constants.CUR_DTM_REGX, message = "파일 생성 일시는 필수 입니다(14자리-yyyyMMddHHmmss)") - private String fileCreatDt; - - @Schema(requiredMode = AUTO, title = "첨부파일", example = " ") - @Builder.Default - List atchFiles = new ArrayList<>(); - - @Schema(requiredMode = REQUIRED) - @Builder.Default - @Valid - List aarDetails = new ArrayList<>(); - } - - /** - * 마약류 연계보고 Detail request - */ - @Schema(name = "AarDetail", description = "마약류 연계보고 상세 DTO") - @Getter - @NoArgsConstructor - @AllArgsConstructor - @Builder - //@JsonIgnoreProperties(value = { "mnfSeqInfos" }, allowGetters = true) - @JsonIgnoreProperties(value = { "prductCd" }, allowGetters = true) - public static class AarDetail { - @Schema(requiredMode = REQUIRED, title = "사용자 보고 식별 번호", example = " ") - @NotEmpty(message = "사용자 보고 식별 번호는 필수 입니다") - private String usrRptIdNo; - - @Schema(requiredMode = REQUIRED, title = "사용자 보고 라인 식별 번호", example = " ") - @NotEmpty(message = "사용자 보고 라인 식별 번호는 필수 입니다") - private String usrRptLnIdNo; - - @Setter - @Schema(requiredMode = REQUIRED, title = "저장소 번호", example = " ") - @NotEmpty(message = "저장소 번호는 필수 입니다") - private String storgeNo; - - @Schema(requiredMode = REQUIRED, title = "이동 유형 코드", example = " ", allowableValues = {"1102", "1170"}) - @Pattern(regexp = "1102|1170", message = "이동 유형 코드는 필수 입니다(1102-폐기출고,1170-폐기재고미차감)") - private String mvmnTyCd; - - @Schema(requiredMode = REQUIRED, title = "제품 코드", example = " ") - @NotEmpty(message = "제품 코드는 필수 입니다") - private String prductCd; - - @Setter - @Schema(requiredMode = REQUIRED, title = "제조 번호", example = " ") - @NotEmpty(message = "제조 번호는 필수 입니다") - private String mnfNo; - - @Setter - @Schema(requiredMode = AUTO, title = "제품 일련 번호", example = " ") - private String mnfSeq; - - @Schema(requiredMode = REQUIRED, title = "최소 유통 단위 수량", example = " ") - @NotEmpty(message = "최소 유통 단위 수량은 필수 입니다") - private String minDistbQy; - - @Schema(requiredMode = REQUIRED, title = "제품 최소 유통 단위", example = " ") - @NotEmpty(message = "제품 최소 유통 단위는 필수 입니다") - private String prdMinDistbUnit; - - @Schema(requiredMode = REQUIRED, title = "낱개 단위 수량", example = " ") - @NotEmpty(message = "낱개 단위 수량은 필수 입니다") - private String pceQy; - - @Schema(requiredMode = REQUIRED, title = "제품 낱개 단위", example = " ") - @NotEmpty(message = "제품 낱개 단위는 필수 입니다") - private String prdPceUnit; - - @Schema(requiredMode = REQUIRED, title = "제품명", example = " ") - @NotEmpty(message = "제품명은 필수 입니다") - private String prductNm; - - @Schema(requiredMode = AUTO, title = "제품 바코드(RFID)", example = " ") - private String prdSgtin; - - @Schema(requiredMode = REQUIRED, title = "제품 최소 유통 단위 수량", example = " ") - @NotEmpty(message = "제품 최소 유통 단위 수량은 필수 입니다") - private String prdMinDistbQy; - - @Schema(requiredMode = REQUIRED, title = "제품 총 낱개 단위 수량", example = " ") - @NotEmpty(message = "제품 총 낱개 단위 수량 필수 입니다") - private String prdTotPceQy; - - @Setter - @Schema(requiredMode = REQUIRED, title = "제품 유효 기간 일자(yyyyMMdd)", example = " ") - @Pattern(regexp = Constants.DATE_REGX, message = "제품 유효 기간 일자는 필수 입니다(yyyyMMdd)") - private String prdValidDe; - - @Schema(requiredMode = REQUIRED, title = "파일 생성 일시", example = " ") - @Pattern(regexp = Constants.CUR_DTM_REGX, message = "파일 생성 일시는 필수 입니다(yyyyMMddHHmmss)") - private String fileCreatDt; - - @Schema(title = "제조 일련 번호 정보 목록", example = " ") - @Builder.Default - @JsonSerialize(using = NimsApiDto.MnfSeqInfoSerializer.class) - @Setter - private List mnfSeqInfos = new ArrayList<>(); - } -} +// package cokr.xit.adds.biz.nims.model; +// +// import static io.swagger.v3.oas.annotations.media.Schema.RequiredMode.*; +// +// import java.util.ArrayList; +// import java.util.List; +// +// import javax.validation.Valid; +// import javax.validation.constraints.NotEmpty; +// import javax.validation.constraints.Pattern; +// +// import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +// import com.fasterxml.jackson.databind.annotation.JsonSerialize; +// +// import cokr.xit.adds.core.Constants; +// import cokr.xit.adds.core.model.AuditDto; +// import cokr.xit.adds.inf.nims.model.NimsApiDto; +// import io.swagger.v3.oas.annotations.media.Schema; +// import lombok.AllArgsConstructor; +// import lombok.Builder; +// import lombok.Getter; +// import lombok.NoArgsConstructor; +// import lombok.Setter; +// import lombok.experimental.SuperBuilder; +// +// /** +// *
+//  * description :
+//  *
+//  * author      : limju
+//  * date        : 2024-04-08
+//  * ======================================================================
+//  * 변경일         변경자        변경 내용
+//  * ----------------------------------------------------------------------
+//  * 2024-04-08    limju       최초 생성
+//  *
+//  * 
+// */ +// public class BizNimsAarDto { +// +// /** +// * 마약류 연계보고 Header request +// */ +// @Schema(name = "AarHeader", description = "마약류 연계보고 Header DTO") +// @Getter +// @NoArgsConstructor +// @AllArgsConstructor +// @SuperBuilder +// public static class AarHeader extends AuditDto { +// @Setter +// @Schema(title = "폐기관리ID", description = "폐기관리ID", example = " ") +// private String dscdmngId; +// +// @Setter +// @Schema(requiredMode = REQUIRED, title = "보고자식별ID", description = "보고자식별ID", example = " ") +// @NotEmpty(message = "보고자식별ID 필수 입니다") +// private String uid; +// +// @Setter +// @Schema(requiredMode = REQUIRED, title = "소프트웨어ID", example = " ") +// @NotEmpty(message = "소프트웨어ID 필수 입니다") +// private String swId; +// +// @Schema(requiredMode = AUTO, title = "수불비고", example = " ") +// private String rndRmk; +// +// @Schema(requiredMode = REQUIRED, title = "취급일자", example = " ") +// @Pattern(regexp = Constants.DATE_REGX, message = "취급일자 필수 입니다(8자리-yyyyMMdd)") +// private String hdrDe; +// +// @Schema(requiredMode = REQUIRED, title = "마약류취급자식별번호", example = " ") +// @NotEmpty(message = "마약류 취급자 식별번호는 필수 입니다") +// private String bsshCd; +// +// @Schema(requiredMode = REQUIRED, title = "보고구분코드", example = "AAR") +// @NotEmpty(message = "보고 구분 코드는 필수 입니다(폐기-AAR)") +// @Builder.Default +// private String rptSeCd = "AAR"; +// +// @Schema(requiredMode = REQUIRED, title = "사용자보고식별번호", example = " ") +// @NotEmpty(message = "사용자 보고 식별번호는 필수 입니다") +// private String usrRptIdNo; +// +// @Schema(requiredMode = AUTO, title = "참조사용자보고식별번호(변경|취소시 필수)", example = " ") +// //@NotEmpty(message = "사용자 보고 식별번호는 필수 입니다") +// private String refUsrRptIdNo; +// +// @Schema(requiredMode = REQUIRED, title = "보고유형코드", example = " ", allowableValues = {"0", "1", "2"}) +// @Pattern(regexp = "[012]", message = "보고 유형 코드는 필수 입니다(0-신규, 1-취소, 2-변경)") +// private String rptTyCd; +// +// @Schema(requiredMode = AUTO, title = "비고(변경 및 취소시 필수-사유 기재)", example = " ") +// private String rmk; +// +// @Schema(requiredMode = REQUIRED, title = "보고자명", example = " ") +// @NotEmpty(message = "보고자 이름은 필수 입니다") +// private String rptrNm; +// +// @Schema(requiredMode = REQUIRED, title = "보고자업체명", example = " ") +// @NotEmpty(message = "보고자 업체명은 필수 입니다") +// private String rptrEntrpsNm; +// +// @Schema(requiredMode = REQUIRED, title = "담당자명", example = " ") +// @NotEmpty(message = "담당자 이름은 필수 입니다") +// private String chrgNm; +// +// @Schema(requiredMode = REQUIRED, title = "담당자 전화번호", example = " ") +// @Pattern(regexp = Constants.TEL_REGX, message = "담당자 전화번호는 필수 입니다") +// private String chrgTelNo; +// +// @Schema(requiredMode = REQUIRED, title = "담당자 휴대폰 번호", example = " ") +// @Pattern(regexp = Constants.PHONE_REGX, message = "담당자 휴대폰 번호는 필수 입니다") +// private String chrgMpNo; +// +// @Schema(requiredMode = REQUIRED, title = "수불 상세 보고수", example = " ") +// @NotEmpty(message = "수불 상세 보고수는 필수 입니다") +// private String rndDtlRptCnt; +// +// @Schema(requiredMode = REQUIRED, title = "폐기 구분 코드", example = " ", allowableValues = {"1", "2", "4"}) +// @Pattern(regexp = "[124]", message = "폐기 구분 코드는 필수 입니다(1-보건소폐기, 2-공무원임회, 4-도난/분실/재해 발생 사고마약류)") +// private String dsuseSeCd; +// +// /** +// *
+// 		 * 폐기 사유 코드
+// 		 *
+// 		 * 01-파손, 02-변질,부패, 03-유효기간 또는 사용기한 경과
+// 		 * 04-유효 기간 임박, 05-사용 중단, 07-폐업, 08-환자 반납
+// 		 * 09-기타, 12-제조 공정중 폐기물
+// 		 * 
+// */ +// @Schema(requiredMode = REQUIRED, title = "폐기 사유 코드", example = " ", allowableValues = {"01", "02", "03", "04", "05", "07", "08", "09", "12"}) +// @Pattern(regexp = "0[1-57-9]|12", message = "폐기 사유 코드는 필수 입니다(01~05, 07~09, 12)") +// private String dsusePrvCd; +// +// @Schema(requiredMode = REQUIRED, title = "폐기 방법 코드", example = " ", allowableValues = {"1", "2", "3", "4", "5", "6", "7", "8", "9"}) +// @Pattern(regexp = "[1-9]", message = "폐기 방법 코드는 필수 입니다(1~9)") +// private String dsuseMthCd; +// +// @Schema(requiredMode = REQUIRED, title = "폐기 장소", example = " ") +// @NotEmpty(message = "폐기 장소는 필수 입니다") +// private String dsuseLoc; +// +// @Schema(requiredMode = REQUIRED, title = "폐기 일자", example = " ") +// @Pattern(regexp = Constants.CUR_DATE_REGX, message = "폐기 일자는 필수 입니다(8자리-yyyyMMdd)") +// private String dsuseDe; +// +// @Setter +// @Schema(requiredMode = REQUIRED, title = "폐기 관할 행정 기관 코드", example = " ") +// @NotEmpty(message = "폐기 관할 행정 기관 코드는 필수 입니다") +// private String dsuseInsttCd; +// +// @Schema(requiredMode = REQUIRED, title = "첨부 파일 건수", example = " ") +// @Pattern(regexp = "\\d+", message = "첨부 파일 건수 필수 입니다") +// private String atchFileCo; +// +// @Schema(requiredMode = REQUIRED, title = "등록자ID", example = " ") +// @NotEmpty(message = "등록자 ID는 필수 입니다") +// private String registerId; +// +// @Schema(requiredMode = REQUIRED, title = "파일 생성 일시", example = " ") +// @Pattern(regexp = Constants.CUR_DTM_REGX, message = "파일 생성 일시는 필수 입니다(14자리-yyyyMMddHHmmss)") +// private String fileCreatDt; +// +// @Schema(requiredMode = AUTO, title = "첨부파일", example = " ") +// @Builder.Default +// List atchFiles = new ArrayList<>(); +// +// @Schema(requiredMode = REQUIRED) +// @Builder.Default +// @Valid +// List aarDetails = new ArrayList<>(); +// } +// +// /** +// * 마약류 연계보고 Detail request +// */ +// @Schema(name = "AarDetail", description = "마약류 연계보고 상세 DTO") +// @Getter +// @NoArgsConstructor +// @AllArgsConstructor +// @Builder +// //@JsonIgnoreProperties(value = { "mnfSeqInfos" }, allowGetters = true) +// @JsonIgnoreProperties(value = { "prductCd" }, allowGetters = true) +// public static class AarDetail { +// @Schema(requiredMode = REQUIRED, title = "사용자 보고 식별 번호", example = " ") +// @NotEmpty(message = "사용자 보고 식별 번호는 필수 입니다") +// private String usrRptIdNo; +// +// @Schema(requiredMode = REQUIRED, title = "사용자 보고 라인 식별 번호", example = " ") +// @NotEmpty(message = "사용자 보고 라인 식별 번호는 필수 입니다") +// private String usrRptLnIdNo; +// +// @Setter +// @Schema(requiredMode = REQUIRED, title = "저장소 번호", example = " ") +// @NotEmpty(message = "저장소 번호는 필수 입니다") +// private String storgeNo; +// +// @Schema(requiredMode = REQUIRED, title = "이동 유형 코드", example = " ", allowableValues = {"1102", "1170"}) +// @Pattern(regexp = "1102|1170", message = "이동 유형 코드는 필수 입니다(1102-폐기출고,1170-폐기재고미차감)") +// private String mvmnTyCd; +// +// @Schema(requiredMode = REQUIRED, title = "제품 코드", example = " ") +// @NotEmpty(message = "제품 코드는 필수 입니다") +// private String prductCd; +// +// @Setter +// @Schema(requiredMode = REQUIRED, title = "제조 번호", example = " ") +// @NotEmpty(message = "제조 번호는 필수 입니다") +// private String mnfNo; +// +// @Setter +// @Schema(requiredMode = AUTO, title = "제품 일련 번호", example = " ") +// private String mnfSeq; +// +// @Schema(requiredMode = REQUIRED, title = "최소 유통 단위 수량", example = " ") +// @NotEmpty(message = "최소 유통 단위 수량은 필수 입니다") +// private String minDistbQy; +// +// @Schema(requiredMode = REQUIRED, title = "제품 최소 유통 단위", example = " ") +// @NotEmpty(message = "제품 최소 유통 단위는 필수 입니다") +// private String prdMinDistbUnit; +// +// @Schema(requiredMode = REQUIRED, title = "낱개 단위 수량", example = " ") +// @NotEmpty(message = "낱개 단위 수량은 필수 입니다") +// private String pceQy; +// +// @Schema(requiredMode = REQUIRED, title = "제품 낱개 단위", example = " ") +// @NotEmpty(message = "제품 낱개 단위는 필수 입니다") +// private String prdPceUnit; +// +// @Schema(requiredMode = REQUIRED, title = "제품명", example = " ") +// @NotEmpty(message = "제품명은 필수 입니다") +// private String prductNm; +// +// @Schema(requiredMode = AUTO, title = "제품 바코드(RFID)", example = " ") +// private String prdSgtin; +// +// @Schema(requiredMode = REQUIRED, title = "제품 최소 유통 단위 수량", example = " ") +// @NotEmpty(message = "제품 최소 유통 단위 수량은 필수 입니다") +// private String prdMinDistbQy; +// +// @Schema(requiredMode = REQUIRED, title = "제품 총 낱개 단위 수량", example = " ") +// @NotEmpty(message = "제품 총 낱개 단위 수량 필수 입니다") +// private String prdTotPceQy; +// +// @Setter +// @Schema(requiredMode = REQUIRED, title = "제품 유효 기간 일자(yyyyMMdd)", example = " ") +// @Pattern(regexp = Constants.DATE_REGX, message = "제품 유효 기간 일자는 필수 입니다(yyyyMMdd)") +// private String prdValidDe; +// +// @Schema(requiredMode = REQUIRED, title = "파일 생성 일시", example = " ") +// @Pattern(regexp = Constants.CUR_DTM_REGX, message = "파일 생성 일시는 필수 입니다(yyyyMMddHHmmss)") +// private String fileCreatDt; +// +// @Schema(title = "제조 일련 번호 정보 목록", example = " ") +// @Builder.Default +// @JsonSerialize(using = NimsApiDto.MnfSeqInfoSerializer.class) +// @Setter +// private List mnfSeqInfos = new ArrayList<>(); +// } +// } diff --git a/src/main/java/cokr/xit/adds/biz/nims/service/BizNimsService.java b/src/main/java/cokr/xit/adds/biz/nims/service/BizNimsService.java index a10e736..ec037e9 100644 --- a/src/main/java/cokr/xit/adds/biz/nims/service/BizNimsService.java +++ b/src/main/java/cokr/xit/adds/biz/nims/service/BizNimsService.java @@ -27,10 +27,10 @@ public interface BizNimsService { // NIMS API CALL //------------------------------------------------------------------------------------------------------ List saveBsshInfoSt(NimsApiRequest.BsshInfoRequest dto); - List saveProductInfoKd(NimsApiRequest.ProductInfoRequest dto); - List getMnfSeqInfo(NimsApiRequest.MnfSeqInfoRequest dto); - List getJurisdictionGovInfo(NimsApiRequest.JurisdictionGovInfoRequest dto); - List saveStorageInfo(NimsApiRequest.StorageInfoRequest dto); + // List saveProductInfoKd(NimsApiRequest.ProductInfoRequest dto); + // List getMnfSeqInfo(NimsApiRequest.MnfSeqInfoRequest dto); + // List getJurisdictionGovInfo(NimsApiRequest.JurisdictionGovInfoRequest dto); + // List saveStorageInfo(NimsApiRequest.StorageInfoRequest dto); /** *
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 20d92a6..b56b1cc 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
@@ -4,35 +4,24 @@ import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
-import java.util.concurrent.atomic.AtomicReference;
 
 import javax.validation.Validation;
 import javax.validation.Validator;
 
-import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.databind.SerializationFeature;
-import com.fasterxml.jackson.dataformat.xml.XmlMapper;
-import com.fasterxml.jackson.dataformat.xml.ser.ToXmlGenerator;
-
 import cokr.xit.adds.biz.nims.dao.BizNimsMapper;
-import cokr.xit.adds.biz.nims.model.BizNimsAarDto;
 import cokr.xit.adds.biz.nims.model.BizNimsRequest;
 import cokr.xit.adds.biz.nims.model.BizNimsResponse;
 import cokr.xit.adds.biz.nims.service.BizNimsService;
 import cokr.xit.adds.core.Constants;
 import cokr.xit.adds.core.spring.exception.ApiCustomException;
 import cokr.xit.adds.core.util.ApiUtil;
-import cokr.xit.adds.inf.nims.model.Aar;
 import cokr.xit.adds.inf.nims.model.NimsApiDto;
 import cokr.xit.adds.inf.nims.model.NimsApiDto.BsshInfoSt;
-import cokr.xit.adds.inf.nims.model.NimsApiDto.ProductInfoKd;
 import cokr.xit.adds.inf.nims.model.NimsApiRequest;
 import cokr.xit.adds.inf.nims.model.NimsApiRequest.BsshInfoRequest;
-import cokr.xit.adds.inf.nims.model.NimsApiRequest.ProductInfoRequest;
 import cokr.xit.adds.inf.nims.model.NimsApiResult;
 import cokr.xit.adds.inf.nims.service.InfNimsService;
 import cokr.xit.foundation.component.AbstractServiceBean;
@@ -86,42 +75,42 @@ public class BizNimsServiceBean extends AbstractServiceBean implements BizNimsSe
 		return list;
 	}
 
-	@Override
-	public List saveProductInfoKd(ProductInfoRequest dto) {
-		NimsApiResult.Response result = infNimsService.getProductInfoKd(dto);
-		List list = result.getResultOrThrow();
-
-		for (ProductInfoKd d : list) {
-			d.setRgtr(Constants.NIMS_API_USER_ID);
-			bizNimsMapper.mergeProductInfoKd(d);
-		}
-		return list;
-	}
-
-	@Override
-	public List getMnfSeqInfo(NimsApiRequest.MnfSeqInfoRequest dto) {
-		NimsApiResult.Response response = infNimsService.getMnfSeqInfo(dto);
-
-		return response.getResultOrThrow();
-	}
-
-	@Override
-	public List getJurisdictionGovInfo(NimsApiRequest.JurisdictionGovInfoRequest dto) {
-		NimsApiResult.Response result = infNimsService.getJurisdictionGovInfo(dto);
-		return result.getResultOrThrow();
-	}
-
-	@Override
-	public List saveStorageInfo(NimsApiRequest.StorageInfoRequest dto) {
-		NimsApiResult.Response result = infNimsService.getStorageInfo(dto);
-		List list = result.getResultOrThrow();
-
-		for (NimsApiDto.StorageInfo d : list) {
-			d.setRgtr(Constants.NIMS_API_USER_ID);
-			bizNimsMapper.mergeStorgeInfo(d);
-		}
-		return list;
-	}
+	// @Override
+	// public List saveProductInfoKd(ProductInfoRequest dto) {
+	// 	NimsApiResult.Response result = infNimsService.getProductInfoKd(dto);
+	// 	List list = result.getResultOrThrow();
+	//
+	// 	for (ProductInfoKd d : list) {
+	// 		d.setRgtr(Constants.NIMS_API_USER_ID);
+	// 		bizNimsMapper.mergeProductInfoKd(d);
+	// 	}
+	// 	return list;
+	// }
+	//
+	// @Override
+	// public List getMnfSeqInfo(NimsApiRequest.MnfSeqInfoRequest dto) {
+	// 	NimsApiResult.Response response = infNimsService.getMnfSeqInfo(dto);
+	//
+	// 	return response.getResultOrThrow();
+	// }
+	//
+	// @Override
+	// public List getJurisdictionGovInfo(NimsApiRequest.JurisdictionGovInfoRequest dto) {
+	// 	NimsApiResult.Response result = infNimsService.getJurisdictionGovInfo(dto);
+	// 	return result.getResultOrThrow();
+	// }
+	//
+	// @Override
+	// public List saveStorageInfo(NimsApiRequest.StorageInfoRequest dto) {
+	// 	NimsApiResult.Response result = infNimsService.getStorageInfo(dto);
+	// 	List list = result.getResultOrThrow();
+	//
+	// 	for (NimsApiDto.StorageInfo d : list) {
+	// 		d.setRgtr(Constants.NIMS_API_USER_ID);
+	// 		bizNimsMapper.mergeStorgeInfo(d);
+	// 	}
+	// 	return list;
+	// }
 
 	/**
 	 * 
@@ -436,157 +425,157 @@ public class BizNimsServiceBean extends AbstractServiceBean implements BizNimsSe
 
 
 
-	private String toXml() {
-		Aar dto = getAar();
-
-		XmlMapper mapper = new XmlMapper();
-		mapper.configure(ToXmlGenerator.Feature.WRITE_XML_DECLARATION, true);
-		mapper.enable(SerializationFeature.INDENT_OUTPUT);
-
-		String xmlString = null;
-		try {
-			xmlString = mapper.writeValueAsString(dto);
-		} catch (JsonProcessingException e) {
-			throw ApiCustomException.create(e.getMessage());
-		}
-		xmlString = xmlString.replaceFirst("nims\">",
-			"nims\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\">");
-		return xmlString.replaceFirst(" xmlns=\"\"", StringUtils.EMPTY);
-	}
-
-	private Aar getAar() {
-		Aar.ReportSet reportSet = Aar.ReportSet.builder()
-			.header(List.of(getHeader()))
-			.build();
-
-		return Aar.builder()
-			.reportSet(reportSet)
-			.build();
-	}
-
-	private Aar.Header getHeader() {
-		return Aar.Header.builder()
-			.hdrDe("20240326")
-			.bsshCd("123456789")
-			.lines(getLines())
-			.atchFileCo("2")
-			.atchFiles(getAtchFiles())
-			.build();
-	}
-
-	private Aar.Lines getLines() {
-
-		return Aar.Lines.builder()
-			.line(getLineList())
-			.build();
-	}
-
-	private Aar.AtchFiles getAtchFiles() {
-		return Aar.AtchFiles.builder()
-			.atchFileNm(List.of("file-1.txt","file-2.txt"))
-			.build();
-	}
-
-	private List getLineList(){
-		Aar.Line line = Aar.Line.builder()
-			.usrRptIdNo("123456789")
-			.usrRptLnIdNo("123456789")
-			.storgeNo("123456789")
-			.mvmnTyCd("123456789")
-			.prductCd("123456789")
-			.build();
-		Aar.Line line2 = Aar.Line.builder()
-			.usrRptIdNo("123456789-1")
-			.usrRptLnIdNo("123456789-1")
-			.storgeNo("123456789-1")
-			.mvmnTyCd("123456789-1")
-			.prductCd("123456789-1")
-			.build();
-
-		return List.of(line, line2);
-	}
-
-
-	private void setStorgeNo(BizNimsAarDto.AarHeader aarHeader, List aarDetails) {
-
-		if(isEmpty(aarDetails.get(0).getStorgeNo())){
-			try {
-				List storageInfos = saveStorageInfo(
-					NimsApiRequest.StorageInfoRequest.builder()
-						.fg("1")
-						.pg("1")
-						.bc(aarHeader.getBsshCd())
-						.build()
-				);
-				aarDetails.forEach(d -> d.setStorgeNo(storageInfos.get(0).getStorgeNo()));
-
-			}catch (Exception e){
-				if( e instanceof ApiCustomException){
-					aarDetails.forEach(d -> d.setStorgeNo("S0001"));
-					return;
-				}
-				throw ApiCustomException.create(e.getMessage());
-			}
-		}
-	}
-
-	private void setDsuseInsttCd(BizNimsAarDto.AarHeader aarHeader) {
-
-		try {
-			List list = getJurisdictionGovInfo(
-				NimsApiRequest.JurisdictionGovInfoRequest.builder()
-					.fg("1")
-					.pg("1")
-					.onm(onm)
-					.build()
-			);
-			aarHeader.setDsuseInsttCd(list.get(0).getOfCd());
-
-		}catch (Exception e){
-			if( e instanceof ApiCustomException){
-				throw ApiCustomException.create(String.format("[%s]의 관할 행정 기관 코드를 찾을수 없습니다.", onm));
-			}
-			throw ApiCustomException.create(e.getMessage());
-		}
-	}
-
-	private void setMnfSeqs(List aarDetails) {
-		AtomicReference productCd = new AtomicReference<>("");
-
-		try {
-
-			aarDetails.forEach(d -> {
-				productCd.set(d.getPrductCd());
-
-				List list = getMnfSeqInfo(
-					NimsApiRequest.MnfSeqInfoRequest.builder()
-						.fg("1")
-						.pg("1")
-						.p(d.getPrductCd())
-						.build()
-				);
-
-				// FIXME: 내림 차순 정렬
-				list.sort((a, b) -> {
-					if(isEmpty(a.getPrdValidDe()) && isEmpty(b.getPrdValidDe())) return 0;
-					if(isEmpty(a.getPrdValidDe())) return 1;
-					if(isEmpty(b.getPrdValidDe())) return -1;
-					return b.getPrdValidDe().compareTo(a.getPrdValidDe());
-				});
-
-				// FIXME: default list 1st value??
-				d.setMnfNo(list.get(0).getMnfNo());
-				d.setMnfSeq(list.get(0).getMnfSeq());
-				d.setPrdValidDe(list.get(0).getPrdValidDe());
-
-				d.getMnfSeqInfos().addAll(list);
-			});
-
-		}catch (Exception e){
-			if( e instanceof ApiCustomException){
-				throw ApiCustomException.create(String.format("[%s]의 제조번호 정보를 찾을수 없습니다.", productCd.get()));
-			}
-			throw ApiCustomException.create(e.getMessage());
-		}
-	}
+	// private String toXml() {
+	// 	Aar dto = getAar();
+	//
+	// 	XmlMapper mapper = new XmlMapper();
+	// 	mapper.configure(ToXmlGenerator.Feature.WRITE_XML_DECLARATION, true);
+	// 	mapper.enable(SerializationFeature.INDENT_OUTPUT);
+	//
+	// 	String xmlString = null;
+	// 	try {
+	// 		xmlString = mapper.writeValueAsString(dto);
+	// 	} catch (JsonProcessingException e) {
+	// 		throw ApiCustomException.create(e.getMessage());
+	// 	}
+	// 	xmlString = xmlString.replaceFirst("nims\">",
+	// 		"nims\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\">");
+	// 	return xmlString.replaceFirst(" xmlns=\"\"", StringUtils.EMPTY);
+	// }
+	//
+	// private Aar getAar() {
+	// 	Aar.ReportSet reportSet = Aar.ReportSet.builder()
+	// 		.header(List.of(getHeader()))
+	// 		.build();
+	//
+	// 	return Aar.builder()
+	// 		.reportSet(reportSet)
+	// 		.build();
+	// }
+	//
+	// private Aar.Header getHeader() {
+	// 	return Aar.Header.builder()
+	// 		.hdrDe("20240326")
+	// 		.bsshCd("123456789")
+	// 		.lines(getLines())
+	// 		.atchFileCo("2")
+	// 		.atchFiles(getAtchFiles())
+	// 		.build();
+	// }
+	//
+	// private Aar.Lines getLines() {
+	//
+	// 	return Aar.Lines.builder()
+	// 		.line(getLineList())
+	// 		.build();
+	// }
+	//
+	// private Aar.AtchFiles getAtchFiles() {
+	// 	return Aar.AtchFiles.builder()
+	// 		.atchFileNm(List.of("file-1.txt","file-2.txt"))
+	// 		.build();
+	// }
+	//
+	// private List getLineList(){
+	// 	Aar.Line line = Aar.Line.builder()
+	// 		.usrRptIdNo("123456789")
+	// 		.usrRptLnIdNo("123456789")
+	// 		.storgeNo("123456789")
+	// 		.mvmnTyCd("123456789")
+	// 		.prductCd("123456789")
+	// 		.build();
+	// 	Aar.Line line2 = Aar.Line.builder()
+	// 		.usrRptIdNo("123456789-1")
+	// 		.usrRptLnIdNo("123456789-1")
+	// 		.storgeNo("123456789-1")
+	// 		.mvmnTyCd("123456789-1")
+	// 		.prductCd("123456789-1")
+	// 		.build();
+	//
+	// 	return List.of(line, line2);
+	// }
+	//
+	//
+	// private void setStorgeNo(BizNimsAarDto.AarHeader aarHeader, List aarDetails) {
+	//
+	// 	if(isEmpty(aarDetails.get(0).getStorgeNo())){
+	// 		try {
+	// 			List storageInfos = saveStorageInfo(
+	// 				NimsApiRequest.StorageInfoRequest.builder()
+	// 					.fg("1")
+	// 					.pg("1")
+	// 					.bc(aarHeader.getBsshCd())
+	// 					.build()
+	// 			);
+	// 			aarDetails.forEach(d -> d.setStorgeNo(storageInfos.get(0).getStorgeNo()));
+	//
+	// 		}catch (Exception e){
+	// 			if( e instanceof ApiCustomException){
+	// 				aarDetails.forEach(d -> d.setStorgeNo("S0001"));
+	// 				return;
+	// 			}
+	// 			throw ApiCustomException.create(e.getMessage());
+	// 		}
+	// 	}
+	// }
+	//
+	// private void setDsuseInsttCd(BizNimsAarDto.AarHeader aarHeader) {
+	//
+	// 	try {
+	// 		List list = getJurisdictionGovInfo(
+	// 			NimsApiRequest.JurisdictionGovInfoRequest.builder()
+	// 				.fg("1")
+	// 				.pg("1")
+	// 				.onm(onm)
+	// 				.build()
+	// 		);
+	// 		aarHeader.setDsuseInsttCd(list.get(0).getOfCd());
+	//
+	// 	}catch (Exception e){
+	// 		if( e instanceof ApiCustomException){
+	// 			throw ApiCustomException.create(String.format("[%s]의 관할 행정 기관 코드를 찾을수 없습니다.", onm));
+	// 		}
+	// 		throw ApiCustomException.create(e.getMessage());
+	// 	}
+	// }
+	//
+	// private void setMnfSeqs(List aarDetails) {
+	// 	AtomicReference productCd = new AtomicReference<>("");
+	//
+	// 	try {
+	//
+	// 		aarDetails.forEach(d -> {
+	// 			productCd.set(d.getPrductCd());
+	//
+	// 			List list = getMnfSeqInfo(
+	// 				NimsApiRequest.MnfSeqInfoRequest.builder()
+	// 					.fg("1")
+	// 					.pg("1")
+	// 					.p(d.getPrductCd())
+	// 					.build()
+	// 			);
+	//
+	// 			// FIXME: 내림 차순 정렬
+	// 			list.sort((a, b) -> {
+	// 				if(isEmpty(a.getPrdValidDe()) && isEmpty(b.getPrdValidDe())) return 0;
+	// 				if(isEmpty(a.getPrdValidDe())) return 1;
+	// 				if(isEmpty(b.getPrdValidDe())) return -1;
+	// 				return b.getPrdValidDe().compareTo(a.getPrdValidDe());
+	// 			});
+	//
+	// 			// FIXME: default list 1st value??
+	// 			d.setMnfNo(list.get(0).getMnfNo());
+	// 			d.setMnfSeq(list.get(0).getMnfSeq());
+	// 			d.setPrdValidDe(list.get(0).getPrdValidDe());
+	//
+	// 			d.getMnfSeqInfos().addAll(list);
+	// 		});
+	//
+	// 	}catch (Exception e){
+	// 		if( e instanceof ApiCustomException){
+	// 			throw ApiCustomException.create(String.format("[%s]의 제조번호 정보를 찾을수 없습니다.", productCd.get()));
+	// 		}
+	// 		throw ApiCustomException.create(e.getMessage());
+	// 	}
+	// }
 }
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 d5e37a2..bae8b36 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
@@ -53,37 +53,37 @@ public class BizNimsController {
         return ApiBaseResponse.of(bizNimsService.saveBsshInfoSt(dto));
     }
 
-    @Operation(summary = "마약류 상품 정보 조회(NIMS API)", description = "마약류 상품정보 조회

NIMS API 호출 결과를 DB에 저장후 결과 Return") - @PostMapping(value = "/getProductInfoKd") - public ApiBaseResponse> getMnfSeqInfo( - @RequestBody @Validated NimsApiRequest.ProductInfoRequest dto - ) { - return ApiBaseResponse.of(bizNimsService.saveProductInfoKd(dto)); - } - - @Operation(summary = "제조 일련 번호 정보 조회(NIMS API)", description = "제보 일련 번호 정보 조회

NIMS API 호출 결과 Return") - @PostMapping(value = "/getMnfSeqInfo") - public ApiBaseResponse> getMnfSeqInfo( - @RequestBody @Validated NimsApiRequest.MnfSeqInfoRequest dto - ) { - return ApiBaseResponse.of(bizNimsService.getMnfSeqInfo(dto)); - } - - @Operation(summary = "관할 허가 관청 정보 조회(NIMS API)", description = "관할 허가 관청 정보 조회

NIMS API 호출 결과 Return") - @PostMapping(value = "/getJurisdictionGovInfo") - public ApiBaseResponse> getJurisdictionGovInfo( - @RequestBody @Validated NimsApiRequest.JurisdictionGovInfoRequest dto - ) { - return ApiBaseResponse.of(bizNimsService.getJurisdictionGovInfo(dto)); - } - - @Operation(summary = "저장소 정보 조회(NIMS API)", description = "저장소 정보 조회

NIMS API 호출 결과를 DB에 저장후 Return") - @PostMapping(value = "/getStorageInfo") - public ApiBaseResponse> getStorageInfo( - @RequestBody @Validated NimsApiRequest.StorageInfoRequest dto - ) { - return ApiBaseResponse.of(bizNimsService.saveStorageInfo(dto)); - } + // @Operation(summary = "마약류 상품 정보 조회(NIMS API)", description = "마약류 상품정보 조회

NIMS API 호출 결과를 DB에 저장후 결과 Return") + // @PostMapping(value = "/getProductInfoKd") + // public ApiBaseResponse> getMnfSeqInfo( + // @RequestBody @Validated NimsApiRequest.ProductInfoRequest dto + // ) { + // return ApiBaseResponse.of(bizNimsService.saveProductInfoKd(dto)); + // } + // + // @Operation(summary = "제조 일련 번호 정보 조회(NIMS API)", description = "제보 일련 번호 정보 조회

NIMS API 호출 결과 Return") + // @PostMapping(value = "/getMnfSeqInfo") + // public ApiBaseResponse> getMnfSeqInfo( + // @RequestBody @Validated NimsApiRequest.MnfSeqInfoRequest dto + // ) { + // return ApiBaseResponse.of(bizNimsService.getMnfSeqInfo(dto)); + // } + // + // @Operation(summary = "관할 허가 관청 정보 조회(NIMS API)", description = "관할 허가 관청 정보 조회

NIMS API 호출 결과 Return") + // @PostMapping(value = "/getJurisdictionGovInfo") + // public ApiBaseResponse> getJurisdictionGovInfo( + // @RequestBody @Validated NimsApiRequest.JurisdictionGovInfoRequest dto + // ) { + // return ApiBaseResponse.of(bizNimsService.getJurisdictionGovInfo(dto)); + // } + // + // @Operation(summary = "저장소 정보 조회(NIMS API)", description = "저장소 정보 조회

NIMS API 호출 결과를 DB에 저장후 Return") + // @PostMapping(value = "/getStorageInfo") + // public ApiBaseResponse> getStorageInfo( + // @RequestBody @Validated NimsApiRequest.StorageInfoRequest dto + // ) { + // return ApiBaseResponse.of(bizNimsService.saveStorageInfo(dto)); + // } @Operation(summary = "업체 폐기 보고 정보 조회(NIMS API)", description = "업체 폐기 보고 정보 조회

NIMS API 호출 결과를 DB에 저장후 Return") @PostMapping("/getDsuseRptInfo") diff --git a/src/main/java/cokr/xit/adds/inf/nims/model/Aar.java b/src/main/java/cokr/xit/adds/inf/nims/model/Aar.java index 5e17b58..c2e95ec 100644 --- a/src/main/java/cokr/xit/adds/inf/nims/model/Aar.java +++ b/src/main/java/cokr/xit/adds/inf/nims/model/Aar.java @@ -1,311 +1,311 @@ -package cokr.xit.adds.inf.nims.model; - -import java.util.List; - -import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper; -import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty; -import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlRootElement; - -import jakarta.xml.bind.annotation.XmlAccessType; -import jakarta.xml.bind.annotation.XmlAccessorType; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.NoArgsConstructor; - -/** - *
- * description : NIMS xsd 구조 정의
- *               마약류 관리 시스템 연계시 사용되는 xsd 구조 정의
- *               -> 폐기(AAR)
- *
- * packageName : cokr.xit.adds.inf.nims.model
- * fileName    : Aar
- * author      : limju
- * date        : 2024-03-22
- * ======================================================================
- * 변경일         변경자        변경 내용
- * ----------------------------------------------------------------------
- * 2024-03-22    limju       최초 생성
- *
- * 
- */ -@JacksonXmlRootElement(localName = "aar_regist", namespace = "https://www.nims.or.kr/schema/nims") -@NoArgsConstructor -@AllArgsConstructor -@Builder -public class Aar { - @JacksonXmlProperty(localName = "REPORT_SET") - private ReportSet reportSet; - - @JsonInclude(JsonInclude.Include.NON_NULL) - @XmlAccessorType(XmlAccessType.FIELD) - @NoArgsConstructor - @AllArgsConstructor - @Builder - public static class ReportSet { - /** - * 필수 - 보고자식별ID - */ - @JacksonXmlProperty(localName = "UID") - private String uid; - - /** - * 필수 - 소프트웨어ID - */ - @JacksonXmlProperty(localName = "SW_ID") - private String swId; - - /** - * 수불비고 - 보고사유 기재 - */ - @JacksonXmlProperty(localName = "RND_RMK") - private String rndRmk; - - /** - * Header - */ - @JacksonXmlElementWrapper(useWrapping = false) - @JacksonXmlProperty(localName = "HEADER") - private List
header; - - } - - @JsonInclude(JsonInclude.Include.NON_NULL) - @NoArgsConstructor - @AllArgsConstructor - @Builder - public static class Header { - /** - * 필수 - 취급일자 - * 폐기신청민원 처리일자(공문시행일자) - */ - @JacksonXmlProperty(localName = "HDR_DE") - private String hdrDe; - - /** - * 필수 - 마약류취급자식별번호 - */ - @JacksonXmlProperty(localName = "BSSH_CD") - private String bsshCd; - - /** - * 필수 - 보고구분코드 - * AAR - 폐기 - */ - @JacksonXmlProperty(localName = "RPT_SE_CD") - private String rptSeCd; - - /** - * 필수 - 사용자보고식별번호 - * 보고자 시스템에서 관리하는 고유식별번호 - * 변경|취소시 에도 다른 식별 번호 생성 - */ - @JacksonXmlProperty(localName = "USR_RPT_ID_NO") - private String usrRptIdNo; - - /** - * 참조사용자보고식별번호(변경|취소시 필수) - * 원본 사용자보고식별번호 기입 - */ - @JacksonXmlProperty(localName = "REF_USR_RPT_ID_NO") - private String refUsrRptIdNo; - - /** - * 필수 - 보고유형코드 - * 0-신규, 1-취소, 2-변경 - */ - @JacksonXmlProperty(localName = "RPT_TY_CD") - private String rptTyCd; - - /** - * 비고(변경 및 취소시 필수-사유 기재) - */ - @JacksonXmlProperty(localName = "RMK") - private String rmk; - - /** - * 필수 - 보고자명 - */ - @JacksonXmlProperty(localName = "RPTR_NM") - private String rptrNm; - - /** - * 필수 - 보고자업체명 - */ - @JacksonXmlProperty(localName = "RPTR_ENTRPS_NM") - private String rptrEntrpsNm; - - /** - * 필수 - 담당자명 - */ - @JacksonXmlProperty(localName = "CHRG_NM") - private String chrgNm; - - /** - * 필수 - 담당자 전화번호 - */ - @JacksonXmlProperty(localName = "CHRG_TEL_NO") - private String chrgTelNo; - - /** - * 필수 - 담당자 휴대폰 번호 - * 암호화 필요 - */ - @JacksonXmlProperty(localName = "CHRG_MP_NO") - private String chrgMpNo; - - /** - * 필수 - 수불 상세 보고수 - * 당해 보고건의 라인수 - */ - @JacksonXmlProperty(localName = "RND_DTL_RPT_CNT") - private String rndDtlRptCnt; - - /** - * 필수 - 폐기구분코드 - * 1-보건소폐기, 2-공무원임회, 4-도난/분실/재해 발생 사고마약류 - */ - @JacksonXmlProperty(localName = "DSUSE_SE_CD") - private String dsuseSeCd; - - /** - *
-         * 필수 - 폐기 사유 코드
-         *
-         * 01-파손, 02-변질,부패, 03-유효기간 또는 사용기한 경과
-         * 04-유효 기간 임박, 05-사용 중단, 07-폐업, 08-환자 반납
-         * 09-기타, 12-제조 공정중 폐기물
-         * 
- */ - @JacksonXmlProperty(localName = "DSUSE_PRV_CD") - private String dsusePrvCd; - - /** - *
-         * 필수 - 폐기방법코드
-         *
-         * 1-소각, 2-중화, 3-가수 분해, 4-산화, 5-환원
-         * 6-희석, 7-매물, 8-기타(파쇄,혼합), 9-사고
-         * 
- */ - @JacksonXmlProperty(localName = "DSUSE_MTH_CD") - private String dsuseMthCd; - - /** - * 필수 - 폐기장소 - */ - @JacksonXmlProperty(localName = "DSUSE_LOC") - private String dsuseLoc; - - /** - * 필수 - 폐기일자 - * yyyyMMdd - */ - @JacksonXmlProperty(localName = "DSUSE_DE") - private String dsuseDe; - - /** - * 필수 - 폐기 관할 행정 기관 코드 - */ - @JacksonXmlProperty(localName = "DSUSE_INSTT_CD") - private String dsuseInsttCd; - - /** - * 필수 - 첨부 파일 건수 - */ - @JacksonXmlProperty(localName = "ATCH_FILE_CO") - private String atchFileCo; - - /** - * Line - */ - @JacksonXmlProperty(localName = "REGISTER_ID") - private String registerId; - - @JacksonXmlProperty(localName = "FILE_CREAT_DT") - private String fileCreatDt; - - @JacksonXmlProperty(localName = "LINES") - private Lines lines; - - @JacksonXmlProperty(localName = "ATCH_FILES") - private AtchFiles atchFiles; - } - - @JsonInclude(JsonInclude.Include.NON_NULL) - @NoArgsConstructor - @AllArgsConstructor - @Builder - public static class Lines { - @JacksonXmlElementWrapper(useWrapping = false) - @JacksonXmlProperty(localName = "LINE") - private List line; - } - - @JsonInclude(JsonInclude.Include.NON_NULL) - @NoArgsConstructor - @AllArgsConstructor - @Builder - public static class Line { - @JacksonXmlProperty(localName = "USR_RPT_ID_NO") - private String usrRptIdNo; - - @JacksonXmlProperty(localName = "USR_RPT_LN_ID_NO") - private String usrRptLnIdNo; - - @JacksonXmlProperty(localName = "STORGE_NO") - private String storgeNo; - - @JacksonXmlProperty(localName = "MVMN_TY_CD") - private String mvmnTyCd; - - @JacksonXmlProperty(localName = "PRDUCT_CD") - private String prductCd; - - @JacksonXmlProperty(localName = "MNF_NO") - private String mnfNo; - @JacksonXmlProperty(localName = "MNF_SEQ") - private String mnfSeq; - - @JacksonXmlProperty(localName = "MIN_DISTB_QY") - private String minDistbQy; - - @JacksonXmlProperty(localName = "PRD_MIN_DISTB_UNIT") - private String prdMinDistbUnit; - - @JacksonXmlProperty(localName = "PCE_QY") - private String pceQy; - - @JacksonXmlProperty(localName = "PRD_PCE_UNIT") - private String prdPceUnit; - - @JacksonXmlProperty(localName = "PRDUCT_NM") - private String prductNm; - - @JacksonXmlProperty(localName = "PRD_SGTIN") - private String prdSgtin; - - @JacksonXmlProperty(localName = "PRD_MIN_DISTB_QY") - private String prdMinDistbQy; - - @JacksonXmlProperty(localName = "PRD_TOT_PCE_QY") - private String prdTotPceQy; - - @JacksonXmlProperty(localName = "PRD_VALID_DE") - private String prdValidDe; - - @JacksonXmlProperty(localName = "FILE_CREAT_DT") - private String fileCreatDt; - } - - @JsonInclude(JsonInclude.Include.NON_NULL) - @NoArgsConstructor - @AllArgsConstructor - @Builder - public static class AtchFiles{ - @JacksonXmlElementWrapper(useWrapping = false) - @JacksonXmlProperty(localName = "ATCH_FILE_NM") - private List atchFileNm; - } -} +// package cokr.xit.adds.inf.nims.model; +// +// import java.util.List; +// +// import com.fasterxml.jackson.annotation.JsonInclude; +// import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper; +// import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty; +// import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlRootElement; +// +// import jakarta.xml.bind.annotation.XmlAccessType; +// import jakarta.xml.bind.annotation.XmlAccessorType; +// import lombok.AllArgsConstructor; +// import lombok.Builder; +// import lombok.NoArgsConstructor; +// +// /** +// *
+//  * description : NIMS xsd 구조 정의
+//  *               마약류 관리 시스템 연계시 사용되는 xsd 구조 정의
+//  *               -> 폐기(AAR)
+//  *
+//  * packageName : cokr.xit.adds.inf.nims.model
+//  * fileName    : Aar
+//  * author      : limju
+//  * date        : 2024-03-22
+//  * ======================================================================
+//  * 변경일         변경자        변경 내용
+//  * ----------------------------------------------------------------------
+//  * 2024-03-22    limju       최초 생성
+//  *
+//  * 
+// */ +// @JacksonXmlRootElement(localName = "aar_regist", namespace = "https://www.nims.or.kr/schema/nims") +// @NoArgsConstructor +// @AllArgsConstructor +// @Builder +// public class Aar { +// @JacksonXmlProperty(localName = "REPORT_SET") +// private ReportSet reportSet; +// +// @JsonInclude(JsonInclude.Include.NON_NULL) +// @XmlAccessorType(XmlAccessType.FIELD) +// @NoArgsConstructor +// @AllArgsConstructor +// @Builder +// public static class ReportSet { +// /** +// * 필수 - 보고자식별ID +// */ +// @JacksonXmlProperty(localName = "UID") +// private String uid; +// +// /** +// * 필수 - 소프트웨어ID +// */ +// @JacksonXmlProperty(localName = "SW_ID") +// private String swId; +// +// /** +// * 수불비고 - 보고사유 기재 +// */ +// @JacksonXmlProperty(localName = "RND_RMK") +// private String rndRmk; +// +// /** +// * Header +// */ +// @JacksonXmlElementWrapper(useWrapping = false) +// @JacksonXmlProperty(localName = "HEADER") +// private List
header; +// +// } +// +// @JsonInclude(JsonInclude.Include.NON_NULL) +// @NoArgsConstructor +// @AllArgsConstructor +// @Builder +// public static class Header { +// /** +// * 필수 - 취급일자 +// * 폐기신청민원 처리일자(공문시행일자) +// */ +// @JacksonXmlProperty(localName = "HDR_DE") +// private String hdrDe; +// +// /** +// * 필수 - 마약류취급자식별번호 +// */ +// @JacksonXmlProperty(localName = "BSSH_CD") +// private String bsshCd; +// +// /** +// * 필수 - 보고구분코드 +// * AAR - 폐기 +// */ +// @JacksonXmlProperty(localName = "RPT_SE_CD") +// private String rptSeCd; +// +// /** +// * 필수 - 사용자보고식별번호 +// * 보고자 시스템에서 관리하는 고유식별번호 +// * 변경|취소시 에도 다른 식별 번호 생성 +// */ +// @JacksonXmlProperty(localName = "USR_RPT_ID_NO") +// private String usrRptIdNo; +// +// /** +// * 참조사용자보고식별번호(변경|취소시 필수) +// * 원본 사용자보고식별번호 기입 +// */ +// @JacksonXmlProperty(localName = "REF_USR_RPT_ID_NO") +// private String refUsrRptIdNo; +// +// /** +// * 필수 - 보고유형코드 +// * 0-신규, 1-취소, 2-변경 +// */ +// @JacksonXmlProperty(localName = "RPT_TY_CD") +// private String rptTyCd; +// +// /** +// * 비고(변경 및 취소시 필수-사유 기재) +// */ +// @JacksonXmlProperty(localName = "RMK") +// private String rmk; +// +// /** +// * 필수 - 보고자명 +// */ +// @JacksonXmlProperty(localName = "RPTR_NM") +// private String rptrNm; +// +// /** +// * 필수 - 보고자업체명 +// */ +// @JacksonXmlProperty(localName = "RPTR_ENTRPS_NM") +// private String rptrEntrpsNm; +// +// /** +// * 필수 - 담당자명 +// */ +// @JacksonXmlProperty(localName = "CHRG_NM") +// private String chrgNm; +// +// /** +// * 필수 - 담당자 전화번호 +// */ +// @JacksonXmlProperty(localName = "CHRG_TEL_NO") +// private String chrgTelNo; +// +// /** +// * 필수 - 담당자 휴대폰 번호 +// * 암호화 필요 +// */ +// @JacksonXmlProperty(localName = "CHRG_MP_NO") +// private String chrgMpNo; +// +// /** +// * 필수 - 수불 상세 보고수 +// * 당해 보고건의 라인수 +// */ +// @JacksonXmlProperty(localName = "RND_DTL_RPT_CNT") +// private String rndDtlRptCnt; +// +// /** +// * 필수 - 폐기구분코드 +// * 1-보건소폐기, 2-공무원임회, 4-도난/분실/재해 발생 사고마약류 +// */ +// @JacksonXmlProperty(localName = "DSUSE_SE_CD") +// private String dsuseSeCd; +// +// /** +// *
+//          * 필수 - 폐기 사유 코드
+//          *
+//          * 01-파손, 02-변질,부패, 03-유효기간 또는 사용기한 경과
+//          * 04-유효 기간 임박, 05-사용 중단, 07-폐업, 08-환자 반납
+//          * 09-기타, 12-제조 공정중 폐기물
+//          * 
+// */ +// @JacksonXmlProperty(localName = "DSUSE_PRV_CD") +// private String dsusePrvCd; +// +// /** +// *
+//          * 필수 - 폐기방법코드
+//          *
+//          * 1-소각, 2-중화, 3-가수 분해, 4-산화, 5-환원
+//          * 6-희석, 7-매물, 8-기타(파쇄,혼합), 9-사고
+//          * 
+// */ +// @JacksonXmlProperty(localName = "DSUSE_MTH_CD") +// private String dsuseMthCd; +// +// /** +// * 필수 - 폐기장소 +// */ +// @JacksonXmlProperty(localName = "DSUSE_LOC") +// private String dsuseLoc; +// +// /** +// * 필수 - 폐기일자 +// * yyyyMMdd +// */ +// @JacksonXmlProperty(localName = "DSUSE_DE") +// private String dsuseDe; +// +// /** +// * 필수 - 폐기 관할 행정 기관 코드 +// */ +// @JacksonXmlProperty(localName = "DSUSE_INSTT_CD") +// private String dsuseInsttCd; +// +// /** +// * 필수 - 첨부 파일 건수 +// */ +// @JacksonXmlProperty(localName = "ATCH_FILE_CO") +// private String atchFileCo; +// +// /** +// * Line +// */ +// @JacksonXmlProperty(localName = "REGISTER_ID") +// private String registerId; +// +// @JacksonXmlProperty(localName = "FILE_CREAT_DT") +// private String fileCreatDt; +// +// @JacksonXmlProperty(localName = "LINES") +// private Lines lines; +// +// @JacksonXmlProperty(localName = "ATCH_FILES") +// private AtchFiles atchFiles; +// } +// +// @JsonInclude(JsonInclude.Include.NON_NULL) +// @NoArgsConstructor +// @AllArgsConstructor +// @Builder +// public static class Lines { +// @JacksonXmlElementWrapper(useWrapping = false) +// @JacksonXmlProperty(localName = "LINE") +// private List line; +// } +// +// @JsonInclude(JsonInclude.Include.NON_NULL) +// @NoArgsConstructor +// @AllArgsConstructor +// @Builder +// public static class Line { +// @JacksonXmlProperty(localName = "USR_RPT_ID_NO") +// private String usrRptIdNo; +// +// @JacksonXmlProperty(localName = "USR_RPT_LN_ID_NO") +// private String usrRptLnIdNo; +// +// @JacksonXmlProperty(localName = "STORGE_NO") +// private String storgeNo; +// +// @JacksonXmlProperty(localName = "MVMN_TY_CD") +// private String mvmnTyCd; +// +// @JacksonXmlProperty(localName = "PRDUCT_CD") +// private String prductCd; +// +// @JacksonXmlProperty(localName = "MNF_NO") +// private String mnfNo; +// @JacksonXmlProperty(localName = "MNF_SEQ") +// private String mnfSeq; +// +// @JacksonXmlProperty(localName = "MIN_DISTB_QY") +// private String minDistbQy; +// +// @JacksonXmlProperty(localName = "PRD_MIN_DISTB_UNIT") +// private String prdMinDistbUnit; +// +// @JacksonXmlProperty(localName = "PCE_QY") +// private String pceQy; +// +// @JacksonXmlProperty(localName = "PRD_PCE_UNIT") +// private String prdPceUnit; +// +// @JacksonXmlProperty(localName = "PRDUCT_NM") +// private String prductNm; +// +// @JacksonXmlProperty(localName = "PRD_SGTIN") +// private String prdSgtin; +// +// @JacksonXmlProperty(localName = "PRD_MIN_DISTB_QY") +// private String prdMinDistbQy; +// +// @JacksonXmlProperty(localName = "PRD_TOT_PCE_QY") +// private String prdTotPceQy; +// +// @JacksonXmlProperty(localName = "PRD_VALID_DE") +// private String prdValidDe; +// +// @JacksonXmlProperty(localName = "FILE_CREAT_DT") +// private String fileCreatDt; +// } +// +// @JsonInclude(JsonInclude.Include.NON_NULL) +// @NoArgsConstructor +// @AllArgsConstructor +// @Builder +// public static class AtchFiles{ +// @JacksonXmlElementWrapper(useWrapping = false) +// @JacksonXmlProperty(localName = "ATCH_FILE_NM") +// private List atchFileNm; +// } +// } diff --git a/src/main/java/cokr/xit/adds/inf/nims/model/NimsAarResult.java b/src/main/java/cokr/xit/adds/inf/nims/model/NimsAarResult.java index e088b23..1e057f0 100644 --- a/src/main/java/cokr/xit/adds/inf/nims/model/NimsAarResult.java +++ b/src/main/java/cokr/xit/adds/inf/nims/model/NimsAarResult.java @@ -1,85 +1,85 @@ -package cokr.xit.adds.inf.nims.model; - -import com.fasterxml.jackson.annotation.JsonProperty; - -import jakarta.xml.bind.annotation.XmlAccessType; -import jakarta.xml.bind.annotation.XmlAccessorType; -import jakarta.xml.bind.annotation.XmlRootElement; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Getter; -import lombok.NoArgsConstructor; - -/** - *
- * description :
- *
- * packageName : cokr.xit.adds.inf.nims.model
- * fileName    : NimsAarResult
- * author      : limju
- * date        : 2024-03-21
- * ======================================================================
- * 변경일         변경자        변경 내용
- * ----------------------------------------------------------------------
- * 2024-03-21    limju       최초 생성
- *
- * 
- */ -@XmlRootElement(name = "response") -@XmlAccessorType(XmlAccessType.FIELD) -@Getter -@NoArgsConstructor -@AllArgsConstructor -@Builder -public class NimsAarResult { - /** - * 결과코드 - * 0000 : 정상 보고 등록 되었습니다 - * 9999 : 보고 실패 되었습니다 - */ - @JsonProperty(value = "RESULT_CD", required = true) - String resultCd; - - /** - * 결과메시지 - * 0000 : 정상 보고 등록 되었습니다 - * 9999 : 보고 실패 되었습니다 - */ - @JsonProperty(value = "RESULT_MSG", required = true) - String resultMsg; - - /** - * 보고자식별ID - * 보고자를 식별할 수 있는 고유 식별자 - * 시스템 내부에서 사용하는 식별자 - */ - @JsonProperty(value = "UID", required = true) - String uid; - /** - * 마약류취급자식별번호 - * 마약류통합관리 시스템에서 부여한 고유 코드 - */ - @JsonProperty(value = "BSSH_CD", required = true) - String bsshCd; - /** - * 보고구분코드 - */ - @JsonProperty(value = "RPT_SE_CD", required = true) - String rptSeCd; - /** - * 사용자보고식별번호 - */ - String usrPrtIdNo; - /** - * 보고접수번호 - */ - String rptRceptNo; - /** - * 에러코드 - */ - String errorCd; - /** - * 에러메시지 - */ - String errorMsg; -} +// package cokr.xit.adds.inf.nims.model; +// +// import com.fasterxml.jackson.annotation.JsonProperty; +// +// import jakarta.xml.bind.annotation.XmlAccessType; +// import jakarta.xml.bind.annotation.XmlAccessorType; +// import jakarta.xml.bind.annotation.XmlRootElement; +// import lombok.AllArgsConstructor; +// import lombok.Builder; +// import lombok.Getter; +// import lombok.NoArgsConstructor; +// +// /** +// *
+//  * description :
+//  *
+//  * packageName : cokr.xit.adds.inf.nims.model
+//  * fileName    : NimsAarResult
+//  * author      : limju
+//  * date        : 2024-03-21
+//  * ======================================================================
+//  * 변경일         변경자        변경 내용
+//  * ----------------------------------------------------------------------
+//  * 2024-03-21    limju       최초 생성
+//  *
+//  * 
+// */ +// @XmlRootElement(name = "response") +// @XmlAccessorType(XmlAccessType.FIELD) +// @Getter +// @NoArgsConstructor +// @AllArgsConstructor +// @Builder +// public class NimsAarResult { +// /** +// * 결과코드 +// * 0000 : 정상 보고 등록 되었습니다 +// * 9999 : 보고 실패 되었습니다 +// */ +// @JsonProperty(value = "RESULT_CD", required = true) +// String resultCd; +// +// /** +// * 결과메시지 +// * 0000 : 정상 보고 등록 되었습니다 +// * 9999 : 보고 실패 되었습니다 +// */ +// @JsonProperty(value = "RESULT_MSG", required = true) +// String resultMsg; +// +// /** +// * 보고자식별ID +// * 보고자를 식별할 수 있는 고유 식별자 +// * 시스템 내부에서 사용하는 식별자 +// */ +// @JsonProperty(value = "UID", required = true) +// String uid; +// /** +// * 마약류취급자식별번호 +// * 마약류통합관리 시스템에서 부여한 고유 코드 +// */ +// @JsonProperty(value = "BSSH_CD", required = true) +// String bsshCd; +// /** +// * 보고구분코드 +// */ +// @JsonProperty(value = "RPT_SE_CD", required = true) +// String rptSeCd; +// /** +// * 사용자보고식별번호 +// */ +// String usrPrtIdNo; +// /** +// * 보고접수번호 +// */ +// String rptRceptNo; +// /** +// * 에러코드 +// */ +// String errorCd; +// /** +// * 에러메시지 +// */ +// String errorMsg; +// } 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 2f9a2fb..a322eb9 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 @@ -1,18 +1,13 @@ package cokr.xit.adds.inf.nims.model; -import java.io.IOException; import java.util.ArrayList; import java.util.List; import javax.validation.Valid; import com.fasterxml.jackson.annotation.JsonAlias; -import com.fasterxml.jackson.core.JsonGenerator; -import com.fasterxml.jackson.databind.JsonSerializer; -import com.fasterxml.jackson.databind.SerializerProvider; import cokr.xit.adds.core.model.AuditDto; -import cokr.xit.adds.core.spring.exception.ApiCustomException; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Getter; @@ -118,87 +113,87 @@ public class NimsApiDto { private String prmisnNo; } - /** - * 상품 정보 조회 response - */ - @Getter - @NoArgsConstructor - @AllArgsConstructor - @SuperBuilder - public static class ProductInfoKd extends AuditDto { - /** - * 품목코드 - */ - @JsonAlias("PRDUCT_CD") - private String prductCd; - - /** - * 제품대표코드 - */ - @JsonAlias("PRDLST_MST_CD") - private String prdlstMstCd; - - /** - * 제품명 - */ - @JsonAlias("PRDUCT_NM") - private String prductNm; - - /** - * 마약/항정 구분명 - */ - @JsonAlias("NRCD_SE_NM") - private String nrcdSeNm; - - /** - * 중점/일반 구분 - */ - @JsonAlias("PRTM_SE_NM") - private String prtmSeNm; - - /** - * 제품최소유통단위수량 - * 제품규격정보(고정값 = 1) - */ - @JsonAlias("PRD_MIN_DISTB_QY") - private Integer prdMinDistbQy; - - /** - * 제품최소유통단위 - */ - @JsonAlias("STD_PACKNG_STLE_NM") - private String stdPackngStleNm; - - /** - * 제품총낱개단위수량 - */ - @JsonAlias("PRD_TOT_PCE_QY") - private Integer prdTotPceQy; - - /** - * 제품낱개단위 - */ - @JsonAlias("PCE_CO_UNIT_NM") - private String pceCoUnitNm; - - /** - * 마약류취급자식별번호 - */ - @JsonAlias("BSSH_CD") - private String bsshCd; - - /** - * 등록일 - */ - @JsonAlias("RGS_DT") - private String rgsDt; - - /** - * 변경일 - */ - @JsonAlias("UPD_DT") - private String updDt; - } + // /** + // * 상품 정보 조회 response + // */ + // @Getter + // @NoArgsConstructor + // @AllArgsConstructor + // @SuperBuilder + // public static class ProductInfoKd extends AuditDto { + // /** + // * 품목코드 + // */ + // @JsonAlias("PRDUCT_CD") + // private String prductCd; + // + // /** + // * 제품대표코드 + // */ + // @JsonAlias("PRDLST_MST_CD") + // private String prdlstMstCd; + // + // /** + // * 제품명 + // */ + // @JsonAlias("PRDUCT_NM") + // private String prductNm; + // + // /** + // * 마약/항정 구분명 + // */ + // @JsonAlias("NRCD_SE_NM") + // private String nrcdSeNm; + // + // /** + // * 중점/일반 구분 + // */ + // @JsonAlias("PRTM_SE_NM") + // private String prtmSeNm; + // + // /** + // * 제품최소유통단위수량 + // * 제품규격정보(고정값 = 1) + // */ + // @JsonAlias("PRD_MIN_DISTB_QY") + // private Integer prdMinDistbQy; + // + // /** + // * 제품최소유통단위 + // */ + // @JsonAlias("STD_PACKNG_STLE_NM") + // private String stdPackngStleNm; + // + // /** + // * 제품총낱개단위수량 + // */ + // @JsonAlias("PRD_TOT_PCE_QY") + // private Integer prdTotPceQy; + // + // /** + // * 제품낱개단위 + // */ + // @JsonAlias("PCE_CO_UNIT_NM") + // private String pceCoUnitNm; + // + // /** + // * 마약류취급자식별번호 + // */ + // @JsonAlias("BSSH_CD") + // private String bsshCd; + // + // /** + // * 등록일 + // */ + // @JsonAlias("RGS_DT") + // private String rgsDt; + // + // /** + // * 변경일 + // */ + // @JsonAlias("UPD_DT") + // private String updDt; + // } /** * 폐기보고 response @@ -322,16 +317,6 @@ public class NimsApiDto { @Builder.Default @Valid private List dsuseRptInfoDtls = new ArrayList<>(); - - // clone 메소드 추가 - @Override - public DsuseRptInfo clone() { - try { - return (DsuseRptInfo) super.clone(); - } catch (CloneNotSupportedException e) { - throw ApiCustomException.create("NIMS 폐기보고 정보 복제 중 오류가 발생 하였습니다."); - } - } } @Getter @@ -408,175 +393,175 @@ public class NimsApiDto { private Integer dsuseQy; } - /** - * 제품 제조 일련 번호 정보 조회 response - */ - @Getter - @Setter - @NoArgsConstructor - @AllArgsConstructor - @SuperBuilder - public static class MnfSeqInfo extends AuditDto { - /** - * 제품코드 - */ - @JsonAlias("PRDUCT_CD") - private String prductCd; - - /** - * 제품명 - */ - @JsonAlias("PRDUCT_NM") - private String prductNm; - - /** - * 제조번호 - */ - @JsonAlias("MNF_NO") - private String mnfNo; - - /** - * 일련번호 - */ - @JsonAlias("MNF_SEQ") - private String mnfSeq; - - /** - * 유효기간 - */ - @JsonAlias("PRD_VALID_DE") - private String prdValidDe; - } - - /** - * 관할 허가 관청 정보 조회 response - */ - @Getter - @NoArgsConstructor - @AllArgsConstructor - @SuperBuilder - public static class JurisdictionGovInfo extends AuditDto { - /** - * 기관코드 - */ - @JsonAlias("OF_CD") - private String ofCd; - - /** - * 기관명 - */ - @JsonAlias("OF_NM") - private String ofNm; - - /** - * 상위 기관명 - */ - @JsonAlias("UP_OF_NM") - private String upOfNm; - - /** - * 최상위 기관명 - */ - @JsonAlias("TOP_OF_NM") - private String topOfNm; - - /** - * 기본 주소 - */ - @JsonAlias("BASS_ADRES") - private String bassAdres; - - /** - * 상세 주소 - */ - @JsonAlias("BASS_DTL_ADRES") - private String bassDtlAdres; - } - - /** - * 저장소 정보 조회 response - */ - @Getter - @NoArgsConstructor - @AllArgsConstructor - @SuperBuilder - public static class StorageInfo extends AuditDto { - /** - * 마약류취급자식별번호 - */ - @JsonAlias("BSSH_CD") - private String bsshCd; - - /** - * 업체명 - */ - @JsonAlias("BSSH_NM") - private String bsshNm; - - /** - * 저장소 번호 - */ - @JsonAlias("STORGE_NO") - private String storgeNo; - - /** - * 저장소명 - */ - @JsonAlias("STORGE_NM") - private String storgeNm; - - /** - * 저장소 유형 - */ - @JsonAlias("STORGE_SE_NM") - private String storgeSeNm; - - /** - * 기본 주소 - */ - @JsonAlias("BASS_ADRES") - private String bassAdres; - - /** - * 상세 주소 - */ - @JsonAlias("BASS_DTL_ADRES") - private String bassDtlAdres; - - /** - * 사용 유무 - */ - @JsonAlias("USE_AT") - private String useAt; - } - - /** - *
-     * 제품 제조 일련 번호 정보 조회 response Serializer
-     * 제품 제조 일련 번호 정보 조회시 (json "PRODUCT_CD" -> "prductCd") 직렬화를 위한 Serializer
-     * @uses @JsonSerialize(using = MnfSeqInfoSerializer.class)
-     * 
- */ - public static class MnfSeqInfoSerializer extends JsonSerializer> { - @Override - public void serialize(List mnfSeqInfos, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) { - - try { - jsonGenerator.writeStartArray(); - for(MnfSeqInfo mnfSeqInfo : mnfSeqInfos) { - jsonGenerator.writeStartObject(); - jsonGenerator.writeStringField("prductCd", mnfSeqInfo.getPrductCd()); - jsonGenerator.writeStringField("prductNm", mnfSeqInfo.getPrductNm()); - jsonGenerator.writeStringField("mnfNo", mnfSeqInfo.getMnfNo()); - jsonGenerator.writeStringField("mnfSeq", mnfSeqInfo.getMnfSeq()); - jsonGenerator.writeStringField("prdValidDe", mnfSeqInfo.getPrdValidDe()); - jsonGenerator.writeEndObject(); - } - jsonGenerator.writeEndArray(); - } catch (IOException e) { - throw ApiCustomException.create("NIMS 제조 일련 번호 조회 API 호출 결과 직렬화 중 오류가 발생 하였습니다."); - } - } - } + // /** + // * 제품 제조 일련 번호 정보 조회 response + // */ + // @Getter + // @Setter + // @NoArgsConstructor + // @AllArgsConstructor + // @SuperBuilder + // public static class MnfSeqInfo extends AuditDto { + // /** + // * 제품코드 + // */ + // @JsonAlias("PRDUCT_CD") + // private String prductCd; + // + // /** + // * 제품명 + // */ + // @JsonAlias("PRDUCT_NM") + // private String prductNm; + // + // /** + // * 제조번호 + // */ + // @JsonAlias("MNF_NO") + // private String mnfNo; + // + // /** + // * 일련번호 + // */ + // @JsonAlias("MNF_SEQ") + // private String mnfSeq; + // + // /** + // * 유효기간 + // */ + // @JsonAlias("PRD_VALID_DE") + // private String prdValidDe; + // } + // + // /** + // * 관할 허가 관청 정보 조회 response + // */ + // @Getter + // @NoArgsConstructor + // @AllArgsConstructor + // @SuperBuilder + // public static class JurisdictionGovInfo extends AuditDto { + // /** + // * 기관코드 + // */ + // @JsonAlias("OF_CD") + // private String ofCd; + // + // /** + // * 기관명 + // */ + // @JsonAlias("OF_NM") + // private String ofNm; + // + // /** + // * 상위 기관명 + // */ + // @JsonAlias("UP_OF_NM") + // private String upOfNm; + // + // /** + // * 최상위 기관명 + // */ + // @JsonAlias("TOP_OF_NM") + // private String topOfNm; + // + // /** + // * 기본 주소 + // */ + // @JsonAlias("BASS_ADRES") + // private String bassAdres; + // + // /** + // * 상세 주소 + // */ + // @JsonAlias("BASS_DTL_ADRES") + // private String bassDtlAdres; + // } + // + // /** + // * 저장소 정보 조회 response + // */ + // @Getter + // @NoArgsConstructor + // @AllArgsConstructor + // @SuperBuilder + // public static class StorageInfo extends AuditDto { + // /** + // * 마약류취급자식별번호 + // */ + // @JsonAlias("BSSH_CD") + // private String bsshCd; + // + // /** + // * 업체명 + // */ + // @JsonAlias("BSSH_NM") + // private String bsshNm; + // + // /** + // * 저장소 번호 + // */ + // @JsonAlias("STORGE_NO") + // private String storgeNo; + // + // /** + // * 저장소명 + // */ + // @JsonAlias("STORGE_NM") + // private String storgeNm; + // + // /** + // * 저장소 유형 + // */ + // @JsonAlias("STORGE_SE_NM") + // private String storgeSeNm; + // + // /** + // * 기본 주소 + // */ + // @JsonAlias("BASS_ADRES") + // private String bassAdres; + // + // /** + // * 상세 주소 + // */ + // @JsonAlias("BASS_DTL_ADRES") + // private String bassDtlAdres; + // + // /** + // * 사용 유무 + // */ + // @JsonAlias("USE_AT") + // private String useAt; + // } + // + // /** + // *
+    //  * 제품 제조 일련 번호 정보 조회 response Serializer
+    //  * 제품 제조 일련 번호 정보 조회시 (json "PRODUCT_CD" -> "prductCd") 직렬화를 위한 Serializer
+    //  * @uses @JsonSerialize(using = MnfSeqInfoSerializer.class)
+    //  * 
+ // */ + // public static class MnfSeqInfoSerializer extends JsonSerializer> { + // @Override + // public void serialize(List mnfSeqInfos, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) { + // + // try { + // jsonGenerator.writeStartArray(); + // for(MnfSeqInfo mnfSeqInfo : mnfSeqInfos) { + // jsonGenerator.writeStartObject(); + // jsonGenerator.writeStringField("prductCd", mnfSeqInfo.getPrductCd()); + // jsonGenerator.writeStringField("prductNm", mnfSeqInfo.getPrductNm()); + // jsonGenerator.writeStringField("mnfNo", mnfSeqInfo.getMnfNo()); + // jsonGenerator.writeStringField("mnfSeq", mnfSeqInfo.getMnfSeq()); + // jsonGenerator.writeStringField("prdValidDe", mnfSeqInfo.getPrdValidDe()); + // jsonGenerator.writeEndObject(); + // } + // jsonGenerator.writeEndArray(); + // } catch (IOException e) { + // throw ApiCustomException.create("NIMS 제조 일련 번호 조회 API 호출 결과 직렬화 중 오류가 발생 하였습니다."); + // } + // } + // } } 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 75e6f0b..6e8b01d 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 @@ -111,73 +111,73 @@ public class NimsApiRequest { String fg2 = "1"; } - /** - * 상품 정보 조회 request - */ - @Schema(name = "ProductInfoRequest", description = "상품 정보 조회 request") - @Data - @NoArgsConstructor - @AllArgsConstructor - @Builder - public static class ProductInfoRequest { - /** - * 인증키 - */ - @Schema(requiredMode = REQUIRED, title = "인증키", description = "인증키", example = "998003699950fa950b798c9edea1b38f3cfbcf3b77e03e419") - @NotEmpty(message = "인증키는 필수 입니다") - String k; - - /** - * 조회범위 - * 1-전체, 2-내거래품목, 3-청구코드매핑 - */ - @Schema(requiredMode = REQUIRED, title = "조회범위(1-전체, 2-내거래처 품목, 3-청구코드 매핑)", description = "조회범위(1-전체, 2-내거래처 품목, 3-청구코드 매핑)", example = "1", allowableValues = {"1", "2", "3"}) - @Pattern(regexp = "[1-3]", message = "조회범위는 필수 입니다(1-전체, 2-내거래처 품목, 3-청구코드 매핑)") - String fg; - - /** - * 조회 페이지 - */ - @Schema(requiredMode = REQUIRED, title = "조회 페이지", description = "조회 페이지", example = "1") - @Pattern(regexp = "[0-9]{1,}", message = "조회 페이지는 필수 입니다") - String pg; - - /** - * 기준일자 이후 - * yyyyMMdd - */ - @Schema(title = "기준일자(yyyyMMdd-이후일자)", description = "기준일자(yyyyMMdd-이후일자)", example = " ") - @Pattern(regexp = "^$|"+Constants.DATE_REGX, message = "기준 일자는 8자리 입니다(yyyyMMdd)") - @Builder.Default - String ymd = StringUtils.EMPTY; - - /** - * 중점/일반 구분 - * 1:중점 - * 2:일반 - */ - @Schema(title = "중점|일반 구분(all, 1:중점, 2:일반)", description = "중점|일반 구분(all, 1:중점, 2:일반)", example = " ", allowableValues = {"", "1", "2"}) - @Pattern(regexp = "^$|[12]", message = "중점|일반 구분은 1 또는 2 입니다(1:중점, 2:일반)") - @Builder.Default - String fg2 = StringUtils.EMPTY; - - /** - * 제품코드 - * 제품코드(like 검색) - * 조회범위(pg)가 3인 경우 청구 코드 - */ - @Schema(title = "제품코드", description = "제품코드", example = " ") - @Pattern(regexp = "^$|[0-9a-zA-Z]{13}", message = "제품코드는 13자리 입니다") - @Builder.Default - String p = StringUtils.EMPTY; - - /** - * 제품명(like 검색) - */ - @Schema(title = "제품명", description = "제품명", example = " ") - @Builder.Default - String pn = StringUtils.EMPTY; - } + // /** + // * 상품 정보 조회 request + // */ + // @Schema(name = "ProductInfoRequest", description = "상품 정보 조회 request") + // @Data + // @NoArgsConstructor + // @AllArgsConstructor + // @Builder + // public static class ProductInfoRequest { + // /** + // * 인증키 + // */ + // @Schema(requiredMode = REQUIRED, title = "인증키", description = "인증키", example = "998003699950fa950b798c9edea1b38f3cfbcf3b77e03e419") + // @NotEmpty(message = "인증키는 필수 입니다") + // String k; + // + // /** + // * 조회범위 + // * 1-전체, 2-내거래품목, 3-청구코드매핑 + // */ + // @Schema(requiredMode = REQUIRED, title = "조회범위(1-전체, 2-내거래처 품목, 3-청구코드 매핑)", description = "조회범위(1-전체, 2-내거래처 품목, 3-청구코드 매핑)", example = "1", allowableValues = {"1", "2", "3"}) + // @Pattern(regexp = "[1-3]", message = "조회범위는 필수 입니다(1-전체, 2-내거래처 품목, 3-청구코드 매핑)") + // String fg; + // + // /** + // * 조회 페이지 + // */ + // @Schema(requiredMode = REQUIRED, title = "조회 페이지", description = "조회 페이지", example = "1") + // @Pattern(regexp = "[0-9]{1,}", message = "조회 페이지는 필수 입니다") + // String pg; + // + // /** + // * 기준일자 이후 + // * yyyyMMdd + // */ + // @Schema(title = "기준일자(yyyyMMdd-이후일자)", description = "기준일자(yyyyMMdd-이후일자)", example = " ") + // @Pattern(regexp = "^$|"+Constants.DATE_REGX, message = "기준 일자는 8자리 입니다(yyyyMMdd)") + // @Builder.Default + // String ymd = StringUtils.EMPTY; + // + // /** + // * 중점/일반 구분 + // * 1:중점 + // * 2:일반 + // */ + // @Schema(title = "중점|일반 구분(all, 1:중점, 2:일반)", description = "중점|일반 구분(all, 1:중점, 2:일반)", example = " ", allowableValues = {"", "1", "2"}) + // @Pattern(regexp = "^$|[12]", message = "중점|일반 구분은 1 또는 2 입니다(1:중점, 2:일반)") + // @Builder.Default + // String fg2 = StringUtils.EMPTY; + // + // /** + // * 제품코드 + // * 제품코드(like 검색) + // * 조회범위(pg)가 3인 경우 청구 코드 + // */ + // @Schema(title = "제품코드", description = "제품코드", example = " ") + // @Pattern(regexp = "^$|[0-9a-zA-Z]{13}", message = "제품코드는 13자리 입니다") + // @Builder.Default + // String p = StringUtils.EMPTY; + // + // /** + // * 제품명(like 검색) + // */ + // @Schema(title = "제품명", description = "제품명", example = " ") + // @Builder.Default + // String pn = StringUtils.EMPTY; + // } @Schema(name = "DsuseRptInfoRequest", description = "폐기 보고 정보 조회 request") @Data @@ -289,164 +289,164 @@ public class NimsApiRequest { } - /** - * 제품 일련 번호 정보 조회 request - */ - @Schema(name = "MnfSeqInfoRequest", description = "제품 일련 번호 정보 조회 request") - @Data - @NoArgsConstructor - @AllArgsConstructor - @Builder - public static class MnfSeqInfoRequest { - /** - * 인증키 - */ - @Schema(requiredMode = REQUIRED, title = "인증키", description = "인증키", example = "998003699950fa950b798c9edea1b38f3cfbcf3b77e03e419") - @NotEmpty(message = "인증키는 필수 입니다") - String k; - - /** - * 조회범위 : 실제는 동일 - * 1-제조번호, 2-일련번호, 3-바코드/RFID - */ - @Schema(requiredMode = REQUIRED, title = "제조번호 또는 일련번호 구분", description = "제조번호 또는 일련번호 구분(1-제조번호, 2-일련번호, 3-바코드/RFID)", example = "1", allowableValues = {"1", "2", "3"}) - @Pattern(regexp = "[1-3]", message = "제조번호 또는 일련번호 구분은 필수 입니다(1-제조번호, 2-일련번호, 3-바코드/RFID)") - String fg; - - /** - * 조회 페이지 - */ - @Schema(requiredMode = REQUIRED, title = "조회 페이지", description = "조회 페이지", example = "1") - @Pattern(regexp = "[0-9]{1,}", message = "조회 페이지는 필수 입니다") - String pg; - - /** - * 제품코드 - * 제품코드(like 검색) - * 조회범위(pg)가 3인 경우 청구 코드 - */ - @Schema(requiredMode = REQUIRED, title = "제품코드", description = "제품코드", example = "8806718050823") - @Pattern(regexp = "[0-9]{13}", message = "제품코드는 필수 입니다(13자리)") - String p; - - - /** - * 기준일자 이후 - * yyyyMMdd - */ - @Schema(title = "기준일자(yyyyMMdd-이후일자)", description = "기준일자(yyyyMMdd-이후일자)", example = " ") - @Pattern(regexp = "^$|"+Constants.DATE_REGX, message = "기준 일자는 8자리 입니다(yyyyMMdd)") - @Builder.Default - String ymd = StringUtils.EMPTY; - - /** - * 제품코드 : like 검색 - 오류 -> 사용하지 말것 - */ - @Schema(title = "번호일부 검색", description = "번호 일부 검색(like)", example = " ") - @Pattern(regexp = "^$|[0-9]{5,}", message = "제품코드를 5자이상 입력해주세요(제품코드는 13자리)") - @Builder.Default - String t = StringUtils.EMPTY; - } - - /** - * 관할 허가 관청 정보 조회 request - */ - @Schema(name = "JurisdictionGovInfoRequest", description = "관할 허가 관청 정보 조회 request") - @Data - @NoArgsConstructor - @AllArgsConstructor - @Builder - public static class JurisdictionGovInfoRequest { - /** - * 인증키 - */ - @Schema(requiredMode = REQUIRED, title = "인증키", description = "인증키", example = "998003699950fa950b798c9edea1b38f3cfbcf3b77e03e419") - @NotEmpty(message = "인증키는 필수 입니다") - String k; - - /** - * 조회범위 - * 1-전체 - */ - @Schema(requiredMode = REQUIRED, title = "조회범위", description = "조회범위(1-전체)", allowableValues = {"1"}) - @Pattern(regexp = "1", message = "조회 범위는 필수 입니다(1-전체)") - String fg; - - /** - * 조회 페이지 - */ - @Schema(requiredMode = REQUIRED, title = "조회 페이지", description = "조회 페이지", example = "1") - @Pattern(regexp = "[0-9]{1,}", message = "조회 페이지는 필수 입니다") - String pg; - - /** - * 기관명 - */ - @Schema(title = "기관명", description = "기관명", example = " ") - @Builder.Default - String onm = StringUtils.EMPTY; - - /** - * 기관 코드 - */ - @Schema(title = "기관 코드", description = "기관 코드", example = " ") - @Builder.Default - String ocd = StringUtils.EMPTY; - - /** - * 주소 - */ - @Schema(title = "주소", description = "주소", example = " ") - @Builder.Default - String adr = StringUtils.EMPTY; - } - - /** - * 저장소 정보 조회 request - */ - @Schema(name = "StorageInfoRequest", description = "저장소 정보 조회 request") - @Data - @NoArgsConstructor - @AllArgsConstructor - @Builder - public static class StorageInfoRequest { - /** - * 인증키 - */ - @Schema(requiredMode = REQUIRED, title = "인증키", description = "인증키", example = "998003699950fa950b798c9edea1b38f3cfbcf3b77e03e419") - @NotEmpty(message = "인증키는 필수 입니다") - String k; - - /** - * 조회범위 - * 1-특정 업체, 2-전체 - */ - @Schema(requiredMode = REQUIRED, title = "조회범위", description = "조회범위(1-특정업체, 2-전체)", allowableValues = {"1", "2"}) - @Pattern(regexp = "[12]", message = "조회 범위는 필수 입니다(1-특정업체, 2-전체)") - String fg; - - /** - * 조회 페이지 - */ - @Schema(requiredMode = REQUIRED, title = "조회 페이지", description = "조회 페이지", example = "1") - @Pattern(regexp = "[0-9]{1,}", message = "조회 페이지는 필수 입니다") - String pg; - - /** - * 취급자식별번호 - * 조회범위가 1-특정업체인 경우 필수 - */ - @Schema(title = "취급자식별번호", description = "취급자식별번호", example = " ") - @Builder.Default - String bc = StringUtils.EMPTY; - - /** - * 기준일자 이후 - * yyyyMMdd - */ - @Schema(title = "기준일자(yyyyMMdd-이후일자)", description = "기준일자(yyyyMMdd-이후일자)", example = " ") - @Pattern(regexp = "^$|"+Constants.DATE_REGX, message = "기준 일자는 8자리 입니다(yyyyMMdd)") - @Builder.Default - String ymd = StringUtils.EMPTY; - } + // /** + // * 제품 일련 번호 정보 조회 request + // */ + // @Schema(name = "MnfSeqInfoRequest", description = "제품 일련 번호 정보 조회 request") + // @Data + // @NoArgsConstructor + // @AllArgsConstructor + // @Builder + // public static class MnfSeqInfoRequest { + // /** + // * 인증키 + // */ + // @Schema(requiredMode = REQUIRED, title = "인증키", description = "인증키", example = "998003699950fa950b798c9edea1b38f3cfbcf3b77e03e419") + // @NotEmpty(message = "인증키는 필수 입니다") + // String k; + // + // /** + // * 조회범위 : 실제는 동일 + // * 1-제조번호, 2-일련번호, 3-바코드/RFID + // */ + // @Schema(requiredMode = REQUIRED, title = "제조번호 또는 일련번호 구분", description = "제조번호 또는 일련번호 구분(1-제조번호, 2-일련번호, 3-바코드/RFID)", example = "1", allowableValues = {"1", "2", "3"}) + // @Pattern(regexp = "[1-3]", message = "제조번호 또는 일련번호 구분은 필수 입니다(1-제조번호, 2-일련번호, 3-바코드/RFID)") + // String fg; + // + // /** + // * 조회 페이지 + // */ + // @Schema(requiredMode = REQUIRED, title = "조회 페이지", description = "조회 페이지", example = "1") + // @Pattern(regexp = "[0-9]{1,}", message = "조회 페이지는 필수 입니다") + // String pg; + // + // /** + // * 제품코드 + // * 제품코드(like 검색) + // * 조회범위(pg)가 3인 경우 청구 코드 + // */ + // @Schema(requiredMode = REQUIRED, title = "제품코드", description = "제품코드", example = "8806718050823") + // @Pattern(regexp = "[0-9]{13}", message = "제품코드는 필수 입니다(13자리)") + // String p; + // + // + // /** + // * 기준일자 이후 + // * yyyyMMdd + // */ + // @Schema(title = "기준일자(yyyyMMdd-이후일자)", description = "기준일자(yyyyMMdd-이후일자)", example = " ") + // @Pattern(regexp = "^$|"+Constants.DATE_REGX, message = "기준 일자는 8자리 입니다(yyyyMMdd)") + // @Builder.Default + // String ymd = StringUtils.EMPTY; + // + // /** + // * 제품코드 : like 검색 - 오류 -> 사용하지 말것 + // */ + // @Schema(title = "번호일부 검색", description = "번호 일부 검색(like)", example = " ") + // @Pattern(regexp = "^$|[0-9]{5,}", message = "제품코드를 5자이상 입력해주세요(제품코드는 13자리)") + // @Builder.Default + // String t = StringUtils.EMPTY; + // } + // + // /** + // * 관할 허가 관청 정보 조회 request + // */ + // @Schema(name = "JurisdictionGovInfoRequest", description = "관할 허가 관청 정보 조회 request") + // @Data + // @NoArgsConstructor + // @AllArgsConstructor + // @Builder + // public static class JurisdictionGovInfoRequest { + // /** + // * 인증키 + // */ + // @Schema(requiredMode = REQUIRED, title = "인증키", description = "인증키", example = "998003699950fa950b798c9edea1b38f3cfbcf3b77e03e419") + // @NotEmpty(message = "인증키는 필수 입니다") + // String k; + // + // /** + // * 조회범위 + // * 1-전체 + // */ + // @Schema(requiredMode = REQUIRED, title = "조회범위", description = "조회범위(1-전체)", allowableValues = {"1"}) + // @Pattern(regexp = "1", message = "조회 범위는 필수 입니다(1-전체)") + // String fg; + // + // /** + // * 조회 페이지 + // */ + // @Schema(requiredMode = REQUIRED, title = "조회 페이지", description = "조회 페이지", example = "1") + // @Pattern(regexp = "[0-9]{1,}", message = "조회 페이지는 필수 입니다") + // String pg; + // + // /** + // * 기관명 + // */ + // @Schema(title = "기관명", description = "기관명", example = " ") + // @Builder.Default + // String onm = StringUtils.EMPTY; + // + // /** + // * 기관 코드 + // */ + // @Schema(title = "기관 코드", description = "기관 코드", example = " ") + // @Builder.Default + // String ocd = StringUtils.EMPTY; + // + // /** + // * 주소 + // */ + // @Schema(title = "주소", description = "주소", example = " ") + // @Builder.Default + // String adr = StringUtils.EMPTY; + // } + // + // /** + // * 저장소 정보 조회 request + // */ + // @Schema(name = "StorageInfoRequest", description = "저장소 정보 조회 request") + // @Data + // @NoArgsConstructor + // @AllArgsConstructor + // @Builder + // public static class StorageInfoRequest { + // /** + // * 인증키 + // */ + // @Schema(requiredMode = REQUIRED, title = "인증키", description = "인증키", example = "998003699950fa950b798c9edea1b38f3cfbcf3b77e03e419") + // @NotEmpty(message = "인증키는 필수 입니다") + // String k; + // + // /** + // * 조회범위 + // * 1-특정 업체, 2-전체 + // */ + // @Schema(requiredMode = REQUIRED, title = "조회범위", description = "조회범위(1-특정업체, 2-전체)", allowableValues = {"1", "2"}) + // @Pattern(regexp = "[12]", message = "조회 범위는 필수 입니다(1-특정업체, 2-전체)") + // String fg; + // + // /** + // * 조회 페이지 + // */ + // @Schema(requiredMode = REQUIRED, title = "조회 페이지", description = "조회 페이지", example = "1") + // @Pattern(regexp = "[0-9]{1,}", message = "조회 페이지는 필수 입니다") + // String pg; + // + // /** + // * 취급자식별번호 + // * 조회범위가 1-특정업체인 경우 필수 + // */ + // @Schema(title = "취급자식별번호", description = "취급자식별번호", example = " ") + // @Builder.Default + // String bc = StringUtils.EMPTY; + // + // /** + // * 기준일자 이후 + // * yyyyMMdd + // */ + // @Schema(title = "기준일자(yyyyMMdd-이후일자)", description = "기준일자(yyyyMMdd-이후일자)", example = " ") + // @Pattern(regexp = "^$|"+Constants.DATE_REGX, message = "기준 일자는 8자리 입니다(yyyyMMdd)") + // @Builder.Default + // String ymd = StringUtils.EMPTY; + // } } diff --git a/src/main/java/cokr/xit/adds/inf/nims/service/InfNimsService.java b/src/main/java/cokr/xit/adds/inf/nims/service/InfNimsService.java index bc3d1d8..d0e381b 100644 --- a/src/main/java/cokr/xit/adds/inf/nims/service/InfNimsService.java +++ b/src/main/java/cokr/xit/adds/inf/nims/service/InfNimsService.java @@ -22,13 +22,13 @@ import cokr.xit.adds.inf.nims.model.NimsApiResult; public interface InfNimsService { NimsApiResult.Response getBsshInfoSt(NimsApiRequest.BsshInfoRequest dto); - NimsApiResult.Response getProductInfoKd(NimsApiRequest.ProductInfoRequest dto); - - NimsApiResult.Response getMnfSeqInfo(NimsApiRequest.MnfSeqInfoRequest dto); - - NimsApiResult.Response getJurisdictionGovInfo(NimsApiRequest.JurisdictionGovInfoRequest dto); - - NimsApiResult.Response getStorageInfo(NimsApiRequest.StorageInfoRequest dto); + // NimsApiResult.Response getProductInfoKd(NimsApiRequest.ProductInfoRequest dto); + // + // NimsApiResult.Response getMnfSeqInfo(NimsApiRequest.MnfSeqInfoRequest dto); + // + // NimsApiResult.Response getJurisdictionGovInfo(NimsApiRequest.JurisdictionGovInfoRequest dto); + // + // NimsApiResult.Response getStorageInfo(NimsApiRequest.StorageInfoRequest dto); NimsApiResult.Response getDsuseRptInfo(NimsApiRequest.DsuseRptInfoRequest dto); } 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 eeadd63..20d9ddd 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 @@ -90,61 +90,61 @@ public class InfNimsServiceBean extends AbstractServiceBean implements InfNimsSe return result.getResponse(); } - @Override - @TraceLogging - public NimsApiResult.Response getProductInfoKd(NimsApiRequest.ProductInfoRequest dto) { - dto.setK(nimsApiKey); - ApiUtil.validate(dto, null, validator); - if(!isEmpty(dto.getYmd())) ApiUtil.checkYmdError(dto.getYmd(), null); - - String rslt = ApiUtil.callNimsApi(nimsUrl + productinfoKd, dto); - NimsApiResult result = json.parse(rslt, new TypeReference>() {}); - return result.getResponse(); - } - - @Override - @TraceLogging - public NimsApiResult.Response getMnfSeqInfo(NimsApiRequest.MnfSeqInfoRequest dto) { - dto.setK(nimsApiKey); - ApiUtil.validate(dto, null, validator); - if(!isEmpty(dto.getYmd())) ApiUtil.checkYmdError(dto.getYmd(), null); - - String rslt = ApiUtil.callNimsApi(nimsUrl + seqinfo, dto); - NimsApiResult result = json.parse(rslt, new TypeReference>() {}); - return result.getResponse(); - } - - @Override - @TraceLogging - public NimsApiResult.Response getJurisdictionGovInfo( - NimsApiRequest.JurisdictionGovInfoRequest dto) { - dto.setK(nimsApiKey); - ApiUtil.validate(dto, null, validator); - if(isEmpty(dto.getOcd()) && isEmpty(dto.getOnm()) && isEmpty(dto.getAdr())) { - throw ApiCustomException.create("필수 파라메터 에러(ocd-기관 코드, onm-기관명, adr-주소 중 하나는 필수)"); - } - - String rslt = ApiUtil.callNimsApi(nimsUrl + officeinfo, dto); - NimsApiResult result = json.parse(rslt, new TypeReference>() {}); - return result.getResponse(); - } - - @Override - @TraceLogging - public NimsApiResult.Response getStorageInfo(NimsApiRequest.StorageInfoRequest dto) { - dto.setK(nimsApiKey); - ApiUtil.validate(dto, null, validator); - if(!isEmpty(dto.getYmd())) ApiUtil.checkYmdError(dto.getYmd(), null); - if(!isEmpty(dto.getFg()) && dto.getFg().equals("1")) { - if(isEmpty(dto.getBc())){ - throw ApiCustomException.create("조회 범위를 특정업체(fg=1)로 조회할 경우 취급자식별번호(bc)는 필수입니다"); - } - } - - String rslt = ApiUtil.callNimsApi(nimsUrl + placeinfoV1, dto); - NimsApiResult result = json.parse(rslt, new TypeReference>() {}); - return result.getResponse(); - } + // @Override + // @TraceLogging + // public NimsApiResult.Response getProductInfoKd(NimsApiRequest.ProductInfoRequest dto) { + // dto.setK(nimsApiKey); + // ApiUtil.validate(dto, null, validator); + // if(!isEmpty(dto.getYmd())) ApiUtil.checkYmdError(dto.getYmd(), null); + // + // String rslt = ApiUtil.callNimsApi(nimsUrl + productinfoKd, dto); + // NimsApiResult result = json.parse(rslt, new TypeReference>() {}); + // return result.getResponse(); + // } + // + // @Override + // @TraceLogging + // public NimsApiResult.Response getMnfSeqInfo(NimsApiRequest.MnfSeqInfoRequest dto) { + // dto.setK(nimsApiKey); + // ApiUtil.validate(dto, null, validator); + // if(!isEmpty(dto.getYmd())) ApiUtil.checkYmdError(dto.getYmd(), null); + // + // String rslt = ApiUtil.callNimsApi(nimsUrl + seqinfo, dto); + // NimsApiResult result = json.parse(rslt, new TypeReference>() {}); + // return result.getResponse(); + // } + // + // @Override + // @TraceLogging + // public NimsApiResult.Response getJurisdictionGovInfo( + // NimsApiRequest.JurisdictionGovInfoRequest dto) { + // dto.setK(nimsApiKey); + // ApiUtil.validate(dto, null, validator); + // if(isEmpty(dto.getOcd()) && isEmpty(dto.getOnm()) && isEmpty(dto.getAdr())) { + // throw ApiCustomException.create("필수 파라메터 에러(ocd-기관 코드, onm-기관명, adr-주소 중 하나는 필수)"); + // } + // + // String rslt = ApiUtil.callNimsApi(nimsUrl + officeinfo, dto); + // NimsApiResult result = json.parse(rslt, new TypeReference>() {}); + // return result.getResponse(); + // } + // + // @Override + // @TraceLogging + // public NimsApiResult.Response getStorageInfo(NimsApiRequest.StorageInfoRequest dto) { + // dto.setK(nimsApiKey); + // ApiUtil.validate(dto, null, validator); + // if(!isEmpty(dto.getYmd())) ApiUtil.checkYmdError(dto.getYmd(), null); + // if(!isEmpty(dto.getFg()) && dto.getFg().equals("1")) { + // if(isEmpty(dto.getBc())){ + // throw ApiCustomException.create("조회 범위를 특정업체(fg=1)로 조회할 경우 취급자식별번호(bc)는 필수입니다"); + // } + // } + // + // String rslt = ApiUtil.callNimsApi(nimsUrl + placeinfoV1, dto); + // NimsApiResult result = json.parse(rslt, new TypeReference>() {}); + // return result.getResponse(); + // } @Override public NimsApiResult.Response getDsuseRptInfo(NimsApiRequest.DsuseRptInfoRequest dto) { diff --git a/src/main/java/cokr/xit/adds/inf/nims/web/InfNimsController.java b/src/main/java/cokr/xit/adds/inf/nims/web/InfNimsController.java index 710f46f..e6f78a6 100644 --- a/src/main/java/cokr/xit/adds/inf/nims/web/InfNimsController.java +++ b/src/main/java/cokr/xit/adds/inf/nims/web/InfNimsController.java @@ -44,37 +44,37 @@ public class InfNimsController { return ApiBaseResponse.of(infNimsService.getBsshInfoSt(dto)); } - @Operation(summary = "마약류 상품 정보 조회", description = "마약류 상품정보 조회") - @PostMapping("/getProductInfoKd") - public ApiBaseResponse> getProductInfoKd( - @RequestBody NimsApiRequest.ProductInfoRequest dto - ) { - return ApiBaseResponse.of(infNimsService.getProductInfoKd(dto)); - } - - @Operation(summary = "제조 일련 번호 정보 조회", description = "제조 일련 번호 정보 조회") - @PostMapping("/getMnfSeqInfo") - public ApiBaseResponse> getMnfSeqInfo( - @RequestBody NimsApiRequest.MnfSeqInfoRequest dto - ) { - return ApiBaseResponse.of(infNimsService.getMnfSeqInfo(dto)); - } - - @Operation(summary = "관할 허가 관청 정보 조회", description = "관할 허가 관청 정보 조회") - @PostMapping("/getJurisdictionGovInfo") - public ApiBaseResponse> getJurisdictionGovInfo( - @RequestBody NimsApiRequest.JurisdictionGovInfoRequest dto - ) { - return ApiBaseResponse.of(infNimsService.getJurisdictionGovInfo(dto)); - } - - @Operation(summary = "저장소 정보 조회", description = "저장소 정보 조회") - @PostMapping("/getStorageInfo") - public ApiBaseResponse> getStorageInfo( - @RequestBody NimsApiRequest.StorageInfoRequest dto - ) { - return ApiBaseResponse.of(infNimsService.getStorageInfo(dto)); - } + // @Operation(summary = "마약류 상품 정보 조회", description = "마약류 상품정보 조회") + // @PostMapping("/getProductInfoKd") + // public ApiBaseResponse> getProductInfoKd( + // @RequestBody NimsApiRequest.ProductInfoRequest dto + // ) { + // return ApiBaseResponse.of(infNimsService.getProductInfoKd(dto)); + // } + // + // @Operation(summary = "제조 일련 번호 정보 조회", description = "제조 일련 번호 정보 조회") + // @PostMapping("/getMnfSeqInfo") + // public ApiBaseResponse> getMnfSeqInfo( + // @RequestBody NimsApiRequest.MnfSeqInfoRequest dto + // ) { + // return ApiBaseResponse.of(infNimsService.getMnfSeqInfo(dto)); + // } + // + // @Operation(summary = "관할 허가 관청 정보 조회", description = "관할 허가 관청 정보 조회") + // @PostMapping("/getJurisdictionGovInfo") + // public ApiBaseResponse> getJurisdictionGovInfo( + // @RequestBody NimsApiRequest.JurisdictionGovInfoRequest dto + // ) { + // return ApiBaseResponse.of(infNimsService.getJurisdictionGovInfo(dto)); + // } + // + // @Operation(summary = "저장소 정보 조회", description = "저장소 정보 조회") + // @PostMapping("/getStorageInfo") + // public ApiBaseResponse> getStorageInfo( + // @RequestBody NimsApiRequest.StorageInfoRequest dto + // ) { + // return ApiBaseResponse.of(infNimsService.getStorageInfo(dto)); + // } @Operation(summary = "폐기 보고 정보 조회", description = "폐기 보고 정보 조회") @PostMapping("/getDsuseRptInfo") diff --git a/src/main/resources/sql/mapper-backup/nims-mysql-mapper-backup.xml b/src/main/resources/sql/mapper-backup/nims-mysql-mapper-backup.xml new file mode 100644 index 0000000..446aab9 --- /dev/null +++ b/src/main/resources/sql/mapper-backup/nims-mysql-mapper-backup.xml @@ -0,0 +1,458 @@ + + + + + + + + + + /** nims-mysql-mapper|mergeBsshInfoSt-마약류취급자정보 생성/변경|julim */ + INSERT INTO tb_bssh_info( + bssh_cd, + bssh_nm, + induty_nm, + hdnt_cd, + hdnt_nm, + bizrno, + rprsntv_nm, + chrg_nm, + hptl_no, + join_yn, + bssh_stts_nm, + prmisn_no, + use_yn, + reg_dt, + rgtr + ) VALUES ( + #{bsshCd}, + #{bsshNm}, + #{indutyNm}, + #{hdntCd}, + #{hdntNm}, + #{bizrno}, + #{rprsntvNm}, + #{chrgNm}, + #{hptlNo}, + #{joinYn}, + #{bsshSttusNm}, + #{prmisnNo}, + 'Y', + DATE_FORMAT(now(), '%Y%m%d%H%i%s'), + #{rgtr} + ) + ON DUPLICATE KEY UPDATE + bssh_nm = #{bsshNm}, + induty_nm = #{indutyNm}, + hdnt_cd = #{hdntCd}, + hdnt_nm = #{hdntNm}, + bizrno = #{bizrno}, + rprsntv_nm = #{rprsntvNm}, + chrg_nm = #{chrgNm}, + hptl_no = #{hptlNo}, + join_yn = #{joinYn}, + bssh_stts_nm = #{bsshSttusNm}, + prmisn_no = #{prmisnNo}, + mdfcn_dt = DATE_FORMAT(now(), '%Y%m%d%H%i%s'), + mdfr = #{rgtr} + + + + /** nims-mysql-mapper|mergeProductInfoKd-상품정보 생성|julim */ + INSERT INTO tb_prduct_info( + prduct_cd, + prdlst_mst_cd, + prduct_nm, + nrcd_se_nm, + prtm_se_nm, + prd_min_distb_qy, + std_packng_stle_nm, + prd_tot_pce_qy, + pce_co_unit_nm, + bssh_cd, + rgs_dt, + upd_dt, + use_yn, + reg_dt, + rgtr + ) VALUES ( + #{prductCd}, + #{prdlstMstCd}, + #{prductNm}, + #{nrcdSeNm}, + #{prtmSeNm}, + #{prdMinDistbQy}, + #{stdPackngStleNm}, + #{prdTotPceQy}, + #{pceCoUnitNm}, + #{bsshCd}, + #{rgsDt}, + #{updDt}, + 'Y', + DATE_FORMAT(now(), '%Y%m%d%H%i%s'), + #{rgtr} + ) + ON DUPLICATE KEY UPDATE + prdlst_mst_cd = #{prdlstMstCd}, + prduct_nm = #{prductNm}, + nrcd_se_nm = #{nrcdSeNm}, + prtm_se_nm = #{prtmSeNm}, + prd_min_distb_qy = #{prdMinDistbQy}, + std_packng_stle_nm = #{stdPackngStleNm}, + prd_tot_pce_qy = #{prdTotPceQy}, + pce_co_unit_nm = #{pceCoUnitNm}, + bssh_cd = #{bsshCd}, + rgs_dt = #{rgsDt}, + upd_dt = #{updDt}, + mdfcn_dt = DATE_FORMAT(now(), '%Y%m%d%H%i%s'), + mdfr = #{rgtr} + + + + /** nims-mysql-mapper|mergeStorgeInfo-저장소 정보 생성|julim */ + INSERT INTO tb_storge_info( + bssh_cd, + bssh_nm, + use_at, + storge_se_nm, + storge_no, + storge_nm, + bass_adres, + bass_dtl_adres, + use_yn, + reg_dt, + rgtr + ) VALUES ( + #{bsshCd}, + #{bsshNm}, + #{useAt}, + #{storgeSeNm}, + #{storgeNo}, + #{storgeNm}, + #{bassAdres}, + #{bassDtlAdres}, + 'Y', + DATE_FORMAT(now(), '%Y%m%d%H%i%s'), + #{rgtr} + ) + ON DUPLICATE KEY UPDATE + bssh_nm = #{bsshNm}, + use_at = #{useAt}, + storge_se_nm = #{storgeSeNm}, + storge_no = #{storgeNo}, + storge_nm = #{storgeNm}, + bass_adres = #{bassAdres}, + bass_dtl_adres = #{bassDtlAdres}, + mdfcn_dt = DATE_FORMAT(now(), '%Y%m%d%H%i%s'), + mdfr = #{rgtr} + + + + + + + + + + + + + /** nims-mysql-mapper|insertDsuseRptInfo-폐기보고정보 생성|julim */ + INSERT INTO tb_dsuse_rpt_info ( + usr_rpt_id_no, /* 사용자보고식별번호 */ + ref_usr_rpt_id_no, /* 참조사용자식별번호 */ + bssh_cd, /* 마약류취급자식별번호 */ + bssh_nm, /* 마약류취급자명 */ + induty_nm, /* 업종명 */ + rpt_ty_cd, /* 보고유형코드 : AAR - 폐기보고 */ + rnd_dtl_rpt_cnt, /* 수불상세보고수 */ + hdr_de, /* 취급일자 */ + rpt_de, /* 보고일자 */ + dsuse_se_cd, /* 폐기구분코드 */ + dsuse_prv_cd, /* 폐기사유코드 */ + dsuse_mth_cd, /* 폐기방법코드 */ + dsuse_loc, /* 폐기장소 */ + dsuse_de, /* 폐기일자 */ + status, /* 상태 */ + rpt_prg_stts_cd, /* 보고진행상태코드 */ + org_usr_rpt_id_no, /* 원본사용자보고식별번호 */ + use_yn, + reg_dt, + rgtr + ) VALUES ( + #{usrRptIdNo}, + #{refUsrRptIdNo}, + #{bsshCd}, + #{bsshNm}, + #{indutyNm}, + #{rptTyCd}, + #{rndDtlRptCnt}, + #{hdrDe}, + #{rptDe}, + #{dsuseSeCd}, + #{dsusePrvCd}, + #{dsuseMthCd}, + #{dsuseLoc}, + #{dsuseDe}, + #{status}, + #{rptPrgSttsCd}, + #{orgUsrRptIdNo}, + IF(#{rptTyCd} = '1', 'N', 'Y'), + DATE_FORMAT(now(), '%Y%m%d%H%i%s'), + #{rgtr} + ) + + + + /** nims-mysql-mapper|insertDsuseRptInfoDtl-폐기보고정보 상세 생성|julim */ + INSERT INTO tb_dsuse_rpt_info_dtl ( + usr_rpt_id_no, /* 사용자보고식별번호 */ + usr_rpt_ln_id_no, /* 사용자보고라인식별번호 */ + prduct_cd, /* 제품코드 */ + prduct_nm, /* 제품명 */ + min_distb_qy, /* 최소유통단위수량 */ + pce_qy, /* 낱개단위수량 */ + mnf_no, /* 제조번호 */ + prd_valid_de, /* 제품유효기한일자 */ + mnf_seq, /* 제품일련번호 */ + mvmn_ty_cd, /* 이동유형코드 */ + dsuse_qy, /* 폐기수량 */ + use_yn, + reg_dt, + rgtr + ) VALUES ( + #{usrRptIdNo}, + #{usrRptLnIdNo}, + #{prductCd}, + #{prductNm}, + #{minDistbQy}, + #{pceQy}, + #{mnfNo}, + #{prdValidDe}, + #{mnfSeq}, + #{mvmnTyCd}, + #{dsuseQy}, + 'Y', + DATE_FORMAT(now(), '%Y%m%d%H%i%s'), + #{rgtr} + ) + + + + /** nims-mysql-mapper|updateCancelDsuseRptInfo-폐기보고정보 취소|julim */ + UPDATE tb_dsuse_rpt_info + SET use_yn = 'N' + , mdfcn_dt = DATE_FORMAT(now(), '%Y%m%d%H%i%s') + , mdfr = #{rgtr} + WHERE usr_rpt_id_no = #{refUsrRptIdNo} + AND use_yn = 'Y' + + + + /** nims-mysql-mapper|updateCancelDsuseMgt-폐기관리 취소(참조사용자식별번호로)|julim */ + UPDATE tb_dsuse_mgt + SET usr_rpt_id_no = #{usrRptIdNo} + , use_yn = IF(#{rptTyCd} = '1', 'N', use_yn) + , mdfcn_dt = DATE_FORMAT(now(), '%Y%m%d%H%i%s') + , mdfr = #{rgtr} + WHERE usr_rpt_id_no = #{refUsrRptIdNo} + AND use_yn = 'Y' + + + + /** nims-mysql-mapper|updateCancelDsuseRptInfoDtl-폐기보고정보 상세 취소|julim */ + UPDATE tb_dsuse_rpt_info_dtl + SET use_yn = 'N' + , mdfcn_dt = DATE_FORMAT(now(), '%Y%m%d%H%i%s') + , mdfr = #{rgtr} + WHERE usr_rpt_id_no = #{refUsrRptIdNo} + AND use_yn = 'Y' + + + + + + + /** nims-mysql-mapper|insertDsuseMgt-폐기관리 생성|julim */ + + SELECT NVL(MAX(dscdmng_id), CONCAT(DATE_FORMAT(now(), '%Y%m'),'0000')) + 1 + FROM tb_dsuse_mgt + WHERE dscdmng_id LIKE CONCAT(DATE_FORMAT(now(), '%Y%m'), '%'); + + INSERT INTO tb_dsuse_mgt ( + dscdmng_id, /* 폐기관리ID */ + user_id, /* 사용자ID */ + usr_rpt_id_no, /* 사용자보고식별번호 */ + org_usr_rpt_id_no, /* 원사용자보고식별번호 */ + prgrs_stts_cd, /* 폐기관리진행상태코드 */ + use_yn, + reg_dt, + rgtr + ) VALUES ( + #{dscdmngId}, + #{userId}, + #{usrRptIdNo}, + #{orgUsrRptIdNo}, + #{prgrsSttsCd}, + 'Y', + DATE_FORMAT(now(), '%Y%m%d%H%i%s'), + #{rgtr} + ) + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/main/resources/sql/mapper/biz/nims-mysql-mapper.xml b/src/main/resources/sql/mapper/biz/nims-mysql-mapper.xml index 446aab9..75ad66d 100644 --- a/src/main/resources/sql/mapper/biz/nims-mysql-mapper.xml +++ b/src/main/resources/sql/mapper/biz/nims-mysql-mapper.xml @@ -57,96 +57,6 @@ mdfcn_dt = DATE_FORMAT(now(), '%Y%m%d%H%i%s'), mdfr = #{rgtr} - - - /** nims-mysql-mapper|mergeProductInfoKd-상품정보 생성|julim */ - INSERT INTO tb_prduct_info( - prduct_cd, - prdlst_mst_cd, - prduct_nm, - nrcd_se_nm, - prtm_se_nm, - prd_min_distb_qy, - std_packng_stle_nm, - prd_tot_pce_qy, - pce_co_unit_nm, - bssh_cd, - rgs_dt, - upd_dt, - use_yn, - reg_dt, - rgtr - ) VALUES ( - #{prductCd}, - #{prdlstMstCd}, - #{prductNm}, - #{nrcdSeNm}, - #{prtmSeNm}, - #{prdMinDistbQy}, - #{stdPackngStleNm}, - #{prdTotPceQy}, - #{pceCoUnitNm}, - #{bsshCd}, - #{rgsDt}, - #{updDt}, - 'Y', - DATE_FORMAT(now(), '%Y%m%d%H%i%s'), - #{rgtr} - ) - ON DUPLICATE KEY UPDATE - prdlst_mst_cd = #{prdlstMstCd}, - prduct_nm = #{prductNm}, - nrcd_se_nm = #{nrcdSeNm}, - prtm_se_nm = #{prtmSeNm}, - prd_min_distb_qy = #{prdMinDistbQy}, - std_packng_stle_nm = #{stdPackngStleNm}, - prd_tot_pce_qy = #{prdTotPceQy}, - pce_co_unit_nm = #{pceCoUnitNm}, - bssh_cd = #{bsshCd}, - rgs_dt = #{rgsDt}, - upd_dt = #{updDt}, - mdfcn_dt = DATE_FORMAT(now(), '%Y%m%d%H%i%s'), - mdfr = #{rgtr} - - - - /** nims-mysql-mapper|mergeStorgeInfo-저장소 정보 생성|julim */ - INSERT INTO tb_storge_info( - bssh_cd, - bssh_nm, - use_at, - storge_se_nm, - storge_no, - storge_nm, - bass_adres, - bass_dtl_adres, - use_yn, - reg_dt, - rgtr - ) VALUES ( - #{bsshCd}, - #{bsshNm}, - #{useAt}, - #{storgeSeNm}, - #{storgeNo}, - #{storgeNm}, - #{bassAdres}, - #{bassDtlAdres}, - 'Y', - DATE_FORMAT(now(), '%Y%m%d%H%i%s'), - #{rgtr} - ) - ON DUPLICATE KEY UPDATE - bssh_nm = #{bsshNm}, - use_at = #{useAt}, - storge_se_nm = #{storgeSeNm}, - storge_no = #{storgeNo}, - storge_nm = #{storgeNm}, - bass_adres = #{bassAdres}, - bass_dtl_adres = #{bassDtlAdres}, - mdfcn_dt = DATE_FORMAT(now(), '%Y%m%d%H%i%s'), - mdfr = #{rgtr} - @@ -374,85 +284,4 @@ - - - - - - - - - - - - - - -