Find this useful? Enter your email to receive occasional updates for securing PHP code.

Signing you up...

Thank you for signing up!

PHP Decode

<?php namespace App\Models; use Illuminate\Database\Eloquent\Model; use Illuminate\Supp..

Decoded Output download

<?php 
namespace App\Models; 
use Illuminate\Database\Eloquent\Model; 
use Illuminate\Support\Facades\DB; 
use App\Models\ValueStream; 
use App\Models\timeFrame; 
class BusinessGroup extends Model 
{ 
    protected $table = "business_groups"; 
    public function getDataLayer1($timeFrame, $supplyCenter) 
    { 
        $data = []; 
        $time_frame = new TimeFrame(); 
        $selectQueryTimeFrame = $time_frame->getQueryLayer1($timeFrame); 
        $supply_center_id = $supplyCenter; 
        $records = DB::table( 
            "supply_centers as sc" 
        ) 
            ->select( 
                DB::raw( 
                    "sum(qty_requested) as qty_requested, 
          sum(qty_delivered_ontime) as qty_delivered_ontime, 
          sc.id, sc.name, sc.target" 
                ) 
            ) 
            ->join( 
                "fill_rates as fr", 
                "sc.id", 
                "=", 
                "fr.supply_center_id" 
            ) 
            ->where("sc.id", $supply_center_id) 
            ->where($selectQueryTimeFrame) 
            ->where( 
                "fr.customer_mapped", 
                "!=", 
                "Amazon.com" 
            ) 
            ->groupBy( 
                "sc.id", 
                "sc.name", 
                "sc.target" 
            ) 
            ->get(); 
        foreach ($records as $key) { 
            $actual = number_format( 
                ($key->qty_delivered_ontime / $key->qty_requested) * 100, 
                1, 
                ".", 
                "" 
            ); 
            $class = "green"; 
            if ($actual < $key->target) { 
                $class = "red"; 
            } 
            $dataItem = [ 
                "id" => $key->id, 
                "name" => $key->name, 
                "target" => $key->target, 
                "actual" => $actual, 
                "class" => $class, 
            ]; 
            array_push($data, $dataItem); 
        } 
        return $data; 
    } 
    public function getDataLayer2($timeFrame, $supplyCenter) 
    { 
        $data = []; 
        $time_frame = new TimeFrame(); 
        $time_range = $time_frame->getTimeRange2($timeFrame); 
        $supply_center_id = $supplyCenter; 
        $query = DB::table( 
            "fill_rates as fr" 
        ); 
        if ( 
            $timeFrame == "past_12_weeks" 
        ) { 
            $query 
                ->selectRaw( 
                    "week AS  code" 
                ) 
                ->whereRaw( 
                    "week >= ? and week <= ?", 
                    [ 
                        $time_range[ 
                            "start_query" 
                        ], 
                        $time_range["end_query"], 
                    ] 
                ) 
                ->groupBy("week") 
                ->orderBy("code", "asc"); 
        } elseif ( 
            $timeFrame == 
            "past_12_months" 
        ) { 
            $query 
                ->selectRaw( 
                    "CONCAT(year,  month_num) AS  code" 
                ) 
                ->whereRaw( 
                    "CONCAT(year,  month_num) >= ? and CONCAT(year,  month_num) <= ?", 
                    [ 
                        $time_range[ 
                            "start_query" 
                        ], 
                        $time_range["end_query"], 
                    ] 
                ) 
                ->groupBy( 
                    "year", 
                    "month_num" 
                ) 
                ->orderBy("year", "asc") 
                ->orderBy( 
                    "month_num", 
                    "asc" 
                ); 
        } elseif ( 
            $timeFrame == 
            "past_6_quarters" 
        ) { 
            $query 
                ->selectRaw( 
                    "CONCAT(year,  quarter) AS  code" 
                ) 
                ->whereRaw( 
                    "CONCAT(year,  quarter) >= ? and CONCAT(year,  quarter) <= ?", 
                    [ 
                        $time_range[ 
                            "start_query" 
                        ], 
                        $time_range["end_query"], 
                    ] 
                ) 
                ->groupBy("year", "quarter") 
                ->orderBy("year", "asc") 
                ->orderBy("quarter", "asc"); 
        } elseif ( 
            $timeFrame == "past_6_years" 
        ) { 
            $query 
                ->selectRaw( 
                    "year AS  code" 
                ) 
                ->whereRaw( 
                    "year >= ? and year <= ?", 
                    [ 
                        $time_range[ 
                            "start_query" 
                        ], 
                        $time_range["end_query"], 
                    ] 
                ) 
                ->groupBy("year") 
                ->orderBy("year", "asc"); 
        } 
        $query 
            ->join( 
                "article_groups as ag", 
                "ag.id", 
                "=", 
                "fr.article_group_id" 
            ) 
            ->join( 
                "value_streams as vs", 
                "vs.id", 
                "=", 
                "ag.value_stream_id" 
            ) 
            ->join( 
                "value_stream_details as vsd", 
                "vsd.value_stream_id", 
                "=", 
                "vs.id" 
            ) 
            ->join( 
                "business_groups as bg", 
                "bg.id", 
                "=", 
                "vsd.business_group_id" 
            ) 
            ->where( 
                "bg.supply_center_id", 
                "=", 
                $supply_center_id 
            ) 
            ->where( 
                "fr.customer_mapped", 
                "!=", 
                "Amazon.com" 
            ) 
            ->selectRaw( 
                "sum(qty_requested) as qty_requested, \xa            sum(qty_delivered_ontime) as qty_delivered_ontime, 
            bg.id, bg.target" 
            ) 
            ->groupBy("bg.id") 
            ->groupBy("bg.target") 
            ->orderBy("bg.id", "asc"); 
        $chartSetting = []; 
        $dtRecords = $query->get(); 
        foreach ($dtRecords as $keyValue) { 
            $code = $keyValue->code; 
            $regionId = $keyValue->id; 
            $actual = number_format( 
                ($keyValue->qty_delivered_ontime / $keyValue->qty_requested) * 
                    100, 
                1, 
                ".", 
                "" 
            ); 
            $data[$code]["code"] = $code; 
            $data[$code]["bg"][$regionId]["id"] = $keyValue->id; 
            $data[$code]["bg"][$regionId][ 
                "actual" 
            ] = $actual; 
            $data[$code]["bg"][$regionId][ 
                "deliver" 
            ] = $keyValue->qty_delivered_ontime; 
            $data[$code]["bg"][$regionId][ 
                "request" 
            ] = $keyValue->qty_requested; 
            $data[$code]["bg"][$regionId]["target"] = 
                $keyValue->target; 
        } 
        $dataTable = []; 
        $dataChart = []; 
        $bgList = $this->getBGList($supply_center_id); 
        foreach ($bgList as $dtBG) { 
            $dataChart[$dtBG->id]["name"] = $dtBG->name; 
            $dataChart[$dtBG->id]["type"] = 
                "column"; 
            $dataChart[$dtBG->id]["color"] = $dtBG->color; 
            $dataChart[$dtBG->id][ 
                "showInLegend" 
            ] = true; 
            $dataChart[$dtBG->id][ 
                "dataPoints" 
            ] = []; 
            $targetID = 20 + $dtBG->id; 
            $dataChart[$targetID]["type"] = 
                "scatter"; 
            $dataChart[$targetID]["color"] = 
                "yellow"; 
            $dataChart[$targetID]["markerType"] = 
                "circle"; 
            $dataChart[$targetID][ 
                "markerColor" 
            ] = "yellow"; 
            $dataChart[$targetID][ 
                "dataPoints" 
            ] = []; 
        } 
        $dtSupply = DB::table( 
            "supply_centers" 
        ) 
            ->orderBY("id", "ASC") 
            ->where("id", "=", "1") 
            ->get(); 
        $targetSupply = $dtSupply[0]->target; 
        $dataChart[90]["name"] = "all"; 
        $dataChart[90]["type"] = "column"; 
        $dataChart[90]["color"] = "#FFECCC"; 
        $dataChart[90][ 
            "showInLegend" 
        ] = true; 
        $dataChart[90]["dataPoints"] = []; 
        $dataChart[100]["type"] = "scatter"; 
        $dataChart[100]["color"] = "yellow"; 
        $dataChart[100]["markerType"] = 
            "circle"; 
        $dataChart[100]["markerColor"] = 
            "yellow"; 
        $dataChart[100]["dataPoints"] = []; 
        $numberChart = $bgList->count() + 2; 
        $chartSetting["interval"] = $numberChart; 
        $xPosition = $numberChart; 
        $allPosition = (1.05 * $numberChart) / 2 - 1; 
        $x = 0; 
        foreach ($data as $dtInterval) { 
            $code = $dtInterval["code"]; 
            if ( 
                $timeFrame == 
                "past_12_weeks" 
            ) { 
                $label = "W" . substr($code, 2, 2); 
            } elseif ( 
                $timeFrame == 
                "past_12_months" 
            ) { 
                $label = "M" . substr($code, 4, 2); 
            } elseif ( 
                $timeFrame == 
                "past_6_quarters" 
            ) { 
                $label = "Q" . substr($code, 4, 2); 
            } elseif ( 
                $timeFrame == "past_6_years" 
            ) { 
                $label = "Y" . substr($code, 2, 2); 
            } 
            $xItem = $x * $numberChart + $xPosition; 
            $xAll = $xItem + $allPosition; 
            array_push( 
                $dataChart[100]["dataPoints"], 
                [ 
                    "x" => $xAll, 
                    "y" => floatval($targetSupply), 
                    "label" => $label, 
                ] 
            ); 
            $totalRequest = 0; 
            $totalDeliver = 0; 
            $dataTable[$code] = [$code]; 
            $pointStart = $xAll - $numberChart + 2; 
            foreach ($dtInterval["bg"] as $dtBG) { 
                $totalRequest += $dtBG["request"]; 
                $totalDeliver += $dtBG["deliver"]; 
                array_push( 
                    $dataTable[$code], 
                    $dtBG["actual"] 
                ); 
                array_push( 
                    $dataChart[$dtBG["id"]][ 
                        "dataPoints" 
                    ], 
                    [ 
                        "x" => $xItem, 
                        "y" => floatval($dtBG["actual"]), 
                        "label" => $label, 
                    ] 
                ); 
                $targetID = 20 + $dtBG["id"]; 
                array_push( 
                    $dataChart[$targetID][ 
                        "dataPoints" 
                    ], 
                    [ 
                        "x" => $pointStart, 
                        "y" => floatval($dtBG["target"]), 
                    ] 
                ); 
                $pointStart += 1; 
            } 
            $totalActual = number_format( 
                ($totalDeliver / $totalRequest) * 100, 
                1, 
                ".", 
                "" 
            ); 
            array_push( 
                $dataChart[90]["dataPoints"], 
                [ 
                    "x" => $xItem, 
                    "y" => floatval($totalActual), 
                    "label" => $label, 
                ] 
            ); 
            $data[$code]["all "][ 
                "actual" 
            ] = $totalActual; 
            $data[$code]["all "][ 
                "deliver" 
            ] = $totalDeliver; 
            $data[$code]["all "][ 
                "request" 
            ] = $totalRequest; 
            array_push($dataTable[$code], $totalActual); 
            $x++; 
        } 
        $numberDataPointChart = count( 
            $dataChart[100]["dataPoints"] 
        ); 
        $dataChartReturn = []; 
        foreach ($dataChart as $dtChart) { 
            array_push($dataChartReturn, $dtChart); 
        } 
        $dataReturn = [ 
            "table" => array_reverse($dataTable), 
            "chart" => $dataChartReturn, 
            "chartSetting" => $chartSetting, 
        ]; 
        return $dataReturn; 
    } 
    public function getDataLayer2Chartjs($timeFrame, $supplyCenter) 
    { 
        $data = []; 
        $time_frame = new TimeFrame(); 
        $time_range = $time_frame->getTimeRange2($timeFrame); 
        $supply_center_id = $supplyCenter; 
        $query = DB::table( 
            "fill_rates as fr" 
        ); 
        if ( 
            $timeFrame == "past_12_weeks" 
        ) { 
            $query 
                ->selectRaw( 
                    "week AS  code" 
                ) 
                ->whereRaw( 
                    "week >= ? and week <= ?", 
                    [ 
                        $time_range[ 
                            "start_query" 
                        ], 
                        $time_range["end_query"], 
                    ] 
                ) 
                ->groupBy("week") 
                ->orderBy("code", "asc"); 
        } elseif ( 
            $timeFrame == 
            "past_12_months" 
        ) { 
            $query 
                ->selectRaw( 
                    "CONCAT(year,  month_num) AS  code" 
                ) 
                ->whereRaw( 
                    "CONCAT(year,  month_num) >= ? and CONCAT(year,  month_num) <= ?", 
                    [ 
                        $time_range[ 
                            "start_query" 
                        ], 
                        $time_range["end_query"], 
                    ] 
                ) 
                ->groupBy( 
                    "year", 
                    "month_num" 
                ) 
                ->orderBy("year", "asc") 
                ->orderBy( 
                    "month_num", 
                    "asc" 
                ); 
        } elseif ( 
            $timeFrame == 
            "past_6_quarters" 
        ) { 
            $query 
                ->selectRaw( 
                    "CONCAT(year,  quarter) AS  code" 
                ) 
                ->whereRaw( 
                    "CONCAT(year,  quarter) >= ? and CONCAT(year,  quarter) <= ?", 
                    [ 
                        $time_range[ 
                            "start_query" 
                        ], 
                        $time_range["end_query"], 
                    ] 
                ) 
                ->groupBy("year", "quarter") 
                ->orderBy("year", "asc") 
                ->orderBy("quarter", "asc"); 
        } elseif ( 
            $timeFrame == "past_6_years" 
        ) { 
            $query 
                ->selectRaw( 
                    "year AS  code" 
                ) 
                ->whereRaw( 
                    "year >= ? and year <= ?", 
                    [ 
                        $time_range[ 
                            "start_query" 
                        ], 
                        $time_range["end_query"], 
                    ] 
                ) 
                ->groupBy("year") 
                ->orderBy("year", "asc"); 
        } 
        $query 
            ->join( 
                "article_groups as ag", 
                "ag.id", 
                "=", 
                "fr.article_group_id" 
            ) 
            ->join( 
                "value_streams as vs", 
                "vs.id", 
                "=", 
                "ag.value_stream_id" 
            ) 
            ->join( 
                "value_stream_details as vsd", 
                "vsd.value_stream_id", 
                "=", 
                "vs.id" 
            ) 
            ->join( 
                "business_groups as bg", 
                "bg.id", 
                "=", 
                "vsd.business_group_id" 
            ) 
            ->where( 
                "bg.supply_center_id", 
                "=", 
                $supply_center_id 
            ) 
            ->where( 
                "fr.customer_mapped", 
                "!=", 
                "Amazon.com" 
            ) 
            ->selectRaw( 
                "sum(qty_requested) as qty_requested, 
            sum(qty_delivered_ontime) as qty_delivered_ontime, 
            bg.id, bg.target" 
            ) 
            ->groupBy("bg.id") 
            ->groupBy("bg.target") 
            ->orderBy("bg.id", "asc"); 
        $chartSetting = []; 
        $dtRecords = $query->get(); 
        foreach ($dtRecords as $keyValue) { 
            $code = $keyValue->code; 
            $bgId = $keyValue->id; 
            $actual = number_format( 
                ($keyValue->qty_delivered_ontime / $keyValue->qty_requested) * 
                    100, 
                1, 
                ".", 
                "" 
            ); 
            $data[$code]["code"] = $code; 
            $data[$code]["bg"][$bgId]["id"] = $keyValue->id; 
            $data[$code]["bg"][$bgId][ 
                "actual" 
            ] = $actual; 
            $data[$code]["bg"][$bgId]["deliver"] = 
                $keyValue->qty_delivered_ontime; 
            $data[$code]["bg"][$bgId]["request"] = 
                $keyValue->qty_requested; 
            $data[$code]["bg"][$bgId]["target"] = 
                $keyValue->target; 
        } 
        $dataTable = []; 
        $dataChart = []; 
        $bgList = $this->getBGList($supply_center_id); 
        foreach ($bgList as $dtBG) { 
            $dataChart[$dtBG->id]["order"] = 1; 
            $dataChart[$dtBG->id]["label"] = $dtBG->name; 
            $dataChart[$dtBG->id]["type"] = "bar"; 
            $dataChart[$dtBG->id][ 
                "backgroundColor" 
            ] = $dtBG->color; 
            $dataChart[$dtBG->id][ 
                "borderWidth" 
            ] = 1; 
            $dataChart[$dtBG->id]["data"] = []; 
        } 
        $dtSupply = DB::table( 
            "supply_centers" 
        ) 
            ->orderBY("id", "ASC") 
            ->where("id", "=", "1") 
            ->get(); 
        $targetSupply = $dtSupply[0]->target; 
        $dataChart[90]["order"] = 1; 
        $dataChart[90]["label"] = "All"; 
        $dataChart[90]["type"] = "bar"; 
        $dataChart[90][ 
            "backgroundColor" 
        ] = "#FFECCC"; 
        $dataChart[90]["borderWidth"] = 1; 
        $dataChart[90]["data"] = []; 
        $dataChart[100]["order"] = 0; 
        $dataChart[100]["label"] = "Target"; 
        $dataChart[100]["type"] = "scatter"; 
        $dataChart[100]["pointRadius"] = 4; 
        $dataChart[100][ 
            "backgroundColor" 
        ] = "yellow"; 
        $dataChart[100]["borderWidth"] = 1; 
        $dataChart[100]["data"] = []; 
        $labels = []; 
        $x = 0; 
        foreach ($data as $dtInterval) { 
            $code = $dtInterval["code"]; 
            if ( 
                $timeFrame == 
                "past_12_weeks" 
            ) { 
                $label = "W" . substr($code, 2, 2); 
            } elseif ( 
                $timeFrame == 
                "past_12_months" 
            ) { 
                $label = "M" . substr($code, 4, 2); 
            } elseif ( 
                $timeFrame == 
                "past_6_quarters" 
            ) { 
                $label = "Q" . substr($code, 4, 2); 
            } elseif ( 
                $timeFrame == "past_6_years" 
            ) { 
                $label = "Y" . substr($code, 2, 2); 
            } 
            array_push($labels, $label); 
            $totalRequest = 0; 
            $totalDeliver = 0; 
            $dataTable[$code] = [$code]; 
            foreach ($dtInterval["bg"] as $dtBG) { 
                $totalRequest += $dtBG["request"]; 
                $totalDeliver += $dtBG["deliver"]; 
                $classBGStatus = ""; 
                if ( 
                    $dtBG["actual"] < 
                    $dtBG["target"] 
                ) { 
                    $classBGStatus = "red"; 
                } 
                $dtBGtable = [ 
                    "actual" => 
                        $dtBG["actual"], 
                    "target" => 
                        $dtBG["target"], 
                    "class" => $classBGStatus, 
                ]; 
                array_push($dataTable[$code], $dtBGtable); 
                array_push( 
                    $dataChart[$dtBG["id"]]["data"], 
                    floatval($dtBG["actual"]) 
                ); 
                array_push($dataChart[100]["data"], [ 
                    "x" => $label, 
                    "y" => floatval($dtBG["target"]), 
                ]); 
            } 
            array_push($dataChart[100]["data"], [ 
                "x" => $label, 
                "y" => floatval($targetSupply), 
            ]); 
            $totalActual = number_format( 
                ($totalDeliver / $totalRequest) * 100, 
                1, 
                ".", 
                "" 
            ); 
            array_push( 
                $dataChart[90]["data"], 
                floatval($totalActual) 
            ); 
            $classBGStatus = ""; 
            if ($totalActual < $targetSupply) { 
                $classBGStatus = "red"; 
            } 
            $dtBGtable = [ 
                "actual" => $totalActual, 
                "target" => $targetSupply, 
                "class" => $classBGStatus, 
            ]; 
            $data[$code]["all "][ 
                "actual" 
            ] = $totalActual; 
            $data[$code]["all "][ 
                "deliver" 
            ] = $totalDeliver; 
            $data[$code]["all "][ 
                "request" 
            ] = $totalRequest; 
            array_push($dataTable[$code], $dtBGtable); 
            $x++; 
        } 
        $dataChartReturn = []; 
        $dataChartReturn["labels"] = $labels; 
        $dataChartReturn["datasets"] = []; 
        foreach ($dataChart as $dtChart) { 
            array_push( 
                $dataChartReturn["datasets"], 
                $dtChart 
            ); 
        } 
        $dataReturn = [ 
            "table" => array_reverse($dataTable), 
            "chart" => $dataChartReturn, 
        ]; 
        return $dataReturn; 
    } 
    public function getBGList($supplyCenter) 
    { 
        $supply_center_id = $supplyCenter; 
        $dtRecords = DB::table( 
            "business_groups" 
        ) 
            ->where( 
                "supply_center_id", 
                $supply_center_id 
            ) 
            ->orderBY("id", "ASC") 
            ->get(); 
        return $dtRecords; 
    } 
    public function getHeaderlayer2($timeFrame, $supplyCenter) 
    { 
        $supply_center_id = $supplyCenter; 
        if ( 
            $timeFrame == "past_12_weeks" 
        ) { 
            $header = ["WEEK"]; 
        } elseif ( 
            $timeFrame == 
            "past_12_months" 
        ) { 
            $header = ["MONTH"]; 
        } elseif ( 
            $timeFrame == 
            "past_6_quarters" 
        ) { 
            $header = ["QUARTER"]; 
        } elseif ( 
            $timeFrame == "past_6_years" 
        ) { 
            $header = ["YEAR"]; 
        } 
        $dtRecords = DB::table( 
            "business_groups" 
        ) 
            ->where( 
                "supply_center_id", 
                $supply_center_id 
            ) 
            ->orderBY("id", "ASC") 
            ->get(); 
        foreach ($dtRecords as $key) { 
            array_push($header, strtoupper($key->name)); 
        } 
        array_push($header, "ALL"); 
        return $header; 
    } 
    public function getFilterLayer3($bgID, $vsID, $supplyCenter) 
    { 
        $bgSelection = ""; 
        if ($bgID == "all") { 
            $bgSelection = "selected"; 
        } 
        $vsSelection = ""; 
        if ($vsID == "all") { 
            $vsSelection = "selected"; 
        } 
        $data = [ 
            [ 
                "id" => "bg", 
                "name" => 
                    "Business Group", 
                "value" => [ 
                    [ 
                        "id" => "all", 
                        "name" => "All", 
                        "selected" => $bgSelection, 
                    ], 
                ], 
            ], 
            [ 
                "id" => "vs", 
                "name" => 
                    "Value Stream", 
                "value" => [ 
                    [ 
                        "id" => "all", 
                        "name" => "All", 
                        "selected" => $vsSelection, 
                    ], 
                ], 
            ], 
        ]; 
        $supply_center_id = $supplyCenter; 
        $dtBGs = DB::table( 
            "business_groups" 
        ) 
            ->where( 
                "supply_center_id", 
                $supply_center_id 
            ) 
            ->orderBY("id", "ASC") 
            ->get(); 
        foreach ($dtBGs as $dtBG) { 
            $bgSelection = ""; 
            if ($bgID == $dtBG->id) { 
                $bgSelection = "selected"; 
            } 
            array_push($data[0]["value"], [ 
                "id" => $dtBG->id, 
                "name" => $dtBG->name, 
                "selected" => $bgSelection, 
            ]); 
        } 
        if ($bgID != "all") { 
            $dtVSs = DB::table( 
                "value_streams as vs" 
            ) 
                ->join( 
                    "value_stream_details as vsd", 
                    "vsd.value_stream_id", 
                    "=", 
                    "vs.id" 
                ) 
                ->selectRaw( 
                    "vs.id, vs.name, vsd.business_group_id" 
                ) 
                ->where( 
                    "vsd.business_group_id", 
                    "=", 
                    $bgID 
                ) 
                ->orderBY("vs.id", "ASC") 
                ->get(); 
            foreach ($dtVSs as $dtVS) { 
                $vsSelection = ""; 
                if ($vsID == $dtVS->id) { 
                    $vsSelection = "selected"; 
                } 
                array_push($data[1]["value"], [ 
                    "id" => $dtVS->id, 
                    "name" => $dtVS->name, 
                    "selected" => $vsSelection, 
                ]); 
            } 
        } 
        return $data; 
    } 
    public function getDataLayer3($timeFrame, $bg, $vs, $supplyCenter) 
    { 
        $data = []; 
        $time_frame = new TimeFrame(); 
        $time_range = $time_frame->getTimeRange2($timeFrame); 
        $query = DB::table( 
            "fill_rates as fr" 
        ); 
        $supply_center_id = $supplyCenter; 
        if ( 
            $timeFrame == 
                "past_12_weeks" || 
            $timeFrame == "last_week" 
        ) { 
            $query 
                ->selectRaw( 
                    "week AS  code" 
                ) 
                ->whereRaw( 
                    "week >= ? and week <= ?", 
                    [ 
                        $time_range[ 
                            "start_query" 
                        ], 
                        $time_range["end_query"], 
                    ] 
                ) 
                ->groupBy("week") 
                ->orderBy("week", "asc"); 
        } elseif ( 
            $timeFrame == 
            "past_12_months" 
        ) { 
            $query 
                ->selectRaw( 
                    "CONCAT(year,  month_num) AS  code" 
                ) 
                ->whereRaw( 
                    "CONCAT(year,  month_num) >= ? and CONCAT(year,  month_num) <= ?", 
                    [ 
                        $time_range[ 
                            "start_query" 
                        ], 
                        $time_range["end_query"], 
                    ] 
                ) 
                ->groupBy( 
                    "year", 
                    "month_num" 
                ) 
                ->orderBy("year", "asc") 
                ->orderBy( 
                    "month_num", 
                    "asc" 
                ); 
        } elseif ( 
            $timeFrame == 
            "past_6_quarters" 
        ) { 
            $query 
                ->selectRaw( 
                    "CONCAT(year,  quarter) AS  code" 
                ) 
                ->whereRaw( 
                    "CONCAT(year,  quarter) >= ? and CONCAT(year,  quarter) <= ?", 
                    [ 
                        $time_range[ 
                            "start_query" 
                        ], 
                        $time_range["end_query"], 
                    ] 
                ) 
                ->groupBy("year", "quarter") 
                ->orderBy("year", "asc") 
                ->orderBy("quarter", "asc"); 
        } elseif ( 
            $timeFrame == "past_6_years" 
        ) { 
            $query 
                ->selectRaw( 
                    "year AS  code" 
                ) 
                ->whereRaw( 
                    "year >= ? and year <= ?", 
                    [ 
                        $time_range[ 
                            "start_query" 
                        ], 
                        $time_range["end_query"], 
                    ] 
                ) 
                ->groupBy("year") 
                ->orderBy("year", "asc"); 
        } 
        if ($bg != "all") { 
            $query 
                ->where("bg.id", "=", $bg) 
                ->selectRaw("vs.id") 
                ->groupBy("vs.id") 
                ->orderBy("vs.id", "asc"); 
        } else { 
            $query 
                ->selectRaw("bg.id") 
                ->groupBy("bg.id") 
                ->orderBy("bg.id", "asc"); 
        } 
        if ($vs != "all") { 
            $query->where("vs.id", "=", $vs); 
        } 
        $query 
            ->join( 
                "article_groups as ag", 
                "ag.id", 
                "=", 
                "fr.article_group_id" 
            ) 
            ->join( 
                "value_streams as vs", 
                "vs.id", 
                "=", 
                "ag.value_stream_id" 
            ) 
            ->join( 
                "value_stream_details as vsd", 
                "vsd.value_stream_id", 
                "=", 
                "vs.id" 
            ) 
            ->join( 
                "business_groups as bg", 
                "bg.id", 
                "=", 
                "vsd.business_group_id" 
            ) 
            ->where( 
                "bg.supply_center_id", 
                "=", 
                $supply_center_id 
            ) 
            ->where( 
                "fr.customer_mapped", 
                "!=", 
                "Amazon.com" 
            ) 
            ->selectRaw( 
                "sum(qty_requested) as qty_requested, \xa            sum(qty_delivered_ontime) as qty_delivered_ontime" 
            ); 
        $dtRecords = $query->get(); 
        $idListKey = []; 
        foreach ($dtRecords as $keyValue) { 
            $code = $keyValue->code; 
            $id = $keyValue->id; 
            $actual = number_format( 
                ($keyValue->qty_delivered_ontime / $keyValue->qty_requested) * 
                    100, 
                1, 
                ".", 
                "" 
            ); 
            $data[$code]["code"] = $code; 
            $data[$code]["bg"][$id]["id"] = $id; 
            $data[$code]["bg"][$id]["actual"] = $actual; 
            $data[$code]["bg"][$id]["deliver"] = 
                $keyValue->qty_delivered_ontime; 
            $data[$code]["bg"][$id]["request"] = 
                $keyValue->qty_requested; 
            $idListKey[$id] = $id; 
        } 
        $idList = []; 
        foreach ($idListKey as $key => $value) { 
            array_push($idList, $value); 
        } 
        $dataChart = []; 
        if ($bg == "all") { 
            $bgList = $this->getBGList($supply_center_id); 
            foreach ($bgList as $dtBG) { 
                $dataChart[$dtBG->id]["name"] = $dtBG->name; 
                $dataChart[$dtBG->id]["type"] = 
                    "column"; 
                $dataChart[$dtBG->id]["color"] = $dtBG->color; 
                $dataChart[$dtBG->id][ 
                    "showInLegend" 
                ] = true; 
                $dataChart[$dtBG->id][ 
                    "dataPoints" 
                ] = []; 
            } 
        } else { 
            $queryVS = DB::table( 
                "value_streams" 
            )->whereIn("id", $idList); 
            $vsList = $queryVS->get(); 
            foreach ($vsList as $dtBG) { 
                $dataChart[$dtBG->id]["name"] = $dtBG->name; 
                $dataChart[$dtBG->id]["type"] = 
                    "column"; 
                $dataChart[$dtBG->id]["color"] = $dtBG->color; 
                $dataChart[$dtBG->id][ 
                    "showInLegend" 
                ] = true; 
                $dataChart[$dtBG->id][ 
                    "dataPoints" 
                ] = []; 
            } 
        } 
        if ($bg == "all") { 
            $dtTarget = DB::table( 
                "supply_centers" 
            ) 
                ->orderBY("id", "ASC") 
                ->where("id", "=", "1") 
                ->get(); 
        } else { 
            $dtTarget = DB::table( 
                "business_groups" 
            ) 
                ->orderBY("id", "ASC") 
                ->where("id", "=", $bg) 
                ->get(); 
        } 
        $targetSupply = $dtTarget[0]->target; 
        if ($bg == "all") { 
            $dataChart[90]["name"] = "all"; 
            $dataChart[90]["type"] = "column"; 
            $dataChart[90]["color"] = 
                "#FFECCC"; 
            $dataChart[90][ 
                "showInLegend" 
            ] = true; 
            $dataChart[90]["dataPoints"] = []; 
        } elseif ($vs == "all") { 
            $dataChart[90]["name"] = "all"; 
            $dataChart[90]["type"] = "column"; 
            $dataChart[90]["color"] = 
                "#FFECCC"; 
            $dataChart[90][ 
                "showInLegend" 
            ] = true; 
            $dataChart[90]["dataPoints"] = []; 
        } 
        $dataChart[100]["type"] = "line"; 
        $dataChart[100]["color"] = "yellow"; 
        $dataChart[100]["markerType"] = 
            "none"; 
        $dataChart[100]["dataPoints"] = [ 
            [ 
                "x" => 0, 
                "y" => floatval($targetSupply), 
                "label" => " ", 
            ], 
        ]; 
        $x = 1; 
        foreach ($data as $dtInterval) { 
            $code = $dtInterval["code"]; 
            if ( 
                $timeFrame == 
                    "past_12_weeks" || 
                $timeFrame == "last_week" 
            ) { 
                $label = "W" . substr($code, 2, 2); 
            } elseif ( 
                $timeFrame == 
                "past_12_months" 
            ) { 
                $label = "M" . substr($code, 4, 2); 
            } elseif ( 
                $timeFrame == 
                "past_6_quarters" 
            ) { 
                $label = "Q" . substr($code, 4, 2); 
            } elseif ( 
                $timeFrame == "past_6_years" 
            ) { 
                $label = "Y" . substr($code, 2, 2); 
            } 
            array_push( 
                $dataChart[100]["dataPoints"], 
                [ 
                    "x" => $x, 
                    "y" => floatval($targetSupply), 
                    "label" => $label, 
                ] 
            ); 
            $totalRequest = 0; 
            $totalDeliver = 0; 
            $dataTable[$code] = [$code]; 
            if ($bg != "all") { 
                foreach ($idList as $idVs) { 
                    if (isset($dtInterval["bg"][$idVs])) { 
                        $totalRequest += 
                            $dtInterval["bg"][$idVs][ 
                                "request" 
                            ]; 
                        $totalDeliver += 
                            $dtInterval["bg"][$idVs][ 
                                "deliver" 
                            ]; 
                        array_push( 
                            $dataTable[$code], 
                            $dtInterval["bg"][$idVs][ 
                                "actual" 
                            ] 
                        ); 
                        array_push( 
                            $dataChart[ 
                                $dtInterval["bg"][$idVs]["id"] 
                            ]["data"], 
                            floatval( 
                                $dtInterval["bg"][$idVs][ 
                                    "actual" 
                                ] 
                            ) 
                        ); 
                        array_push($dataChart[100]["data"], [ 
                            "x" => $label, 
                            "y" => floatval( 
                                $dtInterval["bg"][$idVs][ 
                                    "target" 
                                ] 
                            ), 
                        ]); 
                    } else { 
                        $totalRequest += 0; 
                        $totalDeliver += 0; 
                        array_push($dataTable[$code], 0); 
                        array_push( 
                            $dataChart[$idVs]["data"], 
                            floatval(0) 
                        ); 
                        array_push($dataChart[100]["data"], [ 
                            "x" => $label, 
                            "y" => floatval(0), 
                        ]); 
                    } 
                } 
            } else { 
                foreach ($dtInterval["bg"] as $dtBG) { 
                    $totalRequest += $dtBG["request"]; 
                    $totalDeliver += $dtBG["deliver"]; 
                    array_push( 
                        $dataTable[$code], 
                        $dtBG["actual"] 
                    ); 
                    array_push( 
                        $dataChart[$dtBG["id"]]["data"], 
                        floatval($dtBG["actual"]) 
                    ); 
                    array_push($dataChart[100]["data"], [ 
                        "x" => $label, 
                        "y" => floatval($dtBG["target"]), 
                    ]); 
                } 
            } 
            $totalActual = number_format( 
                ($totalDeliver / $totalRequest) * 100, 
                1, 
                ".", 
                "" 
            ); 
            $data[$code]["all "][ 
                "actual" 
            ] = $totalActual; 
            $data[$code]["all "][ 
                "deliver" 
            ] = $totalDeliver; 
            $data[$code]["all "][ 
                "request" 
            ] = $totalRequest; 
            if ($bg == "all") { 
            } 
            if ($bg == "all") { 
                array_push( 
                    $dataChart[90]["dataPoints"], 
                    [ 
                        "x" => $x, 
                        "y" => floatval($totalActual), 
                        "label" => $label, 
                    ] 
                ); 
            } elseif ($vs == "all") { 
                array_push( 
                    $dataChart[90]["dataPoints"], 
                    [ 
                        "x" => $x, 
                        "y" => floatval($totalActual), 
                        "label" => $label, 
                    ] 
                ); 
            } 
            $x++; 
        } 
        array_push( 
            $dataChart[100]["dataPoints"], 
            [ 
                "x" => $x, 
                "y" => floatval($targetSupply), 
                "label" => " ", 
            ] 
        ); 
        $dataChartReturn = []; 
        foreach ($dataChart as $dtChart) { 
            array_push($dataChartReturn, $dtChart); 
        } 
        $dataReturn = ["chart" => $dataChartReturn]; 
        return $dataReturn; 
    } 
    public function getDataLayer3ChartJs($timeFrame, $bg, $vs, $supplyCenter) 
    { 
        $data = []; 
        $time_frame = new TimeFrame(); 
        $time_range = $time_frame->getTimeRange2($timeFrame); 
        $query = DB::table( 
            "fill_rates as fr" 
        ); 
        $supply_center_id = $supplyCenter; 
        if ( 
            $timeFrame == 
                "past_12_weeks" || 
            $timeFrame == "last_week" 
        ) { 
            $query 
                ->selectRaw("week AS  code") 
                ->whereRaw( 
                    "week >= ? and week <= ?", 
                    [ 
                        $time_range[ 
                            "start_query" 
                        ], 
                        $time_range["end_query"], 
                    ] 
                ) 
                ->groupBy("week") 
                ->orderBy("week", "asc"); 
        } elseif ( 
            $timeFrame == 
            "past_12_months" 
        ) { 
            $query 
                ->selectRaw( 
                    "CONCAT(year,  month_num) AS  code" 
                ) 
                ->whereRaw( 
                    "CONCAT(year,  month_num) >= ? and CONCAT(year,  month_num) <= ?", 
                    [ 
                        $time_range[ 
                            "start_query" 
                        ], 
                        $time_range["end_query"], 
                    ] 
                ) 
                ->groupBy( 
                    "year", 
                    "month_num" 
                ) 
                ->orderBy("year", "asc") 
                ->orderBy( 
                    "month_num", 
                    "asc" 
                ); 
        } elseif ( 
            $timeFrame == 
            "past_6_quarters" 
        ) { 
            $query 
                ->selectRaw( 
                    "CONCAT(year,  quarter) AS  code" 
                ) 
                ->whereRaw( 
                    "CONCAT(year,  quarter) >= ? and CONCAT(year,  quarter) <= ?", 
                    [ 
                        $time_range[ 
                            "start_query" 
                        ], 
                        $time_range["end_query"], 
                    ] 
                ) 
                ->groupBy("year", "quarter") 
                ->orderBy("year", "asc") 
                ->orderBy("quarter", "asc"); 
        } elseif ( 
            $timeFrame == "past_6_years" 
        ) { 
            $query 
                ->selectRaw( 
                    "year AS  code" 
                ) 
                ->whereRaw( 
                    "year >= ? and year <= ?", 
                    [ 
                        $time_range[ 
                            "start_query" 
                        ], 
                        $time_range["end_query"], 
                    ] 
                ) 
                ->groupBy("year") 
                ->orderBy("year", "asc"); 
        } 
        if ($bg != "all") { 
            $query 
                ->where("bg.id", "=", $bg) 
                ->selectRaw( 
                    "vs.id, bg.target" 
                ) 
                ->groupBy("vs.id") 
                ->groupBy("bg.target") 
                ->orderBy("vs.id", "asc"); 
        } else { 
            $query 
                ->selectRaw( 
                    "bg.id, bg.target" 
                ) 
                ->groupBy("bg.id") 
                ->groupBy("bg.target") 
                ->orderBy("bg.id", "asc"); 
        } 
        if ($vs != "all") { 
            $query->where("vs.id", "=", $vs); 
        } 
        $query 
            ->join( 
                "article_groups as ag", 
                "ag.id", 
                "=", 
                "fr.article_group_id" 
            ) 
            ->join( 
                "value_streams as vs", 
                "vs.id", 
                "=", 
                "ag.value_stream_id" 
            ) 
            ->join( 
                "value_stream_details as vsd", 
                "vsd.value_stream_id", 
                "=", 
                "vs.id" 
            ) 
            ->join( 
                "business_groups as bg", 
                "bg.id", 
                "=", 
                "vsd.business_group_id" 
            ) 
            ->where( 
                "bg.supply_center_id", 
                "=", 
                $supply_center_id 
            ) 
            ->where( 
                "fr.customer_mapped", 
                "!=", 
                "Amazon.com" 
            ) 
            ->selectRaw( 
                "sum(qty_requested) as qty_requested, \xa            sum(qty_delivered_ontime) as qty_delivered_ontime" 
            ); 
        $dtRecords = $query->get(); 
        $idListKey = []; 
        foreach ($dtRecords as $keyValue) { 
            $code = $keyValue->code; 
            $id = $keyValue->id; 
            $actual = number_format( 
                ($keyValue->qty_delivered_ontime / $keyValue->qty_requested) * 
                    100, 
                1, 
                ".", 
                "" 
            ); 
            $data[$code]["code"] = $code; 
            $data[$code]["bg"][$id]["id"] = $id; 
            $data[$code]["bg"][$id]["actual"] = $actual; 
            $data[$code]["bg"][$id]["deliver"] = 
                $keyValue->qty_delivered_ontime; 
            $data[$code]["bg"][$id]["request"] = 
                $keyValue->qty_requested; 
            $data[$code]["bg"][$id]["target"] = 
                $keyValue->target; 
            $idListKey[$id] = $id; 
        } 
        $idList = []; 
        foreach ($idListKey as $key => $value) { 
            array_push($idList, $value); 
        } 
        $dataChart = []; 
        if ($bg == "all") { 
            $bgList = $this->getBGList($supply_center_id); 
            foreach ($bgList as $dtBG) { 
                $dataChart[$dtBG->id]["order"] = 1; 
                $dataChart[$dtBG->id]["label"] = $dtBG->name; 
                $dataChart[$dtBG->id]["type"] = "bar"; 
                $dataChart[$dtBG->id][ 
                    "backgroundColor" 
                ] = $dtBG->color; 
                $dataChart[$dtBG->id][ 
                    "borderWidth" 
                ] = 1; 
                $dataChart[$dtBG->id]["data"] = []; 
            } 
        } else { 
            $queryVS = DB::table( 
                "value_streams" 
            )->whereIn("id", $idList); 
            $vsList = $queryVS->get(); 
            foreach ($vsList as $dtBG) { 
                $dataChart[$dtBG->id]["order"] = 1; 
                $dataChart[$dtBG->id]["label"] = $dtBG->name; 
                $dataChart[$dtBG->id]["type"] = "bar"; 
                $dataChart[$dtBG->id][ 
                    "backgroundColor" 
                ] = $dtBG->color; 
                $dataChart[$dtBG->id][ 
                    "borderWidth" 
                ] = 1; 
                $dataChart[$dtBG->id]["data"] = []; 
            } 
        } 
        if ($bg == "all") { 
            $dtTarget = DB::table( 
                "supply_centers" 
            ) 
                ->orderBY("id", "ASC") 
                ->where("id", "=", "1") 
                ->get(); 
        } else { 
            $dtTarget = DB::table( 
                "business_groups" 
            ) 
                ->orderBY("id", "ASC") 
                ->where("id", "=", $bg) 
                ->get(); 
        } 
        $targetSupplyAll = $dtTarget[0]->target; 
        if ($bg == "all") { 
            $dataChart[90]["order"] = 1; 
            $dataChart[90]["label"] = "All"; 
            $dataChart[90]["type"] = "bar"; 
            $dataChart[90][ 
                "backgroundColor" 
            ] = "#FFECCC"; 
            $dataChart[90]["borderWidth"] = 1; 
            $dataChart[90]["data"] = []; 
        } elseif ($vs == "all") { 
            $dataChart[90]["order"] = 1; 
            $dataChart[90]["label"] = "All"; 
            $dataChart[90]["type"] = "bar"; 
            $dataChart[90][ 
                "backgroundColor" 
            ] = "#FFECCC"; 
            $dataChart[90]["borderWidth"] = 1; 
            $dataChart[90]["data"] = []; 
        } 
        $dataChart[100]["order"] = 0; 
        $dataChart[100]["label"] = "Target"; 
        $dataChart[100]["type"] = "scatter"; 
        $dataChart[100]["pointRadius"] = 4; 
        $dataChart[100][ 
            "backgroundColor" 
        ] = "yellow"; 
        $dataChart[100]["borderWidth"] = 1; 
        $dataChart[100]["data"] = []; 
        $x = 1; 
        $labels = []; 
        foreach ($data as $dtInterval) { 
            $code = $dtInterval["code"]; 
            if ( 
                $timeFrame == 
                    "past_12_weeks" || 
                $timeFrame == "last_week" 
            ) { 
                $label = "W" . substr($code, 2, 2); 
            } elseif ( 
                $timeFrame == 
                "past_12_months" 
            ) { 
                $label = "M" . substr($code, 4, 2); 
            } elseif ( 
                $timeFrame == 
                "past_6_quarters" 
            ) { 
                $label = "Q" . substr($code, 4, 2); 
            } elseif ( 
                $timeFrame == "past_6_years" 
            ) { 
                $label = "Y" . substr($code, 2, 2); 
            } 
            array_push($labels, $label); 
            $totalRequest = 0; 
            $totalDeliver = 0; 
            $dataTable[$code] = [$code]; 
            if ($bg != "all") { 
                foreach ($idList as $idVs) { 
                    if (isset($dtInterval["bg"][$idVs])) { 
                        $totalRequest += 
                            $dtInterval["bg"][$idVs][ 
                                "request" 
                            ]; 
                        $totalDeliver += 
                            $dtInterval["bg"][$idVs][ 
                                "deliver" 
                            ]; 
                        array_push( 
                            $dataTable[$code], 
                            $dtInterval["bg"][$idVs][ 
                                "actual" 
                            ] 
                        ); 
                        array_push( 
                            $dataChart[ 
                                $dtInterval["bg"][$idVs]["id"] 
                            ]["data"], 
                            floatval( 
                                $dtInterval["bg"][$idVs][ 
                                    "actual" 
                                ] 
                            ) 
                        ); 
                        array_push($dataChart[100]["data"], [ 
                            "x" => $label, 
                            "y" => floatval( 
                                $dtInterval["bg"][$idVs][ 
                                    "target" 
                                ] 
                            ), 
                        ]); 
                    } else { 
                        $totalRequest += 0; 
                        $totalDeliver += 0; 
                        array_push($dataTable[$code], 0); 
                        array_push( 
                            $dataChart[$idVs]["data"], 
                            floatval(0) 
                        ); 
                        array_push($dataChart[100]["data"], [ 
                            "x" => $label, 
                            "y" => floatval($targetSupplyAll), 
                        ]); 
                    } 
                } 
            } else { 
                foreach ($dtInterval["bg"] as $dtBG) { 
                    $totalRequest += $dtBG["request"]; 
                    $totalDeliver += $dtBG["deliver"]; 
                    array_push( 
                        $dataTable[$code], 
                        $dtBG["actual"] 
                    ); 
                    array_push( 
                        $dataChart[$dtBG["id"]]["data"], 
                        floatval($dtBG["actual"]) 
                    ); 
                    array_push($dataChart[100]["data"], [ 
                        "x" => $label, 
                        "y" => floatval($dtBG["target"]), 
                    ]); 
                } 
            } 
            $totalActual = number_format( 
                ($totalDeliver / $totalRequest) * 100, 
                1, 
                ".", 
                "" 
            ); 
            $data[$code]["all "][ 
                "actual" 
            ] = $totalActual; 
            $data[$code]["all "][ 
                "deliver" 
            ] = $totalDeliver; 
            $data[$code]["all "][ 
                "request" 
            ] = $totalRequest; 
            if ($bg == "all") { 
                array_push( 
                    $dataChart[90]["data"], 
                    floatval($totalActual) 
                ); 
                array_push($dataChart[100]["data"], [ 
                    "x" => $label, 
                    "y" => floatval($targetSupplyAll), 
                ]); 
            } elseif ($vs == "all") { 
                array_push( 
                    $dataChart[90]["data"], 
                    floatval($totalActual) 
                ); 
                array_push($dataChart[100]["data"], [ 
                    "x" => $label, 
                    "y" => floatval($targetSupplyAll), 
                ]); 
            } 
            $x++; 
        } 
        $dataChartReturn = []; 
        $dataChartReturn["labels"] = $labels; 
        $dataChartReturn["datasets"] = []; 
        foreach ($dataChart as $dtChart) { 
            array_push( 
                $dataChartReturn["datasets"], 
                $dtChart 
            ); 
        } 
        $dataReturn = ["chart" => $dataChartReturn]; 
        return $dataReturn; 
    } 
    public function getSummaryData() 
    { 
        $data = []; 
        for ($i = 12; $i > 0; $i--) { 
            $week = date( 
                "yW", 
                strtotime("-{$i} Weeks") 
            ); 
            $data_item = [$week, 85, 86, 88, 87]; 
            array_push($data, $data_item); 
        } 
        return $data; 
    } 
    public function getSelection() 
    { 
        $data = 
            "<div class="fl-left">
        <div class="item-selection fl-left pd-l1">
          <label for="timeframe" class="category">BG :</label>
          <select name="" id="selection">
            <option value="1">Last Week</option>\xa            <option value="1">Last Month</option>
            <option value="1">Last year</option>\xa          </select>\xa        </div>\xa        <div class="item-selection fl-left pd-l1">
          <label for="timeframe" class="category">Product Category :</label>
          <select name="" id="selection">\xa            <option value="1">Last Week</option>\xa            <option value="1">Last Month</option>
            <option value="1">Last year</option>
          </select>
        </div>
      </div>"; 
        return $data; 
    } 
} 
 ?>

Did this file decode correctly?

Original Code

<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Facades\DB;
use App\Models\ValueStream;
use App\Models\timeFrame;
class BusinessGroup extends Model
{
    protected $table = "\x62\x75\163\151\156\145\x73\163\137\x67\x72\157\165\160\163";
    public function getDataLayer1($timeFrame, $supplyCenter)
    {
        $data = [];
        $time_frame = new TimeFrame();
        $selectQueryTimeFrame = $time_frame->getQueryLayer1($timeFrame);
        $supply_center_id = $supplyCenter;
        $records = DB::table(
            "\x73\165\160\x70\x6c\x79\x5f\143\x65\x6e\x74\x65\x72\163\40\x61\x73\40\x73\x63"
        )
            ->select(
                DB::raw(
                    "\163\165\x6d\x28\x71\164\x79\137\162\145\x71\x75\x65\163\x74\x65\144\51\x20\141\x73\x20\x71\164\x79\137\x72\145\x71\165\x65\163\164\145\x64\x2c\40\12\40\x20\40\x20\40\40\x20\x20\40\40\163\x75\x6d\x28\x71\x74\x79\137\144\x65\154\151\166\145\x72\x65\x64\137\x6f\x6e\x74\151\155\145\x29\40\141\x73\x20\x71\164\171\137\144\x65\154\151\x76\x65\x72\145\144\137\157\156\164\x69\155\x65\54\40\12\40\40\40\x20\40\40\x20\x20\x20\x20\x73\x63\x2e\151\x64\54\x20\x73\x63\x2e\156\x61\x6d\x65\x2c\40\163\x63\x2e\164\x61\x72\147\x65\164"
                )
            )
            ->join(
                "\x66\151\154\x6c\x5f\x72\141\164\145\x73\x20\141\163\x20\x66\162",
                "\x73\x63\x2e\x69\x64",
                "\75",
                "\146\162\x2e\163\165\x70\x70\154\x79\x5f\x63\145\156\164\145\162\x5f\151\144"
            )
            ->where("\163\x63\x2e\x69\x64", $supply_center_id)
            ->where($selectQueryTimeFrame)
            ->where(
                "\146\x72\x2e\x63\x75\x73\x74\x6f\155\145\162\x5f\x6d\141\x70\160\x65\144",
                "\x21\75",
                "\101\x6d\141\x7a\x6f\x6e\56\143\x6f\155"
            )
            ->groupBy(
                "\x73\x63\56\151\144",
                "\x73\143\56\x6e\141\155\145",
                "\163\143\x2e\164\141\x72\147\x65\164"
            )
            ->get();
        foreach ($records as $key) {
            $actual = number_format(
                ($key->qty_delivered_ontime / $key->qty_requested) * 100,
                1,
                "\x2e",
                ""
            );
            $class = "\147\162\145\x65\x6e";
            if ($actual < $key->target) {
                $class = "\x72\145\x64";
            }
            $dataItem = [
                "\x69\x64" => $key->id,
                "\156\x61\155\x65" => $key->name,
                "\x74\x61\x72\147\x65\x74" => $key->target,
                "\x61\x63\164\x75\141\x6c" => $actual,
                "\x63\x6c\x61\163\163" => $class,
            ];
            array_push($data, $dataItem);
        }
        return $data;
    }
    public function getDataLayer2($timeFrame, $supplyCenter)
    {
        $data = [];
        $time_frame = new TimeFrame();
        $time_range = $time_frame->getTimeRange2($timeFrame);
        $supply_center_id = $supplyCenter;
        $query = DB::table(
            "\x66\151\x6c\154\137\162\141\x74\145\163\40\141\163\x20\146\162"
        );
        if (
            $timeFrame == "\x70\141\x73\164\x5f\61\x32\137\167\145\145\153\163"
        ) {
            $query
                ->selectRaw(
                    "\x77\x65\x65\153\x20\101\123\x20\40\x63\157\144\145"
                )
                ->whereRaw(
                    "\x77\x65\145\153\40\x3e\75\40\77\x20\141\x6e\144\40\167\145\x65\x6b\40\74\75\x20\77",
                    [
                        $time_range[
                            "\163\x74\141\162\x74\x5f\x71\x75\x65\162\x79"
                        ],
                        $time_range["\x65\156\x64\137\161\x75\x65\162\171"],
                    ]
                )
                ->groupBy("\x77\145\145\x6b")
                ->orderBy("\143\157\144\145", "\141\163\143");
        } elseif (
            $timeFrame ==
            "\160\x61\163\164\x5f\61\x32\137\x6d\x6f\x6e\164\150\x73"
        ) {
            $query
                ->selectRaw(
                    "\x43\117\116\x43\101\x54\50\171\x65\x61\162\x2c\x20\40\155\157\x6e\164\150\x5f\156\x75\155\51\40\101\x53\x20\40\x63\157\x64\145"
                )
                ->whereRaw(
                    "\103\x4f\116\x43\x41\x54\50\171\145\141\x72\54\x20\x20\155\157\x6e\164\x68\137\x6e\x75\x6d\x29\40\76\x3d\x20\77\40\x61\x6e\144\x20\x43\x4f\116\x43\x41\x54\50\x79\x65\141\162\54\40\x20\155\157\x6e\164\150\137\156\x75\x6d\x29\x20\x3c\75\x20\x3f",
                    [
                        $time_range[
                            "\x73\x74\x61\x72\164\x5f\161\165\145\162\x79"
                        ],
                        $time_range["\x65\x6e\144\x5f\161\x75\x65\162\171"],
                    ]
                )
                ->groupBy(
                    "\x79\145\x61\x72",
                    "\x6d\157\156\164\x68\x5f\x6e\x75\155"
                )
                ->orderBy("\171\x65\141\162", "\141\x73\x63")
                ->orderBy(
                    "\155\157\156\164\x68\137\156\x75\155",
                    "\141\x73\x63"
                );
        } elseif (
            $timeFrame ==
            "\160\141\x73\164\137\66\x5f\x71\x75\x61\162\164\145\162\x73"
        ) {
            $query
                ->selectRaw(
                    "\103\x4f\x4e\x43\x41\x54\50\x79\145\x61\x72\54\40\x20\x71\165\x61\x72\x74\x65\x72\x29\40\x41\x53\40\x20\x63\157\144\x65"
                )
                ->whereRaw(
                    "\103\117\116\103\101\x54\x28\171\145\x61\x72\x2c\x20\40\161\x75\x61\162\164\145\162\x29\x20\x3e\75\40\x3f\x20\141\156\x64\40\103\x4f\116\x43\101\x54\x28\171\145\141\x72\54\40\40\x71\165\141\x72\x74\145\x72\x29\x20\74\75\x20\77",
                    [
                        $time_range[
                            "\x73\x74\141\x72\x74\137\161\165\x65\162\x79"
                        ],
                        $time_range["\145\x6e\144\137\161\165\145\x72\x79"],
                    ]
                )
                ->groupBy("\171\x65\x61\x72", "\161\165\x61\x72\x74\145\162")
                ->orderBy("\x79\145\141\162", "\141\163\x63")
                ->orderBy("\161\165\x61\x72\164\x65\162", "\x61\163\143");
        } elseif (
            $timeFrame == "\x70\141\x73\164\137\66\x5f\171\x65\141\162\163"
        ) {
            $query
                ->selectRaw(
                    "\x79\x65\141\162\x20\x41\123\40\x20\x63\157\144\145"
                )
                ->whereRaw(
                    "\x79\145\x61\x72\40\76\75\x20\x3f\40\x61\x6e\x64\40\x79\x65\x61\x72\x20\x3c\x3d\x20\77",
                    [
                        $time_range[
                            "\163\164\x61\x72\x74\137\x71\165\145\x72\171"
                        ],
                        $time_range["\x65\x6e\144\137\161\x75\145\162\x79"],
                    ]
                )
                ->groupBy("\x79\145\x61\x72")
                ->orderBy("\171\145\141\162", "\x61\163\x63");
        }
        $query
            ->join(
                "\x61\162\x74\151\x63\154\145\137\x67\x72\x6f\165\x70\163\40\141\x73\40\x61\147",
                "\x61\147\56\151\x64",
                "\x3d",
                "\x66\162\56\x61\x72\164\151\143\x6c\145\x5f\x67\162\x6f\165\160\x5f\151\144"
            )
            ->join(
                "\x76\x61\154\165\x65\137\x73\x74\x72\x65\141\155\163\40\141\163\40\x76\163",
                "\x76\x73\56\x69\144",
                "\x3d",
                "\x61\147\x2e\166\141\x6c\165\145\x5f\x73\164\162\x65\141\x6d\137\151\144"
            )
            ->join(
                "\x76\141\154\x75\145\137\x73\164\x72\145\x61\155\137\144\145\164\x61\151\x6c\x73\x20\x61\163\x20\166\163\144",
                "\x76\163\x64\x2e\x76\x61\154\165\145\137\x73\164\162\145\141\x6d\137\151\x64",
                "\75",
                "\x76\163\56\x69\x64"
            )
            ->join(
                "\x62\x75\x73\x69\156\x65\163\163\x5f\x67\x72\157\x75\x70\163\40\141\x73\x20\x62\147",
                "\x62\147\56\151\x64",
                "\x3d",
                "\166\163\x64\x2e\x62\165\x73\151\156\x65\163\x73\137\x67\x72\157\165\x70\x5f\x69\x64"
            )
            ->where(
                "\x62\x67\x2e\x73\x75\160\x70\154\x79\x5f\143\145\156\164\145\162\x5f\151\x64",
                "\75",
                $supply_center_id
            )
            ->where(
                "\146\162\56\143\x75\163\164\x6f\155\x65\x72\x5f\155\141\x70\160\145\144",
                "\x21\x3d",
                "\x41\155\141\x7a\157\156\56\x63\157\155"
            )
            ->selectRaw(
                "\163\x75\155\x28\x71\x74\x79\x5f\162\145\x71\165\145\163\x74\x65\x64\x29\40\x61\x73\x20\161\164\x79\x5f\162\x65\161\165\x65\163\x74\145\144\x2c\40\xa\40\x20\40\40\x20\x20\40\x20\40\40\x20\x20\163\x75\155\x28\x71\164\171\137\144\145\154\x69\166\x65\x72\x65\x64\x5f\157\156\164\x69\155\145\x29\40\141\x73\x20\161\x74\171\x5f\x64\x65\154\151\166\x65\162\145\x64\137\157\x6e\x74\x69\x6d\145\54\x20\12\x20\x20\x20\x20\40\40\40\40\40\40\x20\x20\x62\x67\56\151\144\54\40\142\x67\x2e\x74\141\162\147\145\x74"
            )
            ->groupBy("\142\x67\56\151\144")
            ->groupBy("\142\147\56\x74\x61\162\x67\145\x74")
            ->orderBy("\x62\147\x2e\151\x64", "\x61\163\143");
        $chartSetting = [];
        $dtRecords = $query->get();
        foreach ($dtRecords as $keyValue) {
            $code = $keyValue->code;
            $regionId = $keyValue->id;
            $actual = number_format(
                ($keyValue->qty_delivered_ontime / $keyValue->qty_requested) *
                    100,
                1,
                "\x2e",
                ""
            );
            $data[$code]["\143\x6f\x64\145"] = $code;
            $data[$code]["\142\x67"][$regionId]["\151\144"] = $keyValue->id;
            $data[$code]["\142\147"][$regionId][
                "\x61\143\164\165\x61\154"
            ] = $actual;
            $data[$code]["\x62\147"][$regionId][
                "\144\x65\x6c\x69\166\145\x72"
            ] = $keyValue->qty_delivered_ontime;
            $data[$code]["\x62\x67"][$regionId][
                "\x72\145\x71\x75\145\x73\x74"
            ] = $keyValue->qty_requested;
            $data[$code]["\142\147"][$regionId]["\x74\141\x72\147\x65\x74"] =
                $keyValue->target;
        }
        $dataTable = [];
        $dataChart = [];
        $bgList = $this->getBGList($supply_center_id);
        foreach ($bgList as $dtBG) {
            $dataChart[$dtBG->id]["\x6e\141\x6d\145"] = $dtBG->name;
            $dataChart[$dtBG->id]["\x74\x79\x70\145"] =
                "\x63\157\154\165\155\x6e";
            $dataChart[$dtBG->id]["\x63\157\x6c\157\x72"] = $dtBG->color;
            $dataChart[$dtBG->id][
                "\x73\150\x6f\x77\111\x6e\x4c\x65\x67\x65\156\x64"
            ] = true;
            $dataChart[$dtBG->id][
                "\144\141\x74\x61\x50\157\151\156\x74\x73"
            ] = [];
            $targetID = 20 + $dtBG->id;
            $dataChart[$targetID]["\x74\x79\x70\145"] =
                "\163\x63\x61\164\x74\145\162";
            $dataChart[$targetID]["\x63\157\x6c\x6f\162"] =
                "\171\145\154\154\x6f\x77";
            $dataChart[$targetID]["\x6d\141\162\153\145\162\x54\171\160\x65"] =
                "\x63\x69\x72\x63\154\x65";
            $dataChart[$targetID][
                "\x6d\x61\x72\153\145\162\x43\x6f\154\157\x72"
            ] = "\x79\x65\154\x6c\x6f\x77";
            $dataChart[$targetID][
                "\x64\x61\x74\x61\120\x6f\151\156\x74\x73"
            ] = [];
        }
        $dtSupply = DB::table(
            "\x73\165\160\160\154\171\x5f\143\145\156\x74\145\162\x73"
        )
            ->orderBY("\151\144", "\x41\123\103")
            ->where("\151\144", "\75", "\x31")
            ->get();
        $targetSupply = $dtSupply[0]->target;
        $dataChart[90]["\x6e\141\x6d\x65"] = "\x61\x6c\x6c";
        $dataChart[90]["\x74\x79\x70\145"] = "\x63\157\x6c\165\x6d\156";
        $dataChart[90]["\143\x6f\154\x6f\162"] = "\43\106\x46\105\x43\x43\103";
        $dataChart[90][
            "\x73\150\x6f\167\111\x6e\114\145\x67\145\x6e\144"
        ] = true;
        $dataChart[90]["\x64\x61\164\141\x50\157\x69\x6e\x74\163"] = [];
        $dataChart[100]["\x74\x79\x70\145"] = "\163\x63\141\164\164\145\162";
        $dataChart[100]["\143\x6f\154\x6f\x72"] = "\x79\145\154\154\157\x77";
        $dataChart[100]["\155\x61\162\x6b\x65\x72\124\x79\160\145"] =
            "\x63\x69\x72\143\154\145";
        $dataChart[100]["\x6d\x61\162\x6b\145\x72\103\157\x6c\157\x72"] =
            "\x79\145\x6c\x6c\x6f\x77";
        $dataChart[100]["\144\x61\164\141\x50\x6f\151\156\164\163"] = [];
        $numberChart = $bgList->count() + 2;
        $chartSetting["\151\156\x74\145\162\166\x61\154"] = $numberChart;
        $xPosition = $numberChart;
        $allPosition = (1.05 * $numberChart) / 2 - 1;
        $x = 0;
        foreach ($data as $dtInterval) {
            $code = $dtInterval["\x63\157\x64\145"];
            if (
                $timeFrame ==
                "\x70\x61\163\164\137\61\62\137\167\x65\145\153\x73"
            ) {
                $label = "\x57" . substr($code, 2, 2);
            } elseif (
                $timeFrame ==
                "\160\x61\x73\x74\x5f\x31\x32\137\x6d\157\x6e\x74\x68\x73"
            ) {
                $label = "\115" . substr($code, 4, 2);
            } elseif (
                $timeFrame ==
                "\x70\x61\163\164\x5f\66\137\161\x75\x61\162\x74\x65\x72\x73"
            ) {
                $label = "\121" . substr($code, 4, 2);
            } elseif (
                $timeFrame == "\160\x61\x73\164\x5f\66\137\x79\145\x61\x72\x73"
            ) {
                $label = "\131" . substr($code, 2, 2);
            }
            $xItem = $x * $numberChart + $xPosition;
            $xAll = $xItem + $allPosition;
            array_push(
                $dataChart[100]["\x64\x61\x74\141\120\x6f\151\x6e\164\x73"],
                [
                    "\170" => $xAll,
                    "\171" => floatval($targetSupply),
                    "\x6c\141\142\x65\154" => $label,
                ]
            );
            $totalRequest = 0;
            $totalDeliver = 0;
            $dataTable[$code] = [$code];
            $pointStart = $xAll - $numberChart + 2;
            foreach ($dtInterval["\142\147"] as $dtBG) {
                $totalRequest += $dtBG["\x72\145\x71\165\145\163\x74"];
                $totalDeliver += $dtBG["\144\145\x6c\x69\166\145\x72"];
                array_push(
                    $dataTable[$code],
                    $dtBG["\141\x63\164\165\141\154"]
                );
                array_push(
                    $dataChart[$dtBG["\x69\144"]][
                        "\x64\141\164\x61\120\x6f\151\x6e\x74\x73"
                    ],
                    [
                        "\170" => $xItem,
                        "\171" => floatval($dtBG["\x61\143\164\x75\x61\x6c"]),
                        "\154\141\x62\145\x6c" => $label,
                    ]
                );
                $targetID = 20 + $dtBG["\151\x64"];
                array_push(
                    $dataChart[$targetID][
                        "\144\x61\x74\x61\x50\x6f\x69\x6e\164\x73"
                    ],
                    [
                        "\x78" => $pointStart,
                        "\171" => floatval($dtBG["\164\x61\162\147\x65\164"]),
                    ]
                );
                $pointStart += 1;
            }
            $totalActual = number_format(
                ($totalDeliver / $totalRequest) * 100,
                1,
                "\56",
                ""
            );
            array_push(
                $dataChart[90]["\x64\x61\x74\x61\x50\157\x69\x6e\164\x73"],
                [
                    "\x78" => $xItem,
                    "\x79" => floatval($totalActual),
                    "\154\x61\142\145\154" => $label,
                ]
            );
            $data[$code]["\x61\154\x6c\x20"][
                "\x61\143\164\x75\x61\x6c"
            ] = $totalActual;
            $data[$code]["\141\x6c\x6c\x20"][
                "\x64\x65\154\x69\x76\145\162"
            ] = $totalDeliver;
            $data[$code]["\x61\x6c\154\40"][
                "\x72\x65\161\165\145\163\164"
            ] = $totalRequest;
            array_push($dataTable[$code], $totalActual);
            $x++;
        }
        $numberDataPointChart = count(
            $dataChart[100]["\x64\141\x74\x61\120\x6f\151\156\164\163"]
        );
        $dataChartReturn = [];
        foreach ($dataChart as $dtChart) {
            array_push($dataChartReturn, $dtChart);
        }
        $dataReturn = [
            "\164\x61\x62\x6c\x65" => array_reverse($dataTable),
            "\143\150\x61\162\164" => $dataChartReturn,
            "\143\150\x61\162\164\x53\145\x74\x74\x69\156\x67" => $chartSetting,
        ];
        return $dataReturn;
    }
    public function getDataLayer2Chartjs($timeFrame, $supplyCenter)
    {
        $data = [];
        $time_frame = new TimeFrame();
        $time_range = $time_frame->getTimeRange2($timeFrame);
        $supply_center_id = $supplyCenter;
        $query = DB::table(
            "\x66\151\154\x6c\137\x72\x61\x74\145\x73\x20\x61\163\x20\x66\162"
        );
        if (
            $timeFrame == "\160\141\x73\164\137\61\x32\137\x77\145\x65\x6b\163"
        ) {
            $query
                ->selectRaw(
                    "\167\x65\145\153\40\x41\123\x20\40\x63\157\x64\145"
                )
                ->whereRaw(
                    "\167\145\x65\153\40\76\75\x20\77\x20\141\x6e\144\40\167\x65\145\x6b\x20\x3c\x3d\40\x3f",
                    [
                        $time_range[
                            "\x73\x74\x61\x72\164\x5f\x71\x75\145\162\x79"
                        ],
                        $time_range["\145\156\144\x5f\x71\165\x65\x72\171"],
                    ]
                )
                ->groupBy("\x77\x65\x65\x6b")
                ->orderBy("\143\x6f\144\x65", "\141\163\143");
        } elseif (
            $timeFrame ==
            "\x70\141\163\x74\x5f\x31\62\137\155\x6f\156\164\150\163"
        ) {
            $query
                ->selectRaw(
                    "\x43\x4f\116\x43\101\124\x28\x79\x65\x61\162\54\40\40\x6d\x6f\156\x74\x68\137\x6e\x75\x6d\x29\x20\x41\x53\40\40\x63\157\144\145"
                )
                ->whereRaw(
                    "\103\117\x4e\103\x41\124\50\x79\145\141\x72\x2c\40\x20\x6d\157\156\x74\150\x5f\156\165\x6d\51\40\x3e\x3d\x20\77\40\x61\x6e\x64\x20\103\117\x4e\103\101\x54\50\x79\145\141\x72\54\40\40\x6d\x6f\156\x74\x68\137\x6e\165\155\x29\x20\x3c\x3d\40\77",
                    [
                        $time_range[
                            "\163\x74\x61\162\x74\x5f\x71\x75\x65\x72\171"
                        ],
                        $time_range["\x65\156\x64\137\161\x75\145\162\x79"],
                    ]
                )
                ->groupBy(
                    "\x79\145\141\162",
                    "\155\x6f\156\x74\150\x5f\x6e\x75\155"
                )
                ->orderBy("\x79\x65\x61\x72", "\141\x73\143")
                ->orderBy(
                    "\155\157\156\x74\150\137\156\165\155",
                    "\x61\x73\143"
                );
        } elseif (
            $timeFrame ==
            "\160\141\163\164\137\66\x5f\x71\x75\x61\x72\x74\145\162\163"
        ) {
            $query
                ->selectRaw(
                    "\x43\x4f\x4e\103\101\x54\50\x79\x65\141\x72\x2c\40\x20\x71\x75\x61\x72\164\x65\162\51\x20\x41\123\40\x20\x63\x6f\x64\x65"
                )
                ->whereRaw(
                    "\103\117\x4e\x43\x41\x54\50\x79\145\141\x72\54\x20\40\161\165\141\x72\164\145\x72\x29\40\x3e\75\x20\77\40\x61\x6e\x64\x20\103\117\116\x43\101\x54\50\171\x65\x61\x72\x2c\40\x20\x71\165\x61\x72\164\x65\162\x29\x20\74\x3d\40\x3f",
                    [
                        $time_range[
                            "\x73\x74\141\162\x74\137\161\165\x65\162\171"
                        ],
                        $time_range["\x65\x6e\144\137\x71\x75\x65\x72\171"],
                    ]
                )
                ->groupBy("\171\x65\x61\x72", "\x71\165\141\162\x74\x65\162")
                ->orderBy("\x79\x65\141\x72", "\x61\x73\143")
                ->orderBy("\161\x75\141\x72\164\x65\x72", "\x61\x73\143");
        } elseif (
            $timeFrame == "\160\x61\x73\164\x5f\x36\x5f\x79\145\x61\x72\x73"
        ) {
            $query
                ->selectRaw(
                    "\x79\145\141\162\40\x41\x53\x20\40\143\x6f\x64\x65"
                )
                ->whereRaw(
                    "\171\145\141\162\x20\76\x3d\40\x3f\40\x61\156\144\40\x79\145\x61\x72\40\74\75\40\77",
                    [
                        $time_range[
                            "\x73\164\x61\162\164\x5f\x71\165\145\162\x79"
                        ],
                        $time_range["\145\156\x64\x5f\x71\x75\145\x72\171"],
                    ]
                )
                ->groupBy("\171\x65\141\x72")
                ->orderBy("\171\x65\x61\162", "\141\163\x63");
        }
        $query
            ->join(
                "\x61\162\164\x69\143\154\145\137\x67\x72\x6f\165\x70\163\40\141\x73\40\x61\147",
                "\x61\x67\56\x69\x64",
                "\x3d",
                "\x66\x72\56\x61\x72\164\151\x63\154\x65\137\147\162\157\x75\x70\137\x69\144"
            )
            ->join(
                "\x76\x61\154\x75\x65\137\x73\164\162\145\x61\x6d\163\x20\x61\x73\x20\166\163",
                "\x76\x73\56\x69\144",
                "\x3d",
                "\141\147\x2e\166\141\154\165\145\x5f\x73\164\x72\145\141\x6d\137\151\x64"
            )
            ->join(
                "\x76\141\x6c\x75\145\137\x73\164\x72\145\x61\155\137\x64\145\164\141\151\x6c\163\x20\x61\x73\x20\x76\163\x64",
                "\166\163\144\56\166\x61\x6c\165\145\137\163\164\162\x65\141\x6d\137\151\144",
                "\x3d",
                "\x76\x73\56\x69\144"
            )
            ->join(
                "\142\165\163\151\156\x65\163\163\137\x67\162\x6f\165\x70\163\x20\x61\x73\x20\142\147",
                "\142\147\56\151\x64",
                "\x3d",
                "\x76\163\x64\56\142\165\163\x69\x6e\x65\x73\x73\137\x67\x72\157\x75\160\x5f\151\x64"
            )
            ->where(
                "\x62\147\56\x73\165\160\x70\154\171\137\143\145\x6e\x74\145\162\137\151\144",
                "\x3d",
                $supply_center_id
            )
            ->where(
                "\146\x72\x2e\143\x75\x73\164\157\155\x65\x72\137\x6d\x61\x70\160\145\x64",
                "\41\75",
                "\x41\x6d\x61\172\157\x6e\x2e\x63\157\x6d"
            )
            ->selectRaw(
                "\163\x75\155\x28\161\164\171\x5f\x72\145\161\x75\145\163\x74\x65\144\51\x20\x61\x73\40\x71\164\171\x5f\x72\x65\x71\x75\145\163\x74\x65\144\54\40\12\x20\x20\40\40\40\40\40\x20\x20\x20\x20\40\163\x75\155\x28\161\x74\x79\137\x64\145\154\x69\x76\x65\x72\145\x64\137\157\156\x74\151\x6d\x65\51\40\141\163\40\x71\x74\171\137\144\x65\x6c\x69\166\145\x72\145\x64\x5f\x6f\x6e\164\151\x6d\x65\54\x20\12\x20\x20\40\x20\40\x20\40\x20\x20\40\40\x20\x62\x67\56\x69\x64\x2c\40\142\x67\x2e\164\141\162\x67\145\164"
            )
            ->groupBy("\142\147\56\x69\x64")
            ->groupBy("\142\147\x2e\x74\141\x72\147\x65\x74")
            ->orderBy("\x62\x67\56\x69\x64", "\x61\x73\x63");
        $chartSetting = [];
        $dtRecords = $query->get();
        foreach ($dtRecords as $keyValue) {
            $code = $keyValue->code;
            $bgId = $keyValue->id;
            $actual = number_format(
                ($keyValue->qty_delivered_ontime / $keyValue->qty_requested) *
                    100,
                1,
                "\56",
                ""
            );
            $data[$code]["\143\x6f\144\x65"] = $code;
            $data[$code]["\x62\147"][$bgId]["\151\x64"] = $keyValue->id;
            $data[$code]["\142\x67"][$bgId][
                "\x61\143\x74\165\x61\x6c"
            ] = $actual;
            $data[$code]["\142\147"][$bgId]["\x64\145\x6c\151\166\x65\162"] =
                $keyValue->qty_delivered_ontime;
            $data[$code]["\x62\x67"][$bgId]["\x72\145\161\165\x65\x73\x74"] =
                $keyValue->qty_requested;
            $data[$code]["\x62\x67"][$bgId]["\164\x61\162\x67\x65\164"] =
                $keyValue->target;
        }
        $dataTable = [];
        $dataChart = [];
        $bgList = $this->getBGList($supply_center_id);
        foreach ($bgList as $dtBG) {
            $dataChart[$dtBG->id]["\x6f\x72\x64\x65\162"] = 1;
            $dataChart[$dtBG->id]["\154\141\142\145\154"] = $dtBG->name;
            $dataChart[$dtBG->id]["\x74\171\x70\145"] = "\142\141\x72";
            $dataChart[$dtBG->id][
                "\x62\x61\143\153\147\162\x6f\165\x6e\x64\x43\x6f\154\157\x72"
            ] = $dtBG->color;
            $dataChart[$dtBG->id][
                "\x62\157\x72\x64\145\162\x57\x69\144\x74\x68"
            ] = 1;
            $dataChart[$dtBG->id]["\x64\x61\x74\141"] = [];
        }
        $dtSupply = DB::table(
            "\163\x75\160\x70\154\171\137\143\x65\x6e\164\145\162\163"
        )
            ->orderBY("\x69\x64", "\101\x53\x43")
            ->where("\151\144", "\75", "\61")
            ->get();
        $targetSupply = $dtSupply[0]->target;
        $dataChart[90]["\157\162\x64\145\162"] = 1;
        $dataChart[90]["\x6c\141\142\145\x6c"] = "\x41\154\154";
        $dataChart[90]["\164\171\x70\145"] = "\x62\x61\162";
        $dataChart[90][
            "\142\141\143\153\x67\x72\x6f\x75\x6e\144\103\157\154\157\162"
        ] = "\43\x46\106\105\103\x43\x43";
        $dataChart[90]["\x62\x6f\x72\144\145\162\127\x69\x64\x74\x68"] = 1;
        $dataChart[90]["\144\x61\164\141"] = [];
        $dataChart[100]["\157\x72\x64\145\x72"] = 0;
        $dataChart[100]["\154\141\x62\x65\x6c"] = "\124\x61\162\147\x65\164";
        $dataChart[100]["\164\x79\x70\x65"] = "\x73\143\141\x74\164\x65\x72";
        $dataChart[100]["\x70\157\x69\x6e\164\122\141\144\151\x75\x73"] = 4;
        $dataChart[100][
            "\x62\x61\143\153\147\x72\x6f\x75\156\x64\x43\157\x6c\x6f\162"
        ] = "\171\x65\x6c\x6c\x6f\167";
        $dataChart[100]["\x62\157\162\144\145\162\x57\x69\144\x74\x68"] = 1;
        $dataChart[100]["\x64\x61\x74\x61"] = [];
        $labels = [];
        $x = 0;
        foreach ($data as $dtInterval) {
            $code = $dtInterval["\143\x6f\144\x65"];
            if (
                $timeFrame ==
                "\160\141\163\164\x5f\x31\x32\137\167\x65\x65\x6b\163"
            ) {
                $label = "\x57" . substr($code, 2, 2);
            } elseif (
                $timeFrame ==
                "\160\141\x73\x74\137\61\x32\137\x6d\157\156\x74\150\x73"
            ) {
                $label = "\115" . substr($code, 4, 2);
            } elseif (
                $timeFrame ==
                "\x70\141\163\x74\137\66\x5f\161\165\141\x72\x74\145\x72\163"
            ) {
                $label = "\x51" . substr($code, 4, 2);
            } elseif (
                $timeFrame == "\160\141\x73\164\137\x36\x5f\x79\145\x61\162\x73"
            ) {
                $label = "\131" . substr($code, 2, 2);
            }
            array_push($labels, $label);
            $totalRequest = 0;
            $totalDeliver = 0;
            $dataTable[$code] = [$code];
            foreach ($dtInterval["\x62\147"] as $dtBG) {
                $totalRequest += $dtBG["\x72\145\161\165\145\x73\x74"];
                $totalDeliver += $dtBG["\144\x65\154\151\x76\x65\x72"];
                $classBGStatus = "";
                if (
                    $dtBG["\x61\x63\x74\165\x61\x6c"] <
                    $dtBG["\x74\141\x72\147\145\164"]
                ) {
                    $classBGStatus = "\x72\145\144";
                }
                $dtBGtable = [
                    "\x61\143\x74\x75\141\154" =>
                        $dtBG["\141\143\x74\x75\141\154"],
                    "\x74\x61\x72\147\x65\164" =>
                        $dtBG["\x74\141\162\x67\145\164"],
                    "\143\154\x61\163\x73" => $classBGStatus,
                ];
                array_push($dataTable[$code], $dtBGtable);
                array_push(
                    $dataChart[$dtBG["\151\144"]]["\144\141\164\x61"],
                    floatval($dtBG["\141\143\x74\x75\x61\x6c"])
                );
                array_push($dataChart[100]["\x64\x61\x74\x61"], [
                    "\170" => $label,
                    "\171" => floatval($dtBG["\164\141\162\x67\x65\164"]),
                ]);
            }
            array_push($dataChart[100]["\x64\141\164\141"], [
                "\x78" => $label,
                "\x79" => floatval($targetSupply),
            ]);
            $totalActual = number_format(
                ($totalDeliver / $totalRequest) * 100,
                1,
                "\56",
                ""
            );
            array_push(
                $dataChart[90]["\x64\x61\164\x61"],
                floatval($totalActual)
            );
            $classBGStatus = "";
            if ($totalActual < $targetSupply) {
                $classBGStatus = "\x72\x65\x64";
            }
            $dtBGtable = [
                "\141\143\164\165\141\x6c" => $totalActual,
                "\164\x61\162\x67\145\164" => $targetSupply,
                "\143\x6c\141\163\163" => $classBGStatus,
            ];
            $data[$code]["\x61\154\154\x20"][
                "\x61\143\x74\165\141\x6c"
            ] = $totalActual;
            $data[$code]["\x61\154\154\40"][
                "\144\145\x6c\x69\166\x65\x72"
            ] = $totalDeliver;
            $data[$code]["\141\x6c\x6c\40"][
                "\x72\145\161\165\145\163\x74"
            ] = $totalRequest;
            array_push($dataTable[$code], $dtBGtable);
            $x++;
        }
        $dataChartReturn = [];
        $dataChartReturn["\154\141\142\145\x6c\163"] = $labels;
        $dataChartReturn["\144\x61\164\141\x73\x65\x74\163"] = [];
        foreach ($dataChart as $dtChart) {
            array_push(
                $dataChartReturn["\x64\141\x74\x61\163\145\x74\x73"],
                $dtChart
            );
        }
        $dataReturn = [
            "\x74\141\x62\154\145" => array_reverse($dataTable),
            "\143\150\141\x72\x74" => $dataChartReturn,
        ];
        return $dataReturn;
    }
    public function getBGList($supplyCenter)
    {
        $supply_center_id = $supplyCenter;
        $dtRecords = DB::table(
            "\x62\x75\x73\x69\x6e\x65\x73\163\137\x67\162\157\x75\x70\x73"
        )
            ->where(
                "\x73\165\160\x70\x6c\171\137\x63\145\x6e\164\x65\x72\x5f\x69\144",
                $supply_center_id
            )
            ->orderBY("\x69\144", "\x41\123\103")
            ->get();
        return $dtRecords;
    }
    public function getHeaderlayer2($timeFrame, $supplyCenter)
    {
        $supply_center_id = $supplyCenter;
        if (
            $timeFrame == "\160\x61\x73\164\x5f\x31\62\137\167\x65\x65\153\163"
        ) {
            $header = ["\127\x45\x45\x4b"];
        } elseif (
            $timeFrame ==
            "\x70\x61\163\x74\x5f\x31\62\137\x6d\x6f\x6e\164\150\163"
        ) {
            $header = ["\x4d\x4f\x4e\124\110"];
        } elseif (
            $timeFrame ==
            "\160\141\163\x74\137\x36\x5f\161\165\141\x72\164\145\162\163"
        ) {
            $header = ["\x51\125\x41\122\x54\105\x52"];
        } elseif (
            $timeFrame == "\160\x61\163\x74\137\66\x5f\x79\x65\141\x72\x73"
        ) {
            $header = ["\131\x45\x41\x52"];
        }
        $dtRecords = DB::table(
            "\x62\165\163\x69\156\x65\x73\x73\x5f\x67\162\x6f\165\160\x73"
        )
            ->where(
                "\163\x75\x70\x70\x6c\x79\137\x63\145\x6e\164\145\162\x5f\151\x64",
                $supply_center_id
            )
            ->orderBY("\151\x64", "\x41\x53\x43")
            ->get();
        foreach ($dtRecords as $key) {
            array_push($header, strtoupper($key->name));
        }
        array_push($header, "\101\x4c\x4c");
        return $header;
    }
    public function getFilterLayer3($bgID, $vsID, $supplyCenter)
    {
        $bgSelection = "";
        if ($bgID == "\x61\154\154") {
            $bgSelection = "\163\145\154\x65\x63\164\145\144";
        }
        $vsSelection = "";
        if ($vsID == "\x61\154\x6c") {
            $vsSelection = "\x73\145\x6c\145\143\x74\145\144";
        }
        $data = [
            [
                "\x69\144" => "\x62\x67",
                "\x6e\x61\155\145" =>
                    "\x42\165\163\x69\x6e\x65\x73\x73\40\107\162\157\165\160",
                "\x76\x61\x6c\165\x65" => [
                    [
                        "\151\x64" => "\141\154\x6c",
                        "\156\x61\x6d\x65" => "\x41\x6c\x6c",
                        "\x73\x65\154\145\143\x74\x65\x64" => $bgSelection,
                    ],
                ],
            ],
            [
                "\x69\144" => "\166\163",
                "\156\141\x6d\x65" =>
                    "\126\x61\x6c\165\145\x20\x53\x74\162\145\141\155",
                "\x76\141\x6c\165\x65" => [
                    [
                        "\151\x64" => "\x61\x6c\x6c",
                        "\156\x61\155\x65" => "\101\154\x6c",
                        "\x73\145\154\x65\x63\164\145\144" => $vsSelection,
                    ],
                ],
            ],
        ];
        $supply_center_id = $supplyCenter;
        $dtBGs = DB::table(
            "\x62\165\163\x69\156\x65\163\x73\137\x67\x72\157\x75\160\163"
        )
            ->where(
                "\x73\x75\160\x70\x6c\171\137\x63\145\156\164\145\162\137\x69\x64",
                $supply_center_id
            )
            ->orderBY("\x69\x64", "\x41\123\x43")
            ->get();
        foreach ($dtBGs as $dtBG) {
            $bgSelection = "";
            if ($bgID == $dtBG->id) {
                $bgSelection = "\x73\x65\x6c\145\x63\164\145\144";
            }
            array_push($data[0]["\166\141\154\165\x65"], [
                "\x69\x64" => $dtBG->id,
                "\156\x61\155\x65" => $dtBG->name,
                "\163\145\x6c\145\143\x74\145\x64" => $bgSelection,
            ]);
        }
        if ($bgID != "\141\154\154") {
            $dtVSs = DB::table(
                "\x76\141\x6c\165\145\x5f\x73\x74\x72\145\x61\x6d\163\40\141\x73\x20\x76\163"
            )
                ->join(
                    "\166\x61\154\165\145\x5f\x73\x74\162\145\141\x6d\137\144\145\x74\x61\151\x6c\x73\40\141\163\x20\166\163\144",
                    "\x76\x73\144\x2e\166\x61\154\165\145\x5f\x73\x74\x72\145\x61\155\x5f\x69\x64",
                    "\x3d",
                    "\x76\163\56\x69\144"
                )
                ->selectRaw(
                    "\166\163\56\151\144\54\40\x76\x73\x2e\x6e\x61\x6d\x65\54\40\166\163\x64\56\142\165\163\x69\156\x65\163\163\x5f\147\x72\157\165\x70\x5f\x69\144"
                )
                ->where(
                    "\x76\x73\x64\x2e\142\165\163\151\156\x65\163\x73\x5f\x67\162\x6f\x75\x70\137\151\144",
                    "\x3d",
                    $bgID
                )
                ->orderBY("\x76\163\56\x69\144", "\x41\123\103")
                ->get();
            foreach ($dtVSs as $dtVS) {
                $vsSelection = "";
                if ($vsID == $dtVS->id) {
                    $vsSelection = "\x73\145\x6c\x65\x63\x74\x65\x64";
                }
                array_push($data[1]["\166\x61\154\x75\x65"], [
                    "\x69\x64" => $dtVS->id,
                    "\156\x61\155\x65" => $dtVS->name,
                    "\163\x65\154\x65\x63\x74\145\x64" => $vsSelection,
                ]);
            }
        }
        return $data;
    }
    public function getDataLayer3($timeFrame, $bg, $vs, $supplyCenter)
    {
        $data = [];
        $time_frame = new TimeFrame();
        $time_range = $time_frame->getTimeRange2($timeFrame);
        $query = DB::table(
            "\x66\x69\154\154\x5f\162\141\x74\145\x73\x20\141\163\40\146\x72"
        );
        $supply_center_id = $supplyCenter;
        if (
            $timeFrame ==
                "\160\x61\163\x74\x5f\61\x32\x5f\x77\145\145\x6b\x73" ||
            $timeFrame == "\154\141\x73\x74\x5f\167\145\145\153"
        ) {
            $query
                ->selectRaw(
                    "\167\145\145\x6b\x20\101\x53\40\x20\x63\157\144\x65"
                )
                ->whereRaw(
                    "\167\x65\145\x6b\x20\x3e\75\x20\77\x20\x61\x6e\144\40\167\x65\x65\153\40\74\75\40\x3f",
                    [
                        $time_range[
                            "\163\x74\x61\162\x74\x5f\161\165\145\162\171"
                        ],
                        $time_range["\145\156\144\137\161\165\x65\x72\x79"],
                    ]
                )
                ->groupBy("\167\145\145\x6b")
                ->orderBy("\167\x65\145\x6b", "\x61\x73\x63");
        } elseif (
            $timeFrame ==
            "\x70\141\x73\x74\137\x31\x32\137\155\x6f\156\164\x68\163"
        ) {
            $query
                ->selectRaw(
                    "\x43\x4f\x4e\x43\101\x54\50\171\145\x61\162\54\40\x20\155\x6f\156\x74\150\x5f\156\x75\155\x29\x20\x41\123\x20\40\x63\157\144\145"
                )
                ->whereRaw(
                    "\103\117\x4e\103\x41\124\50\171\145\x61\x72\x2c\x20\40\155\157\156\x74\x68\137\x6e\165\x6d\51\x20\76\75\x20\x3f\40\141\156\144\x20\103\117\116\x43\101\x54\50\171\x65\x61\162\x2c\x20\40\155\157\x6e\164\x68\x5f\156\165\155\x29\x20\74\x3d\40\x3f",
                    [
                        $time_range[
                            "\163\164\141\162\x74\137\161\165\x65\162\171"
                        ],
                        $time_range["\145\156\144\x5f\x71\165\145\162\171"],
                    ]
                )
                ->groupBy(
                    "\171\145\x61\x72",
                    "\155\157\x6e\164\x68\x5f\156\x75\155"
                )
                ->orderBy("\x79\145\x61\x72", "\141\x73\x63")
                ->orderBy(
                    "\x6d\x6f\156\164\x68\137\156\x75\x6d",
                    "\141\163\x63"
                );
        } elseif (
            $timeFrame ==
            "\160\141\163\164\x5f\x36\137\161\x75\141\x72\x74\x65\x72\x73"
        ) {
            $query
                ->selectRaw(
                    "\x43\117\116\x43\101\x54\50\x79\145\x61\162\54\x20\x20\161\x75\x61\162\x74\145\x72\x29\x20\x41\x53\40\40\143\157\144\x65"
                )
                ->whereRaw(
                    "\103\x4f\116\x43\101\124\x28\171\x65\141\x72\x2c\40\x20\x71\165\141\x72\x74\145\x72\51\40\x3e\75\40\x3f\x20\x61\x6e\144\x20\x43\117\116\103\101\x54\50\171\145\x61\x72\54\40\40\x71\x75\141\162\164\x65\162\51\x20\x3c\x3d\x20\x3f",
                    [
                        $time_range[
                            "\163\x74\141\x72\x74\x5f\161\x75\x65\162\x79"
                        ],
                        $time_range["\x65\x6e\144\x5f\161\165\145\x72\x79"],
                    ]
                )
                ->groupBy("\x79\x65\x61\162", "\x71\165\x61\162\x74\145\x72")
                ->orderBy("\x79\x65\x61\x72", "\141\163\x63")
                ->orderBy("\161\x75\x61\x72\x74\x65\x72", "\x61\163\143");
        } elseif (
            $timeFrame == "\x70\141\x73\x74\x5f\x36\x5f\171\145\x61\x72\163"
        ) {
            $query
                ->selectRaw(
                    "\171\x65\x61\162\40\101\123\x20\40\x63\157\x64\145"
                )
                ->whereRaw(
                    "\x79\145\x61\162\x20\x3e\75\40\x3f\40\141\156\x64\40\x79\145\141\x72\40\74\x3d\40\x3f",
                    [
                        $time_range[
                            "\163\164\141\162\164\137\161\165\x65\x72\x79"
                        ],
                        $time_range["\145\156\x64\x5f\x71\x75\x65\x72\171"],
                    ]
                )
                ->groupBy("\x79\145\141\162")
                ->orderBy("\171\145\x61\x72", "\141\163\x63");
        }
        if ($bg != "\x61\154\x6c") {
            $query
                ->where("\142\x67\x2e\x69\144", "\x3d", $bg)
                ->selectRaw("\166\163\56\151\144")
                ->groupBy("\x76\x73\x2e\x69\x64")
                ->orderBy("\x76\x73\x2e\x69\144", "\x61\163\x63");
        } else {
            $query
                ->selectRaw("\x62\147\x2e\151\144")
                ->groupBy("\x62\147\x2e\151\x64")
                ->orderBy("\x62\147\56\151\x64", "\x61\x73\143");
        }
        if ($vs != "\141\x6c\x6c") {
            $query->where("\x76\163\x2e\151\144", "\x3d", $vs);
        }
        $query
            ->join(
                "\x61\x72\164\x69\x63\x6c\145\x5f\x67\x72\157\x75\160\163\40\x61\163\x20\x61\x67",
                "\x61\x67\56\x69\x64",
                "\75",
                "\146\162\56\141\162\164\151\x63\x6c\145\x5f\147\162\157\x75\x70\x5f\x69\144"
            )
            ->join(
                "\x76\141\154\x75\x65\137\x73\x74\162\x65\141\155\x73\40\x61\163\x20\x76\163",
                "\x76\x73\x2e\151\144",
                "\x3d",
                "\x61\147\56\x76\x61\x6c\x75\145\137\x73\x74\x72\x65\141\155\x5f\x69\144"
            )
            ->join(
                "\x76\141\154\165\145\x5f\163\164\x72\145\x61\x6d\137\x64\145\x74\141\x69\x6c\163\x20\x61\x73\x20\166\163\x64",
                "\x76\163\x64\56\x76\141\x6c\x75\145\x5f\163\x74\x72\145\141\x6d\137\x69\x64",
                "\75",
                "\x76\x73\56\x69\x64"
            )
            ->join(
                "\142\x75\163\151\x6e\145\x73\x73\137\147\x72\157\165\x70\x73\40\141\x73\x20\x62\x67",
                "\142\x67\56\151\144",
                "\75",
                "\x76\163\x64\x2e\x62\x75\163\x69\x6e\x65\163\163\137\147\x72\x6f\x75\160\137\151\x64"
            )
            ->where(
                "\x62\x67\x2e\x73\x75\x70\160\154\171\137\x63\x65\x6e\x74\x65\162\137\151\x64",
                "\75",
                $supply_center_id
            )
            ->where(
                "\146\x72\x2e\x63\165\163\164\x6f\x6d\x65\x72\137\x6d\141\x70\160\145\144",
                "\x21\75",
                "\101\x6d\x61\x7a\x6f\156\x2e\143\157\155"
            )
            ->selectRaw(
                "\163\165\155\50\161\x74\x79\137\162\145\161\x75\145\x73\x74\x65\x64\51\x20\x61\x73\x20\x71\x74\x79\137\x72\x65\161\x75\x65\163\x74\x65\144\x2c\x20\xa\40\x20\x20\40\40\x20\x20\40\40\40\40\40\163\x75\x6d\50\x71\164\171\137\x64\145\154\x69\166\145\x72\x65\144\x5f\x6f\156\x74\151\155\145\51\x20\141\163\40\161\x74\171\x5f\x64\x65\154\151\166\x65\162\x65\x64\137\157\x6e\x74\151\x6d\145"
            );
        $dtRecords = $query->get();
        $idListKey = [];
        foreach ($dtRecords as $keyValue) {
            $code = $keyValue->code;
            $id = $keyValue->id;
            $actual = number_format(
                ($keyValue->qty_delivered_ontime / $keyValue->qty_requested) *
                    100,
                1,
                "\56",
                ""
            );
            $data[$code]["\143\157\144\145"] = $code;
            $data[$code]["\x62\147"][$id]["\x69\144"] = $id;
            $data[$code]["\x62\x67"][$id]["\x61\143\164\x75\141\154"] = $actual;
            $data[$code]["\x62\x67"][$id]["\144\x65\154\x69\x76\145\162"] =
                $keyValue->qty_delivered_ontime;
            $data[$code]["\142\147"][$id]["\162\145\x71\x75\145\163\x74"] =
                $keyValue->qty_requested;
            $idListKey[$id] = $id;
        }
        $idList = [];
        foreach ($idListKey as $key => $value) {
            array_push($idList, $value);
        }
        $dataChart = [];
        if ($bg == "\141\x6c\x6c") {
            $bgList = $this->getBGList($supply_center_id);
            foreach ($bgList as $dtBG) {
                $dataChart[$dtBG->id]["\x6e\141\155\x65"] = $dtBG->name;
                $dataChart[$dtBG->id]["\164\x79\x70\x65"] =
                    "\143\x6f\x6c\x75\x6d\x6e";
                $dataChart[$dtBG->id]["\143\157\154\x6f\162"] = $dtBG->color;
                $dataChart[$dtBG->id][
                    "\163\x68\157\x77\111\156\x4c\145\x67\x65\x6e\x64"
                ] = true;
                $dataChart[$dtBG->id][
                    "\x64\141\164\141\120\x6f\151\x6e\164\163"
                ] = [];
            }
        } else {
            $queryVS = DB::table(
                "\x76\141\x6c\x75\x65\137\163\x74\x72\145\x61\x6d\163"
            )->whereIn("\x69\144", $idList);
            $vsList = $queryVS->get();
            foreach ($vsList as $dtBG) {
                $dataChart[$dtBG->id]["\x6e\141\155\x65"] = $dtBG->name;
                $dataChart[$dtBG->id]["\x74\x79\160\x65"] =
                    "\143\x6f\154\x75\x6d\156";
                $dataChart[$dtBG->id]["\143\x6f\x6c\x6f\x72"] = $dtBG->color;
                $dataChart[$dtBG->id][
                    "\x73\x68\x6f\x77\x49\156\x4c\145\147\x65\156\x64"
                ] = true;
                $dataChart[$dtBG->id][
                    "\x64\141\x74\x61\120\x6f\151\156\164\163"
                ] = [];
            }
        }
        if ($bg == "\141\154\x6c") {
            $dtTarget = DB::table(
                "\x73\x75\160\160\x6c\171\x5f\x63\x65\156\x74\x65\x72\163"
            )
                ->orderBY("\x69\144", "\101\123\103")
                ->where("\x69\144", "\x3d", "\61")
                ->get();
        } else {
            $dtTarget = DB::table(
                "\x62\x75\163\x69\x6e\145\163\163\x5f\147\162\x6f\x75\160\x73"
            )
                ->orderBY("\x69\x64", "\x41\123\103")
                ->where("\x69\144", "\75", $bg)
                ->get();
        }
        $targetSupply = $dtTarget[0]->target;
        if ($bg == "\x61\x6c\x6c") {
            $dataChart[90]["\x6e\141\x6d\145"] = "\141\x6c\154";
            $dataChart[90]["\x74\171\x70\145"] = "\x63\x6f\x6c\x75\155\x6e";
            $dataChart[90]["\x63\x6f\154\157\x72"] =
                "\x23\106\x46\105\x43\x43\x43";
            $dataChart[90][
                "\163\x68\157\x77\x49\156\114\x65\147\x65\x6e\144"
            ] = true;
            $dataChart[90]["\x64\141\164\x61\120\157\151\156\x74\163"] = [];
        } elseif ($vs == "\141\x6c\154") {
            $dataChart[90]["\x6e\141\155\145"] = "\141\154\x6c";
            $dataChart[90]["\x74\171\160\145"] = "\143\x6f\154\x75\155\156";
            $dataChart[90]["\143\157\154\x6f\162"] =
                "\x23\x46\x46\x45\103\x43\x43";
            $dataChart[90][
                "\x73\x68\x6f\x77\111\156\114\145\x67\145\156\x64"
            ] = true;
            $dataChart[90]["\x64\141\164\141\120\x6f\x69\x6e\164\x73"] = [];
        }
        $dataChart[100]["\x74\171\x70\x65"] = "\154\151\156\x65";
        $dataChart[100]["\x63\x6f\x6c\x6f\x72"] = "\171\x65\x6c\154\x6f\167";
        $dataChart[100]["\x6d\141\162\153\145\162\x54\171\160\x65"] =
            "\x6e\157\156\145";
        $dataChart[100]["\x64\x61\164\x61\120\x6f\151\156\164\163"] = [
            [
                "\170" => 0,
                "\171" => floatval($targetSupply),
                "\154\x61\x62\x65\154" => "\40",
            ],
        ];
        $x = 1;
        foreach ($data as $dtInterval) {
            $code = $dtInterval["\143\157\x64\145"];
            if (
                $timeFrame ==
                    "\x70\141\163\164\x5f\x31\62\137\167\x65\145\x6b\163" ||
                $timeFrame == "\154\x61\163\x74\x5f\x77\145\145\153"
            ) {
                $label = "\x57" . substr($code, 2, 2);
            } elseif (
                $timeFrame ==
                "\x70\x61\163\164\x5f\61\62\x5f\x6d\x6f\x6e\x74\150\163"
            ) {
                $label = "\x4d" . substr($code, 4, 2);
            } elseif (
                $timeFrame ==
                "\x70\x61\163\x74\x5f\66\137\161\165\141\162\164\x65\x72\x73"
            ) {
                $label = "\x51" . substr($code, 4, 2);
            } elseif (
                $timeFrame == "\160\x61\x73\164\x5f\66\137\x79\x65\x61\x72\163"
            ) {
                $label = "\x59" . substr($code, 2, 2);
            }
            array_push(
                $dataChart[100]["\144\141\x74\x61\120\157\x69\x6e\x74\x73"],
                [
                    "\170" => $x,
                    "\x79" => floatval($targetSupply),
                    "\x6c\141\142\x65\154" => $label,
                ]
            );
            $totalRequest = 0;
            $totalDeliver = 0;
            $dataTable[$code] = [$code];
            if ($bg != "\141\154\154") {
                foreach ($idList as $idVs) {
                    if (isset($dtInterval["\142\147"][$idVs])) {
                        $totalRequest +=
                            $dtInterval["\x62\x67"][$idVs][
                                "\x72\x65\x71\165\x65\x73\164"
                            ];
                        $totalDeliver +=
                            $dtInterval["\x62\x67"][$idVs][
                                "\144\x65\154\151\x76\x65\x72"
                            ];
                        array_push(
                            $dataTable[$code],
                            $dtInterval["\x62\x67"][$idVs][
                                "\141\143\x74\165\x61\x6c"
                            ]
                        );
                        array_push(
                            $dataChart[
                                $dtInterval["\142\147"][$idVs]["\x69\144"]
                            ]["\x64\141\164\141"],
                            floatval(
                                $dtInterval["\142\147"][$idVs][
                                    "\x61\x63\x74\x75\x61\154"
                                ]
                            )
                        );
                        array_push($dataChart[100]["\x64\x61\164\x61"], [
                            "\x78" => $label,
                            "\x79" => floatval(
                                $dtInterval["\142\147"][$idVs][
                                    "\x74\x61\x72\x67\x65\x74"
                                ]
                            ),
                        ]);
                    } else {
                        $totalRequest += 0;
                        $totalDeliver += 0;
                        array_push($dataTable[$code], 0);
                        array_push(
                            $dataChart[$idVs]["\x64\x61\164\141"],
                            floatval(0)
                        );
                        array_push($dataChart[100]["\144\x61\x74\x61"], [
                            "\x78" => $label,
                            "\171" => floatval(0),
                        ]);
                    }
                }
            } else {
                foreach ($dtInterval["\142\147"] as $dtBG) {
                    $totalRequest += $dtBG["\162\x65\161\165\145\163\x74"];
                    $totalDeliver += $dtBG["\144\145\x6c\x69\x76\145\x72"];
                    array_push(
                        $dataTable[$code],
                        $dtBG["\141\x63\x74\x75\141\154"]
                    );
                    array_push(
                        $dataChart[$dtBG["\151\144"]]["\144\141\x74\x61"],
                        floatval($dtBG["\x61\143\164\165\x61\x6c"])
                    );
                    array_push($dataChart[100]["\144\x61\164\x61"], [
                        "\x78" => $label,
                        "\171" => floatval($dtBG["\164\141\162\x67\x65\164"]),
                    ]);
                }
            }
            $totalActual = number_format(
                ($totalDeliver / $totalRequest) * 100,
                1,
                "\56",
                ""
            );
            $data[$code]["\x61\154\154\x20"][
                "\x61\143\x74\165\x61\x6c"
            ] = $totalActual;
            $data[$code]["\141\x6c\x6c\40"][
                "\144\145\154\151\166\x65\162"
            ] = $totalDeliver;
            $data[$code]["\141\154\154\40"][
                "\x72\145\161\165\x65\x73\x74"
            ] = $totalRequest;
            if ($bg == "\x61\154\x6c") {
            }
            if ($bg == "\x61\154\154") {
                array_push(
                    $dataChart[90]["\x64\x61\x74\x61\x50\157\x69\156\x74\163"],
                    [
                        "\x78" => $x,
                        "\x79" => floatval($totalActual),
                        "\x6c\141\142\x65\x6c" => $label,
                    ]
                );
            } elseif ($vs == "\141\x6c\154") {
                array_push(
                    $dataChart[90]["\x64\141\164\141\x50\157\151\156\x74\x73"],
                    [
                        "\x78" => $x,
                        "\x79" => floatval($totalActual),
                        "\154\141\x62\x65\154" => $label,
                    ]
                );
            }
            $x++;
        }
        array_push(
            $dataChart[100]["\144\x61\x74\x61\x50\157\x69\156\x74\x73"],
            [
                "\x78" => $x,
                "\171" => floatval($targetSupply),
                "\154\141\142\x65\154" => "\x20",
            ]
        );
        $dataChartReturn = [];
        foreach ($dataChart as $dtChart) {
            array_push($dataChartReturn, $dtChart);
        }
        $dataReturn = ["\143\150\x61\x72\164" => $dataChartReturn];
        return $dataReturn;
    }
    public function getDataLayer3ChartJs($timeFrame, $bg, $vs, $supplyCenter)
    {
        $data = [];
        $time_frame = new TimeFrame();
        $time_range = $time_frame->getTimeRange2($timeFrame);
        $query = DB::table(
            "\x66\x69\154\154\x5f\x72\x61\164\145\x73\x20\141\x73\x20\146\x72"
        );
        $supply_center_id = $supplyCenter;
        if (
            $timeFrame ==
                "\x70\141\163\x74\x5f\61\62\x5f\x77\145\x65\x6b\x73" ||
            $timeFrame == "\154\x61\163\164\x5f\167\x65\145\x6b"
        ) {
            $query
                ->selectRaw("\167\x65\145\x6b\40\x41\x53\40\40\143\x6f\x64\x65")
                ->whereRaw(
                    "\167\145\145\x6b\40\76\x3d\40\77\40\x61\156\x64\40\x77\145\x65\153\40\74\75\40\x3f",
                    [
                        $time_range[
                            "\163\x74\x61\162\x74\x5f\x71\165\x65\x72\x79"
                        ],
                        $time_range["\145\x6e\x64\x5f\161\165\x65\162\171"],
                    ]
                )
                ->groupBy("\x77\145\x65\x6b")
                ->orderBy("\167\x65\145\x6b", "\141\163\x63");
        } elseif (
            $timeFrame ==
            "\160\141\163\x74\137\x31\x32\137\155\157\x6e\164\x68\163"
        ) {
            $query
                ->selectRaw(
                    "\103\x4f\116\103\101\x54\x28\171\x65\x61\x72\x2c\x20\40\x6d\157\156\164\150\x5f\x6e\165\155\x29\x20\x41\x53\40\x20\143\157\x64\x65"
                )
                ->whereRaw(
                    "\x43\x4f\116\x43\x41\124\50\x79\x65\141\162\54\40\x20\155\157\x6e\x74\150\137\x6e\x75\x6d\51\40\76\x3d\40\77\40\141\x6e\144\x20\x43\117\116\103\x41\124\50\171\145\x61\162\x2c\x20\x20\155\157\156\164\150\137\156\165\x6d\51\40\x3c\75\x20\77",
                    [
                        $time_range[
                            "\x73\x74\x61\162\164\137\x71\165\x65\x72\171"
                        ],
                        $time_range["\x65\x6e\144\x5f\x71\165\x65\162\171"],
                    ]
                )
                ->groupBy(
                    "\171\x65\141\162",
                    "\155\157\156\164\x68\x5f\156\165\x6d"
                )
                ->orderBy("\x79\145\x61\x72", "\x61\163\143")
                ->orderBy(
                    "\155\x6f\x6e\x74\x68\137\x6e\x75\x6d",
                    "\141\163\143"
                );
        } elseif (
            $timeFrame ==
            "\160\x61\x73\x74\137\66\x5f\x71\x75\x61\x72\164\145\162\x73"
        ) {
            $query
                ->selectRaw(
                    "\103\117\x4e\x43\x41\x54\50\171\x65\141\x72\54\x20\40\161\x75\141\x72\164\145\x72\x29\40\101\x53\40\x20\143\x6f\144\x65"
                )
                ->whereRaw(
                    "\103\x4f\x4e\x43\x41\x54\x28\x79\x65\141\x72\54\40\40\x71\x75\141\x72\164\145\x72\51\x20\x3e\x3d\x20\x3f\x20\x61\156\144\x20\x43\x4f\116\x43\x41\124\50\x79\x65\141\x72\54\40\x20\x71\x75\x61\x72\164\145\162\x29\40\74\75\40\77",
                    [
                        $time_range[
                            "\163\x74\141\x72\x74\137\161\x75\145\162\171"
                        ],
                        $time_range["\145\x6e\144\137\x71\x75\145\x72\171"],
                    ]
                )
                ->groupBy("\171\145\141\162", "\161\165\141\x72\164\x65\162")
                ->orderBy("\x79\x65\x61\162", "\x61\x73\143")
                ->orderBy("\161\x75\141\x72\x74\145\x72", "\141\163\143");
        } elseif (
            $timeFrame == "\160\x61\163\164\x5f\66\x5f\x79\145\x61\162\x73"
        ) {
            $query
                ->selectRaw(
                    "\171\x65\141\x72\x20\101\x53\x20\x20\x63\157\x64\145"
                )
                ->whereRaw(
                    "\171\145\x61\x72\40\76\75\40\x3f\40\x61\x6e\144\40\x79\x65\x61\x72\x20\x3c\x3d\40\x3f",
                    [
                        $time_range[
                            "\x73\164\141\x72\x74\x5f\x71\165\145\x72\171"
                        ],
                        $time_range["\x65\156\x64\x5f\x71\165\145\162\x79"],
                    ]
                )
                ->groupBy("\171\145\x61\162")
                ->orderBy("\171\x65\x61\162", "\x61\163\x63");
        }
        if ($bg != "\x61\x6c\154") {
            $query
                ->where("\x62\147\56\x69\x64", "\75", $bg)
                ->selectRaw(
                    "\x76\163\x2e\151\x64\54\40\142\x67\x2e\x74\x61\162\x67\145\164"
                )
                ->groupBy("\166\x73\56\x69\144")
                ->groupBy("\142\x67\x2e\164\141\162\x67\x65\164")
                ->orderBy("\166\x73\56\151\x64", "\141\163\143");
        } else {
            $query
                ->selectRaw(
                    "\142\147\x2e\x69\x64\x2c\x20\x62\x67\x2e\164\x61\x72\147\x65\x74"
                )
                ->groupBy("\142\147\x2e\x69\144")
                ->groupBy("\x62\147\x2e\x74\x61\162\147\x65\164")
                ->orderBy("\142\x67\x2e\x69\x64", "\141\163\143");
        }
        if ($vs != "\x61\154\154") {
            $query->where("\166\163\x2e\x69\x64", "\x3d", $vs);
        }
        $query
            ->join(
                "\141\162\x74\x69\143\x6c\145\137\x67\x72\157\165\x70\x73\x20\x61\163\x20\141\x67",
                "\x61\x67\x2e\x69\144",
                "\x3d",
                "\146\162\x2e\141\162\164\x69\x63\x6c\145\137\x67\x72\x6f\165\160\137\151\x64"
            )
            ->join(
                "\166\x61\x6c\165\145\137\163\164\162\x65\x61\155\x73\40\x61\163\40\x76\x73",
                "\x76\163\56\151\x64",
                "\75",
                "\141\147\56\166\x61\154\165\145\x5f\x73\x74\x72\145\x61\155\137\151\x64"
            )
            ->join(
                "\x76\x61\x6c\165\145\x5f\x73\x74\x72\x65\141\155\x5f\x64\x65\164\x61\151\x6c\x73\40\141\x73\x20\166\x73\144",
                "\x76\x73\144\56\x76\x61\x6c\165\x65\x5f\163\x74\162\x65\141\x6d\x5f\x69\144",
                "\x3d",
                "\x76\x73\x2e\x69\144"
            )
            ->join(
                "\142\x75\x73\x69\x6e\145\x73\x73\137\147\x72\x6f\x75\160\x73\40\141\x73\x20\142\147",
                "\142\147\56\151\x64",
                "\x3d",
                "\166\163\x64\56\142\x75\x73\151\x6e\x65\163\163\137\147\x72\157\x75\x70\x5f\x69\x64"
            )
            ->where(
                "\x62\147\x2e\x73\x75\160\160\154\x79\137\x63\145\156\x74\x65\x72\137\x69\x64",
                "\x3d",
                $supply_center_id
            )
            ->where(
                "\x66\x72\x2e\x63\165\x73\x74\157\155\145\162\x5f\x6d\141\x70\x70\145\x64",
                "\41\x3d",
                "\x41\155\141\172\x6f\x6e\56\x63\157\x6d"
            )
            ->selectRaw(
                "\163\x75\x6d\50\161\164\171\137\162\145\161\x75\x65\x73\x74\145\144\x29\x20\x61\x73\40\161\x74\171\137\x72\145\161\x75\145\x73\x74\145\x64\x2c\x20\xa\40\40\x20\40\40\x20\x20\x20\x20\40\40\40\163\165\155\x28\x71\x74\x79\x5f\144\x65\x6c\151\x76\145\162\x65\144\137\x6f\x6e\x74\x69\x6d\x65\51\x20\141\163\40\x71\164\171\137\x64\145\x6c\151\x76\x65\x72\x65\x64\137\x6f\156\x74\x69\155\x65"
            );
        $dtRecords = $query->get();
        $idListKey = [];
        foreach ($dtRecords as $keyValue) {
            $code = $keyValue->code;
            $id = $keyValue->id;
            $actual = number_format(
                ($keyValue->qty_delivered_ontime / $keyValue->qty_requested) *
                    100,
                1,
                "\56",
                ""
            );
            $data[$code]["\143\157\144\x65"] = $code;
            $data[$code]["\x62\x67"][$id]["\151\144"] = $id;
            $data[$code]["\142\147"][$id]["\x61\x63\x74\x75\141\154"] = $actual;
            $data[$code]["\x62\x67"][$id]["\x64\x65\154\151\166\145\162"] =
                $keyValue->qty_delivered_ontime;
            $data[$code]["\x62\x67"][$id]["\162\145\x71\165\145\x73\164"] =
                $keyValue->qty_requested;
            $data[$code]["\x62\147"][$id]["\164\141\162\147\145\164"] =
                $keyValue->target;
            $idListKey[$id] = $id;
        }
        $idList = [];
        foreach ($idListKey as $key => $value) {
            array_push($idList, $value);
        }
        $dataChart = [];
        if ($bg == "\x61\154\154") {
            $bgList = $this->getBGList($supply_center_id);
            foreach ($bgList as $dtBG) {
                $dataChart[$dtBG->id]["\157\x72\x64\145\x72"] = 1;
                $dataChart[$dtBG->id]["\x6c\141\142\145\x6c"] = $dtBG->name;
                $dataChart[$dtBG->id]["\164\171\160\145"] = "\x62\x61\x72";
                $dataChart[$dtBG->id][
                    "\x62\141\x63\x6b\147\x72\x6f\x75\x6e\144\103\x6f\x6c\x6f\x72"
                ] = $dtBG->color;
                $dataChart[$dtBG->id][
                    "\142\157\162\x64\145\x72\x57\151\144\x74\150"
                ] = 1;
                $dataChart[$dtBG->id]["\144\x61\x74\141"] = [];
            }
        } else {
            $queryVS = DB::table(
                "\166\x61\x6c\x75\x65\x5f\x73\164\162\145\141\x6d\x73"
            )->whereIn("\x69\144", $idList);
            $vsList = $queryVS->get();
            foreach ($vsList as $dtBG) {
                $dataChart[$dtBG->id]["\157\162\x64\x65\162"] = 1;
                $dataChart[$dtBG->id]["\x6c\x61\x62\x65\x6c"] = $dtBG->name;
                $dataChart[$dtBG->id]["\x74\171\160\x65"] = "\142\x61\162";
                $dataChart[$dtBG->id][
                    "\x62\141\143\153\147\162\x6f\x75\156\x64\x43\x6f\x6c\x6f\162"
                ] = $dtBG->color;
                $dataChart[$dtBG->id][
                    "\142\157\162\x64\145\162\x57\x69\x64\164\150"
                ] = 1;
                $dataChart[$dtBG->id]["\144\x61\x74\x61"] = [];
            }
        }
        if ($bg == "\141\154\x6c") {
            $dtTarget = DB::table(
                "\x73\165\160\x70\x6c\x79\x5f\x63\x65\156\164\145\162\x73"
            )
                ->orderBY("\151\144", "\x41\x53\103")
                ->where("\x69\144", "\75", "\x31")
                ->get();
        } else {
            $dtTarget = DB::table(
                "\x62\x75\163\151\156\145\x73\163\137\147\x72\x6f\165\x70\163"
            )
                ->orderBY("\151\x64", "\x41\x53\103")
                ->where("\151\x64", "\x3d", $bg)
                ->get();
        }
        $targetSupplyAll = $dtTarget[0]->target;
        if ($bg == "\141\154\x6c") {
            $dataChart[90]["\x6f\x72\x64\x65\162"] = 1;
            $dataChart[90]["\x6c\x61\142\x65\x6c"] = "\x41\x6c\154";
            $dataChart[90]["\x74\x79\x70\145"] = "\x62\x61\x72";
            $dataChart[90][
                "\x62\x61\143\x6b\147\x72\x6f\x75\x6e\x64\x43\x6f\154\157\162"
            ] = "\43\106\x46\x45\103\x43\103";
            $dataChart[90]["\x62\157\162\x64\x65\162\x57\151\144\x74\x68"] = 1;
            $dataChart[90]["\x64\x61\164\x61"] = [];
        } elseif ($vs == "\141\154\x6c") {
            $dataChart[90]["\x6f\162\x64\x65\162"] = 1;
            $dataChart[90]["\x6c\141\x62\145\154"] = "\x41\154\154";
            $dataChart[90]["\164\171\x70\x65"] = "\x62\141\162";
            $dataChart[90][
                "\x62\141\x63\153\x67\162\157\x75\156\144\103\157\x6c\157\162"
            ] = "\x23\106\x46\105\103\x43\x43";
            $dataChart[90]["\142\x6f\162\x64\x65\162\x57\151\x64\x74\x68"] = 1;
            $dataChart[90]["\x64\141\164\141"] = [];
        }
        $dataChart[100]["\x6f\162\144\x65\162"] = 0;
        $dataChart[100]["\x6c\x61\142\x65\x6c"] = "\124\141\162\x67\x65\164";
        $dataChart[100]["\164\171\160\x65"] = "\x73\143\141\x74\x74\x65\162";
        $dataChart[100]["\160\x6f\151\156\x74\x52\141\x64\151\165\163"] = 4;
        $dataChart[100][
            "\x62\141\x63\153\x67\x72\x6f\165\x6e\144\103\157\x6c\157\162"
        ] = "\171\x65\154\x6c\157\x77";
        $dataChart[100]["\x62\x6f\x72\144\145\x72\127\x69\x64\x74\x68"] = 1;
        $dataChart[100]["\144\x61\164\141"] = [];
        $x = 1;
        $labels = [];
        foreach ($data as $dtInterval) {
            $code = $dtInterval["\x63\157\x64\x65"];
            if (
                $timeFrame ==
                    "\160\141\163\164\x5f\x31\x32\x5f\x77\x65\145\x6b\x73" ||
                $timeFrame == "\154\141\163\x74\137\x77\x65\145\x6b"
            ) {
                $label = "\127" . substr($code, 2, 2);
            } elseif (
                $timeFrame ==
                "\160\x61\163\164\x5f\61\62\137\155\x6f\156\x74\x68\x73"
            ) {
                $label = "\115" . substr($code, 4, 2);
            } elseif (
                $timeFrame ==
                "\x70\141\163\164\137\x36\137\x71\x75\x61\162\x74\145\x72\x73"
            ) {
                $label = "\x51" . substr($code, 4, 2);
            } elseif (
                $timeFrame == "\x70\141\163\164\x5f\66\137\x79\x65\141\x72\163"
            ) {
                $label = "\131" . substr($code, 2, 2);
            }
            array_push($labels, $label);
            $totalRequest = 0;
            $totalDeliver = 0;
            $dataTable[$code] = [$code];
            if ($bg != "\x61\154\154") {
                foreach ($idList as $idVs) {
                    if (isset($dtInterval["\x62\147"][$idVs])) {
                        $totalRequest +=
                            $dtInterval["\x62\x67"][$idVs][
                                "\x72\x65\161\x75\145\x73\164"
                            ];
                        $totalDeliver +=
                            $dtInterval["\x62\147"][$idVs][
                                "\144\x65\154\151\166\145\162"
                            ];
                        array_push(
                            $dataTable[$code],
                            $dtInterval["\142\147"][$idVs][
                                "\141\x63\x74\165\141\154"
                            ]
                        );
                        array_push(
                            $dataChart[
                                $dtInterval["\142\x67"][$idVs]["\x69\x64"]
                            ]["\144\x61\x74\141"],
                            floatval(
                                $dtInterval["\142\147"][$idVs][
                                    "\x61\x63\164\165\141\154"
                                ]
                            )
                        );
                        array_push($dataChart[100]["\x64\141\164\141"], [
                            "\170" => $label,
                            "\x79" => floatval(
                                $dtInterval["\x62\x67"][$idVs][
                                    "\164\x61\x72\147\x65\164"
                                ]
                            ),
                        ]);
                    } else {
                        $totalRequest += 0;
                        $totalDeliver += 0;
                        array_push($dataTable[$code], 0);
                        array_push(
                            $dataChart[$idVs]["\144\141\164\141"],
                            floatval(0)
                        );
                        array_push($dataChart[100]["\144\x61\164\x61"], [
                            "\x78" => $label,
                            "\x79" => floatval($targetSupplyAll),
                        ]);
                    }
                }
            } else {
                foreach ($dtInterval["\142\x67"] as $dtBG) {
                    $totalRequest += $dtBG["\162\145\161\x75\x65\x73\164"];
                    $totalDeliver += $dtBG["\x64\145\x6c\x69\x76\x65\x72"];
                    array_push(
                        $dataTable[$code],
                        $dtBG["\141\x63\x74\165\x61\154"]
                    );
                    array_push(
                        $dataChart[$dtBG["\151\144"]]["\x64\x61\x74\x61"],
                        floatval($dtBG["\x61\x63\164\x75\141\x6c"])
                    );
                    array_push($dataChart[100]["\x64\141\164\141"], [
                        "\170" => $label,
                        "\x79" => floatval($dtBG["\x74\141\x72\x67\145\164"]),
                    ]);
                }
            }
            $totalActual = number_format(
                ($totalDeliver / $totalRequest) * 100,
                1,
                "\56",
                ""
            );
            $data[$code]["\141\x6c\154\40"][
                "\141\143\x74\165\x61\x6c"
            ] = $totalActual;
            $data[$code]["\x61\154\x6c\x20"][
                "\x64\x65\154\151\x76\145\x72"
            ] = $totalDeliver;
            $data[$code]["\x61\x6c\154\x20"][
                "\162\x65\x71\x75\x65\163\x74"
            ] = $totalRequest;
            if ($bg == "\141\154\154") {
                array_push(
                    $dataChart[90]["\x64\141\x74\x61"],
                    floatval($totalActual)
                );
                array_push($dataChart[100]["\x64\x61\x74\141"], [
                    "\170" => $label,
                    "\171" => floatval($targetSupplyAll),
                ]);
            } elseif ($vs == "\141\154\154") {
                array_push(
                    $dataChart[90]["\x64\x61\164\x61"],
                    floatval($totalActual)
                );
                array_push($dataChart[100]["\144\141\164\141"], [
                    "\x78" => $label,
                    "\171" => floatval($targetSupplyAll),
                ]);
            }
            $x++;
        }
        $dataChartReturn = [];
        $dataChartReturn["\x6c\x61\x62\145\154\163"] = $labels;
        $dataChartReturn["\x64\x61\x74\141\x73\145\x74\163"] = [];
        foreach ($dataChart as $dtChart) {
            array_push(
                $dataChartReturn["\x64\x61\164\x61\x73\x65\164\163"],
                $dtChart
            );
        }
        $dataReturn = ["\143\x68\x61\162\x74" => $dataChartReturn];
        return $dataReturn;
    }
    public function getSummaryData()
    {
        $data = [];
        for ($i = 12; $i > 0; $i--) {
            $week = date(
                "\x79\127",
                strtotime("\x2d{$i}\40\127\145\x65\x6b\x73")
            );
            $data_item = [$week, 85, 86, 88, 87];
            array_push($data, $data_item);
        }
        return $data;
    }
    public function getSelection()
    {
        $data =
            "\x3c\144\151\x76\x20\x63\154\x61\x73\163\75\42\146\154\55\x6c\x65\x66\164\x22\x3e\12\40\x20\40\x20\x20\40\x20\40\x3c\x64\151\x76\40\x63\154\141\163\163\75\42\151\164\x65\x6d\x2d\x73\145\x6c\x65\x63\164\151\x6f\x6e\x20\x66\154\55\x6c\145\146\x74\x20\160\144\55\x6c\61\42\76\12\40\40\x20\40\40\x20\40\x20\40\40\x3c\154\141\x62\145\x6c\40\x66\157\162\x3d\42\164\151\x6d\145\x66\x72\x61\155\x65\x22\40\x63\154\141\163\x73\75\x22\143\x61\x74\x65\x67\157\162\171\x22\76\102\x47\x20\x3a\74\x2f\154\141\142\145\x6c\76\12\x20\x20\40\40\x20\40\x20\40\x20\40\x3c\x73\x65\154\145\143\x74\x20\x6e\141\155\145\x3d\42\x22\x20\151\x64\75\x22\163\145\x6c\145\x63\x74\151\x6f\156\x22\x3e\12\40\x20\x20\x20\x20\x20\40\x20\x20\x20\x20\x20\x3c\x6f\x70\x74\151\x6f\x6e\x20\166\141\154\165\145\x3d\42\61\42\76\114\141\163\164\40\x57\145\x65\x6b\74\x2f\x6f\x70\164\151\157\156\76\xa\40\x20\x20\40\x20\40\x20\40\x20\40\x20\40\x3c\157\160\164\x69\157\156\x20\x76\141\x6c\x75\145\75\42\61\42\x3e\x4c\x61\x73\164\x20\x4d\x6f\156\x74\x68\x3c\x2f\157\160\164\x69\157\156\x3e\12\x20\40\x20\40\40\40\x20\x20\40\x20\x20\40\74\x6f\160\x74\151\x6f\156\x20\x76\141\154\165\x65\x3d\42\61\42\x3e\114\x61\163\164\x20\171\x65\x61\x72\x3c\x2f\x6f\x70\x74\151\x6f\x6e\x3e\xa\40\x20\x20\x20\x20\x20\40\40\x20\x20\x3c\x2f\163\145\x6c\x65\x63\x74\x3e\xa\40\40\40\x20\x20\40\x20\x20\x3c\x2f\x64\151\x76\76\xa\x20\40\x20\40\x20\x20\x20\x20\74\144\x69\x76\40\x63\x6c\x61\x73\163\75\42\151\x74\145\x6d\x2d\x73\145\x6c\145\143\164\151\157\x6e\40\x66\x6c\55\154\x65\146\x74\x20\160\144\x2d\154\x31\42\76\12\40\x20\40\40\x20\40\x20\x20\x20\x20\74\x6c\x61\142\145\154\40\146\x6f\x72\x3d\x22\164\x69\x6d\x65\x66\x72\141\x6d\145\42\40\x63\x6c\141\x73\163\75\42\x63\x61\164\145\x67\157\x72\171\42\76\x50\162\x6f\144\x75\x63\164\x20\x43\x61\x74\x65\x67\x6f\x72\x79\40\x3a\74\x2f\x6c\141\142\x65\154\76\12\40\40\x20\x20\40\x20\40\x20\x20\40\x3c\x73\145\154\x65\x63\x74\x20\156\x61\x6d\145\x3d\42\x22\40\151\x64\75\x22\x73\x65\x6c\x65\143\x74\x69\x6f\156\42\76\xa\x20\x20\40\x20\40\x20\40\40\40\40\x20\40\x3c\x6f\160\x74\x69\157\156\40\x76\x61\154\165\x65\x3d\42\x31\42\x3e\114\x61\x73\164\40\x57\145\145\153\74\57\x6f\x70\x74\151\157\x6e\x3e\xa\40\x20\40\x20\40\40\40\40\x20\40\x20\x20\74\x6f\160\164\151\x6f\x6e\x20\x76\x61\154\x75\x65\x3d\x22\x31\42\76\114\x61\163\164\40\115\157\156\x74\x68\x3c\x2f\x6f\x70\x74\x69\x6f\x6e\x3e\12\x20\x20\x20\40\x20\x20\x20\40\40\40\40\x20\x3c\157\x70\x74\151\157\156\40\x76\141\x6c\165\x65\x3d\x22\61\42\76\114\141\163\164\x20\x79\145\141\162\x3c\x2f\157\160\x74\151\x6f\x6e\76\12\40\x20\40\x20\40\40\40\40\x20\40\74\57\163\x65\154\x65\143\164\76\12\x20\x20\40\x20\x20\40\40\40\x3c\x2f\144\x69\166\x3e\12\40\40\40\40\x20\40\74\57\144\151\166\76";
        return $data;
    }
}

Function Calls

None

Variables

None

Stats

MD5 20cd4cee9d6f6f378ab9805122f6f268
Eval Count 0
Decode Time 103 ms