|
|
|
@ -307,34 +307,6 @@ public class BizNimsServiceBean extends AbstractServiceBean implements BizNimsSe
|
|
|
|
|
return reqDto;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* <pre>
|
|
|
|
|
* 사고마약류폐기관리 생성
|
|
|
|
|
* @param reqDto BizNimsRequest.DsuseMgt
|
|
|
|
|
* @return BizNimsRequest.DsuseMgt 생성된 폐기관리 정보
|
|
|
|
|
* </pre>
|
|
|
|
|
*/
|
|
|
|
|
// FIXME: 현재 미사용
|
|
|
|
|
// 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;
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* <pre>
|
|
|
|
|
* 사고 마약류 폐기 관리 목록 조회
|
|
|
|
@ -434,14 +406,15 @@ public class BizNimsServiceBean extends AbstractServiceBean implements BizNimsSe
|
|
|
|
|
for(NimsApiDto.DsuseRptInfo dto : rtnList){
|
|
|
|
|
// 7. FIXME : 폐기 관리 데이타와 매핑
|
|
|
|
|
// FIXME: API 적용 필요 - 취소 데이타인 경우 확인 필요
|
|
|
|
|
if(RPT_TY_CD.CANCEL.getCode().equals(dto.getRptTyCd())){
|
|
|
|
|
updateDsuseMgtMappingData(dto, reqDto.getUserId());
|
|
|
|
|
continue;
|
|
|
|
|
}
|
|
|
|
|
// if(RPT_TY_CD.CANCEL.getCode().equals(dto.getRptTyCd())){
|
|
|
|
|
// updateDsuseMgtMappingData(dto, reqDto.getUserId());
|
|
|
|
|
// continue;
|
|
|
|
|
// }
|
|
|
|
|
////////////////////////////////////////////////////////////
|
|
|
|
|
|
|
|
|
|
BizNimsResponse.DsuseMgtRes dsuseMgtRes = dto.mappingNewDsuseRptInfo(dsuseMgtDto);
|
|
|
|
|
if(ObjectUtils.isNotEmpty(dsuseMgtRes)) {
|
|
|
|
|
dsuseMgtRes.setRgtr(reqDto.getUserId());
|
|
|
|
|
if (bizNimsMapper.updateMappingDsuseMgt(dsuseMgtDto) != 1) {
|
|
|
|
|
throw ApiCustomException.create("폐기 관리 데이타 매핑 오류[폐기 관리 데이타 매핑 실패]");
|
|
|
|
|
}
|
|
|
|
@ -489,36 +462,6 @@ public class BizNimsServiceBean extends AbstractServiceBean implements BizNimsSe
|
|
|
|
|
return productInfoKds.get(0);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* <pre>
|
|
|
|
|
* 폐기관리정보 저장
|
|
|
|
|
* @param dtos List<BizNimsRequest.DsuseMgt>
|
|
|
|
|
* @return List<BizNimsResponse.DsuseRptInfoResponse>
|
|
|
|
|
* </pre>
|
|
|
|
|
*/
|
|
|
|
|
// @Deprecated
|
|
|
|
|
// @Override
|
|
|
|
|
// public List<BizNimsResponse.DsuseRptInfoResponse> saveDsuseMgts(List<BizNimsRequest.DsuseMgt> dtos) {
|
|
|
|
|
// for (BizNimsRequest.DsuseMgt dto : dtos) {
|
|
|
|
|
// ApiUtil.validate(dto, null, validator);
|
|
|
|
|
// }
|
|
|
|
|
//
|
|
|
|
|
// final List<String> dscdmngIds = new ArrayList<>();
|
|
|
|
|
// for (BizNimsRequest.DsuseMgt dto : dtos) {
|
|
|
|
|
// dto.setRgtr(Constants.NIMS_API_USER_ID);
|
|
|
|
|
//
|
|
|
|
|
// bizNimsMapper.insertDsuseMgt(dto);
|
|
|
|
|
// dscdmngIds.add(dto.getDscdmngId());
|
|
|
|
|
// }
|
|
|
|
|
// List<BizNimsResponse.DsuseRptInfoResponse> resList = bizNimsMapper.selectSavedDsuseMgts(dscdmngIds);
|
|
|
|
|
//
|
|
|
|
|
// // 마약류취급업체의 허가번호(prmisnNo), 대표자명(rprsntvNm) set
|
|
|
|
|
// setAddBsshInfo(resList);
|
|
|
|
|
//
|
|
|
|
|
// return resList;
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//------------------------------------------------------------------------------------------------------
|
|
|
|
|
// private method
|
|
|
|
|
//------------------------------------------------------------------------------------------------------
|
|
|
|
@ -645,7 +588,7 @@ public class BizNimsServiceBean extends AbstractServiceBean implements BizNimsSe
|
|
|
|
|
NimsApiDto.DsuseRptInfo savedMgtDto = bizNimsMapper.selectDsuseRptInfoByUsrRptIdNo(Map.of("usrRptIdNo", nimsDto.getUsrRptIdNo()));
|
|
|
|
|
if(isEmpty(savedMgtDto)){
|
|
|
|
|
// FIXME: API 적용후 적용 내용 삭제 : 취소 데이타가 비정상 적으로 내려오고 있어 skip 처리 ///////////////////////
|
|
|
|
|
if(!"1".equals(nimsDto.getRptTyCd()))
|
|
|
|
|
//if(!"1".equals(nimsDto.getRptTyCd()))
|
|
|
|
|
//////////////////////////////////////////////////////////////
|
|
|
|
|
newList.add(nimsDto);
|
|
|
|
|
}else{
|
|
|
|
@ -659,30 +602,27 @@ public class BizNimsServiceBean extends AbstractServiceBean implements BizNimsSe
|
|
|
|
|
};
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 3. 신규 작업 대상중 신규(보고구분 '0')인 데이타 처리(DB 데이타 생성) & 결과 return 대상 List에 추가
|
|
|
|
|
// -> 신규(보고구분 '0')인 데이타 먼저 처리해야, 변경('2') 및 취소('1') 데이타 처리 가능
|
|
|
|
|
// 신규(rptTyCd : 0) 저장 - tb_dsuse_rpt_info, tb_dsuse_rpt_info_dtl 생성
|
|
|
|
|
// 3. 참조사용자보고번호가 없는 경우 처리(rptTyCd : 1 - 취소, 2 - 변경)
|
|
|
|
|
// -> 폐기보고 데이타 생성 & return List에 추가
|
|
|
|
|
// -> 신규(보고구분 '0' or '1')인 데이타 먼저 처리해야 변경('2') 및 취소('1') 데이타 처리 가능
|
|
|
|
|
// -> 취소이면서 참조사용자보고ID가 없는 경우가 있다
|
|
|
|
|
// 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;
|
|
|
|
|
// 참조사용자보고번호가 있으면 skip
|
|
|
|
|
if(!isEmpty(dto.getRefUsrRptIdNo())) continue;
|
|
|
|
|
|
|
|
|
|
// 폐기 보고 정보 데이타 생성
|
|
|
|
|
createDsuseRpt(dto, reqDto.getUserId());
|
|
|
|
|
rtnList.add(dto);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 2. 신규 외의 경우(rptTyCd : 1 - 취소, 2 - 변경)
|
|
|
|
|
// 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) 필수]");
|
|
|
|
|
}
|
|
|
|
|
// 참조사용자보고번호가 없으면 skip
|
|
|
|
|
if(isEmpty(dto.getRefUsrRptIdNo())) continue;
|
|
|
|
|
|
|
|
|
|
// 2-3. tb_dsuse_rpt_info, tb_dsuse_rpt_info_dtl 생성 (취소인 경우는 tb_dsuse_rpt_info의 사용 여부 'N'으로 생성)
|
|
|
|
|
createDsuseRpt(dto, reqDto.getUserId());
|
|
|
|
@ -691,21 +631,14 @@ public class BizNimsServiceBean extends AbstractServiceBean implements BizNimsSe
|
|
|
|
|
// 1) tb_dsuse_rpt_info, tb_dsuse_rpt_info_dtl 사용여부 'N' update
|
|
|
|
|
updateDsuseRptOfCancel(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);
|
|
|
|
|
}
|
|
|
|
|
rtnList.add(dto);
|
|
|
|
|
};
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
@ -784,6 +717,9 @@ public class BizNimsServiceBean extends AbstractServiceBean implements BizNimsSe
|
|
|
|
|
curList = rslt.getResult();
|
|
|
|
|
if(!isEmpty(curList)) nimsList.addAll(curList);
|
|
|
|
|
//////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
nimsList.sort((a, b) -> a.getUsrRptIdNo().compareTo(b.getUsrRptIdNo()));
|
|
|
|
|
return nimsList;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -801,28 +737,21 @@ public class BizNimsServiceBean extends AbstractServiceBean implements BizNimsSe
|
|
|
|
|
private void createDsuseRpt(final NimsApiDto.DsuseRptInfo dto, String userId) {
|
|
|
|
|
dto.setRgtr(userId);
|
|
|
|
|
// FIXME: API 적용 완류후 command 제거
|
|
|
|
|
// dto.setRptTyCdNm(RPT_TY_CD.getName(dto.getRptTyCd()));
|
|
|
|
|
// dto.setDsuseSeCdNm(Constants.DSUSE_SE_CD.getName(dto.getDsuseSeCd()));
|
|
|
|
|
// dto.setDsusePrvCdNm(Constants.DSUSE_PRV_CD.getName(dto.getDsusePrvCd()));
|
|
|
|
|
// dto.setDsuseMthCdNm(Constants.DSUSE_MTH_CD.getName(dto.getDsuseMthCd()));
|
|
|
|
|
// dto.setRptTyNm(RPT_TY_CD.getName(dto.getRptTyCd()));
|
|
|
|
|
// dto.setDsuseSeNm(Constants.DSUSE_SE_CD.getName(dto.getDsuseSeCd()));
|
|
|
|
|
// dto.setDsusePrvNm(Constants.DSUSE_PRV_CD.getName(dto.getDsusePrvCd()));
|
|
|
|
|
// dto.setDsuseMthNm(Constants.DSUSE_MTH_CD.getName(dto.getDsuseMthCd()));
|
|
|
|
|
|
|
|
|
|
// 신규가 아닌 경우 : 원사용자보고식별번호 조회 & set
|
|
|
|
|
if(RPT_TY_CD.NEW.getCode().equals(dto.getRptTyCd())){
|
|
|
|
|
// 참조사용자보고번호가 없으면 -> 원사용자보고식별번호 = 사용자보고식별번호
|
|
|
|
|
if(isEmpty(dto.getRefUsrRptIdNo())){
|
|
|
|
|
dto.setOrgUsrRptIdNo(dto.getUsrRptIdNo());
|
|
|
|
|
}else{
|
|
|
|
|
// FIXME : 취소인 경우는 사용자/원사용자 식별번호 clear - API 취소 && 상태(미처리) 인 경우 제외되는지 확인후 제거 여부 결정
|
|
|
|
|
if(RPT_TY_CD.CANCEL.getCode().equals(dto.getRptTyCd())){
|
|
|
|
|
dto.setOrgUsrRptIdNo(dto.getUsrRptIdNo());
|
|
|
|
|
}else {
|
|
|
|
|
findRecusiveOrgUsrRptIdNo(dto);
|
|
|
|
|
}
|
|
|
|
|
// 참조사용자보고번호가 있으면, 원사용자보고식별번호 조회
|
|
|
|
|
findRecusiveOrgUsrRptIdNo(dto);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (bizNimsMapper.insertDsuseRptInfo(dto) == 1) {
|
|
|
|
|
|
|
|
|
|
//취소인 경우 상세 데이타 등록 skip
|
|
|
|
|
if(RPT_TY_CD.CANCEL.getCode().equals(dto.getRptTyCd())) return;
|
|
|
|
|
|
|
|
|
|
int dtlCnt = 0;
|
|
|
|
|
for (NimsApiDto.DsuseRptInfoDtl d : dto.getListDtl()) {
|
|
|
|
|
d.setRgtr(userId);
|
|
|
|
@ -853,7 +782,6 @@ public class BizNimsServiceBean extends AbstractServiceBean implements BizNimsSe
|
|
|
|
|
private void findRecusiveOrgUsrRptIdNo(NimsApiDto.DsuseRptInfo dto) {
|
|
|
|
|
// 원 사용자 식별 번호 set - 변경/취소 인 경우
|
|
|
|
|
// 신규인 경우는 사용자보고식별번호로 설정
|
|
|
|
|
|
|
|
|
|
String refUsrRptIdNo = dto.getRefUsrRptIdNo();
|
|
|
|
|
|
|
|
|
|
// 참조사용자보고식별번호로 원사용자보고식별번호조회
|
|
|
|
@ -863,17 +791,15 @@ public class BizNimsServiceBean extends AbstractServiceBean implements BizNimsSe
|
|
|
|
|
throw ApiCustomException.create("데이타 오류[참조사용자로 사용자보고식별번호 조회 실패 - 데이타 누락]");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 참조사용자보고식별번호가 있으면 계속 조회
|
|
|
|
|
if(!isEmpty(map.get("refUsrRptIdNo"))){
|
|
|
|
|
refUsrRptIdNo = map.get("refUsrRptIdNo");
|
|
|
|
|
continue;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if(RPT_TY_CD.NEW.getCode().equals(map.get("rptTyCd"))){
|
|
|
|
|
dto.setOrgUsrRptIdNo(map.get("usrRptIdNo"));
|
|
|
|
|
break;
|
|
|
|
|
} else {
|
|
|
|
|
throw ApiCustomException.create("데이타 오류[참조사용자로 사용자보고식별번호 조회 실패 - 신규보고 데이타 누락]");
|
|
|
|
|
}
|
|
|
|
|
// 참조사용자보고식별번호가 없으면 -> 원사용자보고식별번호 = 사용자보고식별번호로 설정
|
|
|
|
|
dto.setOrgUsrRptIdNo(map.get("usrRptIdNo"));
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -898,14 +824,6 @@ public class BizNimsServiceBean extends AbstractServiceBean implements BizNimsSe
|
|
|
|
|
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));
|
|
|
|
|
}
|
|
|
|
@ -1023,7 +941,63 @@ public class BizNimsServiceBean extends AbstractServiceBean implements BizNimsSe
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* <pre>
|
|
|
|
|
* 폐기관리정보 저장
|
|
|
|
|
* @param dtos List<BizNimsRequest.DsuseMgt>
|
|
|
|
|
* @return List<BizNimsResponse.DsuseRptInfoResponse>
|
|
|
|
|
* </pre>
|
|
|
|
|
*/
|
|
|
|
|
// @Deprecated
|
|
|
|
|
// @Override
|
|
|
|
|
// public List<BizNimsResponse.DsuseRptInfoResponse> saveDsuseMgts(List<BizNimsRequest.DsuseMgt> dtos) {
|
|
|
|
|
// for (BizNimsRequest.DsuseMgt dto : dtos) {
|
|
|
|
|
// ApiUtil.validate(dto, null, validator);
|
|
|
|
|
// }
|
|
|
|
|
//
|
|
|
|
|
// final List<String> dscdmngIds = new ArrayList<>();
|
|
|
|
|
// for (BizNimsRequest.DsuseMgt dto : dtos) {
|
|
|
|
|
// dto.setRgtr(Constants.NIMS_API_USER_ID);
|
|
|
|
|
//
|
|
|
|
|
// bizNimsMapper.insertDsuseMgt(dto);
|
|
|
|
|
// dscdmngIds.add(dto.getDscdmngId());
|
|
|
|
|
// }
|
|
|
|
|
// List<BizNimsResponse.DsuseRptInfoResponse> resList = bizNimsMapper.selectSavedDsuseMgts(dscdmngIds);
|
|
|
|
|
//
|
|
|
|
|
// // 마약류취급업체의 허가번호(prmisnNo), 대표자명(rprsntvNm) set
|
|
|
|
|
// setAddBsshInfo(resList);
|
|
|
|
|
//
|
|
|
|
|
// return resList;
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* <pre>
|
|
|
|
|
* 사고마약류폐기관리 생성
|
|
|
|
|
* @param reqDto BizNimsRequest.DsuseMgt
|
|
|
|
|
* @return BizNimsRequest.DsuseMgt 생성된 폐기관리 정보
|
|
|
|
|
* </pre>
|
|
|
|
|
*/
|
|
|
|
|
// FIXME: 현재 미사용
|
|
|
|
|
// 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;
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|