function addDistrict($distName) { if (isset($distName) && is_array($distName)) { $distObj = $distName; $distName = $distObj[distName]; //for JSON object } $query = DB::genInsertStr("District", DB::getLastIndex("District"), $distName); return DB::query($query); }
function addProduct($prodName, $prodPrice, $prodPhoto, $stockQty, $catNo, $suppNo) { if (is_array($prodNo)) { //for JSON associated array $prodObj = $prodNo; $prodName = $prodObj[prodName]; $prodPrice = $prodObj[prodPrice]; $prodPhoto = $prodObj[prodPhoto]; $stockQty = $prodObj[stockQty]; $catNo = $prodObj[catNo]; $suppNo = $prodObj[suppNo]; } $query = DB::genInsertStr("Product", DB::getLastIndex("Product"), $prodName, $prodPrice, $prodPhoto, $stockQty, $catNo, $suppNo); return DB::query($query); }
function markJobDate($drvID, $jobDate, $distNo) { //mark the date that avalible to delivery //if $jobDate is array; it should be // jobDate[0][jobDate]; // jobDate[0][distNo]; $query = ""; if (isset($jobDate) && is_array($jobDate)) { $jobObjs = $jobDate; foreach ($jobObjs as $jobObj) { $jobDate = $jobObj[jobDate]; $distNo = $jobObj[distNo]; $query .= DB::genInsertStr("Schedule", DB::getLastIndex("Schedule"), $jobDate, $drvID, $distNo) . ";"; } } else { $query = DB::genInsertStr("Schedule", DB::getLastIndex("Schedule"), $jobDate, $drvID, $distNo); } return DB::query($query); //echo $query; }
function addOrder($orderDate, $theDateWhichTheCustomerWantTheOrderToBeDeliveried, $ordDiscount, $deliAddr, $custNo, $distNo, $prods) { //$prods is an array contains all the products in the order, //each element is a associated array, eg. //$prods[0][prodNo], $prods[0][actualPrice], $prods[0][qty] //$prods[1][prodNo], $prods[1][actualPrice], $prods[1][qty] $query_format = "SELECT " . prodNo . " FROM Product " . "WHERE " . stockQty . " <= '%s' " . "AND " . prodNo . " = '%s'"; //1. check the stock level of each product, if stockLevel < qty, return 1 $minDate = date("Y-m-d", strtotime(" + 2 days")); if (!isset($theDateWhichTheCustomerWantTheOrderToBeDeliveried)) { $theDateWhichTheCustomerWantTheOrderToBeDeliveried = $minDate; } else { if (strtotime($theDateWhichTheCustomerWantTheOrderToBeDeliveried) < strtotime($minDate)) { return false; } } foreach ($prods as $product) { $tmp_query = sprintf($query_format, $product[qty], $product[prodNo]); $result = DB::query($tmp_query); if ($result->num_rows > 1) { return 1; } } //2.1 get Last index $orderNo = DB::getLastIndex("CustOrder"); //2.2 add the the order to CustOrder $order_query = DB::genInsertStr("CustOrder", $orderNo, $orderDate, $theDateWhichTheCustomerWantTheOrderToBeDeliveried, $ordDiscount, $deliAddr, $custNo, $distNo, null); $orderLine_query = ""; //3. add all the products to OrderLine foreach ($prods as $product) { $orderLine_query .= DB::genInsertStr("OrderLine", $product[prodNo], $orderNo, $product[actualPrice], $product[qty]) . ";"; } //4. return true if success, return false if any other database error occurs. if (DB::query($order_query) && DB::query($orderLine_query)) { matchSchedule($orderNo, $theDateWhichTheCustomerWantTheOrderToBeDeliveried, $distNo); return true; } return false; }
function regDriver($userNo, $drvID, $drvName, $drvGender) { //check if the userNo is already a supplier, customer or admin, if yes abort, return false $query = "SELECT COUNT(*) FROM User " . "WHERE " . suppNo . " IS NULL " . "AND " . custNo . " IS NULL " . "AND " . adminNo . " IS NULL " . "AND " . userNo . " = '{$userNo}'"; $result = DB::query($query); if ($result->row_nums > 0) { return false; } if (isset($drvID) && is_array($drvID)) { //for JSON $driObj = $drvID; $divID = $driObj[divID]; $divName = $driObj[divName]; $divGender = $driObj[divGender]; } $divID = DB::getLastIndex("Driver"); $insert_driver_query = DB::genInsertStr("Driver", $divID, $divName, $divGender); $update_user_query = "UPDATE User SET " . divID . " = '{$divID}' WHERE " . userNo . " = '{$userNo}'"; if (DB::query($insert_driver_query)) { return DB::query($update_user_query); } return false; }
function addCategory($catName, $catParent) { if (isset($catName) && is_array($catName)) { //for JSON Object $catObj = $catName; $catName = $catObj->catName; $catParent = $catObj->catParent; } $catNo = DB::getLastIndex("Category"); $query = DB::genInsertStr("Category", $catNo, $catName, $catParent); if (!DB::query($query)) { return null; } return $catNo; }