|
|
|
@ -1,5 +1,6 @@
|
|
|
|
|
package com.logpm.patch.jobhandle; |
|
|
|
|
|
|
|
|
|
import cn.hutool.core.collection.CollUtil; |
|
|
|
|
import cn.hutool.json.JSONObject; |
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
|
|
|
|
import com.logpm.basicdata.entity.BasicdataWarehouseEntity; |
|
|
|
@ -16,14 +17,8 @@ import com.logpm.patch.service.IOrderSyncRecordService;
|
|
|
|
|
import com.logpm.patch.service.ISyncOrderInfoService; |
|
|
|
|
import com.logpm.patch.service.IWarehouseMappingDataService; |
|
|
|
|
import com.logpm.patch.vo.SyncZeroOrderVO; |
|
|
|
|
import com.logpm.trunkline.entity.TrunklineAdvanceDetailEntity; |
|
|
|
|
import com.logpm.trunkline.entity.TrunklineAdvanceEntity; |
|
|
|
|
import com.logpm.trunkline.entity.TrunklineDetailProductEntity; |
|
|
|
|
import com.logpm.trunkline.entity.TrunklineWaybillOrderEntity; |
|
|
|
|
import com.logpm.trunkline.feign.ITrunklineAdvanceClient; |
|
|
|
|
import com.logpm.trunkline.feign.ITrunklineAdvanceDetailClient; |
|
|
|
|
import com.logpm.trunkline.feign.ITrunklineDetailProductClient; |
|
|
|
|
import com.logpm.trunkline.feign.ITrunklineWaybillOrderClient; |
|
|
|
|
import com.logpm.trunkline.entity.*; |
|
|
|
|
import com.logpm.trunkline.feign.*; |
|
|
|
|
import com.logpm.warehouse.entity.WarehouseWaybillEntity; |
|
|
|
|
import com.logpm.warehouse.feign.IWarehouseWaybillClient; |
|
|
|
|
import com.xxl.job.core.biz.model.ReturnT; |
|
|
|
@ -69,6 +64,9 @@ public class SyncOrderInfoToPlatform {
|
|
|
|
|
private final IInventoryDetailClient inventoryDetailClient; |
|
|
|
|
private final IOrderLocationClient orderLocationClient; |
|
|
|
|
|
|
|
|
|
private final ITrunklineCarsLoadClient carsLoadClient; |
|
|
|
|
private final ITrunklineCarsLoadScanClient carsLoadScanClient; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@XxlJob("syncOrderInfo") |
|
|
|
|
public ReturnT<String> syncOrderInfo(String param) { |
|
|
|
@ -984,4 +982,63 @@ public class SyncOrderInfoToPlatform {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@XxlJob("dealDubelCarUnloadData") |
|
|
|
|
public ReturnT<String> dealDubelCarUnloadData(String param) { |
|
|
|
|
log.info("############dealDubelCarUnloadData: 处理车次重复卸车数据 开始"); |
|
|
|
|
|
|
|
|
|
if(StringUtil.isBlank(param)){ |
|
|
|
|
log.warn("###########dealDubelCarUnloadData: 车次号为空"); |
|
|
|
|
throw new CustomerException(405,"车次号为空"); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
String[] split = param.split(","); |
|
|
|
|
|
|
|
|
|
for (int i = 0; i < split.length; i++) { |
|
|
|
|
String carNo = split[i]; |
|
|
|
|
log.info("###################dealDubelCarUnloadData: 当前处理的车次号为 carNo={}",carNo); |
|
|
|
|
|
|
|
|
|
TrunklineCarsLoadEntity entityByCarsNo = carsLoadClient.findEntityByCarsNo(carNo); |
|
|
|
|
Long loadId = entityByCarsNo.getId(); |
|
|
|
|
//查询所有装车明细
|
|
|
|
|
List<TrunklineCarsLoadScanEntity> carsLoadScanEntities = carsLoadScanClient.findAllListByLoadId(loadId); |
|
|
|
|
|
|
|
|
|
List<Long> scanloadIdList = carsLoadScanEntities.stream().map(TrunklineCarsLoadScanEntity::getId).collect(Collectors.toList()); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//把carsLoadScanEntities通过unloadNodeId分组
|
|
|
|
|
Map<Long, List<TrunklineCarsLoadScanEntity>> collect = carsLoadScanEntities.stream().collect(Collectors.groupingBy(TrunklineCarsLoadScanEntity::getUnloadNodeId)); |
|
|
|
|
|
|
|
|
|
collect.keySet().forEach(unloadNodeId -> { |
|
|
|
|
List<TrunklineCarsLoadScanEntity> trunklineCarsLoadScanEntities = collect.get(unloadNodeId); |
|
|
|
|
//把trunklineCarsLoadScanEntities按照scanCode进行分组
|
|
|
|
|
Map<String, List<TrunklineCarsLoadScanEntity>> collect1 = trunklineCarsLoadScanEntities.stream().collect(Collectors.groupingBy(TrunklineCarsLoadScanEntity::getScanCode)); |
|
|
|
|
collect1.keySet().forEach(scanCode -> { |
|
|
|
|
List<TrunklineCarsLoadScanEntity> list = collect1.get(scanCode); |
|
|
|
|
if(CollUtil.isNotEmpty(list) && list.size() > 1){ |
|
|
|
|
for (int j = 0; j < list.size(); j++) { |
|
|
|
|
if(j != 0){ |
|
|
|
|
TrunklineCarsLoadScanEntity carsLoadScanEntity = list.get(j); |
|
|
|
|
Long scanEntityId = carsLoadScanEntity.getId(); |
|
|
|
|
scanloadIdList.add(scanEntityId); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
carsLoadScanClient.removeLoadScanByIds(scanloadIdList); |
|
|
|
|
|
|
|
|
|
carsLoadClient.updateCardLoadNum(loadId); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
log.info("############dealDubelCarUnloadData: 处理车次重复卸车数据 完成"); |
|
|
|
|
|
|
|
|
|
return ReturnT.SUCCESS; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|