diff --git a/src/main/java/ru/dmitriymx/astralcheckreport/ExcelDataRow.java b/src/main/java/ru/dmitriymx/astralcheckreport/ExcelDataRow.java index 5aa49c3..67304d1 100644 --- a/src/main/java/ru/dmitriymx/astralcheckreport/ExcelDataRow.java +++ b/src/main/java/ru/dmitriymx/astralcheckreport/ExcelDataRow.java @@ -49,6 +49,12 @@ class ExcelDataRow { return (int)cellAddonNaprov.getNumericCellValue(); } + boolean getEGRUL() { + Cell cell = row.getCell(13); + cell.setCellType(Cell.CELL_TYPE_NUMERIC); + return (int)cell.getNumericCellValue() > 0; + } + @Override public String toString() { return "{inn: \"" + getInn() + diff --git a/src/main/java/ru/dmitriymx/astralcheckreport/Main.java b/src/main/java/ru/dmitriymx/astralcheckreport/Main.java index 4f8a31a..efc256f 100644 --- a/src/main/java/ru/dmitriymx/astralcheckreport/Main.java +++ b/src/main/java/ru/dmitriymx/astralcheckreport/Main.java @@ -27,6 +27,7 @@ public class Main implements Runnable { public static long sleepThread = 100; private SimpleDateFormat sdf = new SimpleDateFormat("dd.MM.yyyy"); private static Date currentDate = new Date(System.currentTimeMillis()); + private static LeftObject egrulPlugin = new LeftObject(12); public static void main(String[] args) { new Main().start(); @@ -284,6 +285,17 @@ public class Main implements Runnable { if (!calcRecipients2(product, data)) { //TODO надо проверять по категориям logger.warn("({}/{}): Внимание! Не соответствие количества направлений!", organization.inn, organization.kpp); } + + // Step III: Проверка наличия ЕГРЮЛ + if (data.getEGRUL()) { + if (!product.plugins.contains(egrulPlugin)) { + logger.warn("({}/{}): Отсутствует ЕГРЮЛ!", organization.inn, organization.kpp); + } + } else { + if (product.plugins.contains(egrulPlugin)) { + logger.error("({}/{}): Присутствует не указанный ЕГРЮЛ!", organization.inn, organization.kpp); + } + } } // Тариф: (пустое значение) @@ -367,6 +379,17 @@ public class Main implements Runnable { if (!calcRecipients1(product, data)) { //TODO надо проверять по категориям logger.warn("({}/{}): Внимание! Не соответствие количества направлений!", organization.inn, organization.kpp); } + + // Step III: Проверка наличия ЕГРЮЛ + if (data.getEGRUL()) { + if (!product.plugins.contains(egrulPlugin)) { + logger.warn("({}/{}): Отсутствует ЕГРЮЛ!", organization.inn, organization.kpp); + } + } else { + if (product.plugins.contains(egrulPlugin)) { + logger.error("({}/{}): Присутствует не указанный ЕГРЮЛ!", organization.inn, organization.kpp); + } + } } // Тариф: Авторизованный центр (АЦ) diff --git a/src/main/java/ru/dmitriymx/astralcheckreport/objects/LeftObject.java b/src/main/java/ru/dmitriymx/astralcheckreport/objects/LeftObject.java new file mode 100644 index 0000000..9557c2d --- /dev/null +++ b/src/main/java/ru/dmitriymx/astralcheckreport/objects/LeftObject.java @@ -0,0 +1,22 @@ +/* + * DmitriyMX + * 2016-06-05 + */ +package ru.dmitriymx.astralcheckreport.objects; + +public class LeftObject { + public int id; + + public LeftObject() { + } + + public LeftObject(int id) { + this.id = id; + } + + @Override + public boolean equals(Object obj) { + LeftObject lobj = (LeftObject) obj; + return this.id == lobj.id; + } +} diff --git a/src/main/java/ru/dmitriymx/astralcheckreport/objects/Product.java b/src/main/java/ru/dmitriymx/astralcheckreport/objects/Product.java index c54f822..a43144c 100644 --- a/src/main/java/ru/dmitriymx/astralcheckreport/objects/Product.java +++ b/src/main/java/ru/dmitriymx/astralcheckreport/objects/Product.java @@ -7,6 +7,7 @@ package ru.dmitriymx.astralcheckreport.objects; import com.google.gson.annotations.SerializedName; import java.util.List; +import java.util.Map; public class Product { public int id; @@ -18,4 +19,5 @@ public class Product { @SerializedName("Accr_represent_id") public String authCenterId; public int categoryId; + public List plugins; }