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
218 changes: 109 additions & 109 deletions documents/forMarkdown/IF定義書.md
Original file line number Diff line number Diff line change
@@ -1,109 +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
```
# 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
```
11 changes: 5 additions & 6 deletions documents/forMarkdown/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -52,9 +52,9 @@ Markdownに限った話では無いが、どういった内容を設計書に記
```sh
docs
├── 01_キャッチアップ # ドメイン知識など抑えておくべき前提知識
├── 02_環境構築 #
├── 02_環境構築 #
├── 03_開発規約 # GitFlowなど、リリース方式、CI/CD周り
├── 04_ユーザーストーリー #
├── 04_ユーザーストーリー #
├── 05_画面レイアウト # Figmaのパスなど
├── 06_画面遷移図 #
├── 07_画面アクション
Expand All @@ -63,7 +63,7 @@ docs
├── 10_IF設計書 # I/F定義+受信/送信BL設計
├── 11_バッチ設計書 # タイマー、イベント起動の非同期処理のBL設計
├── 12_インフラ設計 # 監視、キャパシティサイジング、コスト
├── ...
├── ...
└── README.md
```

Expand All @@ -88,16 +88,15 @@ A5ER

### 区分値

TODO
TODO JSON/YAML で管理推奨など

### Web API設計書

API定義書はOpenAPI.yamlで記載する

TODO 各エンドポイント毎のプログラム設計


### バッチ設計書
### プログラム設計書

TODO

Expand Down
55 changes: 55 additions & 0 deletions documents/forMarkdown/プログラム設計書.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
# BAT01 xxx計算

## 処理概要

- xxx
- xxx

## シーケンス図

```plantuml
@startuml
!theme toy

participant システム
database DB

note over システム: 各種インプット取得

システム -> DB: xxx\n[yyyyワーク]\n[zzzラン]

@enduml
```

## DB項目

### 取得

- xxx受信ワーク.会社コード
- xxx受信ワーク.担当者コード
- xxx受信ワーク.エリアコード

### 登録

警告リストワークに以下のカラムでレコードを登録する

- xxxワーク.会社コード
- xxxワーク.処理日付
- xxxワーク.yyy区分

### 更新

xxx予測ワークの以下の項目を更新する

- xxx予測ワーク.優先度
- xxx予測ワーク.処理予定日

## 補足事項

### 1.xxx抽出

xxx

### 2.優先度計算

xxx