@ -245,7 +245,7 @@ public class BizNimsServiceBean extends AbstractServiceBean implements BizNimsSe
reqDto . setFg ( "2" ) ; // 조회기준일자(1-보고일,2-취급일)
reqDto . setPg ( "1" ) ; // 조회 페이지
reqDto . setSe ( "AAR" ) ; // 보고구분코드 - 폐기
// FIXME: 적용 필요 한지 확인후 적용 여부 결정
// FIXME: 2024-06-17 적용 필요 한지 확인후 적용 여부 결정
// reqDto.setPs("01"); // 상태[폐기보고] ('': 전체, 01:확인, 02:보류, 03:정정, 04:미처리)
Map < String , String > apiInfInfo = getApiInfInfo ( reqDto . getUserId ( ) ) ;
@ -288,7 +288,8 @@ public class BizNimsServiceBean extends AbstractServiceBean implements BizNimsSe
dtlCnt = dtlCnt + bizNimsMapper . insertDsuseMgtDtl ( d ) ;
// FIXME: 파일 갯수 확인 - 프론트 파일 처리 완료시 까지 comment 처리
d . setFileId ( uploadFileAndSave ( Constants . FILE_INF_TYPE . DSUSE_PRD_IMG . getCode ( ) , reqDto . getDscdmngId ( ) , sn , files . get ( dtlCnt - 1 ) ) ) ;
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 ( "폐기 관리 상세 등록 실패" ) ;
} else {
@ -309,9 +310,15 @@ public class BizNimsServiceBean extends AbstractServiceBean implements BizNimsSe
reqDto . setRgtr ( reqDto . getUserId ( ) ) ;
if ( bizNimsMapper . updateDsuseMgtRslt ( reqDto ) = = 1 ) {
// 파일 삭제
List < String > fileIds = bizNimsMapper . selectFileId ( Map . of ( "infType" , Constants . FILE_INF_TYPE . DSUSE_IMG . getCode ( ) , "infKey" , reqDto . getDscdmngId ( ) ) ) ;
if ( ! fileIds . isEmpty ( ) ) {
fileService . delete ( fileIds . toArray ( new String [ 0 ] ) ) ;
}
int idx = 1 ;
for ( MultipartFile mf : files ) {
uploadFileAndSave ( Constants . FILE_INF_TYPE . DSUSE_IMG . getCode ( ) , reqDto . getDscdmngId ( ) , String . valueOf ( idx ) , mf ) ;
uploadFile Save( Constants . FILE_INF_TYPE . DSUSE_IMG . getCode ( ) , reqDto . getDscdmngId ( ) , String . valueOf ( idx ) , mf ) ;
idx + + ;
}
@ -358,8 +365,8 @@ public class BizNimsServiceBean extends AbstractServiceBean implements BizNimsSe
reqDto . setFg ( "2" ) ; // 조회기준일자(1-보고일,2-취급일)
reqDto . setPg ( "1" ) ; // 조회 페이지
reqDto . setSe ( "AAR" ) ; // 보고구분코드 - 폐기
// FIXME: 적용 필요 한지 확인후 적용 여부 결정
reqDto . setPs ( "01" ) ; // 상태[폐기보고] ('': 전체, 01:확인, 02:보류, 03:정정, 04:미처리)
// FIXME: 2024-06-17 적용 필요 한지 확인후 적용 여부 결정
//reqDto.setPs("01"); // 상태[폐기보고] ('': 전체, 01:확인, 02:보류, 03:정정, 04:미처리)
Map < String , String > apiInfInfo = getApiInfInfo ( reqDto . getUserId ( ) ) ;
reqDto . setK ( apiInfInfo . get ( "apiKey" ) ) ;
@ -408,27 +415,14 @@ public class BizNimsServiceBean extends AbstractServiceBean implements BizNimsSe
}
BizNimsResponse . DsuseMgtRes dsuseMgtDto = dsuseMgtDtos . get ( 0 ) ;
////////////////////////////////////////////////////////////
// FIXME: 테스트를 위해 폐기관리ID 1, 2를 강제로 개발기 데이타로 매핑
if ( "2024060001" . equals ( reqDto . getDscdmngId ( ) ) ) {
dsuseMgtDto . setHdrDe ( "20221107" ) ;
dsuseMgtDto . setBsshCd ( "TTAP00001" ) ;
}
if ( "2024060002" . equals ( reqDto . getDscdmngId ( ) ) ) {
dsuseMgtDto . setHdrDe ( "20221103" ) ;
dsuseMgtDto . setBsshCd ( "" ) ;
}
////////////////////////////////////////////////////////////
NimsApiRequest . DsuseRptInfoReq rptDto = NimsApiRequest . DsuseRptInfoReq . builder ( )
. k ( apiInfInfo . get ( "apiKey" ) )
. gc ( apiInfInfo . get ( "deptCd" ) )
. se ( "AAR" ) // 보고구분: AAR-폐기
. pg ( "1" ) // 페이지번호
. fg ( "2" ) // 조회기준일자 : 1-보고일자, 2-취급일자
// FIXME: 적용 필요 한지 확인후 적용 여부 결정
// FIXME: 2024-06-17 적용 필요 한지 확인후 적용 여부 결정
//
// .ps("01") // 상태[폐기보고] ('': 전체, 01:확인, 02:보류, 03:정정, 04:미처리)
. sdt ( dsuseMgtDto . getHdrDe ( ) )
. edt ( dsuseMgtDto . getHdrDe ( ) )
@ -625,7 +619,8 @@ public class BizNimsServiceBean extends AbstractServiceBean implements BizNimsSe
newList . add ( nimsDto ) ;
} else {
// FIXME: API 데이타 적용후 반드시 교차 확인 필요
if ( "Y" . equals ( savedRptDto . getUseYn ( ) ) ) {
// FIXME: 2024-06-17 보고유형이 "취소"가 아닌 경우 return 목록에 추가???
if ( "Y" . equals ( savedRptDto . getUseYn ( ) ) & & ! RPT_TY_CD . CANCEL . getCode ( ) . equals ( savedRptDto . getRptTyCd ( ) ) ) {
nimsDto . setOrgUsrRptIdNo ( savedRptDto . getOrgUsrRptIdNo ( ) ) ;
rtnList . add ( nimsDto ) ;
}
@ -643,7 +638,12 @@ public class BizNimsServiceBean extends AbstractServiceBean implements BizNimsSe
// 폐기 보고 정보 데이타 생성
createDsuseRpt ( dto , reqDto . getUserId ( ) ) ;
rtnList . add ( dto ) ;
// FIXME: 2024-06-17 보고유형이 "취소"가 아닌 경우 return 목록에 추가???
if ( ! RPT_TY_CD . CANCEL . getCode ( ) . equals ( dto . getRptTyCd ( ) ) ) {
rtnList . add ( dto ) ;
}
//rtnList.add(dto);
}
// 2. 참조사용자보고번호가 있는 경우 처리(rptTyCd : 1 - 취소, 2 - 변경)
@ -684,7 +684,13 @@ public class BizNimsServiceBean extends AbstractServiceBean implements BizNimsSe
if ( isEmpty ( curList ) ) break ;
nimsList . addAll ( curList ) ;
// FIXME: 2024-06-17 상태가 "확인" 이 아닌 건만 추가
// nimsList.addAll(curList);
nimsList . addAll (
curList . stream ( )
. filter ( d - > ! "확인" . equals ( d . getStatus ( ) ) )
. toList ( )
) ;
if ( rslt . isEndYn ( ) ) break ;
reqDto . setPg ( String . valueOf ( Integer . parseInt ( reqDto . getPg ( ) ) + 1 ) ) ;
@ -715,8 +721,14 @@ public class BizNimsServiceBean extends AbstractServiceBean implements BizNimsSe
if ( isEmpty ( dto . getRefUsrRptIdNo ( ) ) ) {
dto . setOrgUsrRptIdNo ( dto . getUsrRptIdNo ( ) ) ;
} else {
// 참조사용자보고번호가 있으면, 원사용자보고식별번호 조회
findRecusiveOrgUsrRptIdNo ( dto ) ;
// FIXME: 2024-06-17 참조사용자보고번호와 사용자보고식별번호가 같으면 skip
// 참조사용자보고번호와 사용자보고식별번호가 같으면 -> 원사용자보고식별번호 = 사용자보고식별번호
if ( dto . getRefUsrRptIdNo ( ) . equals ( dto . getUsrRptIdNo ( ) ) ) {
dto . setOrgUsrRptIdNo ( dto . getUsrRptIdNo ( ) ) ;
} else {
// 참조사용자보고번호가 있으면, 원사용자보고식별번호 조회
findRecusiveOrgUsrRptIdNo ( dto ) ;
}
}
if ( bizNimsMapper . insertDsuseRptInfo ( dto ) = = 1 ) {
@ -752,7 +764,11 @@ public class BizNimsServiceBean extends AbstractServiceBean implements BizNimsSe
while ( true ) {
Map < String , String > map = bizNimsMapper . recusiveRefUsrRptIdNo ( refUsrRptIdNo ) ;
if ( map = = null ) {
throw ApiCustomException . create ( "데이타 오류[참조사용자로 사용자보고식별번호 조회 실패 - 데이타 누락]" ) ;
// FIXME: 2024-06-17 참조사용자보고식별번호를 원사용자번호로???
//dto.setOrgUsrRptIdNo(dto.getRefUsrRptIdNo());
//throw ApiCustomException.create("데이타 오류[참조사용자로 사용자보고식별번호 조회 실패 - 데이타 누락]");
log . error ( "데이타 오류[참조사용자로 사용자보고식별번호 조회 실패 - 데이타 누락]" ) ;
break ;
}
// 참조사용자보고식별번호가 있으면 계속 조회
@ -789,7 +805,9 @@ public class BizNimsServiceBean extends AbstractServiceBean implements BizNimsSe
int cnt = bizNimsMapper . updateCancelDsuseRptInfoDtl ( dto ) ;
} else {
throw ApiCustomException . create ( String . format ( "폐기 정보 %s 실패" , errMsg ) ) ;
// FIXME: 2024-06-17 실패시 처리 방안 확인 필요??
log . error ( "폐기 정보 {} 실패" , errMsg ) ;
//throw ApiCustomException.create(String.format("폐기 정보 %s 실패", errMsg));
}
}
@ -883,12 +901,28 @@ public class BizNimsServiceBean extends AbstractServiceBean implements BizNimsSe
* @return fileId
* < / pre >
* /
private String uploadFile AndSave( String infType , String infKey , String subType , MultipartFile mf ) {
private String uploadFile Delete AndSave( String infType , String infKey , String subType , MultipartFile mf ) {
List < String > fileIds = bizNimsMapper . selectFileId ( Map . of ( "infType" , infType , "infKey" , infKey , "subType" , subType ) ) ;
if ( ! fileIds . isEmpty ( ) ) {
fileService . delete ( fileIds . toArray ( new String [ 0 ] ) ) ;
}
return uploadFileSave ( infType , infKey , subType , mf ) ;
}
/ * *
* < pre >
* file 저 장 처 리
* @param infType : 파 일 정 보 타 입 : Constants . FILE_INFO_TYPE
* @param infKey : 파 일 정 보 키 - 폐 기 관 리 ID
* @param subType : 파 일 정 보 서 브 타 입
* - > 폐 기 제 품 이 미 지 : 폐 기 관 리 상 세 의 순 번
* - > 폐 기 이 미 지 : 이 미 지 순 서
* @param mf : MultipartFile
* @return fileId
* < / pre >
* /
private String uploadFileSave ( String infType , String infKey , String subType , MultipartFile mf ) {
MultipartFile [ ] uploads = Collections . singletonList ( mf ) . toArray ( new MultipartFile [ 0 ] ) ;
List < FileInfo > files = ( new FileInfoFactory ( ) ) . makeFileInfos ( ( new FileInfo . Relation ( ) ) . setInfoType ( infType ) . setInfoKey ( infKey ) . setSubType ( subType ) , uploads ) ;
fileService . create ( files ) ;