function write($_POST) { # get stock vars extract($_POST); # validate input require_lib("validate"); $v = new validate(); $v->isOk($id, "num", 1, 50, "Invalid transit number."); $v->isOk($stkid, "num", 1, 50, "Invalid stock number."); $v->isOk($sstkid, "num", 1, 50, "Invalid stock number."); $v->isOk($sdiv, "num", 1, 50, "Invalid branch number."); $v->isOk($whid, "num", 1, 50, "Invalid warehouse number."); $v->isOk($tunits, "num", 1, 50, "Invalid number of units."); if ($stkid == $sstkid) { $v->isOk($shelf, "string", 0, 10, "Invalid Shelf number."); $v->isOk($row, "string", 0, 10, "Invalid Row number."); $v->isOk($minlvl, "num", 0, 10, "Invalid minimum stock level."); $v->isOk($maxlvl, "num", 0, 10, "Invalid maximum stock level."); $v->isOk($selamt, "float", 0, 10, "Invalid selling amount."); } # display errors, if any if ($v->isError()) { $confirm = ""; $errors = $v->getErrors(); foreach ($errors as $e) { $confirm .= "<li class='err'>-" . $e["msg"] . "</li>"; } return $confirm; } # Select Stock db_connect(); $sql = "SELECT * FROM stock WHERE stkid = '{$stkid}' AND div = '" . USER_DIV . "'"; $stkRslt = db_exec($sql) or errDie("Unable to access databse.", SELF); if (pg_numrows($stkRslt) < 1) { return "<li> Invalid Stock ID.</li>"; } else { $stk = pg_fetch_array($stkRslt); } if ($stkid == $sstkid) { $sstk = $stk; $head = "New Stock"; $data = "\n\t\t\t<tr class='" . bg_class() . "'>\n\t\t\t\t<td>Location</td>\n\t\t\t\t<td>Shelf : <input type='hidden' name='shelf' value='{$shelf}'>{$shelf} - Row : <input type='hidden' name='row' value='{$row}'>{$row}</td>\n\t\t\t</tr>\n\t\t\t<tr class='" . bg_class() . "'>\n\t\t\t\t<td>Level</td>\n\t\t\t\t<td>Minimum : <input type='hidden' name='minlvl' value='{$minlvl}'>{$minlvl} - Maximum : <input type='hidden' name='maxlvl' value='{$maxlvl}'>{$maxlvl}</td>\n\t\t\t</tr>\n\t\t\t<tr class='" . bg_class() . "'>\n\t\t\t\t<td>Selling price per unit</td>\n\t\t\t\t<td>" . CUR . " <input type='hidden' name='selamt' value='{$stk['selamt']}'>{$stk['selamt']}</td>\n\t\t\t</tr>"; } else { $sql = "SELECT * FROM stock WHERE stkid = '{$sstkid}' AND div = '{$sdiv}'"; $sstkRslt = db_exec($sql) or errDie("Unable to access databse.", SELF); if (pg_numrows($sstkRslt) < 1) { return "<li> Invalid Stock ID.</li>"; } else { $sstk = pg_fetch_array($sstkRslt); } $head = ""; $data = ""; } db_conn("exten"); # get warehouse $sql = "SELECT * FROM warehouses WHERE whid = '{$stk['whid']}' AND div = '" . USER_DIV . "'"; $whRslt = db_exec($sql); $wh = pg_fetch_array($whRslt); # get warehouse $sql = "SELECT * FROM warehouses WHERE whid = '{$whid}' AND div = '{$sdiv}'"; $swhRslt = db_exec($sql); $swh = pg_fetch_array($swhRslt); /* Start Stock transfering */ db_connect(); $csamt = $tunits * $stk['csprice']; if ($stkid == $sstkid) { # Create new stock item on the other hand $sql = "\n\t\t\t\tINSERT INTO stock (\n\t\t\t\t\tstkcod, stkdes, prdcls, classname, csamt, units, \n\t\t\t\t\tbuom, suom, rate, shelf, row, minlvl, \n\t\t\t\t\tmaxlvl, csprice, selamt, catid, catname, whid, \n\t\t\t\t\tblocked, type, alloc, com, serd, div\n\t\t\t\t) VALUES (\n\t\t\t\t\t'{$sstk['stkcod']}', '{$sstk['stkdes']}', '{$sstk['prdcls']}', '{$sstk['classname']}', '{$csamt}', '{$tunits}', \n\t\t\t\t\t'{$sstk['buom']}', '{$sstk['suom']}', '{$sstk['rate']}', '{$shelf}', '{$row}', '{$minlvl}', \n\t\t\t\t\t'{$maxlvl}', '{$sstk['csprice']}', '{$sstk['selamt']}', '{$sstk['catid']}', '{$sstk['catname']}', '{$whid}', \n\t\t\t\t\t'n', '{$sstk['type']}', '0', '0', '{$sstk['serd']}', '{$sdiv}'\n\t\t\t\t)"; $rslt = db_exec($sql) or errDie("Unable to insert stock to Cubit.", SELF); /* # Reduce on the other hand $sql = "UPDATE stock SET units = (units - '$tunits'), csamt = (csamt - '$csamt') WHERE stkid = '$stkid' AND div = '".USER_DIV."'"; $rslt = db_exec($sql) or errDie("Unable to update stock in Cubit.",SELF); */ } else { # Move units and csamt $sql = "UPDATE stock SET units = (units + '{$tunits}'), csamt = (csamt + '{$csamt}') WHERE stkid = '{$sstkid}' AND div = '{$sdiv}'"; $rslt = db_exec($sql) or errDie("Unable to update stock in Cubit.", SELF); /* # Reduce on the other hand $sql = "UPDATE stock SET units = (units - '$tunits'), csamt = (csamt - '$csamt') WHERE stkid = '$stkid' AND div = '".USER_DIV."'"; $rslt = db_exec($sql) or errDie("Unable to update stock in Cubit.",SELF); */ } $serials = ""; $sRs = undget("cubit", "*", "transerial", "tid", $id); if (pg_numrows($sRs) > 0) { $serials = "<tr><th colspan=2>Units Serial Numbers</th></tr>"; while ($ser = pg_fetch_array($sRs)) { $serials .= "<tr class='" . bg_class() . "'><td colspan='2' align='center'>{$ser['serno']}</td></tr>"; ext_uninvSer($ser['serno'], $sstkid); } } # Remove stock from transit $sql = "DELETE FROM transit WHERE id = '{$id}' AND div = '" . USER_DIV . "'"; $rslt = db_exec($sql) or errDie("Unable to remove stock from transit.", SELF); # todays date $date = date("d-m-Y"); $refnum = getrefnum($date); # dt(conacc) ct(stkacc) // writetransdiv($wh['conacc'], $wh['stkacc'], $date, $refnum, $csamt, "Stock Transfer", USER_DIV); // writetransdiv($swh['stkacc'], $swh['conacc'], $date, $srefnum, $csamt, "Stock Transfer", $sdiv); /* End Stock transfering */ db_connect(); # Original Branch $sql = "SELECT * FROM branches WHERE div = '{$stk['div']}'"; $branRslt = db_exec($sql) or errDie("Unable to access databse.", SELF); if (pg_numrows($branRslt) < 1) { return "<li> Invalid Branch ID.</li>"; } else { $bran = pg_fetch_array($branRslt); } # Selected Branch $sql = "SELECT * FROM branches WHERE div = '{$sdiv}'"; $sbranRslt = db_exec($sql) or errDie("Unable to access databse.", SELF); if (pg_numrows($sbranRslt) < 1) { return "<li> Invalid Branch ID.</li>"; } else { $sbran = pg_fetch_array($sbranRslt); } # Select Stock db_connect(); $sql = "SELECT * FROM stock WHERE stkid = '{$stkid}' AND div = '" . USER_DIV . "'"; $stkRslt = db_exec($sql) or errDie("Unable to access databse.", SELF); if (pg_numrows($stkRslt) < 1) { return "<li> Invalid Stock ID.</li>"; } else { $stk = pg_fetch_array($stkRslt); } # available stock units $avstk = $stk['units'] - $stk['alloc']; # return $write = "\n\t\t<h3> Stock has been Transfered </h3>\n\t\t<table " . TMPL_tblDflts . " width='350'>\n\t\t\t<tr>\n\t\t\t\t<th width='40%'>Field</th>\n\t\t\t\t<th width='60%'>Value</th>\n\t\t\t</tr>\n\t\t\t<tr class='" . bg_class() . "'>\n\t\t\t\t<td>Branch</td>\n\t\t\t\t<td>{$bran['branname']}</td>\n\t\t\t</tr>\n\t\t\t<tr class='" . bg_class() . "'>\n\t\t\t\t<td>Warehouse</td>\n\t\t\t\t<td>{$wh['whname']}</td>\n\t\t\t</tr>\n\t\t\t<tr class='" . bg_class() . "'>\n\t\t\t\t<td>Category</td>\n\t\t\t\t<td>{$stk['catname']}</td>\n\t\t\t</tr>\n\t\t\t<tr class='" . bg_class() . "'>\n\t\t\t\t<td>Stock code</td>\n\t\t\t\t<td>{$stk['stkcod']}</td>\n\t\t\t</tr>\n\t\t\t<tr class='" . bg_class() . "'>\n\t\t\t\t<td>Stock description</td>\n\t\t\t\t<td>" . nl2br($stk['stkdes']) . "</pre></td>\n\t\t\t</tr>\n\t\t\t<tr class='" . bg_class() . "'>\n\t\t\t\t<td>On Hand</td>\n\t\t\t\t<td>{$stk['units']}</td>\n\t\t\t</tr>\n\t\t\t<tr class='" . bg_class() . "'>\n\t\t\t\t<td>Allocated</td>\n\t\t\t\t<td>{$stk['alloc']}</td>\n\t\t\t</tr>\n\t\t\t<tr class='" . bg_class() . "'>\n\t\t\t\t<td>Available</td>\n\t\t\t\t<td>{$avstk}</td>\n\t\t\t</tr>\n\t\t\t<tr class='" . bg_class() . "'>\n\t\t\t\t<td>On Order</td>\n\t\t\t\t<td>{$stk['ordered']}</td>\n\t\t\t</tr>\n\t\t\t<tr><td><br></td></tr>\n\t\t\t{$serials}\n\t\t\t<tr><td><br></td></tr>\n\t\t\t<tr>\n\t\t\t\t<th colspan='2'>Transfered to {$head}</th>\n\t\t\t</tr>\n\t\t\t<tr class='" . bg_class() . "'>\n\t\t\t\t<td>To Branch</td>\n\t\t\t\t<td>{$sbran['branname']}</td>\n\t\t\t</tr>\n\t\t\t<tr class='" . bg_class() . "'>\n\t\t\t\t<td>To Store </td>\n\t\t\t\t<td>{$swh['whname']}</td>\n\t\t\t</tr>\n\t\t\t<tr class='" . bg_class() . "'>\n\t\t\t\t<td>Stock code</td>\n\t\t\t\t<td>{$sstk['stkcod']}</td>\n\t\t\t</tr>\n\t\t\t<tr class='" . bg_class() . "'>\n\t\t\t\t<td>Stock description</td>\n\t\t\t\t<td>" . nl2br($sstk['stkdes']) . "</td>\n\t\t\t</tr>\n\t\t\t<tr class='" . bg_class() . "'>\n\t\t\t\t<td>Number of units transfered</td>\n\t\t\t\t<td>{$tunits}</td>\n\t\t\t</tr>\n\t\t\t{$data}\n\t\t</table>\n\t\t<p>\n\t\t<table " . TMPL_tblDflts . " width='15%'>\n\t\t\t<tr>\n\t\t\t\t<th>Quick Links</th>\n\t\t\t</tr>\n\t\t\t<tr class='" . bg_class() . "'>\n\t\t\t\t<td><a href='stock-transit-view.php'>View Stock in transit</a></td>\n\t\t\t</tr>\n\t\t\t<script>document.write(getQuicklinkSpecial());</script>\n\t\t</table>"; return $write; }
function rem($_POST) { # get vars foreach ($_POST as $key => $value) { ${$key} = $value; } # validate input require_lib("validate"); $v = new validate(); $v->isOk($id, "num", 1, 50, "Invalid transit number."); # Display errors, if any if ($v->isError()) { $confirm = ""; $errors = $v->getErrors(); foreach ($errors as $e) { $confirm .= "<li class=err>" . $e["msg"]; } $confirm .= "<p><input type=button onClick='JavaScript:history.back();' value='« Correct submission'>"; return $confirm; } # Select Stock db_connect(); $sql = "SELECT * FROM transit WHERE id = '{$id}' AND div = '" . USER_DIV . "'"; $tranRslt = db_exec($sql) or errDie("Unable to access databse.", SELF); if (pg_numrows($tranRslt) < 1) { return "<li> Invalid transit number."; } else { $tran = pg_fetch_array($tranRslt); } $sRs = undget("cubit", "*", "transerial", "tid", $id); if (pg_numrows($sRs) > 0) { while ($ser = pg_fetch_array($sRs)) { ext_uninvSer($ser['serno'], $tran['stkid']); } } /* start replcing stock */ # Put stock back $sql = "UPDATE stock SET units = (units + '{$tran['tunits']}'), csamt = (csamt + '{$tran['cstamt']}') WHERE stkid = '{$tran['stkid']}' AND div = '" . USER_DIV . "'"; $rslt = db_exec($sql) or errDie("Unable to update stock in Cubit.", SELF); # Remove stock from transit $sql = "DELETE FROM transit WHERE id = '{$id}' AND div = '" . USER_DIV . "'"; $rslt = db_exec($sql) or errDie("Unable to remove stock from transit.", SELF); # todays date $date = date("d-m-Y"); $refnum = getrefnum($date); # dt(conacc) ct(stkacc) # writetrans($wh['conacc'], $wh['stkacc'], $date, $refnum, $csamt, "Stock Transfer", USER_DIV); /* End replcing stock */ // Layout $write = "\n\t<table border=0 cellpadding='" . TMPL_tblCellPadding . "' cellspacing='" . TMPL_tblCellSpacing . "' width='50%'>\n\t<tr><th>Stock tranfer cancelled</th></tr>\n\t<tr class=datacell><td>Stock tranfer has been cancelled.</td></tr>\n\t</table>\n\t<p>\n\t<table border=0 cellpadding='2' cellspacing='1'>\n\t\t<tr><th>Quick Links</th></tr>\n\t\t<tr class='bg-odd'><td><a href='stock-transit-view.php'>View Stock in transit</a></td></tr>\n\t\t<tr bgcolor='#88BBFF'><td><a href='stock-view.php'>View Stock</a></td></tr>\n\t\t<script>document.write(getQuicklinkSpecial());</script>\n\t</table>"; return $write; }