<?php

	// Check nonce
	PHPCUS_PARAM::CUS_REQUIRES_NONCE();
	
	// Check Array Input
	PHPCUS_PARAM::CUS_DOES_NOT_SUPPORT_ARRAY();
	
	// Check already authenticated
	PHPCUS_PARAM::CUS_REQUIRES_AUTHENTICATION();
	
	// Check access rights
	PHPCUS_PARAM::CUS_HAS_PERMISSION(PHPCUS_SYSTEM::AUTHORITY_VIEW_ONLY, 'mobile_loadflow');
	
	
	if
	(
		PHPRC_HTTP_PARAM::REF_ISSET_IN_ARRAY
		(
			[
					'PARAM_LOADFLOW_ID',
					'PARAM_LOADFLOW_MOBILE_ID',
					'PARAM_LOADFLOW_CODE',
					'PARAM_LOADFLOW_DESCRIPTION',
					'PARAM_LOADFLOW_AMOUNT',
					'PARAM_LOADFLOW_TIMESTAMP_FROM',
					'PARAM_LOADFLOW_TIMESTAMP_TO',
					'PARAM_LOADFLOW_STATUS',
					
					'PARAM_ORDER_FIELD',
					'PARAM_ORDER_TYPE',
					'PARAM_SKIP'
			], True
		)
	)
	{
		Try
		{
			// Read params
			// ------------------------------------------------------------------	

			$PARAM_LOADFLOW_ID = PHPCUS_PARAM::CUS_READ_BIGINT('PARAM_LOADFLOW_ID');
			$PARAM_LOADFLOW_MOBILE_ID = PHPCUS_PARAM::CUS_READ_BIGINT('PARAM_LOADFLOW_MOBILE_ID');
			$PARAM_LOADFLOW_CODE = PHPCUS_PARAM::CUS_READ_NVARCHAR('PARAM_LOADFLOW_CODE');
			$PARAM_LOADFLOW_DESCRIPTION = PHPCUS_PARAM::CUS_READ_NVARCHAR('PARAM_LOADFLOW_DESCRIPTION');
			$PARAM_LOADFLOW_AMOUNT = PHPCUS_PARAM::CUS_READ_DECIMAL('PARAM_LOADFLOW_AMOUNT');
			$PARAM_LOADFLOW_TIMESTAMP_FROM = PHPCUS_PARAM::CUS_READ_DATETIME('PARAM_LOADFLOW_TIMESTAMP_FROM');
					$PARAM_LOADFLOW_TIMESTAMP_TO = PHPCUS_PARAM::CUS_READ_DATETIME('PARAM_LOADFLOW_TIMESTAMP_TO');
			$PARAM_LOADFLOW_STATUS = PHPCUS_PARAM::CUS_READ_INT('PARAM_LOADFLOW_STATUS');
			
			$PARAM_ORDER_FIELD = PHPCUS_PARAM::CUS_READ_SORT_FIELD
			(
					'PARAM_ORDER_FIELD',
					[
						'LOADFLOW_ID', 
						'LOADFLOW_MOBILE_ID', 
						'LOADFLOW_CODE', 
						'LOADFLOW_DESCRIPTION', 
						'LOADFLOW_AMOUNT', 
						'LOADFLOW_TIMESTAMP', 
						'LOADFLOW_STATUS'
					]
			);
			
			$PARAM_ORDER_TYPE = PHPCUS_PARAM::CUS_READ_SORT_TYPE('PARAM_ORDER_TYPE');
			$PARAM_SKIP	= PHPCUS_PARAM::CUS_READ_BIGINT('PARAM_SKIP');
			
			// ------------------------------------------------------------------
			
			
			// Execute Stored Procedure
			$DATA_SET = PHPCUS_MOBILE_LOADFLOW::CUS_GET
						(
								$PARAM_LOADFLOW_ID,
								$PARAM_LOADFLOW_MOBILE_ID,
								$PARAM_LOADFLOW_CODE,
								$PARAM_LOADFLOW_DESCRIPTION,
								$PARAM_LOADFLOW_AMOUNT,
								$PARAM_LOADFLOW_TIMESTAMP_FROM,
								$PARAM_LOADFLOW_TIMESTAMP_TO,
								$PARAM_LOADFLOW_STATUS,
								
								$PARAM_ORDER_FIELD,
								$PARAM_ORDER_TYPE,
								$PARAM_SKIP
						);
						
			// Return JSON response
			if(empty($DATA_SET) === False)
			{
				PHPCUS_PARAM::CUS_JSON_SUCCESS($DATA_SET);
			}
			else
			{
				PHPCUS_PARAM::CUS_JSON_SUCCESS('');
			}
			
		}
		Catch(Exception $ERR)
		{
			PHPVC_LOG::VAR_REPORT_ERROR($ERR, 0);
			PHPCUS_PARAM::CUS_JSON_ERROR($ERR->getMessage());
		}
	}
	else
	{
		PHPCUS_PARAM::CUS_JSON_ERROR('Missing parameters');
	}

?>