086 deals for tests

This commit is contained in:
2026-09-24 13:55:37 +03:00
parent 189dd90fcb
commit 2f260a3b63
2 changed files with 44 additions and 5 deletions
+1
View File
@@ -0,0 +1 @@
Предлагаю показывать в отчете статус верхней сделки контрагента, на сейчас. Может быть, с датой последней активности? Может быть, надо фильтровать по типу ресурса и матчить с сервисом, но тогда будет теряться Other и все такое
+43 -5
View File
@@ -59,6 +59,28 @@ SELECT upper(k.id_klienta) as wz, k.__id as id, c.__name as responsible, c.email
LEFT OUTER JOIN elma.comp_users_ext c on (k.responsible=c.__id)
</cfquery>
<cfquery name="qLastDeal">
WITH
status(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)
)
select z.id_Klienta as wz, z.__name as company,
d.__id as deal_uid, d.__status_status as status_id, s.status, d.__index as deal_index, d.__name as deal --, d.kommentarii_k_sdelke, d."__statusComment"
from elma.companies z
join (select
__id, _companies, __status_status, __index, __name, kommentarii_k_sdelke, "__statusComment", "__deletedAt", is_corrective_transaction
,ROW_NUMBER() OVER (PARTITION BY _companies ORDER BY __index desc) rn
from elma.deals) d on (z.__id=d._companies AND d.rn=1)
join status s on (d.__status_status=s.status_id)
where z."__deletedAt" IS NULL AND d."__deletedAt" IS NULL
AND NOT coalesce(d.is_corrective_transaction, false)
AND NOT d.__status_status=7
order by z.id_Klienta, d.__index DESC
</cfquery>
<!--- patch date --->
<cfloop query="qStorage">
<cftry>
@@ -75,6 +97,7 @@ SELECT upper(k.id_klienta) as wz, k.__id as id, c.__name as responsible, c.email
<cfset db = new MemoryDbHelper()/>
<cfset db.register("qStorage", qStorage, "inmem")/>
<cfset db.register("qResponsible", qResponsible, "inmem")/><!--- имя колонки __id мы не принимаем почему-то --->
<cfset db.register("qLastDeal", qLastDeal, "inmem")/><!--- имя колонки __id мы не принимаем почему-то --->
<cfquery name="qRead" datasource="inmem">
select
@@ -94,9 +117,16 @@ SELECT upper(k.id_klienta) as wz, k.__id as id, c.__name as responsible, c.email
<d:field title="Ответственный за к/а">r.responsible</d:field>
<d:field title="Email отв-го">r.responsible_email</d:field>
<d:field title="Статус отв-го">r.responsible_status</d:field>
<d:field title="deal_uid">d.deal_uid</d:field>
<d:field title="Номер сделки">d.deal_index</d:field>
<d:field title="Сделка">d.deal</d:field>
<d:field title="Статус сделки">d.status_id</d:field>
<d:field title="Статус сделки">d.status as deal_status</d:field>
</d:field_set>
from qStorage s
LEFT OUTER JOIN qResponsible r ON (s.wz=r.wz)
LEFT OUTER JOIN qLastDeal d ON (s.wz=d.wz)
ORDER BY
<m:order_build sortArray=#pageInfo.settings.sort.sortArray# fieldCount=#fieldCount#/>
</cfquery>
@@ -133,12 +163,16 @@ ORDER BY
<table class="worktable">
<layout:grid_head titleMap=#titleMap# sortArray=#pageInfo.settings.sort.sortArray#>
<layout:grid_head titleMap=#titleMap# sortArray=#pageInfo.settings.sort.sortArray#>
<th><layout:column_head name="wz"/></th>
<th><layout:column_head name="tenant"/></th>
<th><layout:column_head name="wz"/></th>
<th><layout:column_head name="status"/></th>
<!--- <th><layout:column_head name="end_test_date"/></th> --->
<th><layout:column_head name="dt_end_of_test"/></th>
<th><layout:column_head name="dt_end_of_test"/></th>
<th><layout:column_head name="deal"/></th>
<th><layout:column_head name="deal_status"/></th>
<th><layout:column_head name="vdc"/></th>
<th><layout:column_head name="provider_vdc"/></th>
<th><layout:column_head name="code"/></th>
@@ -153,11 +187,15 @@ ORDER BY
<cfoutput query="qRead">
<tr>
<!--- <td><a href="contragent.cfm?__id=#company_uid#&#tr.fwx#">#WZ#</a><a href="contragent_rpt.cfm?__id=#company_uid#&#tr.fwx#" style="float:right"><img src="img/view.gif" title="сводка по контрагенту"/></a></td> --->
<td>#tenant#</td>
<td class="c"><a href="contragent.cfm?id_klienta=#UCASE(wz)#&#tr.fwx#">#wz#</td>
<td class="c"><a href="contragent.cfm?id_klienta=#UCASE(wz)#&#tr.fwx#">#wz#</td>
<td>#tenant#</td>
<td<cfif NOT (status EQ "prod" OR status EQ "internal-test")> class="b"</cfif>>#status#</td>
<!--- <td>#end_test_date#</td> --->
<td class="c<cfif NOT (status EQ "prod" OR status EQ "internal-test") AND isDate(dt_end_of_test) AND dt_end_of_test LE Now()> b err</cfif>">#dateFormat(dt_end_of_test,"YYYY-MM-DD")#</td>
<td><a href="deal.cfm?__id=#deal_uid#&#tr.fwx#">#deal#</a></td>
<td>#deal_status#</td>
<td>#VDC#</td>
<td>#provider_vdc#</td>
<td>#code#</td>