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 d6f22c9d
authored
Jun 21, 2023
by
王力
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'dev_temp_merge' into 'master'
Dev temp merge See merge request !128
2 parents
11fc2225
5a9ae690
Show whitespace changes
Inline
Side-by-side
Showing
16 changed files
with
152 additions
and
59 deletions
project-order/src/main/java/com/dituhui/pea/order/config/OrderConfig.java
project-order/src/main/java/com/dituhui/pea/order/dao/EngineerInfoMPDao.java
project-order/src/main/java/com/dituhui/pea/order/dao/OrderRequestMPDao.java
project-order/src/main/java/com/dituhui/pea/order/dao/OrgGroupMPDao.java
project-order/src/main/java/com/dituhui/pea/order/dto/CapacityStatQueryReqDTO.java
project-order/src/main/java/com/dituhui/pea/order/dto/EngineersGanttReqDTO.java
project-order/src/main/java/com/dituhui/pea/order/dto/LabelValueDTO.java
project-order/src/main/java/com/dituhui/pea/order/dto/OrderAssignRecommendResp.java
project-order/src/main/java/com/dituhui/pea/order/dto/OrderChangeListReqDTO.java
project-order/src/main/java/com/dituhui/pea/order/dto/OrderCreateReqDTO.java
project-order/src/main/java/com/dituhui/pea/order/dto/OrderServiceDetailResp.java
project-order/src/main/java/com/dituhui/pea/order/dto/TimeLineDTO.java
project-order/src/main/java/com/dituhui/pea/order/service/impl/DispatchServiceImpl.java
project-order/src/main/java/com/dituhui/pea/order/service/impl/EngineerServiceImpl.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/OrderServiceDetailImpl.java
project-order/src/main/java/com/dituhui/pea/order/config/OrderConfig.java
0 → 100644
View file @
d6f22c9
package
com
.
dituhui
.
pea
.
order
.
config
;
import
org.springframework.context.annotation.Configuration
;
@Configuration
public
class
OrderConfig
{
public
static
final
int
DEFAULT_PAGE_SIZE
=
10
;
public
static
final
int
DEFAULT_PAGE_INDEX
=
1
;
}
project-order/src/main/java/com/dituhui/pea/order/dao/EngineerInfoMPDao.java
View file @
d6f22c9
...
@@ -3,8 +3,22 @@ package com.dituhui.pea.order.dao;
...
@@ -3,8 +3,22 @@ package com.dituhui.pea.order.dao;
import
com.dituhui.pea.order.entity.EngineerInfo
;
import
com.dituhui.pea.order.entity.EngineerInfo
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.apache.ibatis.annotations.Select
;
import
java.util.List
;
@Mapper
@Mapper
public
interface
EngineerInfoMPDao
extends
BaseMapper
<
EngineerInfo
>
{
public
interface
EngineerInfoMPDao
extends
BaseMapper
<
EngineerInfo
>
{
}
@Select
(
"select * from engineer_info where engineer_code = #{engineerCode}"
)
EngineerInfo
getByEngineerCode
(
String
engineerCode
);
@Select
(
"select * from engineer_info where engineer_code = #{engineerCode}"
)
List
<
EngineerInfo
>
selectByEngineerCode
(
String
engineerCode
);
@Select
(
"select * from engineer_info where engineer_code in #{engineerCodes}"
)
List
<
EngineerInfo
>
selectByEngineerCodes
(
List
<
String
>
engineerCodes
);
@Select
(
"select * from engineer_info where group_id = #{groupId}"
)
List
<
EngineerInfo
>
selectByGroupId
(
String
groupId
);
}
\ No newline at end of file
project-order/src/main/java/com/dituhui/pea/order/dao/OrderRequestMPDao.java
View file @
d6f22c9
...
@@ -3,7 +3,19 @@ package com.dituhui.pea.order.dao;
...
@@ -3,7 +3,19 @@ package com.dituhui.pea.order.dao;
import
com.dituhui.pea.order.entity.OrderRequest
;
import
com.dituhui.pea.order.entity.OrderRequest
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.apache.ibatis.annotations.Select
;
import
java.util.List
;
@Mapper
@Mapper
public
interface
OrderRequestMPDao
extends
BaseMapper
<
OrderRequest
>
{
public
interface
OrderRequestMPDao
extends
BaseMapper
<
OrderRequest
>
{
@Select
(
"select * from order_request where order_id = #{orderId}"
)
OrderRequest
getByOrderId
(
String
orderId
);
@Select
(
"select * from order_request where order_id = #{orderId}"
)
List
<
OrderRequest
>
selectByOrderId
(
String
orderId
);
@Select
(
"select * from order_request where order_id in #{orderIds}"
)
List
<
OrderRequest
>
selectByOrderIds
(
List
<
String
>
orderIds
);
}
}
\ No newline at end of file
project-order/src/main/java/com/dituhui/pea/order/dao/OrgGroupMPDao.java
View file @
d6f22c9
...
@@ -3,7 +3,16 @@ package com.dituhui.pea.order.dao;
...
@@ -3,7 +3,16 @@ package com.dituhui.pea.order.dao;
import
com.dituhui.pea.order.entity.OrgGroup
;
import
com.dituhui.pea.order.entity.OrgGroup
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.apache.ibatis.annotations.Select
;
import
java.util.List
;
@Mapper
@Mapper
public
interface
OrgGroupMPDao
extends
BaseMapper
<
OrgGroup
>
{
public
interface
OrgGroupMPDao
extends
BaseMapper
<
OrgGroup
>
{
@Select
(
"select * from org_group where group_id = #{groupId}"
)
OrgGroup
getByGroupId
(
String
groupId
);
@Select
(
"select * from org_group where group_id = #{groupId}"
)
List
<
OrgGroup
>
selectByGroupId
(
String
groupId
);
}
}
project-order/src/main/java/com/dituhui/pea/order/dto/CapacityStatQueryReqDTO.java
View file @
d6f22c9
package
com
.
dituhui
.
pea
.
order
.
dto
;
package
com
.
dituhui
.
pea
.
order
.
dto
;
import
com.dituhui.pea.order.config.OrderConfig
;
import
javax.validation.constraints.NotBlank
;
import
javax.validation.constraints.NotBlank
;
import
javax.validation.constraints.NotEmpty
;
import
javax.validation.constraints.NotEmpty
;
...
@@ -21,6 +23,6 @@ public class CapacityStatQueryReqDTO {
...
@@ -21,6 +23,6 @@ public class CapacityStatQueryReqDTO {
*/
*/
@NotBlank
@NotBlank
private
String
levelValue
;
private
String
levelValue
;
private
Integer
page
;
private
Integer
page
=
OrderConfig
.
DEFAULT_PAGE_INDEX
;
private
Integer
size
;
private
Integer
size
=
OrderConfig
.
DEFAULT_PAGE_SIZE
;
}
}
project-order/src/main/java/com/dituhui/pea/order/dto/EngineersGanttReqDTO.java
View file @
d6f22c9
package
com
.
dituhui
.
pea
.
order
.
dto
;
package
com
.
dituhui
.
pea
.
order
.
dto
;
import
com.dituhui.pea.order.config.OrderConfig
;
import
java.util.List
;
import
java.util.List
;
@lombok
.
Data
@lombok
.
Data
...
@@ -8,8 +10,8 @@ public class EngineersGanttReqDTO {
...
@@ -8,8 +10,8 @@ public class EngineersGanttReqDTO {
private
String
levelType
;
private
String
levelType
;
private
String
levelValue
;
private
String
levelValue
;
private
Integer
page
;
private
Integer
page
=
OrderConfig
.
DEFAULT_PAGE_INDEX
;
private
Integer
size
;
private
Integer
size
=
OrderConfig
.
DEFAULT_PAGE_SIZE
;
private
String
date
;
private
String
date
;
private
List
<
String
>
engineerCodes
;
private
List
<
String
>
engineerCodes
;
}
}
project-order/src/main/java/com/dituhui/pea/order/dto/LabelValueDTO.java
View file @
d6f22c9
...
@@ -8,4 +8,12 @@ import lombok.experimental.Accessors;
...
@@ -8,4 +8,12 @@ import lombok.experimental.Accessors;
public
class
LabelValueDTO
{
public
class
LabelValueDTO
{
private
String
value
;
private
String
value
;
private
String
label
;
private
String
label
;
public
LabelValueDTO
()
{
}
public
LabelValueDTO
(
String
label
,
String
value
)
{
this
.
label
=
label
;
this
.
value
=
(
value
==
null
)
?
""
:
value
;
}
}
}
project-order/src/main/java/com/dituhui/pea/order/dto/OrderAssignRecommendResp.java
View file @
d6f22c9
...
@@ -20,7 +20,7 @@ public class OrderAssignRecommendResp {
...
@@ -20,7 +20,7 @@ public class OrderAssignRecommendResp {
private
String
startTime
;
private
String
startTime
;
private
String
endTime
;
private
String
endTime
;
private
InsertInfo
insertInfo
;
private
InsertInfo
insertInfo
;
private
List
<
Time
line
>
timeline
s
;
private
List
<
Time
LineDTO
>
order
s
;
}
}
@Data
@Data
...
@@ -35,11 +35,4 @@ public class OrderAssignRecommendResp {
...
@@ -35,11 +35,4 @@ public class OrderAssignRecommendResp {
private
String
title
;
private
String
title
;
private
String
color
;
private
String
color
;
}
}
@Data
public
static
class
Timeline
{
private
String
startTime
;
private
String
endTime
;
private
String
type
;
}
}
}
project-order/src/main/java/com/dituhui/pea/order/dto/OrderChangeListReqDTO.java
View file @
d6f22c9
package
com
.
dituhui
.
pea
.
order
.
dto
;
package
com
.
dituhui
.
pea
.
order
.
dto
;
import
com.dituhui.pea.order.config.OrderConfig
;
import
org.springframework.format.annotation.DateTimeFormat
;
import
org.springframework.format.annotation.DateTimeFormat
;
import
java.util.Date
;
import
java.util.Date
;
...
@@ -14,8 +15,8 @@ public class OrderChangeListReqDTO {
...
@@ -14,8 +15,8 @@ public class OrderChangeListReqDTO {
* levelType对应的id值
* levelType对应的id值
*/
*/
private
String
levelValue
;
private
String
levelValue
;
private
int
page
;
private
int
page
=
OrderConfig
.
DEFAULT_PAGE_INDEX
;
private
int
size
;
private
int
size
=
OrderConfig
.
DEFAULT_PAGE_SIZE
;
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd"
)
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd"
)
private
Date
date
=
new
Date
();
private
Date
date
=
new
Date
();
/**
/**
...
...
project-order/src/main/java/com/dituhui/pea/order/dto/OrderCreateReqDTO.java
View file @
d6f22c9
...
@@ -2,6 +2,8 @@ package com.dituhui.pea.order.dto;
...
@@ -2,6 +2,8 @@ package com.dituhui.pea.order.dto;
import
lombok.Data
;
import
lombok.Data
;
import
javax.validation.constraints.NotBlank
;
import
javax.validation.constraints.NotNull
;
import
java.util.ArrayList
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.List
;
...
@@ -13,7 +15,9 @@ public class OrderCreateReqDTO {
...
@@ -13,7 +15,9 @@ public class OrderCreateReqDTO {
private
String
phone
;
private
String
phone
;
private
String
address
;
private
String
address
;
private
LocationDTO
location
;
private
LocationDTO
location
;
@NotBlank
private
String
brand
;
private
String
brand
;
@NotBlank
()
private
String
type
;
private
String
type
;
private
String
skill
;
private
String
skill
;
private
String
faultDescribe
;
private
String
faultDescribe
;
...
...
project-order/src/main/java/com/dituhui/pea/order/dto/OrderServiceDetailResp.java
View file @
d6f22c9
...
@@ -7,6 +7,7 @@ import java.util.List;
...
@@ -7,6 +7,7 @@ import java.util.List;
@Data
@Data
public
class
OrderServiceDetailResp
{
public
class
OrderServiceDetailResp
{
private
String
orderId
;
private
String
orderId
;
private
String
appointmentStatus
;
private
String
status
;
private
String
status
;
private
String
statusDesc
;
private
String
statusDesc
;
private
String
risk
;
private
String
risk
;
...
...
project-order/src/main/java/com/dituhui/pea/order/dto/TimeLineDTO.java
0 → 100644
View file @
d6f22c9
package
com
.
dituhui
.
pea
.
order
.
dto
;
import
lombok.Data
;
import
java.util.List
;
@Data
public
class
TimeLineDTO
{
private
String
orderId
;
private
String
preStatus
;
private
String
appointmentStatus
;
private
String
startTime
;
private
String
endTime
;
private
List
<
LabelValueDTO
>
tips
;
}
\ No newline at end of file
project-order/src/main/java/com/dituhui/pea/order/service/impl/DispatchServiceImpl.java
View file @
d6f22c9
...
@@ -206,7 +206,7 @@ public class DispatchServiceImpl implements DispatchService {
...
@@ -206,7 +206,7 @@ public class DispatchServiceImpl implements DispatchService {
public
Result
<?>
dispatchOrderConfirm
(
String
engineerCode
,
List
<
String
>
orderIds
)
throws
BusinessException
{
public
Result
<?>
dispatchOrderConfirm
(
String
engineerCode
,
List
<
String
>
orderIds
)
throws
BusinessException
{
// 派工台确认派单
// 派工台确认派单
EngineerInfo
engineer
=
this
.
queryEngineer
(
engineerCode
);
EngineerInfo
engineer
=
engineerInfoMPDao
.
getByEngineerCode
(
engineerCode
);
if
(
engineer
==
null
)
{
if
(
engineer
==
null
)
{
throw
new
BusinessException
(
"技术员不存在"
);
throw
new
BusinessException
(
"技术员不存在"
);
}
}
...
@@ -222,8 +222,8 @@ public class DispatchServiceImpl implements DispatchService {
...
@@ -222,8 +222,8 @@ public class DispatchServiceImpl implements DispatchService {
LambdaQueryWrapper
<
OrderAppointment
>
lqw
=
new
LambdaQueryWrapper
<>();
LambdaQueryWrapper
<
OrderAppointment
>
lqw
=
new
LambdaQueryWrapper
<>();
lqw
.
eq
(
OrderAppointment:
:
getEngineerCode
,
engineerCode
);
lqw
.
eq
(
OrderAppointment:
:
getEngineerCode
,
engineerCode
);
lqw
.
ge
(
OrderAppointment:
:
getExpectStartTime
,
this
.
getTimestampFromDate
(
date
,
"00:00:00"
));
lqw
.
ge
(
OrderAppointment:
:
getExpectStartTime
,
TimeUtils
.
IsoDateTime2Timestamp
(
String
.
format
(
"%s 00:00:00"
,
date
)
));
lqw
.
l
t
(
OrderAppointment:
:
getExpectStartTime
,
this
.
getTimestampFromDate
(
date
,
"23:59:59"
));
lqw
.
l
e
(
OrderAppointment:
:
getExpectStartTime
,
TimeUtils
.
IsoDateTime2Timestamp
(
String
.
format
(
"%s 23:59:59"
,
date
)
));
lqw
.
orderByAsc
(
OrderAppointment:
:
getExpectStartTime
);
lqw
.
orderByAsc
(
OrderAppointment:
:
getExpectStartTime
);
List
<
OrderAppointment
>
orderAppointments
=
orderAppointmentMPDao
.
selectList
(
lqw
);
List
<
OrderAppointment
>
orderAppointments
=
orderAppointmentMPDao
.
selectList
(
lqw
);
...
@@ -271,8 +271,8 @@ public class DispatchServiceImpl implements DispatchService {
...
@@ -271,8 +271,8 @@ public class DispatchServiceImpl implements DispatchService {
lqw
.
in
(
levelType
.
equals
(
"group"
),
OrderRequest:
:
getOrgGroupId
,
levelIds
);
lqw
.
in
(
levelType
.
equals
(
"group"
),
OrderRequest:
:
getOrgGroupId
,
levelIds
);
lqw
.
eq
(
OrderRequest:
:
getStatus
,
"open"
);
lqw
.
eq
(
OrderRequest:
:
getStatus
,
"open"
);
lqw
.
eq
(
OrderRequest:
:
getAppointmentStatus
,
"NOT_ASSIGNED"
);
lqw
.
eq
(
OrderRequest:
:
getAppointmentStatus
,
"NOT_ASSIGNED"
);
lqw
.
ge
(
OrderRequest:
:
getExpectTimeBegin
,
this
.
getTimestampFromDate
(
date
,
"00:00:00"
));
lqw
.
ge
(
OrderRequest:
:
getExpectTimeBegin
,
TimeUtils
.
IsoDateTime2Timestamp
(
String
.
format
(
"%s 00:00:00"
,
date
)
));
lqw
.
le
(
OrderRequest:
:
getExpectTimeBegin
,
this
.
getTimestampFromDate
(
date
,
"23:59:59"
));
lqw
.
le
(
OrderRequest:
:
getExpectTimeBegin
,
TimeUtils
.
IsoDateTime2Timestamp
(
String
.
format
(
"%s 23:59:59"
,
date
)
));
return
orderRequestMPDao
.
selectList
(
lqw
);
return
orderRequestMPDao
.
selectList
(
lqw
);
}
}
...
@@ -294,8 +294,9 @@ public class DispatchServiceImpl implements DispatchService {
...
@@ -294,8 +294,9 @@ public class DispatchServiceImpl implements DispatchService {
LambdaQueryWrapper
<
OrderAppointment
>
lqw
=
new
LambdaQueryWrapper
<>();
LambdaQueryWrapper
<
OrderAppointment
>
lqw
=
new
LambdaQueryWrapper
<>();
lqw
.
in
(
OrderAppointment:
:
getEngineerCode
,
engineerCodes
);
lqw
.
in
(
OrderAppointment:
:
getEngineerCode
,
engineerCodes
);
lqw
.
ge
(
OrderAppointment:
:
getExpectStartTime
,
this
.
getTimestampFromDate
(
date
,
"00:00:00"
));
lqw
.
le
(
OrderAppointment:
:
getExpectStartTime
,
this
.
getTimestampFromDate
(
date
,
"23:59:59"
));
lqw
.
ge
(
OrderAppointment:
:
getExpectStartTime
,
TimeUtils
.
IsoDateTime2Timestamp
(
String
.
format
(
"%s 00:00:00"
,
date
)));
lqw
.
le
(
OrderAppointment:
:
getExpectStartTime
,
TimeUtils
.
IsoDateTime2Timestamp
(
String
.
format
(
"%s 23:59:59"
,
date
)));
lqw
.
orderByAsc
(
OrderAppointment:
:
getEngineerCode
);
lqw
.
orderByAsc
(
OrderAppointment:
:
getEngineerCode
);
lqw
.
orderByAsc
(
OrderAppointment:
:
getExpectStartTime
);
lqw
.
orderByAsc
(
OrderAppointment:
:
getExpectStartTime
);
...
@@ -313,12 +314,6 @@ public class DispatchServiceImpl implements DispatchService {
...
@@ -313,12 +314,6 @@ public class DispatchServiceImpl implements DispatchService {
return
engineerInfoMPDao
.
selectList
(
lqw
);
return
engineerInfoMPDao
.
selectList
(
lqw
);
}
}
private
EngineerInfo
queryEngineer
(
String
engineerCode
)
{
LambdaQueryWrapper
<
EngineerInfo
>
lqw
=
new
LambdaQueryWrapper
<>();
lqw
.
eq
(
EngineerInfo:
:
getEngineerCode
,
engineerCode
);
return
engineerInfoMPDao
.
selectOne
(
lqw
);
}
private
List
<
String
>
queryOrgGroupIds
(
String
levelType
,
List
<
String
>
levelIds
)
{
private
List
<
String
>
queryOrgGroupIds
(
String
levelType
,
List
<
String
>
levelIds
)
{
LambdaQueryWrapper
<
OrgGroup
>
lqw
=
new
LambdaQueryWrapper
<>();
LambdaQueryWrapper
<
OrgGroup
>
lqw
=
new
LambdaQueryWrapper
<>();
lqw
.
in
(
levelType
.
equals
(
"cluster"
),
OrgGroup:
:
getClusterId
,
levelIds
);
lqw
.
in
(
levelType
.
equals
(
"cluster"
),
OrgGroup:
:
getClusterId
,
levelIds
);
...
@@ -352,10 +347,6 @@ public class DispatchServiceImpl implements DispatchService {
...
@@ -352,10 +347,6 @@ public class DispatchServiceImpl implements DispatchService {
return
map
;
return
map
;
}
}
public
Timestamp
getTimestampFromDate
(
String
date
,
String
time
)
{
return
Timestamp
.
valueOf
(
date
+
" "
+
time
);
}
private
String
parseTimeSlot
(
Timestamp
t
)
{
private
String
parseTimeSlot
(
Timestamp
t
)
{
String
h
=
TimeUtils
.
timestamp2DateTime
(
t
,
"HH"
);
String
h
=
TimeUtils
.
timestamp2DateTime
(
t
,
"HH"
);
Integer
hour
=
Integer
.
parseInt
(
h
);
Integer
hour
=
Integer
.
parseInt
(
h
);
...
...
project-order/src/main/java/com/dituhui/pea/order/service/impl/EngineerServiceImpl.java
View file @
d6f22c9
...
@@ -17,9 +17,7 @@ import org.springframework.beans.factory.annotation.Autowired;
...
@@ -17,9 +17,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
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.*
;
import
java.util.*
;
import
java.util.stream.Collectors
;
import
java.util.stream.Collectors
;
...
@@ -81,7 +79,7 @@ public class EngineerServiceImpl implements EngineerService {
...
@@ -81,7 +79,7 @@ public class EngineerServiceImpl implements EngineerService {
// 获取技术员基础信息详情
// 获取技术员基础信息详情
// 获取技术员列表
// 获取技术员列表
List
<
EngineerInfo
>
records
=
this
.
queryEngineerInfos
(
engineerCode
);
List
<
EngineerInfo
>
records
=
engineerInfoMPDao
.
selectByEngineerCode
(
engineerCode
);
if
(
records
.
isEmpty
())
{
if
(
records
.
isEmpty
())
{
throw
new
BusinessException
(
"技术员不存在"
);
throw
new
BusinessException
(
"技术员不存在"
);
}
}
...
@@ -115,7 +113,7 @@ public class EngineerServiceImpl implements EngineerService {
...
@@ -115,7 +113,7 @@ public class EngineerServiceImpl implements EngineerService {
@Override
@Override
public
Result
<?>
getEngineerSkillDetail
(
String
engineerCode
)
throws
BusinessException
{
public
Result
<?>
getEngineerSkillDetail
(
String
engineerCode
)
throws
BusinessException
{
// 获取工程师技能详情
// 获取工程师技能详情
List
<
EngineerInfo
>
engineers
=
this
.
queryEngineerInfos
(
engineerCode
);
List
<
EngineerInfo
>
engineers
=
engineerInfoMPDao
.
selectByEngineerCode
(
engineerCode
);
if
(
engineers
.
isEmpty
())
{
if
(
engineers
.
isEmpty
())
{
throw
new
BusinessException
(
"技术员不存在"
);
throw
new
BusinessException
(
"技术员不存在"
);
}
}
...
@@ -189,7 +187,7 @@ public class EngineerServiceImpl implements EngineerService {
...
@@ -189,7 +187,7 @@ public class EngineerServiceImpl implements EngineerService {
@Override
@Override
public
Result
<?>
getEngineerBusinessDetail
(
String
engineerCode
)
{
public
Result
<?>
getEngineerBusinessDetail
(
String
engineerCode
)
{
// 获取技术员业务熟悉详情
// 获取技术员业务熟悉详情
List
<
EngineerInfo
>
engineers
=
this
.
queryEngineerInfos
(
engineerCode
);
List
<
EngineerInfo
>
engineers
=
engineerInfoMPDao
.
selectByEngineerCode
(
engineerCode
);
if
(
engineers
.
isEmpty
())
{
if
(
engineers
.
isEmpty
())
{
throw
new
BusinessException
(
"技术员不存在"
);
throw
new
BusinessException
(
"技术员不存在"
);
}
}
...
@@ -240,13 +238,6 @@ public class EngineerServiceImpl implements EngineerService {
...
@@ -240,13 +238,6 @@ public class EngineerServiceImpl implements EngineerService {
return
pg
;
return
pg
;
}
}
private
List
<
EngineerInfo
>
queryEngineerInfos
(
String
engineerCode
)
{
// 分页查询工程师基础信息
LambdaQueryWrapper
<
EngineerInfo
>
lqw
=
new
LambdaQueryWrapper
<>();
lqw
.
eq
(
EngineerInfo:
:
getEngineerCode
,
engineerCode
);
return
engineerInfoMPDao
.
selectList
(
lqw
);
}
private
HashMap
<
String
,
String
>
queryGroupNames
(
List
<
String
>
groupIds
)
{
private
HashMap
<
String
,
String
>
queryGroupNames
(
List
<
String
>
groupIds
)
{
//查询小组名称映射关系
//查询小组名称映射关系
HashMap
<
String
,
String
>
map
=
new
HashMap
<>();
HashMap
<
String
,
String
>
map
=
new
HashMap
<>();
...
...
project-order/src/main/java/com/dituhui/pea/order/service/impl/OrderAssignImpl.java
View file @
d6f22c9
package
com
.
dituhui
.
pea
.
order
.
service
.
impl
;
package
com
.
dituhui
.
pea
.
order
.
service
.
impl
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper
;
import
com.dituhui.pea.common.BusinessException
;
import
com.dituhui.pea.common.BusinessException
;
import
com.dituhui.pea.common.Result
;
import
com.dituhui.pea.common.Result
;
import
com.dituhui.pea.order.common.TimeUtils
;
import
com.dituhui.pea.order.common.TimeUtils
;
import
com.dituhui.pea.order.dao.EngineerInfoMPDao
;
import
com.dituhui.pea.order.dao.EngineerInfoMPDao
;
import
com.dituhui.pea.order.dao.OrderAppointmentMPDao
;
import
com.dituhui.pea.order.dao.OrderAppointmentMPDao
;
import
com.dituhui.pea.order.dao.OrderRequestMPDao
;
import
com.dituhui.pea.order.dao.OrderRequestMPDao
;
import
com.dituhui.pea.order.dto.LabelValueDTO
;
import
com.dituhui.pea.order.dto.OrderAssignRecommendResp
;
import
com.dituhui.pea.order.dto.OrderAssignRecommendResp
;
import
com.dituhui.pea.order.dto.TimeLineDTO
;
import
com.dituhui.pea.order.entity.EngineerInfo
;
import
com.dituhui.pea.order.entity.EngineerInfo
;
import
com.dituhui.pea.order.entity.OrderAppointment
;
import
com.dituhui.pea.order.entity.OrderAppointment
;
import
com.dituhui.pea.order.entity.OrderRequest
;
import
com.dituhui.pea.order.entity.OrderRequest
;
import
com.dituhui.pea.order.service.OrderAssign
;
import
com.dituhui.pea.order.service.OrderAssign
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper
;
import
lombok.Data
;
import
lombok.Data
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
...
@@ -20,10 +22,11 @@ import org.springframework.transaction.annotation.Transactional;
...
@@ -20,10 +22,11 @@ import org.springframework.transaction.annotation.Transactional;
import
java.sql.Timestamp
;
import
java.sql.Timestamp
;
import
java.time.LocalDateTime
;
import
java.time.LocalDateTime
;
import
java.time.format.DateTimeFormatter
;
import
java.util.ArrayList
;
import
java.util.ArrayList
;
import
java.util.Comparator
;
import
java.util.Comparator
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.List
;
import
java.util.stream.Collectors
;
@Service
@Service
public
class
OrderAssignImpl
implements
OrderAssign
{
public
class
OrderAssignImpl
implements
OrderAssign
{
...
@@ -61,12 +64,20 @@ public class OrderAssignImpl implements OrderAssign {
...
@@ -61,12 +64,20 @@ public class OrderAssignImpl implements OrderAssign {
continue
;
continue
;
}
}
// 获取订单tips
HashMap
<
String
,
List
<
LabelValueDTO
>>
orderTips
=
new
HashMap
<>();
List
<
String
>
orderIds
=
orderAppointments
.
stream
().
map
(
OrderAppointment:
:
getOrderId
).
collect
(
Collectors
.
toList
());
if
(!
orderIds
.
isEmpty
())
{
List
<
OrderRequest
>
orders
=
this
.
queryOrderRequestsByOrderIds
(
orderIds
);
orderTips
=
this
.
packOrderTips
(
orders
);
}
OrderAssignRecommendResp
.
Engineer
item
=
new
OrderAssignRecommendResp
.
Engineer
();
OrderAssignRecommendResp
.
Engineer
item
=
new
OrderAssignRecommendResp
.
Engineer
();
OrderAssignRecommendResp
.
InsertInfo
insertInfo
=
new
OrderAssignRecommendResp
.
InsertInfo
();
OrderAssignRecommendResp
.
InsertInfo
insertInfo
=
new
OrderAssignRecommendResp
.
InsertInfo
();
insertInfo
.
setNumber
(
String
.
format
(
"%d/%d"
,
rr
.
index
+
1
,
orderAppointments
.
size
()
+
1
));
insertInfo
.
setNumber
(
String
.
format
(
"%d/%d"
,
rr
.
index
+
1
,
orderAppointments
.
size
()
+
1
));
insertInfo
.
setTimeDesc
(
"+30分钟"
);
insertInfo
.
setTimeDesc
(
"+30分钟"
);
insertInfo
.
set
Tim
eDesc
(
"+4公里"
);
insertInfo
.
set
Distanc
eDesc
(
"+4公里"
);
item
.
setEngineerCode
(
engineer
.
getEngineerCode
());
item
.
setEngineerCode
(
engineer
.
getEngineerCode
());
item
.
setEngineerName
(
engineer
.
getName
());
item
.
setEngineerName
(
engineer
.
getName
());
...
@@ -74,10 +85,10 @@ public class OrderAssignImpl implements OrderAssign {
...
@@ -74,10 +85,10 @@ public class OrderAssignImpl implements OrderAssign {
item
.
setInsertInfo
(
insertInfo
);
item
.
setInsertInfo
(
insertInfo
);
item
.
setDistanceDesc
(
"15.5公里"
);
item
.
setDistanceDesc
(
"15.5公里"
);
item
.
setTimeDesc
(
"520分钟"
);
item
.
setTimeDesc
(
"520分钟"
);
item
.
setDesc
(
String
.
format
(
"将被插入在第%d单,受此影响原第%d单变化第%d单,第3单将增加5公里路程,比预计晚到30分钟,建议调整;"
,
rr
.
index
+
1
,
rr
.
index
+
1
,
rr
.
index
+
2
));
item
.
setDesc
(
String
.
format
(
"将被插入在第%d单,受此影响原第%d单变化第%d单,第3单将增加5公里路程,比预计晚到30分钟,建议调整;"
,
rr
.
index
+
1
,
rr
.
index
+
1
,
rr
.
index
+
2
));
item
.
setStartTime
(
"08:00"
);
item
.
setStartTime
(
"08:00"
);
item
.
set
Start
Time
(
"18:00"
);
item
.
set
End
Time
(
"18:00"
);
item
.
set
Timelines
(
this
.
packTimelines
(
orderAppointment
s
));
item
.
set
Orders
(
this
.
packTimelines
(
orderAppointments
,
orderTip
s
));
items
.
add
(
item
);
items
.
add
(
item
);
}
}
...
@@ -147,6 +158,12 @@ public class OrderAssignImpl implements OrderAssign {
...
@@ -147,6 +158,12 @@ public class OrderAssignImpl implements OrderAssign {
return
orderRequestMPDao
.
selectOne
(
lqw
);
return
orderRequestMPDao
.
selectOne
(
lqw
);
}
}
private
List
<
OrderRequest
>
queryOrderRequestsByOrderIds
(
List
<
String
>
orderIds
)
{
LambdaQueryWrapper
<
OrderRequest
>
lqw
=
new
LambdaQueryWrapper
<>();
lqw
.
in
(
OrderRequest:
:
getOrderId
,
orderIds
);
return
orderRequestMPDao
.
selectList
(
lqw
);
}
private
List
<
OrderAppointment
>
queryOrderAppointments
(
String
engineerCode
,
String
date
)
{
private
List
<
OrderAppointment
>
queryOrderAppointments
(
String
engineerCode
,
String
date
)
{
LambdaQueryWrapper
<
OrderAppointment
>
lqw
=
new
LambdaQueryWrapper
<>();
LambdaQueryWrapper
<
OrderAppointment
>
lqw
=
new
LambdaQueryWrapper
<>();
lqw
.
eq
(
OrderAppointment:
:
getEngineerCode
,
engineerCode
);
lqw
.
eq
(
OrderAppointment:
:
getEngineerCode
,
engineerCode
);
...
@@ -165,18 +182,40 @@ public class OrderAssignImpl implements OrderAssign {
...
@@ -165,18 +182,40 @@ public class OrderAssignImpl implements OrderAssign {
return
engineerInfoMPDao
.
selectList
(
lqw
);
return
engineerInfoMPDao
.
selectList
(
lqw
);
}
}
private
List
<
OrderAssignRecommendResp
.
Timeline
>
packTimelines
(
List
<
OrderAppointment
>
orders
)
{
private
List
<
TimeLineDTO
>
packTimelines
(
List
<
OrderAppointment
>
orders
,
HashMap
<
String
,
List
<
LabelValueDTO
>>
orderTips
)
{
List
<
OrderAssignRecommendResp
.
Timeline
>
items
=
new
ArrayList
<>();
for
(
OrderAppointment
order:
orders
){
List
<
LabelValueDTO
>
empty
=
new
ArrayList
<>();
OrderAssignRecommendResp
.
Timeline
item
=
new
OrderAssignRecommendResp
.
Timeline
();
List
<
TimeLineDTO
>
items
=
new
ArrayList
<>();
for
(
OrderAppointment
order
:
orders
)
{
TimeLineDTO
item
=
new
TimeLineDTO
();
item
.
setOrderId
(
order
.
getOrderId
());
item
.
setPreStatus
(
order
.
getPreStatus
());
item
.
setAppointmentStatus
(
order
.
getStatus
());
item
.
setStartTime
(
TimeUtils
.
timestamp2DateTime
(
order
.
getExpectStartTime
(),
"HH:mm"
));
item
.
setStartTime
(
TimeUtils
.
timestamp2DateTime
(
order
.
getExpectStartTime
(),
"HH:mm"
));
item
.
setEndTime
(
TimeUtils
.
timestamp2DateTime
(
order
.
getExpectEndTime
(),
"HH:mm"
));
item
.
setEndTime
(
TimeUtils
.
timestamp2DateTime
(
order
.
getExpectEndTime
(),
"HH:mm"
));
item
.
setT
ype
(
order
.
getStatus
(
));
item
.
setT
ips
(
orderTips
.
getOrDefault
(
order
.
getOrderId
(),
empty
));
items
.
add
(
item
);
items
.
add
(
item
);
}
}
return
items
;
return
items
;
}
}
private
HashMap
<
String
,
List
<
LabelValueDTO
>>
packOrderTips
(
List
<
OrderRequest
>
orders
)
{
return
orders
.
stream
().
collect
(
Collectors
.
toMap
(
OrderRequest:
:
getOrderId
,
this
::
packOrderTip
,
(
l1
,
l2
)
->
l1
,
HashMap:
:
new
));
}
private
List
<
LabelValueDTO
>
packOrderTip
(
OrderRequest
order
)
{
// pack订单tips
List
<
LabelValueDTO
>
items
=
new
ArrayList
<>();
items
.
add
(
new
LabelValueDTO
(
"类型/品牌"
,
String
.
format
(
"%s %s %s"
,
order
.
getSkill
(),
order
.
getType
(),
order
.
getBrand
())));
items
.
add
(
new
LabelValueDTO
(
"电话/地址"
,
String
.
format
(
"%s %s\n%s"
,
order
.
getName
(),
order
.
getPhone
(),
order
.
getAddress
())));
items
.
add
(
new
LabelValueDTO
(
"备注"
,
order
.
getDescription
()));
items
.
add
(
new
LabelValueDTO
(
"标签"
,
order
.
getTags
()));
return
items
;
}
}
}
@Data
@Data
...
...
project-order/src/main/java/com/dituhui/pea/order/service/impl/OrderServiceDetailImpl.java
View file @
d6f22c9
...
@@ -11,8 +11,6 @@ import org.springframework.beans.factory.annotation.Autowired;
...
@@ -11,8 +11,6 @@ import org.springframework.beans.factory.annotation.Autowired;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.transaction.annotation.Transactional
;
import
java.sql.Timestamp
;
import
java.time.format.DateTimeFormatter
;
import
java.util.*
;
import
java.util.*
;
import
java.util.stream.Collectors
;
import
java.util.stream.Collectors
;
...
@@ -57,6 +55,7 @@ public class OrderServiceDetailImpl implements OrderServiceDetail {
...
@@ -57,6 +55,7 @@ public class OrderServiceDetailImpl implements OrderServiceDetail {
res
.
setRiskDesc
(
""
);
res
.
setRiskDesc
(
""
);
res
.
setStatusDesc
(
"打开"
);
res
.
setStatusDesc
(
"打开"
);
res
.
setStatus
(
order
.
getStatus
());
res
.
setStatus
(
order
.
getStatus
());
res
.
setAppointmentStatus
(
order
.
getAppointmentStatus
());
res
.
setLocation
(
String
.
format
(
"%s,%s"
,
order
.
getX
(),
order
.
getY
()));
res
.
setLocation
(
String
.
format
(
"%s,%s"
,
order
.
getX
(),
order
.
getY
()));
res
.
setItems
(
items
);
res
.
setItems
(
items
);
...
...
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