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 06505f4..5cdc18a 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 @@ -228,29 +228,7 @@ public class BizNimsServiceBean extends AbstractServiceBean implements BizNimsSe return list; } - /** - *
- * 폐기연계보고 데이타를 API에서 조회후 DB 저장 - * 변경 이력 관리 등을 위해 orgUsrRptIdNo(원사용자보고식별번호)를 추가 하여 저장 - * - * 데이타 필터링 적용을 위해 아래 순서로 진행 - * 0. 조회(저장)한 데이타 대상 에서 제외 (usrRptIdNo가 DB에 저장된 경우) - * 1. 신규(rptTyCd : 0) 저장 - tb_dsuse_rpt_info, tb_dsuse_rpt_info_dtl 생성 - * - orgUsrRptIdNo(원사용자보고식별번호) = 사용자보고식별번호(usrRptIdNo) - * 2. 신규 외의 경우(rptTyCd : 1 - 취소, 2 - 변경) - * 2-1. refUsrRptIdNo 필수 체크 - * 2-2. 폐기보고정보, 폐기관리 변경 - * 1) tb_dsuse_rpt_info, tb_dsuse_rpt_info_dtl 사용여부 'N' update - * 2) tb_dsuse_mgt 변경 - * 조건 : 사용자보고식별번호 = 참조사용자보고식별번호 - * => usr_rpt_id_no -> refUsrRptIdNo update - * => 취소인 경우 use_yn = 'N' update - * 2-3. tb_dsuse_rpt_info, tb_dsuse_rpt_info_dtl 생성 - * => 취소인 경우는 tb_dsuse_rpt_info의 사용 여부 'N'으로 생성 - * @param reqDto NimsApiRequest.DsuseRptInfoRequest - * @return List- */ + @Override public List- *
* saveDsuseRptInfo 대체 메소드 - 확인후 적용 - * 0. GET 폐기관리 데이타 정보 - * 1. GET 폐기보고 데이타 목록 - NIMS API 호출 - * 2. 신규 대상(DB에 저장되지 않은 데이타) 및 결과 return 대상 List(DB데이타중 사용여부 "Y") 선별 - * 3. 신규 대상중 신규(보고구분 '0')인 데이타 처리(DB 데이타 생성) & 결과 return 대상 List에 추가 - * -> 신규(보고구분 '0')인 데이타 먼저 처리 -> 변경('2') 취소('1') 데이타 처리 가능 - * 4. 신규 대상중 취소,변경인 처리(DB 데이타 생성) & 결과 return 대상 List에 추가 - * -> 0) 참조사용자보고식별번호 필수 체크 - * 1) 사용자보고식별번호 = 참조사용자보고식별번호 인 데이타 - * tb_dsuse_rpt_info, tb_dsuse_rpt_info_dtl 사용여부 'N' update - * 2) 폐기 관리 테이블에 사용자보고식별번호 반영 FIXME - 반영 필요 - * -> 취소인 경우는 사용자/원사용자 식별번호 clear - * -> 변경인 경우는 사용자보고식별번호 -> 참조사용자보고식별번호 update - * 3) tb_dsuse_rpt_info, tb_dsuse_rpt_info_dtl 생성 - * -> 취소인 경우는 tb_dsuse_rpt_info의 사용 여부 'N'으로 생성 - * 5. 결과 return 대상 데이타 List에서 NIMS 변경 데이타인 경우 대상에서 제외 + * 6. return List에 현재 데이타 추가 - 변경인 경우만 추가 * 7. FIXME : 폐기 관리 데이타 매핑 * 8. 결과 sort 및 return @@ -566,125 +394,30 @@ public class BizNimsServiceBean extends AbstractServiceBean implements BizNimsSe NimsApiRequest.DsuseRptInfoReq rptDto = NimsApiRequest.DsuseRptInfoReq.builder() .k(apiInfInfo.get("apiKey")) - .fg("2") // 조회기준일자 : 1-보고일자, 2-취급일자 - .pg("1") - .fg2("") // 보고 유형: ""- 전체, 0-신규, 1-취소, 2-변경 - .se("AAR") // 보고구분: AAR-폐기 + .gc(apiInfInfo.get("deptCd")) + .se("AAR") // 보고구분: AAR-폐기 + .pg("1") // 페이지번호 + .fg("2") // 조회기준일자 : 1-보고일자, 2-취급일자 + .fg2("0") // 보고 유형: ""- 전체, 0-신규, 1-취소, 2-변경 + .ps("01") // "": 전체, 01: 확인, 02: 보류, 03: 정정, 04: 미처리 .sdt(dsuseMgtDto.getHdrDe()) .edt(dsuseMgtDto.getHdrDe()) .bc(dsuseMgtDto.getBsshCd()) - .gc(apiInfInfo.get("deptCd")) .build(); - // 1. GET 폐기보고 데이타 목록 - NIMS API 호출 - ListnimsList = new ArrayList<>(); - while(true) { - NimsApiResult.Response rslt = infNimsService.getDsuseRptInfo(rptDto); - List curList = rslt.getResultOrThrow(); - - if(isEmpty(curList)) break; - - nimsList.addAll(curList); - - if(rslt.isEndYn()) break; - rptDto.setPg(String.valueOf(Integer.parseInt(rptDto.getPg()) + 1)); - } - - // 신규 작업대상 데이타 List - List newList = new ArrayList<>(); - // 결과 return 작업 대상, 대상 데이타 List - List rtnList = new ArrayList<>(); - - // 2. 신규 작업 대상(DB에 저장되지 않은 데이타) 및 결과 return 대상 List(DB데이타중 사용여부 "Y") 선별 - for (NimsApiDto.DsuseRptInfo nimsDto : nimsList) { - Map map = new HashMap<>(); - map.put("usrRptIdNo", nimsDto.getUsrRptIdNo()); - NimsApiDto.DsuseRptInfo infoDto = bizNimsMapper.selectDsuseRptInfoByUsrRptIdNo(map); - // 기조회(저장)한 데이타가 아니면 대상에 추가(usrRptIdNo가 DB에 저장되지 않은 경우) - if(isEmpty(infoDto)){ - newList.add(nimsDto); - - // 기조회(저장)한 데이타 && 마지막 데이타(사용여부 'Y')인 경우는 return 대상에 추가 - // 사용자보고번호가 참조사용자보고번호로 들어오는 변경 및 취소건에 의해 - // return 대상에서 제외될 수 있슴 - }else{ - // FIXME: API 연계 데이타 확인후 확정 필요 - // API 조회 반영된 사용여부가 'Y', 처리상태코드가 미완료인 경우는 return 대상 - //if("Y".equals(infoDto.getUseYn()) && !"".equals(infoDto.getStatus())){ - if("Y".equals(infoDto.getUseYn())){ - //rtnTmplist.add(nimsDto); - rtnList.add(nimsDto); - } - }; - } - - // 3. 신규 작업 대상중 신규(보고구분 '0')인 데이타 처리(DB 데이타 생성) & 결과 return 대상 List에 추가 - // -> 신규(보고구분 '0')인 데이타 먼저 처리해야, 변경('2') 및 취소('1') 데이타 처리 가능 - // 신규(rptTyCd : 0) 저장 - tb_dsuse_rpt_info, tb_dsuse_rpt_info_dtl 생성 - for (NimsApiDto.DsuseRptInfo dto : newList) { - // 신규가 아닌 경우 skip - if(!RPT_TY_CD.NEW.getCode().equals(dto.getRptTyCd())) continue; - - // 폐기 보고 정보 데이타 생성 - createDsuseRpt(dto, reqDto.getUserId()); - // return List에 추가 - rtnList.add(dto); + List rtnList = saveFromfindDsuseRptDataByNimsApi(rptDto); - // FIXME : 폐기 관리 데이타 매핑 - // FIXME: 폐기 관리 데이타 폐기보고 매핑 대상 조회인 경우? + for(NimsApiDto.DsuseRptInfo dto : rtnList){ + // 7. FIXME : 폐기 관리 데이타와 매핑 BizNimsResponse.DsuseMgtRes dsuseMgtRes = dto.mappingNewDsuseRptInfo(dsuseMgtDto); if(ObjectUtils.isNotEmpty(dsuseMgtRes)) { - if (bizNimsMapper.updateMappingDsuseMgt(dsuseMgtDto) == 1) { + if (bizNimsMapper.updateMappingDsuseMgt(dsuseMgtDto) != 1) { throw ApiCustomException.create("폐기 관리 데이타 매핑 오류[폐기 관리 데이타 매핑 실패]"); } + dto.setDscdmngId(dsuseMgtRes.getDscdmngId()); } } - // 4. 신규 작업 대상중 취소,변경(보고구분 '1', '2')인 처리(DB 데이타 생성) & 결과 return 대상 List에 추가 - String errMsg = null; - for (NimsApiDto.DsuseRptInfo dto : newList) { - // 신규인 경우 skip - if(RPT_TY_CD.NEW.getCode().equals(dto.getRptTyCd())) continue; - - // 4-0) 참조사용자보고식별번호 필수 체크 - if(isEmpty(dto.getRefUsrRptIdNo())){ - throw ApiCustomException.create("데이타 오류[취소 및 변경인 경우 참조사용자식별번호(REF_USR_RPT_ID_NO) 필수]"); - } - - // 폐기관리 및 폐기보고 정보 변경 - // 4-1) 사용자보고식별번호 = 참조사용자보고식별번호 인 데이타 - // tb_dsuse_rpt_info, tb_dsuse_rpt_info_dtl 사용여부 'N' update - // 4-2) 폐기 관리 테이블에 사용자보고식별번호 반영 - // -> 취소인 경우는 사용자/원사용자 식별번호 clear - // -> 변경인 경우는 사용자보고식별번호 -> 참조사용자보고식별번호 update - updateDsuseRptAndDsuseMgt(dto, reqDto.getUserId()); - - // 4-3) tb_dsuse_rpt_info, tb_dsuse_rpt_info_dtl 생성 - // -> 취소인 경우는 tb_dsuse_rpt_info의 사용 여부 'N'으로 생성 - createDsuseRpt(dto, reqDto.getUserId()); - - // FIXME : API 적용후 확인 필요 - // 5. 결과 return 대상 데이타 List에서 NIMS 변경 데이타인 경우 대상에서 제외 - for(NimsApiDto.DsuseRptInfo d : rtnList){ - if(d.getOrgUsrRptIdNo().equals(dto.getOrgUsrRptIdNo()) - && d.getUsrRptIdNo().equals(dto.getRefUsrRptIdNo())){ - rtnList.remove(d); - }; - } - // 6. return List에 현재 데이타 추가 - 변경인 경우만 추가 - if(dto.getRptTyCd().equals("2")){ - rtnList.add(dto); - } - - - // 7. FIXME : 폐기 관리 데이타 매핑 - BizNimsResponse.DsuseMgtRes dsuseMgtRes = dto.mappingNewDsuseRptInfo(dsuseMgtDto); - if(ObjectUtils.isNotEmpty(dsuseMgtRes)) { - if (bizNimsMapper.updateMappingDsuseMgt(dsuseMgtDto) == 1) { - throw ApiCustomException.create("폐기 관리 데이타 매핑 오류[폐기 관리 데이타 매핑 실패]"); - } - } - } // FIXME: API연계 데이타 확인후 매핑될 데이타가 최상단에 오도록 정렬기준 재정의 필요 rtnList.sort((a, b) -> a.getUsrRptIdNo().compareTo(b.getUsrRptIdNo())); return rtnList; @@ -772,8 +505,6 @@ public class BizNimsServiceBean extends AbstractServiceBean implements BizNimsSe ); } - - /** * * 제품 추가 정보 set @@ -783,7 +514,6 @@ public class BizNimsServiceBean extends AbstractServiceBean implements BizNimsSe **/ private void setDsuseMgtDtlAddProductInfo(ListdtlList, String userId, String apiKey) { - for (BizNimsResponse.DsuseMgtDtlRes r : dtlList) { // 마약항정구분(nrcdSeNm), 중점일반구분(prtmSenm) if (isEmpty(r.getNrcdSeNm()) || isEmpty(r.getPrtmSeNm())) { @@ -818,6 +548,7 @@ public class BizNimsServiceBean extends AbstractServiceBean implements BizNimsSe .fg("1") .pg("1") .bc(r.getBsshCd()) + .userId(userId) .build() ); if (isEmpty(list)) { @@ -830,6 +561,128 @@ public class BizNimsServiceBean extends AbstractServiceBean implements BizNimsSe } } + /** + * + * NIMS API를 통해 폐기보고정보, 폐기보고 상세 생성 + * 1. GET 폐기보고 데이타 목록 - NIMS API 호출 + * 2. 신규 대상(DB에 저장되지 않은 데이타) 및 결과 return 대상 List(DB데이타중 사용여부 "Y") 선별 + * 3. 신규 대상중 신규(보고구분 '0')인 데이타 처리(DB 데이타 생성) & 결과 return 대상 List에 추가 + * -> 신규(보고구분 '0')인 데이타 먼저 처리 -> 변경('2') 취소('1') 데이타 처리 가능 + * 4. 신규 대상중 취소,변경인 처리(DB 데이타 생성) & 결과 return 대상 List에 추가 + * -> 0) 참조사용자보고식별번호 필수 체크 + * 1) 사용자보고식별번호 = 참조사용자보고식별번호 인 데이타 + * tb_dsuse_rpt_info, tb_dsuse_rpt_info_dtl 사용여부 'N' update + * 2) 폐기 관리 테이블에 사용자보고식별번호 반영 FIXME - 반영 필요 + * -> 취소인 경우는 사용자/원사용자 식별번호 clear + * -> 변경인 경우는 사용자보고식별번호 -> 참조사용자보고식별번호 update + * 3) tb_dsuse_rpt_info, tb_dsuse_rpt_info_dtl 생성 + * -> 취소인 경우는 tb_dsuse_rpt_info의 사용 여부 'N'으로 생성 + * 5. 결과 return 대상 데이타 List에서 NIMS 변경 데이타인 경우 대상에서 제외 + * 6. return List에 현재 데이타 추가 - 변경인 경우만 추가 + + * @param reqDto NimsApiRequest.DsuseRptInfoReq + * @param List+ */ + private List폐기보고 목록 + * saveFromfindDsuseRptDataByNimsApi(NimsApiRequest.DsuseRptInfoReq reqDto) { + List nimsList = new ArrayList<>(); + + while(true) { + NimsApiResult.Response rslt = infNimsService.getDsuseRptInfo(reqDto); + List 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 newList = new ArrayList<>(); + // 결과 return 작업 대상, 대상 데이타 List + List rtnList = new ArrayList<>(); + + for (NimsApiDto.DsuseRptInfo nimsDto : nimsList) { + // FIXME: API 적용후 적용 내용 삭제 /////////////////////// + if("신규".equals(nimsDto.getRptTyCd())) { + nimsDto.setRptTyCd(RPT_TY_CD.NEW.getCode()); + }else if("취소".equals(nimsDto.getRptTyCd())) { + nimsDto.setRptTyCd(RPT_TY_CD.CANCEL.getCode()); + }else if("변경".equals(nimsDto.getRptTyCd())){ + nimsDto.setRptTyCd(RPT_TY_CD.MODIFY.getCode()); + } + ///////////////////////////////////////////////////////// Map map = new HashMap<>(); + + + NimsApiDto.DsuseRptInfo savedMgtDto = bizNimsMapper.selectDsuseRptInfoByUsrRptIdNo(Map.of("usrRptIdNo", nimsDto.getUsrRptIdNo())); + if(isEmpty(savedMgtDto)){ + newList.add(nimsDto); + }else{ + // FIXME: API 적용 필요 + // API 조회 반영된 사용여부가 'Y', 처리상태코드가 미완료인 경우는 return 대상 + //if("Y".equals(infoDto.getUseYn()) && !"".equals(infoDto.getStatus())){ + if("Y".equals(savedMgtDto.getUseYn())){ + nimsDto.setOrgUsrRptIdNo(savedMgtDto.getOrgUsrRptIdNo()); + rtnList.add(nimsDto); + } + }; + } + + // 3. 신규 작업 대상중 신규(보고구분 '0')인 데이타 처리(DB 데이타 생성) & 결과 return 대상 List에 추가 + // -> 신규(보고구분 '0')인 데이타 먼저 처리해야, 변경('2') 및 취소('1') 데이타 처리 가능 + // 신규(rptTyCd : 0) 저장 - tb_dsuse_rpt_info, tb_dsuse_rpt_info_dtl 생성 + for (NimsApiDto.DsuseRptInfo dto : newList) { + // 신규가 아닌 경우 skip + if(!RPT_TY_CD.NEW.getCode().equals(dto.getRptTyCd())) continue; + + // 폐기 보고 정보 데이타 생성 + createDsuseRpt(dto, reqDto.getUserId()); + rtnList.add(dto); + } + + // 2. 신규 외의 경우(rptTyCd : 1 - 취소, 2 - 변경) + String errMsg = null; + for (NimsApiDto.DsuseRptInfo dto : newList) { + dto.setRgtr(reqDto.getUserId()); + + // 신규인 경우 skip + if(RPT_TY_CD.NEW.getCode().equals(dto.getRptTyCd())) continue; + + // 2-1. refUsrRptIdNo 필수 체크 + if(isEmpty(dto.getRefUsrRptIdNo())){ + throw ApiCustomException.create("데이타 오류[취소 및 변경인 경우 참조사용자식별번호(REF_USR_RPT_ID_NO) 필수]"); + } + + // 2-2. 폐기보고정보, 폐기관리 변경 + // 1) tb_dsuse_rpt_info, tb_dsuse_rpt_info_dtl 사용여부 'N' update + // 2) tb_dsuse_mgt 변경 + // 조건 : 사용자보고식별번호 = 참조사용자보고식별번호 + // => 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 적용 필요 + // 결과 return 대상 데이타 List에서 조회한 변경 대상이 있는 경우 replace + // 결과 return 대상 데이타 List에서 조회한 취소 대상이 있는 경우 삭제 + for(NimsApiDto.DsuseRptInfo d : rtnList){ + if(d.getOrgUsrRptIdNo().equals(dto.getOrgUsrRptIdNo()) + && d.getUsrRptIdNo().equals(dto.getRefUsrRptIdNo())){ + rtnList.remove(d); + + if(dto.getRptTyCd().equals(RPT_TY_CD.MODIFY.getCode())){ + rtnList.add(dto); + } + }; + } + } + return rtnList; + } + /** * * tb_dsuse_rpt_info, tb_dsuse_rpt_info_dtl 생성 @@ -992,8 +845,8 @@ public class BizNimsServiceBean extends AbstractServiceBean implements BizNimsSe /** ** file 저장 처리 - * @param infoType : 파일 정보 타입 : Constants.FILE_INFO_TYPE - * @param infoKey : 파일 정보 키 - 폐기관리ID + * @param infType : 파일 정보 타입 : Constants.FILE_INFO_TYPE + * @param infKey : 파일 정보 키 - 폐기관리ID * @param subType : 파일 정보 서브 타입 * -> 폐기제품이미지 : 폐기관리상세의 순번 * -> 폐기이미지 : 이미지 순서 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 9d30c2c..e4d210a 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 @@ -191,7 +191,7 @@ public class BizNimsController { // return ApiBaseResponse.of(bizNimsService.saveDsuseMgt(dto)); // } - @Operation(summary = "폐기 보고 확인", description = "폐기 보고 확인
폐기 관리 데이터에 대한 폐기보고 매핑 대상 데이타 조회 return") + @Operation(summary = "폐기 보고 확인(폐기관리 데이타에 대한 폐기보고 매핑)", description = "폐기 보고 확인(폐기관리 데이타에 대한 폐기보고 매핑)
폐기 관리 데이터에 대한 폐기보고 매핑 대상 데이타 조회 return") @PostMapping("/getDsuseMgtMapping") public ApiBaseResponse> getDsuseMgtMapping( @RequestBody BizNimsRequest.DsuseMgt dto diff --git a/src/main/java/cokr/xit/adds/core/util/ApiUtil.java b/src/main/java/cokr/xit/adds/core/util/ApiUtil.java index fa74e85..8833923 100644 --- a/src/main/java/cokr/xit/adds/core/util/ApiUtil.java +++ b/src/main/java/cokr/xit/adds/core/util/ApiUtil.java @@ -18,6 +18,7 @@ import javax.xml.validation.Schema; import javax.xml.validation.SchemaFactory; import org.apache.commons.lang3.ObjectUtils; +import org.apache.commons.lang3.StringUtils; import org.json.simple.JSONObject; import org.springframework.http.HttpHeaders; import org.xml.sax.SAXException; @@ -132,6 +133,22 @@ public class ApiUtil { return rslt.body(); } + /** + * Object -> data로 변환 + * @param request WebClient.Request + * @param obj Object + */ + public static void toData(final WebClient.Request request, final Object obj){ + if(ObjectUtils.isEmpty(obj)) return; + + JSONObject jsonObj = toObjByObj(obj, JSONObject.class); + for (Object key : jsonObj.keySet()) { + // API 호출 시 필요없는 파라메터 제외 + if("userId".equals(key) || "dbSkipYn".equals(key)) continue; + request.data((String) key, ObjectUtils.isEmpty(jsonObj.get(key))? StringUtils.EMPTY: jsonObj.get(key)); + } + } + /** * Object -> class로 변환 * @param obj Object @@ -146,6 +163,12 @@ public class ApiUtil { } } + /** + * Object -> TypeReference로 변환 + * @param obj Object + * @param typeRef TypeReference + * @return T + */ public static
T toObjByObj(final Object obj, final TypeReference typeRef) { try { return ObjectUtils.isNotEmpty(obj)? new JSON().getObjectMapper().convertValue(obj, typeRef) : null; @@ -154,15 +177,12 @@ public class ApiUtil { } } - public static void toData(final WebClient.Request request, final Object obj){ - if(ObjectUtils.isEmpty(obj)) return; - //MultiValueMap formData = new LinkedMultiValueMap<>(); - JSONObject jsonObj = toObjByObj(obj, JSONObject.class); - for (Object key : jsonObj.keySet()) { - request.data((String) key, (String) jsonObj.get(key)); - } - } - + /** + * XML 유효성 검증 + * @param xmlStr String + * @param xsdFilePathName String + * @return boolean + */ public static boolean validateXml(final String xmlStr, final String xsdFilePathName) { try { FileInputStream fis = new FileInputStream(xsdFilePathName); @@ -178,6 +198,12 @@ public class ApiUtil { } } + /** + * XML 유효성 검증 + * @param xmlStr String + * @param xsdFilePath String + * @return boolean + */ public static boolean validateXmlFromXmlStr(final String xmlStr, final String xsdFilePath) { try { FileInputStream fis = new FileInputStream(xsdFilePath); @@ -193,6 +219,12 @@ public class ApiUtil { } } + /** + * XML 유효성 검증 + * @param xmlFilePath String + * @param xsdFilePath String + * @return boolean + */ public static boolean validateXmlFromFile(String xmlFilePath, final String xsdFilePath) { try (FileInputStream fileInputStream = new FileInputStream(xmlFilePath)) { byte[] bytes = fileInputStream.readAllBytes(); 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 9cb4fc4..2b934be 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 @@ -472,28 +472,32 @@ public class NimsApiDto { @JsonIgnore public BizNimsResponse.DsuseMgtRes mappingNewDsuseRptInfo(BizNimsResponse.DsuseMgtRes mgtDto) { // 폐기 신청서 접수 상태 데이타만 처리 - if (Constants.PRGRS_STTS_CD.RECEIPT.getCode().equals(mgtDto.getPrgrsSttsCd())) { - String rptInfo = String.join("", + //if (Constants.PRGRS_STTS_CD.RECEIPT.getCode().equals(mgtDto.getPrgrsSttsCd())) { + String rptInfoStr = String.join("", this.bsshCd, // 마약류취급자식별번호 this.hdrDe, // 취급일자 - this.dsuseSeCd, // 폐기구분코드 - this.dsusePrvCd, // 폐기사유코드 - this.dsuseMthCd, // 폐기방법코드 + // FIXME: API 적용 완료후 comment 제거 필요 + // this.dsuseSeCd, // 폐기구분코드 + // this.dsusePrvCd, // 폐기사유코드 + // this.dsuseMthCd, // 폐기방법코드 + ///////////////////////////////////////////////////////////////////// this.dsuseDe, // 폐기일자 String.valueOf(this.rndDtlRptCnt) // 수불상세보고수 ); - String mgtInfo = String.join("", + String mgtInfoStr = String.join("", mgtDto.getBsshCd(), // 마약류취급자식별번호 - mgtDto.getHdrDe(), // 취급일자 - mgtDto.getDsuseSeCd(), // 폐기구분코드 - mgtDto.getDsusePrvCd(), // 폐기사유코드 - mgtDto.getDsuseMthCd(), // 폐기방법코드 + mgtDto.getHdrDe(), + // FIXME: API 적용 완료후 comment 제거 필요// 취급일자 + // mgtDto.getDsuseSeCd(), // 폐기구분코드 + // mgtDto.getDsusePrvCd(), // 폐기사유코드 + // mgtDto.getDsuseMthCd(), // 폐기방법코드 + ///////////////////////////////////////////////////////////////// mgtDto.getDsuseDe(), // 폐기일자 String.valueOf(mgtDto.getRndDtlRptCnt()) // 수불상세보고수 ); // FIXME: 폐기관리와 폐기보고의 상품정보 일치 여부 set - 비교 필드 확정 필요 - if (rptInfo.equals(mgtInfo)) { + if (rptInfoStr.equals(mgtInfoStr)) { if (this.listDtl.size() == mgtDto.getDsuseMgtDtls().size()) { for (DsuseRptInfoDtl rptDtl : this.listDtl) { for (BizNimsRequest.DsuseMgtDtl mgtDtl : mgtDto.getDsuseMgtDtls()) { @@ -516,7 +520,7 @@ public class NimsApiDto { mgtDto.setRgtr(this.getRgtr()); return mgtDto; } - } + //} return null; } diff --git a/src/main/java/cokr/xit/adds/inf/nims/model/NimsApiRequest.java b/src/main/java/cokr/xit/adds/inf/nims/model/NimsApiRequest.java index d0e4b0f..6a2b29f 100644 --- a/src/main/java/cokr/xit/adds/inf/nims/model/NimsApiRequest.java +++ b/src/main/java/cokr/xit/adds/inf/nims/model/NimsApiRequest.java @@ -306,7 +306,7 @@ public class NimsApiRequest { /** * 폐기 보고 상태 - * 01: 확인, 02: 보류, 03: 정정, 04: 미처리 + * "": 전체, 01: 확인, 02: 보류, 03: 정정, 04: 미처리 */ @Schema(title = "상태", description = "상태", example = "01", allowableValues = {"01", "02", "03", "04"}) @Pattern(regexp = "^$|0[1-4]", message = "상태[폐기보고] 값을 확인해 주세요('': 전체, 01:확인, 02:보류, 03:정정, 04:미처리)") 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 fecd795..c10de8b 100644 --- a/src/main/resources/sql/mapper/biz/nims-mysql-mapper.xml +++ b/src/main/resources/sql/mapper/biz/nims-mysql-mapper.xml @@ -481,7 +481,7 @@ , usr_rpt_id_no = #{usrRptIdNo} , org_usr_rpt_id_no = #{orgUsrRptIdNo} , rpt_ty_cd = #{rptTyCd} - , stts = #{status} + , stts = #{stts} , mdfcn_dt = DATE_FORMAT(now(), '%Y%m%d%H%i%s') , mdfr = #{rgtr} WHERE dscdmng_id = #{dscdmngId}