Excel导入,校验商品条码长度为4到40位
This commit is contained in:
@@ -287,9 +287,9 @@ public class ExceptionConstants {
|
|||||||
//商品-单位匹配不上
|
//商品-单位匹配不上
|
||||||
public static final int MATERIAL_UNIT_MATE_CODE = 8000006;
|
public static final int MATERIAL_UNIT_MATE_CODE = 8000006;
|
||||||
public static final String MATERIAL_UNIT_MATE_MSG = "抱歉,商品条码:%s的单位匹配不上,请完善计量单位信息!";
|
public static final String MATERIAL_UNIT_MATE_MSG = "抱歉,商品条码:%s的单位匹配不上,请完善计量单位信息!";
|
||||||
//商品条码不是正整数
|
//商品条码长度应该为4到40位
|
||||||
public static final int MATERIAL_BARCODE_NOT_INTEGER_CODE = 8000007;
|
public static final int MATERIAL_BARCODE_LENGTH_ERROR_CODE = 8000007;
|
||||||
public static final String MATERIAL_BARCODE_NOT_INTEGER_MSG = "商品条码:%s不是正整数";
|
public static final String MATERIAL_BARCODE_LENGTH_ERROR_MSG = "商品条码长度应该为4到40位";
|
||||||
//序列号和批号只能有一项
|
//序列号和批号只能有一项
|
||||||
public static final int MATERIAL_ENABLE_MUST_ONE_CODE = 8000008;
|
public static final int MATERIAL_ENABLE_MUST_ONE_CODE = 8000008;
|
||||||
public static final String MATERIAL_ENABLE_MUST_ONE_MSG = "抱歉,商品条码:%s的序列号和批号不能同时填1";
|
public static final String MATERIAL_ENABLE_MUST_ONE_MSG = "抱歉,商品条码:%s的序列号和批号不能同时填1";
|
||||||
|
|||||||
@@ -545,15 +545,15 @@ public class MaterialService {
|
|||||||
throw new BusinessRunTimeException(ExceptionConstants.MATERIAL_ENABLED_ERROR_CODE,
|
throw new BusinessRunTimeException(ExceptionConstants.MATERIAL_ENABLED_ERROR_CODE,
|
||||||
String.format(ExceptionConstants.MATERIAL_ENABLED_ERROR_MSG, i+1));
|
String.format(ExceptionConstants.MATERIAL_ENABLED_ERROR_MSG, i+1));
|
||||||
}
|
}
|
||||||
//校验基础条码是否是正整数
|
//校验基础条码长度为4到40位
|
||||||
if(!StringUtil.isPositiveLong(barCode)) {
|
if(!StringUtil.checkBarCodeLength(barCode)) {
|
||||||
throw new BusinessRunTimeException(ExceptionConstants.MATERIAL_BARCODE_NOT_INTEGER_CODE,
|
throw new BusinessRunTimeException(ExceptionConstants.MATERIAL_BARCODE_LENGTH_ERROR_CODE,
|
||||||
String.format(ExceptionConstants.MATERIAL_BARCODE_NOT_INTEGER_MSG, barCode));
|
String.format(ExceptionConstants.MATERIAL_BARCODE_LENGTH_ERROR_MSG, barCode));
|
||||||
}
|
}
|
||||||
//校验副条码是否是正整数
|
//校验副条码长度为4到40位
|
||||||
if(StringUtil.isNotEmpty(manyBarCode) && !StringUtil.isPositiveLong(manyBarCode)) {
|
if(StringUtil.isNotEmpty(manyBarCode) && !StringUtil.checkBarCodeLength(manyBarCode)) {
|
||||||
throw new BusinessRunTimeException(ExceptionConstants.MATERIAL_BARCODE_NOT_INTEGER_CODE,
|
throw new BusinessRunTimeException(ExceptionConstants.MATERIAL_BARCODE_LENGTH_ERROR_CODE,
|
||||||
String.format(ExceptionConstants.MATERIAL_BARCODE_NOT_INTEGER_MSG, manyBarCode));
|
String.format(ExceptionConstants.MATERIAL_BARCODE_LENGTH_ERROR_MSG, manyBarCode));
|
||||||
}
|
}
|
||||||
//批量校验excel中有无重复条码
|
//批量校验excel中有无重复条码
|
||||||
batchCheckExistBarCodeByParam(mList, barCode, manyBarCode);
|
batchCheckExistBarCodeByParam(mList, barCode, manyBarCode);
|
||||||
|
|||||||
@@ -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
|
* @param str
|
||||||
|
|||||||
Reference in New Issue
Block a user