Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
C
clx-performance
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
姜武杰
clx-performance
Commits
7fd94dcc
提交
7fd94dcc
authored
6月 28, 2024
作者:
李瑞鑫
1
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'v17.3_youhua_20240615' into test
# Conflicts: # performance-web/src/main/java/com/clx/performance/dao/OrderChildDao.java # performance-web/src/main/java/com/clx/performance/dao/impl/OrderChildDaoImpl.java
上级
de1a7f60
f511c152
显示空白字符变更
内嵌
并排
正在显示
10 个修改的文件
包含
137 行增加
和
3 行删除
+137
-3
OrderChildFeign.java
.../main/java/com/clx/performance/feign/OrderChildFeign.java
+6
-3
CancelOrderGoodsParam.java
...om/clx/performance/param/feign/CancelOrderGoodsParam.java
+17
-0
OrderChildFeignController.java
...rformance/controller/feign/OrderChildFeignController.java
+8
-0
OrderChildDao.java
.../src/main/java/com/clx/performance/dao/OrderChildDao.java
+2
-0
OrderChildDaoImpl.java
.../java/com/clx/performance/dao/impl/OrderChildDaoImpl.java
+19
-0
OrderChildLogService.java
...ava/com/clx/performance/service/OrderChildLogService.java
+3
-0
OrderChildService.java
...n/java/com/clx/performance/service/OrderChildService.java
+3
-0
OrderChildLogServiceImpl.java
...lx/performance/service/impl/OrderChildLogServiceImpl.java
+4
-0
OrderChildServiceImpl.java
...m/clx/performance/service/impl/OrderChildServiceImpl.java
+72
-0
OrderGoodsServiceImpl.java
...m/clx/performance/service/impl/OrderGoodsServiceImpl.java
+3
-0
没有找到文件。
performance-api/src/main/java/com/clx/performance/feign/OrderChildFeign.java
浏览文件 @
7fd94dcc
package
com
.
clx
.
performance
.
feign
;
import
com.clx.performance.param.feign.CancelOrderGoodsParam
;
import
com.clx.performance.vo.pc.child.OrderChildLineStatisticsVO
;
import
com.msl.common.result.Result
;
import
org.springframework.cloud.openfeign.FeignClient
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestMethod
;
import
org.springframework.web.bind.annotation.RequestParam
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.*
;
import
javax.validation.constraints.NotBlank
;
import
javax.validation.constraints.NotNull
;
...
...
@@ -29,5 +29,8 @@ public interface OrderChildFeign {
@RequestMapping
(
value
=
"clx-performance/feign/orderChild/getInvoiceType"
,
method
=
RequestMethod
.
GET
)
Result
<
Integer
>
getInvoiceType
(
@RequestParam
(
"orderNo"
)
@NotBlank
(
message
=
"订单编号不能为空"
)
String
orderNo
);
@PostMapping
(
value
=
{
"clx-performance/feign/orderChild/cancelOrderChild"
})
Result
<
Object
>
cancelOrderChild
(
@RequestBody
@Validated
CancelOrderGoodsParam
param
);
}
performance-api/src/main/java/com/clx/performance/param/feign/CancelOrderGoodsParam.java
浏览文件 @
7fd94dcc
...
...
@@ -4,9 +4,11 @@ import io.swagger.annotations.ApiModelProperty;
import
lombok.Getter
;
import
lombok.Setter
;
import
javax.validation.constraints.DecimalMax
;
import
javax.validation.constraints.NotBlank
;
import
javax.validation.constraints.NotNull
;
import
javax.validation.constraints.Size
;
import
java.math.BigDecimal
;
@Getter
...
...
@@ -24,4 +26,19 @@ public class CancelOrderGoodsParam {
@Size
(
max
=
32
,
message
=
"操作人名称最多输入32个字符"
)
@ApiModelProperty
(
"操作人名称"
)
private
String
createName
;
@NotNull
(
message
=
"调整货物吨数不能为空"
)
@ApiModelProperty
(
"调前煤炭交易数(吨)"
)
@DecimalMax
(
value
=
"999999999999.99"
,
message
=
"调整货物吨数不能大于999999999999.99吨"
)
private
BigDecimal
beforeWeight
;
@NotNull
(
message
=
"调整货物吨数不能为空"
)
@ApiModelProperty
(
"调后煤炭交易数(吨)"
)
@DecimalMax
(
value
=
"999999999999.99"
,
message
=
"调整货物吨数不能大于999999999999.99吨"
)
private
BigDecimal
afterWeight
;
@NotNull
(
message
=
"已挂单的吨数不能为空"
)
@ApiModelProperty
(
"已挂单的吨数(吨)"
)
@DecimalMax
(
value
=
"999999999999.99"
,
message
=
"调整货物吨数不能大于999999999999.99吨"
)
private
BigDecimal
orderedWeight
;
}
performance-web/src/main/java/com/clx/performance/controller/feign/OrderChildFeignController.java
浏览文件 @
7fd94dcc
...
...
@@ -2,6 +2,7 @@ package com.clx.performance.controller.feign;
import
cn.hutool.core.collection.CollectionUtil
;
import
com.clx.performance.model.OrderChild
;
import
com.clx.performance.param.feign.CancelOrderGoodsParam
;
import
com.clx.performance.service.LastTruckService
;
import
com.clx.performance.service.OrderChildService
;
import
com.clx.performance.service.child.FeignOrderChildService
;
...
...
@@ -88,4 +89,11 @@ public class OrderChildFeignController {
return
Result
.
ok
(
settlementOwnerDetailService
.
getInvoiceType
(
orderNo
));
}
@ApiOperation
(
value
=
"取消运单"
,
notes
=
"<br>By:李瑞新"
)
@PostMapping
({
"/cancelOrderChild"
})
Result
<
Object
>
cancelOrderChild
(
@RequestBody
@Validated
CancelOrderGoodsParam
param
)
{
orderChildService
.
cancelOrderChilds
(
param
);
return
Result
.
ok
();
}
}
performance-web/src/main/java/com/clx/performance/dao/OrderChildDao.java
浏览文件 @
7fd94dcc
...
...
@@ -192,6 +192,8 @@ public interface OrderChildDao extends BaseDao<OrderChildMapper, OrderChild, Int
List
<
LineWarnOrderChildStatisticsDTO
>
sumLoadNumByOrderGoodsNoList
(
List
<
String
>
orderGoodsNoList
);
List
<
LineWarnOrderChildStatisticsDTO
>
sumArriveRecieveNumByOrderGoodsNoList
(
List
<
String
>
orderGoodsNoList
);
List
<
LineWarnOrderChildStatisticsDTO
>
sumUnloadNumByOrderGoodsNoList
(
List
<
String
>
orderGoodsNoList
);
List
<
OrderChild
>
listByOrderNo
(
String
orderNo
,
List
<
Integer
>
status
);
void
updateBatchOwnerCancel
(
List
<
String
>
childNos
);
}
performance-web/src/main/java/com/clx/performance/dao/impl/OrderChildDaoImpl.java
浏览文件 @
7fd94dcc
...
...
@@ -634,4 +634,23 @@ public class OrderChildDaoImpl extends BaseDaoImpl<OrderChildMapper, OrderChild,
return
baseMapper
.
sumUnloadNumByOrderGoodsNoList
(
orderGoodsNoList
);
}
@Override
public
List
<
OrderChild
>
listByOrderNo
(
String
orderNo
,
List
<
Integer
>
status
)
{
return
list
(
lQrWrapper
()
.
eq
(
OrderChild
::
getOrderNo
,
orderNo
)
.
in
(
OrderChild
::
getStatus
,
status
)
);
}
@Override
public
void
updateBatchOwnerCancel
(
List
<
String
>
childNos
){
update
(
lUdWrapper
()
.
in
(
OrderChild:
:
getChildNo
,
childNos
)
.
set
(
OrderChild:
:
getStatus
,
OrderChildEnum
.
Status
.
OWNER_CANCEL
.
getCode
())
.
set
(
OrderChild:
:
getCancelTime
,
LocalDateTime
.
now
())
.
set
(
OrderChild:
:
getFinishTime
,
LocalDateTime
.
now
())
.
set
(
OrderChild:
:
getCancelRemark
,
"货主减少拉运吨数,系统自动取消"
)
);
}
}
performance-web/src/main/java/com/clx/performance/service/OrderChildLogService.java
浏览文件 @
7fd94dcc
package
com
.
clx
.
performance
.
service
;
import
com.clx.performance.model.OrderChild
;
import
com.clx.performance.model.OrderChildLog
;
import
java.util.List
;
...
...
@@ -13,4 +14,6 @@ public interface OrderChildLogService {
List
<
OrderChildLog
>
getOrderChildNodeLog
(
String
childNo
);
void
saveCarrierOrderChildLog
(
String
childNo
,
Integer
type
,
String
remark
,
Long
createBy
,
String
createName
);
void
saveBatchOrderChildLog
(
List
<
OrderChildLog
>
logs
);
}
performance-web/src/main/java/com/clx/performance/service/OrderChildService.java
浏览文件 @
7fd94dcc
...
...
@@ -5,6 +5,7 @@ import com.clx.performance.model.OrderChild;
import
com.clx.performance.model.OrderGoods
;
import
com.clx.performance.param.app.*
;
import
com.clx.performance.param.app.owner.PageOwnerOrderChildListParam
;
import
com.clx.performance.param.feign.CancelOrderGoodsParam
;
import
com.clx.performance.param.pc.OrderChildCarrierCancelParam
;
import
com.clx.performance.param.pc.PageCarrierOrderChildParam
;
import
com.clx.performance.param.pc.PageMonitorOrderChildQCParam
;
...
...
@@ -96,4 +97,6 @@ public interface OrderChildService {
OrderChildVO
getOwnerOrderChildInfo
(
String
childNo
);
Integer
getOrderChildCheck
(
OrderChildCheckParam
param
);
void
cancelOrderChilds
(
CancelOrderGoodsParam
param
);
}
performance-web/src/main/java/com/clx/performance/service/impl/OrderChildLogServiceImpl.java
浏览文件 @
7fd94dcc
...
...
@@ -48,4 +48,8 @@ public class OrderChildLogServiceImpl implements OrderChildLogService {
}
@Override
public
void
saveBatchOrderChildLog
(
List
<
OrderChildLog
>
logs
)
{
orderChildLogDao
.
saveBatchList
(
logs
);
}
}
performance-web/src/main/java/com/clx/performance/service/impl/OrderChildServiceImpl.java
浏览文件 @
7fd94dcc
...
...
@@ -38,6 +38,7 @@ import com.clx.performance.model.breakcontract.BreakContractDriverRecord;
import
com.clx.performance.model.settle.SettlementOwnerDetail
;
import
com.clx.performance.param.app.*
;
import
com.clx.performance.param.app.owner.PageOwnerOrderChildListParam
;
import
com.clx.performance.param.feign.CancelOrderGoodsParam
;
import
com.clx.performance.param.pc.OrderChildCarrierCancelParam
;
import
com.clx.performance.param.pc.PageCarrierOrderChildParam
;
import
com.clx.performance.param.pc.PageMonitorOrderChildQCParam
;
...
...
@@ -2650,4 +2651,75 @@ public class OrderChildServiceImpl implements OrderChildService {
}
return
new
Page
<>();
}
@Override
public
void
cancelOrderChilds
(
CancelOrderGoodsParam
param
)
{
BigDecimal
orderedWeight
=
param
.
getOrderedWeight
();
//已挂的吨数
BigDecimal
availableWeight
=
param
.
getAfterWeight
();
//可拉运吨数
List
<
Integer
>
arriveAfterStatus
=
new
ArrayList
<>();
//到达货源地后运单状态
arriveAfterStatus
.
add
(
OrderChildEnum
.
Status
.
ARRIVE_SEND
.
getCode
());
arriveAfterStatus
.
add
(
OrderChildEnum
.
Status
.
LOAD
.
getCode
());
arriveAfterStatus
.
add
(
OrderChildEnum
.
Status
.
GO_TO_RECEIVE
.
getCode
());
arriveAfterStatus
.
add
(
OrderChildEnum
.
Status
.
ARRIVE_RECEIVE
.
getCode
());
arriveAfterStatus
.
add
(
OrderChildEnum
.
Status
.
UNLOAD
.
getCode
());
arriveAfterStatus
.
add
(
OrderChildEnum
.
Status
.
UNSETTLE
.
getCode
());
arriveAfterStatus
.
add
(
OrderChildEnum
.
Status
.
COMPLETE
.
getCode
());
List
<
Integer
>
arriveBeforeStatus
=
new
ArrayList
<>();
//未到达货源地运单状态
arriveBeforeStatus
.
add
(
OrderChildEnum
.
Status
.
CREATED
.
getCode
());
arriveBeforeStatus
.
add
(
OrderChildEnum
.
Status
.
PAY
.
getCode
());
arriveBeforeStatus
.
add
(
OrderChildEnum
.
Status
.
GO_TO_SEND
.
getCode
());
List
<
String
>
childNos
;
//取消运单
//未到达货源地之前运单(不包括取消)
List
<
OrderChild
>
arriveBeforeOrderChild
=
orderChildDao
.
listByOrderNo
(
param
.
getOrderNo
(),
arriveBeforeStatus
);
log
.
info
(
"arriveBeforeOrderChild:{}"
,
arriveBeforeOrderChild
);
if
(
orderedWeight
.
compareTo
(
availableWeight
)
>
0
){
//已挂吨数大于可拉运吨数 取消未到达货源地的运单
log
.
info
(
"已挂吨数大于可拉运吨数,取消未到达货源地的运单:{}"
,
orderedWeight
.
compareTo
(
availableWeight
));
//到达货源地之后运单(不包括取消)
List
<
OrderChild
>
arriveAfterOrderChild
=
orderChildDao
.
listByOrderNo
(
param
.
getOrderNo
(),
arriveAfterStatus
);
log
.
info
(
"arriveAfterOrderChild:{}"
,
arriveAfterOrderChild
);
BigDecimal
arriveAfterWeight
=
arriveAfterOrderChild
.
stream
().
map
(
OrderChild:
:
getWeight
)
.
reduce
(
BigDecimal:
:
add
).
orElse
(
BigDecimal
.
ZERO
);
//总拉运吨数
log
.
info
(
"总拉运吨数:{}"
,
arriveAfterWeight
);
if
(
availableWeight
.
compareTo
(
arriveAfterWeight
)
>
0
){
//可拉运吨数大于运单拉运吨数 取消未到达货源地的运单
log
.
info
(
"可拉运吨数大于运单拉运吨数,取消未到达货源地的运单:{}"
,
availableWeight
.
compareTo
(
arriveAfterWeight
));
BigDecimal
weight
=
BigDecimal
.
ZERO
;
//运单累加吨数
BigDecimal
subtract
=
availableWeight
.
subtract
(
arriveAfterWeight
);
//可拉运吨数-运单拉运吨数=司机可以接单拉运吨数
List
<
String
>
notCancelChildNos
=
new
ArrayList
<>();
//不需要取消的运单
for
(
OrderChild
oc:
arriveBeforeOrderChild
){
weight
=
weight
.
add
(
oc
.
getWeight
());
if
(
weight
.
compareTo
(
subtract
)
>=
0
){
break
;
}
notCancelChildNos
.
add
(
oc
.
getChildNo
());
//获取可以取消的运单
}
log
.
info
(
"notCancelChildNos:{}"
,
notCancelChildNos
);
childNos
=
arriveBeforeOrderChild
.
stream
().
map
(
OrderChild:
:
getChildNo
).
collect
(
Collectors
.
toList
());
//未到达货源地
childNos
.
removeAll
(
notCancelChildNos
);
//剔除不需要取消的运单
}
else
{
childNos
=
arriveBeforeOrderChild
.
stream
().
map
(
OrderChild:
:
getChildNo
).
collect
(
Collectors
.
toList
());
//未到达货源地
}
log
.
info
(
"批量取消运单:childNos:{}"
,
childNos
);
//批量取消运单
if
(
CollectionUtils
.
isNotEmpty
(
childNos
)){
orderChildDao
.
updateBatchOwnerCancel
(
childNos
);
//保存日志
List
<
OrderChildLog
>
logs
=
new
ArrayList
<>();
OrderChildLog
log
=
null
;
for
(
String
string
:
childNos
){
log
=
new
OrderChildLog
();
log
.
setChildNo
(
string
);
log
.
setType
(
OrderChildLogEnum
.
Type
.
OWNER_CANCEL
.
getCode
());
log
.
setRemark
(
OrderChildLogEnum
.
Type
.
OWNER_CANCEL
.
getMsg
());
log
.
setCreateBy
(
param
.
getCreateBy
());
log
.
setCreateName
(
param
.
getCreateName
());
logs
.
add
(
log
);
}
orderChildLogService
.
saveBatchOrderChildLog
(
logs
);
}
}
}
}
performance-web/src/main/java/com/clx/performance/service/impl/OrderGoodsServiceImpl.java
浏览文件 @
7fd94dcc
...
...
@@ -1010,11 +1010,14 @@ public class OrderGoodsServiceImpl implements OrderGoodsService, InitializingBea
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
void
cancelOrderGoods
(
CancelOrderGoodsParam
param
)
{
log
.
info
(
"取消货单:{}"
,
param
);
//取消货单
orderGoodsDao
.
cancelOrderGoods
(
param
.
getOrderNo
());
//批量保存货单日志
List
<
OrderGoods
>
orderGoodsListByOrderNo
=
orderGoodsDao
.
getOrderGoodsListByOrderNo
(
param
.
getOrderNo
());
log
.
info
(
"orderGoodsListByOrderNo:{}"
,
orderGoodsListByOrderNo
);
List
<
OrderGoodsLog
>
orderGoodsLogs
=
new
ArrayList
<>();
OrderGoodsLog
orderGoodsLog
=
null
;
for
(
OrderGoods
orderGoods:
orderGoodsListByOrderNo
){
...
...
李瑞鑫
@liruixin
被提及 commit
19ec6144
·
11月 12, 2024
被提及 commit
19ec6144
被提及 commit 19ec6144942d51607b1f4f52b7d4191c05341ca7
切换提交列表
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论