function create_dummy($deptid, $assid, $grpid)
{
    db_conn('cubit');
    $Sql = "SELECT * FROM assets WHERE (id = '{$assid}' AND div = '" . USER_DIV . "')";
    $Rslt = db_exec($Sql) or errDie("Unable to access database.");
    if (pg_numrows($Rslt) < 1) {
        return "<li class='err'> - Asset not Found.</li>";
    }
    $asset = pg_fetch_array($Rslt);
    db_connect();
    # Dummy Vars
    $remarks = "";
    $supaddr = "";
    $terms = "0";
    $total = 0;
    $subtot = 0;
    $pdate = $asset['bdate'];
    $ddate = $asset['bdate'];
    $shipchrg = "0.00";
    $purnum = divlastid("pur", USER_DIV);
    # Insert purchase to DB
    $sql = "INSERT INTO nons_purchases(deptid, purnum, supplier, supaddr, terms, pdate, ddate, shipchrg, subtot, total, balance, vatinc, vat, remarks, received, done, prd, div, assid, grpid, is_asset)";
    $sql .= " VALUES('{$deptid}', '{$purnum}', '',  '{$supaddr}', '{$terms}', '{$pdate}', '{$ddate}', '{$shipchrg}', '{$subtot}', '{$total}', '{$total}', 'no', '0', '{$remarks}', 'n', 'n', '" . PRD_DB . "', '" . USER_DIV . "', '{$assid}', '{$grpid}', 'yes')";
    $rslt = db_exec($sql) or errDie("Unable to insert Non-Stock Purchase to Cubit.", SELF);
    # Get next ordnum
    $purid = lastpurid();
    for ($x = 0; $x < $asset['split_from']; $x++) {
        # insert Order items
        $sql = "INSERT INTO nons_pur_items(purid, cod, des, qty, unitcost, amt, svat, ddate, div, vatcode, is_asset)\n\t\tVALUES('{$purid}', '{$asset['serial']}', '{$asset['des']}', '1', '{$asset['amount']}', '{$asset['amount']}', '0', '{$asset['bdate']}', '" . USER_DIV . "', (SELECT id FROM cubit.vatcodes WHERE code='01' LIMIT 1),'{$assid}')";
        $rslt = db_exec($sql) or errDie("Unable to insert Order items to Cubit.", SELF);
    }
    return $purid;
}
function create_dummy($deptid, $purs, $spurnum, $spurtype, $spurprd)
{
    db_connect();
    # Dummy Vars
    $remarks = "";
    $supaddr = "";
    $terms = "0";
    $total = 0;
    $subtot = 0;
    $pdate = date("Y-m-d");
    $ddate = date("Y-m-d");
    $shipchrg = "0.00";
    $purnum = divlastid("pur", USER_DIV);
    # Insert purchase to DB
    $sql = "INSERT INTO nons_purchases(deptid, supplier, supaddr, terms, pdate, ddate, shipchrg, subtot, total, balance, vatinc, vat, remarks, received, done, prd, div, purnum, spurnum, spurtype, spurprd,purs)";
    $sql .= " VALUES('{$deptid}', '',  '{$supaddr}', '{$terms}', '{$pdate}', '{$ddate}', '{$shipchrg}', '{$subtot}', '{$total}', '{$total}', 'yes', '0', '{$remarks}', 'n', 'n', '" . PRD_DB . "', '" . USER_DIV . "', '{$purnum}', '{$spurnum}', '{$spurtype}', '{$spurprd}','{$purs}')";
    $rslt = db_exec($sql) or errDie("Unable to insert Non-Stock Purchase to Cubit.", SELF);
    # Get next ordnum
    //	$purid = pglib_lastpurid ("nons_purchases", "purid");
    $purid = lastpurid();
    return $purid;
}
function create_dummy($deptid)
{
    db_connect();
    # Dummy Vars
    $supid = 0;
    $remarks = "";
    $supname = "";
    $supaddr = "";
    $supno = "";
    $terms = "0";
    $total = 0;
    $subtot = 0;
    $pdate = date("Y-m-d");
    $ddate = date("Y-m-d");
    $shipchrg = "0.00";
    if (getSetting("PURCH_APPRV") == 'napprv') {
        $apprv = 'y';
    } else {
        $apprv = 'n';
    }
    $purnum = divlastid('pur', USER_DIV);
    # Insert purchase to DB
    $sql = "INSERT INTO purchases(deptid, supid, supname, supaddr, supno, terms, pdate, ddate, shipchrg, subtot, total, balance, vatinc, vat, remarks, received, done, prd, cash, div, purnum, apprv)";
    $sql .= " VALUES('{$deptid}', '{$supid}', '{$supname}', '{$supaddr}', '{$supno}', '{$terms}', '{$pdate}', '{$ddate}', '{$shipchrg}', '{$subtot}', '{$total}', '{$total}', 'yes', '0', '{$remarks}', 'n', 'n', '" . PRD_DB . "', 'y', '" . USER_DIV . "', '{$purnum}', '{$apprv}')";
    $rslt = db_exec($sql) or errDie("Unable to insert Purchase to Cubit.", SELF);
    # Get next ordnum
    //$purid = pglib_lastid ("purchases", "purid");
    $purid = lastpurid();
    return $purid;
}
function process_entries($_POST)
{
    extract($_POST);
    # CHECK IF THIS DATE IS IN THE BLOCKED RANGE
    $blocked_date_from = getCSetting("BLOCKED_FROM");
    $blocked_date_to = getCSetting("BLOCKED_TO");
    db_connect();
    pglib_transaction("BEGIN") or errDie("Unable to start transaction.");
    $vatacc = gethook("accnum", "salesacc", "name", "VAT");
    $vatinc = "yes";
    #remove any selected entries
    foreach ($ids as $keys => $value) {
        if (isset($remids[$keys]) and $remids[$keys] == $value) {
            db_connect();
            #now remove this entry
            $rem_sql = "DELETE FROM purch_batch_entries WHERE id = '{$ids[$keys]}'";
            $run_rem = db_exec($rem_sql) or errDie("Unable to remove processed batch entry.");
            continue;
        }
    }
    db_connect();
    #first we get the suppliers involved
    $get_sup = "SELECT distinct(supplier) FROM purch_batch_entries";
    $run_sup = db_exec($get_sup) or errDie("Unable to get supplier information.");
    if (pg_numrows($run_sup) < 1) {
        return get_items($_POST, "<li class='err'>Please Add At Least One Item.</li>");
    } else {
        while ($sarr0 = pg_fetch_array($run_sup)) {
            #get this supplier's name
            $get_supp = "SELECT supname,supaddr FROM suppliers WHERE supid = '{$sarr0['supplier']}' LIMIT 1";
            $run_supp = db_exec($get_supp) or errDie("Unable to get supplier information.");
            if (pg_numrows($run_supp) < 1) {
                $supname = "";
                $supaddr = "";
            } else {
                $sarr = pg_fetch_array($run_supp);
                $supname = $sarr['supname'];
                $supaddr = $sarr['supaddr'];
            }
            #get distinct invs
            $get_inv = "SELECT distinct (supinv) FROM purch_batch_entries WHERE supplier = '{$sarr0['supplier']}'";
            $run_inv = db_exec($get_inv) or errDie("Unable to get batch entries.");
            if (pg_numrows($run_inv) < 1) {
                return get_items($_POST, "<li class='err'>Please Add At Least One Item.</li>");
            } else {
                while ($earr = pg_fetch_array($run_inv)) {
                    #get the info + each entry = new line item
                    $get_items = "SELECT * FROM purch_batch_entries WHERE supplier = '{$sarr0['supplier']}' AND supinv = '{$earr['supinv']}'";
                    $run_items = db_exec($get_items) or errDie("Unable to get purchase information.");
                    if (pg_numrows($run_items) < 1) {
                        return get_items($_POST, "<li class='err'>Please Add At Least One Item.</li>");
                    } else {
                        $total = 0;
                        while ($arr1 = pg_fetch_array($run_items)) {
                            if (strtotime($arr1['pdate']) >= strtotime($blocked_date_from) and strtotime($arr1['pdate']) <= strtotime($blocked_date_to) and !user_is_admin(USER_ID)) {
                                return "<li class='err'>Period Range Is Blocked. Only an administrator can process entries within this period.</li>";
                            }
                            #calculate the total
                            $total = $total + $arr1['qty'] * $arr1['price'];
                            $pdate = $arr1['pdate'];
                            $ddate = $arr1['pdate'];
                        }
                    }
                    #get the info + each entry = new line item
                    $get_items = "SELECT * FROM purch_batch_entries WHERE supplier = '{$sarr0['supplier']}' AND supinv = '{$earr['supinv']}'";
                    $run_items = db_exec($get_items) or errDie("Unable to get purchase information.");
                    if (pg_numrows($run_items) < 1) {
                        return get_items($_POST, "<li class='err'>Please Add At Least One Item.</li>");
                    } else {
                        #################[ write the non stock purchase ]################
                        $remarks = "";
                        $supaddr = "";
                        $terms = "0";
                        $total = 0;
                        $subtot = 0;
                        //		$pdate = "$dates_year[$keys]-$dates_month[$keys]-$dates_day[$keys]";
                        //		$ddate = $arr['sdate'];
                        $shipchrg = "0.00";
                        $purnum = divlastid("pur", USER_DIV);
                        $typeid = 0;
                        if (!isset($ctyp)) {
                            $ctyp = "s";
                        }
                        //old ...
                        //'$sarr0[supplier]','2','$supname','$supaddr','$terms',
                        # Insert Order to DB
                        $sql = "\n\t\t\t\t\t\t\t\tINSERT INTO nons_purchases (\n\t\t\t\t\t\t\t\t\tsupid, deptid, supplier, supaddr, terms, pdate, ddate, \n\t\t\t\t\t\t\t\t\tshipchrg, subtot, total, balance, vatinc, vat, remarks, received, done, \n\t\t\t\t\t\t\t\t\tprd, div, purnum, ctyp, typeid\n\t\t\t\t\t\t\t\t) VALUES (\n\t\t\t\t\t\t\t\t\t'{$sarr0['supplier']}', '2', '{$supname}', '{$supaddr}', '{$terms}', '{$pdate}', '{$ddate}', \n\t\t\t\t\t\t\t\t\t'{$shipchrg}', '{$subtot}', '{$total}', '{$total}', 'yes', '0', '{$remarks}', 'n', 'n', \n\t\t\t\t\t\t\t\t\t'" . PRD_DB . "', '" . USER_DIV . "', '{$purnum}', '{$ctyp}', '{$typeid}'\n\t\t\t\t\t\t\t\t)";
                        $rslt = db_exec($sql) or errDie("Unable to insert Non-Stock Order to Cubit.", SELF);
                        #################################################################
                        $refnum = getrefnum();
                        $resub = 0;
                        $totstkamt = array();
                        $revat = 0;
                        #######[ NOW WRITE THE ITEMS ]########
                        while ($arr1 = pg_fetch_array($run_items)) {
                            if (!in_array("{$arr1['id']}", $ids)) {
                            }
                            $darr = explode("-", $arr1['pdate']);
                            $suppliers[$keys] = $arr1['supplier'];
                            $accounts[$keys] = $arr1['account'];
                            $dates_year[$keys] = $darr[0];
                            $dates_month[$keys] = $darr[1];
                            $dates_day[$keys] = $darr[2];
                            $vatcodes[$keys] = $arr1['vatcode'];
                            $supinvs[$keys] = $arr1['supinv'];
                            $descriptions[$keys] = $arr1['description'];
                            $qtys[$keys] = $arr1['qty'];
                            $prices[$keys] = $arr1['price'];
                            # Get next ordnum
                            $purid = lastpurid();
                            $novat[$keys] = "1";
                            # Calculate amount
                            $amt[$keys] = $qtys[$keys] * $prices[$keys];
                            $tv = $vatinc;
                            db_conn('cubit');
                            $Sl = "SELECT * FROM vatcodes WHERE id='{$vatcodes[$keys]}'";
                            $Ri = db_exec($Sl);
                            if (pg_num_rows($Ri) < 1) {
                                return get_items($_POST, "<li class='err'>Please select the vatcode for all your items.</li>");
                            }
                            $vd = pg_fetch_array($Ri);
                            $VATP = $vd['vat_amount'];
                            if (TAX_VAT != $vd['vat_amount'] and $vd['vat_amount'] != "0.00") {
                                $showvat = FALSE;
                            }
                            # Check Tax Excempt
                            if ($vd['zero'] == "Yes") {
                                $vat[$keys] = 0;
                                $vatinc = "novat";
                            }
                            if (isset($novat[$keys]) || strlen($vat[$keys]) < 1) {
                                # If vat is not included
                                if ($vatinc == "no") {
                                    $vat[$keys] = sprint($VATP / 100 * $amt[$keys]);
                                } elseif ($vatinc == "yes") {
                                    $vat[$keys] = sprint($amt[$keys] / (100 + $VATP) * $VATP);
                                } else {
                                    $vat[$keys] = 0;
                                }
                            }
                            if ($vatinc == "novat") {
                                $vat[$keys] = 0;
                            }
                            if ($vatinc != "novat") {
                                # If vat is not included
                                if ($vatinc == "no") {
                                    $vat[$keys] = sprintf("%01.2f", $VATP / 100 * $amt[$keys]);
                                } else {
                                    $vat[$keys] = sprintf("%01.2f", $amt[$keys] / ($VATP + 100) * $VATP);
                                }
                            }
                            $vatinc = $tv;
                            # insert Order items
                            $sql = "\n\t\t\t\t\t\t\t\t\tINSERT INTO nons_pur_items (\n\t\t\t\t\t\t\t\t\t\tpurid, cod, des, \n\t\t\t\t\t\t\t\t\t\tqty, unitcost, amt, \n\t\t\t\t\t\t\t\t\t\tsvat, ddate, div, vatcode\n\t\t\t\t\t\t\t\t\t) VALUES (\n\t\t\t\t\t\t\t\t\t\t'{$purid}', '{$supinvs[$keys]}', '{$descriptions[$keys]}', \n\t\t\t\t\t\t\t\t\t\t'{$qtys[$keys]}', '{$prices[$keys]}', '{$amt[$keys]}', \n\t\t\t\t\t\t\t\t\t\t'{$vat[$keys]}', '{$ddate}', '" . USER_DIV . "','{$vatcodes[$keys]}'\n\t\t\t\t\t\t\t\t\t)";
                            $rslt = db_exec($sql) or errDie("Unable to insert Order items to Cubit.", SELF);
                            //FP
                            $itemid = pglib_lastid("nons_pur_items", "id");
                            $SUBTOT = "";
                            $TOTAL = "";
                            # calculate subtot
                            if (isset($amt[$keys])) {
                                $SUBTOT = $amt[$keys];
                            } else {
                                $SUBTOT = 0.0;
                            }
                            # If there vatable items
                            if (isset($vat[$keys])) {
                                $VAT = $vat[$keys];
                            } else {
                                $VAT = 0;
                            }
                            # Total
                            $TOTAL = $SUBTOT;
                            # If vat is not included
                            if ($vatinc == "no") {
                                $TOTAL = $TOTAL + $VAT;
                            } else {
                                $TOTAL = $TOTAL;
                                $SUBTOT -= $VAT;
                            }
                            # insert Order to DB
                            $sql = "\n\t\t\t\t\t\t\t\t\tUPDATE nons_purchases \n\t\t\t\t\t\t\t\t\tSET terms = '{$terms}', \n\t\t\t\t\t\t\t\t\t\tsubtot = subtot + '{$SUBTOT}', total = total + '{$TOTAL}',\n\t\t\t\t\t\t\t\t\t\tbalance = balance + '{$TOTAL}', vatinc = 'yes', vat = vat + '{$VAT}',\n\t\t\t\t\t\t\t\t\t\tsupinv='{$supinvs[$keys]}'\n\t\t\t\t\t\t\t\t\tWHERE purid = '{$purid}' AND div = '" . USER_DIV . "'";
                            $rslt = db_exec($sql) or errDie("Unable to update Order in Cubit.", SELF);
                            #####################[ BEGIN PROCESSING ]#######################
                            db_connect();
                            $td = $pdate;
                            # amount of stock in
                            $amt[$keys] = $qtys[$keys] * $prices[$keys];
                            $SUBTOTAL = $amt[$keys];
                            # Get selected stock line
                            $sql = "SELECT * FROM nons_pur_items WHERE purid = '{$purid}' AND id = '{$itemid}' AND div = '" . USER_DIV . "'";
                            $stkdRslt = db_exec($sql);
                            $stkd = pg_fetch_array($stkdRslt);
                            # Calculate cost amount bought
                            $amt[$keys] = $qtys[$keys] * $prices[$keys];
                            /* delivery charge */
                            # Calculate percentage from subtotal
                            $perc[$keys] = $amt[$keys] / $SUBTOTAL * 100;
                            /* end delivery charge */
                            # the subtotal + delivery charges
                            $resub += $amt[$keys];
                            # calculate vat
                            $svat[$keys] = svat($amt[$keys], $stkd['amt'], $stkd['svat']);
                            db_conn('cubit');
                            $Sl = "SELECT * FROM vatcodes WHERE id='{$stkd['vatcode']}'";
                            $Ri = db_exec($Sl) or errDie("Unable to get data.");
                            $vd = pg_fetch_array($Ri);
                            vatr($vd['id'], $pdate, "INPUT", $vd['code'], $refnum, "VAT for Non-Stock Purchase No. {$purnum}", -$amt[$keys], -$svat[$keys]);
                            # received vat
                            $revat += $svat[$keys];
                            # make amount vat free
                            $amt[$keys] = $amt[$keys] - $svat[$keys];
                            # keep records for transactions
                            if (isset($totstkamt[$accounts[$keys]])) {
                                $totstkamt[$accounts[$keys]] += $amt[$keys];
                            } else {
                                $totstkamt[$accounts[$keys]] = $amt[$keys];
                            }
                            # check if there are any outstanding items
                            $sql = "SELECT * FROM nons_pur_items WHERE purid = '{$purid}' AND div = '" . USER_DIV . "'";
                            // the old method check for this .. we receive everything NOW so we dont need this AND (qty - rqty) > '0' AND div = '".USER_DIV."'";
                            $stkdRslt = db_exec($sql);
                            # if none the set to received
                            if (pg_numrows($stkdRslt) < 1) {
                                //NO items were found ... problem somewhere
                            } else {
                                # update surch_int(received = 'y')
                                $sql = "UPDATE nons_purchases SET received = 'y' WHERE purid = '{$purid}' AND div = '" . USER_DIV . "'";
                                $rslt = db_exec($sql) or errDie("Unable to update international Orders in Cubit.", SELF);
                                //	while ($uniarr1 = pg_fetch_array($stkdRslt)){
                                # Update Order items
                                $sql = "UPDATE nons_pur_items SET rqty = (rqty + '{$qtys[$keys]}'), accid = '{$accounts[$keys]}' WHERE purid='{$purid}' AND div = '" . USER_DIV . "' AND id = '{$itemid}'";
                                $rslt = db_exec($sql) or errDie("Unable to insert Order items to Cubit.", SELF);
                                //	}
                            }
                            # Update Order on the DB
                            $sql = "UPDATE nons_purchases SET  typeid = '2', refno = '', remarks = '{$remarks}' WHERE purid = '{$purid}' AND div = '" . USER_DIV . "'";
                            $rslt = db_exec($sql) or errDie("Unable to update Order in Cubit.", SELF);
                            /* - Start Hooks - */
                            $vatacc = gethook("accnum", "salesacc", "name", "VAT");
                            if (isset($suppliers[$keys])) {
                                $typeid = $suppliers[$keys];
                                db_connect();
                                $sql = "SELECT * FROM suppliers WHERE supid = '{$suppliers[$keys]}' AND div = '" . USER_DIV . "'";
                                $supRslt = db_exec($sql) or errDie("Unable to get supplier");
                                if (pg_numrows($supRslt) < 1) {
                                    $error = "<li class='err'> Supplier not Found.</li>";
                                    $confirm .= "{$error}<p><input type='button' onClick='JavaScript:history.back();' value='&laquo; Correct submission'>";
                                    return $confirm;
                                } else {
                                    $sup = pg_fetch_array($supRslt);
                                    $pur['supplier'] = $sup['supname'];
                                    $pur['supaddr'] = $sup['supaddr'];
                                    # Get department info
                                    db_conn("exten");
                                    $sql = "SELECT * FROM departments WHERE deptid = '{$sup['deptid']}' AND div = '" . USER_DIV . "'";
                                    $deptRslt = db_exec($sql);
                                    if (pg_numrows($deptRslt) < 1) {
                                        return "<i class='err'>Department Not Found</i>";
                                    } else {
                                        $dept = pg_fetch_array($deptRslt);
                                    }
                                    $supacc = $dept['credacc'];
                                }
                            }
                            /* - End Hooks - */
                            ### DATA SET 2 WAS HERE
                            #####################################################################################
                            //pglib_transaction("COMMIT") or errDie("Unable to complete transaction.");
                            #received so now move
                            //pglib_transaction("BEGIN") or errDie("Unable to start transaction.");
                            ## move stuff went here
                            #####################################################################################
                            db_connect();
                            //			$sql = "SELECT * FROM bankacct WHERE btype != 'int' AND div = '".USER_DIV."' LIMIT 1";
                            //			$banks = db_exec($sql);
                            //			if(pg_numrows($banks) < 1){
                            //				return "<li class='err'> There are no accounts held at the selected Bank.
                            //				<p><input type='button' onClick='JavaScript:history.back();' value='&laquo; Correct Selection'>";
                            //			}
                            //			$barr = pg_fetch_array($banks);
                            //			$bankid = $barr['bankid'];
                            //			core_connect();
                            //			$sql = "SELECT * FROM bankacc WHERE accid = '$bankid' AND div = '".USER_DIV."'";
                            //			$rslt = db_exec($sql) or errDie("Unable to retrieve bank account link from Cubit",SELF);
                            //			# Check if link exists
                            //			if(pg_numrows($rslt) <1){
                            //				return "<li class='err'> ERROR : The bank account that you selected doesn't appear to have an account linked to it.";
                            //			}
                            //			$banklnk = pg_fetch_array($rslt);
                            //			$cc_trantype = cc_TranTypeAcc($arr1['account'], $banklnk['accnum']);
                            //
                            //			if(($arr1['project_id'] == 0) OR (strlen($arr1['project_code']) < 1) OR (strlen($arr1['center_code']) < 1) OR (strlen($arr1['center_perc']) < 1)){
                            //				$cc = "
                            //						<script>
                            //							CostCenter('$cc_trantype', 'Non Stock Purchase', '$arr1[pdate]', '$arr1[description]', '$arr1[price]', '');
                            //						</script>
                            //						";
                            //			}else {
                            //				$cc = "";
                            //			}
                            //								$get_data = "SELECT * FROM purch_batch_entries WHERE id = '$ids[$keys]' LIMIT 1";
                            $get_data = "SELECT * FROM purch_batch_entries WHERE id = '{$arr1['id']}' LIMIT 1";
                            $run_data = db_exec($get_data) or errDie("Unable to get cost ledger information.");
                            if (pg_numrows($run_data) < 1) {
                                return "\n\t\t\t\t\t\t\t\t\t\t<table " . TMPL_tblDflts . ">\n\t\t\t\t\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t\t\t\t\t\t<td><li class='err'>Unable to get batch entry information.</li></td>\n\t\t\t\t\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t\t\t\t\t</table>\n\t\t\t\t\t\t\t\t\t\t<br>" . mkQuickLinks(ql("nons-purch-batch-add.php", "Batch Creditors Non-Stock Invoices Add"), ql("purchase-new.php", "Add Purchase"), ql("purchase-view.php", "View Purchases"), ql("nons-purchase-new.php", "Add Non-Stock Purchase"), ql("nons-purchase-view.php", "View Non-Stock Purchases"));
                            }
                            $data_arr = pg_fetch_array($run_data);
                            $csetting = getsetting("CC_USE");
                            if ($csetting == "use") {
                                # we want to store all the relevant information in a neat and orderly manner ...
                                $get_info = "SELECT * FROM purch_batch_entries_costcenters WHERE batch_entry = '{$arr1['id']}'";
                                //$ids[$keys]'";
                                $run_info = db_exec($get_info) or errDie("Unable to get batch entry cost ledger information.");
                                if (pg_numrows($run_info) < 1) {
                                    #no cost entries ????
                                } else {
                                    $ccenters = "";
                                    while ($arr = pg_fetch_array($run_info)) {
                                        $amt_vat = $arr1['price'] / (100 + $vd['vat_amount']) * $vd['vat_amount'];
                                        $amount = $arr1['qty'] * ($arr1['price'] - $amt_vat);
                                        db_connect();
                                        #get project id
                                        $get_pro = "SELECT * FROM projects WHERE code = '{$arr['project']}' LIMIT 1";
                                        $run_pro = db_exec($get_pro) or errDie("Unable to get project information.");
                                        if (pg_numrows($run_pro) < 1) {
                                            $project = 0;
                                        } else {
                                            $pro_arr = pg_fetch_array($run_pro);
                                            $project = $pro_arr['id'];
                                        }
                                        #get costcenter id
                                        $get_cst = "SELECT * FROM costcenters WHERE centercode = '{$arr['costcenter']}' LIMIT 1";
                                        $run_cst = db_exec($get_cst) or errDie("Unable to get cost center information.");
                                        if (pg_numrows($run_cst) < 1) {
                                            $costcenterlink = 0;
                                        } else {
                                            $cst_arr = pg_fetch_array($run_cst);
                                            $costcenterlink = $cst_arr['ccid'];
                                        }
                                        #get costcenter/project link id
                                        $get_link = "SELECT * FROM costcenters_links WHERE ccid = '{$costcenterlink}' AND project1 = '{$project}' LIMIT 1";
                                        $run_link = db_exec($get_link) or errDie("Unable to get cost center link information.");
                                        if (pg_numrows($run_link) < 1) {
                                            return "<li class='err'>Unable to get cost ledger link information.</li>";
                                        }
                                        $cc = pg_fetch_array($run_link);
                                        $edate = ext_rdate($data_arr['pdate']);
                                        $edarr = explode("-", $edate);
                                        $prd = $edarr[1];
                                        $ccamts = sprint($amount * ($arr['costperc'] / 100));
                                        #we need to connect to the actual period db
                                        db_conn($prd);
                                        $sql = "\n\t\t\t\t\t\t\t\t\t\t\t\tINSERT INTO cctran (\n\t\t\t\t\t\t\t\t\t\t\t\t\tccid, trantype, typename, edate, description, \n\t\t\t\t\t\t\t\t\t\t\t\t\tamount, username, div, project\n\t\t\t\t\t\t\t\t\t\t\t\t) VALUES (\n\t\t\t\t\t\t\t\t\t\t\t\t\t'{$cc['ccid']}', 'ct', 'Non Stock Purchase', '{$data_arr['pdate']}', '{$data_arr['description']}', \n\t\t\t\t\t\t\t\t\t\t\t\t\t'{$ccamts}', '" . USER_NAME . "', '" . USER_DIV . "', '{$project}'\n\t\t\t\t\t\t\t\t\t\t\t\t)";
                                        $insRslt = db_exec($sql) or errDie("Unable to retrieve insert Cost center amounts into database.");
                                    }
                                }
                            }
                            db_connect();
                            #now remove this entry
                            $rem_sql = "DELETE FROM purch_batch_entries WHERE id = '{$arr1['id']}'";
                            $run_rem = db_exec($rem_sql) or errDie("Unable to remove processed batch entry.");
                            #remove cost center
                            $rem_sql2 = "DELETE FROM purch_batch_entries_costcenters WHERE batch_entry = '{$arr1['id']}'";
                            $run_rem2 = db_exec($rem_sql2) or errDie("Unable to remove cost center information.");
                        }
                        # Get Order info
                        db_connect();
                        $sql = "SELECT * FROM nons_purchases WHERE purid = '{$purid}' AND div = '" . USER_DIV . "'";
                        $purRslt = db_exec($sql) or errDie("Unable to get Order information");
                        if (pg_numrows($purRslt) < 1) {
                            return "<li>- Order Not Found</li>";
                        }
                        $pur = pg_fetch_array($purRslt);
                        $sid = $pur['supid'];
                        $purnum = $pur['purnum'];
                        if ($pur['received'] == "y") {
                            if (isset($bankid)) {
                                $sid = $bankid;
                                $sid += 0;
                            }
                            ### DATA SET 2 ...
                            $detadd = "";
                            if (isset($sid)) {
                                $detadd = " from Supplier {$pur['supplier']}";
                            }
                            $sdate = $pdate;
                            $tpp = 0;
                            $ccamt = 0;
                            # record transaction  from data
                            if (isset($BA)) {
                                $supacc = $BA;
                            }
                            foreach ($totstkamt as $stkacc => $wamt) {
                                writetrans($stkacc, $supacc, $td, $refnum, $wamt, "Non-Stock Purchase No. {$purnum} Received {$detadd}.");
                                pettyrec($supacc, $sdate, "ct", "Non-Stock Purchase No. {$purnum} Received {$detadd}.", $wamt, "Cash Order");
                            }
                            # vat
                            $vatamt = $revat;
                            # Add vat if not included
                            $retot = $resub;
                            if (isset($sid)) {
                                db_connect();
                                # update the supplier (make balance more)
                                $sql = "UPDATE suppliers SET balance = (balance + '{$retot}') WHERE supid = '{$pur['supid']}' AND div = '" . USER_DIV . "'";
                                $rslt = db_exec($sql) or errDie("Unable to update invoice in Cubit.", SELF);
                            }
                            if (isset($sid)) {
                                # Ledger Records
                                $DAte = $pur['pdate'];
                                suppledger($sup['supid'], $stkacc, $DAte, $purid, "Non-Stock Purchase No. {$purnum} received.", $retot, 'c');
                            }
                            if ($vatamt != 0) {
                                # Debit bank and credit the account involved
                                writetrans($vatacc, $supacc, $td, $refnum, $vatamt, "Non-Stock Purchase VAT paid on Non-Stock Order No. {$purnum} {$detadd}.");
                                pettyrec($supacc, $sdate, "ct", "Non-Stock Purchase No. {$purnum} Received {$detadd}.", $vatamt, "Cash Order VAT");
                                # Record the payment on the statement
                                db_connect();
                                $sdate = $pdate;
                            }
                            //								if(isset($bankid)) {
                            //									db_connect();
                            //									$sql = "INSERT INTO cashbook(bankid, trantype, date, name, descript, cheqnum, amount, vat, chrgvat, banked, accinv, div) VALUES ('$bankid', 'withdrawal', '$sdate', '$pur[supplier]', 'Non-Stock Purchase No. $pur[purnum] received', '0', '$retot', '$vatamt', '$pur[vatinc]', 'no', '$stkacc', '".USER_DIV."')";
                            //									$Rslt = db_exec ($sql) or errDie ("Unable to add bank payment to database.",SELF);
                            //								}
                            if (isset($sid)) {
                                db_connect();
                                $DAte = $pdate;
                                $sql = "\n\t\t\t\t\t\t\t\t\t\tINSERT INTO sup_stmnt (\n\t\t\t\t\t\t\t\t\t\t\tsupid, edate, cacc, amount, \n\t\t\t\t\t\t\t\t\t\t\tdescript, ref, ex, div\n\t\t\t\t\t\t\t\t\t\t) VALUES (\n\t\t\t\t\t\t\t\t\t\t\t'{$pur['supid']}', '{$pur['pdate']}', '{$stkacc}', '{$retot}', \n\t\t\t\t\t\t\t\t\t\t\t'Non Stock Purchase No. {$purnum} Received', '{$refnum}', '{$purnum}', '" . USER_DIV . "'\n\t\t\t\t\t\t\t\t\t\t)";
                                $stmntRslt = db_exec($sql) or errDie("Unable to insert statement record in Cubit.", SELF);
                                db_connect();
                                # update the supplier age analysis (make balance less)
                                /* Make transaction record for age analysis */
                                $sql = "\n\t\t\t\t\t\t\t\t\t\tINSERT INTO suppurch (\n\t\t\t\t\t\t\t\t\t\t\tsupid, purid, pdate, balance, div\n\t\t\t\t\t\t\t\t\t\t) VALUES (\n\t\t\t\t\t\t\t\t\t\t\t'{$pur['supid']}', '{$purnum}', '{$pur['pdate']}', '{$retot}', '" . USER_DIV . "'\n\t\t\t\t\t\t\t\t\t\t)";
                                $purcRslt = db_exec($sql) or errDie("Unable to update int Orders information in Cubit.", SELF);
                            }
                            ###
                            # copy Order
                            db_conn(PRD_DB);
                            $sql = "\n\t\t\t\t\t\t\t\t\tINSERT INTO nons_purchases (\n\t\t\t\t\t\t\t\t\t\tpurid, deptid, supplier, supaddr, terms, \n\t\t\t\t\t\t\t\t\t\tpdate, ddate, shipchrg, shipping, subtot, \n\t\t\t\t\t\t\t\t\t\ttotal, balance, vatinc, vat, remarks, \n\t\t\t\t\t\t\t\t\t\trefno, received, done, ctyp, typeid, \n\t\t\t\t\t\t\t\t\t\tdiv, purnum, supid, mpurid, is_asset, supinv\n\t\t\t\t\t\t\t\t\t) VALUES (\n\t\t\t\t\t\t\t\t\t\t'{$purid}', '{$pur['deptid']}', '{$pur['supplier']}',  '{$pur['supaddr']}', '{$pur['terms']}', \n\t\t\t\t\t\t\t\t\t\t'{$pur['pdate']}', '{$pur['ddate']}', '{$pur['shipchrg']}', '{$pur['shipping']}', '{$pur['subtot']}', \n\t\t\t\t\t\t\t\t\t\t'{$pur['total']}', '0', '{$pur['vatinc']}', '{$pur['vat']}', '{$pur['remarks']}', \n\t\t\t\t\t\t\t\t\t\t'{$pur['refno']}', 'y', 'y', '{$pur['ctyp']}', '{$pur['typeid']}', \n\t\t\t\t\t\t\t\t\t\t'" . USER_DIV . "', '{$pur['purnum']}','{$sid}', '{$supacc}', '{$pur['is_asset']}', '{$pur['supinv']}'\n\t\t\t\t\t\t\t\t\t)";
                            $rslt = db_exec($sql) or errDie("Unable to insert Non-Stock Order to Cubit.", SELF);
                            db_connect();
                            # Get selected stock
                            $sql = "SELECT * FROM nons_pur_items WHERE purid = '{$purid}' AND div = '" . USER_DIV . "'";
                            $stktcRslt = db_exec($sql);
                            while ($stktc = pg_fetch_array($stktcRslt)) {
                                # Insert Order items
                                db_conn($pur['prd']);
                                $sql = "\n\t\t\t\t\t\t\t\t\t\tINSERT INTO nons_pur_items (\n\t\t\t\t\t\t\t\t\t\t\tpurid, cod, des, qty, unitcost, \n\t\t\t\t\t\t\t\t\t\t\tamt, svat, ddate, accid, \n\t\t\t\t\t\t\t\t\t\t\tdiv, vatcode\n\t\t\t\t\t\t\t\t\t\t) VALUES (\n\t\t\t\t\t\t\t\t\t\t\t'{$purid}', '{$stktc['cod']}', '{$stktc['des']}', '{$stktc['qty']}', '{$stktc['unitcost']}', \n\t\t\t\t\t\t\t\t\t\t\t'{$stktc['amt']}', '{$stktc['svat']}', '{$stktc['ddate']}', '{$stktc['accid']}', \n\t\t\t\t\t\t\t\t\t\t\t'" . USER_DIV . "', '{$stktc['vatcode']}'\n\t\t\t\t\t\t\t\t\t\t)";
                                $rslt = db_exec($sql) or errDie("Unable to insert Order items to Cubit.", SELF);
                            }
                            db_connect();
                            # Remove the Order from running DB
                            $sql = "DELETE FROM nons_purchases WHERE purid = '{$purid}' AND div = '" . USER_DIV . "'";
                            $delRslt = db_exec($sql) or errDie("Unable to update int Orders information in Cubit.", SELF);
                            # Remove those Order items from running DB
                            $sql = "DELETE FROM nons_pur_items WHERE purid = '{$purid}' AND div = '" . USER_DIV . "'";
                            $delRslt = db_exec($sql) or errDie("Unable to update int Orders information in Cubit.", SELF);
                        }
                    }
                }
            }
        }
    }
    pglib_transaction("COMMIT") or errDie("Unable to complete transaction.");
    return "\n\t\t<table " . TMPL_tblDflts . ">\n\t\t\t<tr>\n\t\t\t\t<th>Processing Completed</th>\n\t\t\t</tr>\n\t\t\t<tr class='" . bg_class() . "'>\n\t\t\t\t<td>All Selected Transactions Completed</td>\n\t\t\t</tr>\n\t\t</table>\n\t\t<br>\n\t\t" . mkQuickLinks(ql("nons-purch-batch-add.php", "Batch Creditors Non-Stock Invoices Add"), ql("purchase-new.php", "Add Purchase"), ql("purchase-view.php", "View Purchases"), ql("nons-purchase-new.php", "Add Non-Stock Purchase"), ql("nons-purchase-view.php", "View Non-Stock Purchases"));
}
function create_dummy($deptid)
{
    global $_POST;
    extract($_POST);
    db_connect();
    # Dummy Vars
    $remarks = "";
    $supaddr = "";
    $terms = "0";
    $total = 0;
    $subtot = 0;
    //	$pdate = date("Y-m-d");
    $ddate = date("Y-m-d");
    $shipchrg = "0.00";
    $purnum = divlastid("pur", USER_DIV);
    if (isset($supid)) {
        $supid += 0;
    } else {
        $supid = 0;
    }
    if (isset($deptid)) {
        $typeid = $deptid;
        $typeid += 0;
    } else {
        $typeid = 0;
    }
    if ($ctyp == "cb" && isset($bankid)) {
        $bankid += 0;
        $supplierid = $bankid;
        $supid = "";
    } else {
        $supplierid = 0;
    }
    if ($ctyp == "c") {
        $supid = "Cash Order";
    } elseif ($ctyp == "p") {
        $supid = "Petty Cash Order";
    } elseif ($ctyp == "ac") {
        $supid = "Ledger Account Order";
    }
    $trans_date_setting = getCSetting("USE_TRANSACTION_DATE");
    if (isset($trans_date_setting) and $trans_date_setting == "yes") {
        $trans_date_value = getCSetting("TRANSACTION_DATE");
        $date_arr = explode("-", $trans_date_value);
        $date_year = $date_arr[0];
        $date_month = $date_arr[1];
        $date_day = $date_arr[2];
    } else {
        $date_year = date("Y");
        $date_month = date("m");
        $date_day = date("d");
    }
    $pdate = "{$date_year}-{$date_month}-{$date_day}";
    # Insert Order to DB
    $sql = "\n\t\tINSERT INTO nons_purchases (\n\t\t\tsupid, deptid, supplier, supaddr, terms, pdate, ddate, shipchrg, subtot, total, \n\t\t\tbalance, vatinc, vat, remarks, received, done, prd, div, purnum, ctyp, typeid\n\t\t) VALUES (\n\t\t\t'{$supplierid}', '{$deptid}', '{$supid}',  '{$supaddr}', '{$terms}', '{$pdate}', '{$ddate}', '{$shipchrg}', '{$subtot}', '{$total}', \n\t\t\t'{$total}', 'yes', '0', '{$remarks}', 'n', 'n', '" . PRD_DB . "', '" . USER_DIV . "', '{$purnum}', '{$ctyp}', '{$typeid}'\n\t\t)";
    $rslt = db_exec($sql) or errDie("Unable to insert Non-Stock Order to Cubit.", SELF);
    # Get next ordnum
    $purid = lastpurid();
    return $purid;
}
function create_dummy($deptid)
{
    db_connect();
    # Dummy Vars
    $supid = 0;
    $remarks = "";
    $supname = "";
    $supaddr = "";
    $supno = "";
    $terms = "0";
    $total = 0;
    $subtot = 0;
    //	$pdate = date("Y-m-d");
    $ddate = date("Y-m-d");
    $shipchrg = "0.00";
    $purnum = divlastid('pur', USER_DIV);
    if (getSetting("PURCH_APPRV") == 'napprv' || getSetting("PURCH_APPRV") == '') {
        $apprv = 'y';
    } else {
        $apprv = 'n';
    }
    $def_vat = getCSetting("PURCH_DEFAULT_VAT_SETTING");
    if (!isset($def_vat) or $def_vat == "yes") {
        $vatsetting = "yes";
    } else {
        $vatsetting = "no";
    }
    $trans_date_setting = getCSetting("USE_TRANSACTION_DATE");
    if (isset($trans_date_setting) and $trans_date_setting == "yes") {
        $trans_date_value = getCSetting("TRANSACTION_DATE");
        $date_arr = explode("-", $trans_date_value);
        $date_year = $date_arr[0];
        $date_month = $date_arr[1];
        $date_day = $date_arr[2];
    } else {
        $date_year = date("Y");
        $date_month = date("m");
        $date_day = date("d");
    }
    $pdate = "{$date_year}-{$date_month}-{$date_day}";
    # Insert Order to DB
    $sql = "\n\t\tINSERT INTO purchases (\n\t\t\tdeptid, supid, supname, supaddr, supno, terms, pdate, ddate, shipchrg, subtot, \n\t\t\ttotal, balance, vatinc, vat, remarks, received, done, prd, div, purnum, apprv\n\t\t) VALUES (\n\t\t\t'{$deptid}', '{$supid}', '{$supname}', '{$supaddr}', '{$supno}', '{$terms}', '{$pdate}', '{$ddate}', '{$shipchrg}', '{$subtot}', \n\t\t\t'{$total}', '{$total}', '{$vatsetting}', '0', '{$remarks}', 'n', 'n', '" . PRD_DB . "', '" . USER_DIV . "', '{$purnum}', '{$apprv}'\n\t\t)";
    $rslt = db_exec($sql) or errDie("Unable to insert Order to Cubit.", SELF);
    # Get next ordnum
    $purid = lastpurid();
    return $purid;
}