Как найти баланс закрытия и открытия баланса с помощью laravel - PullRequest
0 голосов
/ 08 апреля 2020

у меня есть три таблицы Stock table с полем 'inv_no', 'pid','qty','descp', Loading table с полем 'sid','pid','qty','order_no' и products table с 'name', 'Sprice','Bprice'

мой лог c: я хочу найти Закрытие баланс и открытый баланс, формула итогового баланса: Closing_balance = Open_balance + today_Inward-today_OutWard

today_Inward вы можете выбрать qty из stock таблица и today_OutWard из loading таблица

Пример: предположим, что Item1 имеет следующие данные, open_balance = 0 today_Inward_qty = 100, today_OutWard_qty = 60

Таким образом, согласно приведенной выше формуле closed_balance = 40

MY CASE :: Я хочу, чтобы завтра я проснулся, этот closed_balance 40 кол-во должен быть open_balance 40 кол-во , независимо от того, завтра я не буду выполнять outward_qty, так что это останется как open_balance в сводке запаса. если я выполню введенную новую акцию, открытый баланс также повлияет.

Как можно заархивировать этот случай? Кто-то может помочь мне в этом

Это отображение того, что мне нужно, чтобы окончательный Display of what i need to have final

Мой контроллер акций

 request()->validate([
        'descp' => 'required',
        'qty' => 'required',

         ]);

        $data=$request->all();
        // $lastid=Supplier::create($data)->id;
        if(count($request->pid) > 0)
        {
            foreach($request->pid as $key=>$v){
                $data2=([
                    'inv_no'=>$fk,
                    'pid'=>$request->pid [$key],
                    'qty'=>$request->qty [$key],
                    'descp'=>$request->descp,
                    // 'amount'=>$request->amount [$key],
                ]);

                Stock::create($data2);
                 }
        return redirect()->back()->with('success', 'Successfully Stored');

        }

Мой контроллер загрузки

     request()->validate([
        'sid' => 'required',
        'qty' => 'required',

         ]);

        $data=$request->all();
        if(count($request->pid) > 0)
        {
            foreach($request->pid as $key=>$v){
                $data2=([
                    'order_no'=>$fk,
                    'pid'=>$request->pid [$key],
                    'sid'=>$request->sid,
                    'qty'=>$request->qty [$key],
                ]);
                Loading::create($data2);
                 }
        return redirect()->back()->with('success', 'Successfully Stored');

        }

Моя функция просмотра сводных данных (как вы можете на скриншоте выше)

      public function stockSummary(){

     $stockSummary=DB::table('products')
          ->select(['products.id','products.name'])
        ->addSelect([
        'total_stockIn' => DB::table('stocks')
          ->selectRaw('sum(ifnull(`stocks`.`qty`,0))')
          ->whereColumn('stocks.pid', '=', 'products.id')
          ->whereDate('stocks.created_at', '=', Carbon::today()),

    'total_loadings' => DB::table('loadings')
          ->selectRaw('sum(ifnull(`loadings`.`qty`,0))')
          ->whereColumn('loadings.pid', '=', 'products.id')
          ->whereDate('loadings.created_at', '=', Carbon::today()),

     'total_stock_jana' => DB::table('stocks')
         -> selectRaw('sum(ifnull(`stocks`.`qty`,0))')
          ->whereColumn('stocks.pid', '=', 'products.id')
          ->whereDate('stocks.created_at', '=', Carbon::yesterday()),

      'total_loadings_jana' => DB::table('loadings')
          ->selectRaw('sum(ifnull(`loadings`.`qty`,0))')
          ->whereColumn('loadings.pid', '=', 'products.id')
          ->whereDate('loadings.created_at', '=', Carbon::yesterday())
         ])->get()
       ->map(function ($item) {
                        $item->total_stockIn = $item->total_stockIn ?? 0;
           $item->total_stock_jana = $item->total_stock_jana  ?? 0;
                 $item->total_loading_jana = $item->total_loading_jana;
                     $item->total_loadings = $item->total_loadings ?? 0;

        $item->OB = $item->total_stock_jana -$item>total_loading_jana;
              $item->Totalstock = $item->OB + $item->total_stockIn;
                   $item->CB = $item->Totalstock - $item->total_loadings;
                        return $item;
                    });

       return view('stock.summary',compact('stockSummary'));

      }

Кто-то может помочь мне изменить и получить ясную идею в laravel.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...