Slink/sos_sales/report/report_billing_target.xml

98 lines
3.4 KiB
XML
Executable File

<odoo>
<template id="report_billing_target">
<t t-call="web.basic_layout">
<t t-set="report_title" t-value="'Billing Target Report'" />
<link rel="stylesheet" href="/sos_inventory/static/src/css/style.css?v=7" />
<div class="page">
<style>
.wide-column {
width: 200px;
}
</style>
<br></br>
<h4 class="text-center" style="margin-bottom: 20px;">BILLING TARGET</h4>
<table class="table_custom" style="width: 100%; table-layout: fixed;">
<thead style="background-color: #fef0ff;">
<tr style="margin-top: 30px; color: #1a73e8;font-size:18px;background-color: #e8c1eb;">
<td colspan="14">Summary</td>
</tr>
<tr>
<th class="wide-column">Month</th>
<t t-foreach="month_names" t-as="month">
<th><t t-esc="month[:3]" /></th>
</t>
<th>Total</th> <!-- 👈 Add this -->
</tr>
</thead>
<tbody>
<tr class="summary-row">
<td><strong>Grand Total</strong></td>
<t t-foreach="month_names" t-as="month">
<td><t t-esc="'%.2f' % overall_monthly_totals.get(month, 0.0)" /></td>
</t>
<td><t t-esc="'%.2f' % grand_total" /></td> <!-- 👈 Add this -->
</tr>
</tbody>
</table>
<br></br>
<t t-foreach="billing_data.items()" t-as="sales_data">
<t t-set="sales_person" t-value="sales_data[0]" />
<t t-set="sales_person_data" t-value="sales_data[1]" />
<table class="table_custom" style="width: 100%; table-layout: fixed;">
<thead style="background-color: #fef0ff;">
<tr style="margin-top: 30px; color: #1a73e8; font-size:18px; background-color: #e8c1eb;">
<td colspan="14">Sales Executive: <t t-esc="sales_person" /></td>
</tr>
<tr>
<th class="wide-column">Product</th>
<t t-foreach="month_names" t-as="month">
<th><t t-esc="month[:3]" /></th>
</t>
<th>Total</th> <!-- 👈 new column -->
</tr>
</thead>
<tbody>
<t t-foreach="filtered_products_by_exec.get(sales_person, [])" t-as="product">
<tr>
<td class="wide-column"><t t-esc="product" /></td>
<t t-set="product_total" t-value="0.0" />
<t t-foreach="month_names" t-as="month">
<t t-set="val" t-value="billing_data.get(sales_person, {}).get(month, {}).get(product, 0.0)" />
<td>
<t t-if="val">
<t t-esc="'₹ {:.2f}'.format(val)" />
<t t-set="product_total" t-value="product_total + val" />
</t>
</td>
</t>
<td><t t-esc="'₹ {:.2f}'.format(product_total)" /></td> <!-- 👈 product total -->
</tr>
</t>
<!-- Totals Row -->
<tr style="font-weight: bold; background-color: #fef0ff;">
<td>Total</td>
<t t-set="grand_total_per_sales_person" t-value="0.0" />
<t t-foreach="month_names" t-as="month">
<t t-set="total_val" t-value="monthly_totals.get(sales_person, {}).get(month, 0.0)" />
<td>
<t t-if="total_val">
<t t-esc="'₹ {:.2f}'.format(total_val)" />
<t t-set="grand_total_per_sales_person" t-value="grand_total_per_sales_person + total_val" />
</t>
</td>
</t>
<td><t t-esc="'₹ {:.2f}'.format(grand_total_per_sales_person)" /></td>
</tr>
</tbody>
</table>
<br />
</t>
</div>
</t>
</template>
</odoo>