From 818454311fb55dd60261af88b98aaa29557af15a Mon Sep 17 00:00:00 2001 From: jiangpeng Date: Thu, 16 Jul 2026 10:54:14 +0800 Subject: [PATCH] =?UTF-8?q?fix=EF=BC=9A=E7=A1=AC=E4=BB=B6=E7=BB=B4?= =?UTF-8?q?=E4=BF=9D=E6=97=B6=E9=97=B4=E8=AE=A1=E7=AE=97bug=E5=A4=84?= =?UTF-8?q?=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../sip/service/impl/DeliveryListServiceImpl.java | 11 +++++++---- .../service/impl/InventoryDeliveryServiceImpl.java | 10 ++++++---- 2 files changed, 13 insertions(+), 8 deletions(-) diff --git a/ruoyi-sip/src/main/java/com/ruoyi/sip/service/impl/DeliveryListServiceImpl.java b/ruoyi-sip/src/main/java/com/ruoyi/sip/service/impl/DeliveryListServiceImpl.java index 2232b05e..6bc19e51 100644 --- a/ruoyi-sip/src/main/java/com/ruoyi/sip/service/impl/DeliveryListServiceImpl.java +++ b/ruoyi-sip/src/main/java/com/ruoyi/sip/service/impl/DeliveryListServiceImpl.java @@ -12,6 +12,7 @@ import com.ruoyi.common.utils.ShiroUtils; import com.ruoyi.common.utils.StringUtils; import com.ruoyi.sip.domain.OrderList; import com.ruoyi.sip.domain.ProductInfo; +import com.ruoyi.sip.domain.ProjectProductInfo; import com.ruoyi.sip.dto.ApiDataQueryDto; import com.ruoyi.sip.mapper.OrderInfoMapper; import com.ruoyi.sip.mapper.ProductInfoMapper; @@ -225,16 +226,18 @@ public class DeliveryListServiceImpl implements IDeliveryListService { if (CollUtil.isEmpty(serviceInfoList) && ProductInfo.ProductTypeEnum.HARDWARE.getType().equals(deliveryInfoVo.getProductType()) && CollUtil.isNotEmpty(productInfos)) { // 判断是否硬件,如果是硬件取标准维保三年 - int extendedWarrantyYears = 0; for (ProductInfo productInfo : productInfos) { - if (ProductInfo.ProductTypeEnum.SERVICE.getType().equals(productInfo.getType()) && ProductInfo.ProductTypeLevel2ServiceEnum.HARDWARE_QA.getType().equals(productInfo.getLevel2Type()) && StringUtils.isNotEmpty(productInfo.getValue())) { - extendedWarrantyYears += Integer.parseInt(productInfo.getValue()); - } if (ProductInfo.ProductTypeEnum.HARDWARE_MAINTENANCE.getType().equals(productInfo.getType()) && StringUtils.isNotEmpty(productInfo.getValue())) { startTime = updateStartTimeAndAddList(deliveryInfoVo, productInfo, startTime, serviceInfoList); } } + int extendedWarrantyYears = 0; // 将硬件延保时间累加到硬件标准维保时间上 + for (ProductInfo productInfo : productInfoList) { + if (ProductInfo.ProductTypeEnum.SERVICE.getType().equals(productInfo.getType()) && ProductInfo.ProductTypeLevel2ServiceEnum.HARDWARE_QA.getType().equals(productInfo.getLevel2Type()) && StringUtils.isNotEmpty(productInfo.getValue())) { + extendedWarrantyYears += Integer.parseInt(productInfo.getValue()); + } + } if (extendedWarrantyYears > 0 && CollUtil.isNotEmpty(serviceInfoList)) { DeliveryInfoVo.ServiceInfo serviceInfo = serviceInfoList.get(serviceInfoList.size() - 1); serviceInfo.setServiceEndTime(DateUtils.addYears(serviceInfo.getServiceEndTime(), extendedWarrantyYears)); diff --git a/ruoyi-sip/src/main/java/com/ruoyi/sip/service/impl/InventoryDeliveryServiceImpl.java b/ruoyi-sip/src/main/java/com/ruoyi/sip/service/impl/InventoryDeliveryServiceImpl.java index f1c56498..e6b1ec27 100644 --- a/ruoyi-sip/src/main/java/com/ruoyi/sip/service/impl/InventoryDeliveryServiceImpl.java +++ b/ruoyi-sip/src/main/java/com/ruoyi/sip/service/impl/InventoryDeliveryServiceImpl.java @@ -658,11 +658,7 @@ public class InventoryDeliveryServiceImpl implements IInventoryDeliveryService { if (CollUtil.isEmpty(serviceInfoList) && ProductInfo.ProductTypeEnum.HARDWARE.getType().equals(deliveryInfoVo.getProductType()) && CollUtil.isNotEmpty(productInfos)) { // 判断是否硬件,如果是硬件取标准维保三年 - int extendedWarrantyYears = 0; for (ProductInfo productInfo : productInfos) { - if (ProductInfo.ProductTypeEnum.SERVICE.getType().equals(productInfo.getType()) && ProductInfo.ProductTypeLevel2ServiceEnum.HARDWARE_QA.getType().equals(productInfo.getLevel2Type()) && StringUtils.isNotEmpty(productInfo.getValue())) { - extendedWarrantyYears += Integer.parseInt(productInfo.getValue()); - } if (ProductInfo.ProductTypeEnum.HARDWARE_MAINTENANCE.getType().equals(productInfo.getType()) && StringUtils.isNotEmpty(productInfo.getValue())) { ProjectProductInfo projectProductInfo = new ProjectProductInfo(); projectProductInfo.setProductBomCode(productInfo.getProductCode()); @@ -673,6 +669,12 @@ public class InventoryDeliveryServiceImpl implements IInventoryDeliveryService { } } // 将硬件延保时间累加到硬件标准维保时间上 + int extendedWarrantyYears = 0; + for (ProjectProductInfo productInfo : productInfoList) { + if (ProductInfo.ProductTypeEnum.SERVICE.getType().equals(productInfo.getType()) && ProductInfo.ProductTypeLevel2ServiceEnum.HARDWARE_QA.getType().equals(productInfo.getLevel2Type()) && StringUtils.isNotEmpty(productInfo.getValue())) { + extendedWarrantyYears += Integer.parseInt(productInfo.getValue()); + } + } if (extendedWarrantyYears > 0 && CollUtil.isNotEmpty(serviceInfoList)) { DeliveryInfoVo.ServiceInfo serviceInfo = serviceInfoList.get(serviceInfoList.size() - 1); serviceInfo.setServiceEndTime(DateUtils.addYears(serviceInfo.getServiceEndTime(), extendedWarrantyYears));