Beispiel #1
0
        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;
        }
Beispiel #2
0
        /// <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;
        }
Beispiel #3
0
 public ScourDataFormModel(ScourDataInterface scourDataInter)
 {
     receVeByteHandle    = 0xfe;
     receVeByteend       = 0xfd;
     this.scourDataInter = scourDataInter;
     tag = XwDataUtils.GetTimeStamp(false).ToString() + new Random().Next(1024).ToString() + "ScourDataFormModel";
 }
Beispiel #4
0
        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);
        }
Beispiel #5
0
        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();
            }
        }
Beispiel #6
0
 /// <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);
     }
 }
Beispiel #7
0
        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;
            }
        }
Beispiel #8
0
 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();
 }
Beispiel #9
0
 /// <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 = "開始連接監控";
 }
Beispiel #10
0
        //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;
            }
        }
Beispiel #11
0
 /// <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();
 }
Beispiel #12
0
 /// <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;
 }
Beispiel #13
0
        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;
        }
Beispiel #14
0
        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();
            }
        }
Beispiel #15
0
        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();
        }
Beispiel #16
0
 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();
     }
 }
Beispiel #17
0
        private void button1_Click(object sender, EventArgs e) //开始
        {
            if (pStatus == PlayStatus.PLAYINT)
            {
                PStatus = PlayStatus.STOP;
                return;
            }
            if (pStatus == PlayStatus.PAUSE)
            {
                PStatus = PlayStatus.PLAYINT;
                return;
            }
            locaViewFrom.clearList();
            StartTime = XwDataUtils.GetTimeStamp(dateTimePicker1.Value, true) - 28801;
            EndTime   = XwDataUtils.GetTimeStamp(dateTimePicker2.Value, true) - 28800;
            if (startTime > endTime)
            {
                MessageBox.Show("終止時間不能小於起始時間,請重新選擇時間");
                return;
            }

            runTime = startTime;
            string tagID = getTextBoxName();

            locaViewFrom.locaModel.setHis_tagID(checkBox1.Checked, tagID);
            locaViewFrom.setCardID(tagID);

            if (pStatus == PlayStatus.STOP)
            {
                new Thread(startListViewThread).Start(tagID);
                new Thread(startViewThread).Start(tagID);
            }
            try
            {
                Thread.Sleep(10);
            }
            catch { }
        }
Beispiel #18
0
        /// <summary>
        /// 成功返回数据时
        /// </summary>
        /// <param name="dptLabel"></param>
        public void returnSuccess(DP_TYPE_LABEL dptLabel)
        {
            lock (obj)
            {
                foreach (DP_TYPE_LABEL dptLabelItem in listSetType.Values)
                {
                    if (dptLabelItem == null)
                    {
                        continue;
                    }
                    if (dptLabelItem.DpType != dptLabel.DpType)
                    {
                        continue;
                    }

                    if (this.labInterface != null)
                    {
                        labInterface.setUpdataResultLabelMain(dptLabel.Lab, "成功");
                    }
                    dptLabelItem.CreateTime = XwDataUtils.GetTimeStamp(false);
                    dptLabelItem.IsReturn   = true;
                }
            }
        }