Class: OrcaApi::LockService

Inherits:
Service
  • Object
show all
Defined in:
lib/orca_api/lock_service.rb

Overview

排他制御解除を行うサービスを表現したクラス

Defined Under Namespace

Classes: ListResult

Instance Attribute Summary

Attributes inherited from Service

#orca_api

Instance Method Summary collapse

Methods inherited from Service

#initialize, reuse_session

Constructor Details

This class inherits a constructor from OrcaApi::Service

Constructor Details

This class inherits a constructor from OrcaApi::Service

Instance Method Details

#listOrcaApi::LockService::ListResult

排他制御情報の一覧を取得する。



28
29
30
31
32
33
34
35
# File 'lib/orca_api/lock_service.rb', line 28

def list
  req = {
    "Request_Number" => "00",
    "Karte_Uid" => orca_api.karte_uid,
  }

  ListResult.new(orca_api.call("/api21/medicalmodv37", body: { "medicalv3req7" => req }))
end

#unlock(karte_uid, orca_uid) ⇒ OrcaApi::Result

一覧で取得したkarte_uid、orca_uidを元に、対応する排他制御情報を1つだけ解除する。

排他解除は残っている一時データも削除する。処理中のオルカUIDの排他解除を行った場合の不具合には対応できない。

また、日レセAPIの制限で、解除対象の排他時間が処理時間より1分以内の場合は解除できない。 この場合のApi_Resultは「E14」、Api_Result_Messageは「端末展開中と思われる排他時間です。 端末が展開中でないことを確認して下さい。」です。排他解除が必要であれば、1分後に再度送信して下さい。

Parameters:

  • karte_uid (String)

    解除カルテUID

  • orca_uid (String)

    解除オルカUID

Returns:

See Also:



54
55
56
57
58
59
60
61
62
63
64
# File 'lib/orca_api/lock_service.rb', line 54

def unlock(karte_uid, orca_uid)
  req = {
    "Request_Number" => "01",
    "Karte_Uid" => orca_api.karte_uid,
    "Delete_Information" => {
      "Delete_Karte_Uid" => karte_uid,
      "Delete_Orca_Uid" => orca_uid,
    },
  }
  do_unlock(req)
end

#unlock_allOrcaApi::Result

排他制御情報をすべて解除する。

排他解除は残っている一時データも削除する。処理中のオルカUIDの排他解除を行った場合の不具合には対応できない。

また、日レセAPIの制限で、解除対象の排他時間が処理時間より1分以内の場合は解除できない。 この場合のApi_Resultは「E14」、Api_Result_Messageは「端末展開中と思われる排他時間です。 端末が展開中でないことを確認して下さい。」です。排他解除が必要であれば、1分後に再度送信して下さい。



79
80
81
82
83
84
85
86
87
88
# File 'lib/orca_api/lock_service.rb', line 79

def unlock_all
  req = {
    "Request_Number" => "01",
    "Karte_Uid" => orca_api.karte_uid,
    "Delete_Information" => {
      "Delete_Class" => "All",
    },
  }
  do_unlock(req)
end