Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
C
clx-performance
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
姜武杰
clx-performance
Commits
6ecb0e1f
提交
6ecb0e1f
authored
8月 08, 2024
作者:
jiangwujie
浏览文件
操作
浏览文件
下载
差异文件
merge to dev
上级
144e92ff
c2c0f1ae
隐藏空白字符变更
内嵌
并排
正在显示
8 个修改的文件
包含
117 行增加
和
4 行删除
+117
-4
OrderChildEnum.java
...c/main/java/com/clx/performance/enums/OrderChildEnum.java
+4
-0
PerformanceResultEnum.java
...java/com/clx/performance/enums/PerformanceResultEnum.java
+8
-0
OrderChildLoadRangeCheckResultVO.java
.../performance/vo/app/OrderChildLoadRangeCheckResultVO.java
+26
-0
OrderChildOperateLimitConfigVO.java
...clx/performance/vo/pc/OrderChildOperateLimitConfigVO.java
+4
-0
OrderChildOperateRecordVO.java
.../com/clx/performance/vo/pc/OrderChildOperateRecordVO.java
+2
-1
AppDriverOrderChildController.java
...ormance/controller/app/AppDriverOrderChildController.java
+2
-3
OrderChildService.java
...n/java/com/clx/performance/service/OrderChildService.java
+2
-0
OrderChildServiceImpl.java
...m/clx/performance/service/impl/OrderChildServiceImpl.java
+69
-0
没有找到文件。
performance-api/src/main/java/com/clx/performance/enums/OrderChildEnum.java
浏览文件 @
6ecb0e1f
...
@@ -222,6 +222,10 @@ public enum OrderChildEnum {
...
@@ -222,6 +222,10 @@ public enum OrderChildEnum {
public
static
Optional
<
OperateRecordType
>
getByCode
(
int
code
)
{
public
static
Optional
<
OperateRecordType
>
getByCode
(
int
code
)
{
return
Arrays
.
stream
(
values
()).
filter
(
e
->
e
.
code
==
code
).
findFirst
();
return
Arrays
.
stream
(
values
()).
filter
(
e
->
e
.
code
==
code
).
findFirst
();
}
}
public
static
String
getMsgByCode
(
int
code
)
{
return
getByCode
(
code
).
map
(
OperateRecordType:
:
getMsg
).
orElse
(
null
);
}
}
}
}
}
performance-api/src/main/java/com/clx/performance/enums/PerformanceResultEnum.java
浏览文件 @
6ecb0e1f
...
@@ -191,6 +191,14 @@ public enum PerformanceResultEnum implements ResultEnum {
...
@@ -191,6 +191,14 @@ public enum PerformanceResultEnum implements ResultEnum {
SETTLEMENT_OWNER_DETAIL_COMPANY_ADD_ERROR
(
2112
,
"所选数据存在状态”已处理“的数据,请核实后重新提交"
),
SETTLEMENT_OWNER_DETAIL_COMPANY_ADD_ERROR
(
2112
,
"所选数据存在状态”已处理“的数据,请核实后重新提交"
),
/**
* 运单装车限制配置
*/
ORDER_CHILD_LOAD_LIMIT_CONFIG_ERROR
(
2201
,
"运单装车限制配置错误"
),
TRUCK_LOCATION_OUT_OF_SEND_RANGE
(
2202
,
"请在货源地%d公里范围内上传装车信息"
),
ORDER_CHILD_LOAD_LIMIT_CONFIG_DISABLED
(
2203
,
"运单装车限制配置禁用"
),
GAODE_DISTANCE_ERROR
(
2204
,
"调用高德获取货源地距离失败"
),
TRUCK_LOCATION_ERROR
(
2205
,
"获取卡车位置失败"
),
;
;
private
final
int
code
;
private
final
int
code
;
private
final
String
msg
;
private
final
String
msg
;
...
...
performance-api/src/main/java/com/clx/performance/vo/app/OrderChildLoadRangeCheckResultVO.java
0 → 100644
浏览文件 @
6ecb0e1f
package
com
.
clx
.
performance
.
vo
.
app
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Getter
;
import
lombok.NoArgsConstructor
;
import
lombok.Setter
;
/**
* 是否需要监装结果VO
*/
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
public
class
OrderChildLoadRangeCheckResultVO
{
@ApiModelProperty
(
value
=
"是否需要弹信息 0 不需要 1 需要"
,
example
=
"0"
)
private
Integer
needAlert
;
@ApiModelProperty
(
value
=
"错误码"
,
example
=
"-1"
)
private
Integer
code
;
@ApiModelProperty
(
value
=
"错误信息"
,
example
=
"错误"
)
private
String
msg
;
}
\ No newline at end of file
performance-api/src/main/java/com/clx/performance/vo/pc/OrderChildOperateLimitConfigVO.java
浏览文件 @
6ecb0e1f
...
@@ -27,4 +27,8 @@ public class OrderChildOperateLimitConfigVO {
...
@@ -27,4 +27,8 @@ public class OrderChildOperateLimitConfigVO {
@ApiModelProperty
(
value
=
"启用状态 0 禁用 1 启用"
)
@ApiModelProperty
(
value
=
"启用状态 0 禁用 1 启用"
)
private
Integer
status
;
private
Integer
status
;
public
Integer
allowUploadDistanceMeter
()
{
return
allowUploadDistance
.
multiply
(
new
BigDecimal
(
1000
)).
intValue
();
}
}
}
performance-api/src/main/java/com/clx/performance/vo/pc/OrderChildOperateRecordVO.java
浏览文件 @
6ecb0e1f
...
@@ -48,7 +48,7 @@ public class OrderChildOperateRecordVO {
...
@@ -48,7 +48,7 @@ public class OrderChildOperateRecordVO {
@ApiModelProperty
(
value
=
"操作类型 取消运单 解除装车限制"
,
example
=
"取消运单"
)
@ApiModelProperty
(
value
=
"操作类型 取消运单 解除装车限制"
,
example
=
"取消运单"
)
public
String
getTypeMsg
()
{
public
String
getTypeMsg
()
{
return
OrderChildEnum
.
OperateRecordType
.
get
ByCode
(
type
).
get
().
getMsg
(
);
return
OrderChildEnum
.
OperateRecordType
.
get
MsgByCode
(
type
);
}
}
}
}
\ No newline at end of file
performance-web/src/main/java/com/clx/performance/controller/app/AppDriverOrderChildController.java
浏览文件 @
6ecb0e1f
...
@@ -197,9 +197,8 @@ public class AppDriverOrderChildController {
...
@@ -197,9 +197,8 @@ public class AppDriverOrderChildController {
@ApiOperation
(
value
=
"司机端装货范围检查拦截"
,
notes
=
"<br>By:姜武杰"
)
@ApiOperation
(
value
=
"司机端装货范围检查拦截"
,
notes
=
"<br>By:姜武杰"
)
@PostMapping
(
"/loadRangeCheck"
)
@PostMapping
(
"/loadRangeCheck"
)
public
Result
<
Integer
>
loadRangeCheck
(
@RequestBody
@Validated
OrderChildLoadRangeCheckParam
param
)
{
public
Result
<
OrderChildLoadRangeCheckResultVO
>
loadRangeCheck
(
@RequestBody
@Validated
OrderChildLoadRangeCheckParam
param
)
{
// TODO 待实现
return
Result
.
ok
(
orderChildService
.
loadRangeCheck
(
param
));
return
Result
.
ok
();
}
}
@ApiOperation
(
value
=
"是否需要弹出监装信息"
,
notes
=
"<br>By:姜武杰"
)
@ApiOperation
(
value
=
"是否需要弹出监装信息"
,
notes
=
"<br>By:姜武杰"
)
@PostMapping
(
"/needAlertSuperviseInfo"
)
@PostMapping
(
"/needAlertSuperviseInfo"
)
...
...
performance-web/src/main/java/com/clx/performance/service/OrderChildService.java
浏览文件 @
6ecb0e1f
...
@@ -112,4 +112,6 @@ public interface OrderChildService {
...
@@ -112,4 +112,6 @@ public interface OrderChildService {
UpdateCarrierBatchCancelVO
updateCarrierBatchCancel
(
OrderChildCarrierBatchCancelParam
param
);
UpdateCarrierBatchCancelVO
updateCarrierBatchCancel
(
OrderChildCarrierBatchCancelParam
param
);
List
<
HistoryLineTranVolumeChartVO
>
getHistoryLineTransportVolume
(
String
orderNo
);
List
<
HistoryLineTranVolumeChartVO
>
getHistoryLineTransportVolume
(
String
orderNo
);
OrderChildLoadRangeCheckResultVO
loadRangeCheck
(
OrderChildLoadRangeCheckParam
param
);
}
}
performance-web/src/main/java/com/clx/performance/service/impl/OrderChildServiceImpl.java
浏览文件 @
6ecb0e1f
...
@@ -242,6 +242,8 @@ public class OrderChildServiceImpl implements OrderChildService {
...
@@ -242,6 +242,8 @@ public class OrderChildServiceImpl implements OrderChildService {
private
UserClxFeign
userClxFeign
;
private
UserClxFeign
userClxFeign
;
@Autowired
@Autowired
private
OrderWeightService
orderWeightService
;
private
OrderWeightService
orderWeightService
;
@Autowired
private
OrderChildOperateLimitConfigService
orderChildOperateLimitConfigService
;
@PostConstruct
@PostConstruct
public
void
init
(){
public
void
init
(){
...
@@ -3122,6 +3124,73 @@ public class OrderChildServiceImpl implements OrderChildService {
...
@@ -3122,6 +3124,73 @@ public class OrderChildServiceImpl implements OrderChildService {
return
charts
;
return
charts
;
}
}
public
OrderChildLoadRangeCheckResultVO
loadRangeCheck
(
OrderChildLoadRangeCheckParam
param
)
{
OrderChildOperateLimitConfigVO
config
=
orderChildOperateLimitConfigService
.
listConfig
();
// 无配置
if
(
config
==
null
||
config
.
getAllowUploadDistance
()
==
null
)
{
return
new
OrderChildLoadRangeCheckResultVO
(
NeedAlertEnum
.
FAIL
.
getCode
(),
ORDER_CHILD_LOAD_LIMIT_CONFIG_ERROR
.
getCode
(),
ORDER_CHILD_LOAD_LIMIT_CONFIG_ERROR
.
getMsg
());
}
// 配置禁用
if
(
Objects
.
equals
(
config
.
getStatus
(),
EnabledStatusEnum
.
DISABLE
.
getCode
()))
{
return
new
OrderChildLoadRangeCheckResultVO
(
NeedAlertEnum
.
OK
.
getCode
(),
ORDER_CHILD_LOAD_LIMIT_CONFIG_DISABLED
.
getCode
(),
ORDER_CHILD_LOAD_LIMIT_CONFIG_DISABLED
.
getMsg
());
}
OrderGoods
orderGoods
=
orderGoodsDao
.
getByOrderGoodsNo
(
param
.
getOrderGoodsNo
()).
get
();
// 发货地址纬度
BigDecimal
sendLatitude
=
orderGoods
.
getSendLatitude
();
// 发货地经度
BigDecimal
sendLongitude
=
orderGoods
.
getSendLongitude
();
// 卡车经纬度
BigDecimal
[]
truckLocation
=
getTruckLocation
(
param
);
BigDecimal
longitude
=
truckLocation
[
0
];
BigDecimal
latitude
=
truckLocation
[
1
];
// 获取卡车位置失败
if
(
longitude
==
null
||
latitude
==
null
)
{
return
new
OrderChildLoadRangeCheckResultVO
(
NeedAlertEnum
.
FAIL
.
getCode
(),
TRUCK_LOCATION_ERROR
.
getCode
(),
TRUCK_LOCATION_ERROR
.
getMsg
());
}
List
<
GdRouteDTO
>
route
=
gdService
.
getRoute
(
longitude
,
latitude
,
sendLongitude
,
sendLatitude
);
if
(
CollectionUtils
.
isNotEmpty
(
route
))
{
GdRouteDTO
gdRouteDTO
=
route
.
get
(
0
);
Integer
distance
=
gdRouteDTO
.
getDistance
();
if
(
distance
>
config
.
allowUploadDistanceMeter
())
{
// 装车位置 超限
return
new
OrderChildLoadRangeCheckResultVO
(
NeedAlertEnum
.
FAIL
.
getCode
(),
TRUCK_LOCATION_OUT_OF_SEND_RANGE
.
getCode
(),
String
.
format
(
TRUCK_LOCATION_OUT_OF_SEND_RANGE
.
getMsg
(),
config
.
getAllowUploadDistance
()));
}
return
new
OrderChildLoadRangeCheckResultVO
(
NeedAlertEnum
.
OK
.
getCode
(),
NeedAlertEnum
.
OK
.
getCode
(),
"验证通过"
);
}
return
new
OrderChildLoadRangeCheckResultVO
(
NeedAlertEnum
.
FAIL
.
getCode
(),
GAODE_DISTANCE_ERROR
.
getCode
(),
GAODE_DISTANCE_ERROR
.
getMsg
());
}
@Getter
@AllArgsConstructor
public
enum
NeedAlertEnum
{
OK
(
0
,
"不用弹窗"
),
FAIL
(
1
,
"需要弹"
);
private
final
int
code
;
private
final
String
msg
;
}
private
BigDecimal
[]
getTruckLocation
(
OrderChildLoadRangeCheckParam
param
)
{
BigDecimal
longitude
=
param
.
getLongitude
();
BigDecimal
latitude
=
param
.
getLatitude
();
TruckLocationDTO
truckLocationDTO
=
null
;
try
{
truckLocationDTO
=
zjxlGpsService
.
getTruckLastLocation
(
param
.
getTruckNo
());
}
catch
(
Exception
e
)
{
log
.
info
(
"中交兴路获取失败:{}"
,
e
.
getMessage
());
}
//如果中交兴路获取到位置信息,则使用中交,否则用APP传的位置信息
if
(
truckLocationDTO
!=
null
)
{
BigDecimal
[]
location
=
truckLocationDTO
.
getLocation
();
longitude
=
location
[
0
];
latitude
=
location
[
1
];
log
.
info
(
"当前中交兴路获取司机车牌:{},相关位置信息:{}"
,
param
.
getTruckNo
(),
JSONUtil
.
parse
(
truckLocationDTO
));
}
else
{
log
.
info
(
"中交兴路获取失败,通过高德获取,相关参数:{}"
,
JSONUtil
.
parse
(
param
));
}
return
new
BigDecimal
[]{
longitude
,
latitude
};
}
@Override
@Override
public
OcrRecognitionResultVO
ocrRecognition
(
OcrRecognitionParam
param
)
{
public
OcrRecognitionResultVO
ocrRecognition
(
OcrRecognitionParam
param
)
{
//校验,同一运单同一图片类型只能识别一次
//校验,同一运单同一图片类型只能识别一次
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论