ESH/consumables.php
2024-10-23 18:28:06 +05:30

319 lines
11 KiB
PHP

<script>
function getTotalQuantity(counter) {
var selectedMedicine = $('#medicine' + counter).val();
console.log("Selected medicine ID: " + selectedMedicine); // Debugging line
$.ajax({
type: "POST",
url: "stock_update.php",
dataType: "json",
data: { medicine_id: selectedMedicine, row_id: counter },
success: function (response) {
console.log(response);
if (response.error) {
alert('Error: ' + response.error);
} else {
$('#total_qty' + counter).val(response.total_quantity || 'Not available');
}
},
error: function (jqXHR, textStatus, errorThrown) {
console.error('AJAX error: ' + textStatus + ', ' + errorThrown);
}
});
}
// Aasish add the Function to fetch total quantity using AJAX
function save_consume() {
$.ajax({
url: 'save_consumables.php',
type: "POST",
data: $("#consume_form").serialize(),
success: function(data) {
BootstrapDialog.show({
message: 'Details Saved Successfully.',
buttons: [{
label: 'OK',
action: function(dialogItself) {
$('#consumables').modal("hide");
dialogItself.close();
}
}]
});
},
error: function(data) {
BootstrapDialog.alert('Error Saving Details');
//return;
}
});
}
function setConsumableItemBatchNo(count, batch) {
var item_id=$('#medicine'+count).val();
$.ajax({
url: 'get_item_batch_nos.php',
type: 'POST',
data: {
item_id: item_id,
batch:batch,
},
dataType: 'json',
success: function(data) {
var content_item_batch =
"<option value=\"\" selected disabled >Please Select Batch No</option>";
if (data != null && data != "") {
item_batch = data;
for (var i = 0; i < data.length; i++) {
var select = '';
if ((batch == '' || batch == null) && i == 0) {
select = 'selected';
}
if (batch == data[i].item_batch_no) {
select = 'selected';
}
const expiryDate = new Date(data[i].expiry_date);
const currentDate = new Date();
const sixtyDaysLater = new Date(currentDate);
sixtyDaysLater.setDate(currentDate.getDate() + 60);
// Check if expiry is within the next 60 days
if (expiryDate > currentDate && expiryDate <= sixtyDaysLater) {
console.log("Alert condition reached.");
BootstrapDialog.alert("This " + data[i].item_batch_no + " batch no has expiry within the next 60 days");
}
content_item_batch += "<option value='" + data[i].item_batch_no + "' " + select + ">" +
data[i]
.item_batch_no + " (Expiry Date:" + myDateFormaterMonthYear(data[i].expiry_date) +
", Stock Qty:" + data[i].stock_qty + ")</option>"
}
}
$("#consum_item_batch_no" + count).html(content_item_batch);
},
error: function(data) {}
});
}
</script>
<div class="modal fade" id="consumables" role="dialog" aria-hidden="true">
<div class="modal-dialog modal-lg">
<div class="modal-content">
<div class="modal-header">
</div>
<form role="form" id="consume_form" name="consume_form" action="#" method="post">
<div class="modal-body">
<div class="row">
<div class="col-sm-12 table-responsive">
<table id="intake_table" class="table table-striped table-bordered ordered-list" style="padding: 2px; margin: 2px;">
<thead>
<h3>
<center>CONSUMABLES</center>
</h3>
<tr class="success">
<!-- <th style="font-size: 9px; text-align: center;">Time</th> -->
<th style="font-size: 9px; text-align: center;">Item</th>
<th style="font-size: 9px; text-align: center;">Batch</th>
<!-- Aasish -->
<th style="font-size: 9px; text-align: center;">Available qty</th>
<!-- Aasish -->
<th style="font-size: 9px; text-align: center;">Issued qty</th>
<th style="font-size: 9px; text-align: center;"></th>
</tr>
</thead>
<tbody>
<?php $i = 0;
$row = null;
if (isset($_REQUEST['appointmentId'])) {
$sql_intake = "select * from opd_consumables where consume_id ='" . $_REQUEST['appointmentId'] . "'";
error_log("ksfjckesncf" . $sql_intake);
$result_intake = mysqli_query($conn, $sql_intake);
$num_intake = @mysqli_num_rows($result_intake);
$row_intake = @mysqli_fetch_array($result_intake);
}
do {
?>
<tr>
<td style="width:20%">
<select class="form-control select2" id="medicine<?php echo $i ?>" name="medicine<?php echo $i ?>" data-placeholder="Choose a item..." style="width: 100%;" onchange="setConsumableItemBatchNo('<?php echo $i ?>','<?=$row_intake['medicine']?>'),getTotalQuantity(<?php echo $i; ?>)">
<option value=""></option>
<?php echo generate_options("SELECT item_id,trim(concat(ifnull(form_name,''),' ',item_name)) item_name FROM tbl_items i left join medicine_form f on i.item_form_id=f.form_id where status='1' and is_prescription!='1' and cat='8' order by item_name", $row_intake['medicine'], 'item_id', 'item_name', '', ''); ?>
</select>
</td>
<td style="width:20%">
<select onchange='' name="consum_item_batch_no<?php echo $i; ?>" id="consum_item_batch_no<?php echo $i; ?>" class="form-control">
<option value="" selected>Batches</option>
</select>
</td>
<!-- Aasish -->
<td style="width:20%">
<input class="form-control" value="<?php echo $total_quantity; ?>" name="total_qty<?php echo $i; ?>" id="total_qty<?php echo $i; ?>" type="text" readonly />
</td>
<!-- Aasish -->
<td style="width:20%">
<input class="form-control" value="<?php echo $row_intake['issued_qty'] ?>" name="issued_qty<?php echo $i ?>" id="issued_qty<?php echo $i ?>" type="text" />
</td>
<td style="width:20%; text-align:center">
<a href="#" class="btn-lg" data-toggle="tooltip" id="deletebtn" title="Delete"><span class="glyphicon glyphicon-trash"></span></a>
</td>
</tr>
<script>
setConsumableItemBatchNo('<?php echo $i ?>','<?=$row_intake['consum_item_batch_no']?>');
getTotalQuantity(<?php echo $i; ?>);
</script>
<?php
$i++;
} while ($row_intake = @mysqli_fetch_array($result_intake)) //end of while
?>
</tbody>
<tfoot>
<tr>
<td colspan="4" style="text-align: center; width:100%">
<button type="button" class="btn btn-block btn-primary btn-sm" id="addrow1">Add Consumable</button>
<input type="hidden" name="count_items1" id="count_items1" value="<?php echo $i ?>" />
<input id="appointment_id" type="hidden" style="height: 30px" class="form-control" name="appointment_id" value="<?php echo $_REQUEST['appointmentId'] ?>" />
<input id="emp_id" name="emp_id" type="hidden" value="<?php if ($row['emp_id'] != '' || $row['emp_id'] != null) {$emp_id = $row['emp_id'];
echo $row['emp_id'];
} else {$emp_id = $_REQUEST['emp_id'];
echo $_REQUEST['emp_id']; } ?>" />
</td>
</tr>
<tr>
</tr>
</tfoot>
</table>
</div>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-info btn-sm save_button" onclick="save_consume();">
SAVE
</button>
<button type="button" class="btn btn-danger btn-sm" data-dismiss="modal">
<i class="ace-icon fa fa-times bigger-110"></i>CANCEL
</button>
</div>
</form>
</div>
</div>
</div>
<script type="text/javascript">
$(document).ready(function() {
var itemOptions = "<?php echo generate_options("SELECT item_id,trim(concat(ifnull(form_name,''),' ',item_name)) item_name FROM tbl_items i left join medicine_form f on i.item_form_id=f.form_id where status='1' and is_prescription!='1' and cat='11' order by item_name", $row_treatment['item_id'], 'item_id', 'item_name', '', ''); ?> ";
$("#addrow1").on("click", function() {
var newRow = $("<tr>");
var counter = $("#count_items1").val();
var cols = "";
var select_treatment = "";
select_treatment += "<select ";
select_treatment += 'onchange= " setConsumableItemBatchNo(`'+ counter + '`,``),getTotalQuantity(' + counter + ')"';
select_treatment += "id=\"medicine" + counter + "\"name=\"medicine" + counter + "\" data-placeholder=\"Choose a item...\" class=\"form-control select2\" style=\"width: 100%;\" ";
//select_treatment+="style=\"display: none;\"";
select_treatment += ">";
select_treatment += "<option value=\"\"> </option>";
select_treatment += itemOptions
select_treatment += "</select>";
cols += '<td>' + select_treatment + '</td><td style="width:20%"><select name="consum_item_batch_no' + counter + '" id="consum_item_batch_no' + counter + '" class="form-control"><option value="" selected>Batches</option></select></td>';
cols += '<td><input type="text" readonly class="form-control" id="total_qty' + counter + '" name="total_qty' + counter + '"/></td>';
cols += '<td><input type="text" class="form-control" id="issued_qty' + counter + '" name="issued_qty' + counter + '"/></td>';
cols += '<td align="center"><a href="#" class="btn-lg" data-toggle="tooltip" id="deletebtn" title="Delete"><span class="glyphicon glyphicon-trash"></span></a></td>';
newRow.append(cols);
$("#intake_table").append(newRow);
/*$('#item_id'+counter).chosen({allow_single_deselect:true});
$('#item_id'+counter).next().css({'width': $('#item_id'+counter).parent().width()});*/
$('.date-picker').datepicker({
autoclose: true,
todayHighlight: true
})
$('#consume_time' + counter).datetimepicker({
format: 'DD/MM/YYYY h:mm A', //use this option to display seconds
defaultDate: new Date(),
maxDate: new Date(),
icons: {
time: 'fa fa-clock-o',
date: 'fa fa-calendar',
up: 'fa fa-chevron-up',
down: 'fa fa-chevron-down',
previous: 'fa fa-chevron-left',
next: 'fa fa-chevron-right',
today: 'fa fa-arrows',
clear: 'fa fa-trash',
close: 'fa fa-times'
}
}).next().on(ace.click_event, function() {
$(this).prev().focus();
});
counter++;
$('.select2').select2()
$("#count_items1").val(counter);
});
$("#intake_table").on("click", "#deletebtn", function(event) {
$(this).closest("tr").remove();
// counter -= 1
// $("#count_items1").val(counter);
});
$('.select2').select2()
});
// Aasish add the Function to fetch total quantity using AJAX
</script>