private void btnPrint_Click(object sender, EventArgs e) { if (edtMONumber.Text.Trim() == "") { XtraMessageBox.Show("请输入制造订单号!"); edtMONumber.Focus(); return; } if (edtMOLineNo.Text.Trim() == "") { XtraMessageBox.Show("请输入制造订单行号!"); edtMOLineNo.Focus(); return; } string strProcedureName = string.Format( "{0}.{1}", className, MethodBase.GetCurrentMethod().Name); WriteLog.Instance.WriteBeginSplitter(strProcedureName); try { ReprintPWO pwoInfo = new ReprintPWO(); int errCode = 0; string errText = ""; IRAPSCESClient.Instance.mfn_GetInfo_PWOToReprint( IRAPUser.Instance.CommunityID, t173LeafID, edtMONumber.Text.Trim(), Tools.ConvertToInt32(edtMOLineNo.Text.Trim()), IRAPUser.Instance.SysLogID, ref pwoInfo, out errCode, out errText); WriteLog.Instance.Write( string.Format("({0}){1}", errCode, errText), strProcedureName); if (errCode != 0) { XtraMessageBox.Show( errText, "提示", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } else { #region 打印 Report report = new Report(); Report report1 = new Report(); bool printWIPProductInfoTrack = false; MemoryStream ms; switch (IRAPUser.Instance.CommunityID) { case 60023: ms = new MemoryStream(Properties.Resources.WIPTransferTrackSheet_60023); break; default: ms = new MemoryStream(Properties.Resources.WIPTransferTrackSheet); if (ConfigurationManager.AppSettings["PrintProductInfoTrack"] != null) { printWIPProductInfoTrack = ConfigurationManager.AppSettings["PrintProductInfoTrack"].ToUpper() == "TRUE"; } break; } report.Load(ms); if (printWIPProductInfoTrack) { switch (IRAPUser.Instance.CommunityID) { case 60010: switch (pwoInfo.T173Code) { case "5160": ms = new MemoryStream(Properties.Resources.WIPProductInfoTrack_60010_2155630); break; default: ms = new MemoryStream(Properties.Resources.WIPProductInfoTrack); break; } break; case 60030: if (IRAPUser.Instance.HostName == "RMS115301") { ms = new MemoryStream( Properties.Resources.WIPProductInfoTrack_60030_RMS115301); } else { ms = new MemoryStream( Properties.Resources.WIPProductInfoTrack_60030); } break; default: ms = new MemoryStream(Properties.Resources.WIPProductInfoTrack); break; } if (ms != null) { report1.Load(ms); } } try { switch (IRAPUser.Instance.CommunityID) { case 60010: // 仪征打印的生产流转卡 case 60030: report.Parameters.FindByName("BarCode").Value = pwoInfo.PWONo; report.Parameters.FindByName("DeliveryWorkshop").Value = ""; report.Parameters.FindByName("StorehouseCode").Value = string.Format( "{0}({1})", pwoInfo.T173Name, pwoInfo.T173Code); report.Parameters.FindByName("T106Code").Value = pwoInfo.AtStoreLocCode; report.Parameters.FindByName("WorkshopName").Value = string.Format( "{0}({1})", pwoInfo.DstWorkShopDesc, pwoInfo.DstWorkShopCode); report.Parameters.FindByName("ProductLine").Value = pwoInfo.T134Name; report.Parameters.FindByName("AdvicedPickedQty").Value = pwoInfo.SuggestedQuantityToPick; report.Parameters.FindByName("StartingDate").Value = pwoInfo.PlannedStartDate; report.Parameters.FindByName("CompletingDate").Value = pwoInfo.PlannedCloseDate; report.Parameters.FindByName("PrintingDate").Value = DateTime.Now.ToString("yyyy-MM-dd"); report.Parameters.FindByName("Unit").Value = pwoInfo.UnitOfMeasure; report.Parameters.FindByName("MONo").Value = pwoInfo.MONumber; report.Parameters.FindByName("LineNo").Value = pwoInfo.MOLineNo; report.Parameters.FindByName("LotNumber").Value = pwoInfo.LotNumber; report.Parameters.FindByName("MaterialTexture").Value = pwoInfo.T131Code; report.Parameters.FindByName("ActualPickedBars").Value = pwoInfo.ActualQtyDecompose; report.Parameters.FindByName("OrderQty").Value = pwoInfo.PlannedQuantity; report.Parameters.FindByName("MaterialCode").Value = pwoInfo.MaterialCode; report.Parameters.FindByName("MaterialDescription").Value = pwoInfo.MaterialDesc; report.Parameters.FindByName("TransferringInDate").Value = DateTime.Now.ToString("yyyy-MM-dd"); report.Parameters.FindByName("InQuantity").Value = pwoInfo.ActualQuantityToDeliver; report.Parameters.FindByName("FatherMaterialCode").Value = pwoInfo.ProductNo; report.Parameters.FindByName("FatherMaterialName").Value = pwoInfo.ProductDesc; report.Parameters.FindByName("DstT106Code").Value = pwoInfo.DstT106Code; if (printWIPProductInfoTrack) { switch (IRAPUser.Instance.CommunityID) { case 60010: DataSet ds = new DataSet(); DataTable dt = new DataTable(); dt.TableName = "WIPProductInfoTrack"; dt.Columns.Add("BarCode", typeof(string)); dt.Columns.Add("DeliveryWorkShop", typeof(string)); dt.Columns.Add("StorehouseCode", typeof(string)); dt.Columns.Add("T106Code", typeof(string)); dt.Columns.Add("WorkshopName", typeof(string)); dt.Columns.Add("ProductLine", typeof(string)); dt.Columns.Add("AdvicedPickedQty", typeof(string)); dt.Columns.Add("StartingDate", typeof(string)); dt.Columns.Add("CompletingDate", typeof(string)); dt.Columns.Add("PrintingDate", typeof(string)); dt.Columns.Add("Unit", typeof(string)); dt.Columns.Add("MONo", typeof(string)); dt.Columns.Add("MOLineNo", typeof(string)); dt.Columns.Add("LotNumber", typeof(string)); dt.Columns.Add("MaterialTexture", typeof(string)); dt.Columns.Add("ActualPickedBars", typeof(string)); dt.Columns.Add("OrderQty", typeof(int)); dt.Columns.Add("MaterialCode", typeof(string)); dt.Columns.Add("MaterialDescription", typeof(string)); dt.Columns.Add("TransferringInDate", typeof(string)); dt.Columns.Add("InQuantity", typeof(string)); dt.Columns.Add("FatherMaterialCode", typeof(string)); dt.Columns.Add("FatherMaterialName", typeof(string)); dt.Columns.Add("DstT106Code", typeof(string)); dt.Columns.Add("GateWayWC", typeof(string)); dt.Columns.Add("PageNo", typeof(int)); dt.Columns.Add("PageCount", typeof(int)); #region 未设置镀铬车间的容器容量 dt.Rows.Add( pwoInfo.PWONo, "", string.Format("{0}({1})", pwoInfo.T173Name, pwoInfo.T173Code), pwoInfo.AtStoreLocCode, pwoInfo.DstWorkShopCode, pwoInfo.T134Name, pwoInfo.SuggestedQuantityToPick.ToString(), pwoInfo.PlannedStartDate.Substring(5, 5), pwoInfo.PlannedCloseDate.Substring(5, 5), DateTime.Now.ToString("MM-dd HH:mm:ss"), pwoInfo.UnitOfMeasure, pwoInfo.MONumber, pwoInfo.MOLineNo, pwoInfo.LotNumber, pwoInfo.T131Code, pwoInfo.ActualQtyDecompose, pwoInfo.PlannedQuantity.ToString(), pwoInfo.MaterialCode, pwoInfo.MaterialDesc, DateTime.Now.ToString("yyyy-MM-dd"), pwoInfo.ActualQuantityToDeliver, pwoInfo.ProductNo, pwoInfo.ProductDesc, pwoInfo.DstT106Code, pwoInfo.GateWayWC, 1, 1); #endregion ds.Tables.Add(dt); report1.RegisterData(ds); report1.GetDataSource("WIPProductInfoTrack").Enabled = true; break; case 60030: report1.Parameters.FindByName("BarCode").Value = pwoInfo.PWONo; report1.Parameters.FindByName("DeliveryWorkshop").Value = ""; report1.Parameters.FindByName("StorehouseCode").Value = string.Format( "{0}({1})", pwoInfo.T173Name, pwoInfo.T173Code); report1.Parameters.FindByName("T106Code").Value = pwoInfo.AtStoreLocCode; report1.Parameters.FindByName("WorkshopName").Value = pwoInfo.DstWorkShopCode; report1.Parameters.FindByName("ProductLine").Value = pwoInfo.T134Name; report1.Parameters.FindByName("AdvicedPickedQty").Value = pwoInfo.SuggestedQuantityToPick; report1.Parameters.FindByName("StartingDate").Value = pwoInfo.PlannedStartDate.Substring(5, 5); report1.Parameters.FindByName("CompletingDate").Value = pwoInfo.PlannedCloseDate.Substring(5, 5); report1.Parameters.FindByName("PrintingDate").Value = DateTime.Now.ToString("MM-dd HH:mm:ss"); report1.Parameters.FindByName("Unit").Value = pwoInfo.UnitOfMeasure; report1.Parameters.FindByName("MONo").Value = pwoInfo.MONumber; report1.Parameters.FindByName("LineNo").Value = pwoInfo.MOLineNo; report1.Parameters.FindByName("LotNumber").Value = pwoInfo.LotNumber; report1.Parameters.FindByName("MaterialTexture").Value = pwoInfo.T131Code; report1.Parameters.FindByName("ActualPickedBars").Value = pwoInfo.ActualQtyDecompose; report1.Parameters.FindByName("OrderQty").Value = pwoInfo.PlannedQuantity; report1.Parameters.FindByName("MaterialCode").Value = pwoInfo.MaterialCode; report1.Parameters.FindByName("MaterialDescription").Value = pwoInfo.MaterialDesc; report1.Parameters.FindByName("TransferringInDate").Value = DateTime.Now.ToString("yyyy-MM-dd"); report1.Parameters.FindByName("InQuantity").Value = pwoInfo.ActualQuantityToDeliver.ToString(); report1.Parameters.FindByName("FatherMaterialCode").Value = pwoInfo.ProductNo; report1.Parameters.FindByName("FatherMaterialName").Value = pwoInfo.ProductDesc; report1.Parameters.FindByName("DstT106Code").Value = pwoInfo.DstT106Code; if (IRAPUser.Instance.CommunityID == 60030) { report1.Parameters.FindByName("GateWayWC").Value = pwoInfo.GateWayWC; } break; } } break; } } catch (Exception error) { WriteLog.Instance.Write(error.Message, strProcedureName); XtraMessageBox.Show( error.Message, "系统信息", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } System.Drawing.Printing.PrinterSettings prnSetting = new System.Drawing.Printing.PrinterSettings(); if (report.Prepare()) { bool rePrinter = false; do { prnSetting.PrinterName = IRAPConst.Instance.CurrentPrinterName; if (report.ShowPrintDialog(out prnSetting)) { IRAPConst.Instance.CurrentPrinterName = prnSetting.PrinterName; report.PrintPrepared(prnSetting); rePrinter = ( XtraMessageBox.Show( "物料配送流转卡已经打印完成,是否需要重新打印?", "系统信息", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) == DialogResult.Yes); } } while (rePrinter); } if (printWIPProductInfoTrack && (IRAPUser.Instance.CommunityID == 60010 || IRAPUser.Instance.CommunityID == 60030)) { IRAPMessageBox.Instance.ShowInformation( "请将打印机中的打印纸更换为【产品信息跟踪卡】,更换完毕后点击确认开始打印"); if (report1.Prepare()) { bool rePrint = false; do { if (report1.ShowPrintDialog(out prnSetting)) { report1.PrintPrepared(prnSetting); rePrint = ( XtraMessageBox.Show( "【产品信息跟踪卡】已经打印完成,是否需要重新打印?", "系统信息", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) == DialogResult.Yes ); } } while (rePrint); } } btnClose.PerformClick(); #endregion } } catch (Exception error) { WriteLog.Instance.Write(error.Message, strProcedureName); XtraMessageBox.Show( error.Message, "提示", MessageBoxButtons.OK, MessageBoxIcon.Error); } finally { WriteLog.Instance.WriteEndSplitter(strProcedureName); } }
/// <summary> /// 根据制造订单号和制造订单行号,获取工单信息 /// </summary> /// <param name="communityID">社区标识</param> /// <param name="dstT173LeafID">目标仓储地点</param> /// <param name="moNumber">制造订单号</param> /// <param name="moLineNo">制造订单行号</param> /// <param name="sysLogID">系统登录标识</param> public void mfn_GetInfo_PWOToReprint( int communityID, int dstT173LeafID, string moNumber, int moLineNo, long sysLogID, ref ReprintPWO data, out int errCode, out string errText) { string strProcedureName = string.Format( "{0}.{1}", className, MethodBase.GetCurrentMethod().Name); WriteLog.Instance.WriteBeginSplitter(strProcedureName); try { data = new ReprintPWO(); #region 将函数调用参数加入 Hashtable 中 Hashtable hashParams = new Hashtable(); hashParams.Add("communityID", communityID); hashParams.Add("dstT173LeafID", dstT173LeafID); hashParams.Add("moNumber", moNumber); hashParams.Add("moLineNo", moLineNo); hashParams.Add("sysLogID", sysLogID); WriteLog.Instance.Write( string.Format( "调用 mfn_GetInfo_PWOToReprint,输入参数:" + "CommunityID={0}|DstT173LeafID={1}|MONumber={2}|" + "MOLineNo={3}|SysLogID={4}", communityID, dstT173LeafID, moNumber, moLineNo, sysLogID), strProcedureName); #endregion #region 执行存储过程或者函数 using (WCFClient client = new WCFClient()) { object rlt = client.WCFRESTFul( "IRAP.BL.SCES.dll", "IRAP.BL.SCES.IRAPSCES", "mfn_GetInfo_PWOToReprint", hashParams, out errCode, out errText); WriteLog.Instance.Write( string.Format("({0}){1}", errCode, errText), strProcedureName); if (errCode == 0) { data = rlt as ReprintPWO; } } #endregion } catch (Exception error) { WriteLog.Instance.Write(error.Message, strProcedureName); errCode = -1001; errText = error.Message; } finally { WriteLog.Instance.WriteEndSplitter(strProcedureName); } }