예제 #1
0
 private void checkUnFinish()
 {
     while (!isStop)
     {
         lock (obj)
         {
             bool needRefresh = false;
             List <DataMessage> overTime_list = messages.Where(m => m.status == STATUS.OVERTIME).ToList();
             foreach (DataMessage message in overTime_list)
             {
                 string unit = ChangeAppConfig.getValueFromKey("UnFinishUnit");
                 if (unit.Equals("H") || unit.Equals("时"))
                 {
                     if (DateTime.Compare(message.timeConvert().AddHours(InitData.GetUnFinish()), DateTime.Now) < 0)
                     {
                         message.status = STATUS.UNFINISH;
                         _server.updateMessUnfinish(message);
                         needRefresh = true;
                     }
                 }
                 else if (unit.Equals("M") || unit.Equals("分"))
                 {
                     if (DateTime.Compare(message.timeConvert().AddMinutes(InitData.GetUnFinish()), DateTime.Now) < 0)
                     {
                         message.status = STATUS.UNFINISH;
                         _server.updateMessUnfinish(message);
                         needRefresh = true;
                     }
                 }
                 else
                 {
                     if (DateTime.Compare(message.timeConvert().AddSeconds(InitData.GetUnFinish()), DateTime.Now) < 0)
                     {
                         message.status = STATUS.UNFINISH;
                         _server.updateMessUnfinish(message);
                         needRefresh = true;
                     }
                 }
             }
             if (needRefresh)
             {
                 newmsg = messages.Where(m => m.status == STATUS.WAITING).ToList();
                 if (this.components == null || IsDisposed || !IsHandleCreated)
                 {
                     isStop = true;
                     return;
                 }
                 this.Invoke((EventHandler)(delegate
                 {
                     refresh(0);
                 }));
             }
         }
         Thread.Sleep(10000);
     }
 }
예제 #2
0
        public systemSettingForm()
        {
            InitializeComponent();
            companyNametextBox.Text = ChangeAppConfig.getValueFromKey("CompanyName");
            //string[] comNums = Common.MulGetHardwareInfo(HardwareEnum.Win32_SerialPort, "Name");

            List <string> COMs      = SerialPort.GetPortNames().ToList();
            List <int>    databytes = new List <int>()
            {
                5, 6, 7, 8
            };
            List <int> bundRates = new List <int>()
            {
                2400, 4800, 9600, 19200, 38400
            };
            List <double> stopbytes = new List <double>()
            {
                1, 1.5, 2
            };
            List <int> duration = new List <int>()
            {
                5, 10
            };

            if (!COMs.Contains(InitData.com.COMID))
            {
                COMs.Add(InitData.com.COMID);
            }
            COMcomboBox.DataSource = COMs;
            if (InitData.com.COMID == null && COMs.Count > 0)
            {
                COMcomboBox.SelectedIndex = 0;
            }
            else
            {
                COMcomboBox.SelectedItem = InitData.com.COMID;
            }

            if (!databytes.Contains(InitData.com.DataBits))
            {
                databytes.Add(InitData.com.DataBits);
            }
            dataComboBox.DataSource   = databytes;
            dataComboBox.SelectedItem = InitData.com.DataBits;
            if (!bundRates.Contains(InitData.com.BaudRate))
            {
                bundRates.Add(InitData.com.BaudRate);
            }
            bundRateComboBox.DataSource   = bundRates;
            bundRateComboBox.SelectedItem = InitData.com.BaudRate;
            if (!stopbytes.Contains(InitData.com.StopBit))
            {
                stopbytes.Add(InitData.com.StopBit);
            }
            stopComboBox.DataSource   = stopbytes;
            stopComboBox.SelectedItem = InitData.com.StopBit;

            if (InitData.callbtnsetting != null && InitData.callbtnsetting.callBtnSettings != null)
            {
                if (InitData.callbtnsetting.callBtnSettings.ContainsKey(CallBtnSetting.CallBtnType.A))
                {
                    AtextBox.Text = InitData.callbtnsetting.callBtnSettings[CallBtnSetting.CallBtnType.A];
                }
                if (InitData.callbtnsetting.callBtnSettings.ContainsKey(CallBtnSetting.CallBtnType.B))
                {
                    BtextBox.Text = InitData.callbtnsetting.callBtnSettings[CallBtnSetting.CallBtnType.B];
                }
                if (InitData.callbtnsetting.callBtnSettings.ContainsKey(CallBtnSetting.CallBtnType.C))
                {
                    CtextBox.Text = InitData.callbtnsetting.callBtnSettings[CallBtnSetting.CallBtnType.C];
                }
                if (InitData.callbtnsetting.callBtnSettings.ContainsKey(CallBtnSetting.CallBtnType.D))
                {
                    DtextBox.Text = InitData.callbtnsetting.callBtnSettings[CallBtnSetting.CallBtnType.D];
                }
                if (InitData.callbtnsetting.callBtnSettings.ContainsKey(CallBtnSetting.CallBtnType.E))
                {
                    EtextBox.Text = InitData.callbtnsetting.callBtnSettings[CallBtnSetting.CallBtnType.E];
                }
                if (InitData.callbtnsetting.callBtnSettings.ContainsKey(CallBtnSetting.CallBtnType.F))
                {
                    FtextBox.Text = InitData.callbtnsetting.callBtnSettings[CallBtnSetting.CallBtnType.F];
                }
            }
            if (InitData.timecolor != null)
            {
                Color c = Color.FromArgb(InitData.timecolor.WaitTime);
                wait_btn.BackColor = c;
                c = Color.FromArgb(InitData.timecolor.TimeOutTime);
                timeout_btn.BackColor = c;
                c = Color.FromArgb(InitData.timecolor.FinishedTime);
                finish_btn.BackColor = c;
            }
            if (InitData.orderby != null)
            {
                if (InitData.orderby.ordertype == OrderBy.OrderType.ASC)
                {
                    ASCradioButton.Checked = true;
                }
                else
                {
                    DESradioButton.Checked = true;
                }
            }
            trackBar3.Value = InitData.TimeOut;
            number.Text     = trackBar3.Value.ToString();
            trackBar3.Update();

            changeLanguage();
            string unit = ChangeAppConfig.getValueFromKey("TimeUnit");

            if (unit.Equals("S") || unit.Equals("秒"))
            {
                unit_box.SelectedIndex = 0;
            }
            else if (unit.Equals("M") || unit.Equals("分"))
            {
                unit_box.SelectedIndex = 1;
            }
            else
            {
                unit_box.SelectedIndex = 2;
            }

            trackBar1.Value = InitData.GetUnFinish();
            label13.Text    = trackBar1.Value.ToString();
            trackBar1.Update();

            unit = ChangeAppConfig.getValueFromKey("TimeUnit");
            if (unit.Equals("S") || unit.Equals("秒"))
            {
                comboBox1.SelectedIndex = 0;
            }
            else if (unit.Equals("M") || unit.Equals("分"))
            {
                comboBox1.SelectedIndex = 1;
            }
            else
            {
                comboBox1.SelectedIndex = 2;
            }
        }