如何从 ZKTeco 设备获得缺席天数?

问题描述

我有一台 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

我正在寻找一种获取缺席天数的方法,如何将设备配置为从一周开始计算所有缺席天数,除了 SaturdaySunday 或者这不相关到设备,我应该使用 sql 表自己配置它吗??

解决方法

好吧,您无法从生物识别设备中获取缺席天数。它必须是您的应用程序逻辑的一部分。您必须从生物识别设备读取所有考勤数据,并将所有缺失日期视为缺勤天数。