fix: 폐기보고 반영

swagger tags 적용 분리
dev
Jonguk. Lim 5 months ago
parent 5a23666090
commit 55ebf1c49d

@ -39,10 +39,11 @@ public class BizNimsResponse {
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)
public static class DsuseMgtRes extends BizNimsDto.DsuseMgt { public static class DsuseMgtRes extends BizNimsDto.DsuseMgt {
private String dsuseSeCdNm; private String refUsrRptIdNo;
private String dsusePrvCdNm; private String dsuseSeNm;
private String dsuseMthCdNm; private String dsusePrvNm;
private String rptTyCdNm; private String dsuseMthNm;
private String rptTyNm;
/** /**
* <pre> * <pre>

@ -33,8 +33,21 @@ public interface BizNimsService {
List<NimsApiDto.ProductInfoKd> saveProductInfoKd(final NimsApiRequest.ProductInfoReq dto, boolean isMnfSeqInfo); List<NimsApiDto.ProductInfoKd> saveProductInfoKd(final NimsApiRequest.ProductInfoReq dto, boolean isMnfSeqInfo);
List<NimsApiDto.MnfSeqInfo> getMnfSeqInfo(final NimsApiRequest.MnfSeqInfoReq dto); List<NimsApiDto.MnfSeqInfo> getMnfSeqInfo(final NimsApiRequest.MnfSeqInfoReq dto);
List<NimsApiDto.JurisdictionGovInfo> getJurisdictionGovInfo(final NimsApiRequest.JurisdictionGovInfoReq dto); List<NimsApiDto.JurisdictionGovInfo> getJurisdictionGovInfo(final NimsApiRequest.JurisdictionGovInfoReq dto);
List<NimsApiDto.DsuseRptInfo> getNimsDsuseRptInfo(final NimsApiRequest.DsuseRptInfoReq dto);
// List<NimsApiDto.StorageInfo> saveStorageInfo(NimsApiRequest.StorageInfoRequest dto); // List<NimsApiDto.StorageInfo> saveStorageInfo(NimsApiRequest.StorageInfoRequest dto);
//------------------------------------------------------------------------------------------------------
// NIMS BIZ
//------------------------------------------------------------------------------------------------------
BizNimsRequest.DsuseMgtReceipt saveDsuseMgtReceipt(final BizNimsRequest.DsuseMgtReceipt dto, final List<BizNimsDto.DsuseMgtDtl> dtls, List<MultipartFile> files);
BizNimsRequest.DsuseMgtRslt saveDsuseMgtRslt(final BizNimsRequest.DsuseMgtRslt dto, List<MultipartFile> files);
List<BizNimsResponse.DsuseMgtRes> getDsuseMgts(final BizNimsRequest.DsuseMgtInq dto, final boolean isForDoc);
void modifyPrgsSttsOfDsuseMgt(final BizNimsDto.DsuseMgt dto);
NimsApiDto.ProductInfoKd getPrdMnfSeqInfoOfBarcode(final String barcodeStr);
/** /**
* <pre> * <pre>
* API DB * API DB
@ -54,15 +67,6 @@ public interface BizNimsService {
*/ */
List<NimsApiDto.DsuseRptInfo> saveDsuseRptInfo(final NimsApiRequest.DsuseRptInfoReq dto); List<NimsApiDto.DsuseRptInfo> saveDsuseRptInfo(final NimsApiRequest.DsuseRptInfoReq dto);
//------------------------------------------------------------------------------------------------------
// NIMS BIZ
//------------------------------------------------------------------------------------------------------
BizNimsRequest.DsuseMgtReceipt saveDsuseMgtReceipt(final BizNimsRequest.DsuseMgtReceipt dto, final List<BizNimsDto.DsuseMgtDtl> dtls, List<MultipartFile> files);
BizNimsRequest.DsuseMgtRslt saveDsuseMgtRslt(final BizNimsRequest.DsuseMgtRslt dto, List<MultipartFile> files);
List<BizNimsResponse.DsuseMgtRes> getDsuseMgts(final BizNimsRequest.DsuseMgtInq dto, final boolean isForDoc);
void modifyPrgsSttsOfDsuseMgt(final BizNimsDto.DsuseMgt dto);
NimsApiDto.ProductInfoKd getPrdMnfSeqInfoOfBarcode(final String barcodeStr);
List<NimsApiDto.DsuseRptInfo> getDsuseMgtMapping(final BizNimsRequest.DsuseRptMappingInq reqDto); List<NimsApiDto.DsuseRptInfo> getDsuseMgtMapping(final BizNimsRequest.DsuseRptMappingInq reqDto);
// @Deprecated // @Deprecated

@ -183,7 +183,7 @@ public class BizNimsServiceBean extends AbstractServiceBean implements BizNimsSe
} }
NimsApiResult.Response<NimsApiDto.MnfSeqInfo> response = infNimsService.getMnfSeqInfo(reqDto); NimsApiResult.Response<NimsApiDto.MnfSeqInfo> response = infNimsService.getMnfSeqInfo(reqDto);
List<NimsApiDto.MnfSeqInfo> results = response.getResultOrThrow(); List<NimsApiDto.MnfSeqInfo> results = response.getResult();
// 올림 차순 정렬 // 올림 차순 정렬
results.sort((a, b) -> { results.sort((a, b) -> {
if (isEmpty(a.getPrdValidDe()) && isEmpty(b.getPrdValidDe())) if (isEmpty(a.getPrdValidDe()) && isEmpty(b.getPrdValidDe()))
@ -197,7 +197,6 @@ public class BizNimsServiceBean extends AbstractServiceBean implements BizNimsSe
return results; return results;
} }
@Override @Override
public List<NimsApiDto.JurisdictionGovInfo> getJurisdictionGovInfo(final NimsApiRequest.JurisdictionGovInfoReq reqDto) { public List<NimsApiDto.JurisdictionGovInfo> getJurisdictionGovInfo(final NimsApiRequest.JurisdictionGovInfoReq reqDto) {
List<NimsApiDto.JurisdictionGovInfo> list = new ArrayList<>(); List<NimsApiDto.JurisdictionGovInfo> list = new ArrayList<>();
@ -229,9 +228,8 @@ public class BizNimsServiceBean extends AbstractServiceBean implements BizNimsSe
return list; return list;
} }
@Override @Override
public List<NimsApiDto.DsuseRptInfo> saveDsuseRptInfo(NimsApiRequest.DsuseRptInfoReq reqDto) { public List<NimsApiDto.DsuseRptInfo> getNimsDsuseRptInfo(NimsApiRequest.DsuseRptInfoReq reqDto) {
reqDto.setFg("2"); // 조회기준일자(1-보고일,2-취급일) reqDto.setFg("2"); // 조회기준일자(1-보고일,2-취급일)
reqDto.setPg("1"); // 조회 페이지 reqDto.setPg("1"); // 조회 페이지
reqDto.setSe("AAR"); // 보고구분코드 - 폐기 reqDto.setSe("AAR"); // 보고구분코드 - 폐기
@ -243,13 +241,12 @@ public class BizNimsServiceBean extends AbstractServiceBean implements BizNimsSe
reqDto.setGc(apiInfInfo.get("deptCd")); // 관할관청코드 reqDto.setGc(apiInfInfo.get("deptCd")); // 관할관청코드
ApiUtil.validate(reqDto, null, validator); ApiUtil.validate(reqDto, null, validator);
List<NimsApiDto.DsuseRptInfo> rtnList = saveFromfindDsuseRptDataByNimsApi(reqDto); List<NimsApiDto.DsuseRptInfo> rtnList = findNimsDsuseRptsOfApi(reqDto);
// FIXME: API연계 데이타 확인후 매핑될 데이타가 최상단에 오도록 정렬기준 재정의 필요 // FIXME: API연계 데이타 확인후 매핑될 데이타가 최상단에 오도록 정렬기준 재정의 필요
rtnList.sort((a, b) -> a.getUsrRptIdNo().compareTo(b.getUsrRptIdNo())); rtnList.sort((a, b) -> a.getUsrRptIdNo().compareTo(b.getUsrRptIdNo()));
return rtnList; return rtnList;
} }
//------------------------------------------------------------------------------------------------------ //------------------------------------------------------------------------------------------------------
// NIMS BIZ // NIMS BIZ
//------------------------------------------------------------------------------------------------------ //------------------------------------------------------------------------------------------------------
@ -356,10 +353,10 @@ public class BizNimsServiceBean extends AbstractServiceBean implements BizNimsSe
for (BizNimsResponse.DsuseMgtRes dto : resList) { for (BizNimsResponse.DsuseMgtRes dto : resList) {
// FIXME: API 적용 완류후 command 제거 // FIXME: API 적용 완류후 command 제거
//dto.setRptTyCdNm(RPT_TY_CD.getName(dto.getRptTyCd())); //dto.setRptTyNm(RPT_TY_CD.getName(dto.getRptTyCd()));
// dto.setDsuseSeCdNm(Constants.DSUSE_SE_CD.getName(dto.getDsuseSeCd())); // dto.setDsuseSeNm(Constants.DSUSE_SE_CD.getName(dto.getDsuseSeCd()));
// dto.setDsusePrvCdNm(Constants.DSUSE_PRV_CD.getName(dto.getDsusePrvCd())); // dto.setDsusePrvNm(Constants.DSUSE_PRV_CD.getName(dto.getDsusePrvCd()));
// dto.setDsuseMthCdNm(Constants.DSUSE_MTH_CD.getName(dto.getDsuseMthCd())); // dto.setDsuseMthNm(Constants.DSUSE_MTH_CD.getName(dto.getDsuseMthCd()));
Map<String, String> map = new HashMap<>(); Map<String, String> map = new HashMap<>();
map.put("dscdmngId", dto.getDscdmngId()); map.put("dscdmngId", dto.getDscdmngId());
@ -371,6 +368,26 @@ public class BizNimsServiceBean extends AbstractServiceBean implements BizNimsSe
return resList; return resList;
} }
@Override
public List<NimsApiDto.DsuseRptInfo> saveDsuseRptInfo(NimsApiRequest.DsuseRptInfoReq reqDto) {
reqDto.setFg("2"); // 조회기준일자(1-보고일,2-취급일)
reqDto.setPg("1"); // 조회 페이지
reqDto.setSe("AAR"); // 보고구분코드 - 폐기
if(isEmpty(reqDto.getFg2())) reqDto.setFg2(""); // 보고유형('': 전체, 0:신규, 1:취소, 2:변경)
if(isEmpty(reqDto.getPs())) reqDto.setPs(""); // 상태("": 전체, 01: 확인, 02: 보류, 03: 정정, 04: 미처리)
Map<String, String> apiInfInfo = getApiInfInfo(reqDto.getUserId());
reqDto.setK(apiInfInfo.get("apiKey"));
reqDto.setGc(apiInfInfo.get("deptCd")); // 관할관청코드
ApiUtil.validate(reqDto, null, validator);
List<NimsApiDto.DsuseRptInfo> rtnList = saveFromfindDsuseRptDataByNimsApi(reqDto);
// FIXME: API연계 데이타 확인후 매핑될 데이타가 최상단에 오도록 정렬기준 재정의 필요
rtnList.sort((a, b) -> a.getUsrRptIdNo().compareTo(b.getUsrRptIdNo()));
return rtnList;
}
/** /**
* <pre> * <pre>
* saveDsuseRptInfo - * saveDsuseRptInfo -
@ -416,6 +433,13 @@ public class BizNimsServiceBean extends AbstractServiceBean implements BizNimsSe
for(NimsApiDto.DsuseRptInfo dto : rtnList){ for(NimsApiDto.DsuseRptInfo dto : rtnList){
// 7. FIXME : 폐기 관리 데이타와 매핑 // 7. FIXME : 폐기 관리 데이타와 매핑
// FIXME: API 적용 필요 - 취소 데이타인 경우 확인 필요
if(RPT_TY_CD.CANCEL.getCode().equals(dto.getRptTyCd())){
updateDsuseMgtMappingData(dto, reqDto.getUserId());
continue;
}
////////////////////////////////////////////////////////////
BizNimsResponse.DsuseMgtRes dsuseMgtRes = dto.mappingNewDsuseRptInfo(dsuseMgtDto); BizNimsResponse.DsuseMgtRes dsuseMgtRes = dto.mappingNewDsuseRptInfo(dsuseMgtDto);
if(ObjectUtils.isNotEmpty(dsuseMgtRes)) { if(ObjectUtils.isNotEmpty(dsuseMgtRes)) {
if (bizNimsMapper.updateMappingDsuseMgt(dsuseMgtDto) != 1) { if (bizNimsMapper.updateMappingDsuseMgt(dsuseMgtDto) != 1) {
@ -599,19 +623,7 @@ public class BizNimsServiceBean extends AbstractServiceBean implements BizNimsSe
* </pre> * </pre>
*/ */
private List<NimsApiDto.DsuseRptInfo> saveFromfindDsuseRptDataByNimsApi(NimsApiRequest.DsuseRptInfoReq reqDto) { private List<NimsApiDto.DsuseRptInfo> saveFromfindDsuseRptDataByNimsApi(NimsApiRequest.DsuseRptInfoReq reqDto) {
List<NimsApiDto.DsuseRptInfo> nimsList = new ArrayList<>(); List<NimsApiDto.DsuseRptInfo> nimsList = findNimsDsuseRptsOfApi(reqDto);
while(true) {
NimsApiResult.Response<NimsApiDto.DsuseRptInfo> rslt = infNimsService.getDsuseRptInfo(reqDto);
List<NimsApiDto.DsuseRptInfo> curList = rslt.getResultOrThrow();
if(isEmpty(curList)) break;
nimsList.addAll(curList);
if(rslt.isEndYn()) break;
reqDto.setPg(String.valueOf(Integer.parseInt(reqDto.getPg()) + 1));
}
// 신규 작업대상 데이타 List // 신규 작업대상 데이타 List
List<NimsApiDto.DsuseRptInfo> newList = new ArrayList<>(); List<NimsApiDto.DsuseRptInfo> newList = new ArrayList<>();
@ -632,6 +644,9 @@ public class BizNimsServiceBean extends AbstractServiceBean implements BizNimsSe
NimsApiDto.DsuseRptInfo savedMgtDto = bizNimsMapper.selectDsuseRptInfoByUsrRptIdNo(Map.of("usrRptIdNo", nimsDto.getUsrRptIdNo())); NimsApiDto.DsuseRptInfo savedMgtDto = bizNimsMapper.selectDsuseRptInfoByUsrRptIdNo(Map.of("usrRptIdNo", nimsDto.getUsrRptIdNo()));
if(isEmpty(savedMgtDto)){ if(isEmpty(savedMgtDto)){
// FIXME: API 적용후 적용 내용 삭제 : 취소 데이타가 비정상 적으로 내려오고 있어 skip 처리 ///////////////////////
if(!"1".equals(nimsDto.getRptTyCd()))
//////////////////////////////////////////////////////////////
newList.add(nimsDto); newList.add(nimsDto);
}else{ }else{
// FIXME: API 적용 필요 // FIXME: API 적용 필요
@ -669,16 +684,16 @@ public class BizNimsServiceBean extends AbstractServiceBean implements BizNimsSe
throw ApiCustomException.create("데이타 오류[취소 및 변경인 경우 참조사용자식별번호(REF_USR_RPT_ID_NO) 필수]"); throw ApiCustomException.create("데이타 오류[취소 및 변경인 경우 참조사용자식별번호(REF_USR_RPT_ID_NO) 필수]");
} }
// 2-3. tb_dsuse_rpt_info, tb_dsuse_rpt_info_dtl 생성 (취소인 경우는 tb_dsuse_rpt_info의 사용 여부 'N'으로 생성)
createDsuseRpt(dto, reqDto.getUserId());
// 2-2. 폐기보고정보, 폐기관리 변경 // 2-2. 폐기보고정보, 폐기관리 변경
// 1) tb_dsuse_rpt_info, tb_dsuse_rpt_info_dtl 사용여부 'N' update // 1) tb_dsuse_rpt_info, tb_dsuse_rpt_info_dtl 사용여부 'N' update
// 2) tb_dsuse_mgt 변경 updateDsuseRptOfCancel(dto, reqDto.getUserId());
// 조건 : 사용자보고식별번호 = 참조사용자보고식별번호
// => usr_rpt_id_no -> refUsrRptIdNo update
// => 취소인 경우 use_yn = 'N' update
updateDsuseRptAndDsuseMgt(dto, reqDto.getUserId());
// 2-3. tb_dsuse_rpt_info, tb_dsuse_rpt_info_dtl 생성 (취소인 경우는 tb_dsuse_rpt_info의 사용 여부 'N'으로 생성)
createDsuseRpt(dto, reqDto.getUserId());
// FIXME : API 적용 필요 // FIXME : API 적용 필요
// 결과 return 대상 데이타 List에서 조회한 변경 대상이 있는 경우 replace // 결과 return 대상 데이타 List에서 조회한 변경 대상이 있는 경우 replace
@ -697,6 +712,81 @@ public class BizNimsServiceBean extends AbstractServiceBean implements BizNimsSe
return rtnList; return rtnList;
} }
private List<NimsApiDto.DsuseRptInfo> findNimsDsuseRptsOfApi(NimsApiRequest.DsuseRptInfoReq reqDto) {
List<NimsApiDto.DsuseRptInfo> nimsList = new ArrayList<>();
// FIXME: API 적용후 comment 제거 ///////////////////////
// while(true) {
// NimsApiResult.Response<NimsApiDto.DsuseRptInfo> rslt = infNimsService.getDsuseRptInfo(reqDto);
// List<NimsApiDto.DsuseRptInfo> curList = rslt.getResultOrThrow();
//
// if(isEmpty(curList)) break;
//
// nimsList.addAll(curList);
//
// if(rslt.isEndYn()) break;
// reqDto.setPg(String.valueOf(Integer.parseInt(reqDto.getPg()) + 1));
// }
//////////////////////////////////////////////////////////////////////////
// FIXME: API 적용후 제거 ///////////////////////
NimsApiResult.Response<NimsApiDto.DsuseRptInfo> rslt = infNimsService.getDsuseRptInfo(reqDto);
List<NimsApiDto.DsuseRptInfo> curList = rslt.getResult();
if(!isEmpty(curList)) nimsList.addAll(curList);
reqDto.setPs("02"); // 상태("": 전체, 01: 확인, 02: 보류, 03: 정정, 04: 미처리)
rslt = infNimsService.getDsuseRptInfo(reqDto);
curList = rslt.getResult();
if(!isEmpty(curList)) nimsList.addAll(curList);
reqDto.setPs("03"); // 상태("": 전체, 01: 확인, 02: 보류, 03: 정정, 04: 미처리)
rslt = infNimsService.getDsuseRptInfo(reqDto);
curList = rslt.getResult();
if(!isEmpty(curList)) nimsList.addAll(curList);
reqDto.setPs("04"); // 상태("": 전체, 01: 확인, 02: 보류, 03: 정정, 04: 미처리)
rslt = infNimsService.getDsuseRptInfo(reqDto);
curList = rslt.getResult();
if(!isEmpty(curList)) nimsList.addAll(curList);
reqDto.setFg2("1"); // 보고 유형: ""- 전체, 0-신규, 1-취소, 2-변경
reqDto.setPs("01"); // 상태("": 전체, 01: 확인, 02: 보류, 03: 정정, 04: 미처리)
rslt = infNimsService.getDsuseRptInfo(reqDto);
curList = rslt.getResult();
if(!isEmpty(curList)) nimsList.addAll(curList);
reqDto.setPs("02"); // 상태("": 전체, 01: 확인, 02: 보류, 03: 정정, 04: 미처리)
rslt = infNimsService.getDsuseRptInfo(reqDto);
curList = rslt.getResult();
if(!isEmpty(curList)) nimsList.addAll(curList);
reqDto.setPs("03"); // 상태("": 전체, 01: 확인, 02: 보류, 03: 정정, 04: 미처리)
rslt = infNimsService.getDsuseRptInfo(reqDto);
curList = rslt.getResult();
if(!isEmpty(curList)) nimsList.addAll(curList);
reqDto.setPs("04"); // 상태("": 전체, 01: 확인, 02: 보류, 03: 정정, 04: 미처리)
rslt = infNimsService.getDsuseRptInfo(reqDto);
curList = rslt.getResult();
if(!isEmpty(curList)) nimsList.addAll(curList);
reqDto.setFg2("2"); // 보고 유형: ""- 전체, 0-신규, 1-취소, 2-변경
reqDto.setPs("01"); // 상태("": 전체, 01: 확인, 02: 보류, 03: 정정, 04: 미처리)
rslt = infNimsService.getDsuseRptInfo(reqDto);
curList = rslt.getResult();
if(!isEmpty(curList)) nimsList.addAll(curList);
reqDto.setPs("02"); // 상태("": 전체, 01: 확인, 02: 보류, 03: 정정, 04: 미처리)
rslt = infNimsService.getDsuseRptInfo(reqDto);
curList = rslt.getResult();
if(!isEmpty(curList)) nimsList.addAll(curList);
reqDto.setPs("03"); // 상태("": 전체, 01: 확인, 02: 보류, 03: 정정, 04: 미처리)
rslt = infNimsService.getDsuseRptInfo(reqDto);
curList = rslt.getResult();
if(!isEmpty(curList)) nimsList.addAll(curList);
reqDto.setPs("04"); // 상태("": 전체, 01: 확인, 02: 보류, 03: 정정, 04: 미처리)
rslt = infNimsService.getDsuseRptInfo(reqDto);
curList = rslt.getResult();
if(!isEmpty(curList)) nimsList.addAll(curList);
//////////////////////////////////////////////////////////////////////////
return nimsList;
}
/** /**
* <pre> * <pre>
* tb_dsuse_rpt_info, tb_dsuse_rpt_info_dtl * tb_dsuse_rpt_info, tb_dsuse_rpt_info_dtl
@ -720,7 +810,12 @@ public class BizNimsServiceBean extends AbstractServiceBean implements BizNimsSe
if(RPT_TY_CD.NEW.getCode().equals(dto.getRptTyCd())){ if(RPT_TY_CD.NEW.getCode().equals(dto.getRptTyCd())){
dto.setOrgUsrRptIdNo(dto.getUsrRptIdNo()); dto.setOrgUsrRptIdNo(dto.getUsrRptIdNo());
}else{ }else{
setOrgUsrRptIdNo(dto); // FIXME : 취소인 경우는 사용자/원사용자 식별번호 clear - API 취소 && 상태(미처리) 인 경우 제외되는지 확인후 제거 여부 결정
if(RPT_TY_CD.CANCEL.getCode().equals(dto.getRptTyCd())){
dto.setOrgUsrRptIdNo(dto.getUsrRptIdNo());
}else {
findRecusiveOrgUsrRptIdNo(dto);
}
} }
if (bizNimsMapper.insertDsuseRptInfo(dto) == 1) { if (bizNimsMapper.insertDsuseRptInfo(dto) == 1) {
@ -731,9 +826,11 @@ public class BizNimsServiceBean extends AbstractServiceBean implements BizNimsSe
int dtlCnt = 0; int dtlCnt = 0;
for (NimsApiDto.DsuseRptInfoDtl d : dto.getListDtl()) { for (NimsApiDto.DsuseRptInfoDtl d : dto.getListDtl()) {
d.setRgtr(userId); d.setRgtr(userId);
// FIXME: API 적용 완류후 아래 라인 제거
// FIXME: API 적용 완류후 아래 라인 제거 - 사용자보고라인번호가 내려오지 않고 있어 임시로 추가 /////////////////////////////////////
d.setUsrRptLnIdNo(d.getUsrRptIdNo()+"_"+(dtlCnt+1)); d.setUsrRptLnIdNo(d.getUsrRptIdNo()+"_"+(dtlCnt+1));
/////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////
dtlCnt = dtlCnt + bizNimsMapper.insertDsuseRptInfoDtl(d); dtlCnt = dtlCnt + bizNimsMapper.insertDsuseRptInfoDtl(d);
} }
if (dto.getRndDtlRptCnt() != dtlCnt) if (dto.getRndDtlRptCnt() != dtlCnt)
@ -753,7 +850,7 @@ public class BizNimsServiceBean extends AbstractServiceBean implements BizNimsSe
* @param dto NIMS (NimsApiDto.DsuseRptInfo) * @param dto NIMS (NimsApiDto.DsuseRptInfo)
* </pre> * </pre>
*/ */
private void setOrgUsrRptIdNo(NimsApiDto.DsuseRptInfo dto) { private void findRecusiveOrgUsrRptIdNo(NimsApiDto.DsuseRptInfo dto) {
// 원 사용자 식별 번호 set - 변경/취소 인 경우 // 원 사용자 식별 번호 set - 변경/취소 인 경우
// 신규인 경우는 사용자보고식별번호로 설정 // 신규인 경우는 사용자보고식별번호로 설정
@ -762,7 +859,9 @@ public class BizNimsServiceBean extends AbstractServiceBean implements BizNimsSe
// 참조사용자보고식별번호로 원사용자보고식별번호조회 // 참조사용자보고식별번호로 원사용자보고식별번호조회
while(true) { while(true) {
Map<String, String> map = bizNimsMapper.recusiveRefUsrRptIdNo(refUsrRptIdNo); Map<String, String> map = bizNimsMapper.recusiveRefUsrRptIdNo(refUsrRptIdNo);
if(map == null) throw ApiCustomException.create("데이타 오류[참조사용자로 사용자보고식별번호 조회 실패 - 데이타 누락]"); if(map == null){
throw ApiCustomException.create("데이타 오류[참조사용자로 사용자보고식별번호 조회 실패 - 데이타 누락]");
}
if(!isEmpty(map.get("refUsrRptIdNo"))){ if(!isEmpty(map.get("refUsrRptIdNo"))){
refUsrRptIdNo = map.get("refUsrRptIdNo"); refUsrRptIdNo = map.get("refUsrRptIdNo");
@ -790,13 +889,40 @@ public class BizNimsServiceBean extends AbstractServiceBean implements BizNimsSe
* @param dto NimsApiDto.DsuseRptInfo * @param dto NimsApiDto.DsuseRptInfo
* </pre> * </pre>
*/ */
private void updateDsuseRptAndDsuseMgt(NimsApiDto.DsuseRptInfo dto, String userId) { private void updateDsuseRptOfCancel(NimsApiDto.DsuseRptInfo dto, String userId) {
dto.setRgtr(userId); dto.setRgtr(userId);
String errMsg; String errMsg;
if (RPT_TY_CD.CANCEL.getCode().equals(dto.getRptTyCd())) errMsg = RPT_TY_CD.CANCEL.getNm(); if (RPT_TY_CD.CANCEL.getCode().equals(dto.getRptTyCd())) errMsg = RPT_TY_CD.CANCEL.getNm();
else errMsg = RPT_TY_CD.MODIFY.getNm(); else errMsg = RPT_TY_CD.MODIFY.getNm();
if (bizNimsMapper.updateCancelDsuseRptInfo(dto) == 1) { if (bizNimsMapper.updateCancelDsuseRptInfo(dto) == 1) {
int cnt = bizNimsMapper.updateCancelDsuseRptInfoDtl(dto);
// 취소인 경우 상세 데이타가 없을 수 있다
if(!RPT_TY_CD.CANCEL.getCode().equals(dto.getRptTyCd())) {
if (dto.getRndDtlRptCnt() != cnt) {
throw ApiCustomException.create(String.format("폐기 정보 상세 %s 실패", errMsg));
}
}
} else {
throw ApiCustomException.create(String.format("폐기 정보 %s 실패", errMsg));
}
}
/**
* <pre>
* update
* -> clear
* // FIXME : 필요한 부분에 대한 추가 처리 필요
* @param dto
* @param userId
* </pre>
*/
private void updateDsuseMgtMappingData(NimsApiDto.DsuseRptInfo dto, String userId) {
// 폐기보고인 경우 : 폐기관리ID가 존재하는 경우만 처리
//if(isEmpty(dto.getDscdmngId())) {
// FIXME : 폐기 관리 테이블에 사용자보고식별번호 반영 // FIXME : 폐기 관리 테이블에 사용자보고식별번호 반영
// FIXME : 취소인 경우는 사용자/원사용자 식별번호 clear // FIXME : 취소인 경우는 사용자/원사용자 식별번호 clear
// FIXME : 변경인 경우는 사용자식별번호 update // FIXME : 변경인 경우는 사용자식별번호 update
@ -804,21 +930,24 @@ public class BizNimsServiceBean extends AbstractServiceBean implements BizNimsSe
// 조건 : 사용자보고식별번호 = 참조사용자보고식별번호 // 조건 : 사용자보고식별번호 = 참조사용자보고식별번호
// => usr_rpt_id_no -> refUsrRptIdNo update // => usr_rpt_id_no -> refUsrRptIdNo update
// => 취소인 경우 use_yn = 'N' update // => 취소인 경우 use_yn = 'N' update
// if(bizNimsMapper.updateCancelDsuseMgt(dto) == 0){ BizNimsResponse.DsuseMgtRes dsuseMgtRes = BizNimsResponse.DsuseMgtRes.builder()
// throw ApiCustomException.create("폐기보고정보 변경 적용 실패\n[폐기관리테이블에 사용자보고식별번호 = 참조사용자보고식별번호에 해당하는 데이타 미존재]"); .dscdmngId(dto.getDscdmngId())
// } .rgtr(userId)
.build();
int cnt = bizNimsMapper.updateCancelDsuseRptInfoDtl(dto);
if(cnt == 0) throw ApiCustomException.create(String.format("폐기 정보 상세 %s 실패", errMsg)); if (!RPT_TY_CD.CANCEL.getCode().equals(dto.getRptTyCd())) {
dsuseMgtRes.setUsrRptIdNo(dto.getUsrRptIdNo());
// 변경인 경우 상세 데이타 건수와 일치 하지 않는 경우 오류 처리 dsuseMgtRes.setRefUsrRptIdNo(dto.getRefUsrRptIdNo());
// if ("2".equals(dto.getRptTyCd()) && dto.getRndDtlRptCnt() != cnt) { dsuseMgtRes.setOrgUsrRptIdNo(dto.getOrgUsrRptIdNo());
// throw ApiCustomException.create(String.format("폐기 정보 상세 %s 실패", errMsg)); dsuseMgtRes.setRptTyCd(dto.getRptTyCd());
// } dsuseMgtRes.setStts(dto.getStatus());
//dsuseMgtRes.setPrgrsSttsCd(dto.getP());
} else { }
throw ApiCustomException.create(String.format("폐기 정보 %s 실패", errMsg)); if (bizNimsMapper.updateMappingDsuseMgt(dsuseMgtRes) == 0) {
} throw ApiCustomException.create(
"폐기보고정보 변경 적용 실패\n[폐기관리테이블에 사용자보고식별번호 = 참조사용자보고식별번호에 해당하는 데이타 미존재]");
}
//}
} }
/** /**
@ -910,311 +1039,4 @@ public class BizNimsServiceBean extends AbstractServiceBean implements BizNimsSe
// } // }
// return list; // return list;
// } // }
// /**
// * <pre>
// * 마약류 취급자 업체 추가 정보 set
// * 허가번호(prmisnNo), 대표자명(rprsntvNm) set
// * @param resList List<BizNimsResponse.DsuseMgtResponse>
// * </pre>
// */
// private void setAddBsshInfo(List<BizNimsResponse.DsuseRptInfoRes> resList) {
// for (BizNimsResponse.DsuseRptInfoRes r : resList) {
// r.setRptTyCdNm(RPT_TY_CD.getName(r.getRptTyCd()));
// r.setDsuseSeCdNm(Constants.DSUSE_SE_CD.getName(r.getDsuseSeCd()));
// r.setDsusePrvCdNm(Constants.DSUSE_PRV_CD.getName(r.getDsusePrvCd()));
// r.setDsuseMthCdNm(Constants.DSUSE_MTH_CD.getName(r.getDsuseMthCd()));
//
// if (isEmpty(r.getPrmisnNo())) {
// List<BsshInfoSt> list = saveBsshInfoSt(
// BsshInfoReq.builder()
// .fg("1")
// .pg("1")
// .bc(r.getBsshCd())
// .build()
// );
// if (isEmpty(list)) {
// // FIXME : 데이타 정상 흐름 확인후 comment 제거
// continue;
// //throw ApiCustomException.create(String.format("데이타 오류(마약류취급자식별번호[%s]에 해당하는 데이타가 없습니다)", r.getBsshCd()));
// }
// r.setPrmisnNo(list.get(0).getPrmisnNo());
// r.setRprsntvNm(list.get(0).getRprsntvNm());
// }
// }
// }
//
// /**
// * <pre>
// * 제품 추가 정보 set
// * 마약항정구분(nrcdSeNm), 중점일반구분(prtmSenm), 제조수입자명(bsshNm)
// * 제품최소유통단위(stdPackngStleNm), 제품낱개단위명(pceCoUnitNm) set
// * @param dtlList <NimsApiDto.DsuseRptInfoDtl>
// * </pre>
// */
// private void setAddProductInfo(List<NimsApiDto.DsuseRptInfoDtl> dtlList) {
//
// for (NimsApiDto.DsuseRptInfoDtl r : dtlList) {//if()
// // 마약항정구분(nrcdSeNm), 중점일반구분(prtmSenm)
// if (isEmpty(r.getNrcdSeNm()) || isEmpty(r.getPrtmSeNm())) {
// //NimsApiResult.Response<NimsApiDto.ProductInfoKd> result = infNimsService.getProductInfoKd(
//
// List<NimsApiDto.ProductInfoKd> list = saveProductInfoKd(
// NimsApiRequest.ProductInfoReq.builder()
// .fg("1")
// .pg("1")
// .p(r.getPrductCd())
// .build(),
// false
// );
// if (isEmpty(list)) {
// // FIXME : 데이타 정상 흐름 확인후 comment 제거
// continue;
// //throw ApiCustomException.create(String.format("데이타 오류(제품코드[%s]에 해당하는 데이타가 없습니다)", r.getPrductCd()));
// }
// r.setNrcdSeNm(list.get(0).getNrcdSeNm());
// r.setPrtmSeNm(list.get(0).getPrtmSeNm());
// r.setStdPackngStleNm(list.get(0).getStdPackngStleNm());
// r.setPceCoUnitNm(list.get(0).getPceCoUnitNm());
// }
//
// // 제조수입자명(bsshNm)
// if (isEmpty(r.getBsshNm()) && !isEmpty(r.getBsshCd())) {
// List<BsshInfoSt> list = saveBsshInfoSt(
// BsshInfoReq.builder()
// .fg("1")
// .pg("1")
// .bc(r.getBsshCd())
// .build()
// );
// if (isEmpty(list)) {
// // FIXME : 데이타 정상 흐름 확인후 comment 제거
// continue;
// //throw ApiCustomException.create(String.format("데이타 오류(마약류취급자식별번호[%s]에 해당하는 데이타가 없습니다)", r.getBsshCd()));
// }
// r.setBsshNm(list.get(0).getBsshNm());
// }
// }
// }
/*
@Override
public BizNimsAarDto.AarHeader getTgtDsuseRptData(BizNimsRequest.DsuseMgt dto) {
ApiUtil.validate(dto, null, validator);
dto.setRgtr(Constants.NIMS_API_USER_ID);
BizNimsAarDto.AarHeader aarHeader = bizNimsMapper.selectTgtAarHeader(dto);
if(aarHeader == null) throw ApiCustomException.create("NIMS 연계 데이타를 생성할 수 없습니다. 데이타를 확인해 주세요");
List<BizNimsAarDto.AarDetail> aarDetails = bizNimsMapper.selectTgtAarDetails(dto);
if(aarDetails.isEmpty()) throw ApiCustomException.create("NIMS 연계 데이타를 생성할 수 없습니다. 데이타를 확인해 주세요");
// 관할행정기관코드
setDsuseInsttCd(aarHeader);
// 저장소
setStorgeNo(aarHeader, aarDetails);
// 제조 번호, 일련번호, 유효기간 정보 목록
setMnfSeqs(aarDetails);
aarHeader.getAarDetails().addAll(aarDetails);
return aarHeader;
}
@Override
public BizNimsAarDto.AarHeader createTgtDsuseRptData(BizNimsAarDto.AarHeader dto) {
ApiUtil.validate(dto, null, validator);
dto.setUid(bsshCd);
dto.setSwId(bsshCd);
dto.setRgtr(Constants.NIMS_API_USER_ID);
return dto;
}
*/
// @Override
// public NimsAarResult createReportDsuse() {
// String xml = toXml();
// log.info(xml);
// return NimsAarResult.builder().build();
// }
//
// @Override
// public NimsAarResult updateReportDsuse() {
// String xml = toXml();
// log.info(xml);
// return NimsAarResult.builder().build();
// }
//
// @Override
// public NimsAarResult cancelReportDsuse() {
// String xml = toXml();
// log.info(xml);
// return NimsAarResult.builder().build();
// }
// 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<Aar.Line> 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<BizNimsAarDto.AarDetail> aarDetails) {
//
// if(isEmpty(aarDetails.get(0).getStorgeNo())){
// try {
// List<NimsApiDto.StorageInfo> 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<NimsApiDto.JurisdictionGovInfo> 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<BizNimsAarDto.AarDetail> aarDetails) {
// AtomicReference<String> productCd = new AtomicReference<>("");
//
// try {
//
// aarDetails.forEach(d -> {
// productCd.set(d.getPrductCd());
//
// List<NimsApiDto.MnfSeqInfo> 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());
// }
// }
} }

@ -27,7 +27,6 @@ import cokr.xit.foundation.data.JSON;
import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.media.Content; import io.swagger.v3.oas.annotations.media.Content;
import io.swagger.v3.oas.annotations.media.ExampleObject; import io.swagger.v3.oas.annotations.media.ExampleObject;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
/** /**
@ -45,7 +44,7 @@ import lombok.RequiredArgsConstructor;
* *
* </pre> * </pre>
*/ */
@Tag(name = "BizNimsController", description = "마약류 관리 시스템 업무 API") //@Tag(name = "BizNimsController", description = "마약류 관리 시스템 업무 API")
@RequiredArgsConstructor @RequiredArgsConstructor
@RestController @RestController
@RequestMapping("/api/biz/nims/v1") @RequestMapping("/api/biz/nims/v1")
@ -55,47 +54,47 @@ public class BizNimsController {
//------------------------------------------------------------------------------------------------------ //------------------------------------------------------------------------------------------------------
// NIMS API CALL // NIMS API CALL
//------------------------------------------------------------------------------------------------------ //------------------------------------------------------------------------------------------------------
@Operation(summary = "마약류 취급자 정보 조회(NIMS API)", description = "마약류 취급자 정보 조회<br><br>NIMS API 호출 결과를 DB에 저장후 결과 Return<br><br><strong>bi-사업자등록번호, hp-요양기관번호, bn-업체명, bc-취급자식별번호 중 하나는 필수<strong>") @Operation(summary = "NIMS 마약류 취급자 정보 조회", description = "마약류 취급자 정보 조회<br><br>NIMS API 호출 결과를 DB에 저장후 결과 Return<br><br><strong>bi-사업자등록번호, hp-요양기관번호, bn-업체명, bc-취급자식별번호 중 하나는 필수<strong>", tags = { "NIMS API" })
@PostMapping(value = "/getBsshInfoSt") @PostMapping(value = "/getNimsBsshInfoSt")
public ApiBaseResponse<List<NimsApiDto.BsshInfoSt>> getBsshInfoSt( public ApiBaseResponse<List<NimsApiDto.BsshInfoSt>> getNimsBsshInfoSt(
@RequestBody NimsApiRequest.BsshInfoReq dto @RequestBody NimsApiRequest.BsshInfoReq dto
) { ) {
return ApiBaseResponse.of(bizNimsService.saveBsshInfoSt(dto)); return ApiBaseResponse.of(bizNimsService.saveBsshInfoSt(dto));
} }
@Operation(summary = "마약류 상품 정보 조회(NIMS API)", description = "마약류 상품정보 조회<br><br>NIMS API 호출 결과를 DB에 저장후 결과 Return") @Operation(summary = "NIMS 마약류 상품 정보 조회", description = "마약류 상품정보 조회<br><br>NIMS API 호출 결과를 DB에 저장후 결과 Return", tags = { "NIMS API" })
@PostMapping(value = "/getProductInfoKd") @PostMapping(value = "/getNimsProductInfoKd")
public ApiBaseResponse<List<NimsApiDto.ProductInfoKd>> getMnfSeqInfo( public ApiBaseResponse<List<NimsApiDto.ProductInfoKd>> getNimsMnfSeqInfo(
@RequestBody NimsApiRequest.ProductInfoReq dto @RequestBody NimsApiRequest.ProductInfoReq dto
) { ) {
return ApiBaseResponse.of(bizNimsService.saveProductInfoKd(dto, false)); return ApiBaseResponse.of(bizNimsService.saveProductInfoKd(dto, false));
} }
@Operation(summary = "마약류 상품 정보 & 제조번호 조회(NIMS API)", description = "마약류 상품정보 & 제조번호 조회<br><br>NIMS API 호출 결과를 DB에 저장후 결과 Return") @Operation(summary = "NIMS 마약류 상품 정보 & 제조번호 조회", description = "마약류 상품정보 & 제조번호 조회<br><br>NIMS API 호출 결과를 DB에 저장후 결과 Return", tags = { "NIMS API" })
@PostMapping(value = "/getProductInfoKdAndMnfSeqInfo") @PostMapping(value = "/getNimsProductInfoKdAndMnfSeqInfo")
public ApiBaseResponse<List<NimsApiDto.ProductInfoKd>> getProductInfoKdAndMnfSeqInfo( public ApiBaseResponse<List<NimsApiDto.ProductInfoKd>> getNimsProductInfoKdAndMnfSeqInfo(
@RequestBody NimsApiRequest.ProductInfoReq dto @RequestBody NimsApiRequest.ProductInfoReq dto
) { ) {
return ApiBaseResponse.of(bizNimsService.saveProductInfoKd(dto, true)); return ApiBaseResponse.of(bizNimsService.saveProductInfoKd(dto, true));
} }
@Operation(summary = "제조 일련 번호 정보 조회(NIMS API)", description = "제보 일련 번호 정보 조회<br><br>NIMS API 호출 결과 Return") @Operation(summary = "NIMS 제조 일련 번호 정보 조회", description = "제보 일련 번호 정보 조회<br><br>NIMS API 호출 결과 Return", tags = { "NIMS API" })
@PostMapping(value = "/getMnfSeqInfo") @PostMapping(value = "/getNimsMnfSeqInfo")
public ApiBaseResponse<List<NimsApiDto.MnfSeqInfo>> getMnfSeqInfo( public ApiBaseResponse<List<NimsApiDto.MnfSeqInfo>> getNimsMnfSeqInfo(
@RequestBody NimsApiRequest.MnfSeqInfoReq dto @RequestBody NimsApiRequest.MnfSeqInfoReq dto
) { ) {
return ApiBaseResponse.of(bizNimsService.getMnfSeqInfo(dto)); return ApiBaseResponse.of(bizNimsService.getMnfSeqInfo(dto));
} }
@Operation(summary = "관할 허가 관청 정보 조회(NIMS API)", description = "관할 허가 관청 정보 조회<br><br>NIMS API 호출 결과 Return") @Operation(summary = "NIMS 관할 허가 관청 정보 조회", description = "관할 허가 관청 정보 조회<br><br>NIMS API 호출 결과 Return", tags = { "NIMS API" })
@PostMapping(value = "/getJurisdictionGovInfo") @PostMapping(value = "/getNimsJurisdictionGovInfo")
public ApiBaseResponse<List<NimsApiDto.JurisdictionGovInfo>> getJurisdictionGovInfo( public ApiBaseResponse<List<NimsApiDto.JurisdictionGovInfo>> getNimsJurisdictionGovInfo(
@RequestBody NimsApiRequest.JurisdictionGovInfoReq dto @RequestBody NimsApiRequest.JurisdictionGovInfoReq dto
) { ) {
return ApiBaseResponse.of(bizNimsService.getJurisdictionGovInfo(dto)); return ApiBaseResponse.of(bizNimsService.getJurisdictionGovInfo(dto));
} }
@Operation(summary = "폐기 보고 조회(NIMS API 폐기보고 조회)", description = "업체의 폐기 보고 정보 목록 조회<br><br>NIMS API 호출 결과를 DB에 저장후 Return") @Operation(summary = "Nims 폐기 보고 조회", description = "NIMS의 업체 폐기 보고 정보 목록 조회", tags = { "NIMS API" })
@io.swagger.v3.oas.annotations.parameters.RequestBody(required = true, content = { @io.swagger.v3.oas.annotations.parameters.RequestBody(required = true, content = {
@Content(mediaType = "application/json", examples = { @Content(mediaType = "application/json", examples = {
@ExampleObject(value = """ @ExampleObject(value = """
@ -112,11 +111,11 @@ public class BizNimsController {
""") """)
}) })
}) })
@PostMapping("/getDsuseRptInfo") @PostMapping("/getNimsDsuseRptInfo")
public ApiBaseResponse<List<NimsApiDto.DsuseRptInfo>> getDsuseRptInfo( public ApiBaseResponse<List<NimsApiDto.DsuseRptInfo>> getNimsDsuseRptInfo(
@RequestBody NimsApiRequest.DsuseRptInfoReq dto @RequestBody NimsApiRequest.DsuseRptInfoReq dto
) { ) {
return ApiBaseResponse.of(bizNimsService.saveDsuseRptInfo(dto)); return ApiBaseResponse.of(bizNimsService.getNimsDsuseRptInfo(dto));
} }
//------------------------------------------------------------------------------------------------------ //------------------------------------------------------------------------------------------------------
@ -130,7 +129,7 @@ public class BizNimsController {
* @param dsusePrdImgFiles * @param dsusePrdImgFiles
* @return return * @return return
*/ */
@Operation(summary = "사고 마약류 폐기 관리 폐기 신청서 접수", description = "사고 마약류 폐기 관리 폐기 신청서 접수<br><br>폐기관리 신청서 접수 데이타 생성후 생성 정보 return") @Operation(summary = "사고 마약류 폐기 관리 폐기 신청서 접수", description = "사고 마약류 폐기 관리 폐기 신청서 접수<br><br>폐기관리 신청서 접수 데이타 생성후 생성 정보 return", tags = { "BIZ API" })
@PostMapping(value = "/saveDsuseMgtReceipt") @PostMapping(value = "/saveDsuseMgtReceipt")
public ApiBaseResponse<BizNimsRequest.DsuseMgtReceipt> saveDsuseMgtReceipt( public ApiBaseResponse<BizNimsRequest.DsuseMgtReceipt> saveDsuseMgtReceipt(
@RequestParam("dsuseMgtJsonStr") String dsuseMgtJsonStr, @RequestParam("dsuseMgtJsonStr") String dsuseMgtJsonStr,
@ -149,8 +148,7 @@ public class BizNimsController {
* @param dsuseDsuseImgFiles * @param dsuseDsuseImgFiles
* @return [] return * @return [] return
*/ */
@Operation(summary = "사고 마약류 폐기 결과[통보] 처리", description = "사고 마약류 폐기 결과[통보] 처리") @Operation(summary = "사고 마약류 폐기 결과[통보] 처리", description = "사고 마약류 폐기 결과[통보] 처리", tags = { "BIZ API" })
@PostMapping(value = "/saveDsuseMgtRslt")
public ApiBaseResponse<BizNimsRequest.DsuseMgtRslt> saveDsuseMgtRslt( public ApiBaseResponse<BizNimsRequest.DsuseMgtRslt> saveDsuseMgtRslt(
@RequestParam("dsuseMgtRsltJsonStr") String dsuseMgtRsltJsonStr, @RequestParam("dsuseMgtRsltJsonStr") String dsuseMgtRsltJsonStr,
@RequestParam(value = "dsuseDsuseImgFiles") List<MultipartFile> dsuseDsuseImgFiles @RequestParam(value = "dsuseDsuseImgFiles") List<MultipartFile> dsuseDsuseImgFiles
@ -160,55 +158,31 @@ public class BizNimsController {
return ApiBaseResponse.of(bizNimsService.saveDsuseMgtRslt(rsltDto, dsuseDsuseImgFiles)); return ApiBaseResponse.of(bizNimsService.saveDsuseMgtRslt(rsltDto, dsuseDsuseImgFiles));
} }
// @Operation(summary = "사고 마약류 폐기 관리 생성", description = "사고 마약류 폐기 관리 생성<br><br>폐기관리 데이타 생성후 폐기보고 정보 return") @Operation(summary = "폐기 보고 조회(NIMS API 폐기보고 조회)", description = "업체의 폐기 보고 정보 목록 조회<br><br>NIMS API 호출 결과를 DB에 저장후 Return", tags = { "BIZ NIMS API" })
// @io.swagger.v3.oas.annotations.parameters.RequestBody(required = true, content = { @io.swagger.v3.oas.annotations.parameters.RequestBody(required = true, content = {
// @Content(mediaType = "application/json", examples = { @Content(mediaType = "application/json", examples = {
// @ExampleObject(value = """ @ExampleObject(value = """
// { {
// "userId": "api-user", "sdt": "20240105",
// "prgrsSttsCd": "01", "edt": "20240105",
// "bsshCd": "H00008333", "bc": "",
// "rndDtlRptCnt": 2, "bn": "",
// "hdrDe": "20240301", "ur": "",
// "dsuseSeCd": "1", "fg2": "0",
// "dsusePrvCd": "04", "ps": "01",
// "dsuseMthCd": "3", "userId": "suji"
// "dsuseLoc": "보건소소각장", }
// "dsuseDe": "20240306", """)
// "dsuseMgtDtls": [ })
// { })
// "prductCd": "8806717024900", @PostMapping("/getDsuseRptInfo")
// "prductNm": "베리콜시럽", public ApiBaseResponse<List<NimsApiDto.DsuseRptInfo>> getDsuseRptInfo(
// "minDistbQy": 1, @RequestBody NimsApiRequest.DsuseRptInfoReq dto
// "pceQy": 1, ) {
// "mnfNo": "A1111", return ApiBaseResponse.of(bizNimsService.saveDsuseRptInfo(dto));
// "prdValidDe": "20300303", }
// "mnfSeq": "A11111111",
// "dsuseQy": 10
// },
// {
// "prductCd": "8806718050823",
// "prductNm": "아쿠아폴주20밀리리터(프로포폴) (20㎖)",
// "minDistbQy": 1,
// "pceQy": 5,
// "mnfNo": "A1111",
// "prdValidDe": "20300303",
// "mnfSeq": "A11111111",
// "dsuseQy": 30
// }
// ]
// }
// """)
// })
// })
// @PostMapping("/saveDsuseMgt")
// public ApiBaseResponse<BizNimsDto.DsuseMgt> saveDsuseMgt(
// @RequestBody BizNimsDto.DsuseMgt dto
// ) {
// return ApiBaseResponse.of(bizNimsService.saveDsuseMgt(dto));
// }
@Operation(summary = "폐기 보고 확인(폐기관리 데이타에 대한 폐기보고 매핑)", description = "폐기 보고 확인(폐기관리 데이타에 대한 폐기보고 매핑)<br><br>폐기 관리 데이터에 대한 폐기보고 매핑 대상 데이타 조회 return<br><br>NIMS API 호출 결과를 DB에 저장") @Operation(summary = "폐기 보고 확인(폐기관리 데이타에 대한 폐기보고 매핑)", description = "폐기 보고 확인(폐기관리 데이타에 대한 폐기보고 매핑)<br><br>폐기 관리 데이터에 대한 폐기보고 매핑 대상 데이타 조회 return<br><br>NIMS API 호출 결과를 DB에 저장", tags = { "BIZ NIMS API" })
@PostMapping("/getDsuseMgtMapping") @PostMapping("/getDsuseMgtMapping")
public ApiBaseResponse<List<NimsApiDto.DsuseRptInfo>> getDsuseMgtMapping( public ApiBaseResponse<List<NimsApiDto.DsuseRptInfo>> getDsuseMgtMapping(
@RequestBody BizNimsRequest.DsuseRptMappingInq dto @RequestBody BizNimsRequest.DsuseRptMappingInq dto
@ -216,7 +190,7 @@ public class BizNimsController {
return ApiBaseResponse.of(bizNimsService.getDsuseMgtMapping(dto)); return ApiBaseResponse.of(bizNimsService.getDsuseMgtMapping(dto));
} }
@Operation(summary = "사고 마약류 폐기 관리 목록 조회", description = "사고 마약류 폐기 관리 목록 조회") @Operation(summary = "사고 마약류 폐기 관리 목록 조회", description = "사고 마약류 폐기 관리 목록 조회", tags = { "BIZ API" })
//@PostMapping(value = "/getDsuseMgts") //@PostMapping(value = "/getDsuseMgts")
@RequestMapping(value = "/getDsuseMgts", method = { RequestMethod.POST, RequestMethod.GET }) @RequestMapping(value = "/getDsuseMgts", method = { RequestMethod.POST, RequestMethod.GET })
public ApiBaseResponse<List<BizNimsResponse.DsuseMgtRes>> getDsuseMgts( public ApiBaseResponse<List<BizNimsResponse.DsuseMgtRes>> getDsuseMgts(
@ -227,7 +201,7 @@ public class BizNimsController {
} }
@Operation(summary = "사고 마약류 폐기 관리 상태 변경", description = "사고 마약류 폐기 관리 상태변경<br><br>사고마약류 상태 변경 : Constants.PRGRS_STTS_CD의 코드값 사용") @Operation(summary = "사고 마약류 폐기 관리 상태 변경", description = "사고 마약류 폐기 관리 상태변경<br><br>사고마약류 상태 변경 : Constants.PRGRS_STTS_CD의 코드값 사용", tags = { "BIZ API" })
@io.swagger.v3.oas.annotations.parameters.RequestBody(required = true, content = { @io.swagger.v3.oas.annotations.parameters.RequestBody(required = true, content = {
@Content(mediaType = "application/json", examples = { @Content(mediaType = "application/json", examples = {
@ExampleObject(value = """ @ExampleObject(value = """
@ -245,7 +219,7 @@ public class BizNimsController {
return ApiBaseResponse.of(); return ApiBaseResponse.of();
} }
@Operation(summary = "보고문서 생성을 위한 사고 마약류 폐기 관리 목록 조회", description = "보고문서 생성을 위한 마약류 폐기 관리 목록 조회<br><br>사고마약류 결과결과[통보]서, 폐기내역 및 사진 문서 작성을 위한 데이타 조회") @Operation(summary = "보고문서 생성을 위한 사고 마약류 폐기 관리 목록 조회", description = "보고문서 생성을 위한 마약류 폐기 관리 목록 조회<br><br>사고마약류 결과결과[통보]서, 폐기내역 및 사진 문서 작성을 위한 데이타 조회", tags = { "BIZ API" })
@PostMapping(value = "/getDsuseMgtListForRptDoc") @PostMapping(value = "/getDsuseMgtListForRptDoc")
public ApiBaseResponse<List<BizNimsResponse.DsuseMgtRes>> getDsuseMgtListForRptDoc( public ApiBaseResponse<List<BizNimsResponse.DsuseMgtRes>> getDsuseMgtListForRptDoc(
@RequestBody BizNimsRequest.DsuseMgtInq dto @RequestBody BizNimsRequest.DsuseMgtInq dto
@ -253,7 +227,7 @@ public class BizNimsController {
return ApiBaseResponse.of(bizNimsService.getDsuseMgts(dto, true)); return ApiBaseResponse.of(bizNimsService.getDsuseMgts(dto, true));
} }
@Operation(summary = "barcode string 제품 제조 정보 조회", description = "barcode string 제품 제조 정보 조회<br><br>Barcode를 통한 제품 제조 정보 조회<br><br>ex) 01088065780457311717050110A1234210000000006") @Operation(summary = "barcode string 제품 제조 정보 조회", description = "barcode string 제품 제조 정보 조회<br><br>Barcode를 통한 제품 제조 정보 조회<br><br>ex) 01088065780457311717050110A1234210000000006", tags = { "BIZ NIMS API" })
@GetMapping(value = "/getPrdMnfSeqInfoOfBarcode") @GetMapping(value = "/getPrdMnfSeqInfoOfBarcode")
public ApiBaseResponse<NimsApiDto.ProductInfoKd> getPrdMnfSeqInfoOfBarcode( public ApiBaseResponse<NimsApiDto.ProductInfoKd> getPrdMnfSeqInfoOfBarcode(
final String barcodeStr final String barcodeStr
@ -261,7 +235,7 @@ public class BizNimsController {
return ApiBaseResponse.of(bizNimsService.getPrdMnfSeqInfoOfBarcode(barcodeStr)); return ApiBaseResponse.of(bizNimsService.getPrdMnfSeqInfoOfBarcode(barcodeStr));
} }
@Operation(summary = "barcode 이미지 제품 제조 정보 조회", description = "barcode 이미지 제품 제조 정보 조회<br><br>barcode 이미지를 통한 제품 제조 정보 조회") @Operation(summary = "barcode 이미지 제품 제조 정보 조회", description = "barcode 이미지 제품 제조 정보 조회<br><br>barcode 이미지를 통한 제품 제조 정보 조회", tags = { "BIZ NIMS API" })
@PostMapping(value = "/getProductInfoByQrcodeImg", consumes = { MediaType.MULTIPART_FORM_DATA_VALUE }) @PostMapping(value = "/getProductInfoByQrcodeImg", consumes = { MediaType.MULTIPART_FORM_DATA_VALUE })
//@PostMapping(value = "/api/biz/nims/v1/getQrcode") //@PostMapping(value = "/api/biz/nims/v1/getQrcode")
public ApiBaseResponse<NimsApiDto.ProductInfoKd> getProductInfoByQrcodeImg( public ApiBaseResponse<NimsApiDto.ProductInfoKd> getProductInfoByQrcodeImg(
@ -282,7 +256,7 @@ public class BizNimsController {
@Operation(deprecated = true, summary = "사고 마약류 폐기 관리 목록 조회", description = "사고 마약류 폐기 관리 목록 조회<br><br>사고마약류 관리대장, 결과통보서, 폐기현황등에 필요한 내용 조회") @Operation(deprecated = true, summary = "사고 마약류 폐기 관리 목록 조회", description = "사고 마약류 폐기 관리 목록 조회<br><br>사고마약류 관리대장, 결과통보서, 폐기현황등에 필요한 내용 조회", tags = { "BIZ NIMS API" })
@PostMapping(value = "/getDsuseMgts2") @PostMapping(value = "/getDsuseMgts2")
public ApiBaseResponse<List<BizNimsResponse.DsuseRptInfoRes>> getDsuseMgts2( public ApiBaseResponse<List<BizNimsResponse.DsuseRptInfoRes>> getDsuseMgts2(
@RequestBody BizNimsRequest.DsuseMgtInq dto @RequestBody BizNimsRequest.DsuseMgtInq dto

@ -325,7 +325,7 @@ public class NimsApiDto {
@JsonAlias("RPT_TY_CD") @JsonAlias("RPT_TY_CD")
private String rptTyCd; private String rptTyCd;
private String rptTyCdNm; private String rptTyNm;
/** /**
* *
@ -352,7 +352,8 @@ public class NimsApiDto {
@JsonAlias("DSUSE_SE_CD") @JsonAlias("DSUSE_SE_CD")
private String dsuseSeCd; private String dsuseSeCd;
private String dsuseSeCdNm; @JsonAlias("DSUSE_SE_NM")
private String dsuseSeNm;
/** /**
* *
@ -361,7 +362,8 @@ public class NimsApiDto {
@JsonAlias("DSUSE_PRV_CD") @JsonAlias("DSUSE_PRV_CD")
private String dsusePrvCd; private String dsusePrvCd;
private String dsusePrvCdNm; @JsonAlias("DSUSE_PRV_NM")
private String dsusePrvNm;
/** /**
* *
@ -370,7 +372,8 @@ public class NimsApiDto {
@JsonAlias("DSUSE_MTH_CD") @JsonAlias("DSUSE_MTH_CD")
private String dsuseMthCd; private String dsuseMthCd;
private String dsuseMthCdNm; @JsonAlias("DSUSE_MTH_NM")
private String dsuseMthNm;
/** /**
* *

@ -87,11 +87,15 @@ propertyService:
springdoc: springdoc:
api-docs: api-docs:
enabled: true enabled: true
swagger-ui: swagger-ui:
enabled: true enabled: true
path: /swagger-ui.html path: /swagger-ui.html
csrf: csrf:
enabled: false enabled: false
operations-sorter: alpha
doc-expansion: none
tags-sorter: alpha
#app: #app:
#api-ip: 211.119.124.73 #api-ip: 211.119.124.73

Loading…
Cancel
Save