Advertisement
jamboljack

View Cetak Dot

Dec 9th, 2014
296
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 11.32 KB | None | 0 0
  1. <?php
  2. echo "<link rel='shortcut icon' href='".base_url()."img/icon.png'>
  3. <title>Cetak FAKO Dot Matrix</title>";
  4.  
  5. function addHeader($Provinsi, $Kabupaten, $MasaBerlaku, $Tanggal1, $Tanggal2, $Jalur1, $Jalur2, $Jalur3, $Jalur4, $Gunakan, $Identitas, $NamaPenerima, $AlamatPenerima, $TelpPenerima,
  6. $lokasiBongkar, $Transit){
  7.     $returnValue = "";
  8.     $bold0 = Chr(27) . Chr(69);
  9.     $bold1 = Chr(27) . Chr(70);
  10.    
  11.     $limitPenerima = 45;
  12.     $limitTelp = 45;
  13.     $limitAlamat = 45;
  14.     $limitBongkar = 45;
  15.    
  16.     $txtTelp = "";
  17.     $txtPenerima = "";
  18.     $txtAlamat = "";
  19.     $txtBongkar = "";
  20.    
  21.     // Penerima
  22.     if(strlen($NamaPenerima) <= $limitPenerima){
  23.         $txtPenerima = str_pad($NamaPenerima, $limitPenerima);
  24.     } else {
  25.         $txtPenerima = substr($NamaPenerima, 0, $limitPenerima);
  26.     }
  27.  
  28.     // Bongkar
  29.     if(strlen($lokasiBongkar) <= $limitBongkar){
  30.         $txtBongkar = str_pad($lokasiBongkar, $limitBongkar);
  31.     } else {
  32.         $txtBongkar = substr($lokasiBongkar, 0, $limitBongkar);
  33.     }
  34.    
  35.     // Alamat
  36.     if(strlen($AlamatPenerima) <= $limitAlamat){
  37.         $txtAlamat = str_pad($AlamatPenerima, $limitAlamat);
  38.     } else {
  39.         $txtAlamat = substr($AlamatPenerima, 0, $limitAlamat);
  40.     }
  41.    
  42.     // Telp
  43.     if(strlen($TelpPenerima) <= $limitTelp){
  44.         $txtTelp = str_pad($TelpPenerima, $limitTelp);
  45.     } else {
  46.         $txtTelp = substr($TelpPenerima, 0, $limitTelp);
  47.     }  
  48.    
  49.     // Enter 15 kali
  50.     $returnValue.="".chr(10).chr(10).chr(10).chr(10).chr(10).chr(10).chr(10).chr(10).chr(10).chr(10);
  51.    
  52.     // Pengangkutan
  53.     $returnValue.= "                     ".$Provinsi."                                                                           ".$MasaBerlaku."    ".ucwords(terbilang($MasaBerlaku))."  ".chr(10);
  54.     $returnValue.= "                     ".$Kabupaten."                                                                               ".$Tanggal1."   ".$Tanggal2." ".chr(10).chr(10).chr(10);
  55.     $returnValue.= "                                                                                     ".$Jalur1."        ".$Jalur2."      ".$Jalur3."      ".$Jalur4." ".chr(10);
  56.     $returnValue.= "                                                                                     ".$Gunakan." ".chr(10);   
  57.     $returnValue.= "                                                                                     ".$Identitas." ".chr(10);
  58.     $returnValue.="".chr(10).chr(10).chr(10).chr(10).chr(10);
  59.     // Penerima
  60.     $returnValue.= "                     ".$txtPenerima."                      ".chr(10);
  61.     $returnValue.= "                                                                                     ".$txtBongkar." ".chr(10);
  62.     $returnValue.= "                     ".$txtAlamat."                                            ".chr(10);      
  63.     $returnValue.="".chr(10);
  64.     // Tujuan Pengangkutan
  65.     $returnValue.= "                     ".$txtTelp."                   ".$Transit." ".chr(10);
  66.    
  67.     return $returnValue;
  68. }
  69.  
  70. function addItemFAKO($Kayu, $Tipis, $Tebal, $Sempit, $Lebar, $Pendek, $Panjang, $Jumlah, $Volume, $Keterangan) {
  71.     // Limit Character
  72.     $limitKayu = 32;
  73.     $limitJumlah = 24;
  74.     $limitVolume = 24;
  75.     $limitKeterangan = 28;
  76.    
  77.     // Variabel
  78.     $txtKayu = "";
  79.     $txtJumlah = "";
  80.     $txtVolume = "";
  81.     $txtKeterangan = "";
  82.  
  83.     // Kayu
  84.     if(strlen($Kayu) <= $limitKayu){
  85.         $txtKayu = str_pad($Kayu, $limitKayu);
  86.     } else {
  87.         $txtKayu = substr($Kayu, 0, $limitKayu);
  88.     }
  89.        
  90.     // Jumlah
  91.     if(strlen($Jumlah) <= $limitJumlah){
  92.         $txtJumlah = str_pad($Jumlah, $limitJumlah);
  93.     } else {
  94.         $txtJumlah = substr($Jumlah, 0, $limitJumlah);
  95.     }
  96.    
  97.     // Volume
  98.     if(strlen($Volume) <= $limitVolume){
  99.         $txtVolume = str_pad($Volume, $limitVolume);
  100.     } else {
  101.         $txtVolume = substr($Volume, 0, $limitVolume);
  102.     }
  103.    
  104.     // Keterangan
  105.     if(strlen($Keterangan) <= $limitKeterangan){
  106.         $txtKeterangan = str_pad($Keterangan, $limitKeterangan);
  107.     } else {
  108.         $txtKeterangan = substr($Keterangan, 0, $limitKeterangan);
  109.     }
  110.    
  111.     $returnValue = "";
  112.     $returnValue.="".chr(10).chr(10).chr(10).chr(10).chr(10).chr(10);
  113.     // $returnValue.= "      1.   " .$Tipis."/".$Tebal."x".$Sempit."/".$Lebar."x".$Pendek."/".$Panjang. "               " .$txtJumlah. " Kpg   " .$txtVolume. " m3  " .$txtKeterangan. "".chr(10);
  114.     $returnValue.= "      1.   " .$txtKayu. " " .$txtJumlah. " Kpg   " .$txtVolume. " m3   " .$txtKeterangan. "".chr(10);  
  115.     return $returnValue;
  116. }
  117.  
  118. function addItemAFAL($NamaKayu, $JumlahAfal, $VolumeAfal, $KetAfal) {
  119.     // Limit Character
  120.     $limitNamaKayu = 32;
  121.     $limitJumlah = 29;
  122.     $limitVolume = 24;
  123.     $limitKeterangan = 28;
  124.    
  125.     // Variabel
  126.     $txtNamaKayu   = "";
  127.     $txtJumlahAfal = "";
  128.     $txtVolumeAfal = "";
  129.     $txtKeterangan = "";
  130.  
  131.     // Nama Kayu
  132.     if(strlen($NamaKayu) <= $limitNamaKayu){
  133.         $txtNamaKayu = str_pad($NamaKayu, $limitNamaKayu);
  134.     } else {
  135.         $txtNamaKayu = substr($NamaKayu, 0, $limitNamaKayu);
  136.     }
  137.    
  138.     // Jumlah
  139.     if(strlen($JumlahAfal) <= $limitJumlah){
  140.         $txtJumlahAfal = str_pad($JumlahAfal, $limitJumlah);
  141.     } else {
  142.         $txtJumlahAfal = substr($JumlahAfal, 0, $limitJumlah);
  143.     }
  144.    
  145.     // Volume
  146.     if(strlen($VolumeAfal) <= $limitVolume){
  147.         $txtVolumeAfal = str_pad($VolumeAfal, $limitVolume);
  148.     } else {
  149.         $txtVolumeAfal = substr($VolumeAfal, 0, $limitVolume);
  150.     }
  151.    
  152.     // Keterangan
  153.     if(strlen($KetAfal) <= $limitKeterangan){
  154.         $txtKeterangan = str_pad($KetAfal, $limitKeterangan);
  155.     } else {
  156.         $txtKeterangan = substr($KetAfal, 0, $limitKeterangan);
  157.     }
  158.                            
  159.     $returnValue = "";
  160.     $returnValue.= "      2.   " .$txtNamaKayu. " " .$txtJumlahAfal. "  " .$txtVolumeAfal. " m3  " .$txtKeterangan. " ".chr(10);
  161.     return $returnValue;
  162. }
  163.  
  164. function FooterJumlahTerbilang($TotalJumlah, $TotalVolume, $NoDKO, $TglDKO) {
  165.     // Limit
  166.     $limitJumlah = 24;
  167.     $limitVolume = 24;
  168.     $limitNoDKO  = 40;
  169.  
  170.     // Variabel
  171.     $txtTotalJumlah = "";
  172.     $txtTotalVolume = "";
  173.     $txtNoDKO       = "";
  174.  
  175.     // Jumlah
  176.     if(strlen($TotalJumlah) <= $limitJumlah){
  177.         $txtTotalJumlah = str_pad($TotalJumlah, $limitJumlah);
  178.     } else {
  179.         $txtTotalJumlah = substr($TotalJumlah, 0, $limitJumlah);
  180.     }
  181.    
  182.     // Volume
  183.     if(strlen($TotalVolume) <= $limitVolume){
  184.         $txtTotalVolume = str_pad($TotalVolume, $limitVolume);
  185.     } else {
  186.         $txtTotalVolume = substr($TotalVolume, 0, $limitVolume);
  187.     }
  188.  
  189.     // No DKO
  190.     if(strlen($NoDKO) <= $limitNoDKO){
  191.         $txtNoDKO = str_pad($NoDKO, $limitNoDKO);
  192.     } else {
  193.         $txtNoDKO = substr($NoDKO, 0, $limitNoDKO);
  194.     }  
  195.    
  196.     $returnValue = "";
  197.     $returnValue.= "".chr(10);
  198.     $returnValue.= "                                            " .$txtTotalJumlah." Kpg   " .$txtTotalVolume." m3  ".chr(10).chr(10);
  199.     $returnValue.= "                                           " .ucwords(terbilang($txtTotalJumlah))." Keping Sama Dengan " .ucwords(terbilangkoma($txtTotalVolume,4))."Meter Kubik".chr(10);
  200.     $returnValue.= "".chr(10).chr(10);
  201.     $returnValue.= "                         " .$txtNoDKO."                 " .$TglDKO." ".chr(10);
  202.     return $returnValue;
  203. }
  204.  
  205. function Penerbit($NamaPenerbit, $NoRegister, $TglTerbit, $Lokasi) {
  206.     $returnValue = "";
  207.     $bold0 = Chr(27) . Chr(69);
  208.     $bold1 = Chr(27) . Chr(70);
  209.    
  210.     $returnValue.= "".chr(10).chr(10).chr(10);
  211.     $returnValue.= "                         ".$bold0.$NamaPenerbit.$bold1."".chr(10);
  212.     $returnValue.= "                         ".$bold0.$NoRegister.$bold1."".chr(10);
  213.     $returnValue.= "                         ".$TglTerbit."".chr(10);
  214.     $returnValue.= "                         ".$Lokasi."".chr(10);
  215.     $returnValue.= "".chr(10).chr(10).chr(10).chr(10).chr(10).chr(10); 
  216.     return $returnValue;
  217. }
  218.  
  219. /* CETAK */
  220. $tmpdir = sys_get_temp_dir(); # ambil direktori temporary untuk simpan file.
  221. $file= tempnam($tmpdir, 'cetak'); # nama file temporary yang akan dicetak
  222. $handle= fopen($file, 'w');
  223. $bold0 = Chr(27) . Chr(69);
  224. $bold1 = Chr(27) . Chr(70);
  225.    
  226. $initialized= chr(27).chr(64);
  227. $leftMargin = chr(27).chr(108).chr(1);
  228.  
  229. $condensed = Chr(27).Chr(33).Chr(4);
  230. $draft = Chr(27).Chr(120).Chr(48);
  231.  
  232. $Data= $initialized;
  233. $Data.= $leftMargin;
  234. $Data.= $condensed;
  235. $Data.= $draft;
  236.  
  237. // Data Perusahaan
  238. $Provinsi   = $fako->provinsi;
  239. $Kabupaten  = $fako->kabupaten;
  240.  
  241. $MasaBerlaku = $fako->ms_laku;
  242.  
  243. // Tanggal Indonesia
  244. $Tgl1    = $fako->tgl1;
  245. $pisah = explode("-", $Tgl1);
  246. $tgl = $pisah[2];
  247. $bln = $pisah[1];
  248. $thn = $pisah[0];
  249. $Tanggal1   = $tgl.'-'.$bln.'-'.$thn;
  250.  
  251. $Tgl2    = $fako->tgl2;
  252. $pisah2 = explode("-", $Tgl2);
  253. $tgl2 = $pisah2[2];
  254. $bln2 = $pisah2[1];
  255. $thn2 = $pisah2[0];
  256. $Tanggal2   = $tgl2.'-'.$bln2.'-'.$thn2;
  257.  
  258. $Jalur       = $fako->jalur;
  259. if ($Jalur == "Darat") {
  260.     $Jalur1 = "V";
  261.     $Jalur2 = "";
  262.     $Jalur3 = "";
  263.     $Jalur4 = "";
  264. } elseif ($Jalur == "Sungai") {
  265.     $Jalur1 = "";
  266.     $Jalur2 = "V";
  267.     $Jalur3 = "";
  268.     $Jalur4 = "";
  269. } elseif ($Jalur == "Laut") {
  270.     $Jalur1 = "";
  271.     $Jalur2 = "";
  272.     $Jalur3 = "V";
  273.     $Jalur4 = "";
  274. } elseif ($Jalur == "Udara") {
  275.     $Jalur1 = "";
  276.     $Jalur2 = "";
  277.     $Jalur3 = "";
  278.     $Jalur4 = "V";
  279. }
  280. $Gunakan     = $fako->gunakan;
  281. $Identitas   = $fako->identitas;
  282.  
  283. // Penerima
  284. $NamaPenerima= $fako->nama_penerima;
  285. $AlamatPenerima = $fako->alamat_terima;
  286. $TelpPenerima = $fako->telepon;
  287. $lokasiBongkar = $fako->lokasi_bongkar;
  288. $Transit     = $fako->transit;
  289.  
  290. // Isi FAKO Non Afal
  291. $Tipis      = $tipis->tebal;
  292. $Tebal      = $tebal->tebal;
  293. $Sempit     = $sempit->lebar;
  294. $Lebar      = $lebar->lebar;
  295. $Pendek     = $pendek->panjang;
  296. $Panjang    = $panjang->panjang;
  297. $Jumlah     = $keping->keping;
  298. $Volume     = $volume->volume;
  299. $Keterangan = "UD. JATI NUGROHO";
  300. $Kayu       = $Tipis."/".$Tebal."x".$Sempit."/".$Lebar."x".$Pendek."/".$Panjang;
  301.  
  302. // Isi FAKO Afal
  303. $nTotalRowAfal = count($afal);
  304. if ($nTotalRowAfal > 0) {
  305.     $NamaKayu   = $afal->nama_jenis_kayu;
  306.     $JumlahAfal = "";
  307.     $VolumeAfal = $volume_afal->volume;
  308.     $KetAfal    = "";
  309. }
  310.  
  311. // Total Jumalah
  312. $TotalJumlah = $keping->keping;
  313. if (!empty($VolumeAfal)) {
  314.     $v_afal = $volume_afal->volume;
  315. } else {
  316.     $v_afal=0;
  317. }
  318.  
  319.  
  320. $TotalVolume = ($Volume+$v_afal);
  321.  
  322. // DKO
  323. $NoDKO       = $fako->no_dko;
  324. $TglDKO      = tgl_indo($fako->tgl_dko);
  325.  
  326. // Penerbit
  327. $NamaPenerbit = $fako->nama_penerbit;
  328. $NoRegister   = $fako->no_register;
  329. $TglTerbit    = tgl_indo($fako->tgl_dko);
  330. $Lokasi       = $fako->alamat;
  331.  
  332. // Isi Data
  333. $Data.= addHeader($Provinsi, $Kabupaten, $MasaBerlaku, $Tanggal1, $Tanggal2, $Jalur1, $Jalur2, $Jalur3, $Jalur4, $Gunakan, $Identitas, $NamaPenerima, $AlamatPenerima, $TelpPenerima, $lokasiBongkar, $Transit);
  334. // Isi ke Record Non Afal          
  335. $Data.= addItemFAKO($Kayu, $Tipis, $Tebal, $Sempit, $Lebar, $Pendek, $Panjang, $Jumlah, $Volume, $Keterangan);
  336. // Jika ada Data Afal
  337. if ($nTotalRowAfal > 0) {
  338.     $Data.= addItemAFAL($NamaKayu, $JumlahAfal, $VolumeAfal, $KetAfal);
  339.     $Data.= chr(10).chr(10).chr(10).chr(10).chr(10).chr(10).chr(10);
  340. } else {
  341.     $Data.= chr(10).chr(10).chr(10).chr(10).chr(10).chr(10).chr(10).chr(10);
  342. }
  343. // Total Jumlah dan Terbilang
  344. $Data.= FooterJumlahTerbilang($TotalJumlah, $TotalVolume, $NoDKO, $TglDKO);
  345. // Penerbit
  346. $Data.= Penerbit($NamaPenerbit, $NoRegister, $TglTerbit, $Lokasi);     
  347.        
  348. fwrite($handle, $Data);
  349. fclose($handle);
  350. $time = time();
  351. $filename = "ReportFAKODot_".$time;
  352. $pdfFilePath = FCPATH."/download/reportfako/$filename.txt";
  353. copy($file, $pdfFilePath);
  354.  
  355. // Cetak ke Printer
  356. //$lokasi_printer = $printer->lokasi_printer;
  357. //copy($file, $lokasi_printer."/cetak.txt");
  358.  
  359. unlink($file);
  360. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement