047 versioning fix

This commit is contained in:
2026-04-29 12:42:04 +03:00
parent 2a3cf0482f
commit fcde490da1
3 changed files with 60 additions and 63 deletions
+1 -1
View File
@@ -76,7 +76,7 @@
<!--- global settings --->
<cfset request.RECORDS_PER_PAGE=500/>
<cfset request.APP_VERSION="0.00.046"/>
<cfset request.APP_VERSION="0.00.047"/>
<cfset request.STAND=getStand()/>
<cflock scope="application" type="readonly" timeout=3>
+2 -2
View File
@@ -117,7 +117,7 @@
('Закрыта неуспешно',7,0),('Закрыта успешно',6,100),('Договор подписан',5,100),('Договор на подписании',15,90),('Договор на согласовании',12,70),
('Тестирование',8,50),('Отправлено ТКП',10,20),('Внутреннее согласование',37,10),('Проработка решения',4,10),('Сбор потребностей',1,0)
)
,line_expanded
,line
AS (
SELECT siv.__id AS siv_uid
,siv.discount
@@ -186,7 +186,7 @@
), (
SELECT CURRENT_TIMESTAMP + INTERVAL '1 day'
)) dt_next
FROM line_expanded
FROM line
WHERE probability_pc > 0
) t
WHERE t.dt_from = t.running_min_dt
+40 -43
View File
@@ -8,6 +8,7 @@
<m:prepare_ls entity="crm2cloud" settingsKey="crm2cloud" accessObject="" pageInfoOut="pageInfo" trackOut="tr"/>
<!--- *** нуждается в оптимизации, чтобы фильтр по контрагенту ускорял селект --->
<cfparam name="dt_report" default=#Now()#/>
<cfquery name="qRead" cachedWithin=#createTimeSpan(0, 0, 25, 0)#>
WITH
@@ -25,8 +26,8 @@ WITH
('Проработка решения',4,10) ,
('Сбор потребностей',1,0)
)
,line
AS (
-----------------------------
,line AS (
SELECT siv.__id AS siv_uid
,siv.discount
,siv.type AS line_pricing_model_id
@@ -61,8 +62,8 @@ AS (
--and a.is_actual
AND siv.type IN (2, 3)
)
,component
AS (
-----------------------------
,component AS (
SELECT
-- price*cnt*(100.0-COALESCE(discount,0))/100.0 as cost ,
-- price ,
@@ -72,8 +73,8 @@ AS (
FROM elma.service_parametrs
WHERE "__deletedAt" IS NULL
)
,stair
AS (
------------------------------
,stair AS (
SELECT *
FROM (
SELECT *
@@ -86,16 +87,14 @@ AS (
,deal_index
)
), (
SELECT CURRENT_TIMESTAMP + INTERVAL '1 day'
<cfqueryparam cfsqltype="cf_sql_timestamp" value=#dt_report+1#/>
<!--- CURRENT_TIMESTAMP + INTERVAL '1 day'--->
)) dt_next
FROM line
WHERE probability_pc > 0
) t
WHERE t.dt_from = t.running_min_dt
AND (
t.dt_to > CURRENT_TIMESTAMP
OR t.dt_to IS NULL
)
<!--- AND (t.dt_to > <cfqueryparam cfsqltype="cf_sql_timestamp" value=#dt_report#/> OR t.dt_to IS NULL) --->
)
,line_expanded
AS (
@@ -103,8 +102,8 @@ AS (
,unnest(line.params) AS param_id
FROM line
)
,alloc
AS (
-----------------------------
,alloc AS (
SELECT c."WZ" AS wz
,round(sum(c."VM_RAM_Allocated")) AS ram
,round(sum(CASE WHEN "VM_is_ON" > 0 THEN c."VM_RAM_Allocated" ELSE 0 END)) AS ram_on
@@ -117,8 +116,7 @@ AS (
)
GROUP BY c."WZ"
)
,disk_alloc
AS (
,disk_alloc AS (
SELECT c."WZ" AS wz
,round(sum(c."Disk_Allocated")) AS disk_alloc
FROM vmreports.storage c
@@ -128,8 +126,8 @@ AS (
)
GROUP BY c."WZ"
)
,sold_ram
AS (
-----------------------------
,sold_ram AS (
SELECT z.id_klienta AS WZ
,z.__name AS client
,z.__id AS company_uid
@@ -141,20 +139,18 @@ AS (
--LEFT JOIN component c on (c.__id = ANY (o.params))
LEFT JOIN line_expanded e ON o.siv_uid = e.siv_uid
LEFT JOIN component c ON c.__id = e.param_id
WHERE
WHERE o.dt_from <= <cfqueryparam cfsqltype="cf_sql_timestamp" value=#dt_report#/>
AND (<cfqueryparam cfsqltype="cf_sql_timestamp" value=#dt_report#/> < o.dt_next)
--c.code SIMILAR TO 'iaas.(ngc|dcp).%.ram-_'
(
c.code LIKE 'iaas.ngc.%.ram-_'
OR c.code LIKE 'iaas.dcp.%.ram-_'
)
AND (c.code LIKE 'iaas.ngc.%.ram-_' OR c.code LIKE 'iaas.dcp.%.ram-_')
AND c.cnt <> 0
AND o.cnt <> 0
GROUP BY z.id_klienta
,z.__id
,z.__name
)
,sold_cpu
AS (
------------------------------
,sold_cpu AS (
SELECT z.id_klienta AS WZ
,z.__name AS client
,z.__id AS company_uid
@@ -163,13 +159,12 @@ AS (
,STRING_AGG(DISTINCT c.code, ', ' ORDER BY c.code) AS codes
FROM stair o
JOIN elma.companies z ON (o._companies = z.__id)
--LEFT JOIN component c ON c.__id = o.param_id
--LEFT JOIN component c on (c.__id = ANY (o.params))
LEFT JOIN line_expanded e ON o.siv_uid = e.siv_uid
LEFT JOIN component c ON c.__id = e.param_id
WHERE
LEFT JOIN component c ON (c.__id = e.param_id)
WHERE o.dt_from <= <cfqueryparam cfsqltype="cf_sql_timestamp" value=#dt_report#/>
AND (<cfqueryparam cfsqltype="cf_sql_timestamp" value=#dt_report#/> < o.dt_next)
--c.code SIMILAR TO 'iaas.(ngc|dcp).%.vcpu%-_'
(
AND (
c.code LIKE 'iaas.ngc.%.vcpu%-_'
OR c.code LIKE 'iaas.dcp.%.vcpu%-_'
)
@@ -179,8 +174,8 @@ AS (
,z.__id
,z.__name
)
,sold_disk
AS (
---------------------------------
,sold_disk AS (
SELECT z.id_klienta AS WZ
,z.__name AS client
,z.__id AS company_uid
@@ -193,9 +188,10 @@ AS (
--LEFT JOIN component c on (c.__id = ANY (o.params))
LEFT JOIN line_expanded e ON o.siv_uid = e.siv_uid
LEFT JOIN component c ON c.__id = e.param_id
WHERE
WHERE o.dt_from <= <cfqueryparam cfsqltype="cf_sql_timestamp" value=#dt_report#/>
AND (<cfqueryparam cfsqltype="cf_sql_timestamp" value=#dt_report#/> < o.dt_next)
--c.code SIMILAR TO 'iaas.(ngc|dcp).%.(ssd|fstssd|sata)-_'
(
AND (
c.code LIKE 'iaas.ngc.%.ssd-_'
OR c.code LIKE 'iaas.dcp.%.ssd-_'
OR c.code LIKE 'iaas.ngc.%.fstssd-_'
@@ -209,8 +205,8 @@ AS (
,z.__id
,z.__name
)
,sold_gpu
AS (
--------------------------------
,sold_gpu AS (
SELECT z.id_klienta AS WZ
,z.__name AS client
,z.__id AS company_uid
@@ -223,9 +219,10 @@ AS (
--LEFT JOIN component c on (c.__id = ANY (o.params))
LEFT JOIN line_expanded e ON o.siv_uid = e.siv_uid
LEFT JOIN component c ON c.__id = e.param_id
WHERE
WHERE o.dt_from <= <cfqueryparam cfsqltype="cf_sql_timestamp" value=#dt_report#/>
AND (<cfqueryparam cfsqltype="cf_sql_timestamp" value=#dt_report#/> < o.dt_next)
--c.code SIMILAR TO 'iaas.(ngc|dcp).%.vcpu%-_'
(
AND (
c.code LIKE 'iaas.ngc.%.gpu%-_'
OR c.code LIKE 'iaas.dcp.%.gpu%-_'
)
@@ -235,8 +232,8 @@ AS (
,z.__id
,z.__name
)
,gpu_alloc
AS (
-------------------------------
,gpu_alloc AS (
SELECT c."ClientID" AS wz
,
-- json_agg("GPU") as gpu,
@@ -249,8 +246,8 @@ AS (
)
GROUP BY c."ClientID"
)
,deal_stat
AS (
--------------------------------
,deal_stat AS (
SELECT STRING_AGG(DISTINCT deal_status_id::TEXT, ', ' ORDER BY deal_status_id::TEXT) AS status_ids
,ARRAY_AGG(DISTINCT deal_status_id ORDER BY deal_status_id) AS ar_status_ids
,STRING_AGG(DISTINCT line_pricing_model_id::TEXT, ', ' ORDER BY line_pricing_model_id::TEXT) AS line_pricing_model_ids
@@ -260,8 +257,8 @@ AS (
--LEFT JOIN LATERAL unnest(d.params) AS arr(param_id) ON TRUE
--JOIN component p ON (p.__id = arr.param_id)
JOIN elma.companies z ON (d._companies = z.__id)
WHERE d.dt_from <= CURRENT_TIMESTAMP
AND (CURRENT_TIMESTAMP < d.dt_next)
WHERE d.dt_from <= <cfqueryparam cfsqltype="cf_sql_timestamp" value=#dt_report#/>
AND (<cfqueryparam cfsqltype="cf_sql_timestamp" value=#dt_report#/> < d.dt_next)
GROUP BY z.id_klienta
)
select