From db809365b42a40ce1b6fcf5e6de48d9cee09a6d5 Mon Sep 17 00:00:00 2001 From: dzc <2388224167@qq.com> Date: Mon, 24 Mar 2025 12:29:45 +0800 Subject: [PATCH] =?UTF-8?q?fix:=E6=89=93=E5=8D=B0=E9=80=82=E9=85=8D?= =?UTF-8?q?=E7=A7=B0=E9=87=8D=E5=95=86=E5=93=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../hard/api/vo/order/HardOrderCsVo.java | 4 ++- .../hard/mapper/order/HardOrderMapper.java | 3 +- .../service/impl/HardInvoiceServiceImpl.java | 28 +++++++++++++------ 3 files changed, 24 insertions(+), 11 deletions(-) diff --git a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/vo/order/HardOrderCsVo.java b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/vo/order/HardOrderCsVo.java index 1e7baa4fb..510b50afb 100644 --- a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/vo/order/HardOrderCsVo.java +++ b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/vo/order/HardOrderCsVo.java @@ -7,6 +7,7 @@ import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import java.math.BigDecimal; +import java.time.LocalDate; import java.time.LocalDateTime; @Data @@ -48,7 +49,8 @@ public class HardOrderCsVo implements BaseMchInterface, BaseHardInterface { @Schema(description = "总盈利次数") private BigDecimal totalProfitCount; - private LocalDateTime day; + @Schema(description = "日期") + private String day; /** * 导出相关 diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/mapper/order/HardOrderMapper.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/mapper/order/HardOrderMapper.java index d4999b154..db84d5f7a 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/mapper/order/HardOrderMapper.java +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/mapper/order/HardOrderMapper.java @@ -64,6 +64,7 @@ public interface HardOrderMapper extends PjcloudBaseMapper { .selectAs(HardManagerEntity::getName, HardOrderVo::getHardName) .selectAs(HardManagerEntity::getType, HardOrderVo::getHardType) .leftJoin(HardManagerEntity.class, HardManagerEntity::getId, HardOrderEntity::getHardId) + .eqIfExists(HardOrderEntity::getMerchantId, dto.getMerchantId()) .eqIfExists(HardOrderEntity::getUserId, dto.getUserId()) .eqIfExists(HardOrderEntity::getDeptId, dto.getDeptId()) .eqIfExists(HardOrderEntity::getOrderType, dto.getOrderType()) @@ -97,7 +98,7 @@ public interface HardOrderMapper extends PjcloudBaseMapper { List listCs(@Param("dto") HardOrderDto dto); - List listCsByDay(HardOrderDto totalDto); + List listCsByDay(@Param("dto") HardOrderDto totalDto); List listOrerPayType(@Param("dto") HardOrderDto dto); diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/HardInvoiceServiceImpl.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/HardInvoiceServiceImpl.java index 71c62c7f2..80df851eb 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/HardInvoiceServiceImpl.java +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/HardInvoiceServiceImpl.java @@ -59,6 +59,8 @@ import org.springframework.web.multipart.MultipartFile; import java.io.ByteArrayInputStream; import java.io.IOException; +import java.math.BigDecimal; +import java.math.RoundingMode; import java.util.ArrayList; import java.util.List; import java.util.Map; @@ -170,19 +172,27 @@ public class HardInvoiceServiceImpl extends ServiceImpl { String name = v.getProductName(); - String count = v.getProductCount().toString(); - if (count.length() > 4) { - count = count.substring(0, 4) + "..."; + if (name.length() > 5) name = name.substring(0, 5) + "..."; + // 判断是重量还是数量 + String count = "0"; + if (ObjectUtil.isNotEmpty(v.getProductCount()) && !ObjectUtil.equals(v.getProductCount(), 0)) { + // 按数量 + count = v.getProductCount().toString(); + } else if (ObjectUtil.isNotEmpty(v.getProductWeight()) && v.getProductWeight().compareTo(BigDecimal.valueOf(0)) != 0) { + // 按重量 + count = v.getProductWeight() + "/kg"; } - String totalPrice = String.valueOf((v.getTotalPrice() / 100)); - drawing.drawingRowText(name, count, totalPrice); + BigDecimal totalPrice = BigDecimal.valueOf(v.getTotalPrice()).divide(BigDecimal.valueOf(100), 2, RoundingMode.HALF_UP); + drawing.drawingRowText(name, count, String.valueOf(totalPrice.doubleValue())); }); - String totalPrice = String.valueOf(order.getTotalPrice() / 100); - String amountMealPrice = String.valueOf(order.getExtraPrice() / 100); + + + BigDecimal totalPrice = BigDecimal.valueOf(order.getTotalPrice()).divide(BigDecimal.valueOf(100), 2, RoundingMode.HALF_UP); + BigDecimal amountMealPrice = BigDecimal.valueOf(order.getExtraPrice()).divide(BigDecimal.valueOf(100), 2, RoundingMode.HALF_UP); if (ObjectUtil.isNotEmpty(order.getExtraPrice()) && ObjectUtil.notEqual(order.getExtraPrice(), 0)) { - drawing.drawingRowText("额外支付金额", amountMealPrice); + drawing.drawingRowText("额外支付金额", String.valueOf(amountMealPrice.doubleValue())); } - drawing.drawingRowText("小记", totalPrice).drawingDottedLine(); + drawing.drawingRowText("小记", String.valueOf(totalPrice.doubleValue())).drawingDottedLine(); } String currentTime = LocalDateTimeUtil.format(LocalDateTimeUtil.now(), DatePattern.NORM_DATETIME_PATTERN); drawing.drawingRowText("打印时间", currentTime).drawingDottedLine();