Archived
0
This commit is contained in:
2018-06-05 09:20:57 +03:00
parent da07f0a362
commit 4fd5ccd2f7
4 changed files with 60 additions and 47 deletions

18
pom.xml
View File

@@ -8,7 +8,7 @@
<groupId>ru.dmitriymx</groupId> <groupId>ru.dmitriymx</groupId>
<artifactId>corrector-1s</artifactId> <artifactId>corrector-1s</artifactId>
<packaging>jar</packaging> <packaging>jar</packaging>
<version>1.0-SNAPSHOT</version> <version>1.0.1-SNAPSHOT</version>
<developers> <developers>
<developer> <developer>
@@ -144,12 +144,12 @@
<path>./jre</path> <path>./jre</path>
</jre> </jre>
<versionInfo> <versionInfo>
<fileVersion>1.0.0.0</fileVersion> <fileVersion>1.0.1.0</fileVersion>
<txtFileVersion>1.0</txtFileVersion> <txtFileVersion>1.0.1</txtFileVersion>
<fileDescription>Corrector 1S</fileDescription> <fileDescription>Corrector 1S</fileDescription>
<copyright>DmitriyMX, 2018</copyright> <copyright>DmitriyMX, 2018</copyright>
<productVersion>1.0.0.0</productVersion> <productVersion>1.0.1.0</productVersion>
<txtProductVersion>1.0</txtProductVersion> <txtProductVersion>1.0.1</txtProductVersion>
<productName>Corrector 1S</productName> <productName>Corrector 1S</productName>
<internalName>corrector-1s</internalName> <internalName>corrector-1s</internalName>
<originalFilename>${project.artifactId}-${project.version}.exe</originalFilename> <originalFilename>${project.artifactId}-${project.version}.exe</originalFilename>
@@ -175,12 +175,12 @@
<path>./jre</path> <path>./jre</path>
</jre> </jre>
<versionInfo> <versionInfo>
<fileVersion>1.0.0.0</fileVersion> <fileVersion>1.0.1.0</fileVersion>
<txtFileVersion>1.0</txtFileVersion> <txtFileVersion>1.0.1</txtFileVersion>
<fileDescription>Corrector 1S</fileDescription> <fileDescription>Corrector 1S</fileDescription>
<copyright>DmitriyMX, 2018</copyright> <copyright>DmitriyMX, 2018</copyright>
<productVersion>1.0.0.0</productVersion> <productVersion>1.0.1.0</productVersion>
<txtProductVersion>1.0</txtProductVersion> <txtProductVersion>1.0.1</txtProductVersion>
<productName>Corrector 1S</productName> <productName>Corrector 1S</productName>
<internalName>corrector-1s</internalName> <internalName>corrector-1s</internalName>
<originalFilename>${project.artifactId}-${project.version}-cli.exe</originalFilename> <originalFilename>${project.artifactId}-${project.version}-cli.exe</originalFilename>

View File

@@ -35,6 +35,7 @@ public class Corrector1S {
private Workbook workbook; private Workbook workbook;
private Sheet sheet; private Sheet sheet;
private int cellNumSum = 0; private int cellNumSum = 0;
private int cellBol = 0;
private int lastColumn = 0; private int lastColumn = 0;
private CellStyle cellStyle1, cellStyle2; private CellStyle cellStyle1, cellStyle2;
@@ -60,16 +61,10 @@ public class Corrector1S {
Workbook workbook = WorkbookFactory.create(sourceFile); Workbook workbook = WorkbookFactory.create(sourceFile);
Sheet sheet = workbook.getSheetAt(0); Sheet sheet = workbook.getSheetAt(0);
try { try {
Cell cell = sheet.getRow(6).getCell(9); sheet.getRow(6).getCell(8);
if (!cell.getStringCellValue().equals("Больничный за счет работодателя")) { sheet.getRow(7).getCell(8);
throw new FormatFileException(); sheet.getRow(8).getCell(8);
} sheet.getRow(9).getCell(8);
sheet.getRow(7).getCell(9);
sheet.getRow(8).getCell(9);
sheet.getRow(9).getCell(9);
} catch (FormatFileException e) {
throw e;
} catch (Exception e) { } catch (Exception e) {
throw new FormatFileException(e); throw new FormatFileException(e);
} }
@@ -82,7 +77,7 @@ public class Corrector1S {
Cell cell; Cell cell;
loop: loop:
for (int c = 10; true; c++) { for (int c = 8; true; c++) {
ExcelRecord record = new ExcelRecord(); ExcelRecord record = new ExcelRecord();
for (int r = 6; r < 9; r++) { for (int r = 6; r < 9; r++) {
@@ -109,7 +104,7 @@ public class Corrector1S {
while (sheet.getNumMergedRegions() > 5) { while (sheet.getNumMergedRegions() > 5) {
for(int m = 0; m < sheet.getNumMergedRegions(); m++) { for(int m = 0; m < sheet.getNumMergedRegions(); m++) {
CellRangeAddress cellRangeAddress = sheet.getMergedRegion(m); CellRangeAddress cellRangeAddress = sheet.getMergedRegion(m);
if (cellRangeAddress.getFirstColumn() >= 10) { if (cellRangeAddress.getFirstColumn() >= 8) {
sheet.removeMergedRegion(m); sheet.removeMergedRegion(m);
break; break;
} }
@@ -148,31 +143,36 @@ public class Corrector1S {
} }
public void replaceData() { public void replaceData() {
int c = 10; int c = 8;
setCellRecord(mapRecords.remove("Дневные"), c++); ExcelRecord record;
setCellRecord(mapRecords.remove("Ночные"), c++); if ((record = mapRecords.remove("Больничный за счет работодателя_105")) != null) {
setCellRecord(mapRecords.remove("Ночные_123"), c++); setCellRecord(record, c++);
setCellRecord(mapRecords.remove("питание_124"), c++); this.cellBol = c-1;
setCellRecord(mapRecords.remove("Выходные"), c++); }
setCellRecord(mapRecords.remove("выходные_135"), c++); if ((record = mapRecords.remove("Дневные")) != null) setCellRecord(record, c++);
setCellRecord(mapRecords.remove("пересчет за прошлый месяц _141"), c++); if ((record = mapRecords.remove("Ночные")) != null) setCellRecord(record, c++);
setCellRecord(mapRecords.remove("вредность_145"), c++); if ((record = mapRecords.remove("Ночные_123")) != null) setCellRecord(record, c++);
setCellRecord(mapRecords.remove("Материальная помощь при рождении ребенка_148"), c++); if ((record = mapRecords.remove("питание_124")) != null) setCellRecord(record, c++);
setCellRecord(mapRecords.remove("компенсация за задержку зарплаты_169"), c++); if ((record = mapRecords.remove("Выходные")) != null) setCellRecord(record, c++);
setCellRecord(mapRecords.remove("Оплата по среднему (донорство, посещение врача)_174"), c++); if ((record = mapRecords.remove("выходные_135")) != null) setCellRecord(record, c++);
setCellRecord(mapRecords.remove("Компенсация проезда при использовании личного транспорта_176"), c++); if ((record = mapRecords.remove("пересчет за прошлый месяц _141")) != null) setCellRecord(record, c++);
setCellRecord(mapRecords.remove("Сверхурочные 1.5 ставки"), c++); if ((record = mapRecords.remove("вредность_145")) != null) setCellRecord(record, c++);
setCellRecord(mapRecords.remove("сверхурочные 1,5_180"), c++); if ((record = mapRecords.remove("Материальная помощь при рождении ребенка_148")) != null) setCellRecord(record, c++);
setCellRecord(mapRecords.remove("Сверхурочные 2 ставки"), c++); if ((record = mapRecords.remove("компенсация за задержку зарплаты_169")) != null) setCellRecord(record, c++);
setCellRecord(mapRecords.remove("сверхурочные 2_181"), c++); if ((record = mapRecords.remove("Оплата по среднему (донорство, посещение врача)_174")) != null) setCellRecord(record, c++);
setCellRecord(mapRecords.remove("Компенсация за неиспользованный отпуск (с декабря 2017)_184"), c++); if ((record = mapRecords.remove("Компенсация проезда при использовании личного транспорта_176")) != null) setCellRecord(record, c++);
setCellRecord(mapRecords.remove("Месячная премия 2018_186"), c++); if ((record = mapRecords.remove("Сверхурочные 1.5 ставки")) != null) setCellRecord(record, c++);
setCellRecord(mapRecords.remove("Итого начислено"), c++); if ((record = mapRecords.remove("сверхурочные 1,5_180")) != null) setCellRecord(record, c++);
if ((record = mapRecords.remove("Сверхурочные 2 ставки")) != null) setCellRecord(record, c++);
if ((record = mapRecords.remove("сверхурочные 2_181")) != null) setCellRecord(record, c++);
if ((record = mapRecords.remove("Компенсация за неиспользованный отпуск (с декабря 2017)_184")) != null) setCellRecord(record, c++);
if ((record = mapRecords.remove("Месячная премия 2018_186")) != null) setCellRecord(record, c++);
if ((record = mapRecords.remove("Итого начислено")) != null) setCellRecord(record, c++);
cellNumSum = c-1; cellNumSum = c-1;
if (mapRecords.size() > 0) { if (mapRecords.size() > 0) {
for (ExcelRecord record : mapRecords.values()) { for (ExcelRecord rec : mapRecords.values()) {
setCellRecord(record, c++); setCellRecord(rec, c++);
} }
} }
@@ -228,11 +228,23 @@ public class Corrector1S {
initStyle(); initStyle();
int column = lastColumn; int column = lastColumn;
String form1, form2;
if (cellBol == 0) {
form1 = String.format("(%s9)*31%%", CellReference.convertNumToColString(cellNumSum));
form2 = String.format("(%s10)*31%%", CellReference.convertNumToColString(cellNumSum));
} else {
form1 = String.format("(%s9-%s9)*31%%",
CellReference.convertNumToColString(cellNumSum),
CellReference.convertNumToColString(cellBol));
form2 = String.format("(%s10-%s10)*31%%",
CellReference.convertNumToColString(cellNumSum),
CellReference.convertNumToColString(cellBol));
}
insertCell( insertCell(
"Страховые взносы + ФСС НС (31%)", "Страховые взносы + ФСС НС (31%)",
"Начислено", "Начислено",
String.format("(%s9-J9)*31%%", CellReference.convertNumToColString(cellNumSum)), form1,
String.format("(%s10-J10)*31%%", CellReference.convertNumToColString(cellNumSum)), form2,
column++ column++
); );
insertCell( insertCell(

View File

@@ -12,7 +12,7 @@ import java.util.List;
@Slf4j @Slf4j
public class Main { public class Main {
public static final String VERSION = "1.0"; public static final String VERSION = "1.0.1";
private static OptionParser buildOptionParser() { private static OptionParser buildOptionParser() {
final OptionParser optionParser = new OptionParser(); final OptionParser optionParser = new OptionParser();

View File

@@ -5,6 +5,7 @@ import javafx.fxml.FXMLLoader;
import javafx.scene.Scene; import javafx.scene.Scene;
import javafx.scene.image.Image; import javafx.scene.image.Image;
import javafx.stage.Stage; import javafx.stage.Stage;
import ru.dmitriymx.corrector1s.Main;
import java.io.IOException; import java.io.IOException;
@@ -16,7 +17,7 @@ public class MainApp extends Application {
@Override @Override
public void start(Stage primaryStage) throws Exception { public void start(Stage primaryStage) throws Exception {
primaryStage.setTitle("1С корректор (v1.0)"); primaryStage.setTitle(String.format("1С корректор (v%s)", Main.VERSION));
primaryStage.setResizable(false); primaryStage.setResizable(false);
primaryStage.getIcons().add(new Image(getClass().getResourceAsStream("excel.png"))); primaryStage.getIcons().add(new Image(getClass().getResourceAsStream("excel.png")));
primaryStage.setScene(loadScene(primaryStage)); primaryStage.setScene(loadScene(primaryStage));