diff --git "a/documents/forMarkdown/IF\345\256\232\347\276\251\346\233\270.md" "b/documents/forMarkdown/IF\345\256\232\347\276\251\346\233\270.md" new file mode 100644 index 00000000..5cd7e9a5 --- /dev/null +++ "b/documents/forMarkdown/IF\345\256\232\347\276\251\346\233\270.md" @@ -0,0 +1,109 @@ +# IF01_設備有効開始受信 + +設備有効開始の取り込みを行う。 + +## 対向システム + +| 連携元 | 連携先 | +| ---------- | ------ | +| A システム | Future | + +## 環境情報 + +Input: + +| Item | Value | +| ---------------- | ----------------------------------------------------------------------------------------- | +| 連携 S3 バケット | `${env}-example-import` | +| プレフィックス | `fix_report/year=${yyyy}/month=${MM}/day=${dd}/${yyyy}-${mm}-${dd}-${hh}-${MM}-${SS}.csv` | +| ファイル名 | `${yyyy}-${mm}-${dd}-${hh}-${MM}-${SS}.csv` | +| 保持期限 | 3 年 | + +Output: + +| Item | Value | +| -------- | -------------- | +| 出力先 | xxx 受信ワーク | +| 保持期限 | 1 年 | +| 冪等 | あり | + +## 連携元定義 + +| Category | Item | Value | Memo | +| -------- | ----------------------------------- | --------- | -------------------- | +| Protocol | 連携方式(ファイル/API/ストリーム) | ファイル | | +| | 連携タイミング(随時/定時) | 定時 | | +| | 頻度 | 1 回/日 | | +| | 起動時間 | **16:00** | | +| | 門限 | **16:00** | | +| | 未着チェック(なし/WARN/ERROR) | WARN | | +| | 全件/差分 | 差分 | | +| | 0 件時連携 | あり | | +| Format | ファイル種別 | **CSV** | | +| | レイアウト | RFC 8259 | | +| | 文字コード | UTF-8 | | +| | 改行コード | LF | | +| | 圧縮 | - | | +| | 暗号化 | - | | +| | ヘッダ行 | あり | | +| | 項目順 | 固定 | 項目順は入れ替え不可 | + +### 項目定義 + +| Item Logical | Item Physical | Type | Length | Precision | Enum | Format | Example | Memo | +| ------------ | -------------- | ------ | ------ | --------- | ---- | ---------- | ---------- | ---- | +| 会社コード | company_cd | string | 5 | - | - | - | 00001 | | +| 設備コード | device_cd | string | 8 | - | - | - | 00000052 | | +| 有効開始日 | activation_date | string | 10 | - | - | YYYY-MM-DD | 2022-10-16 | [^1] | + +[^1]: 現在日以降である必要があるが、受信ではテスト観点で過去日も許容する + +#### サンプル + +```csv +company_cd,device_cd,activation_date +12121,00000052,2022-03-01 +12121,00000053,2022-03-30 +``` + +## 受信処理概要 + +- ファイル定義に則ったバリデーションを実施 +- 次の項目変換定義に従い加工し、出力先テーブルに Merge する +- 受信完了後、 Completed: YYYY-MM-DDTHH:MI:SS.SSS のタグを追加する + +## 処理シーケンス + +```plantuml +@startuml +!theme toy + +participant システム +participant S3 +database DB + +システム -> DB: 処理日付取得\n[日付管理] + +システム -> S3: 対象ファイルの存在チェック + +alt ファイルが存在しなかった場合 + システム -> システム: 処理終了して、次の処理を待機 +end + +システム -> DB: シーケンスの取得\n[シーケンスオブジェクト] + +システム -> DB: 1.実行開始レコード追加\n[IF受信管理] + +システム -> S3: 対象ファイルを取得 + +システム -> DB: 対象マスタのTruncate + +システム -> DB: ファイル連携処理 + +システム -> システム: 連携件数確認 + +システム -> S3: 処理済対象ファイルを格納 + +システム -> DB: 2.実行終了状態の更新\n[IF受信管理] +@enduml +``` diff --git a/documents/forMarkdown/README.md b/documents/forMarkdown/README.md index fa9018d6..6069072c 100644 --- a/documents/forMarkdown/README.md +++ b/documents/forMarkdown/README.md @@ -67,6 +67,10 @@ docs └── README.md ``` +## システム構成図 + +TODO 論理, 物理, etc. + ## フロントエンド ### 画面遷移 @@ -82,21 +86,28 @@ TODO A5ER -### Web API定義書 +### 区分値 -OpenAPI.yamlで記載する +TODO ### Web API設計書 -TODO +API定義書はOpenAPI.yamlで記載する + +TODO 各エンドポイント毎のプログラム設計 + ### バッチ設計書 TODO -### システムI/F定義書 +### I/F定義書 -TODO +I/F定義書は、システム間の連携について定義と、その受信/配信処理の設計書です。 + +システムI/Fは連携先の対向システムが存在するため、認識齟齬が無いように、どのようなプロトコル・項目であるかを定義する必要があります。 + +* [レイアウト](IF定義書.md) # Resources