@ -89,12 +89,12 @@ public class WarehouseRetentionRecordServiceImpl extends BaseServiceImpl<Warehou
BasicdataWarehouseEntity myCurrentWarehouse = warehouseClient . getMyCurrentWarehouse ( ) ;
if ( "admin" . equals ( AuthUtil . getUser ( ) . getUserName ( ) ) ) {
if ( Func . isNotEmpty ( myCurrentWarehouse ) ) {
if ( "admin" . equals ( AuthUtil . getUser ( ) . getUserName ( ) ) ) {
if ( Func . isNotEmpty ( myCurrentWarehouse ) ) {
warehouseRetentionRecord . setRetentionWarehouseId ( myCurrentWarehouse . getId ( ) ) ;
}
} else {
if ( Func . isEmpty ( myCurrentWarehouse ) ) {
} else {
if ( Func . isEmpty ( myCurrentWarehouse ) ) {
return null ;
}
warehouseRetentionRecord . setRetentionWarehouseId ( myCurrentWarehouse . getId ( ) ) ;
@ -169,7 +169,7 @@ public class WarehouseRetentionRecordServiceImpl extends BaseServiceImpl<Warehou
warehouseRetentionRecordVO . setRetentionScanVOList ( WarehouseRetentionScanWrapper . build ( ) . listVO ( retentionScanEntityList ) ) ;
}
warehouseRetentionRecordVO . setRetentionTotal ( 0 ) ;
if ( Func . isNotEmpty ( retentionScanEntityList ) ) {
if ( Func . isNotEmpty ( retentionScanEntityList ) ) {
int retentionTotal = retentionScanEntityList . stream ( ) . mapToInt ( WarehouseRetentionScanEntity : : getRetentionQuantity ) . sum ( ) ;
warehouseRetentionRecordVO . setRetentionTotal ( retentionTotal ) ;
@ -192,69 +192,50 @@ public class WarehouseRetentionRecordServiceImpl extends BaseServiceImpl<Warehou
//对滞留订制品包件进行去重
BladeUser user = AuthUtil . getUser ( ) ;
//TODO 保存车次数据还需要处理
WarehouseRetentionRecordEntity warehouseRetentionRecordEntity = new WarehouseRetentionRecordEntity ( ) ;
warehouseRetentionRecordEntity . setTaskId ( warehouseRetentionRecordDTO . getDeliveryId ( ) ) ;
// warehouseRetentionRecordEntity.setRemark(warehouseRetentionRecordDTO.getRemark());
warehouseRetentionRecordEntity . setRetentionCarNo ( warehouseRetentionRecordDTO . getTrainNumber ( ) ) ;
warehouseRetentionRecordEntity . setRetentionType ( 2 ) ;
warehouseRetentionRecordEntity . setRetentionCarId ( warehouseRetentionRecordDTO . getLoadingId ( ) ) ;
warehouseRetentionRecordEntity . setRetentionWarehouseId ( myCurrentWarehouse . getId ( ) ) ;
warehouseRetentionRecordEntity . setRetentionWarehouseName ( myCurrentWarehouse . getName ( ) ) ;
warehouseRetentionRecordEntity . setAssembleCarPersonId ( warehouseRetentionRecordDTO . getAssembleCarPersonId ( ) ) ;
warehouseRetentionRecordEntity . setAssembleCarPersonName ( warehouseRetentionRecordDTO . getAssembleCarPersonName ( ) ) ;
warehouseRetentionRecordEntity . setRetentionCreateUserId ( user . getUserId ( ) ) ;
warehouseRetentionRecordEntity . setRetentionCreateUserName ( user . getUserName ( ) ) ;
this . save ( warehouseRetentionRecordEntity ) ;
AtomicInteger retentionTotal = new AtomicInteger ( ) ;
AtomicBoolean saveFlah = new AtomicBoolean ( false ) ;
warehouseRetentionScanDTOS . forEach ( r - > {
//查询是否进行多次滞留
WarehouseRetentionScanEntity retentionScanServiceOne = warehouseRetentionScanService . getOne ( Wrappers . < WarehouseRetentionScanEntity > query ( ) . lambda ( )
. eq ( WarehouseRetentionScanEntity : : getConditions , r . getConditions ( ) )
. eq ( WarehouseRetentionScanEntity : : getOrderPackageId , r . getOrderPackageId ( ) )
. eq ( WarehouseRetentionScanEntity : : getReservationId , r . getReservationId ( ) )
. eq ( WarehouseRetentionScanEntity : : getOrderId , r . getOrderId ( ) )
. eq ( WarehouseRetentionScanEntity : : getOrderCode , r . getOrderCode ( ) )
. eq ( WarehouseRetentionScanEntity : : getScanType , r . getScanType ( ) )
. eq ( WarehouseRetentionScanEntity : : getCancelRetentionStatus , IsOrNoConstant . no . getValue ( ) )
) ;
//避免重复添加相同的滞留包件数据
if ( Func . isEmpty ( retentionScanServiceOne ) ) {
r . setRetentionScanTime ( new Date ( ) ) ;
r . setRetentionScanUserId ( user . getUserId ( ) ) ;
r . setRetentionScanUsername ( user . getNickName ( ) ) ;
r . setRetentionQuantity ( r . getRetentionQuantity ( ) ) ;
retentionTotal . getAndAdd ( r . getRetentionQuantity ( ) ) ;
r . setDeliveryId ( warehouseRetentionRecordDTO . getDeliveryId ( ) ) ;
r . setRefId ( warehouseRetentionRecordEntity . getId ( ) ) ;
//进行滞留之后需要对包件进行取消配送的操作
Integer conditions = r . getConditions ( ) ;
warehouseRetentionScanService . save ( Func . copy ( r , WarehouseRetentionScanEntity . class ) ) ;
//查询是否进行多次滞留
WarehouseRetentionScanEntity retentionScanServiceOne = warehouseRetentionScanService . getOne ( Wrappers . < WarehouseRetentionScanEntity > query ( ) . lambda ( )
. eq ( WarehouseRetentionScanEntity : : getConditions , r . getConditions ( ) )
. eq ( WarehouseRetentionScanEntity : : getOrderPackageId , r . getOrderPackageId ( ) )
. eq ( WarehouseRetentionScanEntity : : getReservationId , r . getReservationId ( ) )
. eq ( WarehouseRetentionScanEntity : : getOrderId , r . getOrderId ( ) )
. eq ( WarehouseRetentionScanEntity : : getOrderCode , r . getOrderCode ( ) )
. eq ( WarehouseRetentionScanEntity : : getScanType , r . getScanType ( ) )
. eq ( WarehouseRetentionScanEntity : : getCancelRetentionStatus , IsOrNoConstant . no . getValue ( ) )
) ;
//避免重复添加相同的滞留包件数据
if ( Func . isEmpty ( retentionScanServiceOne ) ) {
r . setRetentionScanTime ( new Date ( ) ) ;
r . setRetentionScanUserId ( user . getUserId ( ) ) ;
r . setRetentionScanUsername ( user . getNickName ( ) ) ;
r . setRetentionQuantity ( r . getRetentionQuantity ( ) ) ;
retentionTotal . getAndAdd ( r . getRetentionQuantity ( ) ) ;
r . setDeliveryId ( warehouseRetentionRecordDTO . getDeliveryId ( ) ) ;
//进行滞留之后需要对包件进行取消配送的操作
warehouseRetentionScanService . save ( Func . copy ( r , WarehouseRetentionScanEntity . class ) ) ;
}
switch ( r . getConditions ( ) ) {
case 1 :
//订制品
saveFlah . set ( distributionDeliveryListClient . retentionDeliveryReservationPackage ( r . getDeliveryId ( ) , r . getReservationId ( ) , r . getOrderPackageId ( ) , r . getConditions ( ) ) ) ;
break ;
case 2 :
//库存品
saveFlah . set ( distributionDeliveryListClient . retentionDeliveryReservationInventory ( r . getDeliveryId ( ) , r . getReservationId ( ) , r . getOrderPackageId ( ) ) ) ;
break ;
case 3 :
//零担
saveFlah . set ( distributionDeliveryListClient . retentionDeliveryReservationZeroPackage ( r . getDeliveryId ( ) , r . getReservationId ( ) , r . getOrderPackageId ( ) , r . getRetentionQuantity ( ) , r . getOrderId ( ) ) ) ;
break ;
}
switch ( r . getConditions ( ) ) {
case 1 :
//订制品
saveFlah . set ( distributionDeliveryListClient . retentionDeliveryReservationPackage ( r . getDeliveryId ( ) , r . getReservationId ( ) , r . getOrderPackageId ( ) , r . getConditions ( ) ) ) ;
break ;
case 2 :
//库存品
saveFlah . set ( distributionDeliveryListClient . retentionDeliveryReservationInventory ( r . getDeliveryId ( ) , r . getReservationId ( ) , r . getOrderPackageId ( ) ) ) ;
break ;
case 3 :
//零担
saveFlah . set ( distributionDeliveryListClient . retentionDeliveryReservationZeroPackage ( r . getDeliveryId ( ) , r . getReservationId ( ) , r . getOrderPackageId ( ) , r . getRetentionQuantity ( ) , r . getOrderId ( ) ) ) ;
break ;
}
//进行滞留操作的包件需要和原来订单 预约进行绑定解除
// reservationClient.retentionCancelReservationPack();
} ) ;
if ( saveFlah . get ( ) ) {
warehouseRetentionRecordEntity . setRetentionQuantity ( retentionTotal . get ( ) ) ;
this . updateById ( warehouseRetentionRecordEntity ) ;
return Resp . scanSuccess ( "操作成功" , retentionTotal . get ( ) + "件" ) ;
} else {
if ( saveFlah . get ( ) ) {
return Resp . scanSuccess ( "操作成功" , retentionTotal . get ( ) + "件" ) ;
} else {
throw new RuntimeException ( "服务器正忙..." ) ;
}
@ -304,7 +285,7 @@ public class WarehouseRetentionRecordServiceImpl extends BaseServiceImpl<Warehou
rs . setDeliveryId ( warehouseRetentionScanDTOS . getDeliveryId ( ) ) ;
rs . setRefId ( retentionRecordEntity . getId ( ) ) ;
warehouseRetentionScanService . save ( Func . copy ( rs , WarehouseRetentionScanEntity . class ) ) ;
switch ( rs . getConditions ( ) ) {
switch ( rs . getConditions ( ) ) {
case 1 :
//订制品
saveFlah . set ( distributionDeliveryListClient . retentionDeliveryReservationPackage ( rs . getDeliveryId ( ) , rs . getReservationId ( ) , rs . getOrderPackageId ( ) , rs . getConditions ( ) ) ) ;
@ -315,10 +296,10 @@ public class WarehouseRetentionRecordServiceImpl extends BaseServiceImpl<Warehou
break ;
case 3 :
//零担
saveFlah . set ( distributionDeliveryListClient . retentionDeliveryReservationZeroPackage ( rs . getDeliveryId ( ) , rs . getReservationId ( ) , rs . getOrderPackageId ( ) , rs . getRetentionQuantity ( ) , rs . getOrderId ( ) ) ) ;
saveFlah . set ( distributionDeliveryListClient . retentionDeliveryReservationZeroPackage ( rs . getDeliveryId ( ) , rs . getReservationId ( ) , rs . getOrderPackageId ( ) , rs . getRetentionQuantity ( ) , rs . getOrderId ( ) ) ) ;
break ;
default :
log . error ( ">>>>> rs.getConditions()={}" , rs . getConditions ( ) ) ;
log . error ( ">>>>> rs.getConditions()={}" , rs . getConditions ( ) ) ;
}
}
@ -330,16 +311,15 @@ public class WarehouseRetentionRecordServiceImpl extends BaseServiceImpl<Warehou
. eq ( WarehouseRetentionScanEntity : : getRefId , warehouseRetentionScanDTOS . getId ( ) ) ) . stream ( ) . mapToInt ( WarehouseRetentionScanEntity : : getRetentionQuantity ) . sum ( ) ;
retentionRecordEntity . setRetentionQuantity ( retentionTotal ) ;
this . updateById ( retentionRecordEntity ) ;
if ( saveFlah . get ( ) ) {
return Resp . scanSuccess ( "操作成功" , "共计滞留" + retentionTotal + "件" ) ;
} else {
if ( saveFlah . get ( ) ) {
return Resp . scanSuccess ( "操作成功" , "共计滞留" + retentionTotal + "件" ) ;
} else {
throw new RuntimeException ( "服务器正忙..." ) ;
}
}
@Override
public List < WarehouseRetentionRecordExcel > exportWarehouseRetentionRecord ( Map < String , Object > paramMap ) {
// 获取当前登录的仓库信息
@ -371,34 +351,34 @@ public class WarehouseRetentionRecordServiceImpl extends BaseServiceImpl<Warehou
WarehouseRetentionRecordVO warehouseRetentionRecordVO = Func . copy ( warehouseRetentionRecordEntity , WarehouseRetentionRecordVO . class ) ;
//查询滞留列表信息 然后这里需要对滞留包件进行分组处理
List < WarehouseRetentionScanVO > warehouseRetentionScanVOS = baseMapper . selectWarehouseRetentionScanVoList ( id ) ;
if ( Func . isEmpty ( warehouseRetentionScanVOS ) ) {
log . info ( "##########查询滞留包件信息空:{}" , id ) ;
if ( Func . isEmpty ( warehouseRetentionScanVOS ) ) {
log . info ( "##########查询滞留包件信息空:{}" , id ) ;
return null ;
}
warehouseRetentionRecordVO . setRetentionScanVOList ( warehouseRetentionScanVOS ) ;
//查询配送信息
List < Long > deliveryIds = warehouseRetentionScanVOS . stream ( ) . filter ( del - > Func . isNotEmpty ( del . getDeliveryId ( ) ) ) . map ( WarehouseRetentionScanVO : : getDeliveryId ) . distinct ( ) . collect ( Collectors . toList ( ) ) ;
if ( deliveryIds . size ( ) = = 1 ) {
if ( deliveryIds . size ( ) = = 1 ) {
DistributionDeliveryListVO deliveryDriverInfo = distributionDeliveryListClient . getRetentionDelivery ( deliveryIds . get ( 0 ) ) ;
if ( Func . isNotEmpty ( deliveryDriverInfo ) ) {
if ( Func . isNotEmpty ( deliveryDriverInfo ) ) {
warehouseRetentionRecordVO . setDeliveryListVO ( deliveryDriverInfo ) ;
}
} else {
} else {
return null ;
}
//获取客户信息
List < Long > reservationIds = warehouseRetentionScanVOS . stream ( ) . filter ( f - > Func . isNotEmpty ( f . getReservationId ( ) ) ) . map ( WarehouseRetentionScanVO : : getReservationId ) . collect ( Collectors . toList ( ) ) ;
if ( Func . isNotEmpty ( reservationIds ) ) {
List < Long > reservationIds = warehouseRetentionScanVOS . stream ( ) . filter ( f - > Func . isNotEmpty ( f . getReservationId ( ) ) ) . map ( WarehouseRetentionScanVO : : getReservationId ) . collect ( Collectors . toList ( ) ) ;
if ( Func . isNotEmpty ( reservationIds ) ) {
String ids = reservationIds . stream ( ) . map ( Objects : : toString ) . collect ( Collectors . joining ( "," ) ) ;
List < DistributionReservationEntity > reservationEntityList = distributionReservationClient . getReservationList ( ids ) ;
if ( Func . isNotEmpty ( reservationEntityList ) ) {
if ( Func . isNotEmpty ( reservationEntityList ) ) {
//构造滞留所需要展示的预约信息
warehouseRetentionRecordVO . setReservationEntityList ( reservationEntityList ) ;
} else {
log . error ( "##########查询多个预约ID为空:{}" , reservationIds ) ;
} else {
log . error ( "##########查询多个预约ID为空:{}" , reservationIds ) ;
return null ;
}
} else {
} else {
return null ;
}
return warehouseRetentionRecordVO ;
@ -406,10 +386,10 @@ public class WarehouseRetentionRecordServiceImpl extends BaseServiceImpl<Warehou
@Override
public List < WarehouseRetentionScanVO > getRetentionPackageByType ( Long retentionId , Integer type ) {
if ( type = = 0 ) {
if ( type = = 0 ) {
type = null ;
}
List < WarehouseRetentionScanVO > warehouseRetentionScanVOS = baseMapper . selectWarehouseRetentionScanVoListByType ( retentionId , type ) ;
List < WarehouseRetentionScanVO > warehouseRetentionScanVOS = baseMapper . selectWarehouseRetentionScanVoListByType ( retentionId , type ) ;
return warehouseRetentionScanVOS ;
}