dwh/upload_treasury_ajax.php

240 lines
7.3 KiB
PHP
Raw Permalink Normal View History

2023-10-02 10:26:17 +00:00
<?PHP
include_once("session_checker.php");
include_once 'class/PregReplaceCallbackClass.php';
include_once 'init/initialisation_parameter.php';
include_once 'headerFile.php';
$ora_obj = new ORAConnectionClass('init/ORA_INIT.php');
$ora_res = $ora_obj->ORA_PConnect();
if (!$ora_res){
echo "<BR>Error : " . htmlspecialchars($ora_obj->last_error_msg) . "<br>";
exit();
}
initAjaxParamTemplate();
if ($_REQUEST['action'] == 'initForm') {
$result = prepare();
} elseif ($_REQUEST['action'] == 'queryData') {
$result = queryData($ora_obj, $_REQUEST['data']);
} else {
$result = -1;
}
echo $result;
unset($_SESSION['TEMPLATE_ARRAY_ADDR']);
if ($ora_obj->conn) {
$ora_obj->ORA_Close();
#echo "connection closed.<br>";
}
function show_number_formatted($value, $scale) {
if ( $value < 0 ) {
$nf = '('.number_format(abs($value),$scale,DECIMAL_SEP,THOUSAND_SEP).')';
} else {
$nf = number_format($value,$scale,DECIMAL_SEP,THOUSAND_SEP);
}
return $nf;
}
function initAjaxParamTemplate() {
$upload_treasury_template_array['CONTAINER'] = <<< params
<table width="100%" cellpadding="2" cellspacing="1" border="0" style="layout:auto">
<span id="PARAM"><<PARAM>></span>
<span id="LIST"><<LIST>></span>
</table>
params;
$upload_treasury_template_array['NEWUPLOAD'] = <<< params
<tr>
<td align=left class="orangetitle" nowrap>UPLOADING DATA TREASURY</td>
</tr>
<tr>
<td align=left>
<form enctype="multipart/form-data" name="uploadTreasuryForm" method="POST"><input type="hidden" name="action" value="uploadFile">
<table width="65%" cellpadding="2" cellspacing="1" border="0" style="layout:auto" class="font11">
<tr>
<td colspan=3>
Untuk mengupload data transaksi treasury
</td>
</tr>
<tr>
<td colspan=3>
FX.TXT = data Foreign Exchange<BR>MM.TXT = data Money Market
</td>
</tr>
<tr><td>&nbsp;</td></tr>
<tr>
<td>Filename : </td>
<td><input type="file" name="FILENAME" class="font10" size="50" onchange="javascript:enableUpload(); return false;"></td>
</tr>
<tr>
<td colspan="2" style="color:red;font-weight:bold;font-size:11px"><<MESSAGE>></td>
</tr>
<tr>
<td colspan="2" align="center">
<input type="button" name="UploadBtn" class="font9" value="UPLOAD\n " <<DISABLE_UPLOAD>> onclick="javascript:uploadFile();return false;" style="text-align:center">&nbsp;
<input type="button" name="QueryFXBtn" class="font9" value="QUERY\nFX " onclick="javascript:queryData('FX');return false;" style="text-align:center">&nbsp;
<input type="button" name="QueryMMBtn" class="font9" value="QUERY\nMM " onclick="javascript:queryData('MM');return false;" style="text-align:center">&nbsp;
<br><span id="actionDisp"></span>
</td>
</tr>
</table>
</form>
</td>
</tr>
params;
$upload_treasury_template_array['LIST_CONTAINER'] = <<< params
<tr align=center>
<td class="font12B"><<REP_TITLE>></td>
</tr>
<tr><td>
<table width="100%" cellpadding="2" cellspacing="1" border="1" style="layout:auto">
<tr class="paramtable">
<<LIST_HEADER>>
</tr>
<<LIST_REPORT>>
</table>
</td></tr>
params;
$upload_treasury_template_array['HEADER_CONTENT'] = <<< params
<th align=center class="font9BW"><<HEADER_TITLE>></th>
params;
$upload_treasury_template_array['REPORT_CONTENT'] = <<< params
<tr>
<<LIST_REPORT_CONTENT>>
</tr>
params;
$upload_treasury_template_array['REPORT_ITEM_CONTENT'] = <<< params
<td align=<<ITEM_ALIGN>> class="font9"><<ITEM_NAME>></td>
params;
$_SESSION['TEMPLATE_ARRAY_ADDR'] = &$upload_treasury_template_array;
}
function prepare(){
$templObj = new PregReplaceCallbackClass('');
$templObj->SetTemplateArray('TEMPLATE_ARRAY_ADDR');
$variable_array['PARAM'] = showUploadForm("Field Filename tidak boleh KOSONG.");
$_SESSION['ARRAY_ADDR_VAR'] = &$variable_array;
$templObj->SetFormatName('CONTAINER');
$list = $templObj->PregReplaceCallback();
return $list;
}
function showUploadForm($message=null){
$templObj = new PregReplaceCallbackClass('');
$templObj->SetTemplateArray('TEMPLATE_ARRAY_ADDR');
$_SESSION['ARRAY_ADDR_VAR'] = &$variable_array;
$templObj->SetFormatName('NEWUPLOAD');
$variable_array['MESSAGE'] = $message;
$variable_array['DISABLE_UPLOAD'] = 'disabled';
$result = $templObj->PregReplaceCallback();
return $result;
}
function queryData(&$ora_obj, $data) {
$templObj = new PregReplaceCallbackClass('');
$templObj->SetTemplateArray('TEMPLATE_ARRAY_ADDR');
if ($data == 'MM') {
$table = 'MM_EXT';
$title = 'Data Money Market';
} else if ($data == 'FX') {
$table = 'FX_EXT';
$title = 'Data Foreign Exchange';
} else {
$table = 'EXT';
$title = 'Data';
}
$sql = <<< sql
SELECT * FROM $table
sql;
$sql_cols = <<< sql
SELECT column_name, data_type, NVL(data_scale, 0) data_scale
FROM user_tab_columns WHERE table_name = '$table' ORDER BY column_id
sql;
$header_array = $ora_obj->ORA_SelectData($sql_cols,null,null,OCI_FETCHSTATEMENT_BY_ROW);
if ($ora_obj->nrows >0) {
foreach ($header_array as $pkey => $pval){
$_SESSION['ARRAY_ADDR_VAR'] = &$variable_array;
unset($item_rep);
foreach ($pval as $qkey => $qval){
$variable_array[$qkey] = $qval;
}
$col_title = str_replace('_','<BR>', $variable_array['COLUMN_NAME']);
$variable_array['HEADER_TITLE'] = $col_title;
if ($variable_array['DATA_TYPE'] == 'NUMBER') {
$right_title[] = $variable_array['COLUMN_NAME'];
} else {
$center_title[] = $variable_array['COLUMN_NAME'];
}
if ($variable_array['DATA_SCALE'] > 0) {
$data_scale[$variable_array['COLUMN_NAME']] = $variable_array['DATA_SCALE'];
}
$templObj->SetFormatName('HEADER_CONTENT');
$head_title .= $templObj->PregReplaceCallback();
}
}
$result_array = $ora_obj->ORA_SelectData($sql,null,null,OCI_FETCHSTATEMENT_BY_ROW);
if ($ora_obj->nrows >0) {
foreach ($result_array as $pkey => $pval){
$_SESSION['ARRAY_ADDR_VAR'] = &$variable_array;
unset($item_rep);
foreach ($pval as $qkey => $qval){
if (strlen($qval) == 0) {
$variable_array['ITEM_NAME'] = '&nbsp;';
} else {
$variable_array['ITEM_NAME'] = $qval;
}
if (in_array($qkey, $right_title)) {
$scale = $data_scale[$qkey] - 2;
$variable_array['ITEM_ALIGN'] = 'right';
$variable_array['ITEM_NAME'] = show_number_formatted($variable_array['ITEM_NAME'], $scale);
} else {
$variable_array['ITEM_ALIGN'] = 'left';
}
$templObj->SetFormatName('REPORT_ITEM_CONTENT');
$item_rep .= $templObj->PregReplaceCallback();
}
$variable_array['LIST_REPORT_CONTENT'] = $item_rep;
$templObj->SetFormatName('REPORT_CONTENT');
$list .= $templObj->PregReplaceCallback();
}
}
$variable_array['REP_TITLE'] = $title;
$variable_array['LIST_HEADER'] = $head_title;
$variable_array['LIST_REPORT'] = $list;
$_SESSION['ARRAY_ADDR_VAR'] = &$variable_array;
$templObj->SetFormatName('LIST_CONTAINER');
$data = $templObj->PregReplaceCallback();
$variable_array['LIST'] = $data;
$_SESSION['ARRAY_ADDR_VAR'] = &$variable_array;
$templObj->SetFormatName('CONTAINER');
$result = $templObj->PregReplaceCallback();
return $result;
}
?>