IT_i Ответов: 1

ЗК проверке посещаемости-в устройство и отъезда (во время ожидания) - нужно отделить столбец


**Регистрация заезда и отъезда _ время совершенно не работает,**
показывая же Интайм и OutTime - колонка
Колонка InTime работает нормально, но время выхода не показывает точное время выезда.

Как получить правильное время выезда в колонке Out-Time
Как получить правильное время выезда в колонке Out-Time

Эта вся программа работала с zk-sdk: zkemkeeper
Я не уверен, как я реализую out time - из-за того, что есть только одна машина посещаемости.
Как установить время регистрации заезда и отъезда по текстовому полю.
Спасибо.

Результат, которого я ожидаю, похож на:

EID = 1, Date = 08/01/2020, CheckIn = 08:00:00, CheckOut = 10:00:00
EID = 1, Date = 08/02/2020, InTime = 08:04:00, OutTime = 10:05:00
EID = 2, Date = 08/01/2020, InTime = 08:10:00, OutTime = 10:15:00
EID = 2, Date = 08/02/2020, InTime = 08:00:00, OutTime = 10:20:00
EID = 3, Date = 08/01/2020, InTime  = 10:00:00, OutTime = 
EID = 4, Date = 08/01/2020, InTime = 08:00:00, OutTime = 
EID = 5, Date = 08/01/2020, InTime  = 08:00:00, OutTime =


<pre lang="c#">

    private void buttonViewAttendance_Click(object sender, EventArgs e)
    {
    string sdwEnrollNumber = "";
    int idwTMachineNumber = 0;
    int idwVerifyMode = 0;
    int idwInOutMode = 0;
    int idwYear = 0;
    int idwMonth = 0;
    int idwDay = 0;
    int idwHour = 0;
    int idwMinute = 0;
    int idwSecond = 0;
    int idwWorkcode = 0;

    int idwErrorCode = 0;
    int iGLCount = 0;
    int iIndex = 0;
    //------------------------------------------------------
    string sName = "";
    string sPassword = "";
    int iPrivilege = 0;
    bool bEnabled = false;

    int idwFingerIndex;
    string sTmpData = "";
    int iTmpLength = 0;
    int iFlag = 0;

    Cursor = Cursors.WaitCursor;
    listView2.Items.Clear();
    //listView2.BeginUpdate();
    //axCZKEM1.EnableDevice(iMachineNumber, false);//disable the device
    axCZKEM1.EnableDevice(iMachineNumber, false);
    axCZKEM1.ReadAllUserID(iMachineNumber);//read all the user information to the memory
    //Cursor = Cursors.WaitCursor;
    if (axCZKEM1.ReadGeneralLogData(iMachineNumber))  //read all the attendance records to the memory

    {
        while
            (axCZKEM1.SSR_GetGeneralLogData(
            iMachineNumber,
            out sdwEnrollNumber,
            out idwVerifyMode,
            out idwInOutMode,
            out idwYear,
            out idwMonth,
            out idwDay,
            out idwHour,
            out idwMinute,
            out idwSecond,
            ref idwWorkcode))
        
        {
            iGLCount++;
            listView2.Items.Add(iGLCount.ToString());
            listView2.Items[iIndex].SubItems.Add(sdwEnrollNumber);//modify by Darcy on Nov.26 2009
            
            foreach (ListViewItem item in listView2.Items)
            {
                if (item.SubItems[1].Text == "1")
                {
                    //textBoxEnroll.Text = "Staff-1";
                    //item.SubItems[6].Text = "AAA";
                    item.SubItems.Add(Text = " " + textBox1st.Text);

                }
                else if (item.SubItems[1].Text == "2")
                {
                    item.SubItems.Add(Text = " " + textBox2nd.Text);

                }
                else if (item.SubItems[1].Text == "3")
                {
                    item.SubItems.Add(Text = " " + textBox3rd.Text);

                }
                else if (item.SubItems[1].Text == "4")
                {
                    item.SubItems.Add(Text = " " + textBox4th.Text);

                }
                else if (item.SubItems[1].Text == "5")
                {
                    item.SubItems.Add(Text = " " + textBox5th.Text);

                }
                else if (item.SubItems[1].Text == "6")
                {
                    item.SubItems.Add(Text = " " + textBox6th.Text);

                }
                else if (item.SubItems[1].Text == "7")
                {
                    item.SubItems.Add(Text = " " + textBox7th.Text);

                }
                else if (item.SubItems[1].Text == "8")
                {
                    item.SubItems.Add(Text = " " + textBox8th.Text);
                }
                else
                {
                    item.SubItems.Add(Text = "Limited Edition");

                }
            }
            listView2.Items[iIndex].SubItems.Add(idwDay.ToString() + "-" + idwMonth.ToString() + "-" + idwYear.ToString()); // Date
            listView2.Items[iIndex].SubItems.Add(idwHour.ToString() + ":" + idwMinute.ToString() + ":" + idwSecond.ToString()); // In-Time

            listView2.Items[iIndex].SubItems.Add(idwHour.ToString() + ":" + idwMinute.ToString() + ":" + idwSecond.ToString()); // Out-Time

            foreach (ListViewItem item in listView2.Items)
            {
                if (item.SubItems[4].Text == item.SubItems[5].Text)
                {
                    item.SubItems[5].Text.StartsWith(textBoxInTime.Text);
                }

            }
            listView2.Items[iIndex].SubItems.Add(""); // To performed blank last-column
            iIndex++;
        }
    }
    else
    {
        Cursor = Cursors.Default;
        axCZKEM1.GetLastError(ref idwErrorCode);

        if (idwErrorCode != 0)
        {
            MessageBox.Show("Reading data from terminal failed,ErrorCode: " + idwErrorCode.ToString(), "Error");
        }
        else
        {
            MessageBox.Show("No data from terminal returns!", "Error");
        }
    }
    axCZKEM1.EnableDevice(iMachineNumber, true);//enable the device
    Cursor = Cursors.Hand;
    }


[1]: https://i.stack.imgur.com/D64k0.png

есть решение?

Что я уже пробовал:

Как получить правильное время выезда в колонке Out-Time
Как получить правильное время выезда в колонке Out-Time

1 Ответов

Рейтинг:
2

Richard MacCutchan

listView2.Items[iIndex].SubItems.Add(idwDay.ToString() + "-" + idwMonth.ToString() + "-" + idwYear.ToString()); // Date
listView2.Items[iIndex].SubItems.Add(idwHour.ToString() + ":" + idwMinute.ToString() + ":" + idwSecond.ToString()); // In-Time
//
// *** You are using the same time value for In-Time and Out-Time
//
listView2.Items[iIndex].SubItems.Add(idwHour.ToString() + ":" + idwMinute.ToString() + ":" + idwSecond.ToString()); // Out-Time


IT_i

как я могу отметить условие времени ожидания/ожидания?.. любой пример пожалуйста
& как отделить время>

Richard MacCutchan

Извините, понятия не имею. Вам необходимо изучить документацию для вашего устройства учета рабочего времени.

IT_i

любой другой пример кода устройства pls, если он управляется??

Спасибо.

Richard MacCutchan

Пожалуйста, прочтите мой ответ еще раз.