#21 福kin 作ってみようバイタルシステム3
※福kin(福祉の現場のkintoneシステム)
※デイサービスで活用できるシステム作成のnoteです。
前回
前回はテーブルも完成させてバイタルアプリの側は完成しました。
今回は計算フィールドの説明とバイタルシステムで利用しているプラグインの説明をしたいと思います。
利用総数フィールド
バイタルシステムのレシピをみてもらうとわかりますが、
参加人数㋐ 臨時人数㋑ 再開㋒ 新規㋓ 休み人数㋔
という項目があります。
そして㋐㋑㋒㋓を足したものが利用総数になります。
先に答えを言ってしまうと、レシピの2行目にある計算フィールドの「利用総数(㋐+㋑+㋒+㋓)」は計算式に「参加人数 + 臨時人数 + 再開 + 新規」と入力すれば完成です。
計算式に入れる文字はフィールド名ではなく、フィールドコードですよ!
(「参加人数㋐」ではなく「参加人数」)
お忘れなく。
後は下の方にある単位記号に「人」と入れて「後ろに付ける」設定をすれば完璧です。
・・・
が!問題はそこではなく、
参加人数㋐ 臨時人数㋑ 再開㋒ 新規㋓ 休み人数㋔
のフィールドにどうやったら「Vitaltable」テーブルの中の情報を集計して入力できるのか!ということです!
図の要領で、自動的に参加人数を2 休み人数を1とカウントして
利用総数として出したいのです。
えっ!プログラム!
ここで皆様にお断りします。今のところ私はテーブルの値(文字列)を自動でカウントして集計するプラグインを見つけられていません。
どなたか知っていたら教えてください。
しかし、その役割が果たせるプログラムは見つける事ができました。
今回プログラムめいた説明になりますが、私が書いたわけではありません。
参考にしたプログラムをコピペして、プログラムの中にあるフィールドコード名を自分が利用しているフィールドコード名に置き換えただけです。
今回皆さんにはフィールドコードを置き換えなくてもそのままコピペで利用できるコードを準備しました。
それでも皆さんにはいきなり英数字の羅列が出てきて面食らうかもしれません。
できるだけ詳しく説明するので、トライしていただけると嬉しいです。
プログラムを書くっていったって、どこに書くのかも最初はわかりません。
安心してください。kintoneにはプログラムを書くためのプラグインも用意されてます。
では、まずプログラムを書くためのプラグインをダウンロードします。
リンクのページにある「jsEdit_plugin_v4.1.zip」をダウンロードします。
kintoneに登録⇒バイタルアプリに追加の手順は#17 福kinの
「改めて自動採番プラグイン」あたりの記載を参考にしてください。
コピペでプログラム
準備が整ったところで手順を記載していきます。
①アプリの設定画面にいきます
②設定タブのプラグインをクリック
③JSEdit for kintoneプラグインの設定画面を開きます
④新規作成をクリック
⑤バイタル集計という名にしてOKをクリック
⑥新規作成後にあらかじめ入力されている文字は全て消します
⑦下記のプログラムを入力画面(黒い画面)にコピペしたら(//のところにちょっとした説明を記載しておきましたうまく動かない時は読んでみてください)、
(function() {
"use strict";
//緑の文字は主にフィールドコードですよ。フィールド名と間違わないでくださいね
var TABLEDATA = "Vitaltable"; //テーブルフィールドコードの名前です
var TYPE = "種別"; //種別フィールドを指定しましょう
var JoinCOUNT = "参加人数"; //各項目を集計するフィールドコードを設定していきます
var AbsenceCOUNT = "休み人数"; //各項目を集計するフィールドコードを設定していきます
var ExtraordinaryCOUNT = "臨時人数"; //各項目を集計するフィールドコードを設定していきます
var RestartCOUNT = "再開"; //各項目を集計するフィールドコードを設定していきます
var NewCOUNT = "新規"; //各項目を集計するフィールドコードを設定していきます
//Set events to run when the save button is clicked on the record create or edit page
kintone.events.on(["app.record.create.submit","app.record.edit.submit"], function(eventobj) {
//Count the number of rows in the table
var num_of_rows = eventobj.record[TABLEDATA].value;
var Join_count = 0, Absence_count = 0, Extraordinary_count = 0,Restart_count = 0,New_count = 0;
for (var i = 0; num_of_rows.length > i; i++) {
var 種別 = num_of_rows[i].value[TYPE].value;
if (種別 === "〇参加") { //種別フィールドに設定した項目をひとつずつ入力していきます
Join_count++;
} else if (種別 === "×休み") { //種別フィールドに設定した項目をひとつずつ入力していきます
Absence_count++;
} else if (種別 === "◇臨時") { //種別フィールドに設定した項目をひとつずつ入力していきます
Extraordinary_count++;
} else if (種別 === "☆再開") { //種別フィールドに設定した項目をひとつずつ入力していきます
Restart_count++;
} else if (種別 === "◎新規") { //種別フィールドに設定した項目をひとつずつ入力していきます
New_count++;
}
}
//Set the counts into the event object
eventobj.record[JoinCOUNT].value = Join_count;
eventobj.record[AbsenceCOUNT].value = Absence_count;
eventobj.record[ExtraordinaryCOUNT].value = Extraordinary_count;
eventobj.record[RestartCOUNT].value = Restart_count;
eventobj.record[NewCOUNT].value = New_count;
//Return the event object, so that kintone will use this new data
return eventobj;
});
}());
保存をクリックしてさらにプラグインへ戻るをクリック
⑧アプリの設定に戻ります
⑨JavaScript / CSSでカスタマイズをクリック
⑩バイタル集計.jsが登録されていることを確認して保存をクリック
⑪アプリを更新をクリック
これで終了です。
うまく動かないという方、逆に一回で動いたら尊敬します。
私も何度も何度も何度も・・・失敗しては書き直しでたどり着きました。
さぁ、一度自分の作成したレコードを開いて、きちんと集計されるか試してみてください!
うまく動かない時は
ポイントはフィールドコード名です。
↓のcode画面の一番上の行はテーブルのフィールドコード名であることに注意です。
var TABLEDATA = "Vitaltable"; //テーブルフィールドコードの名前です
var TYPE = "種別"; //種別フィールドを指定しましょう
var JoinCOUNT = "参加人数"; //各項目を集計するフィールドコードを設定していきます
var AbsenceCOUNT = "休み人数"; //各項目を集計するフィールドコードを設定していきます
var ExtraordinaryCOUNT = "臨時人数"; //各項目を集計するフィールドコードを設定していきます
var RestartCOUNT = "再開"; //各項目を集計するフィールドコードを設定していきます
var NewCOUNT = "新規"; //各項目を集計するフィールドコードを設定していきます
自分で作ったアプリのテーブルフィールドコード名を確認してみましょう。
「Table」とかになってませんか?「Vitaltable」に変更しましょう。
プログラムは厳密なので、大文字小文字も正確に入力しないと起動しません。
下の種別 == の後に入れる部分は種別フィールドに設定した各項目ですよ。
〇参加 ×休み ◇臨時 ☆再開 ◎新規 です
for (var i = 0; num_of_rows.length > i; i++) {
var 種別 = num_of_rows[i].value[TYPE].value;
if (種別 === "〇参加") { //種別フィールドに設定した項目をひとつずつ入力していきます
Join_count++;
} else if (種別 === "×休み") { //種別フィールドに設定した項目をひとつずつ入力していきます
Absence_count++;
} else if (種別 === "◇臨時") { //種別フィールドに設定した項目をひとつずつ入力していきます
Extraordinary_count++;
} else if (種別 === "☆再開") { //種別フィールドに設定した項目をひとつずつ入力していきます
Restart_count++;
} else if (種別 === "◎新規") { //種別フィールドに設定した項目をひとつずつ入力していきます
New_count++;
}
}
〇参加ではなく、Α参加としていたらΑ参加に変えてください。
人のプログラムを見て、自分の作成したアプリのどこを見ればいいのかがわかれば完璧です。
稼働率フィールド
準備はととのいました。
自動で今日参加している利用者の総数が確認できるようになりました。
稼働率フィールドはただの計算式ですので
利用総数を定員で割ります。定員50名のデイサービスでしたら40を50に変えてください。
割合なので単位記号は%にしておきましょう。
曜日フィールド
曜日もいちいち手打ちで入力するのは手間なので、日付を入力したら自動で入力されるようにしましょう。
安心してください、プログラムではなくプラグインです。
しかも無料
お世話になりますTISさんの曜日計算プラグインです。
曜日計算プラグインをkintoneに登録⇒バイタルアプリに追加しましょう。
このように設定して完了!
プログラムと違いなんて楽なのでしょう!
私たちが楽に設定できるようにプラグラマさんたちが頑張ってくれているのです。尊敬と感謝。
日付を入力すると曜日が自動で入力されるか試してみましょう。
手書きメモスキャン
前回説明した手書きメモスキャンフィールド。
そのままでも利用できますが、張り付けたPDFを見るためには一度PCにダウンロードしなければいけません。
これだとPCの容量を無駄にするし、なにより面倒です。
そこでジョイゾーさんのPDFプレビュープラグイン
このプラグインを使うと、kintone画面にPDFのプレヴューが開くのでファイルをダウンロードする必要はありません。
無料ですが、申し込みが必要なので、興味がある方はぜひ試してみてください。
最後に
今回はバイタルアプリの細かい設定まで見ていきました。
といってもこれはシステム側の作りが完成しただけで、介護の現場ではこれを紙として出さなければいけません。
そこで次回はプリントクリエイターを使って用紙として入力したデータを出してみます。
その次の回では、実際の運用についての説明をするつもりです。
パソコンに詳しくない現場の人に利用してもらうポイントや、定期的に運用する際の注意点などをお伝えする予定です。
たとえば毎日毎日利用者様の名前を40人分ルックアップで取得していくのはしんどいですよね?
その辺を話していこうと思います。
ではでは。
この記事が気に入ったらサポートをしてみませんか?