Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
jinli gu
JSH ERP
Commits
11834d71
Commit
11834d71
authored
Sep 27, 2022
by
季圣华
Browse files
给excel导入增加条码重复的校验
parent
4421bfaf
Changes
2
Hide whitespace changes
Inline
Side-by-side
jshERP-boot/src/main/java/com/jsh/erp/constants/ExceptionConstants.java
View file @
11834d71
...
...
@@ -335,6 +335,12 @@ public class ExceptionConstants {
//盘点业务不能选择批号或序列号商品
public
static
final
int
MATERIAL_STOCK_CHECK_ERROR_CODE
=
80000019
;
public
static
final
String
MATERIAL_STOCK_CHECK_ERROR_MSG
=
"抱歉,盘点业务不能选择批号或序列号商品:%s,建议走其它入库和出库单"
;
//EXCEL中存在重复的商品
public
static
final
int
MATERIAL_EXCEL_IMPORT_EXIST_CODE
=
80000020
;
public
static
final
String
MATERIAL_EXCEL_IMPORT_EXIST_MSG
=
"抱歉,EXCEL中存在重复的商品,具体信息为:%s"
;
//EXCEL中存在重复的条码
public
static
final
int
MATERIAL_EXCEL_IMPORT_BARCODE_EXIST_CODE
=
80000021
;
public
static
final
String
MATERIAL_EXCEL_IMPORT_BARCODE_EXIST_MSG
=
"抱歉,EXCEL中存在重复的条码,具体条码为:%s"
;
/**
* 单据信息
...
...
jshERP-boot/src/main/java/com/jsh/erp/service/material/MaterialService.java
View file @
11834d71
...
...
@@ -499,6 +499,8 @@ public class MaterialService {
throw
new
BusinessRunTimeException
(
ExceptionConstants
.
MATERIAL_UNIT_EMPTY_CODE
,
String
.
format
(
ExceptionConstants
.
MATERIAL_UNIT_EMPTY_MSG
,
i
+
1
));
}
// 批量校验excel中有无重复商品,是指名称、规格、型号、颜色、单位
batchCheckExistMaterialListByParam
(
mList
,
name
,
standard
,
model
,
color
,
unit
);
MaterialWithInitStock
m
=
new
MaterialWithInitStock
();
m
.
setName
(
name
);
m
.
setStandard
(
standard
);
...
...
@@ -550,6 +552,8 @@ public class MaterialService {
throw
new
BusinessRunTimeException
(
ExceptionConstants
.
MATERIAL_BARCODE_NOT_INTEGER_CODE
,
String
.
format
(
ExceptionConstants
.
MATERIAL_BARCODE_NOT_INTEGER_MSG
,
manyBarCode
));
}
//批量校验excel中有无重复条码
batchCheckExistBarCodeByParam
(
mList
,
barCode
,
manyBarCode
);
JSONObject
materialExObj
=
new
JSONObject
();
JSONObject
basicObj
=
new
JSONObject
();
basicObj
.
put
(
"barCode"
,
barCode
);
...
...
@@ -649,7 +653,17 @@ public class MaterialService {
insertCurrentStockMaterialList
.
add
(
materialCurrentStock
);
}
}
else
{
depotItemService
.
updateCurrentStockFun
(
mId
,
depotId
);
BigDecimal
initStock
=
getInitStock
(
mId
,
depotId
);
BigDecimal
currentNumber
=
getCurrentStockByMaterialIdAndDepotId
(
mId
,
depotId
);
//当前库存的更新:减去初始库存,再加上导入的新初始库存
if
(
currentNumber
!=
null
&&
initStock
!=
null
)
{
currentNumber
=
currentNumber
.
subtract
(
initStock
).
add
(
stock
);
}
MaterialCurrentStock
materialCurrentStock
=
new
MaterialCurrentStock
();
materialCurrentStock
.
setMaterialId
(
mId
);
materialCurrentStock
.
setDepotId
(
depotId
);
materialCurrentStock
.
setCurrentNumber
(
currentNumber
);
insertCurrentStockMaterialList
.
add
(
materialCurrentStock
);
}
}
}
...
...
@@ -717,6 +731,56 @@ public class MaterialService {
return
stockMap
;
}
/**
* 批量校验excel中有无重复商品,是指名称、规格、型号、颜色、单位
* @param mList
*/
public
void
batchCheckExistMaterialListByParam
(
List
<
MaterialWithInitStock
>
mList
,
String
name
,
String
standard
,
String
model
,
String
color
,
String
unit
)
{
for
(
MaterialWithInitStock
material:
mList
){
if
(
name
.
equals
(
material
.
getName
())
&&
standard
.
equals
(
material
.
getStandard
())
&&
model
.
equals
(
material
.
getModel
())
&&
color
.
equals
(
material
.
getColor
())
&&
unit
.
equals
(
material
.
getUnit
())){
String
info
=
name
+
"-"
+
standard
+
"-"
+
model
+
"-"
+
color
+
"-"
+
unit
;
throw
new
BusinessRunTimeException
(
ExceptionConstants
.
MATERIAL_EXCEL_IMPORT_EXIST_CODE
,
String
.
format
(
ExceptionConstants
.
MATERIAL_EXCEL_IMPORT_EXIST_MSG
,
info
));
}
}
}
/**
* 批量校验excel中有无重复条码
* @param mList
*/
public
void
batchCheckExistBarCodeByParam
(
List
<
MaterialWithInitStock
>
mList
,
String
barCode
,
String
manyBarCode
)
{
for
(
MaterialWithInitStock
material:
mList
){
JSONObject
materialExObj
=
material
.
getMaterialExObj
();
String
basicBarCode
=
""
;
String
otherBarCode
=
""
;
if
(
materialExObj
.
get
(
"basic"
)!=
null
)
{
JSONObject
basicObj
=
materialExObj
.
getJSONObject
(
"basic"
);
basicBarCode
=
basicObj
.
getString
(
"barCode"
);
}
if
(
materialExObj
.
get
(
"other"
)!=
null
)
{
JSONObject
otherObj
=
materialExObj
.
getJSONObject
(
"other"
);
otherBarCode
=
otherObj
.
getString
(
"barCode"
);
}
if
(
barCode
.
equals
(
basicBarCode
)
||
barCode
.
equals
(
otherBarCode
)){
throw
new
BusinessRunTimeException
(
ExceptionConstants
.
MATERIAL_EXCEL_IMPORT_BARCODE_EXIST_CODE
,
String
.
format
(
ExceptionConstants
.
MATERIAL_EXCEL_IMPORT_BARCODE_EXIST_MSG
,
barCode
));
}
if
(
StringUtil
.
isNotEmpty
(
manyBarCode
))
{
if
(
manyBarCode
.
equals
(
basicBarCode
)
||
manyBarCode
.
equals
(
otherBarCode
)){
throw
new
BusinessRunTimeException
(
ExceptionConstants
.
MATERIAL_EXCEL_IMPORT_BARCODE_EXIST_CODE
,
String
.
format
(
ExceptionConstants
.
MATERIAL_EXCEL_IMPORT_BARCODE_EXIST_MSG
,
manyBarCode
));
}
}
}
}
/**
* 给商品新增或更新条码与价格相关信息
* @param materialExObj
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment