中控考勤机的二次开发之灵活调配职工功能

客户新增需求

1.客户员工需要不定时的外派或支援

2.客户员工发适时的到分公司去打卡

3.客户员工的打卡数据需要及时的发放到目标分公司

4.实现功能如下:

1)各分公司需要及时从考勤机上取得员工的打卡验证数据

2)各分公司需要及时上传员工考勤验证数据到服务器

3)各分公司需要及时从服务器上调出被调过来员工的考勤验证数据

4)各分公司需要及时把调出来员工数据同步到本公司的考勤机上

5)将要来的员工就可以及时打卡了

6)每个考勤机都是有最大容量的,所以,增加了删除员工数据功能

找时间,把代码分享出来,抛砖引玉,供大家参考。

/// <summary>
/// 连接考勤机
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btnConnect_Click(object sender, EventArgs e)
{
if (txtIP.Text.Trim() == "" || txtPort.Text.Trim() == "")
{
MessageBox.Show("网络地址 与 端口 不能为空", "提示信息");
return;
}
int idwErrorCode = 0;

Cursor = Cursors.WaitCursor;
if (btnConnect.Text == "关闭连接")
{
axCZKEM1.Disconnect();
bIsConnected = false;
btnConnect.Text = "开始连接";
lblState.Text = "当前状态:未连接";
Cursor = Cursors.Default;
return;
}

axCZKEM1.PullMode = 1;
bIsConnected = axCZKEM1.Connect_Net(txtIP.Text, Convert.ToInt32(txtPort.Text));
if (bIsConnected == true)
{
btnConnect.Text = "关闭连接";
btnConnect.Refresh();
lblState.Text = "当前状态:已连接";
iMachineNumber = 1;
axCZKEM1.RegEvent(iMachineNumber, 65535);
}
else
{
axCZKEM1.GetLastError(ref idwErrorCode);
MessageBox.Show("不能连接设备,错误代码=" + idwErrorCode.ToString(), "提示信息");
}
Cursor = Cursors.Default;
}
/// <summary>
/// 同步考勤机数据
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btnUploadData_Click(object sender, EventArgs e)
{
try
{
if (bIsConnected == false)
{
MessageBox.Show("请先连接设备!", "提示信息");
return;
}

string sUserID = "";
string sName = "";
int iFaceIndex = 0;
string sTmpData = "";
int iLength = 0;
int iPrivilege = 0;
string sPassword = "";
string sEnabled = "";
bool bEnabled = false;

for (int i = 0; i < lvFace.Items.Count; i++)
{
sUserID = lvFace.Items[i].SubItems[0].Text;
sName = lvFace.Items[i].SubItems[1].Text;
sTmpData = lvFace.Items[i].SubItems[2].Text;
InsertData(sUserID, sName, sTmpData);
}

MessageBox.Show("成功上传数据:" + lvFace.Items.Count.ToString() + " 条.", "提示信息");
}
catch (Exception ex)
{
MessageBox.Show("上传数据错误: " + ex.ToString(), "提示信息");
}
finally
{ }
}

原文地址:https://www.cnblogs.com/NetPig/p/9863965.html