087 tests and storage rpt improved

This commit is contained in:
2026-09-27 09:41:28 +03:00
parent 2f260a3b63
commit d6193481e1
2 changed files with 52 additions and 23 deletions
+1 -1
View File
@@ -87,7 +87,7 @@
<!--- global settings --->
<!--- *************************************************************************************************** --->
<cfset request.APP_VERSION="0.00.086"/> <!--- *********************************************************** --->
<cfset request.APP_VERSION="0.00.087"/> <!--- *********************************************************** --->
<!--- *************************************************************************************************** --->
<cfset request.STAND=getStand()/>
<cfset request.RECORDS_PER_PAGE=500/>
+51 -22
View File
@@ -59,29 +59,42 @@ 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">
<cfquery name="qCurrentDeal">
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)
),
current_deal
AS (select
d.__id, d._companies, d.__status_status, d.__index, d.__name, d.kommentarii_k_sdelke, d."__statusComment", d."__deletedAt", d.is_corrective_transaction,
a.__id as additional_agreement_uid, a.__name as additional_agreement,
g.__id as contract_uid, g.__name as contract, g.date_of_aggrement as dt_contract, g.agreement_id as contract_id /*сохранена авторская орфография*/
,ROW_NUMBER() OVER (PARTITION BY _companies ORDER BY d.__index DESC) rn
from elma.deals d
join status s on (d.__status_status=s.status_id)
left outer join elma.additional_agreements a on (d.__id=a.deal_uid)
left outer join elma.aggrements g on (a.contract_uid = g.__id)
where d."__deletedAt" IS NULL AND s.probability_pc > 0
AND NOT coalesce(d.is_corrective_transaction, false)
AND NOT d.__status_status=7
)
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
SELECT z.id_klienta as wz, z.__name as company,
d.__id::text as deal_uid, d.__status_status as status_id, s.status, d.__index as deal_index, d.__name as deal,
d.additional_agreement_uid::text as additional_agreement_uid, d.additional_agreement,
d.contract_uid::text as contract_uid, d.contract, d.dt_contract, d.contract_id
FROM elma.companies z
LEFT JOIN current_deal d ON (z.__id=d._companies AND d.rn=1)
LEFT JOIN status s ON (d.__status_status=s.status_id)
where z."__deletedAt" IS NULL
ORDER BY z.id_klienta, d.__index DESC
</cfquery>
<!--- patch date --->
<!--- <cfdump var=#qCurrentDeal#/>
--->
<!--- patch date to make id processable--->
<cfloop query="qStorage">
<cftry>
<cfif len(qStorage.end_test_date)>
@@ -97,14 +110,14 @@ order by z.id_Klienta, d.__index DESC
<cfset db = new MemoryDbHelper()/>
<cfset db.register("qStorage", qStorage, "inmem")/>
<cfset db.register("qResponsible", qResponsible, "inmem")/><!--- имя колонки __id мы не принимаем почему-то --->
<cfset db.register("qLastDeal", qLastDeal, "inmem")/><!--- имя колонки __id мы не принимаем почему-то --->
<cfset db.register("qCurrentDeal", qCurrentDeal, "inmem")/><!--- имя колонки __id мы не принимаем почему-то --->
<cfquery name="qRead" datasource="inmem">
select
<d:field_set titleMapOut="titleMap" lengthOut="fieldCount">
<d:field title="Тенант">s.tenant</d:field>
<d:field title="WZ">s.wz</d:field>
<d:field title="status">s.status</d:field>
<d:field title="status">s.status</d:field><!--- статус ресурса, а не сделки --->
<d:field title="End of Test">s.end_test_date</d:field>
<d:field title="End of Test">s.dt_end_of_test</d:field>
<d:field title="VDC">s.vdc</d:field>
@@ -118,15 +131,22 @@ order by z.id_Klienta, d.__index DESC
<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>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>d.additional_agreement_uid</d:field>
<d:field title="Допник">d.additional_agreement</d:field>
<d:field>d.contract_uid</d:field>
<d:field title="Договор">d.contract</d:field>
<d:field title="Дата договора">d.dt_contract</d:field>
<d:field title="Номер договора">d.contract_id</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)
LEFT OUTER JOIN qCurrentDeal d ON (s.wz=d.wz)
ORDER BY
<m:order_build sortArray=#pageInfo.settings.sort.sortArray# fieldCount=#fieldCount#/>
</cfquery>
@@ -173,6 +193,10 @@ ORDER BY
<th><layout:column_head name="deal"/></th>
<th><layout:column_head name="deal_status"/></th>
<th><layout:column_head name="additional_agreement"/></th>
<th><layout:column_head name="contract"/></th>
<th><layout:column_head name="dt_contract"/></th>
<th><layout:column_head name="vdc"/></th>
<th><layout:column_head name="provider_vdc"/></th>
<th><layout:column_head name="code"/></th>
@@ -184,17 +208,22 @@ ORDER BY
<th><layout:column_head name="responsible_email"/></th>
<th><layout:column_head name="responsible_status"/></th>
</layout:grid_head>
<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 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>#deal_status# [#status_id#]</td>
<td><a href="additional_agreement.cfm?__id=#additional_agreement_uid#&#tr.fwx#">#additional_agreement#</a></td>
<td><a href="contract.cfm?__id=#contract_uid#&#tr.fwx#">#contract#</a> <cfif contract_id NEQ contract>(#contract_id#)</cfif> </td>
<td>#dateFormat(dt_contract,"DD.MM.YYYY")#</td>
<td>#VDC#</td>
<td>#provider_vdc#</td>