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); }
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); }
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); }
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; } }
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); }
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); }
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); }
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; } }