feat: 検品レポート PDF とレポートのメール共有(iOS / Android) - #131
Merged
Merged
Conversation
…eated header and page numbers
…ry number or kanban part
…ubject, body and PDF
…art time, drop the mail footer
…ort (prefix_destination_starttime)
…t rows on short screens
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
概要
セッション詳細に第2のPDF「検品レポート」を追加し、あわせて2つのPDFの「共有する」を宛先・件名・本文・添付を埋めたメール作成画面の起動に変えた(iOS / Android 両方)。紙の検品表(品番・箱数の一覧)との突き合わせを速くするための変更で、既存の照合履歴レポートPDFの内容と「PDFで保存」はそのまま。
検品レポート PDF
n / N、脚注に「検品表にあってこの一覧にない品番は、このセッションで照合されていません。」。BCJH5281GG (02)。列は No・品番・箱数・納入数量/箱・数量計・確認(手書き用の空の四角)。行数の見出しは「品番数(枝番別)」。6-4)。列は No・品番・箱数・収容数/箱・数量計・確認。指示数は出さない。見出しは「品番数」。saveInspectionReportButton/shareInspectionReportButton、既存のsavePDFButton/sharePDFButtonは維持)。レポートのメール共有
takemoto1075@icloud.com、件名<レポート名> <開始日時> - <仕向地>、定型本文(レポート名の一文、セッション名・開始・終了または状態・仕向地・検査箱数・行数、添付ファイル名)、PDF添付を埋めたメール作成画面を開く。送信は操作者が行い、アプリ自身は通信しない。本文に読取値の全文は載せない。MFMailComposeViewController(「メール」にアカウントがなければ従来の共有シート)。Android はACTION_SEND+mailto:セレクタでメールアプリだけに渡し、複数あればOSの選択で固定できる。メールアプリがなければ従来の共有チューザー。AndroidManifest.xmlにmailto:の<queries>を追加。<レポート名>_<仕向地>_<開始日時>.pdf(例検品レポート_澤井製作所_2026-09-07_2317.pdf)。保存時も同じ。仕向地のない旧履歴では仕向地を省く。実装
Models/InspectionReport.swift(純粋な行モデル)、Services/PDFPageWriter.swift(表の行・ヘッダー再描画・フッターを持つ描画カーソル。SessionPDFExporterもこれに載せ替え、出力は不変)、Services/InspectionPDFExporter.swift(ページ総数のため2回描画)、Services/ReportMailContent.swift、Services/MailComposeView.swift。Localizable.xcstringsに ja/en を追加。CURRENT_PROJECT_VERSIONは 10(App Store Connect に 9 が既にあるため)。core/exportにInspectionReportContent/PdfTable/InspectionPdfContent/ReportMailContent(純 JVM)、HistoryPdfExporterにHistoryReportKindと privatePageCursor(File(を作るのは従来どおりこのファイルだけ、cache もcodematch-pdf/のまま。release gate は無変更で通過)。HistoryPdfBridge/HistoryRouteにkindとメール Intent、HistoryScreenにPdfActionRow。history_inspection_report/history_match_history_reportを日英へ追加。docs/PRODUCT_SPEC.md(検品レポート、レポートのメール共有)、docs/android/TEST_PARITY.md、docs/android/STATUS.md、docs/ios/IMPLEMENTATION_GUIDE.md。テスト
InspectionReportTests(7)、InspectionPDFExporterTests(6、PDFKit抽出テキスト。複数ページのヘッダー繰り返しとページ番号を含む)、ReportMailContentTests(3)。SessionPDFExporterTestsは無変更で通る。全 simulator suite(英語ロケール)成功。InspectionReportContentTest(7)、InspectionPdfContentTest(6)、ReportMailContentTest(3)、HistoryExportTextTest/HistoryPdfBridgeTestの追加分、HistoryPdfExporterInstrumentationTestの検品レポート2件、HistoryFontScaleAccessibilityTest/HistoryScreenTestの新ボタン。lintDebug testDebugUnitTest assembleDebug、:app:assembleRelease+verify-release-hardening.sh、Pixel_7 emulator の instrumentation が成功。🤖 Generated with Claude Code