From d923c8f11a6ea18c8b803e0523f7f97cc9b11bf1 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, 16 Mar 2022 23:33:00 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BB=99=E5=95=86=E5=93=81excel=E5=AF=BC?= =?UTF-8?q?=E5=85=A5=E5=A2=9E=E5=8A=A0=E6=A0=A1=E9=AA=8C=EF=BC=9A=E6=A0=A1?= =?UTF-8?q?=E9=AA=8C=E6=9D=A1=E7=A0=81=E6=98=AF=E5=90=A6=E6=98=AF=E6=AD=A3?= =?UTF-8?q?=E6=95=B4=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jsh/erp/constants/ExceptionConstants.java | 3 +++ .../erp/service/material/MaterialService.java | 10 +++++++++ .../java/com/jsh/erp/utils/StringUtil.java | 22 +++++++++++++++++++ 3 files changed, 35 insertions(+) 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 7c65bbd1..ef4f7f0d 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 @@ -296,6 +296,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不是正整数"; /** * 单据信息 * type = 85 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 cad6994c..e1b3b5b0 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 @@ -496,6 +496,16 @@ public class MaterialService { String wholesaleDecimal = ExcelUtils.getContent(src, i, 13); //销售价 String lowDecimal = ExcelUtils.getContent(src, i, 14); //最低售价 String enabled = ExcelUtils.getContent(src, i, 15); //状态 + //校验基础条码是否是正整数 + if(!StringUtil.isPositiveInteger(barCode)) { + throw new BusinessRunTimeException(ExceptionConstants.MATERIAL_BARCODE_NOT_INTEGER_CODE, + String.format(ExceptionConstants.MATERIAL_BARCODE_NOT_INTEGER_MSG, barCode)); + } + //校验副条码是否是正整数 + if(StringUtil.isNotEmpty(manyBarCode) && !StringUtil.isPositiveInteger(manyBarCode)) { + throw new BusinessRunTimeException(ExceptionConstants.MATERIAL_BARCODE_NOT_INTEGER_CODE, + String.format(ExceptionConstants.MATERIAL_BARCODE_NOT_INTEGER_MSG, manyBarCode)); + } //校验条码是否存在 List basicMaterialList = getMaterialByBarCode(barCode); if(basicMaterialList!=null && basicMaterialList.size()>0) { 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 05da1981..a2e3fbe5 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 @@ -275,6 +275,28 @@ public class StringUtil { } } + /** + * 判断对象是否为正整数 + * @param value + * @return + */ + public static boolean isPositiveInteger(Object value) { + if(value!=null) { + String str = value.toString(); + if(isNotEmpty(str)) { + if((str.matches("[0-9]+"))&&(Integer.parseInt(str)>0)) { + return true; + } else { + return false; + } + } else { + return false; + } + } else { + return false; + } + } + /** * sql注入过滤,保障sql的安全执行 * @param originStr