فهرست منبع

按车次计费的含税金额bug
修改子运单托运方和承运方单位重复bug
对账页面数据接口新增多装多卸地址

czh 1 سال پیش
والد
کامیت
166a73bb4c

+ 5 - 0
sckw-modules-api/sckw-transport-api/src/main/java/com/sckw/transport/api/model/dto/AcceptCarriageLogisticsOrderDto.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
@@ -145,6 +146,10 @@ public class AcceptCarriageLogisticsOrderDto implements Serializable {
      * 运价
      */
     private BigDecimal price;
+    /**
+     * 运价
+     */
+    private List<String> prices;
 
     /**
      * 运价

+ 17 - 6
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/dubbo/TransportServiceImpl.java

@@ -35,6 +35,7 @@ import com.sckw.transport.api.model.dto.*;
 import com.sckw.transport.api.model.param.ContractSignLogisticsParam;
 import com.sckw.transport.api.model.param.LogisticsOrderParam;
 import com.sckw.transport.api.model.vo.KwtLogisticsOrderVO;
+import com.sckw.transport.api.model.vo.LogisticsOrderVO;
 import com.sckw.transport.api.model.vo.RTruckMonitorVo;
 import com.sckw.transport.api.model.vo.RWaybillOrderVo;
 import com.sckw.transport.dao.*;
@@ -88,9 +89,6 @@ public class TransportServiceImpl implements TransportRemoteService {
     @Autowired
     private KwtLogisticsOrderUnitMapper logisticsOrderUnitMapper;
 
-    @Autowired
-    private KwtLogisticsOrderAddressMapper logisticsOrderAddressMapper;
-
     @Autowired
     private KwtLogisticsOrderContractMapper logisticsOrderContractMapper;
 
@@ -100,9 +98,6 @@ public class TransportServiceImpl implements TransportRemoteService {
     @Autowired
     private KwtLogisticsOrderGoodsMapper logisticsOrderGoodsMapper;
 
-    @Autowired
-    private KwtWaybillOrderMapper waybillOrderDao;
-
     @Autowired
     private KwtWaybillOrderV1Mapper waybillOrderV1Mapper;
 
@@ -155,7 +150,23 @@ public class TransportServiceImpl implements TransportRemoteService {
         /**合理损耗*/
         Map<String, String> taxRateTypeDictData = getDictData(DictTypeEnum.TAX_RATE_TYPE.getType());
         if (CollectionUtils.isNotEmpty(list)) {
+
+            List<AcceptCarriageLogisticsOrderDto> 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(AcceptCarriageLogisticsOrderDto::getLOrderId).map(Long::parseLong).toList());
+                if (CollectionUtils.isNotEmpty(kwtLogisticsOrderLineFreightRates)) {
+                    collect1 = kwtLogisticsOrderLineFreightRates.stream().collect(Collectors.groupingBy(KwtLogisticsOrderLineFreightRate::getLOrderId));
+                }
+            }
+
             for (AcceptCarriageLogisticsOrderDto 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 {

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

@@ -812,12 +812,12 @@ public class KwtTransportCommonService {
                     actualAmount = (logisticsOrderDTO.getTotalUnloadAmount() == null ? NumberConstant.ZERO_TWO : logisticsOrderDTO.getTotalUnloadAmount()).multiply(price);
                 } else if (DictEnum.CHARGING_TYPE_3.getValue().equals(billingMode)) {
                     // 物流订单运单趟次数量
-                    Map<String, Object> map = new HashMap<>(NumberConstant.SIXTEEN) {{
-                        put("upperlOrderId", logisticsOrderDTO.getLOrderId());
-                        put("passStatus", Global.NUMERICAL_ONE);
-                    }};
+//                    Map<String, Object> map = new HashMap<>(NumberConstant.SIXTEEN) {{
+//                        put("upperlOrderId", logisticsOrderDTO.getLOrderId());
+//                        put("passStatus", Global.NUMERICAL_ONE);
+//                    }};
 
-                    WaybillCountVo waybillOrderCount = kwtWaybillOrderV1Mapper.findWaybillOrderCount(map);
+                    WaybillCountVo waybillOrderCount = kwtWaybillOrderV1Mapper.findCountByLOrderId(Long.parseLong(logisticsOrderDTO.getLOrderId()));
                     BigDecimal totalComplete = waybillOrderCount == null ? NumberConstant.ZERO_TWO : new BigDecimal(waybillOrderCount.getTotalComplete());
                     actualAmount = totalComplete.multiply(price);
                 } else if (DictEnum.CHARGING_TYPE_4.getValue().equals(billingMode)) {

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

@@ -411,7 +411,7 @@ public class KwtWaybillManagementV1Service {
         List<KwtWaybillOrderSubtask> subtasks = waybillOrderSubtaskMapper.findByWOrderId(wOrderId);
         List<Long> lOrderIds = subtasks.stream().map(KwtWaybillOrderSubtask::getLOrderId).toList();
         List<KwtLogisticsOrderUnit> units = logisticsOrderUnitMapper.selectCompanyBylOrderId(lOrderIds, null);
-        String checkFirmName = units.stream().filter(item -> item.getUnitType().equals(NumberConstant.TWO)).map(KwtLogisticsOrderUnit::getFirmName).collect(Collectors.joining(", "));
+        String checkFirmName = units.stream().filter(item -> item.getUnitType().equals(NumberConstant.ONE)).map(KwtLogisticsOrderUnit::getFirmName).collect(Collectors.joining(", "));
         String carrierFirmName = units.stream().filter(item -> item.getUnitType().equals(NumberConstant.TWO)).map(KwtLogisticsOrderUnit::getFirmName).collect(Collectors.joining(", "));
 
         List<KwtWaybillOrderTicket> waybillOrderTicketV1 = kwtWaybillOrderTicketMapper.findWaybillOrderTicketV1(wOrderId, null, null, null);

+ 8 - 4
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/KwtWaybillOrderService.java

@@ -874,16 +874,20 @@ public class KwtWaybillOrderService {
     public void ranksSave(KwtWaybillOrder waybillOrder, KwtWaybillOrderAddress loadAddress,
                           KwtWaybillOrderAddress unloadAddress, Date operateTime) {
         /**车辆运单信息**/
-        waybillOrderDao.insert(waybillOrder);
-
+//        waybillOrderDao.insert(waybillOrder);
+        KwtWaybillOrderV1 kwtWaybillOrderV1 = new KwtWaybillOrderV1();
+        BeanUtils.copyProperties(waybillOrder, kwtWaybillOrderV1);
+        long wOrderId = Objects.isNull(kwtWaybillOrderV1.getId()) ? new IdWorker(1L).nextId() : kwtWaybillOrderV1.getId();
+        kwtWaybillOrderV1.setId(wOrderId);
+        waybillOrderV1Dao.insert(kwtWaybillOrderV1);
         /**车辆运单地址信息**/
         loadAddress.setId(null);
-        loadAddress.setWOrderId(waybillOrder.getId());
+        loadAddress.setWOrderId(wOrderId);
         loadAddress.setCreateTime(waybillOrder.getCreateTime());
         loadAddress.setUpdateTime(waybillOrder.getUpdateTime());
         waybillOrderAddressDao.insert(loadAddress);
         unloadAddress.setId(null);
-        unloadAddress.setWOrderId(waybillOrder.getId());
+        unloadAddress.setWOrderId(wOrderId);
         unloadAddress.setCreateTime(waybillOrder.getCreateTime());
         unloadAddress.setUpdateTime(waybillOrder.getUpdateTime());
         waybillOrderAddressDao.insert(unloadAddress);

+ 2 - 0
sckw-modules/sckw-transport/src/main/resources/mapper/KwtWaybillOrderV1Mapper.xml

@@ -386,6 +386,7 @@
             </when>
         </choose>
     </select>
+
     <select id="findWaybillOrderCount" resultType="com.sckw.transport.model.vo.WaybillCountVo">
         SELECT
         count(case when c.status = 8 then 1 end) totalComplete,
@@ -436,6 +437,7 @@
             and lo.id != #{ownOrderId, jdbcType=BIGINT}
         </if>
     </select>
+
     <select id="selectDataByLorderId" resultType="java.lang.Integer">
         SELECT COUNT(b.id)
         FROM kwt_waybill_order_subtask k