@ -16,6 +16,14 @@ import com.logpm.oldproject.entity.*;
import com.logpm.oldproject.feign.* ;
import com.logpm.oldproject.vo.DistributionParcelListEntityVO ;
import com.logpm.patch.service.ISyncOrderInfoService ;
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.warehouse.entity.WarehouseWayBillDetail ;
import com.logpm.warehouse.entity.WarehouseWaybillEntity ;
import com.logpm.warehouse.feign.IWarehouseTrayTypeClient ;
@ -68,6 +76,12 @@ public class SyncOrderInfoServiceImpl implements ISyncOrderInfoService {
private final IOrderLocationClient orderLocationClient ;
private final IWarehouseUpdownTypeClient warehouseUpdownTypeClient ;
private final ITrunklineWaybillOrderClient waybillOrderClient ;
private final ITrunklineAdvanceClient trunklineAdvanceClient ;
private final IDetailProductClient detailProductClient ;
private final ITrunklineDetailProductClient trunklineDetailProductClient ;
private final ITrunklineAdvanceDetailClient trunklineAdvanceDetailClient ;
@Transactional ( rollbackFor = Exception . class )
@Override
public void handleData ( List < String > orderCodeList , Integer oldWarehouseId , Long newWarehouseId ) {
@ -1522,6 +1536,7 @@ public class SyncOrderInfoServiceImpl implements ISyncOrderInfoService {
warehouseWaybill = new WarehouseWaybillEntity ( ) ;
warehouseWaybill . setWaybillNo ( waybillNo ) ;
warehouseWaybill . setOrderNo ( wayBillEntity . getOrderNo ( ) ) ;
warehouseWaybill . setDestinationWarehouseName ( warehouseName ) ;
warehouseWaybill . setDestinationWarehouseId ( Objects . isNull ( endhouse ) ? null : endhouse . getId ( ) ) ;
warehouseWaybill . setDepartureWarehouseName ( startSite ) ;
@ -1555,7 +1570,7 @@ public class SyncOrderInfoServiceImpl implements ISyncOrderInfoService {
warehouseWaybill . setDestination ( wayBillEntity . getArriveSite ( ) ) ;
warehouseWaybill . setGoodsName ( packname ) ;
warehouseWaybill . setTotalCount ( number ) ;
warehouseWaybill . setStockCount ( 1 ) ;
warehouseWaybill . setStockCount ( number ) ;
warehouseWaybill . setTotalWeight ( wayBillEntity . getWeight ( ) ) ;
warehouseWaybill . setTotalVolume ( wayBillEntity . getVolume ( ) ) ;
warehouseWaybill . setDeliveryMethod ( wayBillEntity . getSendType ( ) ) ;
@ -1571,6 +1586,29 @@ public class SyncOrderInfoServiceImpl implements ISyncOrderInfoService {
warehouseWaybill . setWaybillType ( wayBillEntity . getType ( ) ) ;
warehouseWaybill . setReceivedStatus ( 0 ) ;
warehouseWaybill . setTotalFreight ( wayBillEntity . getFreight ( ) ) ;
warehouseWaybill . setDeliveryFee ( wayBillEntity . getDeliveryCost ( ) ) ;
warehouseWaybill . setPickupFee ( wayBillEntity . getTakeCost ( ) ) ;
warehouseWaybill . setWarehouseManagementFee ( wayBillEntity . getWarehouseManagementFee ( ) ) ;
warehouseWaybill . setStorageFee ( wayBillEntity . getWarehousingFee ( ) ) ;
warehouseWaybill . setHandlingFee ( wayBillEntity . getPretendCost ( ) ) ;
warehouseWaybill . setOtherFee ( wayBillEntity . getOtherFee ( ) ) ;
warehouseWaybill . setInsuranceFee ( wayBillEntity . getPriceProtectionFee ( ) ) ;
warehouseWaybill . setClaimingValue ( wayBillEntity . getValue ( ) ) ;
warehouseWaybill . setPayType ( wayBillEntity . getPayType ( ) + "" ) ;
warehouseWaybill . setPayWay ( wayBillEntity . getPaymentMethod ( ) + "" ) ;
warehouseWaybill . setXPay ( wayBillEntity . getXPay ( ) ) ;
warehouseWaybill . setDPay ( wayBillEntity . getDPay ( ) ) ;
warehouseWaybill . setHPay ( wayBillEntity . getHPay ( ) ) ;
warehouseWaybill . setYPay ( wayBillEntity . getYPay ( ) ) ;
warehouseWaybill . setThirdOperationFee ( wayBillEntity . getThreeHandleFee ( ) ) ;
warehouseWaybill . setDeliveryWay ( wayBillEntity . getSendType ( ) + "" ) ;
warehouseWaybill . setUrgency ( wayBillEntity . getUrgency ( ) + "" ) ;
warehouseWaybill . setReceipt ( wayBillEntity . getReceiptAsk ( ) ) ;
warehouseWaybill . setReceiptNum ( wayBillEntity . getReceiptNum ( ) ) ;
warehouseWaybill . setTransportType ( wayBillEntity . getShippingType ( ) + "" ) ;
warehouseWaybill . setRebate ( wayBillEntity . getRebate ( ) ) ;
BasicdataClientEntity agentClient = basicdataClientClient . findByName ( agent ) ;
if ( ! Objects . isNull ( agentClient ) ) {
Long clientEntityId = agentClient . getId ( ) ; //基础客户
@ -1588,14 +1626,188 @@ public class SyncOrderInfoServiceImpl implements ISyncOrderInfoService {
warehouseWaybill . setUpdateTime ( date ) ;
warehouseWaybillClient . addEnntity ( warehouseWaybill ) ;
} else {
warehouseWaybill . setStockCount ( warehouseWaybill . getStockCount ( ) + 1 ) ;
// warehouseWaybill.setStockCount(warehouseWaybill.getStockCount() + 1);
warehouseWaybill . setUpdateTime ( new Date ( ) ) ;
warehouseWaybillClient . updateEntity ( warehouseWaybill ) ;
}
//暂存单与运单的关联
saveAdvanceData ( warehouseWaybill ) ;
return wayBillEntity ;
}
private void saveAdvanceData ( WarehouseWaybillEntity warehouseWaybill ) {
String waybillNo = warehouseWaybill . getWaybillNo ( ) ;
Long waybillId = warehouseWaybill . getId ( ) ;
//查看新系统是否有关联数据
List < TrunklineWaybillOrderEntity > waybillOrderList = waybillOrderClient . findListByWaybillNo ( waybillNo ) ;
if ( waybillOrderList . isEmpty ( ) ) {
//没有关联订单数据
//查老系统的运单关联哪些订单
List < Integer > advanceIds = wayBillClient . findAdvanceIdsByWaybillNo ( waybillNo ) ;
if ( advanceIds . isEmpty ( ) ) {
log . warn ( "#############saveAdvanceData: 老系统运单未有关联订单 waybillNo={}" , waybillNo ) ;
throw new CustomerException ( 405 , "老系统运单未有关联订单" ) ;
}
List < AdvanceEntity > advanceList = advanceClient . findListByAdvanceIds ( advanceIds ) ;
for ( AdvanceEntity advanceEntity : advanceList ) {
Integer advanceId = advanceEntity . getId ( ) ;
Integer oldWarehouseId = advanceEntity . getWarehouseId ( ) ;
String orderCode = advanceEntity . getOrderSelfNum ( ) ;
Integer totalNum = advanceEntity . getTotal ( ) ;
String brand = advanceEntity . getType ( ) ;
BasicdataWarehouseEntity basicdataWarehouseEntity = basicdataWarehouseClient . getWarehouseByOldId ( oldWarehouseId ) ;
Date date = new Date ( ) ;
TrunklineAdvanceEntity trunklineAdvanceEntity = new TrunklineAdvanceEntity ( ) ;
trunklineAdvanceEntity . setTenantId ( TenantNum . HUITONGCODE ) ;
trunklineAdvanceEntity . setCreateUser ( 1714696768639311873L ) ;
trunklineAdvanceEntity . setCreateTime ( date ) ;
trunklineAdvanceEntity . setUpdateUser ( 1714696768639311873L ) ;
trunklineAdvanceEntity . setUpdateTime ( date ) ;
trunklineAdvanceEntity . setStatus ( 1 ) ;
trunklineAdvanceEntity . setIsDeleted ( 0 ) ;
trunklineAdvanceEntity . setCreateDept ( 1649331096241836033L ) ;
trunklineAdvanceEntity . setWarehouseId ( basicdataWarehouseEntity . getId ( ) ) ;
trunklineAdvanceEntity . setWarehouseName ( basicdataWarehouseEntity . getName ( ) ) ;
trunklineAdvanceEntity . setOrderCode ( orderCode ) ;
trunklineAdvanceEntity . setSiteName ( advanceEntity . getSiteName ( ) ) ;
trunklineAdvanceEntity . setArea ( advanceEntity . getArea ( ) ) ;
trunklineAdvanceEntity . setOrderType ( advanceEntity . getOrderTypeName ( ) ) ;
trunklineAdvanceEntity . setBrand ( advanceEntity . getType ( ) ) ;
trunklineAdvanceEntity . setTotalNum ( totalNum ) ;
trunklineAdvanceEntity . setPackCode ( advanceEntity . getFirstPackCode ( ) ) ;
trunklineAdvanceEntity . setPackName ( advanceEntity . getFirstPackName ( ) ) ;
trunklineAdvanceEntity . setDealerCode ( advanceEntity . getDealerCode ( ) ) ;
trunklineAdvanceEntity . setDealerName ( advanceEntity . getDealerName ( ) ) ;
trunklineAdvanceEntity . setCarrierName ( advanceEntity . getCarrierName ( ) ) ;
trunklineAdvanceEntity . setCustomerName ( advanceEntity . getCustomerName ( ) ) ;
trunklineAdvanceEntity . setCustomerPhone ( advanceEntity . getCustomerPhone ( ) ) ;
trunklineAdvanceEntity . setCustomerAddress ( advanceEntity . getCustomerRoad ( ) ) ;
trunklineAdvanceEntity . setSystemType ( advanceEntity . getSystemType ( ) ) ;
trunklineAdvanceEntity . setStoreCode ( advanceEntity . getStoreNo ( ) ) ;
trunklineAdvanceEntity . setStoreName ( advanceEntity . getStoreName ( ) ) ;
trunklineAdvanceEntity . setServiceNum ( advanceEntity . getServiceNum ( ) ) ;
trunklineAdvanceEntity . setMatingType ( advanceEntity . getMatingCode ( ) ) ;
trunklineAdvanceEntity . setSenderName ( advanceEntity . getSenderName ( ) ) ;
trunklineAdvanceEntity . setSenderPhone ( advanceEntity . getSenderMobile ( ) ) ;
trunklineAdvanceEntity . setSenderAddress ( advanceEntity . getSenderAddress ( ) ) ;
Integer waybillStatus = advanceEntity . getWaybillStatus ( ) ;
if ( waybillStatus = = 1 ) {
trunklineAdvanceEntity . setWaybillStatus ( "0" ) ;
} else if ( waybillStatus = = 2 ) {
trunklineAdvanceEntity . setWaybillStatus ( "1" ) ;
}
trunklineAdvanceEntity . setWaybillNo ( advanceEntity . getWaybillNo ( ) ) ;
trunklineAdvanceEntity . setTrainNumber ( advanceEntity . getMctsTruck ( ) ) ;
Integer freeze = advanceEntity . getFreeze ( ) ;
if ( freeze = = 1 ) {
trunklineAdvanceEntity . setFreezeStatus ( "0" ) ;
} else if ( freeze = = 2 ) {
trunklineAdvanceEntity . setFreezeStatus ( "1" ) ;
}
String leaveBehind = advanceEntity . getLeaveBehind ( ) ;
if ( "N" . equals ( leaveBehind ) ) {
trunklineAdvanceEntity . setLegacyStatus ( "0" ) ;
} else if ( "Y" . equals ( leaveBehind ) ) {
trunklineAdvanceEntity . setLegacyStatus ( "1" ) ;
}
trunklineAdvanceEntity . setDeliveryDate ( CommonUtil . StringToDate ( advanceEntity . getDueDate ( ) ) ) ;
Long newAdvanceId = trunklineAdvanceClient . addAdvanceReturnId ( trunklineAdvanceEntity ) ;
if ( Objects . isNull ( newAdvanceId ) ) {
log . warn ( "#############saveAdvanceData: 保存暂存单失败 orderCode={}" , orderCode ) ;
continue ;
} else {
//生成对应的运单关联订单信息
TrunklineWaybillOrderEntity trunklineWaybillOrderEntity = new TrunklineWaybillOrderEntity ( ) ;
trunklineWaybillOrderEntity . setTenantId ( TenantNum . HUITONGCODE ) ;
trunklineWaybillOrderEntity . setCreateUser ( 1714696768639311873L ) ;
trunklineWaybillOrderEntity . setCreateTime ( date ) ;
trunklineWaybillOrderEntity . setUpdateUser ( 1714696768639311873L ) ;
trunklineWaybillOrderEntity . setUpdateTime ( date ) ;
trunklineWaybillOrderEntity . setStatus ( 1 ) ;
trunklineWaybillOrderEntity . setIsDeleted ( 0 ) ;
trunklineWaybillOrderEntity . setCreateDept ( 1649331096241836033L ) ;
trunklineWaybillOrderEntity . setWarehouseId ( basicdataWarehouseEntity . getId ( ) ) ;
trunklineWaybillOrderEntity . setWaybillNo ( basicdataWarehouseEntity . getName ( ) ) ;
trunklineWaybillOrderEntity . setWaybillId ( waybillId ) ;
trunklineWaybillOrderEntity . setWaybillNo ( waybillNo ) ;
trunklineWaybillOrderEntity . setAdvanceId ( newAdvanceId ) ;
trunklineWaybillOrderEntity . setOrderCode ( orderCode ) ;
trunklineWaybillOrderEntity . setTotalNumber ( totalNum ) ;
trunklineWaybillOrderEntity . setHandleNumber ( 0 ) ;
waybillOrderClient . addEntityReturnId ( trunklineWaybillOrderEntity ) ;
//查询暂存单包件
List < AdvanceDetailEntity > detailList = advanceDetailClient . findListByAdvanceId ( advanceId ) ;
List < TrunklineAdvanceDetailEntity > newPackageList = new ArrayList < > ( ) ;
for ( AdvanceDetailEntity advanceDetailEntity : detailList ) {
String unitNo = advanceDetailEntity . getUnitNo ( ) ;
TrunklineAdvanceDetailEntity trunklineAdvanceDetailEntity = new TrunklineAdvanceDetailEntity ( ) ;
trunklineAdvanceDetailEntity . setTenantId ( TenantNum . HUITONGCODE ) ;
trunklineAdvanceDetailEntity . setCreateUser ( 1714696768639311873L ) ;
trunklineAdvanceDetailEntity . setCreateTime ( date ) ;
trunklineAdvanceDetailEntity . setUpdateUser ( 1714696768639311873L ) ;
trunklineAdvanceDetailEntity . setUpdateTime ( date ) ;
trunklineAdvanceDetailEntity . setStatus ( 1 ) ;
trunklineAdvanceDetailEntity . setIsDeleted ( 0 ) ;
trunklineAdvanceDetailEntity . setCreateDept ( 1649331096241836033L ) ;
trunklineAdvanceDetailEntity . setWarehouseId ( basicdataWarehouseEntity . getId ( ) ) ;
trunklineAdvanceDetailEntity . setWarehouseName ( basicdataWarehouseEntity . getName ( ) ) ;
trunklineAdvanceDetailEntity . setAdvanceId ( newAdvanceId ) ;
trunklineAdvanceDetailEntity . setOrderCode ( advanceDetailEntity . getOrderSelfNum ( ) ) ;
trunklineAdvanceDetailEntity . setBrand ( advanceDetailEntity . getType ( ) ) ;
trunklineAdvanceDetailEntity . setSystemType ( advanceDetailEntity . getSystemType ( ) ) ;
trunklineAdvanceDetailEntity . setFirstPackName ( advanceDetailEntity . getFirstPackName ( ) ) ;
trunklineAdvanceDetailEntity . setSecondPackName ( advanceDetailEntity . getSecondPackName ( ) ) ;
trunklineAdvanceDetailEntity . setThirdPackName ( advanceDetailEntity . getThirdPackName ( ) ) ;
trunklineAdvanceDetailEntity . setSiteCode ( advanceDetailEntity . getSiteCode ( ) ) ;
trunklineAdvanceDetailEntity . setSiteName ( advanceDetailEntity . getSiteName ( ) ) ;
trunklineAdvanceDetailEntity . setQuantity ( Integer . parseInt ( advanceDetailEntity . getMscsNum ( ) ) ) ;
trunklineAdvanceDetailEntity . setOrderPackageCode ( unitNo ) ;
trunklineAdvanceDetailEntity . setTrainNumber ( advanceDetailEntity . getMctsTruck ( ) ) ;
trunklineAdvanceDetailEntity . setServiceNum ( advanceDetailEntity . getServiceNum ( ) ) ;
trunklineAdvanceDetailEntity . setWaybillNo ( waybillNo ) ;
trunklineAdvanceDetailEntity . setPackageStatus ( "1" ) ;
trunklineAdvanceDetailEntity . setChargeType ( 1 ) ;
newPackageList . add ( trunklineAdvanceDetailEntity ) ;
//同步包内明细
List < DetailProductEntity > detailProductList = detailProductClient . findListByUnitNo ( unitNo ) ;
List < TrunklineDetailProductEntity > trunklineDetailProductEntities = new ArrayList < > ( ) ;
for ( DetailProductEntity detailProductEntity : detailProductList ) {
TrunklineDetailProductEntity trunklineDetailProductEntity = new TrunklineDetailProductEntity ( ) ;
trunklineDetailProductEntity . setTenantId ( TenantNum . HUITONGCODE ) ;
trunklineDetailProductEntity . setCreateUser ( 1714696768639311873L ) ;
trunklineDetailProductEntity . setCreateTime ( date ) ;
trunklineDetailProductEntity . setUpdateUser ( 1714696768639311873L ) ;
trunklineDetailProductEntity . setUpdateTime ( date ) ;
trunklineDetailProductEntity . setStatus ( 1 ) ;
trunklineDetailProductEntity . setIsDeleted ( 0 ) ;
trunklineDetailProductEntity . setCreateDept ( 1649331096241836033L ) ;
trunklineDetailProductEntity . setWarehouseId ( basicdataWarehouseEntity . getId ( ) ) ;
trunklineDetailProductEntity . setWarehouseName ( basicdataWarehouseEntity . getName ( ) ) ;
trunklineDetailProductEntity . setUnitNo ( detailProductEntity . getUnitNo ( ) ) ;
trunklineDetailProductEntity . setProductCode ( detailProductEntity . getProductcode ( ) ) ;
trunklineDetailProductEntity . setProductName ( detailProductEntity . getProductname ( ) ) ;
trunklineDetailProductEntity . setQuantity ( detailProductEntity . getDelivernum ( ) ) ;
trunklineDetailProductEntities . add ( trunklineDetailProductEntity ) ;
}
trunklineDetailProductClient . addListEntity ( trunklineDetailProductEntities ) ;
}
trunklineAdvanceDetailClient . addAdvanceBatch ( newPackageList ) ;
}
}
log . info ( "##############saveAdvanceData: 运单同步已完成 waybillNo={}" , waybillNo ) ;
} else {
log . info ( "##############saveAdvanceData: 运单已有关联订单 waybillNo={}" , waybillNo ) ;
}
}
private void saveTrayTypeInfoPackageNew ( String orderCode , Integer oldWarehouseId , Long newWarehouseId , Integer inventoryId ) {