feat: 診断書PDFファイル名規則変更・JST対応、Status=410でのPDF再提出対応、担当者からの再提出依頼プロセス(Id19)を追加

撮影完了後にファイル名の可読性・再提出フローの欠如が判明し追加実装。
ファイル名を内部ID直書きから表示名ベースの命名規則に変更しJSTタイムスタンプ化、
診断書保存後もBot対話から再提出できるようメニュー条件を拡張、
担当者が能動的に再提出を促すHC-WP通知(Process19)を新設。いずれも実機確認済み。
This commit is contained in:
Kenichiro NOGI 2026-09-12 14:51:23 +09:00
parent 3bccc4d1b9
commit 4575f14d22

View File

@ -1463,3 +1463,44 @@ CONTACT_MESSAGE巻き戻りを発見・修正し、いずれも実機再検
**残作業**: テスト添付ファイル513409の`診断結果.pdf`・`診断結果.txt`、ケース4検証分 **残作業**: テスト添付ファイル513409の`診断結果.pdf`・`診断結果.txt`、ケース4検証分
Pleasanter画面から手動削除が必要API削除は反映されないことを2026-09-11に確認済み Pleasanter画面から手動削除が必要API削除は反映されないことを2026-09-11に確認済み
マニュアル(`健康診断Bot機能_仕様(管理担当者向け).md`)への画像挿入は次回対応。 マニュアル(`健康診断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参照いずれも内部の生IDResultId/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でJSTUTC+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→「■健康診断結果の再提出について」文言が正しく届くことを確認済み。