Пример #1
0
 private void biAddNew_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
 {
     DllWorkPrintLabel.ResetNull(ugbxMain);
     lblTitleMain.lblAutoID.Text        = "";
     lblTitleMain.lblcSerialNumber.Text = "";
     SetControlEnable();
 }
Пример #2
0
        private void WorkProPrintLabel_Load(object sender, EventArgs e)
        {
            GetRawMaterial();


            if (string.IsNullOrEmpty(_lid))
            {
                SetPanelVlaue("", "btnLast");
            }
            else
            {
                SetPanelVlaue(_lid);
            }

            lblTitleMain.btnFirst.Click += btnFirst_Click;
            lblTitleMain.btnNext.Click  += btnFirst_Click;
            lblTitleMain.btnPre.Click   += btnFirst_Click;
            lblTitleMain.btnLast.Click  += btnFirst_Click;

            DllWorkPrintLabel.GetTemplet("产成品标签", ref _cCaption, ref _cPrinter, ref _cTempletFileName);

            biEditPrinter.Caption = _cPrinter;
            biEditTemplet.Caption = _cCaption;

            //初始化表格功能控件
            tsgfMain.FormId   = Name.GetHashCode().ToString(CultureInfo.CurrentCulture);
            tsgfMain.FormName = Text;
            tsgfMain.Constr   = BaseStructure.WmsCon;
            tsgfMain.GetGridStyle(tsgfMain.FormId);
        }
Пример #3
0
        private void WorkTrackShiftOrder_Load(object sender, EventArgs e)
        {
            GetProduct();
            if (string.IsNullOrEmpty(_lid))
            {
                SetPanelVlaue("", "btnLast");
            }
            else
            {
                SetPanelVlaue(_lid);
            }

            lblTitleMain.btnFirst.Click += btnFirst_Click;
            lblTitleMain.btnNext.Click  += btnFirst_Click;
            lblTitleMain.btnPre.Click   += btnFirst_Click;
            lblTitleMain.btnLast.Click  += btnFirst_Click;

            DllWorkPrintLabel.GetTemplet("班次制单模板", ref _cCaption, ref _cPrinter, ref _cTempletFileName);

            DllWorkPrintLabel.GetTemplet("原料标签", ref _RmcCaption, ref _RmcPrinter, ref _RmcTempletFileName);

            biEditPrinter.Caption = _cPrinter;
            biEditTemplet.Caption = _cCaption;

            biRmTemplet.Caption = _RmcCaption;
            biRmPrinter.Caption = _RmcPrinter;

            rm_ProduceDetailTableAdapter.Connection.ConnectionString = Properties.Settings.Default.BCon;
            bomDetailTableAdapter.Connection.ConnectionString        = Properties.Settings.Default.BCon;
        }
Пример #4
0
        private void bbiPrint_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
            if (string.IsNullOrEmpty(txtcAddress.Text))
            {
                MessageBox.Show(@"地址必填", @"Warning", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
                return;
            }
            if (string.IsNullOrEmpty(txtcName.Text))
            {
                MessageBox.Show(@"收货人必填", @"Warning", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
                return;
            }
            if (string.IsNullOrEmpty(uneiNum.Value.ToString()))
            {
                MessageBox.Show(@"总件数必填", @"Warning", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
                return;
            }
            if (string.IsNullOrEmpty(biPrinter.Caption))
            {
                MessageBox.Show(@"打印机不正确", @"Warning", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
                return;
            }
            if (string.IsNullOrEmpty(biTemplet.Caption))
            {
                MessageBox.Show(@"模版不正确", @"Warning", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
                return;
            }
            int iNum;

            if (int.TryParse(uneiNum.Value.ToString(), out iNum))
            {
                DllWorkPrintLabel.ProTempBoxPrintCodeSoft(_cTempletFileName, _cPrinter, iNum, txtcAddress.Text,
                                                          txtcName.Text, txtcMemo.Text);
            }
        }
Пример #5
0
        private void biPrint_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
            uGridProBoxBarCode.UpdateData();
            var dt = new DataUseTableFormat().Bar_ProBox;

            foreach (var uRow in uGridProBoxBarCode.Rows.GetFilteredInNonGroupByRows())
            {
                if ((bool)uRow.Cells["bSelect"].Value)
                {
                    var dr = dt.NewBar_ProBoxRow();
                    dr.cSerialNumber  = uRow.Cells["cSerialNumber"].Value.ToString();
                    dr.cLotNo         = uRow.Cells["cLotNo"].Value.ToString();
                    dr.iQuantity      = uRow.Cells["iQuantity"].Value.ToString();
                    dr.dDate          = uRow.Cells["dDate"].Value.ToString();
                    dr.cInvCode       = uRow.Cells["cInvCode"].Value.ToString();
                    dr.cInvName       = uRow.Cells["cInvName"].Value.ToString();
                    dr.cInvPackStd    = uRow.Cells["cInvPackStd"].Value.ToString();
                    dr.cInvStd        = uRow.Cells["cInvStd"].Value.ToString();
                    dr.cInvPackStyle  = uRow.Cells["cInvPackStyle"].Value.ToString();
                    dr.cDefaultVendor = uRow.Cells["cDefaultVendor"].Value.ToString();
                    dr.cMassUnit      = uRow.Cells["cMassUnit"].Value.ToString();
                    dr.iMassDate      = uRow.Cells["iMassDate"].Value.ToString();
                    dr.cKeepRequire   = uRow.Cells["cKeepRequire"].Value.ToString();
                    dr.cProperty      = uRow.Cells["cProperty"].Value.ToString();
                    dr.cMemo          = uRow.Cells["cMemo"].Value.ToString();


                    dt.Rows.Add(dr);
                }
            }

            DllWorkPrintLabel.ProBoxPrintCodeSoft(dt, 1, _cTempletFileName, _cPrinter);
        }
Пример #6
0
        private void PrinterDone()
        {
            var strDate = DllWmsMain.GetPrintLog(_cGuid);

            if (!string.IsNullOrEmpty(strDate))
            {
                MessageBox.Show(@"已经打印过,不允许再打印! 打印时间:" + strDate, @"提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return;
            }
            var dt = GetPrintTable();

            if (dt.Rows.Count < 1)
            {
                return;
            }
            short iCopies = 1;

            if (beiCopies.EditValue == null)
            {
                iCopies = 1;
            }
            else if (!short.TryParse(beiCopies.EditValue.ToString(), out iCopies))
            {
                iCopies = 1;
            }
            DllWorkPrintLabel.Copies = iCopies;
            DllWorkPrintLabel.ProBoxPrintCodeSoft(dt, iCopies, _cTempletPath, _cPrinter);
        }
Пример #7
0
        private void PrinterDone()
        {
            var cBarCode = String.Format(@"SE*{0}*C*{1}*L*{2}", txtcInvCode.Text, lblTitleMain.lblcSerialNumber.Text, txtcLotNo.Text);
            var pList    = new List <List <string> >
            {
                new List <string> {
                    "cBarCode", cBarCode
                },
                new List <string> {
                    "cSerialNumber", lblTitleMain.lblcSerialNumber.Text
                },
                new List <string> {
                    "cLotNo", txtcLotNo.Text
                },
                new List <string> {
                    "iQuantity", uneiQuantity.Value == null ? "0" : uneiQuantity.Value.ToString()
                },
                new List <string> {
                    "dDate", dtpdDate.Value.ToShortDateString()
                },
                new List <string> {
                    "cInvCode", txtcInvCode.Text
                },
                new List <string> {
                    "cInvName", utecInvName.Text
                },
                new List <string> {
                    "cInvPackStd", txtcInvPackStd.Text
                },
                new List <string> {
                    "cDefaultSource", txtcDefaultSource.Text
                },
                new List <string> {
                    "cMassUnit", lblcMassUnit.Text
                },
                new List <string> {
                    "dMassDate", dtpdMassDate.Value.Date.ToString("yyyy-MM-dd")
                },
                new List <string> {
                    "cKeepRequire", txtcKeepRequire.Text
                },
                new List <string> {
                    "cProperty", ""
                },
                new List <string> {
                    "cMemo", txtcMemo.Text
                }
            };
            short iCopies = 1;

            if (beiCopies.EditValue == null)
            {
                iCopies = 1;
            }
            else if (!short.TryParse(beiCopies.EditValue.ToString(), out iCopies))
            {
                iCopies = 1;
            }
            DllWorkPrintLabel.RmPrintCodeSoft(iCopies, _cTempletFileName, _cPrinter, pList);
        }
Пример #8
0
        private void WorkTrackProductLabelPrint_Load(object sender, EventArgs e)
        {
            if (string.IsNullOrEmpty(_lid))
            {
                SetPanelVlaue("", "btnLast");
            }
            else
            {
                SetPanelVlaue(_lid);
            }

            lblTitleMain.btnFirst.Click += btnFirst_Click;
            lblTitleMain.btnNext.Click  += btnFirst_Click;
            lblTitleMain.btnPre.Click   += btnFirst_Click;
            lblTitleMain.btnLast.Click  += btnFirst_Click;

            DllWorkPrintLabel.GetTemplet("产成品标签", ref _cCaption, ref _cPrinter, ref _cTempletFileName);
            _cPrinter             = Properties.Settings.Default.localprinter;
            biEditPrinter.Caption = _cPrinter;
            biEditTemplet.Caption = _cCaption;

            //初始化表格功能控件
            tsgfMain.FormId   = Name.GetHashCode().ToString(CultureInfo.CurrentCulture);
            tsgfMain.FormName = Text;
            tsgfMain.Constr   = BaseStructure.WmsCon;
            tsgfMain.GetGridStyle(tsgfMain.FormId);

            productLabelTableAdapter.Connection.ConnectionString = Properties.Settings.Default.BCon;
            shiftDetailTableAdapter.Connection.ConnectionString  = Properties.Settings.Default.BCon;
            bomDetailTableAdapter.Connection.ConnectionString    = Properties.Settings.Default.BCon;
        }
Пример #9
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;
            }
        }
Пример #10
0
        private void WorkStockPlaceLabelPrint_Load(object sender, EventArgs e)
        {
            // TODO:  这行代码将数据加载到表“dataKis.t_StockPlace”中。您可以根据需要移动或删除它。
            t_StockPlaceTableAdapter.Connection.ConnectionString = Properties.Settings.Default.KisCon;
            t_StockPlaceTableAdapter.Fill(this.dataKis.t_StockPlace);

            DllWorkPrintLabel.GetTemplet("仓位标签", ref _cCaption, ref _cPrinter, ref _cTempletFileName);

            biEditPrinter.Caption = _cPrinter;
            biEditTemplet.Caption = _cCaption;
        }
Пример #11
0
        private void Rpt_ProPrintRecord_Load(object sender, EventArgs e)
        {
            pageListMain.Constr = BaseStructure.WmsCon;
            pageListMain.GetRecord();
            //初始化表格功能控件
            tsgfMain.FormId   = Name.GetHashCode().ToString(CultureInfo.CurrentCulture);
            tsgfMain.FormName = Text;
            tsgfMain.Constr   = BaseStructure.WmsCon;
            tsgfMain.GetGridStyle(tsgfMain.FormId);

            DllWorkPrintLabel.GetTemplet("产成品标签", ref _cCaption, ref _cPrinter, ref _cTempletFileName);
        }
Пример #12
0
        private void PrinterDone()
        {
            var strDate = DllWmsMain.GetPrintLog(_cGuid);

            if (!string.IsNullOrEmpty(strDate))
            {
                MessageBox.Show(@"已经打印过,不允许再打印! 打印时间:" + strDate, @"提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return;
            }
            var dt = GetPrintTable();

            DllWorkPrintLabel.ProPrintCodeSoft(dt, _cTempletFileName, _cPrinter);
        }
Пример #13
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;
            }
        }
Пример #14
0
        private void biPrint_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
            uGridProBarCode.UpdateData();
            var dt = new DataUseTableFormat().Bar_ProSerialRecord;

            foreach (var uRow in uGridProBarCode.Rows.GetFilteredInNonGroupByRows())
            {
                if ((bool)uRow.Cells["bSelect"].Value)
                {
                    var dr = dt.NewBar_ProSerialRecordRow();
                    dr.cSerialNumber = uRow.Cells["cSerialNumber"].Value.ToString();
                    dr.cInvCode      = uRow.Cells["cInvCode"].Value.ToString();
                    dr.cLotNo        = uRow.Cells["cLotNo"].Value.ToString();
                    dt.Rows.Add(dr);
                }
            }

            DllWorkPrintLabel.ProPrintCodeSoft(dt, _cTempletFileName, _cPrinter);
        }
Пример #15
0
        private bool PrinterDone()
        {
            var strUri = DllWorkPrintLabel.GetUri();

            if (string.IsNullOrEmpty(strUri))
            {
                MessageBox.Show(@"WMS配置Web端不正确", @"成功", MessageBoxButtons.OK, MessageBoxIcon.Information);
                return(false);
            }
            var dt = GetPrintTable();

            try
            {
                DllWorkPrintLabel.ProBoxPrintCodeSoft(dt, _cTempletFileName, _cPrinter, strUri);
                return(true);
            }
            catch (Exception)
            {
                return(false);
            }
        }
Пример #16
0
 private void WorkTempBox_Load(object sender, EventArgs e)
 {
     DllWorkPrintLabel.GetTemplet("件数标签", ref _cCaption, ref _cPrinter, ref _cTempletFileName);
     biPrinter.Caption = _cPrinter;
     biTemplet.Caption = _cCaption;
 }
Пример #17
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;
            }
        }
Пример #18
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;
            }
        }
Пример #19
0
        private void PrinterDone(string operation)
        {
            var cBarCode = String.Format(@"RM*{0}*C*{1}", txtcInvCode.Text, lblTitleMain.lblcSerialNumber.Text);
            var pList    = new List <List <string> >
            {
                new List <string> {
                    "cBarCode", cBarCode
                },
                new List <string> {
                    "cSerialNumber", lblTitleMain.lblcSerialNumber.Text
                },
                new List <string> {
                    "cLotNo", txtcLotNo.Text
                },
                new List <string> {
                    "iQuantity", uneiQuantity.Value == null ? "0" : uneiQuantity.Value.ToString()
                },
                new List <string> {
                    "dDate", dtpdDate.Value.ToShortDateString()
                },
                new List <string> {
                    "cInvCode", txtcInvCode.Text
                },
                new List <string> {
                    "cInvName", utecInvName.Text
                },
                new List <string> {
                    "cInvPackStd", txtcInvPackStd.Text
                },
                new List <string> {
                    "cInvStd", txtcInvStd.Text
                },
                new List <string> {
                    "cInvPackStyle", txtcInvPackStyle.Text
                },
                new List <string> {
                    "cVendor", txtcVendor.Text
                },
                new List <string> {
                    "cMassUnit", lblcMassUnit.Text
                },
                new List <string> {
                    "iMassDate", uneiMassDate.Value == null ? "0" : uneiMassDate.Value.ToString()
                },
                new List <string> {
                    "cKeepRequire", txtcKeepRequire.Text
                },
                new List <string> {
                    "cAddress", txtcAddress.Text
                },
                new List <string> {
                    "cProperty", ""
                },
                new List <string> {
                    "cMemo", txtcMemo.Text
                }
            };

            short iCopies = 1;

            //if (beiCopies.EditValue == null)
            //{
            //    iCopies = 1;
            //}
            //else if (!short.TryParse(beiCopies.EditValue.ToString(), out iCopies))
            //{
            //    iCopies = 1;
            //}
            DllWorkPrintLabel.RmPrintCodeSoft(iCopies, _cTempletFileName, _cPrinter, pList);
        }