我怎样才能从 ZKTeco 设备中获取缺勤天数?
How can I get absent days from ZKTeco device?
我有一个 ZKTeco K80 设备,我现在可以获得的是日志数据(DateTime、InOut、VerifyMethod..)
private void btnPullData_Click(object sender, EventArgs e)
{
try
{
ShowStatusBar(string.Empty, true);
ICollection<MachineInfo> lstMachineInfo = manipulator.GetLogData(objZkeeper, int.Parse(tbxMachineNumber.Text.Trim()));
if (lstMachineInfo != null && lstMachineInfo.Count > 0)
{
BindToGridView(lstMachineInfo);
ShowStatusBar(lstMachineInfo.Count + " records found !!", true);
}
else
DisplayListOutput("No records found");
}
catch (Exception ex)
{
DisplayListOutput(ex.Message);
}
}
public ICollection<MachineInfo> GetLogData(ZkemClient objZkeeper, int machineNumber)
{
string dwEnrollNumber1 = "";
int dwVerifyMode = 0;
int dwInOutMode = 0;
int dwYear = 0;
int dwMonth = 0;
int dwDay = 0;
int dwHour = 0;
int dwMinute = 0;
int dwSecond = 0;
int dwWorkCode = 0;
ICollection<MachineInfo> lstEnrollData = new List<MachineInfo>();
objZkeeper.ReadAllGLogData(machineNumber);
while (objZkeeper.SSR_GetGeneralLogData(machineNumber, out dwEnrollNumber1, out dwVerifyMode, out dwInOutMode, out dwYear, out dwMonth, out dwDay, out dwHour, out dwMinute, out dwSecond, ref dwWorkCode))
{
string inputDate = new DateTime(dwYear, dwMonth, dwDay, dwHour, dwMinute, dwSecond).ToString();
MachineInfo objInfo = new MachineInfo();
objInfo.MachineNumber = machineNumber;
objInfo.IndRegID = int.Parse(dwEnrollNumber1);
objInfo.DateTimeRecord = inputDate;
objInfo.dwInOutMode = dwInOutMode;
lstEnrollData.Add(objInfo);
}
return lstEnrollData;
}
参考: Csharp-ZKTeco-Biometric-Device-Getting-Started
我正在寻找一种获取缺席天数的方法,如何配置设备以计算从一周开始的所有缺席天数,Saturday
和 Sunday
除外,或者这是与设备无关,我应该使用 SQL 表自行配置吗??
嗯,你无法从生物识别设备中获取缺席天数。它必须是您的应用程序逻辑的一部分。你必须从生物识别设备读取所有考勤数据,并将所有缺失的日期视为缺席天数。
我有一个 ZKTeco K80 设备,我现在可以获得的是日志数据(DateTime、InOut、VerifyMethod..)
private void btnPullData_Click(object sender, EventArgs e)
{
try
{
ShowStatusBar(string.Empty, true);
ICollection<MachineInfo> lstMachineInfo = manipulator.GetLogData(objZkeeper, int.Parse(tbxMachineNumber.Text.Trim()));
if (lstMachineInfo != null && lstMachineInfo.Count > 0)
{
BindToGridView(lstMachineInfo);
ShowStatusBar(lstMachineInfo.Count + " records found !!", true);
}
else
DisplayListOutput("No records found");
}
catch (Exception ex)
{
DisplayListOutput(ex.Message);
}
}
public ICollection<MachineInfo> GetLogData(ZkemClient objZkeeper, int machineNumber)
{
string dwEnrollNumber1 = "";
int dwVerifyMode = 0;
int dwInOutMode = 0;
int dwYear = 0;
int dwMonth = 0;
int dwDay = 0;
int dwHour = 0;
int dwMinute = 0;
int dwSecond = 0;
int dwWorkCode = 0;
ICollection<MachineInfo> lstEnrollData = new List<MachineInfo>();
objZkeeper.ReadAllGLogData(machineNumber);
while (objZkeeper.SSR_GetGeneralLogData(machineNumber, out dwEnrollNumber1, out dwVerifyMode, out dwInOutMode, out dwYear, out dwMonth, out dwDay, out dwHour, out dwMinute, out dwSecond, ref dwWorkCode))
{
string inputDate = new DateTime(dwYear, dwMonth, dwDay, dwHour, dwMinute, dwSecond).ToString();
MachineInfo objInfo = new MachineInfo();
objInfo.MachineNumber = machineNumber;
objInfo.IndRegID = int.Parse(dwEnrollNumber1);
objInfo.DateTimeRecord = inputDate;
objInfo.dwInOutMode = dwInOutMode;
lstEnrollData.Add(objInfo);
}
return lstEnrollData;
}
参考: Csharp-ZKTeco-Biometric-Device-Getting-Started
我正在寻找一种获取缺席天数的方法,如何配置设备以计算从一周开始的所有缺席天数,Saturday
和 Sunday
除外,或者这是与设备无关,我应该使用 SQL 表自行配置吗??
嗯,你无法从生物识别设备中获取缺席天数。它必须是您的应用程序逻辑的一部分。你必须从生物识别设备读取所有考勤数据,并将所有缺失的日期视为缺席天数。