@startuml
skinparam StateFontSize 12
skinparam StateFontName Arial
skinparam ArrowFontSize 11
skinparam ArrowFontName Arial
top to bottom direction
skinparam ranksep 50
skinparam nodesep 50
[*] -down-> CSV作成処理中
state CSV作成処理中 #lightblue {
[*] --> データ抽出
データ抽出 -right-> CSVフォーマット変換 : データ抽出完了
CSVフォーマット変換 -right-> CSV出力 : dataframe⇒csv変換完了
CSVフォーマット変換 -down-> CNT出力 : レコード数カウント完了
CSV出力 -down-> [*] : CSV格納完了
CNT出力 -down-> [*] : CNT格納完了
state データ抽出 {
[*] -down-> csv定義ファイル読み込み
csv定義ファイル読み込み -down-> カラム抽出 : 読み込み完了
カラム抽出 -down-> [*] : 出力csv単位で\nカラム抽出完了
}
}
state データ整合性チェック_validation処理中 #lightgreen {
[*] --> データ整合性チェック
データ整合性チェック -down-> validation
validation -down-> [*]
state データ整合性チェック {
[*] --> 出力CSVチェック
出力CSVチェック -right-> レコードの一意性チェック
レコードの一意性チェック -right-> 反映処理チェック
反映処理チェック -right-> 一括処理チェック
一括処理チェック -right-> 他チェック項目
他チェック項目 -down-> [*]
}
state 出力CSVチェック {
[*] -down-> ファイル名_ファイル数確認
ファイル名_ファイル数確認 -down-> レコード数確認 : 定義ファイルと\n一致することを確認
レコード数確認 -down-> [*] : 出力CSV単位で\nCNTの値と比較完了
}
state レコードの一意性チェック {
[*] -down-> keyキー重複チェック
keyキー重複チェック -down-> ポータルキー重複チェック
ポータルキー重複チェック -down-> [*]
}
state 反映処理チェック {
[*] -down-> DB更新TBLのレコード抽出
DB更新TBLのレコード抽出 -down-> 出力CSVとの比較
出力CSVとの比較 -down-> [*]
}
state 一括処理チェック {
[*] -down-> 休職本部詰めチェック
休職本部詰めチェック -down-> 常駐部店チェック
常駐部店チェック -down-> [*]
}
state 他チェック項目 #pink{
[*] -down-> 受付処理の整合性チェック項目
受付処理の整合性チェック項目 -down-> 受付_パターン処理関連
受付_パターン処理関連 -down-> ダミー課Gr情報チェック
ダミー課Gr情報チェック -down-> [*]
note right of 受付処理の整合性チェック項目
ファイル送信前でも実施すべき
項目を確認する
end note
note right of 受付_パターン処理関連
受付パターン処理結果に対して
チェックすべき項目があるか確認する
end note
note right of ダミー課Gr情報チェック
ダミー課Grテーブル情報との
整合性チェック
end note
}
note right of validation
validation項目:
BPR部店名_課Gr名_64文字チェック
データ型
レコードサイズ
空白の許容
全角半角
文字コード
end note
}
state 送信処理中 #lightyellow {
[*] --> 送信定義ファイル取得
送信定義ファイル取得 -right-> 送信前準備 : 送信先情報取得
送信前準備 -right-> ファイル送信_SFTP : 送信先へSSH疎通確認\nフォルダ状況確認
ファイル送信_SFTP -right-> 送信結果確認 : 送信完了
送信結果確認 -down-> [*] : 送信先へCSVの存在確認
}
CSV作成処理中 -down-> データ整合性チェック_validation処理中 : CSV作成完了
データ整合性チェック_validation処理中 -down-> 送信処理中 : validation成功
送信処理中 -down-> [*] : 送信完了
@enduml
Register as a new user and use Qiita more conveniently
- You get articles that match your needs
- You can efficiently read back useful information
- You can use dark theme