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;
@Data
public class ScheduleEngineerOverviewResp {
private String title;
//private String title;
private String engineerCode;
private String startTime;
private String endTime;
private List<LabelValueDTO> dynamics;
//private List<LabelValueDTO> dynamics;
private ScheduleEngineerOverviewDynamics dynamics;
private List<TimeLineDTO> orders;
private List<Order> orderDetails;
......
......@@ -196,27 +196,30 @@ public class ScheduleServiceImpl implements ScheduleService {
List<OrderInfoEntity> empty = new ArrayList<>();
Integer countPending = statusGroup.getOrDefault("INIT", empty).size() + statusGroup.getOrDefault("CONTACTED", empty).size() + statusGroup.getOrDefault("PENDING", empty).size();
List<LabelValueDTO> dynamics = new ArrayList<>();
dynamics.add(new LabelValueDTO("姓名", engineer.getName()));
dynamics.add(new LabelValueDTO("日期", TimeUtils.IsoLocalDate2String(date)));
dynamics.add(new LabelValueDTO("状态", "上班"));
dynamics.add(new LabelValueDTO("总单数", orderAppointments.size() + ""));
dynamics.add(new LabelValueDTO("待服务", Integer.toString(countPending)));
dynamics.add(new LabelValueDTO("服务中", Integer.toString(statusGroup.getOrDefault("STARTED", empty).size())));
dynamics.add(new LabelValueDTO("已完成", Integer.toString(statusGroup.getOrDefault("FINISHED", empty).size())));
dynamics.add(new LabelValueDTO("已取消", Integer.toString(statusGroup.getOrDefault("CANCELED", empty).size())));
dynamics.add(new LabelValueDTO("已改约", Integer.toString(statusGroup.getOrDefault("RESCHEDULED", empty).size())));
dynamics.add(new LabelValueDTO("在途总耗时", new BigDecimal(sumElapsed)
ScheduleEngineerOverviewDynamics dynamics = new ScheduleEngineerOverviewDynamics();
dynamics.setName(engineer.getName());
dynamics.setEngineerCode(engineer.getEngineerCode());
dynamics.setPhone(engineer.getPhone());
dynamics.setGrade(engineer.getGrade());
dynamics.setDate(TimeUtils.IsoLocalDate2String(date));
dynamics.setStatus("上班");
dynamics.setOrderCount(orderAppointments.size());
dynamics.setToServiceCount(countPending);
dynamics.setInServiceCount(statusGroup.getOrDefault("STARTED", empty).size());
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)
.stripTrailingZeros()
+ "时"));
dynamics.add(new LabelValueDTO("在途总里程数", sumDistance + "公里"));
+ "时");
dynamics.setRoadTotalDistance(sumDistance + "公里");
if (Objects.nonNull(engineerBusinessEntity)) {
dynamics.add(new LabelValueDTO("工作时间", engineerBusinessEntity.getWorkOn() + "-" + engineerBusinessEntity.getWorkOff()));
dynamics.setWorkTime(engineerBusinessEntity.getWorkOn() + "-" + engineerBusinessEntity.getWorkOff());
} 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<OrderInfoEntity> orderRequests = new ArrayList<>();
......@@ -267,13 +270,13 @@ public class ScheduleServiceImpl implements ScheduleService {
}
ScheduleEngineerOverviewResp res = new ScheduleEngineerOverviewResp();
res.setTitle(String.format("%s_%s_%s_%s_%s", groupName,
engineer.getName(),
engineer.getEngineerCode(),
engineer.getPhone(),
engineer.getGrade()));
// res.setTitle(String.format("%s_%s_%s_%s_%s", groupName,
// engineer.getName(),
// engineer.getEngineerCode(),
// engineer.getPhone(),
// engineer.getGrade()));
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.setDynamics(dynamics);
res.setOrders(timelines);
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!