| bin/.gitignore | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| bin/chushihua/lunxun$PollingTask.class | 补丁 | 查看 | 原始文档 | blame | 历史 | |
| bin/chushihua/lunxun.class | 补丁 | 查看 | 原始文档 | blame | 历史 | |
| bin/home/CardMachineUI.class | 补丁 | 查看 | 原始文档 | blame | 历史 | |
| err.properties | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| log.properties | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/chushihua/lunxun.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/home/CardMachineUI.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
bin/.gitignore
@@ -1,7 +1,5 @@ /jiekou/ /home/ /chushihua/ /xitongshezhi/ /chuankou/ /chushihua/ /home/ /publicway/ /dialog/ /xitongshezhi/ bin/chushihua/lunxun$PollingTask.classBinary files differ
bin/chushihua/lunxun.classBinary files differ
bin/home/CardMachineUI.classBinary files differ
err.properties
@@ -1,2 +1,38 @@ #\u53D1\u5361\u673A\u9519\u8BEF\u8BB0\u5F55 - \u6240\u6709\u8BB0\u5F55\u5DF2\u6E05\u7A7A #Fri Nov 21 19:35:34 CST 2025 #\u64CD\u4F5C\u65E5\u5FD7\u8BB0\u5F55 - \u6700\u540E\u66F4\u65B0: Sat Nov 22 15:43:39 CST 2025 #Sat Nov 22 15:43:39 CST 2025 log_1763789446376_988d7c49=[2025-11-22 13\:30\:46] [13\:30\:46.374] 发送失败,正在重试 (1/2) log_1763789446456_a6ac3722=[2025-11-22 13\:30\:46] [13\:30\:46.456] 发送失败,正在重试 (2/2) log_1763789446514_b6a71823=[2025-11-22 13\:30\:46] [13\:30\:46.514] 发送失败,正在重试 (1/2) log_1763789446569_161a5712=[2025-11-22 13\:30\:46] [13\:30\:46.569] 发送失败,正在重试 (2/2) log_1763789446630_1077c7e6=[2025-11-22 13\:30\:46] [13\:30\:46.630] 发送失败,正在重试 (1/2) log_1763789446684_7cae2d01=[2025-11-22 13\:30\:46] [13\:30\:46.684] 发送失败,正在重试 (2/2) log_1763789446742_b8870ee0=[2025-11-22 13\:30\:46] [13\:30\:46.742] 发送失败,正在重试 (1/2) log_1763789446798_316ed82f=[2025-11-22 13\:30\:46] [13\:30\:46.798] 发送失败,正在重试 (2/2) log_1763789446856_96be7593=[2025-11-22 13\:30\:46] [13\:30\:46.856] 发送失败,正在重试 (1/2) log_1763789446910_a8beea8f=[2025-11-22 13\:30\:46] [13\:30\:46.910] 发送失败,正在重试 (2/2) log_1763789446966_3df74d56=[2025-11-22 13\:30\:46] lunxun连续失败次数过多,暂停轮询 log_1763795783674_8b53ec90=[2025-11-22 15\:16\:23] [15\:16\:23.672] 发送失败,正在重试 (1/2) log_1763795783704_0d7f2bae=[2025-11-22 15\:16\:23] [15\:16\:23.704] 发送失败,正在重试 (1/2) log_1763795783706_764a8720=[2025-11-22 15\:16\:23] [15\:16\:23.705] 发送失败,正在重试 (1/2) log_1763795783707_91d6a74e=[2025-11-22 15\:16\:23] [15\:16\:23.707] 发送失败,正在重试 (1/2) log_1763795783709_453e8e32=[2025-11-22 15\:16\:23] [15\:16\:23.708] 发送失败,正在重试 (1/2) log_1763795783710_9ba2c525=[2025-11-22 15\:16\:23] 连续失败次数过多,暂停轮询 log_1763797334626_04df8243=[2025-11-22 15\:42\:14] 连续失败次数过多,暂停轮询 log_1763797334658_a6c75b5f=[2025-11-22 15\:42\:14] 轮询查询过程中发生异常\: current thread is not owner log_1763797339663_93d1b1d9=[2025-11-22 15\:42\:19] 轮询查询过程中发生异常\: current thread is not owner log_1763797344667_704d7e7d=[2025-11-22 15\:42\:24] 轮询查询过程中发生异常\: current thread is not owner log_1763797349672_ee6dbf12=[2025-11-22 15\:42\:29] 轮询查询过程中发生异常\: current thread is not owner log_1763797354677_c65e7427=[2025-11-22 15\:42\:34] 轮询查询过程中发生异常\: current thread is not owner log_1763797359682_57e9a05f=[2025-11-22 15\:42\:39] 轮询查询过程中发生异常\: current thread is not owner log_1763797364688_043b5709=[2025-11-22 15\:42\:44] 轮询查询过程中发生异常\: current thread is not owner log_1763797369693_f5906191=[2025-11-22 15\:42\:49] 轮询查询过程中发生异常\: current thread is not owner log_1763797374697_b47cdd8c=[2025-11-22 15\:42\:54] 轮询查询过程中发生异常\: current thread is not owner log_1763797379702_ed7100c0=[2025-11-22 15\:42\:59] 轮询查询过程中发生异常\: current thread is not owner log_1763797384707_1c168ae5=[2025-11-22 15\:43\:04] 轮询查询过程中发生异常\: current thread is not owner log_1763797389712_b4cf898c=[2025-11-22 15\:43\:09] 轮询查询过程中发生异常\: current thread is not owner log_1763797394717_0d58d8a9=[2025-11-22 15\:43\:14] 轮询查询过程中发生异常\: current thread is not owner log_1763797399721_2c2dc0d0=[2025-11-22 15\:43\:19] 轮询查询过程中发生异常\: current thread is not owner log_1763797404726_31fbf23a=[2025-11-22 15\:43\:24] 轮询查询过程中发生异常\: current thread is not owner log_1763797409731_5ef27119=[2025-11-22 15\:43\:29] 轮询查询过程中发生异常\: current thread is not owner log_1763797414736_ac54bee3=[2025-11-22 15\:43\:34] 轮询查询过程中发生异常\: current thread is not owner log_1763797419741_8fcdd344=[2025-11-22 15\:43\:39] 轮询查询过程中发生异常\: current thread is not owner log.properties
@@ -1,5 +1,5 @@ #\u64CD\u4F5C\u65E5\u5FD7\u8BB0\u5F55 - \u6700\u540E\u66F4\u65B0: Fri Nov 21 19:36:06 CST 2025 #Fri Nov 21 19:36:06 CST 2025 #\u64CD\u4F5C\u65E5\u5FD7\u8BB0\u5F55 - \u6700\u540E\u66F4\u65B0: Sat Nov 22 15:43:14 CST 2025 #Sat Nov 22 15:43:14 CST 2025 log_1763724957486_7ed8425e=[2025-11-21 19\:35\:57] 取卡操作:卡槽1被管理员取卡 log_1763724957585_8967e0b2=[2025-11-21 19\:35\:57] 取卡操作:卡槽2被管理员取卡 log_1763724957735_6574dba5=[2025-11-21 19\:35\:57] 取卡操作:卡槽3被管理员取卡 @@ -65,3 +65,53 @@ log_1763724963985_8ee47f7c=[2025-11-21 19\:36\:03] 取卡操作:卡槽55被管理员取卡 log_1763724964285_ddff2a15=[2025-11-21 19\:36\:04] 取卡操作:卡槽55被管理员取卡 log_1763724966171_1001bb5c=[2025-11-21 19\:36\:06] 管理员已将全部卡槽已经打开请取卡 log_1763789484180_b8a899e1=[2025-11-22 13\:31\:24] 取卡操作:卡槽3被管理员取卡 log_1763789484496_04c6c8c1=[2025-11-22 13\:31\:24] 取卡操作:卡槽3被管理员取卡 log_1763796570996_9e09fb61=[2025-11-22 15\:29\:30] 取卡操作:卡槽8被管理员取卡 log_1763796584253_3d102b2d=[2025-11-22 15\:29\:44] 取卡操作:卡槽18被管理员取卡 log_1763796584613_89e54457=[2025-11-22 15\:29\:44] 取卡操作:卡槽18被管理员取卡 log_1763796595461_dfba9a6c=[2025-11-22 15\:29\:55] 取卡操作:卡槽19被管理员取卡 log_1763796601266_3c1efc15=[2025-11-22 15\:30\:01] 取卡操作:卡槽17被管理员取卡 log_1763796601612_be728bba=[2025-11-22 15\:30\:01] 取卡操作:卡槽17被管理员取卡 log_1763796639618_a4f98efe=[2025-11-22 15\:30\:39] 取卡操作:卡槽8被管理员取卡 log_1763796645488_c1b9fdbc=[2025-11-22 15\:30\:45] 取卡操作:卡槽18被管理员取卡 log_1763796645862_d8280caa=[2025-11-22 15\:30\:45] 取卡操作:卡槽18被管理员取卡 log_1763796649004_765f3a76=[2025-11-22 15\:30\:49] 取卡操作:卡槽13被管理员取卡 log_1763796666877_dc07a7e9=[2025-11-22 15\:31\:06] 取卡操作:卡槽8被管理员取卡 log_1763796671164_0bfd4da1=[2025-11-22 15\:31\:11] 取卡操作:卡槽13被管理员取卡 log_1763796683199_aaa5f071=[2025-11-22 15\:31\:23] 取卡操作:卡槽9被管理员取卡 log_1763796687126_8c5e091a=[2025-11-22 15\:31\:27] 取卡操作:卡槽7被管理员取卡 log_1763796690465_e506e75d=[2025-11-22 15\:31\:30] 取卡操作:卡槽22被管理员取卡 log_1763796690812_f26b1bca=[2025-11-22 15\:31\:30] 取卡操作:卡槽22被管理员取卡 log_1763796701339_8c2dce1b=[2025-11-22 15\:31\:41] 取卡操作:卡槽12被管理员取卡 log_1763796701663_0c96bb85=[2025-11-22 15\:31\:41] 取卡操作:卡槽12被管理员取卡 log_1763796706036_0dd4c910=[2025-11-22 15\:31\:46] 取卡操作:卡槽13被管理员取卡 log_1763796706413_31ebd822=[2025-11-22 15\:31\:46] 取卡操作:卡槽13被管理员取卡 log_1763796743734_613127ce=[2025-11-22 15\:32\:23] 取卡操作:卡槽27被管理员取卡 log_1763796744066_e4897b75=[2025-11-22 15\:32\:24] 取卡操作:卡槽27被管理员取卡 log_1763796746892_73a3de50=[2025-11-22 15\:32\:26] 取卡操作:卡槽37被管理员取卡 log_1763796852928_a74783df=[2025-11-22 15\:34\:12] 取卡操作:卡槽7被管理员取卡 log_1763796853265_ce89adf4=[2025-11-22 15\:34\:13] 取卡操作:卡槽7被管理员取卡 log_1763796862831_c78dcd41=[2025-11-22 15\:34\:22] 取卡操作:卡槽33被管理员取卡 log_1763797078465_84863744=[2025-11-22 15\:37\:58] 取卡操作:卡槽36被管理员取卡 log_1763797334627_489b424f=[2025-11-22 15\:42\:14] DDCC0008F009515AA55AA5027AD4;type2控制打开9柜门 log_1763797334670_248f0207=[2025-11-22 15\:42\:14] 取卡操作:卡槽9被管理员取卡 log_1763797334972_1587297d=[2025-11-22 15\:42\:14] 取卡操作:卡槽9被管理员取卡 log_1763797340020_7949f20b=[2025-11-22 15\:42\:20] DDCC0008F012515AA55AA5027B7F;type2控制打开18柜门 log_1763797340034_7af9f995=[2025-11-22 15\:42\:20] 取卡操作:卡槽18被管理员取卡 log_1763797340372_132dbb3f=[2025-11-22 15\:42\:20] 取卡操作:卡槽18被管理员取卡 log_1763797343370_5d7c1f77=[2025-11-22 15\:42\:23] DDCC0008F016515AA55AA502BB3A;type2控制打开22柜门 log_1763797343382_e189fce9=[2025-11-22 15\:42\:23] 取卡操作:卡槽22被管理员取卡 log_1763797343721_fce66d08=[2025-11-22 15\:42\:23] 取卡操作:卡槽22被管理员取卡 log_1763797346135_163e3113=[2025-11-22 15\:42\:26] DDCC0008F015515AA55AA502BB09;type2控制打开21柜门 log_1763797346145_e7aaa999=[2025-11-22 15\:42\:26] 取卡操作:卡槽21被管理员取卡 log_1763797346472_4c86428b=[2025-11-22 15\:42\:26] 取卡操作:卡槽21被管理员取卡 log_1763797349064_db936542=[2025-11-22 15\:42\:29] DDCC0008F013515AA55AA502BB6F;type2控制打开19柜门 log_1763797349073_7d4f1ad8=[2025-11-22 15\:42\:29] 取卡操作:卡槽19被管理员取卡 log_1763797349421_3e727453=[2025-11-22 15\:42\:29] 取卡操作:卡槽19被管理员取卡 log_1763797356580_3d7e82a4=[2025-11-22 15\:42\:36] DDCC0008F00D515AA55AA502BA91;type2控制打开13柜门 log_1763797356590_53e0c788=[2025-11-22 15\:42\:36] 取卡操作:卡槽13被管理员取卡 log_1763797356923_36b384c1=[2025-11-22 15\:42\:36] 取卡操作:卡槽13被管理员取卡 log_1763797394271_ad30a236=[2025-11-22 15\:43\:14] DDCC0008F003515AA55AA5027A7E;type2控制打开3柜门 log_1763797394281_00876aa0=[2025-11-22 15\:43\:14] 取卡操作:卡槽3被管理员取卡 log_1763797394622_9137f63b=[2025-11-22 15\:43\:14] 3号卡槽取卡失败 src/chushihua/lunxun.java
@@ -26,6 +26,8 @@ private static Thread pollingThread; private static int pollingInterval = 100; // 默认轮询间隔 public static boolean sendChaxunzhiling=true;//是否向串口发送查询指令 // 添加静态变量控制人脸检测 public static boolean ishaveface = false; // 是否检测到人脸,默认没有人脸 // 卡槽相关常量 private static final int MIN_SLOT = 1; @@ -424,6 +426,17 @@ int slotNumber = slotIndex + 1; Long lastQueryTime = lastQueryTimeMap.get(slotNumber); // 新增:如果有人脸检测,则只查询无卡卡槽 if (ishaveface && "1".equals(hasCard)) { // 跳过有卡卡槽的查询 if (DEBUG_ENABLED) { debugBuilder.setLength(0); debugBuilder.append("检测到人脸,跳过有卡卡槽 ").append(slotNumber).append(" 的查询\n"); SystemDebugDialog.appendAsciiData(debugBuilder.toString()); } continue; } // 确定查询间隔:只有hasCard="1"的卡槽使用10秒间隔,其他情况(包括"-1")都使用100ms间隔 int queryInterval = "1".equals(hasCard) ? HAS_CARD_QUERY_INTERVAL : NO_CARD_QUERY_INTERVAL; @@ -495,7 +508,21 @@ //System.out.println("轮询查询线程结束运行"); } // 添加获取和设置人脸检测状态的方法 public static boolean isIshaveface() { return ishaveface; } public static void setIshaveface(boolean ishaveface) { lunxun.ishaveface = ishaveface; if (DEBUG_ENABLED) { if (ishaveface) { SystemDebugDialog.appendAsciiData("检测到人脸,轮询将只查询无卡卡槽\n"); } else { SystemDebugDialog.appendAsciiData("未检测到人脸,轮询恢复正常查询模式\n"); } } } /** * 向指定卡槽发送查询指令 - 优化版本 * 使用缓存指令,优化调试输出 src/home/CardMachineUI.java
@@ -181,7 +181,7 @@ } private void initializeUI() { setTitle("智能人脸发卡机管理系统"); setTitle("发卡机控制软件V1.0"); setSize(SCREEN_WIDTH, SCREEN_HEIGHT); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setLocationRelativeTo(null); @@ -701,10 +701,10 @@ public boolean performCardPickup(int slotId) { try { // 调用OpenDoor生成开门指令 String command = OpenDoor.openOneDoor(slotId, OpenDoor.TYPE_ISSUE_CARD); // String command = OpenDoor.openOneDoor(slotId, OpenDoor.TYPE_ISSUE_CARD); // 使用Sendmsg发送指令到串口 boolean sendResult = Sendmsg.sendMessage(command); boolean sendResult = Sendmsg.opendoorzhiling(slotId, 2); if (sendResult) { return true;