From fa7084540a918c3080d35238a98139c12168bce4 Mon Sep 17 00:00:00 2001 From: PigBaoBei <2739175034@qq.com> Date: Tue, 30 Apr 2024 23:01:58 +0800 Subject: [PATCH] =?UTF-8?q?=E8=87=AA=E6=8F=90=E6=8E=A8=E9=80=81=E8=80=81?= =?UTF-8?q?=E7=B3=BB=E7=BB=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../feign/IDistributionSignforClient.java | 5 + .../feign/DistributionSignforClient.java | 9 + .../mapper/DistributionSignforMapper.xml | 28 +-- .../mapper/DistrilbutionBillLadingMapper.java | 24 +++ .../mapper/DistrilbutionBillLadingMapper.xml | 124 +++++++++++ .../ClerkCheckPushBillDataQueueHandler.java | 199 ++++++++++++++++++ .../ClerkCheckPushDataQueueHandler.java | 6 + .../service/IDistributionSignforService.java | 7 + .../impl/DistributionSignforServiceImpl.java | 194 +++++++++++++++++ .../DistributionStockupInfoServiceImpl.java | 1 + .../jobhandle/DistributionDatarepair.java | 33 +++ 11 files changed, 616 insertions(+), 14 deletions(-) create mode 100644 blade-service/logpm-distribution/src/main/java/com/logpm/distribution/receiver/ClerkCheckPushBillDataQueueHandler.java diff --git a/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/feign/IDistributionSignforClient.java b/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/feign/IDistributionSignforClient.java index 94d609ba1..add950eb2 100644 --- a/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/feign/IDistributionSignforClient.java +++ b/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/feign/IDistributionSignforClient.java @@ -47,4 +47,9 @@ public interface IDistributionSignforClient { @GetMapping(TOP) BladePage top(@RequestParam("current") Integer current, @RequestParam("size") Integer size); + + + @GetMapping(TOP+"push0ldSystemSignInfo") + void push0ldSystemSignInfo(@RequestParam("current") Long signingId); + } diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/feign/DistributionSignforClient.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/feign/DistributionSignforClient.java index 938dde9a8..622916002 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/feign/DistributionSignforClient.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/feign/DistributionSignforClient.java @@ -50,4 +50,13 @@ public class DistributionSignforClient implements IDistributionSignforClient { return BladePage.of(page); } + /** + * @param signingId + */ + @Override + public void push0ldSystemSignInfo(Long signingId) { + distributionSignforService.push0ldSystemSignInfo(signingId); + + } + } diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionSignforMapper.xml b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionSignforMapper.xml index 182a193c3..549bf5cd2 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionSignforMapper.xml +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionSignforMapper.xml @@ -1382,19 +1382,19 @@ diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistrilbutionBillLadingMapper.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistrilbutionBillLadingMapper.java index 334ffb0c5..d23a3783b 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistrilbutionBillLadingMapper.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistrilbutionBillLadingMapper.java @@ -31,6 +31,9 @@ import com.logpm.distribution.excel.DistrilbutionBillLadingExcel; import com.logpm.distribution.vo.*; import com.logpm.distribution.vo.app.DistrilbutionAppBillLadingDetailVO; import com.logpm.distribution.vo.app.DistrilbutionAppBillLadingOrderMainVO; +import com.logpm.oldproject.dto.SignPushDataContactDTO; +import com.logpm.oldproject.dto.SignPushDataDTO; +import com.logpm.oldproject.dto.SignPushDataUnitDTO; import org.apache.ibatis.annotations.Param; import java.util.List; @@ -158,6 +161,27 @@ public interface DistrilbutionBillLadingMapper extends BaseMapper selectBillLadingZeroPackageList(@Param("bullLadingId")Long bullLadingId); + /** + * 推送老系统 + * @param billId + * @return + */ + SignPushDataDTO getSignPushDataDTO(@Param("id")Long id); + + /** + * 查询推送老系统自提客户信息 + * @param billId + * @return + */ + List selectPushOldCustomer(@Param("id")Long id); + + /** + * 查询自提签署包件推送老系统 + * @param billId + * @return + */ + List selectPushOldPackageSigning(@Param("id")Long id); + // Page getInventoryPage(IPage page, DistrilbutionBillLadingEntity distrilbutionBillLadingEntity); } diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistrilbutionBillLadingMapper.xml b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistrilbutionBillLadingMapper.xml index 94f715678..1515885d2 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistrilbutionBillLadingMapper.xml +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistrilbutionBillLadingMapper.xml @@ -564,6 +564,130 @@ WHERE ldrzp.reservation_id = #{bullLadingId} and ldrzp.zero_package_status in (1,3) + + + diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/receiver/ClerkCheckPushBillDataQueueHandler.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/receiver/ClerkCheckPushBillDataQueueHandler.java new file mode 100644 index 000000000..a805e91b8 --- /dev/null +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/receiver/ClerkCheckPushBillDataQueueHandler.java @@ -0,0 +1,199 @@ +package com.logpm.distribution.receiver; + +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.logpm.basicdata.feign.IBasicdataTripartiteWarehouseClient; +import com.logpm.distribution.entity.*; +import com.logpm.distribution.mapper.*; +import com.logpm.distribution.service.IDistributionStockService; +import com.logpm.distribution.vo.DistributionSignPrintVO; +import com.logpm.oldproject.dto.SignPushDataContactDTO; +import com.logpm.oldproject.dto.SignPushDataDTO; +import com.logpm.oldproject.dto.SignPushDataUnitDTO; +import com.logpm.oldproject.entity.WarehouseEntity; +import com.logpm.oldproject.feign.IOldSignPushClient; +import com.logpm.oldproject.feign.IWarehouseClient; +import com.rabbitmq.client.Channel; +import lombok.extern.slf4j.Slf4j; +import org.springblade.common.constant.RabbitConstant; +import org.springblade.common.constant.RedisKeyConstant; +import org.springblade.common.constant.stockup.StockAssignStatusConstant; +import org.springblade.core.redis.cache.BladeRedis; +import org.springblade.core.tool.api.R; +import org.springblade.core.tool.utils.Func; +import org.springblade.core.tool.utils.ObjectUtil; +import org.springblade.system.entity.User; +import org.springblade.system.feign.IUserClient; +import org.springframework.amqp.core.Message; +import org.springframework.amqp.rabbit.annotation.RabbitHandler; +import org.springframework.amqp.rabbit.annotation.RabbitListener; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + + +/** + * 异常消息队列 处理器 + * + * @author zhy + */ +@Slf4j +@RabbitListener(queues = RabbitConstant.CLERK_CHECK_PUSH_DATA_QUEUE) +@Component +public class ClerkCheckPushBillDataQueueHandler { + + @Autowired + private IDistributionStockService distributionStockService; + @Autowired + private IOldSignPushClient oldSystemDataPushClient; + @Autowired + private DistributionSignforMapper distributionSignforMapper; + @Autowired + private DistributionDeliveryListMapper distributionDeliveryListMapper; + @Autowired + private DistributionReservationMapper distributionReservationMapper; + + @Autowired + private DistributionDeliverySelfMapper distributionDeliverySelfMapper; + + @Autowired + private DistributionDeliveryTripartiteMapper distributionDeliveryTripartiteMapper; + @Autowired + private IUserClient userClient; + + @Autowired + private IBasicdataTripartiteWarehouseClient basicdataTripartiteWarehouseClient; + + @Autowired + private IWarehouseClient warehouseClient; + + @Autowired + private BladeRedis bladeRedis; + + + @Autowired + private DistrilbutionBillLadingMapper distrilbutionBillLadingMapper; + + + + @RabbitHandler + public void clerkCheckPushBillLLadingDataHandler(Map map, Message message, Channel channel) { + + try { + log.info(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 推送老系统签收队列"); + //得到审核的任务ID + DistributionSignforEntity t = (DistributionSignforEntity) map.get("messageData"); + Long billId = t.getId(); + if (ObjectUtil.isEmpty(billId)) { + log.info(">>>>>>>>>>>>> clerkCheckPushBillLLadingDataHandler 签收ID为空"); + return; + } + + //得到签收对象 + DistrilbutionBillLadingEntity billLadingEntity = distrilbutionBillLadingMapper.selectById(billId); + + //需要检测文员是否进行复核了 + + if (ObjectUtil.isEmpty(billLadingEntity)) { + log.info(">>>>>>>>>>>> clerkCheckPushBillLLadingDataHandler billLadingEntity {}", billLadingEntity); + return; + } + // 得到配送计划 +// DistributionDeliveryListEntity distributionDeliveryListEntity = distributionDeliveryListMapper.selectById(distributionSignforEntity.getDeliveryId()); +// if (ObjectUtil.isEmpty(distributionDeliveryListEntity)) { +// log.info(">>>>>>>>>>> clerkCheckPushBillLLadingDataHandler distributionDeliveryListEntity {}", distributionDeliveryListEntity); +// return; +// } + + // 得到配送客户 +// DistributionReservationEntity distributionReservationEntity = distributionReservationMapper.selectById(distributionSignforEntity.getReservationId()); +// if (ObjectUtil.isEmpty(distributionReservationEntity)) { +// log.info(">>>>>>>>>>>> clerkCheckPushBillLLadingDataHandler distributionReservationEntity {}", distributionReservationEntity); +// return; +// } + + + //组合配送信息 + SignPushDataDTO delivery = distrilbutionBillLadingMapper.getSignPushDataDTO(billId); + + //还需要配送的出库人、配送人、操作人信息 + if (Func.isNotEmpty(delivery)) { + R userR = userClient.userInfoById(delivery.getAdministratorsId()); + if (Func.isNotEmpty(userR)) { + User user = userR.getData(); + delivery.setAdministratorsName(user.getName()); + delivery.setAdministratorsPhone(user.getPhone()); + } +// DistributionStockupEntity distributionStockupEntity = distributionReservationMapper.selectStockup(distributionSignforEntity.getReservationId()); +// if (Func.isNotEmpty(distributionStockupEntity)) { +// if (distributionStockupEntity.getAssignStatus().equals(StockAssignStatusConstant.yizhipai.getValue())) { +// delivery.setOutToId(distributionStockupEntity.getStockupUserId()); +// delivery.setOutToName(distributionStockupEntity.getStockupUser()); +// } +// +// } + + //查询客户信息 + List customer = distrilbutionBillLadingMapper.selectPushOldCustomer(billId); + if (Func.isNotEmpty(customer)) { + //查询客户订单 + List signPushDataUnitDTOS = new ArrayList<>(); + //查询包件扫描签收 + //查询包件扫描签收 + List pushOldPackageSigning = distrilbutionBillLadingMapper.selectPushOldPackageSigning(billId); + if (Func.isNotEmpty(pushOldPackageSigning)) { + buildNameAndPhone(pushOldPackageSigning); + signPushDataUnitDTOS.addAll(pushOldPackageSigning); + } + + //完成客户信息添加 + delivery.setSignPushDataContactDTOs(customer); + } + } + + + Boolean b = oldSystemDataPushClient.pushOldSystemSignInfo(delivery); + } catch (Exception e) { + log.error(">>>>> 推送老系统签收信息报错", e); + } + + + } + + /** + * 构建名称和电话号码 + * + * @param pushOldPackageSigning + */ + private void buildNameAndPhone(List pushOldPackageSigning) { + for (SignPushDataUnitDTO signPushDataUnitDTO : pushOldPackageSigning) { + User user = bladeRedis.get(RedisKeyConstant.USER_NAME_PHONE_KEY + signPushDataUnitDTO.getAdministratorsId()); + log.info("buildNameAndPhone >>> 获取缓存的中的用户信息{}",user); + if (user == null) { + R userT = userClient.userInfoById(signPushDataUnitDTO.getAdministratorsId()); + if (userT.isSuccess()) { + user = userT.getData(); + bladeRedis.setEx(RedisKeyConstant.USER_NAME_PHONE_KEY + signPushDataUnitDTO.getAdministratorsId(), user, 3600L); + } + } + if (ObjectUtils.isNotNull(user)) { + assert user != null; + signPushDataUnitDTO.setAdministratorsName(user.getName()); + if (ObjectUtils.isNotEmpty(user.getPhone())){ + signPushDataUnitDTO.setAdministratorsPhone(user.getPhone()); + }else { + if (ObjectUtils.isNotEmpty(user.getAccount())){ + signPushDataUnitDTO.setAdministratorsPhone(user.getAccount()); + }else { + log.info("用户无电话号码且账号信息为空>>用户名称:{}",user.getName()); + } + } + } + + } + } +} diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/receiver/ClerkCheckPushDataQueueHandler.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/receiver/ClerkCheckPushDataQueueHandler.java index dc7d88542..397152461 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/receiver/ClerkCheckPushDataQueueHandler.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/receiver/ClerkCheckPushDataQueueHandler.java @@ -7,6 +7,7 @@ import com.logpm.distribution.dto.DistributionSignforDTO; import com.logpm.distribution.entity.*; import com.logpm.distribution.mapper.*; import com.logpm.distribution.service.IDistributionStockService; +import com.logpm.distribution.service.IDistrilbutionBillLadingService; import com.logpm.distribution.vo.DistributionSignPrintVO; import com.logpm.oldproject.dto.SignPushDataContactDTO; import com.logpm.oldproject.dto.SignPushDataDTO; @@ -76,6 +77,10 @@ public class ClerkCheckPushDataQueueHandler { private BladeRedis bladeRedis; + @Autowired + private DistrilbutionBillLadingMapper distrilbutionBillLadingMapper; + + @RabbitHandler public void clerkCheckPushDataHandler(Map map, Message message, Channel channel) { @@ -223,6 +228,7 @@ public class ClerkCheckPushDataQueueHandler { } + /** * 构建名称和电话号码 * diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionSignforService.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionSignforService.java index ba332c5fe..8eb773113 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionSignforService.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionSignforService.java @@ -335,4 +335,11 @@ public interface IDistributionSignforService extends BaseService> getByReservationIds(List longList); + + /** + * 推送老系统 + * @param signingId + */ + void push0ldSystemSignInfo(Long signingId); + } 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 7821b9f11..0d9c3fbb0 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 @@ -47,6 +47,12 @@ import com.logpm.distribution.wrapper.DistributionDisStockListWrapper; import com.logpm.distribution.wrapper.DistributionParcelListAppWrapper; import com.logpm.distribution.wrapper.DistributionParcelListWrapper; import com.logpm.distribution.wrapper.DistributionStockArticleWrapper; +import com.logpm.oldproject.dto.SignPushDataContactDTO; +import com.logpm.oldproject.dto.SignPushDataDTO; +import com.logpm.oldproject.dto.SignPushDataUnitDTO; +import com.logpm.oldproject.entity.WarehouseEntity; +import com.logpm.oldproject.feign.IOldSignPushClient; +import com.logpm.oldproject.feign.IWarehouseClient; import com.logpm.warehouse.feign.IWarehouseUpdownStockUpAreaClient; import com.logpm.warehouse.feign.IWarehouseUpdownTypeClient; import lombok.extern.slf4j.Slf4j; @@ -56,6 +62,7 @@ import org.springblade.common.constant.DistributionTypeConstant; import org.springblade.common.constant.Inventory.InventoryLoadingStatusConstant; import org.springblade.common.constant.Inventory.InventorySigningStatusConstant; import org.springblade.common.constant.RabbitConstant; +import org.springblade.common.constant.RedisKeyConstant; import org.springblade.common.constant.billLading.BillLadingStatusConstant; import org.springblade.common.constant.common.IsOrNoConstant; import org.springblade.common.constant.delivery.DeliveryLoadingStatusConstant; @@ -217,6 +224,12 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 推送老系统签收队列"); + //得到审核的任务ID + if (ObjectUtil.isEmpty(signingId)) { + log.info(">>>>>>>>>>>>> clerkCheckPushDataHandler 签收ID为空"); + return; + } + + //得到签收对象 + DistributionSignforEntity distributionSignforEntity = distributionSignforMapper.selectById(signingId); + + //需要检测文员是否进行复核了 + + if (ObjectUtil.isEmpty(distributionSignforEntity)) { + log.info(">>>>>>>>>>>> clerkCheckPushDataHandler distributionSignforEntity {}", distributionSignforEntity); + return; + } + // 得到配送计划 + DistributionDeliveryListEntity distributionDeliveryListEntity = distributionDeliveryListMapper.selectById(distributionSignforEntity.getDeliveryId()); + if (ObjectUtil.isEmpty(distributionDeliveryListEntity)) { + log.info(">>>>>>>>>>> clerkCheckPushDataHandler distributionDeliveryListEntity {}", distributionDeliveryListEntity); + return; + } + + // 得到配送客户 + DistributionReservationEntity distributionReservationEntity = distributionReservationMapper.selectById(distributionSignforEntity.getReservationId()); + if (ObjectUtil.isEmpty(distributionReservationEntity)) { + log.info(">>>>>>>>>>>> clerkCheckPushDataHandler distributionReservationEntity {}", distributionReservationEntity); + return; + } + + + //组合配送信息 + SignPushDataDTO delivery = distributionDeliveryListMapper.selectPushOldDelivery(distributionSignforEntity.getReservationId(), distributionSignforEntity.getDeliveryId()); + + WarehouseEntity warehouseEntity = warehouseClient.findByName(distributionReservationEntity.getWarehouseName()); + if (ObjectUtils.isNotNull(warehouseEntity)) { + // 需要增加老系统的仓库ID + delivery.setWarehouseId(Long.parseLong(warehouseEntity.getId() + "")); + delivery.setWarehouseName(warehouseEntity.getTitle()); + } + + + //还需要配送的出库人、配送人、操作人信息 + if (Func.isNotEmpty(delivery)) { + if ("1".equals(delivery.getKind())) { + //自主配送 + DistributionDeliverySelfEntity distributionDeliverySelfEntity = distributionDeliverySelfMapper.selectOne(Wrappers.query().lambda() + .eq(DistributionDeliverySelfEntity::getDeliveryId, delivery.getId()) + .eq(DistributionDeliverySelfEntity::getIsMaster, 2) + ); + if (Func.isNotEmpty(distributionDeliverySelfEntity)) { + delivery.setOutId(Long.parseLong(distributionDeliverySelfEntity.getDriverId())); + delivery.setOutName(distributionDeliverySelfEntity.getDriverName()); + delivery.setOutPhone(distributionDeliverySelfEntity.getDriverPhone()); + } + } else { + //外协 + DistributionDeliveryTripartiteEntity distributionDeliveryTripartiteEntity = distributionDeliveryTripartiteMapper.selectOne(Wrappers.query().lambda().eq(DistributionDeliveryTripartiteEntity::getDeliveryId, delivery.getId())); + if (Func.isNotEmpty(distributionDeliveryTripartiteEntity)) { + delivery.setOutName(distributionDeliveryTripartiteEntity.getDriverName()); + delivery.setOutPhone(distributionDeliveryTripartiteEntity.getDriverPhone()); + } + } + R userR = userClient.userInfoById(delivery.getAdministratorsId()); + if (Func.isNotEmpty(userR)) { + User user = userR.getData(); + delivery.setAdministratorsName(user.getName()); + delivery.setAdministratorsPhone(user.getPhone()); + } + DistributionStockupEntity distributionStockupEntity = distributionReservationMapper.selectStockup(distributionSignforEntity.getReservationId()); + if (Func.isNotEmpty(distributionStockupEntity)) { + if (distributionStockupEntity.getAssignStatus().equals(StockAssignStatusConstant.yizhipai.getValue())) { + delivery.setOutToId(distributionStockupEntity.getStockupUserId()); + delivery.setOutToName(distributionStockupEntity.getStockupUser()); + } + + } + + //查询客户信息 + List customer = distributionReservationMapper.selectPushOldCustomer(distributionSignforEntity.getReservationId()); + if (Func.isNotEmpty(customer)) { + //查询客户订单 + List signPushDataUnitDTOS = new ArrayList<>(); + if (distributionReservationEntity.getReservationNum() > 0) { + //查询包件扫描签收 + //查询包件扫描签收 + List pushOldPackageLoading = distributionSignforMapper.selectPushOldPackageLoading(distributionSignforEntity.getReservationId(), distributionSignforEntity.getDeliveryId()); + List pushOldPackageSigning = distributionSignforMapper.selectPushOldPackageSigning(distributionSignforEntity.getReservationId(), distributionSignforEntity.getDeliveryId()); + if (Func.isNotEmpty(pushOldPackageLoading)) { + buildNameAndPhone(pushOldPackageLoading); + signPushDataUnitDTOS.addAll(pushOldPackageLoading); + } + if (Func.isNotEmpty(pushOldPackageSigning)) { + buildNameAndPhone(pushOldPackageSigning); + signPushDataUnitDTOS.addAll(pushOldPackageSigning); + } + } + + if (distributionReservationEntity.getReservationStockListNum() > 0) { + //查询库存品扫描签收 + List loadingPushOldInventory = distributionSignforMapper.selectLoadingPushOldInventory(distributionSignforEntity.getReservationId(), distributionSignforEntity.getDeliveryId()); + List signingPushOldInventory = distributionSignforMapper.selectSigningPushOldInventory(distributionSignforEntity.getReservationId(), distributionSignforEntity.getDeliveryId()); + if (Func.isNotEmpty(loadingPushOldInventory)) { + buildNameAndPhone(loadingPushOldInventory); + signPushDataUnitDTOS.addAll(loadingPushOldInventory); + } + + if (Func.isNotEmpty(signingPushOldInventory)) { + buildNameAndPhone(signingPushOldInventory); + signPushDataUnitDTOS.addAll(signingPushOldInventory); + } + } + //查询签收图片 + List distributionSignPrintVOS = distributionSignforMapper.selectSignImgsUrl(distributionReservationEntity.getId()); + + if (Func.isNotEmpty(signPushDataUnitDTOS)) { + SignPushDataContactDTO signPushDataContactDTO = customer.get(0); + signPushDataContactDTO.setSignPushDataUnitDTOs(signPushDataUnitDTOS); + if (Func.isNotEmpty(distributionSignPrintVOS)) { + String urls = distributionSignPrintVOS.stream().map(DistributionSignPrintVO::getUrlRoute).collect(Collectors.joining(",")); + signPushDataContactDTO.setImage(urls); + } + if (Func.isNotEmpty(distributionSignforEntity.getClerkSignRemarks())) { + signPushDataContactDTO.setContact(distributionSignforEntity.getClerkSignRemarks()); + } + } + + //完成客户信息添加 + delivery.setSignPushDataContactDTOs(customer); + } + } + + + Boolean b = oldSystemDataPushClient.pushOldSystemSignInfo(delivery); + } catch (Exception e) { + log.error(">>>>> 推送老系统签收信息报错", e); + } + + + } + + + /** + * 构建名称和电话号码 + * + * @param pushOldPackageSigning + */ + private void buildNameAndPhone(List pushOldPackageSigning) { + for (SignPushDataUnitDTO signPushDataUnitDTO : pushOldPackageSigning) { + User user = bladeRedis.get(RedisKeyConstant.USER_NAME_PHONE_KEY + signPushDataUnitDTO.getAdministratorsId()); + log.info("buildNameAndPhone >>> 获取缓存的中的用户信息{}",user); + if (user == null) { + R userT = userClient.userInfoById(signPushDataUnitDTO.getAdministratorsId()); + if (userT.isSuccess()) { + user = userT.getData(); + bladeRedis.setEx(RedisKeyConstant.USER_NAME_PHONE_KEY + signPushDataUnitDTO.getAdministratorsId(), user, 3600L); + } + } + if (ObjectUtils.isNotNull(user)) { + assert user != null; + signPushDataUnitDTO.setAdministratorsName(user.getName()); + if (ObjectUtils.isNotEmpty(user.getPhone())){ + signPushDataUnitDTO.setAdministratorsPhone(user.getPhone()); + }else { + if (ObjectUtils.isNotEmpty(user.getAccount())){ + signPushDataUnitDTO.setAdministratorsPhone(user.getAccount()); + }else { + log.info("用户无电话号码且账号信息为空>>用户名称:{}",user.getName()); + } + } + } + + } + } + private List handleStockUp(DistributionStockupEntity distributionStockupEntity) { List nodeVos = new ArrayList<>(); try { diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockupInfoServiceImpl.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockupInfoServiceImpl.java index ce0e8fffb..a56f0ba9d 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockupInfoServiceImpl.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockupInfoServiceImpl.java @@ -137,6 +137,7 @@ public class DistributionStockupInfoServiceImpl extends BaseServiceImpl pushBillNotification(String params) { + // 得到当前仓库所有的签收任务 + + + List allSignfor = warehouseMappingDataMapper.findAllSignfor(); + + for (JSONObject entries : allSignfor) { + Long id = entries.getLong("singnforId"); + DistributionSignforEntity distributionSignforEntity = new DistributionSignforEntity(); + distributionSignforEntity.setId(id); + Map mapState = new HashMap(); + mapState.put("messageId", CommonUtil.getUUID()); + mapState.put("messageData", distributionSignforEntity); + mapState.put("createTime", System.currentTimeMillis()); + + try { + log.info(">>>>>>>>>>>>>>>>>>> 推送老系统 的签收数据 {} ", mapState); + rabbitTemplate.convertAndSend(RabbitConstant.CLERK_CHECK_PUSH_DATA_EXCHANGE, RabbitConstant.CLERK_CHECK_PUSH_DATA_ROUTING, mapState); + warehouseMappingDataMapper.updateClearSignforStatus(id, entries.getLong("warehouseId"), 1); + } catch (Exception customerException) { + log.error(">>>>>>>>>>>>>>>>>>>>>>>>>> 消息推送失败~ 请联系管理员! {}", customerException.getMessage()); + + } + + } + + return ReturnT.SUCCESS; }