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 422748d2
authored
Jun 09, 2023
by
王力
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'feature_mvp616_wangl' into 'develop'
Feature mvp616 wangl See merge request !35
2 parents
daf0c8c9
9a237d45
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
96 additions
and
20 deletions
project-order/src/main/java/com/alibaba/cloud/integration/order/dto/DispatchOrderListResp.java
project-order/src/main/java/com/alibaba/cloud/integration/order/service/impl/DispatchServiceImpl.java
project-order/src/main/java/com/alibaba/cloud/integration/order/dto/DispatchOrderListResp.java
0 → 100644
View file @
422748d
package
com
.
alibaba
.
cloud
.
integration
.
order
.
dto
;
import
lombok.Data
;
import
java.util.List
;
@Data
public
class
DispatchOrderListResp
{
private
List
<
Order
>
orders
;
@Data
public
static
class
Order
{
private
boolean
weight
;
private
String
description
;
private
String
intentionTime
;
private
Integer
duration
;
private
String
skill
;
private
String
category
;
private
String
orderId
;
private
String
customerName
;
private
String
remark
;
private
String
groupTag
;
private
String
groupWeight
;
}
}
\ No newline at end of file
project-order/src/main/java/com/alibaba/cloud/integration/order/service/impl/DispatchServiceImpl.java
View file @
422748d
package
com
.
alibaba
.
cloud
.
integration
.
order
.
service
.
impl
;
package
com
.
alibaba
.
cloud
.
integration
.
order
.
service
.
impl
;
import
com.alibaba.cloud.integration.common.Result
;
import
com.alibaba.cloud.integration.common.Result
;
import
com.alibaba.cloud.integration.order.dao.EngineerInfoMPDao
;
import
com.alibaba.cloud.integration.order.dao.*
;
import
com.alibaba.cloud.integration.order.dao.OrderAppointmentMPDao
;
import
com.alibaba.cloud.integration.order.dto.DispatchOrderListResp
;
import
com.alibaba.cloud.integration.order.dao.OrderRequestMPDao
;
import
com.alibaba.cloud.integration.order.entity.*
;
import
com.alibaba.cloud.integration.order.dao.OrgGroupMPDao
;
import
com.alibaba.cloud.integration.order.entity.EngineerInfo
;
import
com.alibaba.cloud.integration.order.entity.OrderAppointment
;
import
com.alibaba.cloud.integration.order.entity.OrderRequest
;
import
com.alibaba.cloud.integration.order.entity.OrgGroup
;
import
com.alibaba.cloud.integration.order.service.DispatchService
;
import
com.alibaba.cloud.integration.order.service.DispatchService
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
java.sql.Timestamp
;
import
java.text.SimpleDateFormat
;
import
java.text.SimpleDateFormat
;
import
java.time.format.DateTimeFormatter
;
import
java.util.ArrayList
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.List
;
import
java.util.stream.Collectors
;
import
java.util.stream.Collectors
;
...
@@ -33,22 +33,45 @@ public class DispatchServiceImpl implements DispatchService {
...
@@ -33,22 +33,45 @@ public class DispatchServiceImpl implements DispatchService {
@Autowired
@Autowired
private
EngineerInfoMPDao
engineerInfoMPDao
;
private
EngineerInfoMPDao
engineerInfoMPDao
;
@Autowired
private
ProductCategoryMPDao
productCategoryMPDao
;
@Transactional
@Override
@Override
public
Result
<?>
getDispatchOrderList
(
String
levelType
,
List
<
String
>
levelIds
,
String
date
,
String
groupTagId
)
{
public
Result
<?>
getDispatchOrderList
(
String
levelType
,
List
<
String
>
levelIds
,
String
date
,
String
groupTagId
)
{
// 获取技能需要时间列表
HashMap
<
String
,
Integer
>
skillTakeTime
=
this
.
querySkillTakeTime
();
// 获取工单列表
List
<
OrderRequest
>
orders
=
this
.
queryOrderRequests
(
levelType
,
levelIds
,
date
);
List
<
OrderRequest
>
orders
=
this
.
queryOrderRequests
(
levelType
,
levelIds
,
date
);
for
(
OrderRequest
o:
orders
)
{
String
a
=
String
.
format
(
"%s:%s%s-%s %s:%s"
,
o
.
getOrderId
(),
o
.
getSkill
(),
o
.
getType
(),
o
.
getBrand
(),
o
.
getName
(),
o
.
getAddress
());
List
<
DispatchOrderListResp
.
Order
>
items
=
new
ArrayList
<>();
String
intentionTime
=
String
.
format
(
""
);
for
(
OrderRequest
o
:
orders
)
{
String
duration
=
"1"
;
DispatchOrderListResp
.
Order
item
=
new
DispatchOrderListResp
.
Order
();
String
type
=
o
.
getType
();
item
.
setOrderId
(
o
.
getOrderId
());
String
category
=
String
.
format
(
"%s-%s"
,
o
.
getType
(),
o
.
getBrand
());
item
.
setCategory
(
String
.
format
(
"%s-%s"
,
o
.
getType
(),
o
.
getBrand
()));
String
orderId
=
""
;
item
.
setSkill
(
o
.
getSkill
());
String
customerName
=
o
.
getName
();
item
.
setRemark
(
o
.
getDescription
());
String
remark
=
o
.
getDescription
();
item
.
setCustomerName
(
o
.
getName
());
String
groupTag
=
"紧急"
;
int
groupWeight
=
10
;
String
description
=
String
.
format
(
"%s:%s%s-%s %s:%s"
,
o
.
getOrderId
(),
o
.
getSkill
(),
o
.
getType
(),
o
.
getBrand
(),
o
.
getName
(),
o
.
getAddress
());
item
.
setDescription
(
description
);
String
key
=
String
.
format
(
"%s%s%s"
,
o
.
getBrand
(),
o
.
getType
(),
o
.
getSkill
());
item
.
setDuration
(
skillTakeTime
.
getOrDefault
(
key
,
30
));
String
time
=
this
.
timestamp2Datetime
(
o
.
getExpectTimeBegin
(),
"HH:mm"
);
String
timeSlot
=
this
.
parseTimeSlot
(
o
.
getExpectTimeBegin
());
item
.
setIntentionTime
(
String
.
format
(
"%s/%s"
,
time
,
timeSlot
));
items
.
add
(
item
);
}
}
return
null
;
DispatchOrderListResp
res
=
new
DispatchOrderListResp
();
res
.
setOrders
(
items
);
return
Result
.
success
(
res
);
}
}
@Override
@Override
...
@@ -107,6 +130,16 @@ public class DispatchServiceImpl implements DispatchService {
...
@@ -107,6 +130,16 @@ public class DispatchServiceImpl implements DispatchService {
return
groups
.
stream
().
map
(
OrgGroup:
:
getGroupId
).
collect
(
Collectors
.
toList
());
return
groups
.
stream
().
map
(
OrgGroup:
:
getGroupId
).
collect
(
Collectors
.
toList
());
}
}
private
HashMap
<
String
,
Integer
>
querySkillTakeTime
()
{
HashMap
<
String
,
Integer
>
map
=
new
HashMap
<>();
List
<
ProductCategory
>
records
=
productCategoryMPDao
.
selectList
(
null
);
for
(
ProductCategory
r
:
records
)
{
String
key
=
String
.
format
(
"%s%s%sd"
,
r
.
getBrand
(),
r
.
getType
(),
r
.
getSkill
());
map
.
put
(
key
,
r
.
getTakeTime
());
}
return
map
;
}
private
long
DateString2Timestamp
(
String
date
,
String
time
)
{
private
long
DateString2Timestamp
(
String
date
,
String
time
)
{
String
datetime
=
String
.
format
(
"%s %s"
,
date
,
time
);
String
datetime
=
String
.
format
(
"%s %s"
,
date
,
time
);
SimpleDateFormat
dateFormat
=
new
SimpleDateFormat
(
"yyyy-MM-dd HH:mm:ss"
);
SimpleDateFormat
dateFormat
=
new
SimpleDateFormat
(
"yyyy-MM-dd HH:mm:ss"
);
...
@@ -117,4 +150,21 @@ public class DispatchServiceImpl implements DispatchService {
...
@@ -117,4 +150,21 @@ public class DispatchServiceImpl implements DispatchService {
}
}
return
0
;
return
0
;
}
}
private
String
timestamp2Datetime
(
Timestamp
t
,
String
pattern
)
{
DateTimeFormatter
df
=
DateTimeFormatter
.
ofPattern
(
pattern
);
return
df
.
format
(
t
.
toLocalDateTime
());
}
private
String
parseTimeSlot
(
Timestamp
t
)
{
String
h
=
this
.
timestamp2Datetime
(
t
,
"HH"
);
Integer
hour
=
Integer
.
parseInt
(
h
);
if
(
hour
<=
12
)
{
return
"上午"
;
}
else
if
(
hour
<=
18
)
{
return
"下午"
;
}
else
{
return
"晚上"
;
}
}
}
}
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