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 aae7ca0e
authored
Nov 03, 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
8ddbdcbe
a83361a3
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
92 additions
and
134 deletions
project-interface/src/main/java/com/dituhui/pea/enums/StatusCodeEnum.java
project-order/src/main/java/com/dituhui/pea/order/dto/OrderServiceDetailResp.java
project-order/src/main/java/com/dituhui/pea/order/dto/param/OrderDTO.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/OrderCreateServiceImpl.java
project-order/src/main/java/com/dituhui/pea/order/service/impl/OrderInfoServiceImpl.java
project-order/src/main/java/com/dituhui/pea/order/service/impl/OrderServiceDetailImpl.java
project-interface/src/main/java/com/dituhui/pea/enums/StatusCodeEnum.java
View file @
aae7ca0
...
@@ -138,7 +138,9 @@ public enum StatusCodeEnum {
...
@@ -138,7 +138,9 @@ public enum StatusCodeEnum {
ORDER_EXISTS
(
"026"
,
"订单已存在"
,
false
),
ORDER_EXISTS
(
"026"
,
"订单已存在"
,
false
),
ORDER_SKILL_NOT_EXISTS
(
"027"
,
"订单所需技能不存在,请核对!"
,
false
);
ORDER_SKILL_NOT_EXISTS
(
"027"
,
"订单所需技能不存在,请核对!"
,
false
),
ORDER_RESCHEDULE_BEFORE_TIME
(
"028"
,
"订单不能改约到当前时间以前!"
,
false
);
/**
/**
* 状态码
* 状态码
...
...
project-order/src/main/java/com/dituhui/pea/order/dto/OrderServiceDetailResp.java
View file @
aae7ca0
...
@@ -4,94 +4,101 @@ import com.fasterxml.jackson.annotation.JsonInclude;
...
@@ -4,94 +4,101 @@ import com.fasterxml.jackson.annotation.JsonInclude;
import
lombok.Data
;
import
lombok.Data
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
@Data
@Data
public
class
OrderServiceDetailResp
{
public
class
OrderServiceDetailResp
{
private
String
orderId
;
private
String
orderId
;
private
String
appointmentStatus
;
private
String
appointmentStatus
;
private
String
status
;
private
String
status
;
private
String
statusDesc
;
private
String
statusDesc
;
private
String
risk
;
private
String
risk
;
private
String
riskDesc
;
private
String
riskDesc
;
private
String
location
;
private
String
location
;
private
String
orderStatus
;
private
String
orderStatus
;
private
String
serviceStatus
;
private
String
serviceStatus
;
private
OrderDetail
reschedulingParams
;
private
OrderDetail
reschedulingParams
;
private
List
<
KV
>
items
;
private
List
<
KV
>
items
;
/**
/**
* 是否重物搬运(双人上门) 0:否 1:是 默认0
* 是否重物搬运(双人上门) 0:否 1:是 默认0
*/
*/
private
Integer
isMultiple
;
private
Integer
isMultiple
;
/**
/**
* 是否指定某个工程师/是否排除某个工程师 0:否 1:指定 2:排除 默认0
* 是否指定某个工程师/是否排除某个工程师 0:否 1:指定 2:排除 默认0
*/
*/
private
Integer
isAppointEngineer
;
private
Integer
isAppointEngineer
;
/**
/**
* 指定某个工程师/排除某个工程师 codes 多个,分割
* 指定某个工程师/排除某个工程师 codes 多个,分割
*/
*/
private
String
appointEngineerCodes
;
//
private String appointEngineerCodes;
/**
/**
* bean优先级,例如:紧急、正常
* 指定某个工程师/排除某个工程师 codes 多个,分割 key code,value 名称
*/
*/
private
String
beanPriority
;
private
Map
<
String
,
String
>
appointEngineerCodes
;
private
String
name
;
private
String
phone
;
/**
* bean优先级,例如:紧急、正常
*/
private
String
beanPriority
;
private
String
beanBrand
;
private
String
name
;
private
String
brand
;
private
String
phone
;
private
String
type
;
private
String
beanBrand
;
private
String
skill
;
private
String
brand
;
private
String
faultDescrib
e
;
private
String
typ
e
;
private
String
expectTimeBegin
;
private
String
skill
;
private
String
expectTimeDesc
;
private
String
faultDescribe
;
private
String
source
;
private
String
expectTimeBegin
;
private
String
tags
;
private
String
expectTimeDesc
;
private
String
createTim
e
;
private
String
sourc
e
;
private
String
applyNote
;
private
String
tags
;
/**
private
String
createTime
;
* 是否是特殊时间段,0否 1是 默认0
*/
private
Integer
isSpecialTime
;
private
String
applyNote
;
/**
/**
* 是否是cutoff
,0否 1是 默认0
* 是否是特殊时间段
,0否 1是 默认0
*/
*/
private
Integer
isCutoff
;
private
Integer
isSpecialTime
;
/**
/**
* 一家多单id,有则多条订单关联,没有则不是一家多单
* 是否是cutoff,0否 1是 默认0
*/
*/
private
String
multipleOrders
;
private
Integer
isCutoff
;
@Data
@JsonInclude
(
JsonInclude
.
Include
.
NON_NULL
)
/**
public
static
class
OrderDetail
{
* 一家多单id,有则多条订单关联,没有则不是一家多单
private
String
location
;
*/
private
String
address
;
private
String
multipleOrders
;
private
String
brand
;
private
String
date
;
@Data
private
String
type
;
@JsonInclude
(
JsonInclude
.
Include
.
NON_NULL
)
private
String
skill
;
public
static
class
OrderDetail
{
}
private
String
location
;
private
String
address
;
private
String
brand
;
private
String
date
;
private
String
type
;
private
String
skill
;
}
}
}
project-order/src/main/java/com/dituhui/pea/order/dto/param/OrderDTO.java
View file @
aae7ca0
...
@@ -136,7 +136,7 @@ public class OrderDTO {
...
@@ -136,7 +136,7 @@ public class OrderDTO {
/**
/**
* 是否指定某个工程师/是否排除某个工程师 0:否 1:指定 2:排除 默认0
* 是否指定某个工程师/是否排除某个工程师 0:否 1:指定 2:排除 默认0
*/
*/
private
Integer
isAppointEngineer
;
private
Integer
isAppointEngineer
=
0
;
/**
/**
* 指定某个工程师/排除某个工程师 codes
* 指定某个工程师/排除某个工程师 codes
...
...
project-order/src/main/java/com/dituhui/pea/order/service/impl/DispatchServiceImpl.java
View file @
aae7ca0
...
@@ -391,7 +391,7 @@ public class DispatchServiceImpl implements DispatchService {
...
@@ -391,7 +391,7 @@ public class DispatchServiceImpl implements DispatchService {
item
.
setBeanTags
(
o
.
getBeanTags
());
item
.
setBeanTags
(
o
.
getBeanTags
());
item
.
setIsCutoff
(
o
.
getIsCutoff
());
item
.
setIsCutoff
(
o
.
getIsCutoff
());
item
.
setOrgGroupName
(
groupMap
.
get
(
o
.
getOrgGroupId
()));
item
.
setOrgGroupName
(
groupMap
.
get
(
o
.
getOrgGroupId
()));
if
(
isContinue
&&
StringUtils
.
isNotEmpty
(
o
.
getMultipleOrders
()))
{
if
(
isContinue
&&
StringUtils
.
isNotEmpty
(
o
.
getMultipleOrders
())
&&
!
groupTagId
.
equals
(
OrderGroupEnum
.
five
.
getCode
())
)
{
List
<
OrderInfoEntity
>
byMultipleOrders
=
orderInfoDao
.
findByMultipleOrdersAndOrderIdNot
(
o
.
getMultipleOrders
(),
o
.
getOrderId
());
List
<
OrderInfoEntity
>
byMultipleOrders
=
orderInfoDao
.
findByMultipleOrdersAndOrderIdNot
(
o
.
getMultipleOrders
(),
o
.
getOrderId
());
List
<
DispatchOrderListResp
.
Order
>
multipleItems
=
new
ArrayList
<>();
List
<
DispatchOrderListResp
.
Order
>
multipleItems
=
new
ArrayList
<>();
for
(
OrderInfoEntity
info
:
byMultipleOrders
)
{
for
(
OrderInfoEntity
info
:
byMultipleOrders
)
{
...
@@ -402,8 +402,13 @@ public class DispatchServiceImpl implements DispatchService {
...
@@ -402,8 +402,13 @@ public class DispatchServiceImpl implements DispatchService {
Object
groupkey
=
null
;
Object
groupkey
=
null
;
// 0:工单优先级,1:耗时,2:意向时间,3:分站/网点,4:技能,5:一家多单
// 0:工单优先级,1:耗时,2:意向时间,3:分站/网点,4:技能,5:一家多单
if
(
groupTagId
.
equals
(
OrderGroupEnum
.
zero
.
getCode
())
&&
StringUtils
.
isNotEmpty
(
item
.
getBeanPriority
()))
{
if
(
groupTagId
.
equals
(
OrderGroupEnum
.
zero
.
getCode
())
&&
StringUtils
.
isNotEmpty
(
item
.
getBeanPriority
()))
{
// 分组字段:紧急、正常
// 分组字段:紧急、正常 数据库:1:紧急、0:正常
makeOrderMap
(
groupByMap
,
item
,
item
.
getBeanPriority
());
if
(
item
.
getBeanPriority
().
equals
(
OrderGroupEnum
.
zero
.
getCode
()))
{
groupkey
=
"正常"
;
}
else
{
groupkey
=
"紧急"
;
}
makeOrderMap
(
groupByMap
,
item
,
groupkey
);
}
else
if
(
groupTagId
.
equals
(
OrderGroupEnum
.
one
.
getCode
())
&&
null
!=
item
.
getDuration
())
{
}
else
if
(
groupTagId
.
equals
(
OrderGroupEnum
.
one
.
getCode
())
&&
null
!=
item
.
getDuration
())
{
// - 耗时长短-分组字段:长(60分钟及以上)、中(30-60分钟)、短(30分钟及以内);
// - 耗时长短-分组字段:长(60分钟及以上)、中(30-60分钟)、短(30分钟及以内);
if
(
item
.
getDuration
()
>=
60
)
{
if
(
item
.
getDuration
()
>=
60
)
{
...
...
project-order/src/main/java/com/dituhui/pea/order/service/impl/OrderCreateServiceImpl.java
View file @
aae7ca0
...
@@ -163,7 +163,7 @@ public class OrderCreateServiceImpl implements OrderCreateService {
...
@@ -163,7 +163,7 @@ public class OrderCreateServiceImpl implements OrderCreateService {
// 处理指派工程师
// 处理指派工程师
entity
.
setIsAppointEngineer
(
req
.
getIsAppointEngineer
());
entity
.
setIsAppointEngineer
(
req
.
getIsAppointEngineer
());
String
appointEngineerCodes
=
CollectionUtils
.
isEmpty
(
req
.
getAppointEngineerCodes
())
?
""
:
String
.
join
(
","
,
req
.
getAppointEngineerCodes
());
String
appointEngineerCodes
=
CollectionUtils
.
isEmpty
(
req
.
getAppointEngineerCodes
())
?
null
:
String
.
join
(
","
,
req
.
getAppointEngineerCodes
());
entity
.
setAppointEngineerCodes
(
appointEngineerCodes
);
entity
.
setAppointEngineerCodes
(
appointEngineerCodes
);
if
(
req
.
getIsAppointEngineer
()
==
1
)
{
if
(
req
.
getIsAppointEngineer
()
==
1
)
{
EngineerInfoEntity
engineerInfo
=
engineerInfoDao
.
getByEngineerCode
(
req
.
getAppointEngineerCodes
().
get
(
0
));
EngineerInfoEntity
engineerInfo
=
engineerInfoDao
.
getByEngineerCode
(
req
.
getAppointEngineerCodes
().
get
(
0
));
...
...
project-order/src/main/java/com/dituhui/pea/order/service/impl/OrderInfoServiceImpl.java
View file @
aae7ca0
...
@@ -188,71 +188,6 @@ public class OrderInfoServiceImpl implements OrderInfoService {
...
@@ -188,71 +188,6 @@ public class OrderInfoServiceImpl implements OrderInfoService {
}
}
return
this
.
orderReschedule
(
reschedule
);
return
this
.
orderReschedule
(
reschedule
);
// orderInfo.setServiceStatus(ServiceStatusEnum.INIT.getCode());
// orderInfo.setOrderStatus(OrderStatusEnum.RESCHEDULED.getCode());
// if (StringUtils.isBlank(request.getDescription())) {
// orderInfo.setDescription(request.getDescription());
// }
// Location location = request.getHappenLocation();
// if (ObjectUtil.isNull(location)) {
// location = new Location();
// location.setLongitude(Double.valueOf(orderInfo.getX()));
// location.setLatitude(Double.valueOf(orderInfo.getY()));
// location.setAddress(orderInfo.getAddress());
// location.setAddressId(orderInfo.getAddressId());
// } else {
// orderInfo.setX(location.getLongitude().toString());
// orderInfo.setY(location.getLongitude().toString());
// orderInfo.setAddress(location.getAddress());
// orderInfo.setAddressId(location.getAddressId());
// }
// //获取省市区
// AdministrativeDistrictReq administrativeDistrictReq = new AdministrativeDistrictReq();
// administrativeDistrictReq.setPoints(location.getLongitude() + "," + location.getLatitude());
// Result<AdministrativeDistrictResp> adminDistrict = fendanService.getAdminDistrict(administrativeDistrictReq);
// if (ObjectUtil.isNotEmpty(adminDistrict) && ObjectUtil.isNotEmpty(adminDistrict.getResult())) {
// orderInfo.setProvince(adminDistrict.getResult().getSubNames().getProvince());
// orderInfo.setCity(adminDistrict.getResult().getSubNames().getCity());
// orderInfo.setCounty(adminDistrict.getResult().getSubNames().getCounty());
// }
// // 分单处理
// String peaBrand = CommonUtil.fixBrand(orderInfo.getBrand());
// OrderDTO.OrderCreateRequest req = new OrderDTO.OrderCreateRequest();
// req.setBrand(peaBrand);
// req.setProductType(orderInfo.getType());
// req.setServiceType(orderInfo.getSkill());
// req.setLocation(location);
// Result<OrgTeamInfo> fendanResult = fendanService.fendanToGroupCapacity(req, 1, DateUtil.getLocalDateByDate(request.getNewReservationTime()), null, null);
// String branchId = "";
// String clusterId = "";
// if (!fendanResult.getCode().equals(ResultEnum.SUCCESS.getCode()) || ObjectUtil.isNull(fendanResult.getResult())) {
// OrgBranchEntity branchEntity = orgBranchDao.findByCitycodeListLike("%" + adminDistrict.getResult().getSubNames().getCounty() + "%");
// clusterId = branchEntity.getClusterId();
// branchId = branchEntity.getBranchId();
// sendMsg(branchEntity, orderInfo.getOrderId(), request.getNewReservationTime());
// } else {
// OrgTeamInfo teamInfo = fendanResult.getResult();
// clusterId = teamInfo.getClusterId();
// branchId = teamInfo.getBranchId();
// orderInfo.setOrgGroupId(teamInfo.getGroupId());
// orderInfo.setOrgTeamId(teamInfo.getTeamId());
// }
// orderInfo.setOrgClusterId(clusterId);
// orderInfo.setOrgBranchId(branchId);
// orderInfo.setDt(DateUtil.getLocalDateByDate(request.getNewReservationTime()));
// //一家多单
// Result<String> deleteMultipleOrders = this.deleteMultipleOrders(orderInfo.getMultipleOrders(), orderInfo.getAddressId());
// if (!deleteMultipleOrders.getCode().equals(ResultEnum.SUCCESS.getCode())) {
// return Result.failed("改约日期失败");
// }
// Result<String> addMultipleOrders = this.addMultipleOrders(orderInfo.getDt(), location.getAddressId(), orderInfo.getOrderId());
// if (!addMultipleOrders.getCode().equals(ResultEnum.SUCCESS.getCode())) {
// return Result.failed("改约日期失败");
// }
// orderInfo.setMultipleOrders(addMultipleOrders.getResult());
// orderInfoDao.save(orderInfo);
// //记录流程
// commonService.addOrderEvent(request.getOrderId(), "", "BEAN", "BEAN", OrderStatusEnum.CANCELED.getDescription(), request.getStage(), "", LocalDateTimeUtil.of(request.getHappen()));
}
}
return
Result
.
success
(
null
);
return
Result
.
success
(
null
);
}
}
...
@@ -269,6 +204,9 @@ public class OrderInfoServiceImpl implements OrderInfoService {
...
@@ -269,6 +204,9 @@ public class OrderInfoServiceImpl implements OrderInfoService {
public
Result
<?>
orderReschedule
(
OrderReschedule
req
)
throws
BusinessException
{
public
Result
<?>
orderReschedule
(
OrderReschedule
req
)
throws
BusinessException
{
// 判断是否分配到人和是否是今天
// 判断是否分配到人和是否是今天
LocalDateTime
expectBegin
=
TimeUtils
.
IsoDateTime2LocalDateTime
(
req
.
getExpectBegin
());
LocalDateTime
expectBegin
=
TimeUtils
.
IsoDateTime2LocalDateTime
(
req
.
getExpectBegin
());
if
(
expectBegin
.
isBefore
(
LocalDateTime
.
now
()))
{
return
Result
.
failed
(
StatusCodeEnum
.
ORDER_RESCHEDULE_BEFORE_TIME
);
}
LocalDateTime
expectEnd
=
TimeUtils
.
IsoDateTime2LocalDateTime
(
req
.
getExpectEnd
());
LocalDateTime
expectEnd
=
TimeUtils
.
IsoDateTime2LocalDateTime
(
req
.
getExpectEnd
());
OrderInfoEntity
order
=
orderInfoDao
.
getByOrderId
(
req
.
getOrderId
());
OrderInfoEntity
order
=
orderInfoDao
.
getByOrderId
(
req
.
getOrderId
());
order
.
setDt
(
expectBegin
.
toLocalDate
());
order
.
setDt
(
expectBegin
.
toLocalDate
());
...
...
project-order/src/main/java/com/dituhui/pea/order/service/impl/OrderServiceDetailImpl.java
View file @
aae7ca0
...
@@ -8,6 +8,8 @@ import com.dituhui.pea.order.dto.*;
...
@@ -8,6 +8,8 @@ import com.dituhui.pea.order.dto.*;
import
com.dituhui.pea.order.entity.*
;
import
com.dituhui.pea.order.entity.*
;
import
com.dituhui.pea.order.service.OrderServiceDetail
;
import
com.dituhui.pea.order.service.OrderServiceDetail
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.apache.commons.lang3.StringUtils
;
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
org.springframework.transaction.annotation.Transactional
;
...
@@ -70,7 +72,11 @@ public class OrderServiceDetailImpl implements OrderServiceDetail {
...
@@ -70,7 +72,11 @@ public class OrderServiceDetailImpl implements OrderServiceDetail {
res
.
setIsMultiple
(
order
.
getIsMultiple
());
res
.
setIsMultiple
(
order
.
getIsMultiple
());
res
.
setIsAppointEngineer
(
order
.
getIsAppointEngineer
());
res
.
setIsAppointEngineer
(
order
.
getIsAppointEngineer
());
res
.
setAppointEngineerCodes
(
order
.
getAppointEngineerCodes
());
if
(
StringUtils
.
isNotBlank
(
order
.
getAppointEngineerCodes
()))
{
String
[]
strings
=
order
.
getAppointEngineerCodes
().
split
(
","
);
List
<
EngineerInfoEntity
>
engineerCodeIn
=
engineerInfoDao
.
findByEngineerCodeIn
(
Arrays
.
asList
(
strings
));
res
.
setAppointEngineerCodes
(
CollectionUtils
.
isEmpty
(
engineerCodeIn
)
?
null
:
engineerCodeIn
.
stream
().
collect
(
Collectors
.
toMap
(
EngineerInfoEntity:
:
getEngineerCode
,
EngineerInfoEntity:
:
getName
)));
}
res
.
setBeanPriority
(
order
.
getBeanPriority
());
res
.
setBeanPriority
(
order
.
getBeanPriority
());
res
.
setName
(
order
.
getName
());
res
.
setName
(
order
.
getName
());
res
.
setPhone
(
order
.
getPhone
());
res
.
setPhone
(
order
.
getPhone
());
...
...
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