Membuat Aplikasi Klinik #14 - Membuat Nomor Antrian

Selanjutnya disini kita akan membuat sebuah fungsi ataupun modul yang nantinya akan kita gunakan untuk membuat nomor antrian untuk setiap pasien. Format nomor antrian yang akan kita gunakan adalah seperti berikut “A-001, A-010, A-011” sampai “A-100”.

Pertama – tama Anda mungkin perlu menambahkan table baru pada aplikasi klinik Anda. Silahkan jalankan query berikut pada database masing – masing :


CREATE TABLE `pasien_antrian` (
  `antrian_id` int(11) UNSIGNED NOT NULL,
  `antrian_nomor` varchar(25) NOT NULL,
  `pasien_id` bigint(20) UNSIGNED NOT NULL,
  `antrian_status` enum('Menunggu','Selesai') NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

--
-- Indexes for dumped tables
--

--
-- Indexes for table `pasien_antrian`
--
ALTER TABLE `pasien_antrian`
  ADD PRIMARY KEY (`antrian_id`),
  ADD KEY `riwayat_id` (`pasien_id`);

--
-- AUTO_INCREMENT for dumped tables
--

--
-- AUTO_INCREMENT for table `pasien_antrian`
--
ALTER TABLE `pasien_antrian`
  MODIFY `antrian_id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT;

Kemudian buka file Appscostum.php kemudian tambahkan fungsi seperti berikut :


public function tambahAntrian()
    {
    	try
    	{
    		$sql = "SELECT max(antrian_nomor) AS last FROM pasien_antrian";
    		$stmt = $this->link->prepare($sql);
			$stmt->execute();		
			$d=$stmt->fetch(PDO::FETCH_ASSOC);
			$lastNoUrut = substr($d['last'],3,3);
			$lastNoUrut ++;
			$nextNoTransaksi = 'A-'.sprintf('%03s', $lastNoUrut); 
			return $nextNoTransaksi? $nextNoTransaksi :'';
			//return $lastNoUrut;
			   
    	}
    	catch(PDOException $e)
    	{
    		echo $e->getMessage();
    	}
    }

Selanjutnya modifikasi fungsi pasien_table() pada file Pasieancreate.php menjadi seperti berikut :


  public function pasien_table()
  {
      ?>
      <?php 
        if(isset($_POST['kirim']))
        {
          $data=$_POST['pasien_id'];
          //echo $this->obj2->tambahAntrian();
          foreach ($data as $value) {
            if($this->obj->insertTable('pasien_antrian','antrian_nomor, pasien_id',':antrian_nomor, :pasien_id',

                array(
                      ":antrian_nomor"=>$this->obj2->tambahAntrian(),
                      ":pasien_id"=>$value

                    )

              ))
            {
              echo $this->app->alert('alert alert-success','Antrian berhasil ditambahkan');
            }
            else
            {
              echo $this->app->alert('alert alert-danger','Data gagal ditambahkan');
            }
          }
        }
      ?>
           <div class="card">
              <div class="card-header">
                <h3 class="card-title">Data semua pasien</h3>
              </div>
              <!-- /.card-header -->
              <div class="card-body">
                <form data-toggle="validator" novalidate="true" action="<?php echo htmlspecialchars(basename($_SERVER['REQUEST_URI'])); ?>" method="post">
                  <div class="col-md-6">
                      <div class="form-actions">
                          <button type="submit" name="kirim" class="btn btn-success btn-sm btn-anim"><span class="btn-text">Tambahkan ke Daftar Antrian</span></button>                               
                      </div>

                  </div>
                  <table id="example2" class="table table-sm table-bordered">
                    <thead>
                    <tr>
                      <th>#</th>
                      <th>NIK</th>
                      <th>Nama Lengkap</th>
                      <th>Alamat</th>
                      <th>Kontak</th>
                      <th>Aksi</th>
                    </tr>
                    </thead>
                    <tbody>

                      <?php 
                          $no = 1;
                          $data = $this->obj->pagination('halaman','pasien',10,NULL,'ORDER by pasien_id DESC');
                          $data->execute();
                          while($row=$data->fetch(PDO::FETCH_BOTH))
                          {
                      ?>
                       
                        <tr>
                          <td><input type="checkbox" name="pasien_id[]" value="<?=$row['pasien_id'];?>"></td>
                          <td><?=$row['pasien_nik']?></td>
                          <td><?=$row['pasien_nama']?></td>
                          <td><?=$row['pasien_alamat']?></td>
                          <td><?=$row['pasien_kontak']?></td>
                          <td>
                              <span class="badge bg-danger"><a href="?page=pasien_edit&pasien_id=<?=$row['pasien_id']?>">Edit</a></span>
                              
                              <span class="badge bg-primary"><a href="?page=pasien_delete&pasien_id=<?=$row['pasien_id']?>">Delete</a></span>
                              <span class="badge bg-success"> <a href="?page=pasien_riwayat&pasien_id=<?=$row['pasien_id']?>">Riwayat</i></a></span>                    
                             
                             
                              
                          </td>
                        </tr>
                      <?php $no+=1; } ?>
                      

                   </tbody>
                  </table>
              </form>
              </div>
              <!-- /.card-body -->
              
            </div>
         
      <?php 
  }

Jika sudah selesai maka nanti tampilannya akan terlihat seperti dibawah ini :

Membuat nomor antrian untuk aplikasi klinik

Anda bisa langsung menguji cobanya sendiri, dan selanjutnya untuk menampilkan daftar antrian, Anda bisa mencoba membuat modul sendiri untuk menampilkan nomor antriannya seperti yang sudah dijelaskan pada part sebelum – sebelumnya seperti tentang pagination atau menampilkan data



0 Response to "Membuat Aplikasi Klinik #14 - Membuat Nomor Antrian"

Post a Comment

Komentar yang Anda kirim akan terlebih dahulu di moderasi oleh Admin