From fcc0e9084045e30b57dd68a10e4309e36be80095 Mon Sep 17 00:00:00 2001 From: zhaoqiaobo <583671871@qq.com> Date: Wed, 19 Jun 2024 10:43:44 +0800 Subject: [PATCH 1/5] =?UTF-8?q?feat(all):=20=E7=BB=93=E7=AE=97=E6=98=8E?= =?UTF-8?q?=E7=BB=86=E5=A2=9E=E5=8A=A0=E5=93=81=E7=B1=BBid=E5=AD=97?= =?UTF-8?q?=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../entity/StatisticsDistributionPackageEntity.java | 6 ++++++ .../statistics/entity/StatisticsTrunklinePackageEntity.java | 6 ++++++ .../statistics/entity/StatisticsWarehousePackageEntity.java | 6 ++++++ .../logpm/statistics/listener/mq/WaybillFanoutListener.java | 3 +++ .../trunkline/service/impl/OpenOrderAsyncServiceImpl.java | 1 + 5 files changed, 22 insertions(+) diff --git a/blade-service-api/logpm-statisticsdata-api/src/main/java/com/logpm/statistics/entity/StatisticsDistributionPackageEntity.java b/blade-service-api/logpm-statisticsdata-api/src/main/java/com/logpm/statistics/entity/StatisticsDistributionPackageEntity.java index cd08e40ca..2577923b8 100644 --- a/blade-service-api/logpm-statisticsdata-api/src/main/java/com/logpm/statistics/entity/StatisticsDistributionPackageEntity.java +++ b/blade-service-api/logpm-statisticsdata-api/src/main/java/com/logpm/statistics/entity/StatisticsDistributionPackageEntity.java @@ -84,6 +84,12 @@ public class StatisticsDistributionPackageEntity extends TenantEntity { @ApiModelProperty(value = "品类名称") private String productName; + /** + * 品类名称 + */ + @ApiModelProperty(value = "品类Id") + private String productId; + /** * 件数 */ diff --git a/blade-service-api/logpm-statisticsdata-api/src/main/java/com/logpm/statistics/entity/StatisticsTrunklinePackageEntity.java b/blade-service-api/logpm-statisticsdata-api/src/main/java/com/logpm/statistics/entity/StatisticsTrunklinePackageEntity.java index 47090521e..8bc83562d 100644 --- a/blade-service-api/logpm-statisticsdata-api/src/main/java/com/logpm/statistics/entity/StatisticsTrunklinePackageEntity.java +++ b/blade-service-api/logpm-statisticsdata-api/src/main/java/com/logpm/statistics/entity/StatisticsTrunklinePackageEntity.java @@ -83,6 +83,12 @@ public class StatisticsTrunklinePackageEntity extends TenantEntity { @ApiModelProperty(value = "品类名称") private String productName; + /** + * 品类名称 + */ + @ApiModelProperty(value = "品类id") + private String productId; + /** * 件数 */ diff --git a/blade-service-api/logpm-statisticsdata-api/src/main/java/com/logpm/statistics/entity/StatisticsWarehousePackageEntity.java b/blade-service-api/logpm-statisticsdata-api/src/main/java/com/logpm/statistics/entity/StatisticsWarehousePackageEntity.java index 72af3167a..602534bce 100644 --- a/blade-service-api/logpm-statisticsdata-api/src/main/java/com/logpm/statistics/entity/StatisticsWarehousePackageEntity.java +++ b/blade-service-api/logpm-statisticsdata-api/src/main/java/com/logpm/statistics/entity/StatisticsWarehousePackageEntity.java @@ -84,6 +84,12 @@ public class StatisticsWarehousePackageEntity extends TenantEntity { @ApiModelProperty(value = "品类名称") private String productName; + /** + * 品类名称 + */ + @ApiModelProperty(value = "品类id") + private String productId; + /** * 件数 */ diff --git a/blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/listener/mq/WaybillFanoutListener.java b/blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/listener/mq/WaybillFanoutListener.java index 2f7b5bd29..722c85dd7 100644 --- a/blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/listener/mq/WaybillFanoutListener.java +++ b/blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/listener/mq/WaybillFanoutListener.java @@ -87,6 +87,7 @@ public class WaybillFanoutListener { statisticsTrunklinePackageEntity.setOrderCode(json.getStr("orderCode")); statisticsTrunklinePackageEntity.setOrderPackageCode(json.getStr("orderPackageCode")); statisticsTrunklinePackageEntity.setProductName(json.getStr("productName")); + statisticsTrunklinePackageEntity.setProductId(json.getStr("productId")); statisticsTrunklinePackageEntity.setTotalNum(json.getInt("totalNum")); statisticsTrunklinePackageEntity.setTotalWeight(totalWeight); statisticsTrunklinePackageEntity.setTotalVolume(totalVolume); @@ -135,6 +136,7 @@ public class WaybillFanoutListener { statisticsWarehousePackageEntity.setOrderCode(json.getStr("orderCode")); statisticsWarehousePackageEntity.setOrderPackageCode(json.getStr("orderPackageCode")); statisticsWarehousePackageEntity.setProductName(json.getStr("productName")); + statisticsWarehousePackageEntity.setProductId(json.getStr("productId")); statisticsWarehousePackageEntity.setTotalNum(json.getInt("totalNum")); statisticsWarehousePackageEntity.setTotalWeight(totalWeight); statisticsWarehousePackageEntity.setTotalVolume(totalVolume); @@ -170,6 +172,7 @@ public class WaybillFanoutListener { statisticsDistributionPackageEntity.setOrderCode(json.getStr("orderCode")); statisticsDistributionPackageEntity.setOrderPackageCode(json.getStr("orderPackageCode")); statisticsDistributionPackageEntity.setProductName(json.getStr("productName")); + statisticsDistributionPackageEntity.setProductId(json.getStr("productId")); statisticsDistributionPackageEntity.setTotalNum(json.getInt("totalNum")); statisticsDistributionPackageEntity.setTotalWeight(totalWeight); statisticsDistributionPackageEntity.setTotalVolume(totalVolume); diff --git a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/OpenOrderAsyncServiceImpl.java b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/OpenOrderAsyncServiceImpl.java index f6efb044a..9bdb50f13 100644 --- a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/OpenOrderAsyncServiceImpl.java +++ b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/OpenOrderAsyncServiceImpl.java @@ -552,6 +552,7 @@ public class OpenOrderAsyncServiceImpl implements IOpenOrderAsyncService { json.put("orderPackageCode",detail.getProductName()); json.put("orderCode",waybillNo); json.put("productName",detail.getProductName()); + json.put("productId",detail.getProductId()); json.put("totalNum",num); json.put("totalWeight",detail.getWeight()); json.put("totalVolume",detail.getVolume()); From ac08794ee72d71258aff10c6660dbcb1cfaeb931 Mon Sep 17 00:00:00 2001 From: PigBaoBei <2739175034@qq.com> Date: Wed, 19 Jun 2024 11:22:48 +0800 Subject: [PATCH 2/5] =?UTF-8?q?=E5=B7=B2=E7=AD=BE=E8=AE=A2=E5=8D=95?= =?UTF-8?q?=E8=AF=A6=E6=83=85=E5=8F=82=E6=95=B0=E8=A1=A5=E5=85=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../vo/DistributionSignforStockArticleVO.java | 12 ++++++++++++ .../mapper/DistributionStockArticleMapper.xml | 4 +++- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/DistributionSignforStockArticleVO.java b/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/DistributionSignforStockArticleVO.java index f73b55f7f..9def87bf1 100644 --- a/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/DistributionSignforStockArticleVO.java +++ b/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/DistributionSignforStockArticleVO.java @@ -266,6 +266,18 @@ public class DistributionSignforStockArticleVO implements Serializable { @ApiModelProperty(value = "签收时间") private Date signinTime; + /** + * 签收ID + */ + @ApiModelProperty(value = "签收ID") + private Date signforId; + + /** + * 配送ID + */ + @ApiModelProperty(value = "配送ID") + private Date deliveryId; + /** * 创建时间 diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockArticleMapper.xml b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockArticleMapper.xml index 8d0044eae..3f01fd839 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockArticleMapper.xml +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockArticleMapper.xml @@ -1492,7 +1492,9 @@ lds.sjsigning_time AS sjsigningTime, lddl.train_number AS trainNumber, lddl.vehicle_name AS vehicleName, - lddl.driver_name AS driverName + lddl.driver_name AS driverName, + lds.id AS signforId, + lds.delivery_id AS deliveryId FROM logpm_distribution_reservation_stockarticle AS ldrs LEFT JOIN logpm_distribution_reservation AS ldr ON ldrs.reservation_id = ldr.id From 448ee9f18213cfe8e0bfee125ecb268f78612f31 Mon Sep 17 00:00:00 2001 From: PigBaoBei <2739175034@qq.com> Date: Wed, 19 Jun 2024 15:13:24 +0800 Subject: [PATCH 3/5] =?UTF-8?q?=E5=BC=82=E5=B8=B8=E8=A3=85=E8=BD=A6?= =?UTF-8?q?=E5=88=A4=E5=AE=9ABUG=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../DistributionDeliveryAppController.java | 8 ++++- .../DistributionDeliveryListServiceImpl.java | 34 +++++++++++-------- 2 files changed, 26 insertions(+), 16 deletions(-) diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/api/DistributionDeliveryAppController.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/api/DistributionDeliveryAppController.java index cbbe1b91e..9a2ec87e9 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/api/DistributionDeliveryAppController.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/api/DistributionDeliveryAppController.java @@ -137,7 +137,13 @@ public class DistributionDeliveryAppController { @ApiOperationSupport(order = 6) @ApiOperation(value = "装车扫描", notes = "传入DistrilbutionloadingscanDTO") public R loadingscan(@Valid @RequestBody DistrilbutionloadingscanDTO distrilbutionloadingscanDTO) { - R msg = distributionDeliveryListService.loadingscan(distrilbutionloadingscanDTO); + R msg = null; + try{ + msg = distributionDeliveryListService.loadingscan(distrilbutionloadingscanDTO); + + }catch (Exception e){ + e.printStackTrace(); + } return msg; } diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionDeliveryListServiceImpl.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionDeliveryListServiceImpl.java index b3bac65f3..8ba88f9d8 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionDeliveryListServiceImpl.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionDeliveryListServiceImpl.java @@ -577,6 +577,8 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl reservationEntities = reservationEntityList.stream().filter(r -> Func.isNotEmpty(r.getConsignee()) && r.getConsignee().equals(stockArticleEntity.getCustomerName()) && r.getDeliveryAddress().equals(stockArticleEntity.getCustomerAddress()) && r.getDeliveryPhone().equals(stockArticleEntity.getCustomerTelephone()) && r.getMallName().equals(stockArticleEntity.getMallName()) && r.getId().equals(distrilbutionloadingscanDTO.getReservationId())).collect(Collectors.toList()); //查看是否存在满足条件的预约单 - reservationEntities = reservationEntities.stream().filter(r -> r.getReceivingUnit().equals(stockArticleEntity.getConsigneeUnit()) && r.getMallName().equals(stockArticleEntity.getMallName())).collect(Collectors.toList()); + boolean flag = reservationEntityList.stream().anyMatch(r -> Func.isNotEmpty(r.getConsignee()) && r.getConsignee().equals(stockArticleEntity.getCustomerName()) && r.getDeliveryAddress().equals(stockArticleEntity.getCustomerAddress()) && r.getDeliveryPhone().equals(stockArticleEntity.getCustomerTelephone()) && r.getMallName().equals(stockArticleEntity.getMallName()) && r.getId().equals(distrilbutionloadingscanDTO.getReservationId())); //存在多个,操作人指定具体客户即可 - if (!reservationEntities.isEmpty() && reservationEntities.size() == 1) { - if (Func.isEmpty(distrilbutionloadingscanDTO.getReservationId())) { - log.info("异常装车未指定客户"); - return Resp.scanFail("请指定客户进行异常装车", "请指定客户进行异常装车"); - } + if ( reservationEntities.size() == 1 && flag) { return R.fail(5000, "异常装车"); -// return Resp.scanFail("装车失败","程序出错,请联系彪桑"); } else { - if (parcelListEntity.getConditions() == 2) { - return Resp.scanFail("此包件不是订制品", "此包件不是订制品"); - - } else { + if (flag){ + if (reservationEntities.isEmpty()){ + return Resp.scanFail("请指定客户进行异常装车", "请指定客户进行异常装车"); + } + }else { return Resp.scanFail("窜货", "窜货"); } } @@ -810,15 +811,18 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl reservationEntities = reservationEntityList.stream().filter(r -> r.getReceivingUnit().equals(stockArticleEntity.getConsigneeUnit()) && r.getMallName().equals(stockArticleEntity.getMallName()) && r.getId().equals(distrilbutionloadingscanDTO.getReservationId())).collect(Collectors.toList()); //查询是否满足商配异常装车 - boolean flag = reservationEntities.stream().anyMatch(r -> r.getReceivingUnit().equals(stockArticleEntity.getConsigneeUnit()) && r.getMallName().equals(stockArticleEntity.getMallName())); - if (flag){ + boolean flag = reservationEntityList.stream().anyMatch(r -> r.getReceivingUnit().equals(stockArticleEntity.getConsigneeUnit()) && r.getMallName().equals(stockArticleEntity.getMallName())); + if (reservationEntities.size() == 1 && flag){ return R.fail(5000, "异常装车"); }else { - if (Func.isEmpty(distrilbutionloadingscanDTO.getReservationId())){ - return Resp.scanFail("请指定客户进行异常装车", "请指定客户进行异常装车"); + if (flag){ + if (reservationEntities.isEmpty()){ + return Resp.scanFail("请指定客户进行异常装车", "请指定客户进行异常装车"); + } }else { return Resp.scanFail("窜货", "窜货"); + } } } else { From 95d517fce683aff7501cc291ce2185d20c6525ec Mon Sep 17 00:00:00 2001 From: PigBaoBei <2739175034@qq.com> Date: Wed, 19 Jun 2024 16:05:29 +0800 Subject: [PATCH 4/5] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=8F=96=E6=B6=88?= =?UTF-8?q?=E9=85=8D=E9=80=81=E4=BB=BB=E5=8A=A1=E5=8F=96=E6=B6=88=E5=A4=87?= =?UTF-8?q?=E8=B4=A7BUG?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../distribution/mapper/DistributionParcelListMapper.xml | 2 +- .../distribution/mapper/DistributionStockupMapper.xml | 1 + .../service/impl/DistributionReservationServiceImpl.java | 7 ++++++- .../service/impl/DistributionStockupServiceImpl.java | 2 -- 4 files changed, 8 insertions(+), 4 deletions(-) diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionParcelListMapper.xml b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionParcelListMapper.xml index 2187fab27..51a2f17be 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionParcelListMapper.xml +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionParcelListMapper.xml @@ -543,7 +543,7 @@ LEFT JOIN logpm_warehouse_tray_goods lwtg on lwtg.association_id = ldpl.id and lwtg.association_type = '3' LEFT JOIN logpm_warehouse_tray lwt on lwtg.tray_id = lwt.id - ldsi.stockup_id =#{id} and ldpl.order_package_code is not null and ldsi.stock_status != 4 + ldsi.stockup_id =#{id} and ldpl.order_package_code is not null and ldsi.stock_status != 4 AND ldrp.packet_bar_status != 2 diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionReservationServiceImpl.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionReservationServiceImpl.java index 5e9417e21..7a855d819 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionReservationServiceImpl.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionReservationServiceImpl.java @@ -2589,7 +2589,12 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl entityList = distributionStockupInfoService.list(Wrappers.query().lambda() + .eq(DistributionStockupInfoEntity::getStockupId, stockupEntity.getId()) + .ne(DistributionStockupInfoEntity::getStockStatus, "4") + ); + if (stockupEntity.getAssignStatus().equals(StockAssignStatusConstant.weizhipai.getValue()) && entityList.size() == 1) { //物理删除关于预约的所有信息 distributionReservationStocklistMapper.deleteReservationStocklist(reservationEntity.getId()); distributionReservationPackageMapper.deleteReservationPackage(reservationEntity.getId()); diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockupServiceImpl.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockupServiceImpl.java index 4453a3551..0759a43b9 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockupServiceImpl.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockupServiceImpl.java @@ -310,8 +310,6 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl Date: Wed, 19 Jun 2024 17:00:21 +0800 Subject: [PATCH 5/5] =?UTF-8?q?1.=E5=A2=9E=E5=8A=A0=E5=B8=88=E5=82=85?= =?UTF-8?q?=E7=AD=BE=E6=94=B6=E6=8E=A8=E9=80=81=E5=95=86=E5=AE=B6=E7=AB=AF?= =?UTF-8?q?=E4=BD=9C=E4=B8=9A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../feign/IDistributionReservationClient.java | 2 + .../BusinessInOrderDataQueueHandler.java | 33 ++++- .../service/IBusinessPreOrderService.java | 8 +- .../impl/BusinessPreOrderServiceImpl.java | 45 +++++-- .../feign/DistributionReservationClient.java | 5 + .../impl/DistributionSignforServiceImpl.java | 124 ++++++++++++++---- 6 files changed, 179 insertions(+), 38 deletions(-) diff --git a/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/feign/IDistributionReservationClient.java b/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/feign/IDistributionReservationClient.java index e305b927f..78e767c3f 100644 --- a/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/feign/IDistributionReservationClient.java +++ b/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/feign/IDistributionReservationClient.java @@ -61,6 +61,8 @@ public interface IDistributionReservationClient { */ @GetMapping(TOP+"/getReservationList") List getReservationList(@RequestParam("reservationIds") String reservationIds); + @GetMapping(TOP+"/getReservationByCodeAndWarehouseId") + DistributionReservationEntity getReservationByCodeAndWarehouseId(@RequestParam("reservationCode") String reservationCode,@RequestParam("warehouseId") String warehouseId); /** diff --git a/blade-service/logpm-business/src/main/java/com/logpm/business/receiver/BusinessInOrderDataQueueHandler.java b/blade-service/logpm-business/src/main/java/com/logpm/business/receiver/BusinessInOrderDataQueueHandler.java index fe7b021cc..7069eca34 100644 --- a/blade-service/logpm-business/src/main/java/com/logpm/business/receiver/BusinessInOrderDataQueueHandler.java +++ b/blade-service/logpm-business/src/main/java/com/logpm/business/receiver/BusinessInOrderDataQueueHandler.java @@ -1,16 +1,23 @@ package com.logpm.business.receiver; +import cn.hutool.core.util.ObjectUtil; import com.alibaba.fastjson.JSONObject; import com.logpm.business.service.IBusinessPreOrderService; +import com.logpm.distribution.entity.DistributionReservationEntity; +import com.logpm.distribution.feign.IDistributionReservationClient; import com.rabbitmq.client.Channel; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springblade.common.constant.RabbitConstant; +import org.springblade.core.tool.api.R; +import org.springblade.system.entity.Tenant; +import org.springblade.system.feign.ISysClient; import org.springframework.amqp.core.Message; import org.springframework.amqp.rabbit.annotation.RabbitHandler; import org.springframework.amqp.rabbit.annotation.RabbitListener; import org.springframework.stereotype.Component; +import java.util.List; import java.util.Map; /** @@ -23,7 +30,8 @@ import java.util.Map; public class BusinessInOrderDataQueueHandler { private final IBusinessPreOrderService businessPreOrderService; - + private final IDistributionReservationClient distributionReservationClient; + private final ISysClient sysClient; @RabbitHandler public void businessInOrderDataHandler(Map map, Message message, Channel channel) { // 获取 @@ -35,7 +43,9 @@ public class BusinessInOrderDataQueueHandler { String vehicleName = o.getString("vehicleName"); String driverName = o.getString("driverName"); String userName = o.getString("userName"); + // 当前作业仓库 Long warehouseId = o.getLong("warehouseId"); + // 作业 String tenantId = o.getString("tenantId"); //验证参数是否为null或者空串 @@ -59,9 +69,26 @@ public class BusinessInOrderDataQueueHandler { log.error("driverName is null"); return; } + // 判断目标租户 + DistributionReservationEntity reservationByCodeAndWarehouseId = distributionReservationClient.getReservationByCodeAndWarehouseId(reservationCode, warehouseId.toString()); + + // 判断是否存在租户 + R> tenantList = sysClient.getTenantList(); + Tenant tenant = null; + if (tenantList.isSuccess()) { + List data = tenantList.getData(); + for (Tenant datum : data) { + if (datum.getTenantType() == 2 && datum.getTenantName().equals(reservationByCodeAndWarehouseId.getMallName().trim())) { + tenant = datum; + break; + } + } + } + if(!ObjectUtil.isEmpty(tenant)){ + // 如果师傅签收 以师傅签收的车次为准 + businessPreOrderService.scanOrderPackageCodeByMaster(orderPackageCode, reservationCode, distrCarNumber, vehicleName, driverName, userName, warehouseId,tenant.getTenantId(),tenant.getTenantName(),tenantId); + } - // 如果师傅签收 以师傅签收的车次为准 - businessPreOrderService.scanOrderPackageCodeByMaster(orderPackageCode, reservationCode, distrCarNumber, vehicleName, driverName, userName, warehouseId, tenantId); } diff --git a/blade-service/logpm-business/src/main/java/com/logpm/business/service/IBusinessPreOrderService.java b/blade-service/logpm-business/src/main/java/com/logpm/business/service/IBusinessPreOrderService.java index 2c314b7dd..202762810 100644 --- a/blade-service/logpm-business/src/main/java/com/logpm/business/service/IBusinessPreOrderService.java +++ b/blade-service/logpm-business/src/main/java/com/logpm/business/service/IBusinessPreOrderService.java @@ -10,6 +10,7 @@ import com.logpm.trunkline.dto.InComingDTO; import org.springblade.core.log.exception.ServiceException; import org.springblade.core.mp.base.BaseService; import org.springblade.core.tool.api.R; +import org.springblade.system.entity.Tenant; import java.util.List; import java.util.Map; @@ -88,8 +89,9 @@ public interface IBusinessPreOrderService extends BaseService queryWrapper1 = new LambdaQueryWrapper<>(); @@ -484,14 +497,22 @@ public class BusinessPreOrderServiceImpl extends BaseServiceImpl>>>> 签收异常报错", e); @@ -2672,6 +2683,49 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl map = new HashMap<>(); + map.put("messageData", jsonObject); + rabbitTemplate.convertAndSend(RabbitConstant.BUSINESS_IN_CONVERSION_DATA_EXCHANGE, RabbitConstant.BUSINESS_IN_CONVERSION_DATA_ROUTING, map); + } catch (Exception e) { + log.error("签收商家推送:{}", e); + } + } + @Override @Transactional(rollbackFor = Exception.class) public R signforPC(DistrilbutionAppsignforDTO distrilbutionloadingscanDTO) { @@ -3704,8 +3758,10 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl getAppDeliveryorderListPage(DistributionAppDeliveryListDTO distributionDeliveryList) { + List orderVos = new ArrayList<>(); if (Func.isEmpty(distributionDeliveryList.getReservationId())) { log.error("参数缺失reservationId:{}", distributionDeliveryList.getReservationId()); + return orderVos; } //查询该客户装车 @@ -3731,32 +3787,40 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl> reservationOrderMap = reservationStockarticleEntityList.stream().collect(Collectors.groupingBy(DistributionReservationStockarticleEntity::getStockArticleId)); Map> loadingOrderMap = distributionLoadscanEntities.stream().collect(Collectors.groupingBy(DistributionLoadscanEntity::getOrderId)); - List orderVos = new ArrayList<>(); + if (Func.isNotEmpty(orderIds)) { orderIds = orderIds.stream().distinct().collect(Collectors.toList()); - for (Long orderId : orderIds) { - DistributionStockArticleEntity stockArticleEntity = distributionStockArticleService.getById(orderId); - DistributionAppStockArticleVO distributionAppStockArticleVO = Func.copy(stockArticleEntity, DistributionAppStockArticleVO.class); - distributionAppStockArticleVO.setTotalNumber(stockArticleEntity.getTotalNumber()); - distributionAppStockArticleVO.setStockArticleId(stockArticleEntity.getId()); - distributionAppStockArticleVO.setLoadingNub(0); + + List distributionStockArticleEntities = distributionStockArticleService.listByIds(orderIds); + + + + List reservationOrders = distributionReservationStockarticleService.list(Wrappers.query().lambda() + .eq(DistributionReservationStockarticleEntity::getReservationId, distributionDeliveryList.getReservationId()) + .in(DistributionReservationStockarticleEntity::getStockArticleId, orderIds) + .ne(DistributionReservationStockarticleEntity::getStockArticleStatus, ReservationOrderStatusConstant.quxiao.getValue()) + ); + + for (DistributionStockArticleEntity distributionStockArticleEntity : distributionStockArticleEntities) { + + +// DistributionStockArticleEntity stockArticleEntity = distributionStockArticleService.getById(orderId); + DistributionAppStockArticleVO distributionAppStockArticleVO = Func.copy(distributionStockArticleEntity, DistributionAppStockArticleVO.class); + assert distributionAppStockArticleVO != null; + distributionAppStockArticleVO.setLoadingNub(0); distributionAppStockArticleVO.setSignforNub(0); distributionAppStockArticleVO.setReservationNum(0); //查询预约该订单计划数量 - DistributionReservationStockarticleEntity reservationOrder = distributionReservationStockarticleService.getOne(Wrappers.query().lambda() - .eq(DistributionReservationStockarticleEntity::getReservationId, distributionDeliveryList.getReservationId()) - .eq(DistributionReservationStockarticleEntity::getStockArticleId, orderId) - .ne(DistributionReservationStockarticleEntity::getStockArticleStatus, ReservationOrderStatusConstant.quxiao.getValue()) - ); + DistributionReservationStockarticleEntity reservationOrder = findReservationOrders(reservationOrders, distributionStockArticleEntity.getId()); if (Func.isNotEmpty(reservationOrder)) { distributionAppStockArticleVO.setReservationNum(reservationOrder.getReservationNum()); } - if (stockArticleEntity.getIsZero().equals(IsOrNoConstant.no.getValue())) { + if (distributionStockArticleEntity.getIsZero().equals(IsOrNoConstant.no.getValue())) { //判断此订单是是否是异常装车 - if (Func.isEmpty(reservationOrderMap.get(orderId))) { + if (Func.isEmpty(reservationOrderMap.get(distributionStockArticleEntity.getId()))) { //不存在计划之中的订单装车 - List loadscanEntityList = loadingOrderMap.get(orderId); + List loadscanEntityList = loadingOrderMap.get(distributionStockArticleEntity.getId()); List abnormalPackageIds = loadscanEntityList.stream().map(DistributionLoadscanEntity::getPackageId).collect(Collectors.toList()); List distributionParcelListEntities = distributionParcelListService.listByIds(abnormalPackageIds); List distributionAppParcelListVOS = DistributionParcelListAppWrapper.build().listVO(distributionParcelListEntities); @@ -3778,7 +3842,7 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl reservationPackage = distributionReservationPackageService.list(Wrappers.query().lambda() .eq(DistributionReservationPackageEntity::getReservationId, distributionDeliveryList.getReservationId()) - .eq(DistributionReservationPackageEntity::getStockArticleId, orderId) + .eq(DistributionReservationPackageEntity::getStockArticleId, distributionStockArticleEntity.getId()) .ne(DistributionReservationPackageEntity::getPacketBarStatus, ReservationPackageStatusConstant.quxiao.getValue()) ); List packageIds = new ArrayList<>(); @@ -3788,8 +3852,8 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl collect = null; - if (Func.isNotEmpty(loadingOrderMap.get(orderId))) { - List loadscanEntityList = loadingOrderMap.get(orderId); + if (Func.isNotEmpty(loadingOrderMap.get(distributionStockArticleEntity.getId()))) { + List loadscanEntityList = loadingOrderMap.get(distributionStockArticleEntity.getId()); List loadingPackageIds = loadscanEntityList.stream().map(DistributionLoadscanEntity::getPackageId).collect(Collectors.toList()); packageIds.addAll(loadingPackageIds); collect = loadscanEntityList.stream().collect(Collectors.toMap(DistributionLoadscanEntity::getPackageId, Function.identity(), (k1, k2) -> k2)); @@ -3801,11 +3865,13 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl packageVOS = new ArrayList<>(); if (Func.isNotEmpty(packageIds)) { packageIds = packageIds.stream().distinct().collect(Collectors.toList()); - for (Long packageId : packageIds) { - DistributionParcelListEntity parcelListEntity = distributionParcelListService.getById(packageId); + + List parcelListEntitys = distributionParcelListService.listByIds(packageIds); + for (DistributionParcelListEntity parcelListEntity : parcelListEntitys) { +// DistributionParcelListEntity parcelListEntity = distributionParcelListService.getById(packageId); DistributionAppParcelListVO distributionAppParcelListVO = DistributionParcelListAppWrapper.build().entityVO(parcelListEntity); if (Func.isNotEmpty(collect)) { - DistributionLoadscanEntity distributionLoadscanEntity = collect.get(packageId); + DistributionLoadscanEntity distributionLoadscanEntity = collect.get(parcelListEntity.getId()); if (Func.isNotEmpty(distributionLoadscanEntity)) { distributionAppParcelListVO.setMaterialName(parcelListEntity.getMaterialName()); if (distributionLoadscanEntity.getIsAbnormalLoading().equals(2)) { @@ -3832,16 +3898,16 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl reservationZeroPackageEntityList = distributionReservationZeroPackageService.list(Wrappers.query().lambda() .eq(DistributionReservationZeroPackageEntity::getReservationId, distributionDeliveryList.getReservationId()) - .eq(DistributionReservationZeroPackageEntity::getStockArticleId, orderId) + .eq(DistributionReservationZeroPackageEntity::getStockArticleId, distributionStockArticleEntity.getId()) .ne(DistributionReservationZeroPackageEntity::getZeroPackageStatus, ReservationPackageStatusConstant.quxiao.getValue())); if (Func.isNotEmpty(reservationZeroPackageEntityList)) { int reservationTotal = reservationZeroPackageEntityList.stream().mapToInt(DistributionReservationZeroPackageEntity::getQuantity).sum(); distributionAppStockArticleVO.setReservationNum(reservationTotal); - List parcelNumberVOS = distributionReservationMapper.selectReservationZeroOrderDetail(orderId, Long.parseLong(distributionDeliveryList.getReservationId())); + List parcelNumberVOS = distributionReservationMapper.selectReservationZeroOrderDetail(distributionStockArticleEntity.getId(), Long.parseLong(distributionDeliveryList.getReservationId())); distributionAppStockArticleVO.setSignforNub(0); if (Func.isNotEmpty(parcelNumberVOS)) { parcelNumberVOS.forEach(p -> { - DistributionLoadscanEntity loadscanEntity = distributionLoadscanService.getOne(Wrappers.query().lambda().eq(DistributionLoadscanEntity::getReservationId, distributionDeliveryList.getReservationId()).eq(DistributionLoadscanEntity::getOrderId, orderId).eq(DistributionLoadscanEntity::getPackageId, p.getParcelListId()).ne(DistributionLoadscanEntity::getScanStatus, LoadingStatusConstant.quxiao.getValue())); + DistributionLoadscanEntity loadscanEntity = distributionLoadscanService.getOne(Wrappers.query().lambda().eq(DistributionLoadscanEntity::getReservationId, distributionDeliveryList.getReservationId()).eq(DistributionLoadscanEntity::getOrderId, distributionStockArticleEntity.getId()).eq(DistributionLoadscanEntity::getPackageId, p.getParcelListId()).ne(DistributionLoadscanEntity::getScanStatus, LoadingStatusConstant.quxiao.getValue())); p.setLoadingNum(0); p.setSigningNum(0); if (Func.isNotEmpty(loadscanEntity)) { @@ -3866,6 +3932,16 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl reservationOrders , Long id) { + return reservationOrders.stream().filter(f -> f.getStockArticleId().equals(id)).findFirst().orElse(null); + } + // Map> orderMap = distributionLoadscanEntities.stream().collect(Collectors.groupingBy(DistributionLoadscanEntity::getOrderId)); // List distributionAppStockArticleVOS = new ArrayList<>();