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
7f6ceedd
Commit
7f6ceedd
authored
Aug 14, 2019
by
周健威
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修改租车bug
parent
80378f3a
Changes
3
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
89 additions
and
176 deletions
+89
-176
BookVehicleVO.java
...in/java/com/xxfc/platform/vehicle/pojo/BookVehicleVO.java
+1
-1
VehicleBiz.java
...c/main/java/com/xxfc/platform/vehicle/biz/VehicleBiz.java
+86
-174
VehicleController.java
...ava/com/xxfc/platform/vehicle/rest/VehicleController.java
+2
-1
No files found.
xx-vehicle/xx-vehicle-api/src/main/java/com/xxfc/platform/vehicle/pojo/BookVehicleVO.java
View file @
7f6ceedd
...
@@ -105,7 +105,7 @@ public class BookVehicleVO {
...
@@ -105,7 +105,7 @@ public class BookVehicleVO {
private
String
orderNo
;
private
String
orderNo
;
/**
/**
*
订单
状态
*
book_record
状态
*/
*/
private
Integer
status
;
private
Integer
status
;
}
}
\ No newline at end of file
xx-vehicle/xx-vehicle-server/src/main/java/com/xxfc/platform/vehicle/biz/VehicleBiz.java
View file @
7f6ceedd
...
@@ -311,182 +311,94 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> implements UserR
...
@@ -311,182 +311,94 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> implements UserR
return
RestResponse
.
suc
();
return
RestResponse
.
suc
();
}
}
/**
// /**
* 申请汽车预定(内部)
// * 申请汽车预定(内部)
* 检查是否可预定,修改相关预定记录状态
// * 检查是否可预定,修改相关预定记录状态
* @param userId
// * @param userId
* @param bookVehicleVo
// * @param bookVehicleVo
* @return
// * @return
*/
// */
@Transactional
// @Transactional
public
VehicleBookRecord
applyVehicle4Employee
(
Integer
userId
,
BookVehicleVO
bookVehicleVo
,
String
userName
)
throws
Exception
{
// public VehicleBookRecord applyVehicle4Employee(Integer userId, BookVehicleVO bookVehicleVo, String userName) throws Exception{
//检查车辆信息是否合法
// //检查车辆信息是否合法
checkIfVehicleExists
(
bookVehicleVo
.
getVehicleId
());
// checkIfVehicleExists(bookVehicleVo.getVehicleId());
//提取日期和相应的预定目标日期
// //提取日期和相应的预定目标日期
Map
<
String
,
List
<
String
>>
yearMonthAndDate
=
Maps
.
newHashMap
();
// Map<String,List<String>> yearMonthAndDate = Maps.newHashMap();
//预定时间不能为空
// //预定时间不能为空
if
(
StringUtils
.
isBlank
(
bookVehicleVo
.
getBookStartDate
())
||
StringUtils
.
isBlank
(
bookVehicleVo
.
getBookEndDate
())){
// if(StringUtils.isBlank(bookVehicleVo.getBookStartDate()) || StringUtils.isBlank(bookVehicleVo.getBookEndDate())){
throw
new
BaseException
(
ResultCode
.
DATE_TIME_IS_NULL
);
// throw new BaseException(ResultCode.DATE_TIME_IS_NULL);
}
// }
String
[]
bookStartDateArray
=
bookVehicleVo
.
getBookStartDate
().
split
(
" "
);
// String[] bookStartDateArray = bookVehicleVo.getBookStartDate().split(" ");
String
[]
bookEndDateArray
=
bookVehicleVo
.
getBookEndDate
().
split
(
" "
);
// String[] bookEndDateArray = bookVehicleVo.getBookEndDate().split(" ");
DateTime
startDay
=
DateTime
.
parse
(
bookStartDateArray
[
0
],
DEFAULT_DATE_TIME_FORMATTER
);
DateTime
endDay
=
DateTime
.
parse
(
bookEndDateArray
[
0
],
DEFAULT_DATE_TIME_FORMATTER
);
//转换日期范围为列表,并检查是否合法
fillDateList4DatePeriod
(
yearMonthAndDate
,
startDay
,
endDay
);
if
(
yearMonthAndDate
.
size
()>
3
){
//连续的日期最多夸3个月
throw
new
BaseException
(
ResultCode
.
ONLY_BOOK_TWO_MONTH
);
}
Map
<
String
,
Integer
>
map
=
vehicleBookHourInfoBiz
.
getPredictableHours
(
bookVehicleVo
.
getBookStartDate
(),
bookVehicleVo
.
getBookEndDate
());
//检查车辆是否可以预定
for
(
Map
.
Entry
<
String
,
List
<
String
>>
entry:
yearMonthAndDate
.
entrySet
()){
Boolean
rsEach
=
applyVehicle4EmployeePerMonth
(
bookVehicleVo
.
getVehicleId
(),
entry
.
getValue
(),
entry
.
getKey
(),
map
);
if
(
Boolean
.
FALSE
.
equals
(
rsEach
)){
throw
new
BaseException
(
ResultCode
.
VEHICLE_IS_BOOKED
);
}
}
//加入预定申请记录
VehicleBookRecord
vehicleBookRecord
=
new
VehicleBookRecord
();
vehicleBookRecord
.
setVehicleId
(
bookVehicleVo
.
getVehicleId
());
vehicleBookRecord
.
setBookType
(
bookVehicleVo
.
getBookType
());
vehicleBookRecord
.
setStatus
(
VehicleBookRecordStatus
.
APPLY
.
getCode
());
vehicleBookRecord
.
setBookUser
(
userId
);
vehicleBookRecord
.
setBookUserName
(
userName
);
vehicleBookRecord
.
setBookStartDate
(
DateTime
.
parse
(
bookStartDateArray
[
0
],
DEFAULT_DATE_TIME_FORMATTER
).
toDate
());
vehicleBookRecord
.
setBookEndDate
(
DateTime
.
parse
(
bookEndDateArray
[
0
],
DEFAULT_DATE_TIME_FORMATTER
).
toDate
());
vehicleBookRecord
.
setLiftAddr
(
bookVehicleVo
.
getLiftAddr
());
vehicleBookRecord
.
setRemark
(
bookVehicleVo
.
getRemark
());
vehicleBookRecord
.
setDestination
(
bookVehicleVo
.
getDestination
());
vehicleBookRecord
.
setLiftCompany
(
bookVehicleVo
.
getLiftCompany
());
vehicleBookRecord
.
setRetCompany
(
bookVehicleVo
.
getRetCompany
());
vehicleBookRecord
.
setOrderNo
(
bookVehicleVo
.
getOrderNo
());
vehicleBookRecordBiz
.
save
(
vehicleBookRecord
);
// //添加预定时间记录
//
//
// DateTime startDay =DateTime.parse(bookStartDateArray[0],DEFAULT_DATE_TIME_FORMATTER);
// DateTime endDay =DateTime.parse(bookEndDateArray[0], DEFAULT_DATE_TIME_FORMATTER);
//
//
// //转换日期范围为列表,并检查是否合法
// fillDateList4DatePeriod(yearMonthAndDate,startDay,endDay);
// if(yearMonthAndDate.size()>3){//连续的日期最多夸3个月
// throw new BaseException(ResultCode.ONLY_BOOK_TWO_MONTH);
// }
// Map<String, Integer> map = vehicleBookHourInfoBiz.getPredictableHours(bookVehicleVo.getBookStartDate(), bookVehicleVo.getBookEndDate());
// Map<String, Integer> map = vehicleBookHourInfoBiz.getPredictableHours(bookVehicleVo.getBookStartDate(), bookVehicleVo.getBookEndDate());
// for(Map.Entry<String, Integer> entry : map.entrySet()) {
// //检查车辆是否可以预定
// VehicleBookHourInfoDto vehicleBookHourInfoDto = new VehicleBookHourInfoDto();
// for(Map.Entry<String,List<String>> entry:yearMonthAndDate.entrySet()){
// vehicleBookHourInfoDto.setVehicleId(bookVehicleVo.getVehicleId());
// Boolean rsEach = applyVehicle4EmployeePerMonth(bookVehicleVo.getVehicleId(),entry.getValue(),entry.getKey(), map);
// vehicleBookHourInfoDto.setYearMonthDay(entry.getKey());
// if(Boolean.FALSE.equals(rsEach)){
// vehicleBookHourInfoDto.setBookedHour(entry.getValue());
// throw new BaseException(ResultCode.VEHICLE_IS_BOOKED);
// vehicleBookHourInfoBiz.save(vehicleBookHourInfoDto);
// }
// }
//
// //加入预定申请记录
// VehicleBookRecord vehicleBookRecord = new VehicleBookRecord();
// vehicleBookRecord.setVehicleId(bookVehicleVo.getVehicleId());
// vehicleBookRecord.setBookType(bookVehicleVo.getBookType());
// vehicleBookRecord.setStatus(VehicleBookRecordStatus.APPLY.getCode());
// vehicleBookRecord.setBookUser(userId);
// vehicleBookRecord.setBookUserName(userName);
// vehicleBookRecord.setBookStartDate(DateTime.
// parse(bookStartDateArray[0],DEFAULT_DATE_TIME_FORMATTER).toDate());
// vehicleBookRecord.setBookEndDate(DateTime.
// parse(bookEndDateArray[0],DEFAULT_DATE_TIME_FORMATTER).toDate());
// vehicleBookRecord.setLiftAddr(bookVehicleVo.getLiftAddr());
// vehicleBookRecord.setRemark(bookVehicleVo.getRemark());
// vehicleBookRecord.setDestination(bookVehicleVo.getDestination());
// vehicleBookRecord.setLiftCompany(bookVehicleVo.getLiftCompany());
// vehicleBookRecord.setRetCompany(bookVehicleVo.getRetCompany());
// vehicleBookRecord.setOrderNo(bookVehicleVo.getOrderNo());
// vehicleBookRecordBiz.save(vehicleBookRecord);
//// //添加预定时间记录
////
//// Map<String, Integer> map = vehicleBookHourInfoBiz.getPredictableHours(bookVehicleVo.getBookStartDate(), bookVehicleVo.getBookEndDate());
//// for(Map.Entry<String, Integer> entry : map.entrySet()) {
//// VehicleBookHourInfoDto vehicleBookHourInfoDto = new VehicleBookHourInfoDto();
//// vehicleBookHourInfoDto.setVehicleId(bookVehicleVo.getVehicleId());
//// vehicleBookHourInfoDto.setYearMonthDay(entry.getKey());
//// vehicleBookHourInfoDto.setBookedHour(entry.getValue());
//// vehicleBookHourInfoBiz.save(vehicleBookHourInfoDto);
//// }
//
// //修改相关车辆预定记录
// Boolean hasSuc = bookedVehicle(bookVehicleVo);
// if(!hasSuc){
// throw new BaseException(ResultCode.BOOKED_FAILED_CODE);
// }
//
// //添加随车物品
// List<Map<String,Object>> params = Lists.newArrayList();
// if(MapUtils.isNotEmpty(bookVehicleVo.getSelectedAccItem())){
// for(Map.Entry<Integer,Integer> idAndAmount : bookVehicleVo.getSelectedAccItem().entrySet()){
// Map<String,Object> row = Maps.newHashMap();
// row.put("id",idAndAmount.getKey());
// row.put("amount",idAndAmount.getValue());
// row.put("bookRecordId",vehicleBookRecord.getId());
// params.add(row);
// }
// bookRecordAccItemMapper.batchAdd(params);
// }
//
// return vehicleBookRecord;
// }
// }
//修改相关车辆预定记录
Boolean
hasSuc
=
bookedVehicle
(
bookVehicleVo
);
if
(!
hasSuc
){
throw
new
BaseException
(
ResultCode
.
BOOKED_FAILED_CODE
);
}
//添加随车物品
List
<
Map
<
String
,
Object
>>
params
=
Lists
.
newArrayList
();
if
(
MapUtils
.
isNotEmpty
(
bookVehicleVo
.
getSelectedAccItem
())){
for
(
Map
.
Entry
<
Integer
,
Integer
>
idAndAmount
:
bookVehicleVo
.
getSelectedAccItem
().
entrySet
()){
Map
<
String
,
Object
>
row
=
Maps
.
newHashMap
();
row
.
put
(
"id"
,
idAndAmount
.
getKey
());
row
.
put
(
"amount"
,
idAndAmount
.
getValue
());
row
.
put
(
"bookRecordId"
,
vehicleBookRecord
.
getId
());
params
.
add
(
row
);
}
bookRecordAccItemMapper
.
batchAdd
(
params
);
}
return
vehicleBookRecord
;
}
/**
* 需要审核
* @param userId
* @param bookVehicleVo
* @param userName
* @return
* @throws Exception
*/
@Transactional
public
VehicleBookRecord
applyForVehicle
(
Integer
userId
,
BookVehicleVO
bookVehicleVo
,
String
userName
)
throws
Exception
{
log
.
info
(
"预定车辆参数:userId = {}, bookVehicleVo = {},username = {}"
,
userId
,
bookVehicleVo
,
userName
);
//检查车辆信息是否合法
checkIfVehicleExists
(
bookVehicleVo
.
getVehicleId
());
//提取日期和相应的预定目标日期
Map
<
String
,
List
<
String
>>
yearMonthAndDate
=
Maps
.
newHashMap
();
//预定时间不能为空
if
(
StringUtils
.
isBlank
(
bookVehicleVo
.
getBookStartDate
())
||
StringUtils
.
isBlank
(
bookVehicleVo
.
getBookEndDate
())){
throw
new
BaseException
(
ResultCode
.
DATE_TIME_IS_NULL
);
}
DateTime
startDay
=
DateTime
.
parse
(
bookVehicleVo
.
getBookStartDate
(),
DATE_TIME_FORMATTER
);
DateTime
endDay
=
DateTime
.
parse
(
bookVehicleVo
.
getBookEndDate
(),
DATE_TIME_FORMATTER
);
//转换日期范围为列表,并检查是否合法
fillDateList4DatePeriod
(
yearMonthAndDate
,
startDay
,
endDay
);
if
(
yearMonthAndDate
.
size
()>
3
){
//连续的日期最多夸3个月
throw
new
BaseException
(
ResultCode
.
ONLY_BOOK_TWO_MONTH
);
}
Map
<
String
,
Integer
>
map
=
vehicleBookHourInfoBiz
.
getPredictableHours
(
bookVehicleVo
.
getBookStartDate
(),
bookVehicleVo
.
getBookEndDate
());
//检查车辆是否可以预定
for
(
Map
.
Entry
<
String
,
List
<
String
>>
entry:
yearMonthAndDate
.
entrySet
()){
Boolean
rsEach
=
applyVehicle4EmployeePerMonth
(
bookVehicleVo
.
getVehicleId
(),
entry
.
getValue
(),
entry
.
getKey
(),
map
);
if
(
Boolean
.
FALSE
.
equals
(
rsEach
)){
throw
new
BaseException
(
ResultCode
.
VEHICLE_IS_BOOKED
);
}
}
//加入预定申请记录
VehicleBookRecord
vehicleBookRecord
=
null
;
if
(
bookVehicleVo
.
getVehicleBookRecordId
()
==
null
)
{
vehicleBookRecord
=
new
VehicleBookRecord
();
BeanUtil
.
copyProperties
(
bookVehicleVo
,
vehicleBookRecord
,
CopyOptions
.
create
().
setIgnoreNullValue
(
true
).
setIgnoreError
(
true
));
vehicleBookRecord
.
setBookStartDate
(
startDay
.
toDate
());
vehicleBookRecord
.
setBookEndDate
(
endDay
.
toDate
());
vehicleBookRecord
.
setStatus
(
VehicleBookRecordStatus
.
APPLY
.
getCode
());
vehicleBookRecord
.
setBookUser
(
userId
);
vehicleBookRecord
.
setBookUserName
(
userName
);
vehicleBookRecordBiz
.
save
(
vehicleBookRecord
);
}
else
{
vehicleBookRecord
=
vehicleBookRecordBiz
.
selectById
(
bookVehicleVo
.
getVehicleBookRecordId
());
vehicleBookRecord
.
setBookStartDate
(
startDay
.
toDate
());
vehicleBookRecord
.
setBookEndDate
(
endDay
.
toDate
());
vehicleBookRecordBiz
.
updateSelectiveByIdRe
(
vehicleBookRecord
);
}
// //添加预定时间记录
VehicleBookRecord
newValue
=
vehicleBookRecordBiz
.
selectOne
(
vehicleBookRecord
);
for
(
Map
.
Entry
<
String
,
Integer
>
entry
:
map
.
entrySet
())
{
VehicleBookHourInfoDto
vehicleBookHourInfoDto
=
new
VehicleBookHourInfoDto
();
vehicleBookHourInfoDto
.
setVehicleId
(
bookVehicleVo
.
getVehicleId
());
vehicleBookHourInfoDto
.
setYearMonthDay
(
entry
.
getKey
());
vehicleBookHourInfoDto
.
setBookedHour
(
entry
.
getValue
());
vehicleBookHourInfoDto
.
setBookRecordId
(
newValue
.
getId
());
vehicleBookHourInfoBiz
.
save
(
vehicleBookHourInfoDto
);
}
//修改相关车辆预定记录
Boolean
hasSuc
=
bookedVehicle
(
bookVehicleVo
);
if
(!
hasSuc
){
throw
new
BaseException
(
ResultCode
.
BOOKED_FAILED_CODE
);
}
//添加随车物品
List
<
Map
<
String
,
Object
>>
params
=
Lists
.
newArrayList
();
if
(
MapUtils
.
isNotEmpty
(
bookVehicleVo
.
getSelectedAccItem
())){
for
(
Map
.
Entry
<
Integer
,
Integer
>
idAndAmount
:
bookVehicleVo
.
getSelectedAccItem
().
entrySet
()){
Map
<
String
,
Object
>
row
=
Maps
.
newHashMap
();
row
.
put
(
"id"
,
idAndAmount
.
getKey
());
row
.
put
(
"amount"
,
idAndAmount
.
getValue
());
row
.
put
(
"bookRecordId"
,
vehicleBookRecord
.
getId
());
params
.
add
(
row
);
}
bookRecordAccItemMapper
.
batchAdd
(
params
);
}
return
vehicleBookRecord
;
}
/**
/**
* 不需要审核
* 不需要审核
...
...
xx-vehicle/xx-vehicle-server/src/main/java/com/xxfc/platform/vehicle/rest/VehicleController.java
View file @
7f6ceedd
...
@@ -447,7 +447,8 @@ public class VehicleController extends BaseController<VehicleBiz> implements Use
...
@@ -447,7 +447,8 @@ public class VehicleController extends BaseController<VehicleBiz> implements Use
BookVehicleVO
bookVehicleVo
=
BeanUtil
.
toBean
(
dto
,
BookVehicleVO
.
class
);
BookVehicleVO
bookVehicleVo
=
BeanUtil
.
toBean
(
dto
,
BookVehicleVO
.
class
);
bookVehicleVo
.
setBookType
(
BookType
.
USER_RENT
.
getCode
());
bookVehicleVo
.
setBookType
(
BookType
.
USER_RENT
.
getCode
());
bookVehicleVo
.
setVehicleId
(
pageDataVO
.
getData
().
get
(
0
).
getId
());
bookVehicleVo
.
setVehicleId
(
pageDataVO
.
getData
().
get
(
0
).
getId
());
VehicleBookRecord
vehicleBookRecord
=
baseBiz
.
applyVehicle4Employee
(
operatorId
,
bookVehicleVo
,
userName
);
bookVehicleVo
.
setStatus
(
VehicleBookRecordStatus
.
APPLY
.
getCode
());
VehicleBookRecord
vehicleBookRecord
=
baseBiz
.
applyVehicle
(
operatorId
,
bookVehicleVo
,
userName
);
return
ObjectRestResponse
.
succ
(
vehicleBookRecord
);
return
ObjectRestResponse
.
succ
(
vehicleBookRecord
);
}
}
...
...
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