Advertisement
Hindun_Sholeh

rekap lembur

Dec 4th, 2016
141
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 6.11 KB | None | 0 0
  1.  
  2.  
  3.                 <div class="row mt">
  4.                     <div class="col-lg-12">
  5.                       <div class="form-panel">
  6.                      
  7.                           <section id="unseen">
  8.                        
  9. <?php
  10.  
  11. $dbhost='localhost';
  12. $dbuser='root';
  13. $dbpass='';
  14. $dbname='dbpegawai';
  15. $db=new mysqli($dbhost,$dbuser,$dbpass,$dbname);
  16. $start_date=isset($_POST['start_date'])?$_POST['start_date']:'';
  17. $end_date=isset($_POST['end_date'])?$_POST['end_date']:'';
  18. $status=  isset($_POST['status'])?$_POST['status']:'';
  19. $sql="
  20. SELECT a.nid, b.nama, a.f1, a.f2, a.f3, a.f4,a.tanggal, DAY(tanggal) AS tgl
  21. FROM lembur a
  22. JOIN karyawan b USING(nid)
  23. WHERE 1=1 and status='$status'"
  24. .(!empty($start_date)?"AND a.tanggal>= '{$start_date}' ":"")
  25. .(!empty($end_date)?"AND a.tanggal<= '{$end_date}' ":"")
  26. ."ORDER BY b.nama,a.tanggal";
  27. $qry=$db->query($sql);
  28. $data=array();
  29. while($row=$qry->fetch_object()){
  30. if(!isset($data[$row->nid])){
  31. $data[$row->nid]=array();
  32. $data[$row->nid]['nama']=$row->nama;
  33. }
  34. $data[$row->nid][$row->tgl]=$row;
  35. }
  36.  
  37. $sql_2="SELECT nid, tanggal FROM piket WHERE  tanggal>= '$start_date' AND tanggal<= '$end_date'";
  38. $qry_2=$db->query($sql_2);
  39. $data_2=array();
  40. while($row_2=$qry_2->fetch_object()){
  41.     $xx = substr($row_2->tanggal, 8, 2);
  42.     $data_2[$row_2->nid][$xx]='';
  43. }
  44.  
  45. ?>
  46.                                        
  47.                
  48.                                              
  49. <form class="form-inline" method='post'  >
  50.    
  51.   <div class="form-group">
  52.             <input type="text" class="form-control date-picker" data-date-format="yyyy-mm-dd" name='start_date'placeholder="tanggal awal" />
  53.     </div>
  54. <div class="form-group">
  55.         <input type="text" class="form-control date-picker" data-date-format="yyyy-mm-dd" name='end_date' placeholder="tanggal akhir" />
  56.    </div>
  57.      <div class="form-group">
  58.                   <select name="status" class="form-control">
  59.                         <option value="organik">Organik</option>
  60.                         <option value="OJT">OJT</option>
  61.                         <option value="GSP">GSP</option>
  62.                 </select>
  63.              
  64.             </div>     
  65. <input type='submit' class="btn btn-theme"  name='submit' value='t                               ampilkan' />
  66. </form>
  67.  
  68.                
  69.            
  70. <?php
  71. $start_counter=!empty($start_date)?(int)substr($start_date,-2):1;
  72. $end_counter=!empty($end_date)?(int)substr($end_date,-2):31;
  73. ?>
  74.                        
  75.  <div class="row mt">
  76.   <div class="col-md-12">
  77.                    
  78.    <h4><i class="fa fa-angle-right"></i> tabel lembur</h4>                        
  79. <table  class="table table-bordered table-striped table-condensed" border='1'>
  80. <tr>
  81.     <th class="centered" rowspan='2'>No</th>
  82. <th class="centered" rowspan='2'>NID</th>
  83. <th class="centered" rowspan='2'>Nama</th>
  84. <th class="centered" rowspan='2'>Fakorial</th>
  85. <th class="centered" colspan='<?=($end_counter-$start_counter)+1;?>'>Tanggal</th>
  86. <th class="centered" rowspan='2'>Total Lembur</th>
  87. <th class="centered" rowspan='2'>Total Faktorial</th>
  88. <th class="centered" rowspan='2'>Total jam lembur</th>
  89. <th rowspan='2'>Total jam weekend</th>
  90. <th rowspan='2'>Total jam hari hari kerja</th>
  91. </tr>
  92. <tr>
  93. <?php
  94. for($i=$start_counter;$i<=$end_counter;$i++) echo "<th>$i</th>"; ?>
  95. </tr>
  96. <?php
  97. function isWeekend($date)
  98. {
  99.     $weekDay = date('w', strtotime($date));
  100.     return ($weekDay == 0 || $weekDay == 6);
  101. }
  102. function total_jam($data)
  103. {
  104.     $total = '';
  105.     //$total .= '('.$data[1].' ) + ('.$data[2].' ) + ('.$data[3].' ) + ('.$data[4].')'.'<br />';
  106.     //$total .= '('.($data[1]  ).') + ('.($data[2] ).') + ('.($data[3] ).') + ('.($data[4] ).')'.'<br />';
  107.     $total .= ($data[1] ) + ($data[2] ) + ($data[3] ) + ($data[4] );
  108.     return $total;
  109. }
  110. function total_faktorial($data)
  111. {
  112.     $total = '';
  113. //  $total .= '('.$data[1].' * 1.5) + ('.$data[2].' * 2) + ('.$data[3].' * 3) + ('.$data[4].' * 4)'.'<br />';
  114. //  $total .= '('.($data[1] * '1.5').') + ('.($data[2] * '2').') + ('.($data[3] * '3').') + ('.($data[4] * '4').')'.'<br />';
  115.     $total .= ($data[1] * '1.5') + ($data[2] * '2') + ($data[3] * '3') + ($data[4] * '4');
  116.     return $total;
  117. }
  118.  
  119. $nid=0;
  120. $no=0;
  121. foreach($data as $n=>$d)
  122. {
  123.     $total_lembur_hari_biasa = $total_lembur_hari_libur = 0;
  124.     $faktorial_array = array(
  125.         '1' => 0,
  126.         '2' => 0,
  127.         '3' => 0,
  128.         '4' => 0,
  129.     ); // default faktorial array
  130.     echo "<tr>";
  131.     echo    "<td class='centered' rowspan='4'>".(++$no)."</td>";
  132.     echo    "<td class='centered' rowspan='4'>{$n}</td>";
  133.     echo    "<td class='centered' rowspan='4'>{$d['nama']}</td>";
  134.  
  135.     for ($f = 1; $f <= 4; $f++) // loop 1 to 4
  136.     {
  137.         echo ($f!=1?"</tr><tr>":"")."<td class='centered'>f{$f}</td>";
  138.         $fak="f$f";
  139.         for($i=$start_counter;$i<=$end_counter;$i++) // loop 1 to 31
  140.         {
  141.                     $yy =  sprintf("%02d", $i);
  142.             if(isset($d[$i]))
  143.             {
  144.                 if (isWeekend($d[$i]->tanggal))
  145.                 {
  146.                     $total_lembur_hari_libur += $d[$i]->$fak;
  147.                 }
  148.                 else
  149.                 {
  150.                     $total_lembur_hari_biasa += $d[$i]->$fak;
  151.                 }
  152.                                
  153.                                 if(isset($data_2[$n][$yy])){
  154.                                     echo "<td class='centered' style='background-color:green;'>{$d[$i]->$fak}</td>";
  155.                                 } else {
  156.                                     echo "<td class='centered'>{$d[$i]->$fak}</td>";
  157.                                 }
  158.                                
  159.                 $faktorial_array[$f] += $d[$i]->$fak; // sum faktorial array based on f1, f2, f3, f4
  160.             }
  161.             else
  162.             {
  163.                             if(isset($data_2[$n][$yy])){
  164.                                 echo "<td style='background-color:green;'></td>";
  165.                             } else {
  166.                                 echo "<td></td>";
  167.                             }
  168.             }
  169.         }
  170.         echo ($f==1?"<td class='centered' rowspan='4'>".(count($d)-1)."</td>":"");
  171.     }
  172.     echo    '<td class="centered" valign="top">'.total_faktorial($faktorial_array).'</td>';
  173.     echo    '<td class="centered"  valign="top">'.total_jam($faktorial_array).'</td>';
  174.     echo    '<td valign="top">'.$total_lembur_hari_libur.'</td>';
  175.     echo    '<td valign="top">'.$total_lembur_hari_biasa.'</td>';
  176.     echo "</tr>";
  177. }
  178. ?>
  179. </table>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement