@ -38,14 +38,49 @@ import com.logpm.distribution.dto.DistributionStockListDTO;
import com.logpm.distribution.dto.DistrilbutionBillLadingDTO ;
import com.logpm.distribution.dto.OrderStatusDTO ;
import com.logpm.distribution.dto.app.BillLadingAppDTO ;
import com.logpm.distribution.entity.* ;
import com.logpm.distribution.entity.DisStockListDetailEntity ;
import com.logpm.distribution.entity.DistributionBillLadingScanEntity ;
import com.logpm.distribution.entity.DistributionDeliveryChargeEntity ;
import com.logpm.distribution.entity.DistributionDeliveryDetailsEntity ;
import com.logpm.distribution.entity.DistributionParcelListEntity ;
import com.logpm.distribution.entity.DistributionParcelNumberEntity ;
import com.logpm.distribution.entity.DistributionPrintEntity ;
import com.logpm.distribution.entity.DistributionReservationZeroPackageEntity ;
import com.logpm.distribution.entity.DistributionStockArticleEntity ;
import com.logpm.distribution.entity.DistributionStockEntity ;
import com.logpm.distribution.entity.DistributionStockListEntity ;
import com.logpm.distribution.entity.DistributionStockupEntity ;
import com.logpm.distribution.entity.DistributionStockupInfoEntity ;
import com.logpm.distribution.entity.DistributionStockupScanEntity ;
import com.logpm.distribution.entity.DistrilbutionBillLadingEntity ;
import com.logpm.distribution.entity.DistrilbutionBillPackageEntity ;
import com.logpm.distribution.entity.DistrilbutionBillStockEntity ;
import com.logpm.distribution.excel.DistributionBillInventoryExcel ;
import com.logpm.distribution.excel.DistributionBillOrderExcel ;
import com.logpm.distribution.excel.DistributionBillOrderPackExcel ;
import com.logpm.distribution.excel.DistrilbutionBillLadingExcel ;
import com.logpm.distribution.mapper.DistributionStockListMapper ;
import com.logpm.distribution.mapper.DistrilbutionBillLadingMapper ;
import com.logpm.distribution.service.* ;
import com.logpm.distribution.service.IDisStockListDetailService ;
import com.logpm.distribution.service.IDistributionAsyncService ;
import com.logpm.distribution.service.IDistributionBillLadingScanService ;
import com.logpm.distribution.service.IDistributionDeliveryChargeService ;
import com.logpm.distribution.service.IDistributionDeliveryDetailsService ;
import com.logpm.distribution.service.IDistributionNodeWorkService ;
import com.logpm.distribution.service.IDistributionParcelListService ;
import com.logpm.distribution.service.IDistributionParcelNumberService ;
import com.logpm.distribution.service.IDistributionPrintService ;
import com.logpm.distribution.service.IDistributionReservationService ;
import com.logpm.distribution.service.IDistributionReservationZeroPackageService ;
import com.logpm.distribution.service.IDistributionStockArticleService ;
import com.logpm.distribution.service.IDistributionStockListService ;
import com.logpm.distribution.service.IDistributionStockService ;
import com.logpm.distribution.service.IDistributionStockupInfoService ;
import com.logpm.distribution.service.IDistributionStockupScanService ;
import com.logpm.distribution.service.IDistributionStockupService ;
import com.logpm.distribution.service.IDistrilbutionBillLadingService ;
import com.logpm.distribution.service.IDistrilbutionBillPackageService ;
import com.logpm.distribution.service.IDistrilbutionBillStockService ;
import com.logpm.distribution.vo.DistributionDeliveryDetailsVO ;
import com.logpm.distribution.vo.DistributionParcelNumberVO ;
import com.logpm.distribution.vo.DistributionStockArticleVO ;
@ -3067,6 +3102,7 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
distributionBillLadingScan . setScanUser ( AuthUtil . getUser ( ) . getNickName ( ) ) ;
return processScan ( type , distributionBillLadingScan . getBillLadingId ( ) , coding , distributionBillLadingScan , myCurrentWarehouse , billLadingEntity1 . getPickupBatch ( ) ) ;
// return Resp.scanSuccess("签收成功", "签收成功");
@ -3501,6 +3537,7 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
billLadingEntity . setExamineUserName ( AuthUtil . getNickName ( ) ) ;
billLadingEntity . setExamineUserId ( AuthUtil . getUserId ( ) ) ;
this . updateById ( billLadingEntity ) ;
DistrilbutionBillLadingEntity distrilbutionBillLadingEntity = baseMapper . selectById ( billLadingEntity . getId ( ) ) ;
//完成备货状态
distributionStockupInfoService . maintenanceStockUp ( Long . parseLong ( s ) , 2 ) ;
//查询自提单是否完成扫描
@ -3516,6 +3553,44 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
distributionAsyncService . releaseBillLadingResource ( Long . parseLong ( s ) , myCurrentWarehouse . getId ( ) ) ;
}
parcelListIds . addAll ( ladingScanEntities . stream ( ) . map ( DistributionBillLadingScanEntity : : getParcelListId ) . collect ( Collectors . toSet ( ) ) ) ;
try {
List < DistributionParcelListEntity > listByOrderPackageCode = distributionParcelListService . findListByOrderPackageCode ( ladingScanEntities . stream ( ) . map ( DistributionBillLadingScanEntity : : getPacketBarCode ) . collect ( Collectors . toList ( ) ) , myCurrentWarehouse . getId ( ) ) ;
// 根据品牌分组
Map < String , List < DistributionParcelListEntity > > collect = listByOrderPackageCode . stream ( ) . collect ( Collectors . groupingBy ( DistributionParcelListEntity : : getBrandName ) ) ;
for ( Map . Entry < String , List < DistributionParcelListEntity > > entry : collect . entrySet ( ) ) {
String brand = entry . getKey ( ) ;
List < DistributionParcelListEntity > list = entry . getValue ( ) ;
// 按订单分组
Map < String , List < DistributionParcelListEntity > > collect1 = list . stream ( ) . collect ( Collectors . groupingBy ( DistributionParcelListEntity : : getOrderCode ) ) ;
for ( Map . Entry < String , List < DistributionParcelListEntity > > stringListEntry : collect1 . entrySet ( ) ) {
String orderCode = stringListEntry . getKey ( ) ;
List < DistributionParcelListEntity > list2 = stringListEntry . getValue ( ) ;
JSONObject js = new JSONObject ( ) ;
js . put ( "boId" , billLadingEntity . getId ( ) ) ;
js . put ( "consignee" , distrilbutionBillLadingEntity . getConsignee ( ) ) ;
js . put ( "images" , list1 . stream ( ) . map ( m - > m . getSite ( ) ) . collect ( Collectors . toList ( ) ) ) ;
NodePushMsg msg = new NodePushMsg ( ) ;
msg . setNode ( WorkNodeEnums . CLERK_REVIEW ) ;
msg . setBrand ( BrandEnums . getByValue ( brand ) ) ;
msg . setWarehouse ( myCurrentWarehouse . getName ( ) ) ;
msg . setOperator ( AuthUtil . getNickName ( ) ) ;
msg . setOperatorTime ( new Date ( ) ) ;
msg . setContent ( list2 . stream ( ) . map ( pushData - > {
return PushData . builder ( )
. packageCode ( pushData . getOrderPackageCode ( ) )
. warehouseName ( myCurrentWarehouse . getName ( ) )
. waybillNumber ( pushData . getWaybillNumber ( ) )
. orderCode ( pushData . getOrderCode ( ) )
. build ( ) ;
} ) . collect ( Collectors . toList ( ) ) ) ;
msg . setMain ( JSONUtil . toJsonStr ( js ) ) ;
log . info ( "推送工厂数据:{}" , JSONUtil . toJsonStr ( msg ) ) ;
factoryDataMessageSender . sendNodeDataByBrand ( msg ) ;
}
}
} catch ( Exception e ) {
log . error ( "推送失败:{}" , e ) ;
}
for ( DistributionBillLadingScanEntity ladingScanEntity : ladingScanEntities ) {
// 签收发送消息到工厂
pushFactoryOrderData ( myCurrentWarehouse . getId ( ) , ladingScanEntity . getParcelListId ( ) . toString ( ) , ladingScanEntity . getOrderSelfNumbering ( ) ) ;