问题描述
我有一台 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 表自己配置它吗??
解决方法
好吧,您无法从生物识别设备中获取缺席天数。它必须是您的应用程序逻辑的一部分。您必须从生物识别设备读取所有考勤数据,并将所有缺失日期视为缺勤天数。