Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions api/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -30,8 +30,8 @@ repositories {
}

dependencies {
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version"
implementation 'org.apache.commons:commons-lang3:3.6'
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.7.10"
implementation 'org.apache.commons:commons-lang3:3.10'
implementation 'com.github.evotor:query-api:1.0.0'
}

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
package ru.evotor.egais.api.model.dictionary

enum class QueryRestBCodeRequestType {
AUTO_REQUEST,
MANUAL_REQUEST,
UNKNOWN
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
package ru.evotor.egais.api.model.dictionary

enum class QueryStatus {
NOT_PROCESSED,
FINISH,
REJECTED,
UNKNOWN
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
package ru.evotor.egais.api.model.document.rest_b_code

import ru.evotor.egais.api.model.dictionary.QueryRestBCodeRequestType
import ru.evotor.egais.api.model.dictionary.QueryStatus
import ru.evotor.egais.api.model.document.EgaisDocument
import java.util.UUID

class QueryRestBCode(
val uuid: UUID,
val owner: String,
val informF2RegId: String,
val status: QueryStatus,
val rejectComment: String?,
val utmDocumentUuid: UUID,
val requestType: QueryRestBCodeRequestType?
) : EgaisDocument()
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
package ru.evotor.egais.api.model.document.rest_b_code

import ru.evotor.egais.api.model.document.EgaisDocument
import java.util.Date
import java.util.UUID

class ReplyRestBCode(
val uuid: UUID,
val owner: String,
val restsDate: Date?,
val informF2RegId: String,
val utmDocumentUuid: UUID
) : EgaisDocument()
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
package ru.evotor.egais.api.provider.rest_b_code

import android.net.Uri
import ru.evotor.egais.api.provider.MainContract

internal object QueryRestBCodeContract {
const val AUTHORITY = "${MainContract.AUTHORITY_PREFIX}.queryrestbcode"

@JvmField
val BASE_URI = Uri.parse("content://$AUTHORITY")

@JvmField
val PATH = "QueryRestBCode"

@JvmField
val URI = Uri.withAppendedPath(BASE_URI, PATH)

const val COLUMN_UUID = "UUID"

const val COLUMN_OWNER = "OWNER"

const val COLUMN_INFORM_F2_REG_ID = "INFORM_F2_REG_ID"

const val COLUMN_STATUS = "STATUS"

const val COLUMN_REJECT_COMMENT = "REJECT_COMMENT"

const val COLUMN_UTM_DOCUMENT_UUID = "UTM_DOCUMENT_UUID"

const val COLUMN_REQUEST_TYPE = "REQUEST_TYPE"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
package ru.evotor.egais.api.provider.rest_b_code

import android.net.Uri
import ru.evotor.egais.api.provider.MainContract

internal object ReplyRestBCodeContract {
const val AUTHORITY = "${MainContract.AUTHORITY_PREFIX}.replyrestbcode"

@JvmField
val BASE_URI = Uri.parse("content://$AUTHORITY")

@JvmField
val PATH = "ReplyRestBCode"

@JvmField
val URI = Uri.withAppendedPath(BASE_URI, PATH)

const val COLUMN_UUID = "UUID"

const val COLUMN_OWNER = "OWNER"

const val COLUMN_RESTS_DATE = "RESTS_DATE"

const val COLUMN_INFORM_F2_REG_ID = "INFORM_F2_REG_ID"

const val COLUMN_UTM_DOCUMENT_UUID = "UTM_DOCUMENT_UUID"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,133 @@
package ru.evotor.egais.api.query.rest_b_code

import ru.evotor.egais.api.model.dictionary.QueryRestBCodeRequestType
import ru.evotor.egais.api.model.dictionary.QueryStatus
import ru.evotor.egais.api.model.document.rest_b_code.QueryRestBCode
import ru.evotor.egais.api.provider.rest_b_code.QueryRestBCodeContract
import ru.evotor.query.Cursor
import ru.evotor.query.FilterBuilder
import java.util.*

/**
* Класс для формирования запроса на получение
* запросов на получение марок по справке 2 (справка Б)
*/
class QueryRestBCodeQuery :
FilterBuilder<QueryRestBCodeQuery, QueryRestBCodeQuery.SortOrder, QueryRestBCode>(
QueryRestBCodeContract.URI
) {

/**
* UUID документа.
*/
@JvmField
val uuid = addFieldFilter<UUID>(QueryRestBCodeContract.COLUMN_UUID)

/**
* Отправитель запроса
*/
@JvmField
val owner = addFieldFilter<String>(QueryRestBCodeContract.COLUMN_OWNER)

/**
* uuid справки 2 для накладной.
*/
@JvmField
val informF2RegId = addFieldFilter<String>(QueryRestBCodeContract.COLUMN_INFORM_F2_REG_ID)

/**
* Статус запроса
*/
@JvmField
val status = addFieldFilter<QueryStatus?>(QueryRestBCodeContract.COLUMN_STATUS)

/**
* Комментарий от ЕГАИС
*/
@JvmField
val rejectComment = addFieldFilter<String?>(QueryRestBCodeContract.COLUMN_REJECT_COMMENT)

/**
* ID утм документа для накладной
*/
@JvmField
val utmDocumentUuid = addFieldFilter<UUID>(QueryRestBCodeContract.COLUMN_UTM_DOCUMENT_UUID)

/**
* Тип запроса
*/
@JvmField
val requestType =
addFieldFilter<QueryRestBCodeRequestType?>(QueryRestBCodeContract.COLUMN_REQUEST_TYPE)

override val currentQuery: QueryRestBCodeQuery
get() = this

/**
* Класс для сортировки полей в результе запроса
*/
class SortOrder : FilterBuilder.SortOrder<SortOrder>() {
override val currentSortOrder: SortOrder
get() = this

@JvmField
val uuid = addFieldSorter(QueryRestBCodeContract.COLUMN_UUID)

@JvmField
val owner = addFieldSorter(QueryRestBCodeContract.COLUMN_OWNER)

@JvmField
val informF2RegId = addFieldSorter(QueryRestBCodeContract.COLUMN_INFORM_F2_REG_ID)

@JvmField
val status = addFieldSorter(QueryRestBCodeContract.COLUMN_STATUS)

@JvmField
val rejectComment = addFieldSorter(QueryRestBCodeContract.COLUMN_REJECT_COMMENT)

@JvmField
val utmDocumentUuid = addFieldSorter(QueryRestBCodeContract.COLUMN_UTM_DOCUMENT_UUID)

@JvmField
val requestType = addFieldSorter(QueryRestBCodeContract.COLUMN_REQUEST_TYPE)
}

override fun getValue(cursor: Cursor<QueryRestBCode>): QueryRestBCode {
return createQueryRestBCode(cursor)
}

private fun createQueryRestBCode(cursor: Cursor<QueryRestBCode>): QueryRestBCode {
val columnIndexUuid =
cursor.getColumnIndexOrThrow(QueryRestBCodeContract.COLUMN_UUID)
val columnIndexOwner =
cursor.getColumnIndexOrThrow(QueryRestBCodeContract.COLUMN_OWNER)
val columnIndexInformF2RegId =
cursor.getColumnIndexOrThrow(QueryRestBCodeContract.COLUMN_INFORM_F2_REG_ID)
val columnIndexStatus =
cursor.getColumnIndexOrThrow(QueryRestBCodeContract.COLUMN_STATUS)
val columnIndexRejectComment =
cursor.getColumnIndexOrThrow(QueryRestBCodeContract.COLUMN_REJECT_COMMENT)
val columnIndexUtmDocumentUuid =
cursor.getColumnIndexOrThrow(QueryRestBCodeContract.COLUMN_UTM_DOCUMENT_UUID)
val columnRequestType =
cursor.getColumnIndexOrThrow(QueryRestBCodeContract.COLUMN_REQUEST_TYPE)

return QueryRestBCode(
UUID.fromString(cursor.getString(columnIndexUuid)),
cursor.getString(columnIndexOwner),
cursor.getString(columnIndexInformF2RegId),
try {
QueryStatus.valueOf(cursor.getString(columnIndexStatus))
} catch (e: Exception) {
QueryStatus.UNKNOWN
},
cursor.getString(columnIndexRejectComment),
UUID.fromString(cursor.getString(columnIndexUtmDocumentUuid)),
try {
QueryRestBCodeRequestType.valueOf(cursor.getString(columnRequestType))
} catch (e: Exception) {
QueryRestBCodeRequestType.UNKNOWN
}
)
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,102 @@
package ru.evotor.egais.api.query.rest_b_code

import ru.evotor.egais.api.model.document.rest_b_code.ReplyRestBCode
import ru.evotor.egais.api.provider.rest_b_code.ReplyRestBCodeContract
import ru.evotor.query.Cursor
import ru.evotor.query.FilterBuilder
import java.text.SimpleDateFormat
import java.util.*

/**
* Класс для формирования запроса на получение результатов отправки
* запросов на получение марок по справке 2 (справка Б)
*/
class ReplyRestBCodeQuery: FilterBuilder<ReplyRestBCodeQuery, ReplyRestBCodeQuery.SortOrder, ReplyRestBCode>(
ReplyRestBCodeContract.URI
) {

private val dateFormat by lazy(LazyThreadSafetyMode.NONE) {
SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.getDefault())
}

/**
* UUID документа.
*/
@JvmField
val uuid = addFieldFilter<String>(ReplyRestBCodeContract.COLUMN_UUID)

/**
* Отправитель запроса
*/
@JvmField
val owner = addFieldFilter<String>(ReplyRestBCodeContract.COLUMN_OWNER)

/**
* Дата обновления марок
*/
@JvmField
val restsDate = addFieldFilter<String?>(ReplyRestBCodeContract.COLUMN_RESTS_DATE)

/**
* uuid справки 2 для накладной.
*/
@JvmField
val informF2RegId = addFieldFilter<String>(ReplyRestBCodeContract.COLUMN_INFORM_F2_REG_ID)


/**
* ID утм документа для ответа на запрос
*/
@JvmField
val utmDocumentUuid = addFieldFilter<UUID>(ReplyRestBCodeContract.COLUMN_UTM_DOCUMENT_UUID)

override val currentQuery: ReplyRestBCodeQuery
get() = this

/**
* Класс для сортировки полей в результе запроса
*/
class SortOrder : FilterBuilder.SortOrder<SortOrder>() {
override val currentSortOrder: SortOrder
get() = this

@JvmField
val uuid = addFieldSorter(ReplyRestBCodeContract.COLUMN_UUID)

@JvmField
val owner = addFieldSorter(ReplyRestBCodeContract.COLUMN_OWNER)

@JvmField
val restsDate = addFieldSorter(ReplyRestBCodeContract.COLUMN_RESTS_DATE)

@JvmField
val informF2RegId = addFieldSorter(ReplyRestBCodeContract.COLUMN_INFORM_F2_REG_ID)

@JvmField
val utmDocumentUuid = addFieldSorter(ReplyRestBCodeContract.COLUMN_UTM_DOCUMENT_UUID)
}

override fun getValue(cursor: Cursor<ReplyRestBCode>): ReplyRestBCode {
return createReplyRestBCode(cursor)
}

private fun createReplyRestBCode(cursor: Cursor<ReplyRestBCode>): ReplyRestBCode {
val columnUuid =
cursor.getColumnIndexOrThrow(ReplyRestBCodeContract.COLUMN_UUID)
val columnOwner =
cursor.getColumnIndexOrThrow(ReplyRestBCodeContract.COLUMN_OWNER)
val columnRestsDate =
cursor.getColumnIndexOrThrow(ReplyRestBCodeContract.COLUMN_RESTS_DATE)
val columnInformF2RegId = cursor.getColumnIndexOrThrow(ReplyRestBCodeContract.COLUMN_INFORM_F2_REG_ID)
val columnUtmDocumentUuid =
cursor.getColumnIndexOrThrow(ReplyRestBCodeContract.COLUMN_UTM_DOCUMENT_UUID)

return ReplyRestBCode(
UUID.fromString(cursor.getString(columnUuid)),
cursor.getString(columnOwner),
dateFormat.parse(cursor.getString(columnRestsDate)) ?: Date(),
cursor.getString(columnInformF2RegId),
UUID.fromString(cursor.getString(columnUtmDocumentUuid))
)
}
}
27 changes: 0 additions & 27 deletions build.gradle

This file was deleted.

Loading