From 312ca9c1bb01316401e1ea0dcab60c3ca5cc444e Mon Sep 17 00:00:00 2001 From: PigBaoBei <2739175034@qq.com> Date: Thu, 31 Oct 2024 14:03:38 +0800 Subject: [PATCH 01/10] =?UTF-8?q?=E5=8F=B8=E6=9C=BA=E6=89=B9=E9=87=8F?= =?UTF-8?q?=E7=AD=BE=E6=94=B6=E6=8E=A8=E9=80=81BUG=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../basiccode/BasicCodeTypeConstant.java | 5 ++- .../DistributionReservationServiceImpl.java | 45 +++++++++++++++---- .../impl/DistributionSignforServiceImpl.java | 24 +++++++--- .../DistrilbutionBillLadingServiceImpl.java | 1 + 4 files changed, 59 insertions(+), 16 deletions(-) diff --git a/blade-biz-common/src/main/java/org/springblade/common/constant/basiccode/BasicCodeTypeConstant.java b/blade-biz-common/src/main/java/org/springblade/common/constant/basiccode/BasicCodeTypeConstant.java index 6baba2791..6c14207b3 100644 --- a/blade-biz-common/src/main/java/org/springblade/common/constant/basiccode/BasicCodeTypeConstant.java +++ b/blade-biz-common/src/main/java/org/springblade/common/constant/basiccode/BasicCodeTypeConstant.java @@ -34,13 +34,14 @@ public enum BasicCodeTypeConstant { //配送计划 自提单 预约单 备货码 - DELIVERY_PLAN_CODE("配送计划码","20"), + DELIVERY_PLAN_CODE("配送单码","20"), // 自提单码 PICKUP_ORDER_CODE("自提单码","21"), // 预约单码 APPOINTMENT_CODE("预约单码","22"), // 备货码 - STOCK_CODE("备货码","23"); + STOCK_CODE("备货码","23"), + RENTION_CODE("回库码","23"); /** 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 c6d480a27..01b567005 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 @@ -23,6 +23,8 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.toolkit.SqlHelper; +import com.logpm.basic.entity.BasicTenantCodeEntity; +import com.logpm.basic.feign.IBasicTenantCodeClient; import com.logpm.basicdata.entity.BasicdataClientUserEntity; import com.logpm.basicdata.entity.BasicdataWarehouseEntity; import com.logpm.basicdata.feign.IBasicdataClientClient; @@ -75,6 +77,8 @@ import org.springblade.common.constant.Inventory.InventoryTypeConstant; import org.springblade.common.constant.ModuleNameConstant; import org.springblade.common.constant.RabbitConstant; import org.springblade.common.constant.WorkNodeEnums; +import org.springblade.common.constant.basiccode.BasicCodeShowConstant; +import org.springblade.common.constant.basiccode.BasicCodeTypeConstant; import org.springblade.common.constant.common.IsOrNoConstant; import org.springblade.common.constant.delivery.DeliveryLoadingStatusConstant; import org.springblade.common.constant.delivery.DeliveryStartStatusConstant; @@ -285,6 +289,9 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl selectDistrbutionReservationPage(IPage page, DistributionReservationVO distrbutionReservation) { @@ -897,7 +904,14 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl packageLoadingData, BladeUser user, List distributionLoadscanEntityLists, List orderCodes) { + private void handlePackageLoadingData(List packageLoadingData, + BladeUser user, + List distributionLoadscanEntityLists, + List orderCodes,DistributionDeliveryListEntity deliveryListEntity, + DistributionReservationEntity reservationEntity, + BasicdataWarehouseEntity myCurrentWarehouse, + List orderPckageCodes, + List aaa ) { SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); List updatePackageLoadingData = new ArrayList<>(); List packageIds = new ArrayList<>(); @@ -6026,8 +6033,15 @@ public class DistributionSignforServiceImpl extends BaseServiceImplquery().lambda() @@ -6054,7 +6068,7 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl Date: Thu, 31 Oct 2024 14:58:36 +0800 Subject: [PATCH 02/10] =?UTF-8?q?=E8=87=AA=E6=8F=90=E7=BC=96=E7=A0=81?= =?UTF-8?q?=E8=A7=84=E5=88=99=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../basiccode/BasicCodeTypeConstant.java | 2 +- .../DistributionReservationServiceImpl.java | 13 ++- .../DistrilbutionBillLadingServiceImpl.java | 84 ++++++++++++++++++- 3 files changed, 92 insertions(+), 7 deletions(-) diff --git a/blade-biz-common/src/main/java/org/springblade/common/constant/basiccode/BasicCodeTypeConstant.java b/blade-biz-common/src/main/java/org/springblade/common/constant/basiccode/BasicCodeTypeConstant.java index 6c14207b3..f927890f5 100644 --- a/blade-biz-common/src/main/java/org/springblade/common/constant/basiccode/BasicCodeTypeConstant.java +++ b/blade-biz-common/src/main/java/org/springblade/common/constant/basiccode/BasicCodeTypeConstant.java @@ -41,7 +41,7 @@ public enum BasicCodeTypeConstant { APPOINTMENT_CODE("预约单码","22"), // 备货码 STOCK_CODE("备货码","23"), - RENTION_CODE("回库码","23"); + RENTION_CODE("回库码","24"); /** 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 01b567005..1f1a37b1c 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 @@ -1021,7 +1021,14 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl selectDistrilbutionBillLadingPage(IPage page, DistrilbutionBillLadingVO distrilbutionBillLading) { @@ -632,9 +640,7 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl Date: Thu, 31 Oct 2024 17:01:58 +0800 Subject: [PATCH 03/10] =?UTF-8?q?=E5=BC=80=E5=90=AF=E4=B8=80=E9=94=AE?= =?UTF-8?q?=E8=A3=85=E8=BD=A6=E3=80=81=E8=BF=90=E5=8D=95=E5=AE=A1=E6=A0=B8?= =?UTF-8?q?=E9=99=90=E5=88=B6=E3=80=81=E6=89=B9=E9=87=8F=E7=AD=BE=E6=94=B6?= =?UTF-8?q?=E6=8E=A8=E9=80=81BUG=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mapper/DistributionStockArticleMapper.xml | 1 - .../impl/DistributionDeliveryListServiceImpl.java | 12 +++++++++--- .../service/impl/DistributionSignforServiceImpl.java | 11 ++++++++++- 3 files changed, 19 insertions(+), 5 deletions(-) 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 624c63f5e..9ead49dd1 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 @@ -762,7 +762,6 @@ LEFT JOIN logpm_warehouse_waybill AS lww ON lww.waybill_no = ltwo.waybill_no ldsa.order_status in ('10','20','30','70') - AND lww.check_status = 1 and ldsa.reservation_status in ('10','20') AND EXISTS ( SELECT 1 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 2c735d7f1..a6aac7461 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 @@ -1620,16 +1620,22 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl abnormalEntities = distributionLoadscanAbnormalService.list(Wrappers.query().lambda() .eq(DistributionLoadscanAbnormalEntity::getReservationId, distributionSignfor.getReservationId()) .ne(DistributionLoadscanAbnormalEntity::getComplete, Integer.parseInt(IsOrNoConstant.yes.getValue())) @@ -5492,6 +5496,9 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl Date: Thu, 31 Oct 2024 18:48:52 +0800 Subject: [PATCH 04/10] =?UTF-8?q?add:1.=E4=BF=AE=E5=A4=8D=E6=89=93?= =?UTF-8?q?=E5=8D=B0=E9=A1=BA=E5=BA=8F=E9=97=AE=E9=A2=98=202.=E4=BC=98?= =?UTF-8?q?=E5=8C=96=E8=B4=A2=E5=8A=A1=E5=AF=B9=E8=B4=A6=E8=A1=A8=E7=9A=84?= =?UTF-8?q?=E5=AD=97=E6=AE=B5=E5=86=85=E5=AE=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../statistics/vo/StatisticsOrderInfoVO.java | 15 +- .../mapper/StatisticsOrderInfoMapper.xml | 321 +++++++++--------- .../impl/StatisticsOrderInfoServiceImpl.java | 28 +- .../mapper/WarehouseWaybillMapper.xml | 8 +- .../impl/WarehouseWaybillServiceImpl.java | 3 +- 5 files changed, 203 insertions(+), 172 deletions(-) diff --git a/blade-service-api/logpm-statisticsdata-api/src/main/java/com/logpm/statistics/vo/StatisticsOrderInfoVO.java b/blade-service-api/logpm-statisticsdata-api/src/main/java/com/logpm/statistics/vo/StatisticsOrderInfoVO.java index 68e6f5094..da8b02c54 100644 --- a/blade-service-api/logpm-statisticsdata-api/src/main/java/com/logpm/statistics/vo/StatisticsOrderInfoVO.java +++ b/blade-service-api/logpm-statisticsdata-api/src/main/java/com/logpm/statistics/vo/StatisticsOrderInfoVO.java @@ -39,7 +39,20 @@ public class StatisticsOrderInfoVO implements Serializable { private String payType;//支付类型 private String payWay;//支付方式 - private String goodsName;//物料品类 + /** + * 开单品类 + */ + private String goodsName; + + /** + * 开单数量 + */ + private String goodsNum; + + /** + * 开单价格 + */ + private String goodsPrice; private Integer totalNum;//订单数量 private BigDecimal totalWeight;//订单重量 private BigDecimal totalVolume;//订单体积 diff --git a/blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/mapper/StatisticsOrderInfoMapper.xml b/blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/mapper/StatisticsOrderInfoMapper.xml index 7c1d9a242..08eb33d84 100644 --- a/blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/mapper/StatisticsOrderInfoMapper.xml +++ b/blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/mapper/StatisticsOrderInfoMapper.xml @@ -4,45 +4,49 @@ - - - + delete from logpm_statistics_order_info where id in diff --git a/blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/service/impl/StatisticsOrderInfoServiceImpl.java b/blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/service/impl/StatisticsOrderInfoServiceImpl.java index 6cf01b97d..f94d3448f 100644 --- a/blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/service/impl/StatisticsOrderInfoServiceImpl.java +++ b/blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/service/impl/StatisticsOrderInfoServiceImpl.java @@ -122,8 +122,8 @@ public class StatisticsOrderInfoServiceImpl extends BaseServiceImpl orderInfoIdList = records.stream().map(StatisticsOrderInfoVO::getOrderInfoId).collect(Collectors.toList()); // 运单ID集合 - Set warehouseIdSet = records.stream().map(StatisticsOrderInfoVO::getWaybillId).collect(Collectors.toSet()); - List waybillDetailByWaybillNoVoList; +// Set warehouseIdSet = records.stream().map(StatisticsOrderInfoVO::getWaybillId).collect(Collectors.toSet()); +// List waybillDetailByWaybillNoVoList; Map orderPackageInfoMap; if(CollUtil.isNotEmpty(orderInfoIdList)){ List orderPackageInfoList = baseMapper.findPackageListByOrderIdsGroupById(orderInfoIdList); @@ -137,11 +137,11 @@ public class StatisticsOrderInfoServiceImpl extends BaseServiceImpl { Long waybillId = statisticsOrderInfoVO.getWaybillId(); @@ -149,18 +149,20 @@ public class StatisticsOrderInfoServiceImpl extends BaseServiceImpl Objects.equals(waybillDetailByWaybillNoVo.getWaybillId(), waybillId)).findFirst().orElse(null); - } - if(waybillDetailByWaybillNoVo1!=null){ - statisticsOrderInfoVO.setGoodsName(waybillDetailByWaybillNoVo1.getGoodsName()); - } +// if(waybillDetailByWaybillNoVoList!=null){ +// waybillDetailByWaybillNoVo1 = waybillDetailByWaybillNoVoList.stream().filter(waybillDetailByWaybillNoVo -> Objects.equals(waybillDetailByWaybillNoVo.getWaybillId(), waybillId)).findFirst().orElse(null); +// } +// if(waybillDetailByWaybillNoVo1!=null){ +// statisticsOrderInfoVO.setGoodsName(waybillDetailByWaybillNoVo1.getGoodsName()); +// } }); statisticsOrderInfoVOIPage.setRecords(records); diff --git a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/mapper/WarehouseWaybillMapper.xml b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/mapper/WarehouseWaybillMapper.xml index 41992bae3..43e7c0237 100644 --- a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/mapper/WarehouseWaybillMapper.xml +++ b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/mapper/WarehouseWaybillMapper.xml @@ -489,8 +489,8 @@ lww.claiming_value claimingValue, lww.third_operation_fee thirdOperationFee, lww.rebate rebate, - GROUP_CONCAT(concat(lwwd.product_name,'(',lwwd.num,')')) goodsTypeNum, - GROUP_CONCAT(concat(lwwd.product_name,'(',lwwd.price,')')) goodsTypePrice, + GROUP_CONCAT(concat(lwwd.num)) goodsTypeNum, + GROUP_CONCAT(concat(lwwd.price)) goodsTypePrice, GROUP_CONCAT(concat(lwwd.product_name,'(',IFNULL(lwwd.delivery_price,0),')')) goodsTypeDeliveryPrice, GROUP_CONCAT(concat(lwwd.product_name,'(',IFNULL(lwwd.pickup_price,0),')')) goodsTypePickupPrice, GROUP_CONCAT(concat(lwwd.product_name,'(',IFNULL(lwwd.freight_price,0),')')) goodsTypeFreightPrice, @@ -592,10 +592,10 @@ and lww.document_making_time <= #{param.documentMakingTimeEndDate} - and lww.create_time >= #{param.createTimeStartDate} + and lww.document_making_time >= #{param.createTimeStartDate} - and lww.create_time <= #{param.createTimeEndDate} + and lww.document_making_time <= #{param.createTimeEndDate} and lww.check_time >= #{param.checkTimeStartDate} diff --git a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseWaybillServiceImpl.java b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseWaybillServiceImpl.java index 8027e8c2e..c7800d4d3 100644 --- a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseWaybillServiceImpl.java +++ b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseWaybillServiceImpl.java @@ -44,6 +44,7 @@ import com.logpm.warehouse.vo.FinanceWaybillVO; import com.logpm.warehouse.vo.WarehouseWaybillVO; import lombok.AllArgsConstructor; import lombok.extern.log4j.Log4j2; +import org.codehaus.groovy.util.ListHashMap; import org.springblade.common.constant.DictBizConstant; import org.springblade.common.constant.OldSystemDataPushConfig; import org.springblade.common.constant.TenantNum; @@ -780,7 +781,7 @@ public class WarehouseWaybillServiceImpl extends BaseServiceImpl> printBatch(String ids, String tempId) throws Exception { - Map> stringListMap = new HashMap<>(); + Map> stringListMap = new LinkedHashMap<>(); BasicPrintTemplateEntity template = basicPrintTemplateClient.getPrintTemplate(tempId); String[] idArray = ids.split(","); From 80799b42ffdb166b50ae1474bb4626d530515ce8 Mon Sep 17 00:00:00 2001 From: PigBaoBei <2739175034@qq.com> Date: Thu, 31 Oct 2024 19:53:14 +0800 Subject: [PATCH 05/10] =?UTF-8?q?=E8=87=AA=E6=8F=90=E6=94=B6=E8=B4=A7?= =?UTF-8?q?=E5=8D=95=E4=BD=8D=E7=BB=B4=E6=8A=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/DistrilbutionBillLadingServiceImpl.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistrilbutionBillLadingServiceImpl.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistrilbutionBillLadingServiceImpl.java index df9bd215c..a07fa914b 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistrilbutionBillLadingServiceImpl.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistrilbutionBillLadingServiceImpl.java @@ -4501,6 +4501,11 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl Date: Thu, 31 Oct 2024 22:05:18 +0800 Subject: [PATCH 06/10] =?UTF-8?q?add:1.=E4=BF=AE=E5=A4=8D=E6=89=93?= =?UTF-8?q?=E5=8D=B0=E9=A1=BA=E5=BA=8F=E9=97=AE=E9=A2=98=202.=E4=BC=98?= =?UTF-8?q?=E5=8C=96=E8=B4=A2=E5=8A=A1=E5=AF=B9=E8=B4=A6=E8=A1=A8=E7=9A=84?= =?UTF-8?q?=E5=AD=97=E6=AE=B5=E5=86=85=E5=AE=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/logpm/statistics/mapper/StatisticsOrderInfoMapper.xml | 1 - .../service/impl/StatisticsOrderInfoServiceImpl.java | 4 ++++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/mapper/StatisticsOrderInfoMapper.xml b/blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/mapper/StatisticsOrderInfoMapper.xml index 08eb33d84..7af444ef6 100644 --- a/blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/mapper/StatisticsOrderInfoMapper.xml +++ b/blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/mapper/StatisticsOrderInfoMapper.xml @@ -47,7 +47,6 @@ from logpm_statistics_order_info lsoi left join logpm_basicdata_client lbc on lbc.id = lsoi.consignee_id left join logpm_warehouse_waybill lww on lww.id = lsoi.waybill_id - LEFT JOIN logpm_warehouse_waybill_detail lwwd on lwwd.waybill_id=lww.id where 1=1 and lsoi.create_reconciliation_order_status = 0 diff --git a/blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/service/impl/StatisticsOrderInfoServiceImpl.java b/blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/service/impl/StatisticsOrderInfoServiceImpl.java index f94d3448f..dcedf2552 100644 --- a/blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/service/impl/StatisticsOrderInfoServiceImpl.java +++ b/blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/service/impl/StatisticsOrderInfoServiceImpl.java @@ -118,9 +118,13 @@ public class StatisticsOrderInfoServiceImpl extends BaseServiceImpl statisticsOrderInfoVOIPage = baseMapper.pageList(page, merchantStatisticsDTO); + List records = statisticsOrderInfoVOIPage.getRecords(); //把records中所有的orderInfoId放入一个集合 List orderInfoIdList = records.stream().map(StatisticsOrderInfoVO::getOrderInfoId).collect(Collectors.toList()); + + List waybillNoList = records.stream().map(StatisticsOrderInfoVO::getOrderCode).collect(Collectors.toList()); + // 运单ID集合 // Set warehouseIdSet = records.stream().map(StatisticsOrderInfoVO::getWaybillId).collect(Collectors.toSet()); // List waybillDetailByWaybillNoVoList; From ce8effc4ed150a838decf010b90dff7538af77f4 Mon Sep 17 00:00:00 2001 From: zhenghaoyu Date: Thu, 31 Oct 2024 22:10:39 +0800 Subject: [PATCH 07/10] =?UTF-8?q?1.=E5=B9=B2=E7=BA=BFbug=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/constant/IncomingTypeEnum.java | 3 +- .../IAftersalesAbnormalRecordClient.java | 4 + .../aftersales/vo/DealWithAbnormalVO.java | 21 + .../feign/IDistributionParcelListClient.java | 3 + .../StatisticsDistributionPackageEntity.java | 2 +- .../statistics/feign/IOrderInfoClient.java | 5 + .../trunkline/vo/CarsLoadOrderInfoVO.java | 24 +- .../trunkline/vo/CarsLoadWaybillInfoVO.java | 8 + .../trunkline/vo/TrunklineCarsLoadScanVO.java | 4 + .../feign/IWarehouseWaybillClient.java | 5 + .../warehouse/vo/WarehouseWaybillVO.java | 3 + .../feign/AftersalesAbnormalRecordClient.java | 31 ++ .../AftersalesAbnormalRecordMapper.java | 3 + .../mapper/AftersalesAbnormalRecordMapper.xml | 12 + .../IAftersalesAbnormalRecordService.java | 4 + .../AftersalesAbnormalRecordServiceImpl.java | 5 + .../feign/DistributionParcelListClient.java | 5 + .../mapper/DistributionParcelListMapper.java | 2 + .../mapper/DistributionParcelListMapper.xml | 8 + .../IDistributionParcelListService.java | 2 + .../DistributionParcelListServiceImpl.java | 5 + .../controller/MerchantBalanceController.java | 26 + .../statistics/feign/OrderInfoClient.java | 10 + .../listener/mq/WaybillCheckListener.java | 2 +- .../StatisticsBalanceOrderInfoMapper.java | 6 + .../StatisticsBalanceOrderInfoMapper.xml | 18 + .../StatisticsDistributionPackageMapper.java | 2 + .../StatisticsDistributionPackageMapper.xml | 5 + .../mapper/StatisticsOrderInfoMapper.java | 6 + .../mapper/StatisticsOrderInfoMapper.xml | 18 + ...atisticsReconciliationOrderInfoMapper.java | 2 + ...tatisticsReconciliationOrderInfoMapper.xml | 8 + .../StatisticsTrunklinePackageMapper.java | 2 + .../StatisticsTrunklinePackageMapper.xml | 5 + .../StatisticsWarehousePackageMapper.java | 2 + .../StatisticsWarehousePackageMapper.xml | 5 + .../IStatisticsBalanceOrderInfoService.java | 8 + ...IStatisticsDistributionPackageService.java | 2 + .../service/IStatisticsOrderInfoService.java | 5 + ...tisticsReconciliationOrderInfoService.java | 2 + .../IStatisticsTrunklinePackageService.java | 4 +- .../IStatisticsWarehousePackageService.java | 2 + ...StatisticsBalanceOrderInfoServiceImpl.java | 89 +++- ...tisticsDistributionPackageServiceImpl.java | 5 + .../impl/StatisticsOrderInfoServiceImpl.java | 68 ++- ...icsReconciliationOrderInfoServiceImpl.java | 7 +- ...StatisticsTrunklinePackageServiceImpl.java | 5 + ...StatisticsWarehousePackageServiceImpl.java | 5 + .../controller/CarsLoadController.java | 76 ++- .../mapper/TrunklineCarsLoadScanMapper.java | 6 + .../mapper/TrunklineCarsLoadScanMapper.xml | 24 + .../ITrunklineCarsLoadScanService.java | 6 + .../service/ITrunklineCarsLoadService.java | 4 + .../service/impl/OpenOrderServiceImpl.java | 33 +- .../TrunklineCarsLoadScanServiceImpl.java | 15 + .../impl/TrunklineCarsLoadServiceImpl.java | 452 +++++++++++++++++- .../feign/WarehouseWaybillClient.java | 8 + .../mapper/WarehouseWaybillMapper.java | 3 + .../mapper/WarehouseWaybillMapper.xml | 42 ++ .../service/IWarehouseWaybillService.java | 3 + .../impl/WarehouseWaybillServiceImpl.java | 5 + 61 files changed, 1077 insertions(+), 78 deletions(-) create mode 100644 blade-service-api/logpm-aftersales-api/src/main/java/com/logpm/aftersales/vo/DealWithAbnormalVO.java diff --git a/blade-biz-common/src/main/java/org/springblade/common/constant/IncomingTypeEnum.java b/blade-biz-common/src/main/java/org/springblade/common/constant/IncomingTypeEnum.java index 8472919ec..16fac4dd3 100644 --- a/blade-biz-common/src/main/java/org/springblade/common/constant/IncomingTypeEnum.java +++ b/blade-biz-common/src/main/java/org/springblade/common/constant/IncomingTypeEnum.java @@ -17,7 +17,8 @@ public enum IncomingTypeEnum { OPEN_TO_IN(10, "开单及入库"), FACTORY_TO_INCOMING(11, "工厂推送数据入库"), SUPPLE_INCOMING(12, "数据补录入库"), - ABNORMAL_INCOMING(13, "异常列表入库"); + ABNORMAL_INCOMING(13, "异常列表入库"), + SYNC_INCOMING(14, "同步数据异常入库"); private Integer code; private String value; diff --git a/blade-service-api/logpm-aftersales-api/src/main/java/com/logpm/aftersales/feign/IAftersalesAbnormalRecordClient.java b/blade-service-api/logpm-aftersales-api/src/main/java/com/logpm/aftersales/feign/IAftersalesAbnormalRecordClient.java index 26e1c5cc6..3b30b0a2b 100644 --- a/blade-service-api/logpm-aftersales-api/src/main/java/com/logpm/aftersales/feign/IAftersalesAbnormalRecordClient.java +++ b/blade-service-api/logpm-aftersales-api/src/main/java/com/logpm/aftersales/feign/IAftersalesAbnormalRecordClient.java @@ -18,6 +18,7 @@ package com.logpm.aftersales.feign; import com.alibaba.fastjson.JSONObject; import com.logpm.aftersales.entity.AftersalesAbnormalRecordEntity; +import com.logpm.aftersales.vo.DealWithAbnormalVO; import org.springblade.common.constant.ModuleNameConstant; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.GetMapping; @@ -62,4 +63,7 @@ public interface IAftersalesAbnormalRecordClient { @PostMapping(API_PREFIX+"/addAbnormalRecordListReturnList") List addAbnormalRecordListReturnList(@RequestBody List abnormalRecordEntities); + @PostMapping(API_PREFIX+"/dealwithOrderPackageCodes") + void dealwithOrderPackageCodes(@RequestBody DealWithAbnormalVO dealWithAbnormalVO); + } diff --git a/blade-service-api/logpm-aftersales-api/src/main/java/com/logpm/aftersales/vo/DealWithAbnormalVO.java b/blade-service-api/logpm-aftersales-api/src/main/java/com/logpm/aftersales/vo/DealWithAbnormalVO.java new file mode 100644 index 000000000..ee2bb23c1 --- /dev/null +++ b/blade-service-api/logpm-aftersales-api/src/main/java/com/logpm/aftersales/vo/DealWithAbnormalVO.java @@ -0,0 +1,21 @@ +package com.logpm.aftersales.vo; + +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + +@Data +public class DealWithAbnormalVO implements Serializable { + + private List orderPackageCodes; + + private String warehouseName; + + private String carsNo; + + private String nickName; + + private Long userId; + +} diff --git a/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/feign/IDistributionParcelListClient.java b/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/feign/IDistributionParcelListClient.java index f9a13b99e..e3f3778fc 100644 --- a/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/feign/IDistributionParcelListClient.java +++ b/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/feign/IDistributionParcelListClient.java @@ -309,5 +309,8 @@ public interface IDistributionParcelListClient { @GetMapping(API_PREFIX + "/findOrderPackageCodeAndStatus") DistributionParcelListEntity findOrderPackageCodeAndStatus(@RequestParam String orderPackageCode, @RequestParam String orderPackageStatus); + + @GetMapping(API_PREFIX + "/findListByOrderPackageCodeAndStatus") + List findListByOrderPackageCodeAndStatus(@RequestParam String orderPackageCode, @RequestParam String status); } 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 9e9dcffb0..3fa9c37f4 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 @@ -76,7 +76,7 @@ public class StatisticsDistributionPackageEntity extends TenantEntity { * 品类名称 */ @ApiModelProperty(value = "品类Id") - private String productId; + private Long productId; /** * 件数 diff --git a/blade-service-api/logpm-statisticsdata-api/src/main/java/com/logpm/statistics/feign/IOrderInfoClient.java b/blade-service-api/logpm-statisticsdata-api/src/main/java/com/logpm/statistics/feign/IOrderInfoClient.java index 5a9a0e540..9f2f9c26e 100644 --- a/blade-service-api/logpm-statisticsdata-api/src/main/java/com/logpm/statistics/feign/IOrderInfoClient.java +++ b/blade-service-api/logpm-statisticsdata-api/src/main/java/com/logpm/statistics/feign/IOrderInfoClient.java @@ -16,4 +16,9 @@ public interface IOrderInfoClient { @GetMapping(API_PREFIX+"/findCreateRencilitionOrderStatus") Integer findCreateRencilitionOrderStatus(@RequestParam Long waybillId); + @GetMapping(API_PREFIX+"/findBalanceOrderStatus") + Integer findBalanceOrderStatus(@RequestParam Long waybillId); + + @GetMapping(API_PREFIX+"/deleteWaybillData") + void deleteWaybillData(@RequestParam Long waybillId); } diff --git a/blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/vo/CarsLoadOrderInfoVO.java b/blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/vo/CarsLoadOrderInfoVO.java index 0877ffe9a..f9bee415e 100644 --- a/blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/vo/CarsLoadOrderInfoVO.java +++ b/blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/vo/CarsLoadOrderInfoVO.java @@ -10,18 +10,18 @@ public class CarsLoadOrderInfoVO implements Serializable { private String orderCode; private String waybillNo; - private Integer orderNum; - private Integer planNum; - private Integer loadingNum; - private Integer unloadNum; - private Integer signNum; - private BigDecimal unloadIncome; - private BigDecimal costZhang; - private BigDecimal costPiece; - private BigDecimal income; - private BigDecimal weight; - private BigDecimal volume; - private BigDecimal orderFreight; + private Integer orderNum = 0; + private Integer planNum = 0; + private Integer loadingNum = 0; + private Integer unloadNum = 0; + private Integer signNum = 0; + private BigDecimal unloadIncome = BigDecimal.ZERO; + private BigDecimal costZhang = BigDecimal.ZERO; + private BigDecimal costPiece = BigDecimal.ZERO; + private BigDecimal income = BigDecimal.ZERO; + private BigDecimal weight = BigDecimal.ZERO; + private BigDecimal volume = BigDecimal.ZERO; + private BigDecimal orderFreight = BigDecimal.ZERO; private String checkUserName;//审核人员 diff --git a/blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/vo/CarsLoadWaybillInfoVO.java b/blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/vo/CarsLoadWaybillInfoVO.java index cf6a8e124..b2eff8618 100644 --- a/blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/vo/CarsLoadWaybillInfoVO.java +++ b/blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/vo/CarsLoadWaybillInfoVO.java @@ -21,8 +21,14 @@ public class CarsLoadWaybillInfoVO implements Serializable { private String consignee; private String consigneeName; private Integer waybillNum; + private BigDecimal totalVolume; + private BigDecimal totalWeight; private String openPrice; private String goodsName; + private String productNum; + private String productPrice; + private String productVolume; + private String productWeight; private Integer waybillType; private Long waybillId; private String remark; @@ -31,6 +37,7 @@ public class CarsLoadWaybillInfoVO implements Serializable { private BigDecimal pickupFee; private BigDecimal warehouseManagementFee; private BigDecimal storageFee; + private BigDecimal sortingFee; private BigDecimal handlingFee; private BigDecimal otherFee; private BigDecimal insuranceFee; @@ -38,6 +45,7 @@ public class CarsLoadWaybillInfoVO implements Serializable { private BigDecimal costPiece; private BigDecimal costZhang; private Integer costNum; + private String checkUserName;//审核人员 List carsLoadOrderInfoList = new ArrayList<>(); List carsLoadOrderInfoListPlan = new ArrayList<>(); diff --git a/blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/vo/TrunklineCarsLoadScanVO.java b/blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/vo/TrunklineCarsLoadScanVO.java index 6e55b5e9c..69d02a3fc 100644 --- a/blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/vo/TrunklineCarsLoadScanVO.java +++ b/blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/vo/TrunklineCarsLoadScanVO.java @@ -3,6 +3,8 @@ package com.logpm.trunkline.vo; import com.logpm.trunkline.entity.TrunklineCarsLoadScanEntity; import lombok.Data; +import java.math.BigDecimal; + @Data public class TrunklineCarsLoadScanVO extends TrunklineCarsLoadScanEntity { @@ -14,4 +16,6 @@ public class TrunklineCarsLoadScanVO extends TrunklineCarsLoadScanEntity { private String loadingGoods; private String unloadGoods; + private BigDecimal price; + private String goodsName; } diff --git a/blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/feign/IWarehouseWaybillClient.java b/blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/feign/IWarehouseWaybillClient.java index 150d2e637..e1a3cdf9a 100644 --- a/blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/feign/IWarehouseWaybillClient.java +++ b/blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/feign/IWarehouseWaybillClient.java @@ -17,6 +17,7 @@ package com.logpm.warehouse.feign; import com.logpm.warehouse.entity.WarehouseWaybillEntity; +import com.logpm.warehouse.vo.WarehouseWaybillVO; import org.springblade.common.constant.ModuleNameConstant; import org.springblade.core.mp.support.BladePage; import org.springframework.cloud.openfeign.FeignClient; @@ -26,6 +27,7 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestParam; import java.util.List; +import java.util.Set; /** * 运单表 Feign接口类 @@ -97,4 +99,7 @@ public interface IWarehouseWaybillClient { @PostMapping(API_PREFIX + "/deleteByWaybillIds") void deleteByWaybillIds(@RequestBody List waybillIds); + + @PostMapping(API_PREFIX + "/findWaybillVOByWaybillNoSet") + List findWaybillVOByWaybillNoSet(@RequestBody Set allWaybillNoSet); } diff --git a/blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/vo/WarehouseWaybillVO.java b/blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/vo/WarehouseWaybillVO.java index d9c6b5eec..b3b086fe1 100644 --- a/blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/vo/WarehouseWaybillVO.java +++ b/blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/vo/WarehouseWaybillVO.java @@ -41,11 +41,14 @@ public class WarehouseWaybillVO extends WarehouseWaybillEntity { private Integer noBillladingNum; private Integer planNum; + private Integer waybillNum; private Integer totalPlanNum; private Long waybillId; private String productNum; private String productPrice; + private String productVolume; + private String productWeight; } diff --git a/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/feign/AftersalesAbnormalRecordClient.java b/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/feign/AftersalesAbnormalRecordClient.java index e0ee72a05..f34849e41 100644 --- a/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/feign/AftersalesAbnormalRecordClient.java +++ b/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/feign/AftersalesAbnormalRecordClient.java @@ -4,10 +4,13 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.logpm.aftersales.entity.AftersalesAbnormalRecordEntity; import com.logpm.aftersales.service.IAftersalesAbnormalRecordService; +import com.logpm.aftersales.vo.DealWithAbnormalVO; import lombok.AllArgsConstructor; import org.springframework.web.bind.annotation.RestController; import springfox.documentation.annotations.ApiIgnore; +import java.util.ArrayList; +import java.util.Date; import java.util.List; @ApiIgnore() @@ -60,4 +63,32 @@ public class AftersalesAbnormalRecordClient implements IAftersalesAbnormalRecord aftersalesAbnormalRecordService.saveBatch(abnormalRecordEntities); return abnormalRecordEntities; } + + @Override + public void dealwithOrderPackageCodes(DealWithAbnormalVO dealWithAbnormalVO) { + List orderPackageCodes = dealWithAbnormalVO.getOrderPackageCodes(); + String carsNo = dealWithAbnormalVO.getCarsNo(); + String warehouseName = dealWithAbnormalVO.getWarehouseName(); + String nickName = dealWithAbnormalVO.getNickName(); + Long userId = dealWithAbnormalVO.getUserId(); + + + List abnormalRecordEntities = aftersalesAbnormalRecordService.findListByOrderPackageCodes(orderPackageCodes); + + Date date = new Date(); + List updateList = new ArrayList<>(); + abnormalRecordEntities.forEach(item->{ + AftersalesAbnormalRecordEntity update = new AftersalesAbnormalRecordEntity(); + update.setId(item.getId()); + update.setDealUserId(userId); + update.setDealUserName(nickName); + update.setDealTime(date); + update.setAbnormalStatus(1); + update.setRemark("数据同步系统自动处理("+warehouseName+" "+carsNo+" "+nickName+")"); + updateList.add(update); + }); + + aftersalesAbnormalRecordService.updateBatchById(updateList); + + } } diff --git a/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/mapper/AftersalesAbnormalRecordMapper.java b/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/mapper/AftersalesAbnormalRecordMapper.java index 32ab6cc69..e5ade9e84 100644 --- a/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/mapper/AftersalesAbnormalRecordMapper.java +++ b/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/mapper/AftersalesAbnormalRecordMapper.java @@ -17,4 +17,7 @@ public interface AftersalesAbnormalRecordMapper extends BaseMapper findPageList(IPage page, @Param("param") AbnormalRecordDTO abnormalRecordDTO, @Param("warehouseIds") List warehouseIds); JSONObject findListByCarsNoAndUpWarehouseId(@Param("carsNo") String carsNo, @Param("warehouseId") Long warehouseId); + + List findListByOrderPackageCodes(@Param("orderPackageCodes") List orderPackageCodes); + } diff --git a/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/mapper/AftersalesAbnormalRecordMapper.xml b/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/mapper/AftersalesAbnormalRecordMapper.xml index 2076a82f7..feed1d8cd 100644 --- a/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/mapper/AftersalesAbnormalRecordMapper.xml +++ b/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/mapper/AftersalesAbnormalRecordMapper.xml @@ -68,4 +68,16 @@ and warehouse_id = #{warehouseId} + + + diff --git a/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/service/IAftersalesAbnormalRecordService.java b/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/service/IAftersalesAbnormalRecordService.java index 334532381..3f05bd9b9 100644 --- a/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/service/IAftersalesAbnormalRecordService.java +++ b/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/service/IAftersalesAbnormalRecordService.java @@ -6,6 +6,8 @@ import com.logpm.aftersales.entity.AftersalesAbnormalRecordEntity; import org.springblade.core.mp.base.BaseService; import org.springblade.core.tool.api.R; +import java.util.List; + public interface IAftersalesAbnormalRecordService extends BaseService { R findPageList(AbnormalRecordDTO abnormalRecordDTO); @@ -14,4 +16,6 @@ public interface IAftersalesAbnormalRecordService extends BaseService findListByOrderPackageCodes(List orderPackageCodes); } diff --git a/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/service/impl/AftersalesAbnormalRecordServiceImpl.java b/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/service/impl/AftersalesAbnormalRecordServiceImpl.java index ecb5e7ed3..7f426a77c 100644 --- a/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/service/impl/AftersalesAbnormalRecordServiceImpl.java +++ b/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/service/impl/AftersalesAbnormalRecordServiceImpl.java @@ -507,4 +507,9 @@ public class AftersalesAbnormalRecordServiceImpl extends BaseServiceImpl list = recordZeroDetailService.list(queryWrapper); return R.data(list); } + + @Override + public List findListByOrderPackageCodes(List orderPackageCodes) { + return baseMapper.findListByOrderPackageCodes(orderPackageCodes); + } } diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/feign/DistributionParcelListClient.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/feign/DistributionParcelListClient.java index cc47d81bf..0a2588ed4 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/feign/DistributionParcelListClient.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/feign/DistributionParcelListClient.java @@ -659,4 +659,9 @@ public class DistributionParcelListClient implements IDistributionParcelListClie return distributionParcelListService.findOrderPackageCodeAndStatus(orderPackageCode,orderPackageStatus); } + @Override + public List findListByOrderPackageCodeAndStatus(String orderPackageCode, String status) { + return distributionParcelListService.findListByOrderPackageCodeAndStatus(orderPackageCode,status); + } + } diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionParcelListMapper.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionParcelListMapper.java index 116de710c..62da525d1 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionParcelListMapper.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionParcelListMapper.java @@ -340,4 +340,6 @@ public interface DistributionParcelListMapper extends BaseMapper findWaybillNoByOrderIds(@Param("stockArticleIds") Set stockArticleIds); void deleteListByOrderPackageCodes(@Param("orderPackageCodeList") List orderPackageCodeList,@Param("warehouseId") Long warehouseId); + + List findListByOrderPackageCodeAndStatus(@Param("orderPackageCode") String orderPackageCode, @Param("status") String status); } 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 5e3e55136..261054e93 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 @@ -2276,4 +2276,12 @@ and warehouse_id = #{warehouseId} + + diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionParcelListService.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionParcelListService.java index 9063312ad..6623cfa83 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionParcelListService.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionParcelListService.java @@ -314,4 +314,6 @@ public interface IDistributionParcelListService extends BaseService orderPackageCodeList,Long warehouseId); DistributionParcelListEntity findOrderPackageCodeAndStatus(String orderPackageCode, String orderPackageStatus); + + List findListByOrderPackageCodeAndStatus(String orderPackageCode, String status); } diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionParcelListServiceImpl.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionParcelListServiceImpl.java index fb23daaa5..aa7514591 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionParcelListServiceImpl.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionParcelListServiceImpl.java @@ -1595,4 +1595,9 @@ public class DistributionParcelListServiceImpl extends BaseServiceImpl findListByOrderPackageCodeAndStatus(String orderPackageCode, String status) { + return baseMapper.findListByOrderPackageCodeAndStatus(orderPackageCode,status); + } } diff --git a/blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/controller/MerchantBalanceController.java b/blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/controller/MerchantBalanceController.java index f358baf15..a61c23ada 100644 --- a/blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/controller/MerchantBalanceController.java +++ b/blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/controller/MerchantBalanceController.java @@ -181,4 +181,30 @@ public class MerchantBalanceController { } + @ResponseBody + @PostMapping("/enterBalance") + @ApiOperationSupport(order = 1) + @ApiOperation(value = "确认结算", notes = "传入balanceRecordDTO") + public R enterBalance(@RequestBody StatisticsBalanceRecordDTO balanceRecordDTO) { + String method = "############enterBalance: "; + log.info(method+"请求参数{}",balanceRecordDTO); + try{ + + Long balanceOrderInfoId = balanceRecordDTO.getBalanceOrderInfoId(); + if(Objects.isNull(balanceOrderInfoId)){ + log.warn(method+"请选择正确的结算单 balanceOrderInfoId={}",balanceOrderInfoId); + return R.fail(405,"请选择正确的结算单"); + } + + return balanceOrderInfoService.enterBalance(balanceRecordDTO); + }catch (CustomerException e){ + log.error(e.message,e); + return R.fail(e.code,e.message); + }catch (Exception e){ + log.error(method+"系统异常",e); + return R.fail(500,"系统异常"); + } + } + + } diff --git a/blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/feign/OrderInfoClient.java b/blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/feign/OrderInfoClient.java index 590b9204c..23fa3c619 100644 --- a/blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/feign/OrderInfoClient.java +++ b/blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/feign/OrderInfoClient.java @@ -23,4 +23,14 @@ public class OrderInfoClient implements IOrderInfoClient{ return rencilitionStatus; } + + @Override + public Integer findBalanceOrderStatus(Long waybillId) { + return orderInfoService.findBalanceOrderStatus(waybillId); + } + + @Override + public void deleteWaybillData(Long waybillId) { + orderInfoService.orderInfoService(waybillId); + } } diff --git a/blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/listener/mq/WaybillCheckListener.java b/blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/listener/mq/WaybillCheckListener.java index 72ec127aa..4bf81b106 100644 --- a/blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/listener/mq/WaybillCheckListener.java +++ b/blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/listener/mq/WaybillCheckListener.java @@ -697,7 +697,7 @@ public class WaybillCheckListener { distributionPackageEntity.setWaybillNo(waybillNo); distributionPackageEntity.setOrderCode(orderCode); distributionPackageEntity.setProductName(productName); - distributionPackageEntity.setProductId(String.valueOf(productId)); + distributionPackageEntity.setProductId(productId); distributionPackageEntity.setOrderPackageCode(orderPackageCode); distributionPackageEntity.setNum(quantity); distributionPackageEntity.setWeight(Objects.isNull(weight) ? BigDecimal.ZERO : weight); diff --git a/blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/mapper/StatisticsBalanceOrderInfoMapper.java b/blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/mapper/StatisticsBalanceOrderInfoMapper.java index 98201ab55..d2f2fcb86 100644 --- a/blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/mapper/StatisticsBalanceOrderInfoMapper.java +++ b/blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/mapper/StatisticsBalanceOrderInfoMapper.java @@ -8,8 +8,14 @@ import com.logpm.statistics.vo.StatisticsBalanceOrderInfoVO; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; +import java.math.BigDecimal; +import java.util.List; + @Mapper public interface StatisticsBalanceOrderInfoMapper extends BaseMapper { IPage pageList(IPage page, @Param("param") MerchantStatisticsDTO merchantStatisticsDTO); + BigDecimal findHasBalanceFeeByBalanceOrderIds(@Param("balanceOrderIds") List balanceOrderIds); + + void deleteBanlanceOrderByIds(@Param("balanceOrderIds") List balanceOrderIds); } diff --git a/blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/mapper/StatisticsBalanceOrderInfoMapper.xml b/blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/mapper/StatisticsBalanceOrderInfoMapper.xml index 18a9b30ad..8c4f227f8 100644 --- a/blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/mapper/StatisticsBalanceOrderInfoMapper.xml +++ b/blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/mapper/StatisticsBalanceOrderInfoMapper.xml @@ -56,4 +56,22 @@ + + + + + delete from logpm_statistics_balance_order_info + where id in + + #{item} + + + diff --git a/blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/mapper/StatisticsDistributionPackageMapper.java b/blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/mapper/StatisticsDistributionPackageMapper.java index 2f437dbb4..d2a36fc88 100644 --- a/blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/mapper/StatisticsDistributionPackageMapper.java +++ b/blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/mapper/StatisticsDistributionPackageMapper.java @@ -10,4 +10,6 @@ import java.util.List; @Mapper public interface StatisticsDistributionPackageMapper extends BaseMapper { void deleteListByOrderInfoIds(@Param("orderInfoIdsList") List orderInfoIdsList); + + void deleteDataByWaybillId(@Param("waybillId") Long waybillId); } diff --git a/blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/mapper/StatisticsDistributionPackageMapper.xml b/blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/mapper/StatisticsDistributionPackageMapper.xml index d59101c32..f03c65a1f 100644 --- a/blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/mapper/StatisticsDistributionPackageMapper.xml +++ b/blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/mapper/StatisticsDistributionPackageMapper.xml @@ -10,4 +10,9 @@ + + delete from logpm_statistics_distribution_package + where waybill_id = #{waybillId} + + diff --git a/blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/mapper/StatisticsOrderInfoMapper.java b/blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/mapper/StatisticsOrderInfoMapper.java index 33cd84b94..19e7f6c23 100644 --- a/blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/mapper/StatisticsOrderInfoMapper.java +++ b/blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/mapper/StatisticsOrderInfoMapper.java @@ -39,4 +39,10 @@ public interface StatisticsOrderInfoMapper extends BaseMapper orderInfoListExport(@Param("param") MerchantStatisticsDTO merchantStatisticsDTO); List findWaybillDetailByWaybillId(@Param("warehouseIdSet") Set warehouseIdSet); + + List findBalanceOrderIdListByWaybillId(@Param("waybillId") Long waybillId); + + List findRencilitionOrderIdsByWaybillId(@Param("waybillId") Long waybillId); + + void deleteDataByWaybillId(@Param("waybillId") Long waybillId); } diff --git a/blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/mapper/StatisticsOrderInfoMapper.xml b/blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/mapper/StatisticsOrderInfoMapper.xml index 7c1d9a242..0b474c086 100644 --- a/blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/mapper/StatisticsOrderInfoMapper.xml +++ b/blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/mapper/StatisticsOrderInfoMapper.xml @@ -552,5 +552,23 @@ + + + + + + delete from logpm_statistics_order_info + where waybill_id = #{waybillId} + diff --git a/blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/mapper/StatisticsReconciliationOrderInfoMapper.java b/blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/mapper/StatisticsReconciliationOrderInfoMapper.java index 842c081b5..e3b622ad4 100644 --- a/blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/mapper/StatisticsReconciliationOrderInfoMapper.java +++ b/blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/mapper/StatisticsReconciliationOrderInfoMapper.java @@ -20,4 +20,6 @@ public interface StatisticsReconciliationOrderInfoMapper extends BaseMapper reconciliationListExport(@Param("param") MerchantStatisticsDTO merchantStatisticsDTO); + + void deleteRencilitionOrderByIds(@Param("rencilitionOrderIds") List rencilitionOrderIds); } diff --git a/blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/mapper/StatisticsReconciliationOrderInfoMapper.xml b/blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/mapper/StatisticsReconciliationOrderInfoMapper.xml index b4589bb58..e0357d160 100644 --- a/blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/mapper/StatisticsReconciliationOrderInfoMapper.xml +++ b/blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/mapper/StatisticsReconciliationOrderInfoMapper.xml @@ -110,4 +110,12 @@ + + delete from logpm_statistics_reconciliation_order_info + where id in + + #{item} + + + diff --git a/blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/mapper/StatisticsTrunklinePackageMapper.java b/blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/mapper/StatisticsTrunklinePackageMapper.java index 76add8c28..30cdf4bae 100644 --- a/blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/mapper/StatisticsTrunklinePackageMapper.java +++ b/blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/mapper/StatisticsTrunklinePackageMapper.java @@ -11,4 +11,6 @@ import java.util.List; public interface StatisticsTrunklinePackageMapper extends BaseMapper { void deleteListByOrderInfoIds(@Param("orderInfoIdsList") List orderInfoIdsList); + + void deleteDataByWaybillId(@Param("waybillId") Long waybillId); } diff --git a/blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/mapper/StatisticsTrunklinePackageMapper.xml b/blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/mapper/StatisticsTrunklinePackageMapper.xml index d616f604c..d461f92ec 100644 --- a/blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/mapper/StatisticsTrunklinePackageMapper.xml +++ b/blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/mapper/StatisticsTrunklinePackageMapper.xml @@ -10,4 +10,9 @@ + + delete from logpm_statistics_trunkline_package + where waybill_id = #{waybillId} + + diff --git a/blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/mapper/StatisticsWarehousePackageMapper.java b/blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/mapper/StatisticsWarehousePackageMapper.java index 9685a7f83..7c106a60e 100644 --- a/blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/mapper/StatisticsWarehousePackageMapper.java +++ b/blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/mapper/StatisticsWarehousePackageMapper.java @@ -10,4 +10,6 @@ import java.util.List; @Mapper public interface StatisticsWarehousePackageMapper extends BaseMapper { void deleteListByOrderInfoIds(@Param("orderInfoIdsList") List orderInfoIdsList); + + void deleteDataByWaybillId(@Param("waybillId") Long waybillId); } diff --git a/blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/mapper/StatisticsWarehousePackageMapper.xml b/blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/mapper/StatisticsWarehousePackageMapper.xml index fd557daf4..1ce3b64a3 100644 --- a/blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/mapper/StatisticsWarehousePackageMapper.xml +++ b/blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/mapper/StatisticsWarehousePackageMapper.xml @@ -10,4 +10,9 @@ + + delete from logpm_statistics_warehouse_package + where waybill_id = #{waybillId} + + diff --git a/blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/service/IStatisticsBalanceOrderInfoService.java b/blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/service/IStatisticsBalanceOrderInfoService.java index 46d550728..69c074eae 100644 --- a/blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/service/IStatisticsBalanceOrderInfoService.java +++ b/blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/service/IStatisticsBalanceOrderInfoService.java @@ -9,6 +9,9 @@ import com.logpm.statistics.vo.StatisticsBalanceOrderInfoVO; import org.springblade.core.mp.base.BaseService; import org.springblade.core.tool.api.R; +import java.math.BigDecimal; +import java.util.List; + public interface IStatisticsBalanceOrderInfoService extends BaseService { IPage pageList(MerchantStatisticsDTO merchantStatisticsDTO); @@ -22,4 +25,9 @@ public interface IStatisticsBalanceOrderInfoService extends BaseService balanceOrderIds); + + void deleteBanlanceOrderByIds(List balanceOrderIds); + + R enterBalance(StatisticsBalanceRecordDTO balanceRecordDTO); } diff --git a/blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/service/IStatisticsDistributionPackageService.java b/blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/service/IStatisticsDistributionPackageService.java index 212960be6..34b6ab9b8 100644 --- a/blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/service/IStatisticsDistributionPackageService.java +++ b/blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/service/IStatisticsDistributionPackageService.java @@ -12,4 +12,6 @@ public interface IStatisticsDistributionPackageService extends BaseService findListByOrderInfoSet(Set orderInfoSet); void deleteListByOrderInfoIds(List orderInfoIdsList); + + void deleteDataByWaybillId(Long waybillId); } diff --git a/blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/service/IStatisticsOrderInfoService.java b/blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/service/IStatisticsOrderInfoService.java index 5d6089a44..1dc4ccdf0 100644 --- a/blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/service/IStatisticsOrderInfoService.java +++ b/blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/service/IStatisticsOrderInfoService.java @@ -51,4 +51,9 @@ public interface IStatisticsOrderInfoService extends BaseService orderInfoIds); List orderInfoListExport(MerchantStatisticsDTO merchantStatisticsDTO); + + Integer findBalanceOrderStatus(Long waybillId); + + void orderInfoService(Long waybillId); + } diff --git a/blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/service/IStatisticsReconciliationOrderInfoService.java b/blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/service/IStatisticsReconciliationOrderInfoService.java index 3193e4d7a..2997fcf39 100644 --- a/blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/service/IStatisticsReconciliationOrderInfoService.java +++ b/blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/service/IStatisticsReconciliationOrderInfoService.java @@ -15,4 +15,6 @@ public interface IStatisticsReconciliationOrderInfoService extends BaseService reconciliationListExport(MerchantStatisticsDTO merchantStatisticsDTO); + + void deleteRencilitionOrderByIds(List rencilitionOrderIds); } diff --git a/blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/service/IStatisticsTrunklinePackageService.java b/blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/service/IStatisticsTrunklinePackageService.java index 4995816d0..879c38df2 100644 --- a/blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/service/IStatisticsTrunklinePackageService.java +++ b/blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/service/IStatisticsTrunklinePackageService.java @@ -1,7 +1,6 @@ package com.logpm.statistics.service; import com.logpm.statistics.entity.StatisticsTrunklinePackageEntity; -import org.apache.ibatis.annotations.Param; import org.springblade.core.mp.base.BaseService; import java.util.List; @@ -9,4 +8,7 @@ import java.util.List; public interface IStatisticsTrunklinePackageService extends BaseService { void deleteListByOrderInfoIds(List orderInfoIdsList); + + void deleteDataByWaybillId(Long waybillId); + } diff --git a/blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/service/IStatisticsWarehousePackageService.java b/blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/service/IStatisticsWarehousePackageService.java index db10e9f75..d0060984c 100644 --- a/blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/service/IStatisticsWarehousePackageService.java +++ b/blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/service/IStatisticsWarehousePackageService.java @@ -7,4 +7,6 @@ import java.util.List; public interface IStatisticsWarehousePackageService extends BaseService { void deleteListByOrderInfoIds(List orderInfoIdsList); + + void deleteDataByWaybillId(Long waybillId); } diff --git a/blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/service/impl/StatisticsBalanceOrderInfoServiceImpl.java b/blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/service/impl/StatisticsBalanceOrderInfoServiceImpl.java index d240ae87a..f1bd14d42 100644 --- a/blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/service/impl/StatisticsBalanceOrderInfoServiceImpl.java +++ b/blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/service/impl/StatisticsBalanceOrderInfoServiceImpl.java @@ -4,7 +4,6 @@ import cn.hutool.core.collection.CollUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.logpm.basicdata.entity.BasicdataWarehouseEntity; import com.logpm.basicdata.feign.IBasicdataWarehouseClient; import com.logpm.statistics.dto.MerchantStatisticsDTO; import com.logpm.statistics.dto.StatisticsBalanceAbnormalDTO; @@ -84,9 +83,15 @@ public R addAbnormal(StatisticsBalanceAbnormalDTO balanceAbnormalDTO) { log.warn("###########addAbnormal: 结算单信息不存在 balanceOrderInfoEntity={}", balanceOrderInfoEntity); throw new CustomerException(405, "结算单信息不存在"); } - BigDecimal totalBalanceFee = balanceOrderInfoEntity.getTotalBalanceFee(); - BigDecimal hasBalanceFee = balanceOrderInfoEntity.getHasBalanceFee(); - BigDecimal abnormalFee = balanceAbnormalEntity.getAbnormalFee(); + + BigDecimal aftersalesFee = balanceOrderInfoEntity.getAftersalesFee(); + + BigDecimal totalBalanceFee = balanceOrderInfoEntity.getTotalBalanceFee();//结算总金额 + BigDecimal hasBalanceFee = balanceOrderInfoEntity.getHasBalanceFee();//已结算金额 + BigDecimal abnormalFee = balanceAbnormalEntity.getAbnormalFee();//这次加的异常金额 + BigDecimal abnormalBalanceFee = balanceOrderInfoEntity.getAbnormalBalanceFee(); + BigDecimal totalAbnormalFee = abnormalBalanceFee.add(abnormalFee);//总异常金额 + BigDecimal total = totalBalanceFee.add(abnormalFee); @@ -95,15 +100,21 @@ public R addAbnormal(StatisticsBalanceAbnormalDTO balanceAbnormalDTO) { balanceOrderInfoEntity.setAbnormalTime(balanceAbnormalEntity.getCreateTime()); balanceOrderInfoEntity.setAbnormalUserName(balanceAbnormalEntity.getAbnormalUserName()); balanceOrderInfoEntity.setAbnormalRemark(balanceAbnormalEntity.getAbnormalRemark()); - if (hasBalanceFee.compareTo(total) >= 0) { - balanceOrderInfoEntity.setBalanceStatus(2); - } else { - if (hasBalanceFee.compareTo(BigDecimal.ZERO) == 0) { - balanceOrderInfoEntity.setBalanceStatus(0); - } else { - balanceOrderInfoEntity.setBalanceStatus(1); - } - } + + BigDecimal noBalanceFee = totalBalanceFee.add(totalAbnormalFee).subtract(aftersalesFee).subtract(hasBalanceFee); + + balanceOrderInfoEntity.setNoBalanceFee(noBalanceFee); + balanceOrderInfoEntity.setAbnormalBalanceFee(totalAbnormalFee); + +// if (hasBalanceFee.compareTo(total) >= 0) { +// balanceOrderInfoEntity.setBalanceStatus(2); +// } else { +// if (hasBalanceFee.compareTo(BigDecimal.ZERO) == 0) { +// balanceOrderInfoEntity.setBalanceStatus(0); +// } else { +// balanceOrderInfoEntity.setBalanceStatus(1); +// } +// } updateById(balanceOrderInfoEntity); return R.success("添加成功"); @@ -175,21 +186,26 @@ public R addBalanceRecord(StatisticsBalanceRecordDTO balanceRecordDTO) { BigDecimal totalBalanceFee = balanceOrderInfoEntity.getTotalBalanceFee(); BigDecimal abnormalBalanceFee = balanceOrderInfoEntity.getAbnormalBalanceFee(); - - BigDecimal total = totalBalanceFee.add(abnormalBalanceFee); + BigDecimal aftersalesFee = balanceOrderInfoEntity.getAftersalesFee(); BigDecimal hasBalanceFee = balanceOrderInfoEntity.getHasBalanceFee(); - BigDecimal newHasBalanceFee = hasBalanceFee.add(balanceFee); - if (newHasBalanceFee.compareTo(total) >= 0) { - balanceOrderInfoEntity.setBalanceStatus(2); - balanceOrderInfoEntity.setNoBalanceFee(BigDecimal.ZERO); - } else { - balanceOrderInfoEntity.setBalanceStatus(1); - balanceOrderInfoEntity.setNoBalanceFee(total.subtract(newHasBalanceFee)); - } + BigDecimal noBalanceFee = totalBalanceFee.add(abnormalBalanceFee).subtract(aftersalesFee).subtract(newHasBalanceFee); + + + balanceOrderInfoEntity.setBalanceStatus(1); + balanceOrderInfoEntity.setNoBalanceFee(noBalanceFee); balanceOrderInfoEntity.setHasBalanceFee(newHasBalanceFee); + +// if (newHasBalanceFee.compareTo(total) >= 0) { +// balanceOrderInfoEntity.setBalanceStatus(2); +// balanceOrderInfoEntity.setNoBalanceFee(BigDecimal.ZERO); +// } else { +// balanceOrderInfoEntity.setBalanceStatus(1); +// +// } + balanceOrderInfoEntity.setBalanceTime(balanceRecordEntity.getCreateTime()); balanceOrderInfoEntity.setBalanceUserName(balanceRecordEntity.getBalanceUserName()); balanceOrderInfoEntity.setBalanceRemark(balanceRecordEntity.getBalanceRemark()); @@ -247,5 +263,32 @@ public R findBalanceDetail(Long balanceOrderId) { return R.data(statisticsBalanceOrderInfoEntity); } + @Override + public BigDecimal findHasBalanceFeeByBalanceOrderIds(List balanceOrderIds) { + return baseMapper.findHasBalanceFeeByBalanceOrderIds(balanceOrderIds); + } + + @Override + public void deleteBanlanceOrderByIds(List balanceOrderIds) { + baseMapper.deleteBanlanceOrderByIds(balanceOrderIds); + } + + @Override + public R enterBalance(StatisticsBalanceRecordDTO balanceRecordDTO) { + Long balanceOrderInfoId = balanceRecordDTO.getBalanceOrderInfoId(); + StatisticsBalanceOrderInfoEntity statisticsBalanceOrderInfoEntity = baseMapper.selectById(balanceOrderInfoId); + BigDecimal noBalanceFee = statisticsBalanceOrderInfoEntity.getNoBalanceFee(); + if(noBalanceFee.compareTo(BigDecimal.ZERO) != 0){ + log.warn("#############enterBalance: 结算金额不为0"); + return R.fail(405, "结算金额不为0"); + } + + statisticsBalanceOrderInfoEntity.setBalanceStatus(2); + + updateById(statisticsBalanceOrderInfoEntity); + + return R.success("结算成功"); + } + } diff --git a/blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/service/impl/StatisticsDistributionPackageServiceImpl.java b/blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/service/impl/StatisticsDistributionPackageServiceImpl.java index 615dd065a..b51bb89de 100644 --- a/blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/service/impl/StatisticsDistributionPackageServiceImpl.java +++ b/blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/service/impl/StatisticsDistributionPackageServiceImpl.java @@ -36,4 +36,9 @@ public class StatisticsDistributionPackageServiceImpl extends BaseServiceImpl orderInfoIdsList) { baseMapper.deleteListByOrderInfoIds(orderInfoIdsList); } + + @Override + public void deleteDataByWaybillId(Long waybillId) { + baseMapper.deleteDataByWaybillId(waybillId); + } } diff --git a/blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/service/impl/StatisticsOrderInfoServiceImpl.java b/blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/service/impl/StatisticsOrderInfoServiceImpl.java index 6cf01b97d..8186f8a7b 100644 --- a/blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/service/impl/StatisticsOrderInfoServiceImpl.java +++ b/blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/service/impl/StatisticsOrderInfoServiceImpl.java @@ -23,23 +23,9 @@ import com.logpm.basicdata.vo.PriceWarehouseVO; import com.logpm.statistics.dto.AftersalesOrderDTO; import com.logpm.statistics.dto.ChangesRecordDTO; import com.logpm.statistics.dto.MerchantStatisticsDTO; -import com.logpm.statistics.entity.StatisticsAftersalesOrderRecordEntity; -import com.logpm.statistics.entity.StatisticsBalanceOrderInfoEntity; -import com.logpm.statistics.entity.StatisticsChangesPhotoEntity; -import com.logpm.statistics.entity.StatisticsChangesRecordEntity; -import com.logpm.statistics.entity.StatisticsDistributionPackageEntity; -import com.logpm.statistics.entity.StatisticsOrderInfoEntity; -import com.logpm.statistics.entity.StatisticsReconciliationOrderInfoEntity; -import com.logpm.statistics.entity.StatisticsWarehousePackageEntity; +import com.logpm.statistics.entity.*; import com.logpm.statistics.mapper.StatisticsOrderInfoMapper; -import com.logpm.statistics.service.IStatisticsAftersalesOrderRecordService; -import com.logpm.statistics.service.IStatisticsBalanceOrderInfoService; -import com.logpm.statistics.service.IStatisticsChangesPhotoService; -import com.logpm.statistics.service.IStatisticsChangesRecordService; -import com.logpm.statistics.service.IStatisticsDistributionPackageService; -import com.logpm.statistics.service.IStatisticsOrderInfoService; -import com.logpm.statistics.service.IStatisticsReconciliationOrderInfoService; -import com.logpm.statistics.service.IStatisticsWarehousePackageService; +import com.logpm.statistics.service.*; import com.logpm.statistics.vo.StatisticsChangesRecordVO; import com.logpm.statistics.vo.StatisticsOrderInfoExportVO; import com.logpm.statistics.vo.StatisticsOrderInfoVO; @@ -84,9 +70,11 @@ public class StatisticsOrderInfoServiceImpl extends BaseServiceImpl findListByWaybillId(Long waybillId) { @@ -732,6 +720,48 @@ public class StatisticsOrderInfoServiceImpl extends BaseServiceImpl balanceOrderIds = baseMapper.findBalanceOrderIdListByWaybillId(waybillId); + + if(CollUtil.isNotEmpty(balanceOrderIds)){ + + QueryWrapper balanceAbnormalEntityQueryWrapper = new QueryWrapper<>(); + balanceAbnormalEntityQueryWrapper.in("balance_order_info_id", balanceOrderIds); + + List list = balanceRecordService.list(balanceAbnormalEntityQueryWrapper); + if(CollUtil.isNotEmpty(list)){ + return 1; + }else{ + return 0; + } + + }else{ + return 0; + } + } + + @Override + public void orderInfoService(Long waybillId) { + + trunklinePackageService.deleteDataByWaybillId(waybillId); + warehousePackageService.deleteDataByWaybillId(waybillId); + distributionPackageService.deleteDataByWaybillId(waybillId); + + List balanceOrderIds = baseMapper.findBalanceOrderIdListByWaybillId(waybillId); + + balanceOrderInfoService.deleteBanlanceOrderByIds(balanceOrderIds); + + List rencilitionOrderIds = baseMapper.findRencilitionOrderIdsByWaybillId(waybillId); + + reconciliationOrderInfoService.deleteRencilitionOrderByIds(rencilitionOrderIds); + + baseMapper.deleteDataByWaybillId(waybillId); + + + } + private void calculateReconcilitionOrder(StatisticsReconciliationOrderInfoEntity reconciliationOrderInfo) { Long reconciliationOrderId = reconciliationOrderInfo.getId(); BigDecimal aftersalesFee = reconciliationOrderInfo.getAftersalesFee(); @@ -941,7 +971,7 @@ public class StatisticsOrderInfoServiceImpl extends BaseServiceImpl { - return StrUtil.equals(String.valueOf(priceDispatchBasicVO.getCategoryId()), statisticsDistributionPackageEntity.getProductId()); + return NumberUtil.equals(priceDispatchBasicVO.getCategoryId(), statisticsDistributionPackageEntity.getProductId()); }).collect(Collectors.toList()); } if (CollUtil.isNotEmpty(pieceList)) { @@ -959,7 +989,7 @@ public class StatisticsOrderInfoServiceImpl extends BaseServiceImpl cubeList = cubeCategory; if (1 == dispatchIsByCategory) { cubeList = cubeCategory.stream().filter(priceDispatchBasicVO -> { - return StrUtil.equals(String.valueOf(priceDispatchBasicVO.getCategoryId()), statisticsDistributionPackageEntity.getProductId()); + return NumberUtil.equals(priceDispatchBasicVO.getCategoryId(), statisticsDistributionPackageEntity.getProductId()); }).collect(Collectors.toList()); } if (CollUtil.isNotEmpty(cubeList)) { @@ -980,7 +1010,7 @@ public class StatisticsOrderInfoServiceImpl extends BaseServiceImpl weightList = weightCategory; if (1 == dispatchIsByCategory) { weightList = weightCategory.stream().filter(priceDispatchBasicVO -> { - return StrUtil.equals(String.valueOf(priceDispatchBasicVO.getCategoryId()), statisticsDistributionPackageEntity.getProductId()); + return NumberUtil.equals(priceDispatchBasicVO.getCategoryId(), statisticsDistributionPackageEntity.getProductId()); }).collect(Collectors.toList()); } if (CollUtil.isNotEmpty(weightList)) { diff --git a/blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/service/impl/StatisticsReconciliationOrderInfoServiceImpl.java b/blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/service/impl/StatisticsReconciliationOrderInfoServiceImpl.java index 76fe2f7df..d9ea1861e 100644 --- a/blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/service/impl/StatisticsReconciliationOrderInfoServiceImpl.java +++ b/blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/service/impl/StatisticsReconciliationOrderInfoServiceImpl.java @@ -8,7 +8,6 @@ import com.logpm.statistics.entity.StatisticsReconciliationOrderInfoEntity; import com.logpm.statistics.mapper.StatisticsReconciliationOrderInfoMapper; import com.logpm.statistics.service.IStatisticsReconciliationOrderInfoService; import com.logpm.statistics.vo.StatisticsReconciliationInfoExportVO; -import com.logpm.warehouse.feign.IWarehouseWaybillClient; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springblade.common.utils.CommonUtil; @@ -16,7 +15,6 @@ import org.springblade.core.mp.base.BaseServiceImpl; import org.springframework.stereotype.Service; import java.math.BigDecimal; -import java.util.Collections; import java.util.List; @Service @@ -60,4 +58,9 @@ public class StatisticsReconciliationOrderInfoServiceImpl extends BaseServiceImp return baseMapper.reconciliationListExport(merchantStatisticsDTO); } + + @Override + public void deleteRencilitionOrderByIds(List rencilitionOrderIds) { + baseMapper.deleteRencilitionOrderByIds(rencilitionOrderIds); + } } diff --git a/blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/service/impl/StatisticsTrunklinePackageServiceImpl.java b/blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/service/impl/StatisticsTrunklinePackageServiceImpl.java index a55b1fde7..ea72ba105 100644 --- a/blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/service/impl/StatisticsTrunklinePackageServiceImpl.java +++ b/blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/service/impl/StatisticsTrunklinePackageServiceImpl.java @@ -19,4 +19,9 @@ public class StatisticsTrunklinePackageServiceImpl extends BaseServiceImpl orderInfoIdsList) { baseMapper.deleteListByOrderInfoIds(orderInfoIdsList); } + + @Override + public void deleteDataByWaybillId(Long waybillId) { + baseMapper.deleteDataByWaybillId(waybillId); + } } diff --git a/blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/service/impl/StatisticsWarehousePackageServiceImpl.java b/blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/service/impl/StatisticsWarehousePackageServiceImpl.java index dd6cf641f..672cf0b8d 100644 --- a/blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/service/impl/StatisticsWarehousePackageServiceImpl.java +++ b/blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/service/impl/StatisticsWarehousePackageServiceImpl.java @@ -18,4 +18,9 @@ public class StatisticsWarehousePackageServiceImpl extends BaseServiceImpl orderInfoIdsList) { baseMapper.deleteListByOrderInfoIds(orderInfoIdsList); } + + @Override + public void deleteDataByWaybillId(Long waybillId) { + baseMapper.deleteDataByWaybillId(waybillId); + } } diff --git a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/controller/CarsLoadController.java b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/controller/CarsLoadController.java index 484012aaf..4912837e0 100644 --- a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/controller/CarsLoadController.java +++ b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/controller/CarsLoadController.java @@ -19,17 +19,18 @@ import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springblade.common.exception.CustomerException; import org.springblade.core.excel.util.ExcelUtil; -import org.springblade.core.secure.BladeUser; import org.springblade.core.tool.api.R; import org.springblade.core.tool.utils.DateUtil; import org.springblade.core.tool.utils.StringUtil; import org.springframework.web.bind.annotation.*; -import springfox.documentation.annotations.ApiIgnore; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.math.BigDecimal; -import java.util.*; +import java.util.ArrayList; +import java.util.Enumeration; +import java.util.List; +import java.util.Objects; @Slf4j @RestController @@ -1378,6 +1379,39 @@ public class CarsLoadController { } } + @ResponseBody + @PostMapping("/carsLoadDetailInfoNew") + @ApiOperationSupport(order = 1) + @ApiOperation(value = "配载计划详情", notes = "传入loadCarsDTO") + public R carsLoadDetailInfoNew(@RequestBody LoadCarsDTO loadCarsDTO) { + String method = "############carsLoadDetailInfo: "; + log.info(method+"请求参数{}",loadCarsDTO); + Long loadId = loadCarsDTO.getLoadId(); + try{ + + //当前登录人选择的仓库 +// BasicdataWarehouseEntity myCurrentWarehouse = warehouseClient.getMyCurrentWarehouse(); +// if(Objects.isNull(myCurrentWarehouse)){ +// log.warn(method+"仓库信息为空 myCurrentWarehouse={}",myCurrentWarehouse); +// return R.fail(400,"多仓权限无法操作,请选择仓库"); +// } +// loadCarsDTO.setWarehouseId(myCurrentWarehouse.getId()); + + if(Objects.isNull(loadId)){ + log.warn(method+"配载计划id为空 loadId={}",loadId); + return R.fail(400,"配载计划id为空"); + } + + return carsLoadService.carsLoadDetailInfoNew(loadCarsDTO); + }catch (CustomerException e){ + log.error(e.message,e); + return R.fail(e.code,e.message); + }catch (Exception e){ + log.error(method+"系统异常",e); + return R.fail(500,"系统异常"); + } + } + @ResponseBody @PostMapping("/zeroSuppleList") @@ -2889,4 +2923,40 @@ public class CarsLoadController { } + @ResponseBody + @PostMapping("/syncNoSystemData") + @ApiOperationSupport(order = 1) + @ApiOperation(value = "同步系统无编码的数据", notes = "传入loadCarsDTO") + public R syncNoSystemData(@RequestBody LoadCarsDTO loadCarsDTO) { + String method = "############syncNoSystemData: "; + log.info(method+"请求参数{}",loadCarsDTO); + + Long loadId = loadCarsDTO.getLoadId(); + + try{ + + BasicdataWarehouseEntity myCurrentWarehouse = warehouseClient.getMyCurrentWarehouse(); + if(Objects.isNull(myCurrentWarehouse)){ + log.warn(method+"请选择指定仓库 loadId={}",loadId); + return R.fail(405,"请选择指定仓库"); + } + Long warehouseId = myCurrentWarehouse.getId(); + String warehouseName = myCurrentWarehouse.getName(); + + if(Objects.isNull(loadId)){ + log.warn(method+"车次id为空 loadId={}",loadId); + return R.fail(405,"车次id为空"); + } + + return carsLoadService.syncNoSystemData(loadId,warehouseId,warehouseName); + }catch (CustomerException e){ + log.error(e.message,e); + return R.fail(e.code,e.message); + }catch (Exception e){ + log.error(method+"系统异常",e); + return R.fail(500,"系统异常"); + } + } + + } diff --git a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineCarsLoadScanMapper.java b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineCarsLoadScanMapper.java index 4ca2815ba..a25e60827 100644 --- a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineCarsLoadScanMapper.java +++ b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineCarsLoadScanMapper.java @@ -191,4 +191,10 @@ public interface TrunklineCarsLoadScanMapper extends BaseMapper findListByLoadId(@Param("loadId") Long loadId); + + List findListAndPriceByLoadId(@Param("loadId") Long loadId); + + List findUnloadNoDataList(@Param("loadId") Long loadId, @Param("warehouseId") Long warehouseId); + + void updateReserve1ByOrderPackageCode(@Param("orderPackageCode") String orderPackageCode, @Param("reseve1") String reseve1); } diff --git a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineCarsLoadScanMapper.xml b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineCarsLoadScanMapper.xml index eda62cc95..666f55ab6 100644 --- a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineCarsLoadScanMapper.xml +++ b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineCarsLoadScanMapper.xml @@ -1155,4 +1155,28 @@ + + + + + + update logpm_trunkline_cars_load_scan + set reserve1 = #{reseve1} + where scan_code = #{orderPackageCode} + + diff --git a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/ITrunklineCarsLoadScanService.java b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/ITrunklineCarsLoadScanService.java index f001e1865..f0ae3aff5 100644 --- a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/ITrunklineCarsLoadScanService.java +++ b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/ITrunklineCarsLoadScanService.java @@ -193,4 +193,10 @@ public interface ITrunklineCarsLoadScanService extends BaseService findListByLoadId(Long loadId); + + List findListAndPriceByLoadId(Long loadId); + + List findUnloadNoDataList(Long loadId, Long warehouseId); + + void updateReserve1ByOrderPackageCode(String orderPackageCode, String reseve1); } diff --git a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/ITrunklineCarsLoadService.java b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/ITrunklineCarsLoadService.java index 00448a327..e958ca305 100644 --- a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/ITrunklineCarsLoadService.java +++ b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/ITrunklineCarsLoadService.java @@ -268,4 +268,8 @@ public interface ITrunklineCarsLoadService extends BaseService exportCarsPageList(LoadCarsDTO loadCarsDTO); + + R syncNoSystemData(Long loadId,Long warehouseId,String warehouseName); + + R carsLoadDetailInfoNew(LoadCarsDTO loadCarsDTO); } diff --git a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/OpenOrderServiceImpl.java b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/OpenOrderServiceImpl.java index 8aa243076..e03d514bc 100644 --- a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/OpenOrderServiceImpl.java +++ b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/OpenOrderServiceImpl.java @@ -4333,19 +4333,24 @@ public class OpenOrderServiceImpl implements IOpenOrderService { return R.fail(405,"运单还未审核"); } - List orderCodes = distributionParcelListClient.findOrderCodeByWaybillId(waybillId); - List reservationIds = reservationStockarticleClient.findReservationIdsByOrderCodes(orderCodes); - if(CollUtil.isNotEmpty(reservationIds)){ - log.warn("##########cancleCheckWaybill: 运单已有配送计划 waybillId={}",waybillId); - return R.fail(405,"运单已有配送计划"); - } +// List orderCodes = distributionParcelListClient.findOrderCodeByWaybillId(waybillId); +// List reservationIds = reservationStockarticleClient.findReservationIdsByOrderCodes(orderCodes); +// if(CollUtil.isNotEmpty(reservationIds)){ +// log.warn("##########cancleCheckWaybill: 运单已有配送计划 waybillId={}",waybillId); +// return R.fail(405,"运单已有配送计划"); +// } - Integer status = orderInfoClient.findCreateRencilitionOrderStatus(waybillId); + //判断结算单是否有生成 +// Integer status = orderInfoClient.findCreateRencilitionOrderStatus(waybillId); + //判断是否有生成结算单或者是否有结算金额 + Integer status = orderInfoClient.findBalanceOrderStatus(waybillId); if(status == 1){ - log.warn("##########cancleCheckWaybill: 运单已有预存单确认 waybillId={}",waybillId); - return R.fail(405,"运单已有预存单确认"); + log.warn("##########cancleCheckWaybill: 运单已有结算金额 waybillId={}",waybillId); + return R.fail(405,"运单已有结算金额"); } + orderInfoClient.deleteWaybillData(waybillId); + WarehouseWaybillEntity updateWaybillEntity = new WarehouseWaybillEntity(); updateWaybillEntity.setId(waybillId); updateWaybillEntity.setCheckStatus(0); @@ -4365,11 +4370,11 @@ public class OpenOrderServiceImpl implements IOpenOrderService { //发送运单取消审核的广播 - JSONObject jsonObject = new JSONObject(); - jsonObject.put("waybillId",waybillId); - FanoutMsg fanoutMsg = FanoutMsg.builder().exchange(FanoutConstants.trunkline.CANCLECHECKWAYBILL.EXCHANGE) - .msg(jsonObject.toJSONString()).build(); - sendFanoutService.sendFanoutMsg(fanoutMsg); +// JSONObject jsonObject = new JSONObject(); +// jsonObject.put("waybillId",waybillId); +// FanoutMsg fanoutMsg = FanoutMsg.builder().exchange(FanoutConstants.trunkline.CANCLECHECKWAYBILL.EXCHANGE) +// .msg(jsonObject.toJSONString()).build(); +// sendFanoutService.sendFanoutMsg(fanoutMsg); return R.success("取消成功"); } diff --git a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineCarsLoadScanServiceImpl.java b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineCarsLoadScanServiceImpl.java index 15f12e23c..e63b5ee12 100644 --- a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineCarsLoadScanServiceImpl.java +++ b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineCarsLoadScanServiceImpl.java @@ -479,4 +479,19 @@ public class TrunklineCarsLoadScanServiceImpl extends BaseServiceImpl findListAndPriceByLoadId(Long loadId) { + return baseMapper.findListAndPriceByLoadId(loadId); + } + + @Override + public List findUnloadNoDataList(Long loadId, Long warehouseId) { + return baseMapper.findUnloadNoDataList(loadId,warehouseId); + } + + @Override + public void updateReserve1ByOrderPackageCode(String orderPackageCode, String reseve1) { + baseMapper.updateReserve1ByOrderPackageCode(orderPackageCode,reseve1); + } + } diff --git a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineCarsLoadServiceImpl.java b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineCarsLoadServiceImpl.java index 15fe19554..5ea9b00e6 100644 --- a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineCarsLoadServiceImpl.java +++ b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineCarsLoadServiceImpl.java @@ -17,6 +17,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.logpm.aftersales.entity.AftersalesAbnormalRecordEntity; import com.logpm.aftersales.feign.IAftersalesAbnormalRecordClient; import com.logpm.aftersales.feign.IAftersalesWorkOrderClient; +import com.logpm.aftersales.vo.DealWithAbnormalVO; import com.logpm.basicdata.entity.BasicdataDriverArteryEntity; import com.logpm.basicdata.entity.BasicdataTrayEntity; import com.logpm.basicdata.entity.BasicdataWarehouseEntity; @@ -55,6 +56,7 @@ import com.logpm.warehouse.feign.IWarehouseTrayTypeClient; import com.logpm.warehouse.feign.IWarehouseUpdownTypeClient; import com.logpm.warehouse.feign.IWarehouseWaybillClient; import com.logpm.warehouse.feign.IWarehouseWaybillDetailClient; +import com.logpm.warehouse.vo.WarehouseWaybillVO; import com.logpm.warehouse.vo.WaybillOrderTotalWeightAndVolumeVO; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -67,6 +69,7 @@ import org.springblade.common.exception.CustomerException; import org.springblade.common.utils.CommonUtil; import org.springblade.common.utils.QRCodeUtil; import org.springblade.core.mp.base.BaseServiceImpl; +import org.springblade.core.redis.cache.BladeRedis; import org.springblade.core.secure.utils.AuthUtil; import org.springblade.core.tool.api.R; import org.springblade.core.tool.utils.BeanUtil; @@ -133,6 +136,9 @@ public class TrunklineCarsLoadServiceImpl extends BaseServiceImpl loadCarsPageList(LoadCarsDTO loadCarsDTO) { @@ -3582,6 +3588,10 @@ public class TrunklineCarsLoadServiceImpl extends BaseServiceImpl loadLineList = trunklineCarsLoadLineService.findListByLoadId(loadId); + + TrunklineCarsLoadVO trunklineCarsLoadVO = new TrunklineCarsLoadVO(); + + BeanUtil.copy(carsLoadEntity, trunklineCarsLoadVO); + + trunklineCarsLoadVO.setCarsLoadLineList(loadLineList); + + //所有车辆配载计划 + List carsOrderList = trunklineCarsOrderService.findListByLoadId(loadId); + //把carsOrderList中所有waybillNo放入一个List + Set planWaybillNoSet = carsOrderList.stream().map(TrunklineCarsOrderEntity::getWaybillNo).collect(Collectors.toSet()); + //把carsOrderList通过waybillNo进行分组 + Map> carsOrderMapByWaybillNo = carsOrderList.stream().filter(item -> StringUtil.isNotBlank(item.getWaybillNo())).collect(Collectors.groupingBy(TrunklineCarsOrderEntity::getWaybillNo)); + + //所有车辆配载实际装车 + List loadScanList = trunklineCarsLoadScanService.findListAndPriceByLoadId(loadId); + //把carsOrderList中所有waybillNo放入一个List + Set realWaybillNoSet = loadScanList.stream().filter(item -> StringUtil.isNotBlank(item.getWaybillNo())).map(TrunklineCarsLoadScanVO::getWaybillNo).collect(Collectors.toSet()); + //把loadScanList通过waybillNo分组 + Map> loadScanMapByWaybillNo = loadScanList.stream().filter(item -> StringUtil.isNotBlank(item.getWaybillNo())).collect(Collectors.groupingBy(TrunklineCarsLoadScanVO::getWaybillNo)); + + + //提出loadScanList中运单号为空的记录 + List noWaybillLoadScanList = loadScanList.stream().filter(item -> StringUtil.isBlank(item.getWaybillNo())).collect(Collectors.toList()); + + //先把所有需要查询的运单信息查出来 + Set allWaybillNoSet = new HashSet<>(); + allWaybillNoSet.addAll(planWaybillNoSet); + allWaybillNoSet.addAll(realWaybillNoSet); + List warehouseWaybillVOS = warehouseWaybillClient.findWaybillVOByWaybillNoSet(allWaybillNoSet); + + List carsLoadWaybillInfoVOList = new ArrayList<>(); + + warehouseWaybillVOS.forEach(item -> { + CarsLoadWaybillInfoVO carsLoadWaybillInfoVO = new CarsLoadWaybillInfoVO(); + BeanUtil.copy(item,carsLoadWaybillInfoVO); + String waybillNo = carsLoadWaybillInfoVO.getWaybillNo(); + Integer waybillNum = carsLoadWaybillInfoVO.getWaybillNum(); + String goodsName = carsLoadWaybillInfoVO.getGoodsName(); + String productPrice = carsLoadWaybillInfoVO.getProductPrice(); + String productNum = carsLoadWaybillInfoVO.getProductNum(); + String productVolume = carsLoadWaybillInfoVO.getProductVolume(); + String productWeight = carsLoadWaybillInfoVO.getProductWeight(); + + String[] nameArray = goodsName.split(","); + String[] priceArray = productPrice.split(","); + String[] numArray = productNum.split(","); + String[] volumeArray = productVolume.split(","); + String[] weightArray = productWeight.split(","); + + + + //计算每个品类的单个价格 体积 重量 + Map priceMap = new HashMap<>(); + Map volumeMap = new HashMap<>(); + Map weightMap = new HashMap<>(); + for (int i = 0; i < nameArray.length; i++) { + priceMap.put(nameArray[i],priceArray[i]); + String num = numArray[i]; + String volume = volumeArray[i]; + String weight = weightArray[i]; + volumeMap.put(nameArray[i],new BigDecimal(volume).divide(new BigDecimal(num),2, RoundingMode.HALF_UP).toString()); + weightMap.put(nameArray[i],new BigDecimal(weight).divide(new BigDecimal(num),2, RoundingMode.HALF_UP).toString()); + } + + + List resulOrderList = new ArrayList<>(); + + + List carsOrderEntityList = carsOrderMapByWaybillNo.get(waybillNo);//计划订单列表 + List carsLoadOrderInfoVOList = new ArrayList<>(); + if(CollUtil.isNotEmpty(carsOrderEntityList)){ + carsOrderEntityList.forEach(carsOrderEntity -> { + Integer realNum = carsOrderEntity.getRealNum(); + CarsLoadOrderInfoVO carsLoadOrderInfoVO = new CarsLoadOrderInfoVO(); + carsLoadOrderInfoVO.setOrderCode(carsOrderEntity.getOrderCode()); + carsLoadOrderInfoVO.setWaybillNo(waybillNo); + carsLoadOrderInfoVO.setOrderNum(carsOrderEntity.getTotalNum()); + carsLoadOrderInfoVO.setPlanNum(carsOrderEntity.getPlanNum()); + carsLoadOrderInfoVO.setLoadingNum(realNum); + carsLoadOrderInfoVO.setUnloadNum(carsOrderEntity.getUnloadNum()); + carsLoadOrderInfoVO.setSignNum(carsOrderEntity.getSignNum()); + carsLoadOrderInfoVO.setOrderFreight(freightPrice.multiply(new BigDecimal(realNum)).setScale(2, RoundingMode.HALF_UP)); + carsLoadOrderInfoVOList.add(carsLoadOrderInfoVO); + }); + } + + + //把carsLoadOrderInfoVOList转化成以orderCode为key的Map + Map carsLoadOrderInfoVOMap = carsLoadOrderInfoVOList.stream().collect(Collectors.toMap(CarsLoadOrderInfoVO::getOrderCode, Function.identity())); + + + List trunklineCarsLoadScanEntities = loadScanMapByWaybillNo.get(waybillNo);//订单实际装车 + + if(CollUtil.isNotEmpty(trunklineCarsLoadScanEntities)){ + //把trunklineCarsLoadScanEntities通过orderCode分组 + Map> trunklineCarsLoadScanMapByOrderCode = trunklineCarsLoadScanEntities.stream().collect(Collectors.groupingBy(TrunklineCarsLoadScanVO::getOrderCode)); + + trunklineCarsLoadScanMapByOrderCode.keySet().forEach(orderCode -> { + + List trunklineCarsLoadScanListByOrderCode = trunklineCarsLoadScanMapByOrderCode.get(orderCode);//订单实际装车 + //把trunklineCarsLoadScanListByOrderCode中所有元素num求和,num为空用0代替 + Integer loadingNum = trunklineCarsLoadScanListByOrderCode.stream().map(TrunklineCarsLoadScanVO::getNum).reduce(0, Integer::sum); + Integer unloadNum = trunklineCarsLoadScanListByOrderCode.stream().map(TrunklineCarsLoadScanVO::getUnloadNum).reduce(0, Integer::sum); + Integer signNum = trunklineCarsLoadScanListByOrderCode.stream().filter(t -> t.getScanStatus().equals("3")).map(TrunklineCarsLoadScanVO::getUnloadNum).reduce(0, Integer::sum); + + CarsLoadOrderInfoVO carsLoadOrderInfoVO = carsLoadOrderInfoVOMap.get(orderCode); + if(Objects.isNull(carsLoadOrderInfoVO)){ + carsLoadOrderInfoVO = new CarsLoadOrderInfoVO(); + carsLoadOrderInfoVO.setOrderCode(orderCode); + carsLoadOrderInfoVO.setWaybillNo(waybillNo); + TrunklineWaybillOrderEntity trunklineWaybillOrder = trunklineWaybillOrderService.findEntityByWaybillNoAndOrderCode(waybillNo, orderCode); + if(!Objects.isNull(trunklineWaybillOrder)){ + carsLoadOrderInfoVO.setOrderNum(trunklineWaybillOrder.getTotalNumber()); + }else{ + carsLoadOrderInfoVO.setOrderNum(0); + } + carsLoadOrderInfoVO.setLoadingNum(loadingNum); + carsLoadOrderInfoVO.setUnloadNum(unloadNum); + carsLoadOrderInfoVO.setSignNum(signNum); + + carsLoadOrderInfoVOMap.put(orderCode, carsLoadOrderInfoVO); + } + + //把trunklineCarsLoadScanListByOrderCode通过type分组 + Map> trunklineCarsLoadScanMapByType = trunklineCarsLoadScanListByOrderCode.stream().collect(Collectors.groupingBy(TrunklineCarsLoadScanVO::getType)); + + AtomicReference totalIncomingParice = new AtomicReference<>(BigDecimal.ZERO); + AtomicReference totalVolume = new AtomicReference<>(BigDecimal.ZERO); + AtomicReference totalWeight = new AtomicReference<>(BigDecimal.ZERO); + + trunklineCarsLoadScanMapByType.keySet().forEach(type -> { + List trunklineCarsLoadScanVOS = trunklineCarsLoadScanMapByType.get(type); + if(NumberUtil.equals(type,1)){ + //订制品 + trunklineCarsLoadScanVOS.forEach(trunklineCarsLoadScanVO -> { + String gn = trunklineCarsLoadScanVO.getGoodsName(); + Integer num = trunklineCarsLoadScanVO.getNum(); + Integer unloadNum1 = trunklineCarsLoadScanVO.getUnloadNum(); + if(Objects.isNull(unloadNum1)){ + unloadNum1 = 0; + } + String price = priceMap.get(gn); + if(StrUtil.isBlank(price)){ + price = "0"; + } + String oneVolume = volumeMap.get(gn); + if(StrUtil.isBlank(oneVolume)){ + oneVolume = "0"; + } + String oneWeight = weightMap.get(gn); + if(StrUtil.isBlank(oneWeight)){ + oneWeight = "0"; + } + totalIncomingParice.set(totalIncomingParice.get().add(new BigDecimal(price).multiply(new BigDecimal(unloadNum1)))); + totalVolume.set(totalVolume.get().add(new BigDecimal(oneVolume).multiply(new BigDecimal(unloadNum1)))); + totalWeight.set(totalWeight.get().add(new BigDecimal(oneWeight).multiply(new BigDecimal(unloadNum1)))); + }); + + + }else if(NumberUtil.equals(type,2)){ + + trunklineCarsLoadScanVOS.forEach(trunklineCarsLoadScanVO -> { + String scanCode = trunklineCarsLoadScanVO.getScanCode(); + Integer num = trunklineCarsLoadScanVO.getNum(); + Integer unloadNum1 = trunklineCarsLoadScanVO.getUnloadNum(); + if(Objects.isNull(unloadNum1)){ + unloadNum1 = 0; + } + String price = priceMap.get(scanCode); + if(StrUtil.isBlank(price)){ + price = "0"; + } + String oneVolume = volumeMap.get(scanCode); + if(StrUtil.isBlank(oneVolume)){ + oneVolume = "0"; + } + String oneWeight = weightMap.get(scanCode); + if(StrUtil.isBlank(oneWeight)){ + oneWeight = "0"; + } + totalIncomingParice.set(totalIncomingParice.get().add(new BigDecimal(price).multiply(new BigDecimal(unloadNum1)))); + totalVolume.set(totalVolume.get().add(new BigDecimal(oneVolume).multiply(new BigDecimal(unloadNum1)))); + totalWeight.set(totalWeight.get().add(new BigDecimal(oneWeight).multiply(new BigDecimal(unloadNum1)))); + + }); + } + }); + + carsLoadOrderInfoVO.setUnloadIncome(totalIncomingParice.get()); + carsLoadOrderInfoVO.setWeight(totalWeight.get()); + carsLoadOrderInfoVO.setVolume(totalVolume.get()); + resulOrderList.add(carsLoadOrderInfoVO); + }); + } + + TrunklineCostShareRecordEntity costShareRecordEntity = trunklineCostShareRecordService.findTotalUnloadNumByLoadAndWaybillNo(loadId, waybillNo); + carsLoadWaybillInfoVO.setCostPiece(costShareRecordEntity.getCostPiece()); + carsLoadWaybillInfoVO.setCostZhang(costShareRecordEntity.getCostZhang()); + carsLoadWaybillInfoVO.setCostNum(costShareRecordEntity.getNum()); + + + carsLoadWaybillInfoVO.setCarsLoadOrderInfoList(resulOrderList); + carsLoadWaybillInfoVOList.add(carsLoadWaybillInfoVO); + }); + + //无系统编码的数据 + CarsLoadWaybillInfoVO noWaybillNoCarsLoadWaybillInfoVO = new CarsLoadWaybillInfoVO(); + noWaybillNoCarsLoadWaybillInfoVO.setCheckStatus(0); + noWaybillNoCarsLoadWaybillInfoVO.setWaybillNum(0); + noWaybillNoCarsLoadWaybillInfoVO.setTotalVolume(BigDecimal.ZERO); + noWaybillNoCarsLoadWaybillInfoVO.setTotalWeight(BigDecimal.ZERO); + noWaybillNoCarsLoadWaybillInfoVO.setWaybillType(1); + noWaybillNoCarsLoadWaybillInfoVO.setTotalFreight(BigDecimal.ZERO); + noWaybillNoCarsLoadWaybillInfoVO.setDeliveryFee(BigDecimal.ZERO); + noWaybillNoCarsLoadWaybillInfoVO.setPickupFee(BigDecimal.ZERO); + noWaybillNoCarsLoadWaybillInfoVO.setWarehouseManagementFee(BigDecimal.ZERO); + noWaybillNoCarsLoadWaybillInfoVO.setStorageFee(BigDecimal.ZERO); + noWaybillNoCarsLoadWaybillInfoVO.setSortingFee(BigDecimal.ZERO); + noWaybillNoCarsLoadWaybillInfoVO.setHandlingFee(BigDecimal.ZERO); + noWaybillNoCarsLoadWaybillInfoVO.setOtherFee(BigDecimal.ZERO); + noWaybillNoCarsLoadWaybillInfoVO.setInsuranceFee(BigDecimal.ZERO); + noWaybillNoCarsLoadWaybillInfoVO.setTotalFee(BigDecimal.ZERO); + noWaybillNoCarsLoadWaybillInfoVO.setCostPiece(BigDecimal.ZERO); + noWaybillNoCarsLoadWaybillInfoVO.setCostZhang(BigDecimal.ZERO); + noWaybillNoCarsLoadWaybillInfoVO.setCostNum(0); + + + List noWaybillOrderList = new ArrayList<>(); + //把noWaybillLoadScanList通过orderCode分组 + Map> noWaybillNoTrunklineCarsLoadScanMapByOrderCode = noWaybillLoadScanList.stream().collect(Collectors.groupingBy(TrunklineCarsLoadScanVO::getOrderCode)); + noWaybillNoTrunklineCarsLoadScanMapByOrderCode.keySet().forEach(orderCode -> { + List trunklineCarsLoadScanVOS = noWaybillNoTrunklineCarsLoadScanMapByOrderCode.get(orderCode); + //把trunklineCarsLoadScanVOS中所有元素的num加起来,如果num为空则用0代替 + Integer loadingNum = trunklineCarsLoadScanVOS.stream().map(TrunklineCarsLoadScanVO::getNum).reduce(0, Integer::sum); + Integer unloadNum = trunklineCarsLoadScanVOS.stream().map(TrunklineCarsLoadScanVO::getUnloadNum).reduce(0, Integer::sum); + Integer signNum = trunklineCarsLoadScanVOS.stream().filter(t-> t.getScanStatus().equals("3")).map(TrunklineCarsLoadScanVO::getUnloadNum).reduce(0, Integer::sum); + + + CarsLoadOrderInfoVO carsLoadOrderInfoVO = new CarsLoadOrderInfoVO(); + carsLoadOrderInfoVO.setOrderCode(orderCode); + carsLoadOrderInfoVO.setOrderNum(0); + carsLoadOrderInfoVO.setPlanNum(0); + carsLoadOrderInfoVO.setLoadingNum(loadingNum); + carsLoadOrderInfoVO.setUnloadNum(unloadNum); + carsLoadOrderInfoVO.setSignNum(signNum); + carsLoadOrderInfoVO.setUnloadIncome(BigDecimal.ZERO); + carsLoadOrderInfoVO.setCostPiece(BigDecimal.ZERO); + carsLoadOrderInfoVO.setCostPiece(BigDecimal.ZERO); + carsLoadOrderInfoVO.setWeight(BigDecimal.ZERO); + carsLoadOrderInfoVO.setVolume(BigDecimal.ZERO); + carsLoadOrderInfoVO.setIncome(BigDecimal.ZERO); + carsLoadOrderInfoVO.setOrderFreight(freightPrice.multiply(new BigDecimal(unloadNum))); + noWaybillOrderList.add(carsLoadOrderInfoVO); + }); + + noWaybillNoCarsLoadWaybillInfoVO.setCarsLoadOrderInfoList(noWaybillOrderList); + + //对元素中的waybillNo进行倒序排序 + carsLoadWaybillInfoVOList.sort(Comparator.comparing(CarsLoadWaybillInfoVO::getWaybillNo).reversed()); + + carsLoadWaybillInfoVOList.add(noWaybillNoCarsLoadWaybillInfoVO); + + trunklineCarsLoadVO.setCarsLoadWaybillInfoList(carsLoadWaybillInfoVOList); + + return R.data(trunklineCarsLoadVO); + } + + @Override public R carsLoadDetailInfo(LoadCarsDTO loadCarsDTO) { Long loadId = loadCarsDTO.getLoadId(); @@ -9194,6 +9492,9 @@ public class TrunklineCarsLoadServiceImpl extends BaseServiceImpl pageList = baseMapper.exportCarsPageList(loadCarsDTO); + List pageList = baseMapper.exportCarsPageList(loadCarsDTO); return pageList; } + @Transactional(rollbackFor = Exception.class) + @Override + public R syncNoSystemData(Long loadId, Long warehouseId,String warehouseName) { + + String key = "syncNoSystemData:"+loadId+":"+warehouseId; + + Boolean exists = bladeRedis.exists(key); + if(exists){ + return R.fail("正在同步中,请勿重复操作"); + }else{ + bladeRedis.set(key,"1"); + } + + + TrunklineCarsLoadEntity carsLoadEntity = baseMapper.selectById(loadId); + if(Objects.isNull(carsLoadEntity)){ + log.warn("###########syncNoSystemData: 配载计划不存在 loadId={}",loadId); + return R.fail(405,"配载计划不存在"); + } + + + List carsLoadScanEntities = trunklineCarsLoadScanService.findUnloadNoDataList(loadId,warehouseId); + //把carsLoadScanEntities中所有元素的scanCode放入一个Set集合 + Set scanCodeSet = carsLoadScanEntities.stream().map(TrunklineCarsLoadScanEntity::getScanCode).collect(Collectors.toSet()); + + log.info("###############syncNoSystemData: 当前同步的数据 {}",scanCodeSet); + + List scanCodeList = new ArrayList<>(scanCodeSet); + + List allAdvanceDetailList = new ArrayList<>(); + + int packageBatchSize = 500; + List> orderPackageCodeGroups = new ArrayList<>(); + + for (int i = 0; i < scanCodeList.size(); i += packageBatchSize) { + int endIndex = Math.min(i + packageBatchSize, scanCodeList.size()); + orderPackageCodeGroups.add(scanCodeList.subList(i, endIndex)); + } + + orderPackageCodeGroups.forEach(orderPackageCodeGroup -> { + List advanceDetailEntityList = trunklineAdvanceDetailService.findListByOrderPackageCodeList(orderPackageCodeGroup); + allAdvanceDetailList.addAll(advanceDetailEntityList); + }); + + //把allAdvanceDetailList转化成orderPackageCode为key的Map + Map advanceDetailMap = allAdvanceDetailList.stream().collect(Collectors.toMap(TrunklineAdvanceDetailEntity::getOrderPackageCode, Function.identity())); + + List updateScanList = new ArrayList<>(); + List incomingAdvanceDetailList = new ArrayList<>(); + List udateAdvanceDetailList = new ArrayList<>(); + Set orderPackageCodeSet = new HashSet<>(); + + carsLoadScanEntities.forEach(carsLoadScanEntity -> { + String orderPackageCode = carsLoadScanEntity.getScanCode(); + TrunklineAdvanceDetailEntity trunklineAdvanceDetailEntity = advanceDetailMap.get(orderPackageCode); + if(!Objects.isNull(trunklineAdvanceDetailEntity)){ + orderPackageCodeSet.add(orderPackageCode); + TrunklineCarsLoadScanEntity updateScanEntity = new TrunklineCarsLoadScanEntity(); + updateScanEntity.setId(carsLoadScanEntity.getId()); + + String packageStatus = trunklineAdvanceDetailEntity.getPackageStatus(); + if(packageStatus.equals("0")){ + updateScanEntity.setFromWarehouseId(trunklineAdvanceDetailEntity.getWarehouseId()); + incomingAdvanceDetailList.add(trunklineAdvanceDetailEntity); + }else{ + updateScanEntity.setFromWarehouseId(trunklineAdvanceDetailEntity.getNowWarehouseId()); + udateAdvanceDetailList.add(trunklineAdvanceDetailEntity); + } + updateScanEntity.setOrderCode(trunklineAdvanceDetailEntity.getOrderCode()); + updateScanEntity.setWaybillId(trunklineAdvanceDetailEntity.getWaybillId()); + updateScanEntity.setWaybillNo(trunklineAdvanceDetailEntity.getWaybillNo()); + updateScanEntity.setIsData(1); + updateScanList.add(updateScanEntity); + } + }); + + if(CollUtil.isNotEmpty(incomingAdvanceDetailList)){ + + for (TrunklineAdvanceDetailEntity trunklineAdvanceDetailEntity : incomingAdvanceDetailList) { + InComingDTO inComingDTO = new InComingDTO(); + inComingDTO.setOrderPackageCode(trunklineAdvanceDetailEntity.getOrderPackageCode()); + inComingDTO.setIncomingType(IncomingTypeEnum.SYNC_INCOMING.getCode()); + inComingDTO.setWarehouseId(warehouseId); + R r = inComingService.incomingPackage(inComingDTO); + if(r.getCode() != 200){ + throw new CustomerException(405,"入库失败"); + } + } + } + + if(CollUtil.isNotEmpty(udateAdvanceDetailList)){ + List updateParceList = new ArrayList<>(); + udateAdvanceDetailList.forEach(trunklineAdvanceDetailEntity -> { + String orderPackageCode = trunklineAdvanceDetailEntity.getOrderPackageCode(); + List list = distributionParcelListClient.findListByOrderPackageCodeAndStatus(orderPackageCode,"20"); + //把list通过warehouseId进行分组 + + if(CollUtil.isNotEmpty(list)){ + list.forEach(distributionParcelListEntity -> { + DistributionParcelListEntity updateEntity = new DistributionParcelListEntity(); + updateEntity.setId(distributionParcelListEntity.getId()); + updateEntity.setOrderPackageStatus("60"); + updateParceList.add(updateEntity); + }); + } + + }); + distributionParcelListClient.updateList(updateParceList); + + advanceService.saveOrderAndPackages(udateAdvanceDetailList, warehouseId); + + List updateNowWarehouseList = new ArrayList<>(); + udateAdvanceDetailList.forEach(trunklineAdvanceDetailEntity -> { + TrunklineAdvanceDetailEntity updateEntity = new TrunklineAdvanceDetailEntity(); + updateEntity.setId(trunklineAdvanceDetailEntity.getId()); + updateEntity.setNowWarehouseId(warehouseId); + updateEntity.setNowWarehouseName(warehouseName); + updateNowWarehouseList.add(updateEntity); + }); + + trunklineAdvanceDetailService.updateBatchById(updateNowWarehouseList); + } + + trunklineCarsLoadScanService.updateBatchById(updateScanList); + + int i= 0; + + //完结所有包件异常列表 + if(CollUtil.isNotEmpty(orderPackageCodeSet)){ + i = orderPackageCodeSet.size(); + DealWithAbnormalVO dealWithAbnormalVO = new DealWithAbnormalVO(); + dealWithAbnormalVO.setOrderPackageCodes(new ArrayList<>(orderPackageCodeSet)); + dealWithAbnormalVO.setCarsNo(carsLoadEntity.getCarsNo()); + dealWithAbnormalVO.setWarehouseName(warehouseName); + dealWithAbnormalVO.setNickName(AuthUtil.getNickName()); + abnormalRecordClient.dealwithOrderPackageCodes(dealWithAbnormalVO); + } + + bladeRedis.del(key); + return R.success("同步成功"+i+"条"); + } + @Override public R unloadZero(Long carsLoadScanId,Long loadId, String waybillNo, Integer enterNun, Long warehouseId, Integer unbindTray, String trayCode, String orderCode, String remark,String unloadTrayName,String unloadTrayCode,List zeroPackageList) { @@ -11159,3 +11607,5 @@ public class TrunklineCarsLoadServiceImpl extends BaseServiceImpl waybillIds) { warehouseWaybillService.deleteByWaybillIds(waybillIds); } + + @Override + public List findWaybillVOByWaybillNoSet(Set allWaybillNoSet) { + return warehouseWaybillService.findWaybillVOByWaybillNoSet(allWaybillNoSet); + } } diff --git a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/mapper/WarehouseWaybillMapper.java b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/mapper/WarehouseWaybillMapper.java index e0f0dabd6..71d779938 100644 --- a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/mapper/WarehouseWaybillMapper.java +++ b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/mapper/WarehouseWaybillMapper.java @@ -28,6 +28,7 @@ import com.logpm.warehouse.vo.WarehouseWaybillVO; import org.apache.ibatis.annotations.Param; import java.util.List; +import java.util.Set; /** * 运单表 Mapper 接口 @@ -76,4 +77,6 @@ public interface WarehouseWaybillMapper extends BaseMapper financeWaybillListExport(@Param("param") WarehouseWaybillDTO waybillDTO); void deleteByWaybillIds(@Param("waybillIds") List waybillIds); + + List findWaybillVOByWaybillNoSet(@Param("waybillNos") Set allWaybillNoSet); } diff --git a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/mapper/WarehouseWaybillMapper.xml b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/mapper/WarehouseWaybillMapper.xml index 41992bae3..3cba6bc91 100644 --- a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/mapper/WarehouseWaybillMapper.xml +++ b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/mapper/WarehouseWaybillMapper.xml @@ -1162,4 +1162,46 @@ + + diff --git a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/IWarehouseWaybillService.java b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/IWarehouseWaybillService.java index cb9005bee..8235468c2 100644 --- a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/IWarehouseWaybillService.java +++ b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/IWarehouseWaybillService.java @@ -18,6 +18,7 @@ import org.springblade.core.tool.api.R; import java.util.List; import java.util.Map; +import java.util.Set; /** * 运单;(logpm_mainline_waybill)表服务接口 @@ -88,4 +89,6 @@ public interface IWarehouseWaybillService extends BaseService financeWaybillListExport(WarehouseWaybillDTO waybillDTO); void deleteByWaybillIds(List waybillIds); + + List findWaybillVOByWaybillNoSet(Set allWaybillNoSet); } diff --git a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseWaybillServiceImpl.java b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseWaybillServiceImpl.java index 8027e8c2e..d482df0c1 100644 --- a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseWaybillServiceImpl.java +++ b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseWaybillServiceImpl.java @@ -1177,4 +1177,9 @@ public class WarehouseWaybillServiceImpl extends BaseServiceImpl waybillIds) { baseMapper.deleteByWaybillIds(waybillIds); } + + @Override + public List findWaybillVOByWaybillNoSet(Set allWaybillNoSet) { + return baseMapper.findWaybillVOByWaybillNoSet(allWaybillNoSet); + } } From dfff03020fbb9124346ee8310f80ca15f140f356 Mon Sep 17 00:00:00 2001 From: zhaoqiaobo <583671871@qq.com> Date: Thu, 31 Oct 2024 22:12:31 +0800 Subject: [PATCH 08/10] =?UTF-8?q?feat(all):=20=E9=87=91=E7=89=8C=E5=B7=A5?= =?UTF-8?q?=E5=8E=82=E8=AE=A2=E5=8D=95=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1 修改金牌回传逻辑 --- .../jinpai/entity/FactoryNodePushEntity.java | 10 ++++++++++ .../logpm/factorydata/jinpai/enums/NodeNeedEnums.java | 1 + .../factorydata/jinpai/mq/NodeDataPushListener.java | 9 +++++++-- .../jinpai/service/impl/DeliveryNoteServiceImpl.java | 6 ++++-- 4 files changed, 22 insertions(+), 4 deletions(-) diff --git a/blade-service/logpm-factory-data/logpm-factory-data-jinpai/src/main/java/com/logpm/factorydata/jinpai/entity/FactoryNodePushEntity.java b/blade-service/logpm-factory-data/logpm-factory-data-jinpai/src/main/java/com/logpm/factorydata/jinpai/entity/FactoryNodePushEntity.java index 29e9cc511..ee897e756 100644 --- a/blade-service/logpm-factory-data/logpm-factory-data-jinpai/src/main/java/com/logpm/factorydata/jinpai/entity/FactoryNodePushEntity.java +++ b/blade-service/logpm-factory-data/logpm-factory-data-jinpai/src/main/java/com/logpm/factorydata/jinpai/entity/FactoryNodePushEntity.java @@ -50,11 +50,21 @@ public class FactoryNodePushEntity extends BaseEntity { */ @ApiModelProperty(name = "预留5", notes = "") private String reserve5; + /** + * 类型(仓配stock/干线carrier) + */ + @ApiModelProperty(name = "类型(仓配stock/干线carrier)", notes = "") + private String type; /** * 订单号 */ @ApiModelProperty(name = "订单号", notes = "") private String orderCode; + /** + * 仓库 + */ + @ApiModelProperty(name = "仓库", notes = "") + private String warehouse; /** * 运单 */ diff --git a/blade-service/logpm-factory-data/logpm-factory-data-jinpai/src/main/java/com/logpm/factorydata/jinpai/enums/NodeNeedEnums.java b/blade-service/logpm-factory-data/logpm-factory-data-jinpai/src/main/java/com/logpm/factorydata/jinpai/enums/NodeNeedEnums.java index cc2d200fc..89b5d939d 100644 --- a/blade-service/logpm-factory-data/logpm-factory-data-jinpai/src/main/java/com/logpm/factorydata/jinpai/enums/NodeNeedEnums.java +++ b/blade-service/logpm-factory-data/logpm-factory-data-jinpai/src/main/java/com/logpm/factorydata/jinpai/enums/NodeNeedEnums.java @@ -21,6 +21,7 @@ public enum NodeNeedEnums implements Serializable { * 包件入库 */ // END_WAREHOUSE_UNLOADING(105040, "末端仓卸车确认"), + INITIAL_WAREHOUSE_ENTRY(101020, "始发仓入库"), UNLOAD_INCOMING_WAREHOUSE(105010, "卸车入库"), ; diff --git a/blade-service/logpm-factory-data/logpm-factory-data-jinpai/src/main/java/com/logpm/factorydata/jinpai/mq/NodeDataPushListener.java b/blade-service/logpm-factory-data/logpm-factory-data-jinpai/src/main/java/com/logpm/factorydata/jinpai/mq/NodeDataPushListener.java index ad47cb057..552580866 100644 --- a/blade-service/logpm-factory-data/logpm-factory-data-jinpai/src/main/java/com/logpm/factorydata/jinpai/mq/NodeDataPushListener.java +++ b/blade-service/logpm-factory-data/logpm-factory-data-jinpai/src/main/java/com/logpm/factorydata/jinpai/mq/NodeDataPushListener.java @@ -214,6 +214,8 @@ public class NodeDataPushListener { // 保存推送记录 factoryNodePushService.save(FactoryNodePushEntity.builder() .orderCode(orderCode) + .type(arriveFor) + .warehouse(StrUtil.equals(arriveFor, "stock") ? filterDatum.getWarehouseName() : null) .node(FactoryNodeEnums.END_WAREHOUSE_UNLOADING.getCode().toString()) .content(JSONUtil.toJsonStr(js)) .packageCode(packageCode) @@ -269,6 +271,9 @@ public class NodeDataPushListener { // 保存推送记录 factoryNodePushService.save(FactoryNodePushEntity.builder() .orderCode(sendOrderCode) + .type(arriveFor) + // 仓配数据记录仓库 + .warehouse(StrUtil.equals(arriveFor, "stock") ? filterDatum.getWarehouseName() : null) .transportNo(transportNo) .node(FactoryNodeEnums.FINAL_NET_ARRIVE_CAR.getCode().toString()) .content(JSONUtil.toJsonStr(js)) @@ -294,8 +299,8 @@ public class NodeDataPushListener { .exchange(FactoryDataConstants.Mq.Exchanges.NODE_DATA_PUSH_DELAYED) .routingKey(FactoryDataConstants.Mq.RoutingKeys.JP_NODE_DATA_PUSH) .message(JSONUtil.toJsonStr(nodePushMsg, HutoolConfigUtil.jsonConfigByDataTimeFormat())) - // 3-10秒随机 - .delay(1000 * RandomUtil.randomInt(3, 11)) + // 30-109秒随机 + .delay(1000 * RandomUtil.randomInt(30, 110)) .build()); } } diff --git a/blade-service/logpm-factory-data/logpm-factory-data-jinpai/src/main/java/com/logpm/factorydata/jinpai/service/impl/DeliveryNoteServiceImpl.java b/blade-service/logpm-factory-data/logpm-factory-data-jinpai/src/main/java/com/logpm/factorydata/jinpai/service/impl/DeliveryNoteServiceImpl.java index f263e0c9c..6e04e5095 100644 --- a/blade-service/logpm-factory-data/logpm-factory-data-jinpai/src/main/java/com/logpm/factorydata/jinpai/service/impl/DeliveryNoteServiceImpl.java +++ b/blade-service/logpm-factory-data/logpm-factory-data-jinpai/src/main/java/com/logpm/factorydata/jinpai/service/impl/DeliveryNoteServiceImpl.java @@ -479,8 +479,10 @@ public class DeliveryNoteServiceImpl extends BaseServiceImpl Date: Thu, 31 Oct 2024 22:15:45 +0800 Subject: [PATCH 09/10] =?UTF-8?q?feat(all):=20=E4=BB=93=E5=BA=93=E8=BF=90?= =?UTF-8?q?=E5=8D=95=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1 删除无用包 --- .../warehouse/service/impl/WarehouseWaybillServiceImpl.java | 1 - 1 file changed, 1 deletion(-) diff --git a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseWaybillServiceImpl.java b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseWaybillServiceImpl.java index c7800d4d3..8b825c2ca 100644 --- a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseWaybillServiceImpl.java +++ b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseWaybillServiceImpl.java @@ -44,7 +44,6 @@ import com.logpm.warehouse.vo.FinanceWaybillVO; import com.logpm.warehouse.vo.WarehouseWaybillVO; import lombok.AllArgsConstructor; import lombok.extern.log4j.Log4j2; -import org.codehaus.groovy.util.ListHashMap; import org.springblade.common.constant.DictBizConstant; import org.springblade.common.constant.OldSystemDataPushConfig; import org.springblade.common.constant.TenantNum; From f51375ebf7fb655d2b8a7e1086a65053ad7bf97d Mon Sep 17 00:00:00 2001 From: zhenghaoyu Date: Thu, 31 Oct 2024 22:16:58 +0800 Subject: [PATCH 10/10] =?UTF-8?q?1.=E5=B9=B2=E7=BA=BFbug=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/OpenOrderServiceImpl.java | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/OpenOrderServiceImpl.java b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/OpenOrderServiceImpl.java index e03d514bc..828e15788 100644 --- a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/OpenOrderServiceImpl.java +++ b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/OpenOrderServiceImpl.java @@ -4327,18 +4327,25 @@ public class OpenOrderServiceImpl implements IOpenOrderService { log.warn("##########cancleCheckWaybill: 运单信息不存在 waybillId={}",waybillId); return R.fail(405,"运单信息不存在"); } + + String payWay = waybillEntity.getPayWay(); + Integer checkStatus = waybillEntity.getCheckStatus(); if(checkStatus.equals(0)){ log.warn("##########cancleCheckWaybill: 运单还未审核 waybillId={} checkStatus={}",waybillId,checkStatus); return R.fail(405,"运单还未审核"); } -// List orderCodes = distributionParcelListClient.findOrderCodeByWaybillId(waybillId); -// List reservationIds = reservationStockarticleClient.findReservationIdsByOrderCodes(orderCodes); -// if(CollUtil.isNotEmpty(reservationIds)){ -// log.warn("##########cancleCheckWaybill: 运单已有配送计划 waybillId={}",waybillId); -// return R.fail(405,"运单已有配送计划"); -// } + if("1".equals(payWay)||"2".equals(payWay)){ + List orderCodes = distributionParcelListClient.findOrderCodeByWaybillId(waybillId); + List reservationIds = reservationStockarticleClient.findReservationIdsByOrderCodes(orderCodes); + if(CollUtil.isNotEmpty(reservationIds)){ + log.warn("##########cancleCheckWaybill: 运单已有配送计划 waybillId={}",waybillId); + return R.fail(405,"运单已有配送计划"); + } + } + + //判断结算单是否有生成 // Integer status = orderInfoClient.findCreateRencilitionOrderStatus(waybillId);