// // POST: /SortingLine/Create/ public ActionResult Create(SortingLine sortLine) { bool bResult = SortingLineService.Add(sortLine); string msg = bResult ? "新增成功" : "新增失败"; return(Json(JsonMessageHelper.getJsonMessage(bResult, msg, null), "text", JsonRequestBehavior.AllowGet)); }
void GetProcess() { soDictionary = SortingProgress.GetSortingProcessInfo(taskdate, taskno, SortingLine.GetNonSortingLineCode()); foreach (Control control in panelEx3.Controls) { if (control is PanelEx) { var panelex = (PanelEx)control as PanelEx; if (panelex.Tag != null) { try { panelex.Text = soDictionary[panelex.Tag.ToString()]; } catch (Exception) { } } } } panelEx4.Text = "目标分拣效率15000条/小时,今日平均分拣效率" + soDictionary["EFFICIENCY"]; panelEx10.Text = "分拣效率 " + soDictionary["EFFICIENCY"]; progressBarX1.Text = soDictionary["QTY_PRODUCT"] + "/" + soDictionary["QTY_PRODCUT_TOT"] + "条 - " + soDictionary["Progress"] + "%"; progressBarX1.Maximum = Convert.ToInt32(soDictionary["QTY_PRODCUT_TOT"]); progressBarX1.Value = Convert.ToInt32(soDictionary["QTY_PRODUCT"]); }
// // POST: /SortingLine/Edit/ public ActionResult Edit(SortingLine sortLine) { bool bResult = SortingLineService.Save(sortLine); string msg = bResult ? "修改成功" : "修改失败"; return(Json(JsonMessageHelper.getJsonMessage(bResult, msg, null), "text", JsonRequestBehavior.AllowGet)); }
public void SaveSortingTaskProcess(string plctaskid) { SortingTaskProgress sortingTaskProgress = null; sortingTaskProgress = SortingTaskProgress.GetSortingTaskProgress(ID); if (Status == 0) { sortingTaskProgress.STATUS = Status; sortingTaskProgress.SORTINGTIME = null; sortingTaskProgress.FINISHTIME = null; sortingTaskProgress.PLCAddress = PLCADDRESS; sortingTaskProgress.ISLOCK = ISLOCK; if (sortingTaskProgress != null) { sortingTaskProgress.Save(); } } if (Status == 1) { sortingTaskProgress.STATUS = 1; sortingTaskProgress.SORTINGTIME = DateTime.Now; sortingTaskProgress.FINISHTIME = null; sortingTaskProgress.PLCAddress = PLCADDRESS; sortingTaskProgress.ISLOCK = ISLOCK; if (sortingTaskProgress != null) { sortingTaskProgress.Save(); } } if (Status == 2) { sortingTaskProgress.STATUS = Status; if (sortingTaskProgress.SORTINGTIME == null) { sortingTaskProgress.SORTINGTIME = DateTime.Now; } sortingTaskProgress.FINISHTIME = DateTime.Now; sortingTaskProgress.PLCAddress = PLCADDRESS; sortingTaskProgress.ISLOCK = ISLOCK; if (sortingTaskProgress != null) { sortingTaskProgress.Save(); } } //重汇分拣进度 try { Thread thread1 = new Thread(new ParameterizedThreadStart(SortingProcessList.GetSortingProcessList)); //Thread thread2 = new Thread(SortingProcessList.UpdateEfficincy); thread1.Start(SortingLine.GetNonSortingLineCode()); //thread2.Start(); } catch (Exception) { } }
public void LoadCigBox() { if (chkisall.Checked) { CigBoxInfoList cigBoxInfoList = CigBoxInfoList.GetNonCigBoxList(new QueryCondition("0", true, SortingLine.GetAbNonSortingLineCode(), "")); dgviewnone.DataSource = cigBoxInfoList; dgviewfin.DataSource = CigBoxInfoList.GetFinCigBoxList(new QueryCondition("2", true, SortingLine.GetAbNonSortingLineCode(), "")); } else { dgviewnone.DataSource = CigBoxInfoList.GetNonCigBoxList(new QueryCondition("0", false, SortingLine.GetAbNonSortingLineCode(), "")); dgviewfin.DataSource = CigBoxInfoList.GetFinCigBoxList(new QueryCondition("2", false, SortingLine.GetAbNonSortingLineCode(), "")); } }
public void SaveAbnSortingTaskProcess(int status) { AbnSortingTaskProgress abnSortingTaskProgress; abnSortingTaskProgress = AbnSortingTaskProgress.GetAbnSortingTaskProgress(ID); abnSortingTaskProgress.STATUS = status; if (status == 0) { abnSortingTaskProgress.SORTINGTIME = null; abnSortingTaskProgress.FINISHTIME = null; } if (status == 1) { abnSortingTaskProgress.SORTINGTIME = DateTime.Now; abnSortingTaskProgress.FINISHTIME = null; } if (status == 2) { abnSortingTaskProgress.SORTINGTIME = DateTime.Now; abnSortingTaskProgress.FINISHTIME = DateTime.Now; } abnSortingTaskProgress.Save(); //重汇分拣进度 try { Thread thread = new Thread(new ParameterizedThreadStart(SortingProcessList.GetSortingProcessList)); thread.Start(SortingLine.GetAbNonSortingLineCode()); } catch (Exception) { } //else //{ // abnSortingTaskProgress = AbnSortingTaskProgress.GetAbnSortingTaskProgress(ID); // abnSortingTaskProgress.SORTINGTIME = DateTime.Now; // abnSortingTaskProgress.FINISHTIME = DateTime.Now; // abnSortingTaskProgress.STATUS = Status; //} }
public CSortingTask() { InitializeComponent(); this.SetStyle( ControlStyles.AllPaintingInWmPaint | ControlStyles.UserPaint | ControlStyles.OptimizedDoubleBuffer, true); Dock = DockStyle.Fill; taskStatus = TaskStatus.Stop; dataGridViewXs = new Dictionary <string, DataGridViewX>(); dataGridViewXs.Add("superTabItem1", dgviewnone); dataGridViewXs.Add("superTabItem3", dgvIssued); dataGridViewXs.Add("superTabItem2", dgviewfin); //合计使用 //1.构造中绑定需要合计的列 //2.绑定数据后调用合计方法 //3.滚动条事件中重绘合计 footSumLabel3.Init(dgviewnonedetail, new Dictionary <string, int>() { { "qTYDataGridViewTextBoxColumn", 0 } }); footSumLabel1.Init(dgvIssueddetail, new Dictionary <string, int>() { { "qTYDataGridViewTextBoxColumn2", 0 } }); footSumLabel2.Init(dgviewfindetail, new Dictionary <string, int>() { { "qTYDataGridViewTextBoxColumn4", 0 } }); //SocketCommunication.SocketManager.Instance.EV_SendBoxSuccessed += new EventHandler<SocketCommunication.SortingTaskEventArgs>(Instance_EV_SendBoxSuccessed); Thread thread = new Thread(new ParameterizedThreadStart(SortingProcessList.GetSortingProcessList)); thread.Start(SortingLine.GetNonSortingLineCode()); }
private void timer1_Elapsed(object sender, System.Timers.ElapsedEventArgs e) { try { //获取当前,上一个,下一个客户的基本信息 GetOutPortInfo(); GetPOutPortInfo(); GetNOutPortInfo(); //获取平均效率的列表(当天所有打完码的客户) List <PrintInfo> printinfos = PrintBarCodes.GetAVGPrintEffice(); //获取当前效率的列表(现在系统所有打完码的客户) List <PrintInfo> cutprintinfos = PrintBarCodes.GetCUTPrintEffice(); //计算当前效率 double tzeff = SetEff(cutprintinfos); labavgeffice.Text = tzeff.ToString() + "条/小时"; if (labavgeffice.Text.Contains("非数字")) { labavgeffice.Text = "0" + "条/小时"; } using (var cn = new MySqlConnection(AppUtility.AppUtil._LocalConnectionString)) { cn.Open(); using (var cm = cn.CreateCommand()) { cm.CommandText = "select MaxcutEFFICIENCY from t_sortline_process WHERE ORDERDATE = '" + SortingLineTask.GetSortingLineTaskDate() + "' AND PICKLINECODE = '" + SortingLine.GetSortingLineCode() + "' AND SORTINGTASKNO = '" + SortingLineTask.GetMinSortingLineTask().SORTINGTASKNO + "'"; using (var dr = new SafeDataReader(cm.ExecuteReader())) { while (dr.Read()) { labcuteffice.Text = dr.GetDouble("MaxcutEFFICIENCY").ToString() + "条/小时"; } } } } //计算平均效率 //tzeff = SetEff(printinfos); //labavgeffice.Text = tzeff.ToString() + "条/小时";; //if (labavgeffice.Text.Contains("非数字")) // labavgeffice.Text = "0" + "条/小时"; //计算分拣进度 SortingProgress sortingprogress = SortingProgress.GetSortingTaskProgress(); prosorting.Maximum = sortingprogress.TotQty; prosorting.Value = sortingprogress.Qty; prosorting.Text = (sortingprogress.Qty + "/" + sortingprogress.TotQty).PadRight(15, ' ') + Math.Round( Convert.ToDouble(sortingprogress.Qty) / Convert.ToDouble(sortingprogress.TotQty), 3) * 100 + "%"; } catch { } }
private ISortingLine CreateSortingLine(int id, IEnumerable<char> destinations) { var sortingLine = new SortingLine(id, Configuration); foreach (var destination in destinations.Reverse()) { var car = CreateCar(destination); if (car != null) { sortingLine.AddCar(car); } } return sortingLine; }
public static void UpdateEfficincy() { DateTime?starttime = null; double second = 0; double passt = 0; double pnum = 0; double totolnum = 0; int ordernum = 0; try { List <PrintInfo> printinfos = PrintBarCodes.GetAVGPrintEffice(); List <PrintInfo> cutprintinfos = PrintBarCodes.GetCUTPrintEffice(); //Dictionary<string, double> effice = new Dictionary<string, double>(); foreach (PrintInfo printinfo in printinfos) { if (starttime == null) { pnum = printinfo.allnum; starttime = printinfo.starttime; } else { second = Convert.ToDouble(ExecDateDiff(Convert.ToDateTime(starttime), printinfo.starttime)); if (second < AppUtility.AppUtil._IgnoreSecond) { totolnum += pnum; passt += second; ordernum++; } pnum = printinfo.allnum; starttime = printinfo.starttime; } } double efficincy = Math.Round((Math.Round((totolnum / passt), 9) * 3600), 0); using (var cn = new MySqlConnection(AppUtility.AppUtil._LocalConnectionString)) { cn.Open(); using (var cm = cn.CreateCommand()) { cm.CommandText = "UPDATE t_sortline_process set EFFICIENCY = " + efficincy + " WHERE ORDERDATE = '" + SortingLineTask.GetSortingLineTaskDate() + "' AND PICKLINECODE = '" + SortingLine.GetSortingLineCode() + "' AND SORTINGTASKNO = '" + SortingLineTask.GetMinSortingLineTask().SORTINGTASKNO + "'"; cm.ExecuteNonQuery(); } } double maxavgeffic = 0; double maxcuteffic = 0; using (var cn = new MySqlConnection(AppUtility.AppUtil._LocalConnectionString)) { cn.Open(); using (var cm = cn.CreateCommand()) { cm.CommandText = "select MaxavgEFFICIENCY from t_sortline_process WHERE ORDERDATE = '" + SortingLineTask.GetSortingLineTaskDate() + "' AND PICKLINECODE = '" + SortingLine.GetSortingLineCode() + "' AND SORTINGTASKNO = '" + SortingLineTask.GetMinSortingLineTask().SORTINGTASKNO + "'"; using (var dr = new SafeDataReader(cm.ExecuteReader())) { while (dr.Read()) { maxavgeffic = dr.GetDouble("MaxavgEFFICIENCY"); } } } } if (efficincy > maxavgeffic) { using (var cn = new MySqlConnection(AppUtility.AppUtil._LocalConnectionString)) { cn.Open(); using (var cm = cn.CreateCommand()) { cm.CommandText = "UPDATE t_sortline_process set MaxavgEFFICIENCY = " + efficincy + ",MaxavgEFFICIENCYTime = '" + DateTime.Now + "' WHERE ORDERDATE = '" + SortingLineTask.GetSortingLineTaskDate() + "' AND PICKLINECODE = '" + SortingLine.GetSortingLineCode() + "' AND SORTINGTASKNO = '" + SortingLineTask.GetMinSortingLineTask().SORTINGTASKNO + "'"; cm.ExecuteNonQuery(); } } } starttime = null; second = 0; passt = 0; pnum = 0; totolnum = 0; ordernum = 0; foreach (PrintInfo printinfo in cutprintinfos) { if (starttime == null) { pnum = printinfo.allnum; starttime = printinfo.starttime; } else { second = Convert.ToDouble(ExecDateDiff(Convert.ToDateTime(starttime), printinfo.starttime)); if (second < AppUtility.AppUtil._IgnoreSecond) { totolnum += pnum; passt += second; ordernum++; } pnum = printinfo.allnum; starttime = printinfo.starttime; } } efficincy = Math.Round((Math.Round((totolnum / passt), 9) * 3600), 0); using (var cn = new MySqlConnection(AppUtility.AppUtil._LocalConnectionString)) { cn.Open(); using (var cm = cn.CreateCommand()) { cm.CommandText = "select MaxcutEFFICIENCY from t_sortline_process WHERE ORDERDATE = '" + SortingLineTask.GetSortingLineTaskDate() + "' AND PICKLINECODE = '" + SortingLine.GetSortingLineCode() + "' AND SORTINGTASKNO = '" + SortingLineTask.GetMinSortingLineTask().SORTINGTASKNO + "'"; using (var dr = new SafeDataReader(cm.ExecuteReader())) { while (dr.Read()) { maxcuteffic = dr.GetDouble("MaxcutEFFICIENCY"); } } } } if (efficincy > maxcuteffic) { using (var cn = new MySqlConnection(AppUtility.AppUtil._LocalConnectionString)) { cn.Open(); using (var cm = cn.CreateCommand()) { cm.CommandText = "UPDATE t_sortline_process set MaxcutEFFICIENCY = " + efficincy + ",MaxcutEFFICIENCYTime = '" + DateTime.Now + "' WHERE ORDERDATE = '" + SortingLineTask.GetSortingLineTaskDate() + "' AND PICKLINECODE = '" + SortingLine.GetSortingLineCode() + "' AND SORTINGTASKNO = '" + SortingLineTask.GetMinSortingLineTask().SORTINGTASKNO + "'"; cm.ExecuteNonQuery(); } } } } catch { } }
private void SetSortingStatus(int status) { string indexcolname = ""; string custcolname = ""; foreach (DataGridViewColumn column in dataGridViewXs[superTabControl1.SelectedTab.Name].Columns) { if (column.DataPropertyName.ToUpper() == "INDEXNO") { indexcolname = column.Name; } if (column.DataPropertyName.ToUpper() == "CUSTCODE") { custcolname = column.Name; } } foreach (DataGridViewRow selectedRow in dataGridViewXs[superTabControl1.SelectedTab.Name].SelectedRows) { //改变任务状态 string indexcolvalue = selectedRow.Cells[indexcolname].Value.ToString(); string custvalue = selectedRow.Cells[custcolname].Value.ToString(); AbnSortingLineTask sortingLineTask = AbnSortingLineTask.GetAbnSortingLineByIndex(indexcolvalue); sortingLineTask.Status = status; sortingLineTask.SaveAbnSortingTaskProcess(status); //改变烟包状态 List <CigBoxInfo> cigBoxInfoList = CigBoxInfoList.GetBoxInfoByCustiomNo(custvalue, indexcolvalue, SortingLine.GetAbNonSortingLineCode()); foreach (CigBoxInfo cigBoxInfo in cigBoxInfoList) { if (status != 2) { CigBoxInfo.SaveProcess(cigBoxInfo.ID, 0); } else { CigBoxInfo.SaveProcess(cigBoxInfo.ID, status); } } } }
private void btnFinish_Click(object sender, EventArgs e) { foreach (AbnSortingLineTask abnsortingLineTask in m_nonSortingLineTaskList) { if (abnsortingLineTask.ID == labSortingtaskno.Tag.ToString()) { abnsortingLineTask.SaveAbnSortingTaskProcess(2); //成功后保存发送的烟包信息 List <CigBoxInfo> cigBoxInfoList = CigBoxInfoList.GetBoxInfoByCustiomNo(abnsortingLineTask.CUSTCODE, abnsortingLineTask.INDEXNO.ToString(), SortingLine.GetAbNonSortingLineCode()); foreach (CigBoxInfo cigBoxInfo in cigBoxInfoList) { CigBoxInfo.SaveProcess(cigBoxInfo.ID, 2); } } } LoadOrder(); FJMainForm.Instance.CAbnBox.LoadCigBox(); }