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 07a9af669..623f06dee 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 @@ -559,7 +559,7 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl packageLockIds = new ArrayList<>(); DistributionDeliverySelfEntity distributionDeliverySelfEntity = new DistributionDeliverySelfEntity(); if ("1".equals(distributionDeliveryListEntity.getKind())) { if (!Objects.isNull(distrilbutionloadingscanDTO.getLoadingId())) { @@ -655,6 +655,7 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl a = bladeRedis.get("warehouseId:" + myCurrentWarehouse.getId() + "trainNumber:" + distributionDeliveryListEntity.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:" + distributionDeliveryListEntity.getTrainNumber() + "orderPackageCode:" + packageLockIds,packageLockIds,10L); + } + }else { + bladeRedis.setEx("warehouseId:" + myCurrentWarehouse.getId() + "trainNumber:" + distributionDeliveryListEntity.getTrainNumber() + "orderPackageCode:" + packageLockIds,packageLockIds,10L); + } + } //查询已装车件数 // String str = getLoadingMsg(distrilbutionloadingscanDTO); @@ -1956,6 +1974,10 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl packageLockIds = new ArrayList<>(); //根据传递进来的库存品条码进行库存品的校验 //获取之前的 @@ -1990,6 +2013,7 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl a = bladeRedis.get("warehouseId:" + myCurrentWarehouse.getId() + "trainNumber:" + distributionDeliveryListEntity.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:" + distributionDeliveryListEntity.getTrainNumber() + "orderPackageCode:" + packageLockIds,packageLockIds,10L); + } + }else { + bladeRedis.setEx("warehouseId:" + myCurrentWarehouse.getId() + "trainNumber:" + distributionDeliveryListEntity.getTrainNumber() + "orderPackageCode:" + packageLockIds,packageLockIds,10L); + } + } String msg = getLoadingMsg(distrilbutionloadingscanDTO); return Resp.scanSuccess("扫描成功", msg); } @@ -5332,6 +5371,7 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl packageLockIds = new ArrayList<>(); List parcelListEntities = distributionParcelListService.list(Wrappers.query().lambda() .eq(DistributionParcelListEntity::getOrderPackageCode, distrilbutionloadingscanDTO.getBarcode()) .eq(DistributionParcelListEntity::getWarehouseId, myCurrentWarehouse.getId()) @@ -5464,7 +5504,7 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImplquery().lambda().eq(DistributionSignforEntity::getReservationId, reservationEntity.getId()).eq(DistributionSignforEntity::getDeliveryId, distrilbutionloadingscanDTO.getDeliveryId())); if (Func.isNotEmpty(signforEntity)) { //标识该客户存在异常装车包件,为了后续的异常装车审核 @@ -5485,6 +5525,21 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl 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,10L); + } + }else { + bladeRedis.setEx("warehouseId:" + myCurrentWarehouse.getId() + "trainNumber:" + deliveryListEntity.getTrainNumber() + "orderPackageCode:" + packageLockIds,packageLockIds,10L); + } + } return Resp.scanSuccess("操作成功", "异常" + abnormalTotal + "件"); } @@ -5578,7 +5633,7 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl packageLockIds = new ArrayList<>(); if (Func.isNotEmpty(distrilbutionloadingscanDTO.getReservationId())) { //查询该订单是否属于当前配送任务 List reservationStockarticleEntityList = distributionReservationMapper.selectStockArticleByReservationId(distrilbutionloadingscanDTO.getReservationId()); @@ -5699,6 +5754,7 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl 0) { str.append("异常").append(abnormalLoadingNum.get() + "件"); } + if (!packageLockIds.isEmpty()){ + List a = bladeRedis.get("warehouseId:" + myCurrentWarehouse.getId() + "trainNumber:" + distributionDeliveryListEntity.getTrainNumber() + "orderPackageCode:" + packageLockIds); + if (Func.isNotEmpty(a)){ + boolean aaa = a.stream().anyMatch(any -> packageLockIds.contains(any)); + if (aaa){ + //正在操作,请稍后重试 + throw new RuntimeException("该包件正在被操作,请稍后再试!!!"); + }else { + packageLockIds.addAll(a); + bladeRedis.setEx("warehouseId:" + myCurrentWarehouse.getId() + "trainNumber:" + distributionDeliveryListEntity.getTrainNumber() + "orderPackageCode:" + packageLockIds,packageLockIds,10L); + } + }else { + bladeRedis.setEx("warehouseId:" + myCurrentWarehouse.getId() + "trainNumber:" + distributionDeliveryListEntity.getTrainNumber() + "orderPackageCode:" + packageLockIds,packageLockIds,10L); + } + } return Resp.scanSuccess("装车成功", str.toString()); } diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionSignforServiceImpl.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionSignforServiceImpl.java index a924d9976..d9a43a593 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionSignforServiceImpl.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionSignforServiceImpl.java @@ -77,6 +77,7 @@ import org.springblade.common.utils.CommonUtil; import org.springblade.common.utils.FileUtil; import org.springblade.common.utils.GaoDeApiUtil; 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.utils.AuthUtil; import org.springblade.core.tool.api.R; @@ -208,6 +209,9 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl selectDistributionSignforPage(IPage page, DistributionSignforVO distributionSignfor) { @@ -2059,7 +2063,11 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl packageLockIds = new ArrayList<>(); try { nickName = AuthUtil.getNickName(); @@ -2114,7 +2122,7 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl().lambda() @@ -2197,6 +2205,7 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl 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,10L); + } + }else { + bladeRedis.setEx("warehouseId:" + myCurrentWarehouse.getId() + "trainNumber:" + deliveryListEntity.getTrainNumber() + "orderPackageCode:" + packageLockIds,packageLockIds,10L); + } + } @@ -2305,6 +2329,11 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl OrderPackageStatusConstant.yiqianshou.getValue().equals(p.getOrderPackageStatus())); if (flag) { @@ -2321,6 +2350,7 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl orderpackages = new ArrayList<>(); + List packageLockIds = new ArrayList<>(); for (String orderPackageCode : orderPackageCodes) { List collect = parcelListEntityList.stream().filter(p -> p.getOrderPackageCode().equals(orderPackageCode)).collect(Collectors.toList()); if (Func.isNotEmpty(collect) && collect.size() == 1) { @@ -2345,6 +2375,7 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl().lambda() @@ -2413,6 +2443,8 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl 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,10L); + } + }else { + bladeRedis.setEx("warehouseId:" + myCurrentWarehouse.getId() + "trainNumber:" + deliveryListEntity.getTrainNumber() + "orderPackageCode:" + packageLockIds,packageLockIds,10L); + } + } //维护客户 distributionReservationService.maintenanceReservationInfo(distrilbutionloadingscanDTO.getReservationId()); //维护配送任务 @@ -2656,6 +2704,11 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl packageLockIds = new ArrayList<>(); if (Func.isNotEmpty(parcelListEntityList) && parcelListEntityList.size() == 1) { DistributionParcelListEntity parcelListEntity = parcelListEntityList.get(0); if (parcelListEntity.getOrderPackageStatus().equals(OrderPackageStatusConstant.yiqianshou.getValue())) { @@ -2672,7 +2725,6 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl().lambda() @@ -2826,6 +2878,7 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl a = bladeRedis.get("warehouseId:" + myCurrentWarehouse.getId() + "trainNumber:" + distributionDeliveryListEntity.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:" + distributionDeliveryListEntity.getTrainNumber() + "orderPackageCode:" + packageLockIds,packageLockIds,10L); + } + }else { + bladeRedis.setEx("warehouseId:" + myCurrentWarehouse.getId() + "trainNumber:" + distributionDeliveryListEntity.getTrainNumber() + "orderPackageCode:" + packageLockIds,packageLockIds,10L); + } + } return Resp.scanSuccess("操作成功", s); } @@ -3080,12 +3148,21 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl detailEntities = distributionReservationMapper.selectInventoryListByReservation(distrilbutionloadingscanDTO.getReservationId()); if (Func.isEmpty(detailEntities)) { return Resp.scanFail("此码无效", "此码无效"); } + DistributionDeliveryListEntity deliveryListEntity = distributionDeliveryListMapper.selectById(distrilbutionloadingscanDTO.getDeliveryId()); + if (Func.isEmpty(deliveryListEntity)){ + return R.fail(403,"配送错误"); + } + List packageLockIds = new ArrayList<>(); + boolean isHaveCode = detailEntities.stream().anyMatch(inven -> Func.isNotEmpty(inven.getStockPackageCode())); if (isHaveCode) { @@ -3109,6 +3186,7 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl().lambda() @@ -3175,6 +3252,7 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl 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,10L); + } + }else { + bladeRedis.setEx("warehouseId:" + myCurrentWarehouse.getId() + "trainNumber:" + deliveryListEntity.getTrainNumber() + "orderPackageCode:" + packageLockIds,packageLockIds,10L); + } + } return Resp.scanSuccess("签收成功", str); } @@ -4223,6 +4316,7 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl packageLockIds = new ArrayList<>(); //查询数据 DistributionSignforEntity distributionSignforEntity = baseMapper.selectOne(new QueryWrapper().lambda() .eq(DistributionSignforEntity::getDeliveryId, distributionSignfor.getDeliveryId()) @@ -4289,6 +4383,7 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl>>>>>>>>>>>>>:{}",loadingInventoryNum); log.info(method+"签收包件数>>>>>>>>>>>>>>:{}",signingPackageNum); log.info(method+"签收库存品数>>>>>>>>>>>>>>:{}",signingPackageNum); - + if (!packageLockIds.isEmpty()){ + List a = bladeRedis.get("warehouseId:" + myCurrentWarehouse.getId() + "trainNumber:" + distributionDeliveryListEntity.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:" + distributionDeliveryListEntity.getTrainNumber() + "orderPackageCode:" + packageLockIds,packageLockIds,10L); + } + }else { + bladeRedis.setEx("warehouseId:" + myCurrentWarehouse.getId() + "trainNumber:" + distributionDeliveryListEntity.getTrainNumber() + "orderPackageCode:" + packageLockIds,packageLockIds,10L); + } + } LambdaUpdateWrapper set = new UpdateWrapper().lambda() .eq(DistributionSignforEntity::getId, distributionSignforEntity.getId()) .set(StringUtils.isNotBlank(distributionSignfor.getDeliverySignPictures()), DistributionSignforEntity::getDeliverySignPictures, distributionSignfor.getDeliverySignPictures()) @@ -5157,6 +5278,7 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl packageLockIds = new ArrayList<>(); //这里装车的数据需要进行补录 DistributionDeliveryListEntity deliveryListEntity = distributionDeliveryListMapper.selectById(distrilbutionloadingscanDTO.getDeliveryId()); DistributionDeliverySelfEntity distributionDeliverySelfEntity = new DistributionDeliverySelfDTO(); @@ -5339,11 +5461,27 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl 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,10L); + } + }else { + bladeRedis.setEx("warehouseId:" + myCurrentWarehouse.getId() + "trainNumber:" + deliveryListEntity.getTrainNumber() + "orderPackageCode:" + packageLockIds,packageLockIds,10L); + } + } String str = checkSignNum(distrilbutionloadingscanDTO); return Resp.scanSuccess("签收成功", str); } diff --git a/blade-service/logpm-factory-data/logpm-factory-data-zbom/src/main/java/com/logpm/factorydata/zbom/mq/ZbomNodeDataPushListener.java b/blade-service/logpm-factory-data/logpm-factory-data-zbom/src/main/java/com/logpm/factorydata/zbom/mq/ZbomNodeDataPushListener.java index b00eaf969..66cc4efeb 100644 --- a/blade-service/logpm-factory-data/logpm-factory-data-zbom/src/main/java/com/logpm/factorydata/zbom/mq/ZbomNodeDataPushListener.java +++ b/blade-service/logpm-factory-data/logpm-factory-data-zbom/src/main/java/com/logpm/factorydata/zbom/mq/ZbomNodeDataPushListener.java @@ -232,8 +232,6 @@ public class ZbomNodeDataPushListener { // 修改订单包件表的签收状态 List packages = CollUtil.newArrayList(nodeConfirmParam.getPackageCode().split(",")); orderPackageService.updateSignForStatus(packages); - // 修改加盟商单号+发货单号节点数据 - nodeOrderService.updateNodeOrder(nodeConfirmParam); } else { List js = new ArrayList<>(); String packageCode = nodeConfirmParam.getPackageCode(); @@ -259,6 +257,8 @@ public class ZbomNodeDataPushListener { .build(); factoryDataClient.sendMessage(message); } + // 修改加盟商单号+发货单号节点数据 + nodeOrderService.updateNodeOrder(nodeConfirmParam); } } }