@ -257,7 +257,7 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
}
} else {
if ( list1 . size ( ) < 1 ) {
if ( list1 . isEmpty ( ) ) {
//取消库存占用数量
distributionAsyncService . getInventoryNumUpdate ( i . getStockListId ( ) , i . getQuantity ( ) , 2 ) ;
}
@ -267,7 +267,7 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
}
} ) ;
//删除没有的库存品
if ( ids . size ( ) > 0 ) {
if ( ! ids . isEmpty ( ) ) {
ids . forEach ( a - > {
DistributionDeliveryDetailsEntity deliveryDetails = new DistributionDeliveryDetailsEntity ( ) ;
deliveryDetails . setId ( a ) ;
@ -326,7 +326,7 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
}
}
//操作图片
if ( distrilbutionBillLading . getPrintList ( ) . size ( ) > 0 ) {
if ( ! distrilbutionBillLading . getPrintList ( ) . isEmpty ( ) ) {
addPrint ( distrilbutionBillLading ) ;
}
@ -334,7 +334,7 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
}
//添加库存品信息
if ( distrilbutionBillLading . getStockDTOList ( ) . size ( ) > 0 ) {
if ( ! distrilbutionBillLading . getStockDTOList ( ) . isEmpty ( ) ) {
//没有
List < DistributionDeliveryDetailsEntity > detailsEntities = new ArrayList < > ( ) ;
Boolean finalLas = las ;
@ -358,7 +358,7 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
}
//添加费用
if ( distrilbutionBillLading . getFei ( ) . size ( ) > 0 ) {
if ( ! distrilbutionBillLading . getFei ( ) . isEmpty ( ) ) {
List < DistributionDeliveryChargeEntity > listEntity = new ArrayList < > ( ) ;
distrilbutionBillLading . getFei ( ) . forEach ( ( k , v ) - > {
DistributionDeliveryChargeEntity distributionDeliveryCharge = new DistributionDeliveryChargeEntity ( ) ;
@ -497,7 +497,7 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
if ( i . getConditions ( ) . equals ( "10" ) ) {
//未
List < DistributionStockEntity > list1 = distributionStockService . list ( Wrappers . < DistributionStockEntity > query ( ) . lambda ( ) . eq ( DistributionStockEntity : : getStockArticle , i . getStockArticleId ( ) ) ) ;
if ( list1 . size ( ) = = 0 ) {
if ( list1 . isEmpty ( ) ) {
//取消
DistributionStockArticleEntity stockArticleEntity = new DistributionStockArticleEntity ( ) ;
stockArticleEntity . setId ( i . getStockArticleId ( ) ) ;
@ -757,7 +757,7 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
List < DistributionDeliveryDetailsEntity > list1 = distributionDeliveryDetailsService . list ( Wrappers . < DistributionDeliveryDetailsEntity > query ( ) . lambda ( )
. eq ( DistributionDeliveryDetailsEntity : : getBillLadingId , billLadingId )
) ;
if ( list1 . size ( ) > 0 ) {
if ( ! list1 . isEmpty ( ) ) {
long count = list1 . stream ( ) . filter ( i - > i . getConditions ( ) . equals ( "2" ) ) . count ( ) ;
signedNum + = ( int ) count ;
}
@ -766,14 +766,14 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
. eq ( DistributionBillLadingScanEntity : : getBillLadingId , billLadingId )
. eq ( DistributionBillLadingScanEntity : : getMaterialType , "1" )
) ;
if ( list2 . size ( ) > 0 ) {
if ( ! list2 . isEmpty ( ) ) {
signedNum + = list2 . size ( ) ;
}
// planNum += list.stream().mapToInt(DistributionDeliveryDetailsEntity::getQuantity).sum();
DistrilbutionAppBillLadingOrderMainVO mainVO = new DistrilbutionAppBillLadingOrderMainVO ( ) ;
mainVO . setOrderNum ( orderNum ) ;
if ( list . size ( ) > 0 ) {
if ( ! list . isEmpty ( ) ) {
mainVO . setInventoryNub ( list . stream ( ) . mapToInt ( DistributionDeliveryDetailsEntity : : getQuantity ) . sum ( ) ) ;
} else {
mainVO . setInventoryNub ( 0 ) ;
@ -919,7 +919,7 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
. eq ( DistributionStockupScanEntity : : getPackageType , '1' )
. eq ( DistributionStockupScanEntity : : getParcelListId , i . getId ( ) )
) ;
i . setStockUp ( list . size ( ) > 0 ? "已备货" : "未备货" ) ;
i . setStockUp ( ! list . isEmpty ( ) ? "已备货" : "未备货" ) ;
} ) ;
return distrilbutionBillLadingOwnVOIPage ;
}
@ -1014,7 +1014,7 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
List < DistributionDeliveryDetailsEntity > list3 = distributionDeliveryDetailsService . list ( Wrappers . < DistributionDeliveryDetailsEntity > query ( ) . lambda ( )
. eq ( DistributionDeliveryDetailsEntity : : getBillLadingId , distrilbutionBillLadingEntity . getId ( ) )
) ;
if ( list3 . size ( ) > 0 ) {
if ( ! list3 . isEmpty ( ) ) {
list3 . forEach ( i - > {
DistributionStockListEntity one = distributionStockListService . getOne ( Wrappers . < DistributionStockListEntity > query ( ) . lambda ( )
. eq ( DistributionStockListEntity : : getId , i . getStockListId ( ) )
@ -1086,7 +1086,7 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
. eq ( DistributionBillLadingScanEntity : : getMaterialType , type )
. eq ( DistributionBillLadingScanEntity : : getPacketBarCode , coding )
) ;
if ( list3 . size ( ) > 0 ) {
if ( ! list3 . isEmpty ( ) ) {
return Resp . scanFail ( "已签收!" , "已签收!" ) ;
}
@ -1125,7 +1125,7 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
List < DistrilbutionBillStockEntity > list = distrilbutionBillStockService . list ( Wrappers . < DistrilbutionBillStockEntity > query ( ) . lambda ( )
. eq ( DistrilbutionBillStockEntity : : getBillLadingId , billLadingId )
) ;
if ( list . size ( ) < 1 ) {
if ( list . isEmpty ( ) ) {
return Resp . scanFail ( "当前提货任务,订单不存在!" , "当前提货任务,订单不存在!" ) ;
} else {
AtomicBoolean n = new AtomicBoolean ( false ) ;
@ -1135,7 +1135,7 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
. eq ( DistributionParcelListEntity : : getStockArticleId , so . getStockArticleId ( ) )
. eq ( DistributionParcelListEntity : : getOrderPackageCode , coding )
) ;
if ( list1 . size ( ) > 0 ) {
if ( ! list1 . isEmpty ( ) ) {
n . set ( true ) ;
//查询订单包件数量签收的信息
DistributionStockArticleEntity one = distributionStockArticleService . getOne ( Wrappers . < DistributionStockArticleEntity > query ( ) . lambda ( )
@ -1267,7 +1267,7 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
. eq ( DistrilbutionBillStockEntity : : getOrderStatus , "1" )
. or ( ew - > ew . eq ( DistrilbutionBillStockEntity : : getBillLadingId , s ) . eq ( DistrilbutionBillStockEntity : : getOrderStatus , "2" ) )
) ;
if ( list . size ( ) > 0 ) {
if ( ! list . isEmpty ( ) ) {
list . forEach ( li - > {
DistributionStockArticleEntity stockArticleEntity = new DistributionStockArticleEntity ( ) ;
stockArticleEntity . setOrderStatus ( OrderStatusConstant . qianshou . getValue ( ) ) ;
@ -1428,7 +1428,7 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
}
/ * *
* 零担的物料数据查询
* 零担的包件 物料数据查询
* @param billLadingAppDTO
* @return
* /
@ -1446,12 +1446,8 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
DistributionParcelListEntity byId = distributionParcelListService . getById ( i . getParcelListId ( ) ) ;
DistrilbutionAppBillLadingZeroVO billLadingZeroVO = new DistrilbutionAppBillLadingZeroVO ( ) ;
BeanUtils . copyProperties ( byId , billLadingZeroVO ) ;
DistributionReservationZeroPackageEntity one = distributionZeroPackageService . getOne ( Wrappers . < DistributionReservationZeroPackageEntity > query ( ) . lambda ( )
. eq ( DistributionReservationZeroPackageEntity : : getParcelListId , byId . getId ( ) )
. eq ( DistributionReservationZeroPackageEntity : : getIsDeleted , 0 )
. in ( DistributionReservationZeroPackageEntity : : getZeroPackageStatus , "1" , "3" )
) ;
billLadingZeroVO . setReservationQuantity ( one . getQuantity ( ) ) ;
billLadingZeroVO . setReservationQuantity ( i . getQuantity ( ) ) ;
billLadingZeroVO . setRealityQuantity ( i . getRealityQuantity ( ) ) ;
parcelListEntityList . add ( billLadingZeroVO ) ;
} ) ;
}
@ -1495,9 +1491,9 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
// billLadingScan.setQuantity(i.getQuantity());
// billLadingScanList.add(billLadingScan);
// });
//查询
//修改签收状态
billLadingAppDTO . getList ( ) . stream ( ) . collect ( Collectors . groupingBy ( DistributionParcelListEntity : : getStockArticleId ) )
billLadingAppDTO . getList ( ) . stream ( ) . collect ( Collectors . groupingBy ( DistrilbutionAppBillLadingZeroVO : : getStockArticleId ) )
. forEach ( ( k , v ) - > {
v . forEach ( i - > {
//修改包件签收状态
@ -1524,34 +1520,18 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
billLadingScan . setQuantity ( i . getQuantity ( ) ) ;
billLadingScanList . add ( billLadingScan ) ;
} ) ;
int sum = v . stream ( ) . mapToInt ( DistributionParcelListEntity : : getQuantity ) . sum ( ) ; //填写的签收数量
//查询 订单数量
DistributionStockArticleEntity byId = distributionStockArticleService . getById ( k ) ;
DistributionStockArticleEntity stockArticleEntity = new DistributionStockArticleEntity ( ) ;
if ( sum = = byId . getTotalNumber ( ) ) {
stockArticleEntity . setOrderReceiveStatus ( OrderStatusConstant . qianshou . getValue ( ) ) ;
} else {
stockArticleEntity . setOrderReceiveStatus ( OrderStatusConstant . bufenqianshou . getValue ( ) ) ;
}
//修改订单状态
stockArticleEntity . setId ( k ) ;
distributionStockArticleService . updateById ( stockArticleEntity ) ;
//预约的数量
int sum1 = list . stream ( ) . collect ( Collectors . groupingBy ( DistributionReservationZeroPackageEntity : : getStockArticleId ) ) . get ( k ) . stream ( ) . mapToInt ( DistributionReservationZeroPackageEntity : : getQuantity ) . sum ( ) ;
if ( sum > = sum1 ) {
//修改提货提货状态
distrilbutionBillStockService . update ( Wrappers . < DistrilbutionBillStockEntity > update ( )
. eq ( "bill_lading_id" , billLadingAppDTO . getBillLadingId ( ) )
. eq ( "stock_article_id" , k )
. set ( "conditions" , 2 )
) ;
}
int sum = v . stream ( ) . mapToInt ( DistrilbutionAppBillLadingZeroVO : : getQuantity ) . sum ( ) ; //填写的签收数量
//修改订单签收钻状态
updateStockArticle ( sum , k ) ;
//修改提货订单状态
updateBillStock ( sum , list , k , billLadingAppDTO . getBillLadingId ( ) ) ;
} ) ;
if ( ! billLadingScanList . isEmpty ( ) ) {
distributionBillLadingScanService . saveBatch ( billLadingScanList ) ;
distributionAsyncService . getStockUPstate ( billLadingAppDTO . getBillLadingId ( ) ) ;
return Resp . scanSuccess ( "签收成功!" , "签收成功!" ) ;
}
distributionAsyncService . getStockUPstate ( billLadingAppDTO . getBillLadingId ( ) ) ;
return Resp . scanSuccess ( "签收失败!" , "签收失败!" ) ;
}
@ -1562,7 +1542,26 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
* /
@Override
public R zeroBillOrderData ( BillLadingAppDTO billLadingAppDTO ) {
return null ;
//查询订单
List < DistributionReservationZeroPackageEntity > list = distributionZeroPackageService . list ( Wrappers . < DistributionReservationZeroPackageEntity > query ( ) . lambda ( )
. eq ( DistributionReservationZeroPackageEntity : : getReservationId , billLadingAppDTO . getBillLadingId ( ) )
. eq ( DistributionReservationZeroPackageEntity : : getIsDeleted , 0 )
. in ( DistributionReservationZeroPackageEntity : : getZeroPackageStatus , "1" , "3" )
) ;
List < DistrilbutionAppBillLadingZeroOrderVO > billLadingZeroOrderVOS = new ArrayList < > ( ) ;
if ( ! list . isEmpty ( ) ) {
//查询订单信息
list . forEach ( i - > {
DistributionStockArticleEntity byId = distributionStockArticleService . getById ( i . getStockArticleId ( ) ) ;
DistrilbutionAppBillLadingZeroOrderVO zeroOrderVO = new DistrilbutionAppBillLadingZeroOrderVO ( ) ;
BeanUtils . copyProperties ( byId , zeroOrderVO ) ;
zeroOrderVO . setReservationQuantity ( i . getQuantity ( ) ) ;
zeroOrderVO . setRealityQuantity ( i . getRealityQuantity ( ) ) ;
billLadingZeroOrderVOS . add ( zeroOrderVO ) ;
} ) ;
}
return R . data ( billLadingZeroOrderVOS ) ;
}
/ * *
@ -1572,6 +1571,106 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
* /
@Override
public R zeroBillPack ( BillLadingAppDTO billLadingAppDTO ) {
return null ;
DistrilbutionAppBillLadingZeroVO i = billLadingAppDTO . getBillLadingZeroVO ( ) ;
String lockKey = "lock:" + i . getStockArticleId ( ) + i . getId ( ) ;
RLock lock = new RedissonConfig ( ) . redisson ( ) . getLock ( lockKey ) ;
if ( lock . isLocked ( ) ) {
throw new ServiceException ( "请勿重复提交!!!" ) ;
}
lock . lock ( 5 , TimeUnit . SECONDS ) ;
List < DistributionReservationZeroPackageEntity > list = distributionZeroPackageService . list ( Wrappers . < DistributionReservationZeroPackageEntity > query ( ) . lambda ( )
. eq ( DistributionReservationZeroPackageEntity : : getReservationId , billLadingAppDTO . getBillLadingId ( ) )
. eq ( DistributionReservationZeroPackageEntity : : getIsDeleted , 0 )
. eq ( DistributionReservationZeroPackageEntity : : getStockArticleId , i . getStockArticleId ( ) )
. in ( DistributionReservationZeroPackageEntity : : getZeroPackageStatus , "1" , "3" )
) ;
//查询是否签收
DistrilbutionBillStockEntity one = distrilbutionBillStockService . getOne ( Wrappers . < DistrilbutionBillStockEntity > query ( ) . lambda ( )
. eq ( DistrilbutionBillStockEntity : : getBillLadingId , billLadingAppDTO . getBillLadingId ( ) )
. eq ( DistrilbutionBillStockEntity : : getStockArticleId , i . getStockArticleId ( ) )
. eq ( DistrilbutionBillStockEntity : : getConditions , "2" )
) ;
if ( ! ObjectUtils . isNotNull ( one ) ) {
return Resp . scanFail ( "已签收!" , "已签收!" ) ;
}
//修改包件签收状态
DistributionParcelListEntity parcelListEntity = new DistributionParcelListEntity ( ) ;
//判断是否大于总件数的数量
DistributionParcelListEntity byId = distributionParcelListService . getById ( i . getId ( ) ) ;
if ( i . getQuantity ( ) > byId . getQuantity ( ) ) {
throw new ServiceException ( "签收数量大于订单数量!!" ) ;
} else if ( i . getQuantity ( ) . equals ( byId . getQuantity ( ) ) ) {
parcelListEntity . setId ( byId . getId ( ) ) ;
parcelListEntity . setOrderPackageStatus ( OrderPackageStatusConstant . yiqianshou . getValue ( ) ) ;
} else {
parcelListEntity . setId ( byId . getId ( ) ) ;
parcelListEntity . setOrderPackageStatus ( OrderPackageStatusConstant . bufenqianshou . getValue ( ) ) ;
}
distributionParcelListService . updateById ( parcelListEntity ) ;
DistributionBillLadingScanEntity billLadingScan = new DistributionBillLadingScanEntity ( ) ;
billLadingScan . setScanType ( 2 ) ;
billLadingScan . setParcelListId ( i . getId ( ) ) ;
billLadingScan . setOrderSelfNumbering ( i . getOrderCode ( ) ) ;
billLadingScan . setStockArticleId ( i . getStockArticleId ( ) ) ;
billLadingScan . setBillLadingId ( billLadingAppDTO . getBillLadingId ( ) ) ;
billLadingScan . setMaterialType ( "3" ) ;
billLadingScan . setQuantity ( i . getQuantity ( ) ) ;
//获取全部订单的全部预约数量
// int sum = list.stream().filter(z -> z.getStockArticleId().equals(i.getStockArticleId())).collect(Collectors.toList()).stream().mapToInt(DistributionReservationZeroPackageEntity::getQuantity).sum();
//获取已签收数量
List < DistributionBillLadingScanEntity > list1 = distributionBillLadingScanService . list ( Wrappers . < DistributionBillLadingScanEntity > query ( ) . lambda ( )
. eq ( DistributionBillLadingScanEntity : : getBillLadingId , billLadingAppDTO . getBillLadingId ( ) )
. eq ( DistributionBillLadingScanEntity : : getStockArticleId , i . getStockArticleId ( ) )
. eq ( DistributionBillLadingScanEntity : : getScanType , "2" )
) ;
if ( ! list1 . isEmpty ( ) ) {
int sum1 = list1 . stream ( ) . mapToInt ( DistributionBillLadingScanEntity : : getQuantity ) . sum ( ) ;
//修改提货订单状态
updateBillStock ( sum1 + i . getQuantity ( ) , list , i . getStockArticleId ( ) , billLadingAppDTO . getBillLadingId ( ) ) ;
}
//添加签收记录
distributionBillLadingScanService . save ( billLadingScan ) ;
//修改提货状态
distributionAsyncService . getStockUPstate ( billLadingAppDTO . getBillLadingId ( ) ) ;
return Resp . scanSuccess ( "签收成功!" , "签收成功!" ) ;
}
/ * *
* 修改订单状态
* @return
* /
public Boolean updateStockArticle ( Integer sum , Long stockArticleId ) {
DistributionStockArticleEntity stockArticleEntity = new DistributionStockArticleEntity ( ) ;
//查询 订单数量
DistributionStockArticleEntity byId = distributionStockArticleService . getById ( stockArticleId ) ;
if ( sum . equals ( byId . getTotalNumber ( ) ) ) {
stockArticleEntity . setOrderReceiveStatus ( OrderStatusConstant . bufenqianshou . getValue ( ) ) ;
} else {
stockArticleEntity . setOrderReceiveStatus ( OrderStatusConstant . qianshou . getValue ( ) ) ;
}
//修改订单状态
stockArticleEntity . setId ( stockArticleId ) ;
return distributionStockArticleService . updateById ( stockArticleEntity ) ;
}
/ * *
* 修改提货订单状态
* /
public Boolean updateBillStock ( Integer sum , List < DistributionReservationZeroPackageEntity > list , Long stockArticleId , Long billLadingId ) {
int sum1 = list . stream ( ) . collect ( Collectors . groupingBy ( DistributionReservationZeroPackageEntity : : getStockArticleId ) ) . get ( stockArticleId ) . stream ( ) . mapToInt ( DistributionReservationZeroPackageEntity : : getQuantity ) . sum ( ) ;
if ( sum > = sum1 ) {
//修改提货提货状态
return distrilbutionBillStockService . update ( Wrappers . < DistrilbutionBillStockEntity > update ( )
. eq ( "bill_lading_id" , billLadingId )
. eq ( "stock_article_id" , stockArticleId )
. set ( "conditions" , 2 )
) ;
}
return false ;
}
}