0

Рефакторинг класса ExcelDataRow

This commit is contained in:
2016-06-04 15:39:17 +03:00
parent 6dc119cc45
commit 6c8b2e1fa4
3 changed files with 63 additions and 60 deletions

View File

@@ -4,27 +4,55 @@
*/ */
package ru.dmitriymx.astralcheckreport; package ru.dmitriymx.astralcheckreport;
class ExcelDataRow { import org.apache.poi.ss.usermodel.Cell;
String inn, kpp, tarif; import org.apache.poi.ss.usermodel.Row;
int addonNaprov, fsrar, addonCert, egrul, addonKpp, tranzaks;
ExcelDataRow(String inn, String kpp, String tarif, class ExcelDataRow {
int addonNaprov, int fsrar, int addonCert, int egrul, int addonKpp, int tranzaks) { private Row row;
this.inn = inn;
this.kpp = kpp; ExcelDataRow(Row row) {
this.tarif = tarif; this.row = row;
this.addonNaprov = addonNaprov; }
this.fsrar = fsrar;
this.addonCert = addonCert; String getInn() {
this.egrul = egrul; Cell cellInn = row.getCell(2);
this.addonKpp = addonKpp; cellInn.setCellType(Cell.CELL_TYPE_STRING);
this.tranzaks = tranzaks; 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 @Override
public String toString() { public String toString() {
return "{inn: \"" + inn + return "{inn: \"" + getInn() +
"\", kpp:\"" + kpp + "\", kpp:\"" + getKpp() +
"\", tarif:\"" + tarif + "\"}"; "\", tarif:\"" + getTarif() + "\"}";
} }
} }

View File

@@ -25,32 +25,7 @@ class ExcelReader {
Cell cellInn = row.getCell(2); Cell cellInn = row.getCell(2);
cellInn.setCellType(Cell.CELL_TYPE_STRING); cellInn.setCellType(Cell.CELL_TYPE_STRING);
if (cellInn.getStringCellValue().isEmpty()) return null; 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( return new ExcelDataRow(row);
cellInn.getStringCellValue(),
cellKpp.getStringCellValue(),
cellTarif.getStringCellValue(),
(int)cellAddonNaprov.getNumericCellValue(),
(int)cellFsrar.getNumericCellValue(),
(int)cellAddonCert.getNumericCellValue(),
(int)cellEgrul.getNumericCellValue(),
(int)cellAddonKpp.getNumericCellValue(),
(int)cellTranzaks.getNumericCellValue()
);
} }
} }

View File

@@ -81,30 +81,30 @@ public class Main implements Runnable {
ExcelDataRow data; ExcelDataRow data;
while( !Thread.currentThread().isInterrupted() && ((data = nextData()) != null) ) { while( !Thread.currentThread().isInterrupted() && ((data = nextData()) != null) ) {
logger.info("Проверяю {} / {} ...", data.inn, data.kpp); logger.info("Проверяю {} / {} ...", data.getInn(), data.getKpp());
logger.debug("data = {}", data); logger.debug("data = {}", data);
Organization organization = astral.getOrganization(data.inn, data.kpp); Organization organization = astral.getOrganization(data.getInn(), data.getKpp());
if (organization == null) { if (organization == null) {
logger.error("({}/{}): Организация не найдена!", data.inn, data.kpp); logger.error("({}/{}): Организация не найдена!", data.getInn(), data.getKpp());
safeSleep(sleepThread); safeSleep(sleepThread);
continue; continue;
} }
logger.debug("result = {}", organization); logger.debug("result = {}", organization);
if (data.tarif.equalsIgnoreCase("Акция 3 месяца")) { if (data.getTarif().equalsIgnoreCase("Акция 3 месяца")) {
tarif_Akcia3Mount(astral, organization, data); tarif_Akcia3Mount(astral, organization, data);
} }
else if (data.tarif.equalsIgnoreCase("Группа компаний")) { else if (data.getTarif().equalsIgnoreCase("Группа компаний")) {
tarif_GroupCompany(organization, data); tarif_GroupCompany(organization, data);
} }
else if (data.tarif.equalsIgnoreCase("Оптимальный, 4 направ.")) { else if (data.getTarif().equalsIgnoreCase("Оптимальный, 4 направ.")) {
tarif_Optimalniy(astral, organization, data); tarif_Optimalniy(astral, organization, data);
} }
else if (data.tarif.equalsIgnoreCase("Базовый, 2 направ.")) { else if (data.getTarif().equalsIgnoreCase("Базовый, 2 направ.")) {
tarif_Basic(astral, organization, data); tarif_Basic(astral, organization, data);
} }
else { else {
logger.info("Не задана логика для тарифа: \"{}\"", data.tarif); logger.info("Не задана логика для тарифа: \"{}\"", data.getTarif());
} }
safeSleep(sleepThread); safeSleep(sleepThread);
@@ -139,7 +139,7 @@ public class Main implements Runnable {
JsonObject historyCert = astral.historyCert(product.id); JsonObject historyCert = astral.historyCert(product.id);
int totalCert = historyCert.get("total").getAsInt(); int totalCert = historyCert.get("total").getAsInt();
if (totalCert > 1) { if (totalCert > 1) {
if (totalCert != (1 + data.addonCert)) { if (totalCert != (1 + data.getAddonCert())) {
logger.error("({}/{}): Ошибка количества сертификатов!", organization.inn, organization.kpp); logger.error("({}/{}): Ошибка количества сертификатов!", organization.inn, organization.kpp);
} }
} }
@@ -288,15 +288,15 @@ public class Main implements Runnable {
} }
} }
boolean boolFNS = (countFNS == 0 || countFNS == 1 + data.addonKpp); boolean boolFNS = (countFNS == 0 || countFNS == 1 + data.getAddonKpp());
if (countFNS == 0 && data.addonKpp > 0) { if (countFNS == 0 && data.getAddonKpp() > 0) {
logger.warn("({}/{}): Внимание! Странное значение ФНС/Доп.КПП", data.inn, data.kpp); logger.warn("({}/{}): Внимание! Странное значение ФНС/Доп.КПП", data.getInn(), data.getKpp());
} }
boolean boolFSS = (countFSS == 0 || countFSS == 1); boolean boolFSS = (countFSS == 0 || countFSS == 1);
boolean boolRosstat = (countRosstat == 0 || countRosstat == 1); boolean boolRosstat = (countRosstat == 0 || countRosstat == 1);
boolean boolPFR = (countPFR == 0 || countPFR == 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; return false;
} }
@@ -331,15 +331,15 @@ public class Main implements Runnable {
} }
} }
boolean boolFNS = (countFNS == 0 || countFNS == 1 + data.addonKpp); boolean boolFNS = (countFNS == 0 || countFNS == 1 + data.getAddonKpp());
if (countFNS == 0 && data.addonKpp > 0) { if (countFNS == 0 && data.getAddonKpp() > 0) {
logger.warn("({}/{}): Внимание! Странное значение ФНС/Доп.КПП", data.inn, data.kpp); logger.warn("({}/{}): Внимание! Странное значение ФНС/Доп.КПП", data.getInn(), data.getInn());
} }
boolean boolFSS = (countFSS == 0 || countFSS == 1); boolean boolFSS = (countFSS == 0 || countFSS == 1);
boolean boolRosstat = (countRosstat == 0 || countRosstat == 1); boolean boolRosstat = (countRosstat == 0 || countRosstat == 1);
boolean boolPFR = (countPFR == 0 || countPFR == 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; return false;
} }