139 dependencies 2 way

This commit is contained in:
msyu
2025-09-08 21:52:46 +03:00
parent 8f072bb610
commit 68bf3f9056
2 changed files with 82 additions and 5 deletions
+1 -1
View File
@@ -51,7 +51,7 @@
//variables.framework.docs={};
variables.framework.docs.APIName="svc-api";
variables.framework.docs.APIVersion="0.138"; /*dependencies*/ /*$ git config --global --unset user.password*/
variables.framework.docs.APIVersion="0.139"; /*dependencies*/ /*$ git config --global --unset user.password*/
variables.framework.globalHeaders = structNew();
variables.framework.globalHeaders["Access-Control-Expose-Headers"] = "Location";
+81 -4
View File
@@ -189,7 +189,7 @@
--->
<!--- видимо, достаточно нам параметров операции create... но можно и все параметры перебрать --->
<cfquery name="local.qCfsParamRef" result="local.result">
<!--- <cfquery name="local.qCfsParamRef" result="local.result">
select
p.svc_operation_cfs_param
,p.label
@@ -236,8 +236,76 @@
</cfif>
</cfif>
</cfloop>
<cfcatch type="ANY"><!--- *** <cfrethrow/>---></cfcatch>
</cftry>
<cfcatch type="ANY"></cfcatch>
</cftry> --->
<cfquery name="local.qDependency">
select
<m:field_set titleMapOut="local.dependencyTitleMap" lengthOut="local.fieldCount">
<m:field>p.param</m:field>
<m:field>sop.descr</m:field>
<m:field>s.svc_id</m:field>
<m:field>s.svc</m:field>
<m:field>s.code</m:field>
<m:field>sop.label</m:field>
<m:field>p.param_value as uid</m:field>
<m:field>e.display_name</m:field>
<m:field>e.is_auxiliary</m:field>
<m:field>c.contract_id</m:field>
<m:field>c.contract</m:field>
<m:field>to_char(c.dt_contract, 'YYYY-MM-DD"T"HH24:MI:SS.FF3TZHTZM') as dt_contract</m:field>
<m:field>k.external_code</m:field>
</m:field_set>
from instance_cfs_param p
left outer join instance_operation_cfs_param iop on (p.instance_operation_cfs_param_uid=iop.instance_operation_cfs_param_uid)
left outer join instance_operation o on (iop.instance_operation_uid=o.instance_operation_uid)
left outer join instance e on (o.instance_uid=e.instance_uid)
left outer join svc_operation so on (o.operation=so.operation AND e.service_id=so.svc_id)
left outer join svc_operation_cfs_param sop on (so.svc_operation_id=sop.svc_operation_id AND p.param=sop.svc_operation_cfs_param)
left outer join svc s on (sop.ref_svc_id=s.svc_id)
left outer join specification_item si on (e.specification_item_id=si.specification_item_id)
left outer join specification sp on (si.specification_id=sp.specification_id)
left outer join contract c on (sp.contract_id=c.contract_id)
left outer join contragent k on (c.contragent_id=k.contragent_id)
where p.instance_uid=<cfqueryparam cfsqltype="cf_sql_other" value="#arguments.instanceUid#"/>
AND sop.ref_svc_id > 0
order by sop.sort, p.param
</cfquery>
<cfquery name="local.qDependentInstance">
select
<m:field_set titleMapOut="local.dependentInstanceTitleMap" lengthOut="local.fieldCount">
<m:field>p.param</m:field>
<m:field>sop.descr</m:field>
<m:field>s.svc_id</m:field>
<m:field>s.svc</m:field>
<m:field>s.code</m:field>
<m:field>sop.label</m:field>
<m:field>e.instance_uid::text as uid</m:field>
<m:field>e.display_name</m:field>
<m:field>e.is_auxiliary</m:field>
<m:field>c.contract_id</m:field>
<m:field>c.contract</m:field>
<m:field>to_char(c.dt_contract, 'YYYY-MM-DD"T"HH24:MI:SS.FF3TZHTZM') as dt_contract</m:field>
<m:field>k.external_code</m:field>
</m:field_set>
from instance_cfs_param p
left outer join instance_operation_cfs_param iop on (p.instance_operation_cfs_param_uid=iop.instance_operation_cfs_param_uid)
left outer join instance_operation o on (iop.instance_operation_uid=o.instance_operation_uid)
left outer join instance e on (o.instance_uid=e.instance_uid)
left outer join svc s on (e.service_id=s.svc_id)
left outer join svc_operation so on (o.operation=so.operation AND e.service_id=so.svc_id)
left outer join svc_operation_cfs_param sop on (so.svc_operation_id=sop.svc_operation_id AND p.param=sop.svc_operation_cfs_param)
left outer join svc r on (sop.ref_svc_id=r.svc_id)
left outer join specification_item si on (e.specification_item_id=si.specification_item_id)
left outer join specification sp on (si.specification_id=sp.specification_id)
left outer join contract c on (sp.contract_id=c.contract_id)
left outer join contragent k on (c.contragent_id=k.contragent_id)
where
p.param_value=<cfqueryparam cfsqltype="cf_sql_varchar" value="#arguments.instanceUid#"/>
AND r.svc_id=(select i.service_id from instance i where i.instance_uid=<cfqueryparam cfsqltype="cf_sql_other" value="#arguments.instanceUid#" null=#!isValid('guid',arguments.instanceUid)#/>)
</cfquery>
<!--- ---------------------------------------------------------------------------------- --->
@@ -380,8 +448,17 @@
<cfset arrayAppend(out.instance.availableOperations, this.helper.appendRecord(structNew("linked"), "", local.availableOperationTitleMap, local.qAvailableOperation, this.helper.snake2camel))/>
</cfloop>
<cfset "out.instance.dependencies"=#dependencies#/>
<!--- <cfset "out.instance.dependencies0"=#dependencies#/> --->
<cfset "out.instance.dependentInstances"=[]/>
<cfloop query=#local.qDependentInstance#>
<cfset arrayAppend(out.instance.dependentInstances, this.helper.appendRecord(structNew("linked"), "", local.dependentInstanceTitleMap, local.qDependentInstance, this.helper.snake2camel))/>
</cfloop>
<cfset "out.instance.dependencies"=[]/>
<cfloop query=#local.qDependency#>
<cfset arrayAppend(out.instance.dependencies, this.helper.appendRecord(structNew("linked"), "", local.dependencyTitleMap, local.qDependency, this.helper.snake2camel))/>
</cfloop>
<!--- <cfset "out.instance.availableResourceRealms"=[]/>
<cfloop query=#local.qAvailableResourceRealm#>
<cfset arrayAppend(out.instance.availableResourceRealms, this.helper.appendRecord(structNew("linked"), "", local.realmTitleMap, local.qAvailableResourceRealm, this.helper.snake2camel))/>