private void setHisAdmissionList(List <AdmissionExit> admissionExits) { List <AdmissionExit> admissions = admissionExits.Where(a => a.Model.Equals(AdmissionExit.ADMISSION)).ToList(); daTagListView.Items.Clear(); int length = admissions.Count; for (int i = 0; i < length; i++) { ListViewItem item = new ListViewItem(); item.Text = admissions[i].TagID; item.Name = admissions[i].TagID; item.SubItems.Add(admissions[i].Name); item.SubItems.Add(XwDataUtils.dataFromTimeStamp((Int32)admissions[i].Time)); //入场时间 item.SubItems.Add("--"); String workIDs = ""; for (int j = 0; j < 16; j++) { workIDs += admissions[i].WorkIDbyte[j].ToString("X2"); } item.SubItems.Add(workIDs); daTagListView.Items.Add(item); } }
public void getNODEWarnBt(ref List <byte[]> nodeBt) { if (cardUnanswerWranMsgs == null) { return; } Dictionary <string, DrivaceWarnMessage> nODEUnanswerWranMsgsCache = new Dictionary <string, DrivaceWarnMessage>(nODEUnanswerWranMsgs); foreach (var item in nODEUnanswerWranMsgsCache) { byte[] canKaoID = XWUtils.getByteID(item.Value.DrivaceID); byte[] warnTime = XwDataUtils.firstTimeByte(item.Value.WarnTime); byte[] dealTime = XwDataUtils.firstTimeByte(item.Value.DealWarnTime); if (canKaoID == null) { canKaoID = new byte[2]; } byte[] eleByte = new byte[16]; eleByte[0] = 0xfd; eleByte[1] = 0x07; eleByte[2] = canKaoID[0]; eleByte[3] = canKaoID[1]; eleByte[4] = (byte)(item.Value.SleepTime / 0x100); eleByte[5] = (byte)(item.Value.SleepTime % 0x100); Array.Copy(warnTime, 0, eleByte, 6, 4); Array.Copy(dealTime, 0, eleByte, 10, 4); eleByte[15] = 0xfb; nodeBt.Add(eleByte); } }
/// <summary> /// 将报警信息添加相应的信息中存储 /// </summary> /// <param name="drivaceID"></param> /// <param name="msgs"></param> /// <param name="dreMsg"></param> private void addDrivaceWrimMsg(string drivaceID, Dictionary <string, DrivaceWarnMessage> msgs, Dictionary <string, DrivaceWarnMessage> hisMsgs, DrivaceWarnMessage dreMsg) { if (drivaceID == null || "".Equals(drivaceID)) { return; } if (hisMsgs.ContainsKey(drivaceID)) { if (dreMsg.DrivaceUpTime <= hisMsgs[drivaceID].DrivaceUpTime) { return; } } if (msgs.ContainsKey(drivaceID)) { if (dreMsg.WarnTp != WarnType.CARD_LOW_ELECTRICITY) { msgs[drivaceID].WarnTime = XwDataUtils.GetTimeStamp(); } msgs[drivaceID].IsClear = false; msgs[drivaceID].IsDeal = false; } else { msgs.Add(drivaceID, dreMsg); warnMsgCallBack(nODEUnanswerWranMsgs.Count + cardLowEleWarnMsgs.Count + cardUnanswerWranMsgs.Count); } if (dreMsg.WarnTp == WarnType.CARD_LOW_ELECTRICITY && msgs[drivaceID].CurrentElectricity > dreMsg.CurrentElectricity + 9) { msgs[drivaceID].CurrentElectricity = dreMsg.CurrentElectricity; msgs[drivaceID].WarnTime = XwDataUtils.GetTimeStamp(); warnMsgCallBack(nODEUnanswerWranMsgs.Count + cardLowEleWarnMsgs.Count + cardUnanswerWranMsgs.Count); } }
public ScourDataFormModel(ScourDataInterface scourDataInter) { receVeByteHandle = 0xfe; receVeByteend = 0xfd; this.scourDataInter = scourDataInter; tag = XwDataUtils.GetTimeStamp(false).ToString() + new Random().Next(1024).ToString() + "ScourDataFormModel"; }
/// <summary> /// 运行的线程 /// </summary> private void runThread() { isThreadOver = false; long currentTime = getLongTime(); while (XwDataUtils.GetTimeStamp(false) < currentTime + 3000 && !isClose) { try { Thread.Sleep(300); } catch { } lock (obj) { foreach (DP_TYPE_LABEL dptLabelItem in listSetType.Values) { if (dptLabelItem == null) { continue; } if (dptLabelItem.CreateTime + 1000 < XwDataUtils.GetTimeStamp(false)) { longTimeChangeLab(dptLabelItem); } } deleteValue(); currentTime = getLongTime(); } } isThreadOver = true; }
private void deleteValue() { List <DataPacketType> hashKeys = new List <DataPacketType>(); foreach (DataPacketType dpTItem in listSetType.Keys) { if (!(listSetType[dpTItem] is DP_TYPE_LABEL)) { continue; } DP_TYPE_LABEL dptLabelItem = (DP_TYPE_LABEL)listSetType[dpTItem]; if (dptLabelItem.IsReturn && dptLabelItem.CreateTime + 1000 < XwDataUtils.GetTimeStamp(false)) { hashKeys.Add(dpTItem); //listSetType.Remove(dpTItem); if (this.labInterface != null) { labInterface.enableFalse(dptLabelItem.Lab); } } } foreach (DataPacketType dpTItem in hashKeys) { listSetType.Remove(dpTItem); } hashKeys.Clear(); hashKeys = null; }
public void commOver3CallBack(string msg, CommunicationMode comMode) { addFromBaseModel(fromMainModel); timer1.Interval = 500; timer1.Start(); if (button1.Tag.Equals("green") && getcdInterface3Open() && PeoplePowerModel.getPeoplePowerModel().IsConnect) { panel6.BackgroundImage = Resources.tag_2; panel7.BackgroundImage = Resources.pc_2; button1.BackgroundImage = Resources.start_3; button1.Tag = "yellow"; button1.Text = "關閉連接"; fromMainModel.setListViewCanInfos(); fromMainModel.sendConjiReveLocaData(); new Thread(tongBuAllData).Start(); if (!timer3.Enabled) { timer3.Start(); } fromMainModel.OpenUDPtime = XwDataUtils.GetTimeStamp(); // timer2.Interval = 1000; // if (!timer2.Enabled) timer2.Start(); } else if (button1.Tag.Equals("yellow") && getcdInterface3Open() && !PeoplePowerModel.getPeoplePowerModel().IsConnect) { panel6.BackgroundImage = Resources.tag_1; panel7.BackgroundImage = Resources.pc_1; button1.BackgroundImage = Resources.start_1; button1.Tag = "green"; button1.Text = "開始連接監控"; fromMainModel.CloseUDPtime = XwDataUtils.GetTimeStamp(); } }
private byte rssi_jc = 0; //节点发送,参考点接收时获取到的信号强度值 /// <summary> /// 参数data是一条协议包 FE + 02 + ID_c + Version + ID_j + CS + FD 共12byte /// fe 02 01 00 11 08 12 10 00 01 3d fd /// fe 02 01 01 11 08 12 10 02 01 40 fd /// </summary> /// <param name="data"></param> public LocationNode(byte[] data) { timeStamp = XwDataUtils.GetTimeStamp(); packType = data[1]; createPackData02(data); createPackData05(data); }
public void drivaceDeal(string drivaceID, WarnType wType) //处理设备 { DrivaceWarnMessage drevaceMsg = null; if (wType == WarnType.CARD_LOW_ELECTRICITY) { if (cardLowEleWarnMsgs.ContainsKey(drivaceID)) { drevaceMsg = cardLowEleWarnMsgs[drivaceID]; } } else if (wType == WarnType.CARD_UNANSWERED) { if (cardUnanswerWranMsgs.ContainsKey(drivaceID)) { drevaceMsg = cardUnanswerWranMsgs[drivaceID]; //.DealWarnTime = XwDataUtils.GetTimeStamp(); } } else if (wType == WarnType.NODE_UNANSWERED) { if (nODEUnanswerWranMsgs.ContainsKey(drivaceID)) { drevaceMsg = nODEUnanswerWranMsgs[drivaceID]; //.DealWarnTime = XwDataUtils.GetTimeStamp(); } } if (drevaceMsg != null) { drevaceMsg.DealWarnTime = XwDataUtils.GetTimeStamp(); drevaceMsg.IsDeal = true; } }
private string getTimeFromINT(long time) //time 是时间戳 { if (time == 0) { return(""); } return(XwDataUtils.currentTimeToSe(time)); }
/// <summary> /// 將Buttn字樣先關掉 /// </summary> private void btnChangeYellow() { panel6.BackgroundImage = Resources.tag_1; panel7.BackgroundImage = Resources.pc_1; fromMainModel.CloseUDPtime = XwDataUtils.GetTimeStamp(); button1.BackgroundImage = Resources.start_1; button1.Tag = "green"; button1.Text = "開始連接監控"; }
public LostPackFormModel() { receVeByteHandle = 0xfe; receVeByteend = 0xfd; //this.scourDataInter = scourDataInter; tag = XwDataUtils.GetTimeStamp(false).ToString() + new Random().Next(1024).ToString() + "LostPackFormModel"; LocationBeans = new List <LocationBean>(); loIntBean = new LostIntBean(); }
//private void createWarnMessa private void timer1_Tick(object sender, EventArgs e) { Console.Write("\r\n跑了一次,时间" + XwDataUtils.currentTimeToSe()); if (sendTime + 10 <= XwDataUtils.GetTimeStamp()) { Console.Write("\r\n跑了一次,时间" + XwDataUtils.currentTimeToSe()); warnMsgCallBack(); timer.Enabled = false; } }
public void setErrorAppData(string errorMsg) { DataFileUtils dFileUtils = new DataFileUtils(); FileMode fMo = FileMode.Append; //if (dFileUtils.FileSize(fileName4 + "exception.txt") > 1024 * 1024 * 10) fMo = FileMode.Create; dFileUtils.addErrorMsgInFile("\r\n" + XwDataUtils.currentTimeToSe() + "\r\n", fileName4 + XwDataUtils.currentMonthTime() + "\\1495614534.txt", fMo); dFileUtils.addErrorMsgInFile(errorMsg, fileName4 + XwDataUtils.currentMonthTime() + "\\1495614534.txt", fMo); }
/// <summary> /// 定位的封包 /// </summary> /// <param name="buf"></param> public LocationBean(byte[] buf) { if (buf.Length != 15) { return; } Array.Copy(buf, 2, tagId, 0, 2); Array.Copy(buf, 4, locationID, 0, 2); sinness = buf[6]; mIndex = buf[12]; time = XwDataUtils.GetTimeStamp(); }
/// <summary> /// 超时未收到返回数据 /// </summary> /// <param name="dptLabel"></param> private void longTimeChangeLab(DP_TYPE_LABEL dptLabel) { if (dptLabel.IsReturn) { return; } if (this.labInterface != null) { labInterface.setUpdataResultLabelMain(dptLabel.Lab, "失败"); } dptLabel.CreateTime = XwDataUtils.GetTimeStamp(false); dptLabel.IsReturn = true; }
public void setErrorData(string errorMsg) { DataFileUtils dFileUtils = new DataFileUtils(); FileMode fMo = FileMode.Append; if (dFileUtils.FileSize(fileName4 + errorfileName) > 1024 * 1024 * 10) { fMo = FileMode.Create; } dFileUtils.addErrorMsgInFile("\r\n" + XwDataUtils.currentTimeToSe() + "\r\n", fileName4 + errorfileName, fMo); dFileUtils.addErrorMsgInFile(errorMsg + "\r\n", fileName4 + errorfileName, fMo); }
public void saveCardXlsFile(string filePath) { try { if (hisAdmissionExits == null) { MessageBox.Show("數據發生錯誤!!"); return; } List <AdmissionExit> admissions = hisAdmissionExits.Where(a => a.Model.Equals(AdmissionExit.ADMISSION)).ToList(); List <AdmissionExit> exits = hisAdmissionExits.Where(a => a.Model.Equals(AdmissionExit.EXIT)).ToList(); List <ImportAdmissExit> importAdmissionExit = new List <ImportAdmissExit>(); //合并一下进出场数据 int length = admissions.Count; for (int i = 0; i < length; i++) { ImportAdmissExit importData = new ImportAdmissExit(); importData.setAdmissData(admissions[i]); String endTime = ""; for (int j = 0; j < exits.Count; j++) { if (exits[j].TagID.Equals(admissions[i].TagID) && exits[j].Time > admissions[i].Time) // && admissions[i].Time + 72000 > exits[j].Time) //72000是秒 = 20小时,20小时内应该有一套上下班的 { endTime = XwDataUtils.dataFromTimeStamp((Int32)exits[j].Time); break; } } importData.ExitTime = endTime; importAdmissionExit.Add(importData); } Dictionary <string, string> cellheader = new Dictionary <string, string> { { "Name", "名稱" }, { "TagID", "卡片ID" }, { "WorkID", "進出場ID" }, { "AdmissTime", "進場時間" }, { "ExitTime", "出場時間" }, }; string urlPath = ExcelHelper.EntityListToExcel2003(cellheader, importAdmissionExit, filePath, "AdmissionExit", ExcelWeithEnum.ADMISSIONEXIT_PUTONG); } catch (Exception ex) { Debug.Write("saveCardXlsFile" + ex.Message); } }
private bool isClear = false; //是否清理 public void setLowEle(string cardId, int currentElectricity, string quYuID, string canKaoDianID, long drivaceUpTime) { drivace = DrivaceTypeAll.CARD; warnTp = WarnType.CARD_LOW_ELECTRICITY; drivaceID = cardId; drivaceName = getFileCardName(cardId); this.quYuID = quYuID; this.drivaceUpTime = drivaceUpTime; quYuName = getFilequYuName(canKaoDianID); this.canKaoDianID = canKaoDianID; canKaoDianName = getFileNODEName(canKaoDianID); warnTime = XwDataUtils.GetTimeStamp(); this.currentElectricity = currentElectricity; dealWarnTime = 0; }
private void reciveDataDeal(byte[] buf, int length, string ipClient) //处理一下,接收数据之后,缓存一下隔一段时间处理 { Array.Copy(buf, 0, buffer, index_re, length); index_re += length; UDPDATA_IP udpData = new UDPDATA_IP(); udpData.Length = length; udpData.Ip = ipClient; UDPDATA_IPs.Add(udpData); if (timeReve + 500 < XwDataUtils.GetLongTimeStamp() || index_re > buffer.Length) { ThreadPool.QueueUserWorkItem(new WaitCallback(dealDataThread), UDPDATA_IPs.ToList()); //参数可选 timeReve = XwDataUtils.GetLongTimeStamp(); } }
private void timer1_Tick(object sender, EventArgs e) { runTime += BeiLv; label5.Text = "歷史時間:" + XwDataUtils.currentTimeToSe(runTime, "yyyy-MM-dd HH:mm:ss"); if (locaViewFrom.locaModel != null) { locaViewFrom.locaModel.setRunTimeDate(runTime + 1); } if (fromMainModel == null) { return; } fromMainModel.checkShowPoint(); fromMainModel.setRunTimeDate(runTime + 1); }
public override void commOverCallBack(string msg, CommunicationMode comMode) { if (comMode == CommunicationMode.TCPServer) { tcpServerHandle(getcdInterface2Open(), comMode); } else if (comMode == CommunicationMode.TCPClien) { tcpServerHandle(getcdInterface3Open(), comMode); } if (!msg.Equals("%!%")) { timer1.Stop(); if (comMode == CommunicationMode.UDP) { MessageBox.Show(msg); } else if (comMode == CommunicationMode.TCPServer) { return; } else if (comMode == CommunicationMode.TCPClien) { return; } } addFromBaseModel(fromMainModel); if (comMode == CommunicationMode.TCPServer) { return; } timer1.Interval = 500; timer1.Start(); if (button1.Tag.Equals("green") && getcdInterfaceOpen()) { btnChangeGreen(); fromMainModel.setListViewCanInfos(); fromMainModel.OpenUDPtime = XwDataUtils.GetTimeStamp(); } else if (button1.Tag.Equals("yellow") && !getcdInterfaceOpen()) { btnChangeYellow(); } }
public static ListViewItem getlvItem(LocationNode loca_node) { if (loca_node == null) { return(null); } if (loca_node.ID_C == null || loca_node.ID_J == null) { return(null); } ListViewItem lvItem = new ListViewItem(); lvItem.SubItems[0].Text = loca_node.ID_C_str; lvItem.SubItems.Add(loca_node.ID_J_str); lvItem.SubItems.Add(loca_node.Version_str); lvItem.SubItems.Add(XwDataUtils.dataFromTimeStamp(loca_node.TimeStamp)); return(lvItem); }
private void dealWarn(ListView listView, int changeIndex) { int listCount = listView.Items.Count; if (listCount < 1) { return; } for (int i = 0; i < listCount; i++) { if (!listView.Items[i].Checked) { continue; } dealWarnInModel((string)listView.Items[i].Tag); listView.Items[i].SubItems[changeIndex].Text = XwDataUtils.currentTimeToSe(); listView.Items[i].SubItems[changeIndex + 1].Text = "是"; } }
/// <summary> /// 设置历史出厂入场数据给列表 /// </summary> private void setHisAdmiExitList(List <AdmissionExit> admissionExits) { List <AdmissionExit> admissions = admissionExits.Where(a => a.Model.Equals(AdmissionExit.ADMISSION)).ToList(); List <AdmissionExit> exits = admissionExits.Where(a => a.Model.Equals(AdmissionExit.EXIT)).ToList(); daTagListView.Items.Clear(); int length = admissions.Count; for (int i = 0; i < length; i++) { ListViewItem item = new ListViewItem(); item.Text = admissions[i].TagID; item.Name = admissions[i].TagID; item.SubItems.Add(admissions[i].Name); String startTime = XwDataUtils.dataFromTimeStamp((Int32)admissions[i].Time); item.SubItems.Add(startTime); //入场时间 String endTime = ""; for (int j = 0; j < exits.Count; j++) { if (exits[j].TagID.Equals(admissions[i].TagID) && exits[j].Time > admissions[i].Time) // && admissions[i].Time + 72000 > exits[j].Time) //72000是秒 = 20小时,20小时内应该有一套上下班的 { endTime = XwDataUtils.dataFromTimeStamp((Int32)exits[j].Time); break; } } item.SubItems.Add(endTime);//出厂时间 String workIDs = ""; if (admissions[i].WorkIDbyte != null) { for (int j = 0; j < 16; j++) { workIDs += admissions[i].WorkIDbyte[j].ToString("X2"); } } item.SubItems.Add(workIDs); daTagListView.Items.Add(item); } }
public void insertSet(DP_TYPE_LABEL dptLabel) { if (dptLabel == null) { return; } dptLabel.CreateTime = XwDataUtils.GetTimeStamp(false); lock (obj) { if (listSetType.ContainsKey(dptLabel.DpType)) { listSetType[dptLabel.DpType] = dptLabel; } else { listSetType.Add(dptLabel.DpType, dptLabel); } } if (isThreadOver) { new Thread(runThread).Start(); } }
private void appRestart() { Thread.Sleep(5000); RestartBean resBean = new RestartBean(); resBean.UDPopen = getcdInterfaceOpen(); resBean.TCPopen = getcdInterface2Open(); resBean.TCPClienopen = getcdInterface3Open(); resBean.CardLowEleWarnMsgs = new Dictionary <string, DrivaceWarnMessage>(WarnMessage.getWarnMessage().CardLowEleWarnMsgs); resBean.CardUnanswerWranMsgs = new Dictionary <string, DrivaceWarnMessage>(WarnMessage.getWarnMessage().CardUnanswerWranMsgs); resBean.NODEUnanswerWranMsgs = new Dictionary <string, DrivaceWarnMessage>(WarnMessage.getWarnMessage().NODEUnanswerWranMsgs); resBean.PcType = PeoplePowerModel.getPeoplePowerModel().Jurisdiction == PeoplePowerModel.getPeoplePowerModel().CongjiValue ? 2 : 1; resBean.Count = loginForm.getAccount(); resBean.Password = PeoplePowerModel.getPeoplePowerModel().Password; resBean.PowerValue = PeoplePowerModel.getPeoplePowerModel().PowerValue; resBean.Jurisdiction = PeoplePowerModel.getPeoplePowerModel().Jurisdiction; resBean.DealUpCardDatas = fromMainModel.DealUpCardDatas.ToList(); resBean.RestartTime = XwDataUtils.GetTimeStamp(); FileModel.getFlModel().setRestartData(resBean); new Thread(ApplicationRestart).Start(); }
/// <summary> /// 設置所有的歷史進出場數據 /// </summary> /// <param name="admissionExits"></param> private void setHisAllAdmiExitList(List <AdmissionExit> admissionExits) { listView1.Items.Clear(); int length = admissionExits.Count; for (int i = 0; i < length; i++) { ListViewItem item = new ListViewItem(); item.Text = admissionExits[i].TagID; item.Name = admissionExits[i].TagID; item.SubItems.Add(admissionExits[i].Name); item.SubItems.Add(admissionExits[i].Model); item.SubItems.Add(XwDataUtils.dataFromTimeStamp((Int32)admissionExits[i].Time)); //進出厂时间 String workIDs = ""; for (int j = 0; j < 16; j++) { workIDs += admissionExits[i].WorkIDbyte[j].ToString("X2"); } item.SubItems.Add(workIDs); listView1.Items.Add(item); } }
private void ApplicationRestart() { for (int i = 0; i < 100; i++) { if (getcdInterfaceOpen()) { UDPOpen(); } ; if (getcdInterface2Open()) { canshuButton19_Click(null, null); } if (getcdInterface3Open()) { canshuButton24_Click(null, null); } else { break; } Thread.Sleep(500); } closeTimer(timer1); closeTimer(timer2); closeTimer(timer3); Thread.Sleep(500); if (!getcdInterface2Open()) { System.Windows.Forms.Application.Restart(); } else { FileModel.getFlModel().setErrorAppData(XwDataUtils.currentTimeToSe() + "=== Restart File+\r\n"); } }
public void getCardWarnBt(ref List <byte[]> cardBt) { if (cardUnanswerWranMsgs == null) { return; } Dictionary <string, DrivaceWarnMessage> cardUnanswerWranMsgsCache = new Dictionary <string, DrivaceWarnMessage>(cardUnanswerWranMsgs); foreach (var item in cardUnanswerWranMsgsCache) { byte[] tagID = XWUtils.getByteID(item.Value.DrivaceID); byte[] canKaoID = XWUtils.getByteID(item.Value.CanKaoDianID); byte[] warnTime = XwDataUtils.firstTimeByte(item.Value.WarnTime); byte[] dealTime = XwDataUtils.firstTimeByte(item.Value.DealWarnTime); if (tagID == null) { tagID = new byte[2]; } if (canKaoID == null) { canKaoID = new byte[2]; } byte[] eleByte = new byte[18]; eleByte[0] = 0xfd; eleByte[1] = 0x06; eleByte[2] = tagID[0]; eleByte[3] = tagID[1]; eleByte[4] = canKaoID[0]; eleByte[5] = canKaoID[1]; eleByte[6] = (byte)(item.Value.SleepTime / 0x100); eleByte[7] = (byte)(item.Value.SleepTime % 0x100); Array.Copy(warnTime, 0, eleByte, 8, 4); Array.Copy(dealTime, 0, eleByte, 12, 4); eleByte[17] = 0xfb; cardBt.Add(eleByte); } }