From 23c5143e172023dd1ecd1e06d3bcba81511a23fe Mon Sep 17 00:00:00 2001 From: "pref_mail@163.com" Date: Thu, 5 Sep 2024 19:30:25 +0800 Subject: [PATCH] =?UTF-8?q?add:=E5=A2=9E=E5=8A=A0=E4=BD=9C=E4=B8=9A?= =?UTF-8?q?=E8=8A=82=E7=82=B9=E7=9A=84=E6=95=B0=E6=8D=AE=E6=8E=A8=E9=80=81?= =?UTF-8?q?=20=E6=96=87=E5=91=98=E5=A4=8D=E6=A0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../constant/broadcast/FanoutConstants.java | 13 ++ .../DistributionSignforController.java | 2 + .../mapper/DistributionLoadscanMapper.java | 13 +- .../mapper/DistributionLoadscanMapper.xml | 6 + .../DistributionLoadscaninvnMapper.java | 2 + .../mapper/DistributionLoadscaninvnMapper.xml | 6 + .../service/IDistributionNodeWorkService.java | 2 +- .../impl/DistributionNodeWorkServiceImpl.java | 8 +- .../impl/DistributionSignforServiceImpl.java | 149 +++++++++++++----- 9 files changed, 155 insertions(+), 46 deletions(-) diff --git a/blade-biz-common/src/main/java/org/springblade/common/constant/broadcast/FanoutConstants.java b/blade-biz-common/src/main/java/org/springblade/common/constant/broadcast/FanoutConstants.java index ef7dc6d9d..a165074c2 100644 --- a/blade-biz-common/src/main/java/org/springblade/common/constant/broadcast/FanoutConstants.java +++ b/blade-biz-common/src/main/java/org/springblade/common/constant/broadcast/FanoutConstants.java @@ -228,6 +228,19 @@ public abstract class FanoutConstants { } + /** + * 复核 + */ + interface DeliveryAndrecheck { + + String EXCHANGE = "fanout.distribution.recheck" + ModuleNameConstant.DEVAUTH; + + // main: {"id":"备货任务ID", "stockupCode":"备货编码", "typeService":"服务类型 1 商 2 市 3 自", "stockupDate":"备货时间"} + interface QUEUE { + + } + } + interface signfor { diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/controller/DistributionSignforController.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/controller/DistributionSignforController.java index a502b7b49..17ca28f41 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/controller/DistributionSignforController.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/controller/DistributionSignforController.java @@ -43,6 +43,7 @@ import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.springblade.common.model.NodeFanoutMsg; import org.springblade.common.utils.GaoDeApiUtil; import org.springblade.core.boot.ctrl.BladeController; import org.springblade.core.excel.util.ExcelUtil; @@ -358,6 +359,7 @@ public class DistributionSignforController extends BladeController { distributionStockupInfoService.maintenanceStockUp(distributionSignfor.getReservationId(),1); + } // return R.status(distributionSignforService.updateById(distributionSignfor)); return r; diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionLoadscanMapper.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionLoadscanMapper.java index 5aae0d04f..c41e7b5fe 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionLoadscanMapper.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionLoadscanMapper.java @@ -166,14 +166,14 @@ public interface DistributionLoadscanMapper extends BaseMapper selectSignDataForArticleAndZero(@Param("reservationId") Long reservationId); } diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionLoadscanMapper.xml b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionLoadscanMapper.xml index 325dbd2d4..14dff1e35 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionLoadscanMapper.xml +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionLoadscanMapper.xml @@ -147,4 +147,10 @@ WHERE reservation_id = #{reservationId} AND package_id = #{packageId} + diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionLoadscaninvnMapper.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionLoadscaninvnMapper.java index 530ec839c..c15a85221 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionLoadscaninvnMapper.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionLoadscaninvnMapper.java @@ -60,4 +60,6 @@ public interface DistributionLoadscaninvnMapper extends BaseMapper selectSignDataForStock(@Param("reservationId") Long reservationId); } diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionLoadscaninvnMapper.xml b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionLoadscaninvnMapper.xml index 24f551977..d844cedfa 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionLoadscaninvnMapper.xml +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionLoadscaninvnMapper.xml @@ -82,5 +82,11 @@ AND ldl.delivery_id = #{deliveryId} AND ldl.scan_status != '1' + diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionNodeWorkService.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionNodeWorkService.java index 4e89f4db0..be431d144 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionNodeWorkService.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionNodeWorkService.java @@ -70,7 +70,7 @@ public interface IDistributionNodeWorkService { /** * 签收复核 */ - void signForCheck(); + void signForCheck(NodeFanoutMsg nodeFanoutMsg, BladeUser user); /** * 自提签收扫描 diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionNodeWorkServiceImpl.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionNodeWorkServiceImpl.java index c548a2049..2ae398899 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionNodeWorkServiceImpl.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionNodeWorkServiceImpl.java @@ -177,8 +177,12 @@ public class DistributionNodeWorkServiceImpl implements IDistributionNodeWorkSer @Override - public void signForCheck() { - + public void signForCheck(NodeFanoutMsg nodeFanoutMsg, BladeUser user) { + try { + rabbitTemplate.convertAndSend(FanoutConstants.distribution.DeliveryAndrecheck.EXCHANGE, null, com.alibaba.fastjson.JSONObject.toJSONString(nodeFanoutMsg)); + } catch (AmqpException e) { + log.error(">>>>>>>>>>>>>>>>>>>>>>>>>> 消息推送失败~ 请联系管理员! ", e); + } } @Override 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 c294cbe40..5bc43d279 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 @@ -254,6 +254,7 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl selectDistributionSignforPage(IPage page, DistributionSignforVO distributionSignfor) { @@ -703,6 +704,11 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl nodeFanoutMsg = buildNodeFanoutMsgByReCheck(reservationEntity); + distributionNodeWorkService.signForCheck(nodeFanoutMsg, AuthUtil.getUser()); + // // 复核作业节点推送 // iDistributionNodeWorkService.signForCheck(DistributionSignforEntity distributionSignforEntity,DistributionReservationEntity reservationEntity); @@ -712,6 +718,74 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl buildNodeFanoutMsgByReCheck(DistributionReservationEntity reservationEntity) { + + // 查询当前预约单下的定制品和零担签收数据 + NodeFanoutMsg nodeFanoutMsg = new NodeFanoutMsg(); + nodeFanoutMsg.setBizOperation(BizOperationEnums.ADD); + nodeFanoutMsg.setNode(WorkNodeEnums.CLERK_REVIEW); + nodeFanoutMsg.setWarehouse(reservationEntity.getWarehouseName()); + nodeFanoutMsg.setWarehouseId(reservationEntity.getWarehouseId()); + nodeFanoutMsg.setOperator(AuthUtil.getTenantId()); + nodeFanoutMsg.setOperatorTime(reservationEntity.getUpdateTime()); + +// DistributionTaskVO taskVO = buildDistributionTaskVO(distributionDeliveryListEntity, AuthUtil.getUserId()); + org.springblade.common.model.DistributionSignforVO distributionLoadVO = new org.springblade.common.model.DistributionSignforVO(); + + distributionLoadVO.setReservationCode(reservationEntity.getReservationCode()); + + nodeFanoutMsg.setMain(distributionLoadVO); + + + List data = new ArrayList<>(); + + List list = distributionLoadscanMapper.selectSignDataForArticleAndZero(reservationEntity.getId()); + + for (DistributionLoadscanEntity distributionLoadscanEntity : list) { + + PackageData packageData = new PackageData(); + // 不是零担 + if (distributionLoadscanEntity.getIsZero() == null) { + packageData.setPackageCode(distributionLoadscanEntity.getOrderPackageCode()); + packageData.setPackageType(PackageTypeEnums.CMP); + } else { + // 零担 + packageData.setPackageType(PackageTypeEnums.LTL); + packageData.setNumber(distributionLoadscanEntity.getReceivedQuantity()); + DistributionParcelListEntity byId = distributionParcelListService.getById(distributionLoadscanEntity.getPackageId()); + if (Func.isNotEmpty(byId)) { + packageData.setOrderCode(byId.getOrderCode()); + packageData.setBrand(byId.getBrandName()); + packageData.setWaybillNumber(byId.getWaybillNumber()); + packageData.setProductName(byId.getFirsts()); + } + } + data.add(packageData); + + } + List distributionLoadscaninvnEntities = distributionLoadscaninvnMapper.selectSignDataForStock(reservationEntity.getId()); + for (DistributionLoadscaninvnEntity distributionLoadscaninvnEntity : distributionLoadscaninvnEntities) { + PackageData packageData = new PackageData(); + DistributionStockListEntity byIds = distributionStockListService.getById(distributionLoadscaninvnEntity.getInventoryId()); + if (Func.isNotEmpty(byIds)) { + packageData.setPackageCode(distributionLoadscaninvnEntity.getOrderPackageCode()); + packageData.setBrand(byIds.getBrandName()); +// packageData.setProductName(byId.getDescriptionGoods()); + packageData.setMaterialCode(byIds.getCargoNumber()); + packageData.setMaterialName(byIds.getDescriptionGoods()); + packageData.setPickupBatch(byIds.getIncomingBatch()); + packageData.setPackageType(PackageTypeEnums.INV); + } + + packageData.setNumber(1); + data.add(packageData); + } + nodeFanoutMsg.setDetails(data); + return nodeFanoutMsg; + + + } + @Override public R isSign(Long signingId) { String method = "#####################DistributionSignforServiceImpl类,方法isSign"; @@ -2834,10 +2908,9 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl nodeFanoutMsg = buildDistributionSignforVO(deliveryListEntity,pushList); - - iDistributionNodeWorkService.signFor(nodeFanoutMsg,AuthUtil.getUser()); + NodeFanoutMsg nodeFanoutMsg = buildDistributionSignforVO(deliveryListEntity, pushList); + iDistributionNodeWorkService.signFor(nodeFanoutMsg, AuthUtil.getUser()); return Resp.scanSuccessWithData("签收成功", str, orderPackageCodes); @@ -2865,7 +2938,7 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl jsonObjects = new ArrayList<>(); JSONObject jsonObject = new JSONObject(); jsonObject.put("code", distributionLoadscanEntity.getOrderPackageCode()); @@ -3623,7 +3696,6 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl packageLockIds = new ArrayList<>(); - List pushList =new ArrayList<>(); + List pushList = new ArrayList<>(); boolean isHaveCode = detailEntities.stream().anyMatch(inven -> Func.isNotEmpty(inven.getStockPackageCode())); @@ -4087,9 +4159,9 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl nodeFanoutMsg = buildDistributionSignforVOByStock(deliveryListEntity,pushList); + NodeFanoutMsg nodeFanoutMsg = buildDistributionSignforVOByStock(deliveryListEntity, pushList); - iDistributionNodeWorkService.signFor(nodeFanoutMsg,AuthUtil.getUser()); + iDistributionNodeWorkService.signFor(nodeFanoutMsg, AuthUtil.getUser()); return Resp.scanSuccess("签收成功", str); @@ -6273,8 +6345,8 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl nodeFanoutMsg = buildDistributionSignforVOByZero(deliveryListEntity,pushList); + NodeFanoutMsg nodeFanoutMsg = buildDistributionSignforVOByZero(deliveryListEntity, pushList); - iDistributionNodeWorkService.signFor(nodeFanoutMsg,AuthUtil.getUser()); + iDistributionNodeWorkService.signFor(nodeFanoutMsg, AuthUtil.getUser()); return Resp.scanSuccess("签收成功", str); @@ -6427,7 +6497,7 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl customer = distributionReservationMapper.selectPushOldCustomer(distributionSignforEntity.getReservationId()); - if (customer.size()>1){ + if (customer.size() > 1) { resultMap.put("result", false); - resultMap.put("msg", "存在多个signfor信息 >>>ReservationId():"+distributionSignforEntity.getReservationId()); + resultMap.put("msg", "存在多个signfor信息 >>>ReservationId():" + distributionSignforEntity.getReservationId()); } if (Func.isNotEmpty(customer)) { //查询客户订单 @@ -6843,14 +6912,14 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl signforUser = userClient.userInfoById(signUserId); - if (Objects.equals(signforUser.getCode() , 200)){ + if (Objects.equals(signforUser.getCode(), 200)) { delivery.setOutPhone(signforUser.getData().getPhone()); - }else { + } else { resultMap.put("result", false); - resultMap.put("msg", "外协查询签收人电话失败:"+customer.get(0).getSignUserId()); + resultMap.put("msg", "外协查询签收人电话失败:" + customer.get(0).getSignUserId()); } } } @@ -6862,7 +6931,7 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl>>>> 推送老系统签收信息报错", e); } @@ -6871,17 +6940,17 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl handleSignPushDataUnitDTOList(List pushOldPackageLoading) { - pushOldPackageLoading.stream().forEach(k->{ - if (k.getGoods_type() == 3){ + pushOldPackageLoading.stream().forEach(k -> { + if (k.getGoods_type() == 3) { String unitNo = k.getUnitNo(); int indexOfUnitNo = unitNo.lastIndexOf("-"); - if (indexOfUnitNo>0){ + if (indexOfUnitNo > 0) { unitNo.substring(indexOfUnitNo); k.setUnitNo(unitNo); } String orderSelfNum = k.getOrderSelfNum(); int indexOfOrderSelfNum = orderSelfNum.lastIndexOf("-"); - if (indexOfUnitNo>0){ + if (indexOfUnitNo > 0) { orderSelfNum.substring(indexOfUnitNo); k.setOrderSelfNum(orderSelfNum); } @@ -7059,7 +7128,7 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl clerkInventoryCheckPushData(String orderPackageCode) { - Map resultMap = new HashMap<>(); + Map resultMap = new HashMap<>(); try { //查询此包件 List loadscaninvnEntityList = distributionLoadscaninvnService.list(Wrappers.query().lambda() @@ -7069,14 +7138,14 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl1) { + if (loadscaninvnEntityList.size() > 1) { //存在多个记录 resultMap.put("result", false); - resultMap.put("msg", orderPackageCode+"存在多个装车扫描记录"); + resultMap.put("msg", orderPackageCode + "存在多个装车扫描记录"); return resultMap; } DistributionLoadscaninvnEntity loadscaninvnEntity = loadscaninvnEntityList.get(0); @@ -7087,7 +7156,7 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl 0) { //查询包件扫描签收 //查询包件扫描签收 - List pushOldInventoryPackageLoading = distributionSignforMapper.selectPushOldSingleInventoryPackageLoading(loadscaninvnEntity.getReservationId(), loadscaninvnEntity.getDeliveryId(),orderPackageCode); - List pushOldInventoryPackageSigning = distributionSignforMapper.selectPushOldSingleInventoryPackageSigning(loadscaninvnEntity.getReservationId(), loadscaninvnEntity.getDeliveryId(),orderPackageCode); + List pushOldInventoryPackageLoading = distributionSignforMapper.selectPushOldSingleInventoryPackageLoading(loadscaninvnEntity.getReservationId(), loadscaninvnEntity.getDeliveryId(), orderPackageCode); + List pushOldInventoryPackageSigning = distributionSignforMapper.selectPushOldSingleInventoryPackageSigning(loadscaninvnEntity.getReservationId(), loadscaninvnEntity.getDeliveryId(), orderPackageCode); if (Func.isNotEmpty(pushOldInventoryPackageLoading)) { buildNameAndPhone(pushOldInventoryPackageLoading); signPushDataUnitDTOS.addAll(pushOldInventoryPackageLoading); @@ -7198,9 +7267,9 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl>>> clerkCheckPushData SignPushDataDTO :{}", delivery); resultMap = oldSystemDataPushClient.pushOldSystemSignInfo(delivery); return resultMap; - }catch (Exception e) { + } catch (Exception e) { resultMap.put("result", false); - resultMap.put("msg", "数据准备错误"+e.getMessage()); + resultMap.put("msg", "数据准备错误" + e.getMessage()); log.error(">>>>> 推送老系统签收信息报错", e); } resultMap.put("result", false);