Получение информации о кассовых сменах

Редактировать

Описание

С помощью методов класса SystemStateApi.kt и KktApi.kt приложения могут получить информацию о текущем состоянии кассовой смены в EvotorPOS и модуле ККТ.

Получить информацию о реквизитах уже созданных чеков можно с помощью ReceiptApi.

Методы

SystemStateApi.getLastSessionNumber

fun SystemStateApi.getLastSessionNumber(context: Context): Long?

Описание

Получает номер последней смены EvotorPOS.

Параметры

Возвращает

SystemStateApi.isSessionOpened

fun SystemStateApi.isSessionOpened(context: Context): Boolean?

Описание

Возвращает информацию о состоянии смены EvotorPOS.

Параметры

Возвращает

KktApi.getKktSessionInfo

fun getKktSessionInfo(context: Context) : KktSessionInfo? 

Описание

Возвращает информацию о смене в модуле ККТ.

Параметры

Возвращает

Пример

Пример использования методов 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("Не удалось определить состояние текущей смены ККТ.")
        }
        }
        }