030 s3vol critical fix

This commit is contained in:
2026-07-30 16:02:05 +03:00
parent 0985d285b9
commit 5401b7e96d
2 changed files with 7 additions and 6 deletions
+1 -1
View File
@@ -94,7 +94,7 @@
<!--- global settings ---> <!--- global settings --->
<cfset request.RECORDS_PER_PAGE=500/> <cfset request.RECORDS_PER_PAGE=500/>
<cfset request.APP_VERSION="0.00.029"/> <cfset request.APP_VERSION="0.00.030"/>
<cfheader name="X-Application-Version" value=#request.APP_VERSION#/> <cfheader name="X-Application-Version" value=#request.APP_VERSION#/>
<cfset request.STAND=getStand()/> <cfset request.STAND=getStand()/>
+6 -5
View File
@@ -10,7 +10,7 @@
<cfset hours=dateDiff('h', ATTRIBUTES.dt_start, ATTRIBUTES.dt_finish)/> <!--- *** нужно для каждого фрагмента ---> <cfset hours=dateDiff('h', ATTRIBUTES.dt_start, dateAdd("d",1,ATTRIBUTES.dt_finish))/> <!--- *** нужно для каждого фрагмента --->
<cfif hours LE 0> <cfif hours LE 0>
<cfthrow message="Некорректный период" detail="Период должен быть больше 0"/> <cfthrow message="Некорректный период" detail="Период должен быть больше 0"/>
</cfif> </cfif>
@@ -189,8 +189,8 @@ from a
ELSE '.['|| storage_profile_types.name ||']' END ELSE '.['|| storage_profile_types.name ||']' END
as code, as code,
storage_profile_types.name, -- *** это не тип, а профайл storage_profile_types.name, -- *** это не тип, а профайл
sum("limit")/1024./4./720. as gb_m_limit, -- 4 потому, что сбор раз в 15 минут, а цена за УСЛОВНЫЙ ГБ-месяц (720 ГБ-часов) sum("limit")/1024./4./720 as gb_m_limit,
sum(used)/1024./4./720. as gb_m_used, sum(used)/1024./4./720 as gb_m_used,
capacity_storage.timestamp::date as dt, capacity_storage.timestamp::date as dt,
vdc.name as dimension_1, vdc.name as dimension_1,
storage_profile_types.name as dimension_2 storage_profile_types.name as dimension_2
@@ -220,8 +220,9 @@ from a
<!--- надо дисконтировать не ГБ-часы а ГБ-месяцы ---> <!--- надо дисконтировать не ГБ-часы а ГБ-месяцы --->
<cfquery name="qS3Vol"> <cfquery name="qS3Vol">
select /* *** ниже дублирование кода агрегации - round ceil etc, обратить внимание при правке */ select /* *** ниже дублирование кода агрегации - round ceil etc, обратить внимание при правке */
(sum(bucket_stat.usage_rgw_main_size_actual)/<cfqueryparam cfsqltype="cf_sql_integer" value=#hours#/>) as vol_B /* *** переделать на avg - сначала агрегировать по бакетам*/
,ceil(sum(bucket_stat.usage_rgw_main_size_actual)/<cfqueryparam cfsqltype="cf_sql_integer" value=#hours#/>/1024/1024/1024) as vol_GB (sum(bucket_stat.usage_rgw_main_size_actual)/720) as vol_B
,ceil(sum(bucket_stat.usage_rgw_main_size_actual)/720/1024/1024/1024) as vol_GB
<!--- ,greatest(ceil(sum(bucket_stat.usage_rgw_main_size_actual)/<cfqueryparam cfsqltype="cf_sql_integer" value=#hours#/> <!--- ,greatest(ceil(sum(bucket_stat.usage_rgw_main_size_actual)/<cfqueryparam cfsqltype="cf_sql_integer" value=#hours#/>
/1024/1024/1024)- /1024/1024/1024)-
case when bucket_stat.placement_id = 1 then 1 else 0 end, 0) as vol_GB_free_tier_subtracted /*считается не в точности так, как в функции*/ ---> case when bucket_stat.placement_id = 1 then 1 else 0 end, 0) as vol_GB_free_tier_subtracted /*считается не в точности так, как в функции*/ --->