From f732f1b78f3124377545176dd952b48a8345e7d4 Mon Sep 17 00:00:00 2001 From: "pref_mail@163.com" Date: Fri, 17 May 2024 11:00:52 +0800 Subject: [PATCH] =?UTF-8?q?=E6=89=AB=E6=8F=8F=E8=A3=85=E8=BD=A6=E6=89=AB?= =?UTF-8?q?=E6=8F=8F=E6=97=B6=E9=97=B4=E6=85=A2BUG=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../feign/IWarehouseUpdownTypeClient.java | 3 + .../DistributionDeliveryListServiceImpl.java | 3 +- .../feign/WarehouseUpdownTypeClient.java | 16 +++++ .../service/IWarehouseUpdownTypeService.java | 2 + .../impl/WarehouseUpdownTypeServiceImpl.java | 71 +++++++++++++++++++ 5 files changed, 94 insertions(+), 1 deletion(-) diff --git a/blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/feign/IWarehouseUpdownTypeClient.java b/blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/feign/IWarehouseUpdownTypeClient.java index 70fc1e00d..cd7d991b7 100644 --- a/blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/feign/IWarehouseUpdownTypeClient.java +++ b/blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/feign/IWarehouseUpdownTypeClient.java @@ -61,6 +61,9 @@ public interface IWarehouseUpdownTypeClient { @GetMapping(TOP + "/downPackageOrDelTray") R downPackageOrDelTray(@RequestParam("orderPackageCodes") String orderPackageCodes, @RequestParam("warehouseId") Long warehouseId,@RequestParam("remark") String remark); + @GetMapping(TOP + "/downPackageAndDelTrayAndIsUpdate") + R downPackageAndDelTrayAndIsUpdate(@RequestParam("orderPackageCodes") String orderPackageCodes, @RequestParam("warehouseId") Long warehouseId,@RequestParam("remark") String remark,@RequestParam("isOrNo") boolean isOrNo); + @GetMapping(TOP + "/downTray") R downTray(@RequestParam("trayCode") String trayCode, @RequestParam("warehouseId") Long warehouseId); diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionDeliveryListServiceImpl.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionDeliveryListServiceImpl.java index 801b15307..99d77bc5d 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionDeliveryListServiceImpl.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionDeliveryListServiceImpl.java @@ -729,7 +729,8 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl info = new HashMap<>(); info.put("orderPackageCode",parcelListEntity.getOrderPackageCode()); info.put("warehouseId",myCurrentWarehouse.getId()); - warehouseUpdownTypeClient.downPackageOrDelTray(parcelListEntity.getOrderPackageCode(),myCurrentWarehouse.getId(),"扫描装车进行下架、解托"); + + warehouseUpdownTypeClient.downPackageAndDelTrayAndIsUpdate(parcelListEntity.getOrderPackageCode(),myCurrentWarehouse.getId(),"扫描装车进行下架、解托",false); Map map = new HashMap(); String distrilbutionloadingscanDTOJson = JSONObject.toJSONString(distrilbutionloadingscanDTO); diff --git a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/feign/WarehouseUpdownTypeClient.java b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/feign/WarehouseUpdownTypeClient.java index 2eccd41cc..076f0798c 100644 --- a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/feign/WarehouseUpdownTypeClient.java +++ b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/feign/WarehouseUpdownTypeClient.java @@ -97,6 +97,22 @@ public class WarehouseUpdownTypeClient implements IWarehouseUpdownTypeClient { } } + @Override + public R downPackageAndDelTrayAndIsUpdate(String orderPackageCodes,Long warehouseId,String remark,boolean isOrNo) { + List upShelfPackageList = new ArrayList<>(); + String[] split = orderPackageCodes.split(","); + for(String orderPackageCode:split){ + UpShelfPackageDTO dto = new UpShelfPackageDTO(); + dto.setOrderPackageCode(orderPackageCode); + upShelfPackageList.add(dto); + } + if(!upShelfPackageList.isEmpty()){ + return warehouseUpdownTypeService.downPackageAndDelTrayAndIsUpdate(upShelfPackageList,warehouseId,remark,isOrNo); + }else{ + return R.fail(403,"处理失败"); + } + } + @Override public R downTray(String trayCode, Long warehouseId) { return warehouseUpdownTypeService.downTrayCode(trayCode,warehouseId); diff --git a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/IWarehouseUpdownTypeService.java b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/IWarehouseUpdownTypeService.java index 3b328dffd..ab8bb945f 100644 --- a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/IWarehouseUpdownTypeService.java +++ b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/IWarehouseUpdownTypeService.java @@ -39,6 +39,8 @@ public interface IWarehouseUpdownTypeService extends BaseService upShelfPackageList,Long warehouseId,String remark); + R downPackageAndDelTrayAndIsUpdate(List upShelfPackageList,Long warehouseId,String remark,boolean isOrNO); + R downZeroOrder(List upShelfPackageList,Long warehouseId,String remark); R downEnterStock(String code, Integer stockType, Long marketId,Long warehouseId); diff --git a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseUpdownTypeServiceImpl.java b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseUpdownTypeServiceImpl.java index 8010fa3c6..944819d26 100644 --- a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseUpdownTypeServiceImpl.java +++ b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseUpdownTypeServiceImpl.java @@ -1582,6 +1582,77 @@ public class WarehouseUpdownTypeServiceImpl extends BaseServiceImpl upShelfPackageList,Long warehouseId,String remark,boolean isOrNo) { + int num = 0; + Set orderSet = new TreeSet<>(); + for (UpShelfPackageDTO upShelfPackageDTO:upShelfPackageList){ + String orderPackageCode = upShelfPackageDTO.getOrderPackageCode(); + //查询包件在哪个库位上 + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("association_type","3") + .eq("warehouse_id",warehouseId) + .eq("association_value",orderPackageCode); + WarehouseUpdownGoodsEntity updownGoodsEntity = warehouseUpdownGoodsService.getOne(queryWrapper); + if(Objects.isNull(updownGoodsEntity)){ + log.warn("##############downPackage: 包件没有上架记录 orderPackageCode={}",orderPackageCode); + //判断是否有打托记录 + QueryWrapper trayGoodsEntityQueryWrapper = new QueryWrapper<>(); + trayGoodsEntityQueryWrapper.eq("association_type","3") + .eq("warehouse_id",warehouseId) + .eq("association_value",orderPackageCode); + WarehouseTrayGoodsEntity warehouseTrayGoodsEntity = warehouseTrayGoodsService.getOne(trayGoodsEntityQueryWrapper); + if(!Objects.isNull(warehouseTrayGoodsEntity)){ + //有托盘,托盘下托 + warehouseTrayTypeService.downPackageByOrderPackageCode(orderPackageCode,remark,warehouseId); + } + continue; + } + Long allocationId = updownGoodsEntity.getAllocationId(); + DistributionParcelListEntity parcelListEntity = distributionParcelListClient.findByPacketBarCodeAndWarehouseId(orderPackageCode,warehouseId); + Integer quantity = parcelListEntity.getQuantity(); + String orderCode = parcelListEntity.getOrderCode(); + Long updownGoodsId = updownGoodsEntity.getId(); + Long updownTypeId = updownGoodsEntity.getUpdownTypeId(); + WarehouseUpdownTypeEntity updownTypeEntity = baseMapper.selectById(updownTypeId); + QueryWrapper taryAllocationEntityQueryWrapper = new QueryWrapper<>(); + taryAllocationEntityQueryWrapper.eq("allocation_id",allocationId) + .eq("is_deleted",0); + WarehouseTaryAllocationEntity taryAllocationEntity = warehouseTaryAllocationService.getOne(taryAllocationEntityQueryWrapper); +// BasicdataTrayEntity trayEntity = warehouseTaryAllocationService.getTrayByAllocationId(allocationId); + if(!Objects.isNull(taryAllocationEntity)){ + //有托盘,托盘下托 + warehouseTrayTypeService.downPackageByOrderPackageCode(orderPackageCode,remark,warehouseId); + } + Integer residue = warehouseUpdownGoodsService.deleteByUpdownGoodsId(updownGoodsId); + if(residue == 0){ + //删除上架方式 + removeById(updownTypeId); + //修改库位状态为空闲 + basicdataGoodsAllocationClient.updateAllocationStatus(allocationId,"1"); + //如果有托盘还要删除托盘与库位的绑定 + if(!Objects.isNull(taryAllocationEntity)){ + warehouseTaryAllocationService.deleteById(taryAllocationEntity); + } + } + warehouseUpdownGoodsLogService.saveAllocationAndPackage(updownTypeEntity,parcelListEntity,"2",0,remark); + if (isOrNo){ + updatePackageGroundingStatus(orderPackageCode,"10",warehouseId); + } + updateUpdownTypeNum(updownTypeEntity); + + orderSet.add(orderCode); + num = num + quantity; + warehouseGoodsAllocationClient.updateAllocationCache(allocationId.toString()); + } + + for (String orderCode : orderSet) { + distributionStockArticleClient.updateOrderInfo(orderCode,warehouseId); + } + + return Resp.scanSuccess("下架成功","成功下架"+num+"件"); + } + @Override public R downZeroOrder(List upShelfPackageList,Long warehouseId,String remark) { StringBuffer stringBuffer = new StringBuffer("下架零担订单成功");