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 ebb2f03..1163285 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 @@ -48,15 +48,27 @@ public interface BizNimsMapper extends AbstractMapper { // NIMS BIZ //------------------------------------------------------------------------------------------------------ Optional> selectApiInfInfoByUserId(Map map); + int insertDsuseMgtReceipt(final BizNimsRequest.DsuseMgtReceiptReq dto); + int updateDsuseMgtReceipt(final BizNimsRequest.DsuseMgtReceiptReq dto); int updateDsuseMgtRslt(final BizNimsRequest.DsuseMgtRsltReq dto); + int insertDsuseMgt(final BizNimsDto.DsuseMgt dto); + int insertDsuseMgtDtl(final BizNimsDto.DsuseMgtDtl dto); + List selectDsuseMgts(final BizNimsRequest.DsuseMgtInqReq dto); + List selectDsuseMgtDtls(final Map map); + int updateMappingDsuseMgt(final BizNimsRequest.DsuseMgtMappingReq mgtDto); + int updateForceMappingDsuseMgt(final BizNimsResponse.DsuseMgtRes mgtDto); + + + + int insertDsuseRptInfo(final NimsApiDto.DsuseRptInfo dto); int insertDsuseRptInfoDtl(final NimsApiDto.DsuseRptInfoDtl dto); int updateCancelDsuseRptInfo(final NimsApiDto.DsuseRptInfo dto); @@ -74,6 +86,8 @@ public interface BizNimsMapper extends AbstractMapper { // 이미지 업로드시 이전 이미지 삭제를 위한 fileId 조회 List selectFileId(Map map); + void deleteDsuseMgtDtl(final String dscdmngId); + //List selectDsuseRptInfoDtls(final Map map); 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 f5d5a3f..3e873a0 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 @@ -42,9 +42,15 @@ public interface BizNimsService { // NIMS BIZ //------------------------------------------------------------------------------------------------------ BizNimsRequest.DsuseMgtReceiptReq saveDsuseMgtReceipt(final BizNimsRequest.DsuseMgtReceiptReq dto, final List dtls, List files); + + BizNimsRequest.DsuseMgtReceiptReq modifyDsuseMgtReceiptMstInfo(final BizNimsRequest.DsuseMgtReceiptReq reqDto); + BizNimsRequest.DsuseMgtRsltReq saveDsuseMgtRslt(final BizNimsRequest.DsuseMgtRsltReq dto, final List files, final String fileChangeYn); + List getDsuseMgts(final BizNimsRequest.DsuseMgtInqReq dto, final boolean isForDoc); + void modifyPrgsSttsOfDsuseMgt(final BizNimsDto.DsuseMgt dto); + NimsApiDto.ProductInfoKd getPrdMnfSeqInfoOfBarcode(final String barcodeStr); 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 4a0449f..8fef3dd 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 @@ -277,27 +277,40 @@ public class BizNimsServiceBean extends AbstractServiceBean implements BizNimsSe // FIXME: 파일 갯수 확인 - 프론트 파일 처리 완료시 까지 comment 처리 if(files.size() != dtls.size()) throw ApiCustomException.create("폐기물 파일 갯수 오류[파일 갯수 확인]"); - if(bizNimsMapper.insertDsuseMgtReceipt(reqDto) == 1){ - int dtlCnt = 0; + if(isEmpty(reqDto.getDscdmngId())) { - for (BizNimsDto.DsuseMgtDtl d : dtls) { - String sn = StringUtils.leftPad(dtlCnt + 1 + "", 3, "0"); - d.setDscdmngId(reqDto.getDscdmngId()); - d.setDscdmngSn(sn); - d.setRgtr(reqDto.getUserId()); - dtlCnt = dtlCnt + bizNimsMapper.insertDsuseMgtDtl(d); + if (bizNimsMapper.insertDsuseMgtReceipt(reqDto) == 1) { - // FIXME: 파일 갯수 확인 - 프론트 파일 처리 완료시 까지 comment 처리 - d.setFileId( - uploadFileDeleteAndSave(Constants.FILE_INF_TYPE.DSUSE_PRD_IMG.getCode(), reqDto.getDscdmngId(), sn, files.get(dtlCnt-1))); + // 폐기관리 상세 등록 + saveDsuseMgtDtls(reqDto, dtls, files); + } else { + throw ApiCustomException.create("폐기 관리 마스터 등록 실패"); } - if(dtls.size() != dtlCnt) throw ApiCustomException.create("폐기 관리 상세 등록 실패"); } else { - throw ApiCustomException.create("폐기 관리 마스터 등록 실패"); + bizNimsMapper.updateDsuseMgtReceipt(reqDto); + + // 파일 삭제 + List fileIds = bizNimsMapper.selectFileId( + Map.of("infType", Constants.FILE_INF_TYPE.DSUSE_PRD_IMG.getCode(), "infKey", reqDto.getDscdmngId())); + if (!fileIds.isEmpty()) { + fileService.delete(fileIds.toArray(new String[0])); + } + + // 폐기관리 상세 삭제 + bizNimsMapper.deleteDsuseMgtDtl(reqDto.getDscdmngId()); + + // 폐기관리 상세 등록 + saveDsuseMgtDtls(reqDto, dtls, files); } return reqDto; } + @Override + public BizNimsRequest.DsuseMgtReceiptReq modifyDsuseMgtReceiptMstInfo(BizNimsRequest.DsuseMgtReceiptReq reqDto) { + bizNimsMapper.updateDsuseMgtReceipt(reqDto); + return reqDto; + } + /** *
 	 * 사고마약류폐기 통보[결과]처리
@@ -893,6 +906,34 @@ public class BizNimsServiceBean extends AbstractServiceBean implements BizNimsSe
 		}
 	}
 
+	/**
+	 * 
+	 * 폐기관리 상세 등록
+	 * @param reqDto
+	 * @param dtls
+	 * @param files
+	 * 
+ */ + private void saveDsuseMgtDtls(BizNimsRequest.DsuseMgtReceiptReq reqDto, List dtls, + List files) { + int dtlCnt = 0; + + for (BizNimsDto.DsuseMgtDtl d : dtls) { + String sn = StringUtils.leftPad(dtlCnt + 1 + "", 3, "0"); + d.setDscdmngId(reqDto.getDscdmngId()); + d.setDscdmngSn(sn); + d.setRgtr(reqDto.getUserId()); + dtlCnt = dtlCnt + bizNimsMapper.insertDsuseMgtDtl(d); + + d.setFileId( + uploadFileDeleteAndSave(Constants.FILE_INF_TYPE.DSUSE_PRD_IMG.getCode(), reqDto.getDscdmngId(), + sn, files.get(dtlCnt - 1))); + } + if (dtls.size() != dtlCnt) + throw ApiCustomException.create("폐기 관리 상세 등록 실패"); + } + + /** *
 	 * file 저장 처리
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 f1f8771..6780c4c 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
@@ -128,7 +128,7 @@ public class BizNimsController {
      * @param dsusePrdImgFiles 폐기신청 제품 이미지 파일
      * @return 폐기관리 신청서 접수 데이타 생성후 생성 정보 return
      */
-    @Operation(summary = "사고 마약류 폐기 관리 폐기 신청서 접수", description = "사고 마약류 폐기 관리 폐기 신청서 접수

폐기관리 신청서 접수 데이타 생성후 생성 정보 return", tags = { "BIZ API" }) + @Operation(summary = "사고 마약류 폐기 관리 폐기 신청서 접수/변경", description = "사고 마약류 폐기 관리 폐기 신청서 접수/변경

폐기관리 신청서 접수 데이타 생성후 생성 정보 return
폐기관리 신청서 변경후 변경 정보 return", tags = { "BIZ API" }) @PostMapping(value = "/saveDsuseMgtReceipt") public ApiBaseResponse saveDsuseMgtReceipt( @RequestParam("dsuseMgtJsonStr") String dsuseMgtJsonStr, @@ -141,6 +141,14 @@ public class BizNimsController { return ApiBaseResponse.of(bizNimsService.saveDsuseMgtReceipt(receiptDto, dsuseMgtDtls, dsusePrdImgFiles)); } + @Operation(summary = "사고 마약류 폐기 관리 폐기 신청서 마스터 정보 변경", description = "사고 마약류 폐기 관리 폐기 신청서 접수 마스터 정보 변경", tags = { "BIZ API" }) + @PostMapping(value = "/modifyDsuseMgtReceiptMstInfo") + public ApiBaseResponse modifyDsuseMgtReceiptMstInfo( + @RequestBody BizNimsRequest.DsuseMgtReceiptReq reqDto + ) { + return ApiBaseResponse.of(bizNimsService.modifyDsuseMgtReceiptMstInfo(reqDto)); + } + /** * 사고 마약류 폐기 결과[통보] 처리 * @param dsuseMgtRsltJsonStr 폐기 결과[통보] JSON String 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 869ca97..060bdcd 100644 --- a/src/main/resources/sql/mapper/biz/nims-mysql-mapper.xml +++ b/src/main/resources/sql/mapper/biz/nims-mysql-mapper.xml @@ -279,6 +279,15 @@ ) + + /** nims-mysql-mapper|updateDsuseMgtReceipt-폐기관리 정보 변경|julim */ + UPDATE tb_dsuse_mgt + SET dsuse_prv_cd = #{dsusePrvCd} + , mdfcn_dt = DATE_FORMAT(now(), '%Y%m%d%H%i%s') + , mdfr = #{rgtr} + WHERE dscdmng_id = #{dscdmngId} + + /** nims-mysql-mapper|updateDsuseMgtRslt-폐기관리 정보 변경|julim */ UPDATE tb_dsuse_mgt @@ -335,6 +344,12 @@ ) + + /** nims-mysql-mapper|deleteDsuseMgtDtl-폐기관리 상세 삭제|julim */ + DELETE FROM tb_dsuse_mgt_dtl + WHERE dscdmng_id = #{dscdmngId} + + /** nims-mysql-mapper|insertDsuseMgtDtl-폐기관리 상세 생성|julim */ INSERT INTO tb_dsuse_mgt_dtl (