From 6c8b2e1fa4f231e01761379b3c7711455f11abe7 Mon Sep 17 00:00:00 2001 From: DmitriyMX Date: Sat, 4 Jun 2016 15:39:17 +0300 Subject: [PATCH] =?UTF-8?q?=D0=A0=D0=B5=D1=84=D0=B0=D0=BA=D1=82=D0=BE?= =?UTF-8?q?=D1=80=D0=B8=D0=BD=D0=B3=20=D0=BA=D0=BB=D0=B0=D1=81=D1=81=D0=B0?= =?UTF-8?q?=20ExcelDataRow?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../astralcheckreport/ExcelDataRow.java | 62 ++++++++++++++----- .../astralcheckreport/ExcelReader.java | 27 +------- .../ru/dmitriymx/astralcheckreport/Main.java | 34 +++++----- 3 files changed, 63 insertions(+), 60 deletions(-) diff --git a/src/main/java/ru/dmitriymx/astralcheckreport/ExcelDataRow.java b/src/main/java/ru/dmitriymx/astralcheckreport/ExcelDataRow.java index 11b1b16..5aa49c3 100644 --- a/src/main/java/ru/dmitriymx/astralcheckreport/ExcelDataRow.java +++ b/src/main/java/ru/dmitriymx/astralcheckreport/ExcelDataRow.java @@ -4,27 +4,55 @@ */ package ru.dmitriymx.astralcheckreport; -class ExcelDataRow { - String inn, kpp, tarif; - int addonNaprov, fsrar, addonCert, egrul, addonKpp, tranzaks; +import org.apache.poi.ss.usermodel.Cell; +import org.apache.poi.ss.usermodel.Row; - ExcelDataRow(String inn, String kpp, String tarif, - int addonNaprov, int fsrar, int addonCert, int egrul, int addonKpp, int tranzaks) { - this.inn = inn; - this.kpp = kpp; - this.tarif = tarif; - this.addonNaprov = addonNaprov; - this.fsrar = fsrar; - this.addonCert = addonCert; - this.egrul = egrul; - this.addonKpp = addonKpp; - this.tranzaks = tranzaks; +class ExcelDataRow { + private Row row; + + ExcelDataRow(Row row) { + this.row = row; + } + + String getInn() { + Cell cellInn = row.getCell(2); + cellInn.setCellType(Cell.CELL_TYPE_STRING); + return cellInn.getStringCellValue(); + } + + String getKpp() { + Cell cellKpp = row.getCell(3); + cellKpp.setCellType(Cell.CELL_TYPE_STRING); + return cellKpp.getStringCellValue(); + } + + String getTarif() { + Cell cellTarif = row.getCell(6); + return cellTarif.getStringCellValue(); + } + + int getAddonCert() { + Cell cellAddonCert = row.getCell(11); + cellAddonCert.setCellType(Cell.CELL_TYPE_NUMERIC); + return (int)cellAddonCert.getNumericCellValue(); + } + + int getAddonKpp() { + Cell cellAddonKpp = row.getCell(13); + cellAddonKpp.setCellType(Cell.CELL_TYPE_NUMERIC); + return (int)cellAddonKpp.getNumericCellValue(); + } + + int getAddonNaprov() { + Cell cellAddonNaprov = row.getCell(9); + cellAddonNaprov.setCellType(Cell.CELL_TYPE_NUMERIC); + return (int)cellAddonNaprov.getNumericCellValue(); } @Override public String toString() { - return "{inn: \"" + inn + - "\", kpp:\"" + kpp + - "\", tarif:\"" + tarif + "\"}"; + return "{inn: \"" + getInn() + + "\", kpp:\"" + getKpp() + + "\", tarif:\"" + getTarif() + "\"}"; } } diff --git a/src/main/java/ru/dmitriymx/astralcheckreport/ExcelReader.java b/src/main/java/ru/dmitriymx/astralcheckreport/ExcelReader.java index d3b448e..c28362b 100644 --- a/src/main/java/ru/dmitriymx/astralcheckreport/ExcelReader.java +++ b/src/main/java/ru/dmitriymx/astralcheckreport/ExcelReader.java @@ -25,32 +25,7 @@ class ExcelReader { Cell cellInn = row.getCell(2); cellInn.setCellType(Cell.CELL_TYPE_STRING); if (cellInn.getStringCellValue().isEmpty()) return null; - Cell cellKpp = row.getCell(3); - cellKpp.setCellType(Cell.CELL_TYPE_STRING); - Cell cellTarif = row.getCell(6); - Cell cellAddonNaprov = row.getCell(9); - cellAddonNaprov.setCellType(Cell.CELL_TYPE_NUMERIC); - Cell cellFsrar = row.getCell(10); - cellFsrar.setCellType(Cell.CELL_TYPE_NUMERIC); - Cell cellAddonCert = row.getCell(11); - cellAddonCert.setCellType(Cell.CELL_TYPE_NUMERIC); - Cell cellEgrul = row.getCell(12); - cellEgrul.setCellType(Cell.CELL_TYPE_NUMERIC); - Cell cellAddonKpp = row.getCell(13); - cellAddonKpp.setCellType(Cell.CELL_TYPE_NUMERIC); - Cell cellTranzaks = row.getCell(14); - cellTranzaks.setCellType(Cell.CELL_TYPE_NUMERIC); - return new ExcelDataRow( - cellInn.getStringCellValue(), - cellKpp.getStringCellValue(), - cellTarif.getStringCellValue(), - (int)cellAddonNaprov.getNumericCellValue(), - (int)cellFsrar.getNumericCellValue(), - (int)cellAddonCert.getNumericCellValue(), - (int)cellEgrul.getNumericCellValue(), - (int)cellAddonKpp.getNumericCellValue(), - (int)cellTranzaks.getNumericCellValue() - ); + return new ExcelDataRow(row); } } diff --git a/src/main/java/ru/dmitriymx/astralcheckreport/Main.java b/src/main/java/ru/dmitriymx/astralcheckreport/Main.java index c02a514..663ce95 100644 --- a/src/main/java/ru/dmitriymx/astralcheckreport/Main.java +++ b/src/main/java/ru/dmitriymx/astralcheckreport/Main.java @@ -81,30 +81,30 @@ public class Main implements Runnable { ExcelDataRow data; while( !Thread.currentThread().isInterrupted() && ((data = nextData()) != null) ) { - logger.info("Проверяю {} / {} ...", data.inn, data.kpp); + logger.info("Проверяю {} / {} ...", data.getInn(), data.getKpp()); logger.debug("data = {}", data); - Organization organization = astral.getOrganization(data.inn, data.kpp); + Organization organization = astral.getOrganization(data.getInn(), data.getKpp()); if (organization == null) { - logger.error("({}/{}): Организация не найдена!", data.inn, data.kpp); + logger.error("({}/{}): Организация не найдена!", data.getInn(), data.getKpp()); safeSleep(sleepThread); continue; } logger.debug("result = {}", organization); - if (data.tarif.equalsIgnoreCase("Акция 3 месяца")) { + if (data.getTarif().equalsIgnoreCase("Акция 3 месяца")) { tarif_Akcia3Mount(astral, organization, data); } - else if (data.tarif.equalsIgnoreCase("Группа компаний")) { + else if (data.getTarif().equalsIgnoreCase("Группа компаний")) { tarif_GroupCompany(organization, data); } - else if (data.tarif.equalsIgnoreCase("Оптимальный, 4 направ.")) { + else if (data.getTarif().equalsIgnoreCase("Оптимальный, 4 направ.")) { tarif_Optimalniy(astral, organization, data); } - else if (data.tarif.equalsIgnoreCase("Базовый, 2 направ.")) { + else if (data.getTarif().equalsIgnoreCase("Базовый, 2 направ.")) { tarif_Basic(astral, organization, data); } else { - logger.info("Не задана логика для тарифа: \"{}\"", data.tarif); + logger.info("Не задана логика для тарифа: \"{}\"", data.getTarif()); } safeSleep(sleepThread); @@ -139,7 +139,7 @@ public class Main implements Runnable { JsonObject historyCert = astral.historyCert(product.id); int totalCert = historyCert.get("total").getAsInt(); if (totalCert > 1) { - if (totalCert != (1 + data.addonCert)) { + if (totalCert != (1 + data.getAddonCert())) { logger.error("({}/{}): Ошибка количества сертификатов!", organization.inn, organization.kpp); } } @@ -288,15 +288,15 @@ public class Main implements Runnable { } } - boolean boolFNS = (countFNS == 0 || countFNS == 1 + data.addonKpp); - if (countFNS == 0 && data.addonKpp > 0) { - logger.warn("({}/{}): Внимание! Странное значение ФНС/Доп.КПП", data.inn, data.kpp); + boolean boolFNS = (countFNS == 0 || countFNS == 1 + data.getAddonKpp()); + if (countFNS == 0 && data.getAddonKpp() > 0) { + logger.warn("({}/{}): Внимание! Странное значение ФНС/Доп.КПП", data.getInn(), data.getKpp()); } boolean boolFSS = (countFSS == 0 || countFSS == 1); boolean boolRosstat = (countRosstat == 0 || countRosstat == 1); boolean boolPFR = (countPFR == 0 || countPFR == 1); - if (countFNS + countFSS + countRosstat + countPFR > 4 + data.addonKpp) { + if (countFNS + countFSS + countRosstat + countPFR > 4 + data.getAddonKpp()) { return false; } @@ -331,15 +331,15 @@ public class Main implements Runnable { } } - boolean boolFNS = (countFNS == 0 || countFNS == 1 + data.addonKpp); - if (countFNS == 0 && data.addonKpp > 0) { - logger.warn("({}/{}): Внимание! Странное значение ФНС/Доп.КПП", data.inn, data.kpp); + boolean boolFNS = (countFNS == 0 || countFNS == 1 + data.getAddonKpp()); + if (countFNS == 0 && data.getAddonKpp() > 0) { + logger.warn("({}/{}): Внимание! Странное значение ФНС/Доп.КПП", data.getInn(), data.getInn()); } boolean boolFSS = (countFSS == 0 || countFSS == 1); boolean boolRosstat = (countRosstat == 0 || countRosstat == 1); boolean boolPFR = (countPFR == 0 || countPFR == 1); - if (countFNS + countFSS + countRosstat + countPFR > 2 + data.addonKpp + data.addonNaprov) { + if (countFNS + countFSS + countRosstat + countPFR > 2 + data.getAddonKpp() + data.getAddonNaprov()) { return false; }