From 65ccbef1d7b859cc82d78682ec1ffc4a08be201a Mon Sep 17 00:00:00 2001 From: "pref_mail@163.com" Date: Thu, 21 Dec 2023 15:25:01 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=A2=A6=E5=A4=A9=E6=96=87?= =?UTF-8?q?=E5=91=98=E7=AD=BE=E6=94=B6=E5=A4=8D=E5=90=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/constant/ModuleNameConstant.java | 2 +- .../factory/dto/mt}/MtReceiveContentDTO.java | 2 +- .../logpm/factory/dto/mt}/MtReceiveDTO.java | 2 +- .../factory/dto/mt}/MtReceiveImagesDTO.java | 2 +- .../factory/snm/feign/IMtOrderMainClinet.java | 12 ++++ .../impl/DistributionSignforServiceImpl.java | 8 +++ .../factory/mt/feign/MtOrderMainClinet.java | 8 +++ .../mt/service/IMtFactoryDataService.java | 10 +++ .../impl/MtFactoryDataServiceImpl.java | 63 +++++++++++++++++++ 9 files changed, 105 insertions(+), 4 deletions(-) rename {blade-service/logpm-factory/src/main/java/com/logpm/factory/mt/dto => blade-service-api/logpm-factory-api/src/main/java/com/logpm/factory/dto/mt}/MtReceiveContentDTO.java (94%) rename {blade-service/logpm-factory/src/main/java/com/logpm/factory/mt/dto => blade-service-api/logpm-factory-api/src/main/java/com/logpm/factory/dto/mt}/MtReceiveDTO.java (94%) rename {blade-service/logpm-factory/src/main/java/com/logpm/factory/mt/dto => blade-service-api/logpm-factory-api/src/main/java/com/logpm/factory/dto/mt}/MtReceiveImagesDTO.java (72%) diff --git a/blade-biz-common/src/main/java/org/springblade/common/constant/ModuleNameConstant.java b/blade-biz-common/src/main/java/org/springblade/common/constant/ModuleNameConstant.java index 153720380..182fc50f6 100644 --- a/blade-biz-common/src/main/java/org/springblade/common/constant/ModuleNameConstant.java +++ b/blade-biz-common/src/main/java/org/springblade/common/constant/ModuleNameConstant.java @@ -8,7 +8,7 @@ public interface ModuleNameConstant { /** * 如果不需要 "" */ - public static final String DEVAUTH =""; + public static final String DEVAUTH ="-pref"; /** * 工厂对接服务名称 diff --git a/blade-service/logpm-factory/src/main/java/com/logpm/factory/mt/dto/MtReceiveContentDTO.java b/blade-service-api/logpm-factory-api/src/main/java/com/logpm/factory/dto/mt/MtReceiveContentDTO.java similarity index 94% rename from blade-service/logpm-factory/src/main/java/com/logpm/factory/mt/dto/MtReceiveContentDTO.java rename to blade-service-api/logpm-factory-api/src/main/java/com/logpm/factory/dto/mt/MtReceiveContentDTO.java index 4a324c686..de8a2bb95 100644 --- a/blade-service/logpm-factory/src/main/java/com/logpm/factory/mt/dto/MtReceiveContentDTO.java +++ b/blade-service-api/logpm-factory-api/src/main/java/com/logpm/factory/dto/mt/MtReceiveContentDTO.java @@ -1,4 +1,4 @@ -package com.logpm.factory.mt.dto; +package com.logpm.factory.dto.mt; import com.fasterxml.jackson.annotation.JsonProperty; import lombok.Data; diff --git a/blade-service/logpm-factory/src/main/java/com/logpm/factory/mt/dto/MtReceiveDTO.java b/blade-service-api/logpm-factory-api/src/main/java/com/logpm/factory/dto/mt/MtReceiveDTO.java similarity index 94% rename from blade-service/logpm-factory/src/main/java/com/logpm/factory/mt/dto/MtReceiveDTO.java rename to blade-service-api/logpm-factory-api/src/main/java/com/logpm/factory/dto/mt/MtReceiveDTO.java index 9d16de007..21fa5c112 100644 --- a/blade-service/logpm-factory/src/main/java/com/logpm/factory/mt/dto/MtReceiveDTO.java +++ b/blade-service-api/logpm-factory-api/src/main/java/com/logpm/factory/dto/mt/MtReceiveDTO.java @@ -1,4 +1,4 @@ -package com.logpm.factory.mt.dto; +package com.logpm.factory.dto.mt; import com.fasterxml.jackson.annotation.JsonProperty; import lombok.Data; diff --git a/blade-service/logpm-factory/src/main/java/com/logpm/factory/mt/dto/MtReceiveImagesDTO.java b/blade-service-api/logpm-factory-api/src/main/java/com/logpm/factory/dto/mt/MtReceiveImagesDTO.java similarity index 72% rename from blade-service/logpm-factory/src/main/java/com/logpm/factory/mt/dto/MtReceiveImagesDTO.java rename to blade-service-api/logpm-factory-api/src/main/java/com/logpm/factory/dto/mt/MtReceiveImagesDTO.java index efbbf4511..45b376f6c 100644 --- a/blade-service/logpm-factory/src/main/java/com/logpm/factory/mt/dto/MtReceiveImagesDTO.java +++ b/blade-service-api/logpm-factory-api/src/main/java/com/logpm/factory/dto/mt/MtReceiveImagesDTO.java @@ -1,4 +1,4 @@ -package com.logpm.factory.mt.dto; +package com.logpm.factory.dto.mt; import lombok.Data; diff --git a/blade-service-api/logpm-factory-api/src/main/java/com/logpm/factory/snm/feign/IMtOrderMainClinet.java b/blade-service-api/logpm-factory-api/src/main/java/com/logpm/factory/snm/feign/IMtOrderMainClinet.java index 258787667..a23d36996 100644 --- a/blade-service-api/logpm-factory-api/src/main/java/com/logpm/factory/snm/feign/IMtOrderMainClinet.java +++ b/blade-service-api/logpm-factory-api/src/main/java/com/logpm/factory/snm/feign/IMtOrderMainClinet.java @@ -1,11 +1,14 @@ package com.logpm.factory.snm.feign; import com.fasterxml.jackson.core.JsonProcessingException; +import com.logpm.factory.dto.mt.MtReceiveDTO; import com.logpm.factory.snm.vo.MTOrderPackageRelationVO; import org.springblade.common.constant.ModuleNameConstant; import org.springblade.core.tool.api.R; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestParam; import java.security.NoSuchAlgorithmException; @@ -22,6 +25,7 @@ public interface IMtOrderMainClinet { String API_PREFIX = "/mt/client"; String TOP = API_PREFIX + "/sendOrderPackageScan"; + String SENDRECEIVEINFOBYNEWSYSTEM = API_PREFIX + "/sendReceiveInfoByNewSystem"; /** @@ -34,4 +38,12 @@ public interface IMtOrderMainClinet { @RequestParam String distributionContactId, @RequestParam String destinationWarehouse) throws NoSuchAlgorithmException, JsonProcessingException; + + /** + * 文员签收确认 + * @param mtReceiveDTO + * @return + */ + @PostMapping(SENDRECEIVEINFOBYNEWSYSTEM) + R sendReceiveInfoByNewSystem(@RequestBody MtReceiveDTO mtReceiveDTO) throws NoSuchAlgorithmException, JsonProcessingException; } 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 e8ea717b9..5abb14d07 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 @@ -72,6 +72,7 @@ import org.springblade.core.secure.BladeUser; import org.springblade.core.secure.utils.AuthUtil; 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.cache.DictBizCache; import org.springblade.system.feign.IDictBizClient; import org.springframework.amqp.rabbit.core.RabbitTemplate; @@ -1732,6 +1733,13 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl distributionSignforEntityList = distributionSignforMapper.selectList(new QueryWrapper().lambda() .eq(DistributionSignforEntity::getDeliveryId, distributionAppDeliveryListVO.getId()) ); + + + if(ObjectUtil.isEmpty(distributionSignforEntityList)){ + log.error("查询配送计划下面的前面的签收信息失败 配送任务ID :{}",distributionAppDeliveryListVO.getId()); + throw new CustomerException("查询签收信息失败!"); + } + //提取id List reList = distributionSignforEntityList.stream().map(DistributionSignforEntity::getId).collect(Collectors.toList()); distributionAppDeliveryListVO.setType_name(dictBizClient.getValue("distribution_type", distributionAppDeliveryListVO.getType()).getData()); diff --git a/blade-service/logpm-factory/src/main/java/com/logpm/factory/mt/feign/MtOrderMainClinet.java b/blade-service/logpm-factory/src/main/java/com/logpm/factory/mt/feign/MtOrderMainClinet.java index 765d96385..c96be08c1 100644 --- a/blade-service/logpm-factory/src/main/java/com/logpm/factory/mt/feign/MtOrderMainClinet.java +++ b/blade-service/logpm-factory/src/main/java/com/logpm/factory/mt/feign/MtOrderMainClinet.java @@ -1,6 +1,7 @@ package com.logpm.factory.mt.feign; import com.fasterxml.jackson.core.JsonProcessingException; +import com.logpm.factory.dto.mt.MtReceiveDTO; import com.logpm.factory.mt.service.IMtFactoryDataService; import com.logpm.factory.mt.service.IMtFactoryOrderMainService; import com.logpm.factory.snm.feign.IMtOrderMainClinet; @@ -9,6 +10,7 @@ import lombok.AllArgsConstructor; import org.springblade.core.tenant.annotation.NonDS; import org.springblade.core.tool.api.R; import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RestController; import springfox.documentation.annotations.ApiIgnore; @@ -30,4 +32,10 @@ public class MtOrderMainClinet implements IMtOrderMainClinet { public R sendOrderPackageScan(String orderPackageCode, String operationTime, String distributionContactId, String destinationWarehouse) throws NoSuchAlgorithmException, JsonProcessingException { return mtFactoryDataService.qianshouScanForNewSystem(orderPackageCode,operationTime,distributionContactId,destinationWarehouse); } + + @Override + @PostMapping(SENDRECEIVEINFOBYNEWSYSTEM) + public R sendReceiveInfoByNewSystem(MtReceiveDTO mtReceiveDTO) throws NoSuchAlgorithmException, JsonProcessingException { + return mtFactoryDataService.sendReceiveInfoByNewSystem(mtReceiveDTO); + } } diff --git a/blade-service/logpm-factory/src/main/java/com/logpm/factory/mt/service/IMtFactoryDataService.java b/blade-service/logpm-factory/src/main/java/com/logpm/factory/mt/service/IMtFactoryDataService.java index 0173b81e0..aa9d3e78a 100644 --- a/blade-service/logpm-factory/src/main/java/com/logpm/factory/mt/service/IMtFactoryDataService.java +++ b/blade-service/logpm-factory/src/main/java/com/logpm/factory/mt/service/IMtFactoryDataService.java @@ -5,6 +5,7 @@ import com.logpm.factory.comfac.dto.OrderInfoDTO; import com.logpm.factory.comfac.dto.OrderStatusDTO; import com.logpm.factory.comfac.dto.ReceiveInfoDTO; import com.logpm.factory.mt.dto.MtFactoryDataDTO; +import com.logpm.factory.dto.mt.MtReceiveDTO; import org.springblade.core.tool.api.R; import java.security.NoSuchAlgorithmException; @@ -37,6 +38,15 @@ public interface IMtFactoryDataService { String destinationWarehouse ) throws JsonProcessingException, NoSuchAlgorithmException; + /** + * 推送签收 + * @param mtReceiveDTO + * @return + * @throws JsonProcessingException + * @throws NoSuchAlgorithmException + */ + R sendReceiveInfoByNewSystem(MtReceiveDTO mtReceiveDTO) throws JsonProcessingException, NoSuchAlgorithmException; + R sendReceiveInfo(ReceiveInfoDTO receiveInfoDTO) throws JsonProcessingException, NoSuchAlgorithmException; /** diff --git a/blade-service/logpm-factory/src/main/java/com/logpm/factory/mt/service/impl/MtFactoryDataServiceImpl.java b/blade-service/logpm-factory/src/main/java/com/logpm/factory/mt/service/impl/MtFactoryDataServiceImpl.java index 888ddb5e9..f7d56f7aa 100644 --- a/blade-service/logpm-factory/src/main/java/com/logpm/factory/mt/service/impl/MtFactoryDataServiceImpl.java +++ b/blade-service/logpm-factory/src/main/java/com/logpm/factory/mt/service/impl/MtFactoryDataServiceImpl.java @@ -13,6 +13,9 @@ import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.json.JsonMapper; import com.logpm.factory.comfac.constant.FactoryConstant; import com.logpm.factory.comfac.dto.*; +import com.logpm.factory.dto.mt.MtReceiveContentDTO; +import com.logpm.factory.dto.mt.MtReceiveDTO; +import com.logpm.factory.dto.mt.MtReceiveImagesDTO; import com.logpm.factory.mt.dto.*; import com.logpm.factory.mt.entity.*; import com.logpm.factory.mt.service.*; @@ -465,6 +468,66 @@ public class MtFactoryDataServiceImpl implements IMtFactoryDataService { + + + + + @Override + public R sendReceiveInfoByNewSystem(MtReceiveDTO mtReceiveDTO) throws JsonProcessingException, NoSuchAlgorithmException { + + + List receiveContentList = mtReceiveDTO.getReceiveContentList(); + for (MtReceiveContentDTO mtReceiveContentDTO : receiveContentList) { + String unitNo = mtReceiveContentDTO.getUnitNo(); + //通过订单编号查询总单信息 + QueryWrapper packageInfoQueryWrapper = new QueryWrapper<>(); + packageInfoQueryWrapper.eq("package_code", unitNo); + MtPackageInfo one = mtPackageInfoService.getOne(packageInfoQueryWrapper); + + if (Objects.isNull(one)) { + logger.info("#############sendReceiveInfo: 当前包条码未找到对应数据unitNo={}", unitNo); + continue; + } + Long orderId = one.getOrderId(); + MtFactoryOrder mtFactoryOrder = mtFactoryOrderService.getById(orderId); + + if (Objects.isNull(mtFactoryOrder)) { + logger.info("#############sendReceiveInfo: 未找到对应订单orderId={}", orderId); + continue; + } + Long mainId = mtFactoryOrder.getMainId(); + + MtFactoryOrderMain mtFactoryOrderMain = mtFactoryOrderMainService.getById(mainId); + + if (Objects.isNull(mtFactoryOrderMain)) { + logger.info("#############sendReceiveInfo: 未找到对应订单mainId={}", mainId); + continue; + } + // 需要判断本次任务是否为中心仓的订单 + if("转运仓".equals(mtFactoryOrderMain.getWarehouseType())){ + // 转运仓的订单和签收不进行推送 + logger.info("############# 转运仓的数据不进行推送 mtFactoryOrderMain={}", mtFactoryOrderMain); + continue; + } + mtReceiveContentDTO.setInvoiceOrderCode(mtFactoryOrderMain.getInvoiceOrderCode()); + mtReceiveContentDTO.setWarehouseCode(mtFactoryOrderMain.getCenterWarehouseCode()); + mtReceiveContentDTO.setWarehouse(mtFactoryOrderMain.getCenterWarehouseName()); + + } + + ObjectMapper objectMapper = new ObjectMapper(); + + String s = objectMapper.writeValueAsString(mtReceiveDTO); + log.info("###########sendReceiveInfo: 处理签收返回数据完成 {}",s); + + + return sendMtFactoryData(mtFactoryProperties.getUrl() + "/ZXCFaHuoDan/QianShouDanNew", s, 5,mtReceiveDTO.getSendTaskId()); + } + + + + + @Transactional @Override public R sendReceiveInfo(ReceiveInfoDTO receiveInfoDTO) throws JsonProcessingException, NoSuchAlgorithmException {