ファイル管理(File Management)
service-fileはシステム全体のファイルアップロード・ダウンロードを一元管理するサービスです。購買依頼の添付書類・契約書・納品書・サプライヤー書類・Catalog Mall商品画像など、あらゆるファイルを処理します。実際のファイルはAWS S3に保存されます。
アーキテクチャ
Section titled “アーキテクチャ”flowchart LR
USER(["ユーザー\nファイルをアップロード"]) --> FE["フロントエンド\n添付フォーム"]
FE --> GW["service-gateway"]
GW --> FILE["service-file\nアップロード・ダウンロード処理"]
FILE --> S3["AWS S3\n実ファイルを保存"]
FILE --> DB["DB\nメタデータを保存\n(名前・URL・種別・サイズ...)"]
DOWNLOAD(["ユーザー\nダウンロード"]) --> FE2["フロントエンド"]
FE2 --> FILE
FILE --> S3
S3 --> FILE
FILE --> FE2
FE2 --> DOWNLOAD
ファイルが使われる場面
Section titled “ファイルが使われる場面”| 業務 | ファイル種別 | アップロード担当 |
|---|---|---|
| 購買依頼 | 仕様書・参考資料 | Buyer(K001) |
| 見積依頼(RFQ) | カタログ・基本契約書 | サプライヤー |
| 長期契約 | 契約書PDF | Buyer Admin |
| 検収 | 納品品の写真・納品書スキャン | Buyer(K001) |
| サプライヤープロフィール | 登記簿謄本・ISO認証書・保険書類 | サプライヤー |
| Catalog Mall商品 | 商品画像・カタログ | MallSupplier |
| 会社グループ | サービス契約書 | Provider |
| CSVインポート | マスタデータCSVファイル | Buyer Admin |
| レポート出力 | Excel・PDF | 全ユーザー |
ファイルのアップロード
Section titled “ファイルのアップロード”アップロードフロー
Section titled “アップロードフロー”flowchart TD
SELECT(["ユーザー\nファイルを選択"]) --> VALIDATE["バリデーション\nファイル種別・サイズチェック"]
VALIDATE -->|"OK"| UPLOAD["service-fileへ送信"]
VALIDATE -->|"NG"| ERROR["エラー表示\n(サイズ超過・形式不正)"]
UPLOAD --> S3["S3に保存"]
UPLOAD --> METADATA["メタデータをDBに保存\n(file_code・名前・サイズ・種別・URL)"]
METADATA --> RETURN["file_codeを返却\n業務レコードと紐付け"]
ファイル制限
Section titled “ファイル制限”| 項目 | デフォルト値 |
|---|---|
| 最大ファイルサイズ | 10 MB/ファイル |
| 許可される形式 | PDF・Excel(xlsx)・Word(docx)・画像(jpg, png)・CSV |
| 1レコードあたりの最大ファイル数 | 業務ごとの設定に依存 |
ファイルのダウンロード
Section titled “ファイルのダウンロード”アクセス制御
Section titled “アクセス制御”ファイルのダウンロードには権限チェックが行われます。
flowchart TD
REQ(["ダウンロードリクエスト\nfile_code"]) --> AUTH["権限チェック\n該当業務レコードへの\nアクセス権があるか?"]
AUTH -->|"権限あり"| S3["S3からファイルを取得\nストリームで返却"]
AUTH -->|"権限なし"| DENY["403 Forbidden"]
Pre-signed URL
Section titled “Pre-signed URL”大容量ファイルの場合、service-fileはPre-signed URLを生成します。この一時的なURLを使うことで、S3から直接ダウンロードでき、サーバー負荷を軽減できます。
CSVによる一括インポート
Section titled “CSVによる一括インポート”一部のマスタデータはCSVインポートに対応しています。
| データ種別 | 使用シーン |
|---|---|
| 組織(組織) | 新規クライアントのオンボーディング時 |
| ユーザー(ユーザー) | 複数ユーザーの一括作成 |
| Catalog Mall商品 | MallSupplierによる商品一括登録 |
| サプライヤー | Buyerとの一括紐付け |
インポートフロー:
- システムからCSVテンプレートをダウンロード
- データを記入
- ファイルをアップロード → service-fileが受け取り
- 行単位でバリデーション
- エラーがある場合は行単位でエラー詳細を表示
- 正常な行のみインポート実行
アップロード履歴画面: /eProcurement/Settings/MasterManagement/UploadHistory
ビジネスルール
Section titled “ビジネスルール”- 物理削除なし: ソフトデリートのみ — 業務レコードが削除されてもファイルはS3上に残ります。
file_codeが参照キー: 各ファイルには一意のfile_codeが付与され、業務レコードからこのコードで参照されます。- 1レコードに複数ファイル添付可: 購買依頼・契約書・サプライヤープロフィールはそれぞれ複数ファイルを添付できます。
- attachment_typeで分類: 各ファイルには
attachment_typeが設定され、どの業務フェーズ(見積・契約・検収等)の添付かを識別します。 - S3リージョン: 本番環境ではTokyo / Osakaの各リージョンに保存されます。
画面・URL
Section titled “画面・URL”| 画面 | URL (Staging) |
|---|---|
| アップロード履歴 | /eProcurement/Settings/MasterManagement/UploadHistory |
| Mall商品一括アップロード | https://bizhiway.staging.jienie.com/MallSupplier/CMS15WkProductUpload |
ファイル添付は各業務画面(購買依頼・契約書・サプライヤープロフィール等)に組み込まれています。独立したファイルマネージャー画面はありません。