From 8f8eed75beb5bb9b66f2a87de856f2dbf11e6ffe Mon Sep 17 00:00:00 2001
From: 张世豪 <979909237@qq.com>
Date: 星期四, 20 十一月 2025 20:29:36 +0800
Subject: [PATCH] 修改
---
src/chushihua/SlotManager.java | 93 ++++++++++++++++++++++++++++++----------------
1 files changed, 60 insertions(+), 33 deletions(-)
diff --git a/src/chushihua/SlotManager.java b/src/chushihua/SlotManager.java
index 00fbd7c..19ce442 100644
--- a/src/chushihua/SlotManager.java
+++ b/src/chushihua/SlotManager.java
@@ -273,15 +273,19 @@
* 鏂板锛氭牴鎹覆鍙e崗璁В鏋愬櫒鐨勭姸鎬佹洿鏂版潵鏇存柊鍗℃Ы璇︾粏淇℃伅 - 浼樺寲鐗堟湰
*/
public static boolean gengxinshuxingzhi(
- int slotNumber, String cardNumber, String hascard, String workStatus,String voltage, String current,String falt ) {
+ int slotNumber, String cardNumber, String hascard, String workStatus,
+ String voltage, String current, String falt) {
-
- if (!isValidSlotNumber(slotNumber) || cardNumber.equals("0000")) {
+ if (!isValidSlotNumber(slotNumber)) {
return false;
}
-
Fkj slot = slotArray[slotNumber-1];
+
+ // 鑾峰彇鏇存柊鍓嶇殑鍗″彿鐢ㄤ簬姣旇緝
+ String oldCardNumber = slot.getCardNumber();
+
+ // 鏇存柊鍗℃Ы灞炴��
slot.setCardNumber(cardNumber);
slot.setHasCard(hascard);
slot.setWorkStatus(workStatus);
@@ -290,6 +294,10 @@
slot.setFault(falt);
// 鏇存柊鏃堕棿
slot.setUpdateTime(getCurrentTime());
+
+ // 妫�娴嬪崱鍙峰彉鍖栧苟寮瑰嚭鎻愮ず
+ checkCardInsertionAndShowDialog(slotNumber, oldCardNumber, cardNumber);
+
return true;
}
@@ -448,19 +456,19 @@
System.out.println("鐘舵�佺紦瀛樺ぇ灏�: " + statusTextCache.size());
System.out.println("鏁呴殰缂撳瓨澶у皬: " + faultTextCache.size());
}
-
+
/**
* 缁熻鍏呯數涓殑鍗℃Ы鏁伴噺
* @return 鍏呯數涓殑鍗℃Ы鏁伴噺瀛楃涓�
*/
public static String getChargingCount() {
- int count = 0;
- for (Fkj slot : slotArray) {
- if ("2".equals(slot.getWorkStatus())) {
- count++;
- }
- }
- return String.valueOf(count);
+ int count = 0;
+ for (Fkj slot : slotArray) {
+ if ("2".equals(slot.getWorkStatus())) {
+ count++;
+ }
+ }
+ return String.valueOf(count);
}
/**
@@ -468,13 +476,13 @@
* @return 宸插厖婊$殑鍗℃Ы鏁伴噺瀛楃涓�
*/
public static String getFullyChargedCount() {
- int count = 0;
- for (Fkj slot : slotArray) {
- if ("3".equals(slot.getWorkStatus())) {
- count++;
- }
- }
- return String.valueOf(count);
+ int count = 0;
+ for (Fkj slot : slotArray) {
+ if ("3".equals(slot.getWorkStatus())) {
+ count++;
+ }
+ }
+ return String.valueOf(count);
}
/**
@@ -482,13 +490,13 @@
* @return 鏁呴殰鐨勫崱妲芥暟閲忓瓧绗︿覆
*/
public static String getFaultCount() {
- int count = 0;
- for (Fkj slot : slotArray) {
- if ("4".equals(slot.getWorkStatus())) {
- count++;
- }
- }
- return String.valueOf(count);
+ int count = 0;
+ for (Fkj slot : slotArray) {
+ if ("4".equals(slot.getWorkStatus())) {
+ count++;
+ }
+ }
+ return String.valueOf(count);
}
/**
@@ -496,12 +504,31 @@
* @return 閫氫俊瓒呮椂鐨勫崱妲芥暟閲忓瓧绗︿覆
*/
public static String getCommTimeoutCount() {
- int count = 0;
- for (Fkj slot : slotArray) {
- if ("6".equals(slot.getWorkStatus())) {
- count++;
- }
- }
- return String.valueOf(count);
+ int count = 0;
+ for (Fkj slot : slotArray) {
+ if ("6".equals(slot.getWorkStatus())) {
+ count++;
+ }
+ }
+ return String.valueOf(count);
+ }
+
+ /**
+ * 鏂板锛氭娴嬪崱鍙峰彉鍖栧苟寮瑰嚭杩樺崱鎴愬姛鎻愮ず
+ */
+ private static void checkCardInsertionAndShowDialog(int slotNumber, String oldCardNumber, String newCardNumber) {
+ // 妫�鏌ュ崱鍙锋槸鍚︿粠"0000"鍙樹负闈�"0000"
+ if ("0000".equals(oldCardNumber) && !"0000".equals(newCardNumber)) {
+ // 鍦ㄤ簨浠跺垎鍙戠嚎绋嬩腑鏄剧ず瀵硅瘽妗�
+ javax.swing.SwingUtilities.invokeLater(() -> {
+ xitongshezhi.Dingshidialog.showTimedDialog(
+ null, // 鐖剁獥鍙o紝鍙互涓簄ull
+ 5, // 鏄剧ず3绉�
+ "杩樺崱鎴愬姛锛屾劅璋㈡偍鐨勪娇鐢�",
+ "" // 闊抽鏂囦欢锛屽彲浠ヤ负绌�
+ );
+ });
+ System.out.println("鍗℃Ы " + slotNumber + " 杩樺崱鎴愬姛锛屽崱鍙蜂粠 " + oldCardNumber + " 鍙樹负 " + newCardNumber);
+ }
}
}
\ No newline at end of file
--
Gitblit v1.9.3