Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
C
cloud-fb
Overview
Overview
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
王衍超
cloud-fb
Commits
77d09e5d
Commit
77d09e5d
authored
May 18, 2021
by
高晓磊
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
司机用户绑定了多次同一个车牌号的问题. 派单列表数据量大的问题
parent
c36c1c2a
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
98 additions
and
14 deletions
+98
-14
VehicleDriverUserDao.java
...va/com/xyst/dinas/transport/dao/VehicleDriverUserDao.java
+2
-0
VehicleDispatchDaoImpl.java
.../dinas/transport/internal/dao/VehicleDispatchDaoImpl.java
+8
-6
VehicleDriverUserDaoImpl.java
...inas/transport/internal/dao/VehicleDriverUserDaoImpl.java
+11
-1
VehicleDriverUserServiceImpl.java
...nsport/internal/service/VehicleDriverUserServiceImpl.java
+72
-4
VehicleDriverUserController.java
...xyst/dinas/transport/web/VehicleDriverUserController.java
+5
-3
No files found.
backend/xyst.dinas.transport/src/main/java/com/xyst/dinas/transport/dao/VehicleDriverUserDao.java
View file @
77d09e5d
...
@@ -22,4 +22,6 @@ public interface VehicleDriverUserDao extends BaseDao {
...
@@ -22,4 +22,6 @@ public interface VehicleDriverUserDao extends BaseDao {
List
<
KObject
>
vehicleListByDriverUserId
(
UUID
id
);
List
<
KObject
>
vehicleListByDriverUserId
(
UUID
id
);
Page
<
KObject
>
transportRecordPage
(
Integer
pageNo
,
Integer
pageSize
,
UUID
vehicleId
,
Date
startDate
,
Date
endDate
,
UUID
id
);
Page
<
KObject
>
transportRecordPage
(
Integer
pageNo
,
Integer
pageSize
,
UUID
vehicleId
,
Date
startDate
,
Date
endDate
,
UUID
id
);
List
<
KObject
>
selectIdByDriverAndVehicle
(
UUID
driverUserId
,
UUID
uuid
);
}
}
backend/xyst.dinas.transport/src/main/java/com/xyst/dinas/transport/internal/dao/VehicleDispatchDaoImpl.java
View file @
77d09e5d
...
@@ -101,6 +101,9 @@ public class VehicleDispatchDaoImpl extends AbstractBaseDao implements VehicleDi
...
@@ -101,6 +101,9 @@ public class VehicleDispatchDaoImpl extends AbstractBaseDao implements VehicleDi
collect
=
new
ArrayList
<>();
collect
=
new
ArrayList
<>();
collect
.
add
(
vehicleId
);
collect
.
add
(
vehicleId
);
}
}
if
(
collect
.
isEmpty
()){
return
null
;
}
Page
<
KObject
>
kObjectPage
=
new
Page
<>();
Page
<
KObject
>
kObjectPage
=
new
Page
<>();
KClass
bean
=
Amino
.
getStaticMetadataContext
().
getBean
(
ENTITY
,
KClass
.
class
);
KClass
bean
=
Amino
.
getStaticMetadataContext
().
getBean
(
ENTITY
,
KClass
.
class
);
DetachedCriteria
detachedCriteria
=
DetachedCriteria
.
forEntityName
(
bean
.
getName
());
DetachedCriteria
detachedCriteria
=
DetachedCriteria
.
forEntityName
(
bean
.
getName
());
...
@@ -114,9 +117,9 @@ public class VehicleDispatchDaoImpl extends AbstractBaseDao implements VehicleDi
...
@@ -114,9 +117,9 @@ public class VehicleDispatchDaoImpl extends AbstractBaseDao implements VehicleDi
detachedCriteria
.
add
(
Restrictions
.
le
(
PLANNING_CYCLE
+
".startTime"
,
DateTimeUtils
.
getEndDateTimeOfDay
(
endDate
)));
detachedCriteria
.
add
(
Restrictions
.
le
(
PLANNING_CYCLE
+
".startTime"
,
DateTimeUtils
.
getEndDateTimeOfDay
(
endDate
)));
}
}
if
(
isOrderByPlanCycleType
)
{
if
(
isOrderByPlanCycleType
)
{
detachedCriteria
.
addOrder
(
Order
.
desc
(
PLANNING_CYCLE
+
"cycleType"
));
detachedCriteria
.
addOrder
(
Order
.
desc
(
PLANNING_CYCLE
+
"
.
cycleType"
));
}
}
detachedCriteria
.
addOrder
(
Order
.
desc
(
PLANNING_CYCLE
+
"startTime"
));
detachedCriteria
.
addOrder
(
Order
.
desc
(
PLANNING_CYCLE
+
"
.
startTime"
));
int
offset
=
pageSize
*
(
pageNo
-
1
);
int
offset
=
pageSize
*
(
pageNo
-
1
);
List
<
KObject
>
list
=
(
List
<
KObject
>)
template
.
findByCriteria
(
detachedCriteria
,
offset
,
pageSize
);
List
<
KObject
>
list
=
(
List
<
KObject
>)
template
.
findByCriteria
(
detachedCriteria
,
offset
,
pageSize
);
kObjectPage
.
setPageNo
(
pageNo
);
kObjectPage
.
setPageNo
(
pageNo
);
...
@@ -130,14 +133,13 @@ public class VehicleDispatchDaoImpl extends AbstractBaseDao implements VehicleDi
...
@@ -130,14 +133,13 @@ public class VehicleDispatchDaoImpl extends AbstractBaseDao implements VehicleDi
@Override
@Override
public
void
updateStatusToStart
()
{
public
void
updateStatusToStart
()
{
//修改为已开始
//修改为已开始
String
getIds
=
""
;
template
.
execute
(
session
->
template
.
execute
(
session
->
{
{
Query
query1
=
session
.
createQuery
(
"select a.id from "
+
ENTITY
+
" as a inner join a."
+
PLANNING_CYCLE
+
" as p on a.planningCycle=p.id "
+
Query
<
UUID
>
query1
=
session
.
createQuery
(
"select a.id from "
+
ENTITY
+
" as a inner join a."
+
PLANNING_CYCLE
+
" as p on a.planningCycle=p.id "
+
"where p."
+
PLANNING_CYCLE_START_TIME
+
" <= current_timestamp() "
+
"where p."
+
PLANNING_CYCLE_START_TIME
+
" <= current_timestamp() "
+
" and a.dispatchStatus ="
+
PriceAdjustmentAdjustmentStatusEnum
.
NOT_STARTED
.
getValue
(),
UUID
.
class
);
" and a.dispatchStatus ="
+
PriceAdjustmentAdjustmentStatusEnum
.
NOT_STARTED
.
getValue
(),
UUID
.
class
);
Optional
optional
=
query1
.
uniqueResultOptional
(
);
Optional
<
List
<
UUID
>>
optional
=
Optional
.
ofNullable
(
query1
.
getResultList
()
);
if
(
optional
.
isPresent
())
{
if
(
optional
.
isPresent
()
&&
optional
.
get
().
size
()>
0
)
{
Query
query
=
session
.
createQuery
(
"update "
+
ENTITY
+
" as b SET b.dispatchStatus = 1 where b.id in ( :ids)"
);
Query
query
=
session
.
createQuery
(
"update "
+
ENTITY
+
" as b SET b.dispatchStatus = 1 where b.id in ( :ids)"
);
query
.
setParameter
(
"ids"
,
optional
.
get
());
query
.
setParameter
(
"ids"
,
optional
.
get
());
return
query
.
executeUpdate
();
return
query
.
executeUpdate
();
...
...
backend/xyst.dinas.transport/src/main/java/com/xyst/dinas/transport/internal/dao/VehicleDriverUserDaoImpl.java
View file @
77d09e5d
...
@@ -96,7 +96,7 @@ public class VehicleDriverUserDaoImpl extends AbstractBaseDao implements Vehicle
...
@@ -96,7 +96,7 @@ public class VehicleDriverUserDaoImpl extends AbstractBaseDao implements Vehicle
KClass
bean
=
Amino
.
getStaticMetadataContext
().
getBean
(
ENTITY
,
KClass
.
class
);
KClass
bean
=
Amino
.
getStaticMetadataContext
().
getBean
(
ENTITY
,
KClass
.
class
);
DetachedCriteria
detachedCriteria
=
DetachedCriteria
.
forEntityName
(
bean
.
getName
());
DetachedCriteria
detachedCriteria
=
DetachedCriteria
.
forEntityName
(
bean
.
getName
());
detachedCriteria
.
add
(
Restrictions
.
eq
(
"del"
,
false
));
detachedCriteria
.
add
(
Restrictions
.
eq
(
"del"
,
false
));
detachedCriteria
.
add
(
Restrictions
.
eq
(
"driver.id"
,
id
));
detachedCriteria
.
add
(
Restrictions
.
eq
(
"driver
User
.id"
,
id
));
return
(
List
<
KObject
>)
template
.
findByCriteria
(
detachedCriteria
);
return
(
List
<
KObject
>)
template
.
findByCriteria
(
detachedCriteria
);
}
}
@Override
@Override
...
@@ -133,4 +133,14 @@ public class VehicleDriverUserDaoImpl extends AbstractBaseDao implements Vehicle
...
@@ -133,4 +133,14 @@ public class VehicleDriverUserDaoImpl extends AbstractBaseDao implements Vehicle
kObjectPage
.
setDatas
(
list
);
kObjectPage
.
setDatas
(
list
);
return
kObjectPage
;
return
kObjectPage
;
}
}
@Override
public
List
<
KObject
>
selectIdByDriverAndVehicle
(
UUID
driverUserId
,
UUID
uuid
)
{
KClass
bean
=
Amino
.
getStaticMetadataContext
().
getBean
(
ENTITY
,
KClass
.
class
);
DetachedCriteria
detachedCriteria
=
DetachedCriteria
.
forEntityName
(
bean
.
getName
());
detachedCriteria
.
add
(
Restrictions
.
eq
(
"del"
,
false
));
detachedCriteria
.
add
(
Restrictions
.
eq
(
"driverUser.id"
,
driverUserId
));
detachedCriteria
.
add
(
Restrictions
.
eq
(
"transportVehicle.id"
,
uuid
));
return
(
List
<
KObject
>)
template
.
findByCriteria
(
detachedCriteria
);
}
}
}
backend/xyst.dinas.transport/src/main/java/com/xyst/dinas/transport/internal/service/VehicleDriverUserServiceImpl.java
View file @
77d09e5d
package
com
.
xyst
.
dinas
.
transport
.
internal
.
service
;
package
com
.
xyst
.
dinas
.
transport
.
internal
.
service
;
import
com.beecode.amino.core.Amino
;
import
com.beecode.bap.attachment.common.Page
;
import
com.beecode.bap.attachment.common.Page
;
import
com.beecode.bcp.type.KClass
;
import
com.beecode.bcp.type.KObject
;
import
com.beecode.bcp.type.KObject
;
import
com.beecode.inz.basis.config.constants.DriverUserConstants
;
import
com.beecode.inz.basis.config.constants.DriverUserConstants
;
import
com.beecode.inz.basis.dao.DriverUserDao
;
import
com.beecode.inz.basis.dao.DriverUserDao
;
...
@@ -10,6 +12,7 @@ import com.xyst.dinas.transport.constant.VehicleDriverUserConstant;
...
@@ -10,6 +12,7 @@ import com.xyst.dinas.transport.constant.VehicleDriverUserConstant;
import
com.xyst.dinas.transport.dao.VehicleDriverUserDao
;
import
com.xyst.dinas.transport.dao.VehicleDriverUserDao
;
import
com.xyst.dinas.transport.dao.VehicleDispatchDao
;
import
com.xyst.dinas.transport.dao.VehicleDispatchDao
;
import
com.xyst.dinas.transport.service.VehicleDriverUserService
;
import
com.xyst.dinas.transport.service.VehicleDriverUserService
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
javax.transaction.Transactional
;
import
javax.transaction.Transactional
;
...
@@ -37,16 +40,20 @@ public class VehicleDriverUserServiceImpl implements VehicleDriverUserService {
...
@@ -37,16 +40,20 @@ public class VehicleDriverUserServiceImpl implements VehicleDriverUserService {
public
UUID
bindPlateNumber
(
String
plateNumber
,
UUID
driverUserId
)
{
public
UUID
bindPlateNumber
(
String
plateNumber
,
UUID
driverUserId
)
{
KObject
driver
=
driverUserDao
.
load
(
driverUserId
.
toString
());
KObject
driver
=
driverUserDao
.
load
(
driverUserId
.
toString
());
UUID
uuid
=
driver
.
getUuid
(
DriverUserConstants
.
TRANSPORT_COMPANY_ID
);
UUID
uuid
=
driver
.
getUuid
(
DriverUserConstants
.
TRANSPORT_COMPANY_ID
);
KObject
transportCompanyEntity
=
vehicleDriverUserDao
.
load
(
VehicleDriverUserConstant
.
TRANSPORT_COMPANY_ENTITY
,
uuid
);
KObject
transportCompanyEntity
=
vehicleDriverUserDao
.
load
(
VehicleDriverUserConstant
.
TRANSPORT_COMPANY_ENTITY
,
uuid
);
KObject
regionalCompany
=
transportCompanyEntity
.
get
(
"regionalCompany"
);
KObject
regionalCompany
=
transportCompanyEntity
.
get
(
"regionalCompany"
);
UUID
regionalCompanyUuid
=
regionalCompany
.
getUuid
(
BaseConstants
.
ID
);
UUID
regionalCompanyUuid
=
regionalCompany
.
getUuid
(
BaseConstants
.
ID
);
KObject
vehicle
=
vehicleDriverUserDao
.
selectVehicleByPlateNumber
(
plateNumber
,
regionalCompanyUuid
);
KObject
vehicle
=
vehicleDriverUserDao
.
selectVehicleByPlateNumber
(
plateNumber
,
regionalCompanyUuid
);
if
(
vehicle
==
null
){
if
(
vehicle
==
null
){
return
null
;
return
null
;
}
}
UUID
id
=
vehicleDriverUserDao
.
createBind
(
driver
,
regionalCompany
,
vehicle
);
List
<
KObject
>
kObjects
=
vehicleDriverUserDao
.
selectIdByDriverAndVehicle
(
driverUserId
,
vehicle
.
getUuid
(
BaseConstants
.
ID
));
return
id
;
if
(
CollectionUtils
.
isNotEmpty
(
kObjects
)&&
kObjects
.
size
()>
0
){
return
kObjects
.
get
(
0
).
getUuid
(
BaseConstants
.
ID
);
}
return
vehicleDriverUserDao
.
createBind
(
driver
,
regionalCompany
,
vehicle
);
}
}
@Override
@Override
...
@@ -61,7 +68,68 @@ public class VehicleDriverUserServiceImpl implements VehicleDriverUserService {
...
@@ -61,7 +68,68 @@ public class VehicleDriverUserServiceImpl implements VehicleDriverUserService {
@Override
@Override
public
Page
<
KObject
>
pageByVehicleId
(
Integer
pageNo
,
Integer
pageSize
,
Integer
status
,
UUID
vehicleId
,
Date
startDate
,
Date
endDate
,
Boolean
isOrderByPlanCycleType
,
UUID
driverUserId
)
{
public
Page
<
KObject
>
pageByVehicleId
(
Integer
pageNo
,
Integer
pageSize
,
Integer
status
,
UUID
vehicleId
,
Date
startDate
,
Date
endDate
,
Boolean
isOrderByPlanCycleType
,
UUID
driverUserId
)
{
return
vehicleDispatchDao
.
pageByVehicleId
(
pageNo
,
pageSize
,
status
,
vehicleId
,
startDate
,
endDate
,
isOrderByPlanCycleType
,
driverUserId
);
Page
<
KObject
>
kObjectPage
=
vehicleDispatchDao
.
pageByVehicleId
(
pageNo
,
pageSize
,
status
,
vehicleId
,
startDate
,
endDate
,
isOrderByPlanCycleType
,
driverUserId
);
List
<
KObject
>
datas
=
kObjectPage
.
getDatas
();
List
<
KObject
>
datas1
=
removeFiled
(
datas
);
kObjectPage
.
setDatas
(
datas1
);
return
kObjectPage
;
}
private
List
<
KObject
>
removeFiled
(
List
<
KObject
>
datas
)
{
ArrayList
<
KObject
>
kObjects
=
new
ArrayList
<>();
for
(
KObject
data
:
datas
)
{
KObject
base
=
data
.
clone
();
KObject
project
=
base
.
get
(
"project"
);
if
(
null
!=
project
&&!
project
.
isNull
()){
KObject
projectCopy
=
Amino
.
getStaticMetadataContext
().
getBean
(
project
.
getType
().
getName
(),
KClass
.
class
).
newInstance
();
projectCopy
.
set
(
"projectName"
,
project
.
getString
(
"projectName"
));
projectCopy
.
set
(
"id"
,
project
.
getUuid
(
BaseConstants
.
ID
));
base
.
set
(
"project"
,
projectCopy
);
}
else
{
base
.
setNull
(
"project"
);
}
KObject
contract
=
base
.
get
(
"contract"
);
if
(
null
!=
contract
&&!
contract
.
isNull
()){
KObject
contractCopy
=
Amino
.
getStaticMetadataContext
().
getBean
(
contract
.
getType
().
getName
(),
KClass
.
class
).
newInstance
();
contractCopy
.
set
(
"contractName"
,
contract
.
getString
(
"contractName"
));
contractCopy
.
set
(
"addrReceive"
,
contract
.
getString
(
"addrReceive"
));
contractCopy
.
set
(
"id"
,
contract
.
getUuid
(
BaseConstants
.
ID
));
base
.
set
(
"contract"
,
contractCopy
);
}
else
{
base
.
setNull
(
"contract"
);
}
KObject
dinasType
=
base
.
get
(
"dinasType"
);
if
(
null
!=
dinasType
&&!
dinasType
.
isNull
()){
KObject
dinasTypeCopy
=
Amino
.
getStaticMetadataContext
().
getBean
(
dinasType
.
getType
().
getName
(),
KClass
.
class
).
newInstance
();
dinasTypeCopy
.
set
(
"dinasTypeName"
,
dinasTypeCopy
.
getString
(
"dinasTypeName"
));
dinasTypeCopy
.
set
(
"id"
,
dinasTypeCopy
.
getUuid
(
BaseConstants
.
ID
));
base
.
set
(
"dinasType"
,
dinasTypeCopy
);
}
else
{
base
.
setNull
(
"dinasType"
);
}
KObject
station
=
base
.
get
(
"station"
);
if
(
null
!=
station
&&!
station
.
isNull
()){
KObject
stationCopy
=
Amino
.
getStaticMetadataContext
().
getBean
(
station
.
getType
().
getName
(),
KClass
.
class
).
newInstance
();
stationCopy
.
set
(
"stationName"
,
station
.
getString
(
"stationName"
));
stationCopy
.
set
(
"stationAddress"
,
station
.
getString
(
"stationAddress"
));
stationCopy
.
set
(
"id"
,
station
.
getUuid
(
BaseConstants
.
ID
));
base
.
set
(
"station"
,
stationCopy
);
}
else
{
base
.
setNull
(
"station"
);
}
KObject
purchaseSandUnit
=
base
.
get
(
"purchaseSandUnit"
);
if
(
null
!=
purchaseSandUnit
&&!
purchaseSandUnit
.
isNull
()){
KObject
purchaseSandUnitCopy
=
Amino
.
getStaticMetadataContext
().
getBean
(
purchaseSandUnit
.
getType
().
getName
(),
KClass
.
class
).
newInstance
();
purchaseSandUnitCopy
.
set
(
"name"
,
purchaseSandUnit
.
getString
(
"name"
));
purchaseSandUnitCopy
.
set
(
"id"
,
purchaseSandUnit
.
getUuid
(
BaseConstants
.
ID
));
base
.
set
(
"purchaseSandUnit"
,
purchaseSandUnitCopy
);
}
else
{
base
.
setNull
(
"purchaseSandUnit"
);
}
kObjects
.
add
(
base
);
}
return
kObjects
;
}
}
@Override
@Override
...
...
backend/xyst.dinas.transport/src/main/java/com/xyst/dinas/transport/web/VehicleDriverUserController.java
View file @
77d09e5d
...
@@ -11,6 +11,7 @@ import com.beecode.inz.basis.pojo.DriverUser;
...
@@ -11,6 +11,7 @@ import com.beecode.inz.basis.pojo.DriverUser;
import
com.beecode.inz.basis.pojo.SandUser
;
import
com.beecode.inz.basis.pojo.SandUser
;
import
com.beecode.inz.basis.service.DriverUserService
;
import
com.beecode.inz.basis.service.DriverUserService
;
import
com.beecode.inz.basis.team.pojo.ResponseObj
;
import
com.beecode.inz.basis.team.pojo.ResponseObj
;
import
com.fasterxml.jackson.databind.JsonNode
;
import
com.xyst.dinas.transport.service.VehicleDriverUserService
;
import
com.xyst.dinas.transport.service.VehicleDriverUserService
;
import
com.xyst.dinas.transport.service.VehicleDispatchService
;
import
com.xyst.dinas.transport.service.VehicleDispatchService
;
import
net.sf.json.JSONObject
;
import
net.sf.json.JSONObject
;
...
@@ -65,9 +66,10 @@ public class VehicleDriverUserController {
...
@@ -65,9 +66,10 @@ public class VehicleDriverUserController {
public
ResponseObj
driverUserInfoById
()
{
public
ResponseObj
driverUserInfoById
()
{
DriverUser
driverUser
=
DriverUserContextHolder
.
getContext
().
getDriverUser
();
DriverUser
driverUser
=
DriverUserContextHolder
.
getContext
().
getDriverUser
();
DriverUser
vehicle
=
driverUserService
.
getById
(
driverUser
.
getId
());
DriverUser
vehicle
=
driverUserService
.
getById
(
driverUser
.
getId
());
JSONObject
jsonObject
=
net
.
sf
.
json
.
JSONObject
.
fromObject
(
vehicle
);
JsonNode
jsonNode
=
JSONObjectUtils
.
toJson
(
vehicle
);
jsonObject
.
put
(
"transportCompanyName"
,
driverUserService
.
getTransportCompanyNameByDriverUser
(
driverUser
));
Map
<
String
,
Object
>
stringObjectMap
=
JSONObjectUtils
.
toMap
(
jsonNode
);
return
ResponseObj
.
success
(
"查询成功"
,
jsonObject
);
stringObjectMap
.
put
(
"transportCompanyName"
,
driverUserService
.
getTransportCompanyNameByDriverUser
(
driverUser
));
return
ResponseObj
.
success
(
"查询成功"
,
stringObjectMap
);
}
}
/**
/**
...
...
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