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); } }
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); } }
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(); } } }
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); } }
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); } }
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"); }
/// <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); } }
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); } }
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); } } } }
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); } }
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"; } }
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(); } }
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); } }
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); } }
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 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); } }
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); } }
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(); } }
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; } }
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); } }