From: satomichan Date: Sun, 27 Jun 2021 06:53:03 +0000 (+0900) Subject: 「PFCバランス」欄および「食品群別摂取量」欄の生成機能を、 X-Git-Tag: JAR_2021-07-10_0729_BUILD~2 X-Git-Url: https://satomichan.jp/gitweb/?p=nucalgen;a=commitdiff_plain;h=d586a20bb25ee9d801c3a16c07ce1e4322bf44f0 「PFCバランス」欄および「食品群別摂取量」欄の生成機能を、 「付加行」機能で実現するように移し替えた。 --- diff --git a/nucalgen/.classpath b/nucalgen/.classpath new file mode 100644 index 0000000..43ac6d6 --- /dev/null +++ b/nucalgen/.classpath @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/nucalgen/.gitignore b/nucalgen/.gitignore new file mode 100644 index 0000000..b83d222 --- /dev/null +++ b/nucalgen/.gitignore @@ -0,0 +1 @@ +/target/ diff --git a/nucalgen/.project b/nucalgen/.project new file mode 100644 index 0000000..e975c07 --- /dev/null +++ b/nucalgen/.project @@ -0,0 +1,23 @@ + + + nucalgen + + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.m2e.core.maven2Builder + + + + + + org.eclipse.jdt.core.javanature + org.eclipse.m2e.core.maven2Nature + + diff --git a/nucalgen/.settings/org.eclipse.jdt.core.prefs b/nucalgen/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000..a6fee6f --- /dev/null +++ b/nucalgen/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,16 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7 +org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve +org.eclipse.jdt.core.compiler.compliance=1.7 +org.eclipse.jdt.core.compiler.debug.lineNumber=generate +org.eclipse.jdt.core.compiler.debug.localVariable=generate +org.eclipse.jdt.core.compiler.debug.sourceFile=generate +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning +org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning +org.eclipse.jdt.core.compiler.release=disabled +org.eclipse.jdt.core.compiler.source=1.7 diff --git a/nucalgen/.settings/org.eclipse.m2e.core.prefs b/nucalgen/.settings/org.eclipse.m2e.core.prefs new file mode 100644 index 0000000..f897a7f --- /dev/null +++ b/nucalgen/.settings/org.eclipse.m2e.core.prefs @@ -0,0 +1,4 @@ +activeProfiles= +eclipse.preferences.version=1 +resolveWorkspaceProjects=true +version=1 diff --git a/nucalgen/cgi/items.txt b/nucalgen/cgi/items.txt new file mode 100644 index 0000000..647a680 --- /dev/null +++ b/nucalgen/cgi/items.txt @@ -0,0 +1,115 @@ +no table name disp_name alias unit formula format use_raw_value use_sum +101 成分表 REFUSE 廃棄率 % 0 TRUE FALSE +102 成分表 ENERC エネルギー kJ 0 FALSE TRUE +103 成分表 ENERC_KCAL エネルギー KCAL kcal 0 FALSE TRUE +104 成分表 WATER 水分 g 0.0 FALSE TRUE +2101 成分表 (エネルギー計算)たんぱく質 P_ENG g IF(P_COMPO=0,P,P_COMPO) 0.0 FALSE TRUE +105 成分表 PROT- たんぱく質 P g 0.0 FALSE TRUE +106 成分表 PROTCAA アミノ酸組成によるたんぱく質 P_COMPO g 0.0 FALSE TRUE +2102 成分表 (エネルギー計算)脂質 F_ENG g IF(F_TG=0,F,F_TG) 0.0 FALSE TRUE +107 成分表 FAT- 脂質 F g 0.0 FALSE TRUE +108 成分表 FATNLEA トリアシルグリセロール当量 F_TG g 0.0 FALSE TRUE +109 成分表 CHOLE コレステロール g 0 FALSE TRUE +3102 脂肪酸成分表 FASAT 飽和脂肪酸 FASAT g 0.00 FALSE TRUE +110 成分表 CHOCDF- 炭水化物 C g 0.0 FALSE TRUE +111 成分表 CHOAVLM 利用可能炭水化物(単糖当量) g 0.0 FALSE TRUE +112 成分表 CHOAVL 利用可能炭水化物(質量計) g 0.0 FALSE TRUE +113 成分表 CHOAVLDF- 差引き法による利用可能炭水化物 g 0.0 FALSE TRUE +114 成分表 FIB- 食物繊維総量 g 0.0 FALSE TRUE +115 成分表 POLYL 糖アルコール g 0.0 FALSE TRUE +116 成分表 OA 有機酸 g 0.0 FALSE TRUE +201 成分表 ASH 灰分 g 0.0 FALSE TRUE +202 成分表 NA ナトリウム mg 0 FALSE TRUE +203 成分表 K カリウム mg 0 FALSE TRUE +204 成分表 CA カルシウム mg 0 FALSE TRUE +205 成分表 MG マグネシウム mg 0 FALSE TRUE +206 成分表 P リン mg 0 FALSE TRUE +207 成分表 FE 鉄 mg 0.0 FALSE TRUE +208 成分表 ZN 亜鉛 mg 0.0 FALSE TRUE +209 成分表 CU 銅 mg 0.00 FALSE TRUE +210 成分表 MN マンガン mg 0.00 FALSE TRUE +211 成分表 ID ヨウ素 μg 0 FALSE TRUE +212 成分表 SE セレン μg 0 FALSE TRUE +213 成分表 CR クロム μg 0 FALSE TRUE +214 成分表 MO モリブデン μg 0 FALSE TRUE +301 成分表 RETOL レチノール μg 0 FALSE TRUE +302 成分表 CARTA α-カロテン μg 0 FALSE TRUE +303 成分表 CARTB β-カロテン μg 0 FALSE TRUE +304 成分表 CRYPXB β-クリプトキサンチン μg 0 FALSE TRUE +305 成分表 CARTBEQ β-カロテン当量 μg 0 FALSE TRUE +306 成分表 VITA_RAE ビタミンA μgRAE 0 FALSE TRUE +307 成分表 VITD ビタミンD μg 0 FALSE TRUE +308 成分表 TOCPHA ビタミンE mg 0.0 FALSE TRUE +309 成分表 TOCPHB β-トコフェロール mg 0.0 FALSE TRUE +310 成分表 TOCPHG γ-トコフェロール mg 0.0 FALSE TRUE +311 成分表 TOCPHD δ-トコフェロール mg 0.0 FALSE TRUE +312 成分表 VITK ビタミンK μg 0 FALSE TRUE +313 成分表 THIA ビタミンB1 mg 0.00 FALSE TRUE +314 成分表 RIBF ビタミンB2 mg 0.00 FALSE TRUE +315 成分表 NIA ナイアシン mg 0.0 FALSE TRUE +316 成分表 NE ナイアシン当量 mgNE 0.0 FALSE TRUE +317 成分表 VITB6A ビタミンB6 mg 0.00 FALSE TRUE +318 成分表 VITB12 ビタミンB12 μg 0.0 FALSE TRUE +319 成分表 FOL 葉酸 μg 0 FALSE TRUE +320 成分表 PANTAC パントテン酸 μg 0.00 FALSE TRUE +321 成分表 BIOT ビオチン μg 0.0 FALSE TRUE +322 成分表 VITC ビタミンC mg 0 FALSE TRUE +119 成分表 ALC アルコール g 0.0 FALSE TRUE +118 成分表 NACL_EQ 食塩相当量 g 0.0 FALSE TRUE +1101 脂肪酸成分表 FACID 脂肪酸総量 g 0.00 FALSE TRUE +1102 脂肪酸成分表 FASAT 飽和脂肪酸 g 0.00 FALSE TRUE +1103 脂肪酸成分表 FAMS 一価不飽和脂肪酸 g 0.00 FALSE TRUE +1104 脂肪酸成分表 FAPU 多価不飽和脂肪酸 g 0.00 FALSE TRUE +1105 脂肪酸成分表 FAPUN3 n03系多価不飽和脂肪酸 g 0.00 FALSE TRUE +1106 脂肪酸成分表 FAPUN6 n06系多価不飽和脂肪酸 g 0.00 FALSE TRUE +1201 脂肪酸成分表 F4D0 4:0酪酸 mg 0 FALSE TRUE +1202 脂肪酸成分表 F6D0 6:0ヘキサン酸 mg 0 FALSE TRUE +1203 脂肪酸成分表 F7D0 7:0ヘプタン酸 mg 0 FALSE TRUE +1204 脂肪酸成分表 F8D0 8:0オクタン酸 mg 0 FALSE TRUE +1205 脂肪酸成分表 F10D0 10:0デカン酸 mg 0 FALSE TRUE +1206 脂肪酸成分表 F12D0 12:0ラウリン酸 mg 0 FALSE TRUE +1207 脂肪酸成分表 F13D0 13:0トリデカン酸 mg 0 FALSE TRUE +1208 脂肪酸成分表 F14D0 14:0ミリスチン酸 mg 0 FALSE TRUE +1209 脂肪酸成分表 F15D0 15:0ペンタデカン酸 mg 0 FALSE TRUE +1210 脂肪酸成分表 F15D0SI 15:0 antペンタデカン酸 mg 0 FALSE TRUE +1211 脂肪酸成分表 F16D0 16:0パルミチン酸 mg 0 FALSE TRUE +1212 脂肪酸成分表 F16D0I 16:0 isoパルミチン酸 mg 0 FALSE TRUE +1213 脂肪酸成分表 F17D0 17:0ヘプタデカン酸 mg 0 FALSE TRUE +1214 脂肪酸成分表 F17D0AI 17:0 antヘプタデカン酸 mg 0 FALSE TRUE +1215 脂肪酸成分表 F18D0 18:0ステアリン酸 mg 0 FALSE TRUE +1216 脂肪酸成分表 F20D0 20:0アラキジン酸 mg 0 FALSE TRUE +1217 脂肪酸成分表 F22D0 22:0ベヘン酸 mg 0 FALSE TRUE +1218 脂肪酸成分表 F24D0 24:0リグノセリン酸 mg 0 FALSE TRUE +1219 脂肪酸成分表 F10D1 10:1デセン酸 mg 0 FALSE TRUE +1220 脂肪酸成分表 F14D1 14:1ミリストレイン酸 mg 0 FALSE TRUE +1221 脂肪酸成分表 F15D1 15:1ペンタデセン酸 mg 0 FALSE TRUE +1222 脂肪酸成分表 F16D1 16:1パルミトレイン酸 mg 0 FALSE TRUE +1223 脂肪酸成分表 F17D1 17:1ヘプタデセン酸 mg 0 FALSE TRUE +1301 脂肪酸成分表 F18D1 18:1計 mg 0 FALSE TRUE +1302 脂肪酸成分表 F18D1CN9 18:1 n09オレイン酸 mg 0 FALSE TRUE +1303 脂肪酸成分表 F18D1CN7 18:1 n07シス0バクセン酸 mg 0 FALSE TRUE +1304 脂肪酸成分表 F20D1 20:1イコセン酸 mg 0 FALSE TRUE +1305 脂肪酸成分表 F20D1 22:1ドコセン酸 mg 0 FALSE TRUE +1306 脂肪酸成分表 F24D1 24:1テトラコセン酸 mg 0 FALSE TRUE +1307 脂肪酸成分表 F16D2 16:2ヘキサデカジエン酸 mg 0 FALSE TRUE +1308 脂肪酸成分表 F16D3 16:3ヘキサデカトリエン酸 mg 0 FALSE TRUE +1309 脂肪酸成分表 F16D4 16:4ヘキサデカテトラエン酸 mg 0 FALSE TRUE +1310 脂肪酸成分表 F18D2N6 18:2 n06リノール酸 mg 0 FALSE TRUE +1311 脂肪酸成分表 F18D3N3 18:3 n03α‐リノレン酸 mg 0 FALSE TRUE +1312 脂肪酸成分表 F18D3N6 18:3 n06γ‐リノレン酸 mg 0 FALSE TRUE +1313 脂肪酸成分表 F18D4N3 18:4 n03オクタデカテトラエン酸 mg 0 FALSE TRUE +1314 脂肪酸成分表 F20D2N6 20:2 n06イコサジエン酸 mg 0 FALSE TRUE +1315 脂肪酸成分表 F20D3N3 20:3 n03イコサトリエン酸 mg 0 FALSE TRUE +1316 脂肪酸成分表 F20D3N6 20:3 n06イコサトリエン酸 mg 0 FALSE TRUE +1317 脂肪酸成分表 F20D4N3 20:4 n03イコサテトラエン酸 mg 0 FALSE TRUE +1318 脂肪酸成分表 F20D4N6 20:4 n06アラキドン酸 mg 0 FALSE TRUE +1319 脂肪酸成分表 F20D5N3 20:5 n03イコサペンタエン酸 mg 0 FALSE TRUE +1320 脂肪酸成分表 F21D5N3 21:5 n03ヘンイコサペンタエン酸 mg 0 FALSE TRUE +1321 脂肪酸成分表 F22D2 22:2ドコサジエン酸 mg 0 FALSE TRUE +1322 脂肪酸成分表 F22D4N6 22:4 n06ドコサテトラエン酸 mg 0 FALSE TRUE +1323 脂肪酸成分表 F22D5N3 22:5 n03 ドコサペンタエン酸 mg 0 FALSE TRUE +1324 脂肪酸成分表 F22D5N6 22:5 n06ドコサペンタエン酸 mg 0 FALSE TRUE +1325 脂肪酸成分表 F22D6N3 22:6 n03ドコサヘキサエン酸 mg 0 FALSE TRUE +1327 脂肪酸成分表 FAUN 未同定物質 mg 0 FALSE TRUE +121 成分表 GROUP 食品群 GROUP 0 TRUE FALSE +122 成分表 BRIGHT_COLORED_VEGETABLE 緑黄色野菜 BRIGHT_COLORED_VEGETABLE 0 TRUE FALSE diff --git a/nucalgen/cgi/mext2020_2021-02-03_processed.xlsx b/nucalgen/cgi/mext2020_2021-02-03_processed.xlsx new file mode 100644 index 0000000..d51683e Binary files /dev/null and b/nucalgen/cgi/mext2020_2021-02-03_processed.xlsx differ diff --git a/nucalgen/cgi/nucalgen.html b/nucalgen/cgi/nucalgen.html new file mode 100644 index 0000000..b9881d9 --- /dev/null +++ b/nucalgen/cgi/nucalgen.html @@ -0,0 +1,293 @@ + + + + + オーダーメイド栄養価計算シート生成サービス Nucalgen + + + + + + +

オーダーメイド栄養価計算シート生成サービス Nucalgen

+ +

栄養価計算をするためのシンプルな Excel シートを提供します。どの栄養成分を扱うかはオーダーメイドで、必要な項目(栄養素)のみを選択出来ます。 + PFCバランスを算出する部分や、食品群別摂取量を集計する部分を出力するかどうかも、選択出来ます。

+

文部科学省による「日本食品標準成分表2020年版(八訂)(2021年2月3日修正)」を + 組み込んであるので、「食品番号」と「摂取量」を入力するだけで各栄養成分の値が算出されます。

+ +
+ +

特長

+ + +
+ +

出力されるのはただの Excel ファイル(拡張子:xlsx)です。計算は関数の組み合わせのみで行っていて、マクロは使っていません。表計算ソフトの他に特別なソフトや、ネット接続環境は要りません。Excel 以外の他の無料で使える表計算ソフト、例えば Google スプレッドシート、 Libre Office Calc や ジャストシステム製品の JUST Calc 3 でも扱えることを確認しています。数式やレイアウトも好きなように(もちろんご自身にそのスキルがあれば、ですが)変えられます。表計算ソフトの機能を使ってグラフも自由に描画することが出来ます。

+

栄養価計算に必要最小限な構成を選べ、また数式など各自で拡張可能なようにしたので、例えば栄養学を学ぶ学生が、栄養価計算や献立作成の課題にあたる際などに便利だと思います。その目的のために開発し、実際にとある短期大学の授業で活用されているようです。

+

無料でお使いいただけます。ただし、計算の結果が正しいことは保証いたしません。出力された Excel ファイルは、営利目的も含めてご自由に使ったり改変したり他の何かに組み込んだりしてくださって結構です。再配布もかまいませんが、日本食品標準成分表の部分の扱い(出典の明記等)にはご留意ください。

+ +

食品番号の検索には、市販の紙媒体成分表の他に 食品成分データベース(文部科学省) が使えます(カナでも検索可能)。

+ +
+ +

組み込んだ「日本食品標準成分表2020年版(八訂)(2021年2月3日修正)」について

+ +

組み込んだ「日本食品標準成分表2020年版(八訂)(2021年2月3日修正)」は内容を改変・編集しています。値が「Tr」や「-」となっている箇所は 0 に置き換えています。カッコ付きの「(数字)」はカッコを外してあります。

+

また、ある食品が「緑黄色野菜」であるか否かについての列を追加していますが、その判断は食品名にこれらの文字列が含まれているか、かつ食品群が6群であるかどうかで決めています。食品名は「日本食品標準成分表2015年版(七訂)」の取扱いについての別表に拠りました。

+

「(エネルギー計算)たんぱく質」および「(エネルギー計算)脂質」も独自に追加した列です。「(エネルギー計算)たんぱく質」は「たんぱく質」or「アミノ酸組成によるたんぱく質」(後者優先)、「(エネルギー計算)脂質」は「脂質」or「トリアシルグリセロール当量」(後者優先)と同じ値です。「(エネルギー計算)たんぱく質」を表示指定するときには「たんぱく質」および「アミノ酸組成によるたんぱく質」の表示指定が、「(エネルギー計算)脂質」を表示指定するときには「脂質」および「トリアシルグリセロール当量」の表示指定が必要です。

+ +
+ +

「PFCバランス」欄生成機能について

+ +

計算式の実装にあたっては、日本給食経営管理学会による「日本食品標準成分表の改訂に伴う当面の対応に関する見解(20210503)0520修正」に示されている次の3種類の対応方法のうち、①および②の方法によるものを併記することにし、炭水化物(C)比率の計算には「なお書き」の方法をとりました。

+
+ +
+ +

「七訂の方法で計算したエネルギー量で計算」の箇所が②の方法、「八訂のエネルギー量で計算」の箇所が①の方法によるものです。

+ +
+ +

使ってみる→生成条件の設定

+ +
+ + + + + + + + + + + + + + + + + + + + + + < + + + + +
扱う栄養成分の選択
廃棄率灰分レチノール
エネルギー(kJ)ナトリウムα-カロテン
エネルギー(kcal)カリウムβ-カロテン
水分カルシウムβ-クリプトキサンチン
マグネシウムβ-カロテン当量
(エネルギー計算)たんぱく質リンビタミンA(レチノール活性当量)
たんぱく質鉄ビタミンD
アミノ酸組成によるたんぱく質亜鉛ビタミンE
(エネルギー計算)脂質銅β-トコフェロール
脂質マンガンγ-トコフェロール
トリアシルグリセロール当量ヨウ素δ-トコフェロール
コレステロールセレンビタミンK
飽和脂肪酸クロムビタミンB1
モリブデンビタミンB2
炭水化物ナイアシン
利用可能炭水化物(単糖当量)ナイアシン当量
利用可能炭水化物(質量計)ビタミンB6
差引き法による利用可能炭水化物ビタミンB12
食物繊維総量葉酸
糖アルコール食塩相当量パントテン酸
有機酸食品群ビオチン
アルコール緑黄色野菜ビタミンC
+ +
+ 「脂肪酸」の項目を設定する(ここをクリックすると開きます) + + + + + + + + + + + + + + + + + + + + + + + + + + + +
脂肪酸総量4:0酪酸18:1計
飽和脂肪酸6:0ヘキサン酸18:1 n09オレイン酸
一価不飽和脂肪酸7:0ヘプタン酸18:1 n07シス0バクセン酸
多価不飽和脂肪酸8:0オクタン酸20:1イコセン酸
n03系多価不飽和脂肪酸10:0デカン酸22:1ドコセン酸
n06系多価不飽和脂肪酸12:0ラウリン酸24:1テトラコセン酸
13:0トリデカン酸16:2ヘキサデカジエン酸
14:0ミリスチン酸16:3ヘキサデカトリエン酸
15:0ペンタデカン酸16:4ヘキサデカテトラエン酸
15:0 antペンタデカン酸18:2 n06リノール酸
16:0パルミチン酸18:3 n03α‐リノレン酸
16:0 isoパルミチン酸18:3 n06γ‐リノレン酸
17:0ヘプタデカン酸18:4 n03オクタデカテトラエン酸
17:0 antヘプタデカン酸20:2 n06イコサジエン酸
18:0ステアリン酸20:3 n03イコサトリエン酸
20:0アラキジン酸20:3 n06イコサトリエン酸
22:0ベヘン酸20:4 n03イコサテトラエン酸
24:0リグノセリン酸20:4 n06アラキドン酸
10:1デセン酸20:5 n03イコサペンタエン酸
14:1ミリストレイン酸21:5 n03ヘンイコサペンタエン酸
15:1ペンタデセン酸22:2ドコサジエン酸
16:1パルミトレイン酸22:4 n06ドコサテトラエン酸
17:1ヘプタデセン酸22:5 n03 ドコサペンタエン酸
22:5 n06ドコサペンタエン酸
22:6 n03ドコサヘキサエン酸
未同定物質
+
+ + + + + + +
+ +

基本5項目・・・食品表示基準第3条第1項の表の規定する、義務表示の栄養成分
+ 標準12項目・・・一般的な「栄養管理報告書」の栄養成分 +炭水化物

+ +
+ + 行数:
+ +
+ + 「PFCバランス」欄を生成する (「エネルギー(kcal)」「(エネルギー計算)たんぱく質」「たんぱく質」「アミノ酸組成によるたんぱく質」「(エネルギー計算)脂質」「脂質」「トリアシルグリセロール当量」「飽和脂肪酸」のチェックが必須です)。 +
+ 「食品群別摂取量」欄を生成する (「食品群」「緑黄色野菜」のチェックが必須です) +
+ 入力可能セル(「食品番号」「摂取量」)以外のセルをロックする(関数の誤消去防止、パスワードなしで解除もできます) +
+ +
+ +
+ + (クリック後、10秒ほどお待ちください。xlsx ファイルがダウンロードされます。) + +
+ +
+ +
+ +

この生成プログラムは Java で書かれています。生成プログラムの解説はこちら に書きました。

+ + + +

"Nucalgen" (https://nucalgen.satomichan.jp/) © + + by 福田さとみ (FUKUDA Satomi, nucalgen-web-20201227@satomichan.jp)

+ + diff --git a/nucalgen/cgi/nucalgen_front.cgi b/nucalgen/cgi/nucalgen_front.cgi new file mode 100644 index 0000000..cbcb451 --- /dev/null +++ b/nucalgen/cgi/nucalgen_front.cgi @@ -0,0 +1,198 @@ +#!/usr/bin/perl -w + +use strict; +# エラーをブラウザに表示 +use CGI::Carp qw(fatalsToBrowser); + +use utf8; +use Encode 'decode'; +use CGI; + +use FindBin; +my $temp_path = "$FindBin::RealBin/temp"; + +my $uketsuke_num = &get_uketsuke_num(); + +my $output_filename = "${temp_path}/${uketsuke_num}.xlsx"; +my $items_xml_filename = "${temp_path}/${uketsuke_num}.xml"; + + + +my $query = new CGI; + + +my @items = (); +open(IT, 'items.txt'); + +my $items_title_line = ; +chomp($items_title_line); +my @items_titles = split(/\t/, $items_title_line); + +foreach my $items_line (){ + chomp($items_line); + my @items_values = split(/\t/, $items_line); + my $tag = ""; + my $title_count = 0; + my $this_item; + foreach my $a_title (@items_titles){ + $this_item->{$a_title} = $items_values[$title_count]; + $tag .= "<$a_title>". $items_values[$title_count]. ""; + $title_count++; + } + + $this_item->{tag} = $tag; + push(@items, $this_item); +} +close(IT); + + +my $lines = $query->param('lines'); +my @checked_item_array = sort $query->param('item'); +my $pfc_balance = $query->param('pfc_balance'); +my $group_sum = $query->param('group_sum'); +my $protect = $query->param('protect'); + + # if( grep {$_ == 2101} @checked_item_array ){ + # unless( grep {$_ == 105} @checked_item_array ){ + # push(@checked_item_array, 105); + # } + # unless( grep {$_ == 106} @checked_item_array ){ + # push(@checked_item_array, 106); + # } + # } + # + # if( grep {$_ == 2102} @checked_item_array ){ + # unless( grep {$_ == 107} @checked_item_array ){ + # push(@checked_item_array, 107); + # } + # unless( grep {$_ == 108} @checked_item_array ){ + # push(@checked_item_array, 108); + # } + # } + + +die unless $lines =~ /^\d{1,3}$/; + +my @xml = (); +push @xml, ''; +push @xml, ''; + +push @xml, "\t"; + +die if $#checked_item_array > 199; + +LA: foreach my $a_item (@items){ + for(my $i = 0; $i <= $#checked_item_array; $i++){ + my $a_item_no = $checked_item_array[$i]; + if($a_item->{no} == $a_item_no){ + next unless $a_item_no =~ /^\d{1,4}$/; + + push @xml, "\t\t"; + push @xml, "\t\t\t". $a_item->{tag}; + push @xml, "\t\t"; + next LA; + } + } +} + +push @xml, "\t"; +push @xml, ''; + +my $xml_string = join("\n", @xml); + +open(PY, "> $items_xml_filename"); +print PY $xml_string; +close(PY); + + + + + + +# 出力 Excel ファイル削除 +unlink $output_filename; + +# 実行 +my $pfc_balance_cmd = $pfc_balance ? ' -addition pfc-balance.xml ' : ''; +my $group_sum_cmd = $group_sum ? ' -addition group-sum.xml ' : ''; +my $set_protect_cmd = $protect ? ' -set-protect ' : ''; + +my $jar_cmd = "/usr/bin/java -jar nucalgen.jar -std-food-comp-table mext2020_2021-02-03_processed.xlsx -use-processed-table -columns $items_xml_filename -output $output_filename -lines $lines $pfc_balance_cmd $group_sum_cmd -bright-colored-vegetables-list bright-colored-vegetables.xml $set_protect_cmd"; +open(JAR, "$jar_cmd 2>&1 |") or die; +my @jar_lines = ; +close(JAR); + + +# Excel ファイル出力 +if(-f $output_filename){ + print $query->header(-type=>'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', + -attachment=>"nutrition-calculation-sheet_${uketsuke_num}.xlsx" ); + my $buffer; + open(XLS, $output_filename); + binmode(XLS); + binmode(STDOUT); + while (read(XLS, $buffer, 8096)) { + print STDOUT $buffer; + } + close(XLS); +}else{ + print $query->header(-type=>'text/html; charset="UTF-8"'); + print "

エラーが発生しました。

\n"; + print "
\n"; + foreach my $line (@jar_lines){ + chomp($line); + print "$line
"; + } + print "
\n"; + + open(IX, $items_xml_filename); + foreach my $line (){ + chomp($line); + $line =~ s//>/g; + print "$line
\n"; + } + close(IX); + + print "もどる"; +} + + +unlink($output_filename); +unlink($items_xml_filename); + + +exit; + + + +sub get_uketsuke_num { + my($now_sec, $now_min, $now_hour, $mday, $mon, $year, $now_wday, $now_yday, $now_isdst) = localtime(time); + $year += 1900; + $mon++; + + my $id = sprintf('%04d%02d%02d%02d%02d%02d', $year, $mon, $mday, $now_hour, $now_min, $now_sec). &randstr(5). '_nucalgen.satomichan.jp'; + + return $id; +} + + + +sub randstr { + #https://blog.panicblanket.com/archives/1030 + my $length = shift(@_); + + my @chars; + #push(@chars, ('A'..'Z')); + push(@chars, ('a'..'z')); + push(@chars, ('0'..'9')); + + my $rand_str = ''; + + for (my $i = 1; $i <= $length; $i++) { + $rand_str .= $chars[int(rand($#chars+1))]; + } + + return $rand_str; +} + diff --git a/nucalgen/columns_main-and-fatty-acid.xml b/nucalgen/columns_main-and-fatty-acid.xml new file mode 100644 index 0000000..e96ef77 --- /dev/null +++ b/nucalgen/columns_main-and-fatty-acid.xml @@ -0,0 +1,353 @@ + + + + + 101成分表
REFUSE廃棄率%0TRUEFALSE +
+ + 102成分表
ENERCエネルギーkJ0FALSETRUE +
+ + 103成分表
ENERC_KCALエネルギーKCALkcal0FALSETRUE +
+ + 104成分表
WATER水分g0.0FALSETRUE +
+ + 105成分表
PROT-たんぱく質Pg0.0FALSETRUE +
+ + 106成分表
PROTCAAアミノ酸組成によるたんぱく質P_COMPOg0.0FALSETRUE +
+ + 2101成分表
(エネルギー計算)たんぱく質P_ENGIF(P_COMPO=0,P,P_COMPO)g0.0FALSETRUE +
+ + 2102成分表
(エネルギー計算)脂質F_ENGIF(F_TG=0,F,F_TG)g0.0FALSETRUE +
+ + 107成分表
FAT-脂質Fg0.0FALSETRUE +
+ + 108成分表
FATNLEAトリアシルグリセロール当量F_TGg0.0FALSETRUE +
+ + 109成分表
CHOLEコレステロールg0FALSETRUE +
+ + 110成分表
CHOCDF-炭水化物Cg0.0FALSETRUE +
+ + 111成分表
CHOAVLM利用可能炭水化物(単糖当量)g0.0FALSETRUE +
+ + 112成分表
CHOAVL利用可能炭水化物(質量計)g0.0FALSETRUE +
+ + 113成分表
CHOAVLDF-差引き法による利用可能炭水化物g0.0FALSETRUE +
+ + 114成分表
FIB-食物繊維総量g0.0FALSETRUE +
+ + 115成分表
POLYL糖アルコールg0.0FALSETRUE +
+ + 116成分表
OA有機酸g0.0FALSETRUE +
+ + 201成分表
ASH灰分g0.0FALSETRUE +
+ + 202成分表
NAナトリウムmg0FALSETRUE +
+ + 203成分表
Kカリウムmg0FALSETRUE +
+ + 204成分表
CAカルシウムmg0FALSETRUE +
+ + 205成分表
MGマグネシウムmg0FALSETRUE +
+ + 206成分表
Pリンmg0FALSETRUE +
+ + 207成分表
FE鉄mg0.0FALSETRUE +
+ + 208成分表
ZN亜鉛mg0.0FALSETRUE +
+ + 209成分表
CU銅mg0.00FALSETRUE +
+ + 210成分表
MNマンガンmg0.00FALSETRUE +
+ + 211成分表
IDヨウ素μg0FALSETRUE +
+ + 212成分表
SEセレンμg0FALSETRUE +
+ + 213成分表
CRクロムμg0FALSETRUE +
+ + 214成分表
MOモリブデンμg0FALSETRUE +
+ + 301成分表
RETOLレチノールμg0FALSETRUE +
+ + 302成分表
CARTAα-カロテンμg0FALSETRUE +
+ + 303成分表
CARTBβ-カロテンμg0FALSETRUE +
+ + 304成分表
CRYPXBβ-クリプトキサンチンμg0FALSETRUE +
+ + 305成分表
CARTBEQβ-カロテン当量μg0FALSETRUE +
+ + 306成分表
VITA_RAEビタミンAμgRAE0FALSETRUE +
+ + 307成分表
VITDビタミンDμg0FALSETRUE +
+ + 308成分表
TOCPHAビタミンEmg0.0FALSETRUE +
+ + 309成分表
TOCPHBβ-トコフェロールmg0.0FALSETRUE +
+ + 310成分表
TOCPHGγ-トコフェロールmg0.0FALSETRUE +
+ + 311成分表
TOCPHDδ-トコフェロールmg0.0FALSETRUE +
+ + 312成分表
VITK ビタミンKμg0FALSETRUE +
+ + 313成分表
THIAビタミンB1mg0.00FALSETRUE +
+ + 314成分表
RIBFビタミンB2mg0.00FALSETRUE +
+ + 315成分表
NIAナイアシンmg0.0FALSETRUE +
+ + 316成分表
NEナイアシン当量mgNE0.0FALSETRUE +
+ + 317成分表
VITB6AビタミンB6mg0.00FALSETRUE +
+ + 318成分表
VITB12ビタミンB12μg0.0FALSETRUE +
+ + 319成分表
FOL葉酸μg0FALSETRUE +
+ + 320成分表
PANTACパントテン酸μg0.00FALSETRUE +
+ + 321成分表
BIOTビオチンμg0.0FALSETRUE +
+ + 322成分表
VITCビタミンCmg0FALSETRUE +
+ + 118成分表
NACL_EQ食塩相当量g0.0FALSETRUE +
+ + 119成分表
ALCアルコールg0.0FALSETRUE +
+ + 121成分表
GROUP食品群GROUP0TRUEFALSE +
+ + 122成分表
BRIGHT_COLORED_VEGETABLE緑黄色野菜BRIGHT_COLORED_VEGETABLE0TRUEFALSE +
+ + + + + + + + 1101脂肪酸成分表
FACID脂肪酸総量g0.00FALSETRUE +
+ + 1102脂肪酸成分表
FASAT飽和脂肪酸FASATg0.00FALSETRUE +
+ + 1103脂肪酸成分表
FAMS一価不飽和脂肪酸g0.00FALSETRUE +
+ + 1104脂肪酸成分表
FAPU多価不飽和脂肪酸g0.00FALSETRUE +
+ + 1105脂肪酸成分表
FAPUN3n03系多価不飽和脂肪酸g0.00FALSETRUE +
+ + 1106脂肪酸成分表
FAPUN6n06系多価不飽和脂肪酸g0.00FALSETRUE +
+ + 1201脂肪酸成分表
F4D04:0酪酸mg0FALSETRUE +
+ + 1202脂肪酸成分表
F6D06:0ヘキサン酸mg0FALSETRUE +
+ + 1203脂肪酸成分表
F7D07:0ヘプタン酸mg0FALSETRUE +
+ + 1204脂肪酸成分表
F8D08:0オクタン酸mg0FALSETRUE +
+ + 1205脂肪酸成分表
F10D010:0デカン酸mg0FALSETRUE +
+ + 1206脂肪酸成分表
F12D012:0ラウリン酸mg0FALSETRUE +
+ + 1207脂肪酸成分表
F13D013:0トリデカン酸mg0FALSETRUE +
+ + 1208脂肪酸成分表
F14D014:0ミリスチン酸mg0FALSETRUE +
+ + 1209脂肪酸成分表
F15D015:0ペンタデカン酸mg0FALSETRUE +
+ + 1210脂肪酸成分表
F15D0SI15:0 antペンタデカン酸mg0FALSETRUE +
+ + 1211脂肪酸成分表
F16D016:0パルミチン酸mg0FALSETRUE +
+ + 1212脂肪酸成分表
F16D0I16:0 isoパルミチン酸mg0FALSETRUE +
+ + 1213脂肪酸成分表
F17D017:0ヘプタデカン酸mg0FALSETRUE +
+ + 1214脂肪酸成分表
F17D0AI17:0 antヘプタデカン酸mg0FALSETRUE +
+ + 1215脂肪酸成分表
F18D018:0ステアリン酸mg0FALSETRUE +
+ + 1216脂肪酸成分表
F20D020:0アラキジン酸mg0FALSETRUE +
+ + 1217脂肪酸成分表
F22D022:0ベヘン酸mg0FALSETRUE +
+ + 1218脂肪酸成分表
F24D024:0リグノセリン酸mg0FALSETRUE +
+ + 1219脂肪酸成分表
F10D110:1デセン酸mg0FALSETRUE +
+ + 1220脂肪酸成分表
F14D114:1ミリストレイン酸mg0FALSETRUE +
+ + 1221脂肪酸成分表
F15D115:1ペンタデセン酸mg0FALSETRUE +
+ + 1222脂肪酸成分表
F16D116:1パルミトレイン酸mg0FALSETRUE +
+ + 1223脂肪酸成分表
F17D117:1ヘプタデセン酸mg0FALSETRUE +
+ + 1301脂肪酸成分表
F18D118:1計mg0FALSETRUE +
+ + 1302脂肪酸成分表
F18D1CN918:1 n09オレイン酸mg0FALSETRUE +
+ + 1303脂肪酸成分表
F18D1CN718:1 n07シス0バクセン酸mg0FALSETRUE +
+ + 1304脂肪酸成分表
F20D120:1イコセン酸mg0FALSETRUE +
+ + 1305脂肪酸成分表
F20D122:1ドコセン酸mg0FALSETRUE +
+ + 1306脂肪酸成分表
F24D124:1テトラコセン酸mg0FALSETRUE +
+ + 1307脂肪酸成分表
F16D216:2ヘキサデカジエン酸mg0FALSETRUE +
+ + 1308脂肪酸成分表
F16D316:3ヘキサデカトリエン酸mg0FALSETRUE +
+ + 1309脂肪酸成分表
F16D416:4ヘキサデカテトラエン酸mg0FALSETRUE +
+ + 1310脂肪酸成分表
F18D2N618:2 n06リノール酸mg0FALSETRUE +
+ + 1311脂肪酸成分表
F18D3N318:3 n03α‐リノレン酸mg0FALSETRUE +
+ + 1312脂肪酸成分表
F18D3N618:3 n06γ‐リノレン酸mg0FALSETRUE +
+ + 1313脂肪酸成分表
F18D4N318:4 n03オクタデカテトラエン酸mg0FALSETRUE +
+ + 1314脂肪酸成分表
F20D2N620:2 n06イコサジエン酸mg0FALSETRUE +
+ + 1315脂肪酸成分表
F20D3N320:3 n03イコサトリエン酸mg0FALSETRUE +
+ + 1316脂肪酸成分表
F20D3N620:3 n06イコサトリエン酸mg0FALSETRUE +
+ + 1317脂肪酸成分表
F20D4N320:4 n03イコサテトラエン酸mg0FALSETRUE +
+ + 1318脂肪酸成分表
F20D4N620:4 n06アラキドン酸mg0FALSETRUE +
+ + 1319脂肪酸成分表
F20D5N320:5 n03イコサペンタエン酸mg0FALSETRUE +
+ + 1320脂肪酸成分表
F21D5N321:5 n03ヘンイコサペンタエン酸mg0FALSETRUE +
+ + 1321脂肪酸成分表
F22D222:2ドコサジエン酸mg0FALSETRUE +
+ + 1322脂肪酸成分表
F22D4N622:4 n06ドコサテトラエン酸mg0FALSETRUE +
+ + 1323脂肪酸成分表
F22D5N322:5 n03 ドコサペンタエン酸mg0FALSETRUE +
+ + 1324脂肪酸成分表
F22D5N622:5 n06ドコサペンタエン酸mg0FALSETRUE +
+ + 1325脂肪酸成分表
F22D6N322:6 n03ドコサヘキサエン酸mg0FALSETRUE +
+ + 1327脂肪酸成分表
FAUN未同定物質mg0FALSETRUE +
+ + + +
+
\ No newline at end of file diff --git a/nucalgen/mext2020_2021-02-03.xlsx b/nucalgen/mext2020_2021-02-03.xlsx new file mode 100644 index 0000000..780be28 Binary files /dev/null and b/nucalgen/mext2020_2021-02-03.xlsx differ diff --git a/nucalgen/mext2020_2021-02-03_processed.xlsx b/nucalgen/mext2020_2021-02-03_processed.xlsx new file mode 100644 index 0000000..d51683e Binary files /dev/null and b/nucalgen/mext2020_2021-02-03_processed.xlsx differ diff --git a/nucalgen/powered-by.xml b/nucalgen/powered-by.xml new file mode 100644 index 0000000..e024d2d --- /dev/null +++ b/nucalgen/powered-by.xml @@ -0,0 +1,11 @@ + + + + + Powered by "Nucalgen" (WebApp) + + + + https://nucalgen.satomichan.jp/ + +