private void toolDayCheck_Click(object sender, EventArgs e) { try { string strFilter = " AND ISNULL(CHARGECANCEL,'0')='0' "; if (txtFilter.Text == "") { strFilter += " AND CHARGEWORKERID='" + cmbChargerWorkName.SelectedValue.ToString() + "'"; } else { strFilter += txtFilter.Text; } MODELWATERFEECHARGE MODELWATERFEECHARGE = new MODELWATERFEECHARGE(); MODELWATERFEECHARGE.DAYCHECKSTATE = "1"; MODELWATERFEECHARGE.DAYCHECKWORKERNAME = strUserName; MODELWATERFEECHARGE.DAYCHECKDATETIME = mes.GetDatetimeNow(); int intCount = BLLWATERFEECHARGE.UpdateDayCheckState(MODELWATERFEECHARGE, strFilter); mes.Show("成功审核:" + intCount + "条收费单据"); } catch (Exception ex) { mes.Show(ex.Message); log.Write(ex.ToString(), MsgType.Error); } }
private void 反月结ToolStripMenuItem_Click(object sender, EventArgs e) { if (dgHistoryWaterFee.CurrentRow == null) { return; } object objChargeID = dgHistoryWaterFee.CurrentRow.Cells["CHARGEID"].Value; if (objChargeID != null && objChargeID != DBNull.Value) { if (mes.ShowQ("确定要将单号为'" + objChargeID.ToString() + "'的收费单据反月结吗?") == DialogResult.OK) { MODELWATERFEECHARGE MODELWATERFEECHARGE = new MODELWATERFEECHARGE(); MODELWATERFEECHARGE.CHARGEID = objChargeID.ToString(); //MODELWATERFEECHARGE.SETTLEACCOUNTSSSID = null; MODELWATERFEECHARGE.MONTHCHECKSTATE = "0"; if (BLLWATERFEECHARGE.UpdateMonthCheckState(MODELWATERFEECHARGE, " AND CHARGEID='" + objChargeID.ToString() + "'") > 0) { dgHistoryWaterFee.CurrentRow.Cells["SETTLEACCOUNTSSSID"].Value = DBNull.Value; mes.Show("反月结成功!"); } else { mes.Show("反月结失败,请重新选择单据后重试!"); } } } else { mes.Show("获取单号失败,请重新选择要操作的单号!"); return; } }
private void btModify_Click(object sender, EventArgs e) { if (cmbChargeTypeNew.SelectedValue == null || cmbChargeTypeNew.SelectedValue == DBNull.Value) { mes.Show("新的收款方式不能为空!"); return; } if (dgHistoryWaterFee.CurrentRow == null) { return; } string strID = cmbChargeTypeNew.SelectedValue.ToString(); if (strID == "2" || strID == "3") { if (txtJYLSH.Text.Trim() == "") { mes.Show("请输入交易凭证号!"); return; } } try { object objChargeID = dgHistoryWaterFee.CurrentRow.Cells["CHARGEID"].Value; if (objChargeID != null && objChargeID != DBNull.Value) { MODELWATERFEECHARGE MODELWATERFEECHARGE = new MODELWATERFEECHARGE(); MODELWATERFEECHARGE.CHARGEID = objChargeID.ToString(); MODELWATERFEECHARGE.CHARGETYPEID = strID; if (strID == "2" || strID == "3") { MODELWATERFEECHARGE.POSRUNNINGNO = txtJYLSH.Text; } if (BLLWATERFEECHARGE.UpdateChargeType(MODELWATERFEECHARGE)) { dgHistoryWaterFee.CurrentRow.Cells["CHARGETYPEID"].Value = MODELWATERFEECHARGE.CHARGETYPEID; dgHistoryWaterFee.CurrentRow.Cells["CHARGETYPENAME"].Value = cmbChargeTypeNew.Text; dgHistoryWaterFee.CurrentRow.Cells["POSRUNNINGNO"].Value = MODELWATERFEECHARGE.POSRUNNINGNO; mes.Show("修改成功!"); } else { mes.Show("修改失败!"); } } } catch (Exception ex) { mes.Show("修改收款方式失败,原因:" + ex.Message); log.Write(ex.ToString(), MsgType.Error); return; } }
private void 反日结ToolStripMenuItem_Click(object sender, EventArgs e) { if (dgHistoryWaterFee.CurrentRow == null) { return; } object objJZ = dgHistoryWaterFee.CurrentRow.Cells["SETTLEACCOUNTSSSID"].Value; if (objJZ != null && objJZ != DBNull.Value && objJZ.ToString() != "") { mes.Show("该单据已月账,无法执行此操作!"); return; } object objChargeID = dgHistoryWaterFee.CurrentRow.Cells["CHARGEID"].Value; if (objChargeID != null && objChargeID != DBNull.Value) { if (mes.ShowQ("确定要将单号为'" + objChargeID.ToString() + "'的收费单据反日结吗?") == DialogResult.OK) { MODELWATERFEECHARGE MODELWATERFEECHARGE = new MODELWATERFEECHARGE(); MODELWATERFEECHARGE.CHARGEID = objChargeID.ToString(); MODELWATERFEECHARGE.DAYCHECKSTATE = "0"; if (BLLWATERFEECHARGE.UpdateDayCheckState(MODELWATERFEECHARGE, " AND CHARGEID='" + objChargeID.ToString() + "'") > 0) { dgHistoryWaterFee.CurrentRow.Cells["DAYCHECKSTATES"].Value = "否"; mes.Show("反日结成功!"); } else { mes.Show("反日结失败,请重新选择单据后重试!"); } } } else { mes.Show("获取单号失败,请重新选择要操作的单号!"); return; } }
private void btCharge_Click(object sender, EventArgs e) { try { if (dgWaterUser.Rows.Count == 0) { mes.Show("未找到预交水费的用户信息!"); return; } if (cmbChargeType.SelectedValue == null || cmbChargeType.SelectedValue == DBNull.Value) { mes.Show("收费方式不能为空!"); cmbChargeType.Focus(); return; } if (!Information.IsNumeric(txtBCYC.Text)) { return; } else if (Convert.ToDecimal(txtBCYC.Text) <= 0) { mes.Show("预存金额不能为'0'"); txtBCYC.Focus(); return; } for (int i = 0; i < dgWaterUser.SelectedRows.Count; i++) { try { string strWaterUserID = "", strWaterUserNO = "", strWaterUserName = "", strWaterUserNameCode = "", strTelNO = "", strWaterUserPhone = "", strWaterUserAddress = "", strAreaNO = "", strPianNO = "", strDuanNO = "", strCommunityID = "", strCommunityName = "", strBuildingNO = "", strUnitNO = "", strMeterReaderID = "", strMeterReaderName = "", strMeterReaderTel = "", strChargeID = "", strChargerName = "", strWaterUserTypeID = "", strWaterUserTypeName = "", strWaterUserHouseType = "", strCreateType = "", strWaterMeterTypeID = "", strWaterMeterTypeName = "", strWaterMeterTypeClassID = "", strWaterMeterTypeClassName = ""; int intPepleCount = 1, intOrderNumber = 0; object objWaterUserID = dgWaterUser.SelectedRows[i].Cells["waterUserId"].Value; if (objWaterUserID == null || objWaterUserID == DBNull.Value) { mes.Show("第'" + (i + 1).ToString() + "行用户ID获取失败,批量收费终止!"); return; } //计算结算余额 decimal decQQYE = 0, decJSYE = 0; object objPrestore = dgWaterUser.SelectedRows[i].Cells["prestore"].Value; if (Information.IsNumeric(objPrestore)) { decQQYE = Convert.ToDecimal(objPrestore); } decJSYE = decQQYE + Convert.ToDecimal(txtBCYC.Text); #region 生成用户信息 strWaterUserID = objWaterUserID.ToString(); object objWaterUserMes = dgWaterUser.SelectedRows[i].Cells["waterUserNO"].Value; if (objWaterUserMes != null && objWaterUserMes != DBNull.Value) { strWaterUserNO = objWaterUserMes.ToString(); } objWaterUserMes = dgWaterUser.SelectedRows[i].Cells["waterUserName"].Value; if (objWaterUserMes != null && objWaterUserMes != DBNull.Value) { strWaterUserName = objWaterUserMes.ToString(); } objWaterUserMes = dgWaterUser.SelectedRows[i].Cells["waterUserTelphoneNO"].Value; if (objWaterUserMes != null && objWaterUserMes != DBNull.Value) { strTelNO = objWaterUserMes.ToString(); } objWaterUserMes = dgWaterUser.SelectedRows[i].Cells["waterPhone"].Value; if (objWaterUserMes != null && objWaterUserMes != DBNull.Value) { strWaterUserPhone = objWaterUserMes.ToString(); } object objWaterUser = dgWaterUser.SelectedRows[i].Cells["areaNO"].Value; if (objWaterUser != null && objWaterUser != DBNull.Value) { strAreaNO = objWaterUser.ToString(); } objWaterUser = dgWaterUser.SelectedRows[i].Cells["pianNO"].Value; if (objWaterUser != null && objWaterUser != DBNull.Value) { strPianNO = objWaterUser.ToString(); } objWaterUser = dgWaterUser.SelectedRows[i].Cells["DuanNO"].Value; if (objWaterUser != null && objWaterUser != DBNull.Value) { strDuanNO = objWaterUser.ToString(); } objWaterUser = dgWaterUser.SelectedRows[i].Cells["COMMUNITYID"].Value; if (objWaterUser != null && objWaterUser != DBNull.Value) { strCommunityID = objWaterUser.ToString(); } objWaterUser = dgWaterUser.SelectedRows[i].Cells["COMMUNITYNAME"].Value; if (objWaterUser != null && objWaterUser != DBNull.Value) { strCommunityName = objWaterUser.ToString(); } objWaterUser = dgWaterUser.SelectedRows[i].Cells["buildingNO"].Value; if (objWaterUser != null && objWaterUser != DBNull.Value) { strBuildingNO = objWaterUser.ToString(); } objWaterUser = dgWaterUser.SelectedRows[i].Cells["unitNO"].Value; if (objWaterUser != null && objWaterUser != DBNull.Value) { strUnitNO = objWaterUser.ToString(); } objWaterUserMes = dgWaterUser.SelectedRows[i].Cells["WATERUSERTYPEID"].Value; if (objWaterUserMes != null && objWaterUserMes != DBNull.Value) { strWaterUserTypeID = objWaterUserMes.ToString(); } objWaterUserMes = dgWaterUser.SelectedRows[i].Cells["waterUserTypeName"].Value; if (objWaterUserMes != null && objWaterUserMes != DBNull.Value) { strWaterUserTypeName = objWaterUserMes.ToString(); } objWaterUserMes = dgWaterUser.SelectedRows[i].Cells["WATERMETERTYPEID"].Value; if (objWaterUserMes != null && objWaterUserMes != DBNull.Value) { strWaterMeterTypeID = objWaterUserMes.ToString(); } objWaterUserMes = dgWaterUser.SelectedRows[i].Cells["WATERMETERTYPEVALUE"].Value; if (objWaterUserMes != null && objWaterUserMes != DBNull.Value) { strWaterMeterTypeName = objWaterUserMes.ToString(); } objWaterUserMes = dgWaterUser.SelectedRows[i].Cells["WATERMETERTYPECLASSID"].Value; if (objWaterUserMes != null && objWaterUserMes != DBNull.Value) { strWaterMeterTypeClassID = objWaterUserMes.ToString(); } objWaterUserMes = dgWaterUser.SelectedRows[i].Cells["WATERMETERTYPECLASSNAME"].Value; if (objWaterUserMes != null && objWaterUserMes != DBNull.Value) { strWaterMeterTypeClassName = objWaterUserMes.ToString(); } objWaterUserMes = dgWaterUser.SelectedRows[i].Cells["waterUserAddress"].Value; if (objWaterUserMes != null && objWaterUserMes != DBNull.Value) { strWaterUserAddress = objWaterUserMes.ToString(); } objWaterUser = dgWaterUser.SelectedRows[i].Cells["createType"].Value; if (objWaterUser != null && objWaterUser != DBNull.Value) { strCreateType = objWaterUser.ToString(); } objWaterUser = dgWaterUser.SelectedRows[i].Cells["METERREADERID"].Value; if (objWaterUser != null && objWaterUser != DBNull.Value) { strMeterReaderID = objWaterUser.ToString(); DataRow[] drMeterReader = dtMeterReader.Select("LOGINID='" + strMeterReaderID + "'"); object objMeterReaderTel = drMeterReader[0]["TELEPHONENO"]; if (objMeterReaderTel != null && objMeterReaderTel != DBNull.Value) { strMeterReaderTel = objMeterReaderTel.ToString(); } } objWaterUser = dgWaterUser.SelectedRows[i].Cells["meterReaderName"].Value; if (objWaterUser != null && objWaterUser != DBNull.Value) { strMeterReaderName = objWaterUser.ToString(); } objWaterUser = dgWaterUser.SelectedRows[i].Cells["chargerName"].Value; if (objWaterUser != null && objWaterUser != DBNull.Value) { strChargerName = objWaterUser.ToString(); } objWaterUser = dgWaterUser.SelectedRows[i].Cells["CHARGERID"].Value; if (objWaterUser != null && objWaterUser != DBNull.Value) { strChargeID = objWaterUser.ToString(); } objWaterUserMes = dgWaterUser.SelectedRows[i].Cells["waterUserHouseTypeS"].Value; if (objWaterUserMes != null && objWaterUserMes != DBNull.Value) { strWaterUserHouseType = objWaterUserMes.ToString(); } objWaterUserMes = dgWaterUser.SelectedRows[i].Cells["ordernumber"].Value; if (Information.IsNumeric(objWaterUserMes)) { intOrderNumber = Convert.ToInt16(objWaterUserMes); } objWaterUserMes = dgWaterUser.SelectedRows[i].Cells["WATERUSERPEOPLECOUNT"].Value; if (Information.IsNumeric(objWaterUserMes)) { intPepleCount = Convert.ToInt16(objWaterUserMes); } #endregion MODELWATERFEECHARGE MODELWATERFEECHARGE = new MODELWATERFEECHARGE(); MODELWATERFEECHARGE.CHARGEID = GETTABLEID.GetTableID(strLoginID, "WATERFEECHARGE"); MODELWATERFEECHARGE.CHARGETYPEID = cmbChargeType.SelectedValue.ToString(); if (cmbChargeType.SelectedValue.ToString() == "2") { MODELWATERFEECHARGE.POSRUNNINGNO = txtJYLSH.Text; } MODELWATERFEECHARGE.CHARGEClASS = "2";//收费类型是水费预收 MODELWATERFEECHARGE.CHARGEBCSS = Convert.ToDecimal(txtBCYC.Text); MODELWATERFEECHARGE.CHARGEYSQQYE = decQQYE; MODELWATERFEECHARGE.CHARGEYSBCSZ = Convert.ToDecimal(txtBCYC.Text); MODELWATERFEECHARGE.CHARGEYSJSYE = decJSYE; MODELWATERFEECHARGE.CHARGEWORKERID = strLoginID; MODELWATERFEECHARGE.CHARGEWORKERNAME = strLoginName; MODELWATERFEECHARGE.CHARGEDATETIME = mes.GetDatetimeNow(); MODELWATERFEECHARGE.INVOICEPRINTSIGN = "0"; if (chkReceipt.Checked) { MODELWATERFEECHARGE.RECEIPTPRINTCOUNT = 1; MODELWATERFEECHARGE.RECEIPTNO = txtReceiptNO.Text; } if (BLLWATERFEECHARGE.Insert(MODELWATERFEECHARGE)) { try { MODELPRESTORERUNNINGACCOUNT MODELPRESTORERUNNINGACCOUNT = new MODELPRESTORERUNNINGACCOUNT(); MODELPRESTORERUNNINGACCOUNT.PRESTORERUNNINGACCOUNTID = GETTABLEID.GetTableID(strLoginID, "PRESTORERUNNINGACCOUNT"); MODELPRESTORERUNNINGACCOUNT.WATERUSERID = strWaterUserID; MODELPRESTORERUNNINGACCOUNT.WATERUSERNO = strWaterUserNO; MODELPRESTORERUNNINGACCOUNT.WATERUSERNAME = strWaterUserName; MODELPRESTORERUNNINGACCOUNT.WATERUSERNAMECODE = strWaterUserNameCode; MODELPRESTORERUNNINGACCOUNT.WATERUSERPHONE = strTelNO; if (strWaterUserPhone != "") { if (strTelNO != "") { MODELPRESTORERUNNINGACCOUNT.WATERUSERPHONE = strTelNO + ";" + strWaterUserPhone; } else { MODELPRESTORERUNNINGACCOUNT.WATERUSERPHONE = strWaterUserPhone; } } MODELPRESTORERUNNINGACCOUNT.WATERUSERADDRESS = strWaterUserAddress; MODELPRESTORERUNNINGACCOUNT.WATERUSERPEOPLECOUNT = intPepleCount; MODELPRESTORERUNNINGACCOUNT.AREANO = strAreaNO; MODELPRESTORERUNNINGACCOUNT.PIANNO = strPianNO; MODELPRESTORERUNNINGACCOUNT.DUANNO = strDuanNO; MODELPRESTORERUNNINGACCOUNT.COMMUNITYID = strCommunityID; MODELPRESTORERUNNINGACCOUNT.COMMUNITYNAME = strCommunityName; MODELPRESTORERUNNINGACCOUNT.ORDERNUMBER = intOrderNumber; MODELPRESTORERUNNINGACCOUNT.BUILDINGNO = strBuildingNO; MODELPRESTORERUNNINGACCOUNT.UNITNO = strUnitNO; MODELPRESTORERUNNINGACCOUNT.METERREADERID = strMeterReaderID; MODELPRESTORERUNNINGACCOUNT.METERREADERNAME = strMeterReaderName; MODELPRESTORERUNNINGACCOUNT.CHARGERID = strLoginID; MODELPRESTORERUNNINGACCOUNT.CHARGERNAME = strLoginName; MODELPRESTORERUNNINGACCOUNT.WATERUSERTYPEID = strWaterUserTypeID; MODELPRESTORERUNNINGACCOUNT.WATERUSERTYPENAME = strWaterUserTypeName; MODELPRESTORERUNNINGACCOUNT.waterMeterTypeId = strWaterMeterTypeID; MODELPRESTORERUNNINGACCOUNT.waterMeterTypeValue = strWaterMeterTypeName; MODELPRESTORERUNNINGACCOUNT.WATERMETERTYPECLASSID = strWaterMeterTypeClassID; MODELPRESTORERUNNINGACCOUNT.WATERMETERTYPECLASSNAME = strWaterMeterTypeClassName; MODELPRESTORERUNNINGACCOUNT.WATERUSERTYPENAME = strWaterUserTypeName; MODELPRESTORERUNNINGACCOUNT.WATERUSERTYPENAME = strWaterUserTypeName; MODELPRESTORERUNNINGACCOUNT.WATERUSERHOUSETYPE = strWaterUserHouseType; MODELPRESTORERUNNINGACCOUNT.CREATETYPE = strCreateType; MODELPRESTORERUNNINGACCOUNT.MEMO = txtMemo.Text; MODELPRESTORERUNNINGACCOUNT.CHARGEID = MODELWATERFEECHARGE.CHARGEID; if (BLLPRESTORERUNNINGACCOUNT.Insert(MODELPRESTORERUNNINGACCOUNT)) { //txtYSQQYE.Text = txtJSYE.Text; //txtWaterFeeReal.Text =( Convert.ToDecimal(txtWaterFee.Text) - Convert.ToDecimal(txtYSQQYE.Text)).ToString(); //txtBCYC.Text = "0"; //更新余额 string strUpdatePrestore = "UPDATE waterUser SET prestore=" + MODELWATERFEECHARGE.CHARGEYSJSYE + " WHERE waterUserId='" + strWaterUserID + "'"; if (!BLLwaterUser.UpdateSQL(strUpdatePrestore)) { string strError = "更新用户编号为'" + strWaterUserNO + "'的余额失败,请重新收费!"; mes.Show(strError); log.Write(strError, MsgType.Error); //回滚预存流水表 BLLPRESTORERUNNINGACCOUNT.Delete(MODELPRESTORERUNNINGACCOUNT.PRESTORERUNNINGACCOUNTID); //回滚收费记录表 BLLWATERFEECHARGE.Delete(MODELWATERFEECHARGE.CHARGEID); } else { decimal decUserArearage = 0, decWaterUserPrestore = 0; object objUserArearage = dgWaterUser.SelectedRows[i].Cells["USERAREARAGE"].Value; if (Information.IsNumeric(objUserArearage)) { decUserArearage = Convert.ToDecimal(objUserArearage); } object objUserPrestore = dgWaterUser.SelectedRows[i].Cells["prestore"].Value; if (Information.IsNumeric(objUserPrestore)) { decWaterUserPrestore = Convert.ToDecimal(objUserPrestore); } decWaterUserPrestore = decWaterUserPrestore + MODELWATERFEECHARGE.CHARGEBCSS; decUserArearage = decUserArearage + MODELWATERFEECHARGE.CHARGEBCSS; dgWaterUser.SelectedRows[i].Cells["USERAREARAGE"].Value = decUserArearage.ToString("F2"); dgWaterUser.SelectedRows[i].Cells["prestore"].Value = decWaterUserPrestore.ToString("F2"); } //如果勾选了打收据,打印收据 if (chkReceipt.Checked) { //--打印收据 #region FastReport.Report report1 = new FastReport.Report(); try { DataTable dtLastRecord = BLLwaterUser.QuerySQL("SELECT TOP 1 readMeterRecordId,readMeterRecordYearAndMonth,waterMeterLastNumber," + "(CASE chargeState WHEN 0 THEN waterMeterLastNumber " + "ELSE waterMeterEndNumber END) AS waterMeterEndNumber " + "FROM readMeterRecord " + "WHERE WATERUSERID='" + strWaterUserID + "' ORDER BY readMeterRecordYearAndMonth DESC,readMeterRecordDate DESC"); DataTable dtTemp = dtLastRecord.Clone(); dtTemp.Columns["readMeterRecordYearAndMonth"].DataType = typeof(string); if (dtLastRecord.Rows.Count > 0) { dtTemp.ImportRow(dtLastRecord.Rows[0]); object objReadMeterRecordYearAndMonth = dtTemp.Rows[0]["readMeterRecordYearAndMonth"]; if (Information.IsDate(objReadMeterRecordYearAndMonth)) { dtTemp.Rows[0]["readMeterRecordYearAndMonth"] = Convert.ToDateTime(objReadMeterRecordYearAndMonth).ToString("yyyy-MM"); } } //DataTable dtTemp = dtLastRecord.Copy(); DataSet ds = new DataSet(); dtTemp.TableName = "营业坐收收据模板"; ds.Tables.Add(dtTemp); // load the existing report report1.Load(Application.StartupPath + @"\PRINTModel\收据模板\预存收费收据模板.frx"); (report1.FindObject("txtDateTime") as FastReport.TextObject).Text = MODELWATERFEECHARGE.CHARGEDATETIME.ToString("yyyy-MM-dd HH:mm:ss"); //if (cmbChargeType.SelectedValue.ToString() == "2") //{ // (report1.FindObject("Cell45") as FastReport.Table.TableCell).Text = txtWaterUserNO.Text + " 交易流水号:" + txtJYLSH.Text; //} //else (report1.FindObject("CellWaterUserNO") as FastReport.Table.TableCell).Text = strWaterUserNO; (report1.FindObject("CellWaterUserName") as FastReport.Table.TableCell).Text = strWaterUserName; (report1.FindObject("CellWaterUserAddress") as FastReport.Table.TableCell).Text = strWaterUserAddress; (report1.FindObject("txtQQYE") as FastReport.TextObject).Text = "前期余额: " + MODELWATERFEECHARGE.CHARGEYSQQYE.ToString("F2"); string strBCSS = MODELWATERFEECHARGE.CHARGEBCSS.ToString("F2"); (report1.FindObject("txtBCJF") as FastReport.TextObject).Text = "本次预存: " + strBCSS; (report1.FindObject("txtJSYE") as FastReport.TextObject).Text = "结算余额: " + MODELWATERFEECHARGE.CHARGEYSJSYE.ToString("F2"); //if (cmbChargeType.SelectedValue.ToString() == "2") //{ // (report1.FindObject("txtPOSRUNNINGNO") as FastReport.TextObject).Text = "交易流水号: " + MODELWATERFEECHARGE.POSRUNNINGNO; //} (report1.FindObject("txtChargeWorkerName") as FastReport.TextObject).Text = strLoginName; (report1.FindObject("txtReceiptNO") as FastReport.TextObject).Text = "NO." + txtReceiptNO.Text; (report1.FindObject("txtMeterReader") as FastReport.TextObject).Text = strMeterReaderName; (report1.FindObject("txtMeterReaderTel") as FastReport.TextObject).Text = strMeterReaderTel; string strCapMoney = RMBToCapMoney.CmycurD(strBCSS); if (cmbChargeType.SelectedValue.ToString() == "2") { (report1.FindObject("txtCapMoney") as FastReport.TextObject).Text = "金额大写:" + strCapMoney + Environment.NewLine + "交易流水号:" + txtJYLSH.Text; } else { (report1.FindObject("txtCapMoney") as FastReport.TextObject).Text = "金额大写:" + strCapMoney; } // register the dataset report1.RegisterData(ds); report1.GetDataSource("营业坐收收据模板").Enabled = true; report1.PrintSettings.ShowDialog = false; report1.Prepare(); report1.Print(); //获取新的收据号码,8位收据号 if (Information.IsNumeric(txtReceiptNO.Text)) { txtReceiptNO.Text = (Convert.ToInt64(txtReceiptNO.Text) + 1).ToString().PadLeft(8, '0'); } } catch (Exception exx) { MessageBox.Show(exx.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } finally { // free resources used by report report1.Dispose(); } #endregion } } } catch (Exception exx) { mes.Show("插入预收流水表失败!原因:" + exx.Message); log.Write(exx.ToString(), MsgType.Error); return; } } } catch (Exception ex) { mes.Show("预收失败!原因:" + ex.Message); log.Write(ex.ToString(), MsgType.Error); return; } } btCharge.Enabled = false; //dgWaterList.DataSource = null; } catch (Exception ex) { mes.Show(ex.Message); log.Write(ex.ToString(), MsgType.Error); return; } }
private void btCancel_Click(object sender, EventArgs e) { try { if (labID.Text != "") { if (mes.ShowQ("确定要冲销单号为'" + labID.Text + "'的预存记录吗?") != DialogResult.OK) { return; } bool isReCharge = false;//是否将实收金额退还到用户余额标志 if (mes.ShowQ("是否将预存金额'" + labBCSZ.Text + "'从用户余额中扣除?") == DialogResult.OK) { isReCharge = true; } else { isReCharge = false; } #region 生成退费记录 MODELWATERFEECHARGE MODELWATERFEECHARGE = new MODELWATERFEECHARGE(); MODELWATERFEECHARGE.CHARGEID = GETTABLEID.GetTableID(strLogID, "WATERFEECHARGE"); MODELWATERFEECHARGE.CHARGEClASS = "5";//收费类型是冲销预存 if (Information.IsNumeric(labYE.Text)) { MODELWATERFEECHARGE.CHARGEYSQQYE = Convert.ToDecimal(labYE.Text); } if (isReCharge) { if (Information.IsNumeric(labBCSZ.Text)) { MODELWATERFEECHARGE.CHARGEYSBCSZ = 0 - Convert.ToDecimal(labBCSZ.Text); } MODELWATERFEECHARGE.CHARGEYSJSYE = MODELWATERFEECHARGE.CHARGEYSQQYE + MODELWATERFEECHARGE.CHARGEYSBCSZ; if (MODELWATERFEECHARGE.CHARGEYSJSYE < 0) { mes.Show("用户余额不足,无法冲销此单号,请先冲销生成的水费后重试!"); return; } } else { MODELWATERFEECHARGE.CHARGEYSBCSZ = 0; MODELWATERFEECHARGE.CHARGEYSJSYE = MODELWATERFEECHARGE.CHARGEYSQQYE; } MODELWATERFEECHARGE.CHARGEWORKERID = strLogID; MODELWATERFEECHARGE.CHARGEWORKERNAME = strUserName; MODELWATERFEECHARGE.CHARGEDATETIME = mes.GetDatetimeNow(); MODELWATERFEECHARGE.INVOICEPRINTSIGN = "0"; MODELWATERFEECHARGE.RECEIPTPRINTCOUNT = 0; MODELWATERFEECHARGE.MEMO = "红冲单号:" + labID.Text; try { //插入收费记录 string strInserChargeSQL = "INSERT INTO WATERFEECHARGE(CHARGEID,TOTALNUMBERCHARGE,EXTRACHARGECHARGE1,EXTRACHARGECHARGE2," + "WATERTOTALCHARGE,EXTRATOTALCHARGE,TOTALCHARGE,OVERDUEMONEY,CHARGETYPEID,CHARGEClASS,CHARGEBCYS,CHARGEBCSS,CHARGEYSQQYE," + "CHARGEYSBCSZ,CHARGEYSJSYE,CHARGEWORKERID,CHARGEWORKERNAME,CHARGEDATETIME,INVOICEPRINTSIGN,RECEIPTPRINTCOUNT,MEMO) " + "SELECT '" + MODELWATERFEECHARGE.CHARGEID + "',0-TOTALNUMBERCHARGE,0-EXTRACHARGECHARGE1,0-EXTRACHARGECHARGE2," + "0-WATERTOTALCHARGE,0-EXTRATOTALCHARGE,0-TOTALCHARGE,0-OVERDUEMONEY,CHARGETYPEID,CHARGEClASS,0,0-CHARGEBCSS," + MODELWATERFEECHARGE.CHARGEYSQQYE + "," + MODELWATERFEECHARGE.CHARGEYSBCSZ + "," + MODELWATERFEECHARGE.CHARGEYSJSYE + ",CHARGEWORKERID,CHARGEWORKERNAME,'" + MODELWATERFEECHARGE.CHARGEDATETIME + "',0,0,'" + MODELWATERFEECHARGE.MEMO + "' FROM WATERFEECHARGE WHERE CHARGEID='" + labID.Text + "'"; if (BLLreadMeterRecord.Excute(strInserChargeSQL) > 0) { try { object objPrestoreID = dtList.Rows[0]["PRESTORERUNNINGACCOUNTID"]; if (objPrestoreID != null && objPrestoreID != DBNull.Value) { string strPrestoreID = GETTABLEID.GetTableID("", "PRESTORERUNNINGACCOUNT"); string strInserPrestore = "INSERT INTO [PRESTORERUNNINGACCOUNT]([PRESTORERUNNINGACCOUNTID],[CHARGEID],[WATERUSERID],[WATERUSERNO]" + ",[WATERUSERNAME],[WATERUSERPHONE],[WATERUSERADDRESS],[AREANO],[PIANNO],DUANNO,ORDERNUMBER,COMMUNITYID,COMMUNITYNAME,BUILDINGNO,UNITNO," + "METERREADERID,METERREADERNAME,CHARGERID,CHARGERNAME,[WATERUSERTYPEID],[WATERUSERTYPENAME],WATERMETERTYPEID," + "WATERMETERTYPEVALUE,WATERMETERTYPECLASSID,WATERMETERTYPECLASSNAME,[WATERUSERHOUSETYPE],[MEMO]) " + "SELECT '" + strPrestoreID + "','" + MODELWATERFEECHARGE.CHARGEID + "'," + "[WATERUSERID],[WATERUSERNO]" + ",[WATERUSERNAME],[WATERUSERPHONE],[WATERUSERADDRESS],[AREANO],[PIANNO],DUANNO,ORDERNUMBER,COMMUNITYID,COMMUNITYNAME,BUILDINGNO,UNITNO," + "METERREADERID,METERREADERNAME,CHARGERID,CHARGERNAME,[WATERUSERTYPEID],[WATERUSERTYPENAME],WATERMETERTYPEID," + "WATERMETERTYPEVALUE,WATERMETERTYPECLASSID,WATERMETERTYPECLASSNAME,[WATERUSERHOUSETYPE],'红冲单号:" + objPrestoreID.ToString() + "'" + " FROM PRESTORERUNNINGACCOUNT WHERE PRESTORERUNNINGACCOUNTID='" + objPrestoreID.ToString() + "'"; if (BLLreadMeterRecord.Excute(strInserPrestore) > 0) { if (isReCharge) { try { if (labWaterUserID.Text != "") { //更新余额 string strUpdatePrestore = "UPDATE waterUser SET prestore+=" + MODELWATERFEECHARGE.CHARGEYSBCSZ + " WHERE waterUserId='" + labWaterUserID.Text + "'"; if (!BLLwaterUser.UpdateSQL(strUpdatePrestore)) { string strError = "更新用户编号为'" + labWaterUserID.Text + "'的余额失败,请重新操作!"; mes.Show(strError); log.Write(strError, MsgType.Error); return; } } else { //如果余额无法更新,需要回滚已经插入成功的预存流水记录 BLLPRESTORERUNNINGACCOUNT.Delete(strPrestoreID); //回滚收费记录 BLLWATERFEECHARGE.Delete(MODELWATERFEECHARGE.CHARGEID); return; } } catch (Exception ex) { //如果余额无法更新,需要回滚已经插入成功的预存流水记录 BLLPRESTORERUNNINGACCOUNT.Delete(strPrestoreID); //回滚收费记录 BLLWATERFEECHARGE.Delete(MODELWATERFEECHARGE.CHARGEID); mes.Show(ex.Message); log.Write(ex.ToString(), MsgType.Error); return; } } } else { //回滚收费记录 BLLWATERFEECHARGE.Delete(MODELWATERFEECHARGE.CHARGEID); mes.Show("插入预存流水记录失败,请重新操作!"); return; } } else { //回滚收费记录 BLLWATERFEECHARGE.Delete(MODELWATERFEECHARGE.CHARGEID); mes.Show("获取预存流水记录ID失败,请重新操作!"); return; } } catch (Exception ex) { mes.Show(ex.Message); log.Write(ex.ToString(), MsgType.Error); //回滚收费记录 BLLWATERFEECHARGE.Delete(MODELWATERFEECHARGE.CHARGEID); return; } btCancel.Enabled = false; labTip.Visible = true; } else { mes.Show("生成冲销单据失败,请重新操作!"); return; } } catch (Exception ex) { mes.Show(ex.Message); log.Write(ex.ToString(), MsgType.Error); return; } #endregion } else { mes.Show("系统检测到单据ID为空,请重新打开此窗体!"); return; } } catch (Exception ex) { mes.Show(ex.Message); log.Write(ex.ToString(), MsgType.Error); } }
private void toolDayCheck_Click(object sender, EventArgs e) { try { if (cmbChargerWorkName.SelectedValue == null || cmbChargerWorkName.SelectedValue == DBNull.Value) { mes.Show("请选择收款员查询收款数据后再执行日结操作!"); return; } string strFilterCheck = " AND DAYCHECKSTATE='1' " + txtFilter.Text; DataTable dtDaychecked = BLLWATERFEECHARGE.QueryWaterFeeAndPrestoreCharge(strFilterCheck); if (dtDaychecked.Rows.Count > 0) { mes.Show("本次查询含有已日结的数据,请删除历史日结信息或重新查询未日结信息后再日结!"); return; } //string strFilter = " AND DAYCHECKSTATE<>'1' "; string strFilter = txtFilter.Text; DataTable dtDayUnchecked = BLLWATERFEECHARGE.QueryWaterFeeAndPrestoreCharge(strFilter); if (dtDayUnchecked.Rows.Count == 0) { mes.Show("未找到未日结的收费数据!"); return; } DateTime dtNow = mes.GetDatetimeNow(); MODELDAYCHECKPERSONAL MODELDAYCHECKPERSONAL = new MODELDAYCHECKPERSONAL(); MODELDAYCHECKPERSONAL.DAYCHECKID = GETTABLEID.GetTableID(strLogID, "DAYCHECKPERSONAL"); MODELDAYCHECKPERSONAL.DAYCHECKWORKERID = cmbChargerWorkName.SelectedValue.ToString(); MODELDAYCHECKPERSONAL.DAYCHECKWORKERNAME = cmbChargerWorkName.Text; MODELDAYCHECKPERSONAL.DAYCHECKDATEIME = dtNow; MODELDAYCHECKPERSONAL.DAYCHECKSUMMONEY = decBCSS; MODELDAYCHECKPERSONAL.DAYCHECKMONEY = decYSBCSSXJ + decYCBCSZXJ; MODELDAYCHECKPERSONAL.DAYCHECKPOS = decYSBCSSPOS + decYCBCSZPOS; MODELDAYCHECKPERSONAL.DAYCHECKZHUANZHANG = decYSBCSSZHUANZHANG + decYCBCSZZHUANZHANG; MODELDAYCHECKPERSONAL.RECEIPTNOCOUNT = intYSRECEIPRNOCOUNT + intYCCount; MODELDAYCHECKPERSONAL.INVOICENOCOUNT = intYSCount; MODELDAYCHECKPERSONAL.MEMO = null; if (BLLDAYCHECKPERSONAL.Insert(MODELDAYCHECKPERSONAL)) { try { string strFilterCanDayCheck = " AND CHARGEID IN (SELECT CHARGEID FROM V_WATERFEEANDPRESTORECHARGE WHERE 1=1 " + strFilter + ")"; MODELWATERFEECHARGE MODELWATERFEECHARGE = new MODELWATERFEECHARGE(); MODELWATERFEECHARGE.DAYCHECKSTATE = "1"; MODELWATERFEECHARGE.DAYCHECKWORKERNAME = MODELDAYCHECKPERSONAL.DAYCHECKWORKERNAME; MODELWATERFEECHARGE.DAYCHECKDATETIME = dtNow; MODELWATERFEECHARGE.DAYCHECKID = MODELDAYCHECKPERSONAL.DAYCHECKID; int intCount = BLLWATERFEECHARGE.UpdateDayCheckState(MODELWATERFEECHARGE, strFilterCanDayCheck); mes.Show("生成日结报表成功!"); } catch (Exception ex) { mes.Show("更新日结标志失败,原因:" + ex.Message); log.Write(ex.ToString(), MsgType.Error); BLLDAYCHECKPERSONAL.Delete(MODELDAYCHECKPERSONAL.DAYCHECKID); } } } catch (Exception ex) { mes.Show(ex.Message); log.Write(ex.ToString(), MsgType.Error); } }
private void btCancel_Click(object sender, EventArgs e) { try { if (labID.Text != "") { if (!(rbWaterFee.Checked || rbMoney.Checked)) { mes.Show("请选择红冲类型!"); //rbWaterFee.Focus(); return; } if (mes.ShowQ("确定要红冲单号为'" + labID.Text + "'的收费记录吗?") != DialogResult.OK) { return; } #region 生成退费记录 MODELWATERFEECHARGE MODELWATERFEECHARGE = new MODELWATERFEECHARGE(); MODELWATERFEECHARGE.CHARGEID = GETTABLEID.GetTableID(strLogID, "WATERFEECHARGE"); MODELWATERFEECHARGE.CHARGEClASS = "4";//收费类型是水费冲减 if (Information.IsNumeric(labYE.Text)) { MODELWATERFEECHARGE.CHARGEYSQQYE = Convert.ToDecimal(labYE.Text); } //存储本次应收和本次实收 decimal decBCYS = 0, decBCSS = 0; if (Information.IsNumeric(labBCYS.Text)) { decBCYS = Convert.ToDecimal(labBCYS.Text); } if (Information.IsNumeric(labBCSS.Text)) { decBCSS = Convert.ToDecimal(labBCSS.Text); } if (rbWaterFee.Checked) { MODELWATERFEECHARGE.CHARGEBCSS = 0; MODELWATERFEECHARGE.CHARGEYSBCSZ = decBCYS; MODELWATERFEECHARGE.CHARGEYSJSYE = MODELWATERFEECHARGE.CHARGEYSQQYE + MODELWATERFEECHARGE.CHARGEYSBCSZ; } else { MODELWATERFEECHARGE.CHARGEBCSS = 0 - decBCSS; MODELWATERFEECHARGE.CHARGEYSBCSZ = 0 - Convert.ToDecimal(labBCSZ.Text); if ((MODELWATERFEECHARGE.CHARGEYSQQYE + MODELWATERFEECHARGE.CHARGEYSBCSZ) < 0) { mes.Show("用户余额不足,无法红冲!用户余额:" + MODELWATERFEECHARGE.CHARGEYSQQYE + "元,本次收支:" + MODELWATERFEECHARGE.CHARGEYSBCSZ + "元"); return; } MODELWATERFEECHARGE.CHARGEYSJSYE = MODELWATERFEECHARGE.CHARGEYSQQYE + MODELWATERFEECHARGE.CHARGEYSBCSZ; } MODELWATERFEECHARGE.CHARGEWORKERID = strLogID; MODELWATERFEECHARGE.CHARGEWORKERNAME = strUserName; MODELWATERFEECHARGE.CHARGEDATETIME = mes.GetDatetimeNow(); MODELWATERFEECHARGE.INVOICEPRINTSIGN = "0"; MODELWATERFEECHARGE.RECEIPTPRINTCOUNT = 0; MODELWATERFEECHARGE.MEMO = "红冲收费单号:" + labID.Text; try { //插入收费记录,本次实收=0-本次应收,本次实收包含实际收到的现金和前期余额之和 string strInserChargeSQL = "INSERT INTO WATERFEECHARGE(CHARGEID,TOTALNUMBERCHARGE,EXTRACHARGECHARGE1,EXTRACHARGECHARGE2," + "WATERTOTALCHARGE,EXTRATOTALCHARGE,TOTALCHARGE,OVERDUEMONEY,CHARGETYPEID,CHARGEClASS,CHARGEBCYS,CHARGEBCSS,CHARGEYSQQYE," + "CHARGEYSBCSZ,CHARGEYSJSYE,CHARGEWORKERID,CHARGEWORKERNAME,CHARGEDATETIME,INVOICEPRINTSIGN,RECEIPTPRINTCOUNT,MEMO) " + "SELECT '" + MODELWATERFEECHARGE.CHARGEID + "',0-TOTALNUMBERCHARGE,0-EXTRACHARGECHARGE1,0-EXTRACHARGECHARGE2," + "0-WATERTOTALCHARGE,0-EXTRATOTALCHARGE,0-TOTALCHARGE,0-OVERDUEMONEY,CHARGETYPEID,'" + MODELWATERFEECHARGE.CHARGEClASS + "',0-CHARGEBCYS," + MODELWATERFEECHARGE.CHARGEBCSS + "," + MODELWATERFEECHARGE.CHARGEYSQQYE + "," + MODELWATERFEECHARGE.CHARGEYSBCSZ + "," + MODELWATERFEECHARGE.CHARGEYSJSYE + ",CHARGEWORKERID,CHARGEWORKERNAME,'" + MODELWATERFEECHARGE.CHARGEDATETIME + "',0,0,'" + MODELWATERFEECHARGE.MEMO + "' FROM WATERFEECHARGE WHERE CHARGEID='" + labID.Text + "'"; if (BLLreadMeterRecord.Excute(strInserChargeSQL) > 0) { string strIDS = ""; try { for (int i = 0; i < dtList.Rows.Count; i++) { object objRecordID = dtList.Rows[0]["readMeterRecordId"]; if (objRecordID != null && objRecordID != DBNull.Value) { //插入抄表记录 chargeState=4代表红冲 readMeterRecordDate设置为空,否则影响抄表初始化 string strRecordID = GETTABLEID.GetTableID(strLogID, "READMETERRECORD"); string strInsertRecordSQL = "INSERT INTO [readMeterRecord]([readMeterRecordId],[readMeterRecordIdLast],[waterMeterId],[waterMeterNo]" + ",[lastNumberYearMonth],[waterMeterLastNumber],[waterMeterEndNumber],SUBMETERNUMBER,[totalNumber],[totalNumberDescribe],[avePrice]" + ",[avePriceDescribe],[waterTotalCharge],[extraChargePrice1],[extraCharge1],[extraChargePrice2],[extraCharge2],[extraChargePrice3]" + ",[extraCharge3],[extraChargePrice4],[extraCharge4],[extraChargePrice5],[extraCharge5],[extraChargePrice6],[extraCharge6]" + ",[extraChargePrice7],[extraCharge7],[extraChargePrice8],[extraCharge8],[extraTotalCharge],[trapezoidPrice],[extraCharge]" + ",[totalCharge],[OVERDUEMONEY],[WATERFIXVALUE],[readMeterRecordYear],[readMeterRecordMonth]," + "readMeterRecordYearAndMonth,initialReadMeterMesDateTime,[readMeterRecordDate],[waterMeterPositionName]" + ",[waterMeterSizeId],[waterMeterSizeValue],waterMeterTypeClassID,waterMeterTypeClassName,[waterMeterTypeId],[waterMeterTypeName],[waterMeterProduct],[waterMeterSerialNumber]" + ",[waterMeterMode],[waterMeterMagnification],[waterMeterMaxRange],IsReverse,[chargerID],[chargerName],[meterReaderID],[meterReaderName],[checkState],[checkDateTime]" + ",[checker],[chargeState],[chargeID],[waterUserId],[waterUserNO],[waterUserName],waterUserNameCode,[waterUserTelphoneNO],areaNO,pianNO,duanNO,communityID,COMMUNITYNAME,buildingNO,unitNO,createType,waterPhone,[waterUserAddress],[waterUserPeopleCount]" + ",[meterReadingID],[meterReadingNO],[meterReadingPageNo],[waterUserTypeId],[waterUserTypeName],[waterUserCreateDate]" + ",[waterUserHouseType],[waterUserchargeType],[agentsign],[waterUserState],[bankId],[bankName],[BankAcountNumber],[isSummaryMeter],[waterMeterParentId],[ordernumber] ,[memo]) " + "SELECT '" + strRecordID + "','" + objRecordID.ToString() + "',[waterMeterId],[waterMeterNo]" + ",[lastNumberYearMonth],[waterMeterEndNumber],[waterMeterLastNumber],0-SUBMETERNUMBER,0-[totalNumber],[totalNumberDescribe],[avePrice]" + ",[avePriceDescribe],0-[waterTotalCharge],[extraChargePrice1],0-[extraCharge1],[extraChargePrice2],0-[extraCharge2],[extraChargePrice3]" + ",0-[extraCharge3],[extraChargePrice4],0-[extraCharge4],[extraChargePrice5],0-[extraCharge5],[extraChargePrice6],0-[extraCharge6]" + ",[extraChargePrice7],0-[extraCharge7],[extraChargePrice8],0-[extraCharge8],0-[extraTotalCharge],[trapezoidPrice],[extraCharge]" + ",0-[totalCharge],0-[OVERDUEMONEY],[WATERFIXVALUE]," + MODELWATERFEECHARGE.CHARGEDATETIME.Year + "," + MODELWATERFEECHARGE.CHARGEDATETIME.Month + ",'" + MODELWATERFEECHARGE.CHARGEDATETIME + "',NULL,'" + MODELWATERFEECHARGE.CHARGEDATETIME + "',[waterMeterPositionName]" + ",[waterMeterSizeId],[waterMeterSizeValue],waterMeterTypeClassID,waterMeterTypeClassName,[waterMeterTypeId],[waterMeterTypeName]," + "[waterMeterProduct],[waterMeterSerialNumber]" + ",[waterMeterMode],[waterMeterMagnification],[waterMeterMaxRange],IsReverse,[chargerID],[chargerName],[meterReaderID],[meterReaderName]," + "[checkState],'" + MODELWATERFEECHARGE.CHARGEDATETIME + "','" + strUserName + "','3','" + MODELWATERFEECHARGE.CHARGEID + "',[waterUserId],[waterUserNO],[waterUserName],waterUserNameCode," + "[waterUserTelphoneNO],areaNO,pianNO,duanNO,communityID,COMMUNITYNAME,buildingNO,unitNO,createType,[waterPhone],[waterUserAddress],[waterUserPeopleCount]" + ",[meterReadingID],[meterReadingNO],[meterReadingPageNo],[waterUserTypeId],[waterUserTypeName],[waterUserCreateDate]" + ",[waterUserHouseType],[waterUserchargeType],[agentsign],[waterUserState],[bankId],[bankName],[BankAcountNumber],[isSummaryMeter],[waterMeterParentId],[ordernumber] ,'红冲台账:" + objRecordID.ToString() + "' FROM readMeterRecord WHERE readMeterRecordId='" + objRecordID.ToString() + "'"; if (BLLreadMeterRecord.Excute(strInsertRecordSQL) > 0) { if (strIDS == "") { strIDS = strRecordID; } else { strIDS = "," + strRecordID; } } else { //如果有一条未插入成功,需要回滚已经插入成功的抄表记录 string strSQLDelete = "DELETE FROM readMeterRecord WHERE readMeterRecordId IN (" + strIDS + ")"; BLLreadMeterRecord.Excute(strSQLDelete); //回滚收费记录 BLLWATERFEECHARGE.Delete(MODELWATERFEECHARGE.CHARGEID); mes.Show("插入抄表记录表失败,请重新操作!"); return; } } else { //如果有一条未插入成功,需要回滚已经插入成功的抄表记录 string strSQLDelete = "DELETE FROM readMeterRecord WHERE readMeterRecordId IN (" + strIDS + ")"; BLLreadMeterRecord.Excute(strSQLDelete); //回滚收费记录 BLLWATERFEECHARGE.Delete(MODELWATERFEECHARGE.CHARGEID); mes.Show("获取抄表记录ID失败,请重新操作!"); return; } //if (isReCharge) //{ try { if (labWaterUserID.Text != "") { //更新余额 string strUpdatePrestore = "UPDATE waterUser SET prestore=" + MODELWATERFEECHARGE.CHARGEYSJSYE + " WHERE waterUserId='" + labWaterUserID.Text + "'"; if (!BLLwaterUser.UpdateSQL(strUpdatePrestore)) { string strError = "更新用户编号为'" + labWaterUserID.Text + "'的余额失败,请重新操作!"; mes.Show(strError); log.Write(strError, MsgType.Error); //如果有一条未插入成功,需要回滚已经插入成功的抄表记录 string strSQLDelete = "DELETE FROM readMeterRecord WHERE readMeterRecordId='" + objRecordID.ToString() + "'"; BLLreadMeterRecord.Excute(strSQLDelete); //回滚收费记录 BLLWATERFEECHARGE.Delete(MODELWATERFEECHARGE.CHARGEID); return; return; } } else { //如果有一条未插入成功,需要回滚已经插入成功的抄表记录 string strSQLDelete = "DELETE FROM readMeterRecord WHERE readMeterRecordId IN (" + strIDS + ")"; BLLreadMeterRecord.Excute(strSQLDelete); //回滚收费记录 BLLWATERFEECHARGE.Delete(MODELWATERFEECHARGE.CHARGEID); return; } } catch (Exception ex) { //如果有一条未插入成功,需要回滚已经插入成功的抄表记录 string strSQLDelete = "DELETE FROM readMeterRecord WHERE readMeterRecordId IN (" + strIDS + ")"; BLLreadMeterRecord.Excute(strSQLDelete); //回滚收费记录 BLLWATERFEECHARGE.Delete(MODELWATERFEECHARGE.CHARGEID); return; } } //} btCancel.Enabled = false; labTip.Visible = true; } catch (Exception ex) { //回滚收费记录 BLLWATERFEECHARGE.Delete(MODELWATERFEECHARGE.CHARGEID); mes.Show(ex.Message); log.Write(ex.ToString(), MsgType.Error); return; } } else { mes.Show("生成红冲单据失败,请重新操作!"); return; } } catch (Exception ex) { mes.Show(ex.Message); log.Write(ex.ToString(), MsgType.Error); return; } #endregion } else { mes.Show("系统检测到单据ID为空,请重新打开此窗体!"); return; } } catch (Exception ex) { mes.Show(ex.Message); log.Write(ex.ToString(), MsgType.Error); } }
private void btSetNoOnAccount_Click(object sender, EventArgs e) { try { if (dgHistoryWaterFee.SelectedRows.Count > 0) { if (mes.ShowQ("确定要将所有选择的行解除挂账处理吗?") != DialogResult.OK) { return; } } DateTime dtNow = mes.GetDatetimeNow(); for (int i = 0; i < dgHistoryWaterFee.SelectedRows.Count; i++) { string strWaterUserName = "", strWaterUserID = "", strChargeState = ""; dtNow = dtNow.AddSeconds(1); object objWaterUserID = dgHistoryWaterFee.SelectedRows[i].Cells["waterUserId"].Value; if (objWaterUserID != null && objWaterUserID != DBNull.Value) { strWaterUserID = objWaterUserID.ToString(); } object objWaterUserName = dgHistoryWaterFee.SelectedRows[i].Cells["waterUserName"].Value; if (objWaterUserName != null && objWaterUserName != DBNull.Value) { strWaterUserName = objWaterUserName.ToString(); } //如果已收费状态不允许再次解挂 object objChargeState = dgHistoryWaterFee.SelectedRows[i].Cells["chargestate"].FormattedValue; if (objChargeState != null && objChargeState != DBNull.Value) { if (objChargeState.ToString() == "已收费") { continue; } } object objReadMeterRecordID = dgHistoryWaterFee.SelectedRows[i].Cells["readMeterRecordId"].Value; if (objReadMeterRecordID != null && objReadMeterRecordID != DBNull.Value) { string strSQL = "UPDATE readMeterRecord SET chargeState='3' WHERE readMeterRecordId='" + objReadMeterRecordID.ToString() + "'"; int intExcuteRow = 0; try { intExcuteRow = BLLreadMeterRecord.Excute(strSQL); } catch (Exception ex) { log.Write(ex.ToString(), MsgType.Error); mes.Show("更新收费状态失败:" + ex.Message); } if (intExcuteRow > 0) { decimal decPrestore = 0, decJSYE = 0;//挂账时更新前期余额和结算余额 DataTable dtPrestore = BLLwaterUser.QueryUserPrestore(" AND WATERUSERID='" + strWaterUserID + "'"); if (dtPrestore.Rows.Count > 0) { object objPrestore = dtPrestore.Rows[0]["prestore"]; if (Information.IsNumeric(objPrestore)) { decPrestore = Convert.ToDecimal(objPrestore); } object objJSYE = dtPrestore.Rows[0]["USERAREARAGE"]; if (Information.IsNumeric(objJSYE)) { decJSYE = Convert.ToDecimal(objJSYE); } } object objChargeID = dgHistoryWaterFee.SelectedRows[i].Cells["CHARGEID"].Value; if (objChargeID != null && objChargeID != DBNull.Value) { MODELWATERFEECHARGE MODELWATERFEECHARGE = new MODELWATERFEECHARGE(); MODELWATERFEECHARGE.CHARGEDATETIME = dtNow; MODELWATERFEECHARGE.CHARGEYSQQYE = decPrestore; MODELWATERFEECHARGE.CHARGEYSJSYE = decJSYE; MODELWATERFEECHARGE.CHARGEID = objChargeID.ToString(); bool isSuccess = false; try { isSuccess = BLLWATERFEECHARGE.UpdateChargeDateTime(MODELWATERFEECHARGE); } catch (Exception ex) { log.Write(ex.ToString(), MsgType.Error); mes.Show("更新收费单号'" + MODELWATERFEECHARGE.CHARGEID + "'收费时间失败!\r\n原因:" + ex.Message + "\r\n单据解除挂账失败,请重试!"); //回滚抄表状态 strSQL = "UPDATE readMeterRecord SET chargeState='2' WHERE readMeterRecordId='" + objReadMeterRecordID.ToString() + "'"; BLLreadMeterRecord.Excute(strSQL); return; } if (isSuccess) { dgHistoryWaterFee.SelectedRows[i].Cells["CHARGEDATETIME"].Value = MODELWATERFEECHARGE.CHARGEDATETIME.ToString(); dgHistoryWaterFee.SelectedRows[i].Cells["chargeState"].Value = "已收费"; } else { mes.Show("更新收费单号'" + MODELWATERFEECHARGE.CHARGEID + "'收费时间失败!单据解除挂账失败,请重试!"); //回滚抄表状态 strSQL = "UPDATE readMeterRecord SET chargeState='2' WHERE readMeterRecordId='" + objReadMeterRecordID.ToString() + "'"; BLLreadMeterRecord.Excute(strSQL); return; } } } else { mes.Show("用户'" + strWaterUserName + "'收费单据解除挂账失败,请重试!"); return; } } } } catch (Exception ex) { log.Write(ex.ToString(), MsgType.Error); mes.Show("错误:" + ex.Message); } }
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; } }