예제 #1
0
 public function store(ChartOfAccountRequest $request)
 {
     $chart = new ChartOfAccount();
     $chart->parent = $request->input('parent');
     $chart->name = $request->input('name');
     $chart->code = $request->input('code');
     if ($request->input('contra_status')) {
         $chart->contra_status = 1;
         $chart->contra_code = $request->input('contra_id');
     }
     $chart->save();
     Session()->flash('flash_message', 'Chart Of Account has been created!');
     return redirect('charts');
 }
예제 #2
0
 public function store(BankRequest $request)
 {
     try {
         DB::transaction(function () use($request) {
             $inputs = $request->input();
             $time = time();
             $user = Auth::user();
             $year = CommonHelper::get_current_financial_year();
             $bank = new Bank();
             $chartOfAccount = new ChartOfAccount();
             $workspaceLedgerData = new WorkspaceLedger();
             // Bank Entry
             $bank->name = $inputs['name'];
             $bank->account_name = $inputs['account_name'];
             $bank->account_no = $inputs['account_no'];
             $bank->account_director = $inputs['account_director'];
             $bank->account_type = $inputs['account_type'];
             $bank->start_date = $inputs['start_date'];
             $bank->balance = $inputs['opening_balance'];
             $bank->account_code = $inputs['account_code'];
             $bank->created_by = $user->id;
             $bank->created_at = $time;
             $bank->save();
             // Account Head Entry
             $chartOfAccount->parent = 1;
             // Asset
             $chartOfAccount->name = $inputs['name'];
             $chartOfAccount->code = $inputs['account_code'];
             $chartOfAccount->save();
             // Workspace Ledger Account Head Data (Opening)
             $workspaceLedgerData->workspace_id = $user->workspace_id;
             $workspaceLedgerData->year = $year;
             $workspaceLedgerData->account_code = $inputs['account_code'];
             $workspaceLedgerData->balance_type = Config::get('common.balance_type_opening');
             $workspaceLedgerData->balance = 0;
             $workspaceLedgerData->created_by = $user->id;
             $workspaceLedgerData->created_at = $time;
             $workspaceLedgerData->save();
             // Workspace Ledger Account Head Data (Intermediate)
             $workspaceLedgerData = new WorkspaceLedger();
             $workspaceLedgerData->workspace_id = $user->workspace_id;
             $workspaceLedgerData->year = $year;
             $workspaceLedgerData->account_code = $inputs['account_code'];
             $workspaceLedgerData->balance_type = Config::get('common.balance_type_intermediate');
             $workspaceLedgerData->balance = 0;
             $workspaceLedgerData->created_by = $user->id;
             $workspaceLedgerData->created_at = $time;
             $workspaceLedgerData->save();
             if ($inputs['opening_balance'] > 0) {
                 // Update Workspace Ledger
                 $workspaceLedger = WorkspaceLedger::where(['workspace_id' => $user->workspace_id, 'account_code' => $inputs['account_code'], 'balance_type' => Config::get('common.balance_type_intermediate'), 'year' => $year])->first();
                 $workspaceLedger->balance += $inputs['opening_balance'];
                 $workspaceLedger->updated_by = $user->id;
                 $workspaceLedger->updated_by = $time;
                 $workspaceLedger->save();
             }
         });
     } catch (\Exception $e) {
         dd($e);
         Session::flash('error_message', 'Failed to create Bank. Please try again!');
         return Redirect::back();
     }
     Session::flash('flash_message', 'Bank created successfully!');
     return redirect('banks');
 }