|
|
@@ -536,28 +536,77 @@ public class LogisticsConsignmentService {
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
- * 销售订单-采购订单-获取托运订单数据
|
|
|
+ * 采购订单-获取托运订单数据
|
|
|
*
|
|
|
- * @param id 销售订单id
|
|
|
+ * @param ids 销售订单ids
|
|
|
* @param page 当前页
|
|
|
* @param pageSize 每页条数
|
|
|
* @param type 属于采购(1)还是销售(2)
|
|
|
* @return
|
|
|
*/
|
|
|
- public HttpResult logisticsOrder(String id, Integer page, Integer pageSize, String type) {
|
|
|
+ public HttpResult logisticsOrder(String ids, Integer page, Integer pageSize, String type) {
|
|
|
HttpResult httpResult = new HttpResult();
|
|
|
if (String.valueOf(NumberConstant.ONE).equals(type)) {
|
|
|
//采购
|
|
|
- httpResult = logisticsOrderList(id, page, pageSize, type);
|
|
|
+ httpResult = logisticsOrderList(ids, page, pageSize, type);
|
|
|
} else if (String.valueOf(NumberConstant.TWO).equals(type)) {
|
|
|
//销售
|
|
|
- httpResult = logisticsOrderList(id, page, pageSize, type);
|
|
|
+ httpResult = logisticsSellOrderList(ids, page, pageSize, type);
|
|
|
} else {
|
|
|
return HttpResult.error("单据类型错误");
|
|
|
}
|
|
|
return httpResult;
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 销售订单-获取托运订单数据
|
|
|
+ *
|
|
|
+ * @param ids
|
|
|
+ * @param page
|
|
|
+ * @param pageSize
|
|
|
+ * @param type
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ private HttpResult logisticsSellOrderList(String ids, Integer page, Integer pageSize, String type) {
|
|
|
+ List<String> stringList = StringUtils.splitStrToList(ids, String.class);
|
|
|
+ if (CollectionUtils.isEmpty(stringList)) {
|
|
|
+ return HttpResult.ok();
|
|
|
+ }
|
|
|
+ List<LogisticsOrderDTO> returnList = new ArrayList<>();
|
|
|
+ for (String id : stringList) {
|
|
|
+ OrderDetailRes orderDetailRes = tradeOrderInfoService.getOrderDetailById(Long.parseLong(id));
|
|
|
+ /**
|
|
|
+ * 1销售展示是供应配送 0采购展示是采购自提
|
|
|
+ * 根据提货方式(1供应配送/0采购自提)
|
|
|
+ * 决定托运数据是否展示
|
|
|
+ *
|
|
|
+ */
|
|
|
+ boolean flag = false;
|
|
|
+ if (String.valueOf(NumberConstant.ONE).equals(orderDetailRes.getPickupType())) {
|
|
|
+ flag = true;
|
|
|
+ }
|
|
|
+ List<LogisticsOrderDTO> list = new ArrayList<>();
|
|
|
+ if (flag) {
|
|
|
+ /**数据展示*/
|
|
|
+ list = kwtLogisticsOrderMapper.selectOrderListNotPage(id, type);
|
|
|
+ if (CollectionUtils.isNotEmpty(list)) {
|
|
|
+ for (LogisticsOrderDTO logisticsOrderDTO : list) {
|
|
|
+ logisticsOrderDTO.setStatus(LogisticsOrderEnum.getDestination(logisticsOrderDTO.getStatus()));
|
|
|
+ }
|
|
|
+ returnList.addAll(list);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ /**基于多个传递数据查询->手动分页*/
|
|
|
+ List<LogisticsOrderDTO> subList = new ArrayList<>();
|
|
|
+ if (CollectionUtils.isNotEmpty(returnList)) {
|
|
|
+ subList = returnList.stream().skip((page - 1) * pageSize).limit(pageSize).collect(Collectors.toList());
|
|
|
+ }
|
|
|
+
|
|
|
+ PageResult build = PageResult.build(page, pageSize, returnList.stream().count(), subList);
|
|
|
+ return HttpResult.ok(build);
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 采购订单/销售订单-托运订单列表-下方数据统计
|
|
|
*
|
|
|
@@ -601,37 +650,49 @@ public class LogisticsConsignmentService {
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
- * 销售订单-采购订单-获取托运订单数据
|
|
|
+ * 采购订单-获取托运订单数据
|
|
|
*
|
|
|
- * @param id 销售订单id
|
|
|
+ * @param ids 销售订单id
|
|
|
* @param page 当前页
|
|
|
* @param pageSize 每页条数
|
|
|
* @param type 属于采购(1)还是销售(2)
|
|
|
* @return
|
|
|
*/
|
|
|
- private HttpResult logisticsOrderList(String id, Integer page, Integer pageSize, String type) {
|
|
|
- OrderDetailRes orderDetailRes = tradeOrderInfoService.getOrderDetailById(Long.parseLong(id));
|
|
|
- /**根据下单方式(代客下单/自主下单)决定托运数据是否展示*/
|
|
|
- boolean flag = false;
|
|
|
- if (String.valueOf(NumberConstant.ONE).equals(orderDetailRes.getSource())) {
|
|
|
- flag = true;
|
|
|
- } else if (String.valueOf(NumberConstant.TWO).equals(orderDetailRes.getSource())) {
|
|
|
- flag = true;
|
|
|
- } else {
|
|
|
- throw new RuntimeException("获取贸易订单下单方式异常!");
|
|
|
+ private HttpResult logisticsOrderList(String ids, Integer page, Integer pageSize, String type) {
|
|
|
+ List<String> stringList = StringUtils.splitStrToList(ids, String.class);
|
|
|
+ if (CollectionUtils.isEmpty(stringList)) {
|
|
|
+ return HttpResult.ok();
|
|
|
}
|
|
|
- List<LogisticsOrderDTO> list = new ArrayList<>();
|
|
|
- PageResult build = PageResult.build(page, pageSize, 0L, list);
|
|
|
- if (flag) {
|
|
|
- /**数据展示*/
|
|
|
- Long count = getLogisticsOrderCount(id, type);
|
|
|
- Integer newPage = page - 1;
|
|
|
- list = getLogisticsOrderData(id, newPage, pageSize, type);
|
|
|
- for (LogisticsOrderDTO logisticsOrderDTO : list) {
|
|
|
- logisticsOrderDTO.setStatus(LogisticsOrderEnum.getDestination(logisticsOrderDTO.getStatus()));
|
|
|
+ List<LogisticsOrderDTO> returnList = new ArrayList<>();
|
|
|
+ for (String id : stringList) {
|
|
|
+ OrderDetailRes orderDetailRes = tradeOrderInfoService.getOrderDetailById(Long.parseLong(id));
|
|
|
+ /**
|
|
|
+ * 1销售展示是供应配送 0采购展示是采购自提
|
|
|
+ * 根据提货方式(1供应配送/0采购自提)
|
|
|
+ * 决定托运数据是否展示
|
|
|
+ *
|
|
|
+ */
|
|
|
+ boolean flag = false;
|
|
|
+ if (String.valueOf(NumberConstant.ZERO).equals(orderDetailRes.getPickupType())) {
|
|
|
+ flag = true;
|
|
|
}
|
|
|
- build = PageResult.build(page, pageSize, count, list);
|
|
|
+ List<LogisticsOrderDTO> list = new ArrayList<>();
|
|
|
+ if (flag) {
|
|
|
+ /**数据展示*/
|
|
|
+ list = kwtLogisticsOrderMapper.selectOrderListNotPage(id, type);
|
|
|
+ if (CollectionUtils.isNotEmpty(list)) {
|
|
|
+ for (LogisticsOrderDTO logisticsOrderDTO : list) {
|
|
|
+ logisticsOrderDTO.setStatus(LogisticsOrderEnum.getDestination(logisticsOrderDTO.getStatus()));
|
|
|
+ }
|
|
|
+ returnList.addAll(list);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ List<LogisticsOrderDTO> subList = new ArrayList<>();
|
|
|
+ if (CollectionUtils.isNotEmpty(returnList)) {
|
|
|
+ subList = returnList.stream().skip((page - 1) * pageSize).limit(pageSize).collect(Collectors.toList());
|
|
|
}
|
|
|
+ PageResult build = PageResult.build(page, pageSize, returnList.stream().count(), subList);
|
|
|
return HttpResult.ok(build);
|
|
|
}
|
|
|
|
|
|
@@ -647,19 +708,59 @@ public class LogisticsConsignmentService {
|
|
|
return list;
|
|
|
}
|
|
|
|
|
|
+// /**
|
|
|
+// * 采购订单获取车辆信息
|
|
|
+// *
|
|
|
+// * @param id
|
|
|
+// * @param page
|
|
|
+// * @param pageSize
|
|
|
+// * @return
|
|
|
+// */
|
|
|
+// public HttpResult purchaseLogisticsCar(String id, Integer page, Integer pageSize) {
|
|
|
+// Long count = getLogisticsCarDataCount(id);
|
|
|
+// Integer newPage = page - 1;
|
|
|
+// List<OrderCarDTO> list = getLogisticsCarData(id, newPage, pageSize);
|
|
|
+// PageResult build = PageResult.build(page, pageSize, count, list);
|
|
|
+// return HttpResult.ok(build);
|
|
|
+// }
|
|
|
+
|
|
|
+
|
|
|
/**
|
|
|
* 采购订单获取车辆信息
|
|
|
*
|
|
|
- * @param id
|
|
|
+ * @param ids
|
|
|
* @param page
|
|
|
* @param pageSize
|
|
|
* @return
|
|
|
*/
|
|
|
- public HttpResult purchaseLogisticsCar(String id, Integer page, Integer pageSize) {
|
|
|
- Long count = getLogisticsCarDataCount(id);
|
|
|
- Integer newPage = page - 1;
|
|
|
- List<OrderCarDTO> list = getLogisticsCarData(id, newPage, pageSize);
|
|
|
- PageResult build = PageResult.build(page, pageSize, count, list);
|
|
|
+ public HttpResult purchaseLogisticsCar(String ids, Integer page, Integer pageSize) {
|
|
|
+ List<String> stringList = StringUtils.splitStrToList(ids, String.class);
|
|
|
+ if (CollectionUtils.isEmpty(stringList)) {
|
|
|
+ return HttpResult.ok();
|
|
|
+ }
|
|
|
+ List<OrderCarDTO> returnList = new ArrayList<>();
|
|
|
+ for (String id : stringList) {
|
|
|
+ List<OrderCarDTO> list = waybillOrderMapper.selectWaybillOrderCarListNotPage(id);
|
|
|
+ List<String> collect = list.stream().map(OrderCarDTO::getTruckNo).collect(Collectors.toList());
|
|
|
+ Map<String, RTruckVo> truck = remoteFleetService.findTruck(collect);
|
|
|
+ for (OrderCarDTO orderCarDTO : list) {
|
|
|
+// orderCarDTO.setDriverId(String.valueOf(orderCarDTO.getDriverId()));
|
|
|
+// orderCarDTO.setDriverName(orderCarDTO.getDriverName());
|
|
|
+// orderCarDTO.setDriverPhone(orderCarDTO.getDriverPhone());
|
|
|
+// orderCarDTO.setDriverCard(orderCarDTO.getDriverCard());
|
|
|
+ orderCarDTO.setLoadAmount(truck.get(orderCarDTO.getTruckNo()) == null ?
|
|
|
+ null : (truck.get(orderCarDTO.getTruckNo()).getActualWeight() == null ?
|
|
|
+ null : (String.valueOf(truck.get(orderCarDTO.getTruckNo()).getActualWeight()))));
|
|
|
+ }
|
|
|
+ if (CollectionUtils.isNotEmpty(list)) {
|
|
|
+ returnList.addAll(list);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ List<OrderCarDTO> subList = new ArrayList<>();
|
|
|
+ if (CollectionUtils.isNotEmpty(returnList)) {
|
|
|
+ subList = returnList.stream().skip((page - 1) * pageSize).limit(pageSize).collect(Collectors.toList());
|
|
|
+ }
|
|
|
+ PageResult build = PageResult.build(page, pageSize, returnList.stream().count(), subList);
|
|
|
return HttpResult.ok(build);
|
|
|
}
|
|
|
|