076 instance_operation.resource_realm_id

This commit is contained in:
msyu
2025-04-06 11:16:02 +03:00
parent c6f9b72d9f
commit 080252cf2c
6 changed files with 86 additions and 83 deletions
+29 -23
View File
@@ -63,13 +63,15 @@
left outer join instance_operation_cfs_param iop on (sop.svc_operation_cfs_param_id=iop.svc_operation_cfs_param_id AND iop.instance_operation_uid=<cfqueryparam cfsqltype="cf_sql_other" value="#arguments.instanceOperationUid#" null=#!isValid('guid',arguments.instanceOperationUid)#/>)
where sop.svc_operation_id=<cfqueryparam cfsqltype="cf_sql_integer" value="#local.qSvcOperation.svc_operation_id#"/>
</cfquery><!--- <cfdump var=#local.qCheckCfsParams#/><cfabort/> --->
<cfset local.cfsParamChecker = CreateObject("component", "instance_operation_cfs_param_ls")/>
<!--- we could check existence of required parameters right in the query,
but for possible value chech and verbosity do it in the loop --->
<cfloop query=#local.qCheckCfsParams#>
<cfif (local.qCheckCfsParams.is_required GT 0 AND NOT len(local.qCheckCfsParams.instance_operation_cfs_param_uid) GT 0)>
<cfif (local.qCheckCfsParams.is_required GT 0 AND NOT len(local.qCheckCfsParams.instance_operation_cfs_param_uid) GT 0)><!--- check CFS param existence --->
<cfreturn representationOf(this.helper.formatMessage("required CFS parameter #local.qCheckCfsParams.svc_operation_cfs_param# (#local.qCheckCfsParams.svc_operation_cfs_param_id#) is missing", "Missing required CFS parameter")).withStatus(409)/>
<cfelse>
<cfelse><!--- validate CFS param--->
<cfset local.cfsParamChecker.checkParam(local.qCheckCfsParams.svc_operation_cfs_param_id, qCheckCfsParams.param_value, qCheckCfsParams.instance_operation_cfs_param_uid)/>
</cfif>
</cfloop><!--- <cfdump var=#local.qCheckCfsParams#/><cfabort/> --->
@@ -77,7 +79,10 @@
<!--- ***** тут должен быть контроль доступа на уровне параметров. Желательно по максимуму параноидальный --->
<!--- ***** или при сабмите. Может быть, и на уровне RFS параметров тоже --->
<cfset generateRfsParams(arguments.instanceOperationUid, arguments.usrId, arguments.contragentId, arguments.contractId)/>
<!--- **************************** --->
<cfset submitJob(arguments.instanceOperationUid)/>
<!--- **************************** --->
<cfcatch type="invalidParamValue">
<cfreturn representationOf(this.helper.formatBadRequestError(cfcatch)).withStatus(400)/>
@@ -102,16 +107,18 @@
<cfargument name="contractId" type="numeric"/>
<cfquery name="qSvcOperation">
select so.svc_operation_id, io.instance_uid, so.operation
select so.svc_operation_id, io.instance_uid, so.operation, r.resource_realm
from instance_operation io
join instance e on (io.instance_uid=e.instance_uid)
join svc_operation so on (e.service_id=so.svc_id AND io.operation=so.operation)
left outer join resource_realm r on so.resource_realm_id=r.resource_realm_id
where io.instance_operation_uid=<cfqueryparam cfsqltype="cf_sql_other" value=#arguments.instanceOperationUid# null=#!isValid("guid",arguments.instanceOperationUid)#/>
</cfquery>
<!--- поступим проще, по engine/generate_rfs_12.cfm --->
<cfset setInstanceOperationRfsParam(arguments.instanceOperationUid, "instanceUid", qSvcOperation.instance_uid)/>
<cfset setInstanceOperationRfsParam(arguments.instanceOperationUid, "operationUid", arguments.instanceOperationUid)/>
<cfset setInstanceOperationRfsParam(arguments.instanceOperationUid, "modifierId", arguments.usrId)/>
<cfset setInstanceOperationRfsParam(arguments.instanceOperationUid, "resourceRealm", qSvcOperation.resource_realm)/>
<cfif qSvcOperation.operation EQ "create"><!--- несколько костыльно --->
<cfset setInstanceOperationRfsParam(arguments.instanceOperationUid, "billingObject", "underconstruction")/>
@@ -148,24 +155,24 @@
</cfquery>
</cffunction>
<!---
-- полезный селект, не выбрасывать
<cfquery name="qSvcOperationCfsParam">
select sop.svc_operation_cfs_param_id
,iop.instance_operation_cfs_param_uid::text as instance_operation_cfs_param_uid /*pgjdbc issue fix*/
,iop.param_value
,sop.svc_operation_cfs_param
,sop.data_type
,sop.is_required
,sop.maxlength,sop.minlength,sop.regex,sop.unique_scope
from instance_operation io
join instance e on (io.instance_uid=e.instance_uid)
join svc_operation so on (e.service_id=so.svc_id AND io.operation=so.operation)
join svc_operation_cfs_param sop on (so.svc_operation_id=sop.svc_operation_id)
left outer join instance_operation_cfs_param iop
on (sop.svc_operation_cfs_param_id=iop.svc_operation_cfs_param_id AND io.instance_operation_uid=iop.instance_operation_uid)
where iop.instance_operation_uid=<cfqueryparam cfsqltype="cf_sql_other" value=#arguments.instanceOperationUid# null=#!isValid("guid",arguments.instanceOperationUid)#/>)
</cfquery>
<!---
-- полезный селект, не выбрасывать
<cfquery name="qSvcOperationCfsParam">
select sop.svc_operation_cfs_param_id
,iop.instance_operation_cfs_param_uid::text as instance_operation_cfs_param_uid /*pgjdbc issue fix*/
,iop.param_value
,sop.svc_operation_cfs_param
,sop.data_type
,sop.is_required
,sop.maxlength,sop.minlength,sop.regex,sop.unique_scope
from instance_operation io
join instance e on (io.instance_uid=e.instance_uid)
join svc_operation so on (e.service_id=so.svc_id AND io.operation=so.operation)
join svc_operation_cfs_param sop on (so.svc_operation_id=sop.svc_operation_id)
left outer join instance_operation_cfs_param iop
on (sop.svc_operation_cfs_param_id=iop.svc_operation_cfs_param_id AND io.instance_operation_uid=iop.instance_operation_uid)
where iop.instance_operation_uid=<cfqueryparam cfsqltype="cf_sql_other" value=#arguments.instanceOperationUid# null=#!isValid("guid",arguments.instanceOperationUid)#/>)
</cfquery>
--->
<cffunction name="submitJob">
@@ -192,8 +199,7 @@
set dt_submit=<cfqueryparam cfsqltype="cf_sql_timestamp" value=#now()#/>
,dt_start=null, dt_finish=null, submit_result='0'
where instance_operation_uid=<cfqueryparam cfsqltype="cf_sql_other" value=#arguments.instanceOperationUid#/>
</cfquery>
</cfquery>
<cftry>
<cfhttp method="post"