|
|
|
@ -100,24 +100,29 @@ namespace SlnMesnac.WPF.ViewModel
|
|
|
|
|
BaseStaffInfo user = baseStaffService.GetStaffInfoByCardId(cleanStr);
|
|
|
|
|
if (user != null)
|
|
|
|
|
{
|
|
|
|
|
string attendanceType = _recordStaffAttendanceService.GetRecordStaffAttendanceByStaffId(user.StaffId)?.AttendanceType;
|
|
|
|
|
if (attendanceType == "1") //下班卡
|
|
|
|
|
RecordStaffAttendance recordStaffAttendance = _recordStaffAttendanceService.GetRecordStaffAttendanceByStaffId(user.StaffId);
|
|
|
|
|
var createTime = recordStaffAttendance.CreateTime;
|
|
|
|
|
var nowTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
|
|
|
|
|
TimeSpan timeDiff = DateTime.Parse(nowTime) - DateTime.Parse(createTime);
|
|
|
|
|
if(timeDiff.TotalHours >= 10)//
|
|
|
|
|
{
|
|
|
|
|
if (attendanceType == status.ToString())
|
|
|
|
|
if (recordStaffAttendance.AttendanceType == "1") //下班卡
|
|
|
|
|
{
|
|
|
|
|
if (recordStaffAttendance.AttendanceType == status.ToString())
|
|
|
|
|
{
|
|
|
|
|
StatusText = "未打上班卡,请联系管理员!";
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else if (attendanceType == "0")
|
|
|
|
|
else if (recordStaffAttendance.AttendanceType == "0")
|
|
|
|
|
{
|
|
|
|
|
if (attendanceType == status.ToString())
|
|
|
|
|
if (recordStaffAttendance.AttendanceType == status.ToString())
|
|
|
|
|
{
|
|
|
|
|
StatusText = "未打下班卡,请联系管理员!";
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
StaffIdText = user.StaffId;
|
|
|
|
|
CheckStatus = user.StaffName + " " + user.TeamCode + " 打卡成功!";
|
|
|
|
|
var list = _rfidHandleBusniess.HandleAndInsertStaffAttendance(user,isCheckOn);
|
|
|
|
|
var list = _rfidHandleBusniess.HandleAndInsertStaffAttendance(user, isCheckOn);
|
|
|
|
|
System.Windows.Application.Current.Dispatcher.Invoke((Action)(async () =>
|
|
|
|
|
{
|
|
|
|
|
RecordStaffAttendanceDataGrid.Clear();
|
|
|
|
@ -126,6 +131,27 @@ namespace SlnMesnac.WPF.ViewModel
|
|
|
|
|
_rfidHandleBusniess.HandleStaffCommute(user, isCheckOn);
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
if (recordStaffAttendance.AttendanceType != status.ToString())
|
|
|
|
|
{
|
|
|
|
|
StaffIdText = user.StaffId;
|
|
|
|
|
CheckStatus = user.StaffName + " " + user.TeamCode + " 打卡成功!";
|
|
|
|
|
var list = _rfidHandleBusniess.HandleAndInsertStaffAttendance(user, isCheckOn);
|
|
|
|
|
System.Windows.Application.Current.Dispatcher.Invoke((Action)(async () =>
|
|
|
|
|
{
|
|
|
|
|
RecordStaffAttendanceDataGrid.Clear();
|
|
|
|
|
list.ForEach(item => { RecordStaffAttendanceDataGrid.Add(item); });
|
|
|
|
|
}));
|
|
|
|
|
_rfidHandleBusniess.HandleStaffCommute(user, isCheckOn);
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
StatusText = "请勿重复打卡!";
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
StaffIdText = "未配置";
|
|
|
|
|
CheckStatus = "没有匹配的员工,打卡失败!";
|
|
|
|
@ -344,7 +370,7 @@ namespace SlnMesnac.WPF.ViewModel
|
|
|
|
|
{
|
|
|
|
|
for (int i = 0; i < uniqueStrings.Count; i++)
|
|
|
|
|
{
|
|
|
|
|
if (uniqueStrings[i] == str && (DateTime.Now - timestamps[i]).TotalMinutes < 1)
|
|
|
|
|
if (uniqueStrings[i] == str && (DateTime.Now - timestamps[i]).TotalSeconds < 30)
|
|
|
|
|
{
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
@ -352,7 +378,6 @@ namespace SlnMesnac.WPF.ViewModel
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//public event PropertyChangedEventHandler PropertyChanged;
|
|
|
|
|
public void OnPropertyChanged([CallerMemberName] string propertyName = "")
|
|
|
|
|
{
|
|
|
|
|
PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
|
|
|
|
|