@ -77,6 +77,7 @@ import org.springblade.common.utils.CommonUtil;
import org.springblade.common.utils.FileUtil ;
import org.springblade.common.utils.FileUtil ;
import org.springblade.common.utils.GaoDeApiUtil ;
import org.springblade.common.utils.GaoDeApiUtil ;
import org.springblade.core.mp.base.BaseServiceImpl ;
import org.springblade.core.mp.base.BaseServiceImpl ;
import org.springblade.core.redis.cache.BladeRedis ;
import org.springblade.core.secure.BladeUser ;
import org.springblade.core.secure.BladeUser ;
import org.springblade.core.secure.utils.AuthUtil ;
import org.springblade.core.secure.utils.AuthUtil ;
import org.springblade.core.tool.api.R ;
import org.springblade.core.tool.api.R ;
@ -208,6 +209,9 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
@Autowired
@Autowired
private IUserClient userClient ;
private IUserClient userClient ;
@Autowired
private BladeRedis bladeRedis ;
@Override
@Override
public IPage < DistributionSignforVO > selectDistributionSignforPage ( IPage < DistributionSignforVO > page , DistributionSignforVO distributionSignfor ) {
public IPage < DistributionSignforVO > selectDistributionSignforPage ( IPage < DistributionSignforVO > page , DistributionSignforVO distributionSignfor ) {
@ -2059,7 +2063,11 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
if ( Objects . isNull ( myCurrentWarehouse ) ) {
if ( Objects . isNull ( myCurrentWarehouse ) ) {
return R . fail ( 403 , "仓库信息不能为空" ) ;
return R . fail ( 403 , "仓库信息不能为空" ) ;
}
}
DistributionDeliveryListEntity deliveryListEntity = distributionDeliveryListService . getById ( distrilbutionloadingscanDTO . getDeliveryId ( ) ) ;
if ( Objects . isNull ( myCurrentWarehouse ) ) {
return R . fail ( 403 , "配送任务错误" ) ;
}
List < Long > packageLockIds = new ArrayList < > ( ) ;
try {
try {
nickName = AuthUtil . getNickName ( ) ;
nickName = AuthUtil . getNickName ( ) ;
@ -2073,6 +2081,9 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
if ( Func . isEmpty ( parcelListEntity ) ) {
if ( Func . isEmpty ( parcelListEntity ) ) {
return Resp . scanFail ( "系统无编码" , "系统无编码" ) ;
return Resp . scanFail ( "系统无编码" , "系统无编码" ) ;
}
}
if ( parcelListEntity . equals ( OrderPackageStatusConstant . yiqianshou . getValue ( ) ) ) {
return Resp . scanFail ( "包件已签收" , "包件已签收" ) ;
}
DistributionReservationEntity distributionReservationEntity = distributionReservationMapper . selectById ( distrilbutionloadingscanDTO . getReservationId ( ) ) ;
DistributionReservationEntity distributionReservationEntity = distributionReservationMapper . selectById ( distrilbutionloadingscanDTO . getReservationId ( ) ) ;
if ( Func . isEmpty ( distributionReservationEntity ) ) {
if ( Func . isEmpty ( distributionReservationEntity ) ) {
log . error ( "########无效的预约单,reservationId:{}" , distrilbutionloadingscanDTO . getReservationId ( ) ) ;
log . error ( "########无效的预约单,reservationId:{}" , distrilbutionloadingscanDTO . getReservationId ( ) ) ;
@ -2111,7 +2122,7 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
loadscanEntity . setSigningTime ( simpleDateFormat . format ( new Date ( ) ) ) ;
loadscanEntity . setSigningTime ( simpleDateFormat . format ( new Date ( ) ) ) ;
loadscanEntity . setSignforState ( 2 ) ;
loadscanEntity . setSignforState ( 2 ) ;
loadscanEntity . setReceivedQuantity ( loadscanEntity . getLoadedNub ( ) ) ;
loadscanEntity . setReceivedQuantity ( loadscanEntity . getLoadedNub ( ) ) ;
packageLockIds . add ( loadscanEntity . getPackageId ( ) ) ;
loadscanEntity . setSigningUser ( nickName ) ;
loadscanEntity . setSigningUser ( nickName ) ;
loadscanEntity . setSigningUserId ( userId ) ;
loadscanEntity . setSigningUserId ( userId ) ;
@ -2128,7 +2139,7 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
//维护订单状态
//维护订单状态
} else {
} else {
//这里装车的数据需要进行补录
//这里装车的数据需要进行补录
DistributionDeliveryListEntity deliveryListEntity = distributionDeliveryListMapper . selectById ( distrilbutionloadingscanDTO . getDeliveryId ( ) ) ;
// DistributionDeliveryListEntity deliveryListEntity = distributionDeliveryListMapper.selectById(distrilbutionloadingscanDTO.getDeliveryId());
DistributionDeliverySelfEntity distributionDeliverySelfEntity = new DistributionDeliverySelfDTO ( ) ;
DistributionDeliverySelfEntity distributionDeliverySelfEntity = new DistributionDeliverySelfDTO ( ) ;
if ( deliveryListEntity . getKind ( ) . equals ( ServiceConstant . DELIVERLIST_KIND_SELF ) ) {
if ( deliveryListEntity . getKind ( ) . equals ( ServiceConstant . DELIVERLIST_KIND_SELF ) ) {
distributionDeliverySelfEntity = distributionDeliverySelfMapper . selectOne ( new QueryWrapper < DistributionDeliverySelfEntity > ( ) . lambda ( )
distributionDeliverySelfEntity = distributionDeliverySelfMapper . selectOne ( new QueryWrapper < DistributionDeliverySelfEntity > ( ) . lambda ( )
@ -2194,6 +2205,7 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
Integer m = distributionSignforMapper . updateSignUser ( distributionLoadscanEntity . getDeliveryId ( ) , distributionLoadscanEntity . getReservationId ( ) , AuthUtil . getUser ( ) ) ;
Integer m = distributionSignforMapper . updateSignUser ( distributionLoadscanEntity . getDeliveryId ( ) , distributionLoadscanEntity . getReservationId ( ) , AuthUtil . getUser ( ) ) ;
//包件解托下架
//包件解托下架
warehouseUpdownTypeClient . downPackageOrDelTray ( collect . get ( 0 ) . getOrderPackageCode ( ) , myCurrentWarehouse . getId ( ) , "签收下架解托" ) ;
warehouseUpdownTypeClient . downPackageOrDelTray ( collect . get ( 0 ) . getOrderPackageCode ( ) , myCurrentWarehouse . getId ( ) , "签收下架解托" ) ;
packageLockIds . add ( distributionLoadscanEntity . getPackageId ( ) ) ;
}
}
//修改包件状态为装车、签收
//修改包件状态为装车、签收
DistributionParcelListEntity updatePackage = collect . get ( 0 ) ;
DistributionParcelListEntity updatePackage = collect . get ( 0 ) ;
@ -2246,6 +2258,21 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
//一个客户下出现重复包条码
//一个客户下出现重复包条码
log . error ( "############出现重复包条码:{}" , collect ) ;
log . error ( "############出现重复包条码:{}" , collect ) ;
}
}
if ( ! packageLockIds . isEmpty ( ) ) {
List < Long > a = bladeRedis . get ( "warehouseId:" + myCurrentWarehouse . getId ( ) + "trainNumber:" + deliveryListEntity . getTrainNumber ( ) + "orderPackageCode:" + packageLockIds ) ;
if ( Func . isNotEmpty ( a ) ) {
boolean flag = a . stream ( ) . anyMatch ( any - > packageLockIds . contains ( any ) ) ;
if ( flag ) {
//正在操作,请稍后重试
throw new RuntimeException ( "该包件正在被操作,请稍后再试!!!" ) ;
} else {
packageLockIds . addAll ( a ) ;
bladeRedis . setEx ( "warehouseId:" + myCurrentWarehouse . getId ( ) + "trainNumber:" + deliveryListEntity . getTrainNumber ( ) + "orderPackageCode:" + packageLockIds , packageLockIds , 60L ) ;
}
} else {
bladeRedis . setEx ( "warehouseId:" + myCurrentWarehouse . getId ( ) + "trainNumber:" + deliveryListEntity . getTrainNumber ( ) + "orderPackageCode:" + packageLockIds , packageLockIds , 60L ) ;
}
}
@ -2302,8 +2329,13 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
. in ( DistributionParcelListEntity : : getOrderPackageCode , distrilbutionloadingscanDTO . getBarcodes ( ) )
. in ( DistributionParcelListEntity : : getOrderPackageCode , distrilbutionloadingscanDTO . getBarcodes ( ) )
. eq ( DistributionParcelListEntity : : getWarehouseId , myCurrentWarehouse . getId ( ) )
. eq ( DistributionParcelListEntity : : getWarehouseId , myCurrentWarehouse . getId ( ) )
) ;
) ;
DistributionDeliveryListEntity deliveryListEntity = distributionDeliveryListMapper . selectById ( distrilbutionloadingscanDTO . getDeliveryId ( ) ) ;
if ( Func . isEmpty ( deliveryListEntity ) ) {
throw new CustomerException ( 403 , "配送异常!!!" ) ;
}
if ( Func . isNotEmpty ( parcelListEntities ) ) {
if ( Func . isNotEmpty ( parcelListEntities ) ) {
boolean flag = parcelListEntities . stream ( ) . anyMatch ( p - > p . getOrderPackageStatus ( ) . equals ( OrderPackageStatusConstant . yiqianshou . getValue ( ) ) ) ;
boolean flag = parcelListEntities . stream ( ) . anyMatch ( p - > OrderPackageStatusConstant . yiqianshou . getValue ( ) . equals ( p . getOrderPackageStatus ( ) ) ) ;
if ( flag ) {
if ( flag ) {
log . error ( "########缺失参数,barcodes:{}" , distrilbutionloadingscanDTO . getBarcodes ( ) ) ;
log . error ( "########缺失参数,barcodes:{}" , distrilbutionloadingscanDTO . getBarcodes ( ) ) ;
return R . fail ( "存在已签收包件!!" ) ;
return R . fail ( "存在已签收包件!!" ) ;
@ -2318,6 +2350,7 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
return R . fail ( "请联系管理员!!!" ) ;
return R . fail ( "请联系管理员!!!" ) ;
}
}
List < String > orderpackages = new ArrayList < > ( ) ;
List < String > orderpackages = new ArrayList < > ( ) ;
List < Long > packageLockIds = new ArrayList < > ( ) ;
for ( String orderPackageCode : orderPackageCodes ) {
for ( String orderPackageCode : orderPackageCodes ) {
List < DistributionParcelListEntity > collect = parcelListEntityList . stream ( ) . filter ( p - > p . getOrderPackageCode ( ) . equals ( orderPackageCode ) ) . collect ( Collectors . toList ( ) ) ;
List < DistributionParcelListEntity > collect = parcelListEntityList . stream ( ) . filter ( p - > p . getOrderPackageCode ( ) . equals ( orderPackageCode ) ) . collect ( Collectors . toList ( ) ) ;
if ( Func . isNotEmpty ( collect ) & & collect . size ( ) = = 1 ) {
if ( Func . isNotEmpty ( collect ) & & collect . size ( ) = = 1 ) {
@ -2342,6 +2375,7 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
loadscanEntity . setSigningUserId ( userId ) ;
loadscanEntity . setSigningUserId ( userId ) ;
distributionLoadscanService . updateById ( loadscanEntity ) ;
distributionLoadscanService . updateById ( loadscanEntity ) ;
packageLockIds . add ( loadscanEntity . getPackageId ( ) ) ;
//缺少一个异步维护包件签收的方法
//缺少一个异步维护包件签收的方法
// distributionAsyncService.changeOrderSignforStatus(collect.get(0));
// distributionAsyncService.changeOrderSignforStatus(collect.get(0));
Integer j = distributionSignforMapper . updateSignforNum ( loadscanEntity . getDeliveryId ( ) , loadscanEntity . getReservationId ( ) , loadscanEntity . getPackageNub ( ) ) ;
Integer j = distributionSignforMapper . updateSignforNum ( loadscanEntity . getDeliveryId ( ) , loadscanEntity . getReservationId ( ) , loadscanEntity . getPackageNub ( ) ) ;
@ -2352,7 +2386,6 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
//维护订单状态
//维护订单状态
} else {
} else {
//这里装车的数据需要进行补录
//这里装车的数据需要进行补录
DistributionDeliveryListEntity deliveryListEntity = distributionDeliveryListMapper . selectById ( distrilbutionloadingscanDTO . getDeliveryId ( ) ) ;
DistributionDeliverySelfEntity distributionDeliverySelfEntity = new DistributionDeliverySelfDTO ( ) ;
DistributionDeliverySelfEntity distributionDeliverySelfEntity = new DistributionDeliverySelfDTO ( ) ;
if ( deliveryListEntity . getKind ( ) . equals ( ServiceConstant . DELIVERLIST_KIND_SELF ) ) {
if ( deliveryListEntity . getKind ( ) . equals ( ServiceConstant . DELIVERLIST_KIND_SELF ) ) {
distributionDeliverySelfEntity = distributionDeliverySelfMapper . selectOne ( new QueryWrapper < DistributionDeliverySelfEntity > ( ) . lambda ( )
distributionDeliverySelfEntity = distributionDeliverySelfMapper . selectOne ( new QueryWrapper < DistributionDeliverySelfEntity > ( ) . lambda ( )
@ -2410,6 +2443,8 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
distributionLoadscanEntity . setSigningUserId ( AuthUtil . getUser ( ) . getUserId ( ) ) ;
distributionLoadscanEntity . setSigningUserId ( AuthUtil . getUser ( ) . getUserId ( ) ) ;
distributionLoadscanEntity . setScanStatus ( LoadingStatusConstant . buluzhuangche . getValue ( ) ) ;
distributionLoadscanEntity . setScanStatus ( LoadingStatusConstant . buluzhuangche . getValue ( ) ) ;
distributionLoadscanService . save ( distributionLoadscanEntity ) ;
distributionLoadscanService . save ( distributionLoadscanEntity ) ;
packageLockIds . add ( distributionLoadscanEntity . getPackageId ( ) ) ;
//进行签收数量的修改
//进行签收数量的修改
Integer i = distributionDeliveryListMapper . updateloadingTimeById ( distrilbutionloadingscanDTO . getDeliveryId ( ) ) ;
Integer i = distributionDeliveryListMapper . updateloadingTimeById ( distrilbutionloadingscanDTO . getDeliveryId ( ) ) ;
//更新装车包件数和签收包件数
//更新装车包件数和签收包件数
@ -2436,6 +2471,22 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
throw new RuntimeException ( "包件数据异常,请联系管理员!!!" ) ;
throw new RuntimeException ( "包件数据异常,请联系管理员!!!" ) ;
}
}
}
}
//添加缓存
if ( ! packageLockIds . isEmpty ( ) ) {
List < Long > a = bladeRedis . get ( "warehouseId:" + myCurrentWarehouse . getId ( ) + "trainNumber:" + deliveryListEntity . getTrainNumber ( ) + "orderPackageCode:" ) ;
if ( Func . isNotEmpty ( a ) ) {
boolean flag = a . stream ( ) . anyMatch ( any - > packageLockIds . contains ( any ) ) ;
if ( flag ) {
//正在操作,请稍后重试
throw new RuntimeException ( "该包件正在被操作,请稍后再试!!!" ) ;
} else {
packageLockIds . addAll ( a ) ;
bladeRedis . setEx ( "warehouseId:" + myCurrentWarehouse . getId ( ) + "trainNumber:" + deliveryListEntity . getTrainNumber ( ) + "orderPackageCode:" , packageLockIds , 60L ) ;
}
} else {
bladeRedis . setEx ( "warehouseId:" + myCurrentWarehouse . getId ( ) + "trainNumber:" + deliveryListEntity . getTrainNumber ( ) + "orderPackageCode:" , packageLockIds , 60L ) ;
}
}
//维护客户
//维护客户
distributionReservationService . maintenanceReservationInfo ( distrilbutionloadingscanDTO . getReservationId ( ) ) ;
distributionReservationService . maintenanceReservationInfo ( distrilbutionloadingscanDTO . getReservationId ( ) ) ;
//维护配送任务
//维护配送任务
@ -2603,6 +2654,7 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
return R . fail ( "请联系管理员!!!" ) ;
return R . fail ( "请联系管理员!!!" ) ;
}
}
if ( ( signforEntity . getReceivedQuantity ( ) + signforEntity . getReceivedinQuantity ( ) ) < = 0 ) {
if ( ( signforEntity . getReceivedQuantity ( ) + signforEntity . getReceivedinQuantity ( ) ) < = 0 ) {
log . error ( "signforack############未进行签收上传图片" ) ;
log . error ( "signforack############未进行签收上传图片" ) ;
return Resp . scanFail ( 12000 , "请先进行签收扫描后上传图片" , "请先进行签收扫描后上传图片" , null ) ;
return Resp . scanFail ( 12000 , "请先进行签收扫描后上传图片" , "请先进行签收扫描后上传图片" , null ) ;
}
}
@ -2612,7 +2664,7 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
if ( ObjectUtils . isNotNull ( distributionSignfor . getMap ( ) ) ) {
if ( ObjectUtils . isNotNull ( distributionSignfor . getMap ( ) ) ) {
List < DistributionSignPrintEntity > distributionSignPrintList = new ArrayList < > ( ) ;
List < DistributionSignPrintEntity > distributionSignPrintList = new ArrayList < > ( ) ;
distributionSignfor . getMap ( ) . forEach ( ( k , v ) - > {
distributionSignfor . getMap ( ) . forEach ( ( k , v ) - > {
v . stream ( ) . forEach ( i - > {
v . forEach ( i - > {
DistributionSignPrintEntity distributionSignPrint = new DistributionSignPrintEntity ( ) ;
DistributionSignPrintEntity distributionSignPrint = new DistributionSignPrintEntity ( ) ;
BeanUtils . copyProperties ( i , distributionSignPrint ) ;
BeanUtils . copyProperties ( i , distributionSignPrint ) ;
distributionSignPrint . setId ( null ) ;
distributionSignPrint . setId ( null ) ;
@ -2653,6 +2705,11 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
. eq ( DistributionParcelListEntity : : getOrderPackageCode , distrilbutionloadingscanDTO . getBarcode ( ) )
. eq ( DistributionParcelListEntity : : getOrderPackageCode , distrilbutionloadingscanDTO . getBarcode ( ) )
. eq ( DistributionParcelListEntity : : getWarehouseId , myCurrentWarehouse . getId ( ) )
. eq ( DistributionParcelListEntity : : getWarehouseId , myCurrentWarehouse . getId ( ) )
) ;
) ;
DistributionDeliveryListEntity distributionDeliveryListEntity = distributionDeliveryListMapper . selectById ( distrilbutionloadingscanDTO . getDeliveryId ( ) ) ;
if ( Func . isEmpty ( distributionDeliveryListEntity ) ) {
return R . fail ( 403 , "配送错误!!!" ) ;
}
List < Long > packageLockIds = new ArrayList < > ( ) ;
if ( Func . isNotEmpty ( parcelListEntityList ) & & parcelListEntityList . size ( ) = = 1 ) {
if ( Func . isNotEmpty ( parcelListEntityList ) & & parcelListEntityList . size ( ) = = 1 ) {
DistributionParcelListEntity parcelListEntity = parcelListEntityList . get ( 0 ) ;
DistributionParcelListEntity parcelListEntity = parcelListEntityList . get ( 0 ) ;
if ( parcelListEntity . getOrderPackageStatus ( ) . equals ( OrderPackageStatusConstant . yiqianshou . getValue ( ) ) ) {
if ( parcelListEntity . getOrderPackageStatus ( ) . equals ( OrderPackageStatusConstant . yiqianshou . getValue ( ) ) ) {
@ -2669,7 +2726,6 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
DistributionReservationEntity reservationEntity = distributionReservationMapper . selectById ( distrilbutionloadingscanDTO . getReservationId ( ) ) ;
DistributionReservationEntity reservationEntity = distributionReservationMapper . selectById ( distrilbutionloadingscanDTO . getReservationId ( ) ) ;
DistributionStockArticleEntity stockArticleEntity = distributionStockArticleService . getById ( parcelListEntity . getStockArticleId ( ) ) ;
DistributionStockArticleEntity stockArticleEntity = distributionStockArticleService . getById ( parcelListEntity . getStockArticleId ( ) ) ;
DistributionDeliveryListEntity distributionDeliveryListEntity = distributionDeliveryListMapper . selectById ( distrilbutionloadingscanDTO . getDeliveryId ( ) ) ;
DistributionDeliverySelfEntity distributionDeliverySelfEntity = new DistributionDeliverySelfEntity ( ) ;
DistributionDeliverySelfEntity distributionDeliverySelfEntity = new DistributionDeliverySelfEntity ( ) ;
if ( distributionDeliveryListEntity . getKind ( ) . equals ( "1" ) ) {
if ( distributionDeliveryListEntity . getKind ( ) . equals ( "1" ) ) {
distributionDeliverySelfEntity = distributionDeliverySelfMapper . selectOne ( new QueryWrapper < DistributionDeliverySelfEntity > ( ) . lambda ( )
distributionDeliverySelfEntity = distributionDeliverySelfMapper . selectOne ( new QueryWrapper < DistributionDeliverySelfEntity > ( ) . lambda ( )
@ -2823,6 +2879,7 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
//进行签收数量的修改
//进行签收数量的修改
Integer i = distributionDeliveryListMapper . updateloadingTimeById ( distrilbutionloadingscanDTO . getDeliveryId ( ) ) ;
Integer i = distributionDeliveryListMapper . updateloadingTimeById ( distrilbutionloadingscanDTO . getDeliveryId ( ) ) ;
//修改包件装车、签收状态
//修改包件装车、签收状态
packageLockIds . add ( distributionLoadscanEntity . getPackageId ( ) ) ;
} else {
} else {
return Resp . scanFail ( "操作失败" , "不属于该客户" ) ;
return Resp . scanFail ( "操作失败" , "不属于该客户" ) ;
}
}
@ -2875,6 +2932,21 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
return Resp . scanFail ( "操作失败" , "包件信息有误" ) ;
return Resp . scanFail ( "操作失败" , "包件信息有误" ) ;
}
}
String s = checkAbnormalSignNum ( distrilbutionloadingscanDTO ) ;
String s = checkAbnormalSignNum ( distrilbutionloadingscanDTO ) ;
if ( ! packageLockIds . isEmpty ( ) ) {
List < Long > a = bladeRedis . get ( "warehouseId:" + myCurrentWarehouse . getId ( ) + "trainNumber:" + distributionDeliveryListEntity . getTrainNumber ( ) + "orderPackageCode:" ) ;
if ( Func . isNotEmpty ( a ) ) {
boolean flag = a . stream ( ) . anyMatch ( any - > packageLockIds . contains ( any ) ) ;
if ( flag ) {
//正在操作,请稍后重试
throw new RuntimeException ( "该包件正在被操作,请稍后再试!!!" ) ;
} else {
packageLockIds . addAll ( a ) ;
bladeRedis . setEx ( "warehouseId:" + myCurrentWarehouse . getId ( ) + "trainNumber:" + distributionDeliveryListEntity . getTrainNumber ( ) + "orderPackageCode:" , packageLockIds , 10L ) ;
}
} else {
bladeRedis . setEx ( "warehouseId:" + myCurrentWarehouse . getId ( ) + "trainNumber:" + distributionDeliveryListEntity . getTrainNumber ( ) + "orderPackageCode:" , packageLockIds , 10L ) ;
}
}
return Resp . scanSuccess ( "操作成功" , s ) ;
return Resp . scanSuccess ( "操作成功" , s ) ;
}
}
@ -3077,12 +3149,21 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
return Resp . scanFail ( "请在订制品页面扫描此码" , "请在订制品页面扫描此码" ) ;
return Resp . scanFail ( "请在订制品页面扫描此码" , "请在订制品页面扫描此码" ) ;
}
}
}
}
BasicdataWarehouseEntity myCurrentWarehouse = basicdataWarehouseClient . getMyCurrentWarehouse ( ) ;
if ( Func . isEmpty ( myCurrentWarehouse ) ) {
return R . fail ( 403 , "未授权!!!" ) ;
}
//查询已完成备货的库存品包件
//查询已完成备货的库存品包件
List < DisStockListDetailEntity > detailEntities = distributionReservationMapper . selectInventoryListByReservation ( distrilbutionloadingscanDTO . getReservationId ( ) ) ;
List < DisStockListDetailEntity > detailEntities = distributionReservationMapper . selectInventoryListByReservation ( distrilbutionloadingscanDTO . getReservationId ( ) ) ;
if ( Func . isEmpty ( detailEntities ) ) {
if ( Func . isEmpty ( detailEntities ) ) {
return Resp . scanFail ( "此码无效" , "此码无效" ) ;
return Resp . scanFail ( "此码无效" , "此码无效" ) ;
}
}
DistributionDeliveryListEntity deliveryListEntity = distributionDeliveryListMapper . selectById ( distrilbutionloadingscanDTO . getDeliveryId ( ) ) ;
if ( Func . isEmpty ( deliveryListEntity ) ) {
return R . fail ( 403 , "配送错误" ) ;
}
List < Long > packageLockIds = new ArrayList < > ( ) ;
boolean isHaveCode = detailEntities . stream ( ) . anyMatch ( inven - > Func . isNotEmpty ( inven . getStockPackageCode ( ) ) ) ;
boolean isHaveCode = detailEntities . stream ( ) . anyMatch ( inven - > Func . isNotEmpty ( inven . getStockPackageCode ( ) ) ) ;
if ( isHaveCode ) {
if ( isHaveCode ) {
@ -3106,6 +3187,7 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
loadscaninvnEntity . setSignforState ( LoadScanSigningStatusConstant . yiqianshou . getValue ( ) ) ;
loadscaninvnEntity . setSignforState ( LoadScanSigningStatusConstant . yiqianshou . getValue ( ) ) ;
loadscaninvnEntity . setSigningTime ( simpleDateFormat . format ( new Date ( ) ) ) ;
loadscaninvnEntity . setSigningTime ( simpleDateFormat . format ( new Date ( ) ) ) ;
loadscaninvnEntity . setOneQclick ( 1 ) ;
loadscaninvnEntity . setOneQclick ( 1 ) ;
packageLockIds . add ( loadscaninvnEntity . getInventoryPackageId ( ) ) ;
distributionLoadscaninvnService . updateById ( loadscaninvnEntity ) ;
distributionLoadscaninvnService . updateById ( loadscaninvnEntity ) ;
//维护签收数量
//维护签收数量
Integer j = distributionSignforMapper . updateSignforNum ( loadscaninvnEntity . getDeliveryId ( ) , loadscaninvnEntity . getReservationId ( ) , loadscaninvnEntity . getPackageNub ( ) ) ;
Integer j = distributionSignforMapper . updateSignforNum ( loadscaninvnEntity . getDeliveryId ( ) , loadscaninvnEntity . getReservationId ( ) , loadscaninvnEntity . getPackageNub ( ) ) ;
@ -3114,7 +3196,6 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
} else {
} else {
//库存品未进行装车
//库存品未进行装车
//这里装车的数据需要进行补录
//这里装车的数据需要进行补录
DistributionDeliveryListEntity deliveryListEntity = distributionDeliveryListMapper . selectById ( distrilbutionloadingscanDTO . getDeliveryId ( ) ) ;
DistributionDeliverySelfEntity distributionDeliverySelfEntity = new DistributionDeliverySelfDTO ( ) ;
DistributionDeliverySelfEntity distributionDeliverySelfEntity = new DistributionDeliverySelfDTO ( ) ;
if ( deliveryListEntity . getKind ( ) . equals ( ServiceConstant . DELIVERLIST_KIND_SELF ) ) {
if ( deliveryListEntity . getKind ( ) . equals ( ServiceConstant . DELIVERLIST_KIND_SELF ) ) {
distributionDeliverySelfEntity = distributionDeliverySelfMapper . selectOne ( new QueryWrapper < DistributionDeliverySelfEntity > ( ) . lambda ( )
distributionDeliverySelfEntity = distributionDeliverySelfMapper . selectOne ( new QueryWrapper < DistributionDeliverySelfEntity > ( ) . lambda ( )
@ -3172,6 +3253,7 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
Integer i = distributionSignforMapper . updateSignUser ( distributionLoadscaninvnEntity . getDeliveryId ( ) , distributionLoadscaninvnEntity . getReservationId ( ) , AuthUtil . getUser ( ) ) ;
Integer i = distributionSignforMapper . updateSignUser ( distributionLoadscaninvnEntity . getDeliveryId ( ) , distributionLoadscaninvnEntity . getReservationId ( ) , AuthUtil . getUser ( ) ) ;
//扣减库存
//扣减库存
distributionStockListMapper . deductionQuantityStock ( distributionLoadscaninvnEntity . getInventoryId ( ) , distributionLoadscaninvnEntity . getLoadedNub ( ) ) ;
distributionStockListMapper . deductionQuantityStock ( distributionLoadscaninvnEntity . getInventoryId ( ) , distributionLoadscaninvnEntity . getLoadedNub ( ) ) ;
packageLockIds . add ( distributionLoadscaninvnEntity . getInventoryPackageId ( ) ) ;
// //扣减库存
// //扣减库存
// DistributionStockListEntity stockListEntity = distributionStockListService.getById(inventory.get(0).getStockListId());
// DistributionStockListEntity stockListEntity = distributionStockListService.getById(inventory.get(0).getStockListId());
// stockListEntity.setQuantityOccupied(stockListEntity.getQuantityOccupied() - distributionLoadscaninvnEntity.getPackageNub());
// stockListEntity.setQuantityOccupied(stockListEntity.getQuantityOccupied() - distributionLoadscaninvnEntity.getPackageNub());
@ -3211,6 +3293,21 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
//维护配送任务
//维护配送任务
distributionDeliveryListService . maintenanceDeliveryInfo ( distrilbutionloadingscanDTO . getDeliveryId ( ) ) ;
distributionDeliveryListService . maintenanceDeliveryInfo ( distrilbutionloadingscanDTO . getDeliveryId ( ) ) ;
String str = checkSignNum ( distrilbutionloadingscanDTO ) ;
String str = checkSignNum ( distrilbutionloadingscanDTO ) ;
if ( ! packageLockIds . isEmpty ( ) ) {
List < Long > a = bladeRedis . get ( "warehouseId:" + myCurrentWarehouse . getId ( ) + "trainNumber:" + deliveryListEntity . getTrainNumber ( ) + "orderPackageCode:" ) ;
if ( Func . isNotEmpty ( a ) ) {
boolean flag = a . stream ( ) . anyMatch ( any - > packageLockIds . contains ( any ) ) ;
if ( flag ) {
//正在操作,请稍后重试
throw new RuntimeException ( "该包件正在被操作,请稍后再试!!!" ) ;
} else {
packageLockIds . addAll ( a ) ;
bladeRedis . setEx ( "warehouseId:" + myCurrentWarehouse . getId ( ) + "trainNumber:" + deliveryListEntity . getTrainNumber ( ) + "orderPackageCode:" , packageLockIds , 60L ) ;
}
} else {
bladeRedis . setEx ( "warehouseId:" + myCurrentWarehouse . getId ( ) + "trainNumber:" + deliveryListEntity . getTrainNumber ( ) + "orderPackageCode:" , packageLockIds , 60L ) ;
}
}
return Resp . scanSuccess ( "签收成功" , str ) ;
return Resp . scanSuccess ( "签收成功" , str ) ;
}
}
@ -4220,6 +4317,7 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
log . error ( method + "reservationEntity参数错误:{}" , reservationEntity ) ;
log . error ( method + "reservationEntity参数错误:{}" , reservationEntity ) ;
return R . fail ( "服务器正忙~~" ) ;
return R . fail ( "服务器正忙~~" ) ;
}
}
List < Long > packageLockIds = new ArrayList < > ( ) ;
//查询数据
//查询数据
DistributionSignforEntity distributionSignforEntity = baseMapper . selectOne ( new QueryWrapper < DistributionSignforEntity > ( ) . lambda ( )
DistributionSignforEntity distributionSignforEntity = baseMapper . selectOne ( new QueryWrapper < DistributionSignforEntity > ( ) . lambda ( )
. eq ( DistributionSignforEntity : : getDeliveryId , distributionSignfor . getDeliveryId ( ) )
. eq ( DistributionSignforEntity : : getDeliveryId , distributionSignfor . getDeliveryId ( ) )
@ -4286,6 +4384,7 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
Integer j = distributionSignforMapper . updatesignforByinvn ( loadscaninvnEntity . getDeliveryId ( ) , loadscaninvnEntity . getReservationId ( ) , loadscaninvnEntity . getPackageNub ( ) ) ;
Integer j = distributionSignforMapper . updatesignforByinvn ( loadscaninvnEntity . getDeliveryId ( ) , loadscaninvnEntity . getReservationId ( ) , loadscaninvnEntity . getPackageNub ( ) ) ;
//更新签收人
//更新签收人
Integer m = distributionSignforMapper . updateSignUser ( loadscaninvnEntity . getDeliveryId ( ) , loadscaninvnEntity . getReservationId ( ) , AuthUtil . getUser ( ) ) ;
Integer m = distributionSignforMapper . updateSignUser ( loadscaninvnEntity . getDeliveryId ( ) , loadscaninvnEntity . getReservationId ( ) , AuthUtil . getUser ( ) ) ;
packageLockIds . add ( loadscaninvnEntity . getInventoryPackageId ( ) ) ;
}
}
} else {
} else {
DistributionLoadscaninvnEntity newLoadscaninvnEntity = new DistributionLoadscaninvnEntity ( ) ;
DistributionLoadscaninvnEntity newLoadscaninvnEntity = new DistributionLoadscaninvnEntity ( ) ;
@ -4331,6 +4430,8 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
newLoadscaninvnEntity . setMsg ( "司机一键签收数据补录" ) ;
newLoadscaninvnEntity . setMsg ( "司机一键签收数据补录" ) ;
}
}
distributionLoadscaninvnService . save ( newLoadscaninvnEntity ) ;
distributionLoadscaninvnService . save ( newLoadscaninvnEntity ) ;
packageLockIds . add ( newLoadscaninvnEntity . getInventoryPackageId ( ) ) ;
//维护预约库存品数据
//维护预约库存品数据
//扣减库存
//扣减库存
DistributionStockListEntity stockListEntity = distributionStockListService . getById ( detailEntity . getStockListId ( ) ) ;
DistributionStockListEntity stockListEntity = distributionStockListService . getById ( detailEntity . getStockListId ( ) ) ;
@ -4386,6 +4487,8 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
distributionLoadscanEntity . setLoadedNub ( parcelNumberEntity . getReservationNum ( ) ) ;
distributionLoadscanEntity . setLoadedNub ( parcelNumberEntity . getReservationNum ( ) ) ;
distributionLoadscanEntity . setReceivedQuantity ( parcelNumberEntity . getReservationNum ( ) ) ;
distributionLoadscanEntity . setReceivedQuantity ( parcelNumberEntity . getReservationNum ( ) ) ;
distributionLoadscanService . updateById ( distributionLoadscanEntity ) ;
distributionLoadscanService . updateById ( distributionLoadscanEntity ) ;
packageLockIds . add ( distributionLoadscanEntity . getPackageId ( ) ) ;
} else {
} else {
log . error ( "################扫描签收零担订单数量异常:{}" , distributionLoadscanEntity ) ;
log . error ( "################扫描签收零担订单数量异常:{}" , distributionLoadscanEntity ) ;
return Resp . scanFail ( "数量录入错误" , "数量录入错误" ) ;
return Resp . scanFail ( "数量录入错误" , "数量录入错误" ) ;
@ -4406,6 +4509,7 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
distributionLoadscanEntity . setMsg ( "司机一键签收数据补录" ) ;
distributionLoadscanEntity . setMsg ( "司机一键签收数据补录" ) ;
}
}
distributionLoadscanService . updateById ( distributionLoadscanEntity ) ;
distributionLoadscanService . updateById ( distributionLoadscanEntity ) ;
packageLockIds . add ( distributionLoadscanEntity . getPackageId ( ) ) ;
}
}
} else {
} else {
//不存在装车数据
//不存在装车数据
@ -4453,6 +4557,8 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
loadscanEntity . setMsg ( "司机一键签收数据补录" ) ;
loadscanEntity . setMsg ( "司机一键签收数据补录" ) ;
}
}
distributionLoadscanService . save ( loadscanEntity ) ;
distributionLoadscanService . save ( loadscanEntity ) ;
packageLockIds . add ( loadscanEntity . getPackageId ( ) ) ;
}
}
//维护出库数量和签收数量
//维护出库数量和签收数量
parcelNumberServiceById . setSigninQuantity ( signinQuantity ) ;
parcelNumberServiceById . setSigninQuantity ( signinQuantity ) ;
@ -4524,6 +4630,9 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
loadscanEntity . setMsg ( "司机一键签收数据补录" ) ;
loadscanEntity . setMsg ( "司机一键签收数据补录" ) ;
}
}
distributionLoadscanService . save ( loadscanEntity ) ;
distributionLoadscanService . save ( loadscanEntity ) ;
packageLockIds . add ( loadscanEntity . getPackageId ( ) ) ;
} else {
} else {
//存在装车数据
//存在装车数据
if ( distributionSignfor . getIsClerk ( ) ) {
if ( distributionSignfor . getIsClerk ( ) ) {
@ -4542,6 +4651,8 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
loadscanEntities . setReceivedQuantity ( parcelListEntity . getQuantity ( ) ) ;
loadscanEntities . setReceivedQuantity ( parcelListEntity . getQuantity ( ) ) ;
loadscanEntities . setSigningTime ( signingTime ) ;
loadscanEntities . setSigningTime ( signingTime ) ;
distributionLoadscanService . updateById ( loadscanEntities ) ;
distributionLoadscanService . updateById ( loadscanEntities ) ;
packageLockIds . add ( loadscanEntities . getPackageId ( ) ) ;
}
}
}
}
distributionAsyncService . sendFactory ( parcelListEntity , simpleDateFormat . format ( new Date ( ) ) , reservationEntity . getId ( ) , reservationEntity . getReservationCode ( ) , myCurrentWarehouse . getName ( ) , user . getNickName ( ) ) ;
distributionAsyncService . sendFactory ( parcelListEntity , simpleDateFormat . format ( new Date ( ) ) , reservationEntity . getId ( ) , reservationEntity . getReservationCode ( ) , myCurrentWarehouse . getName ( ) , user . getNickName ( ) ) ;
@ -4590,7 +4701,21 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
log . info ( method + "装车库存品数>>>>>>>>>>>>>>:{}" , loadingInventoryNum ) ;
log . info ( method + "装车库存品数>>>>>>>>>>>>>>:{}" , loadingInventoryNum ) ;
log . info ( method + "签收包件数>>>>>>>>>>>>>>:{}" , signingPackageNum ) ;
log . info ( method + "签收包件数>>>>>>>>>>>>>>:{}" , signingPackageNum ) ;
log . info ( method + "签收库存品数>>>>>>>>>>>>>>:{}" , signingPackageNum ) ;
log . info ( method + "签收库存品数>>>>>>>>>>>>>>:{}" , signingPackageNum ) ;
if ( ! packageLockIds . isEmpty ( ) ) {
List < Long > a = bladeRedis . get ( "warehouseId:" + myCurrentWarehouse . getId ( ) + "trainNumber:" + distributionDeliveryListEntity . getTrainNumber ( ) + "orderPackageCode:" ) ;
if ( Func . isNotEmpty ( a ) ) {
boolean flag = a . stream ( ) . anyMatch ( any - > packageLockIds . contains ( any ) ) ;
if ( flag ) {
//正在操作,请稍后重试
throw new RuntimeException ( "该包件正在被操作,请稍后再试!!!" ) ;
} else {
packageLockIds . addAll ( a ) ;
bladeRedis . setEx ( "warehouseId:" + myCurrentWarehouse . getId ( ) + "trainNumber:" + distributionDeliveryListEntity . getTrainNumber ( ) + "orderPackageCode:" , packageLockIds , 60L ) ;
}
} else {
bladeRedis . setEx ( "warehouseId:" + myCurrentWarehouse . getId ( ) + "trainNumber:" + distributionDeliveryListEntity . getTrainNumber ( ) + "orderPackageCode:" , packageLockIds , 60L ) ;
}
}
LambdaUpdateWrapper < DistributionSignforEntity > set = new UpdateWrapper < DistributionSignforEntity > ( ) . lambda ( )
LambdaUpdateWrapper < DistributionSignforEntity > set = new UpdateWrapper < DistributionSignforEntity > ( ) . lambda ( )
. eq ( DistributionSignforEntity : : getId , distributionSignforEntity . getId ( ) )
. eq ( DistributionSignforEntity : : getId , distributionSignforEntity . getId ( ) )
. set ( StringUtils . isNotBlank ( distributionSignfor . getDeliverySignPictures ( ) ) , DistributionSignforEntity : : getDeliverySignPictures , distributionSignfor . getDeliverySignPictures ( ) )
. set ( StringUtils . isNotBlank ( distributionSignfor . getDeliverySignPictures ( ) ) , DistributionSignforEntity : : getDeliverySignPictures , distributionSignfor . getDeliverySignPictures ( ) )
@ -5154,6 +5279,7 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
log . error ( "###################零担订单品类信息错误:{}" , parcelNumberDTOS ) ;
log . error ( "###################零担订单品类信息错误:{}" , parcelNumberDTOS ) ;
return Resp . scanFail ( "操作失败" , "服务器正忙...." ) ;
return Resp . scanFail ( "操作失败" , "服务器正忙...." ) ;
}
}
List < Long > packageLockIds = new ArrayList < > ( ) ;
//这里装车的数据需要进行补录
//这里装车的数据需要进行补录
DistributionDeliveryListEntity deliveryListEntity = distributionDeliveryListMapper . selectById ( distrilbutionloadingscanDTO . getDeliveryId ( ) ) ;
DistributionDeliveryListEntity deliveryListEntity = distributionDeliveryListMapper . selectById ( distrilbutionloadingscanDTO . getDeliveryId ( ) ) ;
DistributionDeliverySelfEntity distributionDeliverySelfEntity = new DistributionDeliverySelfDTO ( ) ;
DistributionDeliverySelfEntity distributionDeliverySelfEntity = new DistributionDeliverySelfDTO ( ) ;
@ -5336,11 +5462,27 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
parcelNumberEntity . setHandQuantity ( handQuantity . subtract ( signNum ) . intValue ( ) ) ;
parcelNumberEntity . setHandQuantity ( handQuantity . subtract ( signNum ) . intValue ( ) ) ;
parcelNumberEntity . setDeliveryQuantity ( deliveryQuantity . subtract ( signNum ) . intValue ( ) ) ;
parcelNumberEntity . setDeliveryQuantity ( deliveryQuantity . subtract ( signNum ) . intValue ( ) ) ;
parcelNumberEntity . setOutboundQuantity ( outboundQuantity . add ( signNum ) . intValue ( ) ) ;
parcelNumberEntity . setOutboundQuantity ( outboundQuantity . add ( signNum ) . intValue ( ) ) ;
packageLockIds . add ( loadscanEntity . getPackageId ( ) ) ;
}
}
}
}
}
}
distributionParcelNumberService . updateById ( parcelNumberEntity ) ;
distributionParcelNumberService . updateById ( parcelNumberEntity ) ;
} ) ;
} ) ;
if ( ! packageLockIds . isEmpty ( ) ) {
List < Long > a = bladeRedis . get ( "warehouseId:" + myCurrentWarehouse . getId ( ) + "trainNumber:" + deliveryListEntity . getTrainNumber ( ) + "orderPackageCode:" ) ;
if ( Func . isNotEmpty ( a ) ) {
boolean flag = a . stream ( ) . anyMatch ( any - > packageLockIds . contains ( any ) ) ;
if ( flag ) {
//正在操作,请稍后重试
throw new RuntimeException ( "该包件正在被操作,请稍后再试!!!" ) ;
} else {
packageLockIds . addAll ( a ) ;
bladeRedis . setEx ( "warehouseId:" + myCurrentWarehouse . getId ( ) + "trainNumber:" + deliveryListEntity . getTrainNumber ( ) + "orderPackageCode:" , packageLockIds , 10L ) ;
}
} else {
bladeRedis . setEx ( "warehouseId:" + myCurrentWarehouse . getId ( ) + "trainNumber:" + deliveryListEntity . getTrainNumber ( ) + "orderPackageCode:" , packageLockIds , 10L ) ;
}
}
String str = checkSignNum ( distrilbutionloadingscanDTO ) ;
String str = checkSignNum ( distrilbutionloadingscanDTO ) ;
return Resp . scanSuccess ( "签收成功" , str ) ;
return Resp . scanSuccess ( "签收成功" , str ) ;
}
}