Commit 5022be8c by chamberone

Merge branch 'develop' of https://zhangguoping@gitlab.dituhui.com/bsh/project/pr…

…oject.git into develop
2 parents 8cdcaaa1 6275f5cc
...@@ -86,8 +86,8 @@ public class OrderAssignImpl implements OrderAssign { ...@@ -86,8 +86,8 @@ public class OrderAssignImpl implements OrderAssign {
item.setDistanceDesc("15.5公里"); item.setDistanceDesc("15.5公里");
item.setTimeDesc("520分钟"); item.setTimeDesc("520分钟");
item.setDesc(String.format("将被插入在第%d单,受此影响原第%d单变化第%d单,第3单将增加5公里路程,比预计晚到30分钟,建议调整;", rr.index + 1, rr.index + 1, rr.index + 2)); item.setDesc(String.format("将被插入在第%d单,受此影响原第%d单变化第%d单,第3单将增加5公里路程,比预计晚到30分钟,建议调整;", rr.index + 1, rr.index + 1, rr.index + 2));
item.setStartTime("08:00"); item.setStartTime(String.format("%s 08:00:00", date));
item.setEndTime("18:00"); item.setEndTime(String.format("%s 18:00:00", date));
item.setOrders(this.packTimelines(orderAppointments, orderTips)); item.setOrders(this.packTimelines(orderAppointments, orderTips));
items.add(item); items.add(item);
...@@ -168,8 +168,8 @@ public class OrderAssignImpl implements OrderAssign { ...@@ -168,8 +168,8 @@ public class OrderAssignImpl implements OrderAssign {
item.setOrderId(order.getOrderId()); item.setOrderId(order.getOrderId());
item.setPreStatus(order.getPreStatus()); item.setPreStatus(order.getPreStatus());
item.setAppointmentStatus(order.getStatus()); item.setAppointmentStatus(order.getStatus());
item.setStartTime(TimeUtils.timestamp2DateTime(order.getExpectStartTime(), "HH:mm")); item.setStartTime(TimeUtils.IsoTimestamp2DateTime(order.getExpectStartTime()));
item.setEndTime(TimeUtils.timestamp2DateTime(order.getExpectEndTime(), "HH:mm")); item.setEndTime(TimeUtils.IsoTimestamp2DateTime(order.getExpectEndTime()));
item.setTips(orderTips.getOrDefault(order.getOrderId(), empty)); item.setTips(orderTips.getOrDefault(order.getOrderId(), empty));
items.add(item); items.add(item);
......
...@@ -315,7 +315,7 @@ public class OrderServiceDetailImpl implements OrderServiceDetail { ...@@ -315,7 +315,7 @@ public class OrderServiceDetailImpl implements OrderServiceDetail {
items.add(this.packOrderItem("服务", order.getSkill())); items.add(this.packOrderItem("服务", order.getSkill()));
items.add(this.packOrderItem("故障描述", order.getFaultDescribe())); items.add(this.packOrderItem("故障描述", order.getFaultDescribe()));
items.add(this.packOrderItem("备注", order.getApplyNote())); items.add(this.packOrderItem("备注", order.getApplyNote()));
items.add(this.packOrderItem("意向时间", "")); items.add(this.packOrderItem("意向时间", TimeUtils.IsoTimestamp2DateTime(order.getExpectTimeBegin())));
items.add(this.packOrderItem("时间要求", order.getExpectTimeDesc())); items.add(this.packOrderItem("时间要求", order.getExpectTimeDesc()));
items.add(this.packOrderItem("预约方式", order.getSource())); items.add(this.packOrderItem("预约方式", order.getSource()));
return items; return items;
......
...@@ -17,6 +17,7 @@ import org.springframework.beans.factory.annotation.Autowired; ...@@ -17,6 +17,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.stream.Collectors; import java.util.stream.Collectors;
...@@ -62,11 +63,12 @@ public class ScheduleServiceImpl implements ScheduleService { ...@@ -62,11 +63,12 @@ public class ScheduleServiceImpl implements ScheduleService {
List<OrderRequest> orders = this.queryOrderRequests(t.getTeamId(), date); List<OrderRequest> orders = this.queryOrderRequests(t.getTeamId(), date);
team.setOrder(this.getTeamOrderSum(orders)); team.setOrder(this.getTeamOrderSum(orders));
List<ScheduleOverviewResp.Item> children = new ArrayList<>(); // 技术员指派单列表
if (orders == null || orders.isEmpty()) { Map<String, List<OrderAppointment>> engineerOrders = new HashMap<>();
team.setChildren(children); if (orders != null && !orders.isEmpty()) {
teams.add(team); List<String> orderRequestIds = orders.stream().map(OrderRequest::getOrderId).collect(Collectors.toList());
continue; List<OrderAppointment> orderAppointments = this.queryOrderAppointments(orderRequestIds, date);
engineerOrders = orderAppointments.stream().collect(Collectors.groupingBy(OrderAppointment::getEngineerCode));
} }
// 获取team技术员列表 // 获取team技术员列表
...@@ -76,16 +78,15 @@ public class ScheduleServiceImpl implements ScheduleService { ...@@ -76,16 +78,15 @@ public class ScheduleServiceImpl implements ScheduleService {
List<EngineerInfo> engineerInfoList = engineerInfoMPDao.selectByGroupId(t.getGroupId()); List<EngineerInfo> engineerInfoList = engineerInfoMPDao.selectByGroupId(t.getGroupId());
Map<String, List<EngineerInfo>> engineers = engineerInfoList.stream().collect(Collectors.groupingBy(EngineerInfo::getEngineerCode)); Map<String, List<EngineerInfo>> engineers = engineerInfoList.stream().collect(Collectors.groupingBy(EngineerInfo::getEngineerCode));
// 获取技术员对应的订单 List<ScheduleOverviewResp.Item> children = new ArrayList<>();
List<String> orderRequestIds = orders.stream().map(OrderRequest::getOrderId).collect(Collectors.toList()); for (Map.Entry<String, List<EngineerInfo>> entry : engineers.entrySet()) {
List<OrderAppointment> orderAppointments = this.queryOrderAppointments(orderRequestIds, date);
Map<String, List<OrderAppointment>> engineerOrders = orderAppointments.stream().collect(Collectors.groupingBy(OrderAppointment::getEngineerCode));
for (Map.Entry<String, List<OrderAppointment>> entry : engineerOrders.entrySet()) {
ScheduleOverviewResp.Item child = new ScheduleOverviewResp.Item(); ScheduleOverviewResp.Item child = new ScheduleOverviewResp.Item();
String engineerCode = entry.getKey(); String engineerCode = entry.getKey();
List<String> orderIds = entry.getValue().stream().map(OrderAppointment::getOrderId).collect(Collectors.toList()); EngineerInfo engineerInfo = entry.getValue().get(0);
List<String> orderIds = engineerOrders.getOrDefault(engineerCode, new ArrayList<>()).stream().map(OrderAppointment::getOrderId).collect(Collectors.toList());
List<OrderRequest> orders2 = new ArrayList<>(); List<OrderRequest> orders2 = new ArrayList<>();
for (OrderRequest o : orders) { for (OrderRequest o : orders) {
...@@ -94,20 +95,16 @@ public class ScheduleServiceImpl implements ScheduleService { ...@@ -94,20 +95,16 @@ public class ScheduleServiceImpl implements ScheduleService {
} }
} }
// 设置技术员姓名 child.setName(engineerInfo.getName());
List<EngineerInfo> es = engineers.get(engineerCode);
if (es == null || es.isEmpty()) {
child.setName(engineerCode);
} else {
child.setName(es.get(0).getName());
}
child.setValue(engineerCode); child.setValue(engineerCode);
child.setLevel("engineer"); child.setLevel("engineer");
child.setOrder(this.getTeamOrderSum(orders2)); child.setOrder(this.getTeamOrderSum(orders2));
child.setOrderDesc(Integer.toString(orders2.size())); child.setOrderDesc(Integer.toString(orders2.size()));
child.setDistanceDesc(""); child.setDistanceDesc("");
children.add(child); children.add(child);
} }
team.setChildren(children); team.setChildren(children);
team.setOrderDesc(String.format("人均:%d", orders.size() / teamEngineers.size())); team.setOrderDesc(String.format("人均:%d", orders.size() / teamEngineers.size()));
...@@ -194,8 +191,8 @@ public class ScheduleServiceImpl implements ScheduleService { ...@@ -194,8 +191,8 @@ public class ScheduleServiceImpl implements ScheduleService {
ScheduleEngineerOverviewResp res = new ScheduleEngineerOverviewResp(); ScheduleEngineerOverviewResp res = new ScheduleEngineerOverviewResp();
res.setTitle(String.format("%s_%s", groupName, engineer.getName())); res.setTitle(String.format("%s_%s", groupName, engineer.getName()));
res.setEngineerCode(engineerCode); res.setEngineerCode(engineerCode);
res.setStartTime("08:00"); // TODO res.setStartTime(String.format("%s 08:00:00", date)); // TODO
res.setEndTime("18:00"); res.setEndTime(String.format("%s 18:00:00", date));
res.setDynamics(dynamics); res.setDynamics(dynamics);
res.setOrders(timelines); res.setOrders(timelines);
res.setOrderDetails(orders); res.setOrderDetails(orders);
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!