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 7edb439f
authored
Nov 02, 2023
by
刘鑫
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'develop' of
https://gitlab.dituhui.com/bsh/project/project
into develop-16542
2 parents
c4221824
6e1de546
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
107 additions
and
17 deletions
project-interface/src/main/java/com/dituhui/pea/enums/StatusCodeEnum.java
project-order/src/main/java/com/dituhui/pea/order/controller/TestController.java
project-order/src/main/java/com/dituhui/pea/order/dto/OrderServiceDetailResp.java
project-order/src/main/java/com/dituhui/pea/order/dto/OrderServiceList.java
project-order/src/main/java/com/dituhui/pea/order/entity/OrderInfoEntity.java
project-order/src/main/java/com/dituhui/pea/order/feign/bean/enums/BeanOrgLevelEnum.java
project-order/src/main/java/com/dituhui/pea/order/service/impl/FendanServiceImpl.java
project-order/src/main/java/com/dituhui/pea/order/service/impl/OrderCreateServiceImpl.java
project-order/src/main/java/com/dituhui/pea/order/service/impl/OrderServiceDetailImpl.java
project-order/src/main/java/com/dituhui/pea/order/service/impl/OrderServiceListServiceImpl.java
project-interface/src/main/java/com/dituhui/pea/enums/StatusCodeEnum.java
View file @
7edb439
...
...
@@ -136,7 +136,9 @@ public enum StatusCodeEnum {
RESOURCE_USER_EXISTS_ROLE
(
"025"
,
"角色已绑定用户,请解绑用户后再删除角色!"
,
false
),
ORDER_EXISTS
(
"026"
,
"订单已存在"
,
false
);
ORDER_EXISTS
(
"026"
,
"订单已存在"
,
false
),
ORDER_SKILL_NOT_EXISTS
(
"027"
,
"订单所需技能不存在,请核对!"
,
false
);
/**
* 状态码
...
...
project-order/src/main/java/com/dituhui/pea/order/controller/TestController.java
View file @
7edb439
...
...
@@ -23,4 +23,10 @@ public class TestController {
return
beanRemoteServiceImpl
.
allDepartment
();
}
@GetMapping
(
"/serviceOrgList"
)
public
Result
<?>
serviceOrgList
()
{
return
beanRemoteServiceImpl
.
serviceOrgList
();
}
}
project-order/src/main/java/com/dituhui/pea/order/dto/OrderServiceDetailResp.java
View file @
7edb439
...
...
@@ -3,7 +3,6 @@ package com.dituhui.pea.order.dto;
import
com.fasterxml.jackson.annotation.JsonInclude
;
import
lombok.Data
;
import
javax.validation.constraints.NotNull
;
import
java.util.List
;
@Data
...
...
@@ -40,7 +39,50 @@ public class OrderServiceDetailResp {
/**
* bean优先级,例如:紧急、正常
*/
private
String
beanPriority
;;
private
String
beanPriority
;
private
String
name
;
private
String
phone
;
private
String
beanBrand
;
private
String
brand
;
private
String
type
;
private
String
skill
;
private
String
faultDescribe
;
private
String
expectTimeBegin
;
private
String
expectTimeDesc
;
private
String
source
;
private
String
tags
;
private
String
createTime
;
private
String
applyNote
;
/**
* 是否是特殊时间段,0否 1是 默认0
*/
private
Integer
isSpecialTime
;
/**
* 是否是cutoff,0否 1是 默认0
*/
private
Integer
isCutoff
;
/**
* 一家多单id,有则多条订单关联,没有则不是一家多单
*/
private
String
multipleOrders
;
@Data
@JsonInclude
(
JsonInclude
.
Include
.
NON_NULL
)
...
...
project-order/src/main/java/com/dituhui/pea/order/dto/OrderServiceList.java
View file @
7edb439
...
...
@@ -76,4 +76,14 @@ public class OrderServiceList {
*/
private
Integer
isSpecialTime
;
/**
* 开始服务时间
*/
private
String
actualStartTime
;
/**
* 结束服务时间
*/
private
String
actualEndTime
;
}
project-order/src/main/java/com/dituhui/pea/order/entity/OrderInfoEntity.java
View file @
7edb439
...
...
@@ -63,10 +63,10 @@ public class OrderInfoEntity {
private
String
skill
;
@Column
(
name
=
"take_time"
,
nullable
=
false
)
private
int
takeTime
;
private
int
takeTime
=
0
;
@Column
(
name
=
"is_workshop"
,
nullable
=
false
)
private
boolean
isWorkshop
;
private
boolean
isWorkshop
=
false
;
@Column
(
name
=
"fault_describe"
,
length
=
100
)
private
String
faultDescribe
;
...
...
@@ -153,10 +153,10 @@ public class OrderInfoEntity {
private
LocalDateTime
planEndTime
;
@Column
(
name
=
"arrive_elapsed"
,
nullable
=
true
,
columnDefinition
=
"int(11) default '0'"
)
private
Integer
arriveElapsed
;
private
Integer
arriveElapsed
=
0
;
@Column
(
name
=
"arrive_distance"
,
nullable
=
true
,
columnDefinition
=
"int(11) default '0'"
)
private
Integer
arriveDistance
;
private
Integer
arriveDistance
=
0
;
@Column
(
name
=
"actual_start_time"
)
private
LocalDateTime
actualStartTime
;
...
...
project-order/src/main/java/com/dituhui/pea/order/feign/bean/enums/BeanOrgLevelEnum.java
View file @
7edb439
...
...
@@ -5,13 +5,12 @@ import com.dituhui.pea.common.IResult;
/**
* boxi bean组织机构传输接口状态码枚举
* bean doc url https://publink-hz.feishu.cn/wiki/L4d1wwuGGiQcDqkGh3LcDJPon1i
* 集团 CLIQUE
* 大区 REGION
* 分部 BRANCH
* <p>
* 分站 STATION
* 外围 PERIPHERY
* 寄修中心 REPAIR_CENTER
* 集团:CLIQUE
* 大区:REGION
* 分部:BRANCH
* 管理组:MANAGE_GROUP
* 分站:STATION
* 职能:FUNCTION
*/
public
enum
BeanOrgLevelEnum
implements
IResult
{
...
...
@@ -25,7 +24,9 @@ public enum BeanOrgLevelEnum implements IResult {
PERIPHERY
(
"PERIPHERY"
,
"外围"
),
REPAIR_CENTER
(
"REPAIR_CENTER"
,
"寄修中心"
);
REPAIR_CENTER
(
"REPAIR_CENTER"
,
"寄修中心"
),
FUNCTION
(
"FUNCTION"
,
"职能"
);
private
String
code
;
...
...
project-order/src/main/java/com/dituhui/pea/order/service/impl/FendanServiceImpl.java
View file @
7edb439
...
...
@@ -227,6 +227,11 @@ public class FendanServiceImpl implements FendanService {
@Override
public
Result
<
OrgTeamInfo
>
fendanToGroupCapacity
(
OrderDTO
.
OrderCreateRequest
request
,
Integer
isDate
,
LocalDate
targetDate
,
LocalTime
startTime
,
LocalTime
endTime
)
{
List
<
OrgGroupInfo
>
orgGroupTeamInfos
=
new
ArrayList
<>();
String
peaBrand
=
fixBrand
(
request
.
getBrand
());
SkillInfoEntity
skillInfo
=
skillInfoDao
.
getByBrandAndTypeAndSkill
(
peaBrand
,
request
.
getProductType
(),
request
.
getServiceType
());
if
(
ObjectUtil
.
isNull
(
skillInfo
))
{
return
Result
.
failed
(
StatusCodeEnum
.
ORDER_SKILL_NOT_EXISTS
);
}
//1:根据经纬度分单获取面
FendanDTO
fendanDTO
=
new
FendanDTO
();
fendanDTO
.
setXy
(
request
.
getLocation
().
getLongitude
()
+
","
+
request
.
getLocation
().
getLatitude
());
...
...
@@ -236,7 +241,6 @@ public class FendanServiceImpl implements FendanService {
}
//2:根据服务范围匹配工作队
String
peaBrand
=
fixBrand
(
request
.
getBrand
());
List
<
String
>
blockIds
=
blockInfos
.
stream
().
map
(
SaasUtils
.
BlockInfo
::
getBlockId
).
distinct
().
collect
(
Collectors
.
toList
());
List
<
MapBlockInfoEntity
>
mapBlockInBlockIdsList
=
new
ArrayList
<>();
//区划所在范围所有工作队
...
...
@@ -296,8 +300,11 @@ public class FendanServiceImpl implements FendanService {
service
.
setBrand
(
peaBrand
);
service
.
setProductType
(
request
.
getProductType
());
service
.
setServiceType
(
request
.
getServiceType
());
SkillInfoEntity
skillInfo
=
skillInfoDao
.
getByBrandAndTypeAndSkill
(
peaBrand
,
request
.
getProductType
(),
request
.
getServiceType
());
for
(
OrgGroupInfo
orgGroupInfo
:
orgGroupTeamInfos
)
{
//网点无限容量直接返回
if
(
orgGroupInfo
.
getCategory
()
==
2
)
{
return
Result
.
success
(
orgGroupInfo
.
getTeamInfos
().
get
(
0
));
}
CapacityQueryDTO
.
Segment
capacity
=
isDate
==
1
?
capacityQueryService
.
queryCapacityByTeam
(
orgGroupInfo
.
getTeamInfos
().
get
(
0
).
getTeamId
(),
service
,
targetDate
)
:
capacityQueryService
.
queryCapacityByTeam
(
orgGroupInfo
.
getTeamInfos
().
get
(
0
).
getTeamId
(),
service
,
targetDate
,
startTime
,
endTime
);
if
(
ObjectUtil
.
isNotNull
(
capacity
)
&&
capacity
.
getStatus
()
==
1
&&
capacity
.
getMaxDuration
()
>
skillInfo
.
getTakeTime
())
{
...
...
project-order/src/main/java/com/dituhui/pea/order/service/impl/OrderCreateServiceImpl.java
View file @
7edb439
...
...
@@ -159,6 +159,9 @@ public class OrderCreateServiceImpl implements OrderCreateService {
}
// 分单处理
Result
<
OrgTeamInfo
>
fendanResult
=
fendanService
.
fendanToGroupCapacity
(
req
,
2
,
entity
.
getExpectTimeBegin
().
toLocalDate
(),
entity
.
getExpectTimeBegin
().
toLocalTime
(),
entity
.
getExpectTimeEnd
().
toLocalTime
());
if
(
fendanResult
.
getCode
().
equals
(
StatusCodeEnum
.
ORDER_SKILL_NOT_EXISTS
.
getCode
()))
{
return
fendanResult
;
}
if
(!
fendanResult
.
getCode
().
equals
(
ResultEnum
.
SUCCESS
.
getCode
())
||
ObjectUtil
.
isNull
(
fendanResult
.
getResult
()))
{
if
(
fendanResult
.
getCode
().
equals
(
StatusCodeEnum
.
FENDAN_IS_TRANSCEND
.
getCode
()))
{
// 处理超派
...
...
project-order/src/main/java/com/dituhui/pea/order/service/impl/OrderServiceDetailImpl.java
View file @
7edb439
...
...
@@ -72,6 +72,21 @@ public class OrderServiceDetailImpl implements OrderServiceDetail {
res
.
setIsAppointEngineer
(
order
.
getIsAppointEngineer
());
res
.
setAppointEngineerCodes
(
order
.
getAppointEngineerCodes
());
res
.
setBeanPriority
(
order
.
getBeanPriority
());
res
.
setName
(
order
.
getName
());
res
.
setPhone
(
order
.
getPhone
());
res
.
setBrand
(
order
.
getBrand
());
res
.
setType
(
order
.
getType
());
res
.
setSkill
(
order
.
getSkill
());
res
.
setFaultDescribe
(
order
.
getFaultDescribe
());
res
.
setExpectTimeBegin
(
TimeUtils
.
IsoLocalDateTime2String
(
order
.
getExpectTimeBegin
()));
res
.
setExpectTimeDesc
(
order
.
getExpectTimeDesc
());
res
.
setSource
(
order
.
getSource
());
res
.
setTags
(
order
.
getTags
());
res
.
setCreateTime
(
TimeUtils
.
IsoLocalDateTime2String
(
order
.
getCreateTime
()));
res
.
setApplyNote
(
order
.
getApplyNote
());
res
.
setIsCutoff
(
order
.
getIsCutoff
());
res
.
setIsSpecialTime
(
order
.
getIsSpecialTime
());
res
.
setMultipleOrders
(
order
.
getMultipleOrders
());
return
Result
.
success
(
res
);
}
...
...
project-order/src/main/java/com/dituhui/pea/order/service/impl/OrderServiceListServiceImpl.java
View file @
7edb439
package
com
.
dituhui
.
pea
.
order
.
service
.
impl
;
import
cn.hutool.core.util.ObjectUtil
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.dituhui.pea.common.BusinessException
;
...
...
@@ -156,6 +157,9 @@ public class OrderServiceListServiceImpl implements OrderServiceListService {
record
.
setMultipleOrders
(
o
.
getMultipleOrders
());
record
.
setTranscend
(
o
.
getTranscend
());
record
.
setIsSpecialTime
(
o
.
getIsSpecialTime
());
record
.
setActualStartTime
(
ObjectUtil
.
isNull
(
o
.
getActualStartTime
())
?
""
:
TimeUtils
.
IsoTimestamp2DateTime
(
o
.
getActualStartTime
()));
record
.
setActualEndTime
(
ObjectUtil
.
isNull
(
o
.
getActualStartTime
())
?
""
:
TimeUtils
.
IsoTimestamp2DateTime
(
o
.
getActualEndTime
()));
if
(
StringUtils
.
isNotEmpty
(
o
.
getMultipleOrders
()))
{
List
<
OrderInfoEntity
>
byMultipleOrders
=
orderInfoDao
.
findByMultipleOrdersAndOrderIdNot
(
o
.
getMultipleOrders
(),
o
.
getOrderId
());
List
<
OrderServiceList
>
multipleItems
=
new
ArrayList
<>();
...
...
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