Commit 37029958 by Ren Ping

fix:排班结果工程师详情修改

1 parent d9b4a449
package com.dituhui.pea.order.dto;
import lombok.Data;
@Data
public class ScheduleEngineerOverviewDynamics {
/**
* 姓名
*/
private String name;
/**
* 工程师工号
*/
private String engineerCode;
/**
* 手机号码
*/
private String phone;
/**
* 职级,c2,c1...
*/
private String grade;
/**
* 日期
*/
private String date;
/**
* 状态
*/
private String status;
/**
* 总单数
*/
private Integer orderCount;
/**
* 待服务数量
*/
private Integer toServiceCount;
/**
* 服务中数量
*/
private Integer inServiceCount;
/**
* 已完成数量
*/
private Integer finishedCount;
/**
* 已取消数量
*/
private Integer canceledCount;
/**
* 已改约数量
*/
private Integer rescheduledCount;
/**
* 在途总耗时
*/
private String roadTotalElapsedTime;
/**
* 在途里程数
*/
private String roadTotalDistance;
/**
* 工作时间
*/
private String workTime;
/**
* 交通工具
*/
private String vehicleName;
}
...@@ -6,11 +6,12 @@ import java.util.List; ...@@ -6,11 +6,12 @@ import java.util.List;
@Data @Data
public class ScheduleEngineerOverviewResp { public class ScheduleEngineerOverviewResp {
private String title; //private String title;
private String engineerCode; private String engineerCode;
private String startTime; private String startTime;
private String endTime; private String endTime;
private List<LabelValueDTO> dynamics; //private List<LabelValueDTO> dynamics;
private ScheduleEngineerOverviewDynamics dynamics;
private List<TimeLineDTO> orders; private List<TimeLineDTO> orders;
private List<Order> orderDetails; private List<Order> orderDetails;
......
...@@ -196,27 +196,30 @@ public class ScheduleServiceImpl implements ScheduleService { ...@@ -196,27 +196,30 @@ public class ScheduleServiceImpl implements ScheduleService {
List<OrderInfoEntity> empty = new ArrayList<>(); List<OrderInfoEntity> empty = new ArrayList<>();
Integer countPending = statusGroup.getOrDefault("INIT", empty).size() + statusGroup.getOrDefault("CONTACTED", empty).size() + statusGroup.getOrDefault("PENDING", empty).size(); Integer countPending = statusGroup.getOrDefault("INIT", empty).size() + statusGroup.getOrDefault("CONTACTED", empty).size() + statusGroup.getOrDefault("PENDING", empty).size();
List<LabelValueDTO> dynamics = new ArrayList<>(); ScheduleEngineerOverviewDynamics dynamics = new ScheduleEngineerOverviewDynamics();
dynamics.add(new LabelValueDTO("姓名", engineer.getName())); dynamics.setName(engineer.getName());
dynamics.add(new LabelValueDTO("日期", TimeUtils.IsoLocalDate2String(date))); dynamics.setEngineerCode(engineer.getEngineerCode());
dynamics.add(new LabelValueDTO("状态", "上班")); dynamics.setPhone(engineer.getPhone());
dynamics.add(new LabelValueDTO("总单数", orderAppointments.size() + "")); dynamics.setGrade(engineer.getGrade());
dynamics.add(new LabelValueDTO("待服务", Integer.toString(countPending))); dynamics.setDate(TimeUtils.IsoLocalDate2String(date));
dynamics.add(new LabelValueDTO("服务中", Integer.toString(statusGroup.getOrDefault("STARTED", empty).size()))); dynamics.setStatus("上班");
dynamics.add(new LabelValueDTO("已完成", Integer.toString(statusGroup.getOrDefault("FINISHED", empty).size()))); dynamics.setOrderCount(orderAppointments.size());
dynamics.add(new LabelValueDTO("已取消", Integer.toString(statusGroup.getOrDefault("CANCELED", empty).size()))); dynamics.setToServiceCount(countPending);
dynamics.add(new LabelValueDTO("已改约", Integer.toString(statusGroup.getOrDefault("RESCHEDULED", empty).size()))); dynamics.setInServiceCount(statusGroup.getOrDefault("STARTED", empty).size());
dynamics.add(new LabelValueDTO("在途总耗时", new BigDecimal(sumElapsed) dynamics.setFinishedCount(statusGroup.getOrDefault("FINISHED", empty).size());
dynamics.setCanceledCount(statusGroup.getOrDefault("CANCELED", empty).size());
dynamics.setRescheduledCount(statusGroup.getOrDefault("RESCHEDULED", empty).size());
dynamics.setRoadTotalElapsedTime(new BigDecimal(sumElapsed)
.divide(new BigDecimal(60), 2, RoundingMode.HALF_UP) .divide(new BigDecimal(60), 2, RoundingMode.HALF_UP)
.stripTrailingZeros() .stripTrailingZeros()
+ "时")); + "时");
dynamics.add(new LabelValueDTO("在途总里程数", sumDistance + "公里")); dynamics.setRoadTotalDistance(sumDistance + "公里");
if (Objects.nonNull(engineerBusinessEntity)) { if (Objects.nonNull(engineerBusinessEntity)) {
dynamics.add(new LabelValueDTO("工作时间", engineerBusinessEntity.getWorkOn() + "-" + engineerBusinessEntity.getWorkOff())); dynamics.setWorkTime(engineerBusinessEntity.getWorkOn() + "-" + engineerBusinessEntity.getWorkOff());
} else { } else {
dynamics.add(new LabelValueDTO("工作时间", "08:00-18:00")); dynamics.setWorkTime("08:00-18:00");
} }
dynamics.add(new LabelValueDTO("交通工具", VehicleEnum.getNameByValue(engineer.getVehicle()))); dynamics.setVehicleName(VehicleEnum.getNameByValue(engineer.getVehicle()));
List<String> orderIds = orderAppointments.stream().map(OrderInfoEntity::getOrderId).collect(Collectors.toList()); List<String> orderIds = orderAppointments.stream().map(OrderInfoEntity::getOrderId).collect(Collectors.toList());
List<OrderInfoEntity> orderRequests = new ArrayList<>(); List<OrderInfoEntity> orderRequests = new ArrayList<>();
...@@ -267,13 +270,13 @@ public class ScheduleServiceImpl implements ScheduleService { ...@@ -267,13 +270,13 @@ public class ScheduleServiceImpl implements ScheduleService {
} }
ScheduleEngineerOverviewResp res = new ScheduleEngineerOverviewResp(); ScheduleEngineerOverviewResp res = new ScheduleEngineerOverviewResp();
res.setTitle(String.format("%s_%s_%s_%s_%s", groupName, // res.setTitle(String.format("%s_%s_%s_%s_%s", groupName,
engineer.getName(), // engineer.getName(),
engineer.getEngineerCode(), // engineer.getEngineerCode(),
engineer.getPhone(), // engineer.getPhone(),
engineer.getGrade())); // engineer.getGrade()));
res.setEngineerCode(engineerCode); res.setEngineerCode(engineerCode);
res.setStartTime(String.format("%s 08:00:00", date)); // TODO res.setStartTime(String.format("%s 08:00:00", date));
res.setEndTime(String.format("%s 18:00:00", date)); res.setEndTime(String.format("%s 18:00:00", date));
res.setDynamics(dynamics); res.setDynamics(dynamics);
res.setOrders(timelines); res.setOrders(timelines);
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!