Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- include_once("transfer_call_datatypes.php");
- use Ws\Adis\TransferCallDataTypes as DataTypes;
- class Webservice
- {
- /**
- * @param DataTypes\TransferCallType $request
- * @return DataTypes\TransferCallResult
- */
- public function SendDataTransferCall($request)
- {
- try
- {
- \ChainQuery::get("
- begin
- null;
- end;
- ")
- ->bind("ext_system_code", $request->ext_system_code)
- ->bind("federation_subject_code", $request->federation_subject_code)
- ->bind("destination_arm", $request->destination_arm)
- ->bind("info", $request->info)
- ->Execute(OCI_NO_AUTO_COMMIT);
- if(isset($request->call))
- {
- \ChainQuery::get("
- begin
- D_PKG_SMP_CALL_EX_SYSTEM.ADD(pnCALL_NUMBER => :call_number, pnGLOBAL_CALL_NUMBER => :global_call_number, pnADIS_ID => :adis_id);
- end;
- ")
- ->bind("call_number", $request->call->call_number)
- ->bind("global_call_number", $request->call->global_call_number)
- ->bind("adis_id", $request->call->adis_id)
- //...
- ->bind("state", $request->call->state)
- ->Execute(OCI_NO_AUTO_COMMIT);
- if(isset($request->call_address))
- {
- //...
- }
- //...
- if(isset($request->call->notice))
- {
- $request->call->notice = !is_array($request->call->notice)
- ? array($request->call->notice) : $request->call->notice;
- foreach ($request->call->notice as $notice)
- {
- error_log(var_export($notice, true));
- \ChainQuery::get("
- begin
- null;
- end;
- ")
- ->bind("call_number", $request->call->call_number)
- ->bind("global_call_number", $request->call->global_call_number)
- ->bind("adis_id", $request->call->adis_id)
- //...
- ->bind("state", $request->call->state)
- ->Execute(OCI_NO_AUTO_COMMIT);
- }
- }
- }
- if(isset($request->brigade))
- {
- //...
- }
- if(isset($request->medical_supplies))
- {
- $request->medical_supplies = !is_array($request->medical_supplies)
- ? array($request->medical_supplies) : $request->medical_supplies;
- //foreach ($request->medical_supplies as $medical_supplies)
- //{
- error_log(var_export($medical_supplies, true));
- \ChainQuery::get("
- begin
- D_PKG_SMP_CALL_EX_SYSTEM.ADD(pnCODE => :code, pnNAME => :name);
- end;
- ")
- ->bind("code", $request->call->call_number)
- ->bind("name", $request->call->global_call_number)
- ->Execute(OCI_NO_AUTO_COMMIT);
- //}
- }
- if(isset($request->senior_doctor))
- {
- //...
- }
- //...
- oci_commit(GetDBConnect());
- $result = new DataTypes\TransferCallResult();
- $result->send_info = new DataTypes\OperationInfo();
- $result->send_info->info_state = "ВЫЗОВ ПРИНЯТ";
- $result->send_info->info_time = time();
- return $result;
- }
- catch (\Exception $e)
- {
- oci_rollback(GetDBConnect());
- $result = new DataTypes\TransferCallResult();
- $result->send_info = new DataTypes\OperationInfo();
- $result->send_info->info_time = time();
- $result->error = $e->getMessage();
- return $result;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement