From 5e7bcb64befe0478a438bb7458bc8c25ad5a6cb3 Mon Sep 17 00:00:00 2001 From: Kenichiro NOGI Date: Sat, 12 Sep 2026 16:20:23 +0900 Subject: [PATCH] =?UTF-8?q?fix:=20HC-REMINDER=E5=AE=9F=E6=A9=9F=E3=83=86?= =?UTF-8?q?=E3=82=B9=E3=83=88=E3=81=A7Date004=E5=88=97=E6=AC=A0=E5=A6=82?= =?UTF-8?q?=E3=81=A8=E2=91=A5=E6=96=87=E8=A8=80=E3=83=90=E3=82=B0=E3=82=92?= =?UTF-8?q?=E7=99=BA=E8=A6=8B=E3=83=BB=E4=BF=AE=E6=AD=A3=E3=80=81=E2=91=A1?= =?UTF-8?q?=E2=91=A2=E2=91=A5=E2=91=A6=E5=85=A8=E3=83=91=E3=82=BF=E3=83=BC?= =?UTF-8?q?=E3=83=B3=E7=A2=BA=E8=AA=8D=E5=AE=8C=E4=BA=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ⑦日程未確定の催促が実装当初から一度も動作していなかった根本原因(Date004列が 508971に未定義)を特定し、列追加+EditorColumnHash配置で解消。⑥再検査催促の 文言も⑦と同じ導線修正漏れがあったため合わせて修正。n8nコンテナのタイムゾーン (Asia/Tokyo)も確認し、Schedule Triggerの発火時刻に問題がないことを確認した。 Co-Authored-By: Claude Sonnet 5 --- .../docs/n8n/design-fixed-menu.md | 62 +++++++++++++++++++ 1 file changed, 62 insertions(+) diff --git a/Pleasanter/健康診断管理/docs/n8n/design-fixed-menu.md b/Pleasanter/健康診断管理/docs/n8n/design-fixed-menu.md index b90a9037..3d790120 100644 --- a/Pleasanter/健康診断管理/docs/n8n/design-fixed-menu.md +++ b/Pleasanter/健康診断管理/docs/n8n/design-fixed-menu.md @@ -1564,3 +1564,65 @@ AskUserQuestionで確認を取った)。 「実行者:野木 健一郎(UserId:xxx)/プロセス:日程通知」自動記録も確認済み。**これにより Process実行→通知の連携が完全自動化され、前回セッションで挙げた最優先の未実装課題(A)が 解消した**(`2026-09-12-screenshot-test-plan.md`作成時点では手動2段階操作だった)。 + +## フェーズ2残課題の検討・実機テスト(2026-09-12) + +前回セッションで挙げた残5項目のうち、HC-REMINDER(日次リマインダー4種)の実機テストに着手。 +n8n Public APIにはSchedule Triggerワークフローの手動実行手段が無い(`POST /workflows/{id}/run` +は405)ため、n8n UI上の「Execute workflow」ボタンをユーザーが手動で押す形で実施した。 + +### 前提確認: n8nコンテナのタイムゾーン + +Schedule Triggerのcron式`0 12 * * *`が「JST 12:00」を意図しているか懸念があったため、SSH +(`ubuntu@dokploy45.next-hd.net`、ユーザー承認の上で読み取り専用のdateコマンドのみ実行)で +`n8n-rga09v-n8n-1`コンテナ内を確認。`GENERIC_TIMEZONE`・`TZ`とも`Asia/Tokyo`設定済みで、 +コンテナのシステム時刻自体もJSTだった。**Schedule Triggerは正しくJST 12:00に発火する設計で +問題なし**(懸念は杞憂)。なお以前確認した「ファイル名タイムスタンプがGMTになるバグ」は +別レイヤー(Task RunnerのCode node実行環境)の話で、日付境界(JST 0〜9時)を跨がない限り +実害は無いと判断。 + +### ②受診日アラート・③受診日当日 + +513409のStatus=310・Date002を「今日+3日」「今日」にそれぞれ調整しExecute workflowで実行。 +いずれも実機で正常送信を確認。③では届いた「受診完了/未受診」ボタンに実際に「受診完了」を +タップし、HC-WA側の`attendance_310`purpose処理(既存のyesno_confirmハンドラ)が正しく動作 +してStatus 310→400へ遷移することも確認済み。 + +### ⑥再検査報告の催促: 文言バグ発見・修正 + +Status=800・Date003=「今日-14日」で実行したところ、送信文言が「固定メニューから「健康診断 +について」→「受診・再検査報告」よりご報告を」となっており、実際の遷移(「健康診断について」 +→「再検査について」→「受診・再検査報告」の3段階)と一致していなかった(2026-09-11に⑦ +(`kind:"seven"`)だけ同種の文言修正を行い、⑥(`kind:"six"`)を見落としていた)。 +「対象レコード取得・分類」ノードの`kind:"six"`メッセージへ「→「再検査について」」を追加し +PUT反映。実機で修正後の正しい3段階文言、およびパターンCへの導線(a質問まで到達)を確認済み。 + +### ⑦日程未確定の催促: Date004列が存在しないバグ発見・修正 + +Status=300・Date004=「今日-1日」を設定して初回実行した際、`targets`が空のまま何も送信され +なかった。Pleasanter APIでレコードのDate004を直接確認したところ`null`のまま——**508971の +SiteSettings.Columnsに`Date004`列自体が定義されていなかった**(`DateA`=生年月日、`Date001`〜 +`Date003`は別用途で使用中、`Date004`は無し)。設計時点(2026-09-07、design-fixed-menu.md +「⑦日程未確定の催促」新規追加時)に列追加を忘れていた不具合で、機能自体が実装当初から +一度も動作していなかったことになる。 + +**対応**(ユーザー承認の上、`updatesite`で実施): +1. `SiteSettings.Columns`へ`{ColumnName:"Date004", LabelText:"日程未確定催促送信日"}`を追記 +2. `EditorColumnHash.General`の`Date003`直後へ`"Date004"`を挿入(列追加のみでは`items/update` + で値が書き込めず、過去のNum039〜046・CheckC等の列追加時と同様、EditorColumnHashへの配置も + 必須と判明——1回目のCoumns追記のみのupdateでは`DateHash.Date004`へ値を送っても反映されず + `null`のままだった) + +修正後、実機で「健診日程のご連絡はお済みでしょうか。まだの場合は固定メニューから「健康診断 +について」→「受診日時について」よりご確認をお願いいたします。」の正常送信を確認済み。 + +**Date004の役割**: ⑦の起算点管理用。「Status=300のまま`Date004+1日=今日`」が送信条件で、 +送信の都度`Date004`を送信日(今日)へ更新するため、Status=300が続く限り**毎日連続で**催促が +飛ぶ設計。本来はProcess5(日程通知済み、260→300遷移)実行時に自動セットされるべきだが、 +既知の未解明課題(「Id5のNum035は発火するがDate004(InputDate型)は発火しない」、本ファイル +「【未解明】ProcessId明示指定でのAPI実行時、一部DataChangesが発火しない」節)が残っており、 +現状は自動セットされない。**今後、n8n側でProcess5実行時にDate004を明示更新する処理を追加する +(HC-WPまたはクライアントスクリプト側)か、この既知課題自体を解決する対応が別途必要**。 + +HC-REMINDERの4パターン(②③⑥⑦)すべて実機確認完了。HC-DOC-TIMEOUT(10分タイムアウト監視)は +未着手のまま次回対応。