function ModifySalesOrderHeader($OrderHeader, $user, $password) { $Errors = array(); $db = db($user, $password); if (gettype($db) == 'integer') { $Errors[0] = NoAuthorisation; return $Errors; } foreach ($OrderHeader as $key => $value) { $OrderHeader[$key] = DB_escape_string($value); } $Errors = VerifyOrderHeaderExists($OrderHeader['orderno'], sizeof($Errors), $Errors, $db); $Errors = VerifyDebtorExists($OrderHeader['debtorno'], sizeof($Errors), $Errors, $db); $Errors = VerifyBranchNoExists($OrderHeader['debtorno'], $OrderHeader['branchcode'], sizeof($Errors), $Errors, $db); if (isset($OrderHeader['customerref'])) { $Errors = VerifyCustomerRef($OrderHeader['customerref'], sizeof($Errors), $Errors); } if (isset($OrderHeader['buyername'])) { $Errors = VerifyBuyerName($OrderHeader['buyername'], sizeof($Errors), $Errors); } if (isset($OrderHeader['comments'])) { $Errors = VerifyComments($OrderHeader['comments'], sizeof($Errors), $Errors); } if (isset($OrderHeader['orddate'])) { $Errors = VerifyOrderDate($OrderHeader['orddate'], sizeof($Errors), $Errors, $db); } if (isset($OrderHeader['ordertype'])) { $Errors = VerifyOrderType($OrderHeader['ordertype'], sizeof($Errors), $Errors, $db); } if (isset($OrderHeader['shipvia'])) { $Errors = VerifyShipVia($OrderHeader['shipvia'], sizeof($Errors), $Errors, $db); } if (isset($OrderHeader['deladd1'])) { $Errors = VerifyAddressLine($OrderHeader['deladd1'], 40, sizeof($Errors), $Errors); } if (isset($OrderHeader['deladd2'])) { $Errors = VerifyAddressLine($OrderHeader['deladd2'], 40, sizeof($Errors), $Errors); } if (isset($OrderHeader['deladd3'])) { $Errors = VerifyAddressLine($OrderHeader['deladd3'], 40, sizeof($Errors), $Errors); } if (isset($OrderHeader['deladd4'])) { $Errors = VerifyAddressLine($OrderHeader['deladd4'], 40, sizeof($Errors), $Errors); } if (isset($OrderHeader['deladd5'])) { $Errors = VerifyAddressLine($OrderHeader['deladd5'], 20, sizeof($Errors), $Errors); } if (isset($OrderHeader['deladd6'])) { $Errors = VerifyAddressLine($OrderHeader['deladd6'], 15, sizeof($Errors), $Errors); } if (isset($OrderHeader['contactphone'])) { $Errors = VerifyPhoneNumber($OrderHeader['contactphone'], sizeof($Errors), $Errors); } if (isset($OrderHeader['contactemail'])) { $Errors = VerifyEmailAddress($OrderHeader['contactemail'], sizeof($Errors), $Errors); } if (isset($OrderHeader['deliverto'])) { $Errors = VerifyDeliverTo($OrderHeader['deliverto'], sizeof($Errors), $Errors); } if (isset($OrderHeader['deliverblind'])) { $Errors = VerifyDeliverBlind($OrderHeader['deliverblind'], sizeof($Errors), $Errors); } if (isset($OrderHeader['freightcost'])) { $Errors = VerifyFreightCost($OrderHeader['freightcost'], sizeof($Errors), $Errors); } if (isset($OrderHeader['fromstkloc'])) { $Errors = VerifyFromStockLocation($OrderHeader['fromstkloc'], sizeof($Errors), $Errors, $db); } if (isset($OrderHeader['deliverydate'])) { $Errors = VerifyDeliveryDate($OrderHeader['deliverydate'], sizeof($Errors), $Errors, $db); } if (isset($OrderHeader['quotation'])) { $Errors = VerifyQuotation($OrderHeader['quotation'], sizeof($Errors), $Errors); } global $SOH_DateFields; $sql = 'UPDATE salesorders SET '; foreach ($OrderHeader as $key => $value) { if (in_array($key, $SOH_DateFields)) { $value = FormatDateforSQL($value); } // Fix dates $sql .= $key . '="' . $value . '", '; } $sql = substr($sql, 0, -2) . ' WHERE orderno="' . $OrderHeader['orderno'] . '"'; if (sizeof($Errors) == 0) { $result = api_DB_Query($sql, $db); echo DB_error_no($db); if (DB_error_no($db) != 0) { $Errors[0] = DatabaseUpdateFailed; } else { $Errors[0] = 0; } } return $Errors; }
function InsertWorkOrder($WorkOrderDetails, $user, $password) { $Errors = array(); $db = db($user, $password); if (gettype($db) == 'integer') { $Errors[0] = NoAuthorisation; return $Errors; } foreach ($WorkOrderDetails as $key => $value) { $WorkOrderDetails[$key] = DB_escape_string($value); } $WorkOrder['wo'] = GetNextTransactionNo(40, $db); $WorkOrderItem['wo'] = $WorkOrder['wo']; if (isset($WorkOrderDetails['loccode'])) { $Errors = VerifyFromStockLocation($WorkOrderDetails['loccode'], sizeof($Errors), $Errors, $db); $WorkOrder['loccode'] = $WorkOrderDetails['loccode']; } if (isset($WorkOrderDetails['requiredby'])) { // $Errors=VerifyRequiredByDate($WorkOrderDetails['requiredby'], sizeof($Errors), $Errors, $db); $WorkOrder['requiredby'] = $WorkOrderDetails['requiredby']; } if (isset($WorkOrderDetails['startdate'])) { // $Errors=VerifyStartDate($WorkOrderDetails['startdate'], sizeof($Errors), $Errors, $db); $WorkOrder['startdate'] = $WorkOrderDetails['startdate']; } if (isset($WorkOrderDetails['costissued'])) { $Errors = VerifyCostIssued($WorkOrderDetails['costissued'], sizeof($Errors), $Errors, $db); $WorkOrder['costissued'] = $WorkOrderDetails['costissued']; } if (isset($WorkOrderDetails['closed'])) { $Errors = VerifyCompleted($WorkOrderDetails['closed'], sizeof($Errors), $Errors); $WorkOrder['closed'] = $WorkOrderDetails['closed']; } if (isset($WorkOrderDetails['stockid'])) { $Errors = VerifyStockCodeExists($WorkOrderDetails['stockid'], sizeof($Errors), $Errors, $db); $WorkOrderItem['stockid'] = $WorkOrderDetails['stockid']; } if (isset($WorkOrderDetails['qtyreqd'])) { $Errors = VerifyQtyReqd($WorkOrderDetails['qtyreqd'], sizeof($Errors), $Errors); $WorkOrderItem['qtyreqd'] = $WorkOrderDetails['qtyreqd']; } if (isset($WorkOrderDetails['qtyrecd'])) { $Errors = VerifyQtyRecd($WorkOrderDetails['qtyrecd'], sizeof($Errors), $Errors); $WorkOrderItem['qtyrecd'] = $WorkOrderDetails['qtyrecd']; } if (isset($WorkOrderDetails['stdcost'])) { $Errors = VerifyStdCost($WorkOrderDetails['stdcost'], sizeof($Errors), $Errors); $WorkOrderItem['stdcost'] = $WorkOrderDetails['stdcost']; } if (isset($WorkOrderDetails['nextlotsnref'])) { $Errors = VerifyLotSerialNumber($WorkOrderDetails['nextlotsnref'], sizeof($Errors), $Errors); $WorkOrderItem['nextlotsnref'] = $WorkOrderDetails['nextlotsnref']; } $WOFieldNames = ''; $WOFieldValues = ''; foreach ($WorkOrder as $key => $value) { $WOFieldNames .= $key . ', '; $WOFieldValues .= '"' . $value . '", '; } $ItemFieldNames = ''; $ItemFieldValues = ''; foreach ($WorkOrderItem as $key => $value) { $ItemFieldNames .= $key . ', '; $ItemFieldValues .= '"' . $value . '", '; } if (sizeof($Errors) == 0) { $wosql = 'INSERT INTO workorders (' . substr($WOFieldNames, 0, -2) . ') ' . 'VALUES (' . substr($WOFieldValues, 0, -2) . ') '; $itemsql = 'INSERT INTO woitems (' . substr($ItemFieldNames, 0, -2) . ') ' . 'VALUES (' . substr($ItemFieldValues, 0, -2) . ') '; $systypessql = 'UPDATE systypes set typeno=' . GetNextTransactionNo(40, $db) . ' where typeid=40'; DB_Txn_Begin($db); $woresult = DB_Query($wosql, $db); $itemresult = DB_Query($itemsql, $db); $systyperesult = DB_Query($systypessql, $db); DB_Txn_Commit($db); if (DB_error_no($db) != 0) { $Errors[0] = DatabaseUpdateFailed; } else { $Errors[0] = 0; $Errors[1] = $WorkOrder['wo']; } } return $Errors; }