Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
C
clx-performance
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
姜武杰
clx-performance
Commits
e3a2d699
提交
e3a2d699
authored
8月 06, 2024
作者:
刘海泉
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
取消定向车辆的逻辑
上级
75b8ddd8
显示空白字符变更
内嵌
并排
正在显示
7 个修改的文件
包含
98 行增加
和
28 行删除
+98
-28
OrderGoodsTruckBindDao.java
.../java/com/clx/performance/dao/OrderGoodsTruckBindDao.java
+2
-0
OrderGoodsTruckBindDaoImpl.java
.../clx/performance/dao/impl/OrderGoodsTruckBindDaoImpl.java
+5
-0
OrderGoodsTruckBindMapper.java
...com/clx/performance/mapper/OrderGoodsTruckBindMapper.java
+5
-0
OrderChildLogService.java
...ava/com/clx/performance/service/OrderChildLogService.java
+2
-1
OrderChildLogServiceImpl.java
...lx/performance/service/impl/OrderChildLogServiceImpl.java
+16
-1
OrderChildServiceImpl.java
...m/clx/performance/service/impl/OrderChildServiceImpl.java
+52
-26
OrderGoodsTruckBindSqlProvider.java
...rformance/sqlProvider/OrderGoodsTruckBindSqlProvider.java
+16
-0
没有找到文件。
performance-web/src/main/java/com/clx/performance/dao/OrderGoodsTruckBindDao.java
浏览文件 @
e3a2d699
...
...
@@ -69,4 +69,6 @@ public interface OrderGoodsTruckBindDao extends BaseDao<OrderGoodsTruckBindMappe
void
batchUpdateBindTruckList
(
String
orderGoodsNo
,
Integer
code
,
List
<
String
>
truckNo
);
List
<
OrderGoodsTruckBind
>
queryNotOrderTruck
(
List
<
String
>
cancelTruckBindOrderGoodsNoList
);
void
batchCancelTruckList
(
List
<
OrderGoodsTruckBind
>
updateList
);
}
performance-web/src/main/java/com/clx/performance/dao/impl/OrderGoodsTruckBindDaoImpl.java
浏览文件 @
e3a2d699
...
...
@@ -231,4 +231,9 @@ public class OrderGoodsTruckBindDaoImpl extends BaseDaoImpl<OrderGoodsTruckBindM
return
baseMapper
.
selectList
(
lQrWrapper
().
in
(
OrderGoodsTruckBind:
:
getOrderGoodsNo
,
cancelTruckBindOrderGoodsNoList
)
.
eq
(
OrderGoodsTruckBind:
:
getStatus
,
OrderGoodsTruckBindEnum
.
Status
.
NORMAL
.
getCode
()));
}
@Override
public
void
batchCancelTruckList
(
List
<
OrderGoodsTruckBind
>
updateList
)
{
baseMapper
.
batchCancelTruckList
(
updateList
);
}
}
performance-web/src/main/java/com/clx/performance/mapper/OrderGoodsTruckBindMapper.java
浏览文件 @
e3a2d699
...
...
@@ -38,4 +38,8 @@ public interface OrderGoodsTruckBindMapper extends BaseMapper<OrderGoodsTruckBin
@SelectProvider
(
type
=
OrderGoodsTruckBindSqlProvider
.
class
,
method
=
"queryOrderGoodsTruckNum"
)
List
<
OrderGoodsBindTruckNumDTO
>
queryOrderGoodsTruckNum
(
List
<
String
>
fleetNoList
);
@SelectProvider
(
type
=
OrderGoodsTruckBindSqlProvider
.
class
,
method
=
"batchCancelTruckList"
)
void
batchCancelTruckList
(
List
<
OrderGoodsTruckBind
>
updateList
);
}
\ No newline at end of file
performance-web/src/main/java/com/clx/performance/service/OrderChildLogService.java
浏览文件 @
e3a2d699
package
com
.
clx
.
performance
.
service
;
import
com.clx.performance.model.OrderChild
;
import
com.clx.performance.model.OrderChildLog
;
import
java.util.List
;
...
...
@@ -15,5 +16,5 @@ public interface OrderChildLogService {
void
saveBatchOrderChildLog
(
List
<
OrderChildLog
>
logs
);
void
batchSaveCarrierOrderChildLogs
(
List
<
OrderChild
Log
>
logs
);
void
batchSaveCarrierOrderChildLogs
(
List
<
OrderChild
>
canCancelOrderChildList
,
Long
userNo
,
String
userName
);
}
performance-web/src/main/java/com/clx/performance/service/impl/OrderChildLogServiceImpl.java
浏览文件 @
e3a2d699
...
...
@@ -2,12 +2,14 @@ package com.clx.performance.service.impl;
import
com.clx.performance.dao.OrderChildLogDao
;
import
com.clx.performance.enums.OrderChildLogEnum
;
import
com.clx.performance.model.OrderChild
;
import
com.clx.performance.model.OrderChildLog
;
import
com.clx.performance.service.OrderChildLogService
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.util.ArrayList
;
import
java.util.List
;
@Slf4j
...
...
@@ -54,7 +56,20 @@ public class OrderChildLogServiceImpl implements OrderChildLogService {
}
@Override
public
void
batchSaveCarrierOrderChildLogs
(
List
<
OrderChildLog
>
logs
)
{
public
void
batchSaveCarrierOrderChildLogs
(
List
<
OrderChild
>
canCancelOrderChildList
,
Long
userNo
,
String
userName
)
{
List
<
OrderChildLog
>
logs
=
new
ArrayList
<>();
OrderChildLog
orderChildLog
;
for
(
OrderChild
child
:
canCancelOrderChildList
)
{
orderChildLog
=
new
OrderChildLog
();
orderChildLog
.
setChildNo
(
child
.
getChildNo
());
orderChildLog
.
setType
(
OrderChildLogEnum
.
Type
.
PLATFORM_CANCEL
.
getCode
());
orderChildLog
.
setRemark
(
OrderChildLogEnum
.
Type
.
PLATFORM_CANCEL
.
getMsg
());
orderChildLog
.
setCreateType
(
OrderChildLogEnum
.
CreateType
.
PLATFORM
.
getCode
());
orderChildLog
.
setCreateBy
(
userNo
);
orderChildLog
.
setCreateName
(
userName
);
logs
.
add
(
orderChildLog
);
}
orderChildLogDao
.
saveBatchList
(
logs
);
}
}
performance-web/src/main/java/com/clx/performance/service/impl/OrderChildServiceImpl.java
浏览文件 @
e3a2d699
...
...
@@ -240,6 +240,8 @@ public class OrderChildServiceImpl implements OrderChildService {
private
Environment
environment
;
@Autowired
private
DocumentFeign
documentFeign
;
@Autowired
private
OrderWeightService
orderWeightService
;
@PostConstruct
public
void
init
(){
...
...
@@ -412,18 +414,8 @@ public class OrderChildServiceImpl implements OrderChildService {
}
}
// 库存验证
if
(
orderGoods
.
getResidueTransportWeight
().
compareTo
(
new
BigDecimal
(
"35"
))
<
0
)
{
throw
new
ServiceSystemException
(
PerformanceResultEnum
.
ORDER_WEIGHT_LACK
);
}
// if (orderGoods.getResidueTransportWeight().compareTo(truckLoad) < 0) {throw new ServiceSystemException
// (PerformanceResultEnum.ORDER_WEIGHT_LACK);}
// 订单数量限制
// 订单已拉运吨数
BigDecimal
alreadyTransportWeight
=
orderGoodsDao
.
sumAlreadyTransportWeightByOrderNo
(
orderGoods
.
getOrderNo
());
if
(
alreadyTransportWeight
.
compareTo
(
orderInfo
.
getTransportWeight
().
subtract
(
new
BigDecimal
(
"35"
)))
>
0
){
// 验证是否有足量去接该运单
if
(
judgeNotEnoughWeightOrdered
(
orderGoods
.
getResidueTransportWeight
(),
orderInfo
.
getOrderNo
())){
throw
new
ServiceSystemException
(
PerformanceResultEnum
.
ORDER_WEIGHT_LACK
);
}
...
...
@@ -549,6 +541,18 @@ public class OrderChildServiceImpl implements OrderChildService {
return
result
;
}
//判断当前运单的吨数,货单剩余量是否足够,不足够直接拦截,足够需要判断订单是否还有拉运量
public
boolean
judgeNotEnoughWeightOrdered
(
BigDecimal
orderGoodsResidueWeight
,
String
orderNo
){
//货单无剩余量
if
(
orderGoodsResidueWeight
.
compareTo
(
BigDecimal
.
ZERO
)
<=
0
){
return
true
;
}
//订单无剩余量
BigDecimal
orderResidueWeight
=
orderWeightService
.
getOrderResidueWeight
(
orderNo
);
return
orderResidueWeight
.
compareTo
(
BigDecimal
.
ZERO
)
<=
0
;
}
/**
* @Author kavin
* @Description 计算接单时,车辆距离发货地和收货地的用时时间
...
...
@@ -3065,25 +3069,15 @@ public class OrderChildServiceImpl implements OrderChildService {
orderChild
.
setStatus
(
OrderChildEnum
.
Status
.
PLATFORM_CANCEL
.
getCode
());
});
//取消运单
orderChildDao
.
batchUpdateCancel
(
canCancelOrderChildList
);
// 取消定向
batchUpdateOrderGoodsDirectCancel
(
canCancelOrderChildList
);
List
<
OrderChildLog
>
logs
=
new
ArrayList
<>();
OrderChildLog
orderChildLog
;
for
(
OrderChild
child
:
canCancelOrderChildList
)
{
orderChildLog
=
new
OrderChildLog
();
orderChildLog
.
setChildNo
(
child
.
getChildNo
());
orderChildLog
.
setType
(
OrderChildLogEnum
.
Type
.
PLATFORM_CANCEL
.
getCode
());
orderChildLog
.
setRemark
(
OrderChildLogEnum
.
Type
.
PLATFORM_CANCEL
.
getMsg
());
orderChildLog
.
setCreateType
(
OrderChildLogEnum
.
CreateType
.
PLATFORM
.
getCode
());
orderChildLog
.
setCreateBy
(
loginUserInfo
.
getUserNo
());
orderChildLog
.
setCreateName
(
loginUserInfo
.
getUserName
());
logs
.
add
(
orderChildLog
);
}
// 批量保存日志
orderChildLogService
.
batchSaveCarrierOrderChildLogs
(
logs
);
orderChildLogService
.
batchSaveCarrierOrderChildLogs
(
canCancelOrderChildList
,
loginUserInfo
.
getUserNo
(),
loginUserInfo
.
getUserName
()
);
// 承运取消后置逻辑
canCancelOrderChildList
.
forEach
(
orderChild
->
orderChildPostService
.
orderChildCancelByCarrier
(
orderChild
,
...
...
@@ -3166,4 +3160,36 @@ public class OrderChildServiceImpl implements OrderChildService {
}
driverService
.
batchUpdateDriverAndTruckStatusCancel
(
paramList
);
}
private
void
batchUpdateOrderGoodsDirectCancel
(
List
<
OrderChild
>
list
)
{
Map
<
String
,
List
<
OrderChild
>>
orderGoodsChildListMap
=
list
.
stream
().
collect
(
Collectors
.
groupingBy
(
OrderChild:
:
getOrderGoodsNo
));
List
<
String
>
orderGoodsList
=
new
ArrayList
<>(
orderGoodsChildListMap
.
keySet
());
List
<
OrderGoods
>
orderGoods
=
orderGoodsDao
.
listInField
(
OrderGoods:
:
getOrderGoodsNo
,
orderGoodsList
);
List
<
OrderGoodsTruckBind
>
updateList
=
new
ArrayList
<>();
OrderGoodsTruckBind
update
;
for
(
OrderGoods
orderGood
:
orderGoods
)
{
if
(
Objects
.
equals
(
orderGood
.
getVehicleUsage
(),
VehicleUsageEnum
.
Status
.
OWN
.
getCode
())){
//定向平台车辆取消绑定,自由车辆状态绑定状态不变
continue
;
}
List
<
OrderChild
>
orderChildList
=
orderGoodsChildListMap
.
get
(
orderGood
.
getOrderGoodsNo
());
for
(
OrderChild
item
:
orderChildList
)
{
update
=
new
OrderGoodsTruckBind
();
update
.
setStatus
(
OrderGoodsTruckBind
.
Status
.
CANCEL
.
getCode
());
update
.
setOrderNo
(
item
.
getOrderNo
());
update
.
setOrderGoodsNo
(
item
.
getOrderGoodsNo
());
update
.
setTruckNo
(
item
.
getTruckNo
());
updateList
.
add
(
update
);
//删除绑定的缓存
goodsOrderTruckRecordComponent
.
deleteTruckRecord
(
item
.
getOrderGoodsNo
(),
item
.
getTruckNo
());
}
}
if
(
CollectionUtils
.
isNotEmpty
(
updateList
)){
orderGoodsTruckBindDao
.
batchCancelTruckList
(
updateList
);
}
}
}
performance-web/src/main/java/com/clx/performance/sqlProvider/OrderGoodsTruckBindSqlProvider.java
浏览文件 @
e3a2d699
...
...
@@ -2,6 +2,7 @@ package com.clx.performance.sqlProvider;
import
com.clx.performance.enums.OrderGoodsStatusEnum
;
import
com.clx.performance.enums.OrderGoodsTruckBindEnum
;
import
com.clx.performance.model.OrderGoodsTruckBind
;
import
org.apache.ibatis.jdbc.SQL
;
import
java.util.List
;
...
...
@@ -59,4 +60,19 @@ public class OrderGoodsTruckBindSqlProvider {
GROUP_BY
(
"a.order_goods_no"
);
}}.
toString
();
}
public
String
batchCancelTruckList
(
List
<
OrderGoodsTruckBind
>
updateList
){
StringJoiner
sj
=
new
StringJoiner
(
"; "
);
for
(
OrderGoodsTruckBind
bind
:
updateList
){
sj
.
add
(
"update order_goods_truck_bind "
+
"set "
+
"status = "
+
bind
.
getStatus
()
+
" "
+
"where order_no = '"
+
bind
.
getOrderNo
()+
"' "
+
"and order_goods_no = '"
+
bind
.
getOrderGoodsNo
()
+
"' "
+
"and truck_no = '"
+
bind
.
getTruckNo
()
+
"'"
);
}
return
sj
.
toString
();
}
}
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论