From 189bf9fbdd6af35d6ffd1f13f1d06e7fb74cd1ed Mon Sep 17 00:00:00 2001 From: Babak Alizadeh Date: Sun, 24 Aug 2025 14:38:06 +0000 Subject: [PATCH] progress in bank card --- hesabixCore/src/Controller/BankController.php | 53 ++- webUI/src/i18n/en_lang.ts | 97 +++++ webUI/src/i18n/fa_lang.ts | 64 ++- webUI/src/views/acc/bank/card.vue | 369 +++++++++++++----- 4 files changed, 471 insertions(+), 112 deletions(-) diff --git a/hesabixCore/src/Controller/BankController.php b/hesabixCore/src/Controller/BankController.php index 57e8731..02c78e6 100644 --- a/hesabixCore/src/Controller/BankController.php +++ b/hesabixCore/src/Controller/BankController.php @@ -64,7 +64,16 @@ class BankController extends AbstractController } $data->setBalance($bd - $bs); } - return $this->json($provider->ArrayEntity2Array($datas, 0)); + $result = []; + foreach ($datas as $data) { + $bankData = $provider->ArrayEntity2Array([$data], 0)[0]; + if (isset($data->tempData)) { + $bankData['bs'] = $data->tempData['bs']; + $bankData['bd'] = $data->tempData['bd']; + } + $result[] = $bankData; + } + return $this->json($result); } #[Route('/api/bank/search', name: 'app_bank_search')] @@ -115,14 +124,28 @@ class BankController extends AbstractController ->getQuery() ->getResult(); foreach ($items as $item) { - $bs += $item->getBs(); - $bd += $item->getBd(); + $bs += (float) $item->getBs(); + $bd += (float) $item->getBd(); } $data->setBalance($bd - $bs); + // اضافه کردن مقادیر به array برای انتقال به frontend + $data->tempData = [ + 'bs' => $bs, + 'bd' => $bd + ]; } + $result = []; + foreach ($datas as $data) { + $bankData = $provider->ArrayEntity2Array([$data], 0)[0]; + if (isset($data->tempData)) { + $bankData['bs'] = $data->tempData['bs']; + $bankData['bd'] = $data->tempData['bd']; + } + $result[] = $bankData; + } return $this->json([ - 'items' => $provider->ArrayEntity2Array($datas, 0), + 'items' => $result, 'total' => count($datas) ]); } @@ -203,15 +226,15 @@ class BankController extends AbstractController throw $this->createNotFoundException(); } $data->setBid($acc['bid']); - $data->setname($params['name']); - $data->setDes($params['des']); - $data->setOwner($params['owner']); - $data->setAccountNum($params['accountNum']); - $data->setCardNum($params['cardNum']); - $data->setShaba($params['shaba']); - $data->setShobe($params['shobe']); - $data->setPosNum($params['posNum']); - $data->setMobileInternetBank($params['mobileInternetbank']); + $data->setName($params['name'] ?? ''); + $data->setDes($params['des'] ?? null); + $data->setOwner($params['owner'] ?? null); + $data->setAccountNum($params['accountNum'] ?? null); + $data->setCardNum($params['cardNum'] ?? null); + $data->setShaba($params['shaba'] ?? null); + $data->setShobe($params['shobe'] ?? null); + $data->setPosNum($params['posNum'] ?? null); + $data->setMobileInternetBank($params['mobileInternetbank'] ?? null); $entityManager->persist($data); $entityManager->flush(); $log->insert('بانک', 'حساب بانکی با نام ' . $params['name'] . ' افزوده/ویرایش شد.', $this->getUser(), $request->headers->get('activeBid')); @@ -283,8 +306,8 @@ class BankController extends AbstractController ->getResult(); foreach ($items as $item) { - $bs += $item->getBs(); - $bd += $item->getBd(); + $bs += (float) $item->getBs(); + $bd += (float) $item->getBd(); } return $this->json([ diff --git a/webUI/src/i18n/en_lang.ts b/webUI/src/i18n/en_lang.ts index e751ef7..e7b9c1b 100755 --- a/webUI/src/i18n/en_lang.ts +++ b/webUI/src/i18n/en_lang.ts @@ -19,6 +19,7 @@ const en_lang = { presell_info: "Presell Information", financial_info: "Financial Information", invoice_items: "Invoice Items", + bank_selection: 'Select Bank', }, app:{ name:"Hesabix", @@ -102,6 +103,102 @@ const en_lang = { warranty_system: 'Warranty System', warranty_serials: 'Warranty Serials', business_switcher: 'Switch Business', + bankaccounts_transactions: 'Bank Account Transactions', + banks: 'Banks', + banks_account: 'Bank Account', + banks_accounts: 'Bank Accounts', + bank_label: 'Banking', }, + pages: { + bank_card: { + title: 'Bank Account Card', + bank_info: 'Bank Information', + account_status: 'Account Status', + transactions: 'Transactions', + no_results: 'No results found!', + no_data: 'No data to display', + no_items_selected: 'No items selected.', + accounting_code: 'Accounting Code', + bank_name: 'Bank Name', + card_number: 'Card Number', + account_number: 'Account Number', + shaba_number: 'Shaba Number', + owner: 'Account Owner', + branch: 'Branch', + pos_number: 'POS Number', + internet_bank_phone: 'Internet Bank Phone', + description: 'Description', + balance: 'Balance', + accounting_balance: 'Accounting Balance', + credit: 'Credit', + debit: 'Debit', + deposit: 'Deposit', + withdrawal: 'Withdrawal', + creditor: 'Creditor', + debtor: 'Debtor', + settled: 'Settled', + accounting_status: 'Accounting Status', + detail: 'Detail', + settlement: 'Settlement', + running_balance: 'Running Balance', + available_balance: 'Available Balance', + sell_invoice: 'Sales Invoice', + buy_invoice: 'Purchase Invoice', + return_buy: 'Purchase Return', + return_sell: 'Sales Return', + payment: 'Payment', + receipt: 'Receipt', + cost: 'Cost', + income: 'Income', + sell_receive: 'Sales Receipt', + buy_send: 'Purchase Payment', + reject_cheque: 'Cheque Rejection', + modify_cheque: 'Cheque Registration', + modify_cheque_output: 'Cheque Receipt', + pass_cheque: 'Cheque Transfer', + transfer_cheque: 'Cheque Transfer', + transfer: 'Transfer', + accounting_doc: 'Accounting Document', + calculation: 'Calculation', + open_balance: 'Opening Balance' + }, + person_card: { + title: 'Person Account Card', + account_card: 'Account Card', + account_status: 'Account Status', + transactions: 'Transactions', + no_bank_accounts: 'No bank accounts registered.', + no_results: 'No results found!', + no_data: 'No data to display', + no_items_selected: 'No items selected.', + accounting_code: 'Accounting Code', + balance: 'Balance', + accounting_balance: 'Accounting Balance', + credit: 'Credit', + debit: 'Debit', + deposit: 'Deposit', + withdrawal: 'Withdrawal', + creditor: 'Creditor', + debtor: 'Debtor', + settled: 'Settled', + sell_invoice: 'Sales Invoice', + buy_invoice: 'Purchase Invoice', + return_buy: 'Purchase Return', + return_sell: 'Sales Return', + payment: 'Payment', + receipt: 'Receipt', + cost: 'Cost', + income: 'Income', + sell_receive: 'Sales Receipt', + buy_send: 'Purchase Payment', + detail: 'Detail', + reject_cheque: 'Cheque Rejection', + modify_cheque: 'Cheque Registration', + modify_cheque_output: 'Cheque Receipt', + pass_cheque: 'Cheque Transfer', + settlement: 'Settlement', + running_balance: 'Running Balance' + } + } }; export default en_lang diff --git a/webUI/src/i18n/fa_lang.ts b/webUI/src/i18n/fa_lang.ts index 374f35d..bfdb859 100755 --- a/webUI/src/i18n/fa_lang.ts +++ b/webUI/src/i18n/fa_lang.ts @@ -332,6 +332,7 @@ const fa_lang = { "share_social": "اشتراک‌گذاری در شبکه‌های اجتماعی", "invoice_link": "پیوند فاکتور", banks_accounts: 'حساب‌های بانکی', + bank_selection: 'انتخاب بانک', add: 'افزودن', confirm: 'قبول', attach_download: 'دریافت فایل ضمیمه', @@ -839,6 +840,8 @@ const fa_lang = { "accounting_balance": "تراز حسابداری", "credit": "بستانکار", "debit": "بدهکار", + "deposit": "واریز", + "withdrawal": "برداشت", "creditor": "بستانکار", "debtor": "بدهکار", "settled": "تسویه‌شده", @@ -858,7 +861,66 @@ const fa_lang = { "modify_cheque_output": "دریافت چک", "pass_cheque": "واگذاری چک", "settlement": "تشخیص", - "running_balance": "باقی‌مانده" + "running_balance": "تراز", + "available_balance": "موجودی", + "transfer": "انتقال", + "accounting_doc": "سند حسابداری", + "calculation": "محاسبه", + "open_balance": "تراز افتتاحیه", + "walletPay": "پرداخت کیف پول" + }, + "bank_card": { + "title": "کارت حساب بانک", + "bank_info": "اطلاعات بانک", + "account_status": "وضعیت حساب", + "transactions": "تراکنش‌ها", + "no_results": "نتیجه‌ای یافت نشد!", + "no_data": "اطلاعاتی برای نمایش وجود ندارد", + "no_items_selected": "هیچ آیتمی انتخاب نشده است.", + "accounting_code": "کد حسابداری", + "bank_name": "نام بانک", + "card_number": "شماره کارت", + "account_number": "شماره حساب", + "shaba_number": "شماره شبا", + "owner": "صاحب حساب", + "branch": "شعبه", + "pos_number": "شماره دستگاه پوز", + "internet_bank_phone": "تلفن اینترنت بانک", + "description": "توضیحات", + "balance": "تراز", + "accounting_balance": "تراز حسابداری", + "credit": "بستانکار", + "debit": "بدهکار", + "deposit": "واریز", + "withdrawal": "برداشت", + "creditor": "بستانکار", + "debtor": "بدهکار", + "settled": "تسویه‌شده", + "accounting_status": "وضعیت حسابداری", + "detail": "تفضیل", + "settlement": "تشخیص", + "running_balance": "باقی‌مانده", + "available_balance": "موجودی", + "sell_invoice": "فاکتور فروش", + "buy_invoice": "فاکتور خرید", + "return_buy": "برگشت از خرید", + "return_sell": "برگشت از فروش", + "payment": "دریافت", + "receipt": "پرداخت", + "cost": "هزینه", + "income": "درآمد", + "sell_receive": "دریافت فاکتور فروش", + "buy_send": "پرداخت فاکتور فروش", + "reject_cheque": "برگشت چک", + "modify_cheque": "ثبت چک", + "modify_cheque_output": "دریافت چک", + "pass_cheque": "واگذاری چک", + "transfer_cheque": "واگذاری چک", + "transfer": "انتقال", + "accounting_doc": "سند حسابداری", + "calculation": "محاسبه", + "open_balance": "تراز افتتاحیه", + "walletPay": "پرداخت کیف پول" }, dashboard: { admin_area: "ناحیه مدیریت", diff --git a/webUI/src/views/acc/bank/card.vue b/webUI/src/views/acc/bank/card.vue index 8821a8f..03fdf73 100755 --- a/webUI/src/views/acc/bank/card.vue +++ b/webUI/src/views/acc/bank/card.vue @@ -1,14 +1,12 @@