1
zhanghua
2024-09-26 c775c6953d9759e70f08acbfa8f6d7490aaae3d1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
package com.netsdk.demo.customize;
 
import com.netsdk.demo.util.CaseMenu;
import com.netsdk.lib.NetSDKLib;
import com.netsdk.lib.ToolKits;
import com.netsdk.lib.structure.NET_CTRL_ACCESS_CALL_LIFT;
import com.netsdk.lib.utils.Initialization;
import java.io.UnsupportedEncodingException;
 
 
/**
 * @author 291189
 * @version 1.0
 * @description ERR221010116 
 * @date 2022/10/19 13:43
 */
public class AccessCallLiftDemo extends Initialization {
 
    public static void StringToByteArr(String src, byte[] dst,String charset) {
        try {
            byte[] GBKBytes = src.getBytes(charset);
            for (int i = 0; i < GBKBytes.length; i++) {
                dst[i] = (byte) GBKBytes[i];
            }
        } catch (Exception e1) {
            e1.printStackTrace();
        }
    }
 
    public void callLift() {
        NET_CTRL_ACCESS_CALL_LIFT callLift=new NET_CTRL_ACCESS_CALL_LIFT();
 
        /**
         呼叫电梯的方式 {@link com.netsdk.lib.enumeration.EM_CALLLIFT_ACTION}
         */
        callLift.emCallLiftAction=2;
        /**
         呼叫电梯命令 {@link com.netsdk.lib.enumeration.EM_CALLLIFT_CMD}
         */
        callLift.emCallLiftCmd=1;
 
        String srcFloor="0100";
 
        StringToByteArr(srcFloor,callLift.szSrcFloor,encode);
 
        String destFloor="0201";
 
        StringToByteArr(destFloor,callLift.szDestFloor,encode);
 
        callLift.write();
        boolean result = netSdk.CLIENT_ControlDevice(loginHandle,
                NetSDKLib.CtrlType.CTRLTYPE_CTRL_ACCESS_CALL_LIFT, callLift.getPointer(), 5000);
        if(!result){
            System.err.println("remove fingerprint failed." + ToolKits.getErrorCode());
            return;
        }
        callLift.read();
            /**
             通道号
             */
        int nChannelID
                = callLift.nChannelID;
 
    System.out.println("nChannelID:"+nChannelID);
 
        /**
         用户ID
         */
        byte[] szUserID
                = callLift.szUserID;
        try {
            System.out.println("szUserID:"+new String(szUserID,encode));
        } catch (UnsupportedEncodingException e) {
            e.printStackTrace();
        }
        /**
         呼叫电梯个数
         */
        int nCallLiftCount
                = callLift.nCallLiftCount;
        System.out.println("nCallLiftCount:"+nCallLiftCount);
        /**
         呼叫电梯号
         */
        int[] nCallLiftNo = callLift.nCallLiftNo;
        for(int i=0;i<nCallLiftCount;i++){
            System.out.println("["+i+"]:"+nCallLiftNo[i]);
        }
        /**
         呼梯类型 {@link com.netsdk.lib.enumeration.EM_LIFT_CALLER_TYPE}
         */
        System.out.println("emLiftCaller:"+callLift.emLiftCaller);
 
    }
 
 
    public void RunTest()
    {
        System.out.println("Run Test");
        CaseMenu menu = new CaseMenu();
        menu.addItem(new CaseMenu.Item(this , "门禁控制-呼梯" , "callLift"));
        menu.run();
    }
 
 
    private static String ipAddr             = "172.3.11.41";
    private static int    port                 = 37777;
    private static String user                 = "admin";
    private static String password             = "admin123";
 
    public static void main(String[] args){
        InitTest(ipAddr, port, user, password);
        AccessCallLiftDemo accessCallLiftDemo=new AccessCallLiftDemo();
        accessCallLiftDemo.RunTest();
        LoginOut();
    }
}