|
|
|
@ -272,7 +272,7 @@ public class BizNimsServiceBean extends AbstractServiceBean implements BizNimsSe
|
|
|
|
|
if(reqDto.getRndDtlRptCnt() != dtls.size()) throw ApiCustomException.create("폐기물 보고수 오류[폐기물 갯수 확인]");
|
|
|
|
|
ApiUtil.validate(dtls, null, validator);
|
|
|
|
|
reqDto.setRgtr(reqDto.getUserId());
|
|
|
|
|
// FIXME: 파일 갯수 확인 - 프론트 파일 처리 완료시 까지 comment 처리
|
|
|
|
|
|
|
|
|
|
if(files.size() != dtls.size()) throw ApiCustomException.create("폐기물 파일 갯수 오류[파일 갯수 확인]");
|
|
|
|
|
|
|
|
|
|
if(isEmpty(reqDto.getDscdmngId())) {
|
|
|
|
@ -451,23 +451,9 @@ public class BizNimsServiceBean extends AbstractServiceBean implements BizNimsSe
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
for(NimsApiDto.DsuseRptInfo dto : rtnList){
|
|
|
|
|
// 7. FIXME : 폐기 관리 데이타와 매핑
|
|
|
|
|
// FIXME: 아래 부분과 비교 - 적용 필요 한지 확인후 적용 여부 결정
|
|
|
|
|
// if(RPT_TY_CD.CANCEL.getCode().equals(dto.getRptTyCd())){
|
|
|
|
|
// updateDsuseMgtMappingData(dto, reqDto.getUserId());
|
|
|
|
|
// continue;
|
|
|
|
|
// }
|
|
|
|
|
////////////////////////////////////////////////////////////
|
|
|
|
|
|
|
|
|
|
BizNimsResponse.DsuseMgtRes dsuseMgtRes = dto.mappingNewDsuseRptInfo(dsuseMgtDto);
|
|
|
|
|
// NIMS폐기보고와 일치하는 경우 - 폐기관리ID 매핑
|
|
|
|
|
if(ObjectUtils.isNotEmpty(dsuseMgtRes)) {
|
|
|
|
|
///////////////////////////////////////////////////////////////
|
|
|
|
|
// FIXME: 매핑보고 조회후 일치하는 매핑관리 데이타의 매핑정보 갱신 -> 화면에서 처리하도록 comment 처리
|
|
|
|
|
// dsuseMgtRes.setRgtr(reqDto.getUserId());
|
|
|
|
|
// if (bizNimsMapper.updateForceMappingDsuseMgt(dsuseMgtDto) != 1) {
|
|
|
|
|
// throw ApiCustomException.create("폐기 관리 데이타 매핑 오류[폐기 관리 데이타 매핑 실패]");
|
|
|
|
|
// }
|
|
|
|
|
//////////////////////////////////////////////////////////////
|
|
|
|
|
dto.setDscdmngId(dsuseMgtRes.getDscdmngId());
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
@ -633,10 +619,9 @@ public class BizNimsServiceBean extends AbstractServiceBean implements BizNimsSe
|
|
|
|
|
NimsApiDto.DsuseRptInfo savedRptDto = bizNimsMapper.selectDsuseRptInfoByUsrRptIdNo(Map.of("usrRptIdNo", nimsDto.getUsrRptIdNo()));
|
|
|
|
|
if(isEmpty(savedRptDto)){
|
|
|
|
|
newList.add(nimsDto);
|
|
|
|
|
|
|
|
|
|
}else{
|
|
|
|
|
// FIXME: API 데이타 적용후 반드시 교차 확인 필요
|
|
|
|
|
// FIXME: 2024-06-17 보고유형이 "취소"가 아닌 경우 return 목록에 추가???
|
|
|
|
|
//if("Y".equals(savedRptDto.getUseYn()) && !RPT_TY_CD.CANCEL.getCode().equals(savedRptDto.getRptTyCd())){
|
|
|
|
|
// 기 NIMS보고조회 데이타 중 사용여부 "Y"인 데이타만 return List에 추가
|
|
|
|
|
if("Y".equals(savedRptDto.getUseYn())){
|
|
|
|
|
nimsDto.setOrgUsrRptIdNo(savedRptDto.getOrgUsrRptIdNo());
|
|
|
|
|
rtnList.add(nimsDto);
|
|
|
|
@ -656,7 +641,7 @@ public class BizNimsServiceBean extends AbstractServiceBean implements BizNimsSe
|
|
|
|
|
// 폐기 보고 정보 데이타 생성
|
|
|
|
|
createDsuseRpt(dto, reqDto.getUserId());
|
|
|
|
|
|
|
|
|
|
// FIXME: 2024-06-17 보고유형이 "취소"가 아닌 경우 return 목록에 추가???
|
|
|
|
|
// 보고유형이 "취소"가 아닌 경우 return 목록에 추가
|
|
|
|
|
if(!RPT_TY_CD.CANCEL.getCode().equals(dto.getRptTyCd())){
|
|
|
|
|
rtnList.add(dto);
|
|
|
|
|
}
|
|
|
|
@ -693,26 +678,25 @@ public class BizNimsServiceBean extends AbstractServiceBean implements BizNimsSe
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
*
|
|
|
|
|
* @param reqDto
|
|
|
|
|
* @param isUsrRptIdNo "확인" 상태의 데이타 조회 여부
|
|
|
|
|
* @return
|
|
|
|
|
* @param reqDto NimsApiRequest.DsuseRptInfoReq
|
|
|
|
|
* @param isConfirmed "확인" 상태의 데이타 조회 여부
|
|
|
|
|
* @return List<NimsApiDto.DsuseRptInfo>
|
|
|
|
|
*/
|
|
|
|
|
private List<NimsApiDto.DsuseRptInfo> findNimsDsuseRptsOfApi(NimsApiRequest.DsuseRptInfoReq reqDto, boolean isUsrRptIdNo) {
|
|
|
|
|
private List<NimsApiDto.DsuseRptInfo> findNimsDsuseRptsOfApi(NimsApiRequest.DsuseRptInfoReq reqDto, boolean isConfirmed) {
|
|
|
|
|
List<NimsApiDto.DsuseRptInfo> nimsList = new ArrayList<>();
|
|
|
|
|
//boolean isUsrRptIdNo = !isEmpty(reqDto.getUr());
|
|
|
|
|
while(true) {
|
|
|
|
|
|
|
|
|
|
while(true) {
|
|
|
|
|
NimsApiResult.Response<NimsApiDto.DsuseRptInfo> rslt = infNimsService.getDsuseRptInfo(reqDto);
|
|
|
|
|
List<NimsApiDto.DsuseRptInfo> curList = rslt.getResultOrThrow();
|
|
|
|
|
|
|
|
|
|
if(isEmpty(curList)) break;
|
|
|
|
|
|
|
|
|
|
// FIXME: 2024-06-28 데이타 검증후 fix
|
|
|
|
|
// 보고유형이 취소가 아니고, 사용자보고번호가 있는 경우 또는 상태가 "확인"이 아니 경우만 추가
|
|
|
|
|
// 사용자보고번호가 있는 경우 또는 상태가 "확인"이 아니 경우만 추가
|
|
|
|
|
nimsList.addAll(
|
|
|
|
|
curList.stream()
|
|
|
|
|
.filter(d -> !RPT_TY_CD.CANCEL.getCode().equals(d.getRptTyCd()))
|
|
|
|
|
.filter(d -> isUsrRptIdNo || !"확인".equals(d.getStatus()))
|
|
|
|
|
//.filter(d -> !RPT_TY_CD.CANCEL.getCode().equals(d.getRptTyCd()))
|
|
|
|
|
.filter(d -> isConfirmed || !"확인".equals(d.getStatus()))
|
|
|
|
|
.toList()
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
@ -789,7 +773,7 @@ public class BizNimsServiceBean extends AbstractServiceBean implements BizNimsSe
|
|
|
|
|
while(true) {
|
|
|
|
|
Map<String, String> map = bizNimsMapper.recusiveRefUsrRptIdNo(refUsrRptIdNo);
|
|
|
|
|
if(map == null){
|
|
|
|
|
// FIXME: 2024-06-17 참조사용자보고식별번호를 원사용자번호로???
|
|
|
|
|
// 참조사용자식별번호가 없는 경우도 있어(NIMS보고상태 "확인"이 아닌 경우에) skip
|
|
|
|
|
//dto.setOrgUsrRptIdNo(dto.getRefUsrRptIdNo());
|
|
|
|
|
//throw ApiCustomException.create("데이타 오류[참조사용자로 사용자보고식별번호 조회 실패 - 데이타 누락]");
|
|
|
|
|
log.error("데이타 오류[참조사용자로 사용자보고식별번호 조회 실패 - 데이타 누락]");
|
|
|
|
@ -839,43 +823,40 @@ public class BizNimsServiceBean extends AbstractServiceBean implements BizNimsSe
|
|
|
|
|
/**
|
|
|
|
|
* <pre>
|
|
|
|
|
* 매핑데이타 update
|
|
|
|
|
* -> 취소인 경우 clear
|
|
|
|
|
* @param dto
|
|
|
|
|
* 폐기 관리 테이블에 사용자보고식별번호 반영
|
|
|
|
|
* 취소인 경우는 사용자/원사용자 식별번호 clear
|
|
|
|
|
* 변경인 경우는 사용자식별번호 update
|
|
|
|
|
* @param dto NimsApiDto.DsuseRptInfo
|
|
|
|
|
* @param userId
|
|
|
|
|
* </pre>
|
|
|
|
|
*/
|
|
|
|
|
private void updateDsuseMgtMappingData(NimsApiDto.DsuseRptInfo dto, String userId) {
|
|
|
|
|
// 폐기보고인 경우 : 폐기관리ID가 존재하는 경우만 처리
|
|
|
|
|
//if(isEmpty(dto.getDscdmngId())) {
|
|
|
|
|
// FIXME : 폐기 관리 테이블에 사용자보고식별번호 반영
|
|
|
|
|
// FIXME : 취소인 경우는 사용자/원사용자 식별번호 clear
|
|
|
|
|
// FIXME : 변경인 경우는 사용자식별번호 update
|
|
|
|
|
// tb_dsuse_mgt
|
|
|
|
|
// 조건 : 사용자보고식별번호 = 참조사용자보고식별번호
|
|
|
|
|
// => usr_rpt_id_no -> refUsrRptIdNo update
|
|
|
|
|
// => 취소인 경우 use_yn = 'N' update
|
|
|
|
|
BizNimsRequest.DsuseMgtMappingReq reqDto = BizNimsRequest.DsuseMgtMappingReq.builder()
|
|
|
|
|
.dscdmngId(dto.getDscdmngId())
|
|
|
|
|
.usrRptIdNo(dto.getUsrRptIdNo())
|
|
|
|
|
.orgUsrRptIdNo(dto.getOrgUsrRptIdNo())
|
|
|
|
|
.rptTyCd(dto.getRptTyCd())
|
|
|
|
|
.stts(dto.getStatus())
|
|
|
|
|
.rgtr(userId)
|
|
|
|
|
.build();
|
|
|
|
|
|
|
|
|
|
// if (!RPT_TY_CD.CANCEL.getCode().equals(dto.getRptTyCd())) {
|
|
|
|
|
// dsuseMgtRes.setUsrRptIdNo(dto.getUsrRptIdNo());
|
|
|
|
|
// dsuseMgtRes.setRefUsrRptIdNo(dto.getRefUsrRptIdNo());
|
|
|
|
|
// dsuseMgtRes.setOrgUsrRptIdNo(dto.getOrgUsrRptIdNo());
|
|
|
|
|
// dsuseMgtRes.setRptTyCd(dto.getRptTyCd());
|
|
|
|
|
// dsuseMgtRes.setStts(dto.getStatus());
|
|
|
|
|
// //dsuseMgtRes.setPrgrsSttsCd(dto.getP());
|
|
|
|
|
// }
|
|
|
|
|
if (bizNimsMapper.updateMappingDsuseMgt(reqDto) == 0) {
|
|
|
|
|
throw ApiCustomException.create(
|
|
|
|
|
"폐기보고정보 변경 적용 실패\n[폐기관리테이블에 사용자보고식별번호 = 참조사용자보고식별번호에 해당하는 데이타 미존재]");
|
|
|
|
|
}
|
|
|
|
|
//}
|
|
|
|
|
// tb_dsuse_mgt
|
|
|
|
|
// 조건 : 사용자보고식별번호 = 참조사용자보고식별번호
|
|
|
|
|
// => usr_rpt_id_no -> refUsrRptIdNo update
|
|
|
|
|
// => 취소인 경우 use_yn = 'N' update
|
|
|
|
|
BizNimsRequest.DsuseMgtMappingReq reqDto = BizNimsRequest.DsuseMgtMappingReq.builder()
|
|
|
|
|
.dscdmngId(dto.getDscdmngId())
|
|
|
|
|
.usrRptIdNo(dto.getUsrRptIdNo())
|
|
|
|
|
.orgUsrRptIdNo(dto.getOrgUsrRptIdNo())
|
|
|
|
|
.rptTyCd(dto.getRptTyCd())
|
|
|
|
|
.stts(dto.getStatus())
|
|
|
|
|
.rgtr(userId)
|
|
|
|
|
.build();
|
|
|
|
|
|
|
|
|
|
// if (!RPT_TY_CD.CANCEL.getCode().equals(dto.getRptTyCd())) {
|
|
|
|
|
// dsuseMgtRes.setUsrRptIdNo(dto.getUsrRptIdNo());
|
|
|
|
|
// dsuseMgtRes.setRefUsrRptIdNo(dto.getRefUsrRptIdNo());
|
|
|
|
|
// dsuseMgtRes.setOrgUsrRptIdNo(dto.getOrgUsrRptIdNo());
|
|
|
|
|
// dsuseMgtRes.setRptTyCd(dto.getRptTyCd());
|
|
|
|
|
// dsuseMgtRes.setStts(dto.getStatus());
|
|
|
|
|
// //dsuseMgtRes.setPrgrsSttsCd(dto.getP());
|
|
|
|
|
// }
|
|
|
|
|
if (bizNimsMapper.updateMappingDsuseMgt(reqDto) == 0) {
|
|
|
|
|
throw ApiCustomException.create(
|
|
|
|
|
"폐기보고정보 변경 적용 실패\n[폐기관리테이블에 사용자보고식별번호 = 참조사용자보고식별번호에 해당하는 데이타 미존재]");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|