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()); }