@ -67,75 +67,56 @@ public class BizNimsServiceBean extends AbstractServiceBean implements BizNimsSe
// DB 조회
List < BsshInfoSt > list = new ArrayList < > ( ) ;
// if("N".equals(reqDto.getDbSkipYn())) {
// list = bizNimsMapper.selectBsshInfos(reqDto);
// if (!isEmpty(list)){
// //return list;
// ApiBaseResponse<List<BsshInfoSt>> res = ApiBaseResponse.of(list);
// res.setTotalCount(list.size());
// return res;
// }
// }
if ( isEmpty ( reqDto . getK ( ) ) ) {
reqDto . setK ( getApiInfInfo ( reqDto . getUserId ( ) ) . get ( "apiKey" ) ) ;
}
reqDto . setFg ( "1" ) ; // 조회범위(1-전체,2-내거래처)
//reqDto.setPg("1"); // 조회페이지
reqDto . setFg2 ( "1" ) ; // 조회범위2(1:NK(취급승인)포함 - default, 2:NK(취급승인)제외)
boolean isRprsntvNm = ! isEmpty ( reqDto . getRprsntvNm ( ) ) ; //while(true) {
int totalCount = 0 ;
do {
// 마약류취급자식별번호로 마약류취급자정보 조회
NimsApiResult . Response < BsshInfoSt > rslt = infNimsService . getBsshInfoSt ( reqDto ) ;
List < BsshInfoSt > curList = rslt . getResult ( ) ;
for ( BsshInfoSt d : curList ) {
if ( isEmpty ( d . getBsshCd ( ) ) ) continue ;
d . setRgtr ( reqDto . getUserId ( ) ) ;
bizNimsMapper . mergeBsshInfoSt ( d ) ;
// 대표자 검색조건이 있는 경우
if ( isRprsntvNm & & ! isEmpty ( d . getRprsntvNm ( ) ) & & d . getRprsntvNm ( ) . contains ( reqDto . getRprsntvNm ( ) ) ) {
list . add ( d ) ;
}
}
if ( ! isRprsntvNm ) {
totalCount = rslt . getBody ( ) . getTotalCount ( ) ;
list . addAll ( curList ) ;
break ;
}
// 대표자 검색이 있는 경우 NIMS 데이타 전체 조회
list . addAll (
curList . stream ( )
. filter ( d - > ! isEmpty ( d . getRprsntvNm ( ) ) & & d . getRprsntvNm ( ) . contains ( reqDto . getRprsntvNm ( ) ) )
. toList ( ) ) ;
totalCount = list . size ( ) ;
if ( rslt . isEndYn ( ) ) break ;
reqDto . setPg ( String . valueOf ( Integer . parseInt ( reqDto . getPg ( ) ) + 1 ) ) ;
} while ( true ) ;
ApiBaseResponse < List < BsshInfoSt > > res = ApiBaseResponse . of ( list ) ;
res . setTotalCount ( list . size ( ) ) ;
res . setTotalCount ( totalCount ) ;
return res ;
}
/ * *
* < pre >
* DB 에 서 먼 저 조 회 ( dbSkipYn = 'Y' 인 경 우 는 DB 조 회 skip )
* - > 조 회 결 과 가 없 는 경 우 API 조 회
* 업 체 정 보 조 회 후 DB 저 장
* 조 회 건 수 를 제 한 하 기 위 해 조 회 조 건 강 제 - 업 체 명 ( 3 자 이 상 ) 필 수
* 업 체 정 보 를 업 체 코 드 로 조 회 후 DB 저 장
* 제 품 의 제 조 업 체 조 회 시 사 용 - 결 과 는 단 건
* @param reqDto NimsApiRequest . BsshInfoRequest
* @return List < NimsApiDto . BsshInfoSt >
* < / pre >
* /
@Override
public List < BsshInfoSt > saveBsshInfoSt ( BsshInfoReq reqDto ) {
public List < BsshInfoSt > saveBsshInfoSt QueryBsshInfoByBsshCd ( BsshInfoReq reqDto ) {
if ( isEmpty ( reqDto . getBc ( ) ) & & isEmpty ( reqDto . getBi ( ) ) & & isEmpty ( reqDto . getBn ( ) ) ) {
throw ApiCustomException . create ( "업체[사업자] 번호 또는 명, 사업자등록번호 중 하나는 필수 입니다" ) ;
}
if ( ! isEmpty ( reqDto . getBn ( ) ) & & reqDto . getBn ( ) . length ( ) < 3 ) {
throw ApiCustomException . create ( "업체[사업자]명은 3자 이상 으로 조회해 주세요" ) ;
}
// DB 조회
List < BsshInfoSt > list = new ArrayList < > ( ) ;
// FIXME: API 적용 - db 조회 skip
// if("N".equals(reqDto.getDbSkipYn())) {
// list = bizNimsMapper.selectBsshInfos(reqDto);
// if (!isEmpty(list)) return list;
// }
if ( isEmpty ( reqDto . getK ( ) ) ) {
reqDto . setK ( getApiInfInfo ( reqDto . getUserId ( ) ) . get ( "apiKey" ) ) ;
@ -144,38 +125,44 @@ public class BizNimsServiceBean extends AbstractServiceBean implements BizNimsSe
reqDto . setPg ( "1" ) ; // 조회페이지
reqDto . setFg2 ( "1" ) ; // 조회범위2(1:NK(취급승인)포함 - default, 2:NK(취급승인)제외)
boolean isRprsntvNm = ! isEmpty ( reqDto . getRprsntvNm ( ) ) ;
while ( true ) {
// 마약류취급자식별번호로 마약류취급자정보 조회
NimsApiResult . Response < BsshInfoSt > rslt = infNimsService . getBsshInfoSt ( reqDto ) ;
List < BsshInfoSt > curList = rslt . getResult ( ) ;
if ( isEmpty ( curList ) )
break ;
for ( BsshInfoSt d : curList ) {
d . setRgtr ( reqDto . getUserId ( ) ) ;
bizNimsMapper . mergeBsshInfoSt ( d ) ;
}
return curList ;
}
// FIXME: API 적용 - db 저장 skip
// for (BsshInfoSt d : curList) {
// d.setRgtr(reqDto.getUserId());
// bizNimsMapper.mergeBsshInfoSt(d);
// // 대표자 검색조건이 있는 경우
// if (isRprsntvNm && !isEmpty(d.getRprsntvNm()) && d.getRprsntvNm().contains(reqDto.getRprsntvNm())) {
// list.add(d);
// }
// }
@Override
public ApiBaseResponse < List < NimsApiDto . ProductInfoKd > > getProductInfoKd ( NimsApiRequest . ProductInfoReq reqDto , boolean isMnfSeqInfo ) {
if ( isEmpty ( reqDto . getP ( ) ) & & isEmpty ( reqDto . getPn ( ) ) ) {
throw ApiCustomException . create ( "상품번호 또는 상품명중 하나는 필수 입니다" ) ;
}
if ( ! isRprsntvNm ) {
list . addAll ( curList ) ;
} else {
list . addAll (
curList . stream ( )
. filter ( d - > ! isEmpty ( d . getRprsntvNm ( ) ) & & d . getRprsntvNm ( ) . contains ( reqDto . getRprsntvNm ( ) ) )
. toList ( ) ) ;
if ( ! isEmpty ( reqDto . getPn ( ) ) & & reqDto . getPn ( ) . length ( ) < 2 ) {
throw ApiCustomException . create ( "상품명은 2자 이상 으로 조회해 주세요" ) ;
}
if ( rslt . isEndYn ( ) ) break ;
reqDto . set Pg( String . valueOf ( Integer . parseInt ( reqDto . getPg ( ) ) + 1 ) ) ;
if ( isEmpty ( reqDto . getK ( ) ) ) {
reqDto . setK ( getApiInfInfo ( reqDto . getUserId ( ) ) . get ( "apiKey" ) ) ;
}
return list ;
reqDto . setFg ( "1" ) ; // 조회범위(1-전체,2-내거래처품목,3-청구코드매핑)
reqDto . setFg2 ( "" ) ; // 중점일반구분(all, 1:중점, 2:일반)
// 제품코드로 제품정보 조회
NimsApiResult . Response < NimsApiDto . ProductInfoKd > rslt = infNimsService . getProductInfoKd ( reqDto ) ;
List < NimsApiDto . ProductInfoKd > curList = rslt . getResult ( ) ;
if ( isEmpty ( curList ) ) return ApiBaseResponse . of ( curList ) ;
// 제조 번호, 일련번호, 유효기간 정보 목록 추가
if ( isMnfSeqInfo ) productInfoaddMnfSeqs ( curList , reqDto . getBc ( ) , reqDto . getK ( ) ) ;
ApiBaseResponse < List < ProductInfoKd > > res = ApiBaseResponse . of ( curList ) ;
res . setTotalCount ( rslt . getBody ( ) . getTotalCount ( ) ) ;
return res ;
}
/ * *
@ -191,7 +178,7 @@ public class BizNimsServiceBean extends AbstractServiceBean implements BizNimsSe
* < / pre >
* /
@Override
public List < NimsApiDto . ProductInfoKd > saveProductInfoKd ( NimsApiRequest . ProductInfoReq reqDto , boolean isMnfSeqInfo ) {
public List < NimsApiDto . ProductInfoKd > saveProductInfoKd QueryProductByProductId ( NimsApiRequest . ProductInfoReq reqDto , boolean isMnfSeqInfo ) {
if ( isEmpty ( reqDto . getP ( ) ) & & isEmpty ( reqDto . getPn ( ) ) ) {
throw ApiCustomException . create ( "상품번호 또는 상품명중 하나는 필수 입니다" ) ;
}
@ -200,25 +187,6 @@ public class BizNimsServiceBean extends AbstractServiceBean implements BizNimsSe
throw ApiCustomException . create ( "상품명은 2자 이상 으로 조회해 주세요" ) ;
}
List < NimsApiDto . ProductInfoKd > list = new ArrayList < > ( ) ;
////////////////////////////////////////////////////////////////////////////////////////
// FIXME: 신규 API 적용 - DB 조회 skip 처리
// if("N".equals(reqDto.getDbSkipYn())) {
// list = bizNimsMapper.selectProductInfos(reqDto);
// if (!isEmpty(list)){
// if(isMnfSeqInfo){
// if(isEmpty(reqDto.getK())){
// productInfoaddMnfSeqs(list, reqDto.getBc(), getApiInfInfo(reqDto.getUserId()).get("apiKey"));
// }else {
// productInfoaddMnfSeqs(list, reqDto.getBc(), reqDto.getK());
// }
// }
// return list;
// }
// }
///////////////////////////////////////////////////////////////
if ( isEmpty ( reqDto . getK ( ) ) ) {
reqDto . setK ( getApiInfInfo ( reqDto . getUserId ( ) ) . get ( "apiKey" ) ) ;
}
@ -226,27 +194,21 @@ public class BizNimsServiceBean extends AbstractServiceBean implements BizNimsSe
reqDto . setPg ( "1" ) ; // 조회페이지
reqDto . setFg2 ( "" ) ; // 중점일반구분(all, 1:중점, 2:일반)
while ( true ) {
// 제품코드로 제품정보 조회
NimsApiResult . Response < NimsApiDto . ProductInfoKd > rslt = infNimsService . getProductInfoKd ( reqDto ) ;
List < NimsApiDto . ProductInfoKd > curList = rslt . getResult ( ) ;
if ( isEmpty ( curList ) ) break ;
if ( isEmpty ( curList ) ) return curList ;
//FIXME: 신규 API 적용 - 조회 결과 저장 skip
// for (NimsApiDto.ProductInfoKd d : curList) {
// d.setRgtr(reqDto.getUserId());
// bizNimsMapper.mergeProductInfoKd(d);
// }
for ( NimsApiDto . ProductInfoKd d : curList ) {
d . setRgtr ( reqDto . getUserId ( ) ) ;
bizNimsMapper . mergeProductInfoKd ( d ) ;
}
// 제조 번호, 일련번호, 유효기간 정보 목록 추가
if ( isMnfSeqInfo ) productInfoaddMnfSeqs ( curList , reqDto . getBc ( ) , reqDto . getK ( ) ) ;
list . addAll ( curList ) ;
if ( rslt . isEndYn ( ) ) break ;
reqDto . setPg ( String . valueOf ( Integer . parseInt ( reqDto . getPg ( ) ) + 1 ) ) ;
}
return list ;
return curList ;
}
@Override
@ -453,7 +415,7 @@ public class BizNimsServiceBean extends AbstractServiceBean implements BizNimsSe
Map < String , String > map = new HashMap < > ( ) ;
map . put ( "dscdmngId" , dto . getDscdmngId ( ) ) ;
List < BizNimsResponse . DsuseMgtDtlRes > dsuseRptInfoDtls = bizNimsMapper . selectDsuseMgtDtls ( map ) ;
if ( isForDoc ) setDsuseMgtDtlAddProductInfo ( dsuseRptInfoDtls , dto. getBsshCd ( ) , reqDto. getUserId ( ) , apiKey ) ;
if ( isForDoc ) setDsuseMgtDtlAddProductInfo ( dsuseRptInfoDtls , reqDto. getUserId ( ) , apiKey ) ;
dto . getDsuseMgtDtls ( ) . addAll ( dsuseRptInfoDtls ) ;
}
@ -577,7 +539,7 @@ public class BizNimsServiceBean extends AbstractServiceBean implements BizNimsSe
. p ( mnfSeqInfo . getPrductCd ( ) )
. userId ( userId )
. build ( ) ;
List < NimsApiDto . ProductInfoKd > productInfoKds = saveProductInfoKd ( prdReq , false ) ;
List < NimsApiDto . ProductInfoKd > productInfoKds = saveProductInfoKd QueryProductByProductId ( prdReq , false ) ;
if ( productInfoKds . size ( ) ! = 1 ) {
throw ApiCustomException . create ( String . format ( "제품정보 오류<br>[Barcode 제품[%s]의 정보가 NIMS에 등록되지 않은 데이타 입니다]" , mnfSeqInfo . getPrductCd ( ) ) ) ;
}
@ -619,13 +581,12 @@ public class BizNimsServiceBean extends AbstractServiceBean implements BizNimsSe
* @param dtlList < NimsApiDto . DsuseRptInfoDtl >
* < / pre >
* /
private void setDsuseMgtDtlAddProductInfo ( List < BizNimsResponse . DsuseMgtDtlRes > dtlList , String bsshCd, String userId, String apiKey ) {
private void setDsuseMgtDtlAddProductInfo ( List < BizNimsResponse . DsuseMgtDtlRes > dtlList , String userId, String apiKey ) {
for ( BizNimsResponse . DsuseMgtDtlRes r : dtlList ) {
// 마약항정구분(nrcdSeNm), 중점일반구분(prtmSenm)
if ( isEmpty ( r . getNrcdSeNm ( ) ) | | isEmpty ( r . getPrtmSeNm ( ) ) ) {
//NimsApiResult.Response<NimsApiDto.ProductInfoKd> result = infNimsService.getProductInfoKd(
List < NimsApiDto . ProductInfoKd > list = saveProductInfoKd (
List < NimsApiDto . ProductInfoKd > list = saveProductInfoKdQueryProductByProductId (
NimsApiRequest . ProductInfoReq . builder ( )
. k ( apiKey )
. fg ( "1" )
@ -646,7 +607,7 @@ public class BizNimsServiceBean extends AbstractServiceBean implements BizNimsSe
// 제조수입자명(bsshNm)
if ( isEmpty ( r . getBsshNm ( ) ) & & ! isEmpty ( r . getBsshCd ( ) ) ) {
List < BsshInfoSt > list = saveBsshInfoSt (
List < BsshInfoSt > list = saveBsshInfoSt QueryBsshInfoByBsshCd (
BsshInfoReq . builder ( )
. k ( apiKey )
. fg ( "1" )
@ -916,7 +877,7 @@ public class BizNimsServiceBean extends AbstractServiceBean implements BizNimsSe
for ( NimsApiDto . ProductInfoKd d : list ) {
productCd = d . getPrductCd ( ) ;
List < NimsApiDto . MnfSeqInfo > mnfList = getMnfSeqInfo 2 (
List < NimsApiDto . MnfSeqInfo > mnfList = getMnfSeqInfo All (
NimsApiRequest . MnfSeqInfoReq . builder ( )
. k ( apiKey )
. fg ( "1" )
@ -1008,7 +969,7 @@ public class BizNimsServiceBean extends AbstractServiceBean implements BizNimsSe
return files . get ( 0 ) . getId ( ) ;
}
private List < NimsApiDto . MnfSeqInfo > getMnfSeqInfo 2 ( NimsApiRequest . MnfSeqInfoReq reqDto ) {
private List < NimsApiDto . MnfSeqInfo > getMnfSeqInfo All ( NimsApiRequest . MnfSeqInfoReq reqDto ) {
if ( isEmpty ( reqDto . getK ( ) ) ) {
reqDto . setK ( getApiInfInfo ( reqDto . getUserId ( ) ) . get ( "apiKey" ) ) ;
}