protected function _stokPeriode(Request $request)
 {
     $tanggal = $request->get('tanggal') ? $request->get('tanggal') : date('Y-m-d');
     $to_tanggal = $request->get('to_tanggal') ? $request->get('to_tanggal') : $tanggal;
     $produks = \App\MutasiStokProduk::with('produk')->select(['id', 'produk_id', 'before', DB::raw("SUM(pembelian)pembelian"), DB::raw("SUM(pembelian)pembelian"), DB::raw("SUM(adjustment_increase)adjustment_increase"), DB::raw("SUM(adjustment_reduction)adjustment_reduction"), DB::raw("(((((`before`)+SUM(pembelian))-SUM(penjualan))+SUM(adjustment_increase))-SUM(adjustment_reduction))sisa")])->whereBetween('tanggal', [$tanggal, $to_tanggal])->groupBy('produk_id')->get();
     return ['tanggal' => Carbon::createFromFormat('Y-m-d', $tanggal), 'to_tanggal' => Carbon::createFromFormat('Y-m-d', $to_tanggal), 'produks' => $produks];
 }