Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
109 changes: 109 additions & 0 deletions documents/forMarkdown/IF定義書.md
Original file line number Diff line number Diff line change
@@ -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
```
21 changes: 16 additions & 5 deletions documents/forMarkdown/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,10 @@ docs
└── README.md
```

## システム構成図

TODO 論理, 物理, etc.

## フロントエンド

### 画面遷移
Expand All @@ -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

Expand Down