Рефакторинг класса ExcelDataRow
This commit is contained in:
@@ -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() + "\"}";
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user