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
06f6c4a4
Commit
06f6c4a4
authored
Mar 17, 2022
by
季圣华
Browse files
优化条码重复的校验规则
parent
d923c8f1
Changes
3
Hide whitespace changes
Inline
Side-by-side
jshERP-boot/src/main/java/com/jsh/erp/datasource/mappers/MaterialMapperEx.java
View file @
06f6c4a4
...
...
@@ -88,6 +88,10 @@ public interface MaterialMapperEx {
List
<
MaterialVo4Unit
>
getMaterialByBarCode
(
@Param
(
"barCodeArray"
)
String
[]
barCodeArray
);
List
<
MaterialVo4Unit
>
getMaterialByBarCodeAndWithOutMId
(
@Param
(
"barCodeArray"
)
String
[]
barCodeArray
,
@Param
(
"mId"
)
Long
mId
);
List
<
MaterialVo4Unit
>
getListWithStock
(
@Param
(
"depotList"
)
List
<
Long
>
depotList
,
@Param
(
"idList"
)
List
<
Long
>
idList
,
...
...
jshERP-boot/src/main/java/com/jsh/erp/service/material/MaterialService.java
View file @
06f6c4a4
...
...
@@ -506,17 +506,6 @@ public class MaterialService {
throw
new
BusinessRunTimeException
(
ExceptionConstants
.
MATERIAL_BARCODE_NOT_INTEGER_CODE
,
String
.
format
(
ExceptionConstants
.
MATERIAL_BARCODE_NOT_INTEGER_MSG
,
manyBarCode
));
}
//校验条码是否存在
List
<
MaterialVo4Unit
>
basicMaterialList
=
getMaterialByBarCode
(
barCode
);
if
(
basicMaterialList
!=
null
&&
basicMaterialList
.
size
()>
0
)
{
throw
new
BusinessRunTimeException
(
ExceptionConstants
.
MATERIAL_BARCODE_EXISTS_CODE
,
String
.
format
(
ExceptionConstants
.
MATERIAL_BARCODE_EXISTS_MSG
,
barCode
));
}
List
<
MaterialVo4Unit
>
otherMaterialList
=
getMaterialByBarCode
(
manyBarCode
);
if
(
otherMaterialList
!=
null
&&
otherMaterialList
.
size
()>
0
)
{
throw
new
BusinessRunTimeException
(
ExceptionConstants
.
MATERIAL_BARCODE_EXISTS_CODE
,
String
.
format
(
ExceptionConstants
.
MATERIAL_BARCODE_EXISTS_MSG
,
manyBarCode
));
}
JSONObject
materialExObj
=
new
JSONObject
();
JSONObject
basicObj
=
new
JSONObject
();
basicObj
.
put
(
"barCode"
,
barCode
);
...
...
@@ -603,12 +592,7 @@ public class MaterialService {
basicMaterialExtend
.
setCreateSerial
(
user
.
getLoginName
());
basicMaterialExtend
.
setUpdateSerial
(
user
.
getLoginName
());
Long
meId
=
materialExtendService
.
selectIdByMaterialIdAndDefaultFlag
(
mId
,
"1"
);
if
(
meId
==
0L
){
materialExtendMapper
.
insertSelective
(
basicMaterialExtend
);
}
else
{
basicMaterialExtend
.
setId
(
meId
);
materialExtendMapper
.
updateByPrimaryKeySelective
(
basicMaterialExtend
);
}
changeMaterialExtend
(
mId
,
basicMaterialExtend
,
meId
);
}
if
(
StringUtil
.
isExist
(
materialExObj
.
get
(
"other"
)))
{
String
otherStr
=
materialExObj
.
getString
(
"other"
);
...
...
@@ -620,12 +604,7 @@ public class MaterialService {
otherMaterialExtend
.
setCreateSerial
(
user
.
getLoginName
());
otherMaterialExtend
.
setUpdateSerial
(
user
.
getLoginName
());
Long
meId
=
materialExtendService
.
selectIdByMaterialIdAndDefaultFlag
(
mId
,
"0"
);
if
(
meId
==
0L
){
materialExtendMapper
.
insertSelective
(
otherMaterialExtend
);
}
else
{
otherMaterialExtend
.
setId
(
meId
);
materialExtendMapper
.
updateByPrimaryKeySelective
(
otherMaterialExtend
);
}
changeMaterialExtend
(
mId
,
otherMaterialExtend
,
meId
);
}
//给商品初始化库存getAllListWithStock
Map
<
Long
,
BigDecimal
>
stockMap
=
m
.
getStockMap
();
...
...
@@ -657,6 +636,28 @@ public class MaterialService {
return
info
;
}
@Transactional
(
value
=
"transactionManager"
,
rollbackFor
=
Exception
.
class
)
public
void
changeMaterialExtend
(
Long
mId
,
MaterialExtend
materialExtend
,
Long
meId
)
{
if
(
meId
==
0L
){
//校验条码是否存在
List
<
MaterialVo4Unit
>
basicMaterialList
=
getMaterialByBarCode
(
materialExtend
.
getBarCode
());
if
(
basicMaterialList
!=
null
&&
basicMaterialList
.
size
()>
0
)
{
throw
new
BusinessRunTimeException
(
ExceptionConstants
.
MATERIAL_BARCODE_EXISTS_CODE
,
String
.
format
(
ExceptionConstants
.
MATERIAL_BARCODE_EXISTS_MSG
,
materialExtend
.
getBarCode
()));
}
materialExtendMapper
.
insertSelective
(
materialExtend
);
}
else
{
//校验条码是否存在
List
<
MaterialVo4Unit
>
basicMaterialList
=
getMaterialByBarCodeAndWithOutMId
(
materialExtend
.
getBarCode
(),
mId
);
if
(
basicMaterialList
!=
null
&&
basicMaterialList
.
size
()>
0
)
{
throw
new
BusinessRunTimeException
(
ExceptionConstants
.
MATERIAL_BARCODE_EXISTS_CODE
,
String
.
format
(
ExceptionConstants
.
MATERIAL_BARCODE_EXISTS_MSG
,
materialExtend
.
getBarCode
()));
}
materialExtend
.
setId
(
meId
);
materialExtendMapper
.
updateByPrimaryKeySelective
(
materialExtend
);
}
}
/**
* 根据条件返回产品列表
* @param name
...
...
@@ -884,6 +885,11 @@ public class MaterialService {
return
materialMapperEx
.
getMaterialByBarCode
(
barCodeArray
);
}
public
List
<
MaterialVo4Unit
>
getMaterialByBarCodeAndWithOutMId
(
String
barCode
,
Long
mId
)
{
String
[]
barCodeArray
=
barCode
.
split
(
","
);
return
materialMapperEx
.
getMaterialByBarCodeAndWithOutMId
(
barCodeArray
,
mId
);
}
public
List
<
MaterialVo4Unit
>
getListWithStock
(
List
<
Long
>
depotList
,
List
<
Long
>
idList
,
String
materialParam
,
Integer
zeroStock
,
String
column
,
String
order
,
Integer
offset
,
Integer
rows
)
{
return
materialMapperEx
.
getListWithStock
(
depotList
,
idList
,
materialParam
,
zeroStock
,
column
,
order
,
offset
,
rows
);
...
...
jshERP-boot/src/main/resources/mapper_xml/MaterialMapperEx.xml
View file @
06f6c4a4
...
...
@@ -319,6 +319,23 @@
order by me.id desc
</select>
<select
id=
"getMaterialByBarCodeAndWithOutMId"
parameterType=
"com.jsh.erp.datasource.entities.MaterialExample"
resultMap=
"ResultAndUnitMap"
>
select m.*,u.name unit_name, me.id meId,me.bar_code m_bar_code, me.commodity_unit, me.purchase_decimal, me.commodity_decimal,
me.wholesale_decimal, me.low_decimal, me.sku
from jsh_material m
left join jsh_material_extend me on m.id=me.material_id and ifnull(me.delete_Flag,'0') !='1'
left join jsh_unit u on m.unit_id=u.id and ifnull(u.delete_Flag,'0') !='1'
where
me.bar_code in (
<foreach
collection=
"barCodeArray"
item=
"barCode"
separator=
","
>
#{barCode}
</foreach>
)
and me.material_id!=#{mId}
and ifnull(m.delete_flag,'0') !='1'
order by me.id desc
</select>
<update
id=
"setUnitIdToNull"
>
update jsh_material
set unit_id = null
...
...
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