Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
C
cloud-platform
Project
Project
Details
Activity
Releases
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
youjj
cloud-platform
Commits
f98c7a45
Commit
f98c7a45
authored
Nov 20, 2019
by
jiaorz
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master-arrival-bug' into dev
parents
04d025c6
c0d13215
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
102 additions
and
30 deletions
+102
-30
VehicleActiveService.java
...a/com/xxfc/platform/vehicle/biz/VehicleActiveService.java
+50
-29
VehicleBookRecordBiz.java
...a/com/xxfc/platform/vehicle/biz/VehicleBookRecordBiz.java
+6
-1
DateUtils.java
...c/main/java/com/xxfc/platform/vehicle/util/DateUtils.java
+41
-0
VehicleBookRecordMapper.xml
...ver/src/main/resources/mapper/VehicleBookRecordMapper.xml
+5
-0
No files found.
xx-vehicle/xx-vehicle-server/src/main/java/com/xxfc/platform/vehicle/biz/VehicleActiveService.java
View file @
f98c7a45
...
@@ -9,6 +9,7 @@ import com.xxfc.platform.vehicle.constant.ResCode.ResCode;
...
@@ -9,6 +9,7 @@ import com.xxfc.platform.vehicle.constant.ResCode.ResCode;
import
com.xxfc.platform.vehicle.entity.*
;
import
com.xxfc.platform.vehicle.entity.*
;
import
com.xxfc.platform.vehicle.mapper.*
;
import
com.xxfc.platform.vehicle.mapper.*
;
import
com.xxfc.platform.vehicle.pojo.*
;
import
com.xxfc.platform.vehicle.pojo.*
;
import
com.xxfc.platform.vehicle.util.DateUtils
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.joda.time.DateTime
;
import
org.joda.time.DateTime
;
import
org.joda.time.format.DateTimeFormat
;
import
org.joda.time.format.DateTimeFormat
;
...
@@ -198,14 +199,6 @@ public class VehicleActiveService {
...
@@ -198,14 +199,6 @@ public class VehicleActiveService {
throw
new
BaseException
(
ResCode
.
VEHICLE_DEPARTURE_VEHICLE_UNEXIST
.
getDesc
(),
throw
new
BaseException
(
ResCode
.
VEHICLE_DEPARTURE_VEHICLE_UNEXIST
.
getDesc
(),
ResCode
.
VEHICLE_DEPARTURE_VEHICLE_UNEXIST
.
getCode
());
ResCode
.
VEHICLE_DEPARTURE_VEHICLE_UNEXIST
.
getCode
());
}
}
// if (StringUtils.isBlank(arrivalVo.getRecycleMan()) || StringUtils.isBlank(arrivalVo.getRecycleManTel())) {
// throw new BaseException(ResCode.CHECKUSER_AND_PHONE_NOT_NULL.getDesc(),
// ResCode.CHECKUSER_AND_PHONE_NOT_NULL.getCode());
// }
// if (!vehicle.getStatus().equals(VehicleStatus.DEPARTURE.getCode())) {
// throw new BaseException(ResCode.VEHICLE_DEPARTURE_VEHICLE_UNDEPARTURE.getDesc() + ", 车辆状态是:" + getVehicleStatus(vehicle.getStatus(), vehicle.getId()),
// ResCode.VEHICLE_DEPARTURE_VEHICLE_UNDEPARTURE.getCode());
// }
Integer
MileageRest
=
vehicle
.
getMileageLastUpdate
();
Integer
MileageRest
=
vehicle
.
getMileageLastUpdate
();
Integer
MileageRest1
=
arrivalVo
.
getMileage
();
Integer
MileageRest1
=
arrivalVo
.
getMileage
();
if
(
MileageRest1
==
null
)
{
if
(
MileageRest1
==
null
)
{
...
@@ -217,6 +210,9 @@ public class VehicleActiveService {
...
@@ -217,6 +210,9 @@ public class VehicleActiveService {
if
(
arrivalVo
.
getBookRecordId
()
!=
null
)
{
if
(
arrivalVo
.
getBookRecordId
()
!=
null
)
{
vehicleBookRecord
=
vehicleBookRecordBiz
.
selectById
(
arrivalVo
.
getBookRecordId
());
vehicleBookRecord
=
vehicleBookRecordBiz
.
selectById
(
arrivalVo
.
getBookRecordId
());
updateBookRecordStatus
(
vehicleBookRecord
,
2
);
updateBookRecordStatus
(
vehicleBookRecord
,
2
);
}
else
{
throw
new
BaseException
(
ResCode
.
VEHICLE_BOOK_RECORD_IS_NOT_EXIST
.
getDesc
(),
ResCode
.
VEHICLE_BOOK_RECORD_IS_NOT_EXIST
.
getCode
());
}
}
// 写入车辆公里数,还车分公司id
// 写入车辆公里数,还车分公司id
vehicle
.
setMileageLastUpdate
(
MileageRest1
);
vehicle
.
setMileageLastUpdate
(
MileageRest1
);
...
@@ -239,12 +235,9 @@ public class VehicleActiveService {
...
@@ -239,12 +235,9 @@ public class VehicleActiveService {
}
}
if
(
flag
)
{
//如果此条记录后面还有未收车记录,就不修改车辆状态
if
(
flag
)
{
//如果此条记录后面还有未收车记录,就不修改车辆状态
vehicle
.
setStatus
(
VehicleStatus
.
NORMAL
.
getCode
());
vehicle
.
setStatus
(
VehicleStatus
.
NORMAL
.
getCode
());
// if (result == 0) {
// throw new BaseException(ResCode.VEHICLE_DEPARTURE_VEHICLE_UNDEPARTURE.getDesc(),
// ResCode.VEHICLE_DEPARTURE_VEHICLE_UNDEPARTURE.getCode());
// }
}
}
vehicleMapper
.
updateByPrimaryKeySelective
(
vehicle
);
vehicleMapper
.
updateByPrimaryKeySelective
(
vehicle
);
DateTime
arrivalDate
=
new
DateTime
(
vehicleBookRecord
.
getBookEndDate
());
DateTime
arrivalDate
=
new
DateTime
(
vehicleBookRecord
.
getBookEndDate
());
DateTime
actualArrivalDate
=
new
DateTime
(
new
Date
());
DateTime
actualArrivalDate
=
new
DateTime
(
new
Date
());
//提前还车处理
//提前还车处理
...
@@ -285,6 +278,11 @@ public class VehicleActiveService {
...
@@ -285,6 +278,11 @@ public class VehicleActiveService {
if
(
vehicleBookRecord
!=
null
)
{
if
(
vehicleBookRecord
!=
null
)
{
departureLog
.
setArrivalBranchCompanyId
(
vehicleBookRecord
.
getRetCompany
());
departureLog
.
setArrivalBranchCompanyId
(
vehicleBookRecord
.
getRetCompany
());
}
}
//添加收车成功,后面有当天预定的记录时,取消当天的预定
boolean
unBookStatus
=
unBookArrivalDateTime
(
vehicleBookRecord
);
if
(!
unBookStatus
)
{
log
.
info
(
"还车释放当天bookInfo失败!请手动修改!"
);
}
vehicleDepartureLogMapper
.
updateByPrimaryKeySelective
(
departureLog
);
vehicleDepartureLogMapper
.
updateByPrimaryKeySelective
(
departureLog
);
// 车辆活动日志
// 车辆活动日志
VehicleActiveLog
activeLog
=
vehicleActiveLogMapper
.
selectLastByVehicleId
(
arrivalVo
.
getVehicleId
());
VehicleActiveLog
activeLog
=
vehicleActiveLogMapper
.
selectLastByVehicleId
(
arrivalVo
.
getVehicleId
());
...
@@ -295,23 +293,6 @@ public class VehicleActiveService {
...
@@ -295,23 +293,6 @@ public class VehicleActiveService {
activeLog
.
setEndTime
(
new
Date
());
activeLog
.
setEndTime
(
new
Date
());
activeLog
.
setUpdateTime
(
new
Date
());
activeLog
.
setUpdateTime
(
new
Date
());
vehicleActiveLogMapper
.
updateByPrimaryKeySelective
(
activeLog
);
vehicleActiveLogMapper
.
updateByPrimaryKeySelective
(
activeLog
);
//取消预定时间 bookInfo和bookRecord
// BookVehicleVO bookVehicleVo = new BookVehicleVO();
// BeanUtils.copyProperties(vehicleBookRecord, bookVehicleVo);
// bookVehicleVo.setNotCheckTimeLegal(Boolean.TRUE);
// bookVehicleVo.setBookStartDate(null);
// bookVehicleVo.setBookEndDate(null);
// bookVehicleVo.setUnbookStartDate(new DateTime(vehicleBookRecord.getBookStartDate()).toString(DATE_TIME_FORMATTER));
// bookVehicleVo.setUnbookEndDate(new DateTime(vehicleBookRecord.getBookEndDate()).toString(DATE_TIME_FORMATTER));
// try {
// Boolean hasSuc = vehicleBiz.unbookVehicle(bookVehicleVo);
// if(!hasSuc){
// throw new BaseException(ResCode.VEHICLE_UNBOOK_FAIL.getDesc(), ResCode.VEHICLE_UNBOOK_FAIL.getCode());
// }
// } catch ( Exception e) {
// log.error(e.getMessage(), e);;
// }
}
else
{
}
else
{
throw
new
BaseException
(
ResCode
.
VEHICLE_BOOKED_RECORD_MILEAGE_CHANGED
.
getDesc
(),
throw
new
BaseException
(
ResCode
.
VEHICLE_BOOKED_RECORD_MILEAGE_CHANGED
.
getDesc
(),
ResCode
.
VEHICLE_BOOKED_RECORD_MILEAGE_CHANGED
.
getCode
());
ResCode
.
VEHICLE_BOOKED_RECORD_MILEAGE_CHANGED
.
getCode
());
...
@@ -322,6 +303,46 @@ public class VehicleActiveService {
...
@@ -322,6 +303,46 @@ public class VehicleActiveService {
vehicleDepartureLogMapper
.
insertSelective
(
vehicleDepartureLog
);
vehicleDepartureLogMapper
.
insertSelective
(
vehicleDepartureLog
);
}
}
/**
* 如果还车时,还车当天还有其他预定记录,则不释放当天的bookInfo, 如果没有其他记录,则释放当天的bookInfo
* @param vehicleBookRecord
* @return
*/
public
boolean
unBookArrivalDateTime
(
VehicleBookRecord
vehicleBookRecord
)
{
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
Date
startDate
=
null
;
if
(
vehicleBookRecord
.
getActualEndDate
()
==
null
)
{
startDate
=
vehicleBookRecord
.
getBookEndDate
();
}
else
{
startDate
=
vehicleBookRecord
.
getActualEndDate
();
}
DateTime
bookStartDate
=
new
DateTime
(
startDate
);
DateTime
unBookEndDate
=
DateTime
.
now
().
withMillis
(
DateUtils
.
getEndOfDay
());
map
.
put
(
"startTime"
,
bookStartDate
.
toString
(
DATE_TIME_FORMATTER
));
map
.
put
(
"endTime"
,
unBookEndDate
.
toString
(
DATE_TIME_FORMATTER
));
map
.
put
(
"status"
,
1
);
map
.
put
(
"vehicleId"
,
vehicleBookRecord
.
getVehicleId
());
log
.
info
(
"查询还车当天是否有其他预定记录:{}"
,
map
);
List
<
VehicleBookRecordVo
>
vehicleBookRecords
=
vehicleBookRecordBiz
.
selectAllBookRecord
(
map
).
getData
();
if
(
vehicleBookRecords
==
null
||
vehicleBookRecords
.
size
()
<=
0
)
{
//没有记录,取消记录
BookVehicleVO
bookVehicleVO
=
new
BookVehicleVO
();
bookVehicleVO
.
setVehicleId
(
vehicleBookRecord
.
getVehicleId
());
DateTime
unBookStartDate
=
DateTime
.
now
().
withMillis
(
DateUtils
.
getStartOfDay
());
bookVehicleVO
.
setUnbookStartDate
(
unBookStartDate
.
toString
(
DATE_TIME_FORMATTER
));
bookVehicleVO
.
setUnbookEndDate
(
unBookEndDate
.
toString
(
DATE_TIME_FORMATTER
));
log
.
info
(
"释放还车当天bookInfo: {}"
,
bookVehicleVO
);
try
{
return
vehicleBiz
.
unbookVehicle
(
bookVehicleVO
);
}
catch
(
Exception
e
)
{
log
.
info
(
"还车释放当天bookInfo失败"
);
e
.
printStackTrace
();
}
}
log
.
info
(
"还车当天有其他预定记录,不释放当天bookInfo, {}"
,
vehicleBookRecords
);
return
true
;
}
//添加出车时间过滤 再出车开始时间前一天至结束时间内可以出车,并且预定记录为已审核状态
//添加出车时间过滤 再出车开始时间前一天至结束时间内可以出车,并且预定记录为已审核状态
public
void
checkDateInvalid
(
VehicleDepartureVo
arrivalVo
)
{
public
void
checkDateInvalid
(
VehicleDepartureVo
arrivalVo
)
{
if
(
arrivalVo
.
getBookRecordId
()
!=
null
)
{
if
(
arrivalVo
.
getBookRecordId
()
!=
null
)
{
...
...
xx-vehicle/xx-vehicle-server/src/main/java/com/xxfc/platform/vehicle/biz/VehicleBookRecordBiz.java
View file @
f98c7a45
...
@@ -491,12 +491,17 @@ public class VehicleBookRecordBiz extends BaseBiz<VehicleBookRecordMapper, Vehic
...
@@ -491,12 +491,17 @@ public class VehicleBookRecordBiz extends BaseBiz<VehicleBookRecordMapper, Vehic
}
}
public
ObjectRestResponse
<
List
<
VehicleBookRecordVo
>>
selectAllBookRecord
(
Map
<
String
,
Object
>
param
)
{
return
ObjectRestResponse
.
succ
(
mapper
.
selectAllBookRecord
(
param
));
}
public
ObjectRestResponse
<
List
<
VehicleBookRecordVo
>>
selectAllBookRecord
(
Date
startTime
,
Date
endTime
,
Integer
status
)
{
public
ObjectRestResponse
<
List
<
VehicleBookRecordVo
>>
selectAllBookRecord
(
Date
startTime
,
Date
endTime
,
Integer
status
)
{
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
map
.
put
(
"startTime"
,
startTime
);
map
.
put
(
"startTime"
,
startTime
);
map
.
put
(
"endTime"
,
endTime
);
map
.
put
(
"endTime"
,
endTime
);
map
.
put
(
"status"
,
status
);
map
.
put
(
"status"
,
status
);
return
ObjectRestResponse
.
succ
(
mapper
.
selectAllBookRecord
(
map
)
);
return
selectAllBookRecord
(
map
);
}
}
/**
/**
...
...
xx-vehicle/xx-vehicle-server/src/main/java/com/xxfc/platform/vehicle/util/DateUtils.java
View file @
f98c7a45
package
com
.
xxfc
.
platform
.
vehicle
.
util
;
package
com
.
xxfc
.
platform
.
vehicle
.
util
;
import
org.joda.time.DateTime
;
import
java.time.LocalDate
;
import
java.time.LocalDate
;
import
java.time.ZoneId
;
import
java.time.ZoneId
;
import
java.util.Date
;
import
java.util.Date
;
...
@@ -19,4 +21,43 @@ public class DateUtils {
...
@@ -19,4 +21,43 @@ public class DateUtils {
public
static
Date
localDateToDate
(
LocalDate
localDate
)
{
public
static
Date
localDateToDate
(
LocalDate
localDate
)
{
return
Date
.
from
(
localDate
.
atStartOfDay
(
ZoneId
.
systemDefault
()).
toInstant
());
return
Date
.
from
(
localDate
.
atStartOfDay
(
ZoneId
.
systemDefault
()).
toInstant
());
}
}
/**
* 获取当天的开始时间
* @return
*/
public
static
long
getStartOfDay
()
{
return
getStartOfDay
(
new
Date
());
}
/**
* 获取某天的开始时间
* @param date
* @return
*/
public
static
long
getStartOfDay
(
Date
date
)
{
DateTime
dateTime
=
new
DateTime
(
date
);
DateTime
startOfDay
=
dateTime
.
withTimeAtStartOfDay
();
return
startOfDay
.
getMillis
();
}
/**
* 获取当天的结束时间
* @return
*/
public
static
long
getEndOfDay
()
{
return
getEndOfDay
(
new
Date
());
}
/**
* 获取某天的结束时间
* @param date
* @return
*/
public
static
long
getEndOfDay
(
Date
date
)
{
DateTime
dateTime
=
new
DateTime
(
date
);
DateTime
endOfDay
=
dateTime
.
millisOfDay
().
withMaximumValue
();
return
endOfDay
.
getMillis
();
}
}
}
xx-vehicle/xx-vehicle-server/src/main/resources/mapper/VehicleBookRecordMapper.xml
View file @
f98c7a45
...
@@ -554,8 +554,13 @@
...
@@ -554,8 +554,13 @@
<if
test=
"startTime != null and status == 2"
>
<if
test=
"startTime != null and status == 2"
>
and v1.book_end_date between #{startTime} and #{endTime}
and v1.book_end_date between #{startTime} and #{endTime}
</if>
</if>
<if
test=
"vehicleId != null and vehicleId != ''"
>
and v1.vehicle_id = #{vehicleId}
</if>
</select>
</select>
<!--获取所有已取消的预定记录-->
<!--获取所有已取消的预定记录-->
<select
id=
"selectAllCancelBookRecord"
resultMap=
"searchBookRecord"
parameterType=
"Map"
>
<select
id=
"selectAllCancelBookRecord"
resultMap=
"searchBookRecord"
parameterType=
"Map"
>
select v1.* from vehicle_book_record v1
select v1.* from vehicle_book_record v1
...
...
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