10 changed files with 202 additions and 62 deletions
@ -0,0 +1,18 @@ |
|||||||
|
package com.logpm.trunkline.feign; |
||||||
|
|
||||||
|
import com.logpm.trunkline.entity.TrunklineCarsLoadEntity; |
||||||
|
import org.springblade.common.constant.ModuleNameConstant; |
||||||
|
import org.springframework.cloud.openfeign.FeignClient; |
||||||
|
import org.springframework.web.bind.annotation.GetMapping; |
||||||
|
import org.springframework.web.bind.annotation.RequestParam; |
||||||
|
|
||||||
|
@FeignClient( |
||||||
|
value = ModuleNameConstant.APPLICATION_TRUNKLINE_NAME |
||||||
|
) |
||||||
|
public interface IExtractedDataClient { |
||||||
|
|
||||||
|
String API_PREFIX = "extractedData/client"; |
||||||
|
@GetMapping(API_PREFIX+"/findEntityByCarsNo") |
||||||
|
void execute(@RequestParam String tenantId,@RequestParam String wallbillNum); |
||||||
|
|
||||||
|
} |
@ -0,0 +1,89 @@ |
|||||||
|
package com.logpm.trunkline.feign; |
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
||||||
|
import com.logpm.trunkline.entity.TrunklineAdvanceEntity; |
||||||
|
import com.logpm.trunkline.entity.TrunklineWaybillOrderEntity; |
||||||
|
import com.logpm.trunkline.entity.TrunklineWaybillPackageEntity; |
||||||
|
import com.logpm.trunkline.entity.TrunklineWaybillTrackEntity; |
||||||
|
import com.logpm.trunkline.service.IAsyncService; |
||||||
|
import com.logpm.trunkline.service.ITrunklineWaybillTrackService; |
||||||
|
import com.logpm.trunkline.vo.TrunklineAdvanceDetailVO; |
||||||
|
import com.logpm.warehouse.entity.WarehouseWayBillDetail; |
||||||
|
import com.logpm.warehouse.entity.WarehouseWaybillEntity; |
||||||
|
import com.logpm.warehouse.feign.IWarehouseWaybillClient; |
||||||
|
import com.logpm.warehouse.feign.IWarehouseWaybillDetailClient; |
||||||
|
import lombok.AllArgsConstructor; |
||||||
|
import lombok.extern.slf4j.Slf4j; |
||||||
|
import org.springblade.system.entity.Tenant; |
||||||
|
import org.springblade.system.feign.ISysClient; |
||||||
|
import org.springframework.web.bind.annotation.RestController; |
||||||
|
import springfox.documentation.annotations.ApiIgnore; |
||||||
|
|
||||||
|
import java.util.ArrayList; |
||||||
|
import java.util.List; |
||||||
|
import java.util.concurrent.CompletableFuture; |
||||||
|
import java.util.stream.Collectors; |
||||||
|
|
||||||
|
@Slf4j |
||||||
|
@ApiIgnore() |
||||||
|
@RestController |
||||||
|
@AllArgsConstructor |
||||||
|
public class ExtractedDataClient implements IExtractedDataClient { |
||||||
|
|
||||||
|
private final IWarehouseWaybillClient warehouseWaybillClient; |
||||||
|
|
||||||
|
private final IWarehouseWaybillDetailClient warehouseWaybillDetailClient; |
||||||
|
|
||||||
|
private final ITrunklineWaybillOrderClient trunklineWaybillOrderClient; |
||||||
|
|
||||||
|
private final ITrunklineWaybillPackageClient trunklineWaybillPackageClient; |
||||||
|
|
||||||
|
private final ITrunklineAdvanceClient trunklineAdvanceClient; |
||||||
|
|
||||||
|
private final ITrunklineAdvanceDetailClient trunklineAdvanceDetailClient; |
||||||
|
|
||||||
|
private final IAsyncService asyncService; |
||||||
|
|
||||||
|
private final ITrunklineWaybillTrackService trunklineWaybillTrackService; |
||||||
|
|
||||||
|
@Override |
||||||
|
public void execute(String tenantId, String wallbillNum) { |
||||||
|
|
||||||
|
|
||||||
|
WarehouseWaybillEntity byWaybillNo = warehouseWaybillClient.findByWaybillNo(wallbillNum); |
||||||
|
if (byWaybillNo == null) { |
||||||
|
log.warn(">>>>>>>>>>>>>>byWaybillNo {} ", byWaybillNo); |
||||||
|
return; |
||||||
|
} |
||||||
|
|
||||||
|
List<Long> waybillIds = new ArrayList<>(); |
||||||
|
waybillIds.add(byWaybillNo.getId()); |
||||||
|
|
||||||
|
List<WarehouseWayBillDetail> warehouseWayBillDetails = warehouseWaybillDetailClient.findByWaybillId(byWaybillNo.getId()); |
||||||
|
|
||||||
|
List<TrunklineWaybillOrderEntity> trunklineWaybillOrderEntities = trunklineWaybillOrderClient.findListByWaybillNo(byWaybillNo.getWaybillNo()); |
||||||
|
|
||||||
|
List<TrunklineWaybillPackageEntity> trunklineWaybillPackageEntities = trunklineWaybillPackageClient.findListByWaybillIds(waybillIds); |
||||||
|
|
||||||
|
// 暂存单ID集合
|
||||||
|
List<Long> collect = trunklineWaybillOrderEntities.stream().map(TrunklineWaybillOrderEntity::getAdvanceId).distinct().collect(Collectors.toList()); |
||||||
|
if(!collect.isEmpty()){ |
||||||
|
List<TrunklineAdvanceEntity> trunklineAdvanceEntities = trunklineAdvanceClient.findListByIds(collect); |
||||||
|
List<TrunklineAdvanceDetailVO> trunklineAdvanceDetailEntities = trunklineAdvanceDetailClient.findListByAdvanceIds(collect); |
||||||
|
// 获取暂存单明细
|
||||||
|
|
||||||
|
LambdaQueryWrapper<TrunklineWaybillTrackEntity> queryWrapper = new LambdaQueryWrapper<>(); |
||||||
|
queryWrapper.eq(TrunklineWaybillTrackEntity::getWaybillId, byWaybillNo.getId()); |
||||||
|
queryWrapper.eq(TrunklineWaybillTrackEntity::getTrackType, "10"); |
||||||
|
List<TrunklineWaybillTrackEntity> list = trunklineWaybillTrackService.list(queryWrapper); |
||||||
|
TrunklineWaybillTrackEntity trunklineWaybillTrackEntity = list.get(0); |
||||||
|
CompletableFuture.supplyAsync(() -> { |
||||||
|
asyncService.saveOtherData(tenantId, byWaybillNo, trunklineAdvanceDetailEntities, trunklineAdvanceEntities, trunklineWaybillPackageEntities, trunklineWaybillOrderEntities, warehouseWayBillDetails, trunklineWaybillTrackEntity); |
||||||
|
return null; |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
} |
||||||
|
} |
Loading…
Reference in new issue