075 responsibles

This commit is contained in:
2026-08-17 17:56:36 +03:00
parent 077454157f
commit 6b376d401c
2 changed files with 30 additions and 42 deletions
+5 -24
View File
@@ -85,36 +85,17 @@
<cfset request.GUEST_USR_ID=3/>
<!--- global settings --->
<cfset request.RECORDS_PER_PAGE=500/>
<cfset request.APP_VERSION="0.00.074"/>
<cfset request.STAND=getStand()/>
<!--- *************************************************************************************************** --->
<cfset request.APP_VERSION="0.00.075"/> <!--- *********************************************************** --->
<!--- *************************************************************************************************** --->
<cfset request.STAND=getStand()/>
<cfset request.RECORDS_PER_PAGE=500/>
<cflock scope="application" type="readonly" timeout=3>
<cfset request.APP_NAME=this.Name/>
</cflock>
<!--- <cfdump var=#GetApplicationSettings()#/> --->
<!--- неуклюжий выверт для локальной отладки --->
<!--- <cfif !structKeyExists(GetApplicationSettings().datasources,"#this.datasource#")>
<cfset this.datasources["#this.datasource#"]=getDS("#this.datasource#","ds_#this.datasource#")/>
</cfif>
<cfif !structKeyExists(this.datasources,"billing-vc")>
<cfset this.datasources["billing-vc"]=getDS("billing-vc","ds_billing_vc")/>
</cfif>
<cfif !structKeyExists(this.datasources,"billing-s3")>
<cfset this.datasources["billing-s3"]=getDS("billing-s3","ds_billing_s3")/>
</cfif> --->
<!--- <cfset this.datasources["#this.datasource#"]=getDS("#this.datasource#","ds_#this.datasource#")/>
<cfset this.datasources["billing-vc"]=getDS("billing-vc","ds_billing_vc")/>
<cfset this.datasources["billing-s3"]=getDS("billing-s3","ds_billing_s3")/> --->
<!--- <cfdump var=#this.datasources#/> --->
<!--- application constants --->
<!---<cfset request.SMTP_SERVER="172.16.16.16"/>
+25 -18
View File
@@ -32,8 +32,10 @@
<!--- <cfdump var=#qCode#/> --->
<cfquery name="qContragent" datasource="dwh" cachedWithin=#createTimeSpan(0, 0, 25, 0)#>
select k.id_klienta as wz, k.__id::text as contragent_uid, k.__name as contragent
select k.id_klienta as wz, k.__id::text as contragent_uid, k.__name as contragent,
c.__name as responsible, c.email as responsible_email, c.__status_status as responsible_status
from elma.companies k
LEFT OUTER JOIN elma.comp_users_ext c on (k.responsible=c.__id)
where k."__deletedAt" IS NULL
</cfquery>
@@ -50,7 +52,7 @@
select k.id_klienta as wz, k.__id::text as contragent_uid,
p.code,
SUBSTRING(p.code FROM 1 FOR LENGTH(p.code) - 2) as sku_code,
p.price, p.discount, k.__name as contragent, a.__name as contract, a.__id::text as contract_uid, d.__name as deal, d.__id::text as deal_uid, siv.abstractive_service as abstract_service, siv.modifier, siv.user_description, siv.hash as line_key
p.price, p.discount as component_discount, k.__name as contragent, a.__name as contract, a.__id::text as contract_uid, d.__name as deal, d.__id::text as deal_uid, siv.abstractive_service as abstract_service, siv.modifier, siv.user_description, siv.hash as line_key
,siv.date_nop as serviceStart, siv.date_end as serviceEnd, siv.discount as service_discount, siv.cnt as service_quantity
/*,p.__name as line_key*/, p.ed_izm, p.name as component, p.type, p.cnt*coalesce(siv.cnt,1) as component_quantity,
aa.__name as additional_agreement, aa.__id::text as additional_agreement_uid
@@ -368,7 +370,7 @@ SELECT
<d:field title="WZ">m.wz as wzm</d:field>
<d:field title="WZE">s.end_customer_wz as wze</d:field>
<d:field title="Артикул">coalesce(s.code, m.code) as code</d:field>
<d:field title="Артикул по спец.">s.code as s_code</d:field>
<d:field title="Артикул по специф.">s.code as s_code</d:field>
<d:field title="SKU code">s.sku_code as sku_code</d:field>
<d:field title="Артикул по метрикам">m.code as m_code</d:field>
<d:field title="Кол-во компонента по спец.">s.component_quantity</d:field>
@@ -377,21 +379,22 @@ SELECT
<d:field title="Free Tier">coalesce(s.free_tier,0) as free_tier</d:field>
<d:field>m.dimension1</d:field>
<d:field title="Тип по спец.">s.type</d:field>
<!--- <d:field title="Кол-во к оплате" cfSqlType="CF_SQL_NUMERIC">ceiling(m.chargeable_metric) as chargeable_metric</d:field> --->
<d:field title="Ед.изм.">m.unit</d:field>
<d:field title="Ед.изм.">s.ed_izm</d:field>
<d:field title="Цена &##8381; с НДС" cfSqlType="CF_SQL_NUMERIC">coalesce(s.service_quantity*(100.-s.service_discount)/100.*s.price*(100.-s.discount)/100., 0.) as discounted_price</d:field>
<!--- <d:field title="Стоимость &##8381; с НДС" cfSqlType="CF_SQL_NUMERIC">CASE WHEN s.type=3 THEN s.service_quantity*(100-s.service_discount)/100*s.price*(100-s.discount)/100*ceiling(m.chargeable_metric) ELSE NULL END as charge</d:field> --->
<d:field title="Цена &##8381; с НДС" cfSqlType="CF_SQL_NUMERIC">coalesce(s.service_quantity*(100.-s.service_discount)/100.*s.price*(100.-s.component_discount)/100., 0.) as discounted_price</d:field>
<d:field title="Дата НОУ" cfSqlType="CF_SQL_TIMESTAMP">s.serviceStart</d:field>
<d:field title="Дата оконч." cfSqlType="CF_SQL_TIMESTAMP">s.serviceEnd</d:field>
<d:field title="Ключ строки">s.line_key</d:field>
<d:field title="Цена с НДС" cfSqlType="CF_SQL_NUMERIC">s.price</d:field>
<d:field title="Скидка % на компонент" cfSqlType="CF_SQL_NUMERIC">s.discount</d:field>
<d:field title="Скидка % на компонент" cfSqlType="CF_SQL_NUMERIC">s.component_discount</d:field>
<d:field title="Сырая метрика" cfSqlType="CF_SQL_NUMERIC">m.raw_metric</d:field>
<d:field title="Приведенная метрика" cfSqlType="CF_SQL_NUMERIC">m.metric</d:field>
<d:field title="Контрагент">c.contragent</d:field>
<d:field title="contragent_uid">c.contragent_uid</d:field>
<d:field title="Ответственный">c.responsible</d:field>
<d:field title="Email отв-го">c.responsible_email</d:field>
<d:field title="Статус отв-го">c.responsible_status</d:field>
<d:field title="Договор">s.contract</d:field>
<d:field title="contract_uid">s.contract_uid</d:field>
<d:field title="Допник">s.additional_agreement</d:field>
@@ -524,21 +527,23 @@ S3 операции и трафик: <b>#dateFormat(qS3OpsTrfAge.dt_load,'YYYY-M
<cfset var acc=0/>
<tr>
<td bgcolor="##ccc"></td>
<td bgcolor="##ccc" colspan="5" class="b">
<td bgcolor="##ccc" colspan="99">
<b>
<a href="contragent.cfm?__id=#contragent_uid#&#tr.fwx#">#wz#</a>
#contragent#
<a href="contragent_rpt.cfm?__id=#contragent_uid#&#tr.fwx#">(сводка)</a>
</b>
ответственный:
<span <cfif responsible_status NEQ 2> class="err"</cfif>>#responsible# <a href="mailto:#responsible_email#">#responsible_email#</a></span>
</td>
<td></td>
<td bgcolor="##ccc" colspan="99"></td>
</tr>
<cfoutput group="code">
<cfoutput group="serviceStart">
<cfset accum_metric_svc += isNumeric(metric) ? metric : 0/>
<cfset accum_metric_dimension_1 = 0/>
<cfoutput><!--- dimensions --->
<cfif type EQ 3>
<cfif type EQ 3>
<cfset accum_metric_dimension_1 += isNumeric(metric) ? metric : 0/>
</cfif>
<!--- детализация --->
@@ -554,7 +559,7 @@ S3 операции и трафик: <b>#dateFormat(qS3OpsTrfAge.dt_load,'YYYY-M
<td></td>
<td style="font-size:90%;">#unit# <cfif len(ed_izm)>[#ed_izm#]</cfif></td><!--- #len(unit)?unit:'['& ed_izm &']'# --->
<td class="r">#gaussianRound(discounted_price,2)#</td>
<td class="r"><!---#gaussianRoundSafe(charge,2)# <cfif type EQ 3></cfif> ---></td>
<td class="r"></td>
<td></td>
@@ -563,7 +568,7 @@ S3 операции и трафик: <b>#dateFormat(qS3OpsTrfAge.dt_load,'YYYY-M
<td>#user_description#</td>
<td class="r">#gaussianRoundSafe(price,2)#</td>
<td class="r">#discount#</td>
<td class="r">#component_discount#</td>
<td class="r">#dateFormat(serviceStart,'YYYY-MM-DD')#</td>
<td class="r">#dateFormat(serviceEnd,'YYYY-MM-DD')#</td>
@@ -578,12 +583,12 @@ S3 операции и трафик: <b>#dateFormat(qS3OpsTrfAge.dt_load,'YYYY-M
<td class="r">#service_quantity#</td>
<td class="r">#service_discount#</td>
<td class="r">#component_quantity#</td>
<td class="r">#discount#</td>
<td class="r">#component_discount#</td>
<td><a href="contract.cfm?__id=#contract_uid#&#tr.fwx#">#contract#</a></td>
<td><a href="additional_agreement.cfm?__id=#additional_agreement_uid#&#tr.fwx#">#additional_agreement#</a></td>
<td><a href="deal.cfm?__id=#deal_uid#&#tr.fwx#">#deal#</a></td>
<td>#WZE#</a></td>
<td>#WZE#</td>
</tr>
</cfoutput>
<cfset final_metric_dimension_1 = ceiling(accum_metric_dimension_1)/>
@@ -598,6 +603,7 @@ S3 операции и трафик: <b>#dateFormat(qS3OpsTrfAge.dt_load,'YYYY-M
<td class="b c">#unit# <cfif len(ed_izm)>[#ed_izm#]</cfif></td>
<td class="b r">#gaussianRoundSafe(discounted_price,2)#</td>
<td class="b r">#gaussianRoundSafe(cost_dimension_1,2)#</td>
<td></td>
<td colspan="100"></td>
</tr>
</cfoutput><!--- serviceStart --->
@@ -606,8 +612,9 @@ S3 операции и трафик: <b>#dateFormat(qS3OpsTrfAge.dt_load,'YYYY-M
<tr>
<td bgcolor="##eee" style="border-bottom:2px solid gray;"></td>
<td bgcolor="##eee" colspan="9" class="r" style="border-bottom:2px solid gray;"><b>Итого</b> <a href="contragent.cfm?__id=#contragent_uid#&#tr.fwx#">#wz#</a> #contragent#:</td>
<td bgcolor="##eee" colspan="1" class="r b nw" style="border-bottom:2px solid gray; font-size:130%; padding:0 1em;">#accum_cost_svc#</td>
<td colspan="99" style="border-bottom:2px solid gray;"></td>
<td bgcolor="##eee" class="r b nw" style="border-bottom:2px solid gray; font-size:130%; padding:0 1em;">#accum_cost_svc#</td>
<td bgcolor="##eee" style="border-bottom:2px solid gray;"></td>
<td bgcolor="##eee" colspan="99" style="border-bottom:2px solid gray;"></td>
</tr >
</cfoutput><!--- wz --->