Skip to content
Toggle navigation
Projects
Groups
Snippets
Help
yangxiujun
/
paidan_demo
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Snippets
Settings
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit c275449f
authored
Aug 03, 2023
by
王力
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'dev_mp2jpa0803' into 'develop'
Dev mp2jpa0803 See merge request !322
2 parents
b8b06d69
f79879b9
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
96 additions
and
86 deletions
project-order/src/main/java/com/dituhui/pea/order/dao/OrderInfoDao.java
project-order/src/main/java/com/dituhui/pea/order/dao/OrgGroupDao.java
project-order/src/main/java/com/dituhui/pea/order/dao/WarehouseInfoDao.java
project-order/src/main/java/com/dituhui/pea/order/service/impl/EngineerTimelineServiceImpl.java
project-order/src/main/java/com/dituhui/pea/order/service/impl/OrderAssignImpl.java
project-order/src/main/java/com/dituhui/pea/order/service/impl/OrderServiceListServiceImpl.java
project-order/src/main/java/com/dituhui/pea/order/service/impl/ScheduleServiceImpl.java
project-order/src/main/java/com/dituhui/pea/order/dao/OrderInfoDao.java
View file @
c275449
...
...
@@ -12,9 +12,10 @@ public interface OrderInfoDao extends JpaRepository<OrderInfoEntity, Long> {
OrderInfoEntity
getByOrderIdAndDt
(
String
orderId
,
LocalDate
dt
);
List
<
OrderInfoEntity
>
findByOrderId
(
String
orderId
);
List
<
OrderInfoEntity
>
findByDtAndEngineerCodeIn
(
LocalDate
date
,
List
<
String
>
engineerCodes
);
List
<
OrderInfoEntity
>
findByDtAndEngineerCode
(
LocalDate
date
,
String
engineerCode
);
@Query
(
"SELECT o.orderId, s.skillCategory as skillCaption FROM OrderInfoEntity o JOIN SkillInfoEntity s on o.brand=s.brand and o.type=s.type and o.skill=s.skill WHERE o.orderId = :orderId"
)
OrderSkillProjection
getOrderSkillCaptionByOrderId
(
String
orderId
);
List
<
OrderInfoEntity
>
findAllByOrderIdIn
(
List
<
String
>
orderIds
);
List
<
OrderInfoEntity
>
findAllByDtAndOrderIdIn
(
LocalDate
dt
,
List
<
String
>
orderIds
);
List
<
OrderInfoEntity
>
findByEngineerCodeAndDtAndAppointmentStatus
(
String
engineerCode
,
LocalDate
dt
,
String
appointmentStatus
);
List
<
OrderInfoEntity
>
findByEngineerCodeAndDtAndAppointmentStatus
In
(
String
engineerCode
,
LocalDate
dt
,
List
<
String
>
appointmentStatus
);
}
project-order/src/main/java/com/dituhui/pea/order/dao/OrgGroupDao.java
View file @
c275449
...
...
@@ -15,6 +15,8 @@ public interface OrgGroupDao extends JpaRepository<OrgGroupEntity, Integer> {
List
<
OrgGroupEntity
>
findAllByClusterId
(
String
clusterId
);
List
<
OrgGroupEntity
>
findAllByGroupId
(
String
groupId
);
OrgGroupEntity
getByGroupId
(
String
groupId
);
public
List
<
OrgGroupEntity
>
findByGroupIdIn
(
List
<
String
>
ids
);
...
...
project-order/src/main/java/com/dituhui/pea/order/dao/WarehouseInfoDao.java
View file @
c275449
...
...
@@ -23,4 +23,6 @@ public interface WarehouseInfoDao extends JpaRepository<OrgWarehouseInfoEntity,
OrgWarehouseInfoEntity
getOrgWarehouseInfoEntityByWarehouseId
(
String
wareHouseId
);
List
<
OrgWarehouseInfoEntity
>
findByBranchId
(
String
branchId
);
}
project-order/src/main/java/com/dituhui/pea/order/service/impl/EngineerTimelineServiceImpl.java
View file @
c275449
...
...
@@ -11,6 +11,12 @@ import org.springframework.beans.factory.annotation.Autowired;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
javax.persistence.EntityManager
;
import
javax.persistence.TypedQuery
;
import
javax.persistence.criteria.CriteriaBuilder
;
import
javax.persistence.criteria.CriteriaQuery
;
import
javax.persistence.criteria.Predicate
;
import
javax.persistence.criteria.Root
;
import
java.time.LocalDate
;
import
java.util.*
;
import
java.util.stream.Collectors
;
...
...
@@ -21,19 +27,19 @@ import java.util.stream.Stream;
public
class
EngineerTimelineServiceImpl
implements
EngineerTimelineService
{
@Autowired
private
OrderInfo
MPDao
orderInfoMP
Dao
;
private
OrderInfo
Dao
orderInfo
Dao
;
@Autowired
private
EngineerInfo
MPDao
engineerInfoMP
Dao
;
private
EngineerInfo
Dao
engineerInfo
Dao
;
@Autowired
private
WarehouseInfo
MPDao
warehouseInfoMP
Dao
;
private
WarehouseInfo
Dao
warehouseInfo
Dao
;
@Autowired
private
OrgGroup
MPDao
orgGroupMP
Dao
;
private
OrgGroup
Dao
orgGroup
Dao
;
@Autowired
private
OrderEventMPDao
orderEventMPDao
;
private
EntityManager
entityManager
;
@Transactional
@Override
...
...
@@ -42,14 +48,14 @@ public class EngineerTimelineServiceImpl implements EngineerTimelineService {
LocalDate
localDate
=
TimeUtils
.
IsoDate2LocalDate
(
date
);
// 工程師信息
EngineerInfo
engineerInfo
=
engineerInfoMP
Dao
.
getByEngineerCode
(
engineerCode
);
EngineerInfo
Entity
engineerInfo
=
engineerInfo
Dao
.
getByEngineerCode
(
engineerCode
);
// 获取工程师date日的订单数据
List
<
OrderInfo
>
orders
=
this
.
selectEngineerOrders
(
engineerCode
,
localDate
);
List
<
OrderInfo
Entity
>
orders
=
this
.
selectEngineerOrders
(
engineerCode
,
localDate
);
// 获取工程师已完成的timeline数据
List
<
String
>
orderIds
=
orders
.
stream
().
map
(
OrderInfo:
:
getOrderId
).
collect
(
Collectors
.
toList
());
List
<
OrderEvent
>
timelines
=
this
.
engineerTimelines
(
orderIds
,
date
);
List
<
String
>
orderIds
=
orders
.
stream
().
map
(
OrderInfo
Entity
:
:
getOrderId
).
collect
(
Collectors
.
toList
());
List
<
OrderEvent
Entity
>
timelines
=
this
.
engineerTimelines
(
orderIds
,
date
);
// 获取客户地址
HashMap
<
String
,
String
>
orderLocations
=
this
.
orderRequestsLocation
(
orders
);
...
...
@@ -67,30 +73,39 @@ public class EngineerTimelineServiceImpl implements EngineerTimelineService {
return
Result
.
success
(
res
);
}
private
List
<
OrderInfo
>
selectEngineerOrders
(
String
engineerCode
,
LocalDate
dt
){
LambdaQueryWrapper
<
OrderInfo
>
lqw
=
new
LambdaQueryWrapper
<>();
lqw
.
eq
(
OrderInfo:
:
getDt
,
dt
);
lqw
.
eq
(
OrderInfo:
:
getEngineerCode
,
engineerCode
);
lqw
.
ne
(
OrderInfo:
:
getAppointmentStatus
,
"INIT"
);
lqw
.
ne
(
OrderInfo:
:
getOrderStatus
,
"CANCEL"
);
return
orderInfoMPDao
.
selectList
(
lqw
);
private
List
<
OrderInfoEntity
>
selectEngineerOrders
(
String
engineerCode
,
LocalDate
dt
){
List
<
OrderInfoEntity
>
orders
=
orderInfoDao
.
findByEngineerCodeAndDtAndAppointmentStatusIn
(
engineerCode
,
dt
,
List
.
of
(
"PRE"
,
"CONFIRM"
));
return
orders
.
stream
().
filter
(
o
->
!
o
.
getOrderStatus
().
equals
(
"CANCEL"
)).
collect
(
Collectors
.
toList
());
}
private
List
<
OrderEvent
>
engineerTimelines
(
List
<
String
>
orderIds
,
String
date
){
// 获取工程师timeline
List
<
String
>
events
=
Stream
.
of
(
"分站取还配件"
,
"已出发"
,
"加单"
).
collect
(
Collectors
.
toList
());
LambdaQueryWrapper
<
OrderEvent
>
lqw
=
new
LambdaQueryWrapper
<>();
lqw
.
in
(
OrderEvent:
:
getOrderId
,
orderIds
);
lqw
.
ge
(
OrderEvent:
:
getHappen
,
date
+
" 00:00:00"
);
lqw
.
le
(
OrderEvent:
:
getHappen
,
date
+
" 23:59:59"
);
lqw
.
in
(
OrderEvent:
:
getEvent
,
events
);
return
orderEventMPDao
.
selectList
(
lqw
);
public
List
<
OrderEventEntity
>
engineerTimelines
(
List
<
String
>
orderIds
,
String
date
)
{
List
<
String
>
events
=
Arrays
.
asList
(
"分站取还配件"
,
"已出发"
,
"加单"
);
CriteriaBuilder
criteriaBuilder
=
entityManager
.
getCriteriaBuilder
();
CriteriaQuery
<
OrderEventEntity
>
criteriaQuery
=
criteriaBuilder
.
createQuery
(
OrderEventEntity
.
class
);
Root
<
OrderEvent
>
root
=
criteriaQuery
.
from
(
OrderEvent
.
class
);
List
<
Predicate
>
predicates
=
new
ArrayList
<>();
predicates
.
add
(
root
.
get
(
"orderId"
).
in
(
orderIds
));
predicates
.
add
(
criteriaBuilder
.
greaterThanOrEqualTo
(
root
.
get
(
"happen"
),
date
+
" 00:00:00"
));
predicates
.
add
(
criteriaBuilder
.
lessThanOrEqualTo
(
root
.
get
(
"happen"
),
date
+
" 23:59:59"
));
predicates
.
add
(
root
.
get
(
"event"
).
in
(
events
));
criteriaQuery
.
where
(
predicates
.
toArray
(
new
Predicate
[
0
]));
TypedQuery
<
OrderEventEntity
>
typedQuery
=
entityManager
.
createQuery
(
criteriaQuery
);
List
<
OrderEventEntity
>
result
=
typedQuery
.
getResultList
();
return
result
;
}
private
HashMap
<
String
,
String
>
orderRequestsLocation
(
List
<
OrderInfo
>
orders
)
{
private
HashMap
<
String
,
String
>
orderRequestsLocation
(
List
<
OrderInfoEntity
>
orders
)
{
// 获取客户地址location
HashMap
<
String
,
String
>
map
=
new
HashMap
<>();
for
(
OrderInfo
o:
orders
){
for
(
OrderInfo
Entity
o:
orders
){
map
.
put
(
o
.
getOrderId
(),
String
.
format
(
"%s,%s"
,
o
.
getX
(),
o
.
getY
()));
}
return
map
;
...
...
@@ -98,38 +113,30 @@ public class EngineerTimelineServiceImpl implements EngineerTimelineService {
private
String
getWarehouseLocation
(
String
branchId
)
{
// 获取配送站location
LambdaQueryWrapper
<
OrgWarehouseInfo
>
lqw
=
new
LambdaQueryWrapper
<>();
lqw
.
eq
(
OrgWarehouseInfo:
:
getBranchId
,
branchId
);
List
<
OrgWarehouseInfo
>
wares
=
warehouseInfoMPDao
.
selectList
(
lqw
);
OrgWarehouseInfo
w
=
wares
.
get
(
0
);
List
<
OrgWarehouseInfoEntity
>
wares
=
warehouseInfoDao
.
findByBranchId
(
branchId
);
OrgWarehouseInfoEntity
w
=
wares
.
get
(
0
);
return
String
.
format
(
"%s,%s"
,
w
.
getX
(),
w
.
getY
());
}
private
String
getEngineerBranchId
(
String
engineerCode
)
{
LambdaQueryWrapper
<
EngineerInfo
>
lqw
=
new
LambdaQueryWrapper
<>();
lqw
.
select
(
EngineerInfo:
:
getGroupId
);
lqw
.
eq
(
EngineerInfo:
:
getEngineerCode
,
engineerCode
);
EngineerInfo
e
=
engineerInfoMPDao
.
selectOne
(
lqw
);
EngineerInfoEntity
e
=
engineerInfoDao
.
getByEngineerCode
(
engineerCode
);
if
(
e
==
null
)
{
return
""
;
}
LambdaQueryWrapper
<
OrgGroup
>
lqw2
=
new
LambdaQueryWrapper
<>();
lqw2
.
select
(
OrgGroup:
:
getBranchId
);
lqw2
.
eq
(
OrgGroup:
:
getGroupId
,
e
.
getGroupId
());
OrgGroup
g
=
orgGroupMPDao
.
selectOne
(
lqw2
);
OrgGroupEntity
g
=
orgGroupDao
.
getByGroupId
(
e
.
getGroupId
());
return
(
g
==
null
)?
""
:
g
.
getBranchId
();
}
private
List
<
EngineerTimelineResp
.
DynamicItem
>
packItems
(
List
<
OrderEvent
>
timelines
,
List
<
OrderInfo
>
orders
,
HashMap
<
String
,
String
>
locations
,
String
warehouseLocation
)
{
private
List
<
EngineerTimelineResp
.
DynamicItem
>
packItems
(
List
<
OrderEventEntity
>
timelines
,
List
<
OrderInfoEntity
>
orders
,
HashMap
<
String
,
String
>
locations
,
String
warehouseLocation
)
{
int
index
=
0
;
String
order_id
,
title
,
type
,
text
,
location
;
List
<
EngineerTimelineResp
.
DynamicItem
>
items
=
new
ArrayList
<>();
Set
<
String
>
s
=
new
HashSet
<>();
for
(
OrderEvent
t:
timelines
){
for
(
OrderEvent
Entity
t:
timelines
){
EngineerTimelineResp
.
DynamicItem
item
=
new
EngineerTimelineResp
.
DynamicItem
();
if
(
t
.
getEvent
().
equals
(
"分站取还配件"
))
{
...
...
@@ -146,7 +153,7 @@ public class EngineerTimelineServiceImpl implements EngineerTimelineService {
continue
;
}
item
.
setTitle
(
title
);
item
.
setTime
(
TimeUtils
.
Iso
Timestamp2DateTime
(
t
.
getHappen
()));
item
.
setTime
(
TimeUtils
.
Iso
LocalDateTime2String
(
t
.
getHappen
()));
item
.
setStatus
(
1
);
item
.
setText
(
text
);
...
...
@@ -157,8 +164,8 @@ public class EngineerTimelineServiceImpl implements EngineerTimelineService {
s
.
add
(
t
.
getOrderId
()
+
t
.
getSuborderId
());
}
List
<
OrderInfo
>
records
=
orders
.
stream
().
sorted
(
Comparator
.
comparing
(
OrderInfo
:
:
getPlanStartTime
)).
collect
(
Collectors
.
toList
());
for
(
OrderInfo
o:
records
){
List
<
OrderInfo
Entity
>
records
=
orders
.
stream
().
sorted
(
Comparator
.
comparing
(
OrderInfoEntity
:
:
getPlanStartTime
)).
collect
(
Collectors
.
toList
());
for
(
OrderInfo
Entity
o:
records
){
order_id
=
o
.
getOrderId
()
+
o
.
getSubId
();
if
(
s
.
contains
(
order_id
))
{
continue
;
...
...
@@ -166,7 +173,7 @@ public class EngineerTimelineServiceImpl implements EngineerTimelineService {
index
+=
1
;
EngineerTimelineResp
.
DynamicItem
item
=
new
EngineerTimelineResp
.
DynamicItem
();
item
.
setTitle
(
String
.
format
(
"第%d单出发"
,
index
));
item
.
setTime
(
TimeUtils
.
Iso
Timestamp2DateTime
(
o
.
getPlanStartTime
()));
item
.
setTime
(
TimeUtils
.
Iso
LocalDateTime2String
(
o
.
getPlanStartTime
()));
item
.
setStatus
(
0
);
item
.
setText
(
String
.
format
(
"%d"
,
index
));
item
.
setLocation
(
locations
.
get
(
o
.
getOrderId
()));
...
...
project-order/src/main/java/com/dituhui/pea/order/service/impl/OrderAssignImpl.java
View file @
c275449
...
...
@@ -85,7 +85,8 @@ public class OrderAssignImpl implements OrderAssign {
}
// 获取已技术员已指派订单列表
List
<
OrderInfoEntity
>
orderAppointments
=
orderInfoDao
.
findByEngineerCodeAndDtAndAppointmentStatus
(
engineer
.
getEngineerCode
(),
order
.
getDt
(),
"CONFIRM"
);
List
<
OrderInfoEntity
>
orderAppointments
=
orderInfoDao
.
findByEngineerCodeAndDtAndAppointmentStatusIn
(
engineer
.
getEngineerCode
(),
order
.
getDt
(),
List
.
of
(
"CONFIRM"
));
// 获取订单tips
HashMap
<
String
,
List
<
LabelValueDTO
>>
orderTips
=
new
HashMap
<>();
...
...
project-order/src/main/java/com/dituhui/pea/order/service/impl/OrderServiceListServiceImpl.java
View file @
c275449
...
...
@@ -28,10 +28,10 @@ public class OrderServiceListServiceImpl implements OrderServiceListService {
private
OrderInfoMPDao
orderInfoMPDao
;
@Autowired
private
EngineerInfo
MPDao
engineerInfoMP
Dao
;
private
EngineerInfo
Dao
engineerInfo
Dao
;
@Autowired
private
OrgBranch
MPDao
orgBranchMP
Dao
;
private
OrgBranch
Dao
orgBranch
Dao
;
@Transactional
@Override
...
...
@@ -167,8 +167,8 @@ public class OrderServiceListServiceImpl implements OrderServiceListService {
if
(
engineerCodes
.
isEmpty
()){
return
new
HashMap
<>();
}
List
<
EngineerInfo
>
engineers
=
engineerInfoMPDao
.
selectByEngineerCodes
(
new
ArrayList
<>(
engineerCodes
));
return
engineers
.
stream
().
collect
(
Collectors
.
toMap
(
EngineerInfo
:
:
getEngineerCode
,
EngineerInfo
:
:
getName
));
List
<
EngineerInfo
Entity
>
engineers
=
engineerInfoDao
.
findByEngineerCodeIn
(
new
ArrayList
<>(
engineerCodes
));
return
engineers
.
stream
().
collect
(
Collectors
.
toMap
(
EngineerInfo
Entity:
:
getEngineerCode
,
EngineerInfoEntity
:
:
getName
));
}
private
Map
<
String
,
String
>
getBranchNames
(
List
<
OrderInfo
>
orders
){
...
...
@@ -182,10 +182,8 @@ public class OrderServiceListServiceImpl implements OrderServiceListService {
if
(
branches
.
isEmpty
()){
return
new
HashMap
<>();
}
LambdaQueryWrapper
<
OrgBranch
>
lqw
=
new
LambdaQueryWrapper
<>();
lqw
.
in
(
OrgBranch:
:
getBranchId
,
new
ArrayList
<>(
branches
));
List
<
OrgBranch
>
records
=
orgBranchMPDao
.
selectList
(
lqw
);
return
records
.
stream
().
collect
(
Collectors
.
toMap
(
OrgBranch:
:
getBranchId
,
OrgBranch:
:
getBranchName
));
List
<
OrgBranchEntity
>
records
=
orgBranchDao
.
findByBranchIdIn
(
new
ArrayList
<>(
branches
));
return
records
.
stream
().
collect
(
Collectors
.
toMap
(
OrgBranchEntity:
:
getBranchId
,
OrgBranchEntity:
:
getBranchName
));
}
private
List
<
String
>
getOrderEngineerNames
(
String
engineerCode
,
String
engineerCodeSub
,
Map
<
String
,
String
>
engineerNames
){
...
...
project-order/src/main/java/com/dituhui/pea/order/service/impl/ScheduleServiceImpl.java
View file @
c275449
...
...
@@ -27,16 +27,22 @@ public class ScheduleServiceImpl implements ScheduleService {
private
OrderInfoMPDao
orderInfoMPDao
;
@Autowired
private
OrderInfoDao
orderInfoDao
;
@Autowired
private
OrgTeamMPDao
orgTeamMPDao
;
@Autowired
private
OrgTeamEngineer
MPDao
orgTeamEngineerMP
Dao
;
private
OrgTeamEngineer
Dao
orgTeamEngineer
Dao
;
@Autowired
private
OrgGroupMPDao
orgGroupMPDao
;
@Autowired
private
EngineerInfoMPDao
engineerInfoMPDao
;
private
OrgGroupDao
orgGroupDao
;
@Autowired
private
EngineerInfoDao
engineerInfoDao
;
@Autowired
private
SkillInfoMPDao
skillInfoMPDao
;
...
...
@@ -97,21 +103,22 @@ public class ScheduleServiceImpl implements ScheduleService {
}
// 获取team技术员列表
List
<
OrgTeamEngineer
>
teamEngineers
=
this
.
queryOrgTeamEngineers
(
t
.
getTeamId
());
List
<
String
>
engineerCodes
=
teamEngineers
.
stream
().
map
(
OrgTeamEngineer:
:
getEngineerCode
).
collect
(
Collectors
.
toList
());
List
<
EngineerInfo
>
engineerInfoList
=
engineerInfoMPDao
.
selectByEngineerCodes
(
engineerCodes
);
Map
<
String
,
List
<
EngineerInfo
>>
engineers
=
engineerInfoList
.
stream
().
collect
(
Collectors
.
groupingBy
(
EngineerInfo:
:
getEngineerCode
));
List
<
OrgTeamEngineerEntity
>
teamEngineers
=
orgTeamEngineerDao
.
findAllByTeamId
(
t
.
getTeamId
());
List
<
String
>
engineerCodes
=
teamEngineers
.
stream
().
map
(
OrgTeamEngineerEntity:
:
getEngineerCode
).
collect
(
Collectors
.
toList
());
List
<
EngineerInfoEntity
>
engineerInfoList
=
engineerInfoDao
.
findByEngineerCodeIn
(
engineerCodes
);
Map
<
String
,
List
<
EngineerInfoEntity
>>
engineers
=
engineerInfoList
.
stream
().
collect
(
Collectors
.
groupingBy
(
EngineerInfoEntity:
:
getEngineerCode
));
List
<
ScheduleOverviewResp
.
Item
>
children
=
new
ArrayList
<>();
for
(
Map
.
Entry
<
String
,
List
<
EngineerInfo
>>
entry
:
engineers
.
entrySet
())
{
for
(
Map
.
Entry
<
String
,
List
<
EngineerInfo
Entity
>>
entry
:
engineers
.
entrySet
())
{
ScheduleOverviewResp
.
Item
child
=
new
ScheduleOverviewResp
.
Item
();
//技术员信息
String
engineerCode
=
entry
.
getKey
();
EngineerInfo
engineerInfo
=
entry
.
getValue
().
get
(
0
);
EngineerInfo
Entity
engineerInfo
=
entry
.
getValue
().
get
(
0
);
// 获取技术员已经指派的订单列表
List
<
OrderInfo
>
orders2
=
engineerOrders
.
getOrDefault
(
engineerCode
,
new
ArrayList
<>());
List
<
OrderInfo
>
orders2
=
engineerOrders
.
getOrDefault
(
engineerCode
,
new
ArrayList
<>());
child
.
setName
(
engineerInfo
.
getName
());
child
.
setValue
(
engineerCode
);
...
...
@@ -144,28 +151,27 @@ public class ScheduleServiceImpl implements ScheduleService {
public
Result
<?>
getScheduleEngineerOverview
(
LocalDate
date
,
String
engineerCode
)
throws
BusinessException
{
// 获取技术员已排班概况
EngineerInfo
engineer
=
engineerInfoMP
Dao
.
getByEngineerCode
(
engineerCode
);
EngineerInfo
Entity
engineer
=
engineerInfo
Dao
.
getByEngineerCode
(
engineerCode
);
if
(
engineer
==
null
)
{
throw
new
BusinessException
(
"分销员不存在"
);
}
List
<
LabelValueDTO
>
emptyTips
=
new
ArrayList
<>();
LambdaQueryWrapper
<
OrderInfo
>
lqw
=
new
LambdaQueryWrapper
<>();
lqw
.
eq
(
OrderInfo:
:
getDt
,
date
).
eq
(
OrderInfo:
:
getEngineerCode
,
engineerCode
).
in
(
OrderInfo:
:
getAppointmentStatus
,
List
.
of
(
"PRE"
,
"CONFIRM"
));
List
<
OrderInfo
>
orderAppointments
=
orderInfoMPDao
.
selectList
(
lqw
);
List
<
OrderInfoEntity
>
orderAppointments
=
orderInfoDao
.
findByEngineerCodeAndDtAndAppointmentStatusIn
(
engineerCode
,
date
,
List
.
of
(
"PRE"
,
"CONFIRM"
));
List
<
TimeLineDTO
>
timelines
=
new
ArrayList
<>();
for
(
OrderInfo
o
:
orderAppointments
)
{
for
(
OrderInfo
Entity
o
:
orderAppointments
)
{
TimeLineDTO
item
=
new
TimeLineDTO
();
item
.
setOrderId
(
o
.
getOrderId
());
item
.
setAppointmentStatus
(
o
.
getAppointmentStatus
());
item
.
setStartTime
(
TimeUtils
.
Iso
Timestamp2DateTime
(
o
.
getPlanStartTime
()));
item
.
setEndTime
(
TimeUtils
.
Iso
Timestamp2DateTime
(
o
.
getPlanEndTime
()));
item
.
setStartTime
(
TimeUtils
.
Iso
LocalDateTime2String
(
o
.
getPlanStartTime
()));
item
.
setEndTime
(
TimeUtils
.
Iso
LocalDateTime2String
(
o
.
getPlanEndTime
()));
item
.
setTips
(
emptyTips
);
timelines
.
add
(
item
);
}
Map
<
String
,
List
<
OrderInfo
>>
statusGroup
=
orderAppointments
.
stream
().
collect
(
Collectors
.
groupingBy
(
OrderInfo
:
:
getServiceStatus
));
List
<
OrderInfo
>
empty
=
new
ArrayList
<>();
Map
<
String
,
List
<
OrderInfo
Entity
>>
statusGroup
=
orderAppointments
.
stream
().
collect
(
Collectors
.
groupingBy
(
OrderInfoEntity
:
:
getServiceStatus
));
List
<
OrderInfo
Entity
>
empty
=
new
ArrayList
<>();
Integer
countPending
=
statusGroup
.
getOrDefault
(
"INIT"
,
empty
).
size
()
+
statusGroup
.
getOrDefault
(
"CONTACTED"
,
empty
).
size
()
+
statusGroup
.
getOrDefault
(
"PENDING"
,
empty
).
size
();
List
<
LabelValueDTO
>
dynamics
=
new
ArrayList
<>();
...
...
@@ -182,13 +188,13 @@ public class ScheduleServiceImpl implements ScheduleService {
dynamics
.
add
(
new
LabelValueDTO
(
"工作时间"
,
"08:00-18:00"
));
dynamics
.
add
(
new
LabelValueDTO
(
"交通工具"
,
"电动车"
));
List
<
String
>
orderIds
=
orderAppointments
.
stream
().
map
(
OrderInfo:
:
getOrderId
).
collect
(
Collectors
.
toList
());
List
<
OrderInfo
>
orderRequests
=
new
ArrayList
<>();
List
<
String
>
orderIds
=
orderAppointments
.
stream
().
map
(
OrderInfo
Entity
:
:
getOrderId
).
collect
(
Collectors
.
toList
());
List
<
OrderInfo
Entity
>
orderRequests
=
new
ArrayList
<>();
if
(
orderIds
!=
null
&&
!
orderIds
.
isEmpty
())
{
orderRequests
=
orderInfo
MPDao
.
selectByDtAndOrderIds
(
date
,
orderIds
);
orderRequests
=
orderInfo
Dao
.
findAllByDtAndOrderIdIn
(
date
,
orderIds
);
}
List
<
ScheduleEngineerOverviewResp
.
Order
>
orders
=
new
ArrayList
<>();
for
(
OrderInfo
o
:
orderRequests
)
{
for
(
OrderInfo
Entity
o
:
orderRequests
)
{
ScheduleEngineerOverviewResp
.
Order
item
=
new
ScheduleEngineerOverviewResp
.
Order
();
item
.
setOrderId
(
o
.
getOrderId
());
item
.
setLocation
(
String
.
format
(
"%s,%s"
,
o
.
getX
(),
o
.
getY
()));
...
...
@@ -207,7 +213,7 @@ public class ScheduleServiceImpl implements ScheduleService {
}
String
groupName
=
""
;
OrgGroup
group
=
orgGroupMP
Dao
.
getByGroupId
(
engineer
.
getGroupId
());
OrgGroup
Entity
group
=
orgGroup
Dao
.
getByGroupId
(
engineer
.
getGroupId
());
if
(
group
!=
null
)
{
groupName
=
group
.
getGroupName
();
}
...
...
@@ -240,13 +246,6 @@ public class ScheduleServiceImpl implements ScheduleService {
return
pg
;
}
private
List
<
OrgTeamEngineer
>
queryOrgTeamEngineers
(
String
teamId
)
{
LambdaQueryWrapper
<
OrgTeamEngineer
>
lqw
=
new
LambdaQueryWrapper
<>();
lqw
.
eq
(
OrgTeamEngineer:
:
getTeamId
,
teamId
);
lqw
.
eq
(
OrgTeamEngineer:
:
getStatus
,
1
);
return
orgTeamEngineerMPDao
.
selectList
(
lqw
);
}
private
List
<
OrderInfo
>
queryOrderRequests
(
String
teamId
,
LocalDate
date
)
{
LambdaQueryWrapper
<
OrderInfo
>
lqw
=
new
LambdaQueryWrapper
<>();
lqw
.
eq
(
OrderInfo:
:
getDt
,
date
);
...
...
Write
Preview
Markdown
is supported
Attach a file
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 post a comment