83 intermediate metric sum in payg and performance improvement

This commit is contained in:
2026-09-08 19:37:33 +03:00
parent 3db978003f
commit 26451cbd1d
4 changed files with 68 additions and 24 deletions
+13 -5
View File
@@ -21,10 +21,10 @@
<cfquery name="qRead" datasource="#request.DS#">
select
<d:field_set titleMapOut="titleMap" lengthOut="fieldCount">
<d:field title="ID" cfSqlType="CF_SQL_OTHER">d.__id</d:field>
<d:field title="ID" cfSqlType="CF_SQL_OTHER">d.__id::text as __id</d:field>
<d:field title="Внут.номер">d.agreement_id</d:field>
<d:field title="Договор">d.__name</d:field>
<d:field title="company_uid">d.company_uid</d:field>
<d:field title="company_uid">d.company_uid::text as company_uid</d:field>
<d:field title="Контрагент">k.__name as contragent</d:field>
<d:field title="WZ">k.id_klienta as wz</d:field>
<d:field title="Дата договора">d.date_of_aggrement</d:field>
@@ -33,15 +33,23 @@
<d:field title="Ответственный за к/а">c.__name as responsible</d:field>
<d:field title="Email отв-го">c.email as responsible_email</d:field>
<d:field title="Статус">c.__status_status as responsible_status</d:field>
<d:field title="Доп. соглашений">(select count(*) from elma.additional_agreements a where a.contract_uid=d.__id AND a."__deletedAt" IS NULL) as aa_cnt</d:field>
<!--- <d:field title="Доп. соглашений">COALESCE(a.aa_cnt, 0) AS aa_cnt</d:field> --->
<d:field title="Доп. соглашений">a.aa_cnt</d:field>нас null вместо 0 совершенно устраивает
</d:field_set>
from elma.aggrements d
LEFT OUTER JOIN elma.companies k ON (d.company_uid=k.__id)
LEFT OUTER JOIN elma.comp_users_ext c ON (k.responsible=c.__id)
LEFT OUTER JOIN (
SELECT contract_uid, count(*) AS aa_cnt
FROM elma.additional_agreements
WHERE "__deletedAt" IS NULL
GROUP BY contract_uid
) a ON (a.contract_uid = d.__id)
where 1=1 <m:filter_build filter=#pageInfo.settings.filter#/>
order by <m:order_build sortArray=#pageInfo.settings.sort.sortArray# fieldCount=#fieldCount#/>
</cfquery>
<!--- <cfdump var=#qRead#/> --->
<cfcatch type="database">
<m:ls_catch catch=#cfcatch# status=#pageInfo.status#/>
@@ -116,10 +124,10 @@ select count(*) as cnt from elma.aggrements d where 1=1
<c:column width="1%" sortable="false"><!---*** class="c" не пробрасывается --->
<c:td field="f_link_view_edit" class="c"/>
</c:column>
<c:column width="10%" field="__id"><c:td class="l"/></c:column>
<c:column width="10%" field="__id" sortable=false><c:td class="l"/></c:column>
<c:column width="10%" field="f_contract"/>
<c:column width="10%" field="agreement_id"/>
<c:column width="10%" field="company_uid"/>
<c:column width="10%" field="company_uid" sortable=false/>
<c:column width="10%" field="f_contragent"/>
<c:column width="10%" field="wz"/>
<c:column width="10%" field="responsible"/>