Пример #1
0
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);
    }
}
Пример #2
0
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;
    }
}