С помощью методов класса SystemStateApi.kt
и KktApi.kt
приложения могут получить информацию о текущем состоянии кассовой смены в EvotorPOS и модуле ККТ.
Получить информацию о реквизитах уже созданных чеков можно с помощью ReceiptApi
.
fun SystemStateApi.getLastSessionNumber(context: Context): Long?
Описание
Получает номер последней смены EvotorPOS.
Параметры
context
– контекст приложения.Возвращает
Long
– номер смены EvotorPOS.fun SystemStateApi.isSessionOpened(context: Context): Boolean?
Описание
Возвращает информацию о состоянии смены EvotorPOS.
Параметры
context
– контекст приложения.Возвращает
true
– смена открыта.false
– смена закрыта.fun getKktSessionInfo(context: Context) : KktSessionInfo?
Описание
Возвращает информацию о смене в модуле ККТ.
Параметры
context
– контекст приложения.Возвращает
isOpen (Boolean?)
- Открыта ли смена.isExpired (Boolean?)
- Прошло ли 24 часа с момента открытия смены.openDate (Date?)
- Дата и время открытия смены (Null если смена закрыта).closeDate (Date?)
- Дата и время, при достижении которого открытая смена превысит 24 часа (Null Если смена закрыта).sessionNumber (Int?)
- Номер смены.Пример использования методов SystemStateApi.kt
.
package <Ваш packagename>
import android.os.Bundle
import android.support.v7.app.AppCompatActivity
import android.widget.Button
import ru.evotor.framework.system.SystemStateApi
class IntegrationLibraryApiTestActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
//Вызов суперкласса onCreate, создающего операцию.
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_integration_library_api_test)
//Кнопка, нажатиже на которую возвращает номер последней смены EvotorPOS.
findViewById<Button>(R.id.get_last_session_number).setOnClickListener {
getLastSessionNumber()
}
//Кнопка, нажатиже на которую возвращает информацию состоянии смены EvotorPOS.
findViewById<Button>(R.id.get_is_session_opened).setOnClickListener {
getIsSessionOpened()
}
//Кнопка, нажатиже на которую возвращает информацию состоянии смены ККТ.
findViewById<Button>(R.id.get_is_kkt_session_opened).setOnClickListener {
getIsKktSessionOpened()
}
//Кнопка, нажатиже на которую возвращает информацию о истечении смены ККТ (Когда прошло более 24-х часов с момента её открытия).
findViewById<Button>(R.id.get_is_kkt_session_expired).setOnClickListener {
getIsKktSessionExpired()
}
}
//Функция, реализующая метод получения номера последней смены EvotorPOS
//SystemStateApi.getLastSessionNumber()
private fun getLastSessionNumber() {
val lastSessionNumber = SystemStateApi.getLastSessionNumber(this)
if (lastSessionNumber != null) {
//Выводит на экран номер последней смены EvotorPOS.
println("lastSessionNumber = $lastSessionNumber")
} else {
//Выводит на экран сообщение, если номер смены получить не удалось.
println("Не удалось получить номер последней смены EvotorPOS.")
}
}
//Функция, реализующая метод получения информации о состоянии смены EvotorPOS
//SystemStateApi.isSessionOpened()
private fun getIsSessionOpened() {
val isSessionOpened = SystemStateApi.isSessionOpened(this)
if (isSessionOpened != null) {
//Выводит на экран состояние текущей смены EvotorPOS.
println("isSessionOpened = $isSessionOpened")
} else {
//Выводит на экран сообщение, если состояние смены получить не удалось.
println("Не удалось определить состояние текущей смены EvotorPOS.")
}
}
}
//Функция, реализующая метод получения информации о состоянии смены ККТ
//KktApi.getKktSessionInfo()
private fun getIsKktSessionOpened() {
val isSessionOpened = KktApi.getKktSessionInfo(this).isOpen
if (isSessionOpened != null) {
//Выводит на экран состояние текущей смены ККТ.
println("isSessionOpened = $isSessionOpened")
} else {
//Выводит на экран сообщение, если состояние смены получить не удалось.
println("Не удалось определить состояние текущей смены ККТ.")
}
}
}
//Функция, реализующая метод получения информации о превышении 24-х часов с момента открытия смены ККТ
//KktApi.getKktSessionInfo()
private fun getIsKktSessionExpired() {
val isSessionExpired = SystemStateApi.isSessionOpened(this).isExpired
if (isSessionExpired != null) {
//Выводит на экран состояние текущей смены ККТ.
println("isSessionExpired = $isSessionExpired")
} else {
//Выводит на экран сообщение, если состояние смены получить не удалось.
println("Не удалось определить состояние текущей смены ККТ.")
}
}
}