From: satomichan <...@...>
Date: Sat, 26 Jun 2021 05:37:50 +0000 (+0900)
Subject: 「付加行」機能 実装(いちおう)完了。
X-Git-Tag: JAR_2021-06-26_2349_BUILD~1
X-Git-Url: https://satomichan.jp/gitweb/?a=commitdiff_plain;h=5ead7185b8b04d74757dd3a9b07caf0f9eca4e63;p=nucalgen
「付加行」機能 実装(いちおう)完了。
「食品群別摂取量」部分を、プログラムから設定ファイルに分離した。
---
diff --git a/nucalgen/group-sum.xml b/nucalgen/group-sum.xml
new file mode 100644
index 0000000..87db1cc
--- /dev/null
+++ b/nucalgen/group-sum.xml
@@ -0,0 +1,34 @@
+
+
+
+ |
+ é£åç¾¤å¥æåé |
+
+
+ |
+ é£å群 |
+ |
+ æåé(g) |
+
+
+ | 1 | ç©é¡ | SUMIF(AREA_GROUP, 1, AREA_INTAKE) |
+ | 2 | ããåã³ã§ãç²é¡ | SUMIF(AREA_GROUP, 2, AREA_INTAKE) |
+ | 3 | ç ç³åã³çå³é¡ | SUMIF(AREA_GROUP, 3, AREA_INTAKE) |
+ | 4 | è±é¡ | SUMIF(AREA_GROUP, 4, AREA_INTAKE) |
+ | 5 | 種å®é¡ | SUMIF(AREA_GROUP, 5, AREA_INTAKE) |
+ | 6 | éèé¡ | SUMIF(AREA_GROUP, 6, AREA_INTAKE) |
+ | | ãã¡ãç·é»è²éè | SUMIF(AREA_BRIGHT_COLORED_VEGETABLE, 1, AREA_INTAKE) |
+ | 7 | æå®é¡ | SUMIF(AREA_GROUP, 7, AREA_INTAKE) |
+ | 8 | ãã®ãé¡ | SUMIF(AREA_GROUP, 8, AREA_INTAKE) |
+ | 9 | è»é¡ | SUMIF(AREA_GROUP, 9, AREA_INTAKE) |
+ | 10 | éä»é¡ | SUMIF(AREA_GROUP, 10, AREA_INTAKE) |
+ | 11 | èé¡ | SUMIF(AREA_GROUP, 11, AREA_INTAKE) |
+ | 12 | åµé¡ | SUMIF(AREA_GROUP, 12, AREA_INTAKE) |
+ | 13 | ä¹³é¡ | SUMIF(AREA_GROUP, 13, AREA_INTAKE) |
+ | 14 | æ²¹èé¡ | SUMIF(AREA_GROUP, 14, AREA_INTAKE) |
+ | 15 | èåé¡ | SUMIF(AREA_GROUP, 15, AREA_INTAKE) |
+ | 16 | ã好飲æé¡ | SUMIF(AREA_GROUP, 16, AREA_INTAKE) |
+ | 17 | èª¿å³æåã³é¦è¾æé¡ | SUMIF(AREA_GROUP, 17, AREA_INTAKE) |
+ | 18 | 調çå å·¥é£åé¡ | SUMIF(AREA_GROUP, 18, AREA_INTAKE) |
+
+
diff --git a/nucalgen/src/main/java/jp/satomichan/nucalgen/Nucalgen.java b/nucalgen/src/main/java/jp/satomichan/nucalgen/Nucalgen.java
index b6065c9..2cf039e 100644
--- a/nucalgen/src/main/java/jp/satomichan/nucalgen/Nucalgen.java
+++ b/nucalgen/src/main/java/jp/satomichan/nucalgen/Nucalgen.java
@@ -4,7 +4,6 @@ import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.util.ArrayList;
-import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -25,7 +24,6 @@ import org.apache.poi.ss.util.CellRangeAddress;
import org.apache.poi.ss.util.CellReference;
import jp.satomichan.nucalgen.addition.AcCell;
-import jp.satomichan.nucalgen.addition.AcCellType;
import jp.satomichan.nucalgen.addition.AcRow;
import jp.satomichan.nucalgen.addition.AdditionConfig;
import jp.satomichan.nucalgen.addition.AdditionUtil;
@@ -41,8 +39,6 @@ public class Nucalgen {
options.addOption(Option.builder("o").required().hasArg().longOpt("output").build());
options.addOption(Option.builder("l").required().hasArg().longOpt("lines").build());
options.addOption(Option.builder("add").hasArgs().longOpt("addition").build());
-
- options.addOption(Option.builder("groupsum").longOpt("with-group-sum").build());
options.addOption(Option.builder("bright").hasArg().longOpt("bright-colored-vegetables-list").build());
options.addOption(Option.builder("protect").longOpt("set-protect").build());
options.addOption(Option.builder("processed").longOpt("use-processed-table").build());
@@ -164,7 +160,6 @@ public class Nucalgen {
if(aColumn.isUseSum()) {
String sumArea = new CellReference(rowIndex, colIndex, true, true).formatAsString();
namedAreaMap.put("SUM_" + aColumn.getAlias(), sumArea);
- //System.out.println("SUM_" + aColumn.getAlias() + " --- " + sumArea);
}
}
@@ -185,12 +180,6 @@ public class Nucalgen {
}
}
- //ãé£åç¾¤å¥æåéãåºå
- if(cmd.hasOption("with-group-sum")) {
- rowIndex += 3;
- rowIndex = generateGroupSum(calcSheet, csPool, rowIndex, namedAreaMap);
- }
-
//æªä½¿ç¨è¡¨ã·ã¼ãåé¤
for(int si = outputWorkbook.getNumberOfSheets() - 1 ; si >= 1 ; si--) {
@@ -221,52 +210,12 @@ public class Nucalgen {
}
- //ç¾¤å¥æåé
- private static int generateGroupSum(Sheet calcSheet, CellStylePool csPool, int rowIndex, Map _namedAreaMap) {
-
- List groupName = Arrays.asList("0", "ç©é¡", "ããåã³ã§ãç²é¡", "ç ç³åã³çå³é¡", "è±é¡",
- "種å®é¡", "éèé¡", "æå®é¡", "ãã®ãé¡", "è»é¡", "éä»é¡", "èé¡", "åµé¡", "ä¹³é¡",
- "æ²¹èé¡", "èåé¡", "ã好飲æé¡", "èª¿å³æåã³é¦è¾æé¡", "調çå å·¥é£åé¡");
-
-
-
- Row groupRow = calcSheet.createRow(rowIndex);
- groupRow.createCell(1).setCellValue("é£å群");
- groupRow.createCell(3).setCellValue("æåé(g)");
- rowIndex++;
-
- for(int i = 1; i <= 18; i++,rowIndex++) {
- Row thisRow = calcSheet.createRow(rowIndex);
- thisRow.createCell(1).setCellValue(i);
- thisRow.createCell(2).setCellValue(groupName.get(i));
- Cell cCell = thisRow.createCell(3);
- cCell.setCellStyle(csPool.getCellStyle(""));
- //cCell.setCellFormula("SUMIF(AREA_GROUP, " + i + ", AREA_INTAKE)");
- cCell.setCellFormula("SUMIF(" + _namedAreaMap.get("AREA_GROUP") + ", " + i + ", " + _namedAreaMap.get("AREA_INTAKE") + ")");
-
- if(i == 6) {
- rowIndex++;
- thisRow = calcSheet.createRow(rowIndex);
- thisRow.createCell(2).setCellValue("ãã¡ãç·é»è²éè");
- Cell bcvCell = thisRow.createCell(3);
- bcvCell.setCellStyle(csPool.getCellStyle("0"));
- //bcvCell.setCellFormula("SUMIF(AREA_BRIGHT_COLORED_VEGETABLE, 1, AREA_INTAKE)");
- bcvCell.setCellFormula("SUMIF(" + _namedAreaMap.get("AREA_BRIGHT_COLORED_VEGETABLE") + ", 1, " + _namedAreaMap.get("AREA_INTAKE") + ")");
- }
-
-
- }
-
- return rowIndex;
- }
//ãä»å è¡ãçæ
private static int generateAddition(String fileName, Sheet calcSheet, CellStylePool csPool, int rowIndex,
Map _namedAreaMap) {
- System.out.println("ADDITION : " + fileName);
-
AdditionConfig ac = AdditionUtil.additionFileReader(new File(fileName));
for(AcRow acRow : ac.getRows()) { //è¡ãã¨ã®ã«ã¼ã
Row thisRow = calcSheet.createRow(rowIndex);
@@ -280,8 +229,9 @@ public class Nucalgen {
_namedAreaMap.put(acCell.getAlias(), new CellReference(rowIndex, colIndex, true, true).formatAsString());
}
- if(acCell.getCellType() == AcCellType.FORMULA) {
- String formula = "<" + acCell.getValue() + ">";
+ //formula è¨ç®å¼
+ if(acCell.getFormula() != null){
+ String formula = "<" + acCell.getFormula() + ">";
for(Entry keyValue : _namedAreaMap.entrySet()) {
String k = keyValue.getKey();
String v = keyValue.getValue();
@@ -291,8 +241,14 @@ public class Nucalgen {
formula = formula.replaceAll(">$", "");
}
thisCell.setCellFormula(formula);
- } else {
+
+ //value ãã®ã¾ã¾ã®å¤
+ } else if(acCell.getValue() != null) {
thisCell.setCellValue(acCell.getValue());
+
+ //formula ã§ã value ã§ããªã
+ } else {
+ //
}
diff --git a/nucalgen/src/main/java/jp/satomichan/nucalgen/addition/AcCell.java b/nucalgen/src/main/java/jp/satomichan/nucalgen/addition/AcCell.java
index b2d881d..20a07df 100644
--- a/nucalgen/src/main/java/jp/satomichan/nucalgen/addition/AcCell.java
+++ b/nucalgen/src/main/java/jp/satomichan/nucalgen/addition/AcCell.java
@@ -2,11 +2,11 @@ package jp.satomichan.nucalgen.addition;
public class AcCell {
private String value;
- private AcCellType type;
+ private String formula;
private String alias;
public AcCell(){
- //System.out.println("Cell#Cell()");
+ //
}
public String getValue() {
@@ -16,28 +16,7 @@ public class AcCell {
public void setValue(String value) {
this.value = value;
}
-
-
- public AcCellType getCellType() {
- return type;
- }
-
- public String getType() {
- return type.getId();
- }
-
- public void setType(String type) {
- AcCellType[] types = AcCellType.values();
- for(AcCellType aType : types) {
- if(aType.getId().equals(type)){
- this.setType(aType);
- }
- }
- }
-
- private void setType(AcCellType type) {
- this.type = type;
- }
+
public String getAlias() {
return alias;
@@ -46,4 +25,12 @@ public class AcCell {
public void setAlias(String alias) {
this.alias = alias;
}
+
+ public String getFormula() {
+ return formula;
+ }
+
+ public void setFormula(String formula) {
+ this.formula = formula;
+ }
}
diff --git a/nucalgen/src/main/java/jp/satomichan/nucalgen/addition/AcCellType.java b/nucalgen/src/main/java/jp/satomichan/nucalgen/addition/AcCellType.java
deleted file mode 100644
index a3074e2..0000000
--- a/nucalgen/src/main/java/jp/satomichan/nucalgen/addition/AcCellType.java
+++ /dev/null
@@ -1,17 +0,0 @@
-package jp.satomichan.nucalgen.addition;
-
-public enum AcCellType {
- FORMULA("formula"),
- STRING("string");
-
- private String id;
-
-
- private AcCellType(String id) {
- this.id = id;
- }
-
- public String getId() {
- return id;
- }
-}
diff --git a/nucalgen/src/main/java/jp/satomichan/nucalgen/addition/AdditionUtil.java b/nucalgen/src/main/java/jp/satomichan/nucalgen/addition/AdditionUtil.java
index 8b03346..ba1f489 100644
--- a/nucalgen/src/main/java/jp/satomichan/nucalgen/addition/AdditionUtil.java
+++ b/nucalgen/src/main/java/jp/satomichan/nucalgen/addition/AdditionUtil.java
@@ -13,11 +13,6 @@ import org.xml.sax.SAXException;
public class AdditionUtil {
- public static void main(String[] args) {
- AdditionConfig add = additionFileReader(new File("C:\\Users\\h520s\\Desktop\\pfc-balance.xml"));
- }
-
-
public static AdditionConfig additionFileReader(File reportXmlFile){
SAXParserFactory factory = SAXParserFactory.newInstance();
javax.xml.parsers.SAXParser parser = null;
@@ -37,7 +32,7 @@ public class AdditionUtil {
digester.addObjectCreate("addition/row/cell", AcCell.class);
digester.addSetNext("addition/row/cell", "addCell");
- digester.addBeanPropertySetter("addition/row/cell/type");
+ digester.addBeanPropertySetter("addition/row/cell/formula");
digester.addBeanPropertySetter("addition/row/cell/value");
digester.addBeanPropertySetter("addition/row/cell/alias");
@@ -54,6 +49,6 @@ public class AdditionUtil {
}
return addition;
-
}
+
}