diff --git a/src/main/java/cokr/xit/adds/biz/nims/model/BizNimsResponse.java b/src/main/java/cokr/xit/adds/biz/nims/model/BizNimsResponse.java index 8d3901c..1749edc 100644 --- a/src/main/java/cokr/xit/adds/biz/nims/model/BizNimsResponse.java +++ b/src/main/java/cokr/xit/adds/biz/nims/model/BizNimsResponse.java @@ -265,12 +265,14 @@ public class BizNimsResponse { throw new IllegalArgumentException("Barcode는 최소 30자리 이상이어야 합니다."); } // AI상품식별코드(01)로 시작 + // 01 + 088065780457311717050110A1234210000000006 if(barcodeStr.startsWith(this.gsId) == false){ throw new IllegalArgumentException("Barcode(GS1-128)는 AI상품식별코드(01)로 시작 되어야 합니다."); } String barcode = barcodeStr.substring(barcodeStr.indexOf(this.gsId)+this.gsId.length()); // 상품코드(확장코드(0) + 상품코드(13)) + // 08806578045731 + 1717050110A1234210000000006 String temp = barcode.substring(0, 14); String regx = "^0(\\d{13})"; Pattern pattern = Pattern.compile(regx); @@ -283,6 +285,7 @@ public class BizNimsResponse { barcode = barcode.substring(14); // 유통일자 : AI최대유통일자(17) + 6자리 유통일자 + // 17170501 + 10A1234210000000006 temp = barcode.substring(0, 8); regx = "^17(\\d{6})"; pattern = Pattern.compile(regx); @@ -296,6 +299,7 @@ public class BizNimsResponse { barcode = barcode.substring(8); // 제조번호 : AI로트번호(10)로 시작 ~ 20자 이하 제조번호 ~ AI일련번호(21) 이전 + // 10A123421 + 0000000006 regx = "^10(.{1,20})21"; pattern = Pattern.compile(regx); matcher = pattern.matcher(barcode); @@ -307,6 +311,7 @@ public class BizNimsResponse { barcode = barcode.substring(mnfSeqInfo.getMnfNo().length()+2); // 제품일련번호 : AI일련번호(21)로 시작 ~ 20자 이하 제조일련번호 + // 210000000006 regx = "^21(.{1,20}$)"; pattern = Pattern.compile(regx); matcher = pattern.matcher(barcode);