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 579ef460
authored
May 18, 2023
by
wangli
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
重命名
1 parent
6e51ec8f
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
64 additions
and
53 deletions
project-order/src/main/java/com/alibaba/cloud/integration/order/controller/OrderServiceListController.java
project-order/src/main/java/com/alibaba/cloud/integration/order/service/OrderServiceList.java → project-order/src/main/java/com/alibaba/cloud/integration/order/service/OrderServiceListService.java
project-order/src/main/java/com/alibaba/cloud/integration/order/service/impl/OrderServiceListImpl.java → project-order/src/main/java/com/alibaba/cloud/integration/order/service/impl/OrderServiceListServiceImpl.java
project-order/src/main/java/com/alibaba/cloud/integration/order/controller/OrderServiceListController.java
View file @
579ef46
...
@@ -2,8 +2,7 @@ package com.alibaba.cloud.integration.order.controller;
...
@@ -2,8 +2,7 @@ package com.alibaba.cloud.integration.order.controller;
import
com.alibaba.cloud.integration.common.BusinessException
;
import
com.alibaba.cloud.integration.common.BusinessException
;
import
com.alibaba.cloud.integration.common.Result
;
import
com.alibaba.cloud.integration.common.Result
;
import
com.alibaba.cloud.integration.order.dto.OrderServiceListReq
;
import
com.alibaba.cloud.integration.order.service.OrderServiceListService
;
import
com.alibaba.cloud.integration.order.service.OrderServiceList
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.bind.annotation.*
;
...
@@ -14,13 +13,23 @@ import org.springframework.web.bind.annotation.*;
...
@@ -14,13 +13,23 @@ import org.springframework.web.bind.annotation.*;
public
class
OrderServiceListController
{
public
class
OrderServiceListController
{
@Autowired
@Autowired
private
OrderServiceList
orderServiceList
;
private
OrderServiceList
Service
orderServiceListService
;
@GetMapping
(
"/order/service/list"
)
@GetMapping
(
"/order/service/list"
)
public
Result
<?>
GetOrderServiceList
(
@RequestParam
OrderServiceListReq
req
)
{
public
Result
<?>
GetOrderServiceList
(
@RequestParam
(
"startDate"
)
String
startDate
,
@RequestParam
(
"endDate"
)
String
endDate
,
@RequestParam
(
"page"
)
long
page
,
@RequestParam
(
"size"
)
long
size
,
@RequestParam
(
"sort"
)
String
sort
,
@RequestParam
(
"appointmentType"
)
String
appointmentType
,
@RequestParam
(
"appointmentStatus"
)
String
appointmentStatus
,
@RequestParam
(
"type"
)
String
type
,
@RequestParam
(
"brand"
)
String
brand
,
@RequestParam
(
"skill"
)
String
skill
)
{
Result
<?>
res
=
null
;
Result
<?>
res
=
null
;
try
{
try
{
res
=
orderServiceList
.
GetOrderServiceList
(
req
);
res
=
orderServiceListService
.
GetOrderServiceList
(
startDate
,
endDate
,
page
,
size
,
sort
,
appointmentType
,
appointmentStatus
,
type
,
brand
,
skill
);
}
}
catch
(
BusinessException
e
)
{
catch
(
BusinessException
e
)
{
return
Result
.
failed
(
e
.
getMessage
());
return
Result
.
failed
(
e
.
getMessage
());
...
...
project-order/src/main/java/com/alibaba/cloud/integration/order/service/OrderServiceList.java
→
project-order/src/main/java/com/alibaba/cloud/integration/order/service/OrderServiceList
Service
.java
View file @
579ef46
...
@@ -4,8 +4,12 @@ import com.alibaba.cloud.integration.common.BusinessException;
...
@@ -4,8 +4,12 @@ import com.alibaba.cloud.integration.common.BusinessException;
import
com.alibaba.cloud.integration.common.Result
;
import
com.alibaba.cloud.integration.common.Result
;
import
com.alibaba.cloud.integration.order.dto.OrderServiceListReq
;
import
com.alibaba.cloud.integration.order.dto.OrderServiceListReq
;
import
com.alibaba.cloud.integration.order.dto.OrderServiceListResp
;
import
com.alibaba.cloud.integration.order.dto.OrderServiceListResp
;
import
org.springframework.web.bind.annotation.RequestParam
;
public
interface
OrderServiceList
{
public
interface
OrderServiceList
Service
{
Result
<
OrderServiceListResp
>
GetOrderServiceList
(
OrderServiceListReq
req
)
throws
BusinessException
;
Result
<
OrderServiceListResp
>
GetOrderServiceList
(
String
startDate
,
String
endDate
,
long
page
,
long
size
,
String
sort
,
String
appointmentType
,
String
appointmentStatus
,
String
type
,
String
brand
,
String
skill
)
throws
BusinessException
;
}
}
project-order/src/main/java/com/alibaba/cloud/integration/order/service/impl/OrderServiceListImpl.java
→
project-order/src/main/java/com/alibaba/cloud/integration/order/service/impl/OrderServiceList
Service
Impl.java
View file @
579ef46
...
@@ -5,10 +5,10 @@ import com.alibaba.cloud.integration.common.Result;
...
@@ -5,10 +5,10 @@ import com.alibaba.cloud.integration.common.Result;
import
com.alibaba.cloud.integration.order.dao.OrderAppointmentDao
;
import
com.alibaba.cloud.integration.order.dao.OrderAppointmentDao
;
import
com.alibaba.cloud.integration.order.dao.OrderRequestDao
;
import
com.alibaba.cloud.integration.order.dao.OrderRequestDao
;
import
com.alibaba.cloud.integration.order.dto.OrderServiceList
;
import
com.alibaba.cloud.integration.order.dto.OrderServiceList
;
import
com.alibaba.cloud.integration.order.dto.OrderServiceListReq
;
import
com.alibaba.cloud.integration.order.dto.OrderServiceListResp
;
import
com.alibaba.cloud.integration.order.dto.OrderServiceListResp
;
import
com.alibaba.cloud.integration.order.entity.OrderAppointment
;
import
com.alibaba.cloud.integration.order.entity.OrderAppointment
;
import
com.alibaba.cloud.integration.order.entity.OrderRequest
;
import
com.alibaba.cloud.integration.order.entity.OrderRequest
;
import
com.alibaba.cloud.integration.order.service.OrderServiceListService
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
...
@@ -22,7 +22,7 @@ import java.util.*;
...
@@ -22,7 +22,7 @@ import java.util.*;
import
java.util.stream.Collectors
;
import
java.util.stream.Collectors
;
@Service
@Service
public
class
OrderServiceList
Impl
{
public
class
OrderServiceList
ServiceImpl
implements
OrderServiceListService
{
@Autowired
@Autowired
private
OrderRequestDao
orderRequestDao
;
private
OrderRequestDao
orderRequestDao
;
...
@@ -30,38 +30,42 @@ public class OrderServiceListImpl {
...
@@ -30,38 +30,42 @@ public class OrderServiceListImpl {
@Autowired
@Autowired
private
OrderAppointmentDao
orderAppointmentDao
;
private
OrderAppointmentDao
orderAppointmentDao
;
@Transactional
@Transactional
public
Result
<
OrderServiceListResp
>
GetOrderServiceList
(
OrderServiceListReq
req
)
throws
BusinessException
{
@Override
public
Result
<
OrderServiceListResp
>
GetOrderServiceList
(
String
startDate
,
String
endDate
,
long
page
,
long
size
,
String
sort
,
String
appointmentType
,
String
appointmentStatus
,
String
type
,
String
brand
,
String
skill
)
throws
BusinessException
{
//分页
//分页
IPage
<
OrderRequest
>
p
age
=
new
Page
(
req
.
getPage
(),
req
.
getSize
()
);
IPage
<
OrderRequest
>
p
g
=
new
Page
(
page
,
size
);
LambdaQueryWrapper
<
OrderRequest
>
lqw
=
new
LambdaQueryWrapper
<>();
LambdaQueryWrapper
<
OrderRequest
>
lqw
=
new
LambdaQueryWrapper
<>();
lqw
.
ge
(
OrderRequest:
:
getExpectTimeBegin
,
this
.
GetTimestampFromDate
(
req
.
getStartDate
()
));
//预约开始日期
lqw
.
ge
(
OrderRequest:
:
getExpectTimeBegin
,
this
.
GetTimestampFromDate
(
startDate
));
//预约开始日期
lqw
.
le
(
OrderRequest:
:
getExpectTimeBegin
,
this
.
GetTimestampFromDate
(
req
.
getEndDate
()
));
//预约结束日期
lqw
.
le
(
OrderRequest:
:
getExpectTimeBegin
,
this
.
GetTimestampFromDate
(
endDate
));
//预约结束日期
lqw
.
eq
(
Strings
.
isNotEmpty
(
req
.
getAppointmentStatus
()),
OrderRequest:
:
getStatusAppointment
,
req
.
getAppointmentStatus
()
);
//指派状态
lqw
.
eq
(
Strings
.
isNotEmpty
(
appointmentStatus
),
OrderRequest:
:
getStatusAppointment
,
appointmentStatus
);
//指派状态
lqw
.
eq
(
Strings
.
isNotEmpty
(
req
.
getType
()),
OrderRequest:
:
getType
,
req
.
getType
()
);
//设备类型
lqw
.
eq
(
Strings
.
isNotEmpty
(
type
),
OrderRequest:
:
getType
,
type
);
//设备类型
lqw
.
eq
(
Strings
.
isNotEmpty
(
req
.
getBrand
()),
OrderRequest:
:
getBrand
,
req
.
getBrand
()
);
//品牌
lqw
.
eq
(
Strings
.
isNotEmpty
(
brand
),
OrderRequest:
:
getBrand
,
brand
);
//品牌
lqw
.
eq
(
Strings
.
isNotEmpty
(
req
.
getSkill
()),
OrderRequest:
:
getSkill
,
req
.
getSkill
()
);
//技能
lqw
.
eq
(
Strings
.
isNotEmpty
(
skill
),
OrderRequest:
:
getSkill
,
skill
);
//技能
// 查询工单表列表
// 查询工单表列表
orderRequestDao
.
selectPage
(
p
age
,
lqw
);
orderRequestDao
.
selectPage
(
p
g
,
lqw
);
List
<
OrderRequest
>
records
=
p
age
.
getRecords
();
List
<
OrderRequest
>
records
=
p
g
.
getRecords
();
//获取工单订单号列表
//获取工单订单号列表
List
<
String
>
orderIds
=
new
ArrayList
<>();
List
<
String
>
orderIds
=
new
ArrayList
<>();
for
(
OrderRequest
r:
records
)
{
for
(
OrderRequest
r:
records
)
{
orderIds
.
add
(
r
.
getOrderId
());
orderIds
.
add
(
r
.
getOrderId
());
}
}
// 获取
指派订单
列表
// 获取
工程师姓名
列表
HashMap
<
String
,
List
<
OrderAppointment
>>
appointOrders
=
this
.
PackOrderAppointment
(
this
.
GetOrderAppointment
(
orderIds
));
HashMap
<
String
,
List
<
String
>>
engineerNames
=
this
.
GetEngineerNames
(
this
.
GetOrderAppointment
(
orderIds
));
List
<
OrderAppointment
>
appoint
;
List
<
String
>
names
;
List
<
OrderServiceList
>
content
=
new
ArrayList
<>();
List
<
OrderServiceList
>
content
=
new
ArrayList
<>();
for
(
OrderRequest
o:
records
)
{
for
(
OrderRequest
o:
records
)
{
OrderServiceList
record
=
new
OrderServiceList
();
OrderServiceList
record
=
new
OrderServiceList
();
appoint
=
appointOrders
.
getOrDefault
(
o
.
getOrderId
(),
List
.
of
());
names
=
engineerNames
.
get
(
o
.
getOrderId
());
record
.
setOrderId
(
o
.
getOrderId
());
record
.
setOrderId
(
o
.
getOrderId
());
record
.
setType
(
o
.
getType
());
record
.
setType
(
o
.
getType
());
record
.
setBrand
(
o
.
getBrand
());
record
.
setBrand
(
o
.
getBrand
());
...
@@ -75,18 +79,18 @@ public class OrderServiceListImpl {
...
@@ -75,18 +79,18 @@ public class OrderServiceListImpl {
record
.
setSource
(
o
.
getSource
());
record
.
setSource
(
o
.
getSource
());
record
.
setDescription
(
o
.
getDescription
());
record
.
setDescription
(
o
.
getDescription
());
record
.
setOrgBranchName
(
o
.
getOrgBranchName
());
record
.
setOrgBranchName
(
o
.
getOrgBranchName
());
record
.
setEngineerNum
(
this
.
getEngNum
(
appoint
));
//工程师数量
record
.
setEngineerNum
(
this
.
getEngNum
(
names
));
//工程师数量
record
.
setEngineerNames
(
this
.
getEngNames
(
appoint
));
//工程师姓名列表
record
.
setEngineerNames
(
this
.
getEngNames
(
names
));
//工程师姓名列表
content
.
add
(
record
);
content
.
add
(
record
);
}
}
// 组装
// 组装
OrderServiceListResp
res
=
new
OrderServiceListResp
();
OrderServiceListResp
res
=
new
OrderServiceListResp
();
res
.
setTotal
(
p
age
.
getTotal
());
res
.
setTotal
(
p
g
.
getTotal
());
res
.
setPages
(
p
age
.
getPages
());
res
.
setPages
(
p
g
.
getPages
());
res
.
setPageCurrent
(
p
age
.
getCurrent
());
res
.
setPageCurrent
(
p
g
.
getCurrent
());
res
.
setPageSize
(
p
age
.
getSize
());
res
.
setPageSize
(
p
g
.
getSize
());
res
.
setContent
(
content
);
res
.
setContent
(
content
);
return
Result
.
success
(
res
);
return
Result
.
success
(
res
);
...
@@ -100,42 +104,36 @@ public class OrderServiceListImpl {
...
@@ -100,42 +104,36 @@ public class OrderServiceListImpl {
return
orderAppointmentDao
.
selectList
(
lqw
);
return
orderAppointmentDao
.
selectList
(
lqw
);
}
}
public
HashMap
<
String
,
List
<
OrderAppointment
>>
PackOrderAppointment
(
List
<
OrderAppointment
>
orders
){
HashMap
<
String
,
List
<
OrderAppointment
>>
map
=
new
HashMap
<>();
// 根据订单ID-子订单降序排序
public
HashMap
<
String
,
List
<
String
>>
GetEngineerNames
(
List
<
OrderAppointment
>
orders
){
return
null
;
}
public
HashMap
<
String
,
List
<
String
>>
GetOrderAppointments
(
List
<
OrderAppointment
>
orders
){
// 获取指派单工人姓名
HashMap
<
String
,
List
<
String
>>
map
=
new
HashMap
<>();
// 根据orderId+subOrderId降序排序
Comparator
<
OrderAppointment
>
byOrderIdDesc
=
Comparator
.
comparing
(
OrderAppointment:
:
getOrderId
,
String
.
CASE_INSENSITIVE_ORDER
).
reversed
();
Comparator
<
OrderAppointment
>
byOrderIdDesc
=
Comparator
.
comparing
(
OrderAppointment:
:
getOrderId
,
String
.
CASE_INSENSITIVE_ORDER
).
reversed
();
Comparator
<
OrderAppointment
>
bySuborderIdDesc
=
Comparator
.
comparing
(
OrderAppointment:
:
getSuborderId
,
String
.
CASE_INSENSITIVE_ORDER
).
reversed
();
Comparator
<
OrderAppointment
>
bySuborderIdDesc
=
Comparator
.
comparing
(
OrderAppointment:
:
getSuborderId
,
String
.
CASE_INSENSITIVE_ORDER
).
reversed
();
Comparator
<
OrderAppointment
>
comp
=
byOrderIdDesc
.
thenComparing
(
bySuborderIdDesc
);
Comparator
<
OrderAppointment
>
comp
=
byOrderIdDesc
.
thenComparing
(
bySuborderIdDesc
);
List
<
OrderAppointment
>
results
=
orders
.
stream
().
sorted
(
comp
).
collect
(
Collectors
.
toList
());
List
<
OrderAppointment
>
results
=
orders
.
stream
().
sorted
(
comp
).
collect
(
Collectors
.
toList
());
Set
<
String
>
set
=
new
HashSet
<>();
for
(
OrderAppointment
o:
results
){
set
.
add
(
o
.
getOrderId
());
}
for
(
String
s:
set
){
map
.
put
(
s
,
new
ArrayList
<
OrderAppointment
>());
}
// 根据订单ID-子订单分组, 只取一组子订单分组
String
flagOrderId
=
""
;
String
flagSuborderId
=
""
;
for
(
OrderAppointment
o:
results
)
{
}
// TODO
return
map
;
return
map
;
}
}
private
Integer
getEngNum
(
List
<
OrderAppointment
>
order
s
){
private
Integer
getEngNum
(
List
<
String
>
name
s
){
/*获取工程师数量*/
/*获取工程师数量*/
return
orders
.
size
();
if
(
names
==
null
)
{
return
0
;
}
return
names
.
size
();
}
}
private
String
getEngNames
(
List
<
OrderAppointment
>
order
s
)
{
private
String
getEngNames
(
List
<
String
>
name
s
)
{
/*获取工程师姓名列表*/
/*获取工程师姓名列表*/
List
<
String
>
names
=
new
ArrayList
<>();
if
(
names
==
null
)
{
for
(
OrderAppointment
o:
orders
)
{
return
""
;
names
.
add
(
o
.
getEngineerName
());
}
}
return
String
.
join
(
"、"
,
names
);
return
String
.
join
(
"、"
,
names
);
}
}
...
...
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