<?php

class Dukut_model extends CI_Model
{

	 

	 
	private $_table = 'transaksi';
	 
	 
	public function get_backup()
	{

		/* digunakan untuk menjalankan query backup ke tabel __rek_pembantu_produk__1010030_backup nya */
// kosongkan __rek_pembantu_produk__1010030_backup
// isi dengan $records
/*
$this->db->empty_table('__rek_pembantu_produk__1010030_backup'); 

        // cari semua produk id yang ingin ditampilkan list debet akhirnya
        $query = "(SELECT distinct prod.id as id  ";
        $query = $query . "FROM produk prod  ";
        //$query = $query . "WHERE  (prod.id<= 641  ) " ;
        $query = $query . "order by prod.id asc ";       
         $query = $query . " )";
         // jalankan query ambil semua produk idnya taruh ke var listIdProduk 
        $listIdProduk   = $this->db->query($query);
        $records = array();
		$querybackup = "";
        foreach ($listIdProduk->result() as $row) {
           
           // untuk menambahkan ke tabel backupnya
           $querybackup = "(SELECT rek.*  ";
           $querybackup = $querybackup . "FROM produk prod inner join __rek_pembantu_produk__1010030 rek  ";
           $querybackup = $querybackup . "WHERE rek.produk_id = prod.id and prod.id = '".$row->id."' and rek.cabang_id = '100' AND rek.gudang_id = '-1000' AND  DATE(rek.dtime) <= '2024-12-31' ORDER BY  rek.dtime  DESC  limit 1 )" ;
           $mutasiprodukbackup   = $this->db->query($querybackup); 
           foreach ($mutasiprodukbackup->result() as $rowbackup) {
          $this->db->insert('__rek_pembantu_produk__1010030_backup', $rowbackup ); 
           } 
		}
*/
         return 200; // return sembarang , karena sebenarnya fungsi ini sebuah procedure tidak perlu kembalian
 	}

	public function get_published_count()
	{
// cari semua produk id yang ingin ditampilkan list debet akhirnya
$query = "(SELECT  DISTINCT `transaksi`.id_master as id_master , COUNT(id) AS jml   ";
$query = $query . "FROM   `beta`.`transaksi` ";
//$query = $query . "WHERE  (prod.id<= 641  ) " ;
$query = $query . "GROUP BY `transaksi`.`id_master` ASC ";       
 $query = $query . " )";
 // jalankan query ambil semua produk idnya taruh ke var listIdProduk 
$listIdProduk   = $this->db->query($query);


return $listIdProduk->num_rows();
	}


	public function get_published($limit = null, $offset = null)
	{
		if (!$limit && !$offset) {

        // cari semua produk id yang ingin ditampilkan list debet akhirnya
        $query = "(SELECT  DISTINCT `transaksi`.id_master as id , COUNT(id) AS jml  ";
        $query = $query . " FROM   `beta`.`transaksi`  ";
        $query = $query . " WHERE id_master = '269563' " ;
        $query = $query . " GROUP BY `transaksi`.`id_master` ASC limit 0,20 ";       
         $query = $query . " )";

         // jalankan query ambil semua produk idnya taruh ke var listIdProduk 
        $listIdProduk   = $this->db->query($query);
        
        $records =  array();
		 
        foreach ($listIdProduk->result() as $row) {
           /* untuk mengambil data yang untuk ditampilkan */
			$query = "( select `transaksi`.id_master ,customers_nama,id, nomer,jenis, dtime";
            $query = $query . " from `beta`.`transaksi`";
            $query = $query . " WHERE id_master = '".$row->id."' and DATE(dtime) >= '2024-01-01' and DATE(dtime) <= '2024-12-31' ORDER BY `transaksi`.`id` ASC )" ;
                       
           $records[]  = $this->db->query($query)->result();
             
                       
		}


		} else {

	/* percobaan 1 */
// cari semua produk id yang ingin ditampilkan list debet akhirnya selanjutnya
$query = "(SELECT  DISTINCT `transaksi`.id_master as id , COUNT(id) AS jml  ";
$query = $query . " FROM   `beta`.`transaksi`  ";
$query = $query . " WHERE id_master = '269563'  " ;
$query = $query . " GROUP BY `transaksi`.`id_master` ASC limit ".$offset.",".$limit." ";       
 $query = $query . " )";
 // jalankan query ambil semua produk idnya taruh ke var listIdProduk 
$listIdProduk   = $this->db->query($query);
$records =  array();
$querybackup = "";
foreach ($listIdProduk->result() as $row) {
   /* untuk mengambil data yang untuk ditampilkan */
	$query = "(select `transaksi`.id_master ,customers_nama,id, nomer,jenis, dtime";
	$query = $query . " from `beta`.`transaksi`  ";
	$query = $query . " WHERE id_master = '".$row->id."' and DATE(dtime) >= '2024-01-01' and DATE(dtime) <= '2024-12-31' ORDER BY `transaksi`.`id` ASC )" ;
			   
   $records[]  = $this->db->query($query)->result();
	 
			   
}

 
 		}
 
	//return $this->db->query($query)->result();
    return $records;
}

	

}
 