diff --git a/cash-api/order-server/src/main/java/com/czg/mq/PrintMqListener.java b/cash-api/order-server/src/main/java/com/czg/mq/PrintMqListener.java index e608e4a3d..0ac7cdabe 100644 --- a/cash-api/order-server/src/main/java/com/czg/mq/PrintMqListener.java +++ b/cash-api/order-server/src/main/java/com/czg/mq/PrintMqListener.java @@ -12,9 +12,11 @@ import com.czg.order.entity.MqLog; import com.czg.order.entity.SysPrintData; import com.czg.order.service.MqLogService; import com.czg.order.service.SysPrintDataService; +import com.czg.print.StockPrintDTO; import com.czg.service.RedisService; import com.czg.service.order.print.PrintConfig; import com.czg.service.order.print.PrinterHandler; +import com.czg.utils.FunUtils; import jakarta.annotation.Resource; import lombok.extern.slf4j.Slf4j; import org.springframework.amqp.rabbit.annotation.RabbitListener; @@ -100,9 +102,11 @@ public class PrintMqListener { Long shopId = jsonObject.getLong("shopId"); String printTypeEnum = jsonObject.getString("printTypeEnum"); JSONObject data2 = jsonObject.getJSONObject("data"); - JSONArray data3 = null; + JSONArray data3; if (data2 == null) { data3 = jsonObject.getJSONArray("data"); + } else { + data3 = null; } PrinterHandler.PrintTypeEnum typeEnum = PrinterHandler.PrintTypeEnum.valueOf(printTypeEnum); if (typeEnum != PrinterHandler.PrintTypeEnum.HANDOVER) { @@ -117,6 +121,6 @@ public class PrintMqListener { printDataService.save(sysPrintData); rabbitPublisher.sendOtherPrintLocalMsg(shopId, printTypeEnum, sysPrintData.getId()); } - printConfig.otherHandler(shopId, data2, data3, typeEnum); + FunUtils.asyncSafeRunVoid(() -> printConfig.otherHandler(shopId, data2, data3, typeEnum)); } } diff --git a/cash-service/order-service/src/main/java/com/czg/service/order/print/PrinterImpl.java b/cash-service/order-service/src/main/java/com/czg/service/order/print/PrinterImpl.java index d9b9b91d5..3e4e8521b 100644 --- a/cash-service/order-service/src/main/java/com/czg/service/order/print/PrinterImpl.java +++ b/cash-service/order-service/src/main/java/com/czg/service/order/print/PrinterImpl.java @@ -554,10 +554,11 @@ public interface PrinterImpl { List items = record.getItems(); if (CollUtil.isNotEmpty(items)) { for (StockPrintDTO.InStockItem item : items) { - String stockNumber = item.getStockNumber().stripTrailingZeros().toPlainString(); - String amount = item.getAmount().stripTrailingZeros().toPlainString(); + String stockNumber = bdToStr(item.getStockNumber()); + String amount = bdToStr(item.getAmount()); + // 左对齐排版,保证列对齐 - String itemLine = key4(item.getConsName(), item.getUnit(), stockNumber, amount, 11, 9, 7); + String itemLine = key4(item.getConsName(), StrUtil.isBlank(item.getUnit()) ? "" : item.getUnit(), stockNumber, amount, 11, 9, 7); builder.append(formatLabel(itemLine, signLabelInfo.s)).append(signLabelInfo.br); } }