Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
C
clx-performance
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
姜武杰
clx-performance
Commits
32eb7454
提交
32eb7454
authored
7月 03, 2024
作者:
刘海泉
1
浏览文件
操作
浏览文件
下载
差异文件
Merge remote-tracking branch 'origin/v17.3_youhua_20240615' into test
上级
4e6cc8cc
eec4bb79
隐藏空白字符变更
内嵌
并排
正在显示
3 个修改的文件
包含
72 行增加
和
6 行删除
+72
-6
OrderGoodsTruckBindDao.java
.../java/com/clx/performance/dao/OrderGoodsTruckBindDao.java
+4
-0
OrderGoodsTruckBindDaoImpl.java
.../clx/performance/dao/impl/OrderGoodsTruckBindDaoImpl.java
+10
-0
OrderChildServiceImpl.java
...m/clx/performance/service/impl/OrderChildServiceImpl.java
+58
-6
没有找到文件。
performance-web/src/main/java/com/clx/performance/dao/OrderGoodsTruckBindDao.java
浏览文件 @
32eb7454
...
@@ -64,4 +64,8 @@ public interface OrderGoodsTruckBindDao extends BaseDao<OrderGoodsTruckBindMappe
...
@@ -64,4 +64,8 @@ public interface OrderGoodsTruckBindDao extends BaseDao<OrderGoodsTruckBindMappe
void
updateTruckBindExpire
(
List
<
Integer
>
ids
);
void
updateTruckBindExpire
(
List
<
Integer
>
ids
);
List
<
OrderGoodsBindTruckNumDTO
>
queryOrderGoodsTruckNum
(
List
<
String
>
fleetNoList
);
List
<
OrderGoodsBindTruckNumDTO
>
queryOrderGoodsTruckNum
(
List
<
String
>
fleetNoList
);
void
batchUpdateBindTruckList
(
String
orderGoodsNo
,
Integer
code
,
List
<
String
>
truckNo
);
}
}
performance-web/src/main/java/com/clx/performance/dao/impl/OrderGoodsTruckBindDaoImpl.java
浏览文件 @
32eb7454
...
@@ -214,4 +214,14 @@ public class OrderGoodsTruckBindDaoImpl extends BaseDaoImpl<OrderGoodsTruckBindM
...
@@ -214,4 +214,14 @@ public class OrderGoodsTruckBindDaoImpl extends BaseDaoImpl<OrderGoodsTruckBindM
public
List
<
OrderGoodsBindTruckNumDTO
>
queryOrderGoodsTruckNum
(
List
<
String
>
fleetNoList
)
{
public
List
<
OrderGoodsBindTruckNumDTO
>
queryOrderGoodsTruckNum
(
List
<
String
>
fleetNoList
)
{
return
baseMapper
.
queryOrderGoodsTruckNum
(
fleetNoList
);
return
baseMapper
.
queryOrderGoodsTruckNum
(
fleetNoList
);
}
}
@Override
public
void
batchUpdateBindTruckList
(
String
orderGoodsNo
,
Integer
code
,
List
<
String
>
truckNoList
)
{
update
(
lUdWrapper
()
.
set
(
OrderGoodsTruckBind:
:
getStatus
,
code
)
.
eq
(
OrderGoodsTruckBind:
:
getOrderGoodsNo
,
orderGoodsNo
)
.
in
(
OrderGoodsTruckBind:
:
getTruckNo
,
truckNoList
)
);
}
}
}
performance-web/src/main/java/com/clx/performance/service/impl/OrderChildServiceImpl.java
浏览文件 @
32eb7454
...
@@ -2671,7 +2671,6 @@ public class OrderChildServiceImpl implements OrderChildService {
...
@@ -2671,7 +2671,6 @@ public class OrderChildServiceImpl implements OrderChildService {
arriveBeforeStatus
.
add
(
OrderChildEnum
.
Status
.
PAY
.
getCode
());
arriveBeforeStatus
.
add
(
OrderChildEnum
.
Status
.
PAY
.
getCode
());
arriveBeforeStatus
.
add
(
OrderChildEnum
.
Status
.
GO_TO_SEND
.
getCode
());
arriveBeforeStatus
.
add
(
OrderChildEnum
.
Status
.
GO_TO_SEND
.
getCode
());
List
<
String
>
childNos
;
//取消运单
//未到达货源地之前运单(不包括取消)
//未到达货源地之前运单(不包括取消)
List
<
OrderChild
>
arriveBeforeOrderChild
=
orderChildDao
.
listByOrderNo
(
param
.
getOrderNo
(),
arriveBeforeStatus
);
List
<
OrderChild
>
arriveBeforeOrderChild
=
orderChildDao
.
listByOrderNo
(
param
.
getOrderNo
(),
arriveBeforeStatus
);
log
.
info
(
"arriveBeforeOrderChild:{}"
,
arriveBeforeOrderChild
);
log
.
info
(
"arriveBeforeOrderChild:{}"
,
arriveBeforeOrderChild
);
...
@@ -2683,6 +2682,23 @@ public class OrderChildServiceImpl implements OrderChildService {
...
@@ -2683,6 +2682,23 @@ public class OrderChildServiceImpl implements OrderChildService {
BigDecimal
arriveAfterWeight
=
arriveAfterOrderChild
.
stream
().
map
(
OrderChild:
:
getWeight
)
BigDecimal
arriveAfterWeight
=
arriveAfterOrderChild
.
stream
().
map
(
OrderChild:
:
getWeight
)
.
reduce
(
BigDecimal:
:
add
).
orElse
(
BigDecimal
.
ZERO
);
//总拉运吨数
.
reduce
(
BigDecimal:
:
add
).
orElse
(
BigDecimal
.
ZERO
);
//总拉运吨数
log
.
info
(
"总拉运吨数:{}"
,
arriveAfterWeight
);
log
.
info
(
"总拉运吨数:{}"
,
arriveAfterWeight
);
Map
<
String
,
List
<
String
>>
cancelTruckMap
=
new
HashMap
<>();
//取消运单对应的货单下的车辆Map
List
<
String
>
childNos
=
new
ArrayList
<>();
//未到达货源地
for
(
OrderChild
child
:
arriveBeforeOrderChild
){
childNos
.
add
(
child
.
getChildNo
());
if
(
cancelTruckMap
.
containsKey
(
child
.
getOrderGoodsNo
())){
cancelTruckMap
.
get
(
child
.
getOrderGoodsNo
()).
add
(
generateChildTruckInfo
(
child
));
}
else
{
List
<
String
>
childTruckInfoList
=
new
ArrayList
<>();
childTruckInfoList
.
add
(
generateChildTruckInfo
(
child
));
cancelTruckMap
.
put
(
child
.
getChildNo
(),
childTruckInfoList
);
}
}
if
(
availableWeight
.
compareTo
(
arriveAfterWeight
)
>
0
){
//可拉运吨数大于运单拉运吨数 取消未到达货源地的运单
if
(
availableWeight
.
compareTo
(
arriveAfterWeight
)
>
0
){
//可拉运吨数大于运单拉运吨数 取消未到达货源地的运单
log
.
info
(
"可拉运吨数大于运单拉运吨数,取消未到达货源地的运单:{}"
,
availableWeight
.
compareTo
(
arriveAfterWeight
));
log
.
info
(
"可拉运吨数大于运单拉运吨数,取消未到达货源地的运单:{}"
,
availableWeight
.
compareTo
(
arriveAfterWeight
));
BigDecimal
weight
=
BigDecimal
.
ZERO
;
//运单累加吨数
BigDecimal
weight
=
BigDecimal
.
ZERO
;
//运单累加吨数
...
@@ -2693,16 +2709,16 @@ public class OrderChildServiceImpl implements OrderChildService {
...
@@ -2693,16 +2709,16 @@ public class OrderChildServiceImpl implements OrderChildService {
if
(
weight
.
compareTo
(
subtract
)
>=
0
){
if
(
weight
.
compareTo
(
subtract
)
>=
0
){
break
;
break
;
}
}
notCancelChildNos
.
add
(
oc
.
getChildNo
());
//获取可以取消的运单
notCancelChildNos
.
add
(
oc
.
getChildNo
());
//获取不可以取消的运单
//同时移除不可取消运单对应的车辆
cancelTruckMap
.
get
(
oc
.
getOrderGoodsNo
()).
remove
(
generateChildTruckInfo
(
oc
));
}
}
log
.
info
(
"notCancelChildNos:{}"
,
notCancelChildNos
);
log
.
info
(
"notCancelChildNos:{}"
,
notCancelChildNos
);
childNos
=
arriveBeforeOrderChild
.
stream
().
map
(
OrderChild:
:
getChildNo
).
collect
(
Collectors
.
toList
());
//未到达货源地
childNos
.
removeAll
(
notCancelChildNos
);
//剔除不需要取消的运单
childNos
.
removeAll
(
notCancelChildNos
);
//剔除不需要取消的运单
}
else
{
childNos
=
arriveBeforeOrderChild
.
stream
().
map
(
OrderChild:
:
getChildNo
).
collect
(
Collectors
.
toList
());
//未到达货源地
}
}
log
.
info
(
"批量取消运单:childNos:{}"
,
childNos
);
log
.
info
(
"批量取消运单:childNos:{}"
,
childNos
);
log
.
info
(
"批量取消车辆:cancelTruckMap:{}"
,
cancelTruckMap
);
//批量取消运单
//批量取消运单
if
(
CollectionUtils
.
isNotEmpty
(
childNos
)){
if
(
CollectionUtils
.
isNotEmpty
(
childNos
)){
...
@@ -2726,7 +2742,43 @@ public class OrderChildServiceImpl implements OrderChildService {
...
@@ -2726,7 +2742,43 @@ public class OrderChildServiceImpl implements OrderChildService {
logs
.
add
(
log
);
logs
.
add
(
log
);
}
}
orderChildLogService
.
saveBatchOrderChildLog
(
logs
);
orderChildLogService
.
saveBatchOrderChildLog
(
logs
);
///释放司机、车、绑定
releaseDriverAndTruck
(
cancelTruckMap
);
}
}
}
private
String
generateChildTruckInfo
(
OrderChild
child
){
return
child
.
getTruckNo
()
+
"_"
+
child
.
getTruckId
()
+
"_"
+
child
.
getDriverUserNo
();
}
//释放司机、车、绑定
private
void
releaseDriverAndTruck
(
Map
<
String
,
List
<
String
>>
cancelTruckMap
){
//释放车辆绑定关系
Set
<
String
>
orderGoodsNoList
=
cancelTruckMap
.
keySet
();
List
<
OrderGoods
>
orderGoodsList
=
orderGoodsDao
.
listInField
(
OrderGoods:
:
getOrderGoodsNo
,
orderGoodsNoList
);
Map
<
String
,
Integer
>
orderGoodsPendOrderWayMap
=
orderGoodsList
.
stream
().
collect
(
Collectors
.
toMap
(
OrderGoods:
:
getOrderGoodsNo
,
OrderGoods:
:
getPendingOrderWay
));
for
(
Map
.
Entry
<
String
,
List
<
String
>>
entry
:
cancelTruckMap
.
entrySet
()){
Integer
pendingOrderWay
=
orderGoodsPendOrderWayMap
.
get
(
entry
.
getKey
());
if
(
Objects
.
equals
(
pendingOrderWay
,
PendingOrderWayStatusEnum
.
Status
.
DX
.
getCode
())
||
Objects
.
equals
(
pendingOrderWay
,
PendingOrderWayStatusEnum
.
Status
.
FLEET_DX
.
getCode
())){
List
<
String
>
truckNoList
=
new
ArrayList
<>();
entry
.
getValue
().
forEach
(
item
->
{
String
truckNo
=
item
.
split
(
"_"
)[
0
];
truckNoList
.
add
(
truckNo
);
goodsOrderTruckRecordComponent
.
deleteTruckRecord
(
entry
.
getKey
(),
truckNo
);
});
orderGoodsTruckBindDao
.
batchUpdateBindTruckList
(
entry
.
getKey
(),
OrderGoodsTruckBindEnum
.
Status
.
CANCEL
.
getCode
(),
truckNoList
);
}
}
//释放司机和空重车
entry
.
getValue
().
forEach
(
item
->
{
Integer
truckId
=
Integer
.
parseInt
(
item
.
split
(
"_"
)[
1
]);
Long
driverUserNo
=
Long
.
parseLong
(
item
.
split
(
"_"
)[
2
]);
updateDriverOrderStatusUnload
(
driverUserNo
,
truckId
);
});
}
}
}
}
}
}
刘海泉
@liuhaiquan
被提及 commit
6ea18c2b
·
11月 12, 2024
被提及 commit
6ea18c2b
被提及 commit 6ea18c2b725bfd4223e3a13bef2dde8764f0a074
切换提交列表
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论