Пример #1
0
        void Sort()
        {
            try
            {
                TransactionOptions transactionOption = new TransactionOptions();
                transactionOption.IsolationLevel = System.Transactions.IsolationLevel.ReadCommitted;
                using (TransactionScope tran = new TransactionScope(TransactionScopeOption.Required, transactionOption))
                {
                    progressBar1.Value = (progressBar1.Maximum / 2);
                    var re = sc.SchedulePoke();
                    //排程结束后,对排程数据进行验证
                    ValidationClass vc       = new ValidationClass();
                    Response        response = vc.ValidationSchedule("2");
                    if (response.IsSuccess)
                    {
                        if (re.IsSuccess)
                        {
                            List <MixedInfo> list = MixedClass.GetUnPokeData();
                            MixedClass.InsertPokeMixed(list);
                            tran.Complete();
                            btnPokeSeq.Enabled = true;
                            progressBar1.Value = progressBar1.Maximum;
                            //TimerByTime.Stop();// 计时结束;
                            btnSort.Enabled = true;
                            lblInFO.Text    = "分拣车组任务排程成功!" + "\r\n" + "所用时间:" + times + "秒";
                            MessageBox.Show("分拣车组任务排程成功!" + "\r\n" + "所用时间:" + times + "秒", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        }
                        else
                        {
                            panel2.Visible = false;
                            TimerByTime.Stop();// 计时结束;
                            btnSort.Enabled = true;
                            MessageBox.Show(re.MessageText, "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        }
                    }
                    else
                    {
                        //回滚排程操作
                        MessageBox.Show(response.MessageText, "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }
                }
            }
            catch (Exception e)
            {
                MessageBox.Show("排程异常:" + e.Message, "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            finally
            {
                //dgvSortInfo.Rows.Clear();
                //List<TaskInfo> list = new List<TaskInfo>();
                //dgvSortInfo.DataSource = list;

                Bind();
                panel2.Visible = false;
                TimerByTime.Stop();// 计时结束;
                btnSort.Enabled = true;
            }
        }
Пример #2
0
 void Sort()
 {
     try
     {
         progressBar1.Value = (progressBar1.Maximum / 2);
         var re = sc.SchedulePoke();
         //排程结束后,对排程数据进行验证
         ValidationClass vc       = new ValidationClass();
         Response        response = vc.ValidationSchedule("2");
         if (response.IsSuccess)
         {
             if (re.IsSuccess)
             {
                 btnPokeSeq.Enabled = true;
                 progressBar1.Value = progressBar1.Maximum;
                 TimerByTime.Stop();// 计时结束;
                 btnSort.Enabled = true;
                 lblInFO.Text    = "分拣车组任务排程成功!" + "\r\n" + "所用时间:" + times + "秒";
                 MessageBox.Show("分拣车组任务排程成功!" + "\r\n" + "所用时间:" + times + "秒", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
             }
             else
             {
                 panel2.Visible = false;
                 TimerByTime.Stop();// 计时结束;
                 btnSort.Enabled = true;
                 MessageBox.Show(re.MessageText, "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
             }
         }
         else
         {
             //回滚排程操作
             MessageBox.Show(response.MessageText, "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
         }
     }
     catch (Exception e)
     {
         MessageBox.Show("排程异常:" + e.Message, "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
     }
     finally
     {
         //times = 1;
         //Bind();
         //List<TaskInfo> list = new List<TaskInfo>();
         dgvSortInfo.DataSource = new { synseq, regioncode, count, qty };
         panel2.Visible         = false;
         TimerByTime.Stop();// 计时结束;
         btnSort.Enabled = true;
     }
 }
Пример #3
0
        private void btnSort_Click(object sender, EventArgs e)
        {
            progressBar1.Maximum = 100;
            label2.Text          = "正在读取数据...";
            progressBar1.Value   = 0;
            label2.Visible       = true;
            panel2.Visible       = true;
            lblTime.Visible      = true;
            progressBar1.Visible = true;
            times = 0;              //时间重置
            TimerByTime.Start();    // = true;//启动时间记录
            lblTime.Text = "已用时间:0秒";
            HandleSort task = Sort; //新的

            task.BeginInvoke(null, null);
            label2.Text = "正在对分拣车组任务数据进排程";
        }
Пример #4
0
        private void btnSort_Click(object sender, EventArgs e)
        {
            this.btnSort.Enabled = false;//防止点击多下
            isSort = true;
            handlesort(3, true);
            progressBar1.Maximum = 100;
            label2.Text          = "正在读取数据...";
            progressBar1.Value   = 0;

            label2.Visible       = true;
            panel2.Visible       = true;
            lblTime.Visible      = true;
            progressBar1.Visible = true;
            times = 1;           //时间重置
            TimerByTime.Start(); // = true;//启动时间记录
            //Thread thread = new Thread(new ThreadStart(Sort));//旧的
            //thread.Start();

            HandleSort task = Sort; //新的

            task.BeginInvoke(null, null);
            label2.Text = "正在对分拣车组任务数据进重新排序";
        }
Пример #5
0
        void Sort()
        {
            try
            {
                progressBar1.Value = (progressBar1.Maximum / 2);
                OracleParameter[] sqlpara;
                sqlpara              = new OracleParameter[2];
                sqlpara[0]           = new OracleParameter("p_ErrCode", OracleType.VarChar, 30);
                sqlpara[1]           = new OracleParameter("p_ErrMsg", OracleType.VarChar, 100);
                sqlpara[0].Direction = ParameterDirection.Output;
                sqlpara[1].Direction = ParameterDirection.Output;

                Db.Open();
                Db.ExecuteNonQueryWithProc("P_PRODUCE_SCHEDULE_ALONE", sqlpara);//修改前的存储过程 P_PRODUCE_updatesortnum
                Db.Close();
                //MessageBox.Show(date);
                //MessageBox.Show(code[i]+"订单数据接收完成!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                String errcode = sqlpara[0].Value.ToString();
                String errmsg  = sqlpara[1].Value.ToString();
                if (errcode == "1")
                {
                    btnPokeSeq.Enabled = true;
                    progressBar1.Value = progressBar1.Maximum;
                    TimerByTime.Stop();// 计时结束;
                    btnSort.Enabled = true;
                    lblInFO.Text    = "分拣车组任务排序成功!" + "\r\n" + "所用时间:" + times + "秒";
                    MessageBox.Show("分拣车组任务排序成功!" + "\r\n" + "所用时间:" + times + "秒", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    writeLog.Write("分拣车组任务排序成功!" + "\r\n" + "所用时间:" + times + "秒");
                    updateControl(btnSort, true, true);
                    //
                    //  DgvBind(sql);//排程成功后刷新
                }
                else
                {
                    panel2.Visible = false;
                    TimerByTime.Stop();// 计时结束;
                    btnSort.Enabled = true;
                    MessageBox.Show(errmsg, "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    updateControl(btnSort, true, true);
                }
                updateControl(btnSort, true, true);
                //  panel2.Visible = false;
                updateControl(panel2, false, true);
                //  label2.Visible = false;
                updateControl(label2, false, true);
                //  progressBar1.Visible = false;
                updateControl(progressBar1, false, true);

                updateControl(lblTime, false, true);
            }
            catch (DataException dataex)
            {
                writeLog.Write(this.Text + "排程异常:" + dataex.Message);
            }
            catch (NullReferenceException nullex)
            {
                MessageBox.Show("排程OK:" + nullex.Message, "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                writeLog.Write(this.Text + "排程异常:" + nullex.Message);
            }
            catch (IndexOutOfRangeException iore)
            {
                MessageBox.Show("排程OK:" + iore.Message, "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                writeLog.Write(this.Text + "排程异常索引越界:" + iore.Message);
            }
            catch (Exception e)
            {
                MessageBox.Show("排程OK:" + e.Message, "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                writeLog.Write(this.Text + "排程异常:" + e.Message);
            }
            finally
            {
                times = 1;
                seek();
                panel2.Visible = false;
                TimerByTime.Stop();   // 计时结束;
                btnSort.Enabled = true;
                handlesort(3, false); //告诉父窗体任务结束
                isSort = false;
            }
        }