Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
C
clx-performance
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
姜武杰
clx-performance
Commits
8fe636df
提交
8fe636df
authored
5月 11, 2024
作者:
艾庆国
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
运单预警
上级
1fc42245
显示空白字符变更
内嵌
并排
正在显示
6 个修改的文件
包含
209 行增加
和
0 行删除
+209
-0
OrderChildDao.java
.../src/main/java/com/clx/performance/dao/OrderChildDao.java
+7
-0
OrderChildDaoImpl.java
.../java/com/clx/performance/dao/impl/OrderChildDaoImpl.java
+16
-0
OrderChildMapper.java
...ain/java/com/clx/performance/mapper/OrderChildMapper.java
+30
-0
VehicleWarnDelayWarnServiceImpl.java
...ice/impl/vehiclewarn/VehicleWarnDelayWarnServiceImpl.java
+115
-0
VehicleWarnMqHandlerServiceImpl.java
...ice/impl/vehiclewarn/VehicleWarnMqHandlerServiceImpl.java
+30
-0
VehicleWarnDelayWarnService.java
...ance/service/vehiclewarn/VehicleWarnDelayWarnService.java
+11
-0
没有找到文件。
performance-web/src/main/java/com/clx/performance/dao/OrderChildDao.java
浏览文件 @
8fe636df
...
@@ -166,4 +166,11 @@ public interface OrderChildDao extends BaseDao<OrderChildMapper, OrderChild, Int
...
@@ -166,4 +166,11 @@ public interface OrderChildDao extends BaseDao<OrderChildMapper, OrderChild, Int
Page
<
OrderChild
>
getMonthAgoByUserNo
(
Long
userNo
,
LocalDateTime
monthAgo
,
PageParam
param
);
Page
<
OrderChild
>
getMonthAgoByUserNo
(
Long
userNo
,
LocalDateTime
monthAgo
,
PageParam
param
);
IPage
<
OrderChild
>
pageOwnerOrderChildList
(
PageOwnerOrderChildListParam
param
);
IPage
<
OrderChild
>
pageOwnerOrderChildList
(
PageOwnerOrderChildListParam
param
);
Integer
loadTimeAvg
(
Integer
sendAddressId
,
Integer
receiveAddressId
,
Integer
sendSystemAddressId
,
Integer
receiveSystemAddressId
,
String
beginTime
);
Integer
unloadTimeAvg
(
Integer
sendAddressId
,
Integer
receiveAddressId
,
Integer
sendSystemAddressId
,
Integer
receiveSystemAddressId
,
String
beginTime
);
}
}
performance-web/src/main/java/com/clx/performance/dao/impl/OrderChildDaoImpl.java
浏览文件 @
8fe636df
...
@@ -538,4 +538,20 @@ public class OrderChildDaoImpl extends BaseDaoImpl<OrderChildMapper, OrderChild,
...
@@ -538,4 +538,20 @@ public class OrderChildDaoImpl extends BaseDaoImpl<OrderChildMapper, OrderChild,
query
.
orderByDesc
(
OrderChild
::
getCreateTime
);
query
.
orderByDesc
(
OrderChild
::
getCreateTime
);
return
baseMapper
.
selectPage
(
Page
.
of
(
param
.
getPage
(),
param
.
getPageSize
()),
query
);
return
baseMapper
.
selectPage
(
Page
.
of
(
param
.
getPage
(),
param
.
getPageSize
()),
query
);
}
}
@Override
public
Integer
loadTimeAvg
(
Integer
sendAddressId
,
Integer
receiveAddressId
,
Integer
sendSystemAddressId
,
Integer
receiveSystemAddressId
,
String
beginTime
)
{
return
baseMapper
.
loadTimeAvg
(
sendAddressId
,
receiveAddressId
,
sendSystemAddressId
,
receiveSystemAddressId
,
beginTime
);
}
@Override
public
Integer
unloadTimeAvg
(
Integer
sendAddressId
,
Integer
receiveAddressId
,
Integer
sendSystemAddressId
,
Integer
receiveSystemAddressId
,
String
beginTime
)
{
return
baseMapper
.
unloadTimeAvg
(
sendAddressId
,
receiveAddressId
,
sendSystemAddressId
,
receiveSystemAddressId
,
beginTime
);
}
}
}
performance-web/src/main/java/com/clx/performance/mapper/OrderChildMapper.java
浏览文件 @
8fe636df
...
@@ -22,6 +22,7 @@ import java.util.List;
...
@@ -22,6 +22,7 @@ import java.util.List;
@Mapper
@Mapper
public
interface
OrderChildMapper
extends
BaseMapper
<
OrderChild
>
{
public
interface
OrderChildMapper
extends
BaseMapper
<
OrderChild
>
{
String
TABLE
=
"order_child"
;
/**
/**
* 司机运单列表
* 司机运单列表
...
@@ -85,4 +86,32 @@ public interface OrderChildMapper extends BaseMapper<OrderChild> {
...
@@ -85,4 +86,32 @@ public interface OrderChildMapper extends BaseMapper<OrderChild> {
@SelectProvider
(
type
=
OrderChildSqlProvider
.
class
,
method
=
"getLossNet"
)
@SelectProvider
(
type
=
OrderChildSqlProvider
.
class
,
method
=
"getLossNet"
)
List
<
Double
>
getLossNet
(
@Param
(
"param"
)
OrderChildReportParam
param
);
List
<
Double
>
getLossNet
(
@Param
(
"param"
)
OrderChildReportParam
param
);
@Select
(
"<script>"
+
"select sum(TIMESTAMPDIFF(SECOND,load_time,arrive_send_time)) from "
+
TABLE
+
" where load_time is not null and and pay_time >= #{beginTime} "
+
" <if test = 'sendSystemAddressId != null'>and send_system_address_id = #{sendSystemAddressId} </if> "
+
" <if test = 'receiveSystemAddressId != null'>and receive_system_address_id = #{receiveSystemAddressId} </if> "
+
" <if test = 'sendSystemAddressId == null'>and send_address_id = #{sendAddressId} </if> "
+
" <if test = 'receiveSystemAddressId == null'>and receive_address_id = #{receiveAddressId} </if> "
+
" </script>"
)
Integer
loadTimeAvg
(
Integer
sendAddressId
,
Integer
receiveAddressId
,
Integer
sendSystemAddressId
,
Integer
receiveSystemAddressId
,
String
beginTime
);
@Select
(
"<script>"
+
"select sum(TIMESTAMPDIFF(SECOND,unload_time,arrive_receive_time)) from "
+
TABLE
+
" where unload_time is not null and and pay_time >= #{beginTime} "
+
" <if test = 'sendSystemAddressId != null'>and send_system_address_id = #{sendSystemAddressId} </if> "
+
" <if test = 'receiveSystemAddressId != null'>and receive_system_address_id = #{receiveSystemAddressId} </if> "
+
" <if test = 'sendSystemAddressId == null'>and send_address_id = #{sendAddressId} </if> "
+
" <if test = 'receiveSystemAddressId == null'>and receive_address_id = #{receiveAddressId} </if> "
+
" </script>"
)
Integer
unloadTimeAvg
(
Integer
sendAddressId
,
Integer
receiveAddressId
,
Integer
sendSystemAddressId
,
Integer
receiveSystemAddressId
,
String
beginTime
);
}
}
\ No newline at end of file
performance-web/src/main/java/com/clx/performance/service/impl/vehiclewarn/VehicleWarnDelayWarnServiceImpl.java
0 → 100644
浏览文件 @
8fe636df
package
com
.
clx
.
performance
.
service
.
impl
.
vehiclewarn
;
import
com.clx.performance.dao.OrderChildDao
;
import
com.clx.performance.dao.vehiclewarn.VehicleWarnConfigDao
;
import
com.clx.performance.dao.vehiclewarn.VehicleWarnInfoDao
;
import
com.clx.performance.dto.vehiclewarn.VehicleWarnCommonInfoDTO
;
import
com.clx.performance.enums.vehiclewarn.VehicleWarnConfigEnum
;
import
com.clx.performance.enums.vehiclewarn.VehicleWarnInfoEnum
;
import
com.clx.performance.model.OrderChild
;
import
com.clx.performance.model.vehiclewarn.VehicleWarnChild
;
import
com.clx.performance.model.vehiclewarn.VehicleWarnConfig
;
import
com.clx.performance.model.vehiclewarn.VehicleWarnInfo
;
import
com.clx.performance.service.vehiclewarn.VehicleWarnCommonService
;
import
com.clx.performance.service.vehiclewarn.VehicleWarnDelayWarnService
;
import
com.clx.performance.utils.LocalDateTimeUtils
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
java.time.LocalDateTime
;
import
java.util.List
;
import
java.util.Objects
;
@Slf4j
@Service
public
class
VehicleWarnDelayWarnServiceImpl
implements
VehicleWarnDelayWarnService
{
// 装卸车默认时间(min)
private
static
final
Integer
LOAD_UNLOAD_TIME_DEFAULT
=
60
;
@Autowired
private
OrderChildDao
orderChildDao
;
@Autowired
private
VehicleWarnConfigDao
vehicleWarnConfigDao
;
@Autowired
private
VehicleWarnInfoDao
vehicleWarnInfoDao
;
@Autowired
private
VehicleWarnCommonService
vehicleWarnCommonService
;
/**
* 运单延误
*/
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Override
public
void
delayTimeout
(
OrderChild
orderChild
,
VehicleWarnChild
vehicleWarnChild
,
VehicleWarnCommonInfoDTO
commonInfo
){
// 拉运结束时间
LocalDateTime
transportEndTime
=
commonInfo
.
getTransportEndTime
();
// 预警到达货源地时间
Integer
sendAddressTime
=
commonInfo
.
getSendAddressTime
();
// 装车时间
Integer
loadTime
=
getLoadTime
(
orderChild
.
getSendAddressId
(),
orderChild
.
getReceiveAddressId
(),
orderChild
.
getSendSystemAddressId
(),
orderChild
.
getReceiveSystemAddressId
(),
commonInfo
.
getCurrentTime
());
// 到目的地时间
Integer
expectTime
=
vehicleWarnChild
.
getArriveReceiveExpectTime
();
// 卸车时间
Integer
unloadTime
=
getUnloadTime
(
orderChild
.
getSendAddressId
(),
orderChild
.
getReceiveAddressId
(),
orderChild
.
getSendSystemAddressId
(),
orderChild
.
getReceiveSystemAddressId
(),
commonInfo
.
getCurrentTime
());
// 计算需要的时间
Integer
needTime
=
sendAddressTime
+
loadTime
+
expectTime
+
unloadTime
;
// 超时
if
(
transportEndTime
.
isAfter
(
LocalDateTime
.
now
().
plusMinutes
(
needTime
))){
return
;}
List
<
VehicleWarnConfig
>
vehicleWarnConfigList
=
vehicleWarnConfigDao
.
listByWarnType
(
VehicleWarnConfigEnum
.
WarnType
.
DELAY
.
getCode
());
if
(
vehicleWarnConfigList
.
isEmpty
())
{
return
;}
for
(
VehicleWarnConfig
item
:
vehicleWarnConfigList
)
{
doDelayTimeout
(
orderChild
,
vehicleWarnChild
,
item
);
}
}
private
void
doDelayTimeout
(
OrderChild
orderChild
,
VehicleWarnChild
vehicleWarnChild
,
VehicleWarnConfig
vehicleWarnConfig
){
VehicleWarnInfo
vehicleWarnInfo
=
vehicleWarnInfoDao
.
findByChildNoAndWarnConfigId
(
vehicleWarnChild
.
getChildNo
(),
vehicleWarnConfig
.
getId
()).
orNull
();
if
(
vehicleWarnInfo
!=
null
&&
Objects
.
equals
(
vehicleWarnInfo
.
getStatus
(),
VehicleWarnInfoEnum
.
Status
.
RESOLVE
.
getCode
())){
return
;
}
// 暂停检测
boolean
suspend
=
vehicleWarnCommonService
.
suspendCheck
(
vehicleWarnChild
,
vehicleWarnConfig
.
getId
());
if
(
suspend
)
{
return
;}
// 更新
vehicleWarnCommonService
.
vehicleWarnInfoUpdate
(
orderChild
,
vehicleWarnInfo
,
vehicleWarnConfig
);
}
/**
* 获取装车平均时间(min)
*/
private
Integer
getLoadTime
(
Integer
sendAddressId
,
Integer
receiveAddressId
,
Integer
sendSystemAddressId
,
Integer
receiveSystemAddressId
,
LocalDateTime
now
){
Integer
time
=
orderChildDao
.
loadTimeAvg
(
sendAddressId
,
receiveAddressId
,
sendSystemAddressId
,
receiveSystemAddressId
,
LocalDateTimeUtils
.
formatTime
(
now
.
minusDays
(
30
)));
if
(
time
==
null
)
{
return
LOAD_UNLOAD_TIME_DEFAULT
;}
return
time
/
60
;
}
/**
* 获取卸车平均时间(min)
*/
private
Integer
getUnloadTime
(
Integer
sendAddressId
,
Integer
receiveAddressId
,
Integer
sendSystemAddressId
,
Integer
receiveSystemAddressId
,
LocalDateTime
now
){
Integer
time
=
orderChildDao
.
unloadTimeAvg
(
sendAddressId
,
receiveAddressId
,
sendSystemAddressId
,
receiveSystemAddressId
,
LocalDateTimeUtils
.
formatTime
(
now
.
minusDays
(
30
)));
if
(
time
==
null
)
{
return
LOAD_UNLOAD_TIME_DEFAULT
;}
return
time
/
60
;
}
}
performance-web/src/main/java/com/clx/performance/service/impl/vehiclewarn/VehicleWarnMqHandlerServiceImpl.java
浏览文件 @
8fe636df
...
@@ -68,6 +68,8 @@ public class VehicleWarnMqHandlerServiceImpl implements VehicleWarnMqHandlerServ
...
@@ -68,6 +68,8 @@ public class VehicleWarnMqHandlerServiceImpl implements VehicleWarnMqHandlerServ
private
VehicleWarnParkWarnService
vehicleWarnParkWarnService
;
private
VehicleWarnParkWarnService
vehicleWarnParkWarnService
;
@Autowired
@Autowired
private
OrderService
orderService
;
private
OrderService
orderService
;
@Autowired
private
VehicleWarnDelayWarnService
vehicleWarnDelayWarnService
;
@Override
@Override
public
void
orderChildAdd
(
VehicleWarnChildAddMqParam
mq
)
{
public
void
orderChildAdd
(
VehicleWarnChildAddMqParam
mq
)
{
...
@@ -182,7 +184,11 @@ public class VehicleWarnMqHandlerServiceImpl implements VehicleWarnMqHandlerServ
...
@@ -182,7 +184,11 @@ public class VehicleWarnMqHandlerServiceImpl implements VehicleWarnMqHandlerServ
||
Objects
.
equals
(
orderChild
.
getStatus
(),
OrderChildEnum
.
Status
.
LOAD
.
getCode
())
||
Objects
.
equals
(
orderChild
.
getStatus
(),
OrderChildEnum
.
Status
.
LOAD
.
getCode
())
||
Objects
.
equals
(
orderChild
.
getStatus
(),
OrderChildEnum
.
Status
.
GO_TO_RECEIVE
.
getCode
())
||
Objects
.
equals
(
orderChild
.
getStatus
(),
OrderChildEnum
.
Status
.
GO_TO_RECEIVE
.
getCode
())
){
){
try
{
vehicleWarnReceiveAddressWarnService
.
gotoReceiveAddressTimeout
(
orderChild
,
vehicleWarnChild
,
commonInfo
);
vehicleWarnReceiveAddressWarnService
.
gotoReceiveAddressTimeout
(
orderChild
,
vehicleWarnChild
,
commonInfo
);
}
catch
(
Exception
e
){
log
.
info
(
"前往目的地超时错误, msg:{}"
,
ExceptionUtils
.
getStackTrace
(
e
));
}
}
}
// 到达目的地超时
// 到达目的地超时
...
@@ -190,7 +196,11 @@ public class VehicleWarnMqHandlerServiceImpl implements VehicleWarnMqHandlerServ
...
@@ -190,7 +196,11 @@ public class VehicleWarnMqHandlerServiceImpl implements VehicleWarnMqHandlerServ
||
Objects
.
equals
(
orderChild
.
getStatus
(),
OrderChildEnum
.
Status
.
LOAD
.
getCode
())
||
Objects
.
equals
(
orderChild
.
getStatus
(),
OrderChildEnum
.
Status
.
LOAD
.
getCode
())
||
Objects
.
equals
(
orderChild
.
getStatus
(),
OrderChildEnum
.
Status
.
GO_TO_RECEIVE
.
getCode
())
||
Objects
.
equals
(
orderChild
.
getStatus
(),
OrderChildEnum
.
Status
.
GO_TO_RECEIVE
.
getCode
())
){
){
try
{
vehicleWarnReceiveAddressWarnService
.
arriveReceiveAddressTimeout
(
orderChild
,
vehicleWarnChild
,
commonInfo
);
vehicleWarnReceiveAddressWarnService
.
arriveReceiveAddressTimeout
(
orderChild
,
vehicleWarnChild
,
commonInfo
);
}
catch
(
Exception
e
){
log
.
info
(
"到达目的地超时错误, msg:{}"
,
ExceptionUtils
.
getStackTrace
(
e
));
}
}
}
// 停留超时
// 停留超时
...
@@ -198,7 +208,11 @@ public class VehicleWarnMqHandlerServiceImpl implements VehicleWarnMqHandlerServ
...
@@ -198,7 +208,11 @@ public class VehicleWarnMqHandlerServiceImpl implements VehicleWarnMqHandlerServ
||
Objects
.
equals
(
orderChild
.
getStatus
(),
OrderChildEnum
.
Status
.
LOAD
.
getCode
())
||
Objects
.
equals
(
orderChild
.
getStatus
(),
OrderChildEnum
.
Status
.
LOAD
.
getCode
())
||
Objects
.
equals
(
orderChild
.
getStatus
(),
OrderChildEnum
.
Status
.
GO_TO_RECEIVE
.
getCode
())
||
Objects
.
equals
(
orderChild
.
getStatus
(),
OrderChildEnum
.
Status
.
GO_TO_RECEIVE
.
getCode
())
){
){
try
{
vehicleWarnParkWarnService
.
packTimeout
(
orderChild
,
vehicleWarnChild
,
commonInfo
);
vehicleWarnParkWarnService
.
packTimeout
(
orderChild
,
vehicleWarnChild
,
commonInfo
);
}
catch
(
Exception
e
){
log
.
info
(
"停留超时错误, msg:{}"
,
ExceptionUtils
.
getStackTrace
(
e
));
}
}
}
// 敏感区停留超时
// 敏感区停留超时
...
@@ -206,7 +220,23 @@ public class VehicleWarnMqHandlerServiceImpl implements VehicleWarnMqHandlerServ
...
@@ -206,7 +220,23 @@ public class VehicleWarnMqHandlerServiceImpl implements VehicleWarnMqHandlerServ
||
Objects
.
equals
(
orderChild
.
getStatus
(),
OrderChildEnum
.
Status
.
LOAD
.
getCode
())
||
Objects
.
equals
(
orderChild
.
getStatus
(),
OrderChildEnum
.
Status
.
LOAD
.
getCode
())
||
Objects
.
equals
(
orderChild
.
getStatus
(),
OrderChildEnum
.
Status
.
GO_TO_RECEIVE
.
getCode
())
||
Objects
.
equals
(
orderChild
.
getStatus
(),
OrderChildEnum
.
Status
.
GO_TO_RECEIVE
.
getCode
())
){
){
try
{
vehicleWarnParkWarnService
.
sensitiveAreaParkTimeout
(
orderChild
,
vehicleWarnChild
,
commonInfo
);
vehicleWarnParkWarnService
.
sensitiveAreaParkTimeout
(
orderChild
,
vehicleWarnChild
,
commonInfo
);
}
catch
(
Exception
e
){
log
.
info
(
"敏感区停留超时错误, msg:{}"
,
ExceptionUtils
.
getStackTrace
(
e
));
}
}
// 运单延误
if
(
Objects
.
equals
(
orderChild
.
getStatus
(),
OrderChildEnum
.
Status
.
CREATED
.
getCode
())
||
Objects
.
equals
(
orderChild
.
getStatus
(),
OrderChildEnum
.
Status
.
PAY
.
getCode
())
||
Objects
.
equals
(
orderChild
.
getStatus
(),
OrderChildEnum
.
Status
.
GO_TO_SEND
.
getCode
())
){
try
{
vehicleWarnDelayWarnService
.
delayTimeout
(
orderChild
,
vehicleWarnChild
,
commonInfo
);
}
catch
(
Exception
e
){
log
.
info
(
"运单延误错误, msg:{}"
,
ExceptionUtils
.
getStackTrace
(
e
));
}
}
}
// 更新目的地距离
// 更新目的地距离
...
...
performance-web/src/main/java/com/clx/performance/service/vehiclewarn/VehicleWarnDelayWarnService.java
0 → 100644
浏览文件 @
8fe636df
package
com
.
clx
.
performance
.
service
.
vehiclewarn
;
import
com.clx.performance.dto.vehiclewarn.VehicleWarnCommonInfoDTO
;
import
com.clx.performance.model.OrderChild
;
import
com.clx.performance.model.vehiclewarn.VehicleWarnChild
;
public
interface
VehicleWarnDelayWarnService
{
void
delayTimeout
(
OrderChild
orderChild
,
VehicleWarnChild
vehicleWarnChild
,
VehicleWarnCommonInfoDTO
commonInfo
);
}
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论