у меня есть три таблицы 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 в сводке запаса. если я выполню введенную новую акцию, открытый баланс также повлияет.
Как можно заархивировать этот случай? Кто-то может помочь мне в этом
Это отображение того, что мне нужно, чтобы окончательный
Мой контроллер акций
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.