From 6d1939e9e029dd2adfff153772bdc2fa04fb6a7b Mon Sep 17 00:00:00 2001 From: "pref_mail@163.com" Date: Fri, 20 Sep 2024 11:27:19 +0800 Subject: [PATCH] =?UTF-8?q?fix:=E4=BC=98=E5=8C=96=E6=AC=A7=E6=B4=BE?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E5=9B=9E=E4=BC=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/OuPaiFactoryServiceImpl.java | 191 ++++++++++-------- 1 file changed, 112 insertions(+), 79 deletions(-) diff --git a/blade-service/logpm-factory/src/main/java/com/logpm/factory/oupai/service/impl/OuPaiFactoryServiceImpl.java b/blade-service/logpm-factory/src/main/java/com/logpm/factory/oupai/service/impl/OuPaiFactoryServiceImpl.java index f212d5c64..0d46ae308 100644 --- a/blade-service/logpm-factory/src/main/java/com/logpm/factory/oupai/service/impl/OuPaiFactoryServiceImpl.java +++ b/blade-service/logpm-factory/src/main/java/com/logpm/factory/oupai/service/impl/OuPaiFactoryServiceImpl.java @@ -461,7 +461,10 @@ public class OuPaiFactoryServiceImpl implements IOuPaiFactoryService { queryWrapper.eq(FactoryPackageEntity::getCosourcingCode, unitNo); List list = factoryPackageService.list(queryWrapper); if (list.isEmpty()) { - return doPackageInfo(orderStatusDTO, isRetry, unitNo, status); + // 查询不到和包码 直接进行异常记录 + //return doPackageInfo(orderStatusDTO, isRetry, unitNo, status); + opPushFailedPackageRecordService.record(unitNo, orderStatusDTO); + return Resp.fail(400, "未查询到该单据推送订单信息"); } else { try { for (FactoryPackageEntity factoryPackageEntity : list) { @@ -667,92 +670,122 @@ public class OuPaiFactoryServiceImpl implements IOuPaiFactoryService { - // 查询这个包件对应到新系统的订单 - FactoryOrderEntity factoryOrder = factoryOrderService.selectEntityByOrderPackageCode(unitNo); - - if (Objects.isNull(factoryOrder)) { - - // 不是重试的时候,记录对应数据 - log.info(">>> new保存没有查询到欧派订单包件推送 的记录 {}", unitNo); - opPushFailedPackageRecordService.record(unitNo, orderStatusDTO); - - return Resp.fail(400, "未查询到该单据推送订单信息"); - } - // 如何判断这个包间是非干仓配的数据 - - if (!"经销商".equals(factoryOrder.getBusinessModel())) { - log.info("oupai- 该包条为干仓配的数据类型 不进行推送 >>> unitNo={} businessModel:{}", unitNo, factoryOrder.getBusinessModel()); - return Resp.fail(400, "包条为干仓配的数据类型"); - } - - boolean isPushHtNomal = checkOpfactoryOrderBusinessModel(factoryOrder); - if (isPushHtNomal) { - log.info("oupai- 该包条为汇通使用欧派系统进行作业类型型 不进行推送 >>> unitNo={} businessModel:{}", unitNo, factoryOrder.getBusinessModel()); - return Resp.fail(400, "该包条为汇通使用欧派系统进行作业类型"); - } - - // 通过仓库编码查询 - ReceivingOrderEntity receivingOrderEntity = receivingOrderMapper.selectById(factoryOrder.getReceivingId()); - - if (Objects.isNull(receivingOrderEntity)) { - log.info(" 该订单为没有收货单 不进行推送 >>> receivingId={} ", factoryOrder.getReceivingId()); - return Resp.fail(400, "未查询到该单据推送收货单信息"); - } + if(unitNo.startsWith("HB")){ + // 需要判断当前操作的码 是否是和包码 + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(FactoryPackageEntity::getCosourcingCode, unitNo); + List list = factoryPackageService.list(queryWrapper); + if (list.isEmpty()) { + // 查询不到和包码 直接进行异常记录 + //return doPackageInfo(orderStatusDTO, isRetry, unitNo, status); + opPushFailedPackageRecordService.record(unitNo, orderStatusDTO); + return Resp.fail(400, "未查询到该单据推送订单信息"); + } else { + try { + for (FactoryPackageEntity factoryPackageEntity : list) { - if (StringUtil.isBlank(receivingOrderEntity.getCurrentWarehouseOid())) { - log.info(" 该订单为没有收货仓 不进行推送 >>> getCurrentWarehouseOid={} ", receivingOrderEntity.getCurrentWarehouseOid()); - return Resp.fail(400, "收货仓信息不能为null"); - } - if (!receivingOrderEntity.getCurrentWarehouseName().contains("仓")) { - log.info(" 该订单为没有收货仓信息不正确 getCurrentWarehouseName={} ", receivingOrderEntity.getCurrentWarehouseName()); - return Resp.fail(400, "该订单为没有收货仓信息不正确"); - } + R r = doPackageInfo(orderStatusDTO, false, factoryPackageEntity.getCode(), status); + } + } catch (Exception e) { + log.error("合包码推送出现异常", e); + } + return Resp.success("物流状态传递成功"); - JSONObject detailObject = new JSONObject(); - detailObject.put("WarehouseOid", receivingOrderEntity.getCurrentWarehouseOid()); - detailObject.put("WarehouseBelong", "oppein"); - detailObject.put("Creator", orderStatusDTO.getUsername()); - detailObject.put("PackageCode", unitNo); - // 增加当仓直接入库的 就没有卸车收货的状态 直接 进行入库 入库就表示货物进入当前仓库 - if ("4".equals(status) || "1".equals(status)) { - detailObject.put("Operate", "收货"); - } else if ("7".equals(status)) { - detailObject.put("Operate", "发货"); - } else { - log.info(" 该包件的状态不正确 status={} ", status); - return Resp.fail(400, "该包件的状态不正确"); + } + }else{ + return doPackageInfo(orderStatusDTO, false, unitNo, status); } - // 查询系统的包件对象 - LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); - lambdaQueryWrapper.eq(FactoryPackageEntity::getCode, unitNo); - FactoryPackageEntity factoryPackageEntity = factoryPackageService.getOne(lambdaQueryWrapper); - if (ObjectUtils.isNotNull(factoryPackageEntity)) { - // 推送数据 - String url = ouPaiProperties.getUri() + "tims_odata_api/api/odata/PackageFeedbackRecord"; - OpPackagePushLogEntity opPackagePushLogEntity = sendPushOuPaiData(factoryPackageEntity.getId(), url, 1, detailObject); - - if (opPackagePushLogEntity == null) { - log.info(" >>>>>>>>>>>>>>>>>>>>>>> 包件 {} 已推送欧派 状态 {}", unitNo, detailObject.get("Operate")); - } else { - if (opPackagePushLogEntity.getId().equals(-1L)) { - log.info(">>> new保存没有查询到欧派订单包件推送 的记录 {}", unitNo); - opPushFailedPackageRecordService.record(unitNo, orderStatusDTO); - } - // 需要盘点这个对象的 - String resp = opPackagePushLogEntity.getResp(); - log.info(" >>>>>>>>>>>>>>>>>>>>>>> 推送欧派返回数据 {}", resp); - // TODO: 2023/10/25 不知道返回成功的状态是多少 - // 需要修改包件对应的状态 - checkOpFactoryPackagePushStatus(factoryPackageEntity); - } - } - log.info(" >>>>>>>>>>>>>>>>>>>>>>> 物流状态传递成功"); - return Resp.success("物流状态传递成功"); + // 查询这个包件对应到新系统的订单 +// FactoryOrderEntity factoryOrder = factoryOrderService.selectEntityByOrderPackageCode(unitNo); +// +// if (Objects.isNull(factoryOrder)) { +// +// // 不是重试的时候,记录对应数据 +// log.info(">>> new保存没有查询到欧派订单包件推送 的记录 {}", unitNo); +// opPushFailedPackageRecordService.record(unitNo, orderStatusDTO); +// +// return Resp.fail(400, "未查询到该单据推送订单信息"); +// } +// // 如何判断这个包间是非干仓配的数据 +// +// if (!"经销商".equals(factoryOrder.getBusinessModel())) { +// log.info("oupai- 该包条为干仓配的数据类型 不进行推送 >>> unitNo={} businessModel:{}", unitNo, factoryOrder.getBusinessModel()); +// return Resp.fail(400, "包条为干仓配的数据类型"); +// } +// +// boolean isPushHtNomal = checkOpfactoryOrderBusinessModel(factoryOrder); +// if (isPushHtNomal) { +// log.info("oupai- 该包条为汇通使用欧派系统进行作业类型型 不进行推送 >>> unitNo={} businessModel:{}", unitNo, factoryOrder.getBusinessModel()); +// return Resp.fail(400, "该包条为汇通使用欧派系统进行作业类型"); +// } +// +// // 通过仓库编码查询 +// ReceivingOrderEntity receivingOrderEntity = receivingOrderMapper.selectById(factoryOrder.getReceivingId()); +// +// if (Objects.isNull(receivingOrderEntity)) { +// log.info(" 该订单为没有收货单 不进行推送 >>> receivingId={} ", factoryOrder.getReceivingId()); +// return Resp.fail(400, "未查询到该单据推送收货单信息"); +// } +// +// if (StringUtil.isBlank(receivingOrderEntity.getCurrentWarehouseOid())) { +// log.info(" 该订单为没有收货仓 不进行推送 >>> getCurrentWarehouseOid={} ", receivingOrderEntity.getCurrentWarehouseOid()); +// return Resp.fail(400, "收货仓信息不能为null"); +// } +// if (!receivingOrderEntity.getCurrentWarehouseName().contains("仓")) { +// log.info(" 该订单为没有收货仓信息不正确 getCurrentWarehouseName={} ", receivingOrderEntity.getCurrentWarehouseName()); +// return Resp.fail(400, "该订单为没有收货仓信息不正确"); +// } +// +// +// JSONObject detailObject = new JSONObject(); +// detailObject.put("WarehouseOid", receivingOrderEntity.getCurrentWarehouseOid()); +// detailObject.put("WarehouseBelong", "oppein"); +// detailObject.put("Creator", orderStatusDTO.getUsername()); +// detailObject.put("PackageCode", unitNo); +// // 增加当仓直接入库的 就没有卸车收货的状态 直接 进行入库 入库就表示货物进入当前仓库 +// if ("4".equals(status) || "1".equals(status)) { +// detailObject.put("Operate", "收货"); +// } else if ("7".equals(status)) { +// detailObject.put("Operate", "发货"); +// } else { +// log.info(" 该包件的状态不正确 status={} ", status); +// return Resp.fail(400, "该包件的状态不正确"); +// } +// +// // 查询系统的包件对象 +// LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); +// lambdaQueryWrapper.eq(FactoryPackageEntity::getCode, unitNo); +// FactoryPackageEntity factoryPackageEntity = factoryPackageService.getOne(lambdaQueryWrapper); +// if (ObjectUtils.isNotNull(factoryPackageEntity)) { +// // 推送数据 +// String url = ouPaiProperties.getUri() + "tims_odata_api/api/odata/PackageFeedbackRecord"; +// OpPackagePushLogEntity opPackagePushLogEntity = sendPushOuPaiData(factoryPackageEntity.getId(), url, 1, detailObject); +// +// if (opPackagePushLogEntity == null) { +// log.info(" >>>>>>>>>>>>>>>>>>>>>>> 包件 {} 已推送欧派 状态 {}", unitNo, detailObject.get("Operate")); +// } else { +// +// if (opPackagePushLogEntity.getId().equals(-1L)) { +// log.info(">>> new保存没有查询到欧派订单包件推送 的记录 {}", unitNo); +// opPushFailedPackageRecordService.record(unitNo, orderStatusDTO); +// } +// +// // 需要盘点这个对象的 +// String resp = opPackagePushLogEntity.getResp(); +// +// log.info(" >>>>>>>>>>>>>>>>>>>>>>> 推送欧派返回数据 {}", resp); +// // TODO: 2023/10/25 不知道返回成功的状态是多少 +// // 需要修改包件对应的状态 +// checkOpFactoryPackagePushStatus(factoryPackageEntity); +// } +// } +// log.info(" >>>>>>>>>>>>>>>>>>>>>>> 物流状态传递成功"); +// return Resp.success("物流状态传递成功"); } /**