From 7f1434990a5fef0ccb77af2104f1849bfa44d096 Mon Sep 17 00:00:00 2001 From: "Jonguk. Lim" Date: Wed, 5 Jun 2024 14:45:40 +0900 Subject: [PATCH] =?UTF-8?q?feat:=20=ED=8F=90=EA=B8=B0=EB=B3=B4=EA=B3=A0=20?= =?UTF-8?q?-=20=EB=B3=B4=EA=B3=A0=EC=A0=95=EB=B3=B4=20API=20=EB=B0=98?= =?UTF-8?q?=EC=98=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../xit/adds/biz/nims/dao/BizNimsMapper.java | 9 +- .../xit/adds/biz/nims/model/BizNimsDto.java | 299 ++++++++++++++ .../adds/biz/nims/model/BizNimsRequest.java | 388 +----------------- .../adds/biz/nims/model/BizNimsResponse.java | 4 +- .../adds/biz/nims/service/BizNimsService.java | 10 +- .../nims/service/bean/BizNimsServiceBean.java | 72 ++-- .../adds/biz/nims/web/BizNimsController.java | 15 +- .../xit/adds/inf/nims/model/NimsApiDto.java | 25 +- .../nims/service/bean/InfNimsServiceBean.java | 78 ---- .../sql/mapper/biz/nims-mysql-mapper.xml | 6 +- 10 files changed, 398 insertions(+), 508 deletions(-) create mode 100644 src/main/java/cokr/xit/adds/biz/nims/model/BizNimsDto.java 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 dd02dfd..602bc24 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 @@ -6,6 +6,7 @@ import java.util.Optional; import org.egovframe.rte.psl.dataaccess.mapper.Mapper; +import cokr.xit.adds.biz.nims.model.BizNimsDto; import cokr.xit.adds.biz.nims.model.BizNimsRequest; import cokr.xit.adds.biz.nims.model.BizNimsResponse; import cokr.xit.adds.inf.nims.model.NimsApiDto; @@ -49,8 +50,8 @@ public interface BizNimsMapper extends AbstractMapper { Optional> selectApiInfInfoByUserId(Map map); int insertDsuseMgtReceipt(final BizNimsRequest.DsuseMgtReceipt dto); int updateDsuseMgtRslt(final BizNimsRequest.DsuseMgtRslt dto); - int insertDsuseMgt(final BizNimsRequest.DsuseMgt dto); - int insertDsuseMgtDtl(final BizNimsRequest.DsuseMgtDtl dto); + int insertDsuseMgt(final BizNimsDto.DsuseMgt dto); + int insertDsuseMgtDtl(final BizNimsDto.DsuseMgtDtl dto); List selectDsuseMgts(final BizNimsRequest.DsuseMgtInq dto); List selectDsuseMgtDtls(final Map map); int updateMappingDsuseMgt(final BizNimsResponse.DsuseMgtRes mgtDto); @@ -59,7 +60,7 @@ public interface BizNimsMapper extends AbstractMapper { int insertDsuseRptInfoDtl(final NimsApiDto.DsuseRptInfoDtl dto); int updateCancelDsuseRptInfo(final NimsApiDto.DsuseRptInfo dto); int updateCancelDsuseRptInfoDtl(final NimsApiDto.DsuseRptInfo dto); - int updatePrgsSttsOfDsuseMgt(final BizNimsRequest.DsuseMgt dto); + int updatePrgsSttsOfDsuseMgt(final BizNimsDto.DsuseMgt dto); Map recusiveRefUsrRptIdNo(final String refUsrRptIdNo); /** @@ -76,7 +77,7 @@ public interface BizNimsMapper extends AbstractMapper { //List selectSavedDsuseMgts(final List dsuseMgtIds); - // int insertDsuseMgtDtl(BizNimsRequest.DsuseMgtDtl dto); + // int insertDsuseMgtDtl(BizNimsDto.DsuseMgtDtl dto); // int updateCancelDsuseMgtDtl(BizNimsRequest.DsuseMgt dto); // BizNimsAarDto.AarHeader selectTgtAarHeader(BizNimsRequest.DsuseMgt dto); diff --git a/src/main/java/cokr/xit/adds/biz/nims/model/BizNimsDto.java b/src/main/java/cokr/xit/adds/biz/nims/model/BizNimsDto.java new file mode 100644 index 0000000..e87a439 --- /dev/null +++ b/src/main/java/cokr/xit/adds/biz/nims/model/BizNimsDto.java @@ -0,0 +1,299 @@ +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 javax.validation.constraints.Positive; +import javax.validation.constraints.PositiveOrZero; + +import com.fasterxml.jackson.annotation.JsonInclude; + +import cokr.xit.adds.core.Constants; +import cokr.xit.adds.core.model.AuditDto; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; + +public class BizNimsDto { + /** + * 마약류 폐기 관리 마스터 request + */ + @Schema(name = "DsuseMgt", description = "마약류 폐기 관리 마스터 DTO") + @Data + @NoArgsConstructor + @AllArgsConstructor + @SuperBuilder + @EqualsAndHashCode(callSuper = false) + @JsonInclude(JsonInclude.Include.NON_NULL) + public static class DsuseMgt extends AuditDto { + /** + * 폐기 관리 ID + */ + @Schema(requiredMode = AUTO, title = "폐기 관리 ID", example = " ") + private String dscdmngId; + + /** + * 사용자 ID + */ + @Schema(requiredMode = REQUIRED, title = "사용자 ID", example = " ") + @NotEmpty(message = "사용자 ID는 필수 입니다") + private String userId; + + /** + *
+         * 폐기관리진행상태 - ADDS11
+         * 01-폐기신청서 접수
+         * 06-폐기통보서작성
+         * 07-폐기내역서작성
+         * 11-폐기보고확인
+         * 21-폐기보고
+         * 99-폐기보고완료
+         * 
+ */ + @Schema(title = "폐기관리진행상태", example = " ") + @NotEmpty(message = "폐기관리진행상태는 필수 입니다") + private String prgrsSttsCd = Constants.PRGRS_STTS_CD.RECEIPT.getCode(); + + /** + * 마약류취급자식별번호 + */ + @Schema(title = "마약류취급자식별번호", example = " ") + @NotEmpty(message = "마약류취급자식별번호는 필수 입니다") + private String bsshCd; + + /** + * 수불상세보고수 + */ + @Schema(title = "수불상세보고수", example = " ") + private Integer rndDtlRptCnt; + + /** + * 취급일자 - 폐기신청민원 처리일자(공문시행일자) + */ + @Schema(title = "취급일자", example = " ") + @Pattern(regexp = Constants.DATE_REGX, message = "취급일자를 정확히 입력해 주세요(yyyyMMdd)") + private String hdrDe; + + // /** + // * 보고일자 + // */ + // @Schema(title = "보고일자", example = " ") + // @Pattern(regexp = Constants.DATE_REGX, message = "보고일자를 정확히 입력해 주세요(yyyyMMdd)") + // private String rptDe; + + /** + *
+         * 폐기 구분 코드
+         * 1-보건소폐기, 2-공무원임회, 4-도난/분실/재해 발생 사고마약류
+         * 
+ */ + @Schema(title = "폐기 구분 코드", example = " ") + @NotEmpty(message = "폐기 구분 코드는 필수 입니다") + private String dsuseSeCd; + + /** + *
+         * 폐기 사유 코드
+         * 01-파손, 02-변질,부패, 03-유효기간 또는 사용기한 경과
+         * 04-유효 기간 임박, 05-사용 중단, 07-폐업, 08-환자 반납
+         * 09-기타, 12-제조 공정중 폐기물
+         * 
+ */ + @Schema(title = "폐기 사유 코드", example = " ") + @NotEmpty(message = "폐기 사유 코드는 필수 입니다") + private String dsusePrvCd; + + /** + *
+         * 폐기 방법 코드
+         * 1-소각, 2-중화, 3-가수 분해, 4-산화, 5-환원
+         * 6-희석, 7-매물, 8-기타(파쇄,혼합), 9-사고
+         * 
+ */ + @Schema(title = "폐기 방법 코드", example = " ") + @NotEmpty(message = "폐기 방법 코드는 필수 입니다") + private String dsuseMthCd; + + /** + * 폐기 장소 + */ + @Schema(title = "폐기 장소", example = " ") + @NotEmpty(message = "폐기 장소는 필수 입니다") + private String dsuseLoc; + + /** + * 폐기일자 + */ + @Schema(title = "폐기일자", example = " ") + @Pattern(regexp = Constants.DATE_REGX, message = "폐기일자를 정확히 입력해 주세요(yyyyMMdd)") + private String dsuseDe; + + /** + *
+         * 사용자 보고 식별 번호
+         * 생성후 변경이나 취소시 새로운 보고식별번호로 update
+         * 
+ */ + @Schema(title = "사용자보고식별번호", example = " ") + private String usrRptIdNo; + + /** + *
+         * 원 사용자 보고 식별 번호
+         * 폐기 보고 생성시의 사용자 보고 식별 번호
+         * 생성 > 변경 > 변경 > 취소 등의 보고시 매번 새로운 보고식별번호가 생성
+         * => 추적을 위해 최초의 생성시 보고식별번호를 기록
+         * YYYYMMDD
+         * 
+ */ + @Schema(title = "원사용자보고식별번호", example = " ") + private String orgUsrRptIdNo; + + /** + *
+         * 보고 유형 코드
+         * 0-신규, 1-취소, 2-변경
+         * 
+ */ + @Schema(title = "폐기보고유형코드", example = " ") + private String rptTyCd; + + /** + *
+         * 처리상태
+         * 
+ */ + @Schema(title = "폐기보고처리상태", example = " ") + private String stts; + + @Schema(requiredMode = REQUIRED, description = "폐기 관리 상세 목록", example = " ") + @Builder.Default + @Valid + List dsuseMgtDtls = new ArrayList<>(); + } + + /** + * 마약류 폐기 관리 상세 request + */ + @Schema(name = "DsuseMgtDtl", description = "마약류 폐기 관리 상세 DTO") + @Data + @NoArgsConstructor + @AllArgsConstructor + @SuperBuilder + @EqualsAndHashCode(callSuper = false) + @JsonInclude(JsonInclude.Include.NON_NULL) + public static class DsuseMgtDtl extends AuditDto { + /** + * 폐기관리ID + */ + @Schema(title = "폐기관리ID-업무의필요에의해추가", example = " ") + private String dscdmngId; + + /** + * 폐기관리순번 + */ + @Schema(title = "폐기관리순번-업무의필요에의해추가", example = " ") + private String dscdmngSn; + + /** + * 제품_코드 - 13자리 + */ + @Schema(requiredMode = REQUIRED, title = "제품코드", example = "8806718050823") + @Pattern(regexp = "[0-9a-zA-Z]{13}", message = "제품코드는 13자리 입니다") + private String prductCd; + + /** + * 제품명 + */ + @Schema(requiredMode = REQUIRED, title = "제품명", example = "아쿠아폴주20밀리리터(프로포폴) (20㎖)") + @NotEmpty(message = "제품명은 필수 입니다") + private String prductNm; + + /** + * 최소유통단위 수량 : 1 ~ + */ + @Schema(requiredMode = REQUIRED, title = "최소유통단위수량", example = "1") + @Positive(message="최소유통단위 수량을 입력해 주세요(ex. 1)") + private Integer minDistbQy; + + /** + * 최소 유통 단위 + */ + @Schema(title = "최소유통단위", example = "1") + private String minDistbUnit; + + /** + * 낱개단위 수량 : 0 ~ + */ + @Schema(requiredMode = REQUIRED, title = "낱개단위수량", example = "0") + @PositiveOrZero(message = "낱개단위 수량은 필수 입니다(ex. 0)") + private Integer pceQy; + + /** + * 낱개 단위 + */ + @Schema(title = "낱개단위", example = "1") + private String pceUnit; + + /** + * 제조번호 - 20자리 이하 + */ + @Schema(requiredMode = REQUIRED, title = "제품제조번호", example = "A1111") + @Pattern(regexp = "[0-9a-zA-Z]{1,20}", message = "제품제조번호는 필수 입니다") + private String mnfNo; + + /** + * 제품 유효기한 일자 - yyyyMMdd + */ + @Schema(requiredMode = REQUIRED, title = "제품유효기간", example = "20300303") + @Pattern(regexp = Constants.DATE_REGX, message = "제품 유효 기간을 정확히 입력해 주세요(yyyyMMdd)") + private String prdValidDe; + + /** + * 제조 일련번호 - 20자리 이하 + */ + @Schema(requiredMode = REQUIRED, title = "제조일련번호", example = "A11111111") + @Pattern(regexp = "[0-9a-zA-Z]{1,20}", message = "제조 일련번호는 필수 입니다") + private String mnfSeq; + + /** + * 폐기 수량 + */ + @Schema(requiredMode = REQUIRED, title = "폐기수량", example = "2") + @Positive(message = "폐기 수량은 0보다 커야 합니다") + private Integer dsuseQy; + + @Schema(title = "폐기제품이미지파일ID", example = " ") + private String fileId; + + /** + * 사용자보고식별번호 + */ + @Schema(title = "사용자보고식별번호", example = " ") + private String usrRptIdNo; + + /** + * 사용자 보고 라인 식별 번호 + */ + @Schema(title = "사용자보고라인식별번호", example = " ") + private String usrRptLnIdNo; + + /** + *
+         *     폐기관리상세와 폐기보고정보 상세의 폐기 정보(상품) 일치 여부
+         *     -> 일치하는 경우 "Y"
+         * 
+ */ + @Schema(title = "폐기관리상세와 폐기보고정보 상세의 폐기 정보(상품) 일치 여부", example = " ") + private String matchYn; + } +} diff --git a/src/main/java/cokr/xit/adds/biz/nims/model/BizNimsRequest.java b/src/main/java/cokr/xit/adds/biz/nims/model/BizNimsRequest.java index cdcfe16..2c26a12 100644 --- a/src/main/java/cokr/xit/adds/biz/nims/model/BizNimsRequest.java +++ b/src/main/java/cokr/xit/adds/biz/nims/model/BizNimsRequest.java @@ -2,17 +2,13 @@ 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 javax.validation.constraints.Positive; -import javax.validation.constraints.PositiveOrZero; import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonProperty; import cokr.xit.adds.core.Constants; import cokr.xit.adds.core.model.AuditDto; @@ -44,7 +40,6 @@ public class BizNimsRequest { */ @Schema(name = "DsuseMgtReceipt", description = "마약류 폐기 관리 신청서 접수 DTO") @Getter - //@Setter @NoArgsConstructor @SuperBuilder @EqualsAndHashCode(callSuper = false) @@ -198,349 +193,15 @@ public class BizNimsRequest { private String dsuseDe; } - /** - * 마약류 폐기 관리 마스터 request - */ - @Schema(name = "DsuseMgt", description = "마약류 폐기 관리 마스터 DTO") - @Data - @NoArgsConstructor - @AllArgsConstructor - @SuperBuilder - @EqualsAndHashCode(callSuper = false) - @JsonInclude(JsonInclude.Include.NON_NULL) - public static class DsuseMgt extends AuditDto { - /** - * 폐기 관리 ID - */ - @Schema(requiredMode = AUTO, title = "폐기 관리 ID", example = " ") - private String dscdmngId; - - /** - * 사용자 ID - */ - @Schema(requiredMode = REQUIRED, title = "사용자 ID", example = " ") - @NotEmpty(message = "사용자 ID는 필수 입니다") - private String userId; - - /** - *
-		 * 폐기관리진행상태 - ADDS11
-		 * 01-폐기신청서 접수
-		 * 06-폐기통보서작성
-		 * 07-폐기내역서작성
-		 * 11-폐기보고확인
-		 * 21-폐기보고
-		 * 99-폐기보고완료
-		 * 
- */ - @Schema(title = "폐기관리진행상태", example = " ") - @NotEmpty(message = "폐기관리진행상태는 필수 입니다") - private String prgrsSttsCd = Constants.PRGRS_STTS_CD.RECEIPT.getCode(); - - /** - * 마약류취급자식별번호 - */ - @Schema(title = "마약류취급자식별번호", example = " ") - @NotEmpty(message = "마약류취급자식별번호는 필수 입니다") - private String bsshCd; - - /** - * 수불상세보고수 - */ - @Schema(title = "수불상세보고수", example = " ") - private Integer rndDtlRptCnt; - - /** - * 취급일자 - 폐기신청민원 처리일자(공문시행일자) - */ - @Schema(title = "취급일자", example = " ") - @Pattern(regexp = Constants.DATE_REGX, message = "취급일자를 정확히 입력해 주세요(yyyyMMdd)") - private String hdrDe; - - // /** - // * 보고일자 - // */ - // @Schema(title = "보고일자", example = " ") - // @Pattern(regexp = Constants.DATE_REGX, message = "보고일자를 정확히 입력해 주세요(yyyyMMdd)") - // private String rptDe; - - /** - *
-		 * 폐기 구분 코드
-		 * 1-보건소폐기, 2-공무원임회, 4-도난/분실/재해 발생 사고마약류
-		 * 
- */ - @Schema(title = "폐기 구분 코드", example = " ") - @NotEmpty(message = "폐기 구분 코드는 필수 입니다") - private String dsuseSeCd; - - /** - *
-		 * 폐기 사유 코드
-		 * 01-파손, 02-변질,부패, 03-유효기간 또는 사용기한 경과
-		 * 04-유효 기간 임박, 05-사용 중단, 07-폐업, 08-환자 반납
-		 * 09-기타, 12-제조 공정중 폐기물
-		 * 
- */ - @Schema(title = "폐기 사유 코드", example = " ") - @NotEmpty(message = "폐기 사유 코드는 필수 입니다") - private String dsusePrvCd; - - /** - *
-		 * 폐기 방법 코드
-		 * 1-소각, 2-중화, 3-가수 분해, 4-산화, 5-환원
-		 * 6-희석, 7-매물, 8-기타(파쇄,혼합), 9-사고
-		 * 
- */ - @Schema(title = "폐기 방법 코드", example = " ") - @NotEmpty(message = "폐기 방법 코드는 필수 입니다") - private String dsuseMthCd; - - /** - * 폐기 장소 - */ - @Schema(title = "폐기 장소", example = " ") - @NotEmpty(message = "폐기 장소는 필수 입니다") - private String dsuseLoc; - - /** - * 폐기일자 - */ - @Schema(title = "폐기일자", example = " ") - @Pattern(regexp = Constants.DATE_REGX, message = "폐기일자를 정확히 입력해 주세요(yyyyMMdd)") - private String dsuseDe; - - /** - *
-		 * 사용자 보고 식별 번호
-		 * 생성후 변경이나 취소시 새로운 보고식별번호로 update
-		 * 
- */ - @Schema(title = "사용자보고식별번호", example = " ") - private String usrRptIdNo; - - /** - *
-		 * 원 사용자 보고 식별 번호
-		 * 폐기 보고 생성시의 사용자 보고 식별 번호
-		 * 생성 > 변경 > 변경 > 취소 등의 보고시 매번 새로운 보고식별번호가 생성
-		 * => 추적을 위해 최초의 생성시 보고식별번호를 기록
-		 * YYYYMMDD
-		 * 
- */ - @Schema(title = "원사용자보고식별번호", example = " ") - private String orgUsrRptIdNo; - - /** - *
-		 * 보고 유형 코드
-		 * 0-신규, 1-취소, 2-변경
-		 * 
- */ - @Schema(title = "폐기보고유형코드", example = " ") - private String rptTyCd; - - /** - *
-		 * 처리상태
-		 * 
- */ - @Schema(title = "폐기보고처리상태", example = " ") - private String stts; - - @Schema(requiredMode = REQUIRED, description = "폐기 관리 상세 목록", example = " ") - @Builder.Default - @Valid - List dsuseMgtDtls = new ArrayList<>(); - } - - /** - * 마약류 폐기 관리 마스터 request - */ - @Schema(name = "DsuseMgt", description = "마약류 폐기 관리 마스터 DTO") - @Data - @NoArgsConstructor - @AllArgsConstructor - @SuperBuilder - @EqualsAndHashCode(callSuper = false) - public static class DsuseMgt2 extends AuditDto { - @Schema(requiredMode = AUTO, title = "폐기 관리 ID", example = " ") - private String dscdmngId; - - @Schema(requiredMode = REQUIRED, title = "사용자 ID", example = " ") - @NotEmpty(message = "사용자 ID는 필수 입니다") - private String userId; - - /** - *
-		 * 원 사용자 보고 식별 번호
-		 * 폐기 보고 생성시의 사용자 보고 식별 번호
-		 * 생성 > 변경 > 변경 > 취소 등의 보고시 매번 새로운 보고식별번호가 생성
-		 * => 추적을 위해 최초의 생성시 보고식별번호를 기록
-		 * YYYYMMDD
-		 * 
- */ - @Schema(requiredMode = REQUIRED, title = "원사용자보고식별번호", example = " ") - private String orgUsrRptIdNo; - - /** - *
-		 * 사용자 보고 식별 번호
-		 * 생성후 변경이나 취소시 새로운 보고식별번호로 update
-		 * 
- */ - @Schema(requiredMode = REQUIRED, title = "사용자보고식별번호", example = " ") - private String usrRptIdNo; - - /** - * 마약류취급자식별번호 - */ - @JsonProperty(value = "BSSH_CD", required = true) - private String bsshCd; - - /** - *
-		 * 폐기관리진행상태 - ADDS11
-		 * 01-폐기신청서 접수
-		 * 06-폐기통보서작성
-		 * 07-폐기내역서작성
-		 * 11-폐기보고확인
-		 * 21-폐기보고
-		 * 99-폐기보고완료
-		 * 
- */ - @Schema(requiredMode = REQUIRED, title = "진행 상태 코드", example = " ", allowableValues = {"01", "02", "11", "21", "22", "31", "41", "99"}) - @Pattern(regexp = "01|02|11|22|31|41|99", message = "진행 상태 코드는 필수 입니다") - private String prgrsSttsCd = Constants.PRGRS_STTS_CD.RECEIPT.getCode(); - } - - /** - * 마약류 폐기 관리 상세 request - */ - @Schema(name = "DsuseMgtDtl", description = "마약류 폐기 관리 상세 DTO") - @Data - @NoArgsConstructor - @AllArgsConstructor - @SuperBuilder - @EqualsAndHashCode(callSuper = false) - @JsonInclude(JsonInclude.Include.NON_NULL) - public static class DsuseMgtDtl extends AuditDto { - /** - * 폐기관리ID - */ - @Schema(title = "폐기관리ID-업무의필요에의해추가", example = " ") - private String dscdmngId; - - /** - * 폐기관리순번 - */ - @Schema(title = "폐기관리순번-업무의필요에의해추가", example = " ") - private String dscdmngSn; - - /** - * 제품_코드 - 13자리 - */ - @Schema(requiredMode = REQUIRED, title = "제품코드", example = "8806718050823") - @Pattern(regexp = "[0-9a-zA-Z]{13}", message = "제품코드는 13자리 입니다") - private String prductCd; - - /** - * 제품명 - */ - @Schema(requiredMode = REQUIRED, title = "제품명", example = "아쿠아폴주20밀리리터(프로포폴) (20㎖)") - @NotEmpty(message = "제품명은 필수 입니다") - private String prductNm; - - /** - * 최소유통단위 수량 : 1 ~ - */ - @Schema(requiredMode = REQUIRED, title = "최소유통단위수량", example = "1") - @Positive(message="최소유통단위 수량을 입력해 주세요(ex. 1)") - private Integer minDistbQy; - - /** - * 최소 유통 단위 - */ - @Schema(title = "최소유통단위", example = "1") - private String minDistbUnit; - - /** - * 낱개단위 수량 : 0 ~ - */ - @Schema(requiredMode = REQUIRED, title = "낱개단위수량", example = "0") - @PositiveOrZero(message = "낱개단위 수량은 필수 입니다(ex. 0)") - private Integer pceQy; - - /** - * 낱개 단위 - */ - @Schema(title = "낱개단위", example = "1") - private String pceUnit; - - /** - * 제조번호 - 20자리 이하 - */ - @Schema(requiredMode = REQUIRED, title = "제품제조번호", example = "A1111") - @Pattern(regexp = "[0-9a-zA-Z]{1,20}", message = "제품제조번호는 필수 입니다") - private String mnfNo; - - /** - * 제품 유효기한 일자 - yyyyMMdd - */ - @Schema(requiredMode = REQUIRED, title = "제품유효기간", example = "20300303") - @Pattern(regexp = Constants.DATE_REGX, message = "제품 유효 기간을 정확히 입력해 주세요(yyyyMMdd)") - private String prdValidDe; - - /** - * 제조 일련번호 - 20자리 이하 - */ - @Schema(requiredMode = REQUIRED, title = "제조일련번호", example = "A11111111") - @Pattern(regexp = "[0-9a-zA-Z]{1,20}", message = "제조 일련번호는 필수 입니다") - private String mnfSeq; - - /** - * 폐기 수량 - */ - @Schema(requiredMode = REQUIRED, title = "폐기수량", example = "2") - @Positive(message = "폐기 수량은 0보다 커야 합니다") - private Integer dsuseQy; - - @Schema(title = "폐기제품이미지파일ID", example = " ") - private String fileId; - - /** - * 사용자보고식별번호 - */ - @Schema(title = "사용자보고식별번호", example = " ") - private String usrRptIdNo; - - /** - * 사용자 보고 라인 식별 번호 - */ - @Schema(title = "사용자보고라인식별번호", example = " ") - private String usrRptLnIdNo; - - /** - *
-		 *     폐기관리상세와 폐기보고정보 상세의 폐기 정보(상품) 유효성 체크
-		 *     -> 일치하는 경우 "Y"
-		 * 
- */ - @Schema(title = "데이타유효성체크-업무의필요에의해추가", example = " ") - private String validYn; - } - /** * 마약류 폐기 관리 조회 request */ @Schema(name = "DsuseMgtInq", description = "마약류 폐기 관리 조회 DTO") - @Data + @Getter @NoArgsConstructor @AllArgsConstructor - @SuperBuilder - @EqualsAndHashCode(callSuper = false) @JsonInclude(JsonInclude.Include.NON_NULL) + @Builder public static class DsuseMgtInq { @Schema(requiredMode = AUTO, title = "폐기 관리 ID 목록", example = "[\"2024060001\", \"2024060002\"]") private List dscdmngIds; @@ -576,35 +237,22 @@ public class BizNimsRequest { @Schema(requiredMode = REQUIRED, title = "진행 상태 코드", example = " ", allowableValues = {"01", "02", "11", "21", "22", "31", "41", "99"}) private String prgrsSttsCd = Constants.PRGRS_STTS_CD.RECEIPT.getCode(); } + /** - * 마약류 폐기 관리 상세 request + * 마약류 폐기 보고 확인 request */ - // @Schema(name = "DsuseMgtDtl", description = "마약류 폐기 관리 상세 DTO") - // @Data - // @NoArgsConstructor - // @AllArgsConstructor - // @SuperBuilder - // @EqualsAndHashCode(callSuper = false) - // public static class DsuseMgtDtl extends NimsApiDto.DsuseRptInfoDtl { - // @Schema(requiredMode = AUTO, title = "폐기 관리 ID", example = " ") - // private String dscdmngId; - // - // @JsonIgnore - // @Builder.Default - // private String useYn = "Y"; - // - // @JsonIgnore - // private String regDt; - // - // @JsonIgnore - // @Setter - // private String rgtr; - // - // @JsonIgnore - // private String mdfcnDt; - // - // @JsonIgnore - // @Setter - // private String mdfr; - // } + @Schema(name = "DsuseRptMappingInq", description = "폐기 보고 확인 request DTO") + @Getter + @NoArgsConstructor + @AllArgsConstructor + @JsonInclude(JsonInclude.Include.NON_NULL) + public static class DsuseRptMappingInq { + @Schema(requiredMode = REQUIRED, title = "폐기 관리 ID", example = "2024060002") + @NotEmpty(message = "폐기관리 ID는 필수 입니다") + private String dscdmngId; + + @Schema(requiredMode = REQUIRED, title = "사용자 ID", example = "suji") + @NotEmpty(message = "사용자 ID는 필수 입니다") + private String userId; + } } diff --git a/src/main/java/cokr/xit/adds/biz/nims/model/BizNimsResponse.java b/src/main/java/cokr/xit/adds/biz/nims/model/BizNimsResponse.java index 795a511..810d96c 100644 --- a/src/main/java/cokr/xit/adds/biz/nims/model/BizNimsResponse.java +++ b/src/main/java/cokr/xit/adds/biz/nims/model/BizNimsResponse.java @@ -37,7 +37,7 @@ public class BizNimsResponse { @AllArgsConstructor @SuperBuilder @EqualsAndHashCode(callSuper = true) - public static class DsuseMgtRes extends BizNimsRequest.DsuseMgt { + public static class DsuseMgtRes extends BizNimsDto.DsuseMgt { private String dsuseSeCdNm; private String dsusePrvCdNm; @@ -66,7 +66,7 @@ public class BizNimsResponse { @AllArgsConstructor @SuperBuilder @EqualsAndHashCode(callSuper = true) - public static class DsuseMgtDtlRes extends BizNimsRequest.DsuseMgtDtl { + public static class DsuseMgtDtlRes extends BizNimsDto.DsuseMgtDtl { /** * 마약항정구분 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 13f97cb..541fdb5 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 @@ -4,6 +4,7 @@ import java.util.List; import org.springframework.web.multipart.MultipartFile; +import cokr.xit.adds.biz.nims.model.BizNimsDto; import cokr.xit.adds.biz.nims.model.BizNimsRequest; import cokr.xit.adds.biz.nims.model.BizNimsResponse; import cokr.xit.adds.inf.nims.model.NimsApiDto; @@ -56,15 +57,16 @@ public interface BizNimsService { //------------------------------------------------------------------------------------------------------ // NIMS BIZ //------------------------------------------------------------------------------------------------------ - BizNimsRequest.DsuseMgtReceipt saveDsuseMgtReceipt(final BizNimsRequest.DsuseMgtReceipt dto, final List dtls, List files); + BizNimsRequest.DsuseMgtReceipt saveDsuseMgtReceipt(final BizNimsRequest.DsuseMgtReceipt dto, final List dtls, List files); BizNimsRequest.DsuseMgtRslt saveDsuseMgtRslt(final BizNimsRequest.DsuseMgtRslt dto, List files); - BizNimsRequest.DsuseMgt saveDsuseMgt(final BizNimsRequest.DsuseMgt dto); List getDsuseMgts(final BizNimsRequest.DsuseMgtInq dto, final boolean isForDoc); - void modifyPrgsSttsOfDsuseMgt(final BizNimsRequest.DsuseMgt dto); + void modifyPrgsSttsOfDsuseMgt(final BizNimsDto.DsuseMgt dto); NimsApiDto.ProductInfoKd getPrdMnfSeqInfoOfBarcode(final String barcodeStr); - List getDsuseMgtMapping(final BizNimsRequest.DsuseMgt dto); + List getDsuseMgtMapping(final BizNimsRequest.DsuseRptMappingInq reqDto); + // @Deprecated + // BizNimsDto.DsuseMgt saveDsuseMgt(final BizNimsDto.DsuseMgt dto); // @Deprecated // List saveDsuseMgts(List dtos); 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 5cdc18a..616ef23 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 @@ -15,6 +15,7 @@ import org.springframework.stereotype.Service; import org.springframework.web.multipart.MultipartFile; import cokr.xit.adds.biz.nims.dao.BizNimsMapper; +import cokr.xit.adds.biz.nims.model.BizNimsDto; import cokr.xit.adds.biz.nims.model.BizNimsRequest; import cokr.xit.adds.biz.nims.model.BizNimsResponse; import cokr.xit.adds.biz.nims.service.BizNimsService; @@ -231,8 +232,7 @@ public class BizNimsServiceBean extends AbstractServiceBean implements BizNimsSe @Override public List saveDsuseRptInfo(NimsApiRequest.DsuseRptInfoReq reqDto) { - List nimsList = new ArrayList<>(); - + ApiUtil.validate(reqDto, null, validator); Map apiInfInfo = getApiInfInfo(reqDto.getUserId()); reqDto.setK(apiInfInfo.get("apiKey")); reqDto.setGc(apiInfInfo.get("deptCd")); // 관할관청코드 @@ -251,10 +251,10 @@ public class BizNimsServiceBean extends AbstractServiceBean implements BizNimsSe *
 	 * 사고마약류폐기 신청 접수
 	 * @param reqDto BizNimsRequest.DsuseMgtReceipt
-	 * @return BizNimsRequest.DsuseMgt 생성된 폐기관리 정보
+	 * @return BizNimsRequest.DsuseMgtReceipt 생성된 폐기관리 정보
 	 * 
*/ - public BizNimsRequest.DsuseMgtReceipt saveDsuseMgtReceipt(final BizNimsRequest.DsuseMgtReceipt reqDto, final List dtls, final List files) { + public BizNimsRequest.DsuseMgtReceipt saveDsuseMgtReceipt(final BizNimsRequest.DsuseMgtReceipt reqDto, final List dtls, final List files) { ApiUtil.validate(reqDto, null, validator); if(reqDto.getRndDtlRptCnt() != dtls.size()) throw ApiCustomException.create("폐기물 보고수 오류[폐기물 갯수 확인]"); ApiUtil.validate(dtls, null, validator); @@ -264,7 +264,7 @@ public class BizNimsServiceBean extends AbstractServiceBean implements BizNimsSe if(bizNimsMapper.insertDsuseMgtReceipt(reqDto) == 1){ int dtlCnt = 0; - for (BizNimsRequest.DsuseMgtDtl d : dtls) { + for (BizNimsDto.DsuseMgtDtl d : dtls) { String sn = StringUtils.leftPad(dtlCnt + 1 + "", 3, "0"); d.setDscdmngId(reqDto.getDscdmngId()); d.setDscdmngSn(sn); @@ -283,8 +283,8 @@ public class BizNimsServiceBean extends AbstractServiceBean implements BizNimsSe /** *
 	 * 사고마약류폐기 통보[결과]처리
-	 * @param reqDto BizNimsRequest.DsuseMgtReceipt
-	 * @return BizNimsRequest.DsuseMgt 생성된 폐기관리 정보
+	 * @param reqDto BizNimsRequest.DsuseMgtRslt
+	 * @return BizNimsRequest.DsuseMgtRslt 생성된 폐기관리 정보
 	 * 
*/ public BizNimsRequest.DsuseMgtRslt saveDsuseMgtRslt(final BizNimsRequest.DsuseMgtRslt reqDto, final List files) { @@ -312,25 +312,25 @@ public class BizNimsServiceBean extends AbstractServiceBean implements BizNimsSe * */ // FIXME: 현재 미사용 - public BizNimsRequest.DsuseMgt saveDsuseMgt(BizNimsRequest.DsuseMgt reqDto) { - ApiUtil.validate(reqDto, null, validator); - if(reqDto.getRndDtlRptCnt() != reqDto.getDsuseMgtDtls().size()) throw ApiCustomException.create("폐기물 보고수 오류[폐기물 갯수 확인]"); - reqDto.setRgtr(reqDto.getUserId()); - - if(bizNimsMapper.insertDsuseMgt(reqDto) == 1){ - int dtlCnt = 0; - for (BizNimsRequest.DsuseMgtDtl d : reqDto.getDsuseMgtDtls()) { - d.setDscdmngId(reqDto.getDscdmngId()); - d.setDscdmngSn(StringUtils.leftPad(dtlCnt + 1 + "", 3, "0")); - d.setRgtr(reqDto.getUserId()); - dtlCnt = dtlCnt + bizNimsMapper.insertDsuseMgtDtl(d); - } - if(reqDto.getDsuseMgtDtls().size() != dtlCnt) throw ApiCustomException.create("폐기 관리 상세 등록 실패"); - } else { - throw ApiCustomException.create("폐기 관리 마스터 등록 실패"); - } - return reqDto; - } + // public BizNimsDto.DsuseMgt saveDsuseMgt(BizNimsDto.DsuseMgt reqDto) { + // ApiUtil.validate(reqDto, null, validator); + // if(reqDto.getRndDtlRptCnt() != reqDto.getDsuseMgtDtls().size()) throw ApiCustomException.create("폐기물 보고수 오류[폐기물 갯수 확인]"); + // reqDto.setRgtr(reqDto.getUserId()); + // + // if(bizNimsMapper.insertDsuseMgt(reqDto) == 1){ + // int dtlCnt = 0; + // for (BizNimsDto.DsuseMgtDtl d : reqDto.getDsuseMgtDtls()) { + // d.setDscdmngId(reqDto.getDscdmngId()); + // d.setDscdmngSn(StringUtils.leftPad(dtlCnt + 1 + "", 3, "0")); + // d.setRgtr(reqDto.getUserId()); + // dtlCnt = dtlCnt + bizNimsMapper.insertDsuseMgtDtl(d); + // } + // if(reqDto.getDsuseMgtDtls().size() != dtlCnt) throw ApiCustomException.create("폐기 관리 상세 등록 실패"); + // } else { + // throw ApiCustomException.create("폐기 관리 마스터 등록 실패"); + // } + // return reqDto; + // } /** *
@@ -379,7 +379,8 @@ public class BizNimsServiceBean extends AbstractServiceBean implements BizNimsSe
 	// FIXME: API 적용 필요 - nims API 확정후
 	// FIXME: saveDsuseRptInfo() 메소드를 활용할 수 있도록 구성
 	@Override
-	public List getDsuseMgtMapping(BizNimsRequest.DsuseMgt reqDto) {
+	public List getDsuseMgtMapping(BizNimsRequest.DsuseRptMappingInq reqDto) {
+		ApiUtil.validate(reqDto, null, validator);
 		Map apiInfInfo = getApiInfInfo(reqDto.getUserId());
 
 		// 0. GET 폐기관리 데이타 정보
@@ -424,10 +425,17 @@ public class BizNimsServiceBean extends AbstractServiceBean implements BizNimsSe
 	}
 
 	@Override
-	public void modifyPrgsSttsOfDsuseMgt(BizNimsRequest.DsuseMgt dto) {
-		dto.setRgtr(dto.getUserId());
-		if(bizNimsMapper.updatePrgsSttsOfDsuseMgt(dto) != 1){
-			throw ApiCustomException.create(String.format("폐기 관리 상태 변경[%s->%s] 실패",dto.getDscdmngId(), Constants.PRGRS_STTS_CD.getName(dto.getPrgrsSttsCd())));
+	public void modifyPrgsSttsOfDsuseMgt(BizNimsDto.DsuseMgt reqDto) {
+		ApiUtil.validate(reqDto, null, validator);
+		reqDto.setRgtr(reqDto.getUserId());
+		if(bizNimsMapper.updatePrgsSttsOfDsuseMgt(reqDto) != 1){
+			throw ApiCustomException.create(
+				String.format(
+					"폐기 관리 상태 변경[%s->%s] 실패",
+					reqDto.getDscdmngId(),
+					Constants.PRGRS_STTS_CD.getName(reqDto.getPrgrsSttsCd())
+				)
+			);
 		}
 	}
 
@@ -581,7 +589,7 @@ public class BizNimsServiceBean extends AbstractServiceBean implements BizNimsSe
 	 * 6. return List에 현재 데이타 추가 - 변경인 경우만 추가
 
 	 * @param reqDto NimsApiRequest.DsuseRptInfoReq
-	 * @param List 폐기보고 목록
+	 * @return List 폐기보고 목록
 	 * 
*/ private List saveFromfindDsuseRptDataByNimsApi(NimsApiRequest.DsuseRptInfoReq reqDto) { 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 e4d210a..749f6c6 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 @@ -15,6 +15,7 @@ import org.springframework.web.multipart.MultipartFile; import com.fasterxml.jackson.core.type.TypeReference; +import cokr.xit.adds.biz.nims.model.BizNimsDto; import cokr.xit.adds.biz.nims.model.BizNimsRequest; import cokr.xit.adds.biz.nims.model.BizNimsResponse; import cokr.xit.adds.biz.nims.service.BizNimsService; @@ -94,7 +95,7 @@ public class BizNimsController { return ApiBaseResponse.of(bizNimsService.getJurisdictionGovInfo(dto)); } - @Operation(summary = "폐기 보고 정보 목록 조회(NIMS API)", description = "업체의 폐기 보고 정보 목록 조회

NIMS API 호출 결과를 DB에 저장후 Return") + @Operation(summary = "폐기 보고 조회(NIMS API 폐기보고 조회)", description = "업체의 폐기 보고 정보 목록 조회

NIMS API 호출 결과를 DB에 저장후 Return") @PostMapping("/getDsuseRptInfo") public ApiBaseResponse> getDsuseRptInfo( @RequestBody NimsApiRequest.DsuseRptInfoReq dto @@ -122,7 +123,7 @@ public class BizNimsController { ) { JSON json = new JSON(); BizNimsRequest.DsuseMgtReceipt receiptDto = json.parse(dsuseMgtJsonStr, new TypeReference<>() {}); - List dsuseMgtDtls = json.parse(dsuseMgtDtlsJsonStr, new TypeReference<>() {}); + List dsuseMgtDtls = json.parse(dsuseMgtDtlsJsonStr, new TypeReference<>() {}); return ApiBaseResponse.of(bizNimsService.saveDsuseMgtReceipt(receiptDto, dsuseMgtDtls, dsusePrdImgFiles)); } @@ -185,16 +186,16 @@ public class BizNimsController { // }) // }) // @PostMapping("/saveDsuseMgt") - // public ApiBaseResponse saveDsuseMgt( - // @RequestBody BizNimsRequest.DsuseMgt dto + // public ApiBaseResponse saveDsuseMgt( + // @RequestBody BizNimsDto.DsuseMgt dto // ) { // return ApiBaseResponse.of(bizNimsService.saveDsuseMgt(dto)); // } - @Operation(summary = "폐기 보고 확인(폐기관리 데이타에 대한 폐기보고 매핑)", description = "폐기 보고 확인(폐기관리 데이타에 대한 폐기보고 매핑)

폐기 관리 데이터에 대한 폐기보고 매핑 대상 데이타 조회 return") + @Operation(summary = "폐기 보고 확인(폐기관리 데이타에 대한 폐기보고 매핑)", description = "폐기 보고 확인(폐기관리 데이타에 대한 폐기보고 매핑)

폐기 관리 데이터에 대한 폐기보고 매핑 대상 데이타 조회 return

NIMS API 호출 결과를 DB에 저장") @PostMapping("/getDsuseMgtMapping") public ApiBaseResponse> getDsuseMgtMapping( - @RequestBody BizNimsRequest.DsuseMgt dto + @RequestBody BizNimsRequest.DsuseRptMappingInq dto ) { return ApiBaseResponse.of(bizNimsService.getDsuseMgtMapping(dto)); } @@ -223,7 +224,7 @@ public class BizNimsController { }) }) @PutMapping(value = "/modifyPrgsSttsOfDsuseMgt") - public ApiBaseResponse modifyPrgsSttsOfDsuseMgt(@RequestBody final BizNimsRequest.DsuseMgt dto) { + public ApiBaseResponse modifyPrgsSttsOfDsuseMgt(@RequestBody final BizNimsDto.DsuseMgt dto) { bizNimsService.modifyPrgsSttsOfDsuseMgt(dto); return ApiBaseResponse.of(); } 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 2b934be..dd86247 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 @@ -6,9 +6,6 @@ import java.util.List; import javax.validation.Valid; -import org.apache.commons.lang3.ObjectUtils; -import org.apache.commons.lang3.StringUtils; - import com.fasterxml.jackson.annotation.JsonAlias; import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.core.JsonGenerator; @@ -16,7 +13,7 @@ import com.fasterxml.jackson.databind.JsonSerializer; import com.fasterxml.jackson.databind.SerializerProvider; import com.fasterxml.jackson.databind.annotation.JsonSerialize; -import cokr.xit.adds.biz.nims.model.BizNimsRequest; +import cokr.xit.adds.biz.nims.model.BizNimsDto; import cokr.xit.adds.biz.nims.model.BizNimsResponse; import cokr.xit.adds.core.Constants; import cokr.xit.adds.core.model.AuditDto; @@ -442,6 +439,7 @@ public class NimsApiDto { * @return List 매핑 목록 * */ + /* @JsonIgnore public List mappingNewDsuseRptInfos(List dsuseMgts){ List newList = new ArrayList<>(); @@ -454,6 +452,7 @@ public class NimsApiDto { } return newList; } + */ /** *
@@ -500,13 +499,13 @@ public class NimsApiDto {
                 if (rptInfoStr.equals(mgtInfoStr)) {
                     if (this.listDtl.size() == mgtDto.getDsuseMgtDtls().size()) {
                         for (DsuseRptInfoDtl rptDtl : this.listDtl) {
-                            for (BizNimsRequest.DsuseMgtDtl mgtDtl : mgtDto.getDsuseMgtDtls()) {
+                            for (BizNimsDto.DsuseMgtDtl mgtDtl : mgtDto.getDsuseMgtDtls()) {
                                 if (rptDtl.getPrductCd().equals(mgtDtl.getPrductCd())
                                     && rptDtl.getMnfNo().equals(mgtDtl.getMnfNo())
                                     && rptDtl.getPrdValidDe().equals(mgtDtl.getPrdValidDe())
                                     && rptDtl.getMnfSeq().equals(mgtDtl.getMnfSeq())
                                     && rptDtl.getDsuseQy().equals(mgtDtl.getDsuseQy())) {
-                                    mgtDtl.setValidYn("Y");
+                                    rptDtl.setMatchYn("Y");
                                     break;
                                 }
                             }
@@ -539,6 +538,7 @@ public class NimsApiDto {
          * @return List 매핑 목록
          * 
*/ + /* @JsonIgnore public List mappingDsuseRptInfo(List dsuseMgts){ List newList = new ArrayList<>(); @@ -563,13 +563,13 @@ public class NimsApiDto { // FIXME: 상품정보 미일치 여부 set - 비교 필드 확정 필요 if (this.listDtl.size() == mgtDto.getDsuseMgtDtls().size()) { for (DsuseRptInfoDtl rptDtl : this.listDtl) { - for (BizNimsRequest.DsuseMgtDtl mgtDtl : mgtDto.getDsuseMgtDtls()) { + for (BizNimsDto.DsuseMgtDtl mgtDtl : mgtDto.getDsuseMgtDtls()) { if (rptDtl.getPrductCd().equals(mgtDtl.getPrductCd()) && rptDtl.getMnfNo().equals(mgtDtl.getMnfNo()) && rptDtl.getPrdValidDe().equals(mgtDtl.getPrdValidDe()) && rptDtl.getMnfSeq().equals(mgtDtl.getMnfSeq()) && rptDtl.getDsuseQy().equals(mgtDtl.getDsuseQy())) { - mgtDtl.setValidYn("Y"); + mgtDtl.setMatchYn("Y"); break; } } @@ -586,6 +586,7 @@ public class NimsApiDto { } return newList; } + */ } @Getter @@ -695,6 +696,14 @@ public class NimsApiDto { * 제조 수입자명 */ private String bsshNm; + + /** + *
+         *     폐기관리상세와 폐기보고정보 상세의 폐기 정보(상품) 일치 여부
+         *     -> 일치하는 경우 "Y"
+         * 
+ */ + private String matchYn; } /** 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 9a5bae1..f074817 100644 --- a/src/main/java/cokr/xit/adds/inf/nims/service/bean/InfNimsServiceBean.java +++ b/src/main/java/cokr/xit/adds/inf/nims/service/bean/InfNimsServiceBean.java @@ -1,6 +1,5 @@ package cokr.xit.adds.inf.nims.service.bean; -import java.util.ArrayList; import java.util.List; import java.util.Map; @@ -205,81 +204,4 @@ public class InfNimsServiceBean extends AbstractServiceBean implements InfNimsSe NimsApiResult result = json.parse(tmp, new TypeReference<>() {}); return result.getResponse(); } - - private NimsApiResult.Response getDsuseRptResponse() { - - //List usrRptIdNoList = List.of("11111", "22222", "33333", "44444"); - List usrRptIdNoList = List.of("11111", "22222", "33333", "44444", "55555", "66666", "77777"); - List usrRptLnIdNoList = List.of("111111111", "222222222"); - //List rptTyCds = List.of("0", "0", "0", "0"); - List rptTyCds = List.of("0", "0", "1", "2", "0", "0", "2"); - List refUsrRptIdNos = List.of("11111", "22222", "44444"); - List dsuseRpts = new ArrayList<>(); - - int refIdx = 0; - for(int i = 0; ibuilder() - .header( - NimsApiResult.Header.builder() - .resultCd(0) - .resultMsg("성공") - .build() - ) - .body( - NimsApiResult.Body.builder() - .list(dsuseRpts) - .isEndYn("Y") - .nRecord(2) - .totalCount(2) - .build() - ) - .build(); - } - } 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 c10de8b..35cfed1 100644 --- a/src/main/resources/sql/mapper/biz/nims-mysql-mapper.xml +++ b/src/main/resources/sql/mapper/biz/nims-mysql-mapper.xml @@ -293,7 +293,7 @@ WHERE dscdmng_id = #{dscdmngId} - + /** nims-mysql-mapper|insertDsuseMgt-폐기관리 생성|julim */ SELECT NVL(MAX(dscdmng_id), CONCAT(DATE_FORMAT(now(), '%Y%m'),'0000')) + 1 @@ -335,7 +335,7 @@ ) - + /** nims-mysql-mapper|insertDsuseMgtDtl-폐기관리 상세 생성|julim */ INSERT INTO tb_dsuse_mgt_dtl ( dscdmng_id, /* 폐기관리ID */ @@ -487,7 +487,7 @@ WHERE dscdmng_id = #{dscdmngId} - + /** nims-mysql-mapper|updatePrgsSttsOfDsuseMgt-폐기관리 상태 변경|julim */ UPDATE tb_dsuse_mgt SET prgrs_stts_cd = #{prgrsSttsCd}