012 install separated, export

This commit is contained in:
msyu
2025-06-22 11:06:43 +03:00
parent 2a3781fcea
commit c1242c2c0c
3 changed files with 101 additions and 61 deletions
+46 -35
View File
@@ -17,12 +17,21 @@
</m:filter_settings> --->
<!--- <cfset pageInfo.settings.filter=#filter#/> --->
<cftry>
<cfquery name="qRead" datasource="#request.DS#">
<cfquery name="qRead" datasource="#request.DS#">
select
<d:field_set titleMapOut="titleMap" lengthOut="fieldCount">
<d:field title="Месяц" cfSqlType="CF_SQL_TIMESTAMP">m</d:field>
<d:field title="Инсталл" cfSqlType="CF_SQL_NUMERIC">income_install</d:field>
<d:field title="Ежемес" cfSqlType="CF_SQL_NUMERIC">income_recurring</d:field>
<d:field title="Выручка" cfSqlType="CF_SQL_NUMERIC">income_install+income_recurring as income</d:field>
</d:field_set>
from (
select
DATE_TRUNC('month', dayscale.dt)::date AS dt
,sum(siv.price*siv.quantity*a.probability_perc/100) as income
--install
DATE_TRUNC('month', dayscale.dt)::date as m
,sum(siv.price*siv.quantity*a.probability_perc/100) as income_install
,0 as income_recurring
from
(SELECT dd::date as dt FROM generate_series
( '2023-01-01'::timestamp
@@ -45,12 +54,10 @@
union all
select
DATE_TRUNC('month', dayscale.dt)::date
,sum(siv.price*siv.quantity*a.probability_perc/100/dayscale.days)
select
DATE_TRUNC('month', dayscale.dt)::date as m
,0
,sum(siv.price*siv.quantity*a.probability_perc/100/dayscale.days)
from
(SELECT dd::date as dt, DATE_PART('days',
DATE_TRUNC('month', dd) + '1 MONTH'::INTERVAL - '1 DAY'::INTERVAL
@@ -73,17 +80,14 @@ select
join svc on (si.svc_id=svc.svc_id)
group by DATE_TRUNC('month', dayscale.dt)
order by 1
) install_fix_payg
order by 1
<!--- where 1=1 <m:filter_build filter=#pageInfo.settings.filter#/>
order by <m:order_build sortArray=#pageInfo.settings.sort.sortArray# fieldCount=#fieldCount#/> --->
</cfquery>
</cfquery>
<cfcatch type="database">
<m:ls_catch catch=#cfcatch# status=#pageInfo.status#/>
</cfcatch>
</cftry>
<cfquery name="qCountTotal" datasource="#request.DS#">
select count(*) as cnt from specification_item where 1=1
@@ -112,25 +116,32 @@ select count(*) as cnt from specification_item where 1=1
</layout:page>
<cfif pageInfo.readPermitted() AND !pageInfo.status.errorState>
Месяцы с нулевой суммой не показаны
<table class="worktable">
<cfoutput><b>#qRead.recordCount#</b> записей</cfoutput>
<a href="?output_xls" title="экспорт в Excel" style="margin:.5em; height:100%;" target="_blank"><img src="img/xls.gif" style="vertical-align:text-bottom;"/></a>
<a href="?output_json" title="экспорт в json" style="margin:.5em; height:100%;" target="_blank"><img src="img/json.svg" style="vertical-align:text-bottom;" width="13" height="13"/></a>
<br/>
Месяцы с нулевой суммой не показаны
<thead>
<th>Дата</th>
<th>Выручка</th>
<th>Округл</th>
</thead>
<cfoutput query="qRead">
<tr>
<td class="c">#dateFormat(dt,"MM.YYYY")#</td>
<td class="r">#income#</td>
<td class="r">#round(income)#</td>
</tr>
</cfoutput>
</table>
<table class="worktable">
<thead>
<tr>
<th>Месяц</th>
<th>Инсталл</th>
<th>Ежемес</th>
<th>Выручка</th>
</tr>
</thead>
<cfoutput query="qRead">
<tr>
<td class="c">#dateFormat(m,"MM.YYYY")#</td>
<td class="r">#nFmt(income_install)#</td>
<td class="r">#nFmt(income_recurring)#</td>
<td class="r">#nFmt(income)#</td>
</tr>
</cfoutput>
</table>
</cfif>