From 4575f14d225b3264812c12ff172462a8fe0a4c10 Mon Sep 17 00:00:00 2001 From: Kenichiro NOGI Date: Sat, 12 Sep 2026 14:51:23 +0900 Subject: [PATCH] =?UTF-8?q?feat:=20=E8=A8=BA=E6=96=AD=E6=9B=B8PDF=E3=83=95?= =?UTF-8?q?=E3=82=A1=E3=82=A4=E3=83=AB=E5=90=8D=E8=A6=8F=E5=89=87=E5=A4=89?= =?UTF-8?q?=E6=9B=B4=E3=83=BBJST=E5=AF=BE=E5=BF=9C=E3=80=81Status=3D410?= =?UTF-8?q?=E3=81=A7=E3=81=AEPDF=E5=86=8D=E6=8F=90=E5=87=BA=E5=AF=BE?= =?UTF-8?q?=E5=BF=9C=E3=80=81=E6=8B=85=E5=BD=93=E8=80=85=E3=81=8B=E3=82=89?= =?UTF-8?q?=E3=81=AE=E5=86=8D=E6=8F=90=E5=87=BA=E4=BE=9D=E9=A0=BC=E3=83=97?= =?UTF-8?q?=E3=83=AD=E3=82=BB=E3=82=B9(Id19)=E3=82=92=E8=BF=BD=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 撮影完了後にファイル名の可読性・再提出フローの欠如が判明し追加実装。 ファイル名を内部ID直書きから表示名ベースの命名規則に変更しJSTタイムスタンプ化、 診断書保存後もBot対話から再提出できるようメニュー条件を拡張、 担当者が能動的に再提出を促すHC-WP通知(Process19)を新設。いずれも実機確認済み。 --- .../docs/n8n/design-fixed-menu.md | 41 +++++++++++++++++++ 1 file changed, 41 insertions(+) diff --git a/Pleasanter/健康診断管理/docs/n8n/design-fixed-menu.md b/Pleasanter/健康診断管理/docs/n8n/design-fixed-menu.md index f1916cae..45f17b57 100644 --- a/Pleasanter/健康診断管理/docs/n8n/design-fixed-menu.md +++ b/Pleasanter/健康診断管理/docs/n8n/design-fixed-menu.md @@ -1463,3 +1463,44 @@ CONTACT_MESSAGE巻き戻り)を発見・修正し、いずれも実機再検 **残作業**: テスト添付ファイル(513409の`診断結果.pdf`・`診断結果.txt`、ケース4検証分)は Pleasanter画面から手動削除が必要(API削除は反映されないことを2026-09-11に確認済み)。 マニュアル(`健康診断Bot機能_仕様(管理担当者向け).md`)への画像挿入は次回対応。 + +### 撮影完了後の追加要望4件(2026-09-12、ケース4関連) + +撮影完了後、実際にPleasanterへ保存された添付ファイル名を見たユーザーから、ファイル名規則・ +未対応ケースへの指摘が続き、以下4件を追加実装した。いずれもHC-WA/HC-WPへPUT反映・実機確認済み。 + +**1. 診断書PDFファイル名の命名規則変更**: 従来`{ClassZ}_診断書_{ClassC}_{連番}.pdf` +(例: `513158_診断書_460_2.pdf`)は、ClassZ(実施年度エリア、外部マスタ513156参照)・ +ClassC(名前、Users参照)いずれも内部の生ID(ResultId/UserId)がそのまま出力され、 +担当者が見て意味不明な数値になっていた。ユーザー指定の新形式 +`{ClassZ表示名}■診断書■{ClassC表示名}({ClassD})_yyyyMMdd-hhmmss.pdf`へ変更。 +ClassZ表示名は513156の`ItemTitle`(例:「2026■東京」)をAPI取得、ClassC表示名は +`api/users/{userId}/get`のNameをAPI取得、ClassDはレコード自身のフリガナ列をそのまま使用。 +連番方式(既存添付件数+1)からアップロード時刻ベースへ変更(複数人が同時アップロードしても +衝突しない)。半角スペースは全て除去(`.replace(/ /g, "")`)。 +実機確認: `2026■東京■診断書■野木健一郎(ノギケンイチロウ)_20260912-142512.pdf`。 + +**2. タイムスタンプのタイムゾーン修正**: 上記1のタイムスタンプが当初n8nサーバーのシステム +時刻(UTC)でGMT基準になっていた不具合。`new Date(Date.now() + 9*60*60*1000)`+UTC系 +getterでJST(UTC+9)に変換する実装へ修正。 + +**3. ステータス「診断書保存」(410)でもPDF再提出できるよう対応**: 従来、Status=410では +固定メニュー「健康診断について」が「現在ご案内できる項目はありません」を返し、提出済み後に +誤ったファイルを送ってしまった場合等の再提出手段がなかった(ユーザー指摘)。「受診結果に +ついて」ボタンの表示条件・処理条件(メニュー出し分け・text分岐両方)へ`currentStatus===410` +を追加し、Status=400と同じPDF提出フローへ合流させた。ただし「完了」時のProcess実行 +(`PROCESS_ID.DOCUMENT_SAVE`、400→410)はStatus=400の場合のみに限定(410で再実行すると +CurrentStatus不一致でエラーになるため)。実機確認: Status=410で「受診結果について」→ +PDF再提出案内→送信→受付完了、いずれも正常動作。 + +**4. 担当者操作「診断書の再提出依頼」プロセス新設(Id19)**: 担当者が能動的に「診断書に +不備があるので再提出してほしい」と伝えるための新規Process。ユーザーがPleasanter画面上で +手動登録済み(`CurrentStatus:-1`、条件タブ`Status in ["400","410"]`、`ChangedStatus:410` +=実質Status変化なし)。Description欄(通知文言)が未設定だったため、API経由で追記: +「健康診断結果の再提出をお願いいたします。\n\n固定メニューから「健康診断について」→ +「受診結果について」を選び、PDFを再度送信してください。」。HC-WP「レコード・Process・ +宛先解決」ノードの`FIXED_MESSAGES`へ`19`のエントリを追加(タイトル行「■健康診断結果の +再提出について」を冒頭付加)し、PUT反映済み。「アクセストークン取得・LINEWORKS送信」 +ノードの`nextAwaitInput`分岐は`processId===5`限定のため、processId=19は影響なし(単純な +テキスト送信のみ、待機状態も変更しない)。実機確認: Process19実行→HC-WP Webhook +(processId=19)→「■健康診断結果の再提出について」文言が正しく届くことを確認済み。