一、酒店系统连接身份证阅读器好处
在开房界面,点击读取身份证,可以自动读取姓名,性别,地址,身份证号码
1. 提高办理入住效率
- 传统的手动输入身份证信息繁琐且容易出错,一键读取能够快速准确地获取客人身份信息,减少客人等待时间。例如,在旅游旺季,大量客人涌入酒店,快速的办理入住可以避免大堂拥堵,提升客人的第一印象。
- 让前台工作人员能够更专注于提供优质的服务,而不是花费大量时间在信息录入上。
2. 确保信息准确性
- 避免因手动输入导致的错误,如姓名拼写错误、身份证号码错误等。曾经就有酒店因为手动输入错误的身份证信息,导致与公安系统的信息对接出现问题,给酒店带来了不必要的麻烦。
- 保证客人信息的完整性和一致性,为后续的服务和管理提供可靠的数据基础。
二、查看二代证读卡器信息
三、玄武星辰查到对应名称
知道自己家身份证读卡器,使用未来之窗【玄武芯辰】查询
通过上面我看出叫做iDR210
在【玄武芯辰】输入iDR210,人工智能会提示app信息
四、设置身份证控制app
在上一步找到app,直接在酒店系统重选择控制app
五:iDR210身份证代码
using System;
using System.Collections.Generic;
using System.Text;
using System.Collections.Specialized;
using System.Windows.Forms;
using System.Data.SQLite;
using System.IO;
using System.Drawing;
//
using System.Data;
using System.Data.Common;
//引用数据库
//using CyberSnow.VB.NET.Data.Helper;
//
using System.Text.RegularExpressions;
using CyberWin.CSHARP.YNWLZC.WebFrame.CyberPHP.CyberWinWeb.WebData;
using System.Runtime.InteropServices;//这是用到DllImport时候要引入的包
//故障排查系统查询
namespace CyberPHP_Dynamic
{
class APP
{
private string cyber_db_shopgoods = Application.StartupPath + "/CyberWinPHP/CyberPHP_DataBase/cwpd_local_shopnew.cyberphp";
private string 身份证照片保存路径="";
public string start(NameValueCollection obj){
string 车牌号码="";
NameValueCollection d=obj;
车牌号码 = d["carNO"];
string s="随机预安装插件"+cyber_db_shopgoods;
return s;
}
public string getCardInfo(NameValueCollection obj){
NameValueCollection d=obj;
string param = d["param"];
身份证照片保存路径=param;
try
{
StringBuilder Name = new StringBuilder(31);
StringBuilder Gender = new StringBuilder(3);
StringBuilder Folk = new StringBuilder(10);
StringBuilder BirthDay = new StringBuilder(9);
StringBuilder Code = new StringBuilder(19);
StringBuilder Address = new StringBuilder(71);
StringBuilder Agency = new StringBuilder(31);
StringBuilder ExpireStart = new StringBuilder(9);
StringBuilder ExpireEnd = new StringBuilder(9);
StringBuilder directory = new StringBuilder(100);
StringBuilder pucFPMsg = new StringBuilder(1024);
//byte[] pMsg = new byte[256];
//int len = 0;
//string[] temp;
//string[] baseinfo = new string[9];
//char[] param = { '\0' };
//打开端口
int intOpenRet = InitComm(1001);
if (intOpenRet != 1)
{
//MessageBox.Show("阅读机具未连接");
return "9";
}
//卡认证
int intReadRet = Authenticate();
if (intReadRet != 1)
{
// MessageBox.Show("卡认证失败");
CloseComm();
return "9";
}
//directory.Append("C:\\");
int intReadBaseInfosRet = ReadBaseInfosPhoto(Name, Gender, Folk, BirthDay, Code, Address, Agency, ExpireStart, ExpireEnd, directory);
if (intReadBaseInfosRet != 1)
{
//MessageBox.Show("读卡失败");
CloseComm();
return "9";
}
// label4.Text = Code.ToString();
// label6.Text = Name.ToString();
// label8.Text = Gender.ToString();
// label10.Text = Folk.ToString();
// label12.Text = BirthDay.ToString();
// label14.Text = Address.ToString();
// label16.Text = Agency.ToString();
// label18.Text = ExpireStart.ToString();
// label20.Text = ExpireEnd.ToString();
// pictureBox1.Load("c:\\photo.bmp");
//pictureBox1.Load("photo.bmp");
//MessageBox.Show("" + pucFPMsg.ToString());
//ReadBaseMsg(不推荐使用)
string labelSamID ="";
string labelIdCardNo = Code.ToString();
string labelName = Name.ToString();
string labelSex = Gender.ToString();
string labelNation = Folk.ToString();
string labelBirthday = BirthDay.ToString();
string labelAddress = Address.ToString();
string labelDepartment = Agency.ToString();
string labelValidDate = ExpireStart.ToString();
string labelValidDate2 = ExpireEnd.ToString();
// label18.Text = baseinfo[7];
//pictureBox1.Load("photo.bmp");
//关闭端口
int intCloseRet = CloseComm();
string json="";
json=json+"{";
json=json+"\"name\":"+"\""+labelName+"\",";
json=json+"\"sex\":"+"\""+labelSex+"\",";
json=json+"\"nation\":"+"\""+labelNation+"\",";
json=json+"\"birthday\":"+"\""+labelBirthday+"\",";
json=json+"\"idcardno\":"+"\""+labelIdCardNo+"\",";
json=json+"\"address\":"+"\""+labelAddress+"\",";
json=json+"\"department\":"+"\""+labelDepartment+"\",";
json=json+"\"validdate\":"+"\""+labelValidDate+"\",";
json=json+"\"samiD\":"+"\""+labelSamID+"\"";
json=json+"}";
json=json+"";
return json;
}
catch (Exception ex)
{
//MessageBox.Show(ex.ToString());
//return ex.ToString();
return "4";
}
}
//日志
public static void write_log(string capturetype, string type, string s)
{
string logPath = Application.StartupPath + "/log/" + capturetype + "/" + DateTime.Now.ToLongDateString() + "/";
if (System.IO.Directory.Exists(logPath) == false)
{
System.IO.Directory.CreateDirectory(logPath);
}
string 文件路径 = logPath + type + "_log.log";
FileStream fs = new FileStream(文件路径, FileMode.Append);
StreamWriter sw = new StreamWriter(fs);
//开始写入
sw.WriteLine("==============================\r\n" + DateTime.Now.ToLongDateString() + "<<<<<<<<<<<<<<<<<<<<<<<<<<");
sw.WriteLine(s);
sw.WriteLine("");
//清空缓冲区
sw.Flush();
//关闭流
sw.Close();
fs.Close();
}
[DllImport("CyberWinPHP/CyberPHP_Application/CyberWin_App/CyberWinIDCardJingLunID210/Sdtapi.dll")]
private static extern int InitComm(int iPort);
[DllImport("CyberWinPHP/CyberPHP_Application/CyberWin_App/CyberWinIDCardJingLunID210/Sdtapi.dll")]
private static extern int Authenticate();
[DllImport("CyberWinPHP/CyberPHP_Application/CyberWin_App/CyberWinIDCardJingLunID210/Sdtapi.dll")]
private static extern int ReadBaseInfos(StringBuilder Name, StringBuilder Gender, StringBuilder Folk,
StringBuilder BirthDay, StringBuilder Code, StringBuilder Address,
StringBuilder Agency, StringBuilder ExpireStart, StringBuilder ExpireEnd);
[DllImport("CyberWinPHP/CyberPHP_Application/CyberWin_App/CyberWinIDCardJingLunID210/Sdtapi.dll")]
private static extern int ReadBaseInfosPhoto(StringBuilder Name, StringBuilder Gender, StringBuilder Folk,
StringBuilder BirthDay, StringBuilder Code, StringBuilder Address,
StringBuilder Agency, StringBuilder ExpireStart, StringBuilder ExpireEnd, StringBuilder directory);
[DllImport("CyberWinPHP/CyberPHP_Application/CyberWin_App/CyberWinIDCardJingLunID210/Sdtapi.dll")]
private static extern int ReadBaseInfosFPPhoto(StringBuilder Name, StringBuilder Gender, StringBuilder Folk,
StringBuilder BirthDay, StringBuilder Code, StringBuilder Address,
StringBuilder Agency, StringBuilder ExpireStart, StringBuilder ExpireEnd, StringBuilder directory,StringBuilder pucFPMsg, ref int puiFPMsgLen);
[DllImport("CyberWinPHP/CyberPHP_Application/CyberWin_App/CyberWinIDCardJingLunID210/Sdtapi.dll")]
private static extern int CloseComm();
[DllImport("CyberWinPHP/CyberPHP_Application/CyberWin_App/CyberWinIDCardJingLunID210/Sdtapi.dll")]
private static extern int ReadBaseMsg(byte[] pMsg, ref int len);
[DllImport("CyberWinPHP/CyberPHP_Application/CyberWin_App/CyberWinIDCardJingLunID210/Sdtapi.dll")]
private static extern int ReadBaseMsgW(byte[] pMsg, ref int len);
[DllImport("CyberWinPHP/CyberPHP_Application/CyberWin_App/CyberWinIDCardJingLunID210/Sdtapi.dll")]
private static extern int Routon_IC_FindCard();
[DllImport("CyberWinPHP/CyberPHP_Application/CyberWin_App/CyberWinIDCardJingLunID210/Sdtapi.dll")]
private static extern int Routon_IC_HL_ReadCardSN(StringBuilder SN);
}
}
六、扩展资源配置
<?xml version="1.0" encoding="GBK"?>
<!-- Copyright www.ynwlzc.cn -->
<cyberwin>
<include>
<cyber_lib author="cybersnow" path="System.Xml.dll"> </cyber_lib>
<cyber_lib author="cybersnow" path="{cyberphp_core}/System.Data.dll"></cyber_lib>
<cyber_lib author="cybersnow" path="{cyberphp_core}/CyberWin.CSHARP.YNWLZC.WebFrame.CyberPHP.exe"></cyber_lib>
<cyber_lib author="cybersnow" path="{cyberphp_core}/System.Data.SQLite.DLL"></cyber_lib>
<cyber_lib author="cybersnow" path="System.Windows.Forms.dll"></cyber_lib>
<cyber_lib author="cybersnow" path="System.Drawing.dll"></cyber_lib>
</include>
</cyberwin>
七、身份证读卡器厂家dll模块,拖到指定位置
将厂家文件放入程序位置
八、如何开通酒店押金原路系统和收银系统
自己可以注册,不需要他人自己就就能搞定