From c4939ee4796c2a55bb3fa59647c750288d145faa Mon Sep 17 00:00:00 2001 From: zjf <1799650030@qq.com> Date: Fri, 19 Sep 2025 15:35:24 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=202.=E5=85=A5=E5=BA=93?= =?UTF-8?q?=E5=8D=95=E5=92=8C=E9=80=80=E8=B4=A7=E5=8D=95=E9=83=BD=E8=A6=81?= =?UTF-8?q?=E6=98=BE=E7=A4=BA=E9=9B=B6=E5=94=AE=E4=BB=B7=E7=9A=84=E4=BB=B7?= =?UTF-8?q?=E6=A0=BC=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../SmErpInventoryRecordsExcelDto.java | 4 +++ .../SmErpInventoryRecordsSummaryExcelDto.java | 10 +++++-- .../SmErpInventoryRecordsServiceImpl.java | 30 ++++++++++++------- 3 files changed, 30 insertions(+), 14 deletions(-) diff --git a/pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/dto/inventoryrecords/SmErpInventoryRecordsExcelDto.java b/pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/dto/inventoryrecords/SmErpInventoryRecordsExcelDto.java index d30aac49f..7f443d80c 100644 --- a/pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/dto/inventoryrecords/SmErpInventoryRecordsExcelDto.java +++ b/pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/dto/inventoryrecords/SmErpInventoryRecordsExcelDto.java @@ -106,6 +106,10 @@ public class SmErpInventoryRecordsExcelDto { @ExcelProperty("货商名称") private String supplierName; + @Schema(description="零售价(元)") + @ExcelProperty("零售价(元)") + private Integer retailPrice; + @Schema(description="单价") @ExcelProperty("单价(元)") private Integer unitPrice; diff --git a/pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/dto/inventoryrecords/SmErpInventoryRecordsSummaryExcelDto.java b/pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/dto/inventoryrecords/SmErpInventoryRecordsSummaryExcelDto.java index 364a61623..2ba26b2ee 100644 --- a/pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/dto/inventoryrecords/SmErpInventoryRecordsSummaryExcelDto.java +++ b/pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/dto/inventoryrecords/SmErpInventoryRecordsSummaryExcelDto.java @@ -71,7 +71,7 @@ public class SmErpInventoryRecordsSummaryExcelDto { */ @Schema(description="入库总金额") @ExcelProperty("总金额(元)") - private Integer totalAmount; + private Double totalAmount; /** * 创建人 @@ -99,8 +99,12 @@ public class SmErpInventoryRecordsSummaryExcelDto { @ExcelProperty("货商名称") private String supplierName; - @Schema(description="汇总单价(元)") - @ExcelProperty("汇总单价(元)") + @Schema(description="零售价(元)") + @ExcelProperty("零售价(元)") + private Double retailPrice; + + @Schema(description="汇总成本单价(元)") + @ExcelProperty("汇总成本单价(元)") private Double averageUnitPrice; @Schema(description="期初库存") diff --git a/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/service/impl/SmErpInventoryRecordsServiceImpl.java b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/service/impl/SmErpInventoryRecordsServiceImpl.java index 0ce371795..f7264e93a 100644 --- a/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/service/impl/SmErpInventoryRecordsServiceImpl.java +++ b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/service/impl/SmErpInventoryRecordsServiceImpl.java @@ -39,6 +39,8 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; +import java.math.BigDecimal; +import java.math.RoundingMode; import java.util.*; import java.util.stream.Collectors; import java.util.stream.DoubleStream; @@ -1013,6 +1015,7 @@ public class SmErpInventoryRecordsServiceImpl extends ServiceImpl 0) { - double averagePrice = (double) summaryDto.getTotalAmount() / summaryDto.getTotalReceiveAmount() / 100.0; // 转换为元 - summaryDto.setAverageUnitPrice(averagePrice); + BigDecimal totalAmount = new BigDecimal(summaryDto.getTotalAmount().toString()); + BigDecimal totalQuantity = new BigDecimal(summaryDto.getTotalReceiveAmount()); + BigDecimal averagePrice = totalAmount.divide(totalQuantity, 2, RoundingMode.HALF_UP); + summaryDto.setAverageUnitPrice(averagePrice.doubleValue()); } } } - // 转换总金额为元 - for (SmErpInventoryRecordsSummaryExcelDto summaryDto : summaryMap.values()) { - if (summaryDto.getTotalAmount() != null) { - summaryDto.setTotalAmount(summaryDto.getTotalAmount() / 100); - } - } + // totalAmount在累加时已经转换为元,无需额外处理 return new ArrayList<>(summaryMap.values()); }