diff --git a/pom.xml b/pom.xml index 2be9a1a..aa9d852 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ com.yzx.hardware-access hardware-access - 2.0.2 + 2.0.3 8 diff --git a/src/main/java/com/hkversion/Acs/AcsMain.java b/src/main/java/com/hkversion/Acs/AcsMain.java index 9daa0aa..1fca9a7 100644 --- a/src/main/java/com/hkversion/Acs/AcsMain.java +++ b/src/main/java/com/hkversion/Acs/AcsMain.java @@ -91,8 +91,10 @@ public class AcsMain { //开启SDK日志打印 boolean i= hCNetSDK.NET_DVR_SetLogToFile(3, "./sdklog", false); - login_V40("175.155.64.18","admin","kdsy2009",(short) 50102); //登陆设备 -// login_V40("175.155.64.18","admin","ADMIN12345",(short) 50030); //登陆设备 +// login_V40("175.155.64.18","admin","kdsy2009",(short) 50118); //登陆设备 +// login_V40("175.155.64.18","admin","kdsy2009",(short) 50114); //登陆设备 + login_V40("118.122.89.90","admin","yzx123456",(short)7713); +// login_V40("192.168.69.103","admin","yzx123456",(short)8000); /** * 人员管理模块 */ @@ -141,9 +143,9 @@ public class AcsMain { // MutilCard.setGroupCfg(lUserID); // MutilCard.setMultiCardCfg(lUserID); //设置计划模板 -// UserManage.setCardTemplate(lUserID,1,2); +// UserManage.setCardTemplate(lUserID,4,4); //获取计划模板 - UserManage.getCardTemplate(lUserID,5); + UserManage.getCardTemplate(lUserID,9); //设备能力获取 // DeviceAbility.getDeviceAbility(lUserID,0x01); diff --git a/src/main/java/com/hkversion/Acs/UserManage.java b/src/main/java/com/hkversion/Acs/UserManage.java index 52c3efd..d6470d4 100644 --- a/src/main/java/com/hkversion/Acs/UserManage.java +++ b/src/main/java/com/hkversion/Acs/UserManage.java @@ -429,16 +429,16 @@ public class UserManage { struWeekPlanCfg.struPlanCfg[i].struPlanCfgDay[j].struTimeSegment.struEndTime.bySecond = 0; } } - /**一周7天,全天24小时*/ - for (int i = 0; i < 7; i++) { - struWeekPlanCfg.struPlanCfg[i].struPlanCfgDay[0].byEnable = 1; - struWeekPlanCfg.struPlanCfg[i].struPlanCfgDay[0].struTimeSegment.struBeginTime.byHour = 0; - struWeekPlanCfg.struPlanCfg[i].struPlanCfgDay[0].struTimeSegment.struBeginTime.byMinute = 0; - struWeekPlanCfg.struPlanCfg[i].struPlanCfgDay[0].struTimeSegment.struBeginTime.bySecond = 0; - struWeekPlanCfg.struPlanCfg[i].struPlanCfgDay[0].struTimeSegment.struEndTime.byHour = 23; - struWeekPlanCfg.struPlanCfg[i].struPlanCfgDay[0].struTimeSegment.struEndTime.byMinute = 59; - struWeekPlanCfg.struPlanCfg[i].struPlanCfgDay[0].struTimeSegment.struEndTime.bySecond = 59; - } +// /**一周7天,全天24小时*/ +// for (int i = 0; i < 7; i++) { +// struWeekPlanCfg.struPlanCfg[i].struPlanCfgDay[0].byEnable = 1; +// struWeekPlanCfg.struPlanCfg[i].struPlanCfgDay[0].struTimeSegment.struBeginTime.byHour = 0; +// struWeekPlanCfg.struPlanCfg[i].struPlanCfgDay[0].struTimeSegment.struBeginTime.byMinute = 0; +// struWeekPlanCfg.struPlanCfg[i].struPlanCfgDay[0].struTimeSegment.struBeginTime.bySecond = 0; +// struWeekPlanCfg.struPlanCfg[i].struPlanCfgDay[0].struTimeSegment.struEndTime.byHour = 23; +// struWeekPlanCfg.struPlanCfg[i].struPlanCfgDay[0].struTimeSegment.struEndTime.byMinute = 59; +// struWeekPlanCfg.struPlanCfg[i].struPlanCfgDay[0].struTimeSegment.struEndTime.bySecond = 59; +// } /**一周7天,每天设置2个时间段*/ // for(int i=0;i<7;i++) // { @@ -458,19 +458,44 @@ public class UserManage { // struWeekPlanCfg.struPlanCfg[i].struPlanCfgDay[1].struTimeSegment.struEndTime.bySecond = 0; // } // struWeekPlanCfg.struPlanCfg[4].struPlanCfgDay[0].byEnable = 1; -// struWeekPlanCfg.struPlanCfg[4].struPlanCfgDay[0].struTimeSegment.struBeginTime.byHour = 14; -// struWeekPlanCfg.struPlanCfg[4].struPlanCfgDay[0].struTimeSegment.struBeginTime.byMinute = 20; +// struWeekPlanCfg.struPlanCfg[4].struPlanCfgDay[0].struTimeSegment.struBeginTime.byHour = 6; +// struWeekPlanCfg.struPlanCfg[4].struPlanCfgDay[0].struTimeSegment.struBeginTime.byMinute = 40; // struWeekPlanCfg.struPlanCfg[4].struPlanCfgDay[0].struTimeSegment.struBeginTime.bySecond = 0; -// struWeekPlanCfg.struPlanCfg[4].struPlanCfgDay[0].struTimeSegment.struEndTime.byHour = 14; -// struWeekPlanCfg.struPlanCfg[4].struPlanCfgDay[0].struTimeSegment.struEndTime.byMinute = 41; +// struWeekPlanCfg.struPlanCfg[4].struPlanCfgDay[0].struTimeSegment.struEndTime.byHour = 8; +// struWeekPlanCfg.struPlanCfg[4].struPlanCfgDay[0].struTimeSegment.struEndTime.byMinute = 10; // struWeekPlanCfg.struPlanCfg[4].struPlanCfgDay[0].struTimeSegment.struEndTime.bySecond = 0; +// // struWeekPlanCfg.struPlanCfg[4].struPlanCfgDay[1].byEnable = 1; -// struWeekPlanCfg.struPlanCfg[4].struPlanCfgDay[1].struTimeSegment.struBeginTime.byHour = 15; -// struWeekPlanCfg.struPlanCfg[4].struPlanCfgDay[1].struTimeSegment.struBeginTime.byMinute = 0; +// struWeekPlanCfg.struPlanCfg[4].struPlanCfgDay[1].struTimeSegment.struBeginTime.byHour = 12; +// struWeekPlanCfg.struPlanCfg[4].struPlanCfgDay[1].struTimeSegment.struBeginTime.byMinute = 25; // struWeekPlanCfg.struPlanCfg[4].struPlanCfgDay[1].struTimeSegment.struBeginTime.bySecond = 0; -// struWeekPlanCfg.struPlanCfg[4].struPlanCfgDay[1].struTimeSegment.struEndTime.byHour = 15; -// struWeekPlanCfg.struPlanCfg[4].struPlanCfgDay[1].struTimeSegment.struEndTime.byMinute = 36; +// struWeekPlanCfg.struPlanCfg[4].struPlanCfgDay[1].struTimeSegment.struEndTime.byHour = 14; +// struWeekPlanCfg.struPlanCfg[4].struPlanCfgDay[1].struTimeSegment.struEndTime.byMinute = 20; // struWeekPlanCfg.struPlanCfg[4].struPlanCfgDay[1].struTimeSegment.struEndTime.bySecond = 0; + +// struWeekPlanCfg.struPlanCfg[4].struPlanCfgDay[2].byEnable = 1; +// struWeekPlanCfg.struPlanCfg[4].struPlanCfgDay[2].struTimeSegment.struBeginTime.byHour = 12; +// struWeekPlanCfg.struPlanCfg[4].struPlanCfgDay[2].struTimeSegment.struBeginTime.byMinute = 25; +// struWeekPlanCfg.struPlanCfg[4].struPlanCfgDay[2].struTimeSegment.struBeginTime.bySecond = 0; +// struWeekPlanCfg.struPlanCfg[4].struPlanCfgDay[2].struTimeSegment.struEndTime.byHour = 14; +// struWeekPlanCfg.struPlanCfg[4].struPlanCfgDay[2].struTimeSegment.struEndTime.byMinute = 20; +// struWeekPlanCfg.struPlanCfg[4].struPlanCfgDay[2].struTimeSegment.struEndTime.bySecond = 0; + + struWeekPlanCfg.struPlanCfg[4].struPlanCfgDay[0].byEnable = 1; + struWeekPlanCfg.struPlanCfg[4].struPlanCfgDay[0].struTimeSegment.struBeginTime.byHour = 15; + struWeekPlanCfg.struPlanCfg[4].struPlanCfgDay[0].struTimeSegment.struBeginTime.byMinute = 30; + struWeekPlanCfg.struPlanCfg[4].struPlanCfgDay[0].struTimeSegment.struBeginTime.bySecond = 59; + struWeekPlanCfg.struPlanCfg[4].struPlanCfgDay[0].struTimeSegment.struEndTime.byHour = 19; + struWeekPlanCfg.struPlanCfg[4].struPlanCfgDay[0].struTimeSegment.struEndTime.byMinute = 40; + struWeekPlanCfg.struPlanCfg[4].struPlanCfgDay[0].struTimeSegment.struEndTime.bySecond = 59; + + struWeekPlanCfg.struPlanCfg[4].struPlanCfgDay[1].byEnable = 1; + struWeekPlanCfg.struPlanCfg[4].struPlanCfgDay[1].struTimeSegment.struBeginTime.byHour = 11; + struWeekPlanCfg.struPlanCfg[4].struPlanCfgDay[1].struTimeSegment.struBeginTime.byMinute = 20; + struWeekPlanCfg.struPlanCfg[4].struPlanCfgDay[1].struTimeSegment.struBeginTime.bySecond = 59; + struWeekPlanCfg.struPlanCfg[4].struPlanCfgDay[1].struTimeSegment.struEndTime.byHour = 12; + struWeekPlanCfg.struPlanCfg[4].struPlanCfgDay[1].struTimeSegment.struEndTime.byMinute = 00; + struWeekPlanCfg.struPlanCfg[4].struPlanCfgDay[1].struTimeSegment.struEndTime.bySecond = 0; struWeekPlanCfg.write(); //设置卡权限周计划参数 if (false == HKVersion.hCNetSDK.NET_DVR_SetDeviceConfig(userID, HCNetSDK.NET_DVR_SET_CARD_RIGHT_WEEK_PLAN_V50, 1, lpCond, struWeekPlanCond.size(), lpStatusList, lpInbuferCfg, struWeekPlanCfg.size())) { @@ -487,7 +512,7 @@ public class UserManage { * @param userID 用户登录句柄 * @param dwWeekPlanNumber 计划模板编号,从1开始,1-2是系统默认的不要修改,最大值从门禁能力集获取 */ - public static void getCardTemplate(int userID,int dwWeekPlanNumber) { + public static CardTemplateInfo getCardTemplate(int userID,int dwWeekPlanNumber) { IntByReference pInt = new IntByReference(0); Pointer lpStatusList = pInt.getPointer(); //获取卡权限周计划参数 @@ -502,27 +527,44 @@ public class UserManage { Pointer lpInbuferCfg = struWeekPlanCfg.getPointer(); if (false == HKVersion.hCNetSDK.NET_DVR_GetDeviceConfig(userID, HCNetSDK.NET_DVR_GET_CARD_RIGHT_WEEK_PLAN_V50, 1, lpCond, struWeekPlanCond.size(), lpStatusList, lpInbuferCfg, struWeekPlanCfg.size())) { System.out.println("NET_DVR_GET_CARD_RIGHT_WEEK_PLAN_V50失败,错误号:" + HKVersion.hCNetSDK.NET_DVR_GetLastError()); - return; + return null; } struWeekPlanCfg.read(); - - - + CardTemplateInfo cardTemplateInfo = new CardTemplateInfo(); + cardTemplateInfo.setTemplateId(dwWeekPlanNumber); + List timeSegmentInfos = cardTemplateInfo.getTimeSegmentInfos(); for (int i = 0; i < 7; i++) { System.out.println("星期:"+(i+1)); for (int j = 0; j < 8; j++) { - System.out.print("可用状态:"+struWeekPlanCfg.struPlanCfg[i].struPlanCfgDay[j].byEnable); - System.out.println("\t时间段"+j+":"+struWeekPlanCfg.struPlanCfg[i].struPlanCfgDay[j].struTimeSegment.struBeginTime.byHour + CardTemplateInfo.TimeSegmentInfo timeSegmentInfo = new CardTemplateInfo.TimeSegmentInfo(); + byte enable = struWeekPlanCfg.struPlanCfg[i].struPlanCfgDay[j].byEnable; + byte beginTimeHour = struWeekPlanCfg.struPlanCfg[i].struPlanCfgDay[j].struTimeSegment.struBeginTime.byHour; + byte beginTimeMinute = struWeekPlanCfg.struPlanCfg[i].struPlanCfgDay[j].struTimeSegment.struBeginTime.byMinute; + byte beginTimeSecond = struWeekPlanCfg.struPlanCfg[i].struPlanCfgDay[j].struTimeSegment.struBeginTime.bySecond; + byte endTimeHour = struWeekPlanCfg.struPlanCfg[i].struPlanCfgDay[j].struTimeSegment.struEndTime.byHour; + byte endTimeMinute = struWeekPlanCfg.struPlanCfg[i].struPlanCfgDay[j].struTimeSegment.struEndTime.byMinute; + byte endTimeSecond = struWeekPlanCfg.struPlanCfg[i].struPlanCfgDay[j].struTimeSegment.struEndTime.bySecond; + timeSegmentInfo.setEnable(enable); + timeSegmentInfo.setBeginTimeHour(beginTimeHour); + timeSegmentInfo.setBeginTimeMinute(beginTimeMinute); + timeSegmentInfo.setBeginTimeSecond(beginTimeSecond); + timeSegmentInfo.setEndTimeHour(endTimeHour); + timeSegmentInfo.setEndTimeMinute(endTimeMinute); + timeSegmentInfo.setEndTimeSecond(endTimeSecond); + timeSegmentInfos.add(timeSegmentInfo); + System.out.print("可用状态:"+ enable); + System.out.println("\t时间段"+j+":"+ beginTimeHour + ":" - + struWeekPlanCfg.struPlanCfg[i].struPlanCfgDay[j].struTimeSegment.struBeginTime.byMinute + + beginTimeMinute + ":" - + struWeekPlanCfg.struPlanCfg[i].struPlanCfgDay[j].struTimeSegment.struBeginTime.bySecond + "--" + struWeekPlanCfg.struPlanCfg[i].struPlanCfgDay[j].struTimeSegment.struEndTime.byHour + + beginTimeSecond + "--" + endTimeHour + ":" - + struWeekPlanCfg.struPlanCfg[i].struPlanCfgDay[j].struTimeSegment.struEndTime.byMinute + + endTimeMinute + ":" - + struWeekPlanCfg.struPlanCfg[i].struPlanCfgDay[j].struTimeSegment.struEndTime.bySecond); + + endTimeSecond); } } + return cardTemplateInfo; } diff --git a/src/main/java/com/yzx/IHardwareEquipment.java b/src/main/java/com/yzx/IHardwareEquipment.java index d0f035d..5af08ba 100644 --- a/src/main/java/com/yzx/IHardwareEquipment.java +++ b/src/main/java/com/yzx/IHardwareEquipment.java @@ -19,6 +19,8 @@ public interface IHardwareEquipment { int setCardTemplate(CardTemplateInfo info); + CardTemplateInfo getCardTemplate(int templateId); + void modifyUserInfo(List userFaceInfos); UserFaceInfo searchUserInfo(String employeeNo); diff --git a/src/main/java/com/yzx/impl/DaHua.java b/src/main/java/com/yzx/impl/DaHua.java index ae21fcf..d979be6 100644 --- a/src/main/java/com/yzx/impl/DaHua.java +++ b/src/main/java/com/yzx/impl/DaHua.java @@ -499,6 +499,11 @@ public class DaHua implements IHardwareEquipment { return 0; } + @Override + public CardTemplateInfo getCardTemplate(int templateId) { + return null; + } + @Override public void modifyUserInfo(List userFaceInfos) { diff --git a/src/main/java/com/yzx/impl/HKVersion.java b/src/main/java/com/yzx/impl/HKVersion.java index 11cfae2..b4b17a4 100644 --- a/src/main/java/com/yzx/impl/HKVersion.java +++ b/src/main/java/com/yzx/impl/HKVersion.java @@ -235,6 +235,14 @@ public class HKVersion implements IHardwareEquipment { return i; } + @Override + public CardTemplateInfo getCardTemplate(int templateId) { + if(lUserID == -1){ + return null; + } + return UserManage.getCardTemplate(lUserID, templateId); + } + public void logout() { hCNetSDK.NET_DVR_Logout(lUserID); }