From 5ebaada5524b4366a64075a98912e550084c855a Mon Sep 17 00:00:00 2001 From: "pref_mail@163.com" Date: Wed, 18 Sep 2024 20:15:06 +0800 Subject: [PATCH] =?UTF-8?q?add:=20=E5=A2=9E=E5=8A=A0=E5=AF=B9=E9=A2=84?= =?UTF-8?q?=E7=BA=A6=E5=8D=95=E9=9B=B6=E6=8B=85=E7=9A=84=E6=94=AF=E6=8C=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../entity/BusinessPreOrderEntity.java | 18 ++++ ...ibutionBusinessPreCarNumerPageQueryVO.java | 3 + .../trunkline/feign/IExtractedDataClient.java | 18 ++++ .../impl/BusinessAsyncServiceImpl.java | 13 ++- .../impl/BusinessPreOrderServiceImpl.java | 6 +- .../src/main/resources/application-dev.yml | 2 +- .../mapper/DistributionLoadscanMapper.xml | 2 +- .../BusinessPreOrderDataQueueHandler.java | 46 +++++++++- .../trunkline/feign/ExtractedDataClient.java | 89 +++++++++++++++++++ .../mq/OpenWaybillToBusinessListener.java | 67 +++----------- 10 files changed, 202 insertions(+), 62 deletions(-) create mode 100644 blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/feign/IExtractedDataClient.java create mode 100644 blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/feign/ExtractedDataClient.java diff --git a/blade-service-api/logpm-business-api/src/main/java/com/logpm/business/entity/BusinessPreOrderEntity.java b/blade-service-api/logpm-business-api/src/main/java/com/logpm/business/entity/BusinessPreOrderEntity.java index 05df60ba6..3d0723f49 100644 --- a/blade-service-api/logpm-business-api/src/main/java/com/logpm/business/entity/BusinessPreOrderEntity.java +++ b/blade-service-api/logpm-business-api/src/main/java/com/logpm/business/entity/BusinessPreOrderEntity.java @@ -173,6 +173,24 @@ public class BusinessPreOrderEntity extends TenantEntity { */ @ApiModelProperty(value = "数量") private Integer quantity; + + + /** + * 卸车数量 + */ + @ApiModelProperty(value = "卸车数量") + private Integer unloadNum; + + + /** + * 装车数量 + */ + @ApiModelProperty(value = "装车数量") + private Integer loadNum; + + + + /** * 车次号 */ diff --git a/blade-service-api/logpm-business-api/src/main/java/com/logpm/business/vo/DistributionBusinessPreCarNumerPageQueryVO.java b/blade-service-api/logpm-business-api/src/main/java/com/logpm/business/vo/DistributionBusinessPreCarNumerPageQueryVO.java index a746d5578..a99fda6d8 100644 --- a/blade-service-api/logpm-business-api/src/main/java/com/logpm/business/vo/DistributionBusinessPreCarNumerPageQueryVO.java +++ b/blade-service-api/logpm-business-api/src/main/java/com/logpm/business/vo/DistributionBusinessPreCarNumerPageQueryVO.java @@ -13,4 +13,7 @@ public class DistributionBusinessPreCarNumerPageQueryVO { private String orderCode; @ApiModelProperty(value = "配送车次号") private String distrCarNumber; + + @ApiModelProperty(value = "物品类型 1 定制品 3零担") + private String conditions; } diff --git a/blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/feign/IExtractedDataClient.java b/blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/feign/IExtractedDataClient.java new file mode 100644 index 000000000..350dfca01 --- /dev/null +++ b/blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/feign/IExtractedDataClient.java @@ -0,0 +1,18 @@ +package com.logpm.trunkline.feign; + +import com.logpm.trunkline.entity.TrunklineCarsLoadEntity; +import org.springblade.common.constant.ModuleNameConstant; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestParam; + +@FeignClient( + value = ModuleNameConstant.APPLICATION_TRUNKLINE_NAME +) +public interface IExtractedDataClient { + + String API_PREFIX = "extractedData/client"; + @GetMapping(API_PREFIX+"/findEntityByCarsNo") + void execute(@RequestParam String tenantId,@RequestParam String wallbillNum); + +} diff --git a/blade-service/logpm-business/src/main/java/com/logpm/business/service/impl/BusinessAsyncServiceImpl.java b/blade-service/logpm-business/src/main/java/com/logpm/business/service/impl/BusinessAsyncServiceImpl.java index 20d00df98..0e1930352 100644 --- a/blade-service/logpm-business/src/main/java/com/logpm/business/service/impl/BusinessAsyncServiceImpl.java +++ b/blade-service/logpm-business/src/main/java/com/logpm/business/service/impl/BusinessAsyncServiceImpl.java @@ -46,6 +46,10 @@ public class BusinessAsyncServiceImpl implements IBusinessAsyncService { log.info(" saveOtherDataBaseNew dataResult 参数错误"); } + + + + LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); lambdaQueryWrapper.eq(BusinessPreOrderEntity::getInWarehouse, 0); lambdaQueryWrapper.in(BusinessPreOrderEntity::getOrderCode, orderCodeList); @@ -62,7 +66,7 @@ public class BusinessAsyncServiceImpl implements IBusinessAsyncService { businessPreOrderEntity.setTenantId(tenant.getTenantId()); if (businessPreOrderEntity.getStockArticleId().equals(distributionBusinessPreOrderEntity.getStockArticleId())) { // 找到订单 - if (businessPreOrderEntity.getOrderPackageCode().equals(distributionBusinessPreOrderEntity.getOrderPackageCode())) { + if (distributionBusinessPreOrderEntity.getConditions().equals(1) && businessPreOrderEntity.getOrderPackageCode().equals(distributionBusinessPreOrderEntity.getOrderPackageCode())) { //找到包件 并标记为删除状态 if (distributionBusinessPreOrderEntity.getInWarehouse().equals(1)) { // 需要删除集合中的数据 @@ -70,6 +74,13 @@ public class BusinessAsyncServiceImpl implements IBusinessAsyncService { } else { temsp.add(distributionBusinessPreOrderEntity.getId()); } + }else if(distributionBusinessPreOrderEntity.getConditions().equals(3) &&distributionBusinessPreOrderEntity.getFirsts().equals(businessPreOrderEntity.getFirsts())){ + if (distributionBusinessPreOrderEntity.getInWarehouse().equals(1)) { + // 需要删除集合中的数据 + dataResult.remove(i); + } else { + temsp.add(distributionBusinessPreOrderEntity.getId()); + } } } diff --git a/blade-service/logpm-business/src/main/java/com/logpm/business/service/impl/BusinessPreOrderServiceImpl.java b/blade-service/logpm-business/src/main/java/com/logpm/business/service/impl/BusinessPreOrderServiceImpl.java index c485bf9b1..145951c1a 100644 --- a/blade-service/logpm-business/src/main/java/com/logpm/business/service/impl/BusinessPreOrderServiceImpl.java +++ b/blade-service/logpm-business/src/main/java/com/logpm/business/service/impl/BusinessPreOrderServiceImpl.java @@ -466,6 +466,7 @@ public class BusinessPreOrderServiceImpl extends BaseServiceImpl queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(BusinessPreOrderEntity::getDistrCarNumber, queryVO.getDistrCarNumber()); queryWrapper.eq(BusinessPreOrderEntity::getIsDeleted, 0); + queryWrapper.eq(BusinessPreOrderEntity::getConditions, queryVO.getConditions()); List list = this.list(queryWrapper); if (list != null) { @@ -488,13 +489,16 @@ public class BusinessPreOrderServiceImpl extends BaseServiceImpl entities, List data) { DistributionBusinessPreCarOrderDetalVO t = new DistributionBusinessPreCarOrderDetalVO(); t.setOrderCode(orderCode); + String wallbillNum = entities.stream().map(BusinessPreOrderEntity::getWaybillNumber).distinct().collect(Collectors.joining(",")); + + // todo 这里的计算存在问题,没有计算零担的数据 + int planNum = entities.size(); int loadNum = (int) entities.stream().filter(e -> "20".equals(e.getOrderPackageLoadingStatus())).count(); int inNum = (int) entities.stream().filter(e -> e.getInWarehouse() == 1).count(); int inExceNum = (int) entities.stream().filter(e -> e.getOperationStatus() == 1).count(); - String wallbillNum = entities.stream().map(BusinessPreOrderEntity::getWaybillNumber).distinct().collect(Collectors.joining(",")); t.setWaybillNumber(wallbillNum); t.setLoadCarCount(loadNum); diff --git a/blade-service/logpm-business/src/main/resources/application-dev.yml b/blade-service/logpm-business/src/main/resources/application-dev.yml index b43dd1d0d..5185d37b5 100644 --- a/blade-service/logpm-business/src/main/resources/application-dev.yml +++ b/blade-service/logpm-business/src/main/resources/application-dev.yml @@ -11,7 +11,7 @@ server: spring: autoconfigure: - exclude: com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure,com.alibaba.cloud.seata.feign.SeataFeignClientAutoConfiguration + exclude: com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure datasource: dynamic: druid: diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionLoadscanMapper.xml b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionLoadscanMapper.xml index 325dbd2d4..6c33bb353 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionLoadscanMapper.xml +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionLoadscanMapper.xml @@ -80,7 +80,7 @@ SELECT GROUP_CONCAT(DISTINCT ldl.driver_name SEPARATOR ',' ) FROM logpm_distribution_loadscan ldl where ldl.order_id =#{id}