java考勤表格.docx
《java考勤表格.docx》由会员分享,可在线阅读,更多相关《java考勤表格.docx(15页珍藏版)》请在冰豆网上搜索。
![java考勤表格.docx](https://file1.bdocx.com/fileroot1/2022-10/8/eba6a408-37a0-4a3e-9976-39d81dab5d05/eba6a408-37a0-4a3e-9976-39d81dab5d051.gif)
java考勤表格
java考勤表格
篇一:
java操作考勤机的完整版实例
packagecom.hr319wg.custom.kaoqin.web;
importjava.util.arrayList;
importjava.util.List;
importjava.util.map;
importorg.springframework.jdbc.core.JdbcTemplate;
mon.exception.SysException;
mon.web.Syscontext;
importcom.jacob.activeX.activeXcomponent;
.dispatch;
.Variant;
publicclassKQServerBackingBean{
privatestaticintport=4370;
privatestaticintimachinenumber=1;
staticJdbcTemplatejdbcTemplate;
Variantdwmachinenumber=newVariant(0,true);//机器号
VariantdwEollnumber=newVariant(““,true);//用户号
Variantname=newVariant(““,true);//用户姓名
VariantPassword=newVariant(““,true);//用户密码
VariantPrivilege=newVariant(0,true);//用户权限,3为管理员,0为普通用户
VariantEnabled=newVariant(Boolean.valueof(String.valueof(0)),true);//用户启用标志,1为启用,0为禁用
VariantdwFingerindex=newVariant(0,true);//手指索引
VariantTmpdata=newVariant(““,true);//string指纹信息
VariantTmpLength=newVariant(0,true);//TmpLength
/**
*从考勤机中把用户的信息读取出来(包括用户的指纹信息)保存到人力资源系统中
*@parammycom
*@paramip
*@paramusernumber
*@throwsSysException
*/
publicvoidgetandwriteKQUsersdata(dispatchmycom,Stringip)throwsSysException{
//连接
Booleanisconnected=dispatch.call(mycom,”connect_net”,ip,
port).getBoolean();
//判断连接结果
if(isconnected==true){
System.out.println(“连接成功”);
intidwErrorcode=0;
dispatch.call(mycom,”Enabledevice”,imachinenumber,false);//使机器处于不可用状态
if(dispatch.call(mycom,
“ReadallUserid”,imachinenumber).getBoolean()){//readalltheattendancerecordstothememorywhile(dispatch.call(mycom,
“SSR_GetallUserinfo”,dwmachinenumber,dwEollnumber,name,Password,Privilege,Enabled).getBoolean()){
System.out.println(“权限:
”+Privilege+”--姓名:
”+name+”--用户编号:
”+dwEollnumber);
//因为打卡的手指可以是十个手指中的任意一个,所以要进行读10次。
for(inti=integer.valueof(String.valueof(dwFingerindex));iStringa_ziduan=getSQLFingerStr(i);
if(dispatch.call(mycom,
“SSR_GetUserTmpStr”,dwmachinenumber,dwEollnumber,i,Tmpdata,TmpLength).getBoolean()){
Stringsql=“updatea232aset”+a_ziduan+”=
'”+Tmpdata+”',a232210='”+Privilege+”',a232211='”+Password+”'wherea232212='”+dwEollnumber+”'”;try{
jdbcTemplate=
(JdbcTemplate)Syscontext.getBean(“jdbcTemplate”);
jdbcTemplate.execute(sql);
}catch(Exceptione){
e.printStackTrace();
}
}
}
}}else{
dispatch.call(mycom,”GetLastError”,idwErrorcode);
if(idwErrorcode!
=0){
System.out.println(“Readingdatafromterminal
failed,Errorcode:
”+idwErrorcode);
}else{
System.out.println(“nodatafromterminalreturns!
”);}
}dispatch.call(mycom,”Enabledevice”,imachinenumber,true);//enablethedevice
}else{
thrownewRuntimeException(“连接失败”);
}
}
/**
*从考勤机上读取指定用户的信息包括指纹信息和密码信息权限信息
*@parammycom
*@paramip考勤机iP
*@paramusernumber员工编号
*@throwsSysException
*/publicvoidgetandwriteKQUsersdataByUsernumber(dispatchmycom,Stringip,Stringusernumber)throwsSysException{
//连接
Booleanisconnected=dispatch.call(mycom,”connect_net”,ip,
port).getBoolean();
//判断连接结果
if(isconnected==true){
System.out.println(“连接成功”);
intidwErrorcode=0;
dispatch.call(mycom,”Enabledevice”,imachinenumber,false);//使机器处于不可用状态
if(dispatch.call(mycom,
“SSR_GetUserinfo”,dwmachinenumber,usernumber,name,Password,Privilege,Enabled).getBoolean()){
//因为打卡的手指可以是十个手指中的任意一个,所以要进行读10次。
for(inti=integer.valueof(String.valueof(dwFingerindex));iStringa_ziduan=getSQLFingerStr(i);if(dispatch.call(mycom,
“SSR_GetUserTmpStr”,dwmachinenumber,usernumber,i,Tmpdata,TmpLength).getBoolean()){
Stringsql=“updatea232aset”+a_ziduan+”='”+Tmpdata+”',
a.a232210='”+Privilege+”',a.a232211='”+Password+”'wherea.a232212='”+usernumber+”'”;try{
jdbcTemplate=
(JdbcTemplate)Syscontext.getBean(“jdbcTemplate”);
jdbcTemplate.execute(sql);
}ca
tch(Exceptione){
e.printStackTrace();
}
}
}
}else{
dispatch.call(mycom,”GetLastError”,idwErrorcode);
if(idwErrorcode!
=0){
System.out.println(“Readingdatafromterminal
failed,Errorcode:
”+idwErrorcode);
}else{
System.out.println(“nodatafromterminalreturns!
”);}
}
dispatch.call(mycom,”Enabledevice”,imachinenumber,true);//使机器处于可用状态
}else{
System.out.println(“连接失败”);
}
}
/**
*批量上传新增员工信息到考勤机上
*@paramip考勤机iP地址
*/
publicvoidupUsersinfo(dispatchmycom,Stringip){
//连接
Booleanisconnected=dispatch.call(mycom,”connect_net”,ip,
port).getBoolean();
//判断连接结果
if(isconnected==true){
System.out.println(“连接成功”);
dispatch.call(mycom,”Enabledevice”,imachinenumber,false);//使机器处于不可用状态
//从数据库中查询用户数据上传到考勤机中
Stringsql=“selecta.a001735,a.a001001,b.a232210,b.a232211,”+
“b.a232200,b.a232201,b.a232202,b.a232203,b.a232204,b.a232205,b.a232206,b.a232207,b.a232208,b.a232209”+
“froma001a,a232bwherea.id=b.id”;try{
List>list=new
arrayList>();//newarrayList();
jdbcTemplate=(JdbcTemplate)Syscontext.getBean(“jdbcTemplate”);list=jdbcTemplate.queryForList(sql);
if(list!
=null){
for(inti=0;idwEollnumber=newVariant(list.get(i).get(“a001735”));name=newVariant(list.get(i).get(“a001001”));
if(!
”“.equals(list.get(i).get(“a232210”))&&null!
=list.get(i).get(“a232210”