049 author display for instances, operations, cfs params

This commit is contained in:
msyu
2025-02-06 14:15:51 +03:00
parent 2a9119925e
commit b2e7334f55
5 changed files with 47 additions and 27 deletions
+4
View File
@@ -33,6 +33,9 @@
<m:field>i.price</m:field><!--- *** не цена, а скидка (Считая ссылку на базовый тариф атрибутом сервиса) ---> <m:field>i.price</m:field><!--- *** не цена, а скидка (Считая ссылку на базовый тариф атрибутом сервиса) --->
<m:field>v.svc</m:field> <m:field>v.svc</m:field>
<m:field>v.code</m:field> <m:field>v.code</m:field>
<m:field>e.updater_id</m:field>
<m:field>u.login as updater_login</m:field>
<m:field>u.shortname as updater_shortname</m:field>
</m:field_set> </m:field_set>
from instance e from instance e
left outer join specification_item i on (e.specification_item_id=i.specification_item_id) left outer join specification_item i on (e.specification_item_id=i.specification_item_id)
@@ -40,6 +43,7 @@
left outer join contract d on (s.contract_id=d.contract_id) left outer join contract d on (s.contract_id=d.contract_id)
left outer join contragent k on (d.contragent_id=k.contragent_id) left outer join contragent k on (d.contragent_id=k.contragent_id)
left outer join svc v on (e.service_id=v.svc_id) left outer join svc v on (e.service_id=v.svc_id)
left outer join usr u on (e.updater_id=u.usr_id)
where e.instance_uid=<cfqueryparam cfsqltype="cf_sql_other" value="#arguments.instanceUid#" null=#!isValid('guid',arguments.instanceUid)#/> where e.instance_uid=<cfqueryparam cfsqltype="cf_sql_other" value="#arguments.instanceUid#" null=#!isValid('guid',arguments.instanceUid)#/>
AND s.specification_id=<cfqueryparam cfsqltype="cf_sql_integer" value=#arguments.specificationId#/><!--- access protection ---> AND s.specification_id=<cfqueryparam cfsqltype="cf_sql_integer" value=#arguments.specificationId#/><!--- access protection --->
</cfquery> <!--- *** правильнее при попытке доступа к чужому инстансу (НСД) выбрасывать 403, а тут будет 404 ---> </cfquery> <!--- *** правильнее при попытке доступа к чужому инстансу (НСД) выбрасывать 403, а тут будет 404 --->
+4
View File
@@ -96,6 +96,9 @@
<m:field>i.price</m:field> <m:field>i.price</m:field>
<m:field>v.svc</m:field> <m:field>v.svc</m:field>
<m:field>v.code</m:field> <m:field>v.code</m:field>
<m:field>e.updater_id</m:field>
<m:field>u.login as updater_login</m:field>
<m:field>u.shortname as updater_shortname</m:field>
<!--- <m:field>(select operation from instance_state st join instance_operation io on (st.instance_operation_uid=io.instance_operation_uid) where st.instance_uid=e.instance_uid order by version desc limit 1) as operation</m:field> <!--- <m:field>(select operation from instance_state st join instance_operation io on (st.instance_operation_uid=io.instance_operation_uid) where st.instance_uid=e.instance_uid order by version desc limit 1) as operation</m:field>
<m:field>(select instance_operation_uid::text from instance_state st where st.instance_uid=e.instance_uid order by version desc limit 1) as instance_operation_uid</m:field> ---> <m:field>(select instance_operation_uid::text from instance_state st where st.instance_uid=e.instance_uid order by version desc limit 1) as instance_operation_uid</m:field> --->
@@ -139,6 +142,7 @@
join contract d on (s.contract_id=d.contract_id) join contract d on (s.contract_id=d.contract_id)
join contragent k on (d.contragent_id=k.contragent_id) join contragent k on (d.contragent_id=k.contragent_id)
join svc v on (e.service_id=v.svc_id) join svc v on (e.service_id=v.svc_id)
left outer join usr u on (e.updater_id=u.usr_id)
where s.specification_id=<cfqueryparam cfsqltype="cf_sql_integer" value=#arguments.specificationId#/><!--- *** make project entity ---> where s.specification_id=<cfqueryparam cfsqltype="cf_sql_integer" value=#arguments.specificationId#/><!--- *** make project entity --->
<!--- u.usr_id=<cfqueryparam cfsqltype="cf_sql_integer" value=#arguments.usrId#/> ---> <!--- u.usr_id=<cfqueryparam cfsqltype="cf_sql_integer" value=#arguments.usrId#/> --->
+17 -12
View File
@@ -20,21 +20,25 @@
<cfquery name="local.qInstanceOperation" result="local.result"> <cfquery name="local.qInstanceOperation" result="local.result">
select select
<m:field_set titleMapOut="local.titleMap" lengthOut="local.fieldCount"> <m:field_set titleMapOut="local.titleMap" lengthOut="local.fieldCount">
<m:field title="instance Operation Uid">o.instance_operation_uid::text as instance_operation_uid</m:field> <m:field>o.instance_operation_uid::text as instance_operation_uid</m:field>
<m:field title="operation">o.operation</m:field> <m:field>o.operation</m:field>
<m:field title="instance_uid">o.instance_uid::text as instance_uid</m:field> <m:field>o.instance_uid::text as instance_uid</m:field>
<m:field title="Отправка">to_char(o.dt_submit, 'YYYY-MM-DD"T"HH24:MI:SS.FF3TZHTZM') as dt_submit</m:field> <m:field>to_char(o.dt_submit, 'YYYY-MM-DD"T"HH24:MI:SS.FF3TZHTZM') as dt_submit</m:field>
<m:field title="Рез.">o.submit_result</m:field> <m:field>o.submit_result</m:field>
<m:field>o.error_log</m:field> <m:field>o.error_log</m:field>
<m:field title="Начало">to_char(o.dt_start, 'YYYY-MM-DD"T"HH24:MI:SS.FF3TZHTZM') as dt_start</m:field> <m:field>to_char(o.dt_start, 'YYYY-MM-DD"T"HH24:MI:SS.FF3TZHTZM') as dt_start</m:field>
<m:field title="Завершение">to_char(o.dt_finish, 'YYYY-MM-DD"T"HH24:MI:SS.FF3TZHTZM') as dt_finish</m:field> <m:field>to_char(o.dt_finish, 'YYYY-MM-DD"T"HH24:MI:SS.FF3TZHTZM') as dt_finish</m:field>
<m:field title="Длит. сек">extract('epoch' from coalesce(o.dt_finish,CURRENT_TIMESTAMP)- o.dt_start) as duration</m:field> <m:field title="Длит. сек">extract('epoch' from coalesce(o.dt_finish,CURRENT_TIMESTAMP)- o.dt_start) as duration</m:field>
<m:field formatter=#request.castToBool#>o.is_successful</m:field> <m:field formatter=#request.castToBool#>o.is_successful</m:field>
<m:field title="Экземпляр">e.display_name</m:field> <m:field>e.display_name</m:field>
<m:field title="service_id">e.service_id</m:field> <m:field>e.service_id</m:field>
<m:field title="specification_item_id">e.specification_item_id</m:field> <m:field>e.specification_item_id</m:field>
<m:field title="dt_created">to_char(o.dt_created, 'YYYY-MM-DD"T"HH24:MI:SS.FF3TZHTZM') as dt_created</m:field> <m:field>to_char(o.dt_created, 'YYYY-MM-DD"T"HH24:MI:SS.FF3TZHTZM') as dt_created</m:field>
<m:field title="Услуга">v.svc</m:field> <m:field>to_char(o.dt_updated, 'YYYY-MM-DD"T"HH24:MI:SS.FF3TZHTZM') as dt_updated</m:field>
<m:field>o.updater_id</m:field>
<m:field>u.login as updater_login</m:field>
<m:field>u.shortname as updater_shortname</m:field>
<m:field>v.svc</m:field>
<m:field>so.svc_operation_id</m:field> <m:field>so.svc_operation_id</m:field>
</m:field_set> </m:field_set>
from instance_operation o from instance_operation o
@@ -45,6 +49,7 @@
join contragent k on (d.contragent_id=k.contragent_id) join contragent k on (d.contragent_id=k.contragent_id)
join svc v on (e.service_id=v.svc_id) join svc v on (e.service_id=v.svc_id)
join svc_operation so on (v.svc_id=so.svc_id AND o.operation=so.operation) join svc_operation so on (v.svc_id=so.svc_id AND o.operation=so.operation)
left outer join usr u on (o.updater_id=u.usr_id)
where <!--- u.usr_id=<cfqueryparam cfsqltype="cf_sql_integer" value=#arguments.usrId#/> AND---> where <!--- u.usr_id=<cfqueryparam cfsqltype="cf_sql_integer" value=#arguments.usrId#/> AND--->
o.instance_operation_uid=<cfqueryparam cfsqltype="cf_sql_other" value="#arguments.instanceOperationUid#" null=#!isValid('guid',arguments.instanceOperationUid)#/> o.instance_operation_uid=<cfqueryparam cfsqltype="cf_sql_other" value="#arguments.instanceOperationUid#" null=#!isValid('guid',arguments.instanceOperationUid)#/>
AND s.specification_id=<cfqueryparam cfsqltype="cf_sql_integer" value=#arguments.specificationId#/> AND s.specification_id=<cfqueryparam cfsqltype="cf_sql_integer" value=#arguments.specificationId#/>
+11 -8
View File
@@ -23,20 +23,23 @@
<cfquery name="local.qRead" result="local.result"> <cfquery name="local.qRead" result="local.result">
select select
<m:field_set titleMapOut="local.titleMap" lengthOut="fieldCount"> <m:field_set titleMapOut="local.titleMap" lengthOut="fieldCount">
<m:field title="instance_operation_cfs_param_uid">iop.instance_operation_cfs_param_uid::text as instance_operation_cfs_param_uid</m:field> <m:field>iop.instance_operation_cfs_param_uid::text as instance_operation_cfs_param_uid</m:field>
<m:field title="instance_operation_uid">iop.instance_operation_uid::text as instance_operation_uid</m:field> <m:field>iop.instance_operation_uid::text as instance_operation_uid</m:field>
<m:field title="svc_operation_cfs_param_id">iop.svc_operation_cfs_param_id</m:field> <m:field>iop.svc_operation_cfs_param_id</m:field>
<m:field title="param_value">iop.param_value</m:field> <m:field>iop.param_value</m:field>
<m:field title="descr">iop.note</m:field> <m:field>iop.note</m:field>
<m:field title="dt_created">to_char(iop.dt_created, 'YYYY-MM-DD"T"HH24:MI:SS.FF3TZHTZM') as dt_created</m:field> <m:field>to_char(iop.dt_created, 'YYYY-MM-DD"T"HH24:MI:SS.FF3TZHTZM') as dt_created</m:field>
<m:field title="creator_id">iop.creator_id</m:field> <m:field>iop.creator_id</m:field>
<m:field title="svc_operation_cfs_param">sop.svc_operation_cfs_param</m:field> <m:field>sop.svc_operation_cfs_param</m:field>
<m:field>u.login as creator_login</m:field>
<m:field>u.shortname as creator_shortname</m:field>
</m:field_set> </m:field_set>
from instance_operation_cfs_param iop from instance_operation_cfs_param iop
join svc_operation_cfs_param sop on (iop.svc_operation_cfs_param_id=sop.svc_operation_cfs_param_id) join svc_operation_cfs_param sop on (iop.svc_operation_cfs_param_id=sop.svc_operation_cfs_param_id)
join instance_operation io on (iop.instance_operation_uid=io.instance_operation_uid) join instance_operation io on (iop.instance_operation_uid=io.instance_operation_uid)
join instance e on (io.instance_uid=e.instance_uid) join instance e on (io.instance_uid=e.instance_uid)
join specification_item si on (e.specification_item_id=si.specification_item_id) join specification_item si on (e.specification_item_id=si.specification_item_id)
left outer join usr u on (iop.creator_id=u.usr_id)
where iop.instance_operation_cfs_param_uid=<cfqueryparam cfsqltype="cf_sql_other" value="#arguments.instanceOperationCfsParamUid#" null=#!isValid('guid',arguments.instanceOperationCfsParamUid)#/> where iop.instance_operation_cfs_param_uid=<cfqueryparam cfsqltype="cf_sql_other" value="#arguments.instanceOperationCfsParamUid#" null=#!isValid('guid',arguments.instanceOperationCfsParamUid)#/>
AND si.specification_id=<cfqueryparam cfsqltype="cf_sql_integer" value=#arguments.specificationId#/> AND si.specification_id=<cfqueryparam cfsqltype="cf_sql_integer" value=#arguments.specificationId#/>
</cfquery> </cfquery>
@@ -12,9 +12,10 @@
<!---спецификация полей, пригодных для фильтрации ---> <!---спецификация полей, пригодных для фильтрации --->
<cfset this.fieldsSpec={ <cfset this.fieldsSpec={
dt_created={prefix="e", type="date"}<!--- , dt_created={prefix="iop", type="date"},
dt_updated={prefix="e", type="date"}, svc_operation_cfs_param={prefix="sop", type="string"}
display_name={prefix="e", type="string"}, <!--- ,
dt_updated={prefix="e", type="date"},
service_id={prefix="e", type="integer"}, service_id={prefix="e", type="integer"},
svc={prefix="v", type="string"}, svc={prefix="v", type="string"},
is_test={prefix="e", type="boolean"} ---> is_test={prefix="e", type="boolean"} --->
@@ -57,16 +58,19 @@
<m:field title="instance_operation_uid">iop.instance_operation_uid::text as instance_operation_uid</m:field> <m:field title="instance_operation_uid">iop.instance_operation_uid::text as instance_operation_uid</m:field>
<m:field title="svc_operation_cfs_param_id">iop.svc_operation_cfs_param_id</m:field> <m:field title="svc_operation_cfs_param_id">iop.svc_operation_cfs_param_id</m:field>
<m:field title="param_value">iop.param_value</m:field> <m:field title="param_value">iop.param_value</m:field>
<m:field title="note">iop.note</m:field> <m:field>iop.note</m:field>
<m:field title="dt_created">to_char(iop.dt_created, 'YYYY-MM-DD"T"HH24:MI:SS.FF3TZHTZM') as dt_created</m:field> <m:field>to_char(iop.dt_created, 'YYYY-MM-DD"T"HH24:MI:SS.FF3TZHTZM') as dt_created</m:field>
<m:field title="creator_id">iop.creator_id</m:field> <m:field>iop.creator_id</m:field>
<m:field title="svc_operation_cfs_param">sop.svc_operation_cfs_param</m:field> <m:field>u.login as creator_login</m:field>
<m:field>u.shortname as creator_shortname</m:field>
<m:field>sop.svc_operation_cfs_param</m:field>
</m:field_set> </m:field_set>
from instance_operation_cfs_param iop from instance_operation_cfs_param iop
join instance_operation io on (iop.instance_operation_uid=io.instance_operation_uid) join instance_operation io on (iop.instance_operation_uid=io.instance_operation_uid)
join instance e on (io.instance_uid=e.instance_uid) join instance e on (io.instance_uid=e.instance_uid)
join specification_item si on (e.specification_item_id=si.specification_item_id) join specification_item si on (e.specification_item_id=si.specification_item_id)
join svc_operation_cfs_param sop on (iop.svc_operation_cfs_param_id=sop.svc_operation_cfs_param_id) join svc_operation_cfs_param sop on (iop.svc_operation_cfs_param_id=sop.svc_operation_cfs_param_id)
left outer join usr u on (iop.creator_id=u.usr_id)
where iop.instance_operation_uid=<cfqueryparam cfsqltype="cf_sql_other" value="#arguments.instanceOperationUid#" null=#!isValid('guid',arguments.instanceOperationUid)#/> where iop.instance_operation_uid=<cfqueryparam cfsqltype="cf_sql_other" value="#arguments.instanceOperationUid#" null=#!isValid('guid',arguments.instanceOperationUid)#/>
AND si.specification_id=<cfqueryparam cfsqltype="cf_sql_integer" value=#arguments.specificationId#/> AND si.specification_id=<cfqueryparam cfsqltype="cf_sql_integer" value=#arguments.specificationId#/>
<m:filter_build filter=#filter#/> <m:filter_build filter=#filter#/>