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 ---> <!--- global settings --->
<cfset request.RECORDS_PER_PAGE=500/> <cfset request.RECORDS_PER_PAGE=500/>
<cfset request.APP_VERSION="0.00.046"/> <cfset request.APP_VERSION="0.00.047"/>
<cfset request.STAND=getStand()/> <cfset request.STAND=getStand()/>
<cflock scope="application" type="readonly" timeout=3> <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), ('Закрыта неуспешно',7,0),('Закрыта успешно',6,100),('Договор подписан',5,100),('Договор на подписании',15,90),('Договор на согласовании',12,70),
('Тестирование',8,50),('Отправлено ТКП',10,20),('Внутреннее согласование',37,10),('Проработка решения',4,10),('Сбор потребностей',1,0) ('Тестирование',8,50),('Отправлено ТКП',10,20),('Внутреннее согласование',37,10),('Проработка решения',4,10),('Сбор потребностей',1,0)
) )
,line_expanded ,line
AS ( AS (
SELECT siv.__id AS siv_uid SELECT siv.__id AS siv_uid
,siv.discount ,siv.discount
@@ -186,7 +186,7 @@
), ( ), (
SELECT CURRENT_TIMESTAMP + INTERVAL '1 day' SELECT CURRENT_TIMESTAMP + INTERVAL '1 day'
)) dt_next )) dt_next
FROM line_expanded FROM line
WHERE probability_pc > 0 WHERE probability_pc > 0
) t ) t
WHERE t.dt_from = t.running_min_dt 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"/> <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)#> <cfquery name="qRead" cachedWithin=#createTimeSpan(0, 0, 25, 0)#>
WITH WITH
@@ -25,8 +26,8 @@ WITH
('Проработка решения',4,10) , ('Проработка решения',4,10) ,
('Сбор потребностей',1,0) ('Сбор потребностей',1,0)
) )
,line -----------------------------
AS ( ,line AS (
SELECT siv.__id AS siv_uid SELECT siv.__id AS siv_uid
,siv.discount ,siv.discount
,siv.type AS line_pricing_model_id ,siv.type AS line_pricing_model_id
@@ -61,8 +62,8 @@ AS (
--and a.is_actual --and a.is_actual
AND siv.type IN (2, 3) AND siv.type IN (2, 3)
) )
,component -----------------------------
AS ( ,component AS (
SELECT SELECT
-- price*cnt*(100.0-COALESCE(discount,0))/100.0 as cost , -- price*cnt*(100.0-COALESCE(discount,0))/100.0 as cost ,
-- price , -- price ,
@@ -72,8 +73,8 @@ AS (
FROM elma.service_parametrs FROM elma.service_parametrs
WHERE "__deletedAt" IS NULL WHERE "__deletedAt" IS NULL
) )
,stair ------------------------------
AS ( ,stair AS (
SELECT * SELECT *
FROM ( FROM (
SELECT * SELECT *
@@ -86,16 +87,14 @@ AS (
,deal_index ,deal_index
) )
), ( ), (
SELECT CURRENT_TIMESTAMP + INTERVAL '1 day' <cfqueryparam cfsqltype="cf_sql_timestamp" value=#dt_report+1#/>
<!--- CURRENT_TIMESTAMP + INTERVAL '1 day'--->
)) dt_next )) dt_next
FROM line FROM line
WHERE probability_pc > 0 WHERE probability_pc > 0
) t ) t
WHERE t.dt_from = t.running_min_dt WHERE t.dt_from = t.running_min_dt
AND ( <!--- AND (t.dt_to > <cfqueryparam cfsqltype="cf_sql_timestamp" value=#dt_report#/> OR t.dt_to IS NULL) --->
t.dt_to > CURRENT_TIMESTAMP
OR t.dt_to IS NULL
)
) )
,line_expanded ,line_expanded
AS ( AS (
@@ -103,8 +102,8 @@ AS (
,unnest(line.params) AS param_id ,unnest(line.params) AS param_id
FROM line FROM line
) )
,alloc -----------------------------
AS ( ,alloc AS (
SELECT c."WZ" AS wz SELECT c."WZ" AS wz
,round(sum(c."VM_RAM_Allocated")) AS ram ,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 ,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" GROUP BY c."WZ"
) )
,disk_alloc ,disk_alloc AS (
AS (
SELECT c."WZ" AS wz SELECT c."WZ" AS wz
,round(sum(c."Disk_Allocated")) AS disk_alloc ,round(sum(c."Disk_Allocated")) AS disk_alloc
FROM vmreports.storage c FROM vmreports.storage c
@@ -128,8 +126,8 @@ AS (
) )
GROUP BY c."WZ" GROUP BY c."WZ"
) )
,sold_ram -----------------------------
AS ( ,sold_ram AS (
SELECT z.id_klienta AS WZ SELECT z.id_klienta AS WZ
,z.__name AS client ,z.__name AS client
,z.__id AS company_uid ,z.__id AS company_uid
@@ -141,20 +139,18 @@ AS (
--LEFT JOIN component c on (c.__id = ANY (o.params)) --LEFT JOIN component c on (c.__id = ANY (o.params))
LEFT JOIN line_expanded e ON o.siv_uid = e.siv_uid LEFT JOIN line_expanded e ON o.siv_uid = e.siv_uid
LEFT JOIN component c ON c.__id = e.param_id 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 SIMILAR TO 'iaas.(ngc|dcp).%.ram-_'
( AND (c.code LIKE 'iaas.ngc.%.ram-_' OR c.code LIKE 'iaas.dcp.%.ram-_')
c.code LIKE 'iaas.ngc.%.ram-_'
OR c.code LIKE 'iaas.dcp.%.ram-_'
)
AND c.cnt <> 0 AND c.cnt <> 0
AND o.cnt <> 0 AND o.cnt <> 0
GROUP BY z.id_klienta GROUP BY z.id_klienta
,z.__id ,z.__id
,z.__name ,z.__name
) )
,sold_cpu ------------------------------
AS ( ,sold_cpu AS (
SELECT z.id_klienta AS WZ SELECT z.id_klienta AS WZ
,z.__name AS client ,z.__name AS client
,z.__id AS company_uid ,z.__id AS company_uid
@@ -163,13 +159,12 @@ AS (
,STRING_AGG(DISTINCT c.code, ', ' ORDER BY c.code) AS codes ,STRING_AGG(DISTINCT c.code, ', ' ORDER BY c.code) AS codes
FROM stair o FROM stair o
JOIN elma.companies z ON (o._companies = z.__id) 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 line_expanded e ON o.siv_uid = e.siv_uid
LEFT JOIN component c ON c.__id = e.param_id 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%-_' --c.code SIMILAR TO 'iaas.(ngc|dcp).%.vcpu%-_'
( AND (
c.code LIKE 'iaas.ngc.%.vcpu%-_' c.code LIKE 'iaas.ngc.%.vcpu%-_'
OR c.code LIKE 'iaas.dcp.%.vcpu%-_' OR c.code LIKE 'iaas.dcp.%.vcpu%-_'
) )
@@ -179,8 +174,8 @@ AS (
,z.__id ,z.__id
,z.__name ,z.__name
) )
,sold_disk ---------------------------------
AS ( ,sold_disk AS (
SELECT z.id_klienta AS WZ SELECT z.id_klienta AS WZ
,z.__name AS client ,z.__name AS client
,z.__id AS company_uid ,z.__id AS company_uid
@@ -193,9 +188,10 @@ AS (
--LEFT JOIN component c on (c.__id = ANY (o.params)) --LEFT JOIN component c on (c.__id = ANY (o.params))
LEFT JOIN line_expanded e ON o.siv_uid = e.siv_uid LEFT JOIN line_expanded e ON o.siv_uid = e.siv_uid
LEFT JOIN component c ON c.__id = e.param_id 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)-_' --c.code SIMILAR TO 'iaas.(ngc|dcp).%.(ssd|fstssd|sata)-_'
( AND (
c.code LIKE 'iaas.ngc.%.ssd-_' c.code LIKE 'iaas.ngc.%.ssd-_'
OR c.code LIKE 'iaas.dcp.%.ssd-_' OR c.code LIKE 'iaas.dcp.%.ssd-_'
OR c.code LIKE 'iaas.ngc.%.fstssd-_' OR c.code LIKE 'iaas.ngc.%.fstssd-_'
@@ -209,8 +205,8 @@ AS (
,z.__id ,z.__id
,z.__name ,z.__name
) )
,sold_gpu --------------------------------
AS ( ,sold_gpu AS (
SELECT z.id_klienta AS WZ SELECT z.id_klienta AS WZ
,z.__name AS client ,z.__name AS client
,z.__id AS company_uid ,z.__id AS company_uid
@@ -223,9 +219,10 @@ AS (
--LEFT JOIN component c on (c.__id = ANY (o.params)) --LEFT JOIN component c on (c.__id = ANY (o.params))
LEFT JOIN line_expanded e ON o.siv_uid = e.siv_uid LEFT JOIN line_expanded e ON o.siv_uid = e.siv_uid
LEFT JOIN component c ON c.__id = e.param_id 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%-_' --c.code SIMILAR TO 'iaas.(ngc|dcp).%.vcpu%-_'
( AND (
c.code LIKE 'iaas.ngc.%.gpu%-_' c.code LIKE 'iaas.ngc.%.gpu%-_'
OR c.code LIKE 'iaas.dcp.%.gpu%-_' OR c.code LIKE 'iaas.dcp.%.gpu%-_'
) )
@@ -235,8 +232,8 @@ AS (
,z.__id ,z.__id
,z.__name ,z.__name
) )
,gpu_alloc -------------------------------
AS ( ,gpu_alloc AS (
SELECT c."ClientID" AS wz SELECT c."ClientID" AS wz
, ,
-- json_agg("GPU") as gpu, -- json_agg("GPU") as gpu,
@@ -249,8 +246,8 @@ AS (
) )
GROUP BY c."ClientID" 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 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 ,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 ,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 --LEFT JOIN LATERAL unnest(d.params) AS arr(param_id) ON TRUE
--JOIN component p ON (p.__id = arr.param_id) --JOIN component p ON (p.__id = arr.param_id)
JOIN elma.companies z ON (d._companies = z.__id) JOIN elma.companies z ON (d._companies = z.__id)
WHERE d.dt_from <= CURRENT_TIMESTAMP WHERE d.dt_from <= <cfqueryparam cfsqltype="cf_sql_timestamp" value=#dt_report#/>
AND (CURRENT_TIMESTAMP < d.dt_next) AND (<cfqueryparam cfsqltype="cf_sql_timestamp" value=#dt_report#/> < d.dt_next)
GROUP BY z.id_klienta GROUP BY z.id_klienta
) )
select select