|
@@ -78,6 +78,7 @@ import com.sckw.transport.api.model.param.AddLogisticOrderParam;
|
|
|
import com.sckw.transport.api.model.param.LogisticInfo;
|
|
import com.sckw.transport.api.model.param.LogisticInfo;
|
|
|
import com.sckw.transport.api.model.param.OrderFinishParam;
|
|
import com.sckw.transport.api.model.param.OrderFinishParam;
|
|
|
import com.sckw.transport.api.model.vo.KwtLogisticsOrderVO;
|
|
import com.sckw.transport.api.model.vo.KwtLogisticsOrderVO;
|
|
|
|
|
+import com.sckw.transport.api.model.vo.LogisticContractVo;
|
|
|
import lombok.RequiredArgsConstructor;
|
|
import lombok.RequiredArgsConstructor;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import org.apache.dubbo.config.annotation.DubboReference;
|
|
import org.apache.dubbo.config.annotation.DubboReference;
|
|
@@ -2603,8 +2604,17 @@ public class KwoTradeOrderService {
|
|
|
if (CollectionUtils.isEmpty(contractLogisticsList)) {
|
|
if (CollectionUtils.isEmpty(contractLogisticsList)) {
|
|
|
throw new BusinessException("未找到该商品有效的手动派车物流合同");
|
|
throw new BusinessException("未找到该商品有效的手动派车物流合同");
|
|
|
}
|
|
}
|
|
|
|
|
+ //查询贸易订单已经存在的物流合同
|
|
|
|
|
+ List<LogisticContractVo> logisticContractVos = transportRemoteService.queryLogOrderCirculateByLogOrderId(param.getTradeOrderId());
|
|
|
|
|
+ Set<Long> existingContractIds = logisticContractVos.stream().map(LogisticContractVo::getLogContractId).collect(Collectors.toSet());
|
|
|
|
|
+
|
|
|
|
|
+ // 过滤掉contractLogisticsList中包含已存在合同ID的数据
|
|
|
|
|
+ List<LogisticsEntDtoVO> filteredContractList = contractLogisticsList.stream()
|
|
|
|
|
+ .filter(contract -> !existingContractIds.contains(contract.getContractId()))
|
|
|
|
|
+ .collect(Collectors.toList());
|
|
|
|
|
+
|
|
|
//填充运输单价
|
|
//填充运输单价
|
|
|
- for (LogisticsEntDtoVO vo : contractLogisticsList) {
|
|
|
|
|
|
|
+ for (LogisticsEntDtoVO vo : filteredContractList) {
|
|
|
LogisticsGoodsDto dto = remoteContractService.queryLogGoodsByContractId(vo.getContractId(), param.getGoodsId());
|
|
LogisticsGoodsDto dto = remoteContractService.queryLogGoodsByContractId(vo.getContractId(), param.getGoodsId());
|
|
|
if (dto.getPrice() == null || dto.getPrice().compareTo(BigDecimal.ZERO) == 0) {
|
|
if (dto.getPrice() == null || dto.getPrice().compareTo(BigDecimal.ZERO) == 0) {
|
|
|
vo.setTransportPrice(vo.getCommonPrice());
|
|
vo.setTransportPrice(vo.getCommonPrice());
|
|
@@ -2613,7 +2623,7 @@ public class KwoTradeOrderService {
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
List<ContractLogisticsVO> contractLogisticsVOS = new ArrayList<>();
|
|
List<ContractLogisticsVO> contractLogisticsVOS = new ArrayList<>();
|
|
|
- for (LogisticsEntDtoVO vo : contractLogisticsList) {
|
|
|
|
|
|
|
+ for (LogisticsEntDtoVO vo : filteredContractList) {
|
|
|
ContractLogisticsVO logisticsVO = new ContractLogisticsVO();
|
|
ContractLogisticsVO logisticsVO = new ContractLogisticsVO();
|
|
|
logisticsVO.setContractId(vo.getContractId());
|
|
logisticsVO.setContractId(vo.getContractId());
|
|
|
logisticsVO.setContractNo(vo.getContractNo());
|
|
logisticsVO.setContractNo(vo.getContractNo());
|