201 lines
9.0 KiB
PHP
201 lines
9.0 KiB
PHP
<?php
|
|
$drWidth = 250;
|
|
$crWidth = 250;
|
|
$AccountCategories = $this->acc->getAccountCategories($acgroup_id);
|
|
$array = json_decode(json_encode($AccountCategories), true);
|
|
$tree=buildCategoryTree($array, false);
|
|
function buildCategoryTree($categories, $parent_id = 0, $showZero = true)
|
|
{
|
|
$tree = array();
|
|
|
|
foreach ($categories as $category) {
|
|
if ($category['parent_category_id'] == $parent_id) {
|
|
$children = buildCategoryTree($categories, $category['accategory_id'], $showZero);
|
|
|
|
if (!empty($children)) {
|
|
$category['children'] = $children;
|
|
}
|
|
|
|
if ($showZero && ($category['dr'] !== 0 || $category['cr'] !== 0)) {
|
|
$tree[] = $category;
|
|
} elseif (!$showZero && ($category['dr'] !== 0 && $category['cr'] !== 0)) {
|
|
$tree[] = $category;
|
|
}
|
|
}
|
|
}
|
|
|
|
return $tree;
|
|
}
|
|
|
|
function displayCategoryTree($tree) {
|
|
echo '<table class="table table-bordered">';
|
|
|
|
foreach ($tree as $category) {
|
|
|
|
echo '<tr>';
|
|
echo '<td class="col-1">' . $category['accategory_id'] . '</td>';
|
|
echo '<td><a href="'.site_url("accounts/reports/balance_by_group") . "?category=" . $category['accategory_id'] .'">' . $category['accategory_name'] . '</a></td>';
|
|
echo '<td width="250">' . myCurrency($category['dr']) . '</td>';
|
|
echo '<td>' . myCurrency($category['cr']) . '</td>';
|
|
echo '</tr>';
|
|
if (isset($category['children']) && !empty($category['children'])) {
|
|
echo '<tr>';
|
|
echo '<td colspan="4">';
|
|
displayCategoryTree($category['children']);
|
|
echo '</td>';
|
|
echo '</tr>';
|
|
}
|
|
}
|
|
echo '</table>';
|
|
}
|
|
?>
|
|
<style>
|
|
.expandable {
|
|
text-decoration: underline;
|
|
}
|
|
</style>
|
|
<div class="content-wrapper">
|
|
|
|
<div class="content">
|
|
<div class="container-fluid">
|
|
<?php //pre($tree); ?>
|
|
<div class="row">
|
|
<div class="col">
|
|
<div class="card card-primary card-outline">
|
|
<div class="card-header">
|
|
<h5 class="m-0"><?php echo $pageTitle; ?> </h5>
|
|
</div>
|
|
<div class="card-body">
|
|
<input type="checkbox" name="showZero" value="true" id="showZero">
|
|
<label for="showZero">
|
|
Show Zero Balances
|
|
</label>
|
|
<?php displayCategoryTree($tree); ?>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
<div class="container">
|
|
<script>
|
|
function toggleSubTable(row) {
|
|
var subTable = row.nextElementSibling;
|
|
subTable.style.display = subTable.style.display === 'none' ? 'table-row' : 'none';
|
|
}
|
|
</script>
|
|
|
|
|
|
|
|
</div>
|
|
<section class="content">
|
|
<div class="container-fluid">
|
|
|
|
<div class="card">
|
|
|
|
<!-- ./card-header -->
|
|
<div class="card-body p-0">
|
|
|
|
|
|
<table class="table table-head-fixed text-nowrap table-bordered" id="treeTable">
|
|
<thead>
|
|
<tr>
|
|
<th rowspan="2" class="col-6">Particulars</th>
|
|
<th colspan="2" class="text-center col-2">Opening</th>
|
|
<th colspan="2" class="text-center col-2">This Year</th>
|
|
<th colspan="2" class="text-center col-2">Closing</th>
|
|
</tr>
|
|
<tr>
|
|
<th class="text-center">Dr. Amount</th>
|
|
<th class="text-center">Cr. Amount</th>
|
|
<th class="text-center">Dr. Amount</th>
|
|
<th class="text-center">Cr. Amount</th>
|
|
<th class="text-center">Dr. Amount</th>
|
|
<th class="text-center">Cr. Amount</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr class="parent">
|
|
<td></td>
|
|
<td>10</td>
|
|
<td></td>
|
|
<td></td>
|
|
<td></td>
|
|
<td></td>
|
|
<td></td>
|
|
</tr>
|
|
<tr class="child">
|
|
<td><span class="caret" onclick="toggleNode(this)">Current Assets</span></td>
|
|
<td></td>
|
|
<td></td>
|
|
<td></td>
|
|
<td></td>
|
|
<td></td>
|
|
<td></td>
|
|
</tr>
|
|
<tr class="grandchild">
|
|
<td><span class="caret" onclick="toggleNode(this)">Bank Assets</span></td>
|
|
<td></td>
|
|
<td></td>
|
|
<td></td>
|
|
<td></td>
|
|
<td></td>
|
|
<td></td>
|
|
</tr>
|
|
<tr class="great-grandchild">
|
|
<td>Nabil Bank</td>
|
|
<td></td>
|
|
<td></td>
|
|
<td></td>
|
|
<td></td>
|
|
<td></td>
|
|
<td></td>
|
|
</tr>
|
|
<tr class="great-grandchild">
|
|
<td>RBB Bank</td>
|
|
<td></td>
|
|
<td></td>
|
|
<td></td>
|
|
<td></td>
|
|
<td></td>
|
|
<td></td>
|
|
</tr>
|
|
<tr class="grandchild">
|
|
<td><span class="caret" onclick="toggleNode(this)">Another Grandchild</span></td>
|
|
<td></td>
|
|
<td></td>
|
|
<td></td>
|
|
<td></td>
|
|
<td></td>
|
|
<td></td>
|
|
</tr>
|
|
<tr class="great-grandchild">
|
|
<td>Child 1</td>
|
|
<td></td>
|
|
<td></td>
|
|
<td></td>
|
|
<td></td>
|
|
<td></td>
|
|
<td></td>
|
|
</tr>
|
|
<tr class="great-grandchild">
|
|
<td>Child 2</td>
|
|
<td></td>
|
|
<td></td>
|
|
<td></td>
|
|
<td></td>
|
|
<td></td>
|
|
<td></td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
|
|
</div>
|
|
<!-- /.card-body -->
|
|
</div>
|
|
|
|
</div><!-- /.container-fluid -->
|
|
</section>
|
|
<!-- /.content -->
|