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