From 1b79001389b5b3cc6dffeaebe59b0ae010271e06 Mon Sep 17 00:00:00 2001 From: "pref_mail@163.com" Date: Thu, 19 Sep 2024 16:15:46 +0800 Subject: [PATCH] =?UTF-8?q?fix:=E4=BF=AE=E6=94=B9=E8=8A=82=E7=82=B9?= =?UTF-8?q?=E4=BD=9C=E4=B8=9A=E7=BC=BA=E5=B0=91=E8=AE=A2=E5=8D=95=E5=8F=B7?= =?UTF-8?q?=E7=9A=84=E6=83=85=E5=86=B5=20add:=E5=A2=9E=E5=8A=A0=E5=95=86?= =?UTF-8?q?=E5=9C=BA=E5=85=A5=E5=BA=93=E9=9B=B6=E6=8B=85=E7=9A=84=E5=9C=BA?= =?UTF-8?q?=E6=99=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../logpm/business/dto/BusinessSanDTO.java | 14 ++++++-- .../entity/BusinessPreOrderEntity.java | 2 +- ...tributionBusinessPreCarDetalPackageVO.java | 8 +++++ .../business/api/BusinessPreOrderApi.java | 26 ++++++++++---- .../mapper/BusinessPreOrderMapper.xml | 6 ++-- .../impl/BusinessPreOrderServiceImpl.java | 17 +++++++-- .../mapper/DistributionLoadscanMapper.java | 10 +++++- .../mapper/DistributionLoadscanMapper.xml | 9 +++++ .../BusinessPreOrderDataQueueHandler.java | 14 ++++++++ .../service/IDistributionLoadscanService.java | 8 +++++ .../impl/DistributionAsyncServiceImpl.java | 5 ++- .../impl/DistributionLoadscanServiceImpl.java | 4 +++ .../DistrilbutionBillLadingServiceImpl.java | 10 ++++-- .../service/impl/OuPaiFactoryServiceImpl.java | 35 ++++++++++--------- .../receiver/HwyOrderStatusHandler.java | 5 +++ 15 files changed, 138 insertions(+), 35 deletions(-) diff --git a/blade-service-api/logpm-business-api/src/main/java/com/logpm/business/dto/BusinessSanDTO.java b/blade-service-api/logpm-business-api/src/main/java/com/logpm/business/dto/BusinessSanDTO.java index 5e006a083..1ff73d10b 100644 --- a/blade-service-api/logpm-business-api/src/main/java/com/logpm/business/dto/BusinessSanDTO.java +++ b/blade-service-api/logpm-business-api/src/main/java/com/logpm/business/dto/BusinessSanDTO.java @@ -9,9 +9,9 @@ public class BusinessSanDTO { @ApiModelProperty(value = "配送车次") private String distrCarNumber; @ApiModelProperty(value = "包间码") - String orderPackageCode; + private String orderPackageCode; @ApiModelProperty(value = "预约单号") - String reservationCode; + private String reservationCode; @ApiModelProperty(value = "异常入库 0 正常 1 异常") private Integer inWarehouseException; @@ -30,4 +30,14 @@ public class BusinessSanDTO { @ApiModelProperty(value = "打托方式") private String trayType;//打托方式 + @ApiModelProperty(value = "订单号") + private String orderCode; + + @ApiModelProperty(value = "零担品类") + private String firsts; + + @ApiModelProperty(value = "卸车数量") + private Integer unloadNum; + + } 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 3d0723f49..30b54cc01 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 @@ -169,7 +169,7 @@ public class BusinessPreOrderEntity extends TenantEntity { @ApiModelProperty(value = "物料单位") private String materialUnit; /** - * 数量 + * 计划数量 */ @ApiModelProperty(value = "数量") private Integer quantity; diff --git a/blade-service-api/logpm-business-api/src/main/java/com/logpm/business/vo/DistributionBusinessPreCarDetalPackageVO.java b/blade-service-api/logpm-business-api/src/main/java/com/logpm/business/vo/DistributionBusinessPreCarDetalPackageVO.java index ca8cf57a5..75a0d6c2f 100644 --- a/blade-service-api/logpm-business-api/src/main/java/com/logpm/business/vo/DistributionBusinessPreCarDetalPackageVO.java +++ b/blade-service-api/logpm-business-api/src/main/java/com/logpm/business/vo/DistributionBusinessPreCarDetalPackageVO.java @@ -24,5 +24,13 @@ public class DistributionBusinessPreCarDetalPackageVO { private Integer inWarehouse; @ApiModelProperty(value = "操作状态 0 正常操作 1.补录操作") private Integer operationStatus; + @ApiModelProperty(value = "计划数量") + private Integer quantity; + @ApiModelProperty(value = "卸车数量") + private Integer unloadNum; + @ApiModelProperty(value = "预约单号") + private String reservationCode; + + } diff --git a/blade-service/logpm-business/src/main/java/com/logpm/business/api/BusinessPreOrderApi.java b/blade-service/logpm-business/src/main/java/com/logpm/business/api/BusinessPreOrderApi.java index 57439787a..1cdca442d 100644 --- a/blade-service/logpm-business/src/main/java/com/logpm/business/api/BusinessPreOrderApi.java +++ b/blade-service/logpm-business/src/main/java/com/logpm/business/api/BusinessPreOrderApi.java @@ -23,6 +23,7 @@ import org.springblade.core.tool.api.R; import org.springblade.core.tool.utils.StringUtil; import org.springframework.web.bind.annotation.*; +import java.util.List; import java.util.Objects; @RestController @@ -37,7 +38,7 @@ public class BusinessPreOrderApi { @PostMapping("/list") @ApiOperationSupport(order = 1) @ApiOperation(value = "模糊查询", notes = "传入trayTypeDTO") - public R list(@RequestBody BusinessPreListDTO queryrderDTO){ + public R list(@RequestBody BusinessPreListDTO queryrderDTO) { DistributionBusinessPreOrderListVO data = distributionIBusinessPreOrderService.list(queryrderDTO); @@ -47,7 +48,7 @@ public class BusinessPreOrderApi { @PostMapping("/scanOrderPackageCode") @ApiOperationSupport(order = 1) - public R scanOrderPackageCode(@RequestBody BusinessSanDTO businessSanDTO){ + public R scanOrderPackageCode(@RequestBody BusinessSanDTO businessSanDTO) { Resp resp = null; try { @@ -59,14 +60,28 @@ public class BusinessPreOrderApi { return resp; } + @PostMapping("/inputZeroOrderData") + @ApiOperationSupport(order = 1) + public R inputZeroOrderData(@RequestBody List businessSanDTOincentices) { + + log.info(" >> 请求参数 {}", businessSanDTOincentices); + + // 传入的集合对象 中获取 + + + + + + return R.success("操作成功"); + } @GetMapping("/listCarNum") @ApiOperationSupport(order = 1) @ApiOperation(value = "条件查询", notes = "传入trayTypeDTO") - public R listCarNum(DistributionBusinessPreCarNumerPageQueryVO distributionBusinessPreCarNumerPageQueryVO, Query query){ + public R listCarNum(DistributionBusinessPreCarNumerPageQueryVO distributionBusinessPreCarNumerPageQueryVO, Query query) { - IPage data = distributionIBusinessPreOrderService.listCarNum(Condition.getPage(query),distributionBusinessPreCarNumerPageQueryVO); + IPage data = distributionIBusinessPreOrderService.listCarNum(Condition.getPage(query), distributionBusinessPreCarNumerPageQueryVO); return R.data(data); } @@ -74,7 +89,7 @@ public class BusinessPreOrderApi { @GetMapping("/preCarInfoDetailByCarNum") @ApiOperationSupport(order = 1) @ApiOperation(value = "条件查询", notes = "传入trayTypeDTO") - public R preCarInfoDetailByCarNum(DistributionBusinessPreCarNumerPageQueryVO distributionBusinessPreCarNumerPageQueryVO){ + public R preCarInfoDetailByCarNum(DistributionBusinessPreCarNumerPageQueryVO distributionBusinessPreCarNumerPageQueryVO) { DistributionBusinessPreCarDetalVO distributionBusinessPreCarDetalVO = distributionIBusinessPreOrderService.preCarInfoDetailByCarNumber(distributionBusinessPreCarNumerPageQueryVO); @@ -82,5 +97,4 @@ public class BusinessPreOrderApi { } - } diff --git a/blade-service/logpm-business/src/main/java/com/logpm/business/mapper/BusinessPreOrderMapper.xml b/blade-service/logpm-business/src/main/java/com/logpm/business/mapper/BusinessPreOrderMapper.xml index a80562e12..ebb5382f5 100644 --- a/blade-service/logpm-business/src/main/java/com/logpm/business/mapper/BusinessPreOrderMapper.xml +++ b/blade-service/logpm-business/src/main/java/com/logpm/business/mapper/BusinessPreOrderMapper.xml @@ -160,9 +160,9 @@ SELECT distr_car_number, waybill_number, order_code, - COUNT(1) as totalNum, - COUNT(CASE WHEN in_warehouse = 1 THEN 1 END) as inNum, - COUNT(1)-COUNT(CASE WHEN in_warehouse = 1 THEN 1 END) as restNum + sum(quantity) as totalNum, + sum(unload_num) as inNum, + sum(quantity)-sum(unload_num) as restNum from logpm_business_pre_order 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 145951c1a..ae1224b73 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 @@ -98,6 +98,7 @@ public class BusinessPreOrderServiceImpl extends BaseServiceImpl "20".equals(e.getOrderPackageLoadingStatus())).count(); - int inNum = (int) entities.stream().filter(e -> e.getInWarehouse() == 1).count(); + // 装车数量 + int loadNum = entities.stream().mapToInt(BusinessPreOrderEntity::getLoadNum).sum(); + + // 卸车数量== 入库数量 + int inNum =entities.stream().mapToInt(BusinessPreOrderEntity::getUnloadNum).sum(); + + /** + * 零担无法进行异常卸车 + */ int inExceNum = (int) entities.stream().filter(e -> e.getOperationStatus() == 1).count(); diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionLoadscanMapper.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionLoadscanMapper.java index 5aae0d04f..432701f52 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionLoadscanMapper.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionLoadscanMapper.java @@ -181,9 +181,17 @@ public interface DistributionLoadscanMapper extends BaseMapper + diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/receiver/BusinessPreOrderDataQueueHandler.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/receiver/BusinessPreOrderDataQueueHandler.java index c6c82bee0..9bc45782b 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/receiver/BusinessPreOrderDataQueueHandler.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/receiver/BusinessPreOrderDataQueueHandler.java @@ -41,6 +41,7 @@ public class BusinessPreOrderDataQueueHandler { private final ISysClient sysClient; private final IBusinessPreOrderClient businessPreOrderClient; private final IExtractedDataClient extractedDataClient; + private final IDistributionLoadscanService distributionLoadscanService; private final IDistributionAsyncService distributionAsyncService; @@ -108,6 +109,10 @@ public class BusinessPreOrderDataQueueHandler { DistributionParcelListEntity byId = distributionParcelListService.getById(distributionReservationPackageEntity.getParceListId()); BusinessPreOrderEntity data = BeanUtil.copy(byId, BusinessPreOrderEntity.class); + // 判断包件是否装车 + if ("20".equals(byId.getOrderPackageLoadingStatus())) { + data.setLoadNum(1); + } data.setDriverName(distributionDeliveryListEntity.getDriverName()); data.setVehicleName(distributionDeliveryListEntity.getVehicleName()); data.setDistrCarNumber(distributionDeliveryListEntity.getTrainNumber()); @@ -132,7 +137,16 @@ public class BusinessPreOrderDataQueueHandler { DistributionParcelListEntity parcelListEntity = distributionParcelListService.getById(distributionReservationZeroPackageEntity.getParcelListId()); if (parcelListEntity != null) { BusinessPreOrderEntity data = BeanUtil.copy(parcelListEntity, BusinessPreOrderEntity.class); + // 计划数量 data.setQuantity(distributionReservationZeroPackageEntity.getQuantity()); + + // 获取装车数量 + DistributionLoadscanEntity distributionLoadscanEntity = distributionLoadscanService.findLoadDataByRelationIdAndParcelListId(distributionReservationZeroPackageEntity.getReservationId(), distributionReservationZeroPackageEntity.getParcelListId()); + if(distributionLoadscanEntity != null){ + //设置装车数量 + data.setLoadNum(distributionLoadscanEntity.getLoadedNub()); + } + data.setDriverName(distributionDeliveryListEntity.getDriverName()); data.setVehicleName(distributionDeliveryListEntity.getVehicleName()); data.setDistrCarNumber(distributionDeliveryListEntity.getTrainNumber()); diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionLoadscanService.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionLoadscanService.java index 33f302511..c9a532ee3 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionLoadscanService.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionLoadscanService.java @@ -56,4 +56,12 @@ public interface IDistributionLoadscanService extends BaseService queryWrapper = new LambdaQueryWrapper<>(); - queryWrapper.eq(FactoryPackageEntity::getCosourcingCode, unitNo); - List list = factoryPackageService.list(queryWrapper); - if (list.isEmpty()) { - return doPackageInfo(orderStatusDTO, isRetry, unitNo, status); - } else { - try { - for (FactoryPackageEntity factoryPackageEntity : list) { - R r = doPackageInfo(orderStatusDTO, isRetry, factoryPackageEntity.getCode(), status); + 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); + } else { + try { + for (FactoryPackageEntity factoryPackageEntity : list) { - } - } catch (Exception e) { - log.error("合包码推送出现异常", e); - } - return Resp.success("物流状态传递成功"); + R r = doPackageInfo(orderStatusDTO, isRetry, factoryPackageEntity.getCode(), status); + } + } catch (Exception e) { + log.error("合包码推送出现异常", e); + } + return Resp.success("物流状态传递成功"); + } + }else{ + return doPackageInfo(orderStatusDTO, isRetry, unitNo, status); } - } @NotNull diff --git a/blade-service/logpm-factory/src/main/java/com/logpm/factory/receiver/HwyOrderStatusHandler.java b/blade-service/logpm-factory/src/main/java/com/logpm/factory/receiver/HwyOrderStatusHandler.java index 466605527..7c394149b 100644 --- a/blade-service/logpm-factory/src/main/java/com/logpm/factory/receiver/HwyOrderStatusHandler.java +++ b/blade-service/logpm-factory/src/main/java/com/logpm/factory/receiver/HwyOrderStatusHandler.java @@ -15,6 +15,7 @@ import lombok.extern.slf4j.Slf4j; import org.springblade.common.constant.RabbitConstant; import org.springblade.common.exception.CustomerException; import org.springblade.core.tool.api.R; +import org.springblade.core.tool.utils.StringUtil; import org.springframework.amqp.core.Message; import org.springframework.amqp.rabbit.annotation.RabbitHandler; import org.springframework.amqp.rabbit.annotation.RabbitListener; @@ -53,6 +54,10 @@ public class HwyOrderStatusHandler { String orderSelfNum = orderStatusDTO.getOrderNo();//订单自编号 String unitNo = orderStatusDTO.getUnitNo(); //通过订单自编号去查询该条订单是属于哪个工厂 + if(StringUtil.isEmpty(orderSelfNum)){ + log.warn(">>>>>>> 订单号是null hwyOrderStatusHandler {}",orderStatusDTO); + return ; + } TrunklineAdvanceEntity advanceLimitOneByOrderCode = trunklineAdvanceClient.findAdvanceLimitOneByOrderCode(orderSelfNum); if (Objects.isNull(advanceLimitOneByOrderCode)) { log.info("##################hwyOrderStatusHandler: 未找到对应订单 orderNo={}", orderSelfNum);