Пример #1
0
        protected override bool ExecMacCommand(byte flag, string MacSN, ref string MacMsg)
        {
            bool   ret      = base.ExecMacCommand(flag, MacSN, ref MacMsg);
            string MacLocks = GetExtField(MacSN);

            if ((MacLocks == "") || (!Pub.IsNumeric(MacLocks)))
            {
                if (MacSN.Substring(1, 1) == "2")
                {
                    MacLocks = "20";
                }
                else
                {
                    MacLocks = "40";
                }
            }
            switch (flag)
            {
            case 0:
                AccessV2API.TYPE_Setting setting = new AccessV2API.TYPE_Setting();
                ret = DeviceObject.objMJNew.ReadSetting(out setting);
                if (ret)
                {
                    if (MacLocks == "21")
                    {
                        setting.Restrict = 0x1200;
                    }
                    else if (MacLocks == "41")
                    {
                        setting.Restrict = 0x1200;
                    }
                    else if (MacLocks == "42")
                    {
                        setting.Restrict = 0x7000;
                    }
                    else if (MacLocks == "43")
                    {
                        setting.Restrict = 0x1248;
                    }
                    else if (MacLocks == "44")
                    {
                        setting.Restrict = 0x1600;
                    }
                    else if (MacLocks == "45")
                    {
                        setting.Restrict = 0x1E00;
                    }
                    else if (MacLocks == "46")
                    {
                        setting.Restrict = 0x3C00;
                    }
                    ret = DeviceObject.objMJNew.SetSetting(setting);
                }
                break;
            }
            return(ret);
        }
Пример #2
0
        protected override bool ExecMacCommand(byte flag, string MacSN, ref string MacMsg)
        {
            bool   ret        = base.ExecMacCommand(flag, MacSN, ref MacMsg);
            string IsReturn   = GetExtField(MacSN);
            string MacReturns = GetExtField(MacSN, 1);

            if (IsReturn.ToUpper() == "Y")
            {
                if ((MacReturns == "") || (!Pub.IsNumeric(MacReturns)))
                {
                    MacReturns = "0";
                }
            }
            else
            {
                MacReturns = "0";
            }
            switch (flag)
            {
            case 0:
                AccessV2API.TYPE_Setting setting = new AccessV2API.TYPE_Setting();
                ret = DeviceObject.objMJNew.ReadSetting(out setting);
                if (ret)
                {
                    if (MacReturns == "11")
                    {
                        setting.Restrict = 0x1200;
                    }
                    else if (MacReturns == "21")
                    {
                        setting.Restrict = 0x1200;
                    }
                    else if (MacReturns == "22")
                    {
                        setting.Restrict = 0x1248;
                    }
                    else if (MacReturns == "23")
                    {
                        setting.Restrict = 0x5A00;
                    }
                    ret = DeviceObject.objMJNew.SetSetting(setting);
                }
                break;
            }
            return(ret);
        }
Пример #3
0
        protected bool SyncTime()
        {
            bool     ret = false;
            DateTime dt  = new DateTime();

            if (db.GetServerDate(ref dt))
            {
                AccessV2API.TYPE_Setting setting = new AccessV2API.TYPE_Setting();
                ret = DeviceObject.objMJNew.ReadSetting(out setting);
                if (ret)
                {
                    DeviceObject.objMJNew.DateTimeToMJDateTime(dt, ref setting.DateTime);
                    ret = DeviceObject.objMJNew.SetSetting(setting);
                }
            }
            return(ret);
        }
Пример #4
0
        private void timer1_Tick(object sender, EventArgs e)
        {
            int            index = tabControl1.SelectedIndex;
            TMapDoorInfo   door;
            TMJWatch       watch = new TMJWatch("", 0);
            TConnInfoNewMJ connInfo;

            timer1.Enabled = false;
            bool       findWatch;
            PictureBox btn;

            AccessV2API.TYPE_Setting setting = new AccessV2API.TYPE_Setting();
            for (int i = 0; i < tabControl1.TabPages[index].Controls[0].Controls.Count; i++)
            {
                Application.DoEvents();
                if (!isRealing)
                {
                    break;
                }
                btn      = (PictureBox)tabControl1.TabPages[index].Controls[0].Controls[i];
                door     = (TMapDoorInfo)btn.Tag;
                connInfo = Pub.ValueToNewMJConnInfo(door.MacSN, door.MacConnType, door.MacIPAddress, door.MacPort, door.MacConnPWD);
                DeviceObject.objMJNew.NewDevice(connInfo, 0);
                findWatch = false;
                for (int j = 0; j < watchIndex.Count; j++)
                {
                    if (watchIndex[j].MacSN == door.MacSN)
                    {
                        findWatch = true;
                        watch     = watchIndex[j];
                        break;
                    }
                }
                if (!findWatch)
                {
                    watch = new TMJWatch(door.MacSN, 0);
                    watchIndex.Add(watch);
                }
                if (!DeviceObject.objMJNew.ReadSetting(out setting))
                {
                    continue;
                }
                int DoorID = 0;
                int.TryParse(door.DoorID, out DoorID);
                if (DoorID > 0 && DoorID <= 4)
                {
                    if (setting.DoorState[DoorID - 1] == 0)
                    {
                        btn.Image = Properties.Resources.doorclose;
                    }
                    else
                    {
                        btn.Image = Properties.Resources.dooropen;
                    }
                }
                if (watch.Index == 0)
                {
                    watch.Index = setting.LogCount;
                    if (watch.Index == 1)
                    {
                        watch.Index = 0;
                    }
                }
                AccessV2API.TYPE_Log log;
                if (!DeviceObject.objMJNew.ReadLog(watch.Index, out log))
                {
                    continue;
                }
                if (log.Door == 0 || log.Door == 255)
                {
                    continue;
                }
                QHKS.TMJRecordInfo recInfo = new QHKS.TMJRecordInfo();
                recInfo.AlarmType = Convert.ToByte(log.WarnCode);
                recInfo.CardNo    = log.CardNo.ToString("0000000000");
                recInfo.CardTime  = DeviceObject.objMJNew.MJDateTimeToDateTime(log.DateTime);
                recInfo.DoorID    = Convert.ToByte(log.Door);
                recInfo.IsCard    = Convert.ToByte(log.CardNo > 0);
                if (recInfo.DoorID > 0 && recInfo.DoorID <= 4)
                {
                    recInfo.IsPass = Convert.ToByte(log.DoorState[recInfo.DoorID - 1] > 0);
                    if (recInfo.IsCard == 1 && recInfo.AlarmType >= 0x80 && recInfo.AlarmType <= 0x86)
                    {
                        recInfo.IsPass = 1;
                    }
                }
                recInfo.ReaderID = Convert.ToByte(log.Reader);
                ShowRealData(recInfo, connInfo.MacSN.ToString());
                watch.Index++;
                Application.DoEvents();
            }
            if (isRealing)
            {
                timer1.Enabled = true;
            }
        }
Пример #5
0
        private void ExecDeviceCommand(int AutoType, string AutoName)
        {
            DateTime dt = new DateTime();

            if (!db.GetServerDate(ref dt))
            {
                return;
            }
            DataTable dtBlack = null;
            DataTable dtPower = null;
            byte      devType = 0;
            string    devName = "";

            QHKS.TConnInfo   connInfo;
            QHKS.TMJConnInfo mjConn;
            TConnInfoNewMJ   mjNewConn;
            TConnInfoFinger  connFinger;
            string           msg    = "";
            bool             state  = false;
            string           MacVer = "";
            int    RecordCount      = 0;
            int    RecordIndex      = 0;
            string dataMsg          = "";

            progBar.Style = ProgressBarStyle.Marquee;
            progBar.Value = 50;
            if ((AutoType == 2) || (AutoType == 4))
            {
                progBar.Style = ProgressBarStyle.Blocks;
                progBar.Value = 0;
            }
            if (AutoType == 3)
            {
                try
                {
                    dtBlack = db.GetDataTable(Pub.GetSQL(DBCode.DB_001003, new string[] { "501" }));
                }
                catch (Exception E)
                {
                    Pub.ShowErrorMsg(E);
                    return;
                }
            }
            for (int i = 0; i < tvMac.Nodes.Count; i++)
            {
                Application.DoEvents();
                if (!isRealing)
                {
                    break;
                }
                if (tvMac.StateImageList == null)
                {
                    if (!tvMac.Nodes[i].Checked)
                    {
                        continue;
                    }
                }
                else
                {
                    if (tvMac.Nodes[i].StateImageIndex == 0)
                    {
                        continue;
                    }
                }
                devType = Convert.ToByte(tvMac.Nodes[i].Tag);
                devName = tvMac.Nodes[i].Text;
                for (int j = 0; j < tvMac.Nodes[i].Nodes.Count; j++)
                {
                    Application.DoEvents();
                    if (!isRealing)
                    {
                        break;
                    }
                    if (tvMac.StateImageList == null)
                    {
                        if (!tvMac.Nodes[i].Nodes[j].Checked)
                        {
                            continue;
                        }
                    }
                    else
                    {
                        if (tvMac.Nodes[i].Nodes[j].StateImageIndex != 1)
                        {
                            continue;
                        }
                    }
                    switch (devType)
                    {
                    case 0:
                        connInfo = (QHKS.TConnInfo)tvMac.Nodes[i].Nodes[j].Tag;
                        switch (AutoType)
                        {
                        case 1://同步时间
                            msg = string.Format(Pub.GetResText(formCode, "MsgSyncTime", ""), devName, connInfo.MacSN);
                            break;

                        case 2://回收数据
                            msg = string.Format(Pub.GetResText(formCode, "MsgGetData", ""), devName, connInfo.MacSN);
                            break;

                        case 3://下载黑名单
                            msg = string.Format(Pub.GetResText(formCode, "MsgBlackKQ", ""), connInfo.MacSN);
                            break;

                        case 4://下载权限
                            msg = string.Format(Pub.GetResText(formCode, "MsgDownPower", ""), devName, connInfo.MacSN);
                            break;
                        }
                        MsgString = msg;
                        ShowMsg(msg);
                        DeviceObject.objKS.Init(ref connInfo);
                        state = DeviceObject.objKS.SysDeviceInfoGet(ref MacVer);
                        if (state)
                        {
                            DeviceObject.objKS.InitMacVer(MacVer);
                        }
                        switch (AutoType)
                        {
                        case 1://同步时间
                            if (state)
                            {
                                state = DeviceObject.objKS.PubTimeSet(dt);
                            }
                            UpdateMsg(state);
                            break;

                        case 2://回收数据
                            DeviceObject.objKS.SysSetState(false);
                            KQReadData readData = new KQReadData(this.Text + "[" + AutoName + "]", true);
                            if (state)
                            {
                                state = readData.ReadData(db, textFormat, connInfo.MacSN, ref RecordCount, ref RecordIndex,
                                                          false, ShowReadDataProcess);
                            }
                            DeviceObject.objKS.SysSetState(true);
                            UpdateMsg(state, string.Format("{0}/{1}", RecordIndex, RecordCount));
                            break;

                        case 3://下载黑名单
                            if (state)
                            {
                                KQDownBlack kqBlack = new KQDownBlack(dtBlack, connInfo);
                                if (state)
                                {
                                    state = kqBlack.Down();
                                }
                            }
                            UpdateMsg(state);
                            break;

                        case 4://下载权限
                            break;
                        }
                        break;

                    case 1:
                        if (SystemInfo.IsNewMJ)
                        {
                            mjNewConn = (TConnInfoNewMJ)tvMac.Nodes[i].Nodes[j].Tag;
                            switch (AutoType)
                            {
                            case 1://同步时间
                                msg = string.Format(Pub.GetResText(formCode, "MsgSyncTime", ""), devName, mjNewConn.MacSN);
                                break;

                            case 2://回收数据
                                msg = string.Format(Pub.GetResText(formCode, "MsgGetData", ""), devName, mjNewConn.MacSN);
                                break;

                            case 3://下载黑名单
                                msg = string.Format(Pub.GetResText(formCode, "MsgBlackMJ", ""), mjNewConn.MacSN);
                                break;

                            case 4://下载权限
                                msg = string.Format(Pub.GetResText(formCode, "MsgDownPower", ""), devName, mjNewConn.MacSN);
                                break;
                            }
                            MsgString = msg;
                            ShowMsg(msg);
                            DeviceObject.objMJNew.NewDevice(mjNewConn);
                            switch (AutoType)
                            {
                            case 1://同步时间
                                AccessV2API.TYPE_Setting setting = new AccessV2API.TYPE_Setting();
                                state = DeviceObject.objMJNew.ReadSetting(out setting);
                                if (state)
                                {
                                    DeviceObject.objMJNew.DateTimeToMJDateTime(dt, ref setting.DateTime);
                                    state = DeviceObject.objMJNew.SetSetting(setting);
                                }
                                UpdateMsg(state);
                                break;

                            case 2://回收数据
                                MJReadData readData = new MJReadData(this.Text + "[" + AutoName + "]");
                                state = readData.ReadDataNew(db, mjNewConn.MacSN.ToString(), ref RecordCount, ref RecordIndex, ShowReadDataProcess);
                                UpdateMsg(state, string.Format("{0}/{1}", RecordIndex, RecordCount));
                                break;

                            case 3://下载黑名单
                                MJDownBlack mjBlack = new MJDownBlack(dtBlack, mjNewConn);
                                state = mjBlack.DownNew();
                                UpdateMsg(state);
                                break;

                            case 4://下载权限
                                RecordIndex = 0;
                                RecordCount = 0;
                                try
                                {
                                    dtPower = db.GetDataTable(Pub.GetSQL(DBCode.DB_003004, new string[] { "0", "" }));
                                    state   = DeviceObject.objMJNew.ClearRegister();
                                    if (state)
                                    {
                                        bool   IsE         = false;
                                        byte   DoorID      = 0;
                                        UInt32 cardNo      = 0;
                                        UInt32 OtherCardNo = 0;
                                        string EmpNo       = "";
                                        string EmpName     = "";
                                        string EmpPass     = "";
                                        AccessV2API.TYPE_Register Register;
                                        RecordCount = dtPower.Rows.Count;
                                        for (int k = 0; k < RecordCount; k++)
                                        {
                                            ShowReadDataProcess(RecordCount, k + 1);
                                            IsE    = dtPower.Rows[k]["IsEnable"].ToString().ToUpper() == "Y";
                                            DoorID = Convert.ToByte(dtPower.Rows[k]["MacDoorID"].ToString());
                                            UInt32.TryParse(dtPower.Rows[k]["CardPhysicsNo10"].ToString(), out cardNo);
                                            UInt32.TryParse(dtPower.Rows[k]["OtherCardNo"].ToString(), out OtherCardNo);
                                            EmpNo   = DeviceObject.objMJNew.GetLengthText(dtPower.Rows[k]["EmpNo"].ToString(), 16);
                                            EmpName = DeviceObject.objMJNew.GetLengthText(dtPower.Rows[k]["EmpName"].ToString(), 16);
                                            EmpPass = DeviceObject.objMJNew.GetLengthText(dtPower.Rows[k]["CardPWD"].ToString(), 8);
                                            if (EmpPass == null)
                                            {
                                                EmpPass = "";
                                            }
                                            EmpPass = EmpPass.Length > 8 ? EmpPass.Substring(0, 8) : EmpPass;
                                            if (IsE)
                                            {
                                                if (cardNo > 0)
                                                {
                                                    Register          = new AccessV2API.TYPE_Register();
                                                    Register.CardNo   = cardNo;
                                                    Register.Door     = DoorID;
                                                    Register.Password = EmpPass;
                                                    UInt32.TryParse(dtPower.Rows[k]["MacTimeNo"].ToString(), out Register.TimeGroup);
                                                    DeviceObject.objMJNew.DateTimeToMJDateTime(Convert.ToDateTime(dtPower.Rows[k]["CardStartDate"].ToString()), ref Register.DateBegin);
                                                    DeviceObject.objMJNew.DateTimeToMJDateTime(Convert.ToDateTime(dtPower.Rows[k]["CardEndDate"].ToString()), ref Register.DateEnd);
                                                    Register.UserID   = EmpNo;
                                                    Register.UserName = EmpName;
                                                    state             = DeviceObject.objMJNew.AddRegister(Register);
                                                }
                                                if (state && OtherCardNo > 0)
                                                {
                                                    Register          = new AccessV2API.TYPE_Register();
                                                    Register.CardNo   = OtherCardNo;
                                                    Register.Door     = DoorID;
                                                    Register.Password = EmpPass;
                                                    UInt32.TryParse(dtPower.Rows[k]["MacTimeNo"].ToString(), out Register.TimeGroup);
                                                    DeviceObject.objMJNew.DateTimeToMJDateTime(Convert.ToDateTime(dtPower.Rows[k]["CardStartDate"].ToString()), ref Register.DateBegin);
                                                    DeviceObject.objMJNew.DateTimeToMJDateTime(Convert.ToDateTime(dtPower.Rows[k]["CardEndDate"].ToString()), ref Register.DateEnd);
                                                    Register.UserID   = EmpNo;
                                                    Register.UserName = EmpName;
                                                    state             = DeviceObject.objMJNew.AddRegister(Register);
                                                }
                                            }
                                            else
                                            {
                                                state = true;
                                            }
                                            if (!state)
                                            {
                                                break;
                                            }
                                            RecordIndex++;
                                        }
                                    }
                                }
                                catch (Exception E)
                                {
                                    state = false;
                                    Pub.ShowErrorMsg(E);
                                }
                                UpdateMsg(state, string.Format("{0}/{1}", RecordIndex, RecordCount));
                                break;
                            }
                        }
                        else
                        {
                            mjConn = (QHKS.TMJConnInfo)tvMac.Nodes[i].Nodes[j].Tag;
                            switch (AutoType)
                            {
                            case 1://同步时间
                                msg = string.Format(Pub.GetResText(formCode, "MsgSyncTime", ""), devName, mjConn.MacSN);
                                break;

                            case 2://回收数据
                                msg = string.Format(Pub.GetResText(formCode, "MsgGetData", ""), devName, mjConn.MacSN);
                                break;

                            case 3://下载黑名单
                                msg = string.Format(Pub.GetResText(formCode, "MsgBlackMJ", ""), mjConn.MacSN);
                                break;

                            case 4://下载权限
                                msg = string.Format(Pub.GetResText(formCode, "MsgDownPower", ""), devName, mjConn.MacSN);
                                break;
                            }
                            MsgString = msg;
                            ShowMsg(msg);
                            DeviceObject.objMJ.Init(ref mjConn);
                            switch (AutoType)
                            {
                            case 1://同步时间
                                state = DeviceObject.objMJ.SetMacTime(dt);
                                UpdateMsg(state);
                                break;

                            case 2://回收数据
                                MJReadData readData = new MJReadData(this.Text + "[" + AutoName + "]");
                                state = readData.ReadData(db, mjConn.MacSN, ref RecordCount, ref RecordIndex, ShowReadDataProcess);
                                UpdateMsg(state, string.Format("{0}/{1}", RecordIndex, RecordCount));
                                break;

                            case 3://下载黑名单
                                MJDownBlack mjBlack = new MJDownBlack(dtBlack, mjConn);
                                state = mjBlack.Down();
                                UpdateMsg(state);
                                break;

                            case 4://下载权限
                                RecordIndex = 0;
                                RecordCount = 0;
                                try
                                {
                                    dtPower = db.GetDataTable(Pub.GetSQL(DBCode.DB_003004, new string[] { "0", "" }));
                                    state   = DeviceObject.objMJ.ClearMacPower();
                                    if (state)
                                    {
                                        bool   IsE         = false;
                                        byte   DoorID      = 0;
                                        string cardNo      = "";
                                        string OtherCardNo = "";
                                        QHKS.TMJUpPowerInfo power;
                                        RecordCount = dtPower.Rows.Count;
                                        for (int k = 0; k < RecordCount; k++)
                                        {
                                            ShowReadDataProcess(RecordCount, k + 1);
                                            IsE         = dtPower.Rows[k]["IsEnable"].ToString().ToUpper() == "Y";
                                            DoorID      = Convert.ToByte(dtPower.Rows[k]["MacDoorID"].ToString());
                                            cardNo      = dtPower.Rows[k]["CardPhysicsNo10"].ToString();
                                            OtherCardNo = dtPower.Rows[k]["OtherCardNo"].ToString();
                                            if (IsE)
                                            {
                                                power             = new QHKS.TMJUpPowerInfo();
                                                power.CardNo      = cardNo;
                                                power.OtherCardNo = OtherCardNo;
                                                power.StartDate   = Convert.ToDateTime(dtPower.Rows[k]["CardStartDate"].ToString());
                                                power.EndDate     = Convert.ToDateTime(dtPower.Rows[k]["CardEndDate"].ToString());
                                                power.Password    = dtPower.Rows[k]["CardPWD"].ToString();
                                                power.EmpNo       = dtPower.Rows[k]["EmpNo"].ToString();
                                                power.EmpName     = dtPower.Rows[k]["EmpName"].ToString();
                                                power.DoorID      = DoorID;
                                                byte.TryParse(dtPower.Rows[k]["MacTimeNo"].ToString(), out power.TimeID);
                                                state = DeviceObject.objMJ.SetMacUpPowerInfo(ref power);
                                            }
                                            else
                                            {
                                                state = true;
                                            }
                                            if (!state)
                                            {
                                                break;
                                            }
                                            RecordIndex++;
                                        }
                                    }
                                }
                                catch (Exception E)
                                {
                                    state = false;
                                    Pub.ShowErrorMsg(E);
                                }
                                UpdateMsg(state, string.Format("{0}/{1}", RecordIndex, RecordCount));
                                break;
                            }
                        }
                        break;

                    case 2:
                        connInfo = (QHKS.TConnInfo)tvMac.Nodes[i].Nodes[j].Tag;
                        switch (AutoType)
                        {
                        case 1://同步时间
                            msg = string.Format(Pub.GetResText(formCode, "MsgSyncTime", ""), devName, connInfo.MacSN);
                            break;

                        case 2://回收数据
                            msg = string.Format(Pub.GetResText(formCode, "MsgGetData", ""), devName, connInfo.MacSN);
                            break;

                        case 3://下载黑名单
                            msg = string.Format(Pub.GetResText(formCode, "MsgBlackSF", ""), connInfo.MacSN);
                            break;

                        case 4://下载权限
                            msg = string.Format(Pub.GetResText(formCode, "MsgDownPower", ""), devName, connInfo.MacSN);
                            break;
                        }
                        MsgString = msg;
                        ShowMsg(msg);
                        DeviceObject.objKS.Init(ref connInfo);
                        state = DeviceObject.objKS.SysDeviceInfoGet(ref MacVer);
                        if (state)
                        {
                            DeviceObject.objKS.InitMacVer(MacVer);
                        }
                        switch (AutoType)
                        {
                        case 1://同步时间
                            if (state)
                            {
                                state = DeviceObject.objKS.PubTimeSet(dt);
                            }
                            UpdateMsg(state);
                            break;

                        case 2://回收数据
                            DeviceObject.objKS.SysSetState(false);
                            SFReadData readData = new SFReadData(this.Text + "[" + AutoName + "]", true);
                            if (state)
                            {
                                state = readData.ReadData(db, connInfo.MacSN, connInfo.MacType, ref dataMsg, false,
                                                          ShowSFReadDataProcess);
                            }
                            DeviceObject.objKS.SysSetState(true);
                            UpdateMsg(state, dataMsg);
                            break;

                        case 3://下载黑名单
                            if (state)
                            {
                                SFDownBlack sfBlack = new SFDownBlack(dtBlack, connInfo);
                                if (state)
                                {
                                    state = sfBlack.Down();
                                }
                            }
                            UpdateMsg(state);
                            break;

                        case 4://下载权限
                            break;
                        }
                        break;

                    case 3:
                        connFinger = (TConnInfoFinger)tvMac.Nodes[i].Nodes[j].Tag;
                        switch (AutoType)
                        {
                        case 1://同步时间
                            msg = string.Format(Pub.GetResText(formCode, "MsgSyncTime", ""), devName, connFinger.MacSN);
                            break;

                        case 2://回收数据
                            msg = string.Format(Pub.GetResText(formCode, "MsgGetData", ""), devName, connFinger.MacSN);
                            break;

                        case 3://下载黑名单
                            break;

                        case 4://下载权限
                            break;
                        }
                        MsgString = msg;
                        ShowMsg(msg);
                        DeviceObject.objFK623.InitConn(connFinger);
                        switch (AutoType)
                        {
                        case 1://同步时间
                            DeviceObject.objFK623.Open();
                            state = DeviceObject.objFK623.IsOpen;
                            if (state)
                            {
                                state = DeviceObject.objFK623.SetDeviceTime(dt);
                            }
                            DeviceObject.objFK623.Close();
                            UpdateMsg(state);
                            break;

                        case 2://回收数据
                            FingerReadData readData = new FingerReadData(this.Text + "[" + AutoName + "]", 1);
                            state = readData.FK623ReadData(db, textFormat, connFinger.MacSN, ref RecordCount,
                                                           ref RecordIndex, ShowReadDataProcess);
                            UpdateMsg(state, string.Format("{0}/{1}", RecordIndex, RecordCount));
                            break;

                        case 3://下载黑名单
                            break;

                        case 4://下载权限
                            break;
                        }
                        break;
                    }
                }
            }
            if (dtBlack != null)
            {
                dtBlack.Reset();
            }
            if (dtPower != null)
            {
                dtPower.Reset();
            }
            db.WriteSYLog(this.Text, AutoName, lblMsg.Text);
        }
Пример #6
0
        protected override bool ExecMacCommand(byte flag, string MacSN, ref string MacMsg)
        {
            bool ret = base.ExecMacCommand(flag, MacSN, ref MacMsg);

            AccessV2API.TYPE_Setting       setting     = new AccessV2API.TYPE_Setting();
            AccessV2API.TYPE_ExtendAlarm[] ExtendAlarm = new AccessV2API.TYPE_ExtendAlarm[4];
            string s = "";
            UInt32 iEna = 1, iDis = 0;
            TMacExtensionBoardNew extBoard = new TMacExtensionBoardNew(GetExtField(MacSN));

            switch (flag)
            {
            case 0:
                for (int i = 0; i < 4; i++)
                {
                    ExtendAlarm[i].Alarm        = extBoard.Port[i];
                    ExtendAlarm[i].Door         = extBoard.DoorID[i];
                    ExtendAlarm[i].UnlockedTick = (UInt32)extBoard.TimeOut[i];
                    ExtendAlarm[i].UnlockedLoop = (UInt32)extBoard.TimeLoop[i];
                    s = extBoard.Events[i];
                    if (s.Length != 7)
                    {
                        s = "0000000";
                    }
                    ExtendAlarm[i].NoAccess = s.Substring(0, 1) == "1" ? iEna : iDis;
                    ExtendAlarm[i].Unlocked = s.Substring(1, 1) == "1" ? iEna : iDis;
                    ExtendAlarm[i].BreakIn  = s.Substring(2, 1) == "1" ? iEna : iDis;
                    ExtendAlarm[i].Linkage  = s.Substring(3, 1) == "1" ? iEna : iDis;
                    ExtendAlarm[i].Fire     = s.Substring(4, 1) == "1" ? iEna : iDis;
                    ExtendAlarm[i].Stress   = s.Substring(5, 1) == "1" ? iEna : iDis;
                    ExtendAlarm[i].Curfew   = s.Substring(6, 1) == "1" ? iEna : iDis;
                    s = extBoard.Souce[i];
                    if (s.Length != 2)
                    {
                        s = "00";
                    }
                    ExtendAlarm[i].BreakInMode  = s.Substring(0, 1) == "1" ? iEna : iDis;
                    ExtendAlarm[i].UnlockedMode = s.Substring(1, 1) == "1" ? iEna : iDis;
                }
                ret = DeviceObject.objMJNew.SetAlarmInfo(ExtendAlarm);
                break;

            case 1:
                ret = DeviceObject.objMJNew.ReadSetting(out setting);
                if (ret)
                {
                    setting.StressCodeA = "000000";
                    setting.StressCodeB = "000000";
                    ret = DeviceObject.objMJNew.SetSetting(setting);
                }
                if (ret)
                {
                    for (int i = 0; i < 4; i++)
                    {
                        ExtendAlarm[i].Door = (UInt32)(i + 1);
                    }
                    ret = DeviceObject.objMJNew.SetAlarmInfo(ExtendAlarm);
                }
                break;

            case 2:
                ret = DeviceObject.objMJNew.ReadSetting(out setting);
                if (ret)
                {
                    setting.StressCodeA = StressPWDA.ToString("000000");
                    setting.StressCodeB = StressPWDB.ToString("000000");
                    ret = DeviceObject.objMJNew.SetSetting(setting);
                }
                break;

            case 3:
                for (int i = 0; i < 4; i++)
                {
                    ExtendAlarm[i].Door         = (UInt32)(i + 1);
                    ExtendAlarm[i].UnlockedTick = (UInt32)OverTimeOpen;
                    ExtendAlarm[i].UnlockedLoop = (UInt32)OverTimeLoop;
                }
                ret = DeviceObject.objMJNew.SetAlarmInfo(ExtendAlarm);
                break;
            }
            return(ret);
        }
Пример #7
0
        protected override bool ExecMacCommand(byte flag, string MacSN, ref string MacMsg)
        {
            bool ret = base.ExecMacCommand(flag, MacSN, ref MacMsg);

            AccessV2API.TYPE_Setting setting = new AccessV2API.TYPE_Setting();
            switch (flag)
            {
            case 0:
                ret = SyncTime();
                break;

            case 1:
                ret = DeviceObject.objMJNew.ReadSetting(out setting);
                if (ret)
                {
                    byte   DoorType  = Convert.ToByte(MacSN.Substring(1, 1));
                    string DoorState = "";
                    for (byte i = 1; i <= DoorType; i++)
                    {
                        DoorState += i.ToString() + ":" + Pub.GetResText(formCode, "MJDoorMagnet" + setting.DoorState[i - 1].ToString(), "") + ";";
                    }
                    AccessV2API.TYPE_DoorBasic  DoorBasic  = new AccessV2API.TYPE_DoorBasic();
                    AccessV2API.TYPE_DoorExpert DoorExpert = new AccessV2API.TYPE_DoorExpert();
                    string StateInfo    = "";
                    string IntervalInfo = "";
                    string DelayInfo    = "";
                    for (byte i = 1; i <= DoorType; i++)
                    {
                        ret = DeviceObject.objMJNew.ReadDoorInfo(i, ref DoorBasic, ref DoorExpert);
                        if (!ret)
                        {
                            break;
                        }
                        StateInfo    += i.ToString() + ":" + Pub.GetResText(formCode, "MJDoorState" + DoorBasic.State.ToString(), "") + ";";
                        IntervalInfo += i.ToString() + ":" + DoorBasic.Interval.ToString() + "s;";
                        DelayInfo    += i.ToString() + ":" + DoorBasic.LockedDelay.ToString() + "s;";
                    }
                    string msg = Pub.GetResText(formCode, "MacSN", "") + ": " + MacSN + "\r\n    " + Pub.GetResText(formCode, "MacInfoNew", "");
                    msg = string.Format(msg, DeviceObject.objMJNew.MJDateTimeToString(setting.DateTime), setting.Version, setting.LogCount,
                                        setting.RegCount, setting.RightType, DoorState, setting.Restrict.ToString("X"), setting.AntiReturn.ToString("X"),
                                        StateInfo, IntervalInfo, DelayInfo);
                    ShowMsg(msg + "\r\n");
                }
                break;

            case 2:
                ret = DeviceObject.objMJNew.ReadSetting(out setting);
                if (!ret)
                {
                    break;
                }
                setting.RightType = 32;
                ret = DeviceObject.objMJNew.SetSetting(setting);
                for (int i = 0; i < upDoorInfo.Count; i++)
                {
                    if (upDoorInfo[i].MacSN.ToString() == MacSN)
                    {
                        ret = DeviceObject.objMJNew.SetDoorBasicInfo(upDoorInfo[i].DoorID, upDoorInfo[i].DoorInfo);
                        if (!ret)
                        {
                            break;
                        }
                    }
                }
                break;

            case 3:
                ret = DeviceObject.objMJNew.ClearRegister();
                break;

            case 4:
                ret = DeviceObject.objMJNew.WriteComment(DownMessage);
                break;

            case 5:
                ret = DeviceObject.objMJNew.RebootDevice();
                break;

            case 6:
                ret = DeviceObject.objMJNew.Init();
                break;
            }
            return(ret);
        }
Пример #8
0
 private void timer1_Tick(object sender, EventArgs e)
 {
     timer1.Enabled = false;
     AccessV2API.TYPE_Setting setting = new AccessV2API.TYPE_Setting();
     for (int i = 0; i < connList.Count; i++)
     {
         Application.DoEvents();
         if (!isRealing)
         {
             break;
         }
         TConnInfoNewMJ connInfo = connList[i];
         DeviceObject.objMJNew.NewDevice(connInfo, 0);
         if (!DeviceObject.objMJNew.ReadSetting(out setting))
         {
             continue;
         }
         SetMacDoorState(connInfo.MacSN.ToString(), setting.DoorState);
         if (watchIndex[i] == 0)
         {
             watchIndex[i] = setting.LogCount;
             if (watchIndex[i] == 1)
             {
                 watchIndex[i] = 0;
             }
         }
         AccessV2API.TYPE_Log log;
         if (!DeviceObject.objMJNew.ReadLog(watchIndex[i], out log))
         {
             continue;
         }
         if (log.DateTime.wYear > 3099)
         {
             continue;
         }
         if (log.Door == 0 || log.Door == 255)
         {
             continue;
         }
         QHKS.TMJRecordInfo recInfo = new QHKS.TMJRecordInfo();
         recInfo.AlarmType = Convert.ToByte(log.WarnCode);
         recInfo.CardNo    = log.CardNo.ToString("0000000000");
         recInfo.CardTime  = DeviceObject.objMJNew.MJDateTimeToDateTime(log.DateTime);
         recInfo.DoorID    = Convert.ToByte(log.Door);
         recInfo.IsCard    = Convert.ToByte(log.CardNo > 0);
         if (recInfo.DoorID > 0 && recInfo.DoorID <= 4)
         {
             recInfo.IsPass = Convert.ToByte(log.DoorState[recInfo.DoorID - 1] > 0);
             if (recInfo.IsCard == 1 && recInfo.AlarmType >= 0x80 && recInfo.AlarmType <= 0x86)
             {
                 recInfo.IsPass = 1;
             }
         }
         recInfo.ReaderID = Convert.ToByte(log.Reader);
         ShowRealData(recInfo, connInfo.MacSN.ToString());
         watchIndex[i]++;
         Application.DoEvents();
         //AccessV2API.TYPE_LogPack LogPack = new AccessV2API.TYPE_LogPack();
         //UInt32 PackIndex = 0;
         //int PackCount;
         //while (true)
         //{
         //    if (!isRealing) break;
         //    Application.DoEvents();
         //    PackCount = DeviceObject.objMJNew.ReadBlockLog(PackIndex, ref LogPack);
         //    if (PackCount <= 0 || LogPack.Count == 0) break;
         //    PackIndex++;
         //    for (int j = 0; j < LogPack.Count; j++)
         //    {
         //        if (LogPack.Log[j].Door != 0 && LogPack.Log[j].Door != 255)
         //        {
         //            QHKS.TMJRecordInfo recInfo = new QHKS.TMJRecordInfo();
         //            recInfo.AlarmType = Convert.ToByte(LogPack.Log[j].WarnCode);
         //            recInfo.CardNo = LogPack.Log[j].CardNo.ToString("0000000000");
         //            recInfo.CardTime = DeviceObject.objMJNew.MJDateTimeToDateTime(LogPack.Log[j].DateTime);
         //            recInfo.DoorID = Convert.ToByte(LogPack.Log[j].Door);
         //            recInfo.IsCard = Convert.ToByte(LogPack.Log[j].CardNo > 0);
         //            if (recInfo.DoorID > 0 && recInfo.DoorID <= 4)
         //            {
         //                recInfo.IsPass = Convert.ToByte(LogPack.Log[j].DoorState[recInfo.DoorID - 1] > 0);
         //                if (recInfo.IsCard == 1 && recInfo.AlarmType >= 0x80 && recInfo.AlarmType <= 0x86) recInfo.IsPass = 1;
         //            }
         //            recInfo.ReaderID = Convert.ToByte(LogPack.Log[j].Reader);
         //            ShowRealData(recInfo, connInfo.MacSN.ToString());
         //            Application.DoEvents();
         //        }
         //    }
         //}
     }
     if (isRealing)
     {
         timer1.Enabled = true;
     }
 }