|
|
@@ -623,7 +623,29 @@ namespace ThCardReader
|
|
|
if (signData != null)
|
|
|
{
|
|
|
currentSignNo = signData["sign_no"]?.ToString() ?? "";
|
|
|
- signInTime = DateTime.Now;
|
|
|
+
|
|
|
+ // 从服务器返回数据中获取签到时间,格式:yyyyMMddHHmmss
|
|
|
+ string signTimeStr = signData["sign_time"]?.ToString() ?? "";
|
|
|
+ if (!string.IsNullOrEmpty(signTimeStr) && signTimeStr.Length == 14)
|
|
|
+ {
|
|
|
+ try
|
|
|
+ {
|
|
|
+ signInTime = DateTime.ParseExact(signTimeStr, "yyyyMMddHHmmss", null);
|
|
|
+ }
|
|
|
+ catch
|
|
|
+ {
|
|
|
+ // 如果解析失败,使用本地时间作为备选
|
|
|
+ signInTime = DateTime.Now;
|
|
|
+ LogError($"服务器返回的签到时间格式错误: {signTimeStr},使用本地时间");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ // 如果服务器没有返回签到时间,使用本地时间
|
|
|
+ signInTime = DateTime.Now;
|
|
|
+ LogInfo($"服务器未返回签到时间,使用本地时间: {signInTime:yyyy-MM-dd HH:mm:ss}");
|
|
|
+ }
|
|
|
+
|
|
|
signInOperator = currentConfig?.DefaultOperator ?? "";
|
|
|
|
|
|
// 记录签到成功日志
|
|
|
@@ -637,7 +659,9 @@ namespace ThCardReader
|
|
|
signInTime = DateTime.MinValue;
|
|
|
signInOperator = "";
|
|
|
|
|
|
- LogInfo($"签退成功,时间: {DateTime.Now:yyyy-MM-dd HH:mm:ss}");
|
|
|
+ // 记录签退时间,使用统一格式
|
|
|
+ string signOutTimeStr = DateTime.Now.ToString("yyyyMMddHHmmss");
|
|
|
+ LogInfo($"签退成功,时间: {signOutTimeStr}");
|
|
|
break;
|
|
|
}
|
|
|
}
|