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
List<OrderInfoEntity> findByDtAndAddressId(LocalDate dt, String addressId);
List<OrderInfoEntity> findByMultipleOrdersAndOrderIdNot(String multipleOrders, String orderId);
List<OrderInfoEntity> findByMultipleOrders(String multipleOrders);
}
package com.dituhui.pea.order.enums;
public enum OrderGroupEnum {
// 0:工单优先级,1:耗时,2:意向时间,3:分站/网点,4:技能,5:一家多单
zero("0"),
one("1"),
......
......@@ -253,7 +253,7 @@ public class DispatchServiceImpl implements DispatchService {
item.setBeanPriority(o.getBeanPriority());
item.setIsSpecialTime(o.getIsSpecialTime());
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<>();
for (OrderInfoEntity info : byMultipleOrders) {
addOrderToItems(info, multipleItems, skillInfo, false);
......@@ -390,19 +390,36 @@ public class DispatchServiceImpl implements DispatchService {
item.setIsSpecialTime(o.getIsSpecialTime());
item.setOrgGroupName(groupMap.get(o.getOrgGroupId()));
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<>();
for (OrderInfoEntity info : byMultipleOrders) {
multipleItems.add(orderItemByOrderInfo(info, skillInfo, false, groupMap, groupByMap, groupTagId));
}
item.setMultipleOrderList(multipleItems);
}
Object groupkey = null;
// 0:工单优先级,1:耗时,2:意向时间,3:分站/网点,4:技能,5:一家多单
if (groupTagId.equals(OrderGroupEnum.zero.getCode()) && StringUtils.isNotEmpty(item.getBeanPriority())) {
// 分组字段:紧急、正常
makeOrderMap(groupByMap, item, item.getBeanPriority());
} 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())) {
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())) {
makeOrderMap(groupByMap, item, item.getOrgGroupName());
} else if (groupTagId.equals(OrderGroupEnum.four.getCode()) && StringUtils.isNotEmpty(item.getSkill())) {
......@@ -410,7 +427,7 @@ public class DispatchServiceImpl implements DispatchService {
} else if (groupTagId.equals(OrderGroupEnum.five.getCode()) && StringUtils.isNotEmpty(item.getMultipleOrders())) {
makeOrderMap(groupByMap, item, item.getMultipleOrders());
} else {
makeOrderMap(groupByMap, item, "默认分类");
makeOrderMap(groupByMap, item, "其他");
}
return item;
}
......
......@@ -25,9 +25,9 @@ import com.dituhui.pea.order.dao.*;
import com.dituhui.pea.order.dto.*;
import com.dituhui.pea.order.dto.param.Location;
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.entity.*;
import com.dituhui.pea.order.enums.AppointmentStatus;
import com.dituhui.pea.order.enums.OrderFlowEnum;
import com.dituhui.pea.order.enums.OrderStatusEnum;
import com.dituhui.pea.order.service.*;
......@@ -147,6 +147,7 @@ public class OrderCreateServiceImpl implements OrderCreateService {
//先处理时间,后面用
entity.setExpectTimeBegin(DateUtil.fromDate(req.getExpectBegin()));
entity.setExpectTimeEnd(DateUtil.fromDate(req.getExpectEnd()));
entity.setAppointmentStatus(AppointmentStatus.INTI.getDescription());
//获取省市区
AdministrativeDistrictReq administrativeDistrictReq = new AdministrativeDistrictReq();
administrativeDistrictReq.setPoints(location.getLongitude() + "," + location.getLatitude());
......@@ -178,6 +179,7 @@ public class OrderCreateServiceImpl implements OrderCreateService {
entity.setOrgBranchId(teamInfo.getBranchId());
entity.setOrgGroupId(teamInfo.getGroupId());
entity.setOrgTeamId(teamInfo.getTeamId());
entity.setAppointmentStatus(AppointmentStatus.PRE.getDescription());
//处理超派,特殊时间段
entity.setIsSpecialTime(CommonUtil.isSpecial(entity.getExpectTimeBegin().toLocalTime(),
entity.getExpectTimeEnd().toLocalTime(), teamInfo.getWorkOn(), teamInfo.getWorkOff()));
......@@ -206,7 +208,6 @@ public class OrderCreateServiceImpl implements OrderCreateService {
entity.setAppointmentStatus(OrderFlowEnum.INIT.name());
entity.setBeanStatus("OPEN");
entity.setBeanSubStatus("");
entity.setAppointmentStatus("NOT_ASSIGNED");
entity.setAppointmentMethod("AUTO_NOW");
entity.setWorkshop(false);
......
......@@ -157,7 +157,7 @@ public class OrderServiceListServiceImpl implements OrderServiceListService {
record.setTranscend(o.getTranscend());
record.setIsSpecialTime(o.getIsSpecialTime());
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<>();
for (OrderInfoEntity info : byMultipleOrders) {
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!