017 improvements

This commit is contained in:
msyu
2025-08-27 16:42:41 +03:00
parent 9752bc9742
commit 517585258d
4 changed files with 78 additions and 11 deletions
+57 -4
View File
@@ -21,7 +21,7 @@
<d:param field="__id" type="uuid" key/>
<d:param field="__name" type="varchar" size="255" preprocessor=#cleanInput# forNull=""/>
<d:param field="_companies" type="uuid" forNull=""/>
<!--- <d:param field="_plannedDueDate" type="timestamp" forNull=""/> --->
<!--- <d:param field="_plannedDueDate" type="timestamp" forNull=""/> ---><!--- *** не используем, потому что имя в смешанном регистре --->
<d:param field="__index" type="integer" forNull="" default="0" init="0"/>
<d:param field="__status_status" type="integer" forNull="" default="0" init="0"/>
<d:param field="is_corrective_transaction" type="bit" forNull=""/>
@@ -44,15 +44,37 @@
s(status, status_id, probability_pc) as (VALUES
('Закрыта неуспешно',7,0),('Закрыта успешно',6,100),('Договор подписан',5,100),('Договор на подписании',15,90),('Договор на согласовании',12,70),
('Тестирование',8,50),('Отправлено ТКП',10,20),('Внутреннее согласование',37,10),('Проработка решения',4,10),('Сбор потребностей',1,0)
),
component as (select siv.deal as deal_uids, siv.type, (siv.cnt*(100-COALESCE(siv.discount,0))/100*p.price*p.cnt*(100-COALESCE(p.discount,0))) as param_cost
from elma.deals_services siv
join elma.service_parametrs p on (p.__id = ANY(siv.params))
)
select
k.__name as contragent
,k.id_klienta as wz
,k.__index as contragent_index
,d."_plannedDueDate" as _plannedDueDate
,d."__createdAt"
,d."__index" as deal_index
,s.status
,s.probability_pc
,c.__name as owner
,(select sum(param_cost)
from component
where d.__id = ANY(component.deal_uids) AND component.type IN (1)
) as install
,(select sum(param_cost)
from component
where d.__id = ANY(component.deal_uids) AND component.type IN (2)
) as periodical
,(select sum(param_cost)
from component
where d.__id = ANY(component.deal_uids) AND component.type IN (3)
) as metered
from elma.deals d
left outer join elma.companies k on (d._companies=k.__id)
left outer join elma.comp_users_ext c on (d._owner=c.__id)
left outer join s on (d.__status_status=s.status_id)
where d.__id=<cfqueryparam cfsqltype="cf_sql_other" value=#d.__id#/>
</cfquery>
@@ -89,7 +111,10 @@
<div class="tr">
<div class="th">__id</div>
<div class="td">#d.__id#</div>
<div class="td">
#d.__id#
index:#qDecoration.deal_index#
</div>
</div>
<div class="tr">
@@ -102,12 +127,15 @@
<div class="td"><!--- <a href="contract.cfm?__id=#d.contract_uid#&#tr.fwx#"><b>#qDecoration.contract#</b> #dateFormat(qDecoration.date_of_aggrement,'DD.MM.YYYY')#
[#d.contract_uid#]</a> --->
#qDecoration.contragent# #qDecoration.wz#
index:#qDecoration.contragent_index#
</div>
</div>
<div class="tr">
<div class="th">_plannedDueDate</div>
<div class="td">#qDecoration._plannedDueDate#</div>
<div class="td">#dateFormat(qDecoration._plannedDueDate,'YYYY-MM-DD')#
Паразитное поле, не использовать в расчетах
</div>
</div>
<div class="tr">
@@ -145,7 +173,32 @@
<div class="tr">
<div class="th">dt_load</div>
<div class="td">#d.dt_load#</div>
<div class="td">#dateTimeFormat(d.dt_load,"yyyy-MM-dd HH:nn:ss.SSSZ")#</div>
</div>
<div class="tr">
<div class="th">__createdAt</div>
<div class="td">#dateFormat(qDecoration.__createdAt,"YYYY-MM-DD")#</div>
</div>
<div class="tr">
<div class="th">Ответственный</div>
<div class="td">#qDecoration.owner#</div>
</div>
<div class="tr">
<div class="th">Инсталл</div>
<div class="td">#numFmt(qDecoration.install,2)#</div>
</div>
<div class="tr">
<div class="th">Ежемес</div>
<div class="td">#numFmt(qDecoration.periodical,2)#</div>
</div>
<div class="tr">
<div class="th">Тарифицируемые</div>
<div class="td">#numFmt(qDecoration.metered,2)#</div>
</div>