ajax()) { $wHDDA = isset($request->WHDDA) ? $request->WHDDA : []; $wHArr = []; foreach ($wHDDA as $WHDDAV) { $cO = substr($WHDDAV, 0, 3); $wHArr[] = substr($WHDDAV, 6, 3); } $reportPeriod = isset($request->reportPeriod) ? $request->reportPeriod : ''; // monthly , quarter , year , daily // Current $checkSales = isset($request->checkSales) ? $request->checkSales : ''; // on $checkWeight = isset($request->checkWeight) ? $request->checkWeight : ''; // on $checkLines = isset($request->checkLines) ? $request->checkLines : ''; // on if (! empty($wHArr) && $cO != '' && $reportPeriod != '') { switch ($reportPeriod) { case 'year': // Set Dates based on reportPeriod type $firstDay = isset($request->REPORTDATE) ? \DateTime::createFromFormat('Y-m', $request->REPORTDATE) : ''; $reportDate = $firstDay->modify('first day of January')->format('Ymd'); $lastDay = isset($request->TOREPORTDATE) ? \DateTime::createFromFormat('Y-m', trim($request->TOREPORTDATE)) : ''; $toreportDate = $lastDay->modify('last day of December')->format('Ymd'); // Build SQL $selectContent = "with tempfile as ( select a5rsvqty,a5packed,a5slunpr*a5packed as dollars,a5lnwght,a5whs, (select max(ayapr8N002) as ayapr8N002 from icm695m1 where a5macpkr=aymacpkr fetch first 1 rows only) from icm688m2 where a5macpkr in ( select distinct aymacpkr from icm695m1 where (AYSTATUS in ('Z','z') and ayapr8N002>=$reportDate and ayapr8N002<=$toreportDate ) ) and a5co='" . $cO . "' and a5whs in(" . implode(',', $wHArr) . ') ) select substr(ayapr8N002,1,4) as years,count(*) as lines,sum(a5rsvqty) as reserveqty,sum(a5packed) as packed,sum(a5lnwght*a5packed/a5rsvqty) as weight,sum(dollars) as dollars,a5whs as whs from tempfile group by substr(ayapr8N002,1,4),a5whs order by 1 '; $execSummaryResLY = []; break; case 'quarter': // Set Dates based on reportPeriod type $firstDay = isset($request->REPORTDATE) ? \DateTime::createFromFormat('Y-m', $request->REPORTDATE) : ''; $reportDate = $firstDay->modify('first day of January')->format('Ymd'); $lastDay = isset($request->TOREPORTDATE) ? \DateTime::createFromFormat('Y-m', trim($request->TOREPORTDATE)) : ''; $toreportDate = $lastDay->modify('last day of December')->format('Ymd'); // Build SQL $selectContent = "with tempfile as ( select a5rsvqty,a5packed,a5slunpr*a5packed as dollars,a5lnwght,a5whs, (select max(ayapr8N002) as ayapr8N002 from icm695m1 where a5macpkr=aymacpkr fetch first 1 rows only) from icm688m2 where a5macpkr in ( select distinct aymacpkr from icm695m1 where (AYSTATUS in ('Z','z') and ayapr8N002>=$reportDate and ayapr8N002<=$toreportDate ) ) and a5co='" . $cO . self::WAREHOUSE_IN_CLAUSE . implode(',', $wHArr) . ") ) select 'Q' || EXTRACT(QUARTER FROM TO_DATE(CAST(ayapr8n002 AS TEXT),'YYYYMMDD')) ||'-' || substr(ayapr8N002,3,2) as years,count(*) as lines, sum(a5rsvqty) as reserveqty, sum(a5packed) as packed,sum (a5lnwght*a5packed/a5rsvqty) as weight,sum(dollars) as dollars, a5whs as whs from tempfile group by 'Q' || EXTRACT(QUARTER FROM TO_DATE(CAST(ayapr8n002 AS TEXT),'YYYYMMDD')) ||'-' || substr(ayapr8N002,3,2),a5whs order by 1 "; $execSummaryResLY = []; break; case 'monthly': // Set Dates based on reportPeriod type $firstDay = isset($request->REPORTDATE) ? \DateTime::createFromFormat('Y-m', $request->REPORTDATE) : null; $lastDay = (clone $firstDay); $reportDate = $firstDay->modify('-11 months')->modify(self::FIRST_DAY_THIS_MONTH)->format('Ymd'); // $toreportDate = $lastDay ? $lastDay->modify(self::LAST_DAY_THIS_MONTH)->format('Ymd') : ''; // Last Year Dates // Same period, but for Last Year (LY) $reportDateLY = (clone $firstDay)->modify(self::ONE_YEAR_AGO)->modify(self::FIRST_DAY_THIS_MONTH)->format('Ymd'); $toreportDateLY = (clone $lastDay)->modify(self::ONE_YEAR_AGO)->modify(self::LAST_DAY_THIS_MONTH)->format('Ymd'); // Build SQL $selectContent = "with tempfile as ( select a5rsvqty,a5packed,a5slunpr*a5packed as dollars,a5lnwght,a5whs, (select max(ayapr8N002) as ayapr8N002 from icm695m1 where a5macpkr=aymacpkr fetch first 1 rows only) from icm688m2 where a5macpkr in ( select distinct aymacpkr from icm695m1 where (AYSTATUS in ('Z','z') and ayapr8N002>=$reportDate and ayapr8N002<=$toreportDate ) ) and a5co='" . $cO . self::WAREHOUSE_IN_CLAUSE . implode(',', $wHArr) . ") ) select substr(ayapr8N002,1,4) || '-' || substr(ayapr8N002,5,2) as years,count(*) as lines,sum(a5rsvqty) as reserveqty,sum(a5packed) as packed, sum(a5lnwght*a5packed/a5rsvqty) as weight,sum(dollars) as dollars, a5whs as whs from tempfile group by substr(ayapr8N002,1,4) || '-' || substr(ayapr8N002,5,2),a5whs order by 1 "; $selectContentLY = "with tempfile as ( select a5rsvqty,a5packed,a5slunpr*a5packed as dollars,a5lnwght,a5whs, (select max(ayapr8N002) as ayapr8N002 from icm695m1 where a5macpkr=aymacpkr fetch first 1 rows only) from icm688m2 where a5macpkr in ( select distinct aymacpkr from icm695m1 where (AYSTATUS in ('Z','z') and ayapr8N002>=$reportDateLY and ayapr8N002<=$toreportDateLY ) ) and a5co='" . $cO . self::WAREHOUSE_IN_CLAUSE . implode(',', $wHArr) . ") ) select substr(ayapr8N002,1,4) || '-' || substr(ayapr8N002,5,2) as years,count(*) as lines,sum(a5rsvqty) as reserveqty,sum(a5packed) as packed, sum(a5lnwght*a5packed/a5rsvqty) as weight,sum(dollars) as dollars, a5whs as whs from tempfile group by substr(ayapr8N002,1,4) || '-' || substr(ayapr8N002,5,2),a5whs order by 1 "; $execSummaryResLY = DB::connection(config('m3.connection', 'pgsql'))->select($selectContentLY); break; case 'custom': // Set Dates based on reportPeriod type $firstDay = isset($request->REPORTDATE) ? \DateTime::createFromFormat('Y-m', $request->REPORTDATE) : ''; $reportDate = $firstDay->modify(self::FIRST_DAY_THIS_MONTH)->format('Ymd'); $toreportDate = $firstDay->modify(self::LAST_DAY_THIS_MONTH)->format('Ymd'); // Last Year Dates $reportDateLY = (clone $firstDay)->modify(self::ONE_YEAR_AGO)->modify(self::FIRST_DAY_THIS_MONTH)->format('Ymd'); $toreportDateLY = (clone $firstDay)->modify(self::ONE_YEAR_AGO)->modify(self::LAST_DAY_THIS_MONTH)->format('Ymd'); // Build SQL $selectContent = "with tempfile as ( select a5rsvqty,a5packed,a5slunpr*a5packed as dollars,a5lnwght,a5whs, (select max(ayapr8N002) as ayapr8N002 from icm695m1 where a5macpkr=aymacpkr fetch first 1 rows only) from icm688m2 where a5macpkr in ( select distinct aymacpkr from icm695m1 where (AYSTATUS in ('Z','z') and ayapr8N002>=$reportDate and ayapr8N002<=$toreportDate ) ) and a5co='" . $cO . self::WAREHOUSE_IN_CLAUSE . implode(',', $wHArr) . ') ) select substr(ayapr8N002,7,2) as years,count(*) as lines,sum(a5rsvqty) as reserveqty,sum(a5packed) as packed, sum(a5lnwght*a5packed/a5rsvqty) as weight, sum(dollars) as dollars, a5whs as whs from tempfile group by substr(ayapr8N002,7,2),a5whs order by 1 '; $selectContentLY = "with tempfile as ( select a5rsvqty,a5packed,a5slunpr*a5packed as dollars,a5lnwght,a5whs, (select max(ayapr8N002) as ayapr8N002 from icm695m1 where a5macpkr=aymacpkr fetch first 1 rows only) from icm688m2 where a5macpkr in ( select distinct aymacpkr from icm695m1 where (AYSTATUS in ('Z','z') and ayapr8N002>=$reportDateLY and ayapr8N002<=$toreportDateLY ) ) and a5co='" . $cO . self::WAREHOUSE_IN_CLAUSE . implode(',', $wHArr) . ') ) select substr(ayapr8N002,7,2) as years,count(*) as lines,sum(a5rsvqty) as reserveqty,sum(a5packed) as packed, sum(a5lnwght*a5packed/a5rsvqty) as weight, sum(dollars) as dollars, a5whs as whs from tempfile group by substr(ayapr8N002,7,2),a5whs order by 1 '; $execSummaryResLY = DB::connection(config('m3.connection', 'pgsql'))->select($selectContentLY); break; default: $selectContent = ''; break; } $execSummaryRes = DB::connection(config('m3.connection', 'pgsql'))->select($selectContent); } else { $execSummaryRes = collect(); $execSummaryResLY = collect(); } return response()->json(['success' => true, 'reportPeriod' => $reportPeriod, 'result' => $execSummaryRes, 'resultLY' => $execSummaryResLY, 'checkSales' => $checkSales, 'checkWeight' => $checkWeight, 'checkLines' => $checkLines]); } // Init Page $sHUSER = m3User() !== '' ? Str::upper(trim(m3User())) : ''; if ($sHUSER != '') { // Get User CO & WH from Table ICM428M $iCM428M = DB::connection(config('m3.connection', 'pgsql'))->table('icm428m') ->select('R428US', 'R428CO', 'R428WH', 'R428PL') ->where('R428US', '=', $sHUSER) ->first(); $cOMPANY = isset($iCM428M->R428CO) ? $iCM428M->R428CO : '110'; // Company $pLANT = isset($iCM428M->R428PL) ? $iCM428M->R428PL : '144'; // Plant $wHS = isset($iCM428M->R428WH) ? $iCM428M->R428WH : '322'; // WareHouse } $wHDDA = $cOMPANY . $pLANT . $wHS; // dump($wHDDA); // Warehouse Table $iC670M = DB::connection(config('m3.connection', 'pgsql'))->table('ic670m')->get(); } catch (\Throwable $th) { Log::error($th); } return view('m3::liberty-theme.pages.execSummaryLine', ['IC670M' => $iC670M, 'WHDDA' => $wHDDA]); // ,'ICM688M2',,'COMPANY','PLANT','WHS','reportDate' } }