206 param_compute fixes svc_operation_cfs_param_id
This commit is contained in:
+1
-1
@@ -57,7 +57,7 @@
|
|||||||
|
|
||||||
//variables.framework.docs={};
|
//variables.framework.docs={};
|
||||||
variables.framework.docs.APIName="svc-api";
|
variables.framework.docs.APIName="svc-api";
|
||||||
variables.framework.docs.APIVersion="0.205"; /*$ git config --global --unset user.password*/
|
variables.framework.docs.APIVersion="0.206"; /*$ git config --global --unset user.password*/
|
||||||
|
|
||||||
variables.framework.globalHeaders = structNew();
|
variables.framework.globalHeaders = structNew();
|
||||||
variables.framework.globalHeaders["Access-Control-Expose-Headers"] = "Location";
|
variables.framework.globalHeaders["Access-Control-Expose-Headers"] = "Location";
|
||||||
|
|||||||
@@ -23,8 +23,8 @@ arguments.requestArguments.specificationId=usrCustomerInfo.specificationId; //In
|
|||||||
</cfsilent>
|
</cfsilent>
|
||||||
<!--- cfproperty использовать не надо, это для веб сервисов --->
|
<!--- cfproperty использовать не надо, это для веб сервисов --->
|
||||||
|
|
||||||
|
<cffunction name="init">
|
||||||
<cffunction name="init">
|
<!--- *** ---------------- !!! note camelCase in keys naming!!! ----------------- --->
|
||||||
<!--- для нового инстанса нам нужно знать хотя бы его класс (сервис) --->
|
<!--- для нового инстанса нам нужно знать хотя бы его класс (сервис) --->
|
||||||
<cfargument name="keys" type="struct" required=true/>
|
<cfargument name="keys" type="struct" required=true/>
|
||||||
<cfargument name="params" type="struct" required=true/>
|
<cfargument name="params" type="struct" required=true/>
|
||||||
@@ -35,8 +35,8 @@ arguments.requestArguments.specificationId=usrCustomerInfo.specificationId; //In
|
|||||||
<cfset this.instance_operation_uid = "00000000-0000-0000-0000-000000000000"/><!--- *** костыль default=--->
|
<cfset this.instance_operation_uid = "00000000-0000-0000-0000-000000000000"/><!--- *** костыль default=--->
|
||||||
<cfset this.instance_uid = "00000000-0000-0000-0000-000000000000"/><!--- *** костыль default=--->
|
<cfset this.instance_uid = "00000000-0000-0000-0000-000000000000"/><!--- *** костыль default=--->
|
||||||
|
|
||||||
<cfif structKeyExists(arguments.keys,"instanceOperationCfsParamUid")>
|
<cfif structKeyExists(arguments.keys,"instanceOperationCfsParamUid") AND isValid("guid", arguments.keys.instanceOperationCfsParamUid)>
|
||||||
<cfset this.instance_operation_cfs_param_uid=arguments.keys.instanceOperationCfsParamUid/><!--- *** camelCase!!! --->
|
<cfset this.instance_operation_cfs_param_uid=arguments.keys.instanceOperationCfsParamUid/>
|
||||||
<cfquery name="local.qResolve">
|
<cfquery name="local.qResolve">
|
||||||
select p.instance_operation_uid, o.instance_uid, p.svc_operation_cfs_param_id
|
select p.instance_operation_uid, o.instance_uid, p.svc_operation_cfs_param_id
|
||||||
from instance_operation_cfs_param p
|
from instance_operation_cfs_param p
|
||||||
@@ -48,7 +48,7 @@ arguments.requestArguments.specificationId=usrCustomerInfo.specificationId; //In
|
|||||||
<cfset this.svc_operation_cfs_param_id = local.qResolve.svc_operation_cfs_param_id/>
|
<cfset this.svc_operation_cfs_param_id = local.qResolve.svc_operation_cfs_param_id/>
|
||||||
</cfif>
|
</cfif>
|
||||||
<!--- *** обратить внимание, тут возможны конфликты противоречивых ключей, мы никак не контролируем. но если ресолвить в обратном порядке, они хотя бы будут согласованными (хотя могут отличаться от аргументов... пойми что лучше... или проверять и бросать исключение --->
|
<!--- *** обратить внимание, тут возможны конфликты противоречивых ключей, мы никак не контролируем. но если ресолвить в обратном порядке, они хотя бы будут согласованными (хотя могут отличаться от аргументов... пойми что лучше... или проверять и бросать исключение --->
|
||||||
<cfif structKeyExists(arguments.keys,"instanceOperationUid")>
|
<cfif structKeyExists(arguments.keys,"instanceOperationUid") AND isValid("guid", arguments.keys.instanceOperationUid)>
|
||||||
<cfset this.instance_operation_uid=arguments.keys.instanceOperationUid/>
|
<cfset this.instance_operation_uid=arguments.keys.instanceOperationUid/>
|
||||||
<cfquery name="local.qResolve">
|
<cfquery name="local.qResolve">
|
||||||
select o.instance_uid
|
select o.instance_uid
|
||||||
@@ -57,7 +57,7 @@ arguments.requestArguments.specificationId=usrCustomerInfo.specificationId; //In
|
|||||||
</cfquery>
|
</cfquery>
|
||||||
<cfset this.instance_uid=toString(local.qResolve.instance_uid)/>
|
<cfset this.instance_uid=toString(local.qResolve.instance_uid)/>
|
||||||
</cfif>
|
</cfif>
|
||||||
<cfif structKeyExists(arguments.keys,"instanceUid")>
|
<cfif structKeyExists(arguments.keys,"instanceUid") AND isValid("guid",arguments.keys.instanceUid)>
|
||||||
<cfset this.instance_uid=arguments.keys.instanceUid/>
|
<cfset this.instance_uid=arguments.keys.instanceUid/>
|
||||||
</cfif>
|
</cfif>
|
||||||
<cfif structKeyExists(arguments.keys,"svcOperationCfsParamId")><!--- хотя вот этот ключ известен всегда... но для известного параметра мы же можем его не передавать--->
|
<cfif structKeyExists(arguments.keys,"svcOperationCfsParamId")><!--- хотя вот этот ключ известен всегда... но для известного параметра мы же можем его не передавать--->
|
||||||
@@ -66,7 +66,8 @@ arguments.requestArguments.specificationId=usrCustomerInfo.specificationId; //In
|
|||||||
<cfif structKeyExists(arguments.params,"resourceRealm")>
|
<cfif structKeyExists(arguments.params,"resourceRealm")>
|
||||||
<cfset this.resourceRealm=arguments.params.resourceRealm/>
|
<cfset this.resourceRealm=arguments.params.resourceRealm/>
|
||||||
</cfif>
|
</cfif>
|
||||||
<!--- <cfdump var=#this# abort=true/> --->
|
<!--- <cfdump var=#this# abort=true/> --->
|
||||||
|
<!--- <cfdump var=#this#/> --->
|
||||||
<cfreturn this>
|
<cfreturn this>
|
||||||
</cffunction>
|
</cffunction>
|
||||||
|
|
||||||
@@ -354,7 +355,7 @@ arguments.requestArguments.specificationId=usrCustomerInfo.specificationId; //In
|
|||||||
</cffunction>
|
</cffunction>
|
||||||
|
|
||||||
|
|
||||||
<cffunction name="getInstanceState" returntype="struct">
|
<!--- <cffunction name="getInstanceState" returntype="struct">
|
||||||
<cfargument name="instanceUid" type="guid" required="true"/>
|
<cfargument name="instanceUid" type="guid" required="true"/>
|
||||||
|
|
||||||
<cfset var local={}/>
|
<cfset var local={}/>
|
||||||
@@ -376,6 +377,30 @@ arguments.requestArguments.specificationId=usrCustomerInfo.specificationId; //In
|
|||||||
<cfreturn structConfig/>
|
<cfreturn structConfig/>
|
||||||
</cfif>
|
</cfif>
|
||||||
<cfreturn {}/>
|
<cfreturn {}/>
|
||||||
|
</cffunction> --->
|
||||||
|
|
||||||
|
<cffunction name="getInstanceState" returntype="struct">
|
||||||
|
<cfargument name="instanceUid" type="guid" default=#this.instance_uid#/>
|
||||||
|
|
||||||
|
<cfset var local={}/>
|
||||||
|
<cfquery name="local.qInstance" datasource="cmdb">
|
||||||
|
select g.instance_state_uid, g.version, g.dt_state, g.instance_data, g.is_test, g.instance_uid
|
||||||
|
from instance_state g
|
||||||
|
where g.instance_uid=<cfqueryparam cfsqltype="cf_sql_other" value=#arguments.instanceUid#/>
|
||||||
|
order by g.version desc
|
||||||
|
limit 1
|
||||||
|
</cfquery>
|
||||||
|
<!--- <cfreturn deserializeJson(local.qInstance.instance_data)/><cfabort/> --->
|
||||||
|
<cftry>
|
||||||
|
<cfset var structConfig = deserializeJson(local.qInstance.instance_data)/>
|
||||||
|
<cfcatch type="ANY">
|
||||||
|
<cfreturn {"error":"error parsing state"}/>
|
||||||
|
</cfcatch>
|
||||||
|
</cftry>
|
||||||
|
<cfif isEmpty(structConfig)>
|
||||||
|
<cfreturn {}/>
|
||||||
|
</cfif>
|
||||||
|
<cfreturn structConfig/>
|
||||||
</cffunction>
|
</cffunction>
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -50,6 +50,7 @@ arguments.requestArguments.specificationId=usrCustomerInfo.specificationId; //In
|
|||||||
<cfset local.expression = ""/> <!--- нет смысла выносить это в поля класса, оно нужно только локально --->
|
<cfset local.expression = ""/> <!--- нет смысла выносить это в поля класса, оно нужно только локально --->
|
||||||
<cfset local.calculatedValueList = ""/>
|
<cfset local.calculatedValueList = ""/>
|
||||||
<cfset local.keys = deserializeJson(arguments.keys)/>
|
<cfset local.keys = deserializeJson(arguments.keys)/>
|
||||||
|
<cfset local.keys.svcOperationCfsParamId=arguments.svcOperationCfsParamId/><!--- дополняем --->
|
||||||
<cfset local.params = deserializeJson(arguments.params)/>
|
<cfset local.params = deserializeJson(arguments.params)/>
|
||||||
|
|
||||||
<cfset local.keys.svcOperationCfsParamId = arguments.svcOperationCfsParamId/> <!--- *** сомнительное дело гонять аргументы туда-сюда --->
|
<cfset local.keys.svcOperationCfsParamId = arguments.svcOperationCfsParamId/> <!--- *** сомнительное дело гонять аргументы туда-сюда --->
|
||||||
|
|||||||
@@ -50,11 +50,12 @@ arguments.requestArguments.specificationId=usrCustomerInfo.specificationId; //In
|
|||||||
<cfset local.keys = deserializeJson(arguments.keys)/>
|
<cfset local.keys = deserializeJson(arguments.keys)/>
|
||||||
<cfset local.params = deserializeJson(arguments.params)/>
|
<cfset local.params = deserializeJson(arguments.params)/>
|
||||||
|
|
||||||
<cfset local.keys.svcOperationCfsSubparamId = arguments.svcOperationCfsSubparamId/> <!--- *** сомнительное дело гонять аргументы туда-сюда --->
|
<cfset local.keys.svcOperationCfsSubparamId = arguments.svcOperationCfsSubparamId/> <!--- *** сомнительное дело гонять аргументы туда-сюда ---><!--- *** по-моему, не используется, поэтому достанем svcOperationCfsParamId прямо тут --->
|
||||||
|
|
||||||
<cfquery name="local.qCfsSubparam" result="local.result">
|
<cfquery name="local.qCfsSubparam" result="local.result">
|
||||||
select
|
select
|
||||||
<m:field_set titleMapOut="local.titleMap" lengthOut="fieldCount">
|
<m:field_set titleMapOut="local.titleMap" lengthOut="fieldCount">
|
||||||
|
<m:field>sop.svc_operation_cfs_param_id</m:field>
|
||||||
<m:field>sop.data_type</m:field>
|
<m:field>sop.data_type</m:field>
|
||||||
<m:field>sop.svc_operation_cfs_subparam</m:field>
|
<m:field>sop.svc_operation_cfs_subparam</m:field>
|
||||||
<m:field>sop.expression</m:field>
|
<m:field>sop.expression</m:field>
|
||||||
@@ -69,6 +70,7 @@ arguments.requestArguments.specificationId=usrCustomerInfo.specificationId; //In
|
|||||||
</cfif>
|
</cfif>
|
||||||
|
|
||||||
<cfset local.expression=local.qCfsSubparam.expression/>
|
<cfset local.expression=local.qCfsSubparam.expression/>
|
||||||
|
<cfset local.keys.svcOperationCfsParamId = local.qCfsSubparam.svc_operation_cfs_param_id/>
|
||||||
|
|
||||||
<!--- *** можно обратить внимание, что мы инстанциируем не субпараметр, а параметр (цинично пользуясь их функциональной идентичностью... но некрасиво) --->
|
<!--- *** можно обратить внимание, что мы инстанциируем не субпараметр, а параметр (цинично пользуясь их функциональной идентичностью... но некрасиво) --->
|
||||||
<cfif len(local.expression)>
|
<cfif len(local.expression)>
|
||||||
|
|||||||
Reference in New Issue
Block a user