Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
C
clx-performance
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
姜武杰
clx-performance
Commits
c204bc05
提交
c204bc05
authored
9月 27, 2024
作者:
马路路
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
履约进度表模块-履约进度列表接口-查询异常上报信息
上级
7a1e127f
隐藏空白字符变更
内嵌
并排
正在显示
1 个修改的文件
包含
44 行增加
和
0 行删除
+44
-0
PerformanceProgressServiceImpl.java
...formance/service/impl/PerformanceProgressServiceImpl.java
+44
-0
没有找到文件。
performance-web/src/main/java/com/clx/performance/service/impl/PerformanceProgressServiceImpl.java
浏览文件 @
c204bc05
...
...
@@ -7,7 +7,10 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import
com.clx.open.sdk.callback.OpenCallBackClient
;
import
com.clx.open.sdk.callback.message.OrderInfoMessage
;
import
com.clx.open.sdk.callback.message.TransportExceptionReportMessage
;
import
com.clx.open.sdk.request.action.InternalReportRouteExceptionAction
;
import
com.clx.open.sdk.request.dto.InternalReportRouteExceptionDTO
;
import
com.clx.order.enums.SyncPlatformEnum
;
import
com.clx.order.feign.InternalReportRouteExceptionFeign
;
import
com.clx.order.feign.OrderFeign
;
import
com.clx.order.vo.feign.FeignAddressVO
;
import
com.clx.order.vo.feign.FeignOrderInfoVO
;
...
...
@@ -61,6 +64,7 @@ import java.math.BigDecimal;
import
java.math.RoundingMode
;
import
java.time.LocalDateTime
;
import
java.util.*
;
import
java.util.stream.Collectors
;
/**
...
...
@@ -93,6 +97,7 @@ public class PerformanceProgressServiceImpl implements PerformanceProgressServi
public
static
List
<
Integer
>
allStatusList
;
private
final
ExportFieldStruct
exportFieldStruct
;
private
final
ExportFieldDao
exportFieldDao
;
private
final
InternalReportRouteExceptionFeign
internalReportRouteExceptionFeign
;
static
{
inProcessStatusList
=
Arrays
.
asList
(
...
...
@@ -142,6 +147,11 @@ public class PerformanceProgressServiceImpl implements PerformanceProgressServi
List
<
PerformanceProgressVO
>
records
=
performanceProgressStruct
.
convertList
(
page
.
getRecords
());
// 筛选出OrderNo集合
List
<
String
>
orderNoList
=
records
.
stream
().
map
(
PerformanceProgressVO:
:
getOrderNo
).
collect
(
Collectors
.
toList
());
// 获取内部线路异常信息Map集合
Map
<
String
,
String
>
internalReportRouteExceptionMap
=
this
.
getInternalReportRouteException
(
orderNoList
);
records
.
forEach
(
item
->{
if
(
StringUtils
.
isNotBlank
(
item
.
getSeniorLogisticsManagerName
())){
item
.
setSeniorLogisticsManagerName
(
Joiner
.
on
(
","
)
...
...
@@ -161,6 +171,18 @@ public class PerformanceProgressServiceImpl implements PerformanceProgressServi
3
,
RoundingMode
.
HALF_UP
).
multiply
(
new
BigDecimal
(
100
));
item
.
setTaskCompleteRatio
(
taskCompleteRatio
);
}
// 通过订单关联订单异常上报信息
if
(
StringUtils
.
isNotBlank
(
item
.
getAbnormalRemark
())
&&
StringUtils
.
isNotBlank
(
item
.
getOrderNo
())
&&
internalReportRouteExceptionMap
.
containsKey
(
item
.
getOrderNo
())
)
{
// 履约进度表中异常备注同步该订单的内部【异常上报】信息,多次上报与编辑中的异常备注间,用”/“进行分割
// 拼接远程调用的异常信息
StringBuilder
stringBuilder
=
new
StringBuilder
();
stringBuilder
.
append
(
item
.
getAbnormalRemark
())
.
append
(
"/"
)
.
append
(
internalReportRouteExceptionMap
.
get
(
item
.
getOrderNo
()));
item
.
setAbnormalRemark
(
stringBuilder
.
toString
());
}
}
);
...
...
@@ -668,4 +690,26 @@ public class PerformanceProgressServiceImpl implements PerformanceProgressServi
//接单率 = 接单吨数 / 挂单吨数
return
orderedWeight
.
divide
(
pendingWeight
,
3
,
RoundingMode
.
HALF_UP
).
multiply
(
new
BigDecimal
(
"100"
));
}
/**
* 通过远程代用clx-order服务获取“线路异常上报”数据,构建map集合
*
* @param orderNoList
* @return
*/
public
Map
<
String
,
String
>
getInternalReportRouteException
(
List
<
String
>
orderNoList
)
{
// 构建查询参数
InternalReportRouteExceptionAction
action
=
new
InternalReportRouteExceptionAction
();
action
.
setOrderNoList
(
orderNoList
);
// 远程查询,异常上报信息
List
<
InternalReportRouteExceptionDTO
>
list
=
Optional
.
of
(
internalReportRouteExceptionFeign
.
getInternalReportRouteExceptionList
(
action
)).
filter
(
Result:
:
succeed
)
.
map
(
Result:
:
getData
).
orElse
(
null
);
// 如果为空,返回空map集合
if
(
CollectionUtils
.
isEmpty
(
list
))
{
return
new
HashMap
<>();
}
// 以订单编号作为key,多条异常上报信息作为value,构建map集合
return
list
.
stream
().
collect
(
Collectors
.
toMap
(
InternalReportRouteExceptionDTO:
:
getOrderNo
,
InternalReportRouteExceptionDTO:
:
getExceptionInfo
));
}
}
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论