private void toolStripButtonReview_Click(object sender, EventArgs e) { /* * 函数实现逻辑 * 1、检查界面数据有效性 * 1、查看付款单类型是否是应收账款,如果是,则根据供应商ID,更新应付账款表 * 2、根据付款方科目是现金或银行存款,计算本次交易完成后对应账户的余额 * 3、更新相应表的IS_REVIEW字段 * 4、提示保存成功,如果保存失败,提示保存失败的原因 * */ if (DbPublic.getInctance().isCheckOut()) { MessageBoxExtend.messageWarning("当前会计期间已经执行结转损益,无法再审核单据!"); return; } if (!checkUiValue()) { return; } ; if (m_billNumber.Length > 0) { if (m_isBankBill) { double currentSystemBankBalance = BalanceManager.getBankBalance(m_bankRecord.bankName); BankCashsubLedger.getInctance().update( m_billNumber, DbPublic.getInctance().getCurrentLoginUserID(), m_bankRecord.turnover + currentSystemBankBalance); } else { double currentSystemCachBalance = BalanceManager.getCachBalance(); CashCashsubLedger.getInctance().update( m_billNumber, DbPublic.getInctance().getCurrentLoginUserID(), m_cashRecord.turnover + currentSystemCachBalance); } if (this.comboBoxReceivableType.Text.IndexOf("应收") != -1) { updateAccountReceivable(); } else if (this.comboBoxReceivableType.Text.IndexOf("销售出库") != -1) { SaleOutOrder.getInctance().updataReceivedInfo(this.textBoxSourceOrderNumber.Text.ToString(), Convert.ToDouble(textBoxTransactionAmount.Text.ToString())); } MessageBoxExtend.messageOK("审核成功."); OperatorLog.getInctance().insert(501, "单据审核[" + m_billNumber + "]"); this.Close(); } }
private void panelCashInvoice_Click(object sender, EventArgs e) { /*函数实现逻辑 * 1、检查系统中是否存在未审核的(采购入库(赊购),销售出库(赊购),付款单,收款单) * 2、得到当前系统记录的现金余额,更新cash_balance_last_month表 * 3、得到当前系统记录的各银行存款余额,更新bank_balance_last_month表 * 4、计算企业当前库存现金、银行存款、应收账款合计、应付账款合计、存货金额合计信息到企业利润表 * 4、提示用户是否保存成功,如果保存失败,提示保存失败原因 */ if (DbPublic.getInctance().isCheckOut()) { MessageBoxExtend.messageWarning("当前会计期间已经执行结转损益,不能重复执行!"); return; } string msg = "建议执行结转损益操作放在每个会计期间的最后一天,结转损益执行完毕后,本会计期间无法再审核新单据。\n"; msg += "请确认当前系统不存在未审核的以下单据:\n"; msg += "1、采购入库(赊购)\n"; msg += "2、销售出库(赊购)\n"; msg += "3、付款单\n"; msg += "4、收款单\n"; msg += "确定执行结转吗?"; if (MessageBoxExtend.messageQuestion(msg)) { try { // 现金余额结转 double cachBalance = BalanceManager.getCachBalance(); CashBalanceLastMonth.getInctance().insert(cachBalance, "结转余额"); // 银行存款余额结转 SortedDictionary <int, AuxiliaryMaterialDataTable> bankList = AuxiliaryMaterial.getInctance().getAllAuxiliaryMaterialData("BASE_BANK_LIST"); foreach (KeyValuePair <int, AuxiliaryMaterialDataTable> index in bankList) { double bankBalance = BalanceManager.getBankBalance(index.Value.name); BankBalanceLastMonth.getInctance().insert(index.Value.pkey, bankBalance, "结转余额"); } // 企业利润信息 CompanyProfit.getInctance().insertCashInvoiceData(); OperatorLog.getInctance().insert(503, "执行结转损益."); } catch (Exception exp) { MessageBoxExtend.messageWarning(exp.ToString()); } } }
private void toolStripButtonReview_Click(object sender, EventArgs e) { /* * 函数实现逻辑 * 1、检查界面数据有效性 * 1、查看付款单类型是否是应付账款,如果是,则根据供应商ID,更新应付账款表 * 2、根据付款方科目是现金或银行存款,计算本次交易完成后对应账户的余额 * 3、更新相应表的IS_REVIEW字段 * 4、提示保存成功,如果保存失败,提示保存失败的原因 * */ if (DbPublic.getInctance().isCheckOut()) { MessageBoxExtend.messageWarning("当前会计期间已经执行结转损益,无法再审核单据!"); return; } if (!checkUiValue()) { return; } ; if (m_billNumber.Length > 0) { if (m_isBankBill) { double currentSystemBankBalance = BalanceManager.getBankBalance(m_bankRecord.bankName); if (m_bankRecord.turnover > currentSystemBankBalance) { string msg = "付款交易失败\n"; msg += "[" + m_bankRecord.bankName + "]余额为:"; msg += Convert.ToString(currentSystemBankBalance) + ",不足以完成本次支付."; MessageBoxExtend.messageWarning(msg); return; } else { BankCashsubLedger.getInctance().update( m_billNumber, DbPublic.getInctance().getCurrentLoginUserID(), currentSystemBankBalance - m_bankRecord.turnover); } } else { double currentSystemCachBalance = BalanceManager.getCachBalance(); if (m_cashRecord.turnover > currentSystemCachBalance) { string msg = "付款交易失败\n"; msg += "库存现金余额为:"; msg += Convert.ToString(currentSystemCachBalance) + ",不足以完成本次支付."; MessageBoxExtend.messageWarning(msg); return; } else { CashCashsubLedger.getInctance().update( m_billNumber, DbPublic.getInctance().getCurrentLoginUserID(), currentSystemCachBalance - m_cashRecord.turnover); } } if (this.comboBoxPaymentType.Text.IndexOf("应付") != -1) { updateAccountPayment(); } else if (this.comboBoxPaymentType.Text.IndexOf("采购入库") != -1) { PurchaseInOrder.getInctance().updataPaymentInfo(this.textBoxSourceOrderNumber.Text.ToString(), Convert.ToDouble(textBoxTransactionAmount.Text.ToString())); } MessageBoxExtend.messageOK("审核成功."); OperatorLog.getInctance().insert(502, "单据审核[" + m_billNumber + "]"); this.Close(); } }