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 f7380496
authored
Nov 21, 2023
by
huangjinxin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix:指派插单优化
1 parent
e5a113c8
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
65 additions
and
4 deletions
project-order/src/main/java/com/dituhui/pea/order/enums/ServiceStatusEnum.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/EngineerGanttServiceImpl.java
project-order/src/main/java/com/dituhui/pea/order/service/impl/OrderInfoServiceImpl.java
project-order/src/main/java/com/dituhui/pea/order/utils/OrderUtil.java
project-order/src/main/java/com/dituhui/pea/order/enums/ServiceStatusEnum.java
View file @
f738049
...
@@ -8,7 +8,9 @@ public enum ServiceStatusEnum {
...
@@ -8,7 +8,9 @@ public enum ServiceStatusEnum {
STARTED
(
"STARTED"
,
"已开始"
),
STARTED
(
"STARTED"
,
"已开始"
),
CANCELED
(
"CANCELED"
,
"已取消"
),
CANCELED
(
"CANCELED"
,
"已取消"
),
FINISHED
(
"FINISHED"
,
"已完成"
),
FINISHED
(
"FINISHED"
,
"已完成"
),
UNFINISHED
(
"UNFINISHED"
,
"已上门未完成"
);
//已超时
UNFINISHED
(
"UNFINISHED"
,
"已上门未完成"
),
DELAY
(
"DELAY"
,
"已延误"
);
private
final
String
code
;
private
final
String
code
;
...
...
project-order/src/main/java/com/dituhui/pea/order/service/impl/DispatchServiceImpl.java
View file @
f738049
...
@@ -20,6 +20,7 @@ import com.dituhui.pea.order.service.DispatchService;
...
@@ -20,6 +20,7 @@ import com.dituhui.pea.order.service.DispatchService;
import
com.dituhui.pea.order.service.EngineerCalendarService
;
import
com.dituhui.pea.order.service.EngineerCalendarService
;
import
com.dituhui.pea.order.service.OrderInfoService
;
import
com.dituhui.pea.order.service.OrderInfoService
;
import
com.dituhui.pea.order.utils.CommonUtil
;
import
com.dituhui.pea.order.utils.CommonUtil
;
import
com.dituhui.pea.order.utils.OrderUtil
;
import
com.google.common.collect.Sets
;
import
com.google.common.collect.Sets
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.apache.commons.collections.CollectionUtils
;
...
@@ -293,7 +294,7 @@ public class DispatchServiceImpl implements DispatchService {
...
@@ -293,7 +294,7 @@ public class DispatchServiceImpl implements DispatchService {
item
.
setAppointmentType
(
o
.
getAppointmentMethod
());
item
.
setAppointmentType
(
o
.
getAppointmentMethod
());
item
.
setAppointmentStatus
(
o
.
getAppointmentStatus
());
item
.
setAppointmentStatus
(
o
.
getAppointmentStatus
());
item
.
setOrderStatus
(
o
.
getOrderStatus
());
// 订单状态
item
.
setOrderStatus
(
o
.
getOrderStatus
());
// 订单状态
item
.
setServiceStatus
(
o
.
getServiceStatus
(
));
item
.
setServiceStatus
(
OrderUtil
.
handleServiceStatus
(
o
));
item
.
setOrderStatusDesc
(
OrderStatusEnum
.
valueOf
(
o
.
getOrderStatus
()).
getDescription
());
item
.
setOrderStatusDesc
(
OrderStatusEnum
.
valueOf
(
o
.
getOrderStatus
()).
getDescription
());
item
.
setCreateTime
(
TimeUtils
.
IsoLocalDateTime2String
(
o
.
getCreateTime
()));
item
.
setCreateTime
(
TimeUtils
.
IsoLocalDateTime2String
(
o
.
getCreateTime
()));
...
...
project-order/src/main/java/com/dituhui/pea/order/service/impl/EngineerGanttServiceImpl.java
View file @
f738049
...
@@ -73,7 +73,7 @@ public class EngineerGanttServiceImpl implements EngineerGanttService {
...
@@ -73,7 +73,7 @@ public class EngineerGanttServiceImpl implements EngineerGanttService {
EngineersGanttDTO
.
Slot
slot
=
new
EngineersGanttDTO
.
Slot
();
EngineersGanttDTO
.
Slot
slot
=
new
EngineersGanttDTO
.
Slot
();
// todo 需要根据订单时间和状态,采用expectXXXX或者actualXXXX
// todo 需要根据订单时间和状态,采用expectXXXX或者actualXXXX
slot
.
setOrderId
(
order
.
getOrderId
());
slot
.
setOrderId
(
order
.
getOrderId
());
slot
.
setServiceStatus
(
order
.
getServiceStatus
(
));
slot
.
setServiceStatus
(
OrderUtil
.
handleServiceStatus
(
order
));
String
startServiceStr
=
null
;
String
startServiceStr
=
null
;
if
(
checkOrderIsFinish
(
order
.
getServiceStatus
()))
{
if
(
checkOrderIsFinish
(
order
.
getServiceStatus
()))
{
slot
.
setBtime
(
ObjectUtil
.
isNull
(
order
.
getActualStartTime
())
?
null
:
getHourMinute
(
order
.
getActualStartTime
()));
slot
.
setBtime
(
ObjectUtil
.
isNull
(
order
.
getActualStartTime
())
?
null
:
getHourMinute
(
order
.
getActualStartTime
()));
...
...
project-order/src/main/java/com/dituhui/pea/order/service/impl/OrderInfoServiceImpl.java
View file @
f738049
...
@@ -621,6 +621,10 @@ public class OrderInfoServiceImpl implements OrderInfoService {
...
@@ -621,6 +621,10 @@ public class OrderInfoServiceImpl implements OrderInfoService {
nestOrder
.
setPlanStartTime
(
nestOrder
.
getPlanStartTime
().
plusMinutes
(
minutes
));
nestOrder
.
setPlanStartTime
(
nestOrder
.
getPlanStartTime
().
plusMinutes
(
minutes
));
nestOrder
.
setPlanEndTime
(
nestOrder
.
getPlanEndTime
().
plusMinutes
(
minutes
));
nestOrder
.
setPlanEndTime
(
nestOrder
.
getPlanEndTime
().
plusMinutes
(
minutes
));
orderInfoDao
.
save
(
nestOrder
);
orderInfoDao
.
save
(
nestOrder
);
//下一单为待插入订单且为最后一单直接返回
if
(
i
==
orderSegments
.
size
()
-
2
)
{
return
Result
.
success
(
insertOrder
);
}
moveTime
=
(
int
)
minutes
;
moveTime
=
(
int
)
minutes
;
isMove
=
true
;
isMove
=
true
;
}
}
...
@@ -687,7 +691,7 @@ public class OrderInfoServiceImpl implements OrderInfoService {
...
@@ -687,7 +691,7 @@ public class OrderInfoServiceImpl implements OrderInfoService {
return
Result
.
success
(
expectTimeBegin
);
return
Result
.
success
(
expectTimeBegin
);
}
}
// 请假时间内则顺延
// 请假时间内则顺延
if
(
expectTimeBegin
.
compareTo
(
occupyInfoDetail
.
getBeginTime
())
>=
0
||
expectTimeBegin
.
compareTo
(
occupyInfoDetail
.
getEndTime
())
<=
0
)
{
if
(
expectTimeBegin
.
compareTo
(
occupyInfoDetail
.
getBeginTime
())
>=
0
&&
expectTimeBegin
.
compareTo
(
occupyInfoDetail
.
getEndTime
())
<=
0
)
{
return
Result
.
success
(
occupyInfoDetail
.
getEndTime
());
return
Result
.
success
(
occupyInfoDetail
.
getEndTime
());
}
}
if
(
expectTimeEnd
.
compareTo
(
occupyInfoDetail
.
getEndTime
().
plusMinutes
(
takeTime
))
>=
0
)
{
if
(
expectTimeEnd
.
compareTo
(
occupyInfoDetail
.
getEndTime
().
plusMinutes
(
takeTime
))
>=
0
)
{
...
...
project-order/src/main/java/com/dituhui/pea/order/utils/OrderUtil.java
View file @
f738049
package
com
.
dituhui
.
pea
.
order
.
utils
;
package
com
.
dituhui
.
pea
.
order
.
utils
;
import
cn.hutool.core.util.ObjectUtil
;
import
com.dituhui.pea.order.entity.OrderInfoEntity
;
import
com.dituhui.pea.order.entity.OrderInfoEntity
;
import
com.dituhui.pea.order.enums.OrderPeaTagsEnum
;
import
com.dituhui.pea.order.enums.OrderPeaTagsEnum
;
import
com.dituhui.pea.order.enums.ServiceStatusEnum
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
java.time.LocalDateTime
;
import
java.util.ArrayList
;
import
java.util.ArrayList
;
import
java.util.Arrays
;
import
java.util.Arrays
;
import
java.util.List
;
import
java.util.List
;
...
@@ -40,6 +43,57 @@ public class OrderUtil {
...
@@ -40,6 +43,57 @@ public class OrderUtil {
/**
/**
* 处理工单状态,主要处理以延迟和已超时
*
* @param order
* @return
*/
public
static
String
handleServiceStatus
(
OrderInfoEntity
order
)
{
if
(
isDelay
(
order
))
{
return
ServiceStatusEnum
.
DELAY
.
getCode
();
}
if
(
isOvertime
(
order
))
{
return
ServiceStatusEnum
.
UNFINISHED
.
getCode
();
}
return
order
.
getServiceStatus
();
}
/**
* 判断订单是否是延迟订单
*
* @param order
* @return
*/
public
static
Boolean
isDelay
(
OrderInfoEntity
order
)
{
if
(!
order
.
getServiceStatus
().
equals
(
ServiceStatusEnum
.
INIT
.
getCode
())
&&
!
order
.
getServiceStatus
().
equals
(
ServiceStatusEnum
.
CONTACTED
.
getCode
()))
{
return
false
;
}
if
(
order
.
getExpectTimeBegin
().
plusMinutes
(
10
).
isBefore
(
LocalDateTime
.
now
()))
{
return
true
;
}
return
false
;
}
/**
* 判断订单是否是延迟订单
*
* @param order
* @return
*/
public
static
Boolean
isOvertime
(
OrderInfoEntity
order
)
{
if
(!
order
.
getServiceStatus
().
equals
(
ServiceStatusEnum
.
STARTED
.
getCode
())
||
ObjectUtil
.
isNotNull
(
order
.
getActualEndTime
()))
{
return
false
;
}
if
(
order
.
getPlanEndTime
().
plusMinutes
(
10
).
isBefore
(
LocalDateTime
.
now
()))
{
return
true
;
}
return
false
;
}
/**
* 分单,超派,特殊时间等处理工单指派工程师,网点等数据
* 分单,超派,特殊时间等处理工单指派工程师,网点等数据
*
*
* @param order
* @param order
...
...
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