Commit ac9b8bd1 by 丁伟峰

Merge remote-tracking branch 'origin/develop' into develop

2 parents 69ad5cc7 90b81e12
...@@ -10,12 +10,12 @@ import org.springframework.beans.factory.annotation.Autowired; ...@@ -10,12 +10,12 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.lang.management.PlatformManagedObject;
import java.sql.Timestamp; import java.sql.Timestamp;
import java.time.format.DateTimeFormatter; import java.time.format.DateTimeFormatter;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map;
import java.util.stream.Collectors; import java.util.stream.Collectors;
interface GroupTag { interface GroupTag {
...@@ -62,10 +62,10 @@ public class DispatchServiceImpl implements DispatchService { ...@@ -62,10 +62,10 @@ public class DispatchServiceImpl implements DispatchService {
item.setOrderId(o.getOrderId()); item.setOrderId(o.getOrderId());
item.setCategory(String.format("%s-%s", o.getType(), o.getBrand())); item.setCategory(String.format("%s-%s", o.getType(), o.getBrand()));
item.setSkill(o.getSkill()); item.setSkill(o.getSkill());
item.setRemark(o.getDescription()); item.setRemark(o.getApplyNote());
item.setCustomerName(o.getName()); item.setCustomerName(o.getName());
String description = String.format("%s:%s%s-%s %s:%s", o.getOrderId(), o.getSkill(), String description = String.format("%s:%s%s-%s\n%s:%s", o.getOrderId(), o.getSkill(),
o.getType(), o.getBrand(), o.getName(), o.getAddress()); o.getType(), o.getBrand(), o.getName(), o.getAddress());
item.setDescription(description); item.setDescription(description);
...@@ -94,12 +94,24 @@ public class DispatchServiceImpl implements DispatchService { ...@@ -94,12 +94,24 @@ public class DispatchServiceImpl implements DispatchService {
// 获取groupIds // 获取groupIds
List<String> groupIds = this.queryOrgGroupIds(levelType, levelIds); List<String> groupIds = this.queryOrgGroupIds(levelType, levelIds);
// 获取engineer列表
List<EngineerInfo> engineers = this.queryEngineers(groupIds);
// 获取engineerCodes // 获取engineerCodes
List<String> engineerCodes = this.queryEngineerCodes(groupIds); List<String> engineerCodes = engineers.stream().map(EngineerInfo::getEngineerCode).collect(Collectors.toList());
// 获取技术员订单ID列表
HashMap<String, List<String>> engineerOrders = this.queryEngineerOrderIds(engineerCodes, date);
// 获取订单列表
List<String> orderIds = new ArrayList<>();
// 获取订单列表
List<OrderRequest> orders = this.queryOrderRequestByOrderIds(orderIds);
List<String> orderIds = this.queryOrderAppointmentOrderIds(engineerCodes, date); for (EngineerInfo e : engineers) {
List<OrderRequest> orders = this.queryOrderRequestByOrderId(orderIds); }
return null; return null;
} }
...@@ -125,9 +137,9 @@ public class DispatchServiceImpl implements DispatchService { ...@@ -125,9 +137,9 @@ public class DispatchServiceImpl implements DispatchService {
return orderRequestMPDao.selectList(lqw); return orderRequestMPDao.selectList(lqw);
} }
private List<OrderRequest> queryOrderRequestByOrderId(List<String> orderIds) { private List<OrderRequest> queryOrderRequestByOrderIds(List<String> orderIds) {
List<OrderRequest> orders = new ArrayList<>(); List<OrderRequest> orders = new ArrayList<>();
if (orderIds.isEmpty()){ if (orderIds.isEmpty()) {
return orders; return orders;
} }
LambdaQueryWrapper<OrderRequest> lqw = new LambdaQueryWrapper<>(); LambdaQueryWrapper<OrderRequest> lqw = new LambdaQueryWrapper<>();
...@@ -135,25 +147,36 @@ public class DispatchServiceImpl implements DispatchService { ...@@ -135,25 +147,36 @@ public class DispatchServiceImpl implements DispatchService {
return orderRequestMPDao.selectList(lqw); return orderRequestMPDao.selectList(lqw);
} }
private List<String> queryOrderAppointmentOrderIds(List<String> engineerCodes, String date) { private HashMap<String, List<String>> queryEngineerOrderIds(List<String> engineerCodes, String date) {
// 获取工程师服务单列表 // 获取工程师服务单列表
List<String> orderIds = new ArrayList<>();
HashMap<String, List<String>> map = new HashMap<>();
LambdaQueryWrapper<OrderAppointment> lqw = new LambdaQueryWrapper<>(); LambdaQueryWrapper<OrderAppointment> lqw = new LambdaQueryWrapper<>();
lqw.in(OrderAppointment::getEngineerCode, engineerCodes); lqw.in(OrderAppointment::getEngineerCode, engineerCodes);
lqw.ge(OrderAppointment::getExpectTime, this.getTimestampFromDate(date, "00:00:00")); lqw.ge(OrderAppointment::getExpectTime, this.getTimestampFromDate(date, "00:00:00"));
lqw.le(OrderAppointment::getExpectTime, this.getTimestampFromDate(date, "23:59:59")); lqw.le(OrderAppointment::getExpectTime, this.getTimestampFromDate(date, "23:59:59"));
lqw.select(OrderAppointment::getOrderId); lqw.select(OrderAppointment::getEngineerCode, OrderAppointment::getOrderId);
return orderAppointmentMPDao.selectList(lqw).stream().map(OrderAppointment::getOrderId).collect(Collectors.toList());
List<OrderAppointment> records = orderAppointmentMPDao.selectList(lqw);
Map<String, List<OrderAppointment>> gg = records.stream().collect(Collectors.groupingBy(OrderAppointment::getEngineerCode));
for (String engineerCode : gg.keySet()) {
List<String> orderIds = new ArrayList<>();
for (OrderAppointment o : gg.get(engineerCode)) {
orderIds.add(o.getOrderId());
}
map.put(engineerCode, orderIds);
}
return map;
} }
private List<String> queryEngineerCodes(List<String> groupIds) { private List<EngineerInfo> queryEngineers(List<String> groupIds) {
// 通过groupIds获取技术员列表 // 通过groupIds获取技术员列表
LambdaQueryWrapper<EngineerInfo> lqw = new LambdaQueryWrapper<>(); LambdaQueryWrapper<EngineerInfo> lqw = new LambdaQueryWrapper<>();
lqw.in(EngineerInfo::getGroupId, groupIds); lqw.in(EngineerInfo::getGroupId, groupIds);
lqw.eq(EngineerInfo::getBeanStatus, 1); lqw.eq(EngineerInfo::getBeanStatus, 1);
List<EngineerInfo> engineers = engineerInfoMPDao.selectList(lqw); return engineerInfoMPDao.selectList(lqw);
return engineers.stream().map(EngineerInfo::getEngineerCode).collect(Collectors.toList());
} }
private List<String> queryOrgGroupIds(String levelType, List<String> levelIds) { private List<String> queryOrgGroupIds(String levelType, List<String> levelIds) {
...@@ -176,7 +199,7 @@ public class DispatchServiceImpl implements DispatchService { ...@@ -176,7 +199,7 @@ public class DispatchServiceImpl implements DispatchService {
return map; return map;
} }
public Timestamp getTimestampFromDate(String date, String time){ public Timestamp getTimestampFromDate(String date, String time) {
return Timestamp.valueOf(date + " " + time); return Timestamp.valueOf(date + " " + time);
} }
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!