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
You need to sign in or sign up before continuing.
Commit
4fb5e13c
authored
Nov 07, 2023
by
李小惠
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修改bug
parent
9eefdeef
显示空白字符变更
内嵌
并排
正在显示
5 个修改的文件
包含
81 行增加
和
24 行删除
+81
-24
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
+4
-4
没有找到文件。
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
org_id_int = #{item[0]} AND location_id = #{item[1]}
<foreach
collection=
"list"
item=
"item"
separator=
"or"
>
AND size_id = #{item[2]} AND type_id = #{item[3]}
(
AND unit_price = #{item[4]}
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>
</foreach>
</select>
</select>
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论