016 report debug
This commit is contained in:
parent
7d0e2abc0f
commit
6443e62b5e
@ -69,7 +69,7 @@
|
||||
<!--- <cfset this.datasources["#this.datasource#"]=getDS("#this.datasource#","datasource_#this.datasource#")/> --->
|
||||
|
||||
<cfset request.RECORDS_PER_PAGE=500/>
|
||||
<cfset request.APP_VERSION="0.00.015"/>
|
||||
<cfset request.APP_VERSION="0.00.016"/>
|
||||
|
||||
<cflock scope="application" type="readonly" timeout=3>
|
||||
<cfset request.APP_NAME=this.Name/>
|
||||
|
@ -17,6 +17,7 @@
|
||||
<c:menu_item acl="" page="agreement_ls.cfm" label="Сделки"/>
|
||||
<c:menu_item acl="" page="specification_item_ls.cfm" label="Экземпляры услуг"/>
|
||||
<li class="menu-title">Отчеты</li>
|
||||
<c:menu_item acl="" page="income_data.cfm" label="Исходные данные для прогноза"/>
|
||||
<c:menu_item acl="" page="income_daily_rpt.cfm" label="Выручка по дням"/>
|
||||
<c:menu_item acl="" page="income_monthly_rpt.cfm" label="Выручка по месяцам"/>
|
||||
|
||||
|
@ -54,7 +54,7 @@ from (
|
||||
join contract d on s.contract_id=d.contract_id
|
||||
join contragent k on d.contragent_id=k.contragent_id
|
||||
join svc on (si.svc_id=svc.svc_id)
|
||||
left outer join agreement a0 on (s.contract_id=a0.contract_id AND siv.agreement_version=a0.agreement_version AND a0.agreement_version=(select max(iiv.agreement_version) from specification_item_version iiv
|
||||
left outer join agreement a0 on (s.contract_id=a0.contract_id /*AND siv.agreement_version=a0.agreement_version*/ AND a0.agreement_version=(select max(iiv.agreement_version) from specification_item_version iiv
|
||||
join specification_item ii on (iiv.specification_item_uid=ii.specification_item_uid)
|
||||
join specification isp on (ii.specification_id=isp.specification_id)
|
||||
join agreement ia on (isp.contract_id=ia.contract_id AND iiv.agreement_version=ia.agreement_version)
|
||||
@ -97,7 +97,7 @@ from (
|
||||
join contract d on s.contract_id=d.contract_id
|
||||
join contragent k on d.contragent_id=k.contragent_id
|
||||
join svc on (si.svc_id=svc.svc_id)
|
||||
left outer join agreement a0 on (s.contract_id=a0.contract_id AND siv.agreement_version=a0.agreement_version AND a0.agreement_version=(select max(iiv.agreement_version) from specification_item_version iiv
|
||||
left outer join agreement a0 on (s.contract_id=a0.contract_id /*AND siv.agreement_version=a0.agreement_version*/ AND a0.agreement_version=(select max(iiv.agreement_version) from specification_item_version iiv
|
||||
join specification_item ii on (iiv.specification_item_uid=ii.specification_item_uid)
|
||||
join specification isp on (ii.specification_id=isp.specification_id)
|
||||
join agreement ia on (isp.contract_id=ia.contract_id AND iiv.agreement_version=ia.agreement_version)
|
||||
|
235
income_data.cfm
Normal file
235
income_data.cfm
Normal file
@ -0,0 +1,235 @@
|
||||
<cfsilent>
|
||||
<cfimport prefix="m" taglib="lib"/>
|
||||
<cfimport prefix="c" taglib="lib/controls"/>
|
||||
<cfimport prefix="d" taglib="lib/data"/>
|
||||
<cfimport prefix="layout" taglib="layout"/>
|
||||
</cfsilent><m:silent silent="No">
|
||||
|
||||
<cffunction name="hideNonPositive">
|
||||
<cfargument name="a"/>
|
||||
<cfreturn (a GT 0)? a : ""/>
|
||||
</cffunction>
|
||||
|
||||
<m:prepare_ls entity="specification_item" accessObject="" pageInfoOut="pageInfo" trackOut="tr"/>
|
||||
|
||||
<!--- <m:filter_settings target="#pageInfo.entity#_ls">
|
||||
<m:filterparam filter=#filter# param="quickfilter" ftype="string" prefix="%" suffix="%" expression="((p.project like ?) OR (p.customer like ?) OR (p.customer_alias like ?) OR (p.specification_item_class_type like ?) OR (p.division like ?) OR (p.performer_short like ?))" default=""/>
|
||||
</m:filter_settings> --->
|
||||
<!--- <cfset pageInfo.settings.filter=#filter#/> --->
|
||||
|
||||
|
||||
<cfquery name="qRead" datasource="#request.DS#">
|
||||
select
|
||||
--install
|
||||
siv.dt_from
|
||||
,siv.dt_to
|
||||
,a.probability_perc
|
||||
,a.agreement_version
|
||||
,a.is_actual
|
||||
,(siv.price*siv.quantity) as install
|
||||
|
||||
,siv0.dt_from as dt_from_prev
|
||||
,siv0.dt_to as dt_to_prev
|
||||
,a0.probability_perc as probability_perc_prev
|
||||
,a0.agreement_version as agreement_version_prev
|
||||
,a0.is_actual as is_actual_prev
|
||||
,(siv0.price*siv0.quantity) as install_prev
|
||||
|
||||
,0 as recurring
|
||||
,0 as recurring_prev
|
||||
|
||||
,svc.svc
|
||||
,siv.quantity
|
||||
,siv.price
|
||||
,s.specification
|
||||
,s.contract_id
|
||||
,d.contract
|
||||
,d.dt_contract
|
||||
,k.contragent
|
||||
|
||||
from specification_item_version siv /*on (dayscale.dt=siv.dt_from)*/
|
||||
join specification_item si on (siv.specification_item_uid=si.specification_item_uid AND si.pricing_model_id in (1))
|
||||
join specification s on (si.specification_id=s.specification_id)
|
||||
join agreement a on (s.contract_id=a.contract_id AND siv.agreement_version=a.agreement_version AND a.agreement_version=(select max(iiv.agreement_version) from specification_item_version iiv
|
||||
join specification_item ii on (iiv.specification_item_uid=ii.specification_item_uid)
|
||||
join specification isp on (ii.specification_id=isp.specification_id)
|
||||
join agreement ia on (isp.contract_id=ia.contract_id AND iiv.agreement_version=ia.agreement_version)
|
||||
where iiv.specification_item_uid=si.specification_item_uid
|
||||
--AND ia.is_actual
|
||||
))
|
||||
join contract d on s.contract_id=d.contract_id
|
||||
join contragent k on d.contragent_id=k.contragent_id
|
||||
join svc on (si.svc_id=svc.svc_id)
|
||||
|
||||
left outer join agreement a0 on (s.contract_id=a0.contract_id AND siv.agreement_version=a0.agreement_version AND a0.agreement_version=(select max(iiv.agreement_version) from specification_item_version iiv
|
||||
join specification_item ii on (iiv.specification_item_uid=ii.specification_item_uid)
|
||||
join specification isp on (ii.specification_id=isp.specification_id)
|
||||
join agreement ia on (isp.contract_id=ia.contract_id AND iiv.agreement_version=ia.agreement_version)
|
||||
where iiv.specification_item_uid=si.specification_item_uid
|
||||
AND ia.agreement_version < a.agreement_version
|
||||
AND ia.is_actual
|
||||
))
|
||||
left outer join specification_item_version siv0 on (siv0.specification_item_uid=si.specification_item_uid
|
||||
AND siv0.agreement_version=a0.agreement_version)
|
||||
where 1=1 <m:filter_build filter=#pageInfo.settings.filter#/>
|
||||
|
||||
|
||||
union all
|
||||
|
||||
--fix and payg
|
||||
select
|
||||
siv.dt_from
|
||||
,siv.dt_to
|
||||
,a.probability_perc
|
||||
,a.agreement_version
|
||||
,a.is_actual
|
||||
,0
|
||||
,siv0.dt_from
|
||||
,siv0.dt_to
|
||||
,a0.probability_perc
|
||||
,a0.agreement_version
|
||||
,a0.is_actual
|
||||
,0
|
||||
,siv.price*siv.quantity
|
||||
,siv0.price*siv0.quantity
|
||||
|
||||
,svc.svc
|
||||
,siv.quantity
|
||||
,siv.price
|
||||
|
||||
,s.specification
|
||||
,s.contract_id
|
||||
,d.contract
|
||||
,d.dt_contract
|
||||
,k.contragent
|
||||
from specification_item_version siv /*on (dayscale.dt >= siv.dt_from AND (siv.dt_to >= dayscale.dt OR siv.dt_to IS NULL))*/
|
||||
join specification_item si on (siv.specification_item_uid=si.specification_item_uid AND si.pricing_model_id in (2,3))
|
||||
join specification s on (si.specification_id=s.specification_id )
|
||||
join agreement a on (s.contract_id=a.contract_id AND siv.agreement_version=a.agreement_version AND a.agreement_version=(select max(iiv.agreement_version) from specification_item_version iiv
|
||||
join specification_item ii on (iiv.specification_item_uid=ii.specification_item_uid)
|
||||
join specification isp on (ii.specification_id=isp.specification_id)
|
||||
join agreement ia on (isp.contract_id=ia.contract_id AND iiv.agreement_version=ia.agreement_version)
|
||||
where iiv.specification_item_uid=si.specification_item_uid
|
||||
--AND ia.is_actual
|
||||
))
|
||||
join contract d on s.contract_id=d.contract_id
|
||||
join contragent k on d.contragent_id=k.contragent_id
|
||||
join svc on (si.svc_id=svc.svc_id)
|
||||
left outer join agreement a0 on (s.contract_id=a0.contract_id /*AND siv.agreement_version=a0.agreement_version*/ AND a0.agreement_version=(select max(iiv.agreement_version) from specification_item_version iiv
|
||||
join specification_item ii on (iiv.specification_item_uid=ii.specification_item_uid)
|
||||
join specification isp on (ii.specification_id=isp.specification_id)
|
||||
join agreement ia on (isp.contract_id=ia.contract_id AND iiv.agreement_version=ia.agreement_version)
|
||||
where iiv.specification_item_uid=si.specification_item_uid
|
||||
AND ia.agreement_version < a.agreement_version
|
||||
AND ia.is_actual
|
||||
))
|
||||
left outer join specification_item_version siv0 on (siv0.specification_item_uid=si.specification_item_uid
|
||||
AND siv0.agreement_version=a0.agreement_version)
|
||||
--where 1=1 <m:filter_build filter=#pageInfo.settings.filter#/>
|
||||
|
||||
order by 1
|
||||
|
||||
</cfquery>
|
||||
<!--- <cfdump var=#pageInfo.settings.filter#/> --->
|
||||
|
||||
|
||||
|
||||
|
||||
<!--- <cfquery name="qCountTotal" datasource="#request.DS#">
|
||||
select count(*) as cnt from specification_item where 1=1
|
||||
</cfquery> --->
|
||||
|
||||
</m:silent><!---
|
||||
-----------------------------------------------------------------------------------------
|
||||
-----------------------------------------------------------------------------------------
|
||||
-----------------------------------------------------------------------------------------
|
||||
---><cfif isDefined("output_xls")>
|
||||
<layout:xml qRead=#qRead# titleMap=#titleMap# filename="#pageInfo.entity#.xml"/>
|
||||
<cfabort/>
|
||||
</cfif><cfif isDefined("output_json")>
|
||||
<layout:json qRead=#qRead# titleMap=#titleMap# filename="#pageInfo.entity#.json"/>
|
||||
<cfabort/>
|
||||
</cfif><!---
|
||||
---><layout:page section="header" pageInfo=#pageInfo#>
|
||||
|
||||
<layout:attribute name="title">
|
||||
<cfoutput><b>Актуальные версии, развернутые во времени</b></cfoutput>
|
||||
</layout:attribute>
|
||||
<!--- <layout:attribute name="controls">
|
||||
skip filter link, filter is not implemented
|
||||
<layout:language_switch/>
|
||||
</layout:attribute> --->
|
||||
</layout:page>
|
||||
|
||||
<cfif pageInfo.readPermitted() AND !pageInfo.status.errorState>
|
||||
|
||||
|
||||
|
||||
<div style="display:inline-block; width:30%; vertical-align:top;">
|
||||
<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/>
|
||||
Дни и месяцы с нулевой суммой не показаны
|
||||
<table class="worktable wide">
|
||||
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Дата c</th>
|
||||
<th>Дата по</th>
|
||||
<th>Вер-ть</th>
|
||||
<th>v</th>
|
||||
<th>Инсталл</th>
|
||||
<th>Ежемес</th>
|
||||
|
||||
<th>Дата c пред.</th>
|
||||
<th>Дата по пред.</th>
|
||||
<th>Вер-ть пред.</th>
|
||||
<th>v</th>
|
||||
<th>Инсталл пред.</th>
|
||||
<th>Ежемес пред.</th>
|
||||
|
||||
<th>Услуга</th>
|
||||
<th>Кол-во</th>
|
||||
<th>Цена</th>
|
||||
<th>Спецификация</th>
|
||||
<th>Договор</th>
|
||||
<th>Дата договора</th>
|
||||
<th>Клиент</th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
<cfoutput query="qRead">
|
||||
<tr>
|
||||
<td class="c">#dateFormat(dt_from,"DD.MM.YYYY")#</td>
|
||||
<td class="c">#dateFormat(dt_to,"DD.MM.YYYY")#</td>
|
||||
<td class="r">#probability_perc#</td>
|
||||
<!--- <td class="r">#agreement_version#</td> --->
|
||||
<td class="r"><a href="agreement.cfm?contract_id=#contract_id#&agreement_version=#agreement_version#&#tr.fwx#">#agreement_version#</a></td>
|
||||
<td class="r">#nFmt(install)#</td>
|
||||
<td class="r">#nFmt(recurring)#</td>
|
||||
|
||||
<td class="c">#dateFormat(dt_from_prev,"DD.MM.YYYY")#</td>
|
||||
<td class="c">#dateFormat(dt_to_prev,"DD.MM.YYYY")#</td>
|
||||
<td class="r">#probability_perc_prev#</td>
|
||||
<td class="r"><a href="agreement.cfm?contract_id=#contract_id#&agreement_version=#agreement_version_prev#&#tr.fwx#">#agreement_version_prev#</a></td>
|
||||
<td class="r">#nFmt(install_prev)#</td>
|
||||
<td class="r">#nFmt(recurring_prev)#</td>
|
||||
|
||||
<td class="r">#svc#</td>
|
||||
<td class="r">#quantity#</td>
|
||||
<td class="r">#nFmt(price)#</td>
|
||||
<td class="r">#specification#</td>
|
||||
<td class="r">#contract#</td>
|
||||
<td class="r">#dateFormat(dt_contract,'DD.MM.YYYY')#</td>
|
||||
<td class="r">#contragent#</td>
|
||||
</tr>
|
||||
</cfoutput>
|
||||
|
||||
</table>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</cfif>
|
||||
<layout:page section="footer"/>
|
@ -52,7 +52,7 @@ from (
|
||||
join contract d on s.contract_id=d.contract_id
|
||||
join contragent k on d.contragent_id=k.contragent_id
|
||||
join svc on (si.svc_id=svc.svc_id)
|
||||
left outer join agreement a0 on (s.contract_id=a0.contract_id AND siv.agreement_version=a0.agreement_version AND a0.agreement_version=(select max(iiv.agreement_version) from specification_item_version iiv
|
||||
left outer join agreement a0 on (s.contract_id=a0.contract_id /*AND siv.agreement_version=a0.agreement_version*/ AND a0.agreement_version=(select max(iiv.agreement_version) from specification_item_version iiv
|
||||
join specification_item ii on (iiv.specification_item_uid=ii.specification_item_uid)
|
||||
join specification isp on (ii.specification_id=isp.specification_id)
|
||||
join agreement ia on (isp.contract_id=ia.contract_id AND iiv.agreement_version=ia.agreement_version)
|
||||
@ -93,7 +93,7 @@ from (
|
||||
join contract d on s.contract_id=d.contract_id
|
||||
join contragent k on d.contragent_id=k.contragent_id
|
||||
join svc on (si.svc_id=svc.svc_id)
|
||||
left outer join agreement a0 on (s.contract_id=a0.contract_id AND siv.agreement_version=a0.agreement_version AND a0.agreement_version=(select max(iiv.agreement_version) from specification_item_version iiv
|
||||
left outer join agreement a0 on (s.contract_id=a0.contract_id /*AND siv.agreement_version=a0.agreement_version*/ AND a0.agreement_version=(select max(iiv.agreement_version) from specification_item_version iiv
|
||||
join specification_item ii on (iiv.specification_item_uid=ii.specification_item_uid)
|
||||
join specification isp on (ii.specification_id=isp.specification_id)
|
||||
join agreement ia on (isp.contract_id=ia.contract_id AND iiv.agreement_version=ia.agreement_version)
|
||||
|
@ -94,7 +94,7 @@
|
||||
join specification isp on (ii.specification_id=isp.specification_id)
|
||||
join agreement ia on (isp.contract_id=ia.contract_id AND iiv.agreement_version=ia.agreement_version)
|
||||
where iiv.specification_item_uid=si.specification_item_uid
|
||||
AND ia.is_actual
|
||||
--AND ia.is_actual
|
||||
)
|
||||
<!--- where 1=1 <m:filter_build filter=#pageInfo.settings.filter#/>--->
|
||||
order by <m:order_build sortArray=#pageInfo.settings.sort.sortArray# fieldCount=#fieldCount#/>
|
||||
@ -127,10 +127,7 @@ select count(*) as cnt from specification_item where 1=1
|
||||
<layout:attribute name="title">
|
||||
<cfoutput><b>Экземпляры услуг (текущее состояние)</b></cfoutput>
|
||||
</layout:attribute>
|
||||
<layout:attribute name="controls">
|
||||
<!---skip filter link, filter is not implemented--->
|
||||
<!---<layout:language_switch/>--->
|
||||
</layout:attribute>
|
||||
|
||||
</layout:page>
|
||||
|
||||
<cfif pageInfo.readPermitted() AND !pageInfo.status.errorState>
|
||||
|
Loading…
Reference in New Issue
Block a user