private void 水电气费BindingNavigatorSaveItem_Click(object sender, EventArgs e) { this.Validate(); string v_计费年份 = this.计费年份ToolStripComboBox.Text.Trim(); string v_计费月份 = this.计费月份ToolStripComboBox.Text.Trim(); string v_费用类型 = this.费用类型ToolStripComboBox.Text.Trim(); string v_楼栋名称 = this.楼栋名称ToolStripComboBox.Text.Trim(); if (string.IsNullOrEmpty(v_计费年份) || string.IsNullOrEmpty(v_计费月份) || string.IsNullOrEmpty(v_费用类型) || string.IsNullOrEmpty(v_楼栋名称)) { new MsgBoxForm("提示", "没有选择正确的计费年份,计费月份,费用类型,楼栋名称等信息!").ShowDialog(); return; } try { foreach (DataGridViewRow gridViewRow in this.水电气费DataGridView.Rows) { string v_业主编号 = Helper.GetCellValue(gridViewRow, "业主编号"); if (string.IsNullOrEmpty(v_业主编号)) { continue; } string v_业主姓名 = Helper.GetCellValue(gridViewRow, "业主姓名"); string v_表编号 = Helper.GetCellValue(gridViewRow, "表编号"); string v_表底数 = Helper.GetCellValue(gridViewRow, "表底数"); string v_表止数 = Helper.GetCellValue(gridViewRow, "表止数"); string v_计费单价 = Helper.GetCellValue(gridViewRow, "计费单价"); string v_表用量 = string.Empty; float f_表底数 = 0, f_表止数 = 0, f_计费单价 = 0, f_应交金额; float.TryParse(v_表底数, out f_表底数); float.TryParse(v_表止数, out f_表止数); float.TryParse(v_计费单价, out f_计费单价); if (f_表底数 > f_表止数) { new MsgBoxForm("提示", "表止数不能小于表底数,请重新输入!").ShowDialog(); return; } if (f_计费单价 < 0) { new MsgBoxForm("提示", "计费单价不能小于0,请重新输入!").ShowDialog(); return; } v_表用量 = (f_表止数 - f_表底数).ToString("N2"); f_应交金额 = (f_表止数 - f_表底数) * f_计费单价; string query = "UPDATE 水电气费 SET 表编号='" + v_表编号 + "',表底数=" + v_表底数 + ",表止数=" + v_表止数 + ",表用量=" + v_表用量 + ",计费单价=" + v_计费单价 + ",应交金额=" + f_应交金额 + " WHERE 计费年份=" + v_计费年份 + " AND 计费月份=" + v_计费月份 + " AND 费用类型='" + v_费用类型 + "' AND 楼栋名称='" + v_楼栋名称 + "' AND 业主编号='" + v_业主编号 + "' AND 业主姓名='" + v_业主姓名 + "'"; DataHelper.UpdateOrDeleteRecord(query); } DataHelper.CommitUpdate(); SynGasRegisterInfo(v_计费年份, v_计费月份, v_费用类型, v_楼栋名称, "正在登记"); new MsgBoxForm("提示", "保存成功!").ShowDialog(); } catch (Exception ex) { new MsgBoxForm("提示", "保存失败,请检查所填数据类型!").ShowDialog(); LogHelper.LogError(ex); } }
private void 新增ToolStripButton_Click(object sender, EventArgs e) {//新增水电气费 string v_计费年份 = this.计费年份ToolStripComboBox.Text.Trim(); string v_计费月份 = this.计费月份ToolStripComboBox.Text.Trim(); string v_费用类型 = this.费用类型ToolStripComboBox.Text.Trim(); string v_楼栋名称 = this.楼栋名称ToolStripComboBox.Text.Trim(); if (string.IsNullOrEmpty(v_计费年份) || string.IsNullOrEmpty(v_计费月份) || string.IsNullOrEmpty(v_费用类型) || string.IsNullOrEmpty(v_楼栋名称)) { new MsgBoxForm("提示", "没有选择正确的计费年份,计费月份,费用类型,楼栋名称等信息!").ShowDialog(); return; } if (new MsgBoxForm("提示", string.Format("现在将新增{0}{1}年{2}月的{3}数据,是否继续?", v_楼栋名称, v_计费年份, v_计费月份, v_费用类型), true).ShowDialog() != DialogResult.OK) { return; } string query = string.Format("select 自动编号 from 水电气费 where 计费年份={0} and 计费月份={1} and 费用类型='{2}' and 楼栋名称='{3}'", v_计费年份, v_计费月份, v_费用类型, v_楼栋名称); DataTable dt = DataHelper.GetDataTable(query); if (dt.Rows.Count == 0) {//插入新月份费用的业主基本信息 string insertQuery = "INSERT INTO 水电气费 (楼栋名称,业主编号,业主姓名) SELECT 楼栋名称,业主编号,业主姓名 FROM 业主信息 WHERE (业主编号 NOT IN (SELECT 业主编号 FROM 迁出信息)) AND (楼栋名称='" + v_楼栋名称 + "')"; DataHelper.UpdateOrDeleteRecord(insertQuery); string updateQuery = "UPDATE 水电气费 SET 登记标志='正在登记',费用类型='" + v_费用类型 + "',计费年份=" + v_计费年份 + ",计费月份=" + v_计费月份 + " WHERE 登记标志 IS NULL AND (楼栋名称='" + v_楼栋名称 + "')"; DataHelper.UpdateOrDeleteRecord(updateQuery); int MyLastMonth = Convert.ToInt16(v_计费月份) - 1; int MyLastYear = Convert.ToInt16(v_计费年份); if (MyLastMonth == 0) { MyLastMonth = 12; MyLastYear = Convert.ToInt16(v_计费年份) - 1; } //将上月止数作为新月份底数 string lastMonthQuery = "Select 楼栋名称,业主编号,业主姓名,计费年份,计费月份,费用类型,表编号,表底数,表止数,计费单价 FROM 水电气费 WHERE 计费年份=" + MyLastYear + " AND 计费月份=" + MyLastMonth + " AND 费用类型='" + v_费用类型 + "' AND 楼栋名称='" + v_楼栋名称 + "' AND 登记标志='完成登记'"; DataTable myLastMonthTable = DataHelper.GetDataTable(lastMonthQuery); foreach (DataRow dRow in myLastMonthTable.Rows) { string My楼栋名称 = Helper.Obj2String(dRow[0]); string My业主编号 = Helper.Obj2String(dRow[1]); string My计费年份 = Helper.Obj2String(dRow[3]); string My计费月份 = Helper.Obj2String(dRow[4]); string My费用类型 = Helper.Obj2String(dRow[5]); string My表编号 = Helper.Obj2String(dRow[6]); double My表底数 = Helper.Obj2Double(dRow[7]); double My表止数 = Helper.Obj2Double(dRow[8]); double My计费单价 = Helper.Obj2Double(dRow[9]); updateQuery = "UPDATE 水电气费 SET 表编号='" + My表编号 + "',表底数=" + My表止数 + ",计费单价=" + My计费单价 + " WHERE 计费年份=" + v_计费年份 + " AND 计费月份=" + v_计费月份 + " AND 费用类型='" + v_费用类型 + "' AND 楼栋名称='" + v_楼栋名称 + "' AND 业主编号='" + My业主编号 + "'"; DataHelper.UpdateOrDeleteRecord(updateQuery); } DataHelper.CommitUpdate(); SynGasRegisterInfo(v_计费年份, v_计费月份, v_费用类型, v_楼栋名称, "正在登记"); } else { new MsgBoxForm("提示", "当月" + v_费用类型 + "已登记!").ShowDialog(); return; } }
private void 物管费用BindingNavigatorSaveItem_Click(object sender, EventArgs e) { this.Validate(); string v_计费年份 = this.计费年份ToolStripComboBox.Text.Trim(); string v_计费月份 = this.计费月份ToolStripComboBox.Text.Trim(); string v_楼栋名称 = this.楼栋名称ToolStripComboBox.Text.Trim(); if (string.IsNullOrEmpty(v_计费年份) || string.IsNullOrEmpty(v_计费月份) || string.IsNullOrEmpty(v_楼栋名称)) { new MsgBoxForm("提示", "没有选择正确的计费年份,计费月份,楼栋名称等信息!").ShowDialog(); return; } try { Dictionary <string, StationFeeInfo> stationFeeDic = GetStationFeeInfo(v_楼栋名称); foreach (DataGridViewRow gridViewRow in this.物管费用DataGridView.Rows) { string v_业主编号 = Helper.GetCellValue(gridViewRow, "业主编号"); if (string.IsNullOrEmpty(v_业主编号)) { continue; } string v_业主姓名 = Helper.GetCellValue(gridViewRow, "业主姓名"); string v_建筑面积 = Helper.GetCellValue(gridViewRow, "建筑面积"); string v_计费单价 = Helper.GetCellValue(gridViewRow, "计费单价"); string v_表用量 = string.Empty, v_补充说明 = string.Empty; float f_建筑面积, f_计费单价 = 0, f_车位费用 = 0, f_应交金额; float.TryParse(v_建筑面积, out f_建筑面积); float.TryParse(v_计费单价, out f_计费单价); if (f_计费单价 < 0) { new MsgBoxForm("提示", "计费单价不能小于0,请重新输入!").ShowDialog(); return; } string dicKey = v_业主编号 + v_业主姓名; if (stationFeeDic.ContainsKey(dicKey)) { f_车位费用 = (float)stationFeeDic[dicKey].v_费用金额; v_补充说明 = string.Format("车位:{0} 费用:{1}", stationFeeDic[dicKey].v_车位编号, f_车位费用); } f_应交金额 = f_建筑面积 * f_计费单价 + f_车位费用; string query = "UPDATE 物管费用 SET 计费单价=" + v_计费单价 + ",应交金额=" + f_应交金额 + ",补充说明='" + v_补充说明 + "' WHERE 计费年份=" + v_计费年份 + " AND 计费月份=" + v_计费月份 + " AND 楼栋名称='" + v_楼栋名称 + "' AND 业主编号='" + v_业主编号 + "' AND 业主姓名='" + v_业主姓名 + "'"; DataHelper.UpdateOrDeleteRecord(query); } DataHelper.CommitUpdate(); SynManageRegisterInfo(v_计费年份, v_计费月份, v_楼栋名称, "正在登记"); new MsgBoxForm("提示", "保存成功!").ShowDialog(); } catch (Exception ex) { new MsgBoxForm("提示", "保存失败,请检查所填数据类型!").ShowDialog(); LogHelper.LogError(ex); } }
private void 新增ToolStripButton_Click(object sender, EventArgs e) {//新增物管费用信息 string v_计费年份 = this.计费年份ToolStripComboBox.Text.Trim(); string v_计费月份 = this.计费月份ToolStripComboBox.Text.Trim(); string v_楼栋名称 = this.楼栋名称ToolStripComboBox.Text.Trim(); if (string.IsNullOrEmpty(v_计费年份) || string.IsNullOrEmpty(v_计费月份) || string.IsNullOrEmpty(v_楼栋名称)) { new MsgBoxForm("提示", "没有选择正确的计费年份,计费月份,楼栋名称等信息!").ShowDialog(); return; } if (new MsgBoxForm("提示", string.Format("现在将新增 {0}{1}年{2}月物业管理费数据,是否继续?", v_楼栋名称, v_计费年份, v_计费月份), true).ShowDialog() != DialogResult.OK) { return; } string query = "Select 自动编号 From 物管费用 WHERE 计费年份=" + v_计费年份 + " AND 计费月份=" + v_计费月份 + " AND 楼栋名称='" + v_楼栋名称 + "'"; DataTable myTable = DataHelper.GetDataTable(query); if (myTable.Rows.Count == 0) { //插入新月份的物管费用基本信息 string insertQuery = "INSERT INTO 物管费用 (楼栋名称,业主编号,业主姓名,建筑面积,套内面积) SELECT 楼栋名称,业主编号,业主姓名,建筑面积,套内面积 FROM 业主信息 WHERE (业主编号 NOT IN (SELECT 业主编号 FROM 迁出信息)) AND (楼栋名称='" + v_楼栋名称 + "')"; DataHelper.UpdateOrDeleteRecord(insertQuery); string updateQuery = "UPDATE 物管费用 SET 登记标志='正在登记',计费年份=" + v_计费年份 + ",计费月份=" + v_计费月份 + " WHERE 登记标志 IS NULL AND (楼栋名称='" + v_楼栋名称 + "')"; DataHelper.UpdateOrDeleteRecord(updateQuery); int myLastMonth = Convert.ToInt16(v_计费月份) - 1; int myLastYear = Convert.ToInt16(v_计费年份); if (myLastMonth == 0) { myLastMonth = 12; myLastYear = Convert.ToInt16(v_计费年份) - 1; } //将上月计费单价作为新月物管费用计费单价 query = "Select 业主编号,计费单价 FROM 物管费用 WHERE 计费年份=" + myLastYear + " AND 计费月份=" + myLastMonth + " AND 楼栋名称='" + v_楼栋名称 + "' AND 登记标志='完成登记'"; DataTable myComputeTable = DataHelper.GetDataTable(query); foreach (DataRow dRow in myComputeTable.Rows) { string v_业主编号 = Helper.Obj2String(dRow[0]); double v_计费单价 = Helper.Obj2Double(dRow[1]); query = "UPDATE 物管费用 SET 计费单价=" + v_计费单价 + " WHERE 计费年份=" + v_计费年份 + " AND 计费月份=" + v_计费月份 + " AND 楼栋名称='" + v_楼栋名称 + "' AND 业主编号='" + v_业主编号 + "'"; DataHelper.UpdateOrDeleteRecord(query); } DataHelper.CommitUpdate(); SynManageRegisterInfo(v_计费年份, v_计费月份, v_楼栋名称, "正在登记"); } else { new MsgBoxForm("提示", "当月物业管理费已登记!").ShowDialog(); return; } }
private void 保存Button_Click(object sender, EventArgs e) {//保存物管费用交款信息 string v_收据编号 = Helper.GetTextBoxCtrlValue(this.Controls, "收据编号"); if (string.IsNullOrEmpty(v_收据编号)) { new MsgBoxForm("提示", "没有输入正确的信息!").ShowDialog(); return; } if (new MsgBoxForm("警告", "现在将保存业主交纳的物业管理费数据,是否继续?", true).ShowDialog() != DialogResult.OK) { return; } try { string v_收款日期 = Helper.GetDateCtrlValue(this.Controls, "收款日期"); string v_交款人员 = Helper.GetTextBoxCtrlValue(this.Controls, "交款人员"); string v_收款金额 = Helper.GetTextBoxCtrlValue(this.Controls, "收款金额"); string v_收款形式 = Helper.GetComBoxCtrlValue(this.Controls, "收款形式"); string v_收款人员 = Helper.GetTextBoxCtrlValue(this.Controls, "收款人员"); string v_收款事由 = Helper.GetTextBoxCtrlValue(this.Controls, "收款事由"); string v_补充说明 = Helper.GetTextBoxCtrlValue(this.Controls, "补充说明"); string query = string.Format("INSERT INTO 费用收据(收据编号,收款日期,交款人员,收款金额,收款形式,收款人员,收款事由,补充说明) VALUES('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}')", v_收据编号, v_收款日期, v_交款人员, v_收款金额, v_收款形式, v_收款人员, v_收款事由, v_补充说明); DataHelper.UpdateOrDeleteRecord(query); foreach (DataRow dRow in manageTable.Rows) { string v_自动编号 = dRow[0].ToString(); string My收据编号 = this.收据编号TextBox.Text; query = "UPDATE 物管费用 SET 费用状态='已交费',收据编号='" + My收据编号 + "' WHERE 自动编号=" + v_自动编号; DataHelper.UpdateOrDeleteRecord(query); } DataHelper.CommitUpdate(); new MsgBoxForm("提示", "保存成功!").ShowDialog(); } catch (Exception ex) { new MsgBoxForm("提示", "保存失败,请检查所填数据类型!").ShowDialog(); LogHelper.LogError(ex); } 查询Button_Click(null, null); manageTable.Rows.Clear(); }
private void 保存Button_Click(object sender, EventArgs e) {//保存水电气费交款信息 string v_业主编号 = ""; if (this.业主姓名ComboBox.SelectedValue != null && this.业主姓名ComboBox.SelectedValue.ToString() != "System.Data.DataRowView") { v_业主编号 = this.业主姓名ComboBox.SelectedValue.ToString(); } string v_楼栋名称 = this.楼栋名称ComboBox.Text; string v_收据编号 = Helper.GetTextBoxCtrlValue(this.Controls, "收据编号"); if (string.IsNullOrEmpty(v_收据编号)) { new MsgBoxForm("提示", "没有输入正确的信息!").ShowDialog(); return; } if (new MsgBoxForm("警告", "现在将保存业主交纳的物业费数据,是否继续?", true).ShowDialog() != DialogResult.OK) { return; } try { string v_收款日期 = Helper.GetDateCtrlValue(this.Controls, "收款日期"); string v_交款人员 = Helper.GetTextBoxCtrlValue(this.Controls, "交款人员"); string v_应收金额 = Helper.GetTextBoxCtrlValue(this.Controls, "应收金额"); string v_实收金额 = Helper.GetTextBoxCtrlValue(this.Controls, "实收金额"); string v_收款形式 = Helper.GetComBoxCtrlValue(this.Controls, "收款形式"); string v_收款人员 = Helper.GetTextBoxCtrlValue(this.Controls, "收款人员"); string v_收款事由 = Helper.GetTextBoxCtrlValue(this.Controls, "收款事由"); string v_补充说明 = Helper.GetTextBoxCtrlValue(this.Controls, "补充说明"); if (string.IsNullOrEmpty(v_实收金额)) { new MsgBoxForm("提示", "请输入实收金额!").ShowDialog(); return; } float f_应收金额 = 0, f_实收金额 = 0, f_预存金额 = 0; float.TryParse(v_应收金额, out f_应收金额); float.TryParse(v_实收金额, out f_实收金额); f_预存金额 = (float)Math.Round(f_实收金额 - f_应收金额, 2); if (f_实收金额 < f_应收金额) { new MsgBoxForm("提示", "实收金额不能小于应收金额!").ShowDialog(); return; } string query = string.Format("INSERT INTO 费用收据(收据编号,收款日期,交款人员,应收金额,实收金额,收款形式,收款人员,收款事由,补充说明) VALUES('{0}','{1}','{2}',{3},{4},'{5}','{6}','{7}','{8}')", v_收据编号, v_收款日期, v_交款人员, v_应收金额, v_实收金额, v_收款形式, v_收款人员, v_收款事由, v_补充说明); DataHelper.UpdateOrDeleteRecord(query); foreach (DataRow dRow in dtData.Rows) { string v_自动编号 = dRow[0].ToString(); string My收据编号 = this.收据编号TextBox.Text; query = "UPDATE 水电气费 SET 费用状态='已交费',收据编号='" + My收据编号 + "' WHERE 自动编号=" + v_自动编号; DataHelper.UpdateOrDeleteRecord(query); } query = "UPDATE 业主信息 SET 预存金额=" + f_预存金额 + " WHERE 业主编号='" + v_业主编号 + "' AND 楼栋名称='" + v_楼栋名称 + "'"; int nRet = DataHelper.UpdateOrDeleteRecord(query); if (nRet > 0) //更新预存金额 { if (ownerInfoDic.ContainsKey(v_业主编号)) { ownerInfoDic[v_业主编号].d_预存金额 = f_预存金额; } } DataHelper.CommitUpdate(); new MsgBoxForm("提示", "保存成功!").ShowDialog(); } catch (Exception ex) { new MsgBoxForm("提示", "保存失败,请检查所填数据类型!").ShowDialog(); LogHelper.LogError(ex); } string querySelect = "SELECT 自动编号, 计费年份, 计费月份, 费用类型, 表编号, 上月数, 本月数, 表用量, 计费单价, 应交金额,补充说明 FROM 水电气费 WHERE (业主编号 ='" + v_业主编号 + "') AND (费用状态='未交费') ORDER BY 业主编号,表编号,计费年份,计费月份"; DataTable myTable = DataHelper.GetDataTable(querySelect); this.未交DataGridView.DataSource = myTable; this.交款人员TextBox.Text = this.业主姓名ComboBox.Text; AutoInputFeeInfo(v_业主编号); }