@ -264,12 +264,12 @@ public class BizNimsResponse {
NimsApiDto . MnfSeqInfo mnfSeqInfo = new NimsApiDto . MnfSeqInfo ( ) ;
NimsApiDto . MnfSeqInfo mnfSeqInfo = new NimsApiDto . MnfSeqInfo ( ) ;
if ( barcodeStr . length ( ) < 30 ) {
if ( barcodeStr . length ( ) < 30 ) {
throw new IllegalArgumentException ( "Barcode는 최소 3 0자리 이상이어야 합니다.") ;
throw new IllegalArgumentException ( "Barcode는 최소 2 0자리 이상이어야 합니다.") ;
}
}
// AI상품식별코드(01)로 시작
// AI상품식별코드(01)로 시작
// 01 + 088065780457311717050110A1234210000000006
// 01 + 088065780457311717050110A1234210000000006
if ( barcodeStr . startsWith ( this . gsId ) = = false ) {
if ( barcodeStr . startsWith ( this . gsId ) = = false ) {
throw new IllegalArgumentException ( " Barcode(GS1-128)는 AI상품식별코드(01)로 시작 되어야 합니다. ") ;
throw new IllegalArgumentException ( " 바코드의 AI상품식별코드 오류\n[상품식별코드 '01'로 시작 되어야 합니다 - Barcode(GS1-128)] ") ;
}
}
String barcode = barcodeStr . substring ( barcodeStr . indexOf ( this . gsId ) + this . gsId . length ( ) ) ;
String barcode = barcodeStr . substring ( barcodeStr . indexOf ( this . gsId ) + this . gsId . length ( ) ) ;
@ -282,7 +282,7 @@ public class BizNimsResponse {
if ( matcher . find ( ) ) {
if ( matcher . find ( ) ) {
mnfSeqInfo . setPrductCd ( matcher . group ( 1 ) ) ;
mnfSeqInfo . setPrductCd ( matcher . group ( 1 ) ) ;
} else {
} else {
throw new IllegalArgumentException ( " Barcode(GS1-128) 상품코드는 확장코드(0) + 상품코드(13)로 구성되어야 합니다. ") ;
throw new IllegalArgumentException ( " 바코드의 상품코드 오류\n[상품코드는 확장코드(0) + 상품코드(13)로 구성되어야 합니다 - Barcode(GS1-128)] ") ;
}
}
barcode = barcode . substring ( 14 ) ;
barcode = barcode . substring ( 14 ) ;
@ -296,7 +296,7 @@ public class BizNimsResponse {
// 20xx년 유통일자
// 20xx년 유통일자
mnfSeqInfo . setPrdValidDe ( "20" + matcher . group ( 1 ) ) ;
mnfSeqInfo . setPrdValidDe ( "20" + matcher . group ( 1 ) ) ;
} else {
} else {
throw new IllegalArgumentException ( " Barcode(GS1-128) 유통일자는 AI최대유통일자(17) + 유통일자(6)로 구성되어야 합니다. ") ;
throw new IllegalArgumentException ( " 바코드의 유통일자 오류\n[유통일자는 AI최대유통일자(17) + 유통일자(6)로 구성되어야 합니다 - Barcode(GS1-128)] ") ;
}
}
barcode = barcode . substring ( 8 ) ;
barcode = barcode . substring ( 8 ) ;
@ -311,7 +311,7 @@ public class BizNimsResponse {
if ( matcher . find ( ) ) {
if ( matcher . find ( ) ) {
mnfSeqInfo . setMnfNo ( matcher . group ( 1 ) ) ;
mnfSeqInfo . setMnfNo ( matcher . group ( 1 ) ) ;
} else {
} else {
throw new IllegalArgumentException ( " Barcode(GS1-128) 제조번호는 AI로트번호(10)로 시작 되어 AI일련번호(21)로 끝나야 합니다. ") ;
throw new IllegalArgumentException ( " 바코드의 제조번호 오류\n[제조번호는 AI로트번호(10)로 시작 되어 AI일련번호(21)로 끝나야 합니다 - Barcode(GS1-128)] ") ;
}
}
barcode = barcode . substring ( mnfSeqInfo . getMnfNo ( ) . length ( ) + 2 ) ;
barcode = barcode . substring ( mnfSeqInfo . getMnfNo ( ) . length ( ) + 2 ) ;
if ( barcode . startsWith ( "[GS]" ) ) {
if ( barcode . startsWith ( "[GS]" ) ) {
@ -326,7 +326,7 @@ public class BizNimsResponse {
if ( matcher . find ( ) ) {
if ( matcher . find ( ) ) {
mnfSeqInfo . setMnfSeq ( matcher . group ( 1 ) ) ;
mnfSeqInfo . setMnfSeq ( matcher . group ( 1 ) ) ;
} else {
} else {
throw new IllegalArgumentException ( " Barcode(GS1-128) 제조일련번호는 AI일련번호(21)로 시작 되어야 합니다. ") ;
throw new IllegalArgumentException ( " 바코드의 제조일련번호 오류\n[제조일련번호는 AI일련번호(21)로 시작 되어야 합니다 - Barcode(GS1-128)] ") ;
}
}
return mnfSeqInfo ;
return mnfSeqInfo ;
}
}