From 51d7b5b62db52c8c80d0bac9d42c37e33ce48a5d Mon Sep 17 00:00:00 2001
From: zouyu <2723363702@qq.com>
Date: 星期三, 29 七月 2026 17:20:45 +0800
Subject: [PATCH] 1.手动下单:修复选择样品后查询的检测项缺失问题 2.人员考勤:修复同步ICC考勤数据报错问题
---
performance-server/src/main/java/com/ruoyi/performance/service/impl/StaffAttendanceTrackingRecordServiceImpl.java | 26 +++++++++++++++++++-------
1 files changed, 19 insertions(+), 7 deletions(-)
diff --git a/performance-server/src/main/java/com/ruoyi/performance/service/impl/StaffAttendanceTrackingRecordServiceImpl.java b/performance-server/src/main/java/com/ruoyi/performance/service/impl/StaffAttendanceTrackingRecordServiceImpl.java
index 4ecc238..825b21b 100644
--- a/performance-server/src/main/java/com/ruoyi/performance/service/impl/StaffAttendanceTrackingRecordServiceImpl.java
+++ b/performance-server/src/main/java/com/ruoyi/performance/service/impl/StaffAttendanceTrackingRecordServiceImpl.java
@@ -768,22 +768,34 @@
public static String restorePersonCode(Object number) {
// 1. 绌哄�兼牎楠�
if (number == null) {
- throw new IllegalArgumentException("浼犲叆鏁板瓧涓嶈兘涓虹┖");
+ return "";
}
+ String original = number.toString();
+ try {
// 2. 缁熶竴杞崲涓哄瓧绗︿覆骞跺幓闄ら灏剧┖鏍�
- String numStr = number.toString().trim();
+ String numStr = original.trim();
// 3. 鏍¢獙鏄惁涓虹函鏁板瓧锛堟帓闄よ礋鏁般�侀潪鏁板瓧瀛楃锛�
- if (!numStr.matches("\\d+")) {
- throw new IllegalArgumentException("浼犲叆鐨勪笉鏄湁鏁堟鏁存暟锛�" + numStr);
- }
+ String digitStr;
+ if (numStr.matches("\\d+")) {
+ digitStr = numStr;
+ } else if (numStr.matches("(?i)^ZT\\d+$")) {
+ digitStr = numStr.substring(2);
+ } else if (numStr.matches("(?i)^ZT-\\d+$")) {
+ digitStr = numStr.substring(3);
+ } else {
+ return original;
+ }
// 4. 琛ュ墠缃�0鍒版寚瀹氶暱搴︼紙6浣嶏級锛岃秴鍑哄垯淇濈暀鍘熸暟瀛�
- String paddedNum = String.format("%0" + DIGIT_LENGTH + "d", Long.parseLong(numStr));
+ String paddedNum = StringUtils.leftPad(digitStr, DIGIT_LENGTH, '0');
// 5. 鎷兼帴鍓嶇紑杩斿洖
- return PREFIX + paddedNum;
+ return PREFIX + paddedNum;
+ } catch (Exception e) {
+ return original;
+ }
}
}
--
Gitblit v1.9.3