/** * FUSIONCHAT GANTT PLAN ACTUAL * Status : Fixed, Dept. * ========== BACA ================ * UPDATE * Locate : Tab View Pilot Project. * 1. update Source : chart,categories * @since 1.1 * author piter novian [ptr.nov@gmail.com]. */ public function chartGanttPlanActual() { //***kategory Month $monthCtg = new ActiveDataProvider(['query' => Cnfmonth::find()->asArray(), 'pagination' => ['pageSize' => 24]]); //***kategory Week $weekCtg = new ActiveDataProvider(['query' => Cnfweek::find()->asArray(), 'pagination' => ['pageSize' => 200]]); //***get Data Pilotproject $_modalPilot = new ActiveDataProvider(['query' => Pilotproject::find()->Where(['CREATED_BY' => Yii::$app->user->identity->username])->orderBy('PLAN_DATE1')->asArray(), 'pagination' => ['pageSize' => 200]]); //***Task foreach ($_modalPilot->getModels() as $row => $value) { $taskCtg[] = ['label' => $value['PILOT_NM'], 'id' => strval($value['ID'])]; $taskPIC[] = ['label' => $value['CREATED_BY']]; } //***get plan actual pilot project $_modalActualPlan = new ArrayDataProvider(['allModels' => Yii::$app->db_widget->createCommand("\n\t\t\t\t\tSELECT *,x1.ID as IDX\n\t\t\t\t\tFROM sc0001 x1 RIGHT JOIN sc0001b x2 on x1.ENABLE_ACTUAL=x2.ENABLE_ACTUAL \n\t\t\t\t\tWHERE x2.ENABLE_ACTUAL=2 AND x1.CREATED_BY='" . Yii::$app->user->identity->username . "';\t\t\t\t\t\n\t\t\t")->queryAll(), 'pagination' => ['pageSize' => 400]]); $aryPlanActual = ArrayHelper::toArray($_modalActualPlan->getModels()); //***Task foreach ($aryPlanActual as $row => $value) { if ($value['ENABLE_NM'] == 'PLAN') { $task[] = ["label" => "Planned", "processid" => strval($value['IDX']), "start" => Yii::$app->formatter->asDatetime($value['PLAN_DATE1'], 'php:Y-m-d'), "end" => Yii::$app->formatter->asDatetime($value['PLAN_DATE2'], 'php:Y-m-d'), "id" => strval($value['IDX']) . "-1", "color" => "#008ee4", "height" => "32%", "toppadding" => "12%"]; } elseif ($value['ENABLE_NM'] == 'ACTUAL') { $task[] = ["label" => "Actual", "processid" => strval($value['IDX']), "start" => Yii::$app->formatter->asDatetime($value['ACTUAL_DATE1'], 'php:Y-m-d'), "end" => Yii::$app->formatter->asDatetime($value['ACTUAL_DATE2'], 'php:Y-m-d'), "id" => strval($value['IDX']), "color" => "#6baa01", "toppadding" => "56%", "height" => "32%"]; } } // print_r($task); // die(); $cntTask = sizeof($taskCtg); $maxRow = $cntTask <= 26 ? 26 - $cntTask : $cntTask; /* if($cntTask==0){ $maxRow=29; }elseif($cntTask<=29){ $maxRow=29-$cntTask; }else{ $maxRow=$cntTask; } */ for ($x = 0; $x <= $maxRow; $x++) { $taskCtgKosong[] = ['label' => '', 'id' => '']; } $mrgTaskCtg = ArrayHelper::merge($taskCtg, $taskCtgKosong); for ($x = 0; $x <= $maxRow; $x++) { $taskPICKosong[] = ['label' => '']; } $mrgtaskPIC = ArrayHelper::merge($taskPIC, $taskPICKosong); $rslt = '{ "chart": { "subcaption": "Pilot Project Planned vs Actual", "dateformat": "yyyy-mm-dd", "outputdateformat": "ddds mns yy", "ganttwidthpercent": "70", "ganttPaneDuration": "50", "ganttPaneDurationUnit": "d", "flatScrollBars": "0", "fontsize": "14", "exportEnabled": "1", "plottooltext": "$processName{br} $label starting date $start{br}$label ending date $end", "theme": "fint" }, "categories": [ { "bgcolor": "#33bdda", "align": "middle", "fontcolor": "#ffffff", "fontsize": "12", "category": ' . Json::encode($monthCtg->getModels()) . ' }, { "bgcolor": "#ffffff", "fontcolor": "#1288dd", "fontsize": "11", "isbold": "1", "align": "center", "category": ' . Json::encode($weekCtg->getModels()) . ' } ], "processes": { "headertext": "Pilot Task", "fontcolor": "#000000", "fontsize": "10", "isanimated": "1", "bgcolor": "#6baa01", "headervalign": "middle", "headeralign": "center", "headerbgcolor": "#6baa01", "headerfontcolor": "#ffffff", "headerfontsize": "12", "width":"200", "align": "left", "isbold": "1", "bgalpha": "25", "process": ' . Json::encode($mrgTaskCtg) . ' }, "datatable": { "headervalign": "bottom", "datacolumn": [ { "headertext": "PIC", "fontcolor": "#000000", "fontsize": "10", "isanimated": "1", "bgcolor": "#6baa01", "headervalign": "middle", "headeralign": "center", "headerbgcolor": "#6baa01", "headerfontcolor": "#ffffff", "headerfontsize": "12", "width":"100", "align": "left", "isbold": "1", "bgalpha": "25", "text": ' . Json::encode($mrgtaskPIC) . ' } ] }, "tasks": { "task":' . Json::encode($task) . ' } }'; return json::decode($rslt); }
protected function prnt2category_month() { $query = Cnfmonth::find(); $ctg = new ActiveDataProvider(['query' => $query, 'pagination' => ['pageSize' => 24]]); return Json::encode($ctg->getModels()); }
/** * FUSIONCHAT GANTT PLAN ACTUAL * Status : Fixed, Dept. * ========== BACA ================ * UPDATE * Locate : Tab View Pilot Project. * 1. update Source : chart,categories * @since 1.1 * author piter novian [ptr.nov@gmail.com]. */ public function actionChartGanttPlanActual() { //***kategory Month $monthCtg = new ActiveDataProvider(['query' => Cnfmonth::find()->asArray(), 'pagination' => ['pageSize' => 24]]); $a = ArrayHelper::toArray($monthCtg->getModels()); $monthCategory = Json::encode($a); //***kategory Week $weekCtg = new ActiveDataProvider(['query' => Cnfweek::find(), 'pagination' => ['pageSize' => 200]]); $weekCategory = Json::encode($weekCtg->getModels()); //***get Data Pilotproject $_modalPilot = new ActiveDataProvider(['query' => Pilotproject::find()->Where(['CREATED_BY' => Yii::$app->user->identity->username]), 'pagination' => ['pageSize' => 200]]); //***Task $taskPIC = []; foreach ($_modalPilot->getModels() as $row => $value) { $taskCtg[] = ['label' => $value['PILOT_NM'], 'id' => $value['ID']]; $taskPIC = ['label' => $value['CREATED_BY']]; $task[] = ["label" => "Planned", "processid" => $value['ID'], "start" => Yii::$app->formatter->asDatetime($value['PLAN_DATE1'], 'php:d/m/Y'), "end" => Yii::$app->formatter->asDatetime($value['PLAN_DATE2'], 'php:d/m/Y'), "id" => $value['ID'] . "-1", "color" => "#008ee4", "height" => "32%", "toppadding" => "12%"]; } $dataTaskPic = Json::encode($taskPIC); $rslt = '{ "chart": { "subcaption": "Pilot Project Planned vs Actual", "dateformat": "dd/mm/yyyy", "outputdateformat": "ddds mns yy", "ganttwidthpercent": "70", "ganttPaneDuration": "50", "ganttPaneDurationUnit": "d", "height":"500%", "fontsize": "14", "plottooltext": "$processName{br} $label starting date $start{br}$label ending date $end", "theme": "fint" }, "categories": [ { "bgcolor": "#33bdda", "align": "middle", "fontcolor": "#ffffff", "fontsize": "12", "category": ' . $monthCategory . ' }, { "bgcolor": "#ffffff", "fontcolor": "#1288dd", "fontsize": "11", "isbold": "1", "align": "center", "category": ' . $weekCategory . ' } ], "processes": { "headertext": "Pilot Task", "fontsize": "12", "fontcolor": "#000000", "fontsize": "10", "isanimated": "1", "bgcolor": "#6baa01", "headervalign": "middle", "headeralign": "center", "headerbgcolor": "#6baa01", "headerfontcolor": "#ffffff", "headerfontsize": "16", "width":"200", "align": "left", "isbold": "1", "bgalpha": "25", "process": [ { } ] }, "datatable": { "headervalign": "bottom", "datacolumn": [ { "headertext": "PIC", "fontcolor": "#000000", "fontsize": "10", "isanimated": "1", "bgcolor": "#6baa01", "headervalign": "middle", "headeralign": "center", "headerbgcolor": "#6baa01", "headerfontcolor": "#ffffff", "headerfontsize": "16", "width":"150", "align": "left", "isbold": "1", "bgalpha": "25", "text": [ ] } ] }, }'; return $rslt; }