function scan() { $invoice = array("invoice" => "Scan Invoice"); $barcode = flashRed($invoice); $barcode = $barcode["invoice"]; $sorder_num = decrypt_barcode($barcode); if (empty($sorder_num) || !is_numeric($sorder_num)) { $sorder_num = 0; } $prd_union = array(); for ($i = 1; $i <= 14; $i++) { $prd_union[] = "SELECT pslip_sordid FROM \"{$i}\".pinvoices WHERE pslip_sordid='{$sorder_num}'"; } $pinvoices_sql = implode(" UNION ", $prd_union); $sql = "SELECT pslip_sordid FROM cubit.invoices WHERE pslip_sordid='{$sorder_num}' UNION {$pinvoices_sql}"; $invoice_rslt = db_exec($sql) or errDie("Unable to check sales order id."); if (!pg_num_rows($invoice_rslt) || $sorder_num == 0) { return scan_error("Scanned invoice does not exist."); } $sql = "SELECT sordid FROM cubit.pslip_signed_index WHERE sordid='{$sorder_num}'"; $psi_rslt = db_exec($sql) or errDie("Unable to retrieve index."); if (pg_num_rows($psi_rslt) > 0) { scan_error("Signed invoice already uploaded"); } return enter($sorder_num); }
function display($OUTPUT = "", $user_id = 0) { $flashes = array("user_id" => "Scan Employee"); list($user_id) = array_values(flashRed($flashes, $OUTPUT)); if (!is_numeric($user_id)) { header("Location: " . SELF); } else { //new $get_emp = "SELECT empnum FROM employees WHERE enum = '{$user_id}' LIMIT 1"; $run_emp = db_exec($get_emp) or errDie("Unable to get employee information."); if (pg_numrows($run_emp) > 0) { $empnum = pg_fetch_result($run_emp, 0, 0); $get_userid = "SELECT userid FROM users WHERE empnum = '{$empnum}' LIMIT 1"; $run_userid = db_exec($get_userid) or errDie("Unable to get user information."); if (pg_numrows($run_userid) > 0) { $user_id = pg_fetch_result($run_userid, 0, 0); } else { header("Location: " . SELF); } } else { header("Location: " . SELF); } $sql = "SELECT userid,empnum FROM cubit.users WHERE userid='{$user_id}'"; $user_rslt = db_exec($sql) or errDie("Unable to retrieve user."); if (!pg_num_rows($user_rslt)) { header("Location: " . SELF); } $user_arr = pg_fetch_array($user_rslt); $sql = "SELECT empnum, enum, sname, fnames FROM cubit.employees WHERE empnum = '{$user_arr['empnum']}' LIMIT 1"; $emp_rslt = db_exec($sql) or errDie("Unable to retrieve employees."); $emp_data = pg_fetch_array($emp_rslt); } $attendance = do_attendance($user_id); if ($attendance) { list($book_type, $time) = array_values($attendance); } else { unset($_POST); display(); } define("TIMEOUT", 10); $OUTPUT = "\n\t\t<center>\n\t\t<script>\n\t\t\tsetTimeout('Redirect()', " . TIMEOUT * 1000 . ");\n\t\t\tfunction Redirect()\n\t\t\t{\n\t\t\t\tlocation.href = '" . SELF . "';\n\t\t\t}\n\t\t</script>\n\t\t<h3>Employee Time and Attendance</h3>\n\t\t<table " . TMPL_tblDflts . ">\n\t\t\t<tr class='" . bg_class() . "'>\n\t\t\t\t<td align='center'><li class='err'>Next scan in " . TIMEOUT . " seconds...</li></td>\n\t\t\t</tr>\n\t\t\t<tr class='" . bg_class() . "'>\n\t\t\t\t<td style='font-size: 1.2em'>{$book_type}: {$time}</td>\n\t\t\t</tr>\n\t\t</table>\n\t\t<br>\n\t\t<table " . TMPL_tblDflts . ">\n\t\t\t<tr>\n\t\t\t\t<th colspan='5'>Employee</th>\n\t\t\t</tr>\n\t\t\t<tr class='" . bg_class() . "'>\n\t\t\t\t<td><img src='../employee-view-image.php?id={$emp_data['empnum']}' width='60' height='75' /></td>\n\t\t\t\t<td>{$emp_data['sname']}</td>\n\t\t\t\t<td>{$emp_data['fnames']}</td>\n\t\t\t\t<td>{$emp_data['username']}</td>\n\t\t\t</tr>\n\t\t</table>\n\t\t</center>"; return $OUTPUT; }
function scan() { // Check setting $sql = "SELECT set FROM cubit.picking_slip_setting"; $setting_rslt = db_exec($sql) or errDie("Unable to retrieve setting."); $setting = pg_fetch_result($setting_rslt, 0); if ($setting == "n") { header("Location: picking_slip_settings.php"); } $invoice = array("invoice" => "Scan Invoice"); list($barcode) = array_values(flashRed($invoice)); $sordid = decrypt_barcode($barcode); if (empty($sordid) || !is_numeric($sordid)) { $sordid = 0; } // Has this invoice been scanned before $sql = "SELECT id FROM cubit.pslip_scans WHERE sordid='{$sordid}'"; $scan_rslt = db_exec($sql) or errDie("Unable to retrieve scans."); $sql = "SELECT sordid FROM cubit.sorders WHERE sordid='{$sordid}'"; $sorder_rslt = db_exec($sql) or errDie("Unable to retrieve sales order."); if (pg_num_rows($sorder_rslt)) { $reason = ""; if (pg_num_rows($scan_rslt)) { $reason = "DUPLICATE (No reason)"; } $sql = "\n\t\t\tINSERT INTO cubit.pslip_scans (\n\t\t\t\tsordid, timestamp, userid, reason\n\t\t\t) VALUES (\n\t\t\t\t'{$sordid}', current_timestamp, '" . USER_ID . "', '{$reason}'\n\t\t\t)"; db_exec($sql) or errDie("Unable to record scan."); } else { return scan_error(); } if (pg_num_rows($scan_rslt)) { $scan_id = pglib_lastid("cubit.pslip_scans", "id"); return reason($scan_id); } return dispatch($sordid); }
function invoice_scan() { extract($_REQUEST); /* // Check setting $sql = "SELECT set FROM cubit.picking_slip_setting"; $setting_rslt = db_exec($sql) or errDie("Unable to retrieve setting."); $setting = pg_fetch_result($setting_rslt, 0); if ($setting == "n") { header("Location: picking_slip_settings.php"); } */ $invoice = array("invoice" => "Scan Invoice"); list($barcode) = array_values(flashRed($invoice, "", $_REQUEST)); $invid = decrypt_barcode($barcode); if (empty($invid) || !is_numeric($invid)) { $invid = 0; } /* // Has this invoice been scanned before $sql = "SELECT id FROM cubit.pslip_scans WHERE sordid='$sordid'"; $scan_rslt = db_exec($sql) or errDie("Unable to retrieve scans."); */ $sql = "SELECT id FROM cubit.dispatch_scans WHERE invid='{$invid}'"; $scan_rslt = db_exec($sql) or errDie("Unable to retrieve scans."); $sql = "SELECT invid FROM " . which_invoice($invid) . " WHERE invid='{$invid}'"; $inv_rslt = db_exec($sql) or errDie("Unable to retrieve invoice."); $duplicate = pg_num_rows($scan_rslt) ? 1 : 0; if (pg_num_rows($inv_rslt)) { $sql = "\n\t\t\tINSERT INTO cubit.dispatch_scans (invid, timestamp, userid,\n\t\t\t\tduplicate, dispatch_type)\n\t\t\t\tVALUES ('{$invid}', current_timestamp, '" . USER_ID . "',\n\t\t\t\t\t'{$duplicate}', '{$dispatch_type}')"; db_exec($sql) or errDie("Unable to record scan."); } $scan_id = pglib_lastid("cubit.pslip_scans", "id"); if (pg_num_rows($scan_rslt)) { return invoice_error_block($scan_id); } else { if (!pg_num_rows($inv_rslt)) { return invoice_error_notfound(); } } return dispatch_now($scan_id); }