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 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 dispatch_out() { extract($_REQUEST); $fields = array(); $fields["barcode"] = ""; $fields["slip_id"] = 0; extract($fields, EXTR_SKIP); $items_out = ""; if (!empty($barcode)) { $slip_id = decrypt_barcode($barcode); if (!is_numeric($slip_id)) { $slip_id = 0; } $sql = "SELECT id, stkid, stkcod, stkdes, qty\n\t\t\t\tFROM cubit.pickslip_stk \n\t\t\t\t\tLEFT JOIN cubit.stock ON pickslip_stk.stock_id=stock.stkid\n\t\t\t\tWHERE pickslip_id='{$slip_id}'"; $stock_rslt = db_exec($sql) or errDie("Unable to retrieve stock."); $items_out .= "\n\t\t<tr>\n\t\t\t<th>Stock</th>\n\t\t\t<th>Quantity</th>\n\t\t\t<th>Serial 1</th>\n\t\t\t<th>Serial 2</th>\n\t\t</tr>"; while (list($id, $stkid, $stkcod, $stkdes, $qty) = pg_fetch_array($stock_rslt)) { if (!isset($serial1[$id])) { $serial1[$id] = ""; } if (!isset($serial2[$id])) { $serial2[$id] = ""; } $items_out .= "\n\t\t\t<tr class='" . bg_class() . "'>\n\t\t\t\t<td>({$stkcod}) {$stkdes}</td>\n\t\t\t\t<td>{$qty}</td>\n\t\t\t\t<td>\n\t\t\t\t\t<input type='text' name='serial1[{$id}]' value='{$serial1[$id]}' />\n\t\t\t\t</td>\n\t\t\t\t<td>\n\t\t\t\t\t<input type='text' name='serial2[{$id}]' value='{$serial2[$id]}' />\n\t\t\t\t</td>\n\t\t\t</tr>"; } } if (!empty($items_out)) { $items_out .= "\n\t\t<tr>\n\t\t\t<td colspan='4' align='center'>\n\t\t\t\t<input type='submit' name='key' value='invoice' />\n\t\t\t</td>\n\t\t</tr>"; } $OUTPUT = "\n\t<center>\n\t<h3>Picking Slip - Dispatch</h3>\n\t<form method='post' action='" . SELF . "'>\n\t<input type='hidden' name='key' value='dispatch_out' />\n\t<input type='hidden' name='barcode' value='{$barcode}' />\n\t<table " . TMPL_tblDflts . ">\n\t\t<tr>\n\t\t\t<th colspan='2'>Scan Picking Slip</th>\n\t\t</tr>\n\t\t<tr class='" . bg_class() . "'>\n\t\t\t<td><input type='text' name='barcode' value='{$barcode}' /></td>\n\t\t\t<td><input type='submit' value='Scan »' />\n\t\t</tr>\n\t</table>\n\t</form>\n\t<form method='post' action='" . SELF . "'>\n\t<input type='hidden' name='slip_id' value='{$slip_id}' />\n\t<input type='hidden' name='barcode' value='{$barcode}' />\n\t<table " . TMPL_tblDflts . ">\n\t\t{$items_out}\n\t</table>\n\t</form>\n\t</center>"; return $OUTPUT; }
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); }