From ac17b759bbc50845daa5e79e5704a9ed5de9208d Mon Sep 17 00:00:00 2001 From: "DESKTOP-064TTA1\\Fai LUK" Date: Fri, 27 Mar 2026 11:22:55 +0800 Subject: [PATCH] no message --- .../service/PlasticBagPrinterService.kt | 20 ++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/ffii/fpsms/modules/jobOrder/service/PlasticBagPrinterService.kt b/src/main/java/com/ffii/fpsms/modules/jobOrder/service/PlasticBagPrinterService.kt index 81db7bf..dcfd186 100644 --- a/src/main/java/com/ffii/fpsms/modules/jobOrder/service/PlasticBagPrinterService.kt +++ b/src/main/java/com/ffii/fpsms/modules/jobOrder/service/PlasticBagPrinterService.kt @@ -831,7 +831,17 @@ class PlasticBagPrinterService( ): Pair { return when (printerType.lowercase()) { "dataflex" -> checkTcpPrinter(printerIp, printerPort ?: 3008, "DataFlex") - "laser" -> checkTcpPrinter(printerIp, printerPort ?: 45678, "Laser") + // - /bagPrint: sends browser localStorage laser IP (may differ from DB — second machine). + // - /laserPrint: omit printerIp → use DB LASER_PRINT.* (same as sendLaserBag2Job). + // - Explicit empty string → not configured (do not fall back to DB). + "laser" -> { + val trimmed = printerIp?.trim().orEmpty() + when { + trimmed.isNotEmpty() -> checkTcpPrinter(trimmed, printerPort ?: 45678, "Laser") + printerIp == null -> checkTcpPrinter(resolveLaserBag2Host(), resolveLaserBag2Port(), "Laser") + else -> false to "Laser IP is not configured" + } + } "label" -> { val comPort = labelCom?.trim().orEmpty() if (comPort.isBlank()) { @@ -853,14 +863,14 @@ class PlasticBagPrinterService( return try { Socket().use { socket -> socket.connect(InetSocketAddress(ip, port), 3000) - true to "$printerName connected" + true to "$printerName 已連線($ip:$port)" } } catch (e: SocketTimeoutException) { - false to "$printerName connection timed out" + false to "$printerName 連線逾時($ip:$port)" } catch (e: ConnectException) { - false to "$printerName connection refused" + false to "$printerName 無法連線($ip:$port)" } catch (e: Exception) { - false to "$printerName connection failed: ${e.message}" + false to "$printerName 連線失敗($ip:$port):${e.message}" } }