Query("SELECT * FROM inv_produk_grup WHERE Aktif=1 ORDER BY Grup_InvID"); while ($db->Next()) $agrup[$db->Row("Grup_InvID")] = $db->Row("Kode_Grup"); $db->Query("SELECT A.*,P.Grup_InvID FROM (SELECT CONCAT(YEAR(Tgl_Ref),'-',LPAD(MONTH(Tgl_Ref),2,'0')) Thn_Bln,InvID,SUM(-Qty*Harga_Jual) Jumlah FROM inv_detail WHERE NotaID=5 AND Tgl_Ref>=(LAST_DAY((SELECT Tgl_Jual FROM inv_jual ORDER BY Tgl_Jual DESC LIMIT 1)) + INTERVAL 1 DAY - INTERVAL 6 MONTH) GROUP BY YEAR(Tgl_Ref),MONTH(Tgl_Ref),InvID) A LEFT JOIN inv_produk P ON (P.InvID=A.InvID) ORDER BY A.Thn_Bln,P.Grup_InvID"); $ajson['tipe'] = "chart"; $adata['datasets'] = []; $adata['labels'] = ["Belum Ada Penjualan"]; if ($db->RecordCount()>0) { $adata['labels'] = []; } $ajual = []; $abln = []; while ($db->Next()){ $ajual[$db->Row("Grup_InvID")][$db->Row("Thn_Bln")] = $db->Row("Jumlah", 0) / 1000000; if (!in_array($db->Row("Thn_Bln"), $abln, true)) array_push($abln, $db->Row("Thn_Bln")); } asort($abln); foreach ($abln as $_val) { $adata['labels'][] = bulan_array()[intval(explode("-",$_val)[1])]; } foreach ($agrup as $id_grup => $n_grup) { $atmp = []; foreach ($abln as $_val) { $atmp[] = $ajual[$id_grup][$_val] ?? 0; } $adata['datasets'][] = ['data'=>$atmp, 'label'=>$n_grup, 'backgroundColor'=>random_color(), 'datalabels'=>['align'=>"end", 'anchor'=>"end", 'color'=>"#36A2EB"]]; } $ajson['chart'] = ['type' => "bar", 'data' => $adata, 'options' => [ 'responsive' => true, 'aspectRatio' => 1.5, 'plugins' => [ 'legend' => ['position' => "bottom"], 'title' => ['display' => true, 'font' => ['size' => 20, 'weight' => 'normal'], 'text' => 'Penjualan 6 Bulan Terakhir'], 'subtitle' => ['display' => true, 'position' => "top", 'text' => '(dalam jutaan)'] ], 'scales' => ['y' => ['min' => 0, 'ticks' => ['stepSize' => 1], 'title' => ['display' => true, 'font' => ['size' => 16], 'text' => "Nilai Penjualan"]]], 'layout' => ['padding' => ['top' => 10]] ] ]; } else if ( $data == "default" ) { $aapp = $_SESSION['__WEB_APP']; $ajson['content'] = '

'.$aapp['REG_ADDRESS'].'
'.$aapp['REG_CITY'].' '.$aapp['REG_POSTCODE'].'

Register ID : '.Register::reg_id().'

'.$aapp['APP_NAMES'].'
'.$aapp['APP_NAME'].' Ver. '.$aapp['APP_VER'].'
Updated : '.$aapp['APP_UPDATED'].'

'; } send_json($ajson); ?>