Przeglądaj źródła

增加进出时间,人员设置进出模板(列出计划模板内容)

Signed-off-by: haidong <chenloveguitar@qq.com>
doorRight设置
haidong 2 lat temu
rodzic
commit
4a388a49f6
2 zmienionych plików z 62 dodań i 7 usunięć
  1. +6
    -3
      src/main/java/com/hkversion/Acs/AcsMain.java
  2. +56
    -4
      src/main/java/com/hkversion/Acs/UserManage.java

+ 6
- 3
src/main/java/com/hkversion/Acs/AcsMain.java Wyświetl plik

@@ -91,14 +91,15 @@ public class AcsMain {
//开启SDK日志打印
boolean i= hCNetSDK.NET_DVR_SetLogToFile(3, "./sdklog", false);

login_V40("118.122.89.90","admin","yzx123456",(short) 7713); //登陆设备
login_V40("118.122.89.90","admin","yzx123456",(short) 7715); //登陆设备
// login_V40("175.155.64.18","admin","ADMIN12345",(short) 50021); //登陆设备
/**
* 人员管理模块
*/
// UserManage.searchUserInfo(lUserID,"s4775"); //查询所有人员
// UserManage.deleteUserInfo(lUserID);
// UserManage.addUserInfo(lUserID,"test20221122"); //添加人员
UserManage.modifyUserInfo(lUserID,"s382268",1);
// UserManage.modifyUserInfo(lUserID,"u461",1);

/**
* 人脸管理模块
@@ -140,7 +141,9 @@ public class AcsMain {
// MutilCard.setGroupCfg(lUserID);
// MutilCard.setMultiCardCfg(lUserID);
//计划模板
UserManage.setCardTemplate(lUserID,1);
// UserManage.setCardTemplate(lUserID,1);
//获取计划模板
UserManage.getCardTemplate(lUserID,2);

//设备能力获取
// DeviceAbility.getDeviceAbility(lUserID,0x01);


+ 56
- 4
src/main/java/com/hkversion/Acs/UserManage.java Wyświetl plik

@@ -126,6 +126,7 @@ public class UserManage {
}

public static int modifyUserInfo(int lUserID, String employeeNo,int planTemplateNo) throws InterruptedException, JSONException {
int status = -1;
HCNetSDK.BYTE_ARRAY ptrByteArray = new HCNetSDK.BYTE_ARRAY(1024); //数组
//"POST /ISAPI/AccessControl/UserInfo/Record?format=json" 此URL也是下发人员
String strInBuffer = "PUT /ISAPI/AccessControl/UserInfo/Modify?format=json";
@@ -191,6 +192,7 @@ public class UserManage {
System.out.println("更新人员成功,但是有异常情况:" + jsonResult.toString());
} else {
System.out.println("更新人员成功: json retun:" + jsonResult.toString());
status = 1;
}
break;
} else if (dwState == HCNetSDK.NET_SDK_CONFIG_STATUS_FINISH) {
@@ -203,10 +205,9 @@ public class UserManage {
System.out.println("NET_DVR_StopRemoteConfig接口调用失败,错误码:" + HKVersion.hCNetSDK.NET_DVR_GetLastError());
} else {
System.out.println("NET_DVR_StopRemoteConfig接口成功");
return 1;
}
}
return -1;
return status;
}

/**
@@ -466,6 +467,57 @@ public class UserManage {
}


/**
* 人员计划模板配置
*
* @param userID 用户登录句柄
* @param iPlanTemplateNumber 计划模板编号,从1开始,最大值从门禁能力集获取
*/
public static void getCardTemplate(int userID, int iPlanTemplateNumber) {
//设置卡权限计划模板参数
HCNetSDK.NET_DVR_PLAN_TEMPLATE_COND struPlanCond = new HCNetSDK.NET_DVR_PLAN_TEMPLATE_COND();
struPlanCond.dwSize = struPlanCond.size();
struPlanCond.dwPlanTemplateNumber = iPlanTemplateNumber;//计划模板编号,从1开始,最大值从门禁能力集获取
struPlanCond.wLocalControllerID = 0;//就地控制器序号[1,64],0表示门禁主机
struPlanCond.write();
IntByReference pInt = new IntByReference(0);
Pointer lpStatusList = pInt.getPointer();
//获取卡权限周计划参数
HCNetSDK.NET_DVR_WEEK_PLAN_COND struWeekPlanCond = new HCNetSDK.NET_DVR_WEEK_PLAN_COND();
struWeekPlanCond.dwSize = struWeekPlanCond.size();
struWeekPlanCond.dwWeekPlanNumber = iPlanTemplateNumber;
struWeekPlanCond.wLocalControllerID = 0;
HCNetSDK.NET_DVR_WEEK_PLAN_CFG struWeekPlanCfg = new HCNetSDK.NET_DVR_WEEK_PLAN_CFG();
struWeekPlanCond.write();
struWeekPlanCfg.write();
Pointer lpCond = struWeekPlanCond.getPointer();
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;
}
struWeekPlanCfg.read();


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
+ ":"
+ struWeekPlanCfg.struPlanCfg[i].struPlanCfgDay[j].struTimeSegment.struBeginTime.byMinute
+ ":"
+ struWeekPlanCfg.struPlanCfg[i].struPlanCfgDay[j].struTimeSegment.struBeginTime.bySecond + "--" + struWeekPlanCfg.struPlanCfg[i].struPlanCfgDay[j].struTimeSegment.struEndTime.byHour
+ ":"
+ struWeekPlanCfg.struPlanCfg[i].struPlanCfgDay[j].struTimeSegment.struEndTime.byMinute
+ ":"
+ struWeekPlanCfg.struPlanCfg[i].struPlanCfgDay[j].struTimeSegment.struEndTime.bySecond);
}
}
}


/**
* 人员计划模板配置
*
@@ -483,7 +535,7 @@ public class UserManage {
HCNetSDK.NET_DVR_PLAN_TEMPLATE struPlanTemCfg = new HCNetSDK.NET_DVR_PLAN_TEMPLATE();
struPlanTemCfg.dwSize = struPlanTemCfg.size();
struPlanTemCfg.byEnable = info.getEnable(); //是否使能:0- 否,1- 是
struPlanTemCfg.dwWeekPlanNo = 2;//周计划编号,0表示无效
struPlanTemCfg.dwWeekPlanNo = iPlanTemplateNumber;//周计划编号,0表示无效
struPlanTemCfg.dwHolidayGroupNo[0] = 0;//假日组编号,按值表示,采用紧凑型排列,中间遇到0则后续无效
byte[] byTemplateName;
try {
@@ -508,7 +560,7 @@ public class UserManage {
//获取卡权限周计划参数
HCNetSDK.NET_DVR_WEEK_PLAN_COND struWeekPlanCond = new HCNetSDK.NET_DVR_WEEK_PLAN_COND();
struWeekPlanCond.dwSize = struWeekPlanCond.size();
struWeekPlanCond.dwWeekPlanNumber = 2;
struWeekPlanCond.dwWeekPlanNumber = iPlanTemplateNumber;
struWeekPlanCond.wLocalControllerID = 0;
HCNetSDK.NET_DVR_WEEK_PLAN_CFG struWeekPlanCfg = new HCNetSDK.NET_DVR_WEEK_PLAN_CFG();
struWeekPlanCond.write();


Ładowanie…
Anuluj
Zapisz