private void SetSortingLock(int islock) { 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(); SortingLineTask sortingLineTask = SortingLineTask.GetSortingLineByIndex(indexcolvalue); sortingLineTask.ISLOCK = islock; sortingLineTask.SaveSortingTaskProcess(sortingLineTask.ID); } LoadOrder(); }
private bool IsVerifyPass() { SortingLineTask.IsCurrentOrder(); SortingLineTask.IsIndexRepetition(); return(true); }
private void GetPrintCust(int indexno) { flowLayoutPanel1.GetType().GetProperty("DoubleBuffered", System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.NonPublic).SetValue(flowLayoutPanel1, true, null); flowLayoutPanel4.GetType().GetProperty("DoubleBuffered", System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.NonPublic).SetValue(flowLayoutPanel4, true, null); flowLayoutPanel4.Controls.Clear(); flowLayoutPanel1.Controls.Clear(); SortingLineTask sortingLineTask = SortingLineTask.GetSortingLineByIndex(indexno.ToString()); Label button = new Label(); button.Width = 120; button.Height = 20; button.Text = "当前客户"; flowLayoutPanel4.Controls.Add(button); button = new Label(); button.Width = 120; button.Height = 20; button.Text = "序号:" + sortingLineTask.INDEXNO; flowLayoutPanel4.Controls.Add(button); button = new Label(); button.Width = 120; button.Height = 20; button.Text = "客户名:" + sortingLineTask.ShortName; flowLayoutPanel4.Controls.Add(button); button = new Label(); button.Width = 300; button.Height = 20; button.Text = sortingLineTask.CUSTCODE; flowLayoutPanel4.Controls.Add(button); SortingLineTaskDetails sortingLineTaskDetails = SortingLineTaskDetails.GetSortingLineTaskDetailsByIndex(indexno); foreach (SortingLineTaskDetail sortingLineTaskDetail in sortingLineTaskDetails) { button = new Label(); button.Width = 20; button.Height = 120; if (sortingLineTaskDetail.CIGNAME.Count() > 7) { sortingLineTaskDetail.CIGNAME = sortingLineTaskDetail.CIGNAME.Substring(0, 7); } button.Text = sortingLineTaskDetail.LINEBOXCODE + Environment.NewLine + sortingLineTaskDetail.CIGNAME.Replace("(", " ").Replace(")", " ") + Environment.NewLine + sortingLineTaskDetail.QTY; flowLayoutPanel1.Controls.Add(button); } ButtonX buttonx = new ButtonX(); buttonx.Width = 50; buttonx.Height = 50; buttonx.Text = "显示更多客户列表"; buttonx.Click += new EventHandler(buttonx_Click); flowLayoutPanel4.Controls.Add(buttonx); }
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(); SortingLineTask sortingLineTask = SortingLineTask.GetSortingLineByIndex(indexcolvalue); sortingLineTask.Status = status; if (status == 2) { sortingLineTask.PLCADDRESS = 9; } if (status == 0) { sortingLineTask.PLCADDRESS = 0; SortingLineTaskDetail.SaveStatus(sortingLineTask.ID, "", 0); } sortingLineTask.SaveSortingTaskProcess(sortingLineTask.ID); //改变烟包状态 //List<CigBoxInfo> cigBoxInfoList = CigBoxInfoList.GetBoxInfoByCustiomNo(custvalue, indexcolvalue, // SortingLine.GetNonSortingLineCode()); //foreach (CigBoxInfo cigBoxInfo in cigBoxInfoList) //{ // if (status != 2) // { // CigBoxInfo.SaveProcess(cigBoxInfo.ID, 0); // } // else // { // CigBoxInfo.SaveProcess(cigBoxInfo.ID, status); // } //} } }
private string GetNCustCigInfo() { SortingLineTask sortingLineTask; if (indexno > 0) { sortingLineTask = SortingLineTask.GetSortingLineByIndex(nindexno.ToString()); return(sortingLineTask.CUSTCODE); //SortingLineTaskDetails sortingLineTaskDetails = SortingLineTaskDetails.GetSortingLineTaskDetailsByIndex(indexno); } return("0"); }
public void SetVision() { try { if (this.InvokeRequired) { this.Invoke(new Action(SetVision)); } labnonvision.Text = SortingLineTask.GetSortingLineTaskDateByNo(); lababnvision.Text = AbnSortingLineTask.GetSortingLineTaskDate(); labsernonvision.Text = SortingLineTask.GetServerSortingLineTaskDate(); labserabnvision.Text = AbnSortingLineTask.GetServerSortingLineTaskDate(); } catch (Exception ex) { if (ex.Message.Contains("selectForConnectTimeout")) { MessageBox.Show("无法连接到分拣信息服务器数据库"); } else { throw; } } if (labnonvision.Text.Trim() != labsernonvision.Text.Trim()) { labnonvision.ForeColor = Color.Red; labsernonvision.ForeColor = Color.Red; } else { labnonvision.ForeColor = Color.Black; labsernonvision.ForeColor = Color.Black; } if (lababnvision.Text.Trim() != labserabnvision.Text.Trim()) { lababnvision.ForeColor = Color.Red; labserabnvision.ForeColor = Color.Red; } else { lababnvision.ForeColor = Color.Black; labserabnvision.ForeColor = Color.Black; } }
protected override void DataPortal_Create() { m_sortingLineTask = SortingLineTask.GetSortingLineTask(); using (BypassPropertyChecks) { LoadProperty(IdProperty, m_sortingLineTask.INDEXNO); LoadProperty(PLCFLAGProperty, 1); LoadProperty(PLCTASKNOProperty, SortingTaskIssuedList.GetSortingTaskIssuedList().LoadLastPLCTaskID()); LoadProperty(SLOCATIONProperty, "DB0"); LoadProperty(ORDERNUMBERProperty, m_sortingLineTask.SumOrderNumber()); // create child objects LoadProperty(SortingTaskIssuedDetailsProperty, SortingTaskIssuedDetails.NewSortingTaskIssuedDetails(m_sortingLineTask.SortingLineTaskDetails)); } }
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 void OutPortForm_Load(object sender, EventArgs e) { taskdate = SortingLineTask.GetSortingLineTaskDate(); taskno = SortingLineTask.GetSortingLineTaskNo(); GetProcess(); }
public SortingLineTask TaskFinish() { bool isRun = false; SortingArrive sortingArrive = new SortingArrive(); SorgingPackingFinished sorgingPackingFinished = new SorgingPackingFinished(); SortingLineTask sortingLineTask = null; try { //扫描烟条到达信号地址区是否有已到达的任务(DB10:DBW50) MonitorLog monitorLog; for (int i = 1; i <= sortingArrive.Count; i++) { int arrivevalue = 0; //获取地址内的值 string a = sortingArrive[i]; arrivevalue = Convert.ToInt32(plc.GetPlcValue(sortingArrive[i]).Value); //非0表示已有完成的客户订单 if (arrivevalue != 0) { //获取DB15中对应的分拣任务号 DB15Model mdl = DB15List.dicArr.FirstOrDefault(o => o.Key == i).Value; string taskno = plc.GetPlcValue(mdl.taskNo).Value.ToString(); //通过任务号关联订单中的序号获取分拣订单保存 if (Convert.ToInt32(taskno) > 0) { sortingLineTask = SortingLineTask.GetSortingLineByIndex(taskno); sortingLineTask.Status = 2; sortingLineTask.SaveSortingTaskProcess(sortingLineTask.ID); sortingLineTask.SaveStatus(); //写日志 monitorLog = MonitorLog.NewMonitorLog(); monitorLog.LOGNAME = "INDEXNO:" + sortingLineTask.INDEXNO + " CUSTNO:" + sortingLineTask.CUSTCODE + " 分拣任务到达数据库保存"; monitorLog.LOGINFO = ""; monitorLog.LOGLOCATION = "PLC"; monitorLog.LOGTYPE = 0; monitorLog.Save(); } //成功后保存发送的烟包信息 //List<CigBoxInfo> cigBoxInfoList = CigBoxInfoList.GetBoxInfoByCustiomNo(sortingLineTask.CUSTCODE, // sortingLineTask.INDEXNO.ToString(), SortingLine.GetNonSortingLineCode()); //foreach (CigBoxInfo cigBoxInfo in cigBoxInfoList) //{ // CigBoxInfo.SaveProcess(cigBoxInfo.ID, 2); //} //写日志 //monitorLog = MonitorLog.NewMonitorLog(); //monitorLog.LOGNAME = "INDEXNO:" + cigBoxInfoList[0].IndexNO + " 分拣烟包到达保存"; //monitorLog.LOGINFO = ""; //monitorLog.LOGLOCATION = "PLC"; //monitorLog.LOGTYPE = 0; //monitorLog.Save(); //查看装箱数据块中是否已修改 //==0表示未修改可以写数据 if (Convert.ToInt32(plc.GetPlcValue(sorgingPackingFinished[i]).Value) == 0) { //将装箱完成信号地址区中对应的出口置1(DB10:DBW0) PlcValue writeVlaue = new PlcValue(); writeVlaue.Value = arrivevalue; isRun = plc.SetPlcValue(sorgingPackingFinished[i], writeVlaue); //写值不成功返回空对象 if (!isRun) { sortingLineTask = null; } else { //写日志 monitorLog = MonitorLog.NewMonitorLog(); monitorLog.LOGNAME = "INDEXNO:" + sortingLineTask.INDEXNO + " 地址位" + sorgingPackingFinished[i] + ":装箱修改为1"; monitorLog.LOGINFO = ""; monitorLog.LOGLOCATION = "PLC"; monitorLog.LOGTYPE = 0; monitorLog.Save(); } break; } //==1表示已修改过继续下一个地址位 else { sortingLineTask = null; //写日志 monitorLog = MonitorLog.NewMonitorLog(); monitorLog.LOGNAME = "装箱已经修改过为1"; monitorLog.LOGINFO = ""; monitorLog.LOGLOCATION = "PLC"; monitorLog.LOGTYPE = 0; monitorLog.Save(); } } Thread.Sleep(50); } //break后执行 //写日志 //monitorLog = MonitorLog.NewMonitorLog(); //monitorLog.LOGNAME = "分拣任务到达循环结束"; //monitorLog.LOGINFO = ""; //monitorLog.LOGLOCATION = "PLC"; //monitorLog.LOGTYPE = 0; //monitorLog.Save(); } catch (Exception ex) { //写日志 MonitorLog monitorLog = MonitorLog.NewMonitorLog(); monitorLog.LOGNAME = "PLC分拣任务到达异常"; monitorLog.LOGINFO = ex.Message; monitorLog.LOGLOCATION = "PLC"; monitorLog.LOGTYPE = 0; monitorLog.Save(); return(null); } return(sortingLineTask); }
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 { } }
/// <summary> /// 分拣任务下达流程 /// </summary> private void ScanTask() { SortingLineTask sortingLineTask = null; while (taskStatus == TaskStatus.Run) { try { //是否有未完成的订单 if (!SortingLineTaskList.IsSortingFinish()) { //判断标识是否可以下达任务,表示上一次任务是否已经完成 SortingTaskIssued sortingTaskIssued = SortingTaskIssued.GetSortingTaskIssued("0"); if (sortingTaskIssued.PLCFLAG == 0) { //PLC信息小车是否走到位,或者已扫描到分户盒 //分拣工可能先放分户盒,但程序必须判断上次任务是否完成 //if (operateOpcAndSoft.GetCubeReady()) //{ // if(operateOpcAndSoft.GetCubeIndexno > FJMainForm.Instance.CSortingMain.c_Cubes.Last().labindexno) // int a = operateOpcAndSoft.GetCubeReady() - // FJMainForm.Instance.CSortingMain.c_Cubes.Last().labindexno; //} if (operateOpcAndSoft.GetCubeReady()) { SortingLineTaskQueue.GetInstance().Move(); //重新加载一次任务队列 SortingLineTaskQueue.GetInstance().LoadSortingLineTasks(); //获取最小排序号的订单 sortingLineTask = SortingLineTask.GetMinSortingLineTask(); //将最小订单放入队列中进行分拣 SortingLineTaskQueue.GetInstance().Enqueue(sortingLineTask); SortingLineTaskQueue.GetInstance().CreateCubesModel(); //发送卷烟数量到数码管 ATOPTagSdk.instance.SetOrderNixielight(SortingLineTaskQueue.GetInstance().SortingLineTasks); //通知前台界面显示数码管数量 if (OnUpdateCSortingMainNumEvent != null) { OnUpdateCSortingMainNumEvent.Invoke(null, new UpdateCSortingMainNumEventArgs(ATOPTagSdk.Tags)); } //如果不是用用来补足的空任务 if (sortingLineTask.INDEXNO > 0) { //保存任务状态为已下达 sortingLineTask.Status = 1; sortingLineTask.SaveSortingTaskProcess(sortingLineTask.ID); } //将下达任务标志位设置成已下达 sortingTaskIssued.PLCFLAG = 1; sortingTaskIssued.PLCTASKNO = sortingLineTask.INDEXNO.ToString(); sortingTaskIssued.ORDERNUMBER = sortingLineTask.SumOrderNumber(); sortingTaskIssued.Save(); //写日志 monitorLog = MonitorLog.NewMonitorLog(); monitorLog.LOGNAME = "任务下达"; monitorLog.LOGINFO = " 任务号:" + sortingLineTask.INDEXNO.ToString().PadRight(10); monitorLog.LOGLOCATION = "数据库"; monitorLog.LOGTYPE = 0; monitorLog.Save(); this.BeginInvoke(new MethodInvoker(LoadOrder)); //FJMainForm.Instance.CSortingMain.UpdateLineboxCapacity(); } } } else { //写日志 MonitorLog monitorLog = MonitorLog.NewMonitorLog(); monitorLog.LOGNAME = "任务下达"; monitorLog.LOGINFO = "分拣任务全部完成"; monitorLog.LOGLOCATION = "数据库"; monitorLog.LOGTYPE = 0; monitorLog.Save(); //发送分拣完成到上位机 //FJMainForm.Instance.SortingFinish(); SortingLineTaskQueue.GetInstance().CubesModel.Clear(); Array.Clear(SortingLineTaskQueue.GetInstance().SortingLineTasks, 0, SortingLineTaskQueue.GetInstance().QueueMaxCount); SortingLineTaskQueue.GetInstance().InvokeOnUpdateCubeEvent(); SoundPlayer player = new SoundPlayer(); player.SoundLocation = Application.StartupPath + "\\Sound\\分拣结束.wav"; player.Load(); player.Play(); break;//跳出下达循环 } Thread.Sleep(500); } catch (Exception e) { //写日志 monitorLog = MonitorLog.NewMonitorLog(); if (sortingLineTask != null) { monitorLog.LOGNAME = "任务号" + sortingLineTask.INDEXNO + " 分拣任务下达异常"; } else { monitorLog.LOGNAME = "任务号未知" + " 分拣任务下达异常"; } monitorLog.LOGINFO = e.Message; monitorLog.LOGLOCATION = "数据库"; monitorLog.LOGTYPE = 0; monitorLog.Save(); } } }
private LPTPrintSetup printset = new LPTPrintSetup(); //打印类 private void PirintSet(object type) { try { string indexcolname = ""; string custcolname = ""; foreach (DataGridViewColumn column in dgviewnone.Columns) { if (column.DataPropertyName.ToUpper() == "INDEXNO") { indexcolname = column.Name; } if (column.DataPropertyName.ToUpper() == "CUSTCODE") { custcolname = column.Name; } } IEnumerable <DataGridViewRow> rows = dgviewnone.SelectedRows.Cast <DataGridViewRow>(); DataGridViewRow[] Rows = rows.ToArray(); Array.Reverse(Rows); //对颠倒的行再次颠倒 foreach (DataGridViewRow selectedRow in Rows) { string indexcolvalue = selectedRow.Cells[indexcolname].Value.ToString(); string custvalue = selectedRow.Cells[custcolname].Value.ToString(); SortingLineTask sortingLineTask = SortingLineTask.GetSortingLineByIndex(indexcolvalue); //获取常规烟包 List <CigBoxInfo> cigBoxInfoList = CigBoxInfoList.GetBoxInfoByCustiomNo(sortingLineTask.CUSTCODE, sortingLineTask.INDEXNO.ToString(), AppUtil._SortingLineId); //获取异型烟包 int abnoboxcount = CigBoxInfoList.GetAbnoCigBoxNum(sortingLineTask.ORDERDATE, sortingLineTask.SORTINGTASKNO.ToString(), AppUtil._AbnoSortingLineId, sortingLineTask.CUSTCODE); OutPort outPort = new OutPort(Convert.ToInt32(indexcolvalue)); outPort.GetCustSeq(); foreach (CigBoxInfo cigBoxInfo in cigBoxInfoList) { BusinessLogic.Print.PrintInfo PSInfo = new BusinessLogic.Print.PrintInfo(); PSInfo.CustomerName = sortingLineTask.ShortName; PSInfo.CustomerCode = sortingLineTask.CUSTCODE; PSInfo.IndexNo = sortingLineTask.INDEXNO.ToString(); PSInfo.SortingDate = "(" + sortingLineTask.ORDERDATE + ")"; PSInfo.BoxNo = cigBoxInfo.BOXSEQ.ToString() + "/"; PSInfo.BoxCount = cigBoxInfo.BOXCOUNT.ToString(); PSInfo.CurrentNum = cigBoxInfo.BOXQTY.ToString() + "/" + sortingLineTask.SortingLineTaskDetails.GetTotQty().ToString(); //PSInfo.TaskNumber = sortingLineTask.SortingLineTaskDetails.GetTotQty().ToString(); PSInfo.DelivyLine = sortingLineTask.LINENAME; PSInfo.CustomerSqe = "(" + outPort["COUNTLINE"] + "/" + outPort["MAXCOUNTLINE"] + ")户"; //PSInfo.CustomerTotSeq = outPort["MAXCOUNTLINE"]; PSInfo.AbnoBoxCount = "异" + abnoboxcount; PSInfo.Address = cigBoxInfo.Address; PSInfo.BoxIndex = CigBoxInfoList.GetBoxIndex(PSInfo.IndexNo, cigBoxInfo.BOXSEQ.ToString(), AppUtil._SortingLineId); printset.SetupThePrinting(MyPrintDocument, new SYSPrintsettings(), PSInfo); if (Convert.ToInt32(type) == 1) { printPreviewDialog1.PrintPreviewControl.Zoom = 1.0; this.printPreviewDialog1.ShowDialog(); } else { MyPrintDocument.Print(); } } } } catch (Exception) { throw; } }