private void ExceReportAnzeigenDruck(object sender, ExecutedRoutedEventArgs e) { _Report.Clear(); var dsRep = _Auswertungen.Current; if (dsRep.Report != null) { MemoryStream mem; mem = new MemoryStream(dsRep.Report); _Report.Load(mem); } _Report.SetParameterValue("SqlVerbindung", Properties.Settings.Default.DatenbankVerbindungsString); if (e.Command == MyCommands.ReportAnzeigen) { _Report.Show(); } else if (e.Command == Commands.MyCommands.ReportDrucken) { _Report.Print(); } else if (e.Command == Commands.MyCommands.ReportBearbeiten) { _Report.Design(); } }
//打印 void UCReport_PrintEvent(object sender, EventArgs e) { string fileName = GetDefaultStyleFile(); // create report instance FastReport.Report report = new FastReport.Report(); if (!string.IsNullOrEmpty(fileName)) { report.Load(fileName); report.RegisterData(dt, styleObject); } else { Report.FastReportEx reportEx = new Report.FastReportEx(); reportEx.dicSpanRows = dicSpanRows; reportEx.dt = dt; reportEx.styleObject = styleObject; reportEx.styleTitle = styleTitle; report = reportEx.DefaultReport(); } if (paperSize != null && report.Pages.Count > 0) { FastReport.ReportPage page = (FastReport.ReportPage)report.Pages[0]; page.PaperHeight = paperSize.Height; page.PaperWidth = paperSize.Width; } report.Prepare(); report.Print(); report.Dispose(); }
//----以下是YX01数据采集---- private void GetParaDataPrint_YX02(int tt_itemtype) { //单板打印 if (PrintText != "") { FastReport.Report report = new FastReport.Report(); report.Prepare(); report.Load(Application.StartupPath + "\\LABLE\\YX_2.frx"); report.SetParameterValue("S01", PrintText); report.PrintSettings.ShowDialog = false; //--打印 if (tt_itemtype == 1) { report.Print(); } //--预览 if (tt_itemtype == 2) { report.Design(); } } }
//打印 void UCReport_PrintEvent(object sender, EventArgs e) { if (dt == null || dt.Rows.Count == 0) { MessageBoxEx.Show("请查询出要打印的数据!"); return; } string fileName = GetDefaultStyleFile(); // create report instance FastReport.Report report = new FastReport.Report(); if (!string.IsNullOrEmpty(fileName)) { report.Load(fileName); report.RegisterData(dt, styleObject); } else { Report.FastReportEx reportEx = new Report.FastReportEx(); reportEx.dicSpanRows = dicSpanRows; reportEx.dt = dt; reportEx.styleObject = styleObject; reportEx.styleTitle = styleTitle; report = reportEx.DefaultReport(); } if (paperSize != null && report.Pages.Count > 0) { FastReport.ReportPage page = (FastReport.ReportPage)report.Pages[0]; page.PaperHeight = paperSize.Height; page.PaperWidth = paperSize.Width; } report.Prepare(); report.Print(); report.Dispose(); }
public void DetailPrint(Dictionary <string, DataTable> dic) { if (dic == null) { return; } FastReport.Report report = GetDetailReport(dic); if (report == null) { return; } report.Prepare(); report.Print(); report.Dispose(); dic = null; }
private void toolPrint_Click(object sender, EventArgs e) { #region FastReport.Report report1 = new FastReport.Report(); try { // load the existing report report1.Load(Application.StartupPath + @"\PRINTModel\收据模板\日结明细单模板.frx"); (report1.FindObject("txtYSCOUNT") as FastReport.TextObject).Text = "发票数量:" + intYSCount + "张,收据数量:" + intYSRECEIPRNOCOUNT.ToString() + "张"; (report1.FindObject("txtYSSF") as FastReport.TextObject).Text = "应收水费:" + decBCYS.ToString("F2") + "元"; (report1.FindObject("txtSSSF") as FastReport.TextObject).Text = "实收金额:" + decYSBCSS.ToString("F2") + "元"; (report1.FindObject("txtSSSFXJ") as FastReport.TextObject).Text = "现金:" + decYSBCSSXJ.ToString("F2") + "元"; (report1.FindObject("txtSSSFPOS") as FastReport.TextObject).Text = "POS机:" + decYSBCSSPOS.ToString("F2") + "元"; (report1.FindObject("txtSSSFZHUANZHANG") as FastReport.TextObject).Text = "转账汇款:" + decYSBCSSZHUANZHANG.ToString("F2") + "元"; (report1.FindObject("txtYEZJ") as FastReport.TextObject).Text = "余额增减:" + decYSBCSZ.ToString("F2") + "元"; (report1.FindObject("txtYCCount") as FastReport.TextObject).Text = "单据数量:" + intYCCount + "张"; (report1.FindObject("txtQQYE") as FastReport.TextObject).Text = "前期余额:" + decYCQQYE.ToString("F2") + "元"; (report1.FindObject("txtYCSF") as FastReport.TextObject).Text = "预存收费:" + decYCBCSZ.ToString("F2") + "元"; (report1.FindObject("txtYCSFXJ") as FastReport.TextObject).Text = "现金:" + decYCBCSZXJ.ToString("F2") + "元"; (report1.FindObject("txtYCSFPOS") as FastReport.TextObject).Text = "POS机:" + decYCBCSZPOS.ToString("F2") + "元"; (report1.FindObject("txtYCSFZHUANZHANG") as FastReport.TextObject).Text = "转账汇款:" + decYCBCSZZHUANZHANG.ToString("F2") + "元"; (report1.FindObject("txtJSYE") as FastReport.TextObject).Text = "结算余额::" + decYCJSYE.ToString("F2") + "元"; (report1.FindObject("txtJEZJ") as FastReport.TextObject).Text = "金额总计: " + labBCSS.Text; (report1.FindObject("txtDateTime") as FastReport.TextObject).Text = "统计时间:" + dtpStartSearch.Value.ToString("yyyy-MM-dd HH:mm:ss") + " 至 " + dtpEndSearch.Value.ToString("yyyy-MM-dd HH:mm:ss"); (report1.FindObject("txtWorkerName") as FastReport.TextObject).Text = "收 费 员:" + txtWorkerNameSearch.Text; report1.PrintSettings.ShowDialog = false; report1.Prepare(); report1.Print(); } catch (Exception exx) { MessageBox.Show(exx.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } finally { // free resources used by report report1.Dispose(); } #endregion }
protected static int PrintReport(FastReport.Report report, string printerType) { //如果模板设置了指定类型的打印机,则设置打印机名称 //string printerName = GetPrinterName(printerType); //if (string.IsNullOrEmpty(printerName) == false) //{ // report.PrintSettings.Printer = printerName; //} report.PrintSettings.ShowDialog = false; report.Print(); report.Clear(); report.Dispose(); report = null; return(1); }
/// <summary> /// 打印 /// </summary> /// <param name="dt"></param> public void Print(DataTable dt) { if (dt == null || dt.Rows.Count == 0) { MessageBoxEx.ShowWarning("没有可打印的数据"); return; } FastReport.Report report = GetReport(dt); if (report != null) { report.Prepare(); report.Print(); report.Dispose(); } else { MessageBoxEx.ShowWarning("没有可打印的数据"); } }
private void button2_Click(object sender, EventArgs e) { var fileName = Path.Combine(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "ReportTemplate"), "收款58mm小票(1).frx"); FastReport.Report report = new FastReport.Report(); report.Load(fileName); DataTable dt = new DataTable(); dt.Columns.Add(new DataColumn("str1", typeof(string))); dt.Columns.Add(new DataColumn("str2", typeof(string))); dt.Columns.Add(new DataColumn("str3", typeof(string))); dt.Columns.Add(new DataColumn("str4", typeof(string))); for (var i = 0; i < 6; i++) { dt.Rows.Add(i.ToString(), i.ToString() + "单位", i.ToString(), i.ToString() + "Q"); } report.RegisterData(dt, "list"); //注册数据源,单表 report.SetParameterValue("company", "公司"); report.SetParameterValue("patientName", "张三"); report.SetParameterValue("cardNum", "123456789"); report.SetParameterValue("seeDoctoeNumber", "123"); report.SetParameterValue("heji", "99"); report.SetParameterValue("pa", "1"); report.SetParameterValue("relPay", "1"); report.SetParameterValue("payType", "支付宝"); report.SetParameterValue("userDataName", "189"); report.SetParameterValue("phone", "18930037387"); report.PrintSettings.ShowDialog = false; //report.PrintPrepared(); report.Report.Prepare(); //根据模板名称,查询对应打印机 try { report.Print(); } catch (Exception) { MessageBox.Show("无法连接打印机,请检查打印机驱动或更换默认打印机。"); } }
public override void ImprimirEnOtroFormato() { string nombreArchivo = ""; string logoEmpresa = ""; Bitmap imgLogo; double monto = 0; try { nombreArchivo = Environment.CurrentDirectory + @"\Reportes\cajaReciboOtros.frx"; monto = objUtil.GetAsDouble("Monto", DTVistaData.Rows[0]); montoLetras = Numalet.ToCardinal(monto); using (FastReport.Report report = new FastReport.Report()) { report.Load(nombreArchivo); report.RegisterData(DTVistaData, "VCAJAS_RECIBOS"); report.RegisterData(DTOficina, "VEMPRESAS_OFICINAS"); report.SetParameterValue("MONTO_LETRA", montoLetras); //Vamos a asignar el logo logoEmpresa = Environment.CurrentDirectory + @"\images\logo.png"; if (File.Exists(logoEmpresa)) { imgLogo = (Bitmap)Image.FromFile(logoEmpresa); FastReport.PictureObject ptLogo = report.FindObject("ptLogo") as FastReport.PictureObject; ptLogo.Image = imgLogo; } report.PrintSettings.ShowDialog = false; report.PrintSettings.Printer = impresoraDefault; report.Print(); } } catch (Exception) { throw; } }
public FormReportCP(string ord_no) { InitializeComponent(); var order = SqlUtil.Inst.Orders.FirstOrDefault(a => a.no == ord_no); if (order == null) { return; } var dataList = SqlUtil.Inst.Details.Where(a => a.ord_no == order.no).ToList(); Assembly assembly = Assembly.GetExecutingAssembly(); List <Order> dataList2 = new List <Order>(); dataList2.Add(order); var hz = dataList2.Select(a => new { date = a.date.ToString("yyyy-MM-dd HH:mm"), zje = a.zje.ToString("0.00"), yhje = a.yhje.ToString("0.00"), sfje = (a.zje - a.yhje).ToString("0.00"), a.desk, ord_no = a.no }).ToList(); //获取指定的资源 using (Stream stream = assembly.GetManifestResourceStream("DishSysManager.daily_cp.frx")) { if (stream != null) //没有找到,GetManifestResourceStream会返回null { report.Clear(); report.Load(stream); report.RegisterData(dataList, "mx"); report.RegisterData(hz, "hz"); report.Prepare(); report.PrintSettings.ShowDialog = false; report.Print(); } } autoClose = true; }
private void ImprimirEtiquetas(string sReporte) { // Se muestra progreso de avance this.IniciarTerminarProgreso(true); // Se inicia el proceso de impresión Datos.StartPersistentContext(); foreach (DataGridViewRow oFila in this.dgvDatos.Rows) { this.pgrGuardar.EjecutarPaso(true); if (!Util.Logico(oFila.Cells["Procesar"].Value)) { continue; } int iParteID = Util.Entero(oFila.Cells["ParteID"].Value); var oParte = Datos.GetEntity <Parte>(c => c.ParteID == iParteID && c.Estatus); var oEtiqueta = new Etiquetas() { ParteID = iParteID, NumeroParte = oParte.NumeroParte, NombreParte = oParte.NombreParte, CodigoBarra = oParte.CodigoBarra }; // Se manda imprimir el reporte var oRep = new FastReport.Report(); oRep.Load(sReporte); oRep.RegisterData(new List <Etiquetas>() { oEtiqueta }, "etiquetas"); oRep.Print(); } Datos.EndPersistentContext(); this.IniciarTerminarProgreso(false); UtilLocal.MostrarNotificacion("Proceso completado correctamente."); }
private void simpleButtonPesan_Click(object sender, EventArgs e) { var nomer = 1; var indexSurat = (DbSurat.IndexSurat)lookUpEditIndexSurat.GetSelectedDataRow(); var keperluan = memoEditKeperluan.Text.Trim(); var tanggal = dateEditTanggal.DateTime; var allSuratByIndex = from dataSurat in new XPQuery <DbSurat.Surat>(XpoDefault.Session) where dataSurat.IndexSurat.ID == indexSurat.ID orderby dataSurat.NoSurat select dataSurat; if (allSuratByIndex.Count() > 0) { nomer = allSuratByIndex.LastOrDefault().NoSurat + 1; } DbSurat.Surat surat = new DbSurat.Surat(XpoDefault.Session) { IndexSurat = indexSurat, Tanggal = tanggal, Keperluan = keperluan, NoSurat = nomer, Pemesan = (DbSurat.Pegawai)lookUpEditPemesan.GetSelectedDataRow() }; surat.Save(); if (File.Exists("PrintSurat.frx")) { _report.Load("PrintSurat.frx"); } var stringNomer = indexSurat.Index + " / " + nomer + " / " + tanggal.Year; _report.SetParameterValue("ParameterNoSurat", stringNomer); _report.SetParameterValue("ParameterTanggalSurat", tanggal.ToString("dd/MM/yyyy")); _report.SetParameterValue("ParameterkeperluanSurat", keperluan); _report.Print(); }
//----以下是MP01数据采集---- private void GetParaDataPrint_MP01(int tt_itemtype) { //第一步数据准备 DataSet dst = new DataSet(); DataTable dt = new DataTable(); dst.Tables.Add(dt); dt.Columns.Add("参数"); dt.Columns.Add("名称"); dt.Columns.Add("内容"); DataRow row1 = dt.NewRow(); row1["参数"] = "S01"; row1["名称"] = "产品型号"; row1["内容"] = this.label29.Text; dt.Rows.Add(row1); DataRow row2 = dt.NewRow(); row2["参数"] = "S02"; row2["名称"] = "COMITID"; row2["内容"] = this.label61.Text; dt.Rows.Add(row2); DataRow row3 = dt.NewRow(); row3["参数"] = "S03"; row3["名称"] = "GPSN"; row3["内容"] = this.label9.Text; dt.Rows.Add(row3); DataRow row4 = dt.NewRow(); row4["参数"] = "S04"; row4["名称"] = "物料编码"; row4["内容"] = this.label49.Text; dt.Rows.Add(row4); DataRow row5 = dt.NewRow(); row5["参数"] = "S05"; row5["名称"] = "短MAC"; row5["内容"] = this.label7.Text; dt.Rows.Add(row5); DataRow row6 = dt.NewRow(); row6["参数"] = "S06"; row6["名称"] = "长MAC"; row6["内容"] = this.label8.Text; dt.Rows.Add(row6); this.dataGridView2.DataSource = null; this.dataGridView2.Rows.Clear(); this.dataGridView2.DataSource = dst.Tables[0]; this.dataGridView2.Update(); this.dataGridView2.Columns[0].Width = 60; this.dataGridView2.Columns[1].Width = 80; this.dataGridView2.Columns[2].Width = 200; //第四步 打印或预览 //单板打印 if (dst.Tables.Count > 0 && dst.Tables[0].Rows.Count > 0 && tt_itemtype > 0) { FastReport.Report report = new FastReport.Report(); report.Prepare(); report.Load(tt_path); report.SetParameterValue("S01", dst.Tables[0].Rows[0][2].ToString()); report.SetParameterValue("S02", dst.Tables[0].Rows[1][2].ToString()); report.SetParameterValue("S03", dst.Tables[0].Rows[2][2].ToString()); report.SetParameterValue("S04", dst.Tables[0].Rows[3][2].ToString()); report.SetParameterValue("S05", dst.Tables[0].Rows[4][2].ToString()); report.SetParameterValue("S06", dst.Tables[0].Rows[5][2].ToString()); report.PrintSettings.ShowDialog = false; //--打印 if (tt_itemtype == 1) { report.Print(); PutLableInfor("打印完毕"); } //--预览 if (tt_itemtype == 2) { report.Design(); PutLableInfor("预览完毕"); } setRichtexBox("99、打印或预览完毕,请检查铭牌,OK"); } else { setRichtexBox("99、获取信息失败,或不是单板扫描状态,不能打印,over"); PutLableInfor("获取信息失败,或不是单板扫描状态,不能打印"); } }
private void Btn_Print_Click(object sender, EventArgs e) { if (!CheckBCSS()) { return; } hc["CHARGEClASS"] = 15; if (ReceiptPrintSign.Checked) { if (!Information.IsNumeric(RECEIPTNO.Text)) { MessageBox.Show("收据号只能由数字组成,请输入正确的收据号!"); RECEIPTNO.Focus(); return; } } if (!CHARGETYPEID.Text.Equals("现金")) { if (POSRUNNINGNO.Text.Trim() == "") { MessageBox.Show("请输入交易流水号!"); POSRUNNINGNO.Focus(); return; } } string strCapMoney = RMBHelper.CmycurD(_BCSS); RECEIPTNO.Text = RECEIPTNO.Text.PadLeft(8, '0'); if (Approve_Finance()) { if (ReceiptPrintSign.Checked) { try { FastReport.Report report1 = new FastReport.Report(); // load the existing report report1.Load(Application.StartupPath + @"\PRINTModel\业扩模板\业扩决算收据模板.frx"); (report1.FindObject("txtReceiptNO") as FastReport.TextObject).Text = "NO." + 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 (!CHARGETYPEID.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 = "收 款 员:" + strRealName; if (_BCSS < 0) { (report1.FindObject("txtWaterUserSign") as FastReport.TextObject).Text = "用户签字:"; (report1.FindObject("txtBCSS") as FastReport.TextObject).Text = "本次退款:" + _BCSS.ToString("F2") + "元"; } else { (report1.FindObject("txtWaterUserSign") as FastReport.TextObject).Text = ""; (report1.FindObject("txtBCSS") as FastReport.TextObject).Text = "本次实收:" + _BCSS.ToString("F2") + "元"; } (report1.FindObject("txtReceiptNO1") as FastReport.TextObject).Text = "NO." + 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 (!CHARGETYPEID.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 = "收 款 员:" + strRealName; if (_BCSS < 0) { (report1.FindObject("txtWaterUserSign1") as FastReport.TextObject).Text = "用户签字:"; (report1.FindObject("txtBCSS1") as FastReport.TextObject).Text = "本次退款:" + _BCSS.ToString("F2") + "元"; } else { (report1.FindObject("txtWaterUserSign1") as FastReport.TextObject).Text = ""; (report1.FindObject("txtBCSS1") as FastReport.TextObject).Text = "本次实收:" + _BCSS.ToString("F2") + "元"; } //report1.Show(); report1.PrintSettings.ShowDialog = false; report1.Prepare(); report1.Print(); } catch (Exception ex) { MessageBox.Show("收据打印失败:" + ex.Message); } if (Information.IsNumeric(RECEIPTNO.Text)) { RECEIPTNO.Text = (Convert.ToInt32(RECEIPTNO.Text) + 1).ToString().PadLeft(8, '0'); } else { RECEIPTNO.Text = "00000001"; } } else { return; } MessageBox.Show("收费成功!"); TOTALCHARGE.Text = "0"; CHARGEBCYS.Text = "0"; CHARGEBCSS.Text = "0"; BindDepartmentFee(); Btn_Print.Visible = false; Btn_Settle.Visible = false; } else { MessageBox.Show("结算失败!"); } }
private void ImprimirEtiquetas(string sReporte) { // Se muestra progreso de avance this.IniciarTerminarProgreso(true); // Se inicia el proceso de impresión Datos.StartPersistentContext(); foreach (DataGridViewRow oFila in this.dgvDatos.Rows) { this.pgrGuardar.EjecutarPaso(true); if (!Util.Logico(oFila.Cells["Procesar"].Value)) continue; int iParteID = Util.Entero(oFila.Cells["ParteID"].Value); var oParte = Datos.GetEntity<Parte>(c => c.ParteID == iParteID && c.Estatus); var oEtiqueta = new Etiquetas() { ParteID = iParteID, NumeroParte = oParte.NumeroParte, NombreParte = oParte.NombreParte, CodigoBarra = oParte.CodigoBarra }; // Se manda imprimir el reporte var oRep = new FastReport.Report(); oRep.Load(sReporte); oRep.RegisterData(new List<Etiquetas>() { oEtiqueta }, "etiquetas"); oRep.Print(); } Datos.EndPersistentContext(); this.IniciarTerminarProgreso(false); UtilLocal.MostrarNotificacion("Proceso completado correctamente."); }
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; } }
private void BtnDrucken_Click(object sender, RoutedEventArgs e) { _Report.Clear(); var vorgang = Convert.ToInt32((sender as Button).Tag); // 1 - Anzeigen, 2 - Drucken, 3 - Design, 4 - Neuer Report, 5 - Report Exportieren, 6 - Löschen var auswahl = EnumFilterAuswertung.Arbeitszeit; if (tcArbeitszeit.SelectedIndex == 1) { auswahl = EnumFilterAuswertung.ArbeitszeitAuswertung; } if (vorgang != 4) { switch (auswahl) { case EnumFilterAuswertung.Arbeitszeit: _AktuellerReport = _ListeReporteArbeitszeiten.Current; break; case EnumFilterAuswertung.ArbeitszeitAuswertung: _AktuellerReport = _ListeReporteAuswertung.Current; break; } if (_AktuellerReport == null) { MessageBox.Show("Es wurde kein Report ausgewählt.", "Fehler !", MessageBoxButton.OK, MessageBoxImage.Information); return; } switch (vorgang) { case 0: // Reportname ändern var formNeu = new Fenster.FormReportName(_AktuellerReport.ReportName); if (formNeu.ShowDialog() ?? false) { _AktuellerReport.AnzeigeReportname = formNeu.ReportName; _ListeReporteArbeitszeiten.DsSave(); } return; case 5: // Exportieren SaveFileDialog dia = new SaveFileDialog() { FileName = _AktuellerReport.ReportName, Filter = "Fastreport (*.frx)|*.frx|Alle Dateien (*.*)|*.*", FilterIndex = 1 }; if (dia.ShowDialog() ?? false) { _Report.Save(dia.FileName); MemoryStream mem; mem = new MemoryStream(_AktuellerReport.Report); using (Stream f = File.Create(dia.FileName)) { mem.CopyTo(f); } } return; case 6: // Report löschen var mb = MessageBox.Show($"Report {_AktuellerReport.ReportName} löschen ?", "Löschabfrage", MessageBoxButton.YesNo, MessageBoxImage.Question, MessageBoxResult.None); if (mb == MessageBoxResult.Yes) { _AktuellerReport.DatenAbgleich.Geloescht = true; switch (auswahl) { case EnumFilterAuswertung.Arbeitszeit: _ListeReporteArbeitszeiten.Remove(_AktuellerReport); break; case EnumFilterAuswertung.ArbeitszeitAuswertung: _ListeReporteAuswertung.Remove(_AktuellerReport); break; } } return; } if (_AktuellerReport.Report == null) { vorgang = 3; } else { var mem = new MemoryStream(_AktuellerReport.Report); _Report.Load(mem); } } switch (auswahl) { case EnumFilterAuswertung.Arbeitszeit: var bediener = _ListeArbeitszeitenAuswahl.Daten.Select(s => s.eBediener).Distinct().ToList(); _Report.RegisterData(bediener.Select(s => new { s.Id, s.Name }).ToList(), "Bediener"); var dat = _DzArbeitszeitBis.AnzeigeDatumZeit; var db = _ListeArbeitszeitenAuswahl.Db; var sollStunden = JgZeit.StringInZeit(db.tabSollStundenSet.FirstOrDefault(w => (w.Jahr == dat.Year) && (w.Monat == dat.Month) && !w.DatenAbgleich.Geloescht).SollStunden, TimeSpan.Zero); var lFeiertage = db.tabFeiertageSet.Where(w => (w.Datum.Year == dat.Year) && (w.Datum.Month == dat.Month) && !w.DatenAbgleich.Geloescht).ToList(); var lPausen = db.tabPausenzeitSet.Where(w => !w.DatenAbgleich.Geloescht).ToList(); var listeAuswertungen = new List <ArbeitszeitBediener>(); foreach (var bedAusw in bediener) { var ds = new ArbeitszeitBediener(_Erstellung.Db, _AzRunden); ds.BedienerBerechnen(bedAusw, (short)dat.Year, (byte)dat.Month, sollStunden, lFeiertage, lPausen); listeAuswertungen.Add(ds); } _Report.RegisterData(listeAuswertungen, "Auswertungen"); _Report.RegisterData(_ListeArbeitszeitenAuswahl.Daten, "Stechzeiten"); _Report.SetParameterValue("Zeitraum.DatumVon", _DzArbeitszeitVon.AnzeigeDatumZeit); _Report.SetParameterValue("Zeitraum.DatumBis", _DzArbeitszeitBis.AnzeigeDatumZeit); break; case EnumFilterAuswertung.ArbeitszeitAuswertung: var aktStandort = _Erstellung.AktuellerBediener.eStandort; var bedienerImStandort = _Erstellung.ListeBediener.Daten.Where(w => w.fStandort == aktStandort.Id).ToList(); var listeAuswertung = new List <ArbeitszeitBediener>(); foreach (var bedAusw in bedienerImStandort) { var ds = new ArbeitszeitBediener(_Erstellung.Db, _AzRunden); ds.BedienerBerechnen(bedAusw, _Erstellung.Jahr, _Erstellung.Monat, _Erstellung.SollStundenMonat, _Erstellung.ListeFeiertageMonat, _Erstellung.ListePausen.Daten); listeAuswertung.Add(ds); } _Report.RegisterData(bedienerImStandort.Select(s => new { s.Id, s.Name }).ToList(), "Bediener"); _Report.RegisterData(listeAuswertung, "ListeAuswertung"); _Report.SetParameterValue("Auswertung.Monat", (JgZeitHelper.JgZeit.Monate)_Erstellung.Monat); _Report.SetParameterValue("Auswertung.Jahr", _Erstellung.Jahr); break; default: break; } if (vorgang == 4) // Neuer Report { var repName = ""; var formNeu = new Fenster.FormReportName(); if (!formNeu.ShowDialog() ?? false) { return; } repName = formNeu.ReportName; string username = System.Security.Principal.WindowsIdentity.GetCurrent().Name; _AktuellerReport = new tabAuswertung() { Id = Guid.NewGuid(), FilterAuswertung = auswahl, ReportName = repName, ErstelltDatum = DateTime.Now, ErstelltName = username, GeaendertDatum = DateTime.Now, GeaendertName = username, }; switch (auswahl) { case EnumFilterAuswertung.Arbeitszeit: _ListeReporteArbeitszeiten.Add(_AktuellerReport); break; case EnumFilterAuswertung.ArbeitszeitAuswertung: _ListeReporteAuswertung.Add(_AktuellerReport); break; } _Report.Design(); } else { switch (vorgang) { case 1: try { _Report.Show(); } catch (Exception ex) { Helper.InfoBox("Fehler beim Aufruf der Auswertung", ex); } break; case 2: try { _Report.Print(); } catch (Exception ex) { Helper.InfoBox("Fehler beim Drucken der Auswertung", ex); } break; case 3: try { _Report.Design(); } catch { } break; } } }
private void BtnDrucken_Click(object sender, RoutedEventArgs e) { var vorgang = Convert.ToInt32((sender as Button).Tag); // 1 - Anzeigen, 2 - Drucken, 3 - Design, 4 - Neuer Report, 5 - Report Exportieren, 6 - Löschen if (vorgang != 4) { switch (_Auswahl) { case EnumFilterAuswertung.Anmeldung: _AktAuswertung = (tabAuswertung)_ListeReporteAnmeldung.Current; break; case EnumFilterAuswertung.Bauteil: _AktAuswertung = (tabAuswertung)_ListeReporteBauteil.Current; break; case EnumFilterAuswertung.Reparatur: _AktAuswertung = (tabAuswertung)_ListeReporteReparatur.Current; break; } if (_AktAuswertung == null) { MessageBox.Show("Es wurde kein Report ausgewählt.", "Fehler !", MessageBoxButton.OK, MessageBoxImage.Information); return; } switch (vorgang) { case 5: // Exportieren SaveFileDialog dia = new SaveFileDialog() { Filter = "Fastreport (*.frx)|*.frx|Alle Dateien (*.*)|*.*", FilterIndex = 1 }; if (dia.ShowDialog() ?? false) { _Report.Save(dia.FileName); MemoryStream mem; mem = new MemoryStream(_AktAuswertung.Report); using (Stream f = File.Create(dia.FileName)) { mem.CopyTo(f); } } return; case 6: // Report löschen var mb = MessageBox.Show($"Report {_AktAuswertung.ReportName} löschen ?", "Löschabfrage", MessageBoxButton.YesNo, MessageBoxImage.Question, MessageBoxResult.None); if (mb == MessageBoxResult.Yes) { switch (_Auswahl) { case EnumFilterAuswertung.Anmeldung: _ListeReporteAnmeldung.Delete(_AktAuswertung); break; case EnumFilterAuswertung.Bauteil: _ListeReporteBauteil.Delete(_AktAuswertung); break; case EnumFilterAuswertung.Reparatur: _ListeReporteReparatur.Delete(_AktAuswertung); break; } } return; } _Report.Clear(); if (_AktAuswertung.Report == null) { vorgang = 3; } else { var mem = new MemoryStream(_AktAuswertung.Report); _Report.Load(mem); } } switch (_Auswahl) { case JgMaschineData.EnumFilterAuswertung.Anmeldung: if (tcAnmeldung.SelectedIndex == 0) { _Report.RegisterData(_ListeAnmeldungen.Daten, "Daten"); } else { _Report.RegisterData(_ListeAnmeldungAuswahl.Daten, "Daten"); _Report.SetParameterValue("DatumVon", _DzAnmeldungVon.AnzeigeDatumZeit); _Report.SetParameterValue("DatumBis", _DzAnmeldungBis.AnzeigeDatumZeit); } _Report.SetParameterValue("IstAktuell", tcAnmeldung.SelectedIndex == 0); break; case EnumFilterAuswertung.Bauteil: if (_Maschine == null) { MessageBox.Show("Wählen Sie eine Maschine aus."); return; } _Report.RegisterData(_ListeBauteilAuswahl.Daten, "Daten"); _Report.SetParameterValue("MaschinenName", _Maschine.MaschinenName); _Report.SetParameterValue("DatumVon", _DzBauteilVon.AnzeigeDatumZeit); _Report.SetParameterValue("DatumBis", _DzBauteilBis.AnzeigeDatumZeit); break; case EnumFilterAuswertung.Reparatur: if (tcReparatur.SelectedIndex == 0) { _Report.RegisterData(_ListeReparaturen.Daten, "Daten"); } else { _Report.RegisterData(_ListeReparaturAuswahl.Daten, "Daten"); _Report.SetParameterValue("DatumVon", _DzReparaturVon.AnzeigeDatumZeit); _Report.SetParameterValue("DatumBis", _DzReparaturBis.AnzeigeDatumZeit); } _Report.SetParameterValue("IstAktuell", tcReparatur.SelectedIndex == 0); break; default: break; } if (vorgang == 4) // Neuer Report { var repName = ""; var formNeu = new Fenster.FormNeuerReport(); if (!formNeu.ShowDialog() ?? false) { return; } repName = formNeu.ReportName; string username = System.Security.Principal.WindowsIdentity.GetCurrent().Name; _AktAuswertung = new tabAuswertung() { Id = Guid.NewGuid(), FilterAuswertung = _Auswahl, ReportName = repName, ErstelltDatum = DateTime.Now, ErstelltName = username, GeaendertDatum = DateTime.Now, GeaendertName = username }; switch (_Auswahl) { case EnumFilterAuswertung.Anmeldung: _ListeReporteAnmeldung.Add(_AktAuswertung); break; case EnumFilterAuswertung.Bauteil: _ListeReporteBauteil.Add(_AktAuswertung); break; case EnumFilterAuswertung.Reparatur: _ListeReporteReparatur.Add(_AktAuswertung); break; } _Report.Design(); } else { switch (vorgang) { case 1: _Report.Show(); break; case 2: _Report.Print(); break; case 3: _Report.Design(); break; } } }
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 Btn_Submit_Click(object sender, EventArgs e) { string Matter = string.Format("【退款审批】-用户号:{0};用户名:{1};退款金额:{2};退款原因:{3}", WATERUSERNO.Text, ApplyUser.Text, CHARGEBCSS_IN.Text, RefundDescribe.Text); Btn_Submit.Enabled = false; int count = sysidal.UpdateApprove_Refund_defalut(ResolveID, IsPass.Checked, UserOpinion.Text.Trim(), PointSort, TaskID, Matter); if (count > 0) { if (sysidal.IsWorkTaskOver("User_Refund", TaskID))//获取审批状态,如果是Meter_WorkTask.state=5 和User_Refund.state=5,说明审批流程走完 { bool IsUserRefund = false; //====================================================================================================== #region 20160909 ByRen //修改PersonalWork_DAL类函数GetUserAllowRefund,增加预存单号ID、地址、账户余额字段,修改查询条件VV.CHARGEBCSS<=VW.prestore //using BASEFUNCTION;//引用基本函数类,获取收费ID //增加收费员ID和收费员姓名 //private string strLoginID = ""; //private string strUserName = ""; //在窗体加载时判断能否获取到收费员ID和姓名 //在类SqlServerHelper内添加自定义执行函数ExcuteSql //新建@"\PRINTModel\收据模板\审批_退费模板.frx"打印模板 //-----增加了打印收据,应增加加打印收据勾选框及收据号 //引用fastreport类 //添加了退款单号的更新 string strWaterUserID = "", strWaterUserName = "", strWaterUserAddress = "", strChargeIDOld = "", strPrestoreRunningAccountIDOld = "", strChargeIDNew = "", strPrestoreRunningAccountIDNew = ""; decimal decPrestore = 0, decRefund = 0; DateTime dtNow = new DateTime(); Messages mes = new Messages(); dtNow = mes.GetDatetimeNow(); Hashtable ht = sysidal.GetUserAllowRefund(CHARGEID_IN.Text); object objWaterUser = ht["WATERUSERNO"]; if (objWaterUser != null && objWaterUser != DBNull.Value) { strWaterUserID = objWaterUser.ToString(); objWaterUser = ht["APPLYUSER"]; if (objWaterUser != null && objWaterUser != DBNull.Value) { strWaterUserName = objWaterUser.ToString(); } objWaterUser = ht["WATERUSERADDRESS"]; if (objWaterUser != null && objWaterUser != DBNull.Value) { strWaterUserAddress = objWaterUser.ToString(); } objWaterUser = ht["CHARGEID"]; if (objWaterUser != null && objWaterUser != DBNull.Value) { strChargeIDOld = objWaterUser.ToString(); } objWaterUser = ht["PRESTORERUNNINGACCOUNTID"]; if (objWaterUser != null && objWaterUser != DBNull.Value) { strPrestoreRunningAccountIDOld = objWaterUser.ToString(); } try { objWaterUser = ht["PRESTORE"]; if (objWaterUser != null && objWaterUser != DBNull.Value) { decPrestore = Convert.ToDecimal(objWaterUser); } } catch (Exception ex) { } try { decRefund = Convert.ToDecimal(CHARGEBCSS_IN.Text); } catch (Exception ex) { } GETTABLEID GETTABLEID = new GETTABLEID(); strChargeIDNew = GETTABLEID.GetTableID(strLoginID, "WATERFEECHARGE"); strPrestoreRunningAccountIDNew = GETTABLEID.GetTableID(strLoginID, "PRESTORERUNNINGACCOUNT"); string strSQL = string.Format(@" BEGIN TRAN BEGIN INSERT INTO PRESTORERUNNINGACCOUNT(PRESTORERUNNINGACCOUNTID,CHARGEID,WATERUSERID,WATERUSERNO,WATERUSERNAME,WATERUSERNAMECODE,WATERUSERPHONE,WATERUSERADDRESS,WATERUSERPEOPLECOUNT,AREANO,PIANNO,DUANNO, ORDERNUMBER,COMMUNITYID,COMMUNITYNAME,BUILDINGNO,UNITNO,METERREADERID,METERREADERNAME,CHARGERID,CHARGERNAME,WATERUSERTYPEID,WATERUSERTYPENAME,WATERMETERTYPEID, WATERMETERTYPEVALUE,WATERMETERTYPECLASSID,WATERMETERTYPECLASSNAME,WATERUSERHOUSETYPE,CREATETYPE) SELECT '{0}','{1}',WATERUSERID,WATERUSERNO,WATERUSERNAME,WATERUSERNAMECODE,WATERUSERPHONE,WATERUSERADDRESS,WATERUSERPEOPLECOUNT,AREANO,PIANNO,DUANNO, ORDERNUMBER,COMMUNITYID,COMMUNITYNAME,BUILDINGNO,UNITNO,METERREADERID,METERREADERNAME,CHARGERID,CHARGERNAME,WATERUSERTYPEID,WATERUSERTYPENAME,WATERMETERTYPEID, WATERMETERTYPEVALUE,WATERMETERTYPECLASSID,WATERMETERTYPECLASSNAME,WATERUSERHOUSETYPE,CREATETYPE FROM PRESTORERUNNINGACCOUNT WHERE PRESTORERUNNINGACCOUNTID='{2}'", strPrestoreRunningAccountIDNew, strChargeIDNew, strPrestoreRunningAccountIDOld); strSQL += string.Format(@" INSERT INTO WATERFEECHARGE(CHARGEID,CHARGETYPEID,CHARGEClASS,CHARGEBCSS,CHARGEYSQQYE,CHARGEYSBCSZ,CHARGEYSJSYE,CHARGEWORKERID,CHARGEWORKERNAME,CHARGEDATETIME,RECEIPTNO) SELECT '{0}','1','6',-{1},{2},-{3},{4},'{5}','{6}',GETDATE(),RECEIPTNO FROM WATERFEECHARGE WHERE CHARGEID='{7}'", strChargeIDNew, decRefund, decPrestore, decRefund, decPrestore - decRefund, strLoginID, strUserName, strChargeIDOld); strSQL += string.Format(@" UPDATE WATERUSER SET PRESTORE={0} WHERE WATERUSERID='{1}'", decPrestore - decRefund, strWaterUserID); strSQL += @"END IF(@@ERROR>0) BEGIN ROLLBACK TRAN RETURN END COMMIT TRAN "; int intRows = 0; try { intRows = new SqlServerHelper().ExcuteSql(strSQL); } catch (Exception ex) { mes.Show("执行退款语句失败,原因:" + ex.Message); return; } if (intRows > 0) { IsUserRefund = true; //打印收据 FastReport.Report report1 = new FastReport.Report(); try { // load the existing report report1.Load(Application.StartupPath + @"\PRINTModel\收据模板\审批_退费模板.frx"); (report1.FindObject("CellWaterUserNO") as FastReport.Table.TableCell).Text = strWaterUserID; (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 = "前期余额: " + decPrestore.ToString("F2"); (report1.FindObject("txtBCJF") as FastReport.TextObject).Text = "本次退费: " + (0 - decRefund).ToString(); (report1.FindObject("txtJSYE") as FastReport.TextObject).Text = "结算余额: " + (decPrestore - decRefund).ToString("F2"); (report1.FindObject("txtChargeWorkerName") as FastReport.TextObject).Text = strUserName; (report1.FindObject("txtReceiptNO") as FastReport.TextObject).Text = "NO."; (report1.FindObject("txtMeterReader") as FastReport.TextObject).Text = "抄表员"; report1.Prepare(); report1.PrintSettings.ShowDialog = false; report1.Print(); } catch (Exception ex) { mes.Show("打印收据错误,原因:" + ex.Message); } finally { // free resources used by report report1.Dispose(); } } } else { MessageBox.Show("账户余额不足或收款单号不存在,无法退款!"); return; } #endregion if (IsUserRefund) { Hashtable hu = new Hashtable(); //退款时间:CHARGEID_OutTime //退款金额: CHARGEBCSS_Out //退款人ID:CHARGEWORKERID //退款人:CHARGEWORKERNAME //退款状态:IsRefund;0-未退款,1-已退款 hu["IsRefund"] = 1; hu["CHARGEWORKERNAME"] = AppDomain.CurrentDomain.GetData("USERNAME").ToString(); hu["CHARGEWORKERID"] = AppDomain.CurrentDomain.GetData("LOGINID").ToString(); hu["CHARGEID_OutTime"] = DateTime.Now.ToString(); hu["CHARGEBCSS_Out"] = 0;//===================================================== //添加退款单号 ByRen hu["CHARGEID_Out"] = strChargeIDNew; int upCount = new SqlServerHelper().UpdateByHashtable("User_Refund", "TaskID", TaskID, hu); if (upCount > 0) { this.DialogResult = DialogResult.OK; MessageBox.Show("退款成功!"); this.Close(); } else { MessageBox.Show("退款成功 ,记录保存失败!"); } } else { MessageBox.Show("退款失败!"); } } else { this.DialogResult = DialogResult.OK; MessageBox.Show("审批成功!"); this.Close(); } } else { Btn_Submit.Enabled = true; } }
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"; } }
internal void PrintOrder(OrderInfo order, bool preview = false) { string fileName = Path.Combine(Environment.CurrentDirectory, "steelorder.frx"); FastReport.Report report = new FastReport.Report(); report.Load(fileName); report.SetParameterValue("orderno", order.orderno); report.SetParameterValue("orderid", order.orderid); report.SetParameterValue("customer", order.customer); report.SetParameterValue("phone", order.phone); report.SetParameterValue("addr", order.addr); report.SetParameterValue("orderdate", order.orderdate); string detailno = "0", guage = "", number = "", acreage = "", price = "", money = "", note = ""; for (int i = 1; i < 6; i++) { detailno = "detailno" + i.ToString(); guage = "guage" + i.ToString(); number = "number" + i.ToString(); acreage = "acreage" + i.ToString(); price = "price" + i.ToString(); money = "money" + i.ToString(); note = "note" + i.ToString(); if (i <= order.Detail.Count) { report.SetParameterValue(detailno, order.Detail[i - 1].XH); report.SetParameterValue(guage, order.Detail[i - 1].GG); report.SetParameterValue(number, (order.Detail[i - 1].SL.ToString())); report.SetParameterValue(acreage, (order.Detail[i - 1].MJ.ToString())); report.SetParameterValue(price, (order.Detail[i - 1].DJ.ToString())); report.SetParameterValue(money, (order.Detail[i - 1].JE.ToString())); report.SetParameterValue(note, order.Detail[i - 1].BZ); } else { report.SetParameterValue(detailno, i.ToString()); report.SetParameterValue(guage, ""); report.SetParameterValue(number, ""); report.SetParameterValue(acreage, ""); report.SetParameterValue(price, ""); report.SetParameterValue(money, ""); report.SetParameterValue(note, ""); } } report.SetParameterValue("sumnumber", (order.sumnumber.ToString())); report.SetParameterValue("sumacreage", order.sumacreage.ToString()); report.SetParameterValue("summoney", (order.summoney.ToString())); report.SetParameterValue("dxje", RMBUtils.CmycurD(Convert.ToDecimal(order.summoney))); report.SetParameterValue("operation", order.operation); report.SetParameterValue("sign", order.sign); report.SetParameterValue("lxdz", order.lxdz); report.SetParameterValue("lxdh", order.lxdh); report.SetParameterValue("bz", order.bz); report.PrintSettings.ShowDialog = false; //FastReport环境变量设置(打印时不提示 "正在准备../正在打印..",一个程序只需设定一次,故一般写在程序入口) (new FastReport.EnvironmentSettings()).ReportSettings.ShowProgress = false; if (preview) { report.Prepare(); report.ShowPrepared(); } else { report.Print(); } }
private void btCharge_Click(object sender, EventArgs e) { if (txtWaterUserID.Text.Trim() == "") { mes.Show("未找到用户ID信息,请重新查询后重试!"); txtWaterUserNOSearch.Focus(); return; } //如果用户存在欠费金额,则不允退费 object objWaterUserQF = BLLreadMeterRecord.QueryQFByWaterUser(txtWaterUserID.Text.Trim()); if (Information.IsNumeric(objWaterUserQF)) { txtWaterFee.Text = Convert.ToDecimal(objWaterUserQF).ToString("F2"); if (Convert.ToDecimal(objWaterUserQF) > 0) { mes.Show("当前用户存在欠费余额,无法执行退费操作!"); return; } } else { txtWaterFee.Text = "0"; } if (Convert.ToDecimal(txtYSQQYE.Text) <= 0) { mes.Show("用户预存余额为0,无需退费!"); txtYSQQYE.Focus(); return; } if (chkReceipt.Checked) { if (txtReceiptNO.Text.Trim() == "") { mes.Show("请输入收据号!"); txtReceiptNO.Focus(); return; } if (!Information.IsNumeric(txtReceiptNO.Text)) { mes.Show("收据号只能由数字组成!"); txtReceiptNO.SelectAll(); return; } txtReceiptNO.Text = txtReceiptNO.Text.PadLeft(8, '0'); if (BLLWATERFEECHARGE.IsExistReceiptNO(txtReceiptNO.Text)) { if (mes.ShowQ("系统检测到号码为'" + txtReceiptNO.Text + "'的收据已使用,确定使用此号码吗?") != DialogResult.OK) { txtReceiptNO.SelectAll(); return; } } } try { MODELWATERFEECHARGE MODELWATERFEECHARGE = new MODELWATERFEECHARGE(); MODELWATERFEECHARGE.CHARGEID = GETTABLEID.GetTableID(strLoginID, "WATERFEECHARGE"); MODELWATERFEECHARGE.CHARGETYPEID = "1"; MODELWATERFEECHARGE.CHARGEClASS = "6";//收费类型是用户余额退费 MODELWATERFEECHARGE.CHARGEYSQQYE = Convert.ToDecimal(txtYSQQYE.Text); MODELWATERFEECHARGE.CHARGEBCSS = 0 - MODELWATERFEECHARGE.CHARGEYSQQYE; MODELWATERFEECHARGE.CHARGEYSBCSZ = 0 - MODELWATERFEECHARGE.CHARGEYSQQYE; MODELWATERFEECHARGE.CHARGEYSJSYE = 0; MODELWATERFEECHARGE.CHARGEWORKERID = strLoginID; MODELWATERFEECHARGE.CHARGEWORKERNAME = strLoginName; MODELWATERFEECHARGE.CHARGEDATETIME = mes.GetDatetimeNow(); MODELWATERFEECHARGE.INVOICEPRINTSIGN = "0"; if (chkReceipt.Checked) { MODELWATERFEECHARGE.RECEIPTPRINTCOUNT = 1; MODELWATERFEECHARGE.RECEIPTNO = txtReceiptNO.Text; } MODELWATERFEECHARGE.INVOICEPRINTSIGN = "0"; MODELWATERFEECHARGE.MEMO = txtMemo.Text; if (BLLWATERFEECHARGE.Insert(MODELWATERFEECHARGE)) { try { MODELPRESTORERUNNINGACCOUNT MODELPRESTORERUNNINGACCOUNT = new MODELPRESTORERUNNINGACCOUNT(); MODELPRESTORERUNNINGACCOUNT.PRESTORERUNNINGACCOUNTID = GETTABLEID.GetTableID(strLoginID, "PRESTORERUNNINGACCOUNT"); MODELPRESTORERUNNINGACCOUNT.WATERUSERID = txtWaterUserID.Text; MODELPRESTORERUNNINGACCOUNT.WATERUSERNO = txtWaterUserNO.Text; MODELPRESTORERUNNINGACCOUNT.WATERUSERNAME = txtWaterUserName.Text; MODELPRESTORERUNNINGACCOUNT.WATERUSERNAMECODE = txtNameCode.Text; MODELPRESTORERUNNINGACCOUNT.WATERUSERPHONE = txtWaterUserPhone.Text; MODELPRESTORERUNNINGACCOUNT.WATERUSERADDRESS = txtWaterUserAddress.Text; if (Information.IsNumeric(txtWaterUserPeopleCount.Text)) { MODELPRESTORERUNNINGACCOUNT.WATERUSERPEOPLECOUNT = Convert.ToInt16(txtWaterUserPeopleCount.Text); } MODELPRESTORERUNNINGACCOUNT.AREANO = txtAreaNO.Text; MODELPRESTORERUNNINGACCOUNT.PIANNO = txtPianNO.Text; MODELPRESTORERUNNINGACCOUNT.DUANNO = txtDuanNO.Text; MODELPRESTORERUNNINGACCOUNT.COMMUNITYID = txtCommunityID.Text; MODELPRESTORERUNNINGACCOUNT.COMMUNITYNAME = txtCommunity.Text; if (Information.IsNumeric(txtOrderNumber.Text)) { MODELPRESTORERUNNINGACCOUNT.ORDERNUMBER = Convert.ToInt16(txtOrderNumber.Text); } //MODELPRESTORERUNNINGACCOUNT.BUILDINGNO = txtBuildingNO.Text; //MODELPRESTORERUNNINGACCOUNT.UNITNO = txtUnitNO.Text; MODELPRESTORERUNNINGACCOUNT.METERREADERID = txtMeterReaderID.Text; MODELPRESTORERUNNINGACCOUNT.METERREADERNAME = txtMeterReader.Text; MODELPRESTORERUNNINGACCOUNT.CHARGERID = txtChargerID.Text; MODELPRESTORERUNNINGACCOUNT.CHARGERNAME = txtCharger.Text; MODELPRESTORERUNNINGACCOUNT.waterMeterTypeId = txtWaterMeterTypeID.Text; MODELPRESTORERUNNINGACCOUNT.waterMeterTypeValue = txtWaterMeterTypeValue.Text; MODELPRESTORERUNNINGACCOUNT.WATERMETERTYPECLASSID = txtWaterMeterTypeClassID.Text; MODELPRESTORERUNNINGACCOUNT.WATERMETERTYPECLASSNAME = txtWaterMeterTypeClassName.Text; MODELPRESTORERUNNINGACCOUNT.WATERUSERTYPEID = txtWaterUserTypeID.Text; MODELPRESTORERUNNINGACCOUNT.WATERUSERTYPENAME = txtWaterUserType.Text; //MODELPRESTORERUNNINGACCOUNT.WATERUSERHOUSETYPE = txtWaterUserHouseType.Text; //MODELPRESTORERUNNINGACCOUNT.CREATETYPE = txtCreateType.Text; //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"; btCharge.Enabled = false; btSearchLS_Click(null, null); //更新余额 string strUpdatePrestore = "UPDATE waterUser SET prestore=" + MODELWATERFEECHARGE.CHARGEYSJSYE + " WHERE waterUserId='" + txtWaterUserID.Text + "'"; if (!BLLwaterUser.UpdateSQL(strUpdatePrestore)) { string strError = "更新用户编号为'" + txtWaterUserID.Text + "'的余额失败,请手动添加预收余额!"; mes.Show(strError); log.Write(strError, MsgType.Error); } //如果勾选了打收据,打印收据 else if (chkReceipt.Checked) { //--打印收据 #region FastReport.Report report1 = new FastReport.Report(); try { 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 = txtWaterUserNO.Text; (report1.FindObject("CellWaterUserName") as FastReport.Table.TableCell).Text = txtWaterUserName.Text; (report1.FindObject("CellWaterUserAddress") as FastReport.Table.TableCell).Text = txtWaterUserAddress.Text; (report1.FindObject("txtQQYE") as FastReport.TextObject).Text = "前期余额: " + MODELWATERFEECHARGE.CHARGEYSQQYE.ToString("F2"); (report1.FindObject("txtBCTF") as FastReport.TextObject).Text = "本次退费: " + MODELWATERFEECHARGE.CHARGEYSBCSZ; (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 = txtMeterReader.Text; (report1.FindObject("txtMeterReaderTel") as FastReport.TextObject).Text = txtMeterReaderTel.Text; 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); } 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; } }
private void Btn_Print_Click(object sender, EventArgs e) { if (RECEIPTNO.Text.Trim() == "") { mes.Show("请输入收据号!"); RECEIPTNO.Focus(); return; } if (!Information.IsNumeric(RECEIPTNO.Text)) { mes.Show("收据号只能由数字组成!"); RECEIPTNO.SelectAll(); return; } RECEIPTNO.Text = RECEIPTNO.Text.PadLeft(8, '0'); if (BLLWATERFEECHARGE.IsExistReceiptNO(RECEIPTNO.Text)) { if (mes.ShowQ("系统检测到号码为'" + RECEIPTNO.Text + "'的收据已使用,确定使用此号码吗?") != DialogResult.OK) { RECEIPTNO.SelectAll(); return; } } if (CHARGETYPEID.SelectedValue == null || CHARGETYPEID.SelectedValue == DBNull.Value) { mes.Show("收款方式不能为空!"); CHARGETYPEID.Focus(); return; } else { if (CHARGETYPEID.SelectedValue.ToString() == "2") { if (POSRUNNINGNO.Text.Trim() == "") { mes.Show("请输入POS机收费的交易流水号!"); POSRUNNINGNO.Focus(); return; } } } if (_BCSS > 0m) { if (Approve_Finance()) { //===================================ByRen201610170956===================================================打印收据 #region FastReport.Report report1 = new FastReport.Report(); try { string strWaterUserName = "", strAddress = "", strFeeName = ""; DateTime dtNow = mes.GetDatetimeNow(); //获取收据打印时间 decimal decDepSum = 0; object objMes = htBaseMes["WATERUSERNAME"]; if (objMes != null && objMes != DBNull.Value) { strWaterUserName = objMes.ToString(); } objMes = htBaseMes["WATERUSERADDRESS"]; if (objMes != null && objMes != DBNull.Value) { strAddress = objMes.ToString(); } for (int i = 0; i < dtFeeItems.Rows.Count; i++) { string strFeeNameSingle = ""; decimal decFeeSingle = 0; object obj = dtFeeItems.Rows[i]["FeeItem"]; if (obj != null && obj != DBNull.Value) { strFeeNameSingle = obj.ToString(); } obj = dtFeeItems.Rows[i]["Fee"]; if (Information.IsNumeric(obj)) { decFeeSingle = Convert.ToDecimal(obj); } if (strFeeName == "") { strFeeName = strFeeNameSingle + ":" + decFeeSingle.ToString("F2"); } else { strFeeName += "\r\n" + strFeeNameSingle + ":" + decFeeSingle.ToString("F2"); } decDepSum += decFeeSingle; } report1.Load(Application.StartupPath + @"\PRINTModel\收据模板\报装预算收据.frx"); (report1.FindObject("CellWaterUserName") as FastReport.Table.TableCell).Text = strWaterUserName; (report1.FindObject("CellWaterUserAddress") as FastReport.Table.TableCell).Text = strAddress; (report1.FindObject("txtBCSS") as FastReport.TextObject).Text = "本次实收: " + _BCSS.ToString("F2"); (report1.FindObject("txtYSZJ") as FastReport.TextObject).Text = "预算总计: " + _BCSS.ToString("F2"); (report1.FindObject("txtFeeDetailSummery") as FastReport.TextObject).Text = strFeeDepartMent + "预算明细: "; (report1.FindObject("txtFeeDetail") as FastReport.TextObject).Text = strFeeName; (report1.FindObject("txtChargeWorkerName") as FastReport.TextObject).Text = strRealName; (report1.FindObject("txtReceiptNO") as FastReport.TextObject).Text = "NO." + RECEIPTNO.Text.PadLeft(8, '0'); string strCapMoney = RMBToCapMoney.CmycurD(_BCSS.ToString("F2")); if (CHARGETYPEID.SelectedValue.ToString() == "2") { (report1.FindObject("txtCapMoney") as FastReport.TextObject).Text = "金额大写:" + strCapMoney + " " + "交易流水号:" + POSRUNNINGNO.Text; } else { (report1.FindObject("txtCapMoney") as FastReport.TextObject).Text = "金额大写:" + strCapMoney; } report1.PrintSettings.ShowDialog = false; report1.Prepare(); report1.Print(); //获取新的收据号码,8位收据号 if (Information.IsNumeric(RECEIPTNO.Text)) { RECEIPTNO.Text = (Convert.ToInt64(RECEIPTNO.Text) + 1).ToString().PadLeft(8, '0'); } } catch (Exception exx) { MessageBox.Show(exx.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } finally { // free resources used by report report1.Dispose(); } #endregion //========================================================================= mes.Show("收费成功!"); BindDepartmentFee(); TOTALCHARGE.Text = ""; CHARGEBCSS.Text = ""; } } else { mes.Show("未检测到收费信息!"); } }
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的打印,计数器增加; } }
public override void ImprimirEnOtroFormato() { string nombreArchivo = ""; string logoEmpresa = ""; Bitmap imgLogo; FastReport.Base frBase; int tipoNCF = 0; int diasCredito = 0; double montoACredito = 0; try { nombreArchivo = Environment.CurrentDirectory + @"\Reportes\factura.frx"; tipoNCF = objUtil.GetAsInt("Tipo_NCF", DTVistaData.Rows[0]); diasCredito = objUtil.GetAsInt("Dias_Credito", DTVistaData.Rows[0]); montoACredito = objUtil.GetAsDouble("Monto_ACredito", DTVistaData.Rows[0]); using (FastReport.Report report = new FastReport.Report()) { report.Load(nombreArchivo); report.RegisterData(DTVistaData, "VVENTAS_DETALLE"); report.RegisterData(DTOficina, "VEMPRESAS_OFICINAS"); //Vamos a asignar el logo logoEmpresa = Environment.CurrentDirectory + @"\images\logo.png"; if (File.Exists(logoEmpresa)) { imgLogo = (Bitmap)Image.FromFile(logoEmpresa); FastReport.PictureObject ptLogo = report.FindObject("ptLogo") as FastReport.PictureObject; ptLogo.Image = imgLogo; } if (tipoNCF <= 0) { frBase = report.FindObject("txtNCF"); if (frBase != null) { FastReport.TextObject txt = (frBase as FastReport.TextObject); txt.Visible = false; } } if ((diasCredito <= 0) || (montoACredito <= 0)) { frBase = report.FindObject("txtFechaVence"); if (frBase != null) { FastReport.TextObject txt = (frBase as FastReport.TextObject); txt.Visible = false; } } report.PrintSettings.PrintMode = FastReport.PrintMode.Default; report.Print(); } } catch (Exception) { throw; } }
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 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; } }
/// <summary> /// 打印 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> void tsmPrintReport_Click(object sender, EventArgs e) { report = new FastReport.Report(); if (!report.IsPrinting) { GetData(tsmChooseDetail[iDefaultChecked].Name); report.Load(new MemoryStream(bt)); RegReportData(); } report.Print(); report.Dispose(); }