Commit ddea0d2f by 刘鑫

Merge branch 'develop' of https://gitlab.dituhui.com/bsh/project/project into develop-16542

2 parents c9178d67 b7740ecd
...@@ -36,5 +36,7 @@ public interface OrderInfoDao extends JpaRepository<OrderInfoEntity, Long>, JpaS ...@@ -36,5 +36,7 @@ public interface OrderInfoDao extends JpaRepository<OrderInfoEntity, Long>, JpaS
List<OrderInfoEntity> findByDtAndAddressId(LocalDate dt, String addressId); List<OrderInfoEntity> findByDtAndAddressId(LocalDate dt, String addressId);
List<OrderInfoEntity> findByMultipleOrdersAndOrderIdNot(String multipleOrders, String orderId);
List<OrderInfoEntity> findByMultipleOrders(String multipleOrders); List<OrderInfoEntity> findByMultipleOrders(String multipleOrders);
} }
package com.dituhui.pea.order.enums; package com.dituhui.pea.order.enums;
public enum OrderGroupEnum { public enum OrderGroupEnum {
// 0:工单优先级,1:耗时,2:意向时间,3:分站/网点,4:技能,5:一家多单
zero("0"), zero("0"),
one("1"), one("1"),
......
...@@ -253,7 +253,7 @@ public class DispatchServiceImpl implements DispatchService { ...@@ -253,7 +253,7 @@ public class DispatchServiceImpl implements DispatchService {
item.setBeanPriority(o.getBeanPriority()); item.setBeanPriority(o.getBeanPriority());
item.setIsSpecialTime(o.getIsSpecialTime()); item.setIsSpecialTime(o.getIsSpecialTime());
if (isContinue && StringUtils.isNotEmpty(o.getMultipleOrders())) { if (isContinue && StringUtils.isNotEmpty(o.getMultipleOrders())) {
List<OrderInfoEntity> byMultipleOrders = orderInfoDao.findByMultipleOrders(o.getMultipleOrders()); List<OrderInfoEntity> byMultipleOrders = orderInfoDao.findByMultipleOrdersAndOrderIdNot(o.getMultipleOrders(), o.getOrderId());
List<DispatchEngineerOrderListResp.OrderInfo> multipleItems = new ArrayList<>(); List<DispatchEngineerOrderListResp.OrderInfo> multipleItems = new ArrayList<>();
for (OrderInfoEntity info : byMultipleOrders) { for (OrderInfoEntity info : byMultipleOrders) {
addOrderToItems(info, multipleItems, skillInfo, false); addOrderToItems(info, multipleItems, skillInfo, false);
...@@ -390,19 +390,36 @@ public class DispatchServiceImpl implements DispatchService { ...@@ -390,19 +390,36 @@ public class DispatchServiceImpl implements DispatchService {
item.setIsSpecialTime(o.getIsSpecialTime()); item.setIsSpecialTime(o.getIsSpecialTime());
item.setOrgGroupName(groupMap.get(o.getOrgGroupId())); item.setOrgGroupName(groupMap.get(o.getOrgGroupId()));
if (isContinue && StringUtils.isNotEmpty(o.getMultipleOrders())) { if (isContinue && StringUtils.isNotEmpty(o.getMultipleOrders())) {
List<OrderInfoEntity> byMultipleOrders = orderInfoDao.findByMultipleOrders(o.getMultipleOrders()); 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) {
multipleItems.add(orderItemByOrderInfo(info, skillInfo, false, groupMap, groupByMap, groupTagId)); multipleItems.add(orderItemByOrderInfo(info, skillInfo, false, groupMap, groupByMap, groupTagId));
} }
item.setMultipleOrderList(multipleItems); item.setMultipleOrderList(multipleItems);
} }
Object groupkey = null;
// 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())) {
// 分组字段:紧急、正常
makeOrderMap(groupByMap, item, item.getBeanPriority()); makeOrderMap(groupByMap, item, item.getBeanPriority());
} else if (groupTagId.equals(OrderGroupEnum.one.getCode()) && null != item.getDuration()) { } else if (groupTagId.equals(OrderGroupEnum.one.getCode()) && null != item.getDuration()) {
makeOrderMap(groupByMap, item, item.getDuration()); // - 耗时长短-分组字段:长(60分钟及以上)、中(30-60分钟)、短(30分钟及以内);
if (item.getDuration() >= 60) {
groupkey = "长";
} else if (item.getDuration() <= 30) {
groupkey = "短";
} else {
groupkey = "中";
}
makeOrderMap(groupByMap, item, groupkey);
} else if (groupTagId.equals(OrderGroupEnum.two.getCode()) && StringUtils.isNotEmpty(item.getExpectTimeDesc())) { } else if (groupTagId.equals(OrderGroupEnum.two.getCode()) && StringUtils.isNotEmpty(item.getExpectTimeDesc())) {
makeOrderMap(groupByMap, item, item.getExpectTimeDesc()); // - 客户意向时间-分组字段:上午、下午、晚间、其他。
if (!item.getExpectTimeDesc().equals("上午") && !item.getExpectTimeDesc().equals("下午") && !item.getExpectTimeDesc().equals("晚间")) {
groupkey = "其他";
} else {
groupkey = item.getExpectTimeDesc();
}
makeOrderMap(groupByMap, item, groupkey);
} else if (groupTagId.equals(OrderGroupEnum.three.getCode()) && StringUtils.isNotEmpty(item.getOrgGroupName())) { } else if (groupTagId.equals(OrderGroupEnum.three.getCode()) && StringUtils.isNotEmpty(item.getOrgGroupName())) {
makeOrderMap(groupByMap, item, item.getOrgGroupName()); makeOrderMap(groupByMap, item, item.getOrgGroupName());
} else if (groupTagId.equals(OrderGroupEnum.four.getCode()) && StringUtils.isNotEmpty(item.getSkill())) { } else if (groupTagId.equals(OrderGroupEnum.four.getCode()) && StringUtils.isNotEmpty(item.getSkill())) {
...@@ -410,7 +427,7 @@ public class DispatchServiceImpl implements DispatchService { ...@@ -410,7 +427,7 @@ public class DispatchServiceImpl implements DispatchService {
} else if (groupTagId.equals(OrderGroupEnum.five.getCode()) && StringUtils.isNotEmpty(item.getMultipleOrders())) { } else if (groupTagId.equals(OrderGroupEnum.five.getCode()) && StringUtils.isNotEmpty(item.getMultipleOrders())) {
makeOrderMap(groupByMap, item, item.getMultipleOrders()); makeOrderMap(groupByMap, item, item.getMultipleOrders());
} else { } else {
makeOrderMap(groupByMap, item, "默认分类"); makeOrderMap(groupByMap, item, "其他");
} }
return item; return item;
} }
......
...@@ -25,9 +25,9 @@ import com.dituhui.pea.order.dao.*; ...@@ -25,9 +25,9 @@ import com.dituhui.pea.order.dao.*;
import com.dituhui.pea.order.dto.*; import com.dituhui.pea.order.dto.*;
import com.dituhui.pea.order.dto.param.Location; import com.dituhui.pea.order.dto.param.Location;
import com.dituhui.pea.order.dto.param.OrderDTO; import com.dituhui.pea.order.dto.param.OrderDTO;
import com.dituhui.pea.order.dto.param.OrgGroupInfo;
import com.dituhui.pea.order.dto.param.OrgTeamInfo; import com.dituhui.pea.order.dto.param.OrgTeamInfo;
import com.dituhui.pea.order.entity.*; import com.dituhui.pea.order.entity.*;
import com.dituhui.pea.order.enums.AppointmentStatus;
import com.dituhui.pea.order.enums.OrderFlowEnum; import com.dituhui.pea.order.enums.OrderFlowEnum;
import com.dituhui.pea.order.enums.OrderStatusEnum; import com.dituhui.pea.order.enums.OrderStatusEnum;
import com.dituhui.pea.order.service.*; import com.dituhui.pea.order.service.*;
...@@ -147,6 +147,7 @@ public class OrderCreateServiceImpl implements OrderCreateService { ...@@ -147,6 +147,7 @@ public class OrderCreateServiceImpl implements OrderCreateService {
//先处理时间,后面用 //先处理时间,后面用
entity.setExpectTimeBegin(DateUtil.fromDate(req.getExpectBegin())); entity.setExpectTimeBegin(DateUtil.fromDate(req.getExpectBegin()));
entity.setExpectTimeEnd(DateUtil.fromDate(req.getExpectEnd())); entity.setExpectTimeEnd(DateUtil.fromDate(req.getExpectEnd()));
entity.setAppointmentStatus(AppointmentStatus.INTI.getDescription());
//获取省市区 //获取省市区
AdministrativeDistrictReq administrativeDistrictReq = new AdministrativeDistrictReq(); AdministrativeDistrictReq administrativeDistrictReq = new AdministrativeDistrictReq();
administrativeDistrictReq.setPoints(location.getLongitude() + "," + location.getLatitude()); administrativeDistrictReq.setPoints(location.getLongitude() + "," + location.getLatitude());
...@@ -178,6 +179,7 @@ public class OrderCreateServiceImpl implements OrderCreateService { ...@@ -178,6 +179,7 @@ public class OrderCreateServiceImpl implements OrderCreateService {
entity.setOrgBranchId(teamInfo.getBranchId()); entity.setOrgBranchId(teamInfo.getBranchId());
entity.setOrgGroupId(teamInfo.getGroupId()); entity.setOrgGroupId(teamInfo.getGroupId());
entity.setOrgTeamId(teamInfo.getTeamId()); entity.setOrgTeamId(teamInfo.getTeamId());
entity.setAppointmentStatus(AppointmentStatus.PRE.getDescription());
//处理超派,特殊时间段 //处理超派,特殊时间段
entity.setIsSpecialTime(CommonUtil.isSpecial(entity.getExpectTimeBegin().toLocalTime(), entity.setIsSpecialTime(CommonUtil.isSpecial(entity.getExpectTimeBegin().toLocalTime(),
entity.getExpectTimeEnd().toLocalTime(), teamInfo.getWorkOn(), teamInfo.getWorkOff())); entity.getExpectTimeEnd().toLocalTime(), teamInfo.getWorkOn(), teamInfo.getWorkOff()));
...@@ -206,7 +208,6 @@ public class OrderCreateServiceImpl implements OrderCreateService { ...@@ -206,7 +208,6 @@ public class OrderCreateServiceImpl implements OrderCreateService {
entity.setAppointmentStatus(OrderFlowEnum.INIT.name()); entity.setAppointmentStatus(OrderFlowEnum.INIT.name());
entity.setBeanStatus("OPEN"); entity.setBeanStatus("OPEN");
entity.setBeanSubStatus(""); entity.setBeanSubStatus("");
entity.setAppointmentStatus("NOT_ASSIGNED");
entity.setAppointmentMethod("AUTO_NOW"); entity.setAppointmentMethod("AUTO_NOW");
entity.setWorkshop(false); entity.setWorkshop(false);
......
...@@ -157,7 +157,7 @@ public class OrderServiceListServiceImpl implements OrderServiceListService { ...@@ -157,7 +157,7 @@ public class OrderServiceListServiceImpl implements OrderServiceListService {
record.setTranscend(o.getTranscend()); record.setTranscend(o.getTranscend());
record.setIsSpecialTime(o.getIsSpecialTime()); record.setIsSpecialTime(o.getIsSpecialTime());
if (StringUtils.isNotEmpty(o.getMultipleOrders())) { if (StringUtils.isNotEmpty(o.getMultipleOrders())) {
List<OrderInfoEntity> byMultipleOrders = orderInfoDao.findByMultipleOrders(o.getMultipleOrders()); List<OrderInfoEntity> byMultipleOrders = orderInfoDao.findByMultipleOrdersAndOrderIdNot(o.getMultipleOrders(), o.getOrderId());
List<OrderServiceList> multipleItems = new ArrayList<>(); List<OrderServiceList> multipleItems = new ArrayList<>();
for (OrderInfoEntity info : byMultipleOrders) { for (OrderInfoEntity info : byMultipleOrders) {
multipleItems.add(toMultipleOrders(info, branchNames, engineerNames)); multipleItems.add(toMultipleOrders(info, branchNames, engineerNames));
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!