Selaa lähdekoodia

待对账订单按路线计费的运单呈现
销售订单导出bug

czh 1 vuosi sitten
vanhempi
commit
b809ebf257

+ 2 - 0
sckw-modules-api/sckw-transport-api/src/main/java/com/sckw/transport/api/model/vo/LogisticsOrderVO.java

@@ -8,6 +8,7 @@ import java.io.Serializable;
 import java.math.BigDecimal;
 import java.time.LocalDate;
 import java.util.Date;
+import java.util.List;
 
 /**
  * @author lfdc
@@ -148,6 +149,7 @@ public class LogisticsOrderVO implements Serializable {
 
     private String priceType;
 
+    private List<String> prices;
     /**
      * 运价方式
      */

+ 14 - 1
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/KwtTransportCommonService.java

@@ -697,8 +697,21 @@ public class KwtTransportCommonService {
         /**合理损耗*/
         Map<String, String> taxRateTypeDictData = getDictData(DictTypeEnum.TAX_RATE_TYPE.getType());
         if (CollectionUtils.isNotEmpty(list)) {
-            for (LogisticsOrderVO logisticsOrderDTO : list) {
 
+            List<LogisticsOrderVO> collect = list.stream().filter(item -> item.getBillingMode().equals(DictEnum.CHARGING_TYPE_4.getValue())).collect(Collectors.toList());
+            Map<Long, List<KwtLogisticsOrderLineFreightRate>> collect1 = new HashMap<>();
+            if (CollectionUtils.isNotEmpty(collect)) {
+                List<KwtLogisticsOrderLineFreightRate> kwtLogisticsOrderLineFreightRates = lineFreightRateMapper.selectListByOrderIdList(collect.stream().map(LogisticsOrderVO::getLOrderId).map(Long::parseLong).toList());
+                if (CollectionUtils.isNotEmpty(kwtLogisticsOrderLineFreightRates)) {
+                    collect1 = kwtLogisticsOrderLineFreightRates.stream().collect(Collectors.groupingBy(KwtLogisticsOrderLineFreightRate::getLOrderId));
+                }
+            }
+
+            for (LogisticsOrderVO logisticsOrderDTO : list) {
+                List<KwtLogisticsOrderLineFreightRate> kwtLogisticsOrderLineFreightRates = collect1.get(Long.parseLong(logisticsOrderDTO.getLOrderId()));
+                if (CollectionUtils.isNotEmpty(kwtLogisticsOrderLineFreightRates)) {
+                    logisticsOrderDTO.setPrices(kwtLogisticsOrderLineFreightRates.stream().map(item -> item.getName() + " " + item.getTransportPrice()).toList());
+                }
                 String tOrderId = logisticsOrderDTO.getTOrderId();
                 if (StringUtils.isNotBlank(tOrderId)) {
                     try {