Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
A
amos-boot-biz
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
项目统一框架
amos-boot-biz
Commits
65242508
Commit
65242508
authored
Nov 07, 2023
by
caotao
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
1.按月统计里程接口增加筛选、异常轨迹接口增加筛选。
2.增加车辆告警相关功能代码。 3.车辆当月里程导出里程规范.
parent
ea000999
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
176 additions
and
42 deletions
+176
-42
CarSpeedWarningRecord.java
...join/equipmanage/common/entity/CarSpeedWarningRecord.java
+55
-0
CarController.java
...ava/com/yeejoin/equipmanage/controller/CarController.java
+17
-10
MileageDto.java
...src/main/java/com/yeejoin/equipmanage/dto/MileageDto.java
+2
-0
CarIotNewListener.java
...a/com/yeejoin/equipmanage/listener/CarIotNewListener.java
+27
-1
WlCarSpeedWaringRecordMapper.java
...join/equipmanage/mapper/WlCarSpeedWaringRecordMapper.java
+7
-0
ICarService.java
...ain/java/com/yeejoin/equipmanage/service/ICarService.java
+7
-10
CarServiceImpl.java
.../com/yeejoin/equipmanage/service/impl/CarServiceImpl.java
+61
-21
No files found.
amos-boot-module/amos-boot-module-api/amos-boot-module-equip-api/src/main/java/com/yeejoin/equipmanage/common/entity/CarSpeedWarningRecord.java
0 → 100644
View file @
65242508
package
com
.
yeejoin
.
equipmanage
.
common
.
entity
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler
;
import
com.yeejoin.equipmanage.common.entity.publics.BaseEntity
;
import
com.yeejoin.equipmanage.common.entity.vo.EquipmentOnCarAppVO
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
lombok.experimental.Accessors
;
import
org.springframework.format.annotation.DateTimeFormat
;
import
java.math.BigDecimal
;
import
java.util.Date
;
import
java.util.List
;
/**
* 消防车信息
*
* @author wujiang
* @date 2020-07-07
*/
@Data
@EqualsAndHashCode
(
callSuper
=
true
)
@Accessors
(
chain
=
true
)
@TableName
(
value
=
"wl_car_speed_warning_record"
,
autoResultMap
=
true
)
@ApiModel
(
value
=
"车辆告警信息实体类"
,
description
=
"车辆告警信息"
)
public
class
CarSpeedWarningRecord
extends
BaseEntity
{
private
static
final
long
serialVersionUID
=
1L
;
@ApiModelProperty
(
value
=
"车牌号"
)
private
String
carNum
;
@ApiModelProperty
(
value
=
"告警时间"
)
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
private
Date
waringDate
;
@ApiModelProperty
(
value
=
"超速值"
)
@TableField
(
"over_speed"
)
private
Double
overSpeed
;
@ApiModelProperty
(
value
=
"机构/部门名称"
)
@TableField
(
"biz_org_name"
)
private
String
bizOrgName
;
// 2023年11月6日 11点16分添加
@ApiModelProperty
(
value
=
"司机"
)
@TableField
(
"driver"
)
private
String
driver
;
// 2023年11月6日 11点16分添加
@ApiModelProperty
(
value
=
"联系电话"
)
@TableField
(
"phone"
)
private
String
phone
;
@ApiModelProperty
(
value
=
"联系电话"
)
@TableField
(
"ownership"
)
private
String
ownership
;
}
amos-boot-module/amos-boot-module-biz/amos-boot-module-equip-biz/src/main/java/com/yeejoin/equipmanage/controller/CarController.java
View file @
65242508
...
...
@@ -473,7 +473,7 @@ public class CarController extends AbstractBaseController {
/**
* 根据车辆id查询车辆详情信息,供iot_tree展示
*
* @param
carNum
* @param
id
* @return
*/
@RequestMapping
(
value
=
"/threeDimensional/getCarDetailById/{id}"
,
method
=
RequestMethod
.
GET
)
...
...
@@ -1337,7 +1337,7 @@ public class CarController extends AbstractBaseController {
/**
* 根据查询车辆简要信息
*
* @param
id
* @param
carNum
* @return
*/
@RequestMapping
(
value
=
"/state/info"
,
method
=
RequestMethod
.
GET
)
...
...
@@ -1422,8 +1422,8 @@ public class CarController extends AbstractBaseController {
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
,
needAuth
=
false
)
@RequestMapping
(
value
=
"/getCarEquipAlarmInfoDto"
,
method
=
RequestMethod
.
GET
)
@ApiOperation
(
httpMethod
=
"GET"
,
value
=
"车辆统计-获取设备告警信息"
,
notes
=
"车辆统计-获取设备告警信息"
)
public
Page
<
CarEquipAlarmInfoDto
>
getCarEquipAlarmInfoDto
()
{
return
iCarService
.
getCarEquipAlarmInfoDto
();
public
Page
<
CarEquipAlarmInfoDto
>
getCarEquipAlarmInfoDto
(
@RequestParam
(
required
=
false
)
String
keyWord
)
{
return
iCarService
.
getCarEquipAlarmInfoDto
(
keyWord
);
}
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
,
needAuth
=
false
)
...
...
@@ -1443,15 +1443,15 @@ public class CarController extends AbstractBaseController {
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
,
needAuth
=
false
)
@RequestMapping
(
value
=
"/getCarMileageInfoByMoth"
,
method
=
RequestMethod
.
GET
)
@ApiOperation
(
httpMethod
=
"GET"
,
value
=
"车辆统计-按照月份统计车辆里程"
,
notes
=
"车辆统计-按照月份统计车辆里程"
)
public
BasicTableDataDto
getCarMileageInfoByMoth
(
@RequestParam
(
required
=
false
)
String
date
,
@RequestParam
Integer
current
,
@RequestParam
Integer
size
)
{
return
iCarService
.
getCarMileageInfoByMoth
(
date
,
current
,
size
);
public
BasicTableDataDto
getCarMileageInfoByMoth
(
@RequestParam
(
required
=
false
)
String
date
,
@RequestParam
Integer
current
,
@RequestParam
Integer
size
,
@RequestParam
(
required
=
false
)
String
keyWord
)
{
return
iCarService
.
getCarMileageInfoByMoth
(
date
,
current
,
size
,
keyWord
);
}
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
,
needAuth
=
false
)
@RequestMapping
(
value
=
"/exportCarMileageInfoByMoth"
,
method
=
RequestMethod
.
GET
)
@ApiOperation
(
httpMethod
=
"GET"
,
value
=
"车辆统计-按照月份统计导出车辆里程"
,
notes
=
"车辆统计-按照月份统计导出车辆里程"
)
public
void
exportCarMileageInfoByMoth
(
@RequestParam
(
required
=
false
)
String
date
,
HttpServletResponse
response
)
{
List
<
CarExportDto
>
list
=
this
.
iCarService
.
exportCarMileageInfoByMoth
(
date
);
public
void
exportCarMileageInfoByMoth
(
@RequestParam
(
required
=
false
)
String
date
,
@RequestParam
(
required
=
false
)
String
keyWord
,
HttpServletResponse
response
)
{
List
<
CarExportDto
>
list
=
this
.
iCarService
.
exportCarMileageInfoByMoth
(
date
,
keyWord
);
if
(
org
.
springframework
.
util
.
StringUtils
.
isEmpty
(
date
))
{
date
=
DateUtil
.
format
(
new
Date
(),
"yyyy-MM"
);
}
...
...
@@ -1469,7 +1469,14 @@ public class CarController extends AbstractBaseController {
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
,
needAuth
=
false
)
@RequestMapping
(
value
=
"/getCarExcepitonTrack"
,
method
=
RequestMethod
.
GET
)
@ApiOperation
(
httpMethod
=
"GET"
,
value
=
"车辆统计-按照日期范围获取异常车辆"
,
notes
=
"车辆统计-按照日期范围获取异常车辆"
)
public
Page
<
CarExceptionDto
>
getCarExcepitonTrack
(
@RequestParam
Integer
type
)
{
return
iCarService
.
getCarExcepitonTrack
(
type
);
public
Page
<
CarExceptionDto
>
getCarExcepitonTrack
(
@RequestParam
Integer
type
,
@RequestParam
(
required
=
false
)
String
keyWord
)
{
return
iCarService
.
getCarExcepitonTrack
(
type
,
keyWord
);
}
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
,
needAuth
=
false
)
@RequestMapping
(
value
=
"/getCarWarningRecord"
,
method
=
RequestMethod
.
GET
)
@ApiOperation
(
httpMethod
=
"GET"
,
value
=
"车辆统计-获取超速信息"
,
notes
=
"车辆统计-获取超速信息"
)
public
Page
<
CarSpeedWarningRecord
>
getCarWarningRecord
(
@RequestParam
(
required
=
false
)
String
keyWord
)
{
return
iCarService
.
getCarWarningRecord
(
keyWord
);
}
}
amos-boot-module/amos-boot-module-biz/amos-boot-module-equip-biz/src/main/java/com/yeejoin/equipmanage/dto/MileageDto.java
View file @
65242508
...
...
@@ -16,4 +16,6 @@ public class MileageDto {
private
String
number
;
//iotCode+date
private
String
iotCode
;
//所属单位
private
String
bizOrgName
;
}
amos-boot-module/amos-boot-module-biz/amos-boot-module-equip-biz/src/main/java/com/yeejoin/equipmanage/listener/CarIotNewListener.java
View file @
65242508
package
com
.
yeejoin
.
equipmanage
.
listener
;
import
cn.hutool.core.date.DatePattern
;
import
cn.hutool.core.date.DateUtil
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONArray
;
import
com.alibaba.fastjson.JSONObject
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.yeejoin.equipmanage.common.entity.Car
;
import
com.yeejoin.equipmanage.common.entity.CarSpeedWarningRecord
;
import
com.yeejoin.equipmanage.common.entity.WlCarMileage
;
import
com.yeejoin.equipmanage.fegin.IotFeign
;
import
com.yeejoin.equipmanage.mapper.WlCarSpeedWaringRecordMapper
;
import
com.yeejoin.equipmanage.service.ICarService
;
import
com.yeejoin.equipmanage.service.IWlCarMileageService
;
import
com.yeejoin.equipmanage.thread.ThreadCar
;
...
...
@@ -43,8 +47,13 @@ public class CarIotNewListener extends EmqxListener {
@Autowired
private
IotFeign
iotFeign
;
@Autowired
private
WlCarSpeedWaringRecordMapper
wlCarSpeedWaringRecordMapper
;
@Value
(
"${mileage.clippingtime:600000}"
)
private
Long
clipping_time
;
@Value
(
"${default.maxspeed:70.0}"
)
private
Double
defaultMaxSpeed
;
private
final
String
GUIDE_KEY
=
"813684495d9a3981dd2c7694916fe404"
;
private
final
String
GUIDE_URL
=
"https://restapi.amap.com/v3/geocode/regeo?"
;
...
...
@@ -191,7 +200,9 @@ public class CarIotNewListener extends EmqxListener {
double
startLongitude
=
jsonObject
.
getDoubleValue
(
"FireCar_Longitude"
);
double
startLatitude
=
jsonObject
.
getDoubleValue
(
"FireCar_Latitude"
);
int
direction
=
jsonObject
.
getIntValue
(
"direction"
);
String
waringDate
=
jsonObject
.
getString
(
"createdTime"
);
Double
speed
=
jsonObject
.
getDoubleValue
(
"FireCar_Speed"
);
Double
maxSpeed
=
defaultMaxSpeed
;
// 地图推送消息
Car
car
=
iCarService
.
getOne
(
new
LambdaQueryWrapper
<
Car
>().
eq
(
Car:
:
getIotCode
,
iotCode
));
if
(
car
!=
null
&&
startLongitude
!=
0
&&
startLatitude
!=
0
)
{
...
...
@@ -208,7 +219,22 @@ public class CarIotNewListener extends EmqxListener {
mqttMessage
.
setPayload
(
sendArr
.
toJSONString
().
getBytes
());
car
.
setLongitude
(
startLongitude
);
car
.
setLatitude
(
startLatitude
);
if
(!
ObjectUtils
.
isEmpty
(
car
.
getMaxSpeed
())){
maxSpeed
=
car
.
getMaxSpeed
();
}
iCarService
.
updateById
(
car
);
if
(
speed
>
maxSpeed
){
CarSpeedWarningRecord
carSpeedWarningRecord
=
new
CarSpeedWarningRecord
();
carSpeedWarningRecord
.
setCarNum
(
car
.
getCarNum
());
carSpeedWarningRecord
.
setDriver
(
car
.
getDriver
());
carSpeedWarningRecord
.
setPhone
(
car
.
getPhone
());
carSpeedWarningRecord
.
setOverSpeed
(
speed
-
maxSpeed
);
carSpeedWarningRecord
.
setOwnership
(
car
.
getOwnership
());
carSpeedWarningRecord
.
setBizOrgName
(
car
.
getBizOrgName
());
carSpeedWarningRecord
.
setWaringDate
(
DateUtil
.
parse
(
waringDate
,
DatePattern
.
NORM_DATETIME_PATTERN
));
wlCarSpeedWaringRecordMapper
.
insert
(
carSpeedWarningRecord
);
logger
.
info
(
"-----------触发车辆超速告警成功--------"
);
}
logger
.
info
(
"-----------推送车辆位置消息到到地图成功--------"
);
try
{
emqkeeper
.
getMqttClient
().
publish
(
"car/location"
,
mqttMessage
);
...
...
amos-boot-module/amos-boot-module-biz/amos-boot-module-equip-biz/src/main/java/com/yeejoin/equipmanage/mapper/WlCarSpeedWaringRecordMapper.java
0 → 100644
View file @
65242508
package
com
.
yeejoin
.
equipmanage
.
mapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.yeejoin.equipmanage.common.entity.CarSpeedWarningRecord
;
public
interface
WlCarSpeedWaringRecordMapper
extends
BaseMapper
<
CarSpeedWarningRecord
>
{
}
amos-boot-module/amos-boot-module-biz/amos-boot-module-equip-biz/src/main/java/com/yeejoin/equipmanage/service/ICarService.java
View file @
65242508
...
...
@@ -8,10 +8,7 @@ import com.yeejoin.equipmanage.common.datasync.entity.FireVehicle;
import
com.yeejoin.equipmanage.common.dto.CarFusionDto
;
import
com.yeejoin.equipmanage.common.dto.CarInfoDto
;
import
com.yeejoin.equipmanage.common.dto.CarStatusInfoDto
;
import
com.yeejoin.equipmanage.common.entity.Car
;
import
com.yeejoin.equipmanage.common.entity.CarInfo
;
import
com.yeejoin.equipmanage.common.entity.CarProperty
;
import
com.yeejoin.equipmanage.common.entity.EquipmentCategory
;
import
com.yeejoin.equipmanage.common.entity.*
;
import
com.yeejoin.equipmanage.common.entity.dto.CarDto
;
import
com.yeejoin.equipmanage.common.entity.dto.CarEquipAlarmInfoDto
;
import
com.yeejoin.equipmanage.common.entity.dto.CarEquipStateInfoDto
;
...
...
@@ -19,6 +16,7 @@ import com.yeejoin.equipmanage.common.entity.vo.CarIndexVo;
import
com.yeejoin.equipmanage.common.entity.vo.CarPropertyVo
;
import
com.yeejoin.equipmanage.common.vo.*
;
import
com.yeejoin.equipmanage.dto.*
;
import
javassist.compiler.ast.Keyword
;
import
java.util.HashMap
;
import
java.util.List
;
...
...
@@ -200,19 +198,18 @@ public interface ICarService extends IService<Car> {
Map
<
String
,
Integer
>
getCountOfCarBelongCompany
();
List
<
ChartIntegerDto
>
getCarCategoryInfo
()
;
Page
<
CarEquipStateInfoDto
>
getCarEquipStateInfo
();
Page
<
CarEquipAlarmInfoDto
>
getCarEquipAlarmInfoDto
();
Page
<
CarEquipAlarmInfoDto
>
getCarEquipAlarmInfoDto
(
String
keyWord
);
List
<
ChartIntegerDto
>
getCarBelongAreaInfo
()
;
Page
<
CarAreaInfoDto
>
getCarAreaInfo
(
String
areaName
)
;
BasicTableDataDto
getCarMileageInfoByMoth
(
String
date
,
Integer
current
,
Integer
pageSize
);
List
<
CarExportDto
>
exportCarMileageInfoByMoth
(
String
date
);
BasicTableDataDto
getCarMileageInfoByMoth
(
String
date
,
Integer
current
,
Integer
pageSize
,
String
keyWord
);
List
<
CarExportDto
>
exportCarMileageInfoByMoth
(
String
date
,
String
keyWord
);
ZZChartsDto
getCarMileageInfoByMothOFDay
(
String
iotCode
);
Page
<
CarExceptionDto
>
getCarExcepitonTrack
(
Integer
type
);
Page
<
CarExceptionDto
>
getCarExcepitonTrack
(
Integer
type
,
String
keyWord
);
Page
<
CarSpeedWarningRecord
>
getCarWarningRecord
(
String
keyWord
);
/**
* 查询车辆启动状态,赋码
*/
List
<
Map
<
String
,
String
>>
updateCarStartStatus
();
/**
* 赋码
*/
...
...
amos-boot-module/amos-boot-module-biz/amos-boot-module-equip-biz/src/main/java/com/yeejoin/equipmanage/service/impl/CarServiceImpl.java
View file @
65242508
...
...
@@ -67,7 +67,6 @@ import javax.servlet.http.HttpServletRequest;
import
java.io.ByteArrayInputStream
;
import
java.io.IOException
;
import
java.io.InputStream
;
import
java.io.PrintStream
;
import
java.math.BigDecimal
;
import
java.time.LocalDate
;
import
java.time.ZoneId
;
...
...
@@ -141,7 +140,8 @@ public class CarServiceImpl extends ServiceImpl<CarMapper, Car> implements ICarS
@Autowired
EquipmentSpecificMapper
equipmentSpecificMapper
;
@Autowired
WlCarSpeedWaringRecordMapper
wlCarSpeedWaringRecordMapper
;
@Autowired
private
RemoteSecurityService
remoteSecurityService
;
...
...
@@ -1820,14 +1820,20 @@ public class CarServiceImpl extends ServiceImpl<CarMapper, Car> implements ICarS
}
@Override
public
Page
<
CarEquipAlarmInfoDto
>
getCarEquipAlarmInfoDto
()
{
public
Page
<
CarEquipAlarmInfoDto
>
getCarEquipAlarmInfoDto
(
String
keyWord
)
{
Page
<
CarEquipAlarmInfoDto
>
page
=
new
Page
<>();
List
<
CarEquipAlarmInfoDto
>
list
=
carMapper
.
getCarEquipAlarmInfo
(
carEquipAlarmBatteryNumber
);
List
<
Car
>
list
=
this
.
list
().
stream
().
filter
(
car
->
Integer
.
valueOf
(
car
.
getExtra2
())<
carEquipAlarmBatteryNumber
).
collect
(
Collectors
.
toList
());
if
(
StringUtils
.
isNotEmpty
(
keyWord
)){
list
=
list
.
stream
().
filter
(
car
->
car
.
getBizOrgName
().
contains
(
keyWord
)||
car
.
getOwnership
().
contains
(
keyWord
)).
collect
(
Collectors
.
toList
());
}
List
<
CarEquipAlarmInfoDto
>
carEquipAlarmInfoDtoList
=
new
ArrayList
<>();
for
(
int
i
=
0
;
i
<
list
.
size
();
i
++)
{
list
.
get
(
i
).
setNo
(
i
+
1
);
list
.
get
(
i
).
setAlarmMessage
(
"该设备电量低于"
+
carEquipAlarmBatteryNumber
+
"%!"
);
CarEquipAlarmInfoDto
carEquipAlarmInfoDto
=
new
CarEquipAlarmInfoDto
();
carEquipAlarmInfoDto
.
setCarNum
(
list
.
get
(
i
).
getCarNum
());
carEquipAlarmInfoDto
.
setNo
(
i
+
1
);
carEquipAlarmInfoDto
.
setAlarmMessage
(
"该设备电量低于"
+
carEquipAlarmBatteryNumber
+
"%!"
);
}
page
.
setRecords
(
l
ist
);
page
.
setRecords
(
carEquipAlarmInfoDtoL
ist
);
page
.
setTotal
(
list
.
size
());
page
.
setCurrent
(
1
);
page
.
setSize
(
10
);
...
...
@@ -1884,21 +1890,27 @@ public class CarServiceImpl extends ServiceImpl<CarMapper, Car> implements ICarS
}
@Override
public
BasicTableDataDto
getCarMileageInfoByMoth
(
String
date
,
Integer
current
,
Integer
pageSize
)
{
public
BasicTableDataDto
getCarMileageInfoByMoth
(
String
date
,
Integer
current
,
Integer
pageSize
,
String
keyWord
)
{
BasicTableDataDto
basicTableDataDto
=
new
BasicTableDataDto
();
List
<
ColModel
>
colModels
=
new
ArrayList
<>();
colModels
.
add
(
new
ColModel
(
"carNum"
,
"车牌号"
));
colModels
.
add
(
new
ColModel
(
"carCode"
,
"编号"
));
colModels
.
add
(
new
ColModel
(
"bizOrgName"
,
"所属单位"
));
colModels
.
add
(
new
ColModel
(
"total"
,
"当月里程"
));
List
<
MileageDto
>
mileageDtoList
=
new
ArrayList
<>();
List
<
Car
>
list
=
this
.
list
();
if
(
StringUtils
.
isNotEmpty
(
keyWord
)){
list
=
list
.
stream
().
filter
(
car
->
car
.
getBizOrgName
().
contains
(
keyWord
)||
car
.
getOwnership
().
contains
(
keyWord
)).
collect
(
Collectors
.
toList
());
}
if
(
list
.
size
()
>
0
)
{
for
(
int
i
=
0
;
i
<
list
.
size
();
i
++)
{
MileageDto
mileageDto
=
new
MileageDto
();
Double
totalTravel
=
iWlCarMileageService
.
getTotalTravelByIotCodeAndDate
(
date
,
list
.
get
(
i
).
getIotCode
());
mileageDto
.
setCarNum
(
list
.
get
(
i
).
getCarNum
());
mileageDto
.
setCarCode
(
list
.
get
(
i
).
getRemark
());
mileageDto
.
setIotCode
(
date
+
"::"
+
list
.
get
(
i
).
getIotCode
());
Car
car
=
list
.
get
(
i
);
Double
totalTravel
=
iWlCarMileageService
.
getTotalTravelByIotCodeAndDate
(
date
,
car
.
getIotCode
());
mileageDto
.
setCarNum
(
car
.
getCarNum
());
mileageDto
.
setCarCode
(
car
.
getRemark
());
mileageDto
.
setBizOrgName
(
car
.
getBizOrgName
());
mileageDto
.
setIotCode
(
date
+
"::"
+
car
.
getIotCode
());
if
(
totalTravel
!=
null
)
{
// mileageDto.setTotalTravel((totalTravel / carMaxTravel) * 100);
mileageDto
.
setTotalTravel
(
totalTravel
);
...
...
@@ -1911,21 +1923,26 @@ public class CarServiceImpl extends ServiceImpl<CarMapper, Car> implements ICarS
}
}
mileageDtoList
=
mileageDtoList
.
stream
().
sorted
(
Comparator
.
comparing
(
MileageDto:
:
getTotalTravel
).
reversed
()).
collect
(
Collectors
.
toList
());
DataGridMock
mypageDto
=
new
DataGridMock
(
current
,
mileageDtoList
.
size
(),
true
,
current
,
mileageDtoList
.
subList
((
current
-
1
)*
pageSize
,
current
*
pageSize
));
Integer
from
=(
current
-
1
)*
pageSize
>
mileageDtoList
.
size
()?
mileageDtoList
.
size
():(
current
-
1
)*
pageSize
;
Integer
to
=
current
*
pageSize
>
mileageDtoList
.
size
()?
mileageDtoList
.
size
():
current
*
pageSize
;
DataGridMock
mypageDto
=
new
DataGridMock
(
current
,
mileageDtoList
.
size
(),
true
,
current
,
mileageDtoList
.
subList
(
from
,
to
));
basicTableDataDto
.
setDataGridMock
(
mypageDto
);
basicTableDataDto
.
setColModel
(
colModels
);
return
basicTableDataDto
;
}
@Override
public
List
<
CarExportDto
>
exportCarMileageInfoByMoth
(
String
date
)
{
public
List
<
CarExportDto
>
exportCarMileageInfoByMoth
(
String
date
,
String
keyWord
)
{
List
<
CarExportDto
>
carExportDtos
=
new
ArrayList
<>();
List
<
Car
>
list
=
this
.
list
();
if
(
StringUtils
.
isNotEmpty
(
keyWord
)){
list
=
list
.
stream
().
filter
(
car
->
car
.
getBizOrgName
().
contains
(
keyWord
)||
car
.
getOwnership
().
contains
(
keyWord
)).
collect
(
Collectors
.
toList
());
}
if
(
list
.
size
()
>
0
)
{
for
(
int
i
=
0
;
i
<
list
.
size
();
i
++)
{
CarExportDto
carExportDto
=
new
CarExportDto
();
Double
totalTravel
=
iWlCarMileageService
.
getTotalTravelByIotCodeAndDate
(
date
,
list
.
get
(
i
).
getIotCode
());
Car
car
=
list
.
get
(
i
);
Double
totalTravel
=
iWlCarMileageService
.
getTotalTravelByIotCodeAndDate
(
date
,
car
.
getIotCode
());
carExportDto
.
setCode
(
car
.
getRemark
());
carExportDto
.
setCarNumber
(
car
.
getCarNum
());
carExportDto
.
setDriver
(
car
.
getDriver
());
...
...
@@ -1934,9 +1951,9 @@ public class CarServiceImpl extends ServiceImpl<CarMapper, Car> implements ICarS
carExportDto
.
setStandard
(
car
.
getStandard
());
carExportDto
.
setDisplacement
(
car
.
getDisplacement
());
if
(
totalTravel
!=
null
){
carExportDto
.
setTotalTravel
(
String
.
valueOf
(
totalTravel
)
);
carExportDto
.
setTotalTravel
(
String
.
format
(
"%.1f"
,
totalTravel
)+
"KM"
);
}
else
{
carExportDto
.
setTotalTravel
(
"0"
);
carExportDto
.
setTotalTravel
(
"0
.0KM
"
);
}
carExportDtos
.
add
(
carExportDto
);
}
...
...
@@ -1973,21 +1990,25 @@ public class CarServiceImpl extends ServiceImpl<CarMapper, Car> implements ICarS
}
@Override
public
Page
<
CarExceptionDto
>
getCarExcepitonTrack
(
Integer
type
)
{
public
Page
<
CarExceptionDto
>
getCarExcepitonTrack
(
Integer
type
,
String
keyWord
)
{
Page
<
CarExceptionDto
>
page
=
new
Page
<>();
List
<
CarExceptionDto
>
carExceptionDtos
=
new
ArrayList
<>();
LocalDate
localDate
=
LocalDate
.
now
(
ZoneId
.
of
(
"+8"
));
String
startDate
=
localDate
.
plusDays
(-
1
).
toString
();
String
endDate
=
localDate
.
plusDays
((
0
-
type
)).
toString
();
List
<
Car
>
list
=
this
.
list
();
if
(
StringUtils
.
isNotEmpty
(
keyWord
)){
list
=
list
.
stream
().
filter
(
car
->
car
.
getBizOrgName
().
contains
(
keyWord
)||
car
.
getOwnership
().
contains
(
keyWord
)).
collect
(
Collectors
.
toList
());
}
if
(
list
.
size
()
>
0
)
{
for
(
int
i
=
0
;
i
<
list
.
size
();
i
++)
{
CarExceptionDto
carExceptionDto
=
new
CarExceptionDto
();
Car
car
=
list
.
get
(
i
);
Double
totalTravel
=
iWlCarMileageService
.
getTotalTravelByIotCodeAndDateProd
(
startDate
,
endDate
,
list
.
get
(
i
).
getIotCode
());
if
(!(
totalTravel
!=
null
&&
totalTravel
>
0.0
))
{
carExceptionDto
.
setCarId
(
String
.
valueOf
(
list
.
get
(
i
)
.
getId
()));
carExceptionDto
.
setCarNumber
(
list
.
get
(
i
)
.
getCarNum
());
carExceptionDto
.
setBelongStation
(
list
.
get
(
i
)
.
getBizOrgName
());
carExceptionDto
.
setCarId
(
String
.
valueOf
(
car
.
getId
()));
carExceptionDto
.
setCarNumber
(
car
.
getCarNum
());
carExceptionDto
.
setBelongStation
(
car
.
getBizOrgName
());
carExceptionDtos
.
add
(
carExceptionDto
);
}
}
...
...
@@ -2000,6 +2021,25 @@ public class CarServiceImpl extends ServiceImpl<CarMapper, Car> implements ICarS
}
@Override
public
Page
<
CarSpeedWarningRecord
>
getCarWarningRecord
(
String
keyWord
)
{
Page
<
CarSpeedWarningRecord
>
carSpeedWarningRecordPage
=
new
Page
<>();
Date
date
=
new
Date
();
String
endTime
=
DateUtil
.
format
(
date
,
DatePattern
.
NORM_DATETIME_FORMAT
);
date
=
DateUtil
.
offsetDay
(
date
,-
15
);
String
startTime
=
DateUtil
.
format
(
date
,
DatePattern
.
NORM_DATETIME_FORMAT
);
List
<
CarSpeedWarningRecord
>
list
=
wlCarSpeedWaringRecordMapper
.
selectList
(
new
QueryWrapper
<
CarSpeedWarningRecord
>().
ge
(
"waring_date"
,
startTime
).
le
(
"waring_date"
,
endTime
));
if
(
StringUtils
.
isNotEmpty
(
keyWord
)){
list
=
list
.
stream
().
filter
(
carSpeedWarningRecord
->
carSpeedWarningRecord
.
getBizOrgName
().
contains
(
keyWord
)||
carSpeedWarningRecord
.
getOwnership
().
contains
(
keyWord
)).
collect
(
Collectors
.
toList
());
}
Collections
.
sort
(
list
,(
e1
,
e2
)->
e2
.
getOverSpeed
().
compareTo
(
e1
.
getOverSpeed
()));
carSpeedWarningRecordPage
.
setRecords
(
list
);
carSpeedWarningRecordPage
.
setTotal
(
list
.
size
());
carSpeedWarningRecordPage
.
setSize
(
1
);
carSpeedWarningRecordPage
.
setCurrent
(
1
);
return
carSpeedWarningRecordPage
;
}
@Override
public
List
<
Map
<
String
,
String
>>
updateCarStartStatus
()
{
return
carPropertyMapper
.
selectIndexByTime
(
CAR_START_INDEX_KEY
);
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment