<form action=""  method="post" id="inv_transaction"  name="inv_transaction">
 <?php echo (!empty($hidden_stmt)) ? $hidden_stmt : ""; ?> 
 <!--create empty form or a single id when search is not clicked and the id is referred from other page -->
 <span class="heading"><?php echo gettext('Inventory Transaction ') ?></span> 
 <div class='tabContainer'>
  <ul class='column header_field'>
   <li>
    <?php $f->l_select_field_from_object('org_id', org::find_all_inventory(), 'org_id', 'org', $$class->org_id, 'org_id', '', 1, $readonly1); ?>  </li>
   <li>
    <?php
    echo!(empty($id_array)) ? $f->l_select_field_from_object('transaction_type_id', transaction_type::find_some_byIdArray($id_array), 'transaction_type_id', 'transaction_type', $$class->transaction_type_id, 'transaction_type_id', '', 1, $readonly1) :
     $f->l_select_field_from_object('transaction_type_id', transaction_type::find_all(), 'transaction_type_id', 'transaction_type', $$class->transaction_type_id, 'transaction_type_id', '', 1, $readonly1);
    ?>
   </li>
  </ul>
 </div>

 <div id ="form_line" class="form_line"><span class="heading">Transaction Details </span>
  <div id="tabsLine">
   <ul class="tabMain">
    <li><a href="#tabsLine-1"><?php echo gettext('General Info') ?></a></li>
    <li><a href="#tabsLine-2"><?php echo gettext('Transfer') ?> </a></li>
    <li><a href="#tabsLine-3"><?php echo gettext('Reference') ?> </a></li>
    <li><a href="#tabsLine-4"><?php echo gettext('Finance') ?></a></li>
    <li><a href="#tabsLine-5"><?php echo gettext('Lot & Serial') ?></a></li>
   </ul>
   <div class="tabContainer"> 
    <div id="tabsLine-1" class="tabContent">
     <table class="form_line_data_table">
      <thead> 
       <tr>
 
 <!--create empty form or a single id when search is not clicked and the id is referred from other page -->
 <span class="heading"><?php 
echo gettext('Inventory Transaction ');
?>
</span> 
 <div class='tabContainer'>
  <ul class='column header_field'>
   <li>
    <?php 
$f->l_select_field_from_object('org_id', org::find_all_inventory(), 'org_id', 'org', ${$class}->org_id, 'org_id', '', 1, $readonly1);
?>
  </li>
   <li>
    <?php 
echo !empty($id_array) ? $f->l_select_field_from_object('transaction_type_id', transaction_type::find_some_byIdArray($id_array), 'transaction_type_id', 'transaction_type', ${$class}->transaction_type_id, 'transaction_type_id', '', 1, $readonly1) : $f->l_select_field_from_object('transaction_type_id', transaction_type::find_all(), 'transaction_type_id', 'transaction_type', ${$class}->transaction_type_id, 'transaction_type_id', '', 1, $readonly1);
?>
   </li>
  </ul>
 </div>

 <div id ="form_line" class="form_line"><span class="heading">Transaction Details </span>
  <div id="tabsLine">
   <ul class="tabMain">
    <li><a href="#tabsLine-1"><?php 
echo gettext('General Info');
?>
</a></li>
    <li><a href="#tabsLine-2"><?php 
echo gettext('Transfer');
?>
Esempio n. 3
0
    <div id="tabsHeader-1" class="tabContent">
     <ul class="column header_field">
      <li><?php 
$f->l_text_field_dr_withSearch('qa_cp_assignment_header_id');
?>
       <a name="show" href="form.php?class_name=qa_cp_assignment_header&<?php 
echo "mode={$mode}";
?>
" class="show document_id qa_cp_assignment_header_id"><i class="fa fa-refresh"></i></a> 
      </li>
      <li><?php 
$f->l_select_field_from_object('qa_cp_header_id', qa_cp_header::find_all(), 'qa_cp_header_id', 'plan_name', ${$class}->qa_cp_header_id, 'qa_cp_header_id');
?>
</li> 
      <li><?php 
$f->l_select_field_from_object('inv_transaction_id', transaction_type::find_all(), 'transaction_type_id', 'transaction_type', ${$class}->inv_transaction_id, 'inv_transaction_id');
?>
</li> 
      <li><?php 
$f->l_text_field_d('description');
?>
</li> 
      <li><?php 
$f->l_date_fieldAnyDay('effective_from', ${$class}->effective_from);
?>
</li> 
      <li><?php 
$f->l_date_fieldAnyDay('effective_to', ${$class}->effective_to);
?>
</li> 
      <li><?php 
?>
</span>
 <form action=""  method="post" id="sys_auto_trigger"  name="sys_auto_trigger">
  <div id ="form_header">
   <div id="tabsHeader">
    <ul class="tabMain">
     <li><a href="#tabsHeader-1"><?php 
echo gettext('Basic Info');
?>
</a></li>
    </ul>
    <div class="tabContainer">
     <div id="tabsHeader-1" class="tabContent">
      <ul class="column header_field">
       <li><?php 
$f->l_select_field_from_object('transaction_type_id', transaction_type::find_all(), 'transaction_type_id', 'transaction_type', $transaction_type_id, 'transaction_type_id', '');
?>
        </li>
       <li><?php 
$f->l_select_field_from_array('association_level', bc_label_auto_trigger::$association_level_a, ${$class}->association_level, 'association_level');
?>
        <a name="show" href="form.php?class_name=bc_label_auto_trigger&<?php 
echo "mode={$mode}";
?>
" class="show2 document_id bc_label_auto_trigger_id">
         <i class="fa fa-refresh"></i></a> 
       </li>
      </ul>
     </div>
    </div>
   </div>
         <i class='fa fa-refresh'></i></a> 
       </li> 
       <li><?php 
$f->l_text_field_d('transaction_type_number');
?>
</li>
       <li><?php 
$f->l_text_field_d('transaction_type');
?>
</li>
       <li><?php 
$f->l_select_field_from_object('type_class', transaction_type::transaction_type_class(), 'option_line_code', 'description', ${$class}->type_class, '', '', 1, $readonly1);
?>
        </li>
       <li><?php 
$f->l_select_field_from_object('transaction_action', transaction_type::transaction_action(), 'option_line_code', 'description', ${$class}->transaction_action, '', '', 1, $readonly);
?>
        </li>
      </ul>
     </div>
     <div id="tabsHeader-2" class="tabContent">
      <div id="comments">
       <div id="comment_list">
        <?php 
echo !empty($comments) ? $comments : "";
?>
       </div>
       <div id ="display_comment_form">
        <?php 
$reference_table = 'transaction_type';
$reference_id = ${$class}->transaction_type_id;
Esempio n. 6
0
 public function save_edit()
 {
     $timestamp = "";
     $patient = "";
     $facility = "";
     $user = "";
     $record_no = "";
     $soh = $this->input->post("soh");
     //Get transaction type
     $transaction_type = transaction_type::getTransactionType("dispense", "0");
     $transaction_type = $transaction_type->id;
     $transaction_type1 = transaction_type::getTransactionType("returns", "1");
     $transaction_type1 = $transaction_type1->id;
     $original_qty = @$_POST["qty_hidden"];
     $facility = $this->session->userdata("facility");
     $user = $this->session->userdata("full_name");
     $timestamp = date('Y-m-d H:i:s');
     $patient = @$_POST['patient'];
     $expiry_date = @$_POST['expiry'];
     $ccc_id = @$_POST["ccc_id"];
     //Define source and destination
     $source = $facility;
     $destination = $facility;
     //Get ccc_store_name
     $ccc_store = CCC_store_service_point::getCCC($ccc_id);
     $ccc_name = $ccc_store->Name;
     if (stripos($ccc_name, 'store')) {
         $source = $facility;
         $destination = '';
     }
     //Get running balance in drug stock movement
     $sql_run_balance = $this->db->query("SELECT machine_code as balance FROM drug_stock_movement WHERE drug ='" . @$_POST['original_drug'] . "' AND ccc_store_sp ='{$ccc_id}' AND expiry_date >=CURDATE() ORDER BY id DESC  LIMIT 1");
     $run_balance_array = $sql_run_balance->result_array();
     if (count($run_balance_array) > 0) {
         $prev_run_balance = $run_balance_array[0]["balance"];
     } else {
         //If drug does not exist, initialise the balance to zero
         $prev_run_balance = 0;
     }
     //Get running balance in drug stock movement end ---------
     //If record is to be deleted
     if (@$_POST['delete_trigger'] == 1) {
         $sql = "update patient_visit set active='0' WHERE id='" . @$_POST["dispensing_id"] . "';";
         $this->db->query($sql);
         $bal = $soh + @$_POST["qty_disp"];
         $act_run_balance = $prev_run_balance + @$_POST["qty_disp"];
         //Actual running balance
         //If deleting previous transaction, check if batch has not expired, if not, insert in drug stock balance table
         $today = strtotime(date("Y-m-d"));
         $original_expiry = strtotime(@$_POST["original_expiry_date"]);
         if ($today <= $original_expiry) {
             //If balance for this batch is greater than zero, update stock, otherwise, insert in drug stock balance
             $sql_batch_balance = "SELECT balance FROM drug_stock_balance WHERE drug_id='" . @$_POST["original_drug"] . "' AND batch_number='" . @$_POST["batch"] . "' AND expiry_date='" . @$_POST["original_expiry_date"] . "' AND stock_type='{$ccc_id}' AND facility_code='{$facility}'";
             $query = $this->db->query($sql_batch_balance);
             $res = $query->result_array();
             $prev_batch_balance = "";
             if ($res) {
                 $prev_batch_balance = $res[0]['balance'];
             }
             if ($prev_batch_balance > 0) {
                 //Update drug_stock_balance
                 $sql = "UPDATE drug_stock_balance SET balance=balance+" . @$_POST["qty_disp"] . " WHERE drug_id='" . @$_POST["original_drug"] . "' AND batch_number='" . @$_POST["batch"] . "' AND expiry_date='" . @$_POST["original_expiry_date"] . "' AND stock_type='{$ccc_id}' AND facility_code='{$facility}'";
                 //echo $sql;die();
                 $this->db->query($sql);
             } else {
                 $sql = "INSERT INTO drug_stock_balance (balance,dug_id,batch_number,expiry_date,stock_type,facility_code) VALUES('" . @$_POST["qty_disp"] . "','" . @$_POST["original_drug"] . "','" . @$_POST["batch"] . "','" . @$_POST["original_expiry_date"] . "','{$ccc_id}','{$facility}')";
                 //echo $sql;die();
                 $this->db->query($sql);
             }
         }
         //Insert in drug stock movement
         //Get balance after update
         $sql = "SELECT balance FROM drug_stock_balance WHERE drug_id='" . @$_POST["original_drug"] . "' AND batch_number='" . @$_POST["batch"] . "' AND expiry_date='" . @$_POST["original_expiry_date"] . "' AND stock_type='{$ccc_id}' AND facility_code='{$facility}'";
         $query = $this->db->query($sql);
         $results = $query->result_array();
         $actual_balance = $results[0]['balance'];
         $sql = "INSERT INTO drug_stock_movement (drug, transaction_date, batch_number, transaction_type,source,destination,source_destination,expiry_date, quantity, balance, facility, machine_code,timestamp,ccc_store_sp) SELECT '" . @$_POST["original_drug"] . "','" . @$_POST["original_dispensing_date"] . "', '" . @$_POST["batch"] . "','{$transaction_type1}','{$source}','{$destination}','Dispensed To Patients','{$expiry_date}','" . @$_POST["qty_disp"] . "','" . @$actual_balance . "','{$facility}','{$act_run_balance}','{$timestamp}','{$ccc_id}' from drug_stock_movement WHERE batch_number= '" . @$_POST["batch"] . "' AND drug='" . @$_POST["original_drug"] . "' LIMIT 1;";
         $this->db->query($sql);
         //Update drug consumption
         $period = date('Y-m-01');
         $sql = "UPDATE drug_cons_balance SET amount=amount-" . $original_qty . " WHERE drug_id='" . @$_POST["original_drug"] . "' AND stock_type='{$ccc_id}' AND period='{$period}' AND facility='{$facility}'";
         $this->db->query($sql);
         $this->session->set_userdata('dispense_deleted', 'success');
     } else {
         //If record is edited
         $period = date('Y-m-01');
         $sql = "UPDATE patient_visit SET dispensing_date = '" . @$_POST["dispensing_date"] . "', visit_purpose = '" . @$_POST["purpose"] . "', current_weight='" . @$_POST["weight"] . "', current_height='" . @$_POST["height"] . "', regimen='" . @$_POST["current_regimen"] . "', drug_id='" . @$_POST["drug"] . "', batch_number='" . @$_POST["batch"] . "', dose='" . @$_POST["dose"] . "', duration='" . @$_POST["duration"] . "', quantity='" . @$_POST["qty_disp"] . "', brand='" . @$_POST["brand"] . "', indication='" . @$_POST["indication"] . "', pill_count='" . @$_POST["pill_count"] . "', missed_pills='" . @$_POST["missed_pills"] . "', comment='" . @$_POST["comment"] . "',non_adherence_reason='" . @$_POST["non_adherence_reasons"] . "',adherence='" . @$_POST["adherence"] . "' WHERE id='" . @$_POST["dispensing_id"] . "';";
         $this->db->query($sql);
         if (@$_POST["batch"] != @$_POST["batch_hidden"] || @$_POST["qty_disp"] != @$_POST["qty_hidden"]) {
             //Update drug_stock_balance
             //Balance=balance+(previous_qty_disp-actual_qty_dispense)
             $bal = $soh;
             //New qty dispensed=old qty - actual qty dispensed
             $new_qty_dispensed = $_POST["qty_hidden"] - $_POST["qty_disp"];
             $act_run_balance = $prev_run_balance - $_POST["qty_disp"];
             //If new quantity dispensed is less than qty previously dispensed
             //echo $new_qty_dispensed;die();
             if ($new_qty_dispensed > 0) {
                 $bal = $soh + $new_qty_dispensed;
                 $sql = "UPDATE drug_stock_balance SET balance=balance+" . @$new_qty_dispensed . " WHERE drug_id='" . @$_POST["original_drug"] . "' AND batch_number='" . @$_POST["batch"] . "' AND expiry_date='" . @$_POST["original_expiry_date"] . "' AND stock_type='{$ccc_id}' AND facility_code='{$facility}'";
                 $this->db->query($sql);
                 //Update drug consumption
                 $sql = "UPDATE drug_cons_balance SET amount=amount-" . $new_qty_dispensed . " WHERE drug_id='" . @$_POST["original_drug"] . "' AND stock_type='{$ccc_id}' AND period='{$period}' AND facility='{$facility}'";
                 $this->db->query($sql);
             } else {
                 if ($new_qty_dispensed < 0) {
                     $bal = $soh - $new_qty_dispensed;
                     $new_qty_dispensed = abs($new_qty_dispensed);
                     $sql = "UPDATE drug_stock_balance SET balance=balance-" . @$new_qty_dispensed . " WHERE drug_id='" . @$_POST["original_drug"] . "' AND batch_number='" . @$_POST["batch"] . "' AND expiry_date='" . @$_POST["original_expiry_date"] . "' AND stock_type='{$ccc_id}' AND facility_code='{$facility}'";
                     $this->db->query($sql);
                     //Update drug consumption
                     $sql = "UPDATE drug_cons_balance SET amount=amount+" . $new_qty_dispensed . " WHERE drug_id='" . @$_POST["original_drug"] . "' AND stock_type='{$ccc_id}' AND period='{$period}' AND facility='{$facility}'";
                     $this->db->query($sql);
                 }
             }
             //Balance after returns
             $bal1 = $soh + $original_qty;
             $act_run_balance1 = $prev_run_balance + $original_qty;
             //Actual running balance
             $act_run_balance = $act_run_balance + $original_qty;
             //Returns transaction
             $sql = "INSERT INTO drug_stock_movement (drug, transaction_date, batch_number, transaction_type,source,destination,source_destination,expiry_date, quantity,balance, facility, machine_code,timestamp,ccc_store_sp) SELECT '" . @$_POST["original_drug"] . "','" . @$_POST["original_dispensing_date"] . "', '" . @$_POST["batch_hidden"] . "','{$transaction_type1}','{$source}','{$destination}','Dispensed To Patients',expiry_date,'" . @$_POST["qty_hidden"] . "','{$bal1}','{$facility}','{$act_run_balance1}','{$timestamp}','{$ccc_id}' from drug_stock_movement WHERE batch_number= '" . @$_POST["batch_hidden"] . "' AND drug='" . @$_POST["original_drug"] . "' LIMIT 1;";
             $this->db->query($sql);
             //Dispense transaction
             $sql = "INSERT INTO drug_stock_movement (drug, transaction_date, batch_number, transaction_type,source,destination,expiry_date, quantity_out,balance, facility, machine_code,timestamp,ccc_store_sp) SELECT '" . @$_POST["drug"] . "','" . @$_POST["original_dispensing_date"] . "', '" . @$_POST["batch"] . "','{$transaction_type}','{$source}','{$destination}',expiry_date,'" . @$_POST["qty_disp"] . "','{$bal}','{$facility}','{$act_run_balance}','{$timestamp}','{$ccc_id}' from drug_stock_movement WHERE batch_number= '" . @$_POST["batch"] . "' AND drug='" . @$_POST["drug"] . "' LIMIT 1;";
             $this->db->query($sql);
         }
         $this->session->set_userdata('dispense_updated', 'success');
     }
     $sql = "select * from patient where patient_number_ccc='{$patient}' and facility_code='{$facility}'";
     $query = $this->db->query($sql);
     $results = $query->result_array();
     $record_no = $results[0]['id'];
     $this->session->set_userdata('msg_save_transaction', 'success');
     redirect("patient_management/load_view/details/{$record_no}");
 }