From 4bbce58f3f4e7c074be483c1c263b5ace8658541 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AD=A3=E5=9C=A3=E5=8D=8E?= <752718920@qq.com> Date: Wed, 1 Mar 2023 23:14:42 +0800 Subject: [PATCH] =?UTF-8?q?Excel=E5=AF=BC=E5=85=A5=EF=BC=8C=E6=A0=A1?= =?UTF-8?q?=E9=AA=8C=E5=95=86=E5=93=81=E6=9D=A1=E7=A0=81=E9=95=BF=E5=BA=A6?= =?UTF-8?q?=E4=B8=BA4=E5=88=B040=E4=BD=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jsh/erp/constants/ExceptionConstants.java | 6 ++--- .../erp/service/material/MaterialService.java | 16 +++++++------- .../java/com/jsh/erp/utils/StringUtil.java | 22 +++++++++++++++++++ 3 files changed, 33 insertions(+), 11 deletions(-) diff --git a/jshERP-boot/src/main/java/com/jsh/erp/constants/ExceptionConstants.java b/jshERP-boot/src/main/java/com/jsh/erp/constants/ExceptionConstants.java index ed67df9d..955b4cfb 100644 --- a/jshERP-boot/src/main/java/com/jsh/erp/constants/ExceptionConstants.java +++ b/jshERP-boot/src/main/java/com/jsh/erp/constants/ExceptionConstants.java @@ -287,9 +287,9 @@ public class ExceptionConstants { //商品-单位匹配不上 public static final int MATERIAL_UNIT_MATE_CODE = 8000006; public static final String MATERIAL_UNIT_MATE_MSG = "抱歉,商品条码:%s的单位匹配不上,请完善计量单位信息!"; - //商品条码不是正整数 - public static final int MATERIAL_BARCODE_NOT_INTEGER_CODE = 8000007; - public static final String MATERIAL_BARCODE_NOT_INTEGER_MSG = "商品条码:%s不是正整数"; + //商品条码长度应该为4到40位 + public static final int MATERIAL_BARCODE_LENGTH_ERROR_CODE = 8000007; + public static final String MATERIAL_BARCODE_LENGTH_ERROR_MSG = "商品条码长度应该为4到40位"; //序列号和批号只能有一项 public static final int MATERIAL_ENABLE_MUST_ONE_CODE = 8000008; public static final String MATERIAL_ENABLE_MUST_ONE_MSG = "抱歉,商品条码:%s的序列号和批号不能同时填1"; diff --git a/jshERP-boot/src/main/java/com/jsh/erp/service/material/MaterialService.java b/jshERP-boot/src/main/java/com/jsh/erp/service/material/MaterialService.java index 66f96b33..9e0ceb71 100644 --- a/jshERP-boot/src/main/java/com/jsh/erp/service/material/MaterialService.java +++ b/jshERP-boot/src/main/java/com/jsh/erp/service/material/MaterialService.java @@ -545,15 +545,15 @@ public class MaterialService { throw new BusinessRunTimeException(ExceptionConstants.MATERIAL_ENABLED_ERROR_CODE, String.format(ExceptionConstants.MATERIAL_ENABLED_ERROR_MSG, i+1)); } - //校验基础条码是否是正整数 - if(!StringUtil.isPositiveLong(barCode)) { - throw new BusinessRunTimeException(ExceptionConstants.MATERIAL_BARCODE_NOT_INTEGER_CODE, - String.format(ExceptionConstants.MATERIAL_BARCODE_NOT_INTEGER_MSG, barCode)); + //校验基础条码长度为4到40位 + if(!StringUtil.checkBarCodeLength(barCode)) { + throw new BusinessRunTimeException(ExceptionConstants.MATERIAL_BARCODE_LENGTH_ERROR_CODE, + String.format(ExceptionConstants.MATERIAL_BARCODE_LENGTH_ERROR_MSG, barCode)); } - //校验副条码是否是正整数 - if(StringUtil.isNotEmpty(manyBarCode) && !StringUtil.isPositiveLong(manyBarCode)) { - throw new BusinessRunTimeException(ExceptionConstants.MATERIAL_BARCODE_NOT_INTEGER_CODE, - String.format(ExceptionConstants.MATERIAL_BARCODE_NOT_INTEGER_MSG, manyBarCode)); + //校验副条码长度为4到40位 + if(StringUtil.isNotEmpty(manyBarCode) && !StringUtil.checkBarCodeLength(manyBarCode)) { + throw new BusinessRunTimeException(ExceptionConstants.MATERIAL_BARCODE_LENGTH_ERROR_CODE, + String.format(ExceptionConstants.MATERIAL_BARCODE_LENGTH_ERROR_MSG, manyBarCode)); } //批量校验excel中有无重复条码 batchCheckExistBarCodeByParam(mList, barCode, manyBarCode); diff --git a/jshERP-boot/src/main/java/com/jsh/erp/utils/StringUtil.java b/jshERP-boot/src/main/java/com/jsh/erp/utils/StringUtil.java index 1b2deccb..7937e318 100644 --- a/jshERP-boot/src/main/java/com/jsh/erp/utils/StringUtil.java +++ b/jshERP-boot/src/main/java/com/jsh/erp/utils/StringUtil.java @@ -317,6 +317,28 @@ public class StringUtil { } } + /** + * 校验条码长度为4到40位 + * @param value + * @return + */ + public static boolean checkBarCodeLength(Object value) { + if(value!=null) { + String str = value.toString(); + if(isNotEmpty(str)) { + if(str.length()>=4 && str.length()<=40 ) { + return true; + } else { + return false; + } + } else { + return false; + } + } else { + return false; + } + } + /** * 判断对象是否为数字(含小数) * @param str