Esempio n. 1
0
 private void LoadConfirmrequest()
 {
     if (!InTaskList.IsInTaskFinish())
     {
         _comfirmintask = InTask.GetConfirmInTask();
         if (_comfirmintask != null && _comfirmintask.INDEXNO > 0)
         {
             panelEx2.Visible = true;
             panelEx2.Dock    = DockStyle.Fill;
             //labintaskno.Text = _comfirmintask.INTASKNO.ToString();
             laborderdate.Text = _comfirmintask.ORDERDATE;
             //labintaskport.Text = _comfirmintask.INPORTCODE;
             labindexno.Text = _comfirmintask.INDEXNO.ToString() + "/" + maxtaskno;
             labcigcode.Text = _comfirmintask.BARCODE;
             labcigname.Text = _comfirmintask.CIGNAME;
             //labcigqty.Text = (_comfirmintask.INQTY/50).ToString();
         }
         else
         {
             panelEx2.Visible = false;
             panelEx2.Dock    = DockStyle.None;
         }
     }
     else
     {
         panelEx2.Visible = false;
     }
 }
Esempio n. 2
0
        private void MainForm_Load(object sender, System.EventArgs e)
        {
            labvision.Text = InTask.GetInTaskDate();
            //SetVision();
            monitorLog             = MonitorLog.NewMonitorLog();
            monitorLog.LOGNAME     = "系统信息";
            monitorLog.LOGINFO     = "补货监控系统启动!";
            monitorLog.LOGLOCATION = "系统";
            monitorLog.LOGTYPE     = 0;
            monitorLog.Save();
            //LoadDefaultLayout();
            SetDockWinTitle();
            SetLog(global::MonitorMain.Properties.Resources.StartUpTime + DateTime.Now);

            // Load Quick Access Toolbar layout if one is saved from last session...
            LoadQuickAccessToolbar();

            SetSeverStatus();

            if (Convert.ToBoolean(ConfigurationManager.AppSettings["IsStart"]))
            {
                buttonItem23.Checked = true;
                StartInTask();
                labtaskstatus.Text = "任务已启动";
            }
        }
Esempio n. 3
0
        private bool IsVerifyPass()
        {
            InTask.IsCurrentInTask();

            if (InTask.IsIndexRepetition())
            {
                MessageBox.Show("任务中出现相同的顺序号,请检查补货数据后重新下载!");
                return(false);
            }
            return(true);
        }
Esempio n. 4
0
        private int GetCurrentInfo()
        {
            InTask _comfirmintask = InTask.GetConfirmInTask();
            string orderdate      = InTask.GetInTaskDate();

            labtitle.Text = "当前补货卷烟 (" + orderdate + ")";
            if (_comfirmintask != null && _comfirmintask.INDEXNO > 0)
            {
                panelEx2.Visible = true;

                if (currentindex != _comfirmintask.INDEXNO)
                {
                    if (currentcolor >= 3)
                    {
                        currentcolor = 1;
                    }

                    foreach (var control in panelEx4.Controls)
                    {
                        if (control is LabelX)
                        {
                            ((LabelX)control).ForeColor = colors[currentcolor];
                        }
                    }
                    currentcolor++;
                }

                labindexno.Text = _comfirmintask.INDEXNO + "/" + maxtaskno;
                labbarcode.Text = _comfirmintask.BARCODE;
                labcigname.Text = _comfirmintask.CIGNAME;


                currentindex = _comfirmintask.INDEXNO;
                return(_comfirmintask.INDEXNO);
            }
            else
            {
                labindexno.Text = "无";
                labbarcode.Text = "无";
                labcigname.Text = "无";
            }
            return(0);
            //}
            //else
            //{
            //    labindexno.Text = "补货完成";
            //    labcigname.Text = "补货完成";
            //    labbarcode.Text = "补货完成";
            //    labnbarcode.Text = "补货完成";
            //    labncigname.Text = "补货完成";
            //    return 0;
            //}
        }
Esempio n. 5
0
        //private void TaskFinish()
        //{
        //    PlCResult plCResult = new PlCResult();


        //        while (taskStatus == TaskStatus.Run)
        //        {

        //                    plCResult = operateOpcAndSoft.IsIntaskScanFinish();
        //                    if (plCResult.Succeed)
        //                    {
        //                        //写日志
        //                        MonitorLog monitorLog = MonitorLog.NewMonitorLog();
        //                        monitorLog.LOGNAME = "PLC任务下达";
        //                        monitorLog.LOGINFO = "PLCTASKNO:" + inTask.INDEXNO.ToString().PadRight(10);
        //                        monitorLog.LOGINFO = "CIG:" + inTask.CIGCODE + "-" + inTask.CIGNAME + "-" +
        //                                             inTask.PICKLINENAME +
        //                                             "-" + inTask.INQTY;
        //                        monitorLog.LOGLOCATION = "PLC";
        //                        monitorLog.LOGTYPE = 0;
        //                        monitorLog.Save();
        //                        //加载数据
        //                        this.BeginInvoke(new MethodInvoker(LoadInTask));

        //                        //while (!operateOpcAndSoft.IsIntaskScanFinish(inTask))
        //                        //{
        //                        //    Thread.Sleep(300);
        //                        //}
        //                    }
        //                    else
        //                    {
        //                        //写日志
        //                        MonitorLog monitorLog = MonitorLog.NewMonitorLog();
        //                        monitorLog.LOGNAME = "PLC补货任务下达异常";
        //                        monitorLog.LOGINFO = plCResult.Exception;
        //                        monitorLog.LOGLOCATION = "PLC";
        //                        monitorLog.LOGTYPE = 0;
        //                        monitorLog.Save();
        //                    }
        //                }
        //            Thread.Sleep(1000);
        //        }



        private void CSortingTask_Load(object sender, EventArgs e)
        {
            DataGridViewTranslation.LoadMainColHeader(dgviewnone);
            DataGridViewTranslation.LoadMainColHeader(dgvconfirm);
            DataGridViewTranslation.LoadMainColHeader(dgviewfin);


            if (IsVerifyPass())
            {
                LoadInTask();
                monitorLog             = MonitorLog.NewMonitorLog();
                monitorLog.LOGNAME     = "数据库读取";
                monitorLog.LOGINFO     = "补货数据读取成功!";
                monitorLog.LOGLOCATION = "数据库";
                monitorLog.LOGTYPE     = 1;
                monitorLog.Save();
                LoadPLCTask();
            }
            maxtaskno = InTask.GetMaxIndex();
        }
Esempio n. 6
0
        public void SetVision()
        {
            labvision.Text = InTask.GetInTaskDate();
            //labservision.Text = InTask.GetServerInTaskDate();


            //if (labvision.Text.Trim() != labservision.Text.Trim())
            //{
            //    labelItem4.ForeColor = Color.Red;
            //    labelItem5.ForeColor = Color.Red;
            //    labvision.ForeColor = Color.Red;
            //    labservision.ForeColor = Color.Red;
            //}
            //else
            //{
            //    labelItem4.ForeColor = Color.Black;
            //    labelItem5.ForeColor = Color.Black;
            //    labvision.ForeColor = Color.Black;
            //    labservision.ForeColor = Color.Black;
            //}
        }
Esempio n. 7
0
 public void GetInPortInfo()
 {
     try
     {
         maxtaskno = InTask.GetMaxIndex();
         int indexno = 0;
         indexno = GetCurrentInfo();
         GetNextInfo(indexno);
         pic_nonetwork.Visible = false;
     }
     catch (Exception ex)
     {
         if (ex.Message.Contains("Unable to connect to any of the specified MySQL hosts"))
         {
             ;
         }
         {
             pic_nonetwork.Visible = true;
         }
     }
 }
Esempio n. 8
0
        /// <summary>
        /// 显示最后两件需要补货的卷烟
        /// </summary>
        private void ShowFinish()
        {
            Thread.Sleep(20000);
            int    indexno = GetCurrentInfo();
            InTask intask  = InTask.GetInTaskByIndex((indexno + 1).ToString());

            labindexno.Text  = intask.INDEXNO + "/" + maxtaskno;
            labbarcode.Text  = intask.BARCODE;
            labcigname.Text  = intask.CIGNAME;
            labnbarcode.Text = "无";
            labncigname.Text = "无";


            Thread.Sleep(20000);
            labindexno.Text  = "补货完成";
            labcigname.Text  = "补货完成";
            labbarcode.Text  = "补货完成";
            labnbarcode.Text = "补货完成";
            labncigname.Text = "补货完成";
            itemPanel1.BeginUpdate();
            itemPanel1.Items.Clear();
            itemPanel1.EndUpdate();
        }
Esempio n. 9
0
        private void SetInTaskStatus(int status)
        {
            string indexcolname = "";
            string custcolname  = "";

            foreach (DataGridViewColumn column in dataGridViewXs[superTabControl1.SelectedTab.Name].Columns)
            {
                if (column.DataPropertyName.ToUpper() == "INDEXNO")
                {
                    indexcolname = column.Name;
                }
            }


            foreach (DataGridViewRow selectedRow in dataGridViewXs[superTabControl1.SelectedTab.Name].SelectedRows)
            {
                //改变任务状态
                string indexcolvalue = selectedRow.Cells[indexcolname].Value.ToString();

                InTask inTask = InTask.GetInTaskByIndex(indexcolvalue);
                inTask.Status = status;
                inTask.SaveInTaskProcess(inTask.ID);
            }
        }
Esempio n. 10
0
        protected override void DataPortal_Update()
        {
            //PLC写入下达任务

            //throw new Exception("写入下达任务");


            using (BypassPropertyChecks)
            {
                using (var cn = new MySqlConnection(AppUtility.AppUtil._LocalConnectionString))
                {
                    cn.Open();
                    using (var tran = cn.BeginTransaction())
                    {
                        try
                        {
                            using (var cm = cn.CreateCommand())
                            {
                                cm.Transaction = tran;
                                StringBuilder SQL = new StringBuilder();
                                SQL.Append("UPDATE T_InTaskIssued ");
                                SQL.Append("    SET ID = @ID,PLCFLAG = @PLCFLAG,PLCTASKNO = @PLCTASKNO,SLOCATION = @SLOCATION,CIGCODE = @CIGCODE,BARCODE = @BARCODE,INQTY = @INQTY ");
                                SQL.Append("  WHERE ID = @ID");
                                cm.CommandText = SQL.ToString();
                                cm.Parameters.AddWithValue("@ID", ID);
                                cm.Parameters.AddWithValue("@PLCFLAG", PLCFLAG);

                                cm.Parameters.AddWithValue("@PLCTASKNO", PLCTASKNO);
                                cm.Parameters.AddWithValue("@SLOCATION", SLOCATION);
                                cm.Parameters.AddWithValue("@CIGCODE", CIGCODE);
                                cm.Parameters.AddWithValue("@BARCODE", BARCODE);
                                cm.Parameters.AddWithValue("@INQTY", INQTY);
                                cm.ExecuteNonQuery();
                            }
                            tran.Commit();

                            if (PLCTASKNO != "0" && SLOCATION != "0" && INQTY != 0)
                            {
                                m_inTask = InTask.GetInTaskByIndex(PLCTASKNO);
                                if (m_inTask != null)
                                {
                                    m_inTask.Status = 2;
                                    m_inTask.SaveInTaskProcess(PLCTASKNO);
                                }
                                MonitorLog monitorLog = MonitorLog.NewMonitorLog();
                                monitorLog.LOGNAME  = "PLC任务下达";
                                monitorLog.LOGINFO  = "PLCTASKNO:" + PLCTASKNO.PadRight(10);
                                monitorLog.LOGINFO += CIGCODE + ":" +
                                                      BARCODE + ":" +
                                                      INQTY + "  ";
                                monitorLog.LOGLOCATION = "PLC";
                                monitorLog.LOGTYPE     = 0;
                                monitorLog.Save();
                            }
                            //else
                            //{
                            //    m_sortingLineTask = SortingLineTask.GetSortingLineByIndex(PLCTASKNO);
                            //    if (m_sortingLineTask != null)
                            //    {
                            //        m_sortingLineTask.Status = 2;
                            //        m_sortingLineTask.SaveSortingTaskProcess(PLCTASKNO);
                            //    }
                            //}
                        }
                        catch (Exception)
                        {
                            tran.Rollback();
                            throw;
                        }
                    }
                }
            }
        }
Esempio n. 11
0
        /// <summary>
        /// 补货任务下达方法
        /// </summary>
        /// <param name="task">未下达且序号最小的任务一条</param>
        /// <returns></returns>
        public PlCResult ReplenishmentTask(InTask task)
        {
            bool      isRun = false;
            PlcValue  writeValue;
            PlCResult plCResult = new PlCResult();

            try
            {
                PlcValue readValue = plc.GetPlcValue(ItemListEnum.db51Int0);
                if (Convert.ToInt32(readValue.Value) == 0)
                {
                    IntaskModel mdl = IntaskList.dic.FirstOrDefault(o => o.Key == Convert.ToInt32(task.PLCADDRESS)).Value;

                    int value = Convert.ToInt32(plc.GetPlcValue(mdl.TaskNoAddr).Value);

                    if (task.INDEXNO <= value)
                    {
                        task.Status = 1;
                        task.SaveInTaskProcess(task.ID);
                        plCResult.Succeed   = false;
                        plCResult.Exception = task.INDEXNO + "已经下达过!";
                        return(plCResult);
                    }
                    else
                    {
                        writeValue       = new PlcValue();
                        writeValue.Value = task.INDEXNO;
                        isRun            = plc.SetPlcValue(ItemListEnum.db51Int2, writeValue);

                        if (isRun)
                        {
                            writeValue       = new PlcValue();
                            writeValue.Value = task.ADDRESSCODE;
                            isRun            = plc.SetPlcValue(ItemListEnum.db51Int4, writeValue);
                        }

                        if (isRun)
                        {
                            writeValue       = new PlcValue();
                            writeValue.Value = task.BARCODE.Replace("6901028", "");
                            isRun            = plc.SetPlcValue(ItemListEnum.db51DInt6, writeValue);
                        }


                        if (isRun)
                        {
                            writeValue = new PlcValue();

                            if (task.INPORTCODE == "1")
                            {
                                writeValue.Value = 1;
                                isRun            = plc.SetPlcValue(ItemListEnum.db51Int10, writeValue);
                            }
                            else if (task.INPORTCODE == "2")
                            {
                                writeValue.Value = 2;
                                isRun            = plc.SetPlcValue(ItemListEnum.db51Int10, writeValue);
                            }
                        }


                        if (isRun)
                        {
                            writeValue       = new PlcValue();
                            writeValue.Value = 1;
                            isRun            = plc.SetPlcValue(ItemListEnum.db51Int0, writeValue);
                        }

                        if (isRun)
                        {
                            task.Status = 1;
                            task.SaveInTaskProcess(task.ID);
                            plCResult.Succeed = true;
                        }
                        else
                        {
                            plCResult.Succeed   = false;
                            plCResult.Exception = "任务号" + task.INDEXNO + "PLC补货任务写入异常";
                        }
                    }
                }
                else
                {
                    //如果下达区的标志为1不能下达时
                    //判断需要下达的任务号小于下达区的任务号直接改变任务状态
                    readValue = plc.GetPlcValue(ItemListEnum.db51Int2);
                    if (task.INDEXNO <= Convert.ToInt32(readValue.Value))
                    {
                        task.Status = 1;
                        task.SaveInTaskProcess(task.ID);
                        plCResult.Succeed   = false;
                        plCResult.Exception = task.INDEXNO + "已经下达过!";
                        return(plCResult);
                    }
                }
            }
            catch (Exception ex)
            {
                plCResult.Succeed   = false;
                plCResult.Exception = ex.Message;

                return(plCResult);
            }
            return(plCResult);
        }
Esempio n. 12
0
        private void ScanTask()
        {
            PlCResult plCResult = new PlCResult();

            try
            {
                plCResult = operateOpcAndSoft.InDataToTaskAddress();
            }
            catch
            {
            }
            if (plCResult.Succeed)
            {
                while (taskStatus == TaskStatus.Run)
                {
                    if (!InTaskList.IsInTaskFinish())
                    {
                        //获取需要下达的任务
                        InTask inTask = InTaskList.GetComfirmRequestInTask();
                        if (inTask != null)
                        {
                            if (!string.IsNullOrEmpty(inTask.ID))
                            {
                                //下达补货任务
                                plCResult = operateOpcAndSoft.ReplenishmentTask(inTask);
                                if (plCResult.Succeed)
                                {
                                    //写日志
                                    MonitorLog monitorLog = MonitorLog.NewMonitorLog();
                                    monitorLog.LOGNAME  = "PLC任务下达";
                                    monitorLog.LOGINFO  = "PLCTASKNO:" + inTask.INDEXNO.ToString().PadRight(10);
                                    monitorLog.LOGINFO += "CIG:" + inTask.CIGCODE + "-" + inTask.CIGNAME + "-" +
                                                          inTask.PICKLINENAME +
                                                          "-" + inTask.INQTY;
                                    monitorLog.LOGLOCATION = "PLC";
                                    monitorLog.LOGTYPE     = 0;
                                    monitorLog.Save();
                                    //加载数据
                                    this.BeginInvoke(new MethodInvoker(LoadInTask));

                                    //while (!operateOpcAndSoft.IsIntaskScanFinish(inTask))
                                    //{
                                    //    Thread.Sleep(300);
                                    //}
                                }
                                else if (!string.IsNullOrEmpty(plCResult.Exception))
                                {
                                    //写日志
                                    MonitorLog monitorLog = MonitorLog.NewMonitorLog();
                                    monitorLog.LOGNAME     = "PLC补货任务下达异常";
                                    monitorLog.LOGINFO     = plCResult.Exception;
                                    monitorLog.LOGLOCATION = "PLC";
                                    monitorLog.LOGTYPE     = 0;
                                    monitorLog.Save();
                                }
                            }
                        }
                    }
                    else
                    {
                        //写日志
                        Thread.Sleep(2000);
                        MonitorLog monitorLog = MonitorLog.NewMonitorLog();
                        monitorLog.LOGNAME     = "PLC任务下达";
                        monitorLog.LOGINFO     = "补货任务下达全部完成";
                        monitorLog.LOGLOCATION = "PLC";
                        monitorLog.LOGTYPE     = 0;
                        monitorLog.Save();

                        //设置完成后的界面及参数
                        BHMainForm.Instance.InTaskFinish();
                        break;
                    }
                    Thread.Sleep(1000);
                }
            }
            else
            {
                //写日志
                MonitorLog monitorLog = MonitorLog.NewMonitorLog();
                monitorLog.LOGNAME     = "PLC补货绑定品牌下达异常";
                monitorLog.LOGINFO     = plCResult.Exception;
                monitorLog.LOGLOCATION = "PLC";
                monitorLog.LOGTYPE     = 0;
                monitorLog.Save();
            }
        }