2 // Copyright (C) 2006-2016 Rod Roark <rod@sunsetsystems.com>
4 // This program is free software; you can redistribute it and/or
5 // modify it under the terms of the GNU General Public License
6 // as published by the Free Software Foundation; either version 2
7 // of the License, or (at your option) any later version.
9 $sanitize_all_escapes = true;
10 $fake_register_globals = false;
12 require_once("../globals.php");
13 require_once("$srcdir/acl.inc");
14 require_once("drugs.inc.php");
15 require_once("$srcdir/options.inc.php");
16 require_once("$srcdir/formatting.inc.php");
17 require_once("$srcdir/htmlspecialchars.inc.php");
19 // Check authorization.
20 $thisauth = acl_check('admin', 'drugs');
21 if (!$thisauth) die(xlt('Not authorized'));
23 // For each sorting option, specify the ORDER BY argument.
26 'prod' => 'd.name, d.drug_id, di.expiration, di.lot_number',
27 'ndc' => 'd.ndc_number, d.name, d.drug_id, di.expiration, di.lot_number',
28 'form' => 'lof.title, d.name, d.drug_id, di.expiration, di.lot_number',
29 'lot' => 'di.lot_number, d.name, d.drug_id, di.expiration',
30 'wh' => 'lo.title, d.name, d.drug_id, di.expiration, di.lot_number',
31 'qoh' => 'di.on_hand, d.name, d.drug_id, di.expiration, di.lot_number',
32 'exp' => 'di.expiration, d.name, d.drug_id, di.lot_number',
35 // Get the order hash array value and key for this request.
36 $form_orderby = $ORDERHASH[$_REQUEST['form_orderby']] ?
$_REQUEST['form_orderby'] : 'prod';
37 $orderby = $ORDERHASH[$form_orderby];
40 $res = sqlStatement("SELECT d.*, " .
41 "di.inventory_id, di.lot_number, di.expiration, di.manufacturer, " .
42 "di.on_hand, lo.title " .
44 "LEFT JOIN drug_inventory AS di ON di.drug_id = d.drug_id " .
45 "AND di.destroy_date IS NULL " .
46 "LEFT JOIN list_options AS lo ON lo.list_id = 'warehouse' AND " .
47 "lo.option_id = di.warehouse_id AND lo.activity = 1 " .
48 "LEFT JOIN list_options AS lof ON lof.list_id = 'drug_form' AND " .
49 "lof.option_id = d.form AND lof.activity = 1 " .
55 <?php
html_header_show();?
>
57 <link rel
="stylesheet" href
='<?php echo $css_header ?>' type
='text/css'>
58 <title
><?php
echo xlt('Drug Inventory'); ?
></title
>
61 tr
.head
{ font
-size
:10pt
; background
-color
:#cccccc; text-align:center; }
62 tr
.detail
{ font
-size
:10pt
; }
63 a
, a
:visited
, a
:hover
{ color
:#0000cc; }
65 table
.mymaintable
, table
.mymaintable td
{
66 border
: 1px solid
#aaaaaa;
67 border
-collapse
: collapse
;
69 table
.mymaintable td
{
70 padding
: 1pt
4pt
1pt
4pt
;
74 <script type
="text/javascript" src
="../../library/dialog.js?v=<?php echo $v_js_includes; ?>"></script
>
75 <script type
="text/javascript" src
="<?php echo $GLOBALS['assets_static_relative']; ?>/jquery-min-1-9-1/index.js"></script
>
76 <script type
="text/javascript" src
="../../library/js/report_helper.js?v=<?php echo $v_js_includes; ?>"></script
>
78 <script language
="JavaScript">
80 // callback from add_edit_drug.php or add_edit_drug_inventory.php:
81 function refreshme() {
85 // Process click on drug title.
86 function dodclick(id
) {
87 dlgopen('add_edit_drug.php?drug=' + id
, '_blank', 725, 475);
90 // Process click on drug QOO or lot.
91 function doiclick(id
, lot
) {
92 dlgopen('add_edit_lot.php?drug=' + id +
'&lot=' + lot
, '_blank', 600, 475);
95 // Process click on a column header for sorting.
96 function dosort(orderby
) {
97 var f
= document
.forms
[0];
98 f
.form_orderby
.value
= orderby
;
104 $
(document
).ready(function() {
105 oeFixedHeaderSetup(document
.getElementById('mymaintable'));
112 <body
class="body_top">
113 <form method
='post' action
='drug_inventory.php'>
115 <table width
='100%' id
='mymaintable' class='mymaintable'>
118 <td title
='<?php echo xla('Click to edit
'); ?>'>
119 <a href
="#" onclick
="return dosort('prod')"
120 <?php
if ($form_orderby == "prod") echo " style=\"color:#00cc00\""; ?
>>
121 <?php
echo xlt('Name'); ?
> </a
>
124 <?php
echo xlt('Act'); ?
>
127 <a href
="#" onclick
="return dosort('ndc')"
128 <?php
if ($form_orderby == "ndc") echo " style=\"color:#00cc00\""; ?
>>
129 <?php
echo xlt('NDC'); ?
> </a
>
132 <a href
="#" onclick
="return dosort('form')"
133 <?php
if ($form_orderby == "form") echo " style=\"color:#00cc00\""; ?
>>
134 <?php
echo xlt('Form'); ?
> </a
>
137 <?php
echo xlt('Size'); ?
>
140 <?php
echo xlt('Unit'); ?
>
142 <td title
='<?php echo xla('Click to
receive (add
) new lot
'); ?>'>
143 <?php
echo xlt('New'); ?
>
145 <td title
='<?php echo xla('Click to edit
'); ?>'>
146 <a href
="#" onclick
="return dosort('lot')"
147 <?php
if ($form_orderby == "lot") echo " style=\"color:#00cc00\""; ?
>>
148 <?php
echo xlt('Lot'); ?
> </a
>
151 <a href
="#" onclick
="return dosort('wh')"
152 <?php
if ($form_orderby == "wh") echo " style=\"color:#00cc00\""; ?
>>
153 <?php
echo xlt('Warehouse'); ?
> </a
>
156 <a href
="#" onclick
="return dosort('qoh')"
157 <?php
if ($form_orderby == "qoh") echo " style=\"color:#00cc00\""; ?
>>
158 <?php
echo xlt('QOH'); ?
> </a
>
161 <a href
="#" onclick
="return dosort('exp')"
162 <?php
if ($form_orderby == "exp") echo " style=\"color:#00cc00\""; ?
>>
163 <?php
echo xlt('Expires'); ?
> </a
>
171 while ($row = sqlFetchArray($res)) {
172 if ($lastid != $row['drug_id']) {
174 $bgcolor = "#" . (($encount & 1) ?
"ddddff" : "ffdddd");
175 $lastid = $row['drug_id'];
176 echo " <tr class='detail' bgcolor='$bgcolor'>\n";
177 echo " <td onclick='dodclick(".attr($lastid).")'>" .
178 "<a href='' onclick='return false'>" .
179 text($row['name']) . "</a></td>\n";
180 echo " <td>" . ($row['active'] ?
xlt('Yes') : xlt('No')) . "</td>\n";
181 echo " <td>" . text($row['ndc_number']) . "</td>\n";
183 generate_display_field(array('data_type'=>'1','list_id'=>'drug_form'), $row['form']) .
185 echo " <td>" . text($row['size']) . "</td>\n";
187 generate_display_field(array('data_type'=>'1','list_id'=>'drug_units'), $row['unit']) .
189 echo " <td onclick='doiclick(".attr($lastid).",0)' title='" . xla('Add new lot and transaction') . "'>" .
190 "<a href='' onclick='return false'>" . xlt('New') . "</a></td>\n";
192 echo " <tr class='detail' bgcolor='$bgcolor'>\n";
193 echo " <td colspan='7'> </td>\n";
195 if (!empty($row['inventory_id'])) {
196 echo " <td onclick='doiclick(" . attr($lastid) . "," . attr($row['inventory_id']) . ")'>" .
197 "<a href='' onclick='return false'>" . text($row['lot_number']) . "</a></td>\n";
198 echo " <td>" . text($row['title']) . "</td>\n";
199 echo " <td>" . text($row['on_hand']) . "</td>\n";
200 echo " <td>" . text(oeFormatShortDate($row['expiration'])) . "</td>\n";
202 echo " <td colspan='4'> </td>\n";
211 <input type
='button' value
='<?php echo xla('Add Drug
'); ?>' onclick
='dodclick(0)' />
214 <input type
="hidden" name
="form_orderby" value
="<?php echo attr($form_orderby) ?>" />