|
|
@@ -6393,4 +6393,61 @@ public class BillsServiceImpl extends ServiceImpl<BillsMapper, Bills> implements
|
|
|
}
|
|
|
return R.data(excelList);
|
|
|
}
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public List<DeliveryPaperExcel> sendDeliveryPaperExport(String ids) {
|
|
|
+ if (ObjectUtils.isNull(ids)) {
|
|
|
+ throw new RuntimeException("缺少必要参数");
|
|
|
+ }
|
|
|
+ List<Long> idList = Func.toLongList(ids);
|
|
|
+ List<Bills> billsList = baseMapper.selectList(new LambdaQueryWrapper<Bills>()
|
|
|
+ .eq(Bills::getIsDeleted, 0)
|
|
|
+ .in(Bills::getId, idList));
|
|
|
+ if (billsList.isEmpty()) {
|
|
|
+ throw new RuntimeException("未查到海运出口单据,发送失败!");
|
|
|
+ }
|
|
|
+ List<PreContainers> preContainersList = preContainersService.list(new LambdaQueryWrapper<PreContainers>()
|
|
|
+ .eq(PreContainers::getIsDeleted, 0)
|
|
|
+ .in(PreContainers::getPid, idList));
|
|
|
+ if (preContainersList.isEmpty()) {
|
|
|
+ throw new RuntimeException("未查到预配箱型信息,发送失败!");
|
|
|
+ }
|
|
|
+ List<SeaContainerNumberItem> containerNumberItemList = seaContainerNumberItemService.list(new LambdaQueryWrapper<SeaContainerNumberItem>()
|
|
|
+ .eq(SeaContainerNumberItem::getIsDeleted, 0)
|
|
|
+ .in(SeaContainerNumberItem::getPid, idList)
|
|
|
+ .in(SeaContainerNumberItem::getBoxType, preContainersList.stream().map(PreContainers::getCntrTypeCode)
|
|
|
+ .distinct().collect(Collectors.toList())));
|
|
|
+ if (containerNumberItemList.isEmpty()) {
|
|
|
+ throw new RuntimeException("未选择放箱号,发送失败!");
|
|
|
+ }
|
|
|
+ List<DeliveryPaperExcel> excelList = new ArrayList<>();
|
|
|
+ for (Bills item : billsList) {
|
|
|
+ DeliveryPaperExcel excel = new DeliveryPaperExcel();
|
|
|
+ excel.setEtd(item.getEtd());
|
|
|
+ excel.setPodEnName(item.getPodEnName());
|
|
|
+ excel.setVesselCnName(item.getVesselEnName());
|
|
|
+ excel.setVoyageNo(item.getVoyageNo());
|
|
|
+ excel.setBoxOwner("WFL");
|
|
|
+ excel.setInboundContainerOwner(item.getCarrierEnName());
|
|
|
+ excel.setPotEnName(item.getPotEnName());
|
|
|
+ excel.setMblno(item.getMblno());
|
|
|
+ excel.setHblno(item.getHblno());
|
|
|
+ excel.setQuantityCntrDescr(item.getQuantityCntrDescr());
|
|
|
+ excel.setGrossWeight(item.getGrossWeight());
|
|
|
+ String containerNumber = "";
|
|
|
+ List<PreContainers> preContainers = preContainersList.stream().filter(e -> e.getPid().equals(item.getId()))
|
|
|
+ .collect(Collectors.toList());
|
|
|
+ for (PreContainers containers : preContainers) {
|
|
|
+ List<SeaContainerNumberItem> containerNumberItems = containerNumberItemList.stream().filter(e ->
|
|
|
+ containers.getCntrTypeCode().equals(e.getBoxType()) && 0 != e.getOccupyNum()).collect(Collectors.toList());
|
|
|
+ for (SeaContainerNumberItem numberItem : containerNumberItems) {
|
|
|
+ containerNumber = containerNumber + numberItem.getContainerNumber() + " " + numberItem.getOccupyNum() + "*" +
|
|
|
+ containers.getCntrTypeCode() + "\n";
|
|
|
+ }
|
|
|
+ }
|
|
|
+ excel.setContainerNumber(containerNumber);
|
|
|
+ excelList.add(excel);
|
|
|
+ }
|
|
|
+ return excelList;
|
|
|
+ }
|
|
|
}
|