app = $app;
$this->db = $db;
$this->web_app = $session->get('WEB_APP');
$this->id_cab = (int) $session->get('APP_INV')['CABANGID'];
}
public function info_iklan() {
$info_iklan = '
'; $iklan = 0;
$query = $this->db->runQuery("SELECT * FROM disp_promo WHERE Aktif=1 AND Tipe=2 AND CabID IN (?) AND Image IS NOT NULL ORDER BY Tanggal", [[0,$this->id_cab]]);
while ($row = $query->fetch(SimplePdo::FETCH_ASSOC)) {
$info_iklan .= '
';
$iklan++;
}
if ($iklan == 0) $info_iklan .= '
';
$info_iklan .= '
';
$this->app->json([ 'html' => $info_iklan ]);
}
public function info_promo() {
$info_promo = ''; $promo = 0;
$query = $this->db->runQuery("SELECT * FROM disp_promo WHERE Aktif=1 AND Tipe=1 AND CabID IN (?) ORDER BY Tanggal, PromoID", [[0, $this->id_cab]]);
while ($row = $query->fetch(SimplePdo::FETCH_ASSOC)) {
$_text = str_replace(["[br]","[i]","[/i]","[b]","[/b]"], ["
","
","","
",""], $row['Info']);
$_text = '
' . $_text . '';
if (!empty($row['Image'])) {
$_text = '
";
}
$info_promo .= '
'.$_text."
";
$promo++;
}
$info_promo .= "
";
$this->app->json([ 'html' => $info_promo ]);
}
public function count_delay() { //todo: ganti ke socket-io
$apos = $this->get_pos();
$ajson = [];
$ajson['total'] = $this->db->fetchField("SELECT SUM(-Qty*(Harga_Jual-Disk_Rupiah)) Total FROM tmp_inv_detail WHERE No_Ref=? AND Unix=?", [$apos['No_Pos'], $apos['Unix']]) ?? 0;
$ajson['thank'] = $this->db->fetchField("SELECT IF(No_Cetak='',0,1) Ada FROM disp_login WHERE UserID=? AND Unix=?", [$apos['UserID'], $apos['Unix']]) ?? 0;
$this->app->json($ajson);
}
public function shop() {
$this->app->json(['html' => '
'
]);
}
public function info_shop() {
$apos = $this->get_pos();
$ashop = ['Total'=>0, 'Item'=>0, 'Qty'=>0];
$row = $this->db->fetchRow("SELECT SUM(-Qty*(Harga_Jual-Disk_Rupiah)) Total,COUNT(*) Item, SUM(-Qty) Qty FROM tmp_inv_detail WHERE No_Ref=? AND Unix=?", [$apos['No_Pos'], $apos['Unix']]);
if ($row) $ashop = $row->getData();
$info_barang = '
';
if ($ashop['Item'] > 0) {
$row = $this->db->fetchRow("SELECT * FROM (SELECT -D.Qty Qty2,D.Harga_Jual,P.Nama_Lengkap FROM tmp_inv_detail D LEFT JOIN vi_inv_produk P ON (D.InvID=P.InvID AND D.SatuanID=P.SatuanID) WHERE D.No_Ref=? AND D.Unix=? AND D.Promo<2 ORDER BY D.ID DESC LIMIT 1) A", [$apos['No_Pos'], $apos['Unix']]);
if ($row) {
$info_barang = ''.substr($row['Nama_Lengkap'], 0, 26).'
Qty : '.rupiah($row['Qty2']).' / Rp. '.rupiah($row['Harga_Jual']).'
';
}
}
$ajson['Info_Barang'] = $info_barang;
$ajson['Total_Harga'] = rupiah($ashop['Total']);
$ajson['Info_Qty'] = rupiah($ashop['Item'])." Items
".rupiah($ashop['Qty'])." Qty";
$this->app->json($ajson);
}
public function thank() {
$apos = $this->get_pos();
$anota = $this->db->fetchRow("SELECT J.*,(J.Total_Bayar-J.Total_Jual+J.Total_Diskon+J.Total_Potong) Total_Sisa,UCASE(LEFT(B.Nama_Kartu,23)) Kode_Kartu2,UCASE(J.Nama_Kartu) Nama_Kartu2,RIGHT(J.No_Kartu,4) No_Kartu2 FROM inv_jual J LEFT JOIN para_rek_pos B ON (J.KartuID=B.KartuID) WHERE J.No_Jual=?", [$apos['No_Cetak']]);
$html = '
';
if ($anota) {
$nhemat = $anota['Total_Diskon'] + $anota['Total_Potong'];
$html .= 'Jumlah Belanja Anda Rp. '.rupiah($anota['Total_Jual']-$anota['Total_Diskon']).'
';
if ($anota['Total_Diskon'] > 0) $html .= 'Anda Mendapatkan Diskon Rp. '.rupiah($anota['Total_Diskon']).'
';
if ($anota['Total_Potong'] > 0) $html .= 'Anda Mendapatkan Potongan Promo Rp. '.rupiah($anota['Total_Potong']).'
';
$html .= 'Jumlah Pembayaran Anda Rp. '.rupiah($anota['Total_Bayar']).'
';
if ($anota['KartuID'] === 0) {
$html .= 'Sisa Pembayaran Rp. '.rupiah($anota['Total_Sisa']).'
';
} else {
$html .= 'Anda Melakukan Pembayaran Dengan :
'.$anota['Kode_Kartu2']." - ".$anota['No_Kartu2'].'
';
}
if ($nhemat > 0) $html .= 'Anda Mendapatkan Penghematan Sebesar Rp. '.rupiah($nhemat).'
';
}
$html .= '
Terima Kasih Telah Berbelanja di Toko Kami
Selamat Berbelanja Kembali :)
';
$this->app->json([ 'html' => $html ]);
}
public function close_thank() {
$apos = $this->get_pos();
$this->db->runQuery("UPDATE disp_login SET No_Cetak='' WHERE UserID=? AND Unix=?", [$apos['UserID'], $apos['Unix']]);
}
public function config() {
$ajson = ['BANNER_TEXT' => "", 'PROMO_IDLE' => 0, 'PROMO_DURASI' => 1000];
$ainfo = $this->db->fetchRow("SELECT * FROM disp_config WHERE REG_ID=?", [$this->web_app['REG_ID']]);
if ($ainfo) {
$ajson['BANNER_TEXT'] = ''.$ainfo['Text_Run'].'
';
$ajson['PROMO_IDLE'] = $ainfo['Promo_Idle'];
$ajson['PROMO_DURASI'] = (int) $ainfo['Promo_Durasi'] * 1000;
$ajson['ID_CABANG'] = $this->id_cab;
}
$this->app->json($ajson);
}
public function index() {
$this->app->json(['html' => '
'
]);
}
private function get_pos(): array {
$pos = ['No_Pos' => "", 'UserID' => 0, 'Unix' => ""];
$row = $this->db->fetchRow("SELECT * FROM disp_login WHERE IP=? AND CabID=? ORDER BY Date DESC", [$this->app->request()->ip, $this->id_cab]);
if ($row) $pos = $row->getData();
return $pos;
}
}