From 06927f498ebfde5e50487cbc7709175fead3aac2 Mon Sep 17 00:00:00 2001 From: zhenghaoyu Date: Mon, 18 Sep 2023 11:51:03 +0800 Subject: [PATCH] =?UTF-8?q?1.=E9=85=8D=E9=80=81=E7=AD=BE=E6=94=B6=E7=8A=B6?= =?UTF-8?q?=E6=80=81=E6=8E=A8=E9=80=81=E6=A2=A6=E5=A4=A9=E9=80=BB=E8=BE=91?= =?UTF-8?q?=E5=AE=8C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../factory/comfac/dto/OrderStatusDTO.java | 10 ++- .../factory/mt/dto/MtQianShouStatusDTO.java | 35 +++++++++ .../impl/MtFactoryDataServiceImpl.java | 75 +++++++++++++++++-- 3 files changed, 112 insertions(+), 8 deletions(-) create mode 100644 blade-service/logpm-factory/src/main/java/com/logpm/factory/mt/dto/MtQianShouStatusDTO.java diff --git a/blade-service/logpm-factory/src/main/java/com/logpm/factory/comfac/dto/OrderStatusDTO.java b/blade-service/logpm-factory/src/main/java/com/logpm/factory/comfac/dto/OrderStatusDTO.java index 7be76e04f..27cd1ddce 100644 --- a/blade-service/logpm-factory/src/main/java/com/logpm/factory/comfac/dto/OrderStatusDTO.java +++ b/blade-service/logpm-factory/src/main/java/com/logpm/factory/comfac/dto/OrderStatusDTO.java @@ -53,12 +53,15 @@ public class OrderStatusDTO implements Serializable { @NotEmpty(message = "当前仓库不能为空") private String currentWarehouse;//当前仓库 - @NotEmpty(message = "目的仓库") + @NotEmpty(message = "目的仓库不能为空") private String destinationWarehouse;//目的仓库 - @NotEmpty(message = "状态") + @NotEmpty(message = "状态不能为空") private String status;//状态 + @NotEmpty(message = "送货任务ID不能为空") + private String distributionContactId; + /** * 验证参数是否都存在 @@ -92,6 +95,9 @@ public class OrderStatusDTO implements Serializable { if(StringUtil.isBlank(status)){ return false; } + if(StringUtil.isBlank(distributionContactId)){ + return false; + } return true; } diff --git a/blade-service/logpm-factory/src/main/java/com/logpm/factory/mt/dto/MtQianShouStatusDTO.java b/blade-service/logpm-factory/src/main/java/com/logpm/factory/mt/dto/MtQianShouStatusDTO.java new file mode 100644 index 000000000..2553f8975 --- /dev/null +++ b/blade-service/logpm-factory/src/main/java/com/logpm/factory/mt/dto/MtQianShouStatusDTO.java @@ -0,0 +1,35 @@ +package com.logpm.factory.mt.dto; + +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * 梦天 + */ +@Data +public class MtQianShouStatusDTO implements Serializable { + + @JsonProperty("送货任务ID") + private String sendTaskId; + + @JsonProperty("发运单编号") + private String invoiceOrderCode; + + @JsonProperty("订单编号") + private String orderCode; + + @JsonProperty("仓库编号") + private String centerWarehouseCode; + + @JsonProperty("作业仓库") + private String destinationWarehouse; + + @JsonProperty("包条码") + private String unitNo; + + @JsonProperty("扫描时间") + private String operationTime; + +} 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 bdeb2db68..ae25e3b89 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 @@ -287,16 +287,81 @@ public class MtFactoryDataServiceImpl implements IMtFactoryDataService { logger.info("#############handleStatusData: orderStatusDTO={}", orderStatusDTO); String status = orderStatusDTO.getStatus(); - String orderNo = orderStatusDTO.getOrderNo(); - if ("1".equals(status) || "2".equals(status) || "3".equals(status) || "5".equals(status) || "6".equals(status) || "7".equals(status) || "8".equals(status) || "9".equals(status)) { + +// if ("1".equals(status) || "2".equals(status) || "3".equals(status) || "5".equals(status) || "6".equals(status) || "7".equals(status) || "8".equals(status) || "9".equals(status)) { +// +// } + + R rd = null; + if("4".equals(status)){ + rd = shouhuoruku(orderStatusDTO); + }else if("7".equals(status)){ + rd = qianshouScan(orderStatusDTO); + }else{ logger.info("#############handleStatusData: 当前数据的状态不推送 status={}", status); return Resp.fail(400, "当前数据的状态不推送"); } logger.info("##################orderStatusHandler: 异常tag={}", 0); + return rd; + + } + + private R qianshouScan(OrderStatusDTO orderStatusDTO) throws JsonProcessingException, NoSuchAlgorithmException { + String unitNo = orderStatusDTO.getUnitNo(); + String orderNo = orderStatusDTO.getOrderNo(); + QueryWrapper packageInfoQueryWrapper = new QueryWrapper<>(); + packageInfoQueryWrapper.eq("package_code", unitNo); + MtPackageInfo one = mtPackageInfoService.getOne(packageInfoQueryWrapper); + logger.info("#############one: {}", one); + + if (Objects.isNull(one)) { + logger.info("#############qianshouScan: 当前包条码未找到对应数据unitNo={}", unitNo); + return Resp.fail(400, "未找到包件数据"); + } + Long orderId = one.getOrderId(); + MtFactoryOrder mtFactoryOrder = mtFactoryOrderService.getById(orderId); + if (Objects.isNull(mtFactoryOrder)) { + logger.info("#############qianshouScan: 未找到对应订单orderId={}", orderId); + return Resp.fail(400, "未找到对应订单"); + } + Long mainId = mtFactoryOrder.getMainId(); + MtFactoryOrderMain mtFactoryOrderMain = mtFactoryOrderMainService.getById(mainId); + if (Objects.isNull(mtFactoryOrderMain)) { + logger.info("#############qianshouScan: 未找到对应订单mainId={}", mainId); + return Resp.fail(400, "未找到对应订单"); + } + + String distributionContactId = orderStatusDTO.getDistributionContactId();//送货任务ID + String invoiceOrderCode = mtFactoryOrderMain.getInvoiceOrderCode();//发货单编号 + String orderCode = mtFactoryOrder.getOrderCode();//订单编号 + String centerWarehouseCode = mtFactoryOrderMain.getCenterWarehouseCode();//仓库编号 + String destinationWarehouse = orderStatusDTO.getDestinationWarehouse();//作业仓库 + String operationTime = orderStatusDTO.getOperationTime();//签收时间 + + //拼接参数 + MtQianShouStatusDTO mtQianShouStatusDTO = new MtQianShouStatusDTO(); + mtQianShouStatusDTO.setSendTaskId(distributionContactId); + mtQianShouStatusDTO.setInvoiceOrderCode(invoiceOrderCode); + mtQianShouStatusDTO.setOrderCode(orderCode); + mtQianShouStatusDTO.setCenterWarehouseCode(centerWarehouseCode); + mtQianShouStatusDTO.setDestinationWarehouse(destinationWarehouse); + mtQianShouStatusDTO.setUnitNo(unitNo); + mtQianShouStatusDTO.setOperationTime(operationTime); + + ObjectMapper objectMapper = new JsonMapper(); + + String s = objectMapper.writeValueAsString(mtQianShouStatusDTO); + + R rd = sendMtFactoryData(mtFactoryProperties.getUrl() + "/ZXCFaHuoDan/QianShouScan", s, 1,unitNo); + return rd; + } + + private R shouhuoruku(OrderStatusDTO orderStatusDTO) throws JsonProcessingException, NoSuchAlgorithmException { //通过包件码查询是否是要推送的订单 String unitNo = orderStatusDTO.getUnitNo();//包件码 + String orderNo = orderStatusDTO.getOrderNo(); QueryWrapper packageInfoQueryWrapper = new QueryWrapper<>(); packageInfoQueryWrapper.eq("package_code", unitNo); MtPackageInfo one = mtPackageInfoService.getOne(packageInfoQueryWrapper); @@ -369,13 +434,11 @@ public class MtFactoryDataServiceImpl implements IMtFactoryDataService { mtPushDataService.save(mtPushData); } - - return rd; - } + @Transactional @Override public R sendReceiveInfo(ReceiveInfoDTO receiveInfoDTO) throws JsonProcessingException, NoSuchAlgorithmException { @@ -468,7 +531,7 @@ public class MtFactoryDataServiceImpl implements IMtFactoryDataService { log.info("###########sendReceiveInfo: 处理签收返回数据完成 {}",s); - return sendMtFactoryData(mtFactoryProperties.getUrl() + "/ZXCFaHuoDan/QianShouDan", s, 5,mtReceiveDTO.getSendTaskId()); + return sendMtFactoryData(mtFactoryProperties.getUrl() + "/ZXCFaHuoDan/QianShouDanNew", s, 5,mtReceiveDTO.getSendTaskId()); }