function ebpls_select_data_bypage($dbLink, $strTable, $strColumns, $strWhere = NULL, $strGroupBy = NULL, $strOrder = NULL, $strOrderKey = NULL, $nPage = 1, $nMaxRecordPerPage = 20) { if ($nPage <= 0 || $nMaxRecordPerPage <= 0) { set_db_error(NULL, "Invalid page values [pg={$nPage},maxrec={$nMaxRecordPerPage}]"); return ERROR_DB_FUNCS_SELECTFAILED; } // build select sql $sqlArray = ebpls_select_data($dbLink, $strTable, $strColumns, $strWhere, $strGroupBy, $strOrder, $strOrderKey, 1, 1, true); $sqlCount = $sqlArray["count_sql"]; $sqlSelect = $sqlArray["select_sql"]; $res = @mysql_query($sqlCount, $dbLink); // count number of pages if ($res && ($row = mysql_fetch_array($res))) { $nTotalRecords = $row[0]; $nPageCount = floor($row[0] / $nMaxRecordPerPage); if ($row[0] % $nMaxRecordPerPage > 0) { $nPageCount++; } } // get offset using page number if ($nPage == 1) { $pgOffset = 0; } else { $pgOffset = ($nPage - 1) * $nMaxRecordPerPage; } $res = ebpls_select_data($dbLink, $strTable, $strColumns, $strWhere, $strGroupBy, $strOrder, $strOrderKey, $nMaxRecordPerPage, $pgOffset); if ($res < 0) { set_db_error($dbLink); return $res; } else { $page_record["total"] = $nTotalRecords; $page_record["count"] = count($res); $page_record["page"] = $nPage; $page_record["max_pages"] = $nPageCount; $page_record["page_count"] = $nPageCount; return array("result" => $res, "page_info" => $page_record); } }
function create_bus_enterprise_nature_fee($dbLink, $trans_id, $business_id, $owner_id, $permit_id, $permit_type, $action, $creator, $nature_code = NULL) { // removed bus nature code from tax_fee table instead transfer nature code to business nature code table if (is_array($nature_code)) { $nature_code_lst = "'" . join("','", $nature_code) . "'"; $sql = " SELECT a.business_nature_code, c.tax_fee_code, c.tax_fee_desc, c.tax_account_code, c.tax_formula "; $sql .= " FROM ebpls_business_nature AS a "; $sql .= " INNER JOIN ebpls_tax_fee_table as b ON a.tax_fee_code = b.tax_fee_code WHERE a.business_nature_code IN ('{$nature_code_lst}')"; } else { $sql = " SELECT a.business_nature_code, c.tax_fee_code, c.tax_fee_desc, c.tax_account_code, c.tax_formula "; $sql .= " FROM ebpls_business_nature AS a "; $sql .= " INNER JOIN ebpls_tax_fee_table as b ON a.tax_fee_code = b.tax_fee_code WHERE a.business_nature_code = '{$nature_code}'"; } ebpls_db_funcs_debug("create_bus_enterprise_nature_fee : {$sql}"); $result = mysql_query($sql, $dbLink); if ($result) { $i = 0; while ($row = mysql_fetch_array($result)) { $clsTaxFee = new EBPLTaxFeeSysRef($dbLink, false); $res_tax = $clsTaxFee->select($row["tax_fee_code"]); if (is_array($res_tax)) { $clsNature = new EBPLSTransactionBusinessNature($dbLink, true); $clsNature->setData(TRANS_BUSNATURE_TRANS_ID, $trans_id); $clsNature->setData(TRANS_BUSNATURE_BUSINESS_ID, $business_id); $clsNature->setData(TRANS_BUSNATURE_OWNER_ID, $owner_id); $clsNature->setData(TRANS_BUSNATURE_CAPITAL_INVESTMENT, "0.0"); $clsNature->setData(TRANS_BUSNATURE_LAST_GROSS, "0.0"); $clsNature->setData(TRANS_BUSNATURE_BUSINESS_NATURE_CODE, $row["business_nature_code"]); if ($clsNature->add() < 0) { ebpls_db_funcs_debug("create_bus_enterprise_nature_fee : error on creation of business nature record"); return -5; } $clsTaxFormula = $res_tax["result"][0]->getData(EBPLS_TAX_FORMULA); $sql = "INSERT INTO ebpls_transaction_payables ( trans_id, permit_id,permit_type, tax_fee_type, tax_fee_code, tax_business_nature_code, tax_fee_desc, tax_account_code, tax_total_amount_due, ts_create, last_updated_by )"; $sql .= " values( {$trans_id}, {$permit_id}, '{$permit_type}', 'BUSTAX','" . $row["tax_fee_code"] . "','" . $row["business_nature_code"] . "','" . $row["tax_fee_desc"] . "','" . $row["tax_account_code"] . "', 0, now(), '{$creator}')"; ebpls_db_funcs_debug("create_bus_enterprise_nature_fee tax/fee found : {$sql}"); $rs = mysql_query($sql, $dbLink); // add nature to business enterprise nature table if (!$rs) { set_db_error($dbLink); return -1; } $i++; } else { ebpls_db_funcs_debug("create_bus_enterprise_nature_fee tax/fee code not found : " . $row["tax_fee_code"]); set_db_error(NULL, "create_bus_enterprise_nature_fee tax/fee code not found : " . $row["tax_fee_code"]); return -3; } } return $i; } else { set_db_error($dbLink); return -2; } }