Ejemplo n.º 1
0
function ebpls_select_data($dbLink, $strTable, $strColumns, $strWhere = NULL, $strGroupBy = NULL, $strOrder = NULL, $strOrderKey = NULL, $strLimitMax = NULL, $strLimitOffSet = NULL, $bGetPagingSql = false)
{
    ebpls_value_sql_clean($strWhere);
    if ($strColumns != NULL && is_array($strColumns) && count($strColumns) > 0) {
        foreach ($strColumns as $key => $value) {
            $set_cols[] = "{$value}";
        }
        $strSqlColumns = implode(",", $set_cols);
    } else {
        set_db_error(NULL, "No columns selected");
        return ERROR_DB_FUNCS_SELECTFAILED;
    }
    if ($strWhere != NULL && count($strWhere) > 0) {
        foreach ($strWhere as $key => $value) {
            if (is_array($value)) {
                if (trim($value[0]) == "IN" || trim($value[0]) == "NOT IN") {
                    $set_where[] = " {$key} " . $value[0] . " " . stripslashes($value[1]) . "";
                } else {
                    $set_where[] = " {$key} " . $value[0] . " '" . $value[1] . "'";
                }
            } else {
                $set_where[] = " {$key} = '{$value}' ";
            }
        }
        $strSqlWhereClause = " WHERE " . implode(" AND ", $set_where);
    } else {
    }
    if (!(null == $strGroupBy) && count($strGroupBy) > 0) {
        $set_group = implode(",", $strGroupBy);
        $strSqlGroup = " GROUP BY {$set_group}";
    }
    if (!(null == $strOrder) && count($strOrder) > 0) {
        $set_order = implode(",", $strOrder);
        $strSqlOrder = " ORDER BY {$set_order}";
        if (!(null == $strOrderKey)) {
            if ($strOrderKey != "ASC" && $strOrderKey != "DESC") {
                set_db_error(NULL, "Invalid order key value {$strOrderKey}");
                return -2;
            }
            $strSqlOrder .= " {$strOrderKey} ";
        }
    }
    if (is_numeric($strLimitMax) && is_numeric($strLimitOffSet)) {
        $strSqlLimit = " LIMIT {$strLimitOffSet}, {$strLimitMax} ";
    } else {
        if (is_numeric($strLimitMax) && !is_numeric($strLimitOffSet)) {
            $strSqlLimit = " LIMIT {$strLimitMax} ";
        }
    }
    if ($bGetPagingSql) {
        $sqlCount = "SELECT count(*) FROM {$strTable} {$strSqlWhereClause} {$strSqlGroup} {$strSqlOrder}";
        $sqlSelect = "SELECT {$strSqlColumns} FROM {$strTable} {$strSqlWhereClause} {$strSqlGroup} {$strSqlOrder}";
        return array("count_sql" => $sqlCount, "select_sql" => $sqlCount);
    }
    $sqlSelect = "SELECT {$strSqlColumns} FROM {$strTable} {$strSqlWhereClause} {$strSqlGroup} {$strSqlOrder} {$strSqlLimit}";
    ebpls_db_funcs_debug("ebpls_select_data SELECT : {$sqlSelect}");
    $res = @mysql_query($sqlSelect, $dbLink);
    if (set_db_error($dbLink)) {
        return ERROR_DB_FUNCS_SELECTFAILED;
    } else {
        while ($row = mysql_fetch_array($res)) {
            $select_records[] = $row;
        }
        return $select_records;
    }
}
Ejemplo n.º 2
0
function ebpls_start_transaction($dbLink)
{
    global $gETOMSGlobalTransValue;
    if ($gETOMSGlobalTransValue) {
        ebpls_db_funcs_debug("etoms_start_transaction : gETOMSGlobalTransValue still set.");
        return;
    }
    $gETOMSGlobalTransValue = true;
    $res = @mysql_query("START TRANSACTION", $dbLink);
    return 1;
}
Ejemplo n.º 3
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;
    }
}