From df8a4a44350462eca9ae84e425000a586a8ab33d Mon Sep 17 00:00:00 2001 From: caoyizhong <1270296080@qq.com> Date: Fri, 10 Nov 2023 00:36:42 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=95=B4=E4=BD=93=E5=A4=87?= =?UTF-8?q?=E8=B4=A7=EF=BC=8C=E5=8C=85=E4=BB=B6=E8=BD=AC=E5=BA=93=E5=AD=98?= =?UTF-8?q?=E5=93=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/IDistributionAsyncService.java | 4 +- .../impl/DistributionAsyncServiceImpl.java | 8 ++-- .../impl/DistributionStockupServiceImpl.java | 48 ++++++++++++++----- 3 files changed, 43 insertions(+), 17 deletions(-) diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionAsyncService.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionAsyncService.java index a6d58ebf7..7346e1077 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionAsyncService.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionAsyncService.java @@ -133,13 +133,13 @@ public interface IDistributionAsyncService { * 商 市的扫描修改 部分状态 * @param stockupDTO */ - void stockupUpdateState(StockupDTO stockupDTO); + void stockupUpdateState(StockupDTO stockupDTO,int num); /** * 自提的扫描修改 部分状态 * @param stockupDTO */ - void stockupSelfUpdateState(StockupDTO stockupDTO); + void stockupSelfUpdateState(StockupDTO stockupDTO,int num); /** diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionAsyncServiceImpl.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionAsyncServiceImpl.java index ddd591c61..6f4c6b695 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionAsyncServiceImpl.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionAsyncServiceImpl.java @@ -1418,7 +1418,7 @@ public class DistributionAsyncServiceImpl implements IDistributionAsyncService { */ @Override @Transactional(rollbackFor = Exception.class) - public void stockupUpdateState(StockupDTO stockupDTO) { + public void stockupUpdateState(StockupDTO stockupDTO,int num) { BasicdataWarehouseEntity myCurrentWarehouse = warehouseClient.getMyCurrentWarehouse(); if(stockupDTO.getScanType().equals(1)){ @@ -1492,7 +1492,7 @@ public class DistributionAsyncServiceImpl implements IDistributionAsyncService { }); //判断数量 - int i = (nu.get() + ku.get()) - (nuy.get() + 1); + int i = (nu.get() + ku.get()) - (nuy.get() + num); //查询备货状态 DistributionStockupEntity distributionStockupEntity = distributionStockupService.selectById(stockupDTO.getStockupId()); DistributionStockupEntity distributionStockup = new DistributionStockupEntity(); @@ -1544,7 +1544,7 @@ public class DistributionAsyncServiceImpl implements IDistributionAsyncService { * @param stockupDTO */ @Override - public void stockupSelfUpdateState(StockupDTO stockupDTO) { + public void stockupSelfUpdateState(StockupDTO stockupDTO,int num) { //查询全部订单数据 List<DistrilbutionBillStockEntity> distrilbutionBillStockEntities = distrilbutionBillStockMapper.selectList(Wrappers.<DistrilbutionBillStockEntity>query().lambda() @@ -1612,7 +1612,7 @@ public class DistributionAsyncServiceImpl implements IDistributionAsyncService { .apply("inventory_status in (1,2)") ); int sum = detailsEntities.stream().mapToInt(DistributionDeliveryDetailsEntity::getQuantity).sum(); //库存品数据 - int i = (sum + nu.get()) - (sum1 + 1); + int i = (sum + nu.get()) - (sum1 + num); /* detailsEntities.forEach( r -> { if(r.getConditions().equals("1") && Objects.equals(r.getQuantity(), r.getRealityQuantity())){ //修改当前备货状态已完成 diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockupServiceImpl.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockupServiceImpl.java index 09911c2c4..803eaf2b4 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockupServiceImpl.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockupServiceImpl.java @@ -37,6 +37,7 @@ import com.logpm.distribution.excel.DistributionCityExcel; import com.logpm.distribution.excel.DistributionMarketExcel; import com.logpm.distribution.excel.DistributionSelfExcel; import com.logpm.distribution.mapper.DistributionStockupMapper; +import com.logpm.distribution.mapper.DistrilbutionBillLadingMapper; import com.logpm.distribution.service.*; import com.logpm.distribution.vo.*; import com.logpm.distribution.vo.app.StockupZeroVO; @@ -109,6 +110,7 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl<Distribution @Autowired private IDistributionReservationStocklistService distributionReservationStocklistService; + @Autowired private IWarehouseTrayGoodsClient warehouseTrayGoodsClient; @Autowired @@ -137,6 +139,9 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl<Distribution @Autowired private IDistrilbutionBillStockService distrilbutionBillStockService; + @Autowired + private DistrilbutionBillLadingMapper distrilbutionBillLadingMapper; + @Autowired private IBasicdataCodeClient basicDataCodeClient; @@ -1753,6 +1758,23 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl<Distribution return Resp.scanFail("备货失败", "备货失败!"); } else { List<DistributionStockEntity> list1 = new ArrayList<>(); + String collect = voList.stream().map(DistributionStockPackageVO::getPacketBarCode).collect(Collectors.joining(",")); + Long warehouseId ; + if(one.getStockUpType().equals("3")){ + DistrilbutionBillLadingEntity distrilbutionBillLadingEntity = distrilbutionBillLadingMapper.selectById(stockupDTO.getReservationId()); + warehouseId = distrilbutionBillLadingEntity.getWarehouseId(); + }else{ + DistributionReservationEntity byId1 = distributionReservationService.getById(stockupDTO.getReservationId()); + warehouseId = byId1.getWarehouseId(); + } + if(ObjectUtils.isNull(warehouseId)){ + throw new ServiceException("预约信息不存在,无法备货!"); + } + //货位下架 + R r = warehouseUpdownTypeClient.downPackage(collect,warehouseId ); + if(r.getCode() != 200){ + throw new ServiceException("下架失败!!"); + } voList.forEach(i -> { //查询是否已备货 DistributionParcelListEntity byId = distributionParcelListService.getById(i.getParcelListId()); @@ -1763,18 +1785,14 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl<Distribution parcelList.setId(i.getParcelListId()); parcelList.setOrderPackageStockupStatus(OrderPackageStockupStatusConstant.yibeihu.getValue()); distributionParcelListService.updateById(parcelList); - //货位下架 - R r = warehouseUpdownTypeClient.downPackage(i.getPacketBarCode(), parcelList.getWarehouseId()); - if(!r.isSuccess()){ - throw new ServiceException("下架失败!!"); - } + //判断备货任务是否完成 if(one.getStockUpType().equals("3")){ - distributionAsyncService.stockupSelfUpdateState(stockupDTO); +// distributionAsyncService.stockupSelfUpdateState(stockupDTO); distributionStock.setBillLadingId(i.getReservationId()); distributionStock.setConditions("2"); }else{ - distributionAsyncService.stockupUpdateState(stockupDTO); +// distributionAsyncService.stockupUpdateState(stockupDTO); distributionStock.setReservationId(i.getReservationId()); distributionStock.setReservationCode(i.getReservationCode()); distributionStock.setConditions("1"); @@ -1811,6 +1829,14 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl<Distribution //添加扫描记录 if(!list1.isEmpty()){ + + //判断备货任务是否完成 + if(one.getStockUpType().equals("3")){ + distributionAsyncService.stockupSelfUpdateState(stockupDTO,list1.size()); + }else{ + distributionAsyncService.stockupUpdateState(stockupDTO,list1.size()); + } + distributionStockService.saveBatch(list1); } int i = list1.isEmpty() ? 0 : list1.size(); @@ -1888,7 +1914,7 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl<Distribution return 2; } else { //扫描操作 - distributionAsyncService.stockupSelfUpdateState(stockupDTO); + distributionAsyncService.stockupSelfUpdateState(stockupDTO,1); return 1; } } else { @@ -1932,7 +1958,7 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl<Distribution deliveryDetails.setRealityQuantity(one.getRealityQuantity() + 1); distributionDeliveryDetailsService.updateById(deliveryDetails); //修改状态 - distributionAsyncService.stockupSelfUpdateState(stockupDTO); + distributionAsyncService.stockupSelfUpdateState(stockupDTO,1); // distributionAsyncService.stockupStockSelfUpdateState(stockupDTO); return 1; } else { @@ -1977,7 +2003,7 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl<Distribution // distributionStockup.setId(distributionStockupEntity.getId()); // distributionStockup.setStockupStatus(StockupStatusConstant.beihuozhong.getValue()); // distributionStockupService.updateById(distributionStockup); - distributionAsyncService.stockupUpdateState(stockupDTO); + distributionAsyncService.stockupUpdateState(stockupDTO,1); return 1; @@ -2055,7 +2081,7 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl<Distribution //扫码成功 distributionReservationStocklistService.updateById(distributionReservationStocklistEntity); //修改状态 - distributionAsyncService.stockupUpdateState(stockupDTO); + distributionAsyncService.stockupUpdateState(stockupDTO,1); // distributionAsyncService.stockupStockUpdateState(stockupDTO); return 1;