Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
C
clx-performance
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
姜武杰
clx-performance
Commits
d93e8c80
提交
d93e8c80
authored
11月 29, 2023
作者:
huyufan
浏览文件
操作
浏览文件
下载
差异文件
Merge remote-tracking branch 'origin/v7.0_small_version_fix_20231120' into…
Merge remote-tracking branch 'origin/v7.0_small_version_fix_20231120' into v7.0_small_version_fix_20231120
上级
8a3611cc
be027d59
隐藏空白字符变更
内嵌
并排
正在显示
5 个修改的文件
包含
54 行增加
和
17 行删除
+54
-17
OrderGoodsLogsEnum.java
...in/java/com/clx/performance/enums/OrderGoodsLogsEnum.java
+2
-0
GoodsOrderTruckRecordComponent.java
...performance/component/GoodsOrderTruckRecordComponent.java
+1
-0
OrderGoodsDtsListener.java
...a/com/clx/performance/listener/OrderGoodsDtsListener.java
+9
-3
OrderChildServiceImpl.java
...m/clx/performance/service/impl/OrderChildServiceImpl.java
+17
-10
OrderGoodsServiceImpl.java
...m/clx/performance/service/impl/OrderGoodsServiceImpl.java
+25
-4
没有找到文件。
performance-api/src/main/java/com/clx/performance/enums/OrderGoodsLogsEnum.java
浏览文件 @
d93e8c80
...
@@ -12,6 +12,8 @@ public enum OrderGoodsLogsEnum {
...
@@ -12,6 +12,8 @@ public enum OrderGoodsLogsEnum {
EDIT
(
"编辑"
),
EDIT
(
"编辑"
),
CANCEL
(
"取消"
),
CANCEL
(
"取消"
),
ADJUST_PRICE
(
"调价"
),
ADJUST_PRICE
(
"调价"
),
SYSTEM_RELEASE
(
"释放吨数"
),
SYSTEM_INCREASE
(
"提量吨数"
),
;
;
private
final
String
name
;
private
final
String
name
;
...
...
performance-web/src/main/java/com/clx/performance/component/GoodsOrderTruckRecordComponent.java
浏览文件 @
d93e8c80
...
@@ -104,6 +104,7 @@ public class GoodsOrderTruckRecordComponent {
...
@@ -104,6 +104,7 @@ public class GoodsOrderTruckRecordComponent {
List
<
Integer
>
ids
=
new
ArrayList
<>();
List
<
Integer
>
ids
=
new
ArrayList
<>();
for
(
OrderGoodsTruckBind
bind
:
truckBindList
)
{
for
(
OrderGoodsTruckBind
bind
:
truckBindList
)
{
if
(
Objects
.
equals
(
OrderGoodsTruckBindEnum
.
Status
.
NORMAL
.
getCode
(),
bind
.
getStatus
()))
{
if
(
Objects
.
equals
(
OrderGoodsTruckBindEnum
.
Status
.
NORMAL
.
getCode
(),
bind
.
getStatus
()))
{
ids
.
add
(
bind
.
getId
());
this
.
deleteTruckRecord
(
orderGoodsNo
,
bind
.
getTruckNo
());
this
.
deleteTruckRecord
(
orderGoodsNo
,
bind
.
getTruckNo
());
}
}
}
}
...
...
performance-web/src/main/java/com/clx/performance/listener/OrderGoodsDtsListener.java
浏览文件 @
d93e8c80
...
@@ -2,14 +2,17 @@ package com.clx.performance.listener;
...
@@ -2,14 +2,17 @@ package com.clx.performance.listener;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSON
;
import
com.clx.order.enums.UpdateEnum
;
import
com.clx.order.enums.UpdateEnum
;
import
com.clx.order.enums.VehicleUsageEnum
;
import
com.clx.performance.component.GoodsOrderTruckRecordComponent
;
import
com.clx.performance.component.GoodsOrderTruckRecordComponent
;
import
com.clx.performance.component.OrderCancelComponent
;
import
com.clx.performance.component.OrderCancelComponent
;
import
com.clx.performance.constant.RabbitKeyConstants
;
import
com.clx.performance.constant.RabbitKeyConstants
;
import
com.clx.performance.dao.OrderGoodsDao
;
import
com.clx.performance.dao.OrderGoodsDao
;
import
com.clx.performance.dto.dts.DataTransportDTO
;
import
com.clx.performance.dto.dts.DataTransportDTO
;
import
com.clx.performance.enums.DtsOperationTypeEnum
;
import
com.clx.performance.enums.DtsOperationTypeEnum
;
import
com.clx.performance.enums.OrderGoodsLogsEnum
;
import
com.clx.performance.enums.OrderGoodsPendingOrderWayStatusEnum
;
import
com.clx.performance.enums.OrderGoodsPendingOrderWayStatusEnum
;
import
com.clx.performance.model.OrderGoods
;
import
com.clx.performance.model.OrderGoods
;
import
com.clx.performance.service.OrderGoodsLogService
;
import
com.msl.common.utils.DtsMapConvertUtil
;
import
com.msl.common.utils.DtsMapConvertUtil
;
import
lombok.AllArgsConstructor
;
import
lombok.AllArgsConstructor
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
...
@@ -28,6 +31,7 @@ public class OrderGoodsDtsListener {
...
@@ -28,6 +31,7 @@ public class OrderGoodsDtsListener {
private
final
OrderCancelComponent
orderCancelComponent
;
private
final
OrderCancelComponent
orderCancelComponent
;
private
final
GoodsOrderTruckRecordComponent
goodsOrderTruckRecordComponent
;
private
final
GoodsOrderTruckRecordComponent
goodsOrderTruckRecordComponent
;
private
final
OrderGoodsDao
orderGoodsDao
;
private
final
OrderGoodsDao
orderGoodsDao
;
private
final
OrderGoodsLogService
orderGoodsLogService
;
...
@@ -66,13 +70,15 @@ public class OrderGoodsDtsListener {
...
@@ -66,13 +70,15 @@ public class OrderGoodsDtsListener {
orderGoods
.
setId
(
after
.
getId
());
orderGoods
.
setId
(
after
.
getId
());
orderGoods
.
setResidueTransportWeight
(
BigDecimal
.
ZERO
);
orderGoods
.
setResidueTransportWeight
(
BigDecimal
.
ZERO
);
orderGoodsDao
.
updateEntityByKey
(
orderGoods
);
orderGoodsDao
.
updateEntityByKey
(
orderGoods
);
//释放定向单对应的定向车辆
orderGoodsLogService
.
saveLog
(
after
.
getOrderGoodsNo
(),
0L
,
"系统"
,
OrderGoodsLogsEnum
.
Type
.
SYSTEM_RELEASE
.
getName
(),
if
(
Objects
.
equals
(
after
.
getPendingOrderWay
(),
OrderGoodsPendingOrderWayStatusEnum
.
Status
.
EXCLUSIVE
.
getCode
())){
String
.
format
(
"系统自动释放:%s吨"
,
after
.
getResidueTransportWeight
()));
//释放定向单(非自由车辆)对应的定向车辆
if
(
Objects
.
equals
(
after
.
getPendingOrderWay
(),
OrderGoodsPendingOrderWayStatusEnum
.
Status
.
EXCLUSIVE
.
getCode
())
&&
!
Objects
.
equals
(
after
.
getVehicleUsage
(),
VehicleUsageEnum
.
Status
.
OWN
.
getCode
())){
goodsOrderTruckRecordComponent
.
releaseOrderGoodsDriverAndTruck
(
after
.
getOrderGoodsNo
());
goodsOrderTruckRecordComponent
.
releaseOrderGoodsDriverAndTruck
(
after
.
getOrderGoodsNo
());
}
}
log
.
info
(
"结束自动恢复吨数到订单,订单号:{},货单号:{},货单剩余吨数:{}"
,
log
.
info
(
"结束自动恢复吨数到订单,订单号:{},货单号:{},货单剩余吨数:{}"
,
after
.
getOrderNo
(),
after
.
getOrderGoodsNo
(),
after
.
getResidueTransportWeight
());
after
.
getOrderNo
(),
after
.
getOrderGoodsNo
(),
after
.
getResidueTransportWeight
());
}
}
}
}
}
}
performance-web/src/main/java/com/clx/performance/service/impl/OrderChildServiceImpl.java
浏览文件 @
d93e8c80
...
@@ -1416,19 +1416,26 @@ public class OrderChildServiceImpl implements OrderChildService {
...
@@ -1416,19 +1416,26 @@ public class OrderChildServiceImpl implements OrderChildService {
*/
*/
@Override
@Override
public
void
updateOrderGoodsAmountLoad
(
OrderGoods
orderGoods
,
String
childNo
,
BigDecimal
dif
,
Integer
orderGoodsStatus
)
{
public
void
updateOrderGoodsAmountLoad
(
OrderGoods
orderGoods
,
String
childNo
,
BigDecimal
dif
,
Integer
orderGoodsStatus
)
{
//防止状态倒退
if
(
orderGoods
.
getOrderGoodsStatus
().
equals
(
OrderGoodsStatusEnum
.
Status
.
CANCEL
.
getCode
())
||
orderGoods
.
getOrderGoodsStatus
().
equals
(
OrderGoodsStatusEnum
.
Status
.
COMPLETED
.
getCode
())
||
orderGoods
.
getOrderGoodsStatus
().
equals
(
OrderGoodsStatusEnum
.
Status
.
SUCCESS
.
getCode
())
){
orderGoodsStatus
=
orderGoods
.
getOrderGoodsStatus
();
}
if
(
dif
.
compareTo
(
BigDecimal
.
ZERO
)
!=
0
){
if
(
dif
.
compareTo
(
BigDecimal
.
ZERO
)
!=
0
){
//判断是从订单借吨还是直接货单进行扣减(货单剩余吨数小于本运单的修改后的吨数差值)
//判断是从订单借吨还是直接货单进行扣减(货单剩余吨数小于本运单的修改后的吨数差值)
if
(
orderGoods
.
getResidueTransportWeight
().
compareTo
(
dif
)
<
0
)
{
if
(
orderGoods
.
getResidueTransportWeight
().
compareTo
(
dif
)
<
0
)
{
//货单吨数不够扣减,从订单进行借吨数
//货单吨数不够扣减,从订单进行借吨数
orderGoodsService
.
borrowWeight
(
orderGoods
,
childNo
,
orderGoods
.
getResidueTransportWeight
(),
dif
,
orderGoodsService
.
borrowWeight
(
orderGoods
,
childNo
,
orderGoods
.
getResidueTransportWeight
(),
dif
,
dif
.
subtract
(
orderGoods
.
getResidueTransportWeight
()),
dif
.
subtract
(
orderGoods
.
getResidueTransportWeight
()),
OrderGoodsStatusEnum
.
Status
.
GO_TO_SEND
.
getCode
());
OrderGoodsStatusEnum
.
Status
.
GO_TO_SEND
.
getCode
());
}
else
{
}
else
{
// 货单吨数够扣减,直接更新货单剩余吨数和已拉运吨数和状态
// 货单吨数够扣减,直接更新货单剩余吨数和已拉运吨数和状态
orderGoodsDao
.
updateOrderGoodsReduceWeightAndStatus
(
orderGoods
.
getId
(),
dif
,
orderGoodsStatus
);
orderGoodsDao
.
updateOrderGoodsReduceWeightAndStatus
(
orderGoods
.
getId
(),
dif
,
orderGoodsStatus
);
}
}
}
}
}
}
/**
/**
* 更新定向单状态 (接单)
* 更新定向单状态 (接单)
...
...
performance-web/src/main/java/com/clx/performance/service/impl/OrderGoodsServiceImpl.java
浏览文件 @
d93e8c80
...
@@ -303,15 +303,20 @@ public class OrderGoodsServiceImpl implements OrderGoodsService {
...
@@ -303,15 +303,20 @@ public class OrderGoodsServiceImpl implements OrderGoodsService {
if
(
orderGoodsParams
.
getExtractWeight
().
compareTo
(
oldOrderGoods
.
getAlreadyTransportWeight
())
<
0
)
{
if
(
orderGoodsParams
.
getExtractWeight
().
compareTo
(
oldOrderGoods
.
getAlreadyTransportWeight
())
<
0
)
{
throw
new
ServiceSystemException
(
PerformanceResultEnum
.
HTTP_ERROR
,
"当前货单提取吨数不能小于货单已拉运吨数"
);
throw
new
ServiceSystemException
(
PerformanceResultEnum
.
HTTP_ERROR
,
"当前货单提取吨数不能小于货单已拉运吨数"
);
}
}
BigDecimal
answer
=
orderGoodsParams
.
getExtractWeight
().
subtract
(
oldOrderGoods
.
getExtractWeight
());
//考虑到借吨、恢复吨数的货单,逻辑判断实际的提取吨数
BigDecimal
realExtractWeight
=
oldOrderGoods
.
getResidueTransportWeight
().
compareTo
(
BigDecimal
.
ZERO
)
==
0
?
oldOrderGoods
.
getAlreadyTransportWeight
():
oldOrderGoods
.
getExtractWeight
();
oldOrderGoods
.
setExtractWeight
(
realExtractWeight
);
BigDecimal
answer
=
orderGoodsParams
.
getExtractWeight
().
subtract
(
realExtractWeight
);
int
flag
=
answer
.
compareTo
(
BigDecimal
.
ZERO
);
int
flag
=
answer
.
compareTo
(
BigDecimal
.
ZERO
);
//归还吨数
//归还吨数
RollbackOrderWeightParam
rollbackOrderWeightParam
=
new
RollbackOrderWeightParam
();
RollbackOrderWeightParam
rollbackOrderWeightParam
=
new
RollbackOrderWeightParam
();
rollbackOrderWeightParam
.
setOrderNo
(
param
.
getOrderNo
());
rollbackOrderWeightParam
.
setOrderNo
(
param
.
getOrderNo
());
log
.
info
(
"falg:{}"
,
flag
);
log
.
info
(
"flag:{}"
,
flag
);
if
(
flag
>
0
)
{
if
(
flag
>
0
)
{
orderGoodsParams
.
setResidueTransportWeight
(
oldOrderGoods
.
getResidueTransportWeight
().
add
(
answer
));
orderGoodsParams
.
setResidueTransportWeight
(
oldOrderGoods
.
getResidueTransportWeight
().
add
(
answer
));
//限制剩余吨数
limitOrderGoodsResidueWeight
(
orderGoodsParams
.
getResidueTransportWeight
());
rollbackOrderWeightParam
.
setUpdateType
(
UpdateEnum
.
SUB
.
getCode
());
rollbackOrderWeightParam
.
setUpdateType
(
UpdateEnum
.
SUB
.
getCode
());
if
(
oldOrderGoods
.
getTruckDemand
().
equals
(
TruckDemandEnum
.
TruckType
.
PLATFORM_CAR
.
getCode
()))
{
if
(
oldOrderGoods
.
getTruckDemand
().
equals
(
TruckDemandEnum
.
TruckType
.
PLATFORM_CAR
.
getCode
()))
{
rollbackOrderWeightParam
.
setResidueWeight
(
answer
);
rollbackOrderWeightParam
.
setResidueWeight
(
answer
);
...
@@ -333,6 +338,8 @@ public class OrderGoodsServiceImpl implements OrderGoodsService {
...
@@ -333,6 +338,8 @@ public class OrderGoodsServiceImpl implements OrderGoodsService {
orderFeign
.
rollbackOrderWeight
(
rollbackOrderWeightParam
);
orderFeign
.
rollbackOrderWeight
(
rollbackOrderWeightParam
);
}
else
if
(
flag
<
0
){
}
else
if
(
flag
<
0
){
orderGoodsParams
.
setResidueTransportWeight
(
orderGoodsParams
.
getExtractWeight
().
subtract
(
oldOrderGoods
.
getAlreadyTransportWeight
()));
orderGoodsParams
.
setResidueTransportWeight
(
orderGoodsParams
.
getExtractWeight
().
subtract
(
oldOrderGoods
.
getAlreadyTransportWeight
()));
//限制剩余吨数
limitOrderGoodsResidueWeight
(
orderGoodsParams
.
getResidueTransportWeight
());
rollbackOrderWeightParam
.
setUpdateType
(
UpdateEnum
.
ADD
.
getCode
());
rollbackOrderWeightParam
.
setUpdateType
(
UpdateEnum
.
ADD
.
getCode
());
if
(
oldOrderGoods
.
getTruckDemand
().
equals
(
TruckDemandEnum
.
TruckType
.
PLATFORM_CAR
.
getCode
()))
{
if
(
oldOrderGoods
.
getTruckDemand
().
equals
(
TruckDemandEnum
.
TruckType
.
PLATFORM_CAR
.
getCode
()))
{
rollbackOrderWeightParam
.
setResidueWeight
(
answer
.
negate
());
rollbackOrderWeightParam
.
setResidueWeight
(
answer
.
negate
());
...
@@ -441,6 +448,15 @@ public class OrderGoodsServiceImpl implements OrderGoodsService {
...
@@ -441,6 +448,15 @@ public class OrderGoodsServiceImpl implements OrderGoodsService {
orderGoodsLogService
.
saveLog
(
orderGoodsNo
,
loginUserInfo
.
getUserNo
(),
loginUserInfo
.
getUserName
(),
OrderGoodsLogsEnum
.
Type
.
EDIT
.
getName
(),
""
);
orderGoodsLogService
.
saveLog
(
orderGoodsNo
,
loginUserInfo
.
getUserNo
(),
loginUserInfo
.
getUserName
(),
OrderGoodsLogsEnum
.
Type
.
EDIT
.
getName
(),
""
);
}
}
/**
* 限制货单更新剩余吨数不能小于35吨
**/
private
void
limitOrderGoodsResidueWeight
(
BigDecimal
residueTransportWeight
){
if
(
residueTransportWeight
.
compareTo
(
new
BigDecimal
(
"35"
))
<
0
){
throw
new
ServiceSystemException
(
PerformanceResultEnum
.
DATA_NOT_FIND
,
"当前货单剩余吨数不足35吨,无法挂单"
);
}
}
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Override
@Override
public
void
updateOrderGoodsPrice
(
UpdateOrderGoodsPriceParam
param
)
{
public
void
updateOrderGoodsPrice
(
UpdateOrderGoodsPriceParam
param
)
{
...
@@ -695,6 +711,10 @@ public class OrderGoodsServiceImpl implements OrderGoodsService {
...
@@ -695,6 +711,10 @@ public class OrderGoodsServiceImpl implements OrderGoodsService {
public
OrderGoodsEditVO
findOrderGoodsById
(
Integer
id
)
{
public
OrderGoodsEditVO
findOrderGoodsById
(
Integer
id
)
{
OrderGoodsEditVO
result
=
new
OrderGoodsEditVO
();
OrderGoodsEditVO
result
=
new
OrderGoodsEditVO
();
OrderGoodsVO
orderGoodsVO
=
orderGoodsDao
.
findOrderGoodsById
(
id
);
OrderGoodsVO
orderGoodsVO
=
orderGoodsDao
.
findOrderGoodsById
(
id
);
if
(
BigDecimal
.
ZERO
.
compareTo
(
orderGoodsVO
.
getResidueTransportWeight
())
==
0
){
//如果借吨或者恢复吨数,会导致提取吨数不准确,所以这里取准确提取吨数
orderGoodsVO
.
setExtractWeight
(
orderGoodsVO
.
getAlreadyTransportWeight
());
}
String
orderNo
=
orderGoodsVO
.
getOrderNo
();
String
orderNo
=
orderGoodsVO
.
getOrderNo
();
FeignOrderVO
orderInfoFeign
=
orderFeign
.
getOrderInfoFeign
(
orderNo
);
FeignOrderVO
orderInfoFeign
=
orderFeign
.
getOrderInfoFeign
(
orderNo
);
result
.
setOrderNo
(
orderInfoFeign
.
getOrderNo
());
result
.
setOrderNo
(
orderInfoFeign
.
getOrderNo
());
...
@@ -765,7 +785,8 @@ public class OrderGoodsServiceImpl implements OrderGoodsService {
...
@@ -765,7 +785,8 @@ public class OrderGoodsServiceImpl implements OrderGoodsService {
orderCancelComponent
.
backFillOrderWeight
(
orderGoods
,
borrowOrderWeight
,
UpdateEnum
.
SUB
.
getCode
());
orderCancelComponent
.
backFillOrderWeight
(
orderGoods
,
borrowOrderWeight
,
UpdateEnum
.
SUB
.
getCode
());
//更新货单吨数
//更新货单吨数
orderGoodsDao
.
updateOrderGoodsWeightResidueAndAlreadyAndStatus
(
orderGoods
.
getId
(),
addAlready
,
subOrderGoodsResidue
,
orderGoodsStatus
);
orderGoodsDao
.
updateOrderGoodsWeightResidueAndAlreadyAndStatus
(
orderGoods
.
getId
(),
addAlready
,
subOrderGoodsResidue
,
orderGoodsStatus
);
orderGoodsLogService
.
saveLog
(
orderGoods
.
getOrderGoodsNo
(),
0L
,
"系统"
,
OrderGoodsLogsEnum
.
Type
.
SYSTEM_INCREASE
.
getName
(),
String
.
format
(
"系统自动提量:%s吨"
,
borrowOrderWeight
));
}
}
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论