Esempio n. 1
0
        /// <summary>
        /// 打印操作
        /// </summary>
        /// <param name="operation"></param>
        public void PrintDialog(string operation)
        {
            //当修改原数据是要进行保存后才能去打印
            if (biSave.Enabled == true)
            {
                MessageBox.Show("在原数据上进行修改时请先保存后再进行打印!!!");
            }

            var xtreport = new XtraReport();
            // _btApp = new BarTender.Application();
            //判断当前打印模版路径是否存在
            var temPath = _cTempletFileName;     //_cTempletFileName;      //Application.StartupPath + @"\Label\" +   _cTempletFileName;

            if (!File.Exists(temPath))
            {
                MessageBox.Show(@"当前路径下的打印模版文件不存在!", @"异常", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                xtreport.ShowDesigner();
                return;
            }
            xtreport.LoadLayout(temPath);
            xtreport.PrinterName = _cPrinter;
            xtreport.PrintingSystem.StartPrint += PrintingSystem_StartPrint;
            xtreport.RequestParameters          = false;
            xtreport.ShowPrintStatusDialog      = false;
            xtreport.ShowPrintMarginsWarning    = false;

            //模板赋值
            DllWorkPrintLabel.SetParametersValue(xtreport, "cSerialNumber", lblTitleMain.lblcSerialNumber.Text);
            DllWorkPrintLabel.SetParametersValue(xtreport, "cBarCode", "R*" + _FitemId + "*L*" + txtcLotNo.Text + "*S*" + lblTitleMain.lblcSerialNumber.Text + ";" + dtpcDefine2.Value.ToShortDateString());
            DllWorkPrintLabel.SetParametersValue(xtreport, "cInvCode", txtcInvCode.Text);
            DllWorkPrintLabel.SetParametersValue(xtreport, "cInvName", utecInvName.Text);
            DllWorkPrintLabel.SetParametersValue(xtreport, "dDate", dtpdDate.Value.ToShortDateString());
            DllWorkPrintLabel.SetParametersValue(xtreport, "cInvStd", txtcInvStd.Text);
            DllWorkPrintLabel.SetParametersValue(xtreport, "cFullName", txtcFullName.Text);
            DllWorkPrintLabel.SetParametersValue(xtreport, "cVendor", txtcVendor.Text);
            DllWorkPrintLabel.SetParametersValue(xtreport, "cLotNo", txtcLotNo.Text);
            DllWorkPrintLabel.SetParametersValue(xtreport, "iQuantity", uneiQuantity.Value);
            DllWorkPrintLabel.SetParametersValue(xtreport, "cMemo", txtcMemo.Text);
            DllWorkPrintLabel.SetParametersValue(xtreport, "cDefine1", txtcDefine1.Text);
            if (dtpdDate.Checked)
            {
                DllWorkPrintLabel.SetParametersValue(xtreport, "cVendorDate", dtpdDate.Value);
            }
            //模板赋值
            switch (operation)
            {
            case "print":
                xtreport.Print();
                break;

            case "design":
                xtreport.ShowDesigner();
                break;

            case "preview":
                xtreport.ShowPreview();
                break;
            }
        }
Esempio n. 2
0
        public void PrintDialog(string operation)
        {
            var xtreport = new XtraReport();
            // _btApp = new BarTender.Application();
            //判断当前打印模版路径是否存在
            var temPath = _cTempletFileName;     //_cTempletFileName;      //Application.StartupPath + @"\Label\" +   _cTempletFileName;

            if (!File.Exists(temPath))
            {
                MessageBox.Show(@"当前路径下的打印模版文件不存在!", @"异常", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                xtreport.ShowDesigner();
                return;
            }
            xtreport.LoadLayout(temPath);
            xtreport.PrinterName             = _cPrinter;
            xtreport.RequestParameters       = false;
            xtreport.ShowPrintStatusDialog   = false;
            xtreport.ShowPrintMarginsWarning = false;

            //模板赋值
            DllWorkPrintLabel.SetParametersValue(xtreport, "cSerialNumber", lblTitleMain.lblcSerialNumber.Text);
            DllWorkPrintLabel.SetParametersValue(xtreport, "cBarCode", "P*" + _FitemId + "*L*" + txtFBatchNo.Text + "*S*");
            DllWorkPrintLabel.SetParametersValue(xtreport, "cInvCode", txtcInvCode.Text);
            DllWorkPrintLabel.SetParametersValue(xtreport, "cInvName", utecInvName.Text);
            DllWorkPrintLabel.SetParametersValue(xtreport, "cInvStd", txtcInvStd.Text);
            DllWorkPrintLabel.SetParametersValue(xtreport, "cFullName", txtcFullName.Text);
            DllWorkPrintLabel.SetParametersValue(xtreport, "iQuantity", uneiQuantity.Value);
            DllWorkPrintLabel.SetParametersValue(xtreport, "cMemo", txtcMemo.Text);
            DllWorkPrintLabel.SetParametersValue(xtreport, "dDate", dtpdDate.Value.ToShortDateString());
            DllWorkPrintLabel.SetParametersValue(xtreport, "cOrderNumber", txtcOrderNumber.Text);
            xtreport.DataSource = GetPrintData();
            //模板赋值
            switch (operation)
            {
            case "print":
                xtreport.Print();
                break;

            case "design":
                xtreport.ShowDesigner();
                break;

            case "preview":
                xtreport.ShowPreview();
                break;
            }
        }
Esempio n. 3
0
        public void PrintDialogRm(string operation, Infragistics.Win.UltraWinGrid.UltraGridRow uRow, DataTable dt)
        {
            var xtreport = new XtraReport();
            // _btApp = new BarTender.Application();
            //判断当前打印模版路径是否存在
            //var _RmcTempletFileName = Application.StartupPath + @"\Label\班次制令单.repx";
            var temPath = _RmcTempletFileName;     //_cTempletFileName;      //Application.StartupPath + @"\Label\" +   _cTempletFileName;

            if (!File.Exists(temPath))
            {
                MessageBox.Show(@"当前路径下的打印模版文件不存在!", @"异常", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                xtreport.ShowDesigner();
                return;
            }
            xtreport.LoadLayout(temPath);
            xtreport.PrinterName             = _cPrinter;
            xtreport.RequestParameters       = false;
            xtreport.ShowPrintStatusDialog   = false;
            xtreport.ShowPrintMarginsWarning = false;

            var cFitemID      = uRow.Cells["cFitemID"].Value.ToString();
            var cLotNo        = uRow.Cells["FBatchNo"].Value.ToString();
            var cDefine2      = dt.Rows[0]["cDefine2"].ToString();
            var cSerialNumber = dt.Rows[0]["cSerialNumber"].ToString();
            var cInvCode      = dt.Rows[0]["cInvCode"].ToString();
            var cInvName      = dt.Rows[0]["cInvName"].ToString();
            var dDate         = dt.Rows[0]["dDate"].ToString();
            var cInvStd       = dt.Rows[0]["cInvStd"].ToString();
            var cFullName     = dt.Rows[0]["cFullName"].ToString();
            var iQuantity     = uRow.Cells["iQuantity"].Value.ToString();
            var cMemo         = dt.Rows[0]["cMemo"].ToString();
            var cDefine1      = dt.Rows[0]["cDefine1"].ToString();

            //模板赋值
            DllWorkPrintLabel.SetParametersValue(xtreport, "cSerialNumber", lblTitleMain.lblcSerialNumber.Text);
            DllWorkPrintLabel.SetParametersValue(xtreport, "cBarCode", "R*" + cFitemID + "*L*" + cLotNo + "*S*" + cSerialNumber + ";" + cDefine2);
            DllWorkPrintLabel.SetParametersValue(xtreport, "cInvCode", cInvCode);
            DllWorkPrintLabel.SetParametersValue(xtreport, "cInvName", cInvName);
            DllWorkPrintLabel.SetParametersValue(xtreport, "dDate", dDate);
            DllWorkPrintLabel.SetParametersValue(xtreport, "cInvStd", cInvStd);
            DllWorkPrintLabel.SetParametersValue(xtreport, "cFullName", txtcFullName.Text);
            DllWorkPrintLabel.SetParametersValue(xtreport, "cVendor", cFullName);
            DllWorkPrintLabel.SetParametersValue(xtreport, "cLotNo", cLotNo);
            DllWorkPrintLabel.SetParametersValue(xtreport, "iQuantity", iQuantity);
            DllWorkPrintLabel.SetParametersValue(xtreport, "cMemo", cMemo);
            DllWorkPrintLabel.SetParametersValue(xtreport, "cDefine1", cDefine1);
            if (dtpdDate.Checked)
            {
                DllWorkPrintLabel.SetParametersValue(xtreport, "cVendorDate", dtpdDate.Value);
            }
            //模板赋值
            switch (operation)
            {
            case "print":
                xtreport.Print();
                break;

            case "design":
                xtreport.ShowDesigner();
                break;

            case "preview":
                xtreport.ShowPreview();
                break;
            }
        }
Esempio n. 4
0
        public void PrintDialog(string operation)
        {
            var xtreport = new XtraReport();
            // _btApp = new BarTender.Application();
            //判断当前打印模版路径是否存在
            var _cTempletFileName = Application.StartupPath + @"\Label\班次制令单.repx";
            var temPath           = _cTempletFileName; //Application.StartupPath + @"\Label\" +  _cTempletFileName;

            if (!File.Exists(temPath))
            {
                MessageBox.Show(@"当前路径下的打印模版文件不存在!", @"异常", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                xtreport.ShowDesigner();
                return;
            }
            xtreport.LoadLayout(temPath);
            xtreport.PrinterName             = _cPrinter;
            xtreport.RequestParameters       = false;
            xtreport.ShowPrintStatusDialog   = false;
            xtreport.ShowPrintMarginsWarning = false;

            //模板赋值
            DllWorkPrintLabel.SetParametersValue(xtreport, "cSerialNumber", lblTitleMain.lblcSerialNumber.Text);
            DllWorkPrintLabel.SetParametersValue(xtreport, "cInvCode", txtcInvCode.Text);
            DllWorkPrintLabel.SetParametersValue(xtreport, "cInvName", utecInvName.Text);
            DllWorkPrintLabel.SetParametersValue(xtreport, "cInvStd", txtcInvStd.Text);
            DllWorkPrintLabel.SetParametersValue(xtreport, "cFullName", txtcFullName.Text);
            DllWorkPrintLabel.SetParametersValue(xtreport, "cOrderNuber", txtcOrderNumber.Text);
            DllWorkPrintLabel.SetParametersValue(xtreport, "FBatchNo", txtFBatchNo.Text);
            DllWorkPrintLabel.SetParametersValue(xtreport, "iQuantity", uneiQuantity.Value);
            DllWorkPrintLabel.SetParametersValue(xtreport, "cDepartment", txtcDept.Text);
            DllWorkPrintLabel.SetParametersValue(xtreport, "dDate", dtpdDate.Value.ToShortDateString());
            DllWorkPrintLabel.SetParametersValue(xtreport, "cMemo", txtcMemo.Text);
            DllWorkPrintLabel.SetParametersValue(xtreport, "批次", txtcMemo.Text);
            DllWorkPrintLabel.SetParametersValue(xtreport, "库位", txtcMemo.Text);
            DllWorkPrintLabel.SetParametersValue(xtreport, "库存", txtcMemo.Text);
            DllWorkPrintLabel.SetParametersValue(xtreport, "发货数", txtcMemo.Text);

            //xtreport.DataSource = dataInventory.BomDetail;
            DataSet ds = new DataSet();

            using (var con = new SqlConnection(BaseStructure.WmsCon))
            {
                using (var cmd = new SqlCommand {
                    CommandType = CommandType.StoredProcedure, Connection = con
                })
                {
                    cmd.CommandText = "proc_Bomdetail";
                    cmd.CommandType = CommandType.StoredProcedure;
                    cmd.Parameters.AddWithValue("@BomID", bomID);
                    using (SqlDataAdapter dataAdapter = new SqlDataAdapter(cmd))
                    {
                        dataAdapter.Fill(ds);
                    }
                    cmd.Parameters.Clear();
                }
            }

            int count = 0;

            if (!int.TryParse(uneiQuantity.Value.ToString(), out count))
            {
                count = 0;
            }

            DataTable dt = null;

            if (ds != null && ds.Tables[0].Rows.Count > 0)
            {
                dt = ds.Tables[0].Clone();
                dt.Columns.Add("发货数", typeof(int));
                //DataTable dt = ds.Tables[0];
                var dtE = ds.Tables[0].AsEnumerable();
                foreach (DataRow dr in GetBomDetail())
                {
                    var iquantity = Convert.ToDecimal(dr["iQuantity"]) * count;
                    var drs       = dtE.Where(w => w.Field <string>("cInvCode") == dr["cInvCode"].ToString()).OrderBy(o => o.Field <string>("批次")).ToList();
                    //DataRow[] drs = dtE.Select(" cInvCode = '"+dr["cInvCode"].ToString()+"'").OrderBy("");
                    foreach (DataRow dr1 in drs)
                    {
                        if (iquantity >= 0)
                        {
                            var kc  = Convert.ToDecimal(dr1["库存"]);
                            var fhs = kc > iquantity ? iquantity : kc;
                            //假如库存大于发货数,直接当前库位发货,如果小于发货数,当前库位发完当前数,并到下一个库位发剩余数量
                            iquantity = kc >= iquantity ? -1 : iquantity - kc;
                            DataRow drNew = dt.NewRow();
                            drNew["AutoID"]    = dr1["AutoID"];
                            drNew["BomID"]     = dr1["BomID"];
                            drNew["cInvCode"]  = dr1["cInvCode"];
                            drNew["cInvName"]  = dr1["cInvName"];
                            drNew["iQuantity"] = dr1["iQuantity"];
                            drNew["cUnitID"]   = dr1["cUnitID"];
                            drNew["cUnitName"] = dr1["cUnitName"];
                            drNew["cInvStd"]   = dr1["cInvStd"];
                            drNew["cFullName"] = dr1["cFullName"];
                            drNew["cMemo"]     = dr1["cMemo"];
                            drNew["dAddTime"]  = dr1["dAddTime"];
                            drNew["cFitemID"]  = dr1["cFitemID"];
                            drNew["批次"]        = dr1["批次"];
                            drNew["库位"]        = dr1["库位"];
                            drNew["库存"]        = dr1["库存"];
                            drNew["发货数"]       = fhs;
                            dt.Rows.Add(drNew);
                        }
                    }
                }
            }
            xtreport.DataSource = dt;
            //模板赋值
            switch (operation)
            {
            case "print":
                xtreport.Print();
                break;

            case "design":
                xtreport.ShowDesigner();
                break;

            case "preview":
                xtreport.ShowPreview();
                break;
            }
        }