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); }
private static void PortBackCardreal(object obj) { lock (locker) { QHKS.TConnInfo connInfo; SFDownBlack sfBlack; QHKS.KS objKS = new QHKS.KS(); string msg = ""; Base Pub = new Base(); bool state = false; bool sendstate = false; string card = ""; if (obj != null) { card = obj.ToString(); } try { for (int i = 0; i < dre.Rows.Count; i++) { //if (!Convert.ToBoolean(dre.Rows[i]["SelectCheck"])) continue; if (threadStop) { return; } state = false; sendstate = false; byte IsBigMac = Convert.ToByte(dre.Rows[i]["IsBigMac"]); int MacSN = Convert.ToInt32(dre.Rows[i]["MacSN"]); byte MacType = Convert.ToByte(dre.Rows[i]["MacTypeID"]); string MacConnType = dre.Rows[i]["MacConnType"].ToString(); string MacIPAddress = dre.Rows[i]["MacIPAddress"].ToString(); string MacPort = dre.Rows[i]["MacPort"].ToString(); string MacConnPWD = dre.Rows[i]["MacConnPWD"].ToString(); string MacPhysicsAddress = dre.Rows[i]["MacPhysicsAddress"].ToString(); connInfo = Pub.ValueToConnInfo(IsBigMac, MacSN, MacType, MacConnType, MacIPAddress, MacPort, MacConnPWD, MacPhysicsAddress); msg = string.Format(Pub.GetResText("SFMacReal", "MsgBlackKQ", ""), connInfo.MacSN); string MacVer = ""; msg = string.Format(Pub.GetResText("SFMacReal", "MsgBlackSF", ""), connInfo.MacSN); if (threadStop) { return; } objKS.Init(ref connInfo); state = objKS.SysDeviceInfoGet(ref MacVer); if (state) { objKS.InitMacVer(MacVer); } else { if (threadStop) { return; } msg = msg + Pub.GetResText("SFMacReal", "MsgFailure", ""); //CallBack_First(msg); Info.Add(msg); continue; } objKS.SysSetState(false); string[] tmp = new string[2]; tmp = card.Split(','); if (threadStop) { return; } if (tmp[0] == "3") { objKS.PubTimeSet(ServerDate); sfBlack = new SFDownBlack(backdr, sendbackdr, connInfo); sendstate = sfBlack.sendDown(connInfo.MacAddress, objKS); //if (!(connInfo.MacAddress == null || connInfo.MacAddress == "") && sendstate) //for (int x = 0; x < backdr.Rows.Count; x++) //{ // string cardNo = backdr.Rows[x]["CardSectorNo"].ToString(); // sqls.Add(Pub.GetSQL(DBCode.DB_004004, new string[] { "12", connInfo.MacAddress, cardNo })); //} } else if (tmp[0] == "0") { sfBlack = new SFDownBlack(connInfo); sendstate = sfBlack.realDown(card, objKS); //if (sendstate) // if (!(connInfo.MacAddress == null || connInfo.MacAddress == "")) ///sqls.Add(Pub.GetSQL(DBCode.DB_004004, new string[] { "12", connInfo.MacAddress, tmp[1] })); } else if (tmp[0] == "1") { sfBlack = new SFDownBlack(backdr, sendbackdr, connInfo); sendstate = sfBlack.sendDown(connInfo.MacAddress, objKS); //sendstate = sfBlack.realDown(card, objKS); //if(sendstate) //if (!(connInfo.MacAddress == null || connInfo.MacAddress == "")) // sqls.Add(Pub.GetSQL(DBCode.DB_004004, new string[] { "14", connInfo.MacAddress, tmp[1] })); } objKS.SysSetState(true); if (sendstate) { msg = msg + Pub.GetResText("SFMacReal", "MsgSuccess", ""); } else { msg = msg + Pub.GetResText("SFMacReal", "MsgFailure", ""); } if (threadStop) { return; } // CallBack_First(msg); Info.Add(msg); } } catch (Exception E) { Pub.ShowErrorMsg(E); } if (threadStop) { return; } } }
private void button2_Click(object sender, EventArgs e) { msgGrid.Rows.Clear(); byte devType = 0; QHKS.TConnInfo connInfo; QHKS.TMJConnInfo mjConn; TConnInfoNewMJ mjNewConn; KQDownBlack kqBlack; SFDownBlack sfBlack; MJDownBlack mjBlack; DataTable dt = (DataTable)bindingSource.DataSource; string msg = ""; bool state = false; string MacVer = ""; for (int i = 0; i < tvMac.Nodes.Count; i++) { devType = Convert.ToByte(tvMac.Nodes[i].Tag); for (int j = 0; j < tvMac.Nodes[i].Nodes.Count; j++) { 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; msg = string.Format(Pub.GetResText(formCode, "MsgBlackKQ", ""), connInfo.MacSN); ShowMsg(msg); if (connInfo.MacType == 1) { DeviceObject.objKS.Init(ref connInfo); state = DeviceObject.objKS.SysDeviceInfoGet(ref MacVer); if (state) { DeviceObject.objKS.InitMacVer(MacVer); } DeviceObject.objKS.SysSetState(false); db.SyncTime(); kqBlack = new KQDownBlack(dt, connInfo); if (state) { state = kqBlack.Down(); } DeviceObject.objKS.SysSetState(true); UpdateMsg(state); } break; case 1: if (SystemInfo.IsNewMJ) { mjNewConn = (TConnInfoNewMJ)tvMac.Nodes[i].Nodes[j].Tag; msg = string.Format(Pub.GetResText(formCode, "MsgBlackMJ", ""), mjNewConn.MacSN); ShowMsg(msg); DeviceObject.objMJNew.NewDevice(mjNewConn); mjBlack = new MJDownBlack(dt, mjNewConn); state = mjBlack.DownNew(); UpdateMsg(state); } else { mjConn = (QHKS.TMJConnInfo)tvMac.Nodes[i].Nodes[j].Tag; msg = string.Format(Pub.GetResText(formCode, "MsgBlackMJ", ""), mjConn.MacSN); ShowMsg(msg); DeviceObject.objMJ.Init(ref mjConn); mjBlack = new MJDownBlack(dt, mjConn); state = mjBlack.Down(); UpdateMsg(state); } break; case 2: connInfo = (QHKS.TConnInfo)tvMac.Nodes[i].Nodes[j].Tag; msg = string.Format(Pub.GetResText(formCode, "MsgBlackSF", ""), connInfo.MacSN); ShowMsg(msg); DeviceObject.objKS.Init(ref connInfo); state = DeviceObject.objKS.SysDeviceInfoGet(ref MacVer); if (state) { DeviceObject.objKS.InitMacVer(MacVer); } DeviceObject.objKS.SysSetState(false); db.SyncTime(); sfBlack = new SFDownBlack(dt, connInfo); if (state) { state = sfBlack.Down(); } DeviceObject.objKS.SysSetState(true); UpdateMsg(state); break; } } } }