private void DisplayReporteTraspaso()
        {
            try
            {
                var movimiento = Datos.GetListOf <MovimientoInventarioView>(m => m.MovimientoInventarioID.Equals(oID));
                var detalle    = Datos.GetListOf <MovimientoInventarioDetalleView>(d => d.MovimientoInventarioID.Equals(oID));

                IEnumerable <MovimientoInventarioView>        movimientoE = movimiento;
                IEnumerable <MovimientoInventarioDetalleView> detalleE    = detalle;

                using (FastReport.Report report = new FastReport.Report())
                {
                    if (detalle.Count < 10)
                    {
                        report.Load(string.Format("{0}{1}", GlobalClass.ConfiguracionGlobal.pathReportes, "ReporteTraspaso.frx"));
                    }
                    else
                    {
                        report.Load(string.Format("{0}{1}", GlobalClass.ConfiguracionGlobal.pathReportes, "ReporteTraspasosMasDeDiez.frx"));
                    }

                    report.RegisterData(movimientoE, "movimiento", 3);
                    report.RegisterData(detalleE, "detalle", 3);
                    report.GetDataSource("movimiento").Enabled = true;
                    report.GetDataSource("detalle").Enabled    = true;
                    report.Show(true);
                }
            }
            catch (Exception ex)
            {
                Util.MensajeError(ex.Message, GlobalClass.NombreApp);
            }
        }
Example #2
0
        private void button1_Click(object sender, EventArgs e)
        {
            report1 = new FastReport.Report();
            report1.Load(Path.Combine(@"AltAltaVeriYazma.frx"));


            var kisi     = new Kisi();
            var kisiList = kisi.getKisiList();

            foreach (var data in kisiList)
            {
                var rowadaparsel = dataSet1.Tables["Kisi"].NewRow();

                rowadaparsel["No"]    = data.No;
                rowadaparsel["Ad"]    = data.Ad;
                rowadaparsel["Soyad"] = data.Soyad;
                rowadaparsel["TC"]    = data.TC;
                dataSet1.Tables["Kisi"].Rows.Add(rowadaparsel);
            }

            report1.RegisterData(dataSet1.Tables["Kisi"], "Kisi");
            report1.GetDataSource("Kisi").Enabled = true;
            (report1.Report.FindObject("Data1") as FastReport.DataBand).DataSource = report1.GetDataSource("Kisi");

            report1.Show();
        }
        private void DisplayReporteDevolucion()
        {
            try
            {
                var movimiento = Datos.GetListOf <MovimientoInventarioView>(m => m.MovimientoInventarioID.Equals(oID));
                var detalle    = Datos.GetListOf <MovimientoInventarioDetalleView>(d => d.MovimientoInventarioID.Equals(oID));

                IEnumerable <MovimientoInventarioView>        movimientoE = movimiento;
                IEnumerable <MovimientoInventarioDetalleView> detalleE    = detalle;

                using (FastReport.Report report = new FastReport.Report())
                {
                    report.Load(string.Format("{0}{1}", GlobalClass.ConfiguracionGlobal.pathReportes, "ReporteSalidaDevolucion.frx"));
                    report.RegisterData(movimientoE, "movimiento", 3);
                    report.RegisterData(detalleE, "detalle", 3);
                    report.GetDataSource("movimiento").Enabled = true;
                    report.GetDataSource("detalle").Enabled    = true;
                    //report.Show(true);
                    UtilLocal.EnviarReporteASalida("Reportes.DevolucionAProveedor.Salida", report);
                }
            }
            catch (Exception ex)
            {
                Util.MensajeError(ex.Message, GlobalClass.NombreApp);
            }
        }
Example #4
0
        private void toolPrint_Click(object sender, EventArgs e)
        {
            if (!string.IsNullOrEmpty(taskid))
            {
                DataSet ds = new DataSet();

                DataTable dtPrint = new SqlServerHelper().GetDataTable("View_GroupInfo", "taskid='" + taskid + "'", "");

                dtPrint.TableName = "用户报装申请表";
                ds.Tables.Add(dtPrint.Copy());
                FastReport.Report report1 = new FastReport.Report();
                try
                {
                    // load the existing report
                    report1.Load(Application.StartupPath + @"\PRINTModel\业扩模板\多用户报装申请表.frx");
                    // register the dataset
                    report1.RegisterData(ds);
                    report1.GetDataSource("用户报装申请表").Enabled = true;
                    // run the report
                    report1.Show();
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
                finally
                {
                    // free resources used by report
                    report1.Dispose();
                }
            }
        }
Example #5
0
        private void btnImprimir_Click(object sender, EventArgs e)
        {
            try
            {
                if (this.dgvDatos.DataSource == null)
                {
                    return;
                }

                BindingSource bs = (BindingSource)this.dgvDatos.DataSource;
                DataTable     dt = (DataTable)bs.DataSource;

                using (FastReport.Report report = new FastReport.Report())
                {
                    report.Load(string.Format("{0}{1}", GlobalClass.ConfiguracionGlobal.pathReportes, "ReportePartesClasificacionAbc.frx"));
                    report.RegisterData(dt, "PartesClasificacionAbc");
                    report.GetDataSource("PartesClasificacionAbc").Enabled = true;
                    report.Show(true);
                }
            }
            catch (Exception ex)
            {
                Util.MensajeError(ex.Message, GlobalClass.NombreApp);
            }
        }
 private void btn_storage_Click(object sender, EventArgs e)
 {
     try
     {
         FastReport.Report report1 = new FastReport.Report();
         report1.Load("2.frx");
         DataTable dt = new DataTable();
         DataSet   ds = new DataSet();
         dt.Columns.Add("物品名");
         dt.Columns.Add("物品数量");
         dt.Columns.Add("物品代码");
         dt.Columns.Add("物品备注");
         dt.Columns.Add("物品价格");
         dt.Columns.Add("物品类型");
         dt.Columns.Add("物品体积");
         dt.Columns.Add("物品重量");
         dt.Columns.Add("仓库名称");
         dt.Columns.Add("客户名称");
         dt.Columns.Add("物品规格");
         dt.Columns.Add("入库方式");
         dt.Columns.Add("生产日期");
         dt.Columns.Add("到期日期");
         dt.Columns.Add("批号");
         dt.Columns.Add("清单备注");
         dt.Columns.Add("操作人员");
         dt.Rows.Add();
         dt.Rows[0][0]  = gm.Goods_name;
         dt.Rows[0][1]  = bm.Goods_amount;
         dt.Rows[0][2]  = gm.Goods_code;
         dt.Rows[0][3]  = gm.Goods_note;
         dt.Rows[0][4]  = bm.Goods_price;
         dt.Rows[0][5]  = gtm.Goods_type;
         dt.Rows[0][6]  = gm.Goods_volume;
         dt.Rows[0][7]  = gm.Goods_wight;
         dt.Rows[0][8]  = wnm.Warehouse_name;
         dt.Rows[0][9]  = cm.Client_name;
         dt.Rows[0][10] = gm.Specifications;
         dt.Rows[0][11] = otm.Operation_type;
         dt.Rows[0][12] = bm.Expiration_date;
         dt.Rows[0][13] = bm.Manufacture_date;
         dt.Rows[0][14] = bm.Lot_number;
         dt.Rows[0][15] = bm.Bill_note;
         dt.Rows[0][16] = mm.Manager_name;
         ds.Tables.Add(dt);
         dt.TableName = "putreport";
         report1.RegisterData(ds);
         report1.GetDataSource("putreport").Enabled = true;
         report1.Show();
         //report1.Design();
         //report1.Prepare();
         //report1.ShowPrepared();
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message);
     }
 }
        /// <summary>
        /// FastReports
        /// </summary>
        /// <param name="isDesign"></param>
        private void FastReports(bool isDesign)
        {
            System.Data.DataSet printDataDs = new System.Data.DataSet();
            try
            {
                int[]   rownumber = this.gridViewMainData.GetSelectedRows();
                DataRow row       = this.gridViewMainData.GetDataRow(rownumber[0]);
                System.Data.DataTable mainData    = ToDataTable(row);
                System.Data.DataTable detailsData = ((DataView)this.gridViewDetailsData.DataSource).ToTable();
                if (mainData != null && mainData.Rows.Count > 0)
                {
                    mainData.TableName = "mainData";
                    printDataDs.Tables.Add(mainData.Copy());
                }
                if (detailsData != null && detailsData.Rows.Count > 0)
                {
                    detailsData.TableName = "detailsData";
                    printDataDs.Tables.Add(detailsData.Copy());
                }
                FastReport.Report report = new FastReport.Report();
                Res.LocaleFolder = AppDomain.CurrentDomain.BaseDirectory + "FastReports\\Localization";
                Res.LoadLocale(Res.LocaleFolder + @"\Chinese (Simplified).frl");
                string FDataTables = "FDataTables";
                string filename    = @"FastReports\Reports\fx_001.frx";
                report.Load(filename);

                using (Designer designer = new Designer())
                {
                    designer.SetModified(this, "EditData");
                    int i = 0;
                    foreach (DataTable dt in printDataDs.Tables)
                    {
                        FDataTables = "FDataTables" + i.ToString();
                        printDataDs.Tables[i].TableName = FDataTables;
                        report.RegisterData(printDataDs.Tables[i], FDataTables);
                        report.GetDataSource(FDataTables).Enabled = true;
                        i = i + 1;
                    }
                    Res.LocaleFolder = AppDomain.CurrentDomain.BaseDirectory + "FastReports\\Localization";
                    Res.LoadLocale(Res.LocaleFolder + @"\Chinese (Simplified).frl");
                    if (isDesign)
                    {
                        report.Design();
                    }
                    else
                    {
                        report.SetParameterValue("time", DateTime.Now.Date.ToString("yyyy-MM-dd"));
                        report.Prepare();
                        report.ShowPrepared();
                    }
                }
            }
            catch (Exception err)
            {
                MessageBox.Show(err.Message);
            }
        }
Example #8
0
        public static void PrintCredit(CreditViewModel model, ServiceClient repository)
        {
            ReportDataSet dsRep = new ReportDataSet();

            ReportDataSet.CreditDTRow dsCreditDtRowRow = dsRep.CreditDT.NewCreditDTRow();
            dsCreditDtRowRow.Fio       = model.UserName;
            dsCreditDtRowRow.Data      = model.DataStart;
            dsCreditDtRowRow.SummaFull = model.SummaFull.ToString();
            dsCreditDtRowRow.Stavka    = model.Stavka.ToString();
            dsCreditDtRowRow.TermMonth = model.TermMonth.ToString();
            dsCreditDtRowRow.IdCredit  = model.Id.ToString();

            dsRep.CreditDT.Rows.Add(dsCreditDtRowRow);

            List <Payment> payments = repository.GetPaymentsByIdCredit(model.Id).ToList();

            foreach (var item in payments)
            {
                ReportDataSet.PaymentDTRow dsPaymentDtRow = dsRep.PaymentDT.NewPaymentDTRow();
                dsPaymentDtRow.IdCredit    = model.Id.ToString();
                dsPaymentDtRow.NumberMonth = item.NumberMonth.ToString();
                dsPaymentDtRow.Data        = item.Data;
                dsPaymentDtRow.LostSumma   = item.LostSumma.ToString();
                dsPaymentDtRow.MainPay     = item.MainPay.ToString();
                dsPaymentDtRow.Percent     = item.Percent.ToString();
                dsPaymentDtRow.SummaMonth  = item.SummaMonth.ToString();
                dsRep.PaymentDT.Rows.Add(dsPaymentDtRow);
            }

            using (FastReport.Report report = new FastReport.Report())
            {
                report.StoreInResources = true;
                report.Load("Report\\CreditReport.frx");

                report.RegisterData((DataTable)dsRep.CreditDT, "CreditInfoList");
                report.GetDataSource("CreditInfoList").Enabled = true;
                report.RegisterData((DataTable)dsRep.PaymentDT, "PaymentList");
                report.GetDataSource("PaymentList").Enabled = true;
                //report.Design();
                report.Show();
            }
        }
        private void DisplayReporteEtiquetas()
        {
            try
            {
                var movimientoEtiquetas = Datos.GetListOf <MovimientoInventarioEtiquetasView>(l => l.MovimientoInventarioID.Equals(oID));
                var listaEtiquetas      = new List <Etiquetas>();

                var cont = 0;
                foreach (var etiqueta in movimientoEtiquetas)
                {
                    for (var x = 0; x < etiqueta.NumeroEtiquetas; x++)
                    {
                        cont += 1;

                        var e = new Etiquetas()
                        {
                            MovimientoInventarioEtiquetaID = cont,
                            MovimientoInventarioID         = oID,
                            ParteID         = etiqueta.ParteID,
                            sParteID        = etiqueta.ParteID.ToString("D8"),
                            NumeroParte     = etiqueta.NumeroParte,
                            CodigoBarra     = etiqueta.CodigoBarra,
                            NumeroEtiquetas = 1,
                            NombreParte     = etiqueta.NombreParte
                                              //NombreParte = etiqueta.ParteID.ToString("D8")
                        };
                        listaEtiquetas.Add(e);
                    }
                }

                // Se obtiene el folio de la factura, para mandarlo al reporte
                var oMov = Datos.GetEntity <MovimientoInventario>(c => c.MovimientoInventarioID == oID);

                IEnumerable <Etiquetas> detalleE = listaEtiquetas;
                using (FastReport.Report report = new FastReport.Report())
                {
                    report.Load(string.Format("{0}{1}", GlobalClass.ConfiguracionGlobal.pathReportes, "ReporteEtiquetas.frx"));
                    report.RegisterData(detalleE, "etiquetas", 3);
                    report.SetParameterValue("FolioFactura", oMov.FolioFactura);
                    report.GetDataSource("etiquetas").Enabled = true;
                    report.Show(true);
                    //report.Design(true);
                }
            }
            catch (Exception ex)
            {
                Util.MensajeError(ex.Message, GlobalClass.NombreApp);
            }
        }
Example #10
0
        private void button1_Click(object sender, EventArgs e)
        {
            string  sql      = "select * from fastReportForPrint where frxName='frxa.frx'";
            DataSet dsa      = getDataSet(sql);
            DataSet FDataSet = new DataSet();

            if (dsa.Tables[0].Rows.Count > 0)
            {
                sql      = dsa.Tables[0].Rows[0]["sqlStr"].ToString() + " where id=1";
                FDataSet = getDataSet(sql);
                FastReport.Report report1 = new FastReport.Report();
                try
                {
                    // load the existing report
                    report1.Load(dsa.Tables[0].Rows[0]["frxName"].ToString());
                    // register the dataset
                    report1.RegisterData(FDataSet);
                    report1.GetDataSource(dsa.Tables[0].Rows[0]["fromTable"].ToString()).Enabled = true;
                    // run the report
                    report1.Show();
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
                finally
                {
                    // free resources used by report
                    report1.Dispose();
                }
            }

            //DataTable table = new DataTable();
            //table.TableName = "S_User";
            //FDataSet.Tables.Add(table);
            //table.Columns.Add("Name", typeof(string));
            //table.Columns.Add("Pwd", typeof(string));
            //table.Rows.Add("管理员", "19A2854144B63A8F7617A6F225019B12");
            //table.Rows.Add("超级管理员", "EBEC10142B9FC9E4E67B0CFD347E23E6");
        }
Example #11
0
 /// <summary>
 /// 入库单生成报表
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void btn_print_Click(object sender, EventArgs e)
 {
     try
     {
         FastReport.Report report1 = new FastReport.Report();
         report1.Load("1.frx");
         DataTable tb = new DataTable();
         tb           = ds.Tables[0];
         tb.TableName = "putreport";
         ds.Tables.Clear();
         ds.Tables.Add(tb);
         report1.RegisterData(ds);
         report1.GetDataSource("putreport").Enabled = true;
         report1.Show();
         //report1.Design();
         //report1.Prepare();
         //report1.ShowPrepared();
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message);
     }
 }
Example #12
0
        private void button2_Click(object sender, EventArgs e)
        {
            Cargando.Mostrar();
            var etiquetas = new List <Etiquetas>();

            foreach (DataGridViewRow item in this.dgvExistencias.Rows)
            {
                int     pID    = Util.Entero(item.Cells["ParteID"].Value);
                var     oParte = Datos.GetEntity <Parte>(c => c.ParteID == pID);
                decimal test   = (decimal)item.Cells["Existencia"].Value;
                for (var x = 0; x < (decimal)item.Cells["Existencia"].Value; x++)
                {
                    var etiqueta = new Etiquetas()
                    {
                        ParteID         = pID,
                        NumeroParte     = oParte.NumeroParte,
                        sParteID        = oParte.ParteID.ToString("D8"),
                        NombreParte     = oParte.NombreParte,
                        CodigoBarra     = oParte.CodigoBarra,
                        NumeroEtiquetas = Convert.ToInt32(Math.Round(test, 0))
                    };
                    etiquetas.Add(etiqueta);
                }
            }
            Cargando.Cerrar();
            IEnumerable <Etiquetas> detalleE = etiquetas;

            using (FastReport.Report report = new FastReport.Report())
            {
                report.Load(string.Format("{0}{1}", GlobalClass.ConfiguracionGlobal.pathReportes, "ReporteEtiquetas.frx"));
                report.RegisterData(detalleE, "etiquetas", 3);
                report.SetParameterValue("FolioFactura", 0);
                report.GetDataSource("etiquetas").Enabled = true;
                report.Show(true);
                //report.Design(true);
            }
        }
Example #13
0
        private void btnImprimirTicket_Click(object sender, EventArgs e)
        {
            if (!EsNuevo && oParte != null)
            {
                int copias = 0;
                var frmCantidad = new MensajeObtenerValor("Número de etiquetas", "1", MensajeObtenerValor.Tipo.Entero);
                if (frmCantidad.ShowDialog(Principal.Instance) == DialogResult.OK)
                {
                    copias = Util.Entero(frmCantidad.Valor);
                }
                frmCantidad.Dispose();

                if (copias > 0)
                {
                    var etiquetas = new List<Etiquetas>();
                    for (int x = 0; x < copias; x++)
                    {
                        var etiqueta = new Etiquetas()
                        {
                            ParteID = oParte.ParteID,
                            NumeroParte = oParte.NumeroParte,
                            NombreParte = oParte.NombreParte,
                            CodigoBarra = oParte.CodigoBarra,
                            NumeroEtiquetas = copias
                        };
                        etiquetas.Add(etiqueta);
                    }

                    IEnumerable<Etiquetas> listaEtiquetas = etiquetas;
                    using (FastReport.Report report = new FastReport.Report())
                    {
                        report.Load(string.Format("{0}{1}", GlobalClass.ConfiguracionGlobal.pathReportes, "ReporteEtiquetas.frx"));
                        report.RegisterData(etiquetas, "etiquetas", 3);
                        report.GetDataSource("etiquetas").Enabled = true;
                        // report.FindObject("Text1").Delete();
                        // report.Show(true);
                        UtilLocal.EnviarReporteASalida("Reportes.Partes.Etiqueta", report);
                    }
                }
            }
        }
Example #14
0
        private void DisplayReporteEntradaCompra()
        {
            try
            {
                var movimiento = Datos.GetListOf <MovimientoInventarioView>(m => m.MovimientoInventarioID.Equals(oID));
                var detalle    = Datos.GetListOf <MovimientoInventarioDetalleView>(d => d.MovimientoInventarioID.Equals(oID));

                var detalleDescuentosGen       = new List <MovimientoInventarioDescuentoView>();
                var detalleDescuentosGenerales = Datos.GetListOf <MovimientoInventarioDescuentoView>(m => m.MovimientoInventarioID.Equals(oID) &&
                                                                                                     (m.TipoDescuentoID.Equals(1) || m.TipoDescuentoID.Equals(4) || m.TipoDescuentoID.Equals(2) || m.TipoDescuentoID.Equals(5)));

                bool uno    = false;
                bool cuatro = false;
                bool dos    = false;
                bool cinco  = false;
                foreach (var descuentoGen in detalleDescuentosGenerales)
                {
                    if (descuentoGen.TipoDescuentoID.Equals(1) && uno.Equals(false))
                    {
                        uno = true;
                        detalleDescuentosGen.Add(descuentoGen);
                    }
                    if (descuentoGen.TipoDescuentoID.Equals(4) && cuatro.Equals(false))
                    {
                        cuatro = true;
                        detalleDescuentosGen.Add(descuentoGen);
                    }
                    if (descuentoGen.TipoDescuentoID.Equals(2) && dos.Equals(false))
                    {
                        dos = true;
                        detalleDescuentosGen.Add(descuentoGen);
                    }
                    if (descuentoGen.TipoDescuentoID.Equals(5) && cinco.Equals(false))
                    {
                        cinco = true;
                        detalleDescuentosGen.Add(descuentoGen);
                    }
                }

                var detalleDescuentosInd = Datos.GetListOf <MovimientoInventarioDescuentoView>(m => m.MovimientoInventarioID.Equals(oID) &&
                                                                                               m.TipoDescuentoID.Equals(3));

                foreach (var descuentoGen in detalleDescuentosInd)
                {
                    detalleDescuentosGen.Add(descuentoGen);
                }

                IEnumerable <MovimientoInventarioView>          movimientoE   = movimiento;
                IEnumerable <MovimientoInventarioDetalleView>   detalleE      = detalle;
                IEnumerable <MovimientoInventarioDescuentoView> descuentosGen = detalleDescuentosGen;
                //IEnumerable<MovimientoInventarioDescuentoView> descuentosInd = detalleDescuentosInd;

                using (FastReport.Report report = new FastReport.Report())
                {
                    report.Load(string.Format("{0}{1}", GlobalClass.ConfiguracionGlobal.pathReportes, "ReporteEntradaCompra.frx"));
                    report.RegisterData(movimientoE, "movimiento", 3);
                    report.RegisterData(detalleE, "detalle", 3);
                    report.RegisterData(descuentosGen, "descuentosGenerales", 3);
                    //report.RegisterData(descuentosInd, "descuentosIndividuales", 3);
                    report.GetDataSource("movimiento").Enabled          = true;
                    report.GetDataSource("detalle").Enabled             = true;
                    report.GetDataSource("descuentosGenerales").Enabled = true;
                    //report.GetDataSource("descuentosIndividuales").Enabled = true;
                    report.Show(true);
                }
            }
            catch (Exception ex)
            {
                Util.MensajeError(ex.Message, GlobalClass.NombreApp);
            }
        }
        private void bgWork_DoWork(object sender, DoWorkEventArgs e)
        {
            try
            {
                labProgress.Text = "进度:0/0";
                int intAllCount = dtUserList.Rows.Count;
                prb.Minimum = 0;
                prb.Maximum = intAllCount;
                prb.Value   = 0;
                //btCharge.Enabled = false;

                //获取连打起始号及终止号
                int intStartRow = 0, intEndRow = dgWaterUser.Rows.Count;
                if (!Information.IsNumeric(txtStartRow.Text))
                {
                    mes.Show("请输入连打起始行号!");
                    txtStartRow.Focus();
                    return;
                }
                else
                {
                    if (Convert.ToInt32(txtStartRow.Text) < 1)
                    {
                        mes.Show("连打起始行号不能小于1!");
                        txtStartRow.Focus();
                        return;
                    }
                    intStartRow = Convert.ToInt32(txtStartRow.Text);
                }
                if (Information.IsNumeric(txtEndRow.Text))
                {
                    if (Convert.ToInt32(txtStartRow.Text) > Convert.ToInt32(txtEndRow.Text))
                    {
                        mes.Show("连打起始行号不能大于终止行号!");
                        txtEndRow.Focus();
                        return;
                    }
                    if (Convert.ToInt32(txtEndRow.Text) < dgWaterUser.Rows.Count)
                    {
                        intEndRow = Convert.ToInt32(txtEndRow.Text);
                    }
                }
                //int intRowNumber=1;
                //if(Information.IsNumeric(txtStartRow.Text))
                //    intRowNumber=Convert.ToInt32(txtStartRow.Text);

                string strMaxInformNO = txtInformNO.Text.PadLeft(8, '0');
                for (int i = intStartRow - 1; i < intEndRow; i++)
                {
                    if (bgWork.CancellationPending)
                    {
                        e.Cancel = true;
                        break;
                    }
                    string strWaterUserName = "", strWaterUserID = "", strWaterUserAddress = "", strMeterReader = "", strMeterReaderTel = "";

                    object objWaterUserID = dgWaterUser.Rows[i].Cells["waterUserId"].Value;
                    if (objWaterUserID != null && objWaterUserID != DBNull.Value)
                    {
                        strWaterUserID = objWaterUserID.ToString();
                        object objWaterUserName = dgWaterUser.Rows[i].Cells["waterUserName"].Value;
                        if (objWaterUserName != null && objWaterUserName != DBNull.Value)
                        {
                            strWaterUserName = objWaterUserName.ToString();
                        }
                        object objWaterUserAddress = dgWaterUser.Rows[i].Cells["waterUserAddress"].Value;
                        if (objWaterUserAddress != null && objWaterUserAddress != DBNull.Value)
                        {
                            strWaterUserAddress = objWaterUserAddress.ToString();
                        }
                        object objMeterReader = dgWaterUser.Rows[i].Cells["meterReaderID"].Value;
                        if (objMeterReader != null && objMeterReader != DBNull.Value)
                        {
                            DataRow[] dr = dtMeterReader.Select("loginId='" + objMeterReader.ToString() + "'");
                            if (dr.Length > 0)
                            {
                                objMeterReader = dr[0]["userName"];
                                if (objMeterReader != null && objMeterReader != DBNull.Value)
                                {
                                    strMeterReader = objMeterReader.ToString();
                                }
                                objMeterReader = dr[0]["telePhoneNO"];
                                if (objMeterReader != null && objMeterReader != DBNull.Value)
                                {
                                    strMeterReaderTel = objMeterReader.ToString();
                                }
                            }
                        }

                        //获取用户余额
                        decimal decWaterUserPrestore = 0, decToltalFee = 0, decArearage = 0;
                        object  objWaterUserPreStore = BLLwaterUser.GetPrestore(" AND WATERUSERID='" + strWaterUserID + "'");
                        if (Information.IsNumeric(objWaterUserPreStore))
                        {
                            decWaterUserPrestore = Convert.ToDecimal(objWaterUserPreStore);
                        }

                        //获取用户水表欠费信息
                        string    strFilter  = " AND totalChargeEND>0 AND waterUserId='" + objWaterUserID.ToString() + "' AND chargeState=1 ORDER BY readMeterRecordYear,readMeterRecordMonth";
                        DataTable dtYSDetail = BLLreadMeterRecord.QueryYSDetailByWaterMeter(strFilter);

                        object objSumArearage = dtYSDetail.Compute("SUM(totalCharge)", "");
                        if (Information.IsNumeric(objSumArearage))
                        {
                            decToltalFee = Convert.ToDecimal(objSumArearage);
                        }
                        decArearage = decWaterUserPrestore - decToltalFee;

                        DataTable dtReadMeterRecord = BLLreadMeterRecord.Query(" AND waterUserId='" + objWaterUserID.ToString() + "' AND DATEDIFF(MONTH,readMeterRecordYearAndMonth,'" + dtpMonthSearch.Value + "')=0");

                        decimal decJianXian = 0;
                        if (Information.IsNumeric(labCondition.Text))
                        {
                            decJianXian = Convert.ToDecimal(labCondition.Text);
                        }
                        #region 打印通知单
                        DataSet   ds             = new DataSet();
                        DataTable dtYSDetailTemp = dtReadMeterRecord.Copy();
                        dtYSDetailTemp.TableName = "水费通知单模板";
                        ds.Tables.Add(dtYSDetailTemp);
                        FastReport.Report report1 = new FastReport.Report();
                        try
                        {
                            // load the existing report
                            report1.Load(Application.StartupPath + @"\PRINTModel\收据模板\水费通知单模板.frx");

                            (report1.FindObject("CellWaterUserName") as FastReport.Table.TableCell).Text    = strWaterUserName;
                            (report1.FindObject("CellWaterUserNO") as FastReport.Table.TableCell).Text      = strWaterUserID;
                            (report1.FindObject("CellWaterUserAddress") as FastReport.Table.TableCell).Text = strWaterUserAddress;
                            (report1.FindObject("txtQQYE") as FastReport.TextObject).Text =
                                "前期余额:" + decWaterUserPrestore.ToString("F2") + "     水费合计:" + decToltalFee.ToString("F2");

                            (report1.FindObject("txtQFHJ") as FastReport.TextObject).Text = "用户余额:      " + decArearage.ToString("F2");

                            (report1.FindObject("txtMeterReader") as FastReport.TextObject).Text    = strMeterReader;
                            (report1.FindObject("txtMeterReaderTel") as FastReport.TextObject).Text = strMeterReaderTel;

                            if (decJianXian == 0)
                            {
                                if (decArearage < 0)
                                {
                                    (report1.FindObject("txtTip") as FastReport.TextObject).Text = "您已欠费,请及时交纳水费";
                                }
                            }
                            else
                            if (decArearage >= 0 && decArearage <= decJianXian)
                            {
                                (report1.FindObject("txtTip") as FastReport.TextObject).Text = "您的余额已不足,请您及时交费";
                            }
                            else if (decArearage < 0)
                            {
                                (report1.FindObject("txtTip") as FastReport.TextObject).Text = "您已欠费,请您及时交纳水费";
                            }

                            (report1.FindObject("txtReceiptNO") as FastReport.TextObject).Text = "NO." + strMaxInformNO;

                            // register the dataset
                            report1.RegisterData(ds);
                            report1.GetDataSource("水费通知单模板").Enabled = true;
                            //report1.Show();
                            report1.PrintSettings.ShowDialog = false;
                            report1.Prepare();
                            report1.Print();

                            try
                            {
                                for (int j = 0; j < dtReadMeterRecord.Rows.Count; j++)
                                {
                                    object objID = dtReadMeterRecord.Rows[j]["readMeterRecordId"];
                                    if (objID != null && objID != DBNull.Value)
                                    {
                                        MODELreadMeterRecord MODELreadMeterRecord = new MODELreadMeterRecord();

                                        MODELreadMeterRecord.WATERUSERQQYEINFORM = decWaterUserPrestore;
                                        MODELreadMeterRecord.WATERUSERJSYEINFORM = decArearage;
                                        MODELreadMeterRecord.INFORMNO            = strMaxInformNO;
                                        MODELreadMeterRecord.INFORMPRINTSIGN     = "1";
                                        MODELreadMeterRecord.PRINTWORKERID       = strLogID;
                                        MODELreadMeterRecord.PRINTWORKERNAME     = strUserName;
                                        MODELreadMeterRecord.readMeterRecordId   = objID.ToString();

                                        if (!BLLreadMeterRecord.UpdateInformPrintSign(MODELreadMeterRecord))
                                        {
                                            mes.Show("更新用户'" + strWaterUserID + "-" + strWaterUserName + "'的通知单失打印标志失败,请重打通知单!");
                                            return;
                                        }
                                    }
                                }
                            }
                            catch (Exception ex)
                            {
                                mes.Show("更新用户'" + strWaterUserID + "-" + strWaterUserName + "'的通知单失打印标志失败,原因:" + ex.Message);
                                log.Write(ex.ToString(), MsgType.Error);
                                return;
                            }
                            strMaxInformNO = (Convert.ToInt32(strMaxInformNO) + 1).ToString().PadLeft(8, '0');
                        }
                        catch (Exception exx)
                        {
                            mes.Show(exx.Message);
                            log.Write(exx.ToString(), MsgType.Error);
                            return;
                        }
                        finally
                        {
                            // free resources used by report
                            report1.Dispose();
                        }
                        #endregion
                    }
                    else
                    {
                        mes.Show("第" + (i + 1).ToString() + "行用户ID为空,无法获取金额,请查询后重试!");
                        return;
                    }
                    prb.Value        = i + 1;
                    labProgress.Text = "进度:" + (i + 1) + "/" + intAllCount;
                }
                txtInformNO.Text = strMaxInformNO;
            }
            catch (Exception ex)
            {
                mes.Show(ex.Message);
                log.Write(ex.ToString(), MsgType.Error);
            }
        }
Example #16
0
        private void Btn_Print_Click(object sender, EventArgs e)
        {
            if (!Information.IsNumeric(TB_RECEIPTNO.Text))
            {
                MessageBox.Show("收据号只能由数字组成,请输入正确的收据号!");
                TB_RECEIPTNO.Focus();
                return;
            }
            TB_RECEIPTNO.Text = TB_RECEIPTNO.Text.PadLeft(8, '0');
            if (labIsFinal.Text == "预算收费")
            {
                #region 打印预算收据
                if (dtFeeList.Rows.Count == 0)
                {
                    mes.Show("预算费用明细表为空,请重新打开窗体!");
                    return;
                }
                //====================================打印
                DataSet   ds     = new DataSet();
                DataTable dtTemp = dtFeeList.Copy();
                dtTemp.TableName = "收据模板";
                ds.Tables.Add(dtTemp);
                FastReport.Report report1 = new FastReport.Report();

                try
                {
                    string strCapMoney = RMBToCapMoney.CmycurD(decSum_IsFinal0);//金额大写

                    // load the existing report
                    report1.Load(Application.StartupPath + @"\PRINTModel\业扩模板\业扩预算收据模板.frx");

                    (report1.FindObject("txtReceiptNO") as FastReport.TextObject).Text        = "NO." + TB_RECEIPTNO.Text;
                    (report1.FindObject("txtWaterUserNO") as FastReport.TextObject).Text      = "用 户 号:" + waterUserId.Text;
                    (report1.FindObject("txtSD") as FastReport.TextObject).Text               = "受理编号:" + SD.Text;
                    (report1.FindObject("txtWaterUserName") as FastReport.TextObject).Text    = "用户名称:" + waterUserName.Text;
                    (report1.FindObject("txtWaterUserAddress") as FastReport.TextObject).Text = "地    址:" + waterUserAddress.Text;

                    (report1.FindObject("txtCapMoney") as FastReport.TextObject).Text = "金额大写:" + strCapMoney;
                    (report1.FindObject("txtCasher") as FastReport.TextObject).Text   = "收 款 员:" + CHARGEWORKERNAME.Text;

                    (report1.FindObject("txtReceiptNO1") as FastReport.TextObject).Text        = "NO." + TB_RECEIPTNO.Text;
                    (report1.FindObject("txtWaterUserNO1") as FastReport.TextObject).Text      = "用 户 号:" + waterUserId.Text;
                    (report1.FindObject("txtSD1") as FastReport.TextObject).Text               = "受理编号:" + SD.Text;
                    (report1.FindObject("txtWaterUserName1") as FastReport.TextObject).Text    = "用户名称:" + waterUserName.Text;
                    (report1.FindObject("txtWaterUserAddress1") as FastReport.TextObject).Text = "地    址:" + waterUserAddress.Text;

                    (report1.FindObject("txtCapMoney1") as FastReport.TextObject).Text = "金额大写:" + strCapMoney;
                    (report1.FindObject("txtCasher1") as FastReport.TextObject).Text   = "收 款 员:" + CHARGEWORKERNAME.Text;

                    // register the dataset
                    report1.RegisterData(ds);
                    report1.GetDataSource("收据模板").Enabled = true;
                    //report1.Show();
                    report1.PrintSettings.ShowDialog = false;
                    report1.Prepare();
                    report1.Print();
                }
                catch (Exception ex)
                {
                    mes.Show("收据打印失败:" + ex.Message);
                }

                //更新预算收据号
                string strSQL = string.Format(@"UPDATE Meter_Charge SET RECEIPTPRINTCOUNT=1,ReceiptPrintSign='1',ReceiptPrintTime=GETDATE(),
RECEIPTNO='{1}' WHERE CHARGEID IN (SELECT CHARGEID FROM View_TaskFee WHERE TaskID='{0}' AND IsFinal='1')", TaskID, TB_RECEIPTNO.Text);
                int    count  = new SqlServerHelper().ExcuteSql(strSQL);
                if (count == 0)
                {
                    mes.Show("更新收据单号失败!");
                }
                #endregion
            }
            else
            {
                #region 打印决算收据
                try
                {
                    decimal decBCSS = 0;
                    if (Information.IsNumeric(CHARGEBCSS.Text))
                    {
                        decBCSS = Convert.ToDecimal(CHARGEBCSS.Text);
                    }

                    string strCapMoney = RMBToCapMoney.CmycurD(decBCSS);//金额大写

                    FastReport.Report report1 = new FastReport.Report();
                    // load the existing report
                    report1.Load(Application.StartupPath + @"\PRINTModel\业扩模板\业扩决算收据模板.frx");

                    (report1.FindObject("txtReceiptNO") as FastReport.TextObject).Text        = "NO." + TB_RECEIPTNO.Text;
                    (report1.FindObject("txtWaterUserNO") as FastReport.TextObject).Text      = "用 户 号:" + waterUserId.Text;
                    (report1.FindObject("txtSD") as FastReport.TextObject).Text               = "受理编号:" + SD.Text;
                    (report1.FindObject("txtWaterUserName") as FastReport.TextObject).Text    = "用户名称:" + waterUserName.Text;
                    (report1.FindObject("txtWaterUserAddress") as FastReport.TextObject).Text = "地    址:" + waterUserAddress.Text;

                    if (!CHARGETYPENAME.Text.Equals("现金"))
                    {
                        (report1.FindObject("txtRunningNO") as FastReport.TextObject).Text = "交易流水号:" + POSRUNNINGNO.Text;
                    }
                    else
                    {
                        (report1.FindObject("txtRunningNO") as FastReport.TextObject).Text = "";
                    }

                    (report1.FindObject("txtCapMoney") as FastReport.TextObject).Text = "金额大写:" + strCapMoney;
                    (report1.FindObject("txtCasher") as FastReport.TextObject).Text   = "收 款 员:" + CHARGEWORKERNAME.Text;
                    if (decBCSS < 0)
                    {
                        (report1.FindObject("txtWaterUserSign") as FastReport.TextObject).Text = "用户签字:";
                        (report1.FindObject("txtBCSS") as FastReport.TextObject).Text          = "本次退款:" + decBCSS.ToString("F2") + "元";
                    }
                    else
                    {
                        (report1.FindObject("txtWaterUserSign") as FastReport.TextObject).Text = "";
                        (report1.FindObject("txtBCSS") as FastReport.TextObject).Text          = "本次实收:" + decBCSS.ToString("F2") + "元";
                    }

                    (report1.FindObject("txtReceiptNO1") as FastReport.TextObject).Text        = "NO." + TB_RECEIPTNO.Text;
                    (report1.FindObject("txtWaterUserNO1") as FastReport.TextObject).Text      = "用 户 号:" + waterUserId.Text;
                    (report1.FindObject("txtSD1") as FastReport.TextObject).Text               = "受理编号:" + SD.Text;
                    (report1.FindObject("txtWaterUserName1") as FastReport.TextObject).Text    = "用户名称:" + waterUserName.Text;
                    (report1.FindObject("txtWaterUserAddress1") as FastReport.TextObject).Text = "地    址:" + waterUserAddress.Text;

                    if (!CHARGETYPENAME.Text.Equals("现金"))
                    {
                        (report1.FindObject("txtRunningNO1") as FastReport.TextObject).Text = "交易流水号:" + POSRUNNINGNO.Text;
                    }
                    else
                    {
                        (report1.FindObject("txtRunningNO1") as FastReport.TextObject).Text = "";
                    }
                    (report1.FindObject("txtCapMoney1") as FastReport.TextObject).Text = "金额大写:" + strCapMoney;
                    (report1.FindObject("txtCasher1") as FastReport.TextObject).Text   = "收 款 员:" + CHARGEWORKERNAME.Text;
                    if (decBCSS < 0)
                    {
                        (report1.FindObject("txtWaterUserSign1") as FastReport.TextObject).Text = "用户签字:";
                        (report1.FindObject("txtBCSS1") as FastReport.TextObject).Text          = "本次退款:" + decBCSS.ToString("F2") + "元";
                    }
                    else
                    {
                        (report1.FindObject("txtWaterUserSign1") as FastReport.TextObject).Text = "";
                        (report1.FindObject("txtBCSS1") as FastReport.TextObject).Text          = "本次实收:" + decBCSS.ToString("F2") + "元";
                    }

                    //report1.Show();
                    report1.PrintSettings.ShowDialog = false;
                    report1.Prepare();
                    report1.Print();
                }
                catch (Exception ex)
                {
                    MessageBox.Show("收据打印失败:" + ex.Message);
                }
                #endregion

                //更新预算收据号
                string strSQL = string.Format(@"UPDATE Meter_Charge SET RECEIPTPRINTCOUNT=1,ReceiptPrintSign='1',ReceiptPrintTime=GETDATE(),
RECEIPTNO='{1}' WHERE CHARGEID='{0}'", _ChargeID, TB_RECEIPTNO.Text);
                int    count  = new SqlServerHelper().ExcuteSql(strSQL);
                if (count == 0)
                {
                    mes.Show("更新收据单号失败!");
                }
            }
            if (Information.IsNumeric(TB_RECEIPTNO.Text))
            {
                TB_RECEIPTNO.Text = (Convert.ToInt32(TB_RECEIPTNO.Text) + 1).ToString().PadLeft(8, '0');
            }
            else
            {
                TB_RECEIPTNO.Text = "00000001";
            }
        }
Example #17
0
        public static void getReport(string SQL, string AliasName, string FolderName, string FileName)
        {
            FastReport.Report report = new FastReport.Report();
            try
            {
                if (Function.FTPDownload(@"C:\Report/" + FolderName, FolderName, FileName))
                {
                    DataTable dt = Services.Database.ExecuteQuery(SQL).Tables[0];

                    report.RegisterData(dt, AliasName);
                    report.GetDataSource(AliasName).Enabled = true;
                    report.Load(@"C:\Report/" + FolderName + "/" + FileName);
                    report.Show();
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("Дараахи алдаа гарлаа. " + ex.Message.ToString(), "Алдаа", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            finally
            {
                report.Dispose();
            }
        }
Example #18
0
        private void DisplayReporteEtiquetas()
        {
            try
            {
                var movimientoEtiquetas = Datos.GetListOf<MovimientoInventarioEtiquetasView>(l => l.MovimientoInventarioID.Equals(oID));
                var listaEtiquetas = new List<Etiquetas>();

                var cont = 0;
                foreach (var etiqueta in movimientoEtiquetas)
                {
                    for (var x = 0; x < etiqueta.NumeroEtiquetas; x++)
                    {
                        cont += 1;
                        var e = new Etiquetas()
                        {
                            MovimientoInventarioEtiquetaID = cont,
                            MovimientoInventarioID = oID,
                            ParteID = etiqueta.ParteID,
                            NumeroParte = etiqueta.NumeroParte,
                            CodigoBarra = etiqueta.CodigoBarra,
                            NumeroEtiquetas = 1,
                            NombreParte = etiqueta.NombreParte
                        };
                        listaEtiquetas.Add(e);
                    }
                }

                // Se obtiene el folio de la factura, para mandarlo al reporte
                var oMov = Datos.GetEntity<MovimientoInventario>(c => c.MovimientoInventarioID == oID);

                IEnumerable<Etiquetas> detalleE = listaEtiquetas;
                using (FastReport.Report report = new FastReport.Report())
                {
                    report.Load(string.Format("{0}{1}", GlobalClass.ConfiguracionGlobal.pathReportes, "ReporteEtiquetas.frx"));
                    report.RegisterData(detalleE, "etiquetas", 3);
                    report.SetParameterValue("FolioFactura", oMov.FolioFactura);
                    report.GetDataSource("etiquetas").Enabled = true;
                    report.Show(true);
                    //report.Design(true);
                }

            }
            catch (Exception ex)
            {
                Util.MensajeError(ex.Message, GlobalClass.NombreApp);
            }
        }
Example #19
0
        private void DisplayReporteTraspaso()
        {
            try
            {
                var movimiento = Datos.GetListOf<MovimientoInventarioView>(m => m.MovimientoInventarioID.Equals(oID));
                var detalle = Datos.GetListOf<MovimientoInventarioDetalleView>(d => d.MovimientoInventarioID.Equals(oID));

                IEnumerable<MovimientoInventarioView> movimientoE = movimiento;
                IEnumerable<MovimientoInventarioDetalleView> detalleE = detalle;

                using (FastReport.Report report = new FastReport.Report())
                {
                    if (detalle.Count < 10)
                        report.Load(string.Format("{0}{1}", GlobalClass.ConfiguracionGlobal.pathReportes, "ReporteTraspaso.frx"));
                    else
                        report.Load(string.Format("{0}{1}", GlobalClass.ConfiguracionGlobal.pathReportes, "ReporteTraspasosMasDeDiez.frx"));

                    report.RegisterData(movimientoE, "movimiento", 3);
                    report.RegisterData(detalleE, "detalle", 3);
                    report.GetDataSource("movimiento").Enabled = true;
                    report.GetDataSource("detalle").Enabled = true;
                    report.Show(true);
                }
            }
            catch (Exception ex)
            {
                Util.MensajeError(ex.Message, GlobalClass.NombreApp);
            }
        }
Example #20
0
        private void DisplayReporteEntradaCompra()
        {
            try
            {
                var movimiento = Datos.GetListOf<MovimientoInventarioView>(m => m.MovimientoInventarioID.Equals(oID));
                var detalle = Datos.GetListOf<MovimientoInventarioDetalleView>(d => d.MovimientoInventarioID.Equals(oID));

                var detalleDescuentosGen = new List<MovimientoInventarioDescuentoView>();
                var detalleDescuentosGenerales = Datos.GetListOf<MovimientoInventarioDescuentoView>(m => m.MovimientoInventarioID.Equals(oID)
                    && (m.TipoDescuentoID.Equals(1) || m.TipoDescuentoID.Equals(4) || m.TipoDescuentoID.Equals(2) || m.TipoDescuentoID.Equals(5)));

                bool uno = false;
                bool cuatro = false;
                bool dos = false;
                bool cinco = false;
                foreach (var descuentoGen in detalleDescuentosGenerales)
                {
                    if (descuentoGen.TipoDescuentoID.Equals(1) && uno.Equals(false))
                    {
                        uno = true;
                        detalleDescuentosGen.Add(descuentoGen);
                    }
                    if (descuentoGen.TipoDescuentoID.Equals(4) && cuatro.Equals(false))
                    {
                        cuatro = true;
                        detalleDescuentosGen.Add(descuentoGen);
                    }
                    if (descuentoGen.TipoDescuentoID.Equals(2) && dos.Equals(false))
                    {
                        dos = true;
                        detalleDescuentosGen.Add(descuentoGen);
                    }
                    if (descuentoGen.TipoDescuentoID.Equals(5) && cinco.Equals(false))
                    {
                        cinco = true;
                        detalleDescuentosGen.Add(descuentoGen);
                    }
                }

                var detalleDescuentosInd = Datos.GetListOf<MovimientoInventarioDescuentoView>(m => m.MovimientoInventarioID.Equals(oID)
                    && m.TipoDescuentoID.Equals(3));

                foreach (var descuentoGen in detalleDescuentosInd)
                {
                    detalleDescuentosGen.Add(descuentoGen);
                }

                IEnumerable<MovimientoInventarioView> movimientoE = movimiento;
                IEnumerable<MovimientoInventarioDetalleView> detalleE = detalle;
                IEnumerable<MovimientoInventarioDescuentoView> descuentosGen = detalleDescuentosGen;
                //IEnumerable<MovimientoInventarioDescuentoView> descuentosInd = detalleDescuentosInd;

                using (FastReport.Report report = new FastReport.Report())
                {
                    report.Load(string.Format("{0}{1}", GlobalClass.ConfiguracionGlobal.pathReportes, "ReporteEntradaCompra.frx"));
                    report.RegisterData(movimientoE, "movimiento", 3);
                    report.RegisterData(detalleE, "detalle", 3);
                    report.RegisterData(descuentosGen, "descuentosGenerales", 3);
                    //report.RegisterData(descuentosInd, "descuentosIndividuales", 3);
                    report.GetDataSource("movimiento").Enabled = true;
                    report.GetDataSource("detalle").Enabled = true;
                    report.GetDataSource("descuentosGenerales").Enabled = true;
                    //report.GetDataSource("descuentosIndividuales").Enabled = true;
                    report.Show(true);
                }

            }
            catch (Exception ex)
            {
                Util.MensajeError(ex.Message, GlobalClass.NombreApp);
            }
        }
Example #21
0
        private void DisplayReporteDevolucion()
        {
            try
            {
                var movimiento = Datos.GetListOf<MovimientoInventarioView>(m => m.MovimientoInventarioID.Equals(oID));
                var detalle = Datos.GetListOf<MovimientoInventarioDetalleView>(d => d.MovimientoInventarioID.Equals(oID));

                IEnumerable<MovimientoInventarioView> movimientoE = movimiento;
                IEnumerable<MovimientoInventarioDetalleView> detalleE = detalle;

                using (FastReport.Report report = new FastReport.Report())
                {
                    report.Load(string.Format("{0}{1}", GlobalClass.ConfiguracionGlobal.pathReportes, "ReporteSalidaDevolucion.frx"));
                    report.RegisterData(movimientoE, "movimiento", 3);
                    report.RegisterData(detalleE, "detalle", 3);
                    report.GetDataSource("movimiento").Enabled = true;
                    report.GetDataSource("detalle").Enabled = true;
                    //report.Show(true);
                    UtilLocal.EnviarReporteASalida("Reportes.DevolucionAProveedor.Salida", report);
                }
            }
            catch (Exception ex)
            {
                Util.MensajeError(ex.Message, GlobalClass.NombreApp);
            }
        }
Example #22
0
        private void btnProcesar_Click(object sender, EventArgs e)
        {
            try
            {
                this.tabPedidos.SelectedIndex = 0; ;
                if (this.dgvProveedores.CurrentRow == null)
                {
                    Util.MensajeError("Debe seleccionar a un Proveedor.", GlobalClass.NombreApp);
                    return;
                }

                // Se valida que haya al menos una parte seleccionada
                bool bError = true;
                foreach (DataGridViewRow oFila in this.dgvSugeridos.Rows)
                {
                    if (Util.Logico(oFila.Cells["sug_Sel"].Value))
                    {
                        bError = false;
                        break;
                    }
                }
                // if (this.dgvSugeridos.DataSource == null)
                if (bError)
                {
                    Util.MensajeError("Debe seleccionar al menos un número de parte.", GlobalClass.NombreApp);
                    return;
                }

                var proveedorId = Util.Entero(this.dgvProveedores.CurrentRow.Cells["pro_ProveedorID"].Value);
                var proveedor = Datos.GetEntity<Proveedor>(p => p.ProveedorID == proveedorId);
                if (proveedor != null)
                {
                    var msj = string.Format("{0} {1} {2}", "¿Está seguro de que la información del Pedido es correcta?", "Para el Proveedor:", proveedor.NombreProveedor);
                    var res = Util.MensajePregunta(msj, GlobalClass.NombreApp);
                    if (res == DialogResult.No)
                        return;
                }
                else
                {
                    Util.MensajeError("Proveedor Inválido.", GlobalClass.NombreApp);
                    return;
                }

                this.Cursor = Cursors.WaitCursor;
                SplashScreen.Show(new Splash());
                this.btnProcesar.Enabled = false;

                var pedido = new Pedido()
                {
                    ProveedorID = proveedorId,
                    ImporteTotal = Util.Decimal(this.txtImporteTotal.Text.SoloNumeric()),
                    PedidoEstatusID = 2
                };

                Datos.Guardar<Pedido>(pedido);

                if (pedido.PedidoID <= 0)
                {
                    this.Cursor = Cursors.Default;
                    SplashScreen.Close();
                    Util.MensajeError("Ocurrio un error al guardar el Pedido.", GlobalClass.NombreApp);
                    this.btnProcesar.Enabled = true;
                    return;
                }

                // DataTable dt = new DataTable();
                // BindingSource bs = (BindingSource)this.dgvSugeridos.DataSource;

                //Validación, debe estar seleccionado y el pedido debe ser mayor a 0
                /* if (!string.IsNullOrEmpty(bs.Filter))
                {
                    DataView dv = (DataView)bs.List;
                    dt = dv.ToTable().AsEnumerable().Where(x => x.Field<Boolean>("Sel") && x.Field<decimal>("Pedido") > 0).CopyToDataTable();
                } */

                foreach (DataGridViewRow oFila in this.dgvSugeridos.Rows)
                {
                    if (!oFila.Visible) continue;

                    int iParteID = Util.Entero(oFila.Cells["sug_ParteID"].Value);

                    // Se verifica si no se debe pedir por existencia en equivalentes
                    var oNoPedir = Datos.GetEntity<ParteCaracteristicaTemporal>(c => c.ParteID == iParteID
                        && c.Caracteristica == Cat.CaracTempPartes.NoPedidosPorEquivalentes);
                    if (Util.Cadena(oFila.Cells["sug_Caracteristica"].Value) == "NP")
                    {
                        if (oNoPedir == null)
                        {
                            oNoPedir = new ParteCaracteristicaTemporal()
                            {
                                ParteID = iParteID,
                                Caracteristica = Cat.CaracTempPartes.NoPedidosPorEquivalentes
                            };
                            Datos.Guardar<ParteCaracteristicaTemporal>(oNoPedir);
                        }
                    }
                    else
                    {
                        if (oNoPedir != null)
                            Datos.Eliminar<ParteCaracteristicaTemporal>(oNoPedir);
                    }

                    // Se verifica si está marcado o tiene pedidos para procesar, si no, se salta
                    if (!Util.Logico(oFila.Cells["sug_Sel"].Value) || Util.Decimal(oFila.Cells["sug_Pedido"].Value) <= 0)
                        continue;

                    if (Util.Entero(oFila.Cells["sug_ProveedorID"].Value) != proveedorId)
                    {
                        this.Cursor = Cursors.Default;
                        SplashScreen.Close();
                        var msj = string.Format("{0} {1} {2} {3}", "El número de Parte:", Util.Cadena(oFila.Cells["sug_NumeroDeParte"].Value)
                            , "No está asignado al Proveedor:", proveedor.NombreProveedor);
                        Util.MensajeError(msj, GlobalClass.NombreApp);
                        this.btnProcesar.Enabled = true;
                        return;
                    }

                    //
                    var detallePedido = new PedidoDetalle()
                    {
                        PedidoID = pedido.PedidoID,
                        ParteID = iParteID,
                        CantidadPedido = Util.Decimal(oFila.Cells["sug_Pedido"].Value),
                        CostosUnitario = Util.Decimal(oFila.Cells["sug_CostoConDescuento"].Value),
                        PedidoEstatusID = 2
                    };
                    Datos.Guardar<PedidoDetalle>(detallePedido);

                    // Se marca como pedido si es 9500
                    if (Util.Cadena(oFila.Cells["sug_Caracteristica"].Value) == "9500")
                    {
                        var o9500 = Datos.GetListOf<Cotizacion9500Detalle>(c => c.ParteID == iParteID && !c.Pedido && c.Estatus);
                        foreach (var oReg in o9500)
                        {
                            oReg.Pedido = true;
                            Datos.Guardar<Cotizacion9500Detalle>(oReg);
                        }
                    }

                    // Se marca como pedido en reporte de faltante, si aplica
                    if (Util.Cadena(oFila.Cells["sug_Caracteristica"].Value) == "RF")
                    {
                        var oFaltantes = Datos.GetListOf<ReporteDeFaltante>(c => c.ParteID == iParteID && !c.Pedido && c.Estatus);
                        foreach (var oReg in oFaltantes)
                        {
                            oReg.Pedido = true;
                            Datos.Guardar<ReporteDeFaltante>(oReg);
                        }
                    }
                }

                var ped = Datos.GetListOf<PedidosView>(p => p.PedidoID.Equals(pedido.PedidoID));
                var detalle = Datos.GetListOf<PedidosDetalleView>(p => p.PedidoID.Equals(pedido.PedidoID));

                IEnumerable<PedidosView> pedidoE = ped;
                IEnumerable<PedidosDetalleView> detalleE = detalle;

                using (FastReport.Report report = new FastReport.Report())
                {
                    report.Load(string.Format("{0}{1}", GlobalClass.ConfiguracionGlobal.pathReportes, "ReportePedidos.frx"));
                    report.RegisterData(pedidoE, "Pedido");
                    report.GetDataSource("Pedido").Enabled = true;
                    report.RegisterData(detalleE, "DetallePedido");
                    report.GetDataSource("DetallePedido").Enabled = true;
                    report.Show(true);
                }

                this.Cursor = Cursors.Default;
                this.LimpiarFormularioDos();
                SplashScreen.Close();
                this.btnProcesar.Enabled = true;
                new Notificacion("Pedido Guardado exitosamente", 2 * 1000).Mostrar(Principal.Instance);
            }
            catch (Exception ex)
            {
                this.Cursor = Cursors.Default;
                SplashScreen.Close();
                this.btnProcesar.Enabled = true;
                Util.MensajeError(ex.Message, GlobalClass.NombreApp);
            }
        }
Example #23
0
        private void toolPrint_Click(object sender, EventArgs e)
        {
            if (dtList.Rows.Count == 0)
            {
                toolPrint.Enabled        = false;
                toolPrintPreview.Enabled = false;
                return;
            }

            DataSet   ds           = new DataSet();
            DataTable dtRecordTemp = dtList.Clone();

            dtRecordTemp.Columns["收费月份"].DataType = typeof(string);
            foreach (DataRow dr in dtList.Rows)
            {
                dtRecordTemp.ImportRow(dr);
            }
            for (int i = 0; i < dtRecordTemp.Rows.Count; i++)
            {
                object obj = dtRecordTemp.Rows[i]["收费月份"];
                if (Information.IsDate(obj))
                {
                    dtRecordTemp.Rows[i]["收费月份"] = Convert.ToDateTime(obj).ToString("yyyy-MM");
                }
                //object objWaterMeterNO = dtRecord.Rows[i]["waterMeterNo"];
                //if (objWaterMeterNO != null && objWaterMeterNO != DBNull.Value)
                //    if (objWaterMeterNO.ToString().Length > 7)
                //        dtRecord.Rows[i]["waterMeterNo"] = objWaterMeterNO.ToString().Substring(6, 2);
            }

            dtRecordTemp.ImportRow(dtSum.Rows[0]);
            DataTable dtPrint = dtRecordTemp.Copy();

            dtPrint.TableName = "一户式查询模板";

            string strWaterUserID = "", strWaterUserName = "", strAddress = "";
            object objWaterUser = dtList.Rows[0]["用户编号"];

            if (objWaterUser != null && objWaterUser != DBNull.Value)
            {
                strWaterUserID = objWaterUser.ToString();
            }
            objWaterUser = dtList.Rows[0]["用户名称"];
            if (objWaterUser != null && objWaterUser != DBNull.Value)
            {
                strWaterUserName = objWaterUser.ToString();
            }
            objWaterUser = dtList.Rows[0]["地址"];
            if (objWaterUser != null && objWaterUser != DBNull.Value)
            {
                strAddress = objWaterUser.ToString();
            }

            ds.Tables.Add(dtPrint);
            FastReport.Report report1 = new FastReport.Report();
            try
            {
                // load the existing report
                report1.Load(Application.StartupPath + @"\PRINTModel\收据模板\一户式查询模板.frx");
                (report1.FindObject("txtWaterUser") as FastReport.TextObject).Text        = "用户编号:" + strWaterUserID + "       用户名称:" + strWaterUserName;
                (report1.FindObject("txtWaterUserAddress") as FastReport.TextObject).Text = "地    址:" + strAddress;
                // register the dataset
                report1.RegisterData(ds);
                report1.GetDataSource("一户式查询模板").Enabled = true;
                // run the report
                report1.Prepare();
                report1.PrintSettings.ShowDialog = false;
                report1.Print();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            finally
            {
                // free resources used by report
                report1.Dispose();
            }
        }
Example #24
0
        private void btCharge_Click(object sender, EventArgs e)
        {
            try
            {
                if (dgList.Rows.Count == 0)
                {
                    mes.Show("未找到预交水费的用户信息!");
                    return;
                }
                if (!Information.IsNumeric(txtBCYC.Text))
                {
                    return;
                }
                else
                if (Convert.ToDecimal(txtBCYC.Text) <= 0)
                {
                    mes.Show("预存金额不能为'0'");
                    txtBCYC.Focus();
                    return;
                }

                if (chkReceipt.Checked)
                {
                    if (txtReceiptNO.Text.Trim() == "")
                    {
                        mes.Show("收据号不能为空!");
                        return;
                    }
                }
                txtReceiptNO.Text = txtReceiptNO.Text.Trim().PadLeft(8, '0');

                //预存金额
                decimal decYCMoney = Convert.ToDecimal(txtBCYC.Text);

                for (int i = 0; i < dgList.SelectedRows.Count; i++)
                {
                    try
                    {
                        string strWaterUserID = "", strWaterUserNO = "", strWaterUserName = "", strWaterUserAddress = "",
                               strMeterReaderID = "", strMeterReaderName = "", strMeterReaderTel = "";

                        object objWaterUserID = dgList.SelectedRows[i].Cells["waterUserId"].Value;
                        if (objWaterUserID == null || objWaterUserID == DBNull.Value)
                        {
                            mes.Show("第'" + (i + 1).ToString() + "行用户ID获取失败,批量收费终止!");
                            return;
                        }
                        if ((decSumYuCun_YY + decYCMoney) > decSumYuCun_YK)
                        {
                            if (mes.ShowQ("检测到当前营业用户预存余额>业扩预存款,确定要继续吗?") != DialogResult.OK)
                            {
                                return;
                            }
                        }

                        #region 生成用户信息
                        strWaterUserID = objWaterUserID.ToString();
                        object objWaterUserMes = dgList.SelectedRows[i].Cells["waterUserNO"].Value;
                        if (objWaterUserMes != null && objWaterUserMes != DBNull.Value)
                        {
                            strWaterUserNO = objWaterUserMes.ToString();
                        }

                        objWaterUserMes = dgList.SelectedRows[i].Cells["waterUserName"].Value;
                        if (objWaterUserMes != null && objWaterUserMes != DBNull.Value)
                        {
                            strWaterUserName = objWaterUserMes.ToString();
                        }

                        objWaterUserMes = dgList.SelectedRows[i].Cells["waterUserAddress"].Value;
                        if (objWaterUserMes != null && objWaterUserMes != DBNull.Value)
                        {
                            strWaterUserAddress = objWaterUserMes.ToString();
                        }

                        object objWaterUser = dgList.SelectedRows[i].Cells["METERREADERID"].Value;
                        if (objWaterUser != null && objWaterUser != DBNull.Value)
                        {
                            strMeterReaderID = objWaterUser.ToString();

                            DataRow[] drMeterReader     = dtMeterReader.Select("LOGINID='" + strMeterReaderID + "'");
                            object    objMeterReaderTel = drMeterReader[0]["TELEPHONENO"];
                            if (objMeterReaderTel != null && objMeterReaderTel != DBNull.Value)
                            {
                                strMeterReaderTel = objMeterReaderTel.ToString();
                            }
                        }

                        objWaterUser = dgList.SelectedRows[i].Cells["meterReaderName"].Value;
                        if (objWaterUser != null && objWaterUser != DBNull.Value)
                        {
                            strMeterReaderName = objWaterUser.ToString();
                        }
                        #endregion

                        //计算结算余额
                        decimal decQQYE = 0, decJSYE = 0;
                        object  objPrestore = dgList.SelectedRows[i].Cells["prestore"].Value;
                        if (Information.IsNumeric(objPrestore))
                        {
                            decQQYE = Convert.ToDecimal(objPrestore);
                        }

                        decJSYE = decQQYE + Convert.ToDecimal(txtBCYC.Text);

                        string CHARGEID = GETTABLEID.GetTableID(strLoginID, "WATERFEECHARGE");
                        string PRESTORERUNNINGACCOUNTID = GETTABLEID.GetTableID(strLoginID, "PRESTORERUNNINGACCOUNT");
                        string _chargeID = sysidal.GetNewChargeID(strLoginID);

                        string strSQL  = string.Format(@"BEGIN TRAN
DECLARE @prestore DECIMAL(18,0)=0
SELECT @prestore=prestore FROM Meter_Install_Group WHERE GROUPID='{0}'

INSERT INTO Meter_Charge (CHARGEID,TaskID,CHARGEBCSS,CHARGEBCYS,TOTALCHARGE,prestore,FeeList,
CHARGETYPEID,CHARGEClASS,CHARGEWORKERID,CHARGEWORKERNAME,CHARGEDATETIME,RECEIPTPRINTCOUNT,ReceiptPrintSign,RECEIPTNO,ReceiptPrintTime)  
VALUES('{1}','{2}',0-{3},0,0,@prestore-{3},'余额转营业','6','17','{4}','{5}',GETDATE(),1,'1','{7}',GETDATE())

UPDATE Meter_Install_Group SET prestore=@prestore-{3} WHERE GROUPID='{0}'

SELECT @prestore=prestore FROM waterUser WHERE waterUserId='{6}'

INSERT INTO WATERFEECHARGE (CHARGEID,CHARGETYPEID,CHARGEClASS,CHARGEBCYS,CHARGEBCSS,CHARGEYSQQYE,CHARGEYSBCSZ,CHARGEYSJSYE,CHARGEWORKERID,
CHARGEWORKERNAME,CHARGEDATETIME,RECEIPTPRINTCOUNT,RECEIPTNO) 
VALUES('{9}','6','17',0,{3},@prestore,{3},@prestore+{3},'{4}','{5}',GETDATE(),'1','{7}')

INSERT INTO PRESTORERUNNINGACCOUNT (PRESTORERUNNINGACCOUNTID,CHARGEID,WATERUSERID,WATERUSERNO,WATERUSERNAME,WATERUSERADDRESS,AREANO,PIANNO,
DUANNO,ORDERNUMBER,COMMUNITYID,COMMUNITYNAME,METERREADERID,METERREADERNAME,CHARGERID,CHARGERNAME,WATERUSERTYPEID,WATERUSERTYPENAME,
WATERMETERTYPEID,WATERMETERTYPEVALUE,WATERMETERTYPECLASSID,WATERMETERTYPECLASSNAME,WATERUSERHOUSETYPE,CREATETYPE,WATERUSERPHONE,BUILDINGNO,UNITNO)

SELECT '{8}','{9}', WATERUSERID,WATERUSERNO,WATERUSERNAME,WATERUSERADDRESS,AREANO,PIANNO,DUANNO,ORDERNUMBER,COMMUNITYID,COMMUNITYNAME,
METERREADERID,METERREADERNAME,CHARGERID,CHARGERNAME,WATERUSERTYPEID,WATERUSERTYPENAME,WATERMETERTYPEID,WATERMETERTYPEVALUE,WATERMETERTYPECLASSID,
WATERMETERTYPECLASSNAME,WATERUSERHOUSETYPE,CREATETYPE,waterUserTelphoneNO,BUILDINGNO,UNITNO FROM V_WATERUSER_CONNECTWATERMETER WHERE waterUserId='{6}'

UPDATE waterUser SET prestore=@prestore+{3} WHERE waterUserId='{6}'

COMMIT TRAN", strGroupID, _chargeID, strTaskID, decYCMoney, strLoginID, strLoginName, strWaterUserID, txtReceiptNO.Text, PRESTORERUNNINGACCOUNTID, CHARGEID);
                        int    intRows = SqlServerHelper.ExcuteSql(strSQL);
                        if (intRows > 0)
                        {
                            decSumYuCun_YY      = decSumYuCun_YY + decYCMoney;
                            labYuCunSum_YY.Text = decSumYuCun_YY.ToString() + "元";

                            decimal decUserArearage = 0, decWaterUserPrestore = 0;
                            object  objUserArearage = dgList.SelectedRows[i].Cells["USERAREARAGE"].Value;
                            if (Information.IsNumeric(objUserArearage))
                            {
                                decUserArearage = Convert.ToDecimal(objUserArearage);
                            }
                            object objUserPrestore = dgList.SelectedRows[i].Cells["prestore"].Value;
                            if (Information.IsNumeric(objUserPrestore))
                            {
                                decWaterUserPrestore = Convert.ToDecimal(objUserPrestore);
                            }
                            decWaterUserPrestore = decWaterUserPrestore + decYCMoney;
                            decUserArearage      = decUserArearage + decYCMoney;
                            dgList.SelectedRows[i].Cells["USERAREARAGE"].Value = decUserArearage.ToString("F2");
                            dgList.SelectedRows[i].Cells["prestore"].Value     = decWaterUserPrestore.ToString("F2");

                            //如果勾选了打收据,打印收据
                            if (chkReceipt.Checked)
                            {
                                //--打印收据
                                #region
                                FastReport.Report report1 = new FastReport.Report();
                                try
                                {
                                    DataTable dtLastRecord = BLLwaterUser.QuerySQL("SELECT TOP 1 readMeterRecordId,readMeterRecordYearAndMonth,waterMeterLastNumber," +
                                                                                   "(CASE chargeState WHEN 0  THEN waterMeterLastNumber " +
                                                                                   "ELSE waterMeterEndNumber END) AS waterMeterEndNumber " +
                                                                                   "FROM readMeterRecord " +
                                                                                   "WHERE WATERUSERID='" +
                                                                                   strWaterUserID + "' ORDER BY readMeterRecordYearAndMonth DESC,readMeterRecordDate DESC");
                                    DataTable dtTemp = dtLastRecord.Clone();
                                    dtTemp.Columns["readMeterRecordYearAndMonth"].DataType = typeof(string);
                                    if (dtLastRecord.Rows.Count > 0)
                                    {
                                        dtTemp.ImportRow(dtLastRecord.Rows[0]);
                                        object objReadMeterRecordYearAndMonth = dtTemp.Rows[0]["readMeterRecordYearAndMonth"];
                                        if (Information.IsDate(objReadMeterRecordYearAndMonth))
                                        {
                                            dtTemp.Rows[0]["readMeterRecordYearAndMonth"] = Convert.ToDateTime(objReadMeterRecordYearAndMonth).ToString("yyyy-MM");
                                        }
                                    }
                                    //DataTable dtTemp = dtLastRecord.Copy();
                                    DataSet ds = new DataSet();
                                    dtTemp.TableName = "营业坐收收据模板";
                                    ds.Tables.Add(dtTemp);
                                    // load the existing report
                                    report1.Load(Application.StartupPath + @"\PRINTModel\收据模板\预存收费收据模板.frx");

                                    (report1.FindObject("txtDateTime") as FastReport.TextObject).Text               = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
                                    (report1.FindObject("CellWaterUserNO") as FastReport.Table.TableCell).Text      = strWaterUserNO;
                                    (report1.FindObject("CellWaterUserName") as FastReport.Table.TableCell).Text    = strWaterUserName;
                                    (report1.FindObject("CellWaterUserAddress") as FastReport.Table.TableCell).Text = strWaterUserAddress;

                                    (report1.FindObject("txtQQYE") as FastReport.TextObject).Text = "前期余额: " + decQQYE.ToString("F2");
                                    string strBCSS = decYCMoney.ToString("F2");
                                    (report1.FindObject("txtBCJF") as FastReport.TextObject).Text             = "本次预存:         " + strBCSS;
                                    (report1.FindObject("txtJSYE") as FastReport.TextObject).Text             = "结算余额: " + decJSYE.ToString("F2");
                                    (report1.FindObject("txtChargeWorkerName") as FastReport.TextObject).Text = strLoginName;
                                    (report1.FindObject("txtReceiptNO") as FastReport.TextObject).Text        = "NO." + txtReceiptNO.Text;

                                    (report1.FindObject("txtMeterReader") as FastReport.TextObject).Text    = strMeterReaderName;
                                    (report1.FindObject("txtMeterReaderTel") as FastReport.TextObject).Text = strMeterReaderTel;

                                    string strCapMoney = RMBToCapMoney.CmycurD(strBCSS);
                                    (report1.FindObject("txtCapMoney") as FastReport.TextObject).Text = "金额大写:" + strCapMoney;

                                    // register the dataset
                                    report1.RegisterData(ds);
                                    report1.GetDataSource("营业坐收收据模板").Enabled = true;
                                    report1.PrintSettings.ShowDialog          = false;
                                    report1.Prepare();
                                    report1.Print();

                                    //获取新的收据号码,8位收据号
                                    if (Information.IsNumeric(txtReceiptNO.Text))
                                    {
                                        txtReceiptNO.Text = (Convert.ToInt64(txtReceiptNO.Text) + 1).ToString().PadLeft(8, '0');
                                    }
                                }
                                catch (Exception exx)
                                {
                                    MessageBox.Show(exx.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                                    return;
                                }
                                finally
                                {
                                    // free resources used by report
                                    report1.Dispose();
                                }
                                #endregion
                            }
                        }
                    }
                    catch (Exception ex)
                    {
                        mes.Show("预收失败!原因:" + ex.Message);
                        log.Write(ex.ToString(), MsgType.Error);
                        return;
                    }
                }
                btCharge.Enabled = false;
            }
            catch (Exception ex)
            {
                mes.Show(ex.Message);
                log.Write(ex.ToString(), MsgType.Error);
                return;
            }
        }
        public HttpResponseMessage PostReport(JObject JsonRequest)
        {
            int    status = 0;
            string error  = "";

            try
            {
                String className  = "FastReport." + JsonRequest["ClassName"].ToString();
                string rootPath   = System.Environment.CurrentDirectory;
                string outputPath = Path.Combine(rootPath, "output.pdf");
                //FastReport.Report report = new FastReport.Report();
                //string filename = @"C:\Users\lipan\Desktop\report3.frx";
                //report.Load(filename);
                FastReport.Report report = (FastReport.Report)Activator.CreateInstance(System.Type.GetType(className));
                DataSet           data   = new DataSet();
                DataTable         table  = new DataTable();
                int num = 0;
                foreach (var item in JsonRequest)
                {
                    if (item.Key.StartsWith("ClassName"))
                    {
                        continue;
                    }
                    if (item.Key.StartsWith("Signature"))
                    {
                        DataTable dt = new DataTable();
                        dt.TableName = item.Key;
                        dt.Columns.Add(item.Key, typeof(byte[]));
                        WebClient wc = new WebClient();
                        byte[]    bytes;
                        if (item.Value.ToString() == "")
                        {
                            //此处留空时处理;
                            bytes = wc.DownloadData(Path.Combine(rootPath, "EmptySignature.PNG"));
                        }
                        else
                        {
                            bytes = wc.DownloadData(item.Value.ToString());
                        }
                        MemoryStream msIMG = new MemoryStream(bytes);
                        Image        img   = System.Drawing.Image.FromStream(msIMG);
                        //Image img = Image.FromFile(folderPath + item.Key + ".PNG");
                        DataRow      row = dt.NewRow();
                        MemoryStream ms  = new MemoryStream();
                        img.Save(ms, System.Drawing.Imaging.ImageFormat.Gif);
                        row[item.Key] = ms.ToArray();
                        dt.Rows.Add(row);
                        data.Tables.Add(dt);
                        continue;
                    }
                    table           = CSVHelper.ConvertJsonToDatatable(JsonRequest.ToString(), num);
                    table.TableName = item.Key;
                    data.Tables.Add(table);
                    num++;
                }
                report.RegisterData(data);
                int tableNum = data.Tables.Count;
                for (int i = 0; i < tableNum; i++)
                {
                    report.GetDataSource(data.Tables[i].TableName).Enabled = true;
                }
                report.Prepare();
                FastReport.Export.Pdf.PDFExport export = new FastReport.Export.Pdf.PDFExport();
                report.Export(export, outputPath);
                System.Diagnostics.Process.Start(outputPath);
            }
            catch (Exception e)
            {
                status = -1;
                error  = e.ToString();
            }

            String returnValue = JsonConvert.SerializeObject(new
            {
                status = status.ToString(), error = error
            });

            return(ResultToJson.toJson(returnValue));
        }
        private void btReceiptPrint_Click(object sender, EventArgs e)
        {
            //获取连打起始号及终止号
            int intStartRow = 0, intEndRow = dgList.Rows.Count - 1;

            if (!Information.IsNumeric(txtStartRow.Text))
            {
                mes.Show("请输入连打起始行号!");
                txtStartRow.Focus();
                return;
            }
            else
            {
                if (Convert.ToInt32(txtStartRow.Text) < 1)
                {
                    mes.Show("连打起始行号不能小于1!");
                    txtStartRow.Focus();
                    return;
                }
                intStartRow = Convert.ToInt32(txtStartRow.Text);
            }
            if (Information.IsNumeric(txtEndRow.Text))
            {
                if (Convert.ToInt32(txtStartRow.Text) > Convert.ToInt32(txtEndRow.Text))
                {
                    mes.Show("连打起始行号不能大于终止行号!");
                    txtEndRow.Focus();
                    return;
                }
                if (Convert.ToInt32(txtEndRow.Text) < dgList.Rows.Count)
                {
                    intEndRow = Convert.ToInt32(txtEndRow.Text);
                }
            }
            if (mes.ShowQ("确定要打印第 " + intStartRow.ToString() + " 至第 " + intEndRow.ToString() + " 行的通知单信息吗?") != DialogResult.OK)
            {
                return;
            }

            for (int i = intStartRow - 1; i < intEndRow; i++)
            {
                //获取抄表记录ID
                string strreadMeterRecordId = "";

                //存储结算余额,如果结算余额大于0,打印模板则隐藏欠费提醒,否则显示欠费提醒。
                decimal decJSJE = 0;

                string strWaterUserID = "";
                object objWaterUserID = dtUserList.Rows[i]["waterUserId"];
                if (objWaterUserID != null && objWaterUserID != DBNull.Value)
                {
                    strWaterUserID = objWaterUserID.ToString();
                }

                DataTable dtUserListTemp = dtUserList.Copy();
                DataView  dvWaterUserID  = dtUserListTemp.DefaultView;
                dvWaterUserID.RowFilter = "waterUserId='" + strWaterUserID + "'";
                DataTable dtWaterUserID = dvWaterUserID.ToTable();

                int intCurrentPage = 0, intSumPageNO = dtWaterUserID.Rows.Count;
                if (i == intStartRow - 1 && intSumPageNO > 1)
                {
                    //如果用户数量大约1,判断第一个readMeterRecordId的rowindex和当前选择的起始rowindex是否一致,不一致则不允许打印。否则会造成打印出问题
                    int    intFirstStartRow = 0;
                    string strStartRowID = "", strFirstStartRowID = "";
                    object objreadMeterRecordId = dtUserList.Rows[i]["readMeterRecordId"];
                    if (objreadMeterRecordId != null && objreadMeterRecordId != DBNull.Value)
                    {
                        strStartRowID = objreadMeterRecordId.ToString();
                    }
                    for (int k = 0; k < dtUserList.Rows.Count; k++)
                    {
                        objreadMeterRecordId = dtUserList.Rows[k]["readMeterRecordId"];
                        if (objreadMeterRecordId != null && objreadMeterRecordId != DBNull.Value)
                        {
                            strFirstStartRowID = objreadMeterRecordId.ToString();
                            if (strStartRowID == strFirstStartRowID)
                            {
                                intFirstStartRow = k;
                                break;
                            }
                        }
                    }
                    if (i > intFirstStartRow)
                    {
                        mes.Show("请从该用户第一页通知单开始打印!");
                        return;
                    }
                }
                for (int j = 0; j < intSumPageNO; j++)
                {
                    object objreadMeterRecordId = dtWaterUserID.Rows[j]["readMeterRecordId"];
                    if (objreadMeterRecordId != null && objreadMeterRecordId != DBNull.Value)
                    {
                        strreadMeterRecordId = objreadMeterRecordId.ToString();
                        object objJSJE = dtWaterUserID.Rows[j]["WATERUSERJSYE"];
                        if (Information.IsNumeric(objJSJE))
                        {
                            decJSJE = Convert.ToDecimal(objJSJE);
                        }
                    }
                    else
                    {
                        mes.Show("第'" + (i + j + 1).ToString() + "行抄表ID获取失败,无法执行打印操作!");
                        return;
                    }
                    try
                    {
                        //存储收费表,打印收据用
                        DataTable dtRecord = dtWaterUserID.Clone();
                        dtRecord.ImportRow(dtWaterUserID.Rows[j]);

                        MODELreadMeterRecord MODELreadMeterRecord = new MODELreadMeterRecord();
                        MODELreadMeterRecord.INFORMNO          = txtInvoiceNO.Text.PadLeft(8, '0');
                        MODELreadMeterRecord.PRINTWORKERID     = strLogID;
                        MODELreadMeterRecord.PRINTWORKERNAME   = strUserName;
                        MODELreadMeterRecord.readMeterRecordId = strreadMeterRecordId;
                        if (BLLreadMeterRecord.UpdateInformNO(MODELreadMeterRecord))
                        {
                            intCurrentPage = j + 1;

                            //如果是最后一张单据显示用户余额,否则不显示余额
                            if (intCurrentPage < intSumPageNO)
                            {
                                dtRecord.Rows[0]["WATERUSERJSYE"] = DBNull.Value;
                            }

                            dtUserList.Rows[i + j]["INFORMNO"] = MODELreadMeterRecord.INFORMNO;
                            //每张通知单添加页号,方便用户区分最终的用户余额
                            DataColumn dcPage = new DataColumn("PAGESUMMERY", typeof(string));
                            dtRecord.Columns.Add(dcPage);
                            dtRecord.Rows[0]["PAGESUMMERY"] = "第" + intCurrentPage + "/" + intSumPageNO + "页";

                            #region
                            DataSet ds = new DataSet();
                            dtRecord.TableName = "水费通知单模板";
                            ds.Tables.Add(dtRecord);
                            FastReport.Report report1 = new FastReport.Report();
                            try
                            {
                                // load the existing report
                                report1.Load(Application.StartupPath + @"\PRINTModel\收据模板\水费通知单模板.frx");
                                // register the dataset
                                report1.RegisterData(ds);
                                report1.GetDataSource("水费通知单模板").Enabled = true;

                                if (decJSJE < 0)
                                {
                                    (report1.FindObject("txtQFSM") as FastReport.TextObject).Visible = true;
                                }
                                //report1.Show();
                                report1.PrintSettings.ShowDialog = false;
                                report1.Prepare();
                                report1.Print();

                                txtInvoiceNO.Text = (Convert.ToInt32(txtInvoiceNO.Text) + 1).ToString().PadLeft(8, '0');
                            }
                            catch (Exception exx)
                            {
                                mes.Show(exx.Message);
                                log.Write(exx.ToString(), MsgType.Error);
                                return;
                            }
                            finally
                            {
                                // free resources used by report
                                report1.Dispose();
                            }
                            #endregion
                        }
                    }
                    catch (Exception ex)
                    {
                        mes.Show("第" + (i + 1).ToString() + "行更新通知单号失败,原因:" + ex.Message);
                        log.Write(ex.ToString(), MsgType.Error);
                        return;
                    }
                }
                i = i + intSumPageNO - 1;//随着用户数量大约1的打印,计数器增加;
            }
        }
        private void btCharge_Click(object sender, EventArgs e)
        {
            try
            {
                if (dgWaterUser.Rows.Count == 0)
                {
                    mes.Show("未找到预交水费的用户信息!");
                    return;
                }

                if (cmbChargeType.SelectedValue == null || cmbChargeType.SelectedValue == DBNull.Value)
                {
                    mes.Show("收费方式不能为空!");
                    cmbChargeType.Focus();
                    return;
                }
                if (!Information.IsNumeric(txtBCYC.Text))
                {
                    return;
                }
                else
                if (Convert.ToDecimal(txtBCYC.Text) <= 0)
                {
                    mes.Show("预存金额不能为'0'");
                    txtBCYC.Focus();
                    return;
                }

                for (int i = 0; i < dgWaterUser.SelectedRows.Count; i++)
                {
                    try
                    {
                        string strWaterUserID = "", strWaterUserNO = "", strWaterUserName = "", strWaterUserNameCode = "", strTelNO = "", strWaterUserPhone = "", strWaterUserAddress = "",
                               strAreaNO = "", strPianNO = "", strDuanNO = "", strCommunityID = "", strCommunityName = "", strBuildingNO = "", strUnitNO = "", strMeterReaderID = "",
                               strMeterReaderName = "", strMeterReaderTel = "", strChargeID = "", strChargerName = "", strWaterUserTypeID = "", strWaterUserTypeName = "", strWaterUserHouseType = "",
                               strCreateType = "", strWaterMeterTypeID = "", strWaterMeterTypeName = "", strWaterMeterTypeClassID = "", strWaterMeterTypeClassName = "";
                        int intPepleCount = 1, intOrderNumber = 0;

                        object objWaterUserID = dgWaterUser.SelectedRows[i].Cells["waterUserId"].Value;
                        if (objWaterUserID == null || objWaterUserID == DBNull.Value)
                        {
                            mes.Show("第'" + (i + 1).ToString() + "行用户ID获取失败,批量收费终止!");
                            return;
                        }

                        //计算结算余额
                        decimal decQQYE = 0, decJSYE = 0;
                        object  objPrestore = dgWaterUser.SelectedRows[i].Cells["prestore"].Value;
                        if (Information.IsNumeric(objPrestore))
                        {
                            decQQYE = Convert.ToDecimal(objPrestore);
                        }

                        decJSYE = decQQYE + Convert.ToDecimal(txtBCYC.Text);

                        #region 生成用户信息
                        strWaterUserID = objWaterUserID.ToString();
                        object objWaterUserMes = dgWaterUser.SelectedRows[i].Cells["waterUserNO"].Value;
                        if (objWaterUserMes != null && objWaterUserMes != DBNull.Value)
                        {
                            strWaterUserNO = objWaterUserMes.ToString();
                        }

                        objWaterUserMes = dgWaterUser.SelectedRows[i].Cells["waterUserName"].Value;
                        if (objWaterUserMes != null && objWaterUserMes != DBNull.Value)
                        {
                            strWaterUserName = objWaterUserMes.ToString();
                        }

                        objWaterUserMes = dgWaterUser.SelectedRows[i].Cells["waterUserTelphoneNO"].Value;
                        if (objWaterUserMes != null && objWaterUserMes != DBNull.Value)
                        {
                            strTelNO = objWaterUserMes.ToString();
                        }

                        objWaterUserMes = dgWaterUser.SelectedRows[i].Cells["waterPhone"].Value;
                        if (objWaterUserMes != null && objWaterUserMes != DBNull.Value)
                        {
                            strWaterUserPhone = objWaterUserMes.ToString();
                        }

                        object objWaterUser = dgWaterUser.SelectedRows[i].Cells["areaNO"].Value;
                        if (objWaterUser != null && objWaterUser != DBNull.Value)
                        {
                            strAreaNO = objWaterUser.ToString();
                        }
                        objWaterUser = dgWaterUser.SelectedRows[i].Cells["pianNO"].Value;
                        if (objWaterUser != null && objWaterUser != DBNull.Value)
                        {
                            strPianNO = objWaterUser.ToString();
                        }
                        objWaterUser = dgWaterUser.SelectedRows[i].Cells["DuanNO"].Value;
                        if (objWaterUser != null && objWaterUser != DBNull.Value)
                        {
                            strDuanNO = objWaterUser.ToString();
                        }
                        objWaterUser = dgWaterUser.SelectedRows[i].Cells["COMMUNITYID"].Value;
                        if (objWaterUser != null && objWaterUser != DBNull.Value)
                        {
                            strCommunityID = objWaterUser.ToString();
                        }
                        objWaterUser = dgWaterUser.SelectedRows[i].Cells["COMMUNITYNAME"].Value;
                        if (objWaterUser != null && objWaterUser != DBNull.Value)
                        {
                            strCommunityName = objWaterUser.ToString();
                        }

                        objWaterUser = dgWaterUser.SelectedRows[i].Cells["buildingNO"].Value;
                        if (objWaterUser != null && objWaterUser != DBNull.Value)
                        {
                            strBuildingNO = objWaterUser.ToString();
                        }

                        objWaterUser = dgWaterUser.SelectedRows[i].Cells["unitNO"].Value;
                        if (objWaterUser != null && objWaterUser != DBNull.Value)
                        {
                            strUnitNO = objWaterUser.ToString();
                        }

                        objWaterUserMes = dgWaterUser.SelectedRows[i].Cells["WATERUSERTYPEID"].Value;
                        if (objWaterUserMes != null && objWaterUserMes != DBNull.Value)
                        {
                            strWaterUserTypeID = objWaterUserMes.ToString();
                        }

                        objWaterUserMes = dgWaterUser.SelectedRows[i].Cells["waterUserTypeName"].Value;
                        if (objWaterUserMes != null && objWaterUserMes != DBNull.Value)
                        {
                            strWaterUserTypeName = objWaterUserMes.ToString();
                        }

                        objWaterUserMes = dgWaterUser.SelectedRows[i].Cells["WATERMETERTYPEID"].Value;
                        if (objWaterUserMes != null && objWaterUserMes != DBNull.Value)
                        {
                            strWaterMeterTypeID = objWaterUserMes.ToString();
                        }

                        objWaterUserMes = dgWaterUser.SelectedRows[i].Cells["WATERMETERTYPEVALUE"].Value;
                        if (objWaterUserMes != null && objWaterUserMes != DBNull.Value)
                        {
                            strWaterMeterTypeName = objWaterUserMes.ToString();
                        }

                        objWaterUserMes = dgWaterUser.SelectedRows[i].Cells["WATERMETERTYPECLASSID"].Value;
                        if (objWaterUserMes != null && objWaterUserMes != DBNull.Value)
                        {
                            strWaterMeterTypeClassID = objWaterUserMes.ToString();
                        }

                        objWaterUserMes = dgWaterUser.SelectedRows[i].Cells["WATERMETERTYPECLASSNAME"].Value;
                        if (objWaterUserMes != null && objWaterUserMes != DBNull.Value)
                        {
                            strWaterMeterTypeClassName = objWaterUserMes.ToString();
                        }

                        objWaterUserMes = dgWaterUser.SelectedRows[i].Cells["waterUserAddress"].Value;
                        if (objWaterUserMes != null && objWaterUserMes != DBNull.Value)
                        {
                            strWaterUserAddress = objWaterUserMes.ToString();
                        }
                        objWaterUser = dgWaterUser.SelectedRows[i].Cells["createType"].Value;
                        if (objWaterUser != null && objWaterUser != DBNull.Value)
                        {
                            strCreateType = objWaterUser.ToString();
                        }

                        objWaterUser = dgWaterUser.SelectedRows[i].Cells["METERREADERID"].Value;
                        if (objWaterUser != null && objWaterUser != DBNull.Value)
                        {
                            strMeterReaderID = objWaterUser.ToString();

                            DataRow[] drMeterReader     = dtMeterReader.Select("LOGINID='" + strMeterReaderID + "'");
                            object    objMeterReaderTel = drMeterReader[0]["TELEPHONENO"];
                            if (objMeterReaderTel != null && objMeterReaderTel != DBNull.Value)
                            {
                                strMeterReaderTel = objMeterReaderTel.ToString();
                            }
                        }

                        objWaterUser = dgWaterUser.SelectedRows[i].Cells["meterReaderName"].Value;
                        if (objWaterUser != null && objWaterUser != DBNull.Value)
                        {
                            strMeterReaderName = objWaterUser.ToString();
                        }

                        objWaterUser = dgWaterUser.SelectedRows[i].Cells["chargerName"].Value;
                        if (objWaterUser != null && objWaterUser != DBNull.Value)
                        {
                            strChargerName = objWaterUser.ToString();
                        }

                        objWaterUser = dgWaterUser.SelectedRows[i].Cells["CHARGERID"].Value;
                        if (objWaterUser != null && objWaterUser != DBNull.Value)
                        {
                            strChargeID = objWaterUser.ToString();
                        }

                        objWaterUserMes = dgWaterUser.SelectedRows[i].Cells["waterUserHouseTypeS"].Value;
                        if (objWaterUserMes != null && objWaterUserMes != DBNull.Value)
                        {
                            strWaterUserHouseType = objWaterUserMes.ToString();
                        }

                        objWaterUserMes = dgWaterUser.SelectedRows[i].Cells["ordernumber"].Value;
                        if (Information.IsNumeric(objWaterUserMes))
                        {
                            intOrderNumber = Convert.ToInt16(objWaterUserMes);
                        }

                        objWaterUserMes = dgWaterUser.SelectedRows[i].Cells["WATERUSERPEOPLECOUNT"].Value;
                        if (Information.IsNumeric(objWaterUserMes))
                        {
                            intPepleCount = Convert.ToInt16(objWaterUserMes);
                        }
                        #endregion

                        MODELWATERFEECHARGE MODELWATERFEECHARGE = new MODELWATERFEECHARGE();
                        MODELWATERFEECHARGE.CHARGEID     = GETTABLEID.GetTableID(strLoginID, "WATERFEECHARGE");
                        MODELWATERFEECHARGE.CHARGETYPEID = cmbChargeType.SelectedValue.ToString();
                        if (cmbChargeType.SelectedValue.ToString() == "2")
                        {
                            MODELWATERFEECHARGE.POSRUNNINGNO = txtJYLSH.Text;
                        }
                        MODELWATERFEECHARGE.CHARGEClASS      = "2";//收费类型是水费预收
                        MODELWATERFEECHARGE.CHARGEBCSS       = Convert.ToDecimal(txtBCYC.Text);
                        MODELWATERFEECHARGE.CHARGEYSQQYE     = decQQYE;
                        MODELWATERFEECHARGE.CHARGEYSBCSZ     = Convert.ToDecimal(txtBCYC.Text);
                        MODELWATERFEECHARGE.CHARGEYSJSYE     = decJSYE;
                        MODELWATERFEECHARGE.CHARGEWORKERID   = strLoginID;
                        MODELWATERFEECHARGE.CHARGEWORKERNAME = strLoginName;
                        MODELWATERFEECHARGE.CHARGEDATETIME   = mes.GetDatetimeNow();
                        MODELWATERFEECHARGE.INVOICEPRINTSIGN = "0";
                        if (chkReceipt.Checked)
                        {
                            MODELWATERFEECHARGE.RECEIPTPRINTCOUNT = 1;
                            MODELWATERFEECHARGE.RECEIPTNO         = txtReceiptNO.Text;
                        }
                        if (BLLWATERFEECHARGE.Insert(MODELWATERFEECHARGE))
                        {
                            try
                            {
                                MODELPRESTORERUNNINGACCOUNT MODELPRESTORERUNNINGACCOUNT = new MODELPRESTORERUNNINGACCOUNT();
                                MODELPRESTORERUNNINGACCOUNT.PRESTORERUNNINGACCOUNTID = GETTABLEID.GetTableID(strLoginID, "PRESTORERUNNINGACCOUNT");
                                MODELPRESTORERUNNINGACCOUNT.WATERUSERID       = strWaterUserID;
                                MODELPRESTORERUNNINGACCOUNT.WATERUSERNO       = strWaterUserNO;
                                MODELPRESTORERUNNINGACCOUNT.WATERUSERNAME     = strWaterUserName;
                                MODELPRESTORERUNNINGACCOUNT.WATERUSERNAMECODE = strWaterUserNameCode;
                                MODELPRESTORERUNNINGACCOUNT.WATERUSERPHONE    = strTelNO;
                                if (strWaterUserPhone != "")
                                {
                                    if (strTelNO != "")
                                    {
                                        MODELPRESTORERUNNINGACCOUNT.WATERUSERPHONE = strTelNO + ";" + strWaterUserPhone;
                                    }
                                    else
                                    {
                                        MODELPRESTORERUNNINGACCOUNT.WATERUSERPHONE = strWaterUserPhone;
                                    }
                                }

                                MODELPRESTORERUNNINGACCOUNT.WATERUSERADDRESS     = strWaterUserAddress;
                                MODELPRESTORERUNNINGACCOUNT.WATERUSERPEOPLECOUNT = intPepleCount;
                                MODELPRESTORERUNNINGACCOUNT.AREANO        = strAreaNO;
                                MODELPRESTORERUNNINGACCOUNT.PIANNO        = strPianNO;
                                MODELPRESTORERUNNINGACCOUNT.DUANNO        = strDuanNO;
                                MODELPRESTORERUNNINGACCOUNT.COMMUNITYID   = strCommunityID;
                                MODELPRESTORERUNNINGACCOUNT.COMMUNITYNAME = strCommunityName;

                                MODELPRESTORERUNNINGACCOUNT.ORDERNUMBER             = intOrderNumber;
                                MODELPRESTORERUNNINGACCOUNT.BUILDINGNO              = strBuildingNO;
                                MODELPRESTORERUNNINGACCOUNT.UNITNO                  = strUnitNO;
                                MODELPRESTORERUNNINGACCOUNT.METERREADERID           = strMeterReaderID;
                                MODELPRESTORERUNNINGACCOUNT.METERREADERNAME         = strMeterReaderName;
                                MODELPRESTORERUNNINGACCOUNT.CHARGERID               = strLoginID;
                                MODELPRESTORERUNNINGACCOUNT.CHARGERNAME             = strLoginName;
                                MODELPRESTORERUNNINGACCOUNT.WATERUSERTYPEID         = strWaterUserTypeID;
                                MODELPRESTORERUNNINGACCOUNT.WATERUSERTYPENAME       = strWaterUserTypeName;
                                MODELPRESTORERUNNINGACCOUNT.waterMeterTypeId        = strWaterMeterTypeID;
                                MODELPRESTORERUNNINGACCOUNT.waterMeterTypeValue     = strWaterMeterTypeName;
                                MODELPRESTORERUNNINGACCOUNT.WATERMETERTYPECLASSID   = strWaterMeterTypeClassID;
                                MODELPRESTORERUNNINGACCOUNT.WATERMETERTYPECLASSNAME = strWaterMeterTypeClassName;
                                MODELPRESTORERUNNINGACCOUNT.WATERUSERTYPENAME       = strWaterUserTypeName;
                                MODELPRESTORERUNNINGACCOUNT.WATERUSERTYPENAME       = strWaterUserTypeName;
                                MODELPRESTORERUNNINGACCOUNT.WATERUSERHOUSETYPE      = strWaterUserHouseType;
                                MODELPRESTORERUNNINGACCOUNT.CREATETYPE              = strCreateType;
                                MODELPRESTORERUNNINGACCOUNT.MEMO     = txtMemo.Text;
                                MODELPRESTORERUNNINGACCOUNT.CHARGEID = MODELWATERFEECHARGE.CHARGEID;
                                if (BLLPRESTORERUNNINGACCOUNT.Insert(MODELPRESTORERUNNINGACCOUNT))
                                {
                                    //txtYSQQYE.Text = txtJSYE.Text;
                                    //txtWaterFeeReal.Text =( Convert.ToDecimal(txtWaterFee.Text) - Convert.ToDecimal(txtYSQQYE.Text)).ToString();
                                    //txtBCYC.Text = "0";

                                    //更新余额
                                    string strUpdatePrestore = "UPDATE waterUser SET prestore=" + MODELWATERFEECHARGE.CHARGEYSJSYE + " WHERE waterUserId='" + strWaterUserID + "'";
                                    if (!BLLwaterUser.UpdateSQL(strUpdatePrestore))
                                    {
                                        string strError = "更新用户编号为'" + strWaterUserNO + "'的余额失败,请重新收费!";
                                        mes.Show(strError);
                                        log.Write(strError, MsgType.Error);
                                        //回滚预存流水表
                                        BLLPRESTORERUNNINGACCOUNT.Delete(MODELPRESTORERUNNINGACCOUNT.PRESTORERUNNINGACCOUNTID);
                                        //回滚收费记录表
                                        BLLWATERFEECHARGE.Delete(MODELWATERFEECHARGE.CHARGEID);
                                    }
                                    else
                                    {
                                        decimal decUserArearage = 0, decWaterUserPrestore = 0;
                                        object  objUserArearage = dgWaterUser.SelectedRows[i].Cells["USERAREARAGE"].Value;
                                        if (Information.IsNumeric(objUserArearage))
                                        {
                                            decUserArearage = Convert.ToDecimal(objUserArearage);
                                        }
                                        object objUserPrestore = dgWaterUser.SelectedRows[i].Cells["prestore"].Value;
                                        if (Information.IsNumeric(objUserPrestore))
                                        {
                                            decWaterUserPrestore = Convert.ToDecimal(objUserPrestore);
                                        }
                                        decWaterUserPrestore = decWaterUserPrestore + MODELWATERFEECHARGE.CHARGEBCSS;
                                        decUserArearage      = decUserArearage + MODELWATERFEECHARGE.CHARGEBCSS;
                                        dgWaterUser.SelectedRows[i].Cells["USERAREARAGE"].Value = decUserArearage.ToString("F2");
                                        dgWaterUser.SelectedRows[i].Cells["prestore"].Value     = decWaterUserPrestore.ToString("F2");
                                    }
                                    //如果勾选了打收据,打印收据
                                    if (chkReceipt.Checked)
                                    {
                                        //--打印收据
                                        #region
                                        FastReport.Report report1 = new FastReport.Report();
                                        try
                                        {
                                            DataTable dtLastRecord = BLLwaterUser.QuerySQL("SELECT TOP 1 readMeterRecordId,readMeterRecordYearAndMonth,waterMeterLastNumber," +
                                                                                           "(CASE chargeState WHEN 0  THEN waterMeterLastNumber " +
                                                                                           "ELSE waterMeterEndNumber END) AS waterMeterEndNumber " +
                                                                                           "FROM readMeterRecord " +
                                                                                           "WHERE WATERUSERID='" +
                                                                                           strWaterUserID + "' ORDER BY readMeterRecordYearAndMonth DESC,readMeterRecordDate DESC");
                                            DataTable dtTemp = dtLastRecord.Clone();
                                            dtTemp.Columns["readMeterRecordYearAndMonth"].DataType = typeof(string);
                                            if (dtLastRecord.Rows.Count > 0)
                                            {
                                                dtTemp.ImportRow(dtLastRecord.Rows[0]);
                                                object objReadMeterRecordYearAndMonth = dtTemp.Rows[0]["readMeterRecordYearAndMonth"];
                                                if (Information.IsDate(objReadMeterRecordYearAndMonth))
                                                {
                                                    dtTemp.Rows[0]["readMeterRecordYearAndMonth"] = Convert.ToDateTime(objReadMeterRecordYearAndMonth).ToString("yyyy-MM");
                                                }
                                            }
                                            //DataTable dtTemp = dtLastRecord.Copy();
                                            DataSet ds = new DataSet();
                                            dtTemp.TableName = "营业坐收收据模板";
                                            ds.Tables.Add(dtTemp);
                                            // load the existing report
                                            report1.Load(Application.StartupPath + @"\PRINTModel\收据模板\预存收费收据模板.frx");

                                            (report1.FindObject("txtDateTime") as FastReport.TextObject).Text = MODELWATERFEECHARGE.CHARGEDATETIME.ToString("yyyy-MM-dd HH:mm:ss");
                                            //if (cmbChargeType.SelectedValue.ToString() == "2")
                                            //{
                                            //    (report1.FindObject("Cell45") as FastReport.Table.TableCell).Text = txtWaterUserNO.Text + "   交易流水号:" + txtJYLSH.Text;
                                            //}
                                            //else
                                            (report1.FindObject("CellWaterUserNO") as FastReport.Table.TableCell).Text      = strWaterUserNO;
                                            (report1.FindObject("CellWaterUserName") as FastReport.Table.TableCell).Text    = strWaterUserName;
                                            (report1.FindObject("CellWaterUserAddress") as FastReport.Table.TableCell).Text = strWaterUserAddress;

                                            (report1.FindObject("txtQQYE") as FastReport.TextObject).Text = "前期余额: " + MODELWATERFEECHARGE.CHARGEYSQQYE.ToString("F2");
                                            string strBCSS = MODELWATERFEECHARGE.CHARGEBCSS.ToString("F2");
                                            (report1.FindObject("txtBCJF") as FastReport.TextObject).Text = "本次预存:         " + strBCSS;
                                            (report1.FindObject("txtJSYE") as FastReport.TextObject).Text = "结算余额: " + MODELWATERFEECHARGE.CHARGEYSJSYE.ToString("F2");

                                            //if (cmbChargeType.SelectedValue.ToString() == "2")
                                            //{
                                            //    (report1.FindObject("txtPOSRUNNINGNO") as FastReport.TextObject).Text = "交易流水号: " + MODELWATERFEECHARGE.POSRUNNINGNO;
                                            //}
                                            (report1.FindObject("txtChargeWorkerName") as FastReport.TextObject).Text = strLoginName;
                                            (report1.FindObject("txtReceiptNO") as FastReport.TextObject).Text        = "NO." + txtReceiptNO.Text;

                                            (report1.FindObject("txtMeterReader") as FastReport.TextObject).Text    = strMeterReaderName;
                                            (report1.FindObject("txtMeterReaderTel") as FastReport.TextObject).Text = strMeterReaderTel;

                                            string strCapMoney = RMBToCapMoney.CmycurD(strBCSS);
                                            if (cmbChargeType.SelectedValue.ToString() == "2")
                                            {
                                                (report1.FindObject("txtCapMoney") as FastReport.TextObject).Text = "金额大写:" + strCapMoney + Environment.NewLine + "交易流水号:" + txtJYLSH.Text;
                                            }
                                            else
                                            {
                                                (report1.FindObject("txtCapMoney") as FastReport.TextObject).Text = "金额大写:" + strCapMoney;
                                            }

                                            // register the dataset
                                            report1.RegisterData(ds);
                                            report1.GetDataSource("营业坐收收据模板").Enabled = true;
                                            report1.PrintSettings.ShowDialog          = false;
                                            report1.Prepare();
                                            report1.Print();

                                            //获取新的收据号码,8位收据号
                                            if (Information.IsNumeric(txtReceiptNO.Text))
                                            {
                                                txtReceiptNO.Text = (Convert.ToInt64(txtReceiptNO.Text) + 1).ToString().PadLeft(8, '0');
                                            }
                                        }
                                        catch (Exception exx)
                                        {
                                            MessageBox.Show(exx.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                                            return;
                                        }
                                        finally
                                        {
                                            // free resources used by report
                                            report1.Dispose();
                                        }
                                        #endregion
                                    }
                                }
                            }
                            catch (Exception exx)
                            {
                                mes.Show("插入预收流水表失败!原因:" + exx.Message);
                                log.Write(exx.ToString(), MsgType.Error);
                                return;
                            }
                        }
                    }
                    catch (Exception ex)
                    {
                        mes.Show("预收失败!原因:" + ex.Message);
                        log.Write(ex.ToString(), MsgType.Error);
                        return;
                    }
                }
                btCharge.Enabled = false;
                //dgWaterList.DataSource = null;
            }
            catch (Exception ex)
            {
                mes.Show(ex.Message);
                log.Write(ex.ToString(), MsgType.Error);
                return;
            }
        }
Example #28
0
        private void btnImprimir_Click(object sender, EventArgs e)
        {
            try
            {
                if (this.dgvDatos.DataSource == null)
                    return;

                BindingSource bs = (BindingSource)this.dgvDatos.DataSource;
                DataTable dt = (DataTable)bs.DataSource;

                using (FastReport.Report report = new FastReport.Report())
                {
                    report.Load(string.Format("{0}{1}", GlobalClass.ConfiguracionGlobal.pathReportes, "ReportePartesClasificacionAbc.frx"));
                    report.RegisterData(dt, "PartesClasificacionAbc");
                    report.GetDataSource("PartesClasificacionAbc").Enabled = true;
                    report.Show(true);
                }
            }
            catch (Exception ex)
            {
                Util.MensajeError(ex.Message, GlobalClass.NombreApp);
            }
        }