農産物流通管理システムの第6段階として、生産者が当日の出荷予定を確認できる「shipment-view」機能を実装しました。
この機能により、生産者は朝一番に「本日出荷する商品と出荷先」をすぐに確認でき、作業準備をスムーズにするのが目的です。

7月5日と6日の出荷予定を入力している

今回作成した当日(7月5日と仮定)出荷情報
当日の出荷情報のみ閲覧でき、生産者はこの出荷情報を元に伝票などを作成する
目次
機能仕様
基本機能
- 当日出荷情報の抽出:
planned_shipments
テーブルから当日分のデータのみを表示 - 出荷先情報の表示:出荷先の会社名を表示(将来的にマスタ連携も予定)
- 数量・注意事項の確認:数量と特記事項を一覧で確認可能
- 生産者専用画面:認証により、生産者のみアクセス可能
表示項目
- 本日の出荷日(
shipment_date
) - 出荷先(
destination
) - 数量(
quantity
) - 注意事項(
note_caution
)
技術実装
データベース設計
当日の出荷情報は Supabaseのビュー機能(View) を活用して抽出しています。
CREATE VIEW shipment_view AS
SELECT *
FROM planned_shipments
WHERE shipment_date = current_date;
このビューにより、フロントエンド側で複雑な日付条件を指定する必要がなく、シンプルに当日分のデータだけを取得できます。
フロントエンド実装
const { data, error } = await supabase
.from("shipment_view")
.select("*");
技術的なポイント
- データベースビューの活用:
shipment_view
で当日分だけ自動抽出 - 簡潔なクエリ構造:
.select("*")
のみでOK - コンポーネント分離設計:
FlexibleShipmentTable
(PC)とMobileFlexibleShipmentTable
(スマホ)を実装 - レスポンシブ対応:
useIsMobile
フックでデバイスを自動判定 - 読み取り専用モード:
readOnly
フラグにより編集を制御
業務フローでの位置づけ
従来の課題
- 出荷予定の確認が煩雑
- 紙ベースの管理による情報の散逸
- 当日以外の情報が混在し、探しづらい
導入による改善
- 効率化:当日の業務に集中できる
- ミス防止:正確な出荷先・数量の把握
- 時短:朝の準備時間を大幅に削減
今後の課題と改善点
データライフサイクルの自動化
今後、下記のような自動処理を実装予定です。
- 出荷完了後の自動アーカイブ
shipments
テーブルへの自動移行- 古いデータの期限切れ自動削除
運用面での留意事項
- 当日出荷予定の変更対応
- 緊急時の連絡体制
- データ整合性の担保
次のステップ
この shipment-view
機能により、生産者は当日の出荷予定を確認できます。
次のステップでは、**伝票作成画面**に進み、伝票の写真アップロード・OCR処理へと移行します。
この画面は、出荷作業のスタート地点としての役割を果たしています。