Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
J
jyzb_platformV2
概览
Overview
Details
Activity
Cycle Analytics
版本库
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
问题
0
Issues
0
列表
Board
标记
里程碑
合并请求
0
Merge Requests
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
Snippets
成员
Members
Collapse sidebar
Close sidebar
活动
图像
聊天
创建新问题
作业
提交
Issue Boards
Open sidebar
赵剑炜
jyzb_platformV2
Commits
4fb5e13c
Commit
4fb5e13c
authored
Nov 07, 2023
by
李小惠
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修改bug
parent
9eefdeef
隐藏空白字符变更
内嵌
并排
正在显示
5 个修改的文件
包含
82 行增加
和
25 行删除
+82
-25
TestController.java
jyzb-biz/src/main/java/com/junmp/jyzb/controller/TestController.java
+1
-0
InventorySummaryMapper.java
jyzb-biz/src/main/java/com/junmp/jyzb/mapper/InventorySummaryMapper.java
+3
-9
InventorySummaryServiceImpl.java
jyzb-biz/src/main/java/com/junmp/jyzb/service/impl/InventorySummaryServiceImpl.java
+1
-0
LogSummaryServiceImpl.java
jyzb-biz/src/main/java/com/junmp/jyzb/service/impl/LogSummaryServiceImpl.java
+72
-11
InventorySummaryMapper.xml
jyzb-biz/src/main/resources/mapper/InventorySummaryMapper.xml
+5
-5
没有找到文件。
jyzb-biz/src/main/java/com/junmp/jyzb/controller/TestController.java
View file @
4fb5e13c
...
@@ -56,6 +56,7 @@ public class TestController {
...
@@ -56,6 +56,7 @@ public class TestController {
@PostMapping
(
"/selectByItem"
)
@PostMapping
(
"/selectByItem"
)
public
ApiRes
<
List
<
InventorySummary
>>
selectByItem
(
@RequestBody
A
a
){
public
ApiRes
<
List
<
InventorySummary
>>
selectByItem
(
@RequestBody
A
a
){
return
ApiRes
.
success
(
inventorySummaryService
.
selectByItems
(
a
.
getA
()));
return
ApiRes
.
success
(
inventorySummaryService
.
selectByItems
(
a
.
getA
()));
}
}
}
}
jyzb-biz/src/main/java/com/junmp/jyzb/mapper/InventorySummaryMapper.java
View file @
4fb5e13c
...
@@ -34,13 +34,6 @@ public interface InventorySummaryMapper extends BaseMapper<InventorySummary> {
...
@@ -34,13 +34,6 @@ public interface InventorySummaryMapper extends BaseMapper<InventorySummary> {
List
<
InventorySummary
>
selectByEqs
(
@Param
(
"orgId"
)
Long
orgId
);
List
<
InventorySummary
>
selectByEqs
(
@Param
(
"orgId"
)
Long
orgId
);
// @Select({
// "<script>",
List
<
InventorySummary
>
selectByItems
(
@Param
(
"list"
)
List
<
Object
[]>
searchCriteria
);
// "<foreach collection='list' item='item' open='(' separator=',' close=')'>",
// "select * from base_inventory_summary",
// "where org_id_int=#{item[0]} and location_id=#{item[1]} and size_id=#{item[2]} and type_id=#{item[3]} and unit_price=#{item[4]}}}",
// "</foreach>",
// "</script>"
// })
List
<
InventorySummary
>
selectByItems
(
@Param
(
"list"
)
List
<
Object
[]>
list
);
}
}
\ No newline at end of file
jyzb-biz/src/main/java/com/junmp/jyzb/service/impl/InventorySummaryServiceImpl.java
View file @
4fb5e13c
...
@@ -515,6 +515,7 @@ public class InventorySummaryServiceImpl extends ServiceImpl<InventorySummaryMa
...
@@ -515,6 +515,7 @@ public class InventorySummaryServiceImpl extends ServiceImpl<InventorySummaryMa
@Override
@Override
public
List
<
InventorySummary
>
selectByItems
(
List
<
Object
[]>
searchCriteria
)
{
public
List
<
InventorySummary
>
selectByItems
(
List
<
Object
[]>
searchCriteria
)
{
return
inventorySummaryMapper
.
selectByItems
(
searchCriteria
);
return
inventorySummaryMapper
.
selectByItems
(
searchCriteria
);
}
}
...
...
jyzb-biz/src/main/java/com/junmp/jyzb/service/impl/LogSummaryServiceImpl.java
View file @
4fb5e13c
...
@@ -21,6 +21,7 @@ import org.springframework.stereotype.Service;
...
@@ -21,6 +21,7 @@ import org.springframework.stereotype.Service;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.transaction.annotation.Transactional
;
import
javax.annotation.Resource
;
import
javax.annotation.Resource
;
import
java.math.BigDecimal
;
import
java.util.ArrayList
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.List
;
import
java.util.stream.Collectors
;
import
java.util.stream.Collectors
;
...
@@ -86,6 +87,7 @@ public class LogSummaryServiceImpl extends ServiceImpl<LogSummaryMapper, LogSumm
...
@@ -86,6 +87,7 @@ public class LogSummaryServiceImpl extends ServiceImpl<LogSummaryMapper, LogSumm
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
Boolean
processInventoryRecords
(
OutInLogsReq
req
)
{
public
Boolean
processInventoryRecords
(
OutInLogsReq
req
)
{
//1.判断业务类型,如果是采购,更新装备库存表
//1.判断业务类型,如果是采购,更新装备库存表
boolean
a
=
false
;
if
(
req
.
getBussinessType
().
equals
(
"purchase"
)){
if
(
req
.
getBussinessType
().
equals
(
"purchase"
)){
List
<
PurchaseEqsReq
>
purchaseList
=
req
.
getOrderMain
().
getPurchaseList
();
List
<
PurchaseEqsReq
>
purchaseList
=
req
.
getOrderMain
().
getPurchaseList
();
List
<
Inventory
>
collect
=
purchaseList
.
stream
().
map
(
purchaseEqsReq
->
{
List
<
Inventory
>
collect
=
purchaseList
.
stream
().
map
(
purchaseEqsReq
->
{
...
@@ -93,9 +95,11 @@ public class LogSummaryServiceImpl extends ServiceImpl<LogSummaryMapper, LogSumm
...
@@ -93,9 +95,11 @@ public class LogSummaryServiceImpl extends ServiceImpl<LogSummaryMapper, LogSumm
BeanPlusUtil
.
copyProperties
(
purchaseEqsReq
,
inventory
);
BeanPlusUtil
.
copyProperties
(
purchaseEqsReq
,
inventory
);
return
inventory
;
return
inventory
;
}).
collect
(
Collectors
.
toList
());
}).
collect
(
Collectors
.
toList
());
inventoryService
.
saveBatch
(
collect
);
a
=
inventoryService
.
saveBatch
(
collect
);
}
}
//2.如果有单据,更新单据
//2.如果有单据,更新单据
boolean
b
=
false
;
boolean
c
=
false
;
if
(
ObjectUtil
.
isNotNull
(
req
.
getOrderMain
())){
if
(
ObjectUtil
.
isNotNull
(
req
.
getOrderMain
())){
OrderReq
orderMain
=
req
.
getOrderMain
();
OrderReq
orderMain
=
req
.
getOrderMain
();
List
<
DetailOrderReq
>
orderDetailList
=
orderMain
.
getOrderDetail
();
List
<
DetailOrderReq
>
orderDetailList
=
orderMain
.
getOrderDetail
();
...
@@ -104,28 +108,30 @@ public class LogSummaryServiceImpl extends ServiceImpl<LogSummaryMapper, LogSumm
...
@@ -104,28 +108,30 @@ public class LogSummaryServiceImpl extends ServiceImpl<LogSummaryMapper, LogSumm
one
.
setPrice
(
orderMain
.
getPrice
());
one
.
setPrice
(
orderMain
.
getPrice
());
one
.
setActualQuantity
(
orderMain
.
getActualQuantity
());
one
.
setActualQuantity
(
orderMain
.
getActualQuantity
());
one
.
setOrderState
(
one
.
getOrderState
());
one
.
setOrderState
(
one
.
getOrderState
());
orderMainService
.
updateById
(
one
);
b
=
orderMainService
.
updateById
(
one
);
List
<
OrderDetail
>
collect
=
orderDetailList
.
stream
().
map
(
detailOrderReq
->
{
List
<
OrderDetail
>
collect
=
orderDetailList
.
stream
().
map
(
detailOrderReq
->
{
OrderDetail
orderDetail
=
new
OrderDetail
();
OrderDetail
orderDetail
=
new
OrderDetail
();
BeanPlusUtil
.
copyProperties
(
detailOrderReq
,
orderDetail
);
BeanPlusUtil
.
copyProperties
(
detailOrderReq
,
orderDetail
);
return
orderDetail
;
return
orderDetail
;
}).
collect
(
Collectors
.
toList
());
}).
collect
(
Collectors
.
toList
());
orderDetailService
.
updateBatchById
(
collect
);
c
=
orderDetailService
.
updateBatchById
(
collect
);
}
}
//3.对出入库记录进行存储
//3.对出入库记录进行存储
List
<
NormalInOutDto
>
inventorySumDtos
=
saveInOutRecords
(
req
);
List
<
NormalInOutDto
>
inventorySumDtos
=
saveInOutRecords
(
req
);
//4.如果没有单据,当作日常出入库,需要对库存汇总表进行更新
//4.如果没有单据当作日常出入库或者采购时,需要对库存汇总表进行更新
if
(
req
.
getBussinessType
().
equals
(
"normal"
)){
boolean
d
=
false
;
if
(
req
.
getBussinessType
().
equals
(
"normal"
)||
req
.
getBussinessType
().
equals
(
"purchase"
)){
//获取到组织机构和仓库,将出入库的装备进行分组统计,并且对inventorysummary进行更新操作
//获取到组织机构和仓库,将出入库的装备进行分组统计,并且对inventorysummary进行更新操作
updateNumToSum
(
inventorySumDtos
,
req
.
getOutInState
());
d
=
updateNumToSum
(
req
.
getOutInState
(),
inventorySumDtos
,
req
.
getOutInState
());
}
}
return
false
;
return
(
a
&&
b
&&
c
&&
d
)
;
}
}
//对库存汇总表进行更新(只限于日常出入库)
//对库存汇总表进行更新(只限于日常出入库)
private
void
updateNumToSum
(
List
<
NormalInOutDto
>
inventorySumDtos
,
String
OutInState
)
{
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
boolean
updateNumToSum
(
String
outInState
,
List
<
NormalInOutDto
>
inventorySumDtos
,
String
OutInState
)
{
List
<
NormalInOutDto
>
groupedResult
=
inventorySumDtos
.
stream
()
List
<
NormalInOutDto
>
groupedResult
=
inventorySumDtos
.
stream
()
.
collect
(
Collectors
.
groupingBy
(
dto
->
dto
.
getOrgId
()
+
"_"
+
dto
.
getLocationId
()
+
"_"
+
.
collect
(
Collectors
.
groupingBy
(
dto
->
dto
.
getOrgId
()
+
"_"
+
dto
.
getLocationId
()
+
"_"
+
...
@@ -142,15 +148,70 @@ public class LogSummaryServiceImpl extends ServiceImpl<LogSummaryMapper, LogSumm
...
@@ -142,15 +148,70 @@ public class LogSummaryServiceImpl extends ServiceImpl<LogSummaryMapper, LogSumm
})))
})))
.
values
().
stream
()
.
values
().
stream
()
.
collect
(
Collectors
.
toList
());
.
collect
(
Collectors
.
toList
());
//将查询条件存入searchCriteria中一次性查询出满足条件的数据
List
<
Object
[]>
searchCriteria
=
new
ArrayList
<>();
List
<
Object
[]>
searchCriteria
=
new
ArrayList
<>();
for
(
NormalInOutDto
groupedDto
:
groupedResult
)
{
for
(
NormalInOutDto
groupedDto
:
groupedResult
)
{
Object
[]
criteria
=
new
Object
[]{
groupedDto
.
getOrgId
(),
groupedDto
.
getLocationId
(),
Object
[]
criteria
=
new
Object
[]{
groupedDto
.
getOrgId
(),
groupedDto
.
getLocationId
(),
groupedDto
.
getSizeId
(),
groupedDto
.
getTypeId
(),
groupedDto
.
getPrice
()};
groupedDto
.
getSizeId
(),
groupedDto
.
getTypeId
(),
groupedDto
.
getPrice
()};
searchCriteria
.
add
(
criteria
);
searchCriteria
.
add
(
criteria
);
}
}
//满足条件的数据
inventorySummaryMapper
.
selectByItems
(
searchCriteria
);
List
<
InventorySummary
>
inventorySummaryList
=
inventorySummaryMapper
.
selectByItems
(
searchCriteria
);
List
<
InventorySummary
>
addList
=
new
ArrayList
<>();
List
<
InventorySummary
>
updateList
=
new
ArrayList
<>();
//遍历两者,判断数据库中是否全部存在,如果不存在,则进行增加数据操作,如果存在,则更新数据即可
for
(
NormalInOutDto
outDto:
groupedResult
)
{
boolean
flag
=
false
;
for
(
InventorySummary
is:
inventorySummaryList
)
{
if
(
outDto
.
getOrgId
()==
is
.
getOrgId
()
&&
outDto
.
getLocationId
().
equals
(
is
.
getLocationId
())
&&
outDto
.
getSizeId
().
equals
(
is
.
getSizeId
())
&&
outDto
.
getTypeId
().
equals
(
is
.
getTypeId
())
&&
outDto
.
getPrice
().
compareTo
(
is
.
getUnitPrice
())==
0
){
if
(
outInState
.
equals
(
"in"
)){
is
.
setOutboundNumber
(
is
.
getOutboundNumber
()-
outDto
.
getNumber
());
is
.
setStockNumber
(
is
.
getStockNumber
()+
outDto
.
getNumber
());
is
.
setPrice
(
is
.
getPrice
().
add
(
BigDecimal
.
valueOf
(
outDto
.
getNumber
()).
multiply
(
outDto
.
getPrice
()))
);
}
else
{
is
.
setOutboundNumber
(
is
.
getOutboundNumber
()+
outDto
.
getNumber
());
is
.
setStockNumber
(
is
.
getStockNumber
()-
outDto
.
getNumber
());
is
.
setPrice
(
is
.
getPrice
().
subtract
(
BigDecimal
.
valueOf
(
outDto
.
getNumber
()).
multiply
(
outDto
.
getPrice
()))
);
}
updateList
.
add
(
is
);
flag
=
true
;
break
;
}
}
if
(!
flag
){
InventorySummary
inventorySummary
=
new
InventorySummary
();
BeanPlusUtil
.
copyProperties
(
outDto
,
inventorySummary
);
inventorySummary
.
setPrice
(
BigDecimal
.
valueOf
(
outDto
.
getNumber
()).
multiply
(
outDto
.
getPrice
()));
inventorySummary
.
setUnitPrice
(
outDto
.
getPrice
());
inventorySummary
.
setBrokenNumber
(
0
);
inventorySummary
.
setExpireNumber
(
0
);
inventorySummary
.
setDestructionNumber
(
0
);
inventorySummary
.
setNearBrokenNumber
(
0
);
inventorySummary
.
setCreateTime
(
DateTimeUtil
.
getCurrentDateTime
());
if
(
outInState
.
equals
(
"in"
)){
inventorySummary
.
setOutboundNumber
(
0
);
inventorySummary
.
setUseNumber
(
0
);
inventorySummary
.
setStockNumber
(
outDto
.
getNumber
());
}
else
{
inventorySummary
.
setOutboundNumber
(
0
);
inventorySummary
.
setUseNumber
(
outDto
.
getNumber
());
inventorySummary
.
setStockNumber
(
outDto
.
getNumber
());
}
addList
.
add
(
inventorySummary
);
}
}
boolean
a
=
true
;
if
(
addList
.
size
()>
0
){
boolean
b
=
inventorySummaryService
.
saveBatch
(
addList
);
a
=
b
;
}
if
(
updateList
.
size
()>
0
){
boolean
b
=
inventorySummaryService
.
updateBatchById
(
updateList
);
a
=
a
&&
b
;
}
return
a
;
}
}
//对出入库记录进行存储
//对出入库记录进行存储
...
...
jyzb-biz/src/main/resources/mapper/InventorySummaryMapper.xml
View file @
4fb5e13c
...
@@ -264,11 +264,11 @@
...
@@ -264,11 +264,11 @@
HAVING stockNumber>0
HAVING stockNumber>0
</select>
</select>
<select
id=
"selectByItems"
resultType=
"com.junmp.jyzb.entity.InventorySummary"
>
<select
id=
"selectByItems"
resultType=
"com.junmp.jyzb.entity.InventorySummary"
>
<foreach
collection=
"list"
item=
"item"
open=
"("
separator=
","
close=
")"
>
select * from base_inventory_summary where
select * from base_inventory_summary where
<foreach
collection=
"list"
item=
"item"
separator=
"or"
>
org_id_int = #{item[0]} AND location_id = #{item[1]}
(
AND size_id = #{item[2]} AND type_id = #{item[3
]}
org_id_int = ${item[0]} AND location_id = '${item[1]}' AND size_id = '${item[2]}' AND type_id = ${item[3]} AND unit_price = ${item[4
]}
AND unit_price = #{item[4]}
)
</foreach>
</foreach>
</select>
</select>
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论