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
2577fce7
Commit
2577fce7
authored
Apr 18, 2019
by
164003836@qq.con
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
增加随行物品模块
parent
9a5b8c8b
Changes
21
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
21 changed files
with
774 additions
and
84 deletions
+774
-84
AccompanyingItemBiz.java
...inxincaravan/caravan/vehicle/biz/AccompanyingItemBiz.java
+89
-0
VehicleBiz.java
...ava/com/xinxincaravan/caravan/vehicle/biz/VehicleBiz.java
+16
-36
VehicleBookRecordBiz.java
...nxincaravan/caravan/vehicle/biz/VehicleBookRecordBiz.java
+152
-13
AccompanyingItemStatus.java
...avan/caravan/vehicle/constant/AccompanyingItemStatus.java
+54
-0
AccompanyingItemType.java
...aravan/caravan/vehicle/constant/AccompanyingItemType.java
+55
-0
RedisKey.java
.../com/xinxincaravan/caravan/vehicle/constant/RedisKey.java
+5
-1
AccompanyingItem.java
...inxincaravan/caravan/vehicle/entity/AccompanyingItem.java
+39
-0
BookRecordAccItem.java
...nxincaravan/caravan/vehicle/entity/BookRecordAccItem.java
+32
-0
VehicleBookRecord.java
...nxincaravan/caravan/vehicle/entity/VehicleBookRecord.java
+1
-0
AccompanyingItemMapper.java
...aravan/caravan/vehicle/mapper/AccompanyingItemMapper.java
+19
-0
BookRecordAccItemMapper.java
...ravan/caravan/vehicle/mapper/BookRecordAccItemMapper.java
+18
-0
VehicleBookRecordMapper.java
...ravan/caravan/vehicle/mapper/VehicleBookRecordMapper.java
+5
-0
AccompanyingItemController.java
...avan/caravan/vehicle/rest/AccompanyingItemController.java
+64
-0
VehicleController.java
...xinxincaravan/caravan/vehicle/rest/VehicleController.java
+8
-3
AddOrUpdateAccompanyingItem.java
...ravan/caravan/vehicle/vo/AddOrUpdateAccompanyingItem.java
+28
-0
BookVehicleVo.java
...a/com/xinxincaravan/caravan/vehicle/vo/BookVehicleVo.java
+6
-0
QueryAccompanyItemVo.java
...inxincaravan/caravan/vehicle/vo/QueryAccompanyItemVo.java
+21
-0
QueryVehicleBookRecordVo.java
...ncaravan/caravan/vehicle/vo/QueryVehicleBookRecordVo.java
+9
-0
AccompanyingItemMapper.xml
vehicle/src/main/resources/mapper/AccompanyingItemMapper.xml
+37
-0
BookRecordAccItemMapper.xml
...cle/src/main/resources/mapper/BookRecordAccItemMapper.xml
+39
-0
VehicleBookRecordMapper.xml
...cle/src/main/resources/mapper/VehicleBookRecordMapper.xml
+77
-31
No files found.
vehicle/src/main/java/com/xinxincaravan/caravan/vehicle/biz/AccompanyingItemBiz.java
0 → 100644
View file @
2577fce7
package
com
.
xinxincaravan
.
caravan
.
vehicle
.
biz
;
import
com.ace.cache.annotation.Cache
;
import
com.ace.cache.annotation.CacheClear
;
import
com.github.pagehelper.PageHelper
;
import
com.github.pagehelper.PageInfo
;
import
com.github.wxiaoqi.security.common.biz.BaseBiz
;
import
com.xinxincaravan.caravan.vehicle.common.RestResponse
;
import
com.xinxincaravan.caravan.vehicle.constant.AccompanyingItemStatus
;
import
com.xinxincaravan.caravan.vehicle.constant.RedisKey
;
import
com.xinxincaravan.caravan.vehicle.entity.AccompanyingItem
;
import
com.xinxincaravan.caravan.vehicle.mapper.AccompanyingItemMapper
;
import
com.xinxincaravan.caravan.vehicle.vo.AddOrUpdateAccompanyingItem
;
import
com.xinxincaravan.caravan.vehicle.vo.PageDataVo
;
import
com.xinxincaravan.caravan.vehicle.vo.QueryAccompanyItemVo
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.beanutils.BeanUtils
;
import
org.springframework.stereotype.Service
;
import
java.util.List
;
import
java.util.Map
;
@Service
@Slf4j
public
class
AccompanyingItemBiz
extends
BaseBiz
<
AccompanyingItemMapper
,
AccompanyingItem
>
{
@Cache
(
key
=
RedisKey
.
ACCOMPANYING_ITEM_CACHE_ALL
)
public
List
<
AccompanyingItem
>
getAll
(){
return
mapper
.
selectAll
();
}
/**
* 按id获取列表,没有缓存
* @param id
* @return
*/
public
AccompanyingItem
get
(
Integer
id
){
return
mapper
.
selectByPrimaryKey
(
id
);
}
/**
* 按id获取列表,没有缓存
* @param ids
* @return
*/
public
List
<
AccompanyingItem
>
getByIds
(
List
<
Integer
>
ids
){
return
mapper
.
getByIdList
(
ids
);
}
/**
* 按页查询,
* 注意,此处一共名称的模糊查询是预测其数据量较少,有变化后考虑加入全文索引
* @param queryAccompanyItemVo
* @return
* @throws Exception
*/
public
PageDataVo
<
AccompanyingItem
>
getByPage
(
QueryAccompanyItemVo
queryAccompanyItemVo
)
throws
Exception
{
Map
<
String
,
String
>
params
=
BeanUtils
.
describe
(
queryAccompanyItemVo
);
PageHelper
.
startPage
(
queryAccompanyItemVo
.
getPage
(),
queryAccompanyItemVo
.
getLimit
());
List
<
AccompanyingItem
>
accompanyingItems
=
mapper
.
getAllByPage
(
params
);
PageInfo
<
AccompanyingItem
>
accompanyingItemsPageInfo
=
new
PageInfo
<>(
accompanyingItems
);
return
PageDataVo
.
pageInfo
(
accompanyingItemsPageInfo
);
}
@CacheClear
(
key
=
RedisKey
.
ACCOMPANYING_ITEM_CACHE_ALL
)
public
RestResponse
<
Integer
>
add
(
AddOrUpdateAccompanyingItem
addOrUpdateAccompanyingItem
)
throws
Exception
{
AccompanyingItem
accompanyingItem
=
new
AccompanyingItem
();
accompanyingItem
.
setId
(
null
);
BeanUtils
.
copyProperties
(
accompanyingItem
,
addOrUpdateAccompanyingItem
);
Integer
effected
=
mapper
.
insertSelective
(
accompanyingItem
);
return
RestResponse
.
suc
();
}
@CacheClear
(
key
=
RedisKey
.
ACCOMPANYING_ITEM_CACHE_ALL
)
public
RestResponse
<
Integer
>
update
(
AddOrUpdateAccompanyingItem
addOrUpdateAccompanyingItem
)
throws
Exception
{
AccompanyingItem
accompanyingItem
=
new
AccompanyingItem
();
BeanUtils
.
copyProperties
(
accompanyingItem
,
addOrUpdateAccompanyingItem
);
Integer
effected
=
mapper
.
updateByPrimaryKeySelective
(
accompanyingItem
);
return
RestResponse
.
suc
();
}
@CacheClear
(
key
=
RedisKey
.
ACCOMPANYING_ITEM_CACHE_ALL
)
public
RestResponse
<
Integer
>
del
(
Integer
id
){
Integer
effected
=
mapper
.
deleteByPrimaryKey
(
id
);
return
RestResponse
.
suc
();
}
}
vehicle/src/main/java/com/xinxincaravan/caravan/vehicle/biz/VehicleBiz.java
View file @
2577fce7
...
...
@@ -15,6 +15,7 @@ import com.xinxincaravan.caravan.vehicle.constant.VehicleStatus;
import
com.xinxincaravan.caravan.vehicle.entity.Vehicle
;
import
com.xinxincaravan.caravan.vehicle.entity.VehicleBookInfo
;
import
com.xinxincaravan.caravan.vehicle.entity.VehicleBookRecord
;
import
com.xinxincaravan.caravan.vehicle.mapper.BookRecordAccItemMapper
;
import
com.xinxincaravan.caravan.vehicle.mapper.VehicleBookInfoMapper
;
import
com.xinxincaravan.caravan.vehicle.mapper.VehicleBookRecordMapper
;
import
com.xinxincaravan.caravan.vehicle.mapper.VehicleMapper
;
...
...
@@ -54,6 +55,9 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> {
private
ConstantBiz
constantBiz
;
@Autowired
private
BranchCompanyBiz
branchCompanyBiz
;
@Autowired
private
BookRecordAccItemMapper
bookRecordAccItemMapper
;
/**
* 每批次最大更、插入车辆最大条目数
*/
...
...
@@ -211,6 +215,7 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> {
* @param bookVehicleVo
* @return
*/
@Transactional
public
RestResponse
applyVehicle4Employee
(
Integer
userId
,
BookVehicleVo
bookVehicleVo
,
String
userName
){
//检查车辆信息是否合法
checkIfVehicleExists
(
bookVehicleVo
.
getVehicle
());
...
...
@@ -245,7 +250,17 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> {
vehicleBookRecord
.
setDestination
(
bookVehicleVo
.
getDestination
());
vehicleBookRecord
.
setLiftCompany
(
bookVehicleVo
.
getLiftCompany
());
vehicleBookRecordMapper
.
insertSelective
(
vehicleBookRecord
);
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
RestResponse
.
suc
();
}
...
...
@@ -357,41 +372,6 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> {
return
RestResponse
.
suc
();
}
/**
* 车辆归还
* @param operatorId
* @param bookRecordId
* @return
*/
@Deprecated
//相关是否存在提车流程?暂废弃
public
RestResponse
<
Integer
>
returnVehicle
(
Integer
operatorId
,
String
bookRecordId
){
//获取相关申请记录
VehicleBookRecord
vehicleBookRecord
=
vehicleBookRecordMapper
.
selectByPrimaryKey
(
bookRecordId
);
//申请记录验证
if
(
vehicleBookRecord
==
null
){
throw
new
CustomIllegalParamException
(
" invalid book record"
);
}
if
(!
VehicleBookRecordStatus
.
APPROVE
.
getCode
().
equals
(
vehicleBookRecord
.
getStatus
())){
return
RestResponse
.
code
(
ResCode
.
VEHICLE_BOOKED_RECORD_ALREADY_CHANGED
.
getCode
());
}
//对比预定日期,逾期状态即为逾期归还
DateTime
startDate
=
new
DateTime
(
vehicleBookRecord
.
getBookStartDate
());
DateTime
endDate
=
new
DateTime
(
vehicleBookRecord
.
getBookEndDate
());
Integer
status
=
VehicleBookRecordStatus
.
RETURNED
.
getCode
();
if
(
DateTime
.
now
().
toString
(
DEFAULT_DATE_TIME_FORMATTER
).
compareTo
(
endDate
.
toString
(
DEFAULT_DATE_TIME_FORMATTER
))>
0
){
status
=
VehicleBookRecordStatus
.
RETURNED_OUT_DATE
.
getCode
();
}
//若提早归还则需要修改相关预定记录
//修改状态为已归还,写入实际归还日期
return
null
;
}
/**
...
...
vehicle/src/main/java/com/xinxincaravan/caravan/vehicle/biz/VehicleBookRecordBiz.java
View file @
2577fce7
This diff is collapsed.
Click to expand it.
vehicle/src/main/java/com/xinxincaravan/caravan/vehicle/constant/AccompanyingItemStatus.java
0 → 100644
View file @
2577fce7
package
com
.
xinxincaravan
.
caravan
.
vehicle
.
constant
;
import
com.google.common.collect.Maps
;
import
java.util.Map
;
public
enum
AccompanyingItemStatus
{
NORMAL
(
1
,
"正常"
),
//这一类型不存在db中,只是用于查询所有国家
DELETED
(
2
,
"已删除"
),
;
/**
* 编码
*/
private
Integer
code
;
/**
* 类型描述
*/
private
String
desc
;
private
static
Map
<
Integer
,
String
>
codeAndDesc
=
Maps
.
newHashMap
();
static
{
for
(
AccompanyingItemStatus
constantType
:
AccompanyingItemStatus
.
values
()){
codeAndDesc
.
put
(
constantType
.
getCode
(),
constantType
.
getDesc
());
}
}
AccompanyingItemStatus
(
Integer
code
,
String
desc
){
this
.
code
=
code
;
this
.
desc
=
desc
;
}
public
Integer
getCode
()
{
return
code
;
}
public
void
setCode
(
Integer
code
)
{
this
.
code
=
code
;
}
public
String
getDesc
()
{
return
desc
;
}
public
void
setDesc
(
String
desc
)
{
this
.
desc
=
desc
;
}
public
static
Boolean
exists
(
Integer
code
){
return
codeAndDesc
.
containsKey
(
code
);
}
}
vehicle/src/main/java/com/xinxincaravan/caravan/vehicle/constant/AccompanyingItemType.java
0 → 100644
View file @
2577fce7
package
com
.
xinxincaravan
.
caravan
.
vehicle
.
constant
;
import
com.google.common.collect.Maps
;
import
java.util.Map
;
public
enum
AccompanyingItemType
{
TOOL
(
1
,
"随车工具"
),
//这一类型不存在db中,只是用于查询所有国家
EQUIPMENT
(
2
,
"随车配备"
),
EQUIPABLE_ITEM
(
3
,
"可配物品"
),
;
/**
* 编码
*/
private
Integer
code
;
/**
* 类型描述
*/
private
String
desc
;
private
static
Map
<
Integer
,
String
>
codeAndDesc
=
Maps
.
newHashMap
();
static
{
for
(
AccompanyingItemType
constantType
:
AccompanyingItemType
.
values
()){
codeAndDesc
.
put
(
constantType
.
getCode
(),
constantType
.
getDesc
());
}
}
AccompanyingItemType
(
Integer
code
,
String
desc
){
this
.
code
=
code
;
this
.
desc
=
desc
;
}
public
Integer
getCode
()
{
return
code
;
}
public
void
setCode
(
Integer
code
)
{
this
.
code
=
code
;
}
public
String
getDesc
()
{
return
desc
;
}
public
void
setDesc
(
String
desc
)
{
this
.
desc
=
desc
;
}
public
static
Boolean
exists
(
Integer
code
){
return
codeAndDesc
.
containsKey
(
code
);
}
}
vehicle/src/main/java/com/xinxincaravan/caravan/vehicle/constant/RedisKey.java
View file @
2577fce7
...
...
@@ -34,7 +34,7 @@ public class RedisKey {
/**
* 迁移预定记录rediseky
*/
public
static
final
String
DEL_BOOK_RECORD_LOCK_PREFIX
=
"lock:del:bookRecord:
"
;
public
static
final
String
TRANSFER_BOOK_RECORD_LOCK_PREFIX
=
"lock:bookRecord:transfer
"
;
/**
...
...
@@ -42,4 +42,8 @@ public class RedisKey {
*/
public
static
final
String
BRANCH_COMPANY_CACHE_ALL
=
"cache:bracnCompany:all"
;
// 随车物品相关key
public
static
final
String
ACCOMPANYING_ITEM_CACHE_ALL
=
"cache:accompanyItem:all"
;
}
vehicle/src/main/java/com/xinxincaravan/caravan/vehicle/entity/AccompanyingItem.java
0 → 100644
View file @
2577fce7
package
com
.
xinxincaravan
.
caravan
.
vehicle
.
entity
;
import
lombok.Data
;
import
javax.persistence.Column
;
import
javax.persistence.Id
;
import
java.util.Date
;
@Data
public
class
AccompanyingItem
{
public
static
final
Integer
NO_AMOUNT_LIMIT
=
-
1
;
@Id
private
Integer
id
;
/**
* 物品名称
*/
@Column
(
name
=
"name"
)
private
String
name
;
/**
* 物品类型,详见AccompanyingItemType
*/
@Column
(
name
=
"type"
)
private
Integer
type
;
/**
* 备注
*/
private
String
remark
;
private
Date
createTime
;
private
Date
updateTime
;
}
vehicle/src/main/java/com/xinxincaravan/caravan/vehicle/entity/BookRecordAccItem.java
0 → 100644
View file @
2577fce7
package
com
.
xinxincaravan
.
caravan
.
vehicle
.
entity
;
import
lombok.Data
;
import
javax.persistence.Column
;
import
javax.persistence.Id
;
import
javax.persistence.Table
;
import
java.util.Date
;
@Data
public
class
BookRecordAccItem
{
/**
* 主键
*/
@Id
private
Long
id
;
/**
* 订车记录
*/
private
Long
bookRecordId
;
/**
* 随行物品id
*/
private
Integer
accItemId
;
/**
* 数量
*/
private
Integer
amount
;
}
\ No newline at end of file
vehicle/src/main/java/com/xinxincaravan/caravan/vehicle/entity/VehicleBookRecord.java
View file @
2577fce7
...
...
@@ -12,6 +12,7 @@ public class VehicleBookRecord {
* 主键
*/
@Id
@GeneratedValue
(
strategy
=
GenerationType
.
IDENTITY
)
private
Long
id
;
/**
...
...
vehicle/src/main/java/com/xinxincaravan/caravan/vehicle/mapper/AccompanyingItemMapper.java
0 → 100644
View file @
2577fce7
package
com
.
xinxincaravan
.
caravan
.
vehicle
.
mapper
;
import
com.xinxincaravan.caravan.vehicle.entity.AccompanyingItem
;
import
com.xinxincaravan.caravan.vehicle.entity.SysRegion
;
import
tk.mybatis.mapper.common.Mapper
;
import
java.util.List
;
import
java.util.Map
;
public
interface
AccompanyingItemMapper
extends
Mapper
<
AccompanyingItem
>
{
public
List
<
AccompanyingItem
>
getAllByPage
(
Map
<
String
,
String
>
params
);
public
List
<
AccompanyingItem
>
getByIdList
(
List
<
Integer
>
idList
);
public
Integer
updateStatusById
(
AccompanyingItem
accompanyingItem
);
}
vehicle/src/main/java/com/xinxincaravan/caravan/vehicle/mapper/BookRecordAccItemMapper.java
0 → 100644
View file @
2577fce7
package
com
.
xinxincaravan
.
caravan
.
vehicle
.
mapper
;
import
com.xinxincaravan.caravan.vehicle.entity.BookRecordAccItem
;
import
tk.mybatis.mapper.common.Mapper
;
import
java.util.List
;
import
java.util.Map
;
public
interface
BookRecordAccItemMapper
extends
Mapper
<
BookRecordAccItem
>
{
public
Integer
batchAdd
(
List
<
Map
<
String
,
Object
>>
list
);
public
Integer
batchAdd2Tb
(
Map
<
String
,
Object
>
params
);
public
List
<
BookRecordAccItem
>
getByRecords
(
Map
<
String
,
Object
>
params
);
public
void
createTbIfNotExists
(
String
tbName
);
}
\ No newline at end of file
vehicle/src/main/java/com/xinxincaravan/caravan/vehicle/mapper/VehicleBookRecordMapper.java
View file @
2577fce7
...
...
@@ -17,9 +17,14 @@ public interface VehicleBookRecordMapper extends Mapper<VehicleBookRecord> {
public
Integer
del4YearMoth
(
Map
<
String
,
Object
>
params
);
public
List
<
Long
>
getIdInYearMothLimit
(
Map
<
String
,
Object
>
params
);
public
void
createTbIfNotExists
(
String
tbName
);
public
List
<
QueryVehicleBookRecordVo
>
getByPage
(
Map
<
String
,
Object
>
params
);
public
Integer
liftOrRet
(
Map
<
String
,
Object
>
params
);
public
VehicleBookRecord
getById
(
Map
<
String
,
Object
>
params
);
}
\ No newline at end of file
vehicle/src/main/java/com/xinxincaravan/caravan/vehicle/rest/AccompanyingItemController.java
0 → 100644
View file @
2577fce7
package
com
.
xinxincaravan
.
caravan
.
vehicle
.
rest
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONException
;
import
com.github.wxiaoqi.security.auth.client.annotation.IgnoreClientToken
;
import
com.xinxincaravan.caravan.vehicle.biz.AccompanyingItemBiz
;
import
com.xinxincaravan.caravan.vehicle.common.BaseController
;
import
com.xinxincaravan.caravan.vehicle.common.CustomIllegalParamException
;
import
com.xinxincaravan.caravan.vehicle.common.RestResponse
;
import
com.xinxincaravan.caravan.vehicle.constant.ResCode.ResCode
;
import
com.xinxincaravan.caravan.vehicle.entity.AccompanyingItem
;
import
com.xinxincaravan.caravan.vehicle.vo.AddOrUpdateAccompanyingItem
;
import
com.xinxincaravan.caravan.vehicle.vo.PageDataVo
;
import
com.xinxincaravan.caravan.vehicle.vo.QueryAccompanyItemVo
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.web.bind.annotation.*
;
import
java.util.List
;
@RestController
@RequestMapping
(
"/accompanyingItem"
)
@IgnoreClientToken
@Slf4j
public
class
AccompanyingItemController
extends
BaseController
<
AccompanyingItemBiz
>
{
@RequestMapping
(
value
=
"/{id}"
,
method
=
RequestMethod
.
GET
)
private
RestResponse
<
AccompanyingItem
>
get
(
@PathVariable
Integer
id
)
throws
Exception
{
return
RestResponse
.
codeAndData
(
RestResponse
.
SUC_CODE
,
baseBiz
.
get
(
id
));
}
@RequestMapping
(
value
=
"/all"
,
method
=
RequestMethod
.
GET
)
private
RestResponse
<
List
<
AccompanyingItem
>>
getAll
(){
return
RestResponse
.
codeAndData
(
RestResponse
.
SUC_CODE
,
baseBiz
.
getAll
());
}
@RequestMapping
(
value
=
"/page"
,
method
=
RequestMethod
.
GET
)
private
RestResponse
<
PageDataVo
<
AccompanyingItem
>>
getByPage
(
@RequestParam
String
queryAccompanyItemVoJson
)
throws
Exception
{
QueryAccompanyItemVo
queryAccompanyItemVo
=
null
;
try
{
queryAccompanyItemVo
=
JSON
.
parseObject
(
queryAccompanyItemVoJson
,
QueryAccompanyItemVo
.
class
);
return
RestResponse
.
data
(
baseBiz
.
getByPage
(
queryAccompanyItemVo
));
}
catch
(
JSONException
ex
)
{
return
RestResponse
.
code
(
ResCode
.
INVALID_REST_REQ_PARAM
.
getCode
());
}
catch
(
CustomIllegalParamException
ex
){
return
RestResponse
.
code
(
ResCode
.
INVALID_REST_REQ_PARAM
.
getCode
());
}
}
@RequestMapping
(
value
=
""
,
method
=
RequestMethod
.
POST
)
private
RestResponse
<
Integer
>
add
(
@RequestBody
AddOrUpdateAccompanyingItem
addOrUpdateAccompanyingItem
)
throws
Exception
{
return
baseBiz
.
add
(
addOrUpdateAccompanyingItem
);
}
@RequestMapping
(
value
=
""
,
method
=
RequestMethod
.
PUT
)
private
RestResponse
<
Integer
>
update
(
@RequestBody
AddOrUpdateAccompanyingItem
addOrUpdateAccompanyingItem
)
throws
Exception
{
return
baseBiz
.
update
(
addOrUpdateAccompanyingItem
);
}
@RequestMapping
(
value
=
"/{id}"
,
method
=
RequestMethod
.
DELETE
)
private
RestResponse
<
Integer
>
del
(
@PathVariable
Integer
id
)
throws
Exception
{
return
baseBiz
.
del
(
id
);
}
}
vehicle/src/main/java/com/xinxincaravan/caravan/vehicle/rest/VehicleController.java
View file @
2577fce7
...
...
@@ -20,6 +20,9 @@ import com.xinxincaravan.caravan.vehicle.entity.VehicleBookInfo;
import
com.xinxincaravan.caravan.vehicle.entity.VehicleBookRecord
;
import
com.xinxincaravan.caravan.vehicle.vo.*
;
import
lombok.extern.slf4j.Slf4j
;
import
org.joda.time.DateTime
;
import
org.joda.time.format.DateTimeFormat
;
import
org.joda.time.format.DateTimeFormatter
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.*
;
...
...
@@ -34,6 +37,8 @@ public class VehicleController extends BaseController<VehicleBiz> {
@Autowired
private
VehicleBookRecordBiz
vehicleBookRecordBiz
;
public
static
final
DateTimeFormatter
DEFAULT_FORMATTER
=
DateTimeFormat
.
forPattern
(
"yyyy-MM-dd HH:mm:ss"
);
@RequestMapping
(
value
=
"/{id}"
,
method
=
RequestMethod
.
GET
)
public
RestResponse
<
Vehicle
>
get
(
@PathVariable
String
id
)
{
return
RestResponse
.
data
(
baseBiz
.
get
(
id
));
...
...
@@ -139,11 +144,11 @@ public class VehicleController extends BaseController<VehicleBiz> {
return
baseBiz
.
unbookVehicle4Employee
(
operatorId
,
bookRecordId
,
userName
);
}
@RequestMapping
(
value
=
"/bookedRecord/{id}"
,
method
=
RequestMethod
.
GET
)
public
RestResponse
<
VehicleBookRecord
>
getBookedRecord
(
@PathVariable
Long
id
)
throws
Exception
{
@RequestMapping
(
value
=
"/bookedRecord/{
bookEndDate}/{
id}"
,
method
=
RequestMethod
.
GET
)
public
RestResponse
<
QueryVehicleBookRecordVo
>
getBookedRecord
(
@PathVariable
String
bookEndDate
,
@PathVariable
Long
id
)
throws
Exception
{
try
{
return
RestResponse
.
codeAndData
(
RestResponse
.
SUC_CODE
,
vehicleBookRecordBiz
.
getById
(
id
));
return
RestResponse
.
codeAndData
(
RestResponse
.
SUC_CODE
,
vehicleBookRecordBiz
.
getById
(
id
,
DateTime
.
parse
(
bookEndDate
,
DEFAULT_FORMATTER
)
));
}
catch
(
JSONException
ex
)
{
return
RestResponse
.
code
(
ResCode
.
INVALID_REST_REQ_PARAM
.
getCode
());
}
catch
(
CustomIllegalParamException
ex
){
...
...
vehicle/src/main/java/com/xinxincaravan/caravan/vehicle/vo/AddOrUpdateAccompanyingItem.java
0 → 100644
View file @
2577fce7
package
com
.
xinxincaravan
.
caravan
.
vehicle
.
vo
;
import
lombok.Data
;
import
java.util.Date
;
@Data
public
class
AddOrUpdateAccompanyingItem
{
private
Integer
id
;
/**
* 物品名称
*/
private
String
name
;
/**
* 物品类型,详见AccompanyingItemType
*/
private
Integer
type
;
/**
* 备注
*/
private
String
remark
;
}
vehicle/src/main/java/com/xinxincaravan/caravan/vehicle/vo/BookVehicleVo.java
View file @
2577fce7
...
...
@@ -5,6 +5,7 @@ import lombok.Data;
import
javax.persistence.Column
;
import
javax.persistence.Id
;
import
java.util.List
;
import
java.util.Map
;
@Data
public
class
BookVehicleVo
{
...
...
@@ -51,4 +52,9 @@ public class BookVehicleVo {
*/
private
String
remark
;
/**
* 随车物品id以及数量 List<Map<id,数量>>
*/
Map
<
Integer
,
Integer
>
selectedAccItem
;
}
\ No newline at end of file
vehicle/src/main/java/com/xinxincaravan/caravan/vehicle/vo/QueryAccompanyItemVo.java
0 → 100644
View file @
2577fce7
package
com
.
xinxincaravan
.
caravan
.
vehicle
.
vo
;
import
lombok.Data
;
/**
* 查询随行物品
*
*/
@Data
public
class
QueryAccompanyItemVo
{
private
Integer
type
;
private
String
name
;
private
Integer
page
;
private
Integer
limit
;
}
vehicle/src/main/java/com/xinxincaravan/caravan/vehicle/vo/QueryVehicleBookRecordVo.java
View file @
2577fce7
...
...
@@ -6,6 +6,8 @@ import javax.persistence.Column;
import
javax.persistence.Id
;
import
javax.persistence.Table
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.Map
;
@Data
public
class
QueryVehicleBookRecordVo
{
...
...
@@ -181,4 +183,11 @@ public class QueryVehicleBookRecordVo {
*/
private
String
reviewerNameLift
;
/**
* 随车物品id以及数量 List<Map<id,数量>>
*/
Map
<
Integer
,
Integer
>
accItemAndAmount
;
}
\ No newline at end of file
vehicle/src/main/resources/mapper/AccompanyingItemMapper.xml
0 → 100644
View file @
2577fce7
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"com.xinxincaravan.caravan.vehicle.mapper.AccompanyingItemMapper"
>
<select
id=
"getAllByPage"
parameterType=
"java.util.Map"
resultType=
"com.xinxincaravan.caravan.vehicle.entity.AccompanyingItem"
>
select
`id`, `type`, `name`, `remark`, `create_time`, `update_time`
from
vehicle.accompanying_item
where
1 = 1
<if
test=
"name != null and name != ''"
>
and name = #{name}
</if>
<if
test=
"type != null"
>
and type = #{type}
</if>
</select>
<select
id=
"getByIdList"
parameterType=
"java.util.List"
resultType=
"com.xinxincaravan.caravan.vehicle.entity.AccompanyingItem"
>
select
`id`, `type`, `name`, `remark`, `create_time`, `update_time`
from
vehicle.accompanying_item
where `id` in
<foreach
collection=
"list"
index=
"i"
item=
"item"
open=
"("
close=
")"
separator=
","
>
#{item}
</foreach>
</select>
</mapper>
\ No newline at end of file
vehicle/src/main/resources/mapper/BookRecordAccItemMapper.xml
0 → 100644
View file @
2577fce7
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper
namespace=
"com.xinxincaravan.caravan.vehicle.mapper.BookRecordAccItemMapper"
>
<insert
id=
"batchAdd"
parameterType=
"java.util.List"
>
insert into book_record_acc_item(book_record_id,acc_item_id,amount) values
<foreach
collection=
"list"
index=
"i"
item=
"item"
separator=
","
open=
""
close=
""
>
(#{item.bookRecordId},#{item.id},#{item.amount})
</foreach>
</insert>
<insert
id=
"batchAdd2Tb"
parameterType=
"java.util.Map"
>
insert into ${tbName}(id,book_record_id,acc_item_id,amount) values
<foreach
collection=
"list"
index=
"i"
item=
"item"
separator=
","
open=
""
close=
""
>
(#{item.id},#{item.bookRecordId},#{item.accItemId},#{item.amount})
</foreach>
</insert>
<select
id=
"getByRecords"
parameterType=
"java.util.List"
resultType=
"com.xinxincaravan.caravan.vehicle.entity.BookRecordAccItem"
>
select id,book_record_id,acc_item_id,amount from ${tbName} where book_record_id in
<foreach
collection=
"bookRecordIds"
index=
"i"
item=
"item"
separator=
","
open=
"("
close=
")"
>
#{item}
</foreach>
</select>
<insert
id=
"createTbIfNotExists"
parameterType=
"java.lang.String"
>
CREATE TABLE IF NOT EXISTS ${_parameter} (
`id` bigint(20) NOT NULL AUTO_INCREMENT,
`book_record_id` bigint(20) NOT NULL COMMENT '申请记录id',
`acc_item_id` int(11) NOT NULL COMMENT '对应随行物品id',
`amount` int(10) NULL DEFAULT NULL COMMENT '数量',
PRIMARY KEY (`id`) USING BTREE,
INDEX `i_book_record_id`(`book_record_id`) USING BTREE,
INDEX `i_acc_item_id`(`acc_item_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 14 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '汽车随行物品预定记录关系历史表,按年分表' ROW_FORMAT = Dynamic;
</insert>
</mapper>
\ No newline at end of file
vehicle/src/main/resources/mapper/VehicleBookRecordMapper.xml
View file @
2577fce7
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper
namespace=
"com.xinxincaravan.caravan.vehicle.mapper.VehicleBookRecordMapper"
>
<resultMap
id=
"BaseResultMap"
type=
"com.xinxincaravan.caravan.vehicle.entity.VehicleBookRecord"
>
<!--
WARNING - @mbg.generated
-->
<id
column=
"id"
property=
"id"
jdbcType=
"BIGINT"
/>
<result
column=
"vehicle"
property=
"vehicle"
jdbcType=
"VARCHAR"
/>
<result
column=
"statu"
property=
"statu"
jdbcType=
"INTEGER"
/>
<result
column=
"book_type"
property=
"bookType"
jdbcType=
"INTEGER"
/>
<result
column=
"book_user"
property=
"bookUser"
jdbcType=
"INTEGER"
/>
<result
column=
"contact_info"
property=
"contactInfo"
jdbcType=
"VARCHAR"
/>
<result
column=
"book_start_date"
property=
"bookStartDate"
jdbcType=
"TIMESTAMP"
/>
<result
column=
"
lift_location"
property=
"
liftLocation"
jdbcType=
"VARCHAR"
/>
<result
column=
"lift_addr"
property=
"liftAddr"
jdbcType=
"VARCHAR"
/>
<result
column=
"remark"
property=
"remark"
jdbcType=
"VARCHAR"
/>
<result
column=
"create_time"
property=
"createTime"
jdbcType=
"TIMESTAMP"
/>
<result
column=
"update_time"
property=
"updateTime"
jdbcType=
"TIMESTAMP"
/>
<result
column=
"destination"
property=
"destination"
jdbcType=
"VARCHAR"
/>
<result
column=
"book_end_date"
property=
"bookEndDate"
jdbcType=
"TIMESTAMP"
/>
<result
column=
"actal_start_date"
property=
"actalStartDate"
jdbcType=
"TIMESTAMP"
/>
<result
column=
"actual_end_date"
property=
"actualEndDate"
jdbcType=
"TIMESTAMP"
/>
</resultMap>
<update
id=
"changeRecordStatus"
parameterType=
"java.util.Map"
>
update vehicle_book_record set
...
...
@@ -53,6 +30,10 @@ liftLocation" jdbcType="VARCHAR" />
delete from vehicle_book_record where `book_end_date` between #{startDate} and #{endDate} limit #{batchSize}
</delete>
<select
id=
"getIdInYearMothLimit"
parameterType=
"java.util.Map"
resultType=
"java.lang.Long"
>
select id from vehicle_book_record where `book_end_date` between #{startDate} and #{endDate} limit #{batchSize}
</select>
<update
id=
"liftOrRet"
parameterType=
"java.util.Map"
>
update vehicle_book_record
set `status` = #{targetStatus},
...
...
@@ -76,7 +57,12 @@ liftLocation" jdbcType="VARCHAR" />
<if
test=
"liftCompany != null"
>
`lift_company` = #{liftCompany},
</if>
`actual_start_date` = now()
<choose>
<when
test=
"targetStatus == 7"
>
`actual_start_date` = now()
</when>
<when
test=
"targetStatus == 3"
>
`actual_end_date` = now()
</when>
</choose>
where id = #{id} and `status` = #{conditionStatus}
</update>
...
...
@@ -102,7 +88,13 @@ liftLocation" jdbcType="VARCHAR" />
`reviewer_cancel`,
`reviewer_name_cancel`,
`actual_start_date`,
`actual_end_date`
`actual_end_date`,
`reviewer_lift`,
`reviewer_name_lift`,
lift_company,
lift_remark,
ret_company,
ret_remark
)
values(
#{id},
...
...
@@ -125,7 +117,13 @@ liftLocation" jdbcType="VARCHAR" />
#{reviewerCancel},
#{reviewerNameCancel},
#{actualStartDate},
#{actualEndDate}
#{actualEndDate},
#{reviewerLift},
#{reviewerNameLift},
#{liftCompany},
#{liftRemark},
#{retCompany},
#{retRemark}
);
</insert>
...
...
@@ -153,7 +151,13 @@ liftLocation" jdbcType="VARCHAR" />
`reviewer_cancel`,
`reviewer_name_cancel`,
`actual_start_date`,
`actual_end_date`
`actual_end_date`,
`reviewer_lift`,
`reviewer_name_lift`,
lift_company,
lift_remark,
ret_company,
ret_remark
from
vehicle_book_record
where
...
...
@@ -236,11 +240,47 @@ liftLocation" jdbcType="VARCHAR" />
order by vbr.id desc
</select>
<select
id=
"getById"
parameterType=
"java.util.Map"
resultType=
"com.xinxincaravan.caravan.vehicle.entity.VehicleBookRecord"
>
select
vbr.`id`,
vbr.`vehicle`,
vbr.`status`,
vbr.`book_type`,
vbr.`book_user`,
vbr.`book_user_name`,
vbr.`contact_info`,
vbr.`book_start_date`,
vbr.`book_end_date`,
vbr.`lift_location`,
vbr.`lift_addr`,
vbr.`remark`,
vbr.`create_time`,
vbr.`update_time`,
vbr.`destination`,
vbr.`reviewer_apply`,
vbr.`reviewer_name_apply`,
vbr.`reviewer_return`,
vbr.`reviewer_name_return`,
vbr.`reviewer_cancel`,
vbr.`reviewer_name_cancel`,
vbr.`actual_start_date`,
vbr.`actual_end_date`,
vbr.`reviewer_lift`,
vbr.`reviewer_name_lift`,
vbr.lift_company,
vbr.lift_remark,
vbr.ret_company,
vbr.ret_remark
from ${tbName} vbr
where id = #{id}
</select>
<insert
id=
"createTbIfNotExists"
parameterType=
"java.lang.String"
>
CREATE TABLE IF NOT EXISTS ${_parameter} (
`id` bigint(20) NOT NULL COMMENT '主键',
`id` bigint(20) NOT NULL
AUTO_INCREMENT
COMMENT '主键',
`vehicle` varchar(40) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '车辆id',
`status` int(255) NULL DEFAULT NULL COMMENT '申请状态:1-申请中 2-已通过 3-已归还 4-拒绝 5-逾期归还 6-已取消',
`book_type` int(11) NOT NULL COMMENT '预定类型,1-用户租赁、2-内部员工申请 3-维修',
...
...
@@ -250,7 +290,7 @@ liftLocation" jdbcType="VARCHAR" />
`book_start_date` datetime(0) NOT NULL COMMENT '申请开始日期',
`book_end_date` datetime(0) NOT NULL COMMENT '申请结束日期',
`lift_location` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '提车地点(经纬度)',
`lift_addr` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci N
O
T NULL COMMENT '提车地址',
`lift_addr` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci N
ULL DEFAUL
T NULL COMMENT '提车地址',
`remark` varchar(2000) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
`create_time` datetime(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0),
`update_time` datetime(0) NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP(0),
...
...
@@ -261,8 +301,14 @@ liftLocation" jdbcType="VARCHAR" />
`reviewer_name_return` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '归还审核人姓名',
`reviewer_cancel` int(10) NULL DEFAULT NULL COMMENT '取消人,-1代表系统',
`reviewer_name_cancel` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '取消预定人姓名',
`actual_start_date` datetime(0) NULL DEFAULT NULL COMMENT '实际开始日期',
`actual_end_date` datetime(0) NULL DEFAULT NULL COMMENT '实际结束日期',
`actual_start_date` datetime(0) NULL DEFAULT NULL COMMENT '实际开始日期(提车时间)',
`actual_end_date` datetime(0) NULL DEFAULT NULL COMMENT '实际结束日期(还车时间)',
`lift_company` int(10) NULL DEFAULT NULL COMMENT '提车地点(公司)',
`lift_remark` varchar(2000) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '提车备注',
`ret_company` int(10) NULL DEFAULT NULL COMMENT '还车地点(公司)',
`ret_remark` varchar(2000) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '还车备注',
`reviewer_lift` int(10) NULL DEFAULT NULL COMMENT '提车审核人',
`reviewer_name_lift` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '提车审核人姓名',
PRIMARY KEY (`id`) USING BTREE,
INDEX `i_vehicle`(`vehicle`) USING BTREE,
INDEX `i_book_user`(`book_user`) USING BTREE,
...
...
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