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
2 changes: 1 addition & 1 deletion build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ apply plugin: 'org.jetbrains.dokka'

android {
namespace = "ru.evotor.integrations"
def version = 41
def version = 42

compileSdk 30

Expand Down
28 changes: 28 additions & 0 deletions src/main/java/ru/evotor/framework/features/FeaturesApi.kt
Original file line number Diff line number Diff line change
Expand Up @@ -350,6 +350,34 @@ object FeaturesApi {
*/
fun isFursLpMarkActive(context: Context) = isFeatureActive(context, FeaturesContract.PATH_FURSLP_MARK)

/**
* Проверяет, активна ли функция "Маркировка игр и игрушек для детей" на данном терминале
*
* @return `true` если функция активна; `false` если функция не активна.
*/
fun isToysMarkActive(context: Context) = isFeatureActive(context, FeaturesContract.PATH_TOYS_MARK)

/**
* Проверяет, активна ли функция "Маркировка консервированной продукции" на данном терминале
*
* @return `true` если функция активна; `false` если функция не активна.
*/
fun isPreservesMarkActive(context: Context) = isFeatureActive(context, FeaturesContract.PATH_PRESERVES_MARK)

/**
* Проверяет, активна ли функция "Маркировка бакалейной продукции" на данном терминале
*
* @return `true` если функция активна; `false` если функция не активна.
*/
fun isGroceriesMarkActive(context: Context) = isFeatureActive(context, FeaturesContract.PATH_GROCERIES_MARK)

/**
* Проверяет, активна ли функция "Маркировка cтроительных материалов" на данном терминале
*
* @return `true` если функция активна; `false` если функция не активна.
*/
fun isBuildingMaterialsMarkActive(context: Context) = isFeatureActive(context, FeaturesContract.PATH_BUILDING_MATERIALS_MARK)

private fun isFeatureActive(context: Context, path: String, defaultValue: Boolean = false): Boolean =
context.contentResolver.query(
Uri.withAppendedPath(FeaturesContract.BASE_URI, path),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,10 @@ object FeaturesContract {
const val PATH_CHEMICALS_MARK = "chemicals_marked"
const val PATH_VAT22 = "vat22"
const val PATH_FURSLP_MARK = "furslp_marked"
const val PATH_TOYS_MARK = "toys_marked"
const val PATH_PRESERVES_MARK = "preserves_marked"
const val PATH_GROCERIES_MARK = "groceries_marked"
const val PATH_BUILDING_MATERIALS_MARK = "building_materials_marked"

const val COLUMN_IS_ACTIVE = "is_active"
}
22 changes: 21 additions & 1 deletion src/main/java/ru/evotor/framework/inventory/ProductType.java
Original file line number Diff line number Diff line change
Expand Up @@ -174,5 +174,25 @@ public enum ProductType {
/**
* Меховые изделия (КМ)
*/
FURSLP_MARKED
FURSLP_MARKED,

/**
* Игры и игрушки для детей
*/
TOYS_MARKED,

/**
* Консервированная продукция
*/
PRESERVES_MARKED,

/**
* Бакалейная продукция
*/
GROCERIES_MARKED,

/**
* Строительные материалы
*/
BUILDING_MATERIALS_MARKED
}
64 changes: 64 additions & 0 deletions src/main/java/ru/evotor/framework/receipt/Position.java
Original file line number Diff line number Diff line change
Expand Up @@ -1834,6 +1834,62 @@ public Builder toChemicalsMarked(
return this;
}

public Builder toToysMarked(
@NonNull Mark mark
) {
position.productType = ProductType.TOYS_MARKED;
setAlcoParams(
null,
null,
null,
null
);
setToysParams(mark);
return this;
}

public Builder toPreservesMarked(
@NonNull Mark mark
) {
position.productType = ProductType.PRESERVES_MARKED;
setAlcoParams(
null,
null,
null,
null
);
setPreservesParams(mark);
return this;
}

public Builder toGroceriesMarked(
@NonNull Mark mark
) {
position.productType = ProductType.GROCERIES_MARKED;
setAlcoParams(
null,
null,
null,
null
);
setGroceriesParams(mark);
return this;
}

public Builder toBuildingMaterialsMarked(
@NonNull Mark mark
) {
position.productType = ProductType.BUILDING_MATERIALS_MARKED;
setAlcoParams(
null,
null,
null,
null
);
setBuildingMaterialsParams(mark);
return this;
}

/**
* Частичная реализация для позиции доступна только если тип товара является одним из:
* <p>
Expand Down Expand Up @@ -1994,6 +2050,14 @@ private void setBeerParams(Mark mark) {

private void setFursLpParams(Mark mark) {position.mark = mark; }

private void setToysParams(Mark mark) { position.mark = mark; }

private void setPreservesParams(Mark mark) { position.mark = mark; }

private void setGroceriesParams(Mark mark) { position.mark = mark; }

private void setBuildingMaterialsParams(Mark mark) { position.mark = mark; }

public Builder setUuid(String uuid) {
position.uuid = uuid;
return this;
Expand Down