private void toolSubmit_Click(object sender, EventArgs e) { if (!IsADD && tvDep.SelectedNode.Tag.ToString() == "0000") { mes.Show("该小区无法删除或修改!"); return; } if (txtName.Text.Trim() == "") { mes.Show("请填写小区名称!"); txtName.Focus(); return; } MODELBASE_COMMUNITY MODELBASE_COMMUNITY = new MODELBASE_COMMUNITY(); MODELBASE_COMMUNITY.COMMUNITYNAME = txtName.Text; MODELBASE_COMMUNITY.PARENTID = "0000"; MODELBASE_COMMUNITY.MEMO = txtMemo.Text; if (IsADD) { MODELBASE_COMMUNITY.COMMUNITYID = GETTABLEID.GetTableID("", "BASE_COMMUNITY"); } else { MODELBASE_COMMUNITY.COMMUNITYID = txtID.Text; } try { if (IsADD) { if (BLLBASE_COMMUNITY.Insert(MODELBASE_COMMUNITY)) { tvDep.Enabled = true; tvDep.Nodes.Clear(); AddTreeNode("0", null); toolAdd.Text = "添加"; toolAdd.Enabled = true; GetSelectedNode(tvDep.Nodes[0], MODELBASE_COMMUNITY.COMMUNITYID); } } else { if (BLLBASE_COMMUNITY.Update(MODELBASE_COMMUNITY)) { tvDep.Enabled = true; tvDep.Nodes.Clear(); AddTreeNode("0", null); GetSelectedNode(tvDep.Nodes[0], MODELBASE_COMMUNITY.COMMUNITYID); } } } catch (Exception ex) { lg.Write(ex.ToString(), MsgType.Error); mes.Show(ex.Message.ToString()); return; } IsADD = false; }
private void toolSubmit_Click(object sender, EventArgs e) { if (!IsADD && tvDep.SelectedNode.Tag.ToString() == "0000") { mes.Show("该区域无法删除或修改!"); return; } if (txtName.Text.Trim() == "") { mes.Show("请填写区域名称!"); txtName.Focus(); return; } MODELbase_area MODELbase_area = new MODELbase_area(); MODELbase_area.areaName = txtName.Text; MODELbase_area.PARENTID = "0000"; MODELbase_area.MEMO = txtMemo.Text; if (IsADD) { MODELbase_area.areaId = GETTABLEID.GetTableID(MODELbase_area.PARENTID, "base_area"); } else { MODELbase_area.areaId = txtID.Text; } try { if (IsADD) { if (BLLAREA.Insert(MODELbase_area)) { tvDep.Enabled = true; tvDep.Nodes.Clear(); AddTreeNode("0", null); toolAdd.Text = "添加"; toolAdd.Enabled = true; GetSelectedNode(tvDep.Nodes[0], MODELbase_area.areaId); } } else { if (BLLAREA.Update(MODELbase_area)) { tvDep.Enabled = true; tvDep.Nodes.Clear(); AddTreeNode("0", null); GetSelectedNode(tvDep.Nodes[0], MODELbase_area.areaId); } } } catch (Exception ex) { lg.Write(ex.ToString(), MsgType.Error); mes.Show(ex.Message.ToString()); return; } IsADD = false; }
private void toolSubmit_Click(object sender, EventArgs e) { try { if (txtName.Text.Trim() == "") { mes.Show("请输入组名称!"); txtName.Focus(); return; } MODELwaterMeterPosition MODELwaterMeterPosition = new MODELwaterMeterPosition(); MODELwaterMeterPosition.waterMeterPositionName = txtName.Text; MODELwaterMeterPosition.MEMO = txtMemo.Text; if (txtID.Text == "") { MODELwaterMeterPosition.waterMeterPositionId = GETTABLEID.GetTableID("", "waterMeterPosition"); if (BLLwaterMeterPosition.Insert(MODELwaterMeterPosition)) { toolSearch_Click(null, null); dgList.ClearSelection(); dgList.CurrentCell = dgList.Rows[dgList.Rows.Count - 1].Cells[1]; dgList_SelectionChanged(null, null); } else { mes.Show("添加失败,请重新点击保存按钮!"); return; } } else { MODELwaterMeterPosition.waterMeterPositionId = txtID.Text; if (BLLwaterMeterPosition.Update(MODELwaterMeterPosition)) { dgList.CurrentRow.Cells["waterMeterPositionName"].Value = MODELwaterMeterPosition.waterMeterPositionName; dgList.CurrentRow.Cells["MEMO"].Value = MODELwaterMeterPosition.MEMO; } else { mes.Show("修改失败,请重新点击保存按钮!"); return; } } //DisEnableControl(gbDetail); dgList.Enabled = true; toolAdd.Text = "添加"; toolDelete.Enabled = true; toolSearch.Enabled = true; } catch (Exception ex) { log.Write(ex.Message, MsgType.Error); mes.Show(ex.Message); } }
private void toolSave_Click(object sender, EventArgs e) { if (txtName.Text.Trim() == "") { mes.Show("性质名称不能为空!"); txtName.Focus(); return; } MODELWATERMETERTYPECLASS MODELWATERMETERTYPECLASS = new MODELWATERMETERTYPECLASS(); MODELWATERMETERTYPECLASS.WATERMETERTYPECLASSNAME = txtName.Text; MODELWATERMETERTYPECLASS.MEMO = txtMemo.Text; if (isAdd) { MODELWATERMETERTYPECLASS.WATERMETERTYPECLASSID = GETTABLEID.GetTableID("", "WATERMETERTYPECLASS"); bool isSuccess = BLLWATERMETERTYPECLASS.Insert(MODELWATERMETERTYPECLASS); if (isSuccess) { Query(); } else { mes.Show("添加失败,请重新点击保存按钮!"); return; } } else { if (txtID.Text.Trim() == "") { mes.Show("如果要执行添加操作,请先点击添加按钮后再保存!"); return; } MODELWATERMETERTYPECLASS.WATERMETERTYPECLASSID = txtID.Text; if (BLLWATERMETERTYPECLASS.Update(MODELWATERMETERTYPECLASS)) { if (dgList.CurrentRow != null) { dgList.CurrentRow.Cells["WATERMETERTYPECLASSNAME"].Value = txtName.Text; dgList.CurrentRow.Cells["MEMO"].Value = txtMemo.Text; } } else { mes.Show("修改失败,请重新点击保存按钮!"); return; } } dgList.Enabled = true; toolDel.Enabled = true; toolAdd.Text = "添加"; isAdd = false; }
private void btCancel_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 (txtMemo.Text.Trim() == "") { mes.Show("请输入作废原因!"); txtMemo.Focus(); return; } if (mes.ShowQ("确定要作废第 " + intStartRow.ToString() + " 至第 " + intEndRow.ToString() + " 行的通知单信息吗?") != DialogResult.OK) { return; } for (int i = intEndRow - 1; i >= intStartRow - 1; i--) { //获取抄表记录ID string strreadMeterRecordId = ""; object objreadMeterRecordId = dtUserList.Rows[i]["readMeterRecordId"]; if (objreadMeterRecordId != null && objreadMeterRecordId != DBNull.Value) { strreadMeterRecordId = objreadMeterRecordId.ToString(); MODELINFORMCANCELRECORD MODELINFORMCANCELRECORD = new MODELINFORMCANCELRECORD(); MODELINFORMCANCELRECORD.INFORMCANCELID = GETTABLEID.GetTableID("", "INFORMCANCELRECORD"); MODELINFORMCANCELRECORD.READMETERRECORDID = strreadMeterRecordId; object objInformNO = dtUserList.Rows[i]["INFORMNO"]; if (objInformNO != null && objInformNO != DBNull.Value) { MODELINFORMCANCELRECORD.INFORMNO = objInformNO.ToString(); } MODELINFORMCANCELRECORD.OPERATORID = strLogID; MODELINFORMCANCELRECORD.OPERATORNAME = strUserName; MODELINFORMCANCELRECORD.CANCELREASON = txtMemo.Text; MODELINFORMCANCELRECORD.OPERATORDATETIME = mes.GetDatetimeNow(); if (BLLINFORMCANCELRECORD.Insert(MODELINFORMCANCELRECORD)) { if (BLLreadMeterRecord.UpdateCancelInformNO(strreadMeterRecordId)) { dtUserList.Rows.Remove(dtUserList.Rows[i]); } else { //回滚通知单作废记录表 BLLINFORMCANCELRECORD.Delete(MODELINFORMCANCELRECORD.INFORMCANCELID); } } else { mes.Show("第'" + (i + 1).ToString() + "行通知单作废失败,请重试!"); return; } } else { mes.Show("第'" + (i + 1).ToString() + "行抄表ID获取失败,无法执行打印操作!"); return; } } }
private void toolPrint_Click(object sender, EventArgs e) { if (dgList.Rows.Count == 0) { return; } dgList.EndEdit(); if (cmbBatch.SelectedValue == null || cmbBatch.SelectedValue == DBNull.Value) { mes.Show("请选择发票批次!"); cmbBatch.Focus(); return; } if (txtInvoiceNO.Text.Trim() == "") { mes.Show("请输入发票号码!"); txtInvoiceNO.Focus(); return; } else { if (txtInvoiceNO.Text.Length > 8) { mes.Show("发票号码长度应小于9位,请确定发票号是否正确!"); txtInvoiceNO.Focus(); return; } if (!Information.IsNumeric(txtInvoiceNO.Text)) { mes.Show("发票号码只能由数字组成!"); txtInvoiceNO.Focus(); return; } } txtInvoiceNO.Text = txtInvoiceNO.Text.PadLeft(8, '0'); for (int i = 0; i < dgList.Rows.Count; i++) { object obj = dgList.Rows[i].Cells["Quantity"].Value; if (!Information.IsNumeric(obj)) { mes.Show("第 " + (i + 1).ToString() + "行 数量不正确,请重新填写!"); return; } else if (Convert.ToDecimal(obj) == 0) { mes.Show("第 " + (i + 1).ToString() + "行 数量为零,请重新填写!"); return; } obj = dgList.Rows[i].Cells["Price"].Value; if (!Information.IsNumeric(obj)) { mes.Show("第 " + (i + 1).ToString() + "行 单价不正确,请重新填写!"); return; } else if (Convert.ToDecimal(obj) == 0) { mes.Show("第 " + (i + 1).ToString() + "行 单价为零,请重新填写!"); return; } obj = dgList.Rows[i].Cells["Fee"].Value; if (!Information.IsNumeric(obj)) { mes.Show("第 " + (i + 1).ToString() + "行 金额(含税)不正确,请重新填写!"); return; } else if (Convert.ToDecimal(obj) == 0) { mes.Show("第 " + (i + 1).ToString() + "行 金额(含税)为零,请重新填写!"); return; } obj = dgList.Rows[i].Cells["TaxPercent"].Value; if (!Information.IsNumeric(obj)) { mes.Show("第 " + (i + 1).ToString() + "行 税率不正确,请重新填写!"); return; } else if (Convert.ToDecimal(obj) == 0) { mes.Show("第 " + (i + 1).ToString() + "行 税率为零,请重新填写!"); return; } } #region 检查起始发票号是否可用 DataTable dtCheckInvoiceExists = BllMeter_WorkResolveFee_Invoice_Detail.QueryMeterWorkInvoice(" AND INVOICENO='" + txtInvoiceNO.Text + "' AND INVOICEBATCHID='" + cmbBatch.SelectedValue.ToString() + "' AND INVOICECANCEL<>'3' "); if (dtCheckInvoiceExists.Rows.Count > 0) { if (mes.ShowQ("发票批次为'" + cmbBatch.Text + "'票号为'" + txtInvoiceNO.Text + "'的发票已使用,确定使用此发票号打印吗?") != DialogResult.OK) { txtInvoiceNO.Focus(); return; } } #endregion //发票开具初始化 bool isSuccess = FPInfoInit(this.Handle); if (!isSuccess) { mes.Show("发票开具初始化失败,请重试!"); return; } StringBuilder strInvTypeCode1 = new StringBuilder(); StringBuilder strInvNumber1 = new StringBuilder(); bool ret = GetFPInfo(strInvTypeCode1, strInvNumber1); if (ret) { if (strInvNumber1.ToString() != txtInvoiceNO.Text) { mes.Show("当前发票号与税控系统发票号不一致,请设置新的发票号!" + Environment.NewLine + "设置发票号:" + txtInvoiceNO.Text + Environment.NewLine + "系统发票号:" + strInvNumber1); txtInvoiceNO.SelectAll(); return; } } else { mes.Show("获取税控系统发票号失败,请重试!"); return; } #region 打印发票 try { if (AddFPData(txtWaterUserName.Text, txtWaterUserFPTaxNO.Text, txtWaterUserBankAccount.Text, txtWaterUserAddress.Text, strCompanyBankNameAndAccountNO, strCompanyAddressAndTel, txtMemo.Text, strLoginName, strCompanyChecker, strCompanyPayee, null, 2, 0)) { if (MXInfoInit()) { for (int i = 0; i < dgList.Rows.Count; i++) { double dbNumber = Convert.ToDouble(dgList.Rows[i].Cells["Quantity"].Value); double dbSumMoney = Convert.ToDouble(dgList.Rows[i].Cells["Fee"].Value); int intTaxPercent = (int)(Convert.ToDecimal(dgList.Rows[i].Cells["TaxPercent"].Value) * 100); string strUnit = ""; string strFeeInvoiceTitle = ""; object obj = dgList.Rows[i].Cells["InvoiceTitle"].Value; if (obj != null && obj != DBNull.Value) { strFeeInvoiceTitle = obj.ToString(); } obj = dgList.Rows[i].Cells["Units"].Value; if (obj != null && obj != DBNull.Value) { strUnit = obj.ToString(); } if (AddMXData(strFeeInvoiceTitle, "", strUnit, dbNumber, 0, dbSumMoney, intTaxPercent, 1, 0)) { } else { mes.Show("添加第 " + (i + 1).ToString() + "行 发票明细'" + strFeeInvoiceTitle + "'错误,请重试!"); return; } } StringBuilder strInvTypeCode = new StringBuilder(); StringBuilder strInvNumber = new StringBuilder(); if (!FPInvoice(strInvTypeCode, strInvNumber)) { mes.Show("发票填开错误,请重试!"); return; } bool isOK = CloseInvKey(); try { //发票打印成功后,开始处理数据库部分 ModelMeter_WorkResolveFee_Invoice ModelMeter_WorkResolveFee_Invoice = new ModelMeter_WorkResolveFee_Invoice(); ModelMeter_WorkResolveFee_Invoice.InvoicePrintID = GETTABLEID.GetTableID(strLoginID, "Meter_WorkResolveFee_Invoice"); ModelMeter_WorkResolveFee_Invoice.ChargeID = ChargeID; ModelMeter_WorkResolveFee_Invoice.InvoiceBatchID = cmbBatch.SelectedValue.ToString(); ModelMeter_WorkResolveFee_Invoice.InvoiceBatchName = cmbBatch.Text; ModelMeter_WorkResolveFee_Invoice.InvoiceNO = txtInvoiceNO.Text; ModelMeter_WorkResolveFee_Invoice.WaterUserID = strWaterUserID; ModelMeter_WorkResolveFee_Invoice.WaterUserName = txtWaterUserName.Text; ModelMeter_WorkResolveFee_Invoice.WaterUserAddress = txtWaterUserAddress.Text; ModelMeter_WorkResolveFee_Invoice.WaterUserFPTaxNO = txtWaterUserFPTaxNO.Text; ModelMeter_WorkResolveFee_Invoice.WaterUserFPBankNameAndAccountNO = txtWaterUserBankAccount.Text; ModelMeter_WorkResolveFee_Invoice.Table_Name_CH = strTable_Name_CH; ModelMeter_WorkResolveFee_Invoice.InvoiceFeeDepID = strFeeDepID; ModelMeter_WorkResolveFee_Invoice.InvoiceFeeDepName = strFeeDepName; ModelMeter_WorkResolveFee_Invoice.InvoiceTotalFeeMoney = Convert.ToDecimal(txtSumMoney.Text); ModelMeter_WorkResolveFee_Invoice.CompanyName = strCompanyName; ModelMeter_WorkResolveFee_Invoice.CompanyAddress = strCompanyAddressAndTel; ModelMeter_WorkResolveFee_Invoice.CompanyFPTaxNO = strCompanyTaxNO; ModelMeter_WorkResolveFee_Invoice.CompanyFPBankNameAndAccountNO = strCompanyBankNameAndAccountNO; ModelMeter_WorkResolveFee_Invoice.Payee = strCompanyPayee; ModelMeter_WorkResolveFee_Invoice.Checker = strCompanyChecker; ModelMeter_WorkResolveFee_Invoice.InvoicePrintWorkerID = strLoginID; ModelMeter_WorkResolveFee_Invoice.InvoicePrintWorker = strLoginName; ModelMeter_WorkResolveFee_Invoice.InvoiceType = rbNormal.Checked ? "1" : "2"; //普通发票还是专用发票 ModelMeter_WorkResolveFee_Invoice.Memo = txtMemo.Text; if (BllMeter_WorkResolveFee_Invoice_Detail.Insert(ModelMeter_WorkResolveFee_Invoice)) { try { for (int i = 0; i < dgList.Rows.Count; i++) { ModelMeter_WorkResolveFee_Invoice_Detail ModelMeter_WorkResolveFee_Invoice_Detail = new ModelMeter_WorkResolveFee_Invoice_Detail(); ModelMeter_WorkResolveFee_Invoice_Detail.InvoicePrintID = ModelMeter_WorkResolveFee_Invoice.InvoicePrintID; ModelMeter_WorkResolveFee_Invoice_Detail.DetailIndex = i + 1; ModelMeter_WorkResolveFee_Invoice_Detail.FeeItem = dgList.Rows[i].Cells["FeeItem"].Value.ToString(); ModelMeter_WorkResolveFee_Invoice_Detail.FeeItemInvoiceTitle = dgList.Rows[i].Cells["InvoiceTitle"].Value.ToString(); object objUnit = dgList.Rows[i].Cells["Units"].Value; if (objUnit != null && objUnit != DBNull.Value) { ModelMeter_WorkResolveFee_Invoice_Detail.Units = objUnit.ToString(); } ModelMeter_WorkResolveFee_Invoice_Detail.Quantity = decimal.Parse(dgList.Rows[i].Cells["Quantity"].Value.ToString()); ModelMeter_WorkResolveFee_Invoice_Detail.Price = decimal.Parse(dgList.Rows[i].Cells["Price"].Value.ToString()); ModelMeter_WorkResolveFee_Invoice_Detail.TaxPercent = decimal.Parse(dgList.Rows[i].Cells["TaxPercent"].Value.ToString()); ModelMeter_WorkResolveFee_Invoice_Detail.TaxMoney = decimal.Parse(dgList.Rows[i].Cells["TaxMoney"].Value.ToString()); ModelMeter_WorkResolveFee_Invoice_Detail.TotalMoney = decimal.Parse(dgList.Rows[i].Cells["Fee"].Value.ToString()); if (BllMeter_WorkResolveFee_Invoice_Detail.InsertDetail(ModelMeter_WorkResolveFee_Invoice_Detail)) { } else { BllMeter_WorkResolveFee_Invoice_Detail.Delete(ModelMeter_WorkResolveFee_Invoice.InvoicePrintID); mes.Show("插入发票项目明细失败,请重试"); return; } } try { decimal decSumInvoiceSumFee = 0; string strGetSumFee = @"SELECT SUM(InvoiceTotalFeeMoney) FROM Meter_WorkResolveFee_Invoice WHERE CHARGEID='" + ChargeID + "'"; object objSumFee = BllMeter_WorkResolveFee_Invoice_Detail.GetSingle(strGetSumFee); if (Information.IsNumeric(objSumFee)) { decSumInvoiceSumFee = Convert.ToDecimal(objSumFee); } if (decSumInvoiceSumFee >= decWorkResolveSumFee) { string strUpdateInvoiceSign = "UPDATE Meter_Charge SET INVOICEPRINTSIGN='1' WHERE CHARGEID='" + ChargeID + "'"; int intRows = BllMeter_WorkResolveFee_Invoice_Detail.ExcuteSQL(strUpdateInvoiceSign); if (intRows == 0) { mes.Show("更新发票标志失败,请重新打印发票!"); return; } toolPrint.Enabled = false; labInvoiceState.Visible = true; ((FrmFinance_Invoice_Print)Owner).isModify = true; } } catch (Exception ex) { mes.Show("更新发票标志失败,原因:" + ex.Message); log.Write(ex.ToString(), MsgType.Error); BllMeter_WorkResolveFee_Invoice_Detail.Delete(ModelMeter_WorkResolveFee_Invoice.InvoicePrintID); return; } } catch (Exception ex) { mes.Show("插入发票项目明细失败,原因:" + ex.Message); log.Write(ex.ToString(), MsgType.Error); BllMeter_WorkResolveFee_Invoice_Detail.Delete(ModelMeter_WorkResolveFee_Invoice.InvoicePrintID); return; } } else { mes.Show("插入发票记录失败,请补登发票号!"); return; } } catch (Exception ex) { mes.Show("插入发票记录失败,请补登发票号!\n原因:" + ex.Message); log.Write(ex.ToString(), MsgType.Error); return; } } else { mes.Show("发票明细初始化错误,请重试!"); return; } } else { mes.Show("添加发票基础信息错误,请重试!"); return; } } catch (Exception ex) { mes.Show("发票打印错误:" + ex.Message); log.Write(ex.ToString(), MsgType.Error); return; } #endregion }
private void Btn_Submit_Click(object sender, EventArgs e) { if (PIANID.SelectedValue == null || PIANID.SelectedValue == DBNull.Value) { mes.Show("请选择片号"); PIANID.Focus(); return; } if (areaId.SelectedValue == null || areaId.SelectedValue == DBNull.Value) { mes.Show("请选择区号"); areaId.Focus(); return; } if (DUANID.SelectedValue == null || DUANID.SelectedValue == DBNull.Value) { mes.Show("请选择段号"); DUANID.Focus(); return; } if (COMMUNITYID.SelectedValue == null || COMMUNITYID.SelectedValue == DBNull.Value) { mes.Show("请选择小区名称"); COMMUNITYID.Focus(); return; } if (meterReaderID.SelectedValue == null || meterReaderID.SelectedValue == DBNull.Value) { mes.Show("请选择抄表员"); meterReaderID.Focus(); return; } if (chargerID.SelectedValue == null || COMMUNITYID.SelectedValue == DBNull.Value) { mes.Show("请选择收费员"); chargerID.Focus(); return; } if (CreateType.SelectedValue == null || CreateType.SelectedValue == DBNull.Value) { mes.Show("请选择建档类型"); CreateType.Focus(); return; } if (!Information.IsNumeric(ordernumber.Text)) { mes.Show("请输入正确的顺序号"); ordernumber.Focus(); return; } if (!Information.IsNumeric(waterMeterStartNumber.Text)) { mes.Show("请输入正确的初始读数"); waterMeterStartNumber.Focus(); return; } if (!Information.IsNumeric(WATERFIXVALUE.Text)) { mes.Show("请输入正确的定量用水量"); WATERFIXVALUE.Focus(); return; } if (waterMeterPositionName.SelectedValue == null || waterMeterPositionName.SelectedValue == DBNull.Value) { mes.Show("请选择水表位置!"); waterMeterPositionName.Focus(); return; } if (waterMeterTypeId.SelectedValue == null || waterMeterTypeId.SelectedValue == DBNull.Value) { mes.Show("请选择用水性质!"); waterMeterTypeId.Focus(); return; } if (waterMeterState.SelectedValue == null || waterMeterState.SelectedValue == DBNull.Value) { mes.Show("请选择水表状态!"); waterMeterState.Focus(); return; } if (waterMeterSizeId.SelectedValue == null || waterMeterSizeId.SelectedValue == DBNull.Value) { mes.Show("请选择水表口径!"); waterMeterSizeId.Focus(); return; } ip = AppDomain.CurrentDomain.GetData("IP").ToString(); ComputerName = AppDomain.CurrentDomain.GetData("COMPUTERNAME").ToString(); Hashtable hs = new Hashtable(); hs["ModifyUser"] = AppDomain.CurrentDomain.GetData("USERNAME").ToString(); hs["ModifyDate"] = DateTime.Now.ToString(); hs["operatorID"] = AppDomain.CurrentDomain.GetData("LOGINID").ToString();; hs["operatorName"] = AppDomain.CurrentDomain.GetData("USERNAME").ToString(); hs["pianNO"] = PIANID.Text; hs["areaNO"] = areaId.Text; hs["duanNO"] = DUANID.Text; hs["CommunityID"] = COMMUNITYID.SelectedValue; hs["COMMUNITYNAME"] = COMMUNITYID.Text; hs["BuildingNO"] = BuildingNO.Text; hs["UnitNO"] = UnitNO.Text; hs["meterReaderID"] = meterReaderID.SelectedValue; hs["meterReaderName"] = meterReaderID.Text; hs["chargerID"] = chargerID.SelectedValue; hs["chargerName"] = chargerID.Text; hs["agentsign"] = (agentsign.SelectedValue == null || agentsign.SelectedValue == DBNull.Value) ? 0 : agentsign.SelectedValue; hs["bankId"] = bankId.SelectedValue; hs["BankAcountNumber"] = BankAcountNumber.Text; hs["chargeType"] = (chargeType.SelectedValue == null || chargeType.SelectedValue == DBNull.Value) ? 0 : chargeType.SelectedValue; hs["CreateType"] = CreateType.SelectedValue; hs["CreateUserDate"] = mes.GetDatetimeNow(); hs["ordernumber"] = ordernumber.Text; hs["Memo"] = Memo.Text; if (string.IsNullOrEmpty(_waterUserId)) { _waterUserId = GETTABLEID.GetTableID("", "WATERUSER"); } hs["waterUserId"] = _waterUserId; hs["waterUserNO"] = _waterUserId; if (new SqlServerHelper().Submit_AddOrEdit("Meter_Install_Peccant", "TaskID", TaskID, hs)) { //取该用户下最大的水表顺序号 DataTable dd = new SqlServerHelper().GetDateTableBySql(string.Format("SELECT RIGHT(MAX(waterMeterNo),2) FROM waterMeter WHERE waterUserId='{0}'", _waterUserId)); int MeterCount = string.IsNullOrEmpty(dd.Rows[0][0].ToString()) ? 0 : int.Parse(dd.Rows[0][0].ToString()); // MeterCount++; string NewMeterID = _waterUserId + (MeterCount + 1).ToString().PadLeft(2, '0'); Hashtable hnb = new Hashtable(); hnb["waterMeterId"] = NewMeterID; hnb["waterMeterNo"] = NewMeterID; hnb["waterUserId"] = _waterUserId; hnb["waterMeterPositionName"] = waterMeterPositionName.Text; hnb["waterMeterPositionId"] = waterMeterPositionName.SelectedValue; hnb["waterMeterSizeId"] = waterMeterSizeId.SelectedValue; hnb["waterMeterStartNumber"] = waterMeterStartNumber.Text; hnb["waterMeterTypeId"] = waterMeterTypeId.SelectedValue; hnb["waterMeterParentId"] = waterMeterParentId.SelectedValue; hnb["waterMeterState"] = waterMeterState.SelectedValue; hnb["IsReverse"] = IsReverse.Checked ? '1' : '0'; hnb["WATERFIXVALUE"] = WATERFIXVALUE.Text; hnb["waterMeterMode"] = waterMeterMode.Text; hnb["WATERMETERLOCKNO"] = WATERMETERLOCKNO.Text; new SqlServerHelper().Submit_AddOrEdit("Meter", "MeterID", strWaterMeterID, hnb); #region //if (_MeterList.Count > 0) //{ // for (int i = 0; i < _MeterList.Count; i++) // { // string NewMeterID = _waterUserId + (MeterCount + i).ToString().PadLeft(2, '0'); // Hashtable hnb = new Hashtable(); // hnb["waterMeterId"] = NewMeterID; // hnb["waterMeterNo"] = NewMeterID; // hnb["waterUserId"] = _waterUserId; // hnb["waterMeterTypeId"] = waterMeterTypeId.SelectedValue; // new SqlServerHelper().Submit_AddOrEdit("Meter", "MeterID", _MeterList[i], hnb); // } //} string CHARGEID = GETTABLEID.GetTableID("0092", "WATERFEECHARGE"); string PRESTORERUNNINGACCOUNTID = GETTABLEID.GetTableID("0092", "PRESTORERUNNINGACCOUNT"); #endregion if (sysidal.Approve_Peccant_Append(TaskID)) { string Matter = string.Format("【增户】-片:{0};区:{1};段:{2};用水性质:{3}", PIANID.Text, areaId.Text, DUANID.Text, waterMeterTypeId.Text); int count = sysidal.UpdateApprove_Peccant_defalut(ResolveID, true, "新增用户(水表)", ip, ComputerName, PointSort, TaskID, Matter); if (count > 0) { Btn_Submit.Enabled = false; MessageBox.Show("增户成功!"); } else { Btn_Submit.Enabled = true; } } } }
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 toolSave_Click(object sender, EventArgs e) { if (dgListUp.Rows.Count == 0) { mes.Show("请从下方列表内双击要转户的用户信息添加转户明细"); return; } dgListUp.EndEdit(); string strWaterUserTransferID = GETTABLEID.GetTableID(strLogID, "WaterUserTransfer".ToUpper()); string strWaterUserTransferDetailID = GETTABLEID.GetTableID(strLogID, "WaterUserTransferDetail".ToUpper()); string strSQLInsert = "INSERT INTO WaterUserTransfer(WaterUserTransferID,ApplierName,ApplierID,ApplyDateTime) VALUES('{0}','{1}','{2}',GETDATE())"; strSQLInsert = string.Format(strSQLInsert, strWaterUserTransferID, strLogName, strLogID); string strSQLDetail = ""; for (int i = 0; i < dgListUp.Rows.Count; i++) { string strWaterUserID = "", strMeterReaderIDNew = "", strMeterReaderNameNew = "", strAreaNONew = "", strDuanNONew = ""; object objWaterUserID = dgListUp.Rows[i].Cells["waterUserIdUp"].Value; if (objWaterUserID == null || objWaterUserID == DBNull.Value) { mes.Show("检测到第 " + (i + 1).ToString() + " 行用户号为空,提交失败!"); return; } else { strWaterUserID = objWaterUserID.ToString(); } objWaterUserID = dgListUp.Rows[i].Cells["meterReaderIDNew"].Value; if (objWaterUserID == null || objWaterUserID == DBNull.Value) { mes.Show("检测到第 " + (i + 1).ToString() + " 行转入抄表员为空,请选择后点击提交按钮!"); return; } else { strMeterReaderIDNew = objWaterUserID.ToString(); } objWaterUserID = dgListUp.Rows[i].Cells["meterReaderNameNew"].Value; if (objWaterUserID == null || objWaterUserID == DBNull.Value) { mes.Show("检测到第 " + (i + 1).ToString() + " 行转入抄表员为空,请选择后点击提交按钮!"); return; } else { strMeterReaderNameNew = objWaterUserID.ToString(); } objWaterUserID = dgListUp.Rows[i].Cells["areaNONew"].Value; if (objWaterUserID == null || objWaterUserID == DBNull.Value) { mes.Show("检测到第 " + (i + 1).ToString() + " 行转入区号为空,请选择后点击提交按钮!"); return; } else { strAreaNONew = objWaterUserID.ToString(); } objWaterUserID = dgListUp.Rows[i].Cells["duanNONew"].Value; if (objWaterUserID == null || objWaterUserID == DBNull.Value) { mes.Show("检测到第 " + (i + 1).ToString() + " 行转入区号为空,请选择后点击提交按钮!"); return; } else { strDuanNONew = objWaterUserID.ToString(); } int intIndex = Convert.ToInt16(strWaterUserTransferDetailID.Substring(12, 3)) + i; string strWaterUserTransferDetailIDTemp = strWaterUserTransferDetailID.Substring(0, 12) + intIndex.ToString().PadLeft(3, '0'); if (strSQLDetail == "") { strSQLDetail = @"INSERT INTO WaterUserTransferDetail(WaterUserTransferDetailID,WaterUserTransferID, waterUserNO,waterUserName,waterUserAddress,areaNO,pianNO,duanNO,ordernumber,meterReaderID,meterReaderName, meterReaderIDNew,meterReaderNameNew,areaNONew,duanNONew,waterMeterTypeId,WaterMeterTypeValue,Operator,OperateDateTime) SELECT '{0}','{1}', waterUserNO,waterUserName,waterUserAddress,areaNO,pianNO,duanNO,ordernumber,meterReaderID,meterReaderName, '{2}','{3}','{4}','{5}',waterMeterTypeId,WaterMeterTypeValue,'{6}',GETDATE() FROM V_WATERUSER_CONNECTWATERMETER WHERE WATERUSERID='{7}' "; } else { strSQLDetail = strSQLDetail + "\r"; strSQLDetail += @"INSERT INTO WaterUserTransferDetail(WaterUserTransferDetailID,WaterUserTransferID, waterUserNO,waterUserName,waterUserAddress,areaNO,pianNO,duanNO,ordernumber,meterReaderID,meterReaderName, meterReaderIDNew,meterReaderNameNew,areaNONew,duanNONew,waterMeterTypeId,WaterMeterTypeValue,Operator,OperateDateTime) SELECT '{0}','{1}', waterUserNO,waterUserName,waterUserAddress,areaNO,pianNO,duanNO,ordernumber,meterReaderID,meterReaderName, '{2}','{3}','{4}','{5}',waterMeterTypeId,WaterMeterTypeValue,'{6}',GETDATE() FROM V_WATERUSER_CONNECTWATERMETER WHERE WATERUSERID='{7}' "; } strSQLDetail = string.Format(strSQLDetail, strWaterUserTransferDetailIDTemp, strWaterUserTransferID, strMeterReaderIDNew, strMeterReaderNameNew, strLogID, strWaterUserID, strAreaNONew, strDuanNONew); } if (strSQLDetail != "") { strSQLInsert = "BEGIN TRAN \r" + strSQLInsert + "\r" + strSQLDetail + "\r IF @@ERROR=0 \r COMMIT TRAN ELSE ROLLBACK TRAN"; int intCount = BLLwaterUser.ExcuteSQL(strSQLInsert); if (intCount > 0) { toolADD.Enabled = true; toolSave.Enabled = false; } } else { mes.Show("未检测到转户明细语句,请重新点击提交按钮"); return; } }
private void btSend_Click(object sender, EventArgs e) { if (lsbReceiver.Items.Count == 0) { mes.Show("请从通讯录里选择接收人!"); return; } if (txtTitle.Text.Trim() == "") { mes.Show("请填写消息标题!"); return; } if (txtContent.Text.Trim() == "") { if (mes.ShowQ("消息内容为空,确定不填写内容吗?") != DialogResult.OK) { return; } } if (cmbClass.SelectedIndex < 0) { mes.Show("请选择消息'紧急状态'!"); return; } try { MODELMESSAGESEND MODELMESSAGESEND = new MODELMESSAGESEND(); MODELMESSAGESEND.MESSAGESENDID = GETTABLEID.GetTableID(strLogID, "MESSAGESEND"); string strReceiveName = ""; for (int i = 0; i < lsbReceiver.Items.Count; i++) { ListItem lst = (ListItem)lsbReceiver.Items[i]; if (i == 0) { strReceiveName = lst.strName; } else { strReceiveName += ";" + lst.strName; } } MODELMESSAGESEND.MESSAGERECEIVER = strReceiveName; MODELMESSAGESEND.MESSAGETITLE = txtTitle.Text; MODELMESSAGESEND.MESSAGECLASS = (cmbClass.SelectedIndex + 1).ToString(); MODELMESSAGESEND.MESSAGECONTENT = txtContent.Text; MODELMESSAGESEND.MESSAGESENDERID = strLogID; MODELMESSAGESEND.MESSAGESENDERNAME = strUserName; MODELMESSAGESEND.MESSAGESENDTIME = mes.GetDatetimeNow(); if (BLLMESSAGESEND.Insert(MODELMESSAGESEND)) { try { for (int j = 0; j < lsbReceiver.Items.Count; j++) { ListItem lst = (ListItem)lsbReceiver.Items[j]; MODELMESSAGERECEIVE MODELMESSAGERECEIVE = new MODELMESSAGERECEIVE(); MODELMESSAGERECEIVE.MESSAGERECEIVEID = GETTABLEID.GetTableID(strLogID, "MESSAGERECEIVE"); MODELMESSAGERECEIVE.MESSAGESENDID = MODELMESSAGESEND.MESSAGESENDID; MODELMESSAGERECEIVE.MESSAGERECEIVERID = lst.strID; MODELMESSAGERECEIVE.MESSAGERECEIVERNAME = lst.strName; if (!BLLMESSAGERECEIVE.Insert(MODELMESSAGERECEIVE)) { mes.Show("发送给'" + lst.strName + "'时发生错误,请重新发送!"); //回滚发送的邮件 BLLMESSAGERECEIVE.Delete(" AND MESSAGESENDID='" + MODELMESSAGERECEIVE.MESSAGESENDID + "'"); //回滚发送的内容 BLLMESSAGESEND.Delete(MODELMESSAGESEND.MESSAGESENDID); return; } } } catch (Exception ex) { mes.Show(ex.Message); log.Write(ex.ToString(), MsgType.Error); //回滚发送的内容 BLLMESSAGESEND.Delete(MODELMESSAGESEND.MESSAGESENDID); //回滚发送的邮件 BLLMESSAGERECEIVE.Delete(" AND MESSAGESENDID='" + MODELMESSAGESEND.MESSAGESENDID + "'"); return; } } } catch (Exception ex) { mes.Show(ex.Message); log.Write(ex.ToString(), MsgType.Error); return; } mes.Show("发送完成!"); btSend.Enabled = false; btNew.Enabled = true; }
private void btChange_Click(object sender, EventArgs e) { try { if (!Information.IsNumeric(txtWaterMeterEndNumber.Text.Trim())) { mes.Show("变更后的读数只能为数字!"); txtWaterMeterEndNumber.Focus(); return; } if (txtMemo.Text.Trim() == "") { mes.Show("请输入变更原因!"); txtMemo.Focus(); return; } if (mes.ShowQ("表底数变更前请将所有费用收取完毕!\n确定要变更'" + strWaterUserName + "-" + strWaterMeterID + "'的表底数吗?") != DialogResult.OK) { return; } DateTime dtNow = mes.GetDatetimeNow(); MODELreadMeterRecord MODELreadMeterRecord = new MODELreadMeterRecord(); MODELreadMeterRecord.waterUserName = strWaterUserName; MODELreadMeterRecord.waterUserNO = strWaterUserNO; MODELreadMeterRecord.waterUserId = strWaterUserNO; MODELreadMeterRecord.waterUserAddress = strWaterUserAddress; MODELreadMeterRecord.readMeterRecordIdLast = strLastRecordID; MODELreadMeterRecord.lastNumberYearMonth = dtNow.ToString("yyyyMM"); MODELreadMeterRecord.initialReadMeterMesDateTime = dtNow; MODELreadMeterRecord.waterMeterId = strWaterMeterID; MODELreadMeterRecord.waterMeterNo = strWaterMeterID; if (Information.IsNumeric(strWaterMeterLastNumber)) { MODELreadMeterRecord.waterMeterLastNumber = Convert.ToInt32(strWaterMeterLastNumber); } MODELreadMeterRecord.waterMeterEndNumber = Convert.ToInt32(txtWaterMeterEndNumber.Text.Trim()); MODELreadMeterRecord.totalNumber = 0; MODELreadMeterRecord.waterTotalCharge = 0; MODELreadMeterRecord.extraChargePrice1 = 0; MODELreadMeterRecord.extraChargePrice2 = 0; MODELreadMeterRecord.extraChargePrice3 = 0; MODELreadMeterRecord.extraChargePrice4 = 0; MODELreadMeterRecord.extraChargePrice5 = 0; MODELreadMeterRecord.extraChargePrice6 = 0; MODELreadMeterRecord.extraChargePrice7 = 0; MODELreadMeterRecord.extraChargePrice8 = 0; MODELreadMeterRecord.extraCharge1 = 0; MODELreadMeterRecord.extraCharge2 = 0; MODELreadMeterRecord.extraCharge3 = 0; MODELreadMeterRecord.extraCharge4 = 0; MODELreadMeterRecord.extraCharge5 = 0; MODELreadMeterRecord.extraCharge6 = 0; MODELreadMeterRecord.extraCharge7 = 0; MODELreadMeterRecord.extraCharge8 = 0; MODELreadMeterRecord.extraTotalCharge = 0; MODELreadMeterRecord.totalCharge = 0; MODELreadMeterRecord.WATERFIXVALUE = 0; MODELreadMeterRecord.readMeterRecordYear = Convert.ToInt16(strRecordYear); MODELreadMeterRecord.readMeterRecordMonth = Convert.ToInt16(strRecordMonth); string strYearAndMonth = strRecordYear + "-" + strRecordMonth + "-01"; if (Information.IsDate(strYearAndMonth)) { MODELreadMeterRecord.readMeterRecordYearAndMonth = Convert.ToDateTime(strYearAndMonth); } else { MODELreadMeterRecord.readMeterRecordYearAndMonth = dtNow; } //变更记录将抄表时间置为空 //MODELreadMeterRecord.readMeterRecordDate =null; MODELreadMeterRecord.chargeState = "1"; MODELreadMeterRecord.checkState = "1"; MODELreadMeterRecord.checkDateTime = dtNow; MODELreadMeterRecord.WATERMETERNUMBERCHANGESTATE = "1"; MODELreadMeterRecord.MEMO = txtMemo.Text; //将特殊的用户(按面积均摊或者按月份确定开票名称)存储到memo字段里。备用 MODELreadMeterRecord.readMeterRecordId = GETTABLEID.GetTableID(strLogID, "READMETERRECORD"); if (BLLreadMeterRecord.Insert(MODELreadMeterRecord)) { try { if (BLLreadMeterRecord.UpdateCheckStateChangeNumber(MODELreadMeterRecord)) { mes.Show("表底数变更成功!"); btChange.Enabled = false; MODELOPERATORLOG MODELOPERATORLOG = new MODELOPERATORLOG(); MODELOPERATORLOG.LOGCONTENT = "表底变更:" + MODELreadMeterRecord.waterUserNO + "-" + MODELreadMeterRecord.waterUserName + "-" + MODELreadMeterRecord.waterMeterNo + "," + MODELreadMeterRecord.waterMeterLastNumber + "→" + MODELreadMeterRecord.waterMeterEndNumber; MODELOPERATORLOG.METERREADINGID = strMeterReadingID; MODELOPERATORLOG.LOGTYPE = "2"; //1代表用户 2代表水表 MODELOPERATORLOG.OPERATORID = strLogID; MODELOPERATORLOG.OPERATORNAME = strUserName; BLLOPERATORLOG.Insert(MODELOPERATORLOG); } else { //回滚抄表数据 BLLreadMeterRecord.Delete(MODELreadMeterRecord.readMeterRecordId); } } catch (Exception) { //回滚抄表数据 BLLreadMeterRecord.Delete(MODELreadMeterRecord.readMeterRecordId); mes.Show("表底数变更过程更新审核状态失败,请重试!"); return; } } else { mes.Show("表底数变更失败,请重试!"); return; } } catch (Exception ex) { mes.Show("表底数变更失败,原因:" + ex.ToString()); log.Write(ex.ToString(), MsgType.Error); return; } }
private void toolSave_Click(object sender, EventArgs e) { if (txtName.Text.Trim() == "") { mes.Show("类别名称不能为空!"); txtName.Focus(); return; } if (chkIsEnable.Checked) { if (txtStartMonth.Text.Trim() == "") { mes.Show("请输入开始月份!"); txtStartMonth.Focus(); return; } else { if (!Information.IsNumeric(txtStartMonth.Text.Trim())) { mes.Show("开始月份只能为整数!"); txtStartMonth.Focus(); return; } } if (txtStartDay.Text.Trim() == "") { mes.Show("请输入开始日期!"); txtStartDay.Focus(); return; } else { if (!Information.IsNumeric(txtStartDay.Text.Trim())) { mes.Show("开始日期只能为整数!"); txtStartDay.Focus(); return; } } if (txtPercent.Text.Trim() == "") { mes.Show("请输入滞纳金比率!"); txtPercent.Focus(); return; } else { if (!Information.IsNumeric(txtStartMonth.Text.Trim())) { mes.Show("滞纳金比率只能为数字!"); txtPercent.Focus(); return; } } } MODELwaterUserType MODELwaterUserType = new MODELwaterUserType(); MODELwaterUserType.waterUserTypeName = txtName.Text; MODELwaterUserType.invoiceBillName = txtInvioceBillName.Text; if (MODELwaterUserType.invoiceBillName != "") { string strFile = txtFilePath.Text; if (strFile != "") { if (File.Exists(strFile)) { if (!File.Exists(Application.StartupPath + @"\InvoiceModel\" + txtInvioceBillName.Text)) { File.Copy(strFile, Application.StartupPath + @"\InvoiceModel\" + txtInvioceBillName.Text, true); } } else { mes.Show("模板文件\"" + strFile + "\"不存在,请重新选择!"); return; } } } if (chkIsEnable.Checked) { MODELwaterUserType.overDuechargeEnable = "1"; MODELwaterUserType.overDuechargeStartMonth = Convert.ToInt32(txtStartMonth.Text); MODELwaterUserType.overDuechargeStartDay = Convert.ToInt32(txtStartDay.Text); MODELwaterUserType.overDuechargePercent = Convert.ToDecimal(txtPercent.Text); } else { MODELwaterUserType.overDuechargeEnable = "0"; } MODELwaterUserType.MEMO = txtMemo.Text; if (isAdd) { MODELwaterUserType.waterUserTypeId = GETTABLEID.GetTableID("", "WATERUSERTYPE"); if (BLLwaterUserType.Insert(MODELwaterUserType)) { Query(); } else { mes.Show("添加失败,请重新点击保存按钮!"); return; } } else { MODELwaterUserType.waterUserTypeId = txtID.Text; if (BLLwaterUserType.Update(MODELwaterUserType)) { Query(); dgList.ClearSelection(); for (int i = 0; i < dgList.Rows.Count; i++) { if (dgList.Rows[i].Cells["waterUserTypeId"].Value != null && dgList.CurrentRow.Cells["waterUserTypeId"].Value != DBNull.Value) { string strID = dgList.Rows[i].Cells["waterUserTypeId"].Value.ToString(); if (MODELwaterUserType.waterUserTypeId == strID) { dgList.CurrentCell = dgList.Rows[i].Cells["waterUserTypeName"]; dgList_SelectionChanged(null, null); } } } } else { mes.Show("修改失败,请重新点击保存按钮!"); return; } } dgList.Enabled = true; toolDel.Enabled = true; toolAdd.Text = "添加"; isAdd = false; txtFilePath.Clear(); }
private void Btn_Submit_Click(object sender, EventArgs e) { Btn_Submit.Enabled = false; string Matter = string.Format("【补交水量】-审批意见:{0}", UserOpinion.Text.Trim()); int count = sysidal.UpdateApprove_defalut("User_AddWater", ResolveID, IsPass.Checked, UserOpinion.Text.Trim(), PointSort, TaskID, Matter); if (count > 0) { if (sysidal.IsWorkTaskOver("User_AddWater", TaskID))//获取审批状态,如果是Meter_WorkTask.state=5 和User_WaterPrice.state=5,说明审批流程走完 { bool IsChargeAbate = false; //======================================生成一条抄表记录 #region 生成补交水量记录 string strChargeState = "1", strTrapePriceString = "", strExtraCharge = "", strChargeID = ""; decimal waterTotalCharge = 0, extraCharge1 = 0, extraCharge2 = 0; DateTime dtNow = mes.GetDatetimeNow(); int intTotalNum = Convert.ToInt32(totalNumber.Text); string strSQL = string.Format(@"SELECT trapezoidPrice,extraCharge FROM V_WATERUSER_CONNECTWATERMETER WHERE waterUserId='{0}'", WATERUSERNO.Text); DataTable dtReadMeterRecord = new SqlServerHelper().GetDateTableBySql(strSQL); if (dtReadMeterRecord.Rows.Count > 0) { object obj = dtReadMeterRecord.Rows[0]["trapezoidPrice"]; if (obj != null && obj != DBNull.Value) { strTrapePriceString = obj.ToString(); } obj = dtReadMeterRecord.Rows[0]["extraCharge"]; if (obj != null && obj != DBNull.Value) { strExtraCharge = obj.ToString(); } } //获取水费等信息 sysidal.GetAvePrice(intTotalNum, strTrapePriceString, strExtraCharge, 1, ref waterTotalCharge, ref extraCharge1, ref extraCharge2); string strReadMeterRecordID = GETTABLEID.GetTableID(strLogID, "READMETERRECORD"); string strSQLExcute = string.Format(@"BEGIN TRAN DECLARE @readMeterRecordIdLast varchar(30) DECLARE @waterMeterEndNumber INT SELECT TOP 1 @readMeterRecordIdLast=readMeterRecordId,@waterMeterEndNumber=waterMeterEndNumber FROM V_READMETERRECORD_LEFT_WATERFEECHARGE WHERE WATERUSERID='{0}' ORDER BY checkDateTime DESC,readMeterRecordDate DESC IF @readMeterRecordIdLast IS NULL BEGIN SELECT @waterMeterEndNumber=waterMeterStartNumber FROM waterMeter WHERE WATERUSERID='{0}' SET @readMeterRecordIdLast=NULL END DECLARE @PRESTORE DECIMAL(18,2)=0 DECLARE @LJQF DECIMAL(18,2)=0 SELECT @PRESTORE=PRESTORE, @LJQF=TOTALFEE FROM V_WATERUSERAREARAGE WHERE waterUserId='{0}' INSERT INTO [readMeterRecord]([readMeterRecordId],[readMeterRecordIdLast],[waterMeterId],[waterMeterNo] ,[lastNumberYearMonth],[waterMeterLastNumber],[waterMeterEndNumber],SUBMETERNUMBER,[totalNumber],[totalNumberDescribe],[avePrice] ,[avePriceDescribe],[waterTotalCharge],[extraChargePrice1],[extraCharge1],[extraChargePrice2],[extraCharge2], [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],[WATERUSERQQYE],[WATERUSERJSYE],[WATERUSERLJQF]) SELECT '{1}',@readMeterRecordIdLast,[waterMeterId],[waterMeterNo] ,NULL,@waterMeterEndNumber,@waterMeterEndNumber,0,{2},NULL,NULL ,NULL,{3},NULL,{4},NULL,{5},{4}+{5},[trapezoidPrice],[extraCharge] ,{3}+{4}+{5},0,[WATERFIXVALUE],NULL,NULL,GETDATE(),GETDATE(),GETDATE(),[waterMeterPositionName] ,[waterMeterSizeId],[waterMeterSizeValue],waterMeterTypeClassID,waterMeterTypeClassName,[waterMeterTypeId],[waterMeterTypeValue], [waterMeterProduct],[waterMeterSerialNumber],[waterMeterMode],[waterMeterMagnification],[waterMeterMaxRange],IsReverse,[chargerID],[chargerName],[meterReaderID],[meterReaderName], 1,GETDATE(),'{6}','1',NULL,[waterUserId],[waterUserNO],[waterUserName],waterUserNameCode, [waterUserTelphoneNO],areaNO,pianNO,duanNO,communityID,COMMUNITYNAME,buildingNO,unitNO,createType,[waterPhone],[waterUserAddress],[waterUserPeopleCount] ,NULL,NULL,NULL,[waterUserTypeId],[waterUserTypeName],[waterUserCreateDate] ,[waterUserHouseType],[chargeType],[agentsign],NULL,[bankId],[bankName],[BankAcountNumber], [isSummaryMeter],[waterMeterParentId],[ordernumber],@PRESTORE,@PRESTORE-@LJQF-{3}-{4}-{5},@LJQF+{3}+{4}+{5} FROM V_WATERUSER_CONNECTWATERMETER WHERE waterUserId='{0}' COMMIT TRAN", WATERUSERNO.Text, strReadMeterRecordID, intTotalNum, waterTotalCharge, extraCharge1, extraCharge2, strRealName); IsChargeAbate = new SqlServerHelper().ExcuteSql(strSQLExcute) > 0?true:false; #endregion if (IsChargeAbate) { Hashtable hu = new Hashtable(); hu["IsAdd"] = 1; hu["CHARGEWORKERNAME"] = AppDomain.CurrentDomain.GetData("USERNAME").ToString(); hu["CHARGEWORKERID"] = AppDomain.CurrentDomain.GetData("LOGINID").ToString(); hu["CHARGEWORKERDate"] = DateTime.Now.ToString(); int upCount = new SqlServerHelper().UpdateByHashtable("User_AddWater", "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 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 toolSubmit_Click(object sender, EventArgs e) { if (!IsADD && tvDep.SelectedNode.Tag.ToString() == "01") { mes.Show("该部门无法删除或修改!"); return; } if (txtName.Text.Trim() == "") { mes.Show("请填写部门名称!"); txtName.Focus(); return; } if (txtCode.Text.Trim() == "") { mes.Show("请填写部门拼音简码!"); txtCode.Focus(); return; } //if (cmbParentID.SelectedValue == null && tvDep.SelectedNode.Tag.ToString()!="00010001") if (cmbParentID.SelectedValue == null) { mes.Show("请选择所属部门!"); cmbParentID.Focus(); return; } MODELBASE_DEPARTMENT MODELBASE_DEPARTMENT = new MODELBASE_DEPARTMENT(); MODELBASE_DEPARTMENT.DEPARTMENTNAME = txtName.Text; //if (tvDep.SelectedNode.Tag.ToString() != "00010001") //MODELBASE_DEPARTMENT.PARENTID = cmbParentID.SelectedValue.ToString(); //else // MODELBASE_DEPARTMENT.PARENTID = "0"; MODELBASE_DEPARTMENT.PARENTID = cmbParentID.SelectedValue.ToString(); MODELBASE_DEPARTMENT.DEPARTMENTMANAGER = cmbLeader.Text; MODELBASE_DEPARTMENT.DEPARTMENTTEL = txtTel.Text; MODELBASE_DEPARTMENT.MEMO = txtMemo.Text; MODELBASE_DEPARTMENT.SIMPLECODE = txtCode.Text.Trim(); if (IsADD) { MODELBASE_DEPARTMENT.DEPARTMENTID = GETTABLEID.GetTableID(MODELBASE_DEPARTMENT.PARENTID, "BASE_DEPARTMENT"); } else { MODELBASE_DEPARTMENT.DEPARTMENTID = txtID.Text; //if (MODELBASE_DEPARTMENT.DEPARTMENTIDOLD.Substring(0, MODELBASE_DEPARTMENT.PARENTID.Length) == MODELBASE_DEPARTMENT.PARENTID) // MODELBASE_DEPARTMENT.DEPARTMENTID = MODELBASE_DEPARTMENT.DEPARTMENTIDOLD; //else //MODELBASE_DEPARTMENT.DEPARTMENTID = GETTABLEID.GetTableID(MODELBASE_DEPARTMENT.PARENTID, "BASE_DEPARTMENT"); } try { if (IsADD) { if (BLLBASE_DEPARTMENT.InsertBASE_DEPARTMENT(MODELBASE_DEPARTMENT)) { tvDep.Enabled = true; tvDep.Nodes.Clear(); AddTreeNode("0", null); toolAdd.Enabled = true; GetSelectedNode(tvDep.Nodes[0], MODELBASE_DEPARTMENT.DEPARTMENTID); BindDEP(); } } else { if (BLLBASE_DEPARTMENT.UpdateDEP(MODELBASE_DEPARTMENT)) { tvDep.Enabled = true; tvDep.Nodes.Clear(); AddTreeNode("0", null); GetSelectedNode(tvDep.Nodes[0], MODELBASE_DEPARTMENT.DEPARTMENTID); BindDEP(); } } } catch (Exception ex) { lg.Write(ex.ToString(), MsgType.Error); mes.Show(ex.Message.ToString()); return; } IsADD = false; }
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_Submit_Click(object sender, EventArgs e) { Btn_Submit.Enabled = false; string Matter = string.Format("【费用减免】-用户名:{0};用户号:{1};地址:{2};减免月份:{3};原水量:{6};新水量:{7};减免金额:{4};减免原因:{5}", waterUserName.Text, WATERUSERNO.Text, waterUserAddress.Text, readMeterRecordYearAndMonth.Text, AbateDescribe.Text, LB_Abate.Text, OldTotalNumber.Text, NewTotalNumber.Text); int count = sysidal.UpdateApprove_defalut("User_ChargeAbate", ResolveID, IsPass.Checked, UserOpinion.Text.Trim(), PointSort, TaskID, Matter); if (count > 0) { if (sysidal.IsWorkTaskOver("User_ChargeAbate", TaskID))//获取审批状态,如果是Meter_WorkTask.state=5 和User_WaterPrice.state=5,说明审批流程走完 { try { bool IsChargeAbate = false; //===================================================================================减免水费 //返回bool类型 #region 20160909 ByRen //增加台账及冲减明细表字段AbateMoney(减免金额) //ALTER TABLE readMeterRecord ADD AbateMoney decimal(18,2) default 0 //ALTER TABLE readMeterRecordCancel ADD AbateMoney decimal(18,2) default 0 string strChargeState = "1", strTrapePriceString = "", strExtraCharge = "", strChargeID = ""; decimal waterTotalCharge = 0, extraCharge1 = 0, extraCharge2 = 0, decPrestore = 0, decQFSum = 0, decTotalChargeEnd = Convert.ToDecimal(totalChargeEND.Text); int intNotReadMonths = 1, intTotalNumber = Convert.ToInt32(NewTotalNumber.Text); DateTime dtNow = mes.GetDatetimeNow(); int intRows = 0;//水表变更语句执行影响的行数; string strSQL = string.Format(@"SELECT * FROM V_WATERUSERAREARAGE WHERE waterUserId='{0}'", WATERUSERNO.Text); DataTable dtWaterUser = new SqlServerHelper().GetDateTableBySql(strSQL); if (dtWaterUser.Rows.Count > 0) { object obj = dtWaterUser.Rows[0]["prestore"]; if (Information.IsNumeric(obj)) { decPrestore = Convert.ToDecimal(obj); } obj = dtWaterUser.Rows[0]["TOTALFEE"]; if (Information.IsNumeric(obj)) { decQFSum = Convert.ToDecimal(obj); } } strSQL = string.Format(@"SELECT chargeState,trapezoidPrice,extraCharge,NotReadMonthCount,CHARGEID FROM readMeterRecord WHERE readMeterRecordId='{0}'", readMeterRecordId.Text); DataTable dtReadMeterRecord = new SqlServerHelper().GetDateTableBySql(strSQL); if (dtReadMeterRecord.Rows.Count > 0) { object obj = dtReadMeterRecord.Rows[0]["trapezoidPrice"]; if (obj != null && obj != DBNull.Value) { strTrapePriceString = obj.ToString(); } obj = dtReadMeterRecord.Rows[0]["extraCharge"]; if (obj != null && obj != DBNull.Value) { strExtraCharge = obj.ToString(); } obj = dtReadMeterRecord.Rows[0]["NotReadMonthCount"]; if (Information.IsNumeric(obj)) { intNotReadMonths = Convert.ToInt16(obj); } obj = dtReadMeterRecord.Rows[0]["CHARGEID"]; if (obj != null && obj != DBNull.Value) { strChargeID = obj.ToString(); } //获取水费等信息 sysidal.GetAvePrice(intTotalNumber, strTrapePriceString, strExtraCharge, intNotReadMonths, ref waterTotalCharge, ref extraCharge1, ref extraCharge2); obj = dtReadMeterRecord.Rows[0]["chargeState"]; if (obj != null && obj != DBNull.Value) { strChargeState = obj.ToString(); } if (strChargeState == "3") { #region 已收费的抄表记录,需要先红冲此收费记录,然后生成一条新的抄表记录 string strReadMeterRecordID = GETTABLEID.GetTableID(strLogID, "READMETERRECORD"); string strReadMeterRecordIDNew = (Convert.ToInt64(strReadMeterRecordID) + 1).ToString(); string ChargeID = GETTABLEID.GetTableID(strLogID, "WATERFEECHARGE"); string ChargeIDNew = (Convert.ToInt64(ChargeID) + 1).ToString(); string strSQLExcute = string.Format(@"BEGIN TRAN 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],[WATERUSERQQYE],[WATERUSERJSYE]) SELECT '{0}','{1}',[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],NULL,NULL,'{2}',NULL,'{2}',[waterMeterPositionName] ,[waterMeterSizeId],[waterMeterSizeValue],waterMeterTypeClassID,waterMeterTypeClassName,[waterMeterTypeId],[waterMeterTypeName], [waterMeterProduct],[waterMeterSerialNumber],[waterMeterMode],[waterMeterMagnification],[waterMeterMaxRange],IsReverse,[chargerID],[chargerName],[meterReaderID],[meterReaderName], [checkState],'{2}','{3}','3','{4}',[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] ,'红冲台账:{1}',{5}-{15},{5}-{15}+{8} FROM readMeterRecord WHERE readMeterRecordId='{1}' 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 '{4}',0-TOTALNUMBERCHARGE,0-EXTRACHARGECHARGE1,0-EXTRACHARGECHARGE2, 0-WATERTOTALCHARGE,0-EXTRATOTALCHARGE,0-TOTALCHARGE,0-OVERDUEMONEY,CHARGETYPEID,'4',0-CHARGEBCYS,0,{5},CHARGEBCYS,{5}+CHARGEBCYS, CHARGEWORKERID,CHARGEWORKERNAME,DATEADD(SECOND,1,GETDATE()),0,0,NULL FROM WATERFEECHARGE WHERE CHARGEID='{7}' UPDATE WATERUSER SET prestore={5}+{8} WHERE WATERUSERID='{9}' 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],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],[WATERUSERQQYE],[WATERUSERJSYE]) SELECT '{10}','',[waterMeterId],[waterMeterNo] ,[lastNumberYearMonth],[waterMeterEndNumber] - {11},[waterMeterEndNumber],0,{11},NULL,NULL ,NULL,{12},[extraChargePrice1],{13},[extraChargePrice2],{14},[extraChargePrice3] ,[extraCharge3],[extraChargePrice4],[extraCharge4],[extraChargePrice5],[extraCharge5],[extraChargePrice6],[extraCharge6] ,[extraChargePrice7],[extraCharge7],[extraChargePrice8],[extraCharge8],{13}+{14},[trapezoidPrice],[extraCharge] ,{12}+{13}+{14},0,[WATERFIXVALUE],DATEADD(SECOND,2,GETDATE()),NULL,DATEADD(SECOND,2,GETDATE()),[waterMeterPositionName] ,[waterMeterSizeId],[waterMeterSizeValue],waterMeterTypeClassID,waterMeterTypeClassName,[waterMeterTypeId],[waterMeterTypeName], [waterMeterProduct],[waterMeterSerialNumber],[waterMeterMode],[waterMeterMagnification],[waterMeterMaxRange],IsReverse,[chargerID],[chargerName],[meterReaderID],[meterReaderName], '1',DATEADD(SECOND,2,GETDATE()),'{3}','1',NULL,[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] ,NULL,{5}+{8}-{15},{5}+{8}-{15}-{12}-{13}-{14} FROM readMeterRecord WHERE readMeterRecordId='{1}' COMMIT TRAN", strReadMeterRecordID, readMeterRecordId.Text, dtNow, strRealName, ChargeID, decPrestore, strLogID, strChargeID, decTotalChargeEnd, WATERUSERNO.Text, strReadMeterRecordIDNew, intTotalNumber, waterTotalCharge, extraCharge1, extraCharge2, decQFSum); intRows = new SqlServerHelper().ExcuteSql(strSQLExcute); #endregion } else if (strChargeState == "2") { mes.Show("该抄表记录为挂账单据,无法执行减免操作!"); } else if (strChargeState == "1") { DateTime dtReadMeterMonth = Convert.ToDateTime(readMeterRecordYearAndMonth.Text); int intMonth = dtNow.Year * 12 + dtNow.Month - dtReadMeterMonth.Year * 12 - dtReadMeterMonth.Month; if (intMonth > 0) { #region 未收费并且抄表月份不是当月的,需要先将历史抄表记录收费并且红冲,然后再生成一条新的抄表记录 string strReadMeterRecordID = GETTABLEID.GetTableID(strLogID, "READMETERRECORD"); string strReadMeterRecordIDNew = (Convert.ToInt64(strReadMeterRecordID) + 1).ToString(); string ChargeID = GETTABLEID.GetTableID(strLogID, "WATERFEECHARGE"); string ChargeIDNew = (Convert.ToInt64(ChargeID) + 1).ToString(); string strSQLExcute = string.Format(@" BEGIN TRAN DECLARE @TotalNumber INT=0 DECLARE @waterTotalCharge DECIMAL(18,2)=0 DECLARE @extraCharge1 DECIMAL(18,2)=0 DECLARE @extraCharge2 DECIMAL(18,2)=0 DECLARE @extraTotalCharge DECIMAL(18,2)=0 DECLARE @totalCharge DECIMAL(18,2)=0 DECLARE @Prestore DECIMAL(18,2)=0 DECLARE @QFZJ DECIMAL(18,2)=0 SELECT @Prestore=Prestore,@QFZJ=TOTALFEE FROM V_WATERUSERAREARAGE WHERE waterUserId='{0}' SELECT @waterTotalCharge=waterTotalCharge,@extraCharge1=extraCharge1, @extraCharge2=extraCharge2,@extraTotalCharge=extraTotalCharge, @totalCharge=totalCharge FROM readMeterRecord where readMeterRecordId='{1}' INSERT INTO WATERFEECHARGE(CHARGEID,TOTALNUMBERCHARGE,EXTRACHARGECHARGE1, EXTRACHARGECHARGE2,WATERTOTALCHARGE,EXTRATOTALCHARGE,TOTALCHARGE,CHARGETYPEID, CHARGEClASS,CHARGEBCYS,CHARGEBCSS,CHARGEYSQQYE,CHARGEYSBCSZ,CHARGEYSJSYE, CHARGEWORKERID,CHARGEWORKERNAME,CHARGEDATETIME) SELECT '{2}',@TotalNumber,@waterTotalCharge,@extraCharge1,@extraCharge2, @extraTotalCharge,@totalCharge,'1','1',@totalCharge,0,@Prestore,0,@Prestore, '{3}','{4}',GETDATE() UPDATE readMeterRecord SET chargeState='3',chargeID='{2}' WHERE readMeterRecordId='{1}' INSERT INTO [readMeterRecord]([readMeterRecordId],[readMeterRecordIdLast],[waterMeterId],[waterMeterNo] ,[lastNumberYearMonth],[waterMeterLastNumber],[waterMeterEndNumber],SUBMETERNUMBER,[totalNumber],[totalNumberDescribe],[avePrice] ,[avePriceDescribe],[waterTotalCharge],[extraChargePrice1],[extraCharge1],[extraChargePrice2],[extraCharge2] ,[extraTotalCharge],[trapezoidPrice],[extraCharge] ,[totalCharge],[OVERDUEMONEY],[WATERFIXVALUE],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],WATERUSERQQYE,WATERUSERJSYE,WATERUSERLJQF) SELECT '{5}','',[waterMeterId],[waterMeterNo] ,[lastNumberYearMonth],[waterMeterEndNumber],[waterMeterLastNumber],0,0-[totalNumber],NULL,[avePrice] ,NULL,0-[waterTotalCharge],[extraChargePrice1],0-[extraCharge1],[extraChargePrice2],0-[extraCharge2] ,0-[extraTotalCharge],[trapezoidPrice],[extraCharge] ,0-[totalCharge],0,[WATERFIXVALUE],DATEADD(SECOND,1,GETDATE()),DATEADD(SECOND,1,GETDATE()),DATEADD(SECOND,1,GETDATE()),[waterMeterPositionName] ,[waterMeterSizeId],[waterMeterSizeValue],waterMeterTypeClassID,waterMeterTypeClassName,[waterMeterTypeId],[waterMeterTypeName] ,[waterMeterProduct],[waterMeterSerialNumber] ,[waterMeterMode],[waterMeterMagnification],[waterMeterMaxRange],IsReverse,[chargerID],[chargerName],[meterReaderID],[meterReaderName] ,'1',DATEADD(SECOND,1,GETDATE()),'{4}','3','{6}',[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] ,NULL,@Prestore-@QFZJ,@Prestore-@QFZJ+totalCharge,@QFZJ-totalCharge FROM readMeterRecord WHERE readMeterRecordId='{1}' INSERT INTO WATERFEECHARGE(CHARGEID,TOTALNUMBERCHARGE,EXTRACHARGECHARGE1, EXTRACHARGECHARGE2,WATERTOTALCHARGE,EXTRATOTALCHARGE,TOTALCHARGE,CHARGETYPEID, CHARGEClASS,CHARGEBCYS,CHARGEBCSS,CHARGEYSQQYE,CHARGEYSBCSZ,CHARGEYSJSYE, CHARGEWORKERID,CHARGEWORKERNAME,CHARGEDATETIME) SELECT '{6}',0-@TotalNumber,0-@waterTotalCharge,0-@extraCharge1,0-@extraCharge2, 0-@extraTotalCharge,0-@totalCharge,'1','4',0-@totalCharge,0,@Prestore,0,@Prestore, '{3}','{4}',DATEADD(SECOND,2,GETDATE()) SELECT @Prestore=Prestore,@QFZJ=TOTALFEE FROM V_WATERUSERAREARAGE WHERE waterUserId='{0}' INSERT INTO [readMeterRecord]([readMeterRecordId],[readMeterRecordIdLast],[waterMeterId],[waterMeterNo] ,[lastNumberYearMonth],[waterMeterLastNumber],[waterMeterEndNumber],SUBMETERNUMBER,[totalNumber],[totalNumberDescribe],[avePrice] ,[avePriceDescribe],[waterTotalCharge],[extraChargePrice1],[extraCharge1],[extraChargePrice2],[extraCharge2] ,[extraTotalCharge],[trapezoidPrice],[extraCharge] ,[totalCharge],[OVERDUEMONEY],[WATERFIXVALUE],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],[NotReadMonthCount],WATERUSERQQYE,WATERUSERJSYE,WATERUSERLJQF) SELECT '{7}','',[waterMeterId],[waterMeterNo] ,[lastNumberYearMonth],[waterMeterEndNumber]-{11},[waterMeterEndNumber],0,{11},NULL,[avePrice] ,NULL,{8},[extraChargePrice1],{9},[extraChargePrice2],{10} ,{9}+{10},[trapezoidPrice],[extraCharge] ,{8}+{9}+{10},0,[WATERFIXVALUE],DATEADD(SECOND,3,GETDATE()),DATEADD(SECOND,3,GETDATE()),DATEADD(SECOND,3,GETDATE()),[waterMeterPositionName] ,[waterMeterSizeId],[waterMeterSizeValue],waterMeterTypeClassID,waterMeterTypeClassName,[waterMeterTypeId],[waterMeterTypeName] ,[waterMeterProduct],[waterMeterSerialNumber] ,[waterMeterMode],[waterMeterMagnification],[waterMeterMaxRange],IsReverse,[chargerID],[chargerName],[meterReaderID],[meterReaderName] ,'1',DATEADD(SECOND,3,GETDATE()),'{4}','1',NULL,[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] ,NULL,[NotReadMonthCount],@Prestore,@Prestore-@QFZJ-{8}-{9}-{10},@QFZJ+{8}+{9}+{10} FROM readMeterRecord WHERE readMeterRecordId='{1}' --0 用户ID --1 待处理的抄表记录ID --2 待处理的抄表记录的收费ID --3 当前登录员ID --4 当前登录员姓名 --5 红冲待处理抄表记录新的ID --6 红冲待处理抄表的收费ID --7 正确的抄表记录新的ID --8 减免后的水费 --9 减免后的污水处理费 --10 减免后的附加费 --11 减免后的水量 COMMIT TRAN ", WATERUSERNO.Text, readMeterRecordId.Text, ChargeID, strLogID, strRealName, strReadMeterRecordID, ChargeIDNew, strReadMeterRecordIDNew, waterTotalCharge, extraCharge1, extraCharge2, intTotalNumber); intRows = new SqlServerHelper().ExcuteSql(strSQLExcute); #endregion } else if (intMonth == 0) { #region 未收费并且抄表月份是当月的,直接修改抄表记录即可 string strSQLExcute = string.Format(@"BEGIN TRAN UPDATE [readMeterRecord] SET waterMeterLastNumber=waterMeterEndNumber-{0}, totalNumber={0},waterTotalCharge={1},extraCharge1={2},extraCharge2={3},extraTotalCharge={4},totalCharge={5} WHERE readMeterRecordId='{6}' DECLARE @PRESTORE DECIMAL(18,2)=0 DECLARE @LJQF DECIMAL(18,2)=0 SELECT @PRESTORE=PRESTORE, @LJQF=TOTALFEE FROM V_WATERUSERAREARAGE WHERE waterUserId='{7}' UPDATE readMeterRecord SET WATERUSERQQYE=@PRESTORE,WATERUSERJSYE=@PRESTORE-@LJQF,WATERUSERLJQF=@LJQF WHERE readMeterRecordId='{6}' COMMIT TRAN ", intTotalNumber, waterTotalCharge, extraCharge1, extraCharge2, extraCharge1 + extraCharge2, waterTotalCharge + extraCharge1 + extraCharge2, readMeterRecordId.Text, WATERUSERNO.Text); intRows = new SqlServerHelper().ExcuteSql(strSQLExcute); #endregion } } } #endregion if (intRows > 0) { IsChargeAbate = true; } else { MessageBox.Show("水表减免变更过程失败!请联系管理员跳回本流程再次重试!"); return; } if (IsChargeAbate) { Hashtable hu = new Hashtable(); hu["IsAbate"] = 1; hu["CHARGEWORKERNAME"] = AppDomain.CurrentDomain.GetData("USERNAME").ToString(); hu["CHARGEWORKERID"] = AppDomain.CurrentDomain.GetData("LOGINID").ToString(); hu["CHARGEWORKERDate"] = DateTime.Now.ToString(); int upCount = new SqlServerHelper().UpdateByHashtable("User_ChargeAbate", "TaskID", TaskID, hu); if (upCount > 0) { //==========================================================================================如果金额小于指定金额,不需要总经理审批 this.DialogResult = DialogResult.OK; MessageBox.Show("水费减免成功!"); this.Close(); } else { MessageBox.Show("水费减免成功 ,记录保存失败!"); } } else { MessageBox.Show("水费减免失败!"); } } catch (Exception ex) { MessageBox.Show("水表减免变更过程失败!原因:" + ex.Message + "\n请联系管理员跳回本流程再次重试!"); return; } } else { this.DialogResult = DialogResult.OK; MessageBox.Show("审批成功!"); this.Close(); } } else { Btn_Submit.Enabled = true; } }
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 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 Btn_Submit_Click(object sender, EventArgs e) { if (string.IsNullOrEmpty(PIANID.Text) || string.IsNullOrEmpty(areaId.Text) || string.IsNullOrEmpty(DUANID.Text) || string.IsNullOrEmpty(CreateTypeID.Text)) { MessageBox.Show("信息不完整!"); return; } ComputerName = AppDomain.CurrentDomain.GetData("COMPUTERNAME").ToString(); ip = AppDomain.CurrentDomain.GetData("IP").ToString(); Hashtable hs = new SqlServerHelper().GetHashTableByControl(this.PL.Controls); hs["ModifyUser"] = AppDomain.CurrentDomain.GetData("USERNAME").ToString(); hs["ModifyDate"] = DateTime.Now.ToString(); hs["operatorID"] = AppDomain.CurrentDomain.GetData("LOGINID").ToString();; hs["operatorName"] = AppDomain.CurrentDomain.GetData("USERNAME").ToString();; if (string.IsNullOrEmpty(_waterUserId)) { _waterUserId = GETTABLEID.GetTableID("", "WATERUSER"); } hs["waterUserId"] = _waterUserId; hs["waterUserNO"] = _waterUserId; if (new SqlServerHelper().Submit_AddOrEdit("Meter_Install_Single", "TaskID", TaskID, hs)) { DataTable dd = new SqlServerHelper().GetDateTableBySql(string.Format("SELECT RIGHT(MAX(waterMeterNo),2) FROM waterMeter WHERE waterUserId='{0}'", _waterUserId)); int MeterCount = string.IsNullOrEmpty(dd.Rows[0][0].ToString()) ? 0 : int.Parse(dd.Rows[0][0].ToString()); MeterCount++; if (_MeterList.Count > 0) { for (int i = 0; i < _MeterList.Count; i++) { string NewMeterID = _waterUserId + (MeterCount + i).ToString().PadLeft(2, '0'); Hashtable hnb = new Hashtable(); hnb["waterMeterId"] = NewMeterID; hnb["waterMeterNo"] = NewMeterID; hnb["waterUserId"] = _waterUserId; new SqlServerHelper().Submit_AddOrEdit("Meter", "MeterID", _MeterList[i], hnb); } } string CHARGEID = GETTABLEID.GetTableID("0092", "WATERFEECHARGE"); string PRESTORERUNNINGACCOUNTID = GETTABLEID.GetTableID("0092", "PRESTORERUNNINGACCOUNT"); if (sysidal.Approve_Single_Append(TaskID, CHARGEID, PRESTORERUNNINGACCOUNTID)) { string Matter = string.Format("【增户】-片号:{0};区号:{1};段号:{2};", PIANID.Text, areaId.Text, DUANID.Text); int count = sysidal.UpdateApprove_Single_defalut(ResolveID, true, "新增用户(水表)", ip, ComputerName, PointSort, TaskID, Matter); if (count > 0) { Btn_Submit.Enabled = false; MessageBox.Show("增户成功!"); } else { Btn_Submit.Enabled = true; } } } }
private void toolSave_Click(object sender, EventArgs e) { if (txtName.Text.Trim() == "") { mes.Show("请输入用户姓名!"); txtName.Focus(); return; } if (txtLogName.Text.Trim() == "") { mes.Show("请输入登录名!"); txtLogName.Focus(); return; } if (cmbDEP.SelectedValue == DBNull.Value || cmbDEP.SelectedValue == null) { mes.Show("请选择所属部门!"); cmbDEP.Focus(); return; } if (cmbPost.SelectedValue == DBNull.Value || cmbPost.SelectedValue == null) { mes.Show("请选择职务!"); cmbPost.Focus(); return; } if (cmbGroup.SelectedValue == DBNull.Value || cmbGroup.SelectedValue == null) { mes.Show("请选择所属分组!"); cmbGroup.Focus(); return; } if (cmbState.SelectedIndex < 0) { mes.Show("请选择用户状态!"); cmbState.Focus(); return; } MODELBASE_LOGIN MODELBASE_LOGIN = new MODELBASE_LOGIN(); try { MODELBASE_LOGIN.LOGINNAME = txtLogName.Text.Trim(); MODELBASE_LOGIN.workNO = txtWorkNO.Text.Trim(); MODELBASE_LOGIN.USERNAME = txtName.Text.Trim(); MODELBASE_LOGIN.DEPARTMENTID = cmbDEP.SelectedValue.ToString(); MODELBASE_LOGIN.POSTID = cmbPost.SelectedValue.ToString();; MODELBASE_LOGIN.groupID = cmbGroup.SelectedValue.ToString(); //用户状态选择第一个(正常)为“1”,否则为“0” if (cmbState.SelectedIndex == 0) { MODELBASE_LOGIN.userstate = "1"; } else { MODELBASE_LOGIN.userstate = "0"; } MODELBASE_LOGIN.TELEPHONENO = txtTel.Text.Trim(); if (chkIsMeterReader.Checked) { MODELBASE_LOGIN.isMeterReader = "1"; } else { MODELBASE_LOGIN.isMeterReader = "0"; } if (chkIsCharger.Checked) { MODELBASE_LOGIN.isCharger = "1"; } else { MODELBASE_LOGIN.isCharger = "0"; } if (chkIsCashierS.Checked) { MODELBASE_LOGIN.IsCashier = "1"; } else { MODELBASE_LOGIN.IsCashier = "0"; } MODELBASE_LOGIN.MEMO = txtMemo.Text; if (isAdd) { MODELBASE_LOGIN.LOGINID = GETTABLEID.GetTableID(strLoginID, "BASE_LOGIN"); MODELBASE_LOGIN.LOGINPASSWORD = "******"; MODELBASE_LOGIN.generateDateTime = mes.GetDatetimeNow(); if (BLLBASE_LOGIN.InsertBASE_LOGIN(MODELBASE_LOGIN)) { toolSave.Enabled = false; toolSearch.Enabled = true; toolModify.Enabled = true; toolDel.Enabled = true; toolResetPWD.Enabled = true; //toolAdd.Enabled = true;true toolAdd.Text = "添加"; DisEnableControls(grpDetail); toolSearch_Click(null, null); dgUser.ClearSelection(); for (int i = 0; i < dgUser.Rows.Count; i++) { if (dgUser.Rows[i].Cells["LOGINID"].Value != null && dgUser.CurrentRow.Cells["LOGINID"].Value != DBNull.Value) { string strID = dgUser.Rows[i].Cells["LOGINID"].Value.ToString(); if (MODELBASE_LOGIN.LOGINID == strID) { dgUser.CurrentCell = dgUser.Rows[i].Cells["USERNAME"]; dgUser_SelectionChanged(null, null); } } } //mes.Show("添加成功!"); dgUser.Enabled = true; return; } } else { MODELBASE_LOGIN.LOGINID = txtUserID.Text.Trim(); if (BLLBASE_LOGIN.UpdateUser(MODELBASE_LOGIN)) { toolSave.Enabled = false; toolSearch.Enabled = true; //toolModify.Enabled = true; toolDel.Enabled = true; toolAdd.Enabled = true; toolResetPWD.Enabled = true; toolModify.Text = "修改"; DisEnableControls(grpDetail); toolSearch_Click(null, null); dgUser.ClearSelection(); for (int i = 0; i < dgUser.Rows.Count; i++) { if (dgUser.Rows[i].Cells["LOGINID"].Value != null && dgUser.CurrentRow.Cells["LOGINID"].Value != DBNull.Value) { string strID = dgUser.Rows[i].Cells["LOGINID"].Value.ToString(); if (MODELBASE_LOGIN.LOGINID == strID) { dgUser.CurrentCell = dgUser.Rows[i].Cells["USERNAME"]; dgUser_SelectionChanged(null, null); } } } //mes.Show("修改成功!"); dgUser.Enabled = true; return; } } } catch (Exception ex) { mes.Show(ex.ToString()); } }
private void toolSave_Click(object sender, EventArgs e) { if (txtName.Text.Trim() == "") { mes.Show("性质名称不能为空!"); txtName.Focus(); return; } if (dgTrapezoidPrice.Rows.Count == 0) { mes.Show("请添加阶梯水价!"); dgTrapezoidPrice.Focus(); return; } if (cmbWaterMeterTypeClass.SelectedValue == null || cmbWaterMeterTypeClass.SelectedValue == DBNull.Value) { mes.Show("请选择用水性质分类!"); cmbWaterMeterTypeClass.Focus(); return; } #region 阶梯水价验证 dgTrapezoidPrice.EndEdit(); for (int i = 0; i < dgTrapezoidPrice.Rows.Count; i++) { object objL = dgTrapezoidPrice.Rows[i].Cells["lowNumber"].Value; if (objL == null || objL == DBNull.Value) { mes.Show("请输入第 " + (i + 1).ToString() + " 行的阶梯下限!"); dgTrapezoidPrice.CurrentCell = dgTrapezoidPrice.Rows[i].Cells["lowNumber"]; return; } object objT = dgTrapezoidPrice.Rows[i].Cells["trapezoidPriceS"].Value; if (objT == null || objT == DBNull.Value) { mes.Show("请输入第 " + (i + 1).ToString() + " 行的阶梯单价!"); dgTrapezoidPrice.CurrentCell = dgTrapezoidPrice.Rows[i].Cells["trapezoidPriceS"]; return; } else { dgTrapezoidPrice.Rows[i].Cells["trapezoidPriceS"].Value = Convert.ToDecimal(objT); if (Convert.ToDecimal(objT) <= 0) { if (mes.ShowQ("请第 " + (i + 1).ToString() + " 行的阶梯单价为0,确定保存吗?") != DialogResult.OK) { dgTrapezoidPrice.CurrentCell = dgTrapezoidPrice.Rows[i].Cells["trapezoidPriceS"]; return; } } } if (!Information.IsNumeric(objL)) { mes.Show("第 " + (i + 1).ToString() + " 行的阶梯下限只能为整数!"); dgTrapezoidPrice.CurrentCell = dgTrapezoidPrice.Rows[i].Cells["lowNumber"]; return; } object objH = dgTrapezoidPrice.Rows[i].Cells["highNumber"].Value; if (objH == null || objH == DBNull.Value) { mes.Show("请输入第 " + (i + 1).ToString() + " 行的阶梯下限!"); dgTrapezoidPrice.CurrentCell = dgTrapezoidPrice.Rows[i].Cells["highNumber"]; return; } if (!Information.IsNumeric(objH)) { mes.Show("第 " + (i + 1).ToString() + " 行的阶梯上限只能为整数!"); dgTrapezoidPrice.CurrentCell = dgTrapezoidPrice.Rows[i].Cells["highNumber"]; return; } if (Convert.ToDecimal(objL) >= Convert.ToDecimal(objH)) { mes.Show("第 " + (i + 1).ToString() + " 行的阶梯上限应大于阶梯下限!"); dgTrapezoidPrice.CurrentCell = dgTrapezoidPrice.Rows[i].Cells["highNumber"]; return; } if (i > 0) { object objH1 = dgTrapezoidPrice.Rows[i - 1].Cells["highNumber"].Value; object objL2 = dgTrapezoidPrice.Rows[i].Cells["lowNumber"].Value; if (Convert.ToDecimal(objL2) != Convert.ToDecimal(objH1)) { mes.Show("第 " + (i + 1).ToString() + " 行的阶梯下限应等于上一行的阶梯上限!"); dgTrapezoidPrice.CurrentCell = dgTrapezoidPrice.Rows[i].Cells["lowNumber"]; return; } } } #endregion #region 附加费验证 foreach (Control conE in grpDetail.Controls) { if (conE is CheckBox && conE.Name.Contains("chkExtraCharge")) { CheckBox chkE = (CheckBox)conE; if (chkE.Checked) { foreach (Control con in grpDetail.Controls) { if (con is TextBox) { TextBox txt = (TextBox)con; if (txt.Name == "txtExtraCharge" + chkE.Name.Substring(14, 1))//chkExtraCharge1 { if (txt.Text.Trim() == "") { mes.Show("请填写附加费单价!"); txt.Focus(); return; } if (txt.Text.Trim() == "0") { mes.Show("附加费单价只能大于0!"); txt.Focus(); return; } break; } } } } } } #endregion #region 滞纳金验证 if (chkIsEnable.Checked) { if (txtStartMonth.Text.Trim() == "") { mes.Show("请输入开始月份!"); txtStartMonth.Focus(); return; } else { if (!Information.IsNumeric(txtStartMonth.Text.Trim())) { mes.Show("开始月份只能为整数!"); txtStartMonth.Focus(); return; } } if (txtStartDay.Text.Trim() == "") { mes.Show("请输入开始日期!"); txtStartDay.Focus(); return; } else { if (!Information.IsNumeric(txtStartDay.Text.Trim())) { mes.Show("开始日期只能为整数!"); txtStartDay.Focus(); return; } } if (txtPercent.Text.Trim() == "") { mes.Show("请输入滞纳金比率!"); txtPercent.Focus(); return; } else { if (!Information.IsNumeric(txtPercent.Text.Trim())) { mes.Show("滞纳金比率只能为数字!"); txtPercent.Focus(); return; } if (Convert.ToDecimal(txtPercent.Text) <= 0) { mes.Show("滞纳金比率只能大于0!"); txtPercent.Focus(); return; } } } #endregion MODELWATERMETERTYPE MODELWATERMETERTYPE = new MODELWATERMETERTYPE(); MODELWATERMETERTYPE.waterMeterTypeValue = txtName.Text; MODELWATERMETERTYPE.WATERMETERTYPECLASSID = cmbWaterMeterTypeClass.SelectedValue.ToString(); string strTrapezoid = string.Empty; for (int i = 0; i < dgTrapezoidPrice.Rows.Count; i++) { if (i > 0) { strTrapezoid += "|"; } object objL = dgTrapezoidPrice.Rows[i].Cells["lowNumber"].Value; object objH = dgTrapezoidPrice.Rows[i].Cells["highNumber"].Value; object objT = dgTrapezoidPrice.Rows[i].Cells["trapezoidPriceS"].Value; strTrapezoid += objL.ToString() + "-" + objH.ToString() + ":" + objT.ToString(); } MODELWATERMETERTYPE.trapezoidPrice = strTrapezoid; string strExtraCharge = string.Empty; int intSelectedExtraChargeCount = 0;//存储选择的附加费数量,判断是否加‘|’。 for (int i = 1; i <= 8; i++) { foreach (Control con in grpDetail.Controls) { if (con is CheckBox) { CheckBox chk = (CheckBox)con; if (chk.Name == "chkExtraCharge" + i.ToString()) { if (chk.Checked) { if (intSelectedExtraChargeCount > 0) { strExtraCharge += "|"; } foreach (Control conT in grpDetail.Controls) { if (conT is TextBox) { TextBox txt = (TextBox)conT; if (txt.Name == "txtExtraCharge" + i.ToString()) { intSelectedExtraChargeCount++; strExtraCharge += "F" + i.ToString() + ":" + Convert.ToDecimal(txt.Text); break; } } } foreach (Control conChk in grpDetail.Controls) { if (conChk is CheckBox) { CheckBox chkByCharge = (CheckBox)conChk; if (chkByCharge.Name == "chkByMoney" + i.ToString()) { if (!chkByCharge.Checked) { strExtraCharge += ":1"; } else { strExtraCharge += ":2"; } } } } } break; } } } } MODELWATERMETERTYPE.extraCharge = strExtraCharge; if (chkIsEnable.Checked) { MODELWATERMETERTYPE.overDuechargeEnable = "1"; MODELWATERMETERTYPE.overDuechargeStartMonth = Convert.ToInt32(txtStartMonth.Text); MODELWATERMETERTYPE.overDuechargeStartDay = Convert.ToInt32(txtStartDay.Text); MODELWATERMETERTYPE.overDuechargePercent = Convert.ToDecimal(txtPercent.Text); } else { MODELWATERMETERTYPE.overDuechargeEnable = "0"; } MODELWATERMETERTYPE.MEMO = txtMemo.Text; if (isAdd) { MODELWATERMETERTYPE.waterMeterTypeId = GETTABLEID.GetTableID("", "WATERMETERTYPE"); if (BLLWATERMETERTYPE.Insert(MODELWATERMETERTYPE)) { Query(); } else { mes.Show("添加失败,请重新点击保存按钮!"); return; } } else { if (txtID.Text.Trim() == "") { mes.Show("如果要执行添加操作,请先点击添加按钮后再保存!"); return; } MODELWATERMETERTYPE.waterMeterTypeId = txtID.Text; if (BLLWATERMETERTYPE.Update(MODELWATERMETERTYPE)) { Query(); dgList.ClearSelection(); for (int i = 0; i < dgList.Rows.Count; i++) { if (dgList.Rows[i].Cells["waterMeterTypeId"].Value != null && dgList.CurrentRow.Cells["waterMeterTypeId"].Value != DBNull.Value) { string strID = dgList.Rows[i].Cells["waterMeterTypeId"].Value.ToString(); if (MODELWATERMETERTYPE.waterMeterTypeId == strID) { dgList.CurrentCell = dgList.Rows[i].Cells["waterMeterTypeValue"]; dgList_SelectionChanged(null, null); } } } } else { mes.Show("修改失败,请重新点击保存按钮!"); return; } } dgList.Enabled = true; toolDel.Enabled = true; toolAdd.Text = "添加"; isAdd = false; }
private void toolSave_Click(object sender, EventArgs e) { if (txtName.Text.Trim() == "") { mes.Show("类别名称不能为空!"); txtName.Focus(); return; } if (rbFixed.Checked) { if (txtFixed.Text.Trim() == "") { txtFixed.Text = "0"; } else { if (!Information.IsNumeric(txtFixed.Text.Trim())) { mes.Show("固定水量只能为整数!"); txtFixed.Focus(); return; } } } if (rbPercent.Checked) { if (txtPercent.Text.Trim() == "") { txtPercent.Text = "0"; } else { if (!Information.IsNumeric(txtPercent.Text.Trim())) { mes.Show("按比例只能为数字!"); txtPercent.Focus(); return; } } } if (txtCheckPeriod.Text.Trim() == "") { txtCheckPeriod.Text = "0"; } else { if (!Information.IsNumeric(txtCheckPeriod.Text.Trim())) { mes.Show("鉴定周期只能为整数!"); txtCheckPeriod.Focus(); return; } } MODELwaterMeterSize MODELwaterMeterSize = new MODELwaterMeterSize(); MODELwaterMeterSize.waterMeterSizeValue = txtName.Text; MODELwaterMeterSize.checkPeriod = Convert.ToInt32(txtCheckPeriod.Text); if (rbFixed.Checked) { MODELwaterMeterSize.waterLossComputeType = "0"; MODELwaterMeterSize.waterLossValue = Convert.ToInt32(txtFixed.Text); } else { MODELwaterMeterSize.waterLossComputeType = "1"; MODELwaterMeterSize.waterLossValue = Convert.ToDecimal(txtPercent.Text); } MODELwaterMeterSize.MEMO = txtMemo.Text; if (isAdd) { MODELwaterMeterSize.waterMeterSizeId = GETTABLEID.GetTableID("", "WATERMETERSIZE"); if (BLLwaterMeterSize.Insert(MODELwaterMeterSize)) { Query(); } else { mes.Show("添加失败,请重新点击保存按钮!"); return; } } else { MODELwaterMeterSize.waterMeterSizeId = txtID.Text; if (BLLwaterMeterSize.Update(MODELwaterMeterSize)) { Query(); dgList.ClearSelection(); for (int i = 0; i < dgList.Rows.Count; i++) { if (dgList.Rows[i].Cells["waterMeterSizeId"].Value != null && dgList.CurrentRow.Cells["waterMeterSizeId"].Value != DBNull.Value) { string strID = dgList.Rows[i].Cells["waterMeterSizeId"].Value.ToString(); if (MODELwaterMeterSize.waterMeterSizeId == strID) { dgList.CurrentCell = dgList.Rows[i].Cells["waterMeterSizeValue"]; dgList_SelectionChanged(null, null); } } } } else { mes.Show("修改失败,请重新点击保存按钮!"); return; } } dgList.Enabled = true; toolDel.Enabled = true; toolAdd.Text = "添加"; isAdd = false; }
private void Btn_Submit_Click(object sender, EventArgs e) { Btn_Submit.Enabled = false; if (int.TryParse(TB_Quantity.Text.Trim(), out _Quantity)) { Hashtable HM = new Hashtable(); HM["QUANTITY"] = _Quantity; HM["ABATE"] = TB_Abate.Text.Trim(); new SqlServerHelper().Submit_AddOrEdit("Meter_Change", "TaskID", TaskID, HM); } else { mes.Show("补交水量输入错误!"); return; } try { //生成抄表记录 #region 生成补交水量记录 string strChargeState = "1", strTrapePriceString = "", strExtraCharge = "", strChargeID = ""; decimal waterTotalCharge = 0, extraCharge1 = 0, extraCharge2 = 0; DateTime dtNow = mes.GetDatetimeNow(); int intTotalNum = Convert.ToInt32(_Quantity); string strSQL = string.Format(@"SELECT trapezoidPrice,extraCharge FROM V_WATERUSER_CONNECTWATERMETER WHERE waterUserId='{0}'", _waterUserId); DataTable dtReadMeterRecord = new SqlServerHelper().GetDateTableBySql(strSQL); if (dtReadMeterRecord.Rows.Count > 0) { object obj = dtReadMeterRecord.Rows[0]["trapezoidPrice"]; if (obj != null && obj != DBNull.Value) { strTrapePriceString = obj.ToString(); } obj = dtReadMeterRecord.Rows[0]["extraCharge"]; if (obj != null && obj != DBNull.Value) { strExtraCharge = obj.ToString(); } } //获取水费等信息 sysidal.GetAvePrice(intTotalNum, strTrapePriceString, strExtraCharge, 1, ref waterTotalCharge, ref extraCharge1, ref extraCharge2); string strReadMeterRecordID = GETTABLEID.GetTableID(strLogID, "READMETERRECORD"); string strSQLExcute = string.Format(@"BEGIN TRAN DECLARE @readMeterRecordIdLast varchar(30) DECLARE @waterMeterEndNumber INT SELECT TOP 1 @readMeterRecordIdLast=readMeterRecordId,@waterMeterEndNumber=waterMeterEndNumber FROM V_READMETERRECORD_LEFT_WATERFEECHARGE WHERE WATERUSERID='{0}' ORDER BY checkDateTime DESC,readMeterRecordDate DESC IF @readMeterRecordIdLast IS NULL BEGIN SELECT @waterMeterEndNumber=waterMeterStartNumber FROM waterMeter WHERE WATERUSERID='{0}' SET @readMeterRecordIdLast=NULL END DECLARE @PRESTORE DECIMAL(18,2)=0 DECLARE @LJQF DECIMAL(18,2)=0 SELECT @PRESTORE=PRESTORE, @LJQF=TOTALFEE FROM V_WATERUSERAREARAGE WHERE waterUserId='{0}' INSERT INTO [readMeterRecord]([readMeterRecordId],[readMeterRecordIdLast],[waterMeterId],[waterMeterNo] ,[lastNumberYearMonth],[waterMeterLastNumber],[waterMeterEndNumber],SUBMETERNUMBER,[totalNumber],[totalNumberDescribe],[avePrice] ,[avePriceDescribe],[waterTotalCharge],[extraChargePrice1],[extraCharge1],[extraChargePrice2],[extraCharge2], [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],[WATERUSERQQYE],[WATERUSERJSYE],[WATERUSERLJQF]) SELECT '{1}',@readMeterRecordIdLast,[waterMeterId],[waterMeterNo] ,NULL,@waterMeterEndNumber,@waterMeterEndNumber,0,{2},NULL,NULL ,NULL,{3},NULL,{4},NULL,{5},{4}+{5},[trapezoidPrice],[extraCharge] ,{3}+{4}+{5},0,[WATERFIXVALUE],NULL,NULL,DATEADD(SECOND,-2,GETDATE()),DATEADD(SECOND,-2,GETDATE()),DATEADD(SECOND,-2,GETDATE()),[waterMeterPositionName] ,[waterMeterSizeId],[waterMeterSizeValue],waterMeterTypeClassID,waterMeterTypeClassName,[waterMeterTypeId],[waterMeterTypeValue], [waterMeterProduct],[waterMeterSerialNumber],[waterMeterMode],[waterMeterMagnification],[waterMeterMaxRange],IsReverse,[chargerID],[chargerName],[meterReaderID],[meterReaderName], 1,DATEADD(SECOND,-2,GETDATE()),'{6}','1',NULL,[waterUserId],[waterUserNO],[waterUserName],waterUserNameCode, [waterUserTelphoneNO],areaNO,pianNO,duanNO,communityID,COMMUNITYNAME,buildingNO,unitNO,createType,[waterPhone],[waterUserAddress],[waterUserPeopleCount] ,NULL,NULL,NULL,[waterUserTypeId],[waterUserTypeName],[waterUserCreateDate] ,[waterUserHouseType],[chargeType],[agentsign],NULL,[bankId],[bankName],[BankAcountNumber], [isSummaryMeter],[waterMeterParentId],[ordernumber],@PRESTORE,@PRESTORE-@LJQF-{3}-{4}-{5},@LJQF+{3}+{4}+{5} FROM V_WATERUSER_CONNECTWATERMETER WHERE waterUserId='{0}' COMMIT TRAN", _waterUserId, strReadMeterRecordID, intTotalNum, waterTotalCharge, extraCharge1, extraCharge2, strRealName); new SqlServerHelper().ExcuteSql(strSQLExcute); #endregion strReadMeterRecordID = GETTABLEID.GetTableID(strLogID, "READMETERRECORD"); if (BLLreadMeterRecord.ChangeWaterMeter(_waterMeterId, strReadMeterRecordID, strRealName)) { Hashtable HL = new Hashtable(); HL["LOGTYPE"] = 6; //6-抄表台账相关日志 HL["LOGCONTENT"] = string.Format("用户换表-用户号:{0};水表编号:{1}", _waterUserId, _waterMeterId); HL["LOGDATETIME"] = DateTime.Now.ToString(); HL["OPERATORID"] = AppDomain.CurrentDomain.GetData("LOGINID").ToString(); HL["OPERATORNAME"] = AppDomain.CurrentDomain.GetData("USERNAME").ToString(); HL["MEMO"] = TaskID; new SqlServerHelper().Submit_AddOrEdit("OPERATORLOG", "LOGID", "", HL); int count = sysidal.UpdateApprove_defalut("Meter_Change", ResolveID, true, UserOpinion.Text.Trim(), PointSort, TaskID, "【换表确认】:用户号:" + _waterUserId + ";水表号:" + _waterMeterId + ";补交水量:" + TB_Quantity.Text.Trim()); if (count > 0) { mes.Show("审批成功!"); } else { mes.Show("审批失败!"); Btn_Submit.Enabled = true; } } else { mes.Show("变更表底数失败!"); Btn_Submit.Enabled = true; } } 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; } }
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; } }