# ①② 概要・処理フロー (Overview & Flow)

# ① 総合概要 (Overview)

| 項目             | 内容                                                                                          |
|------------------|-----------------------------------------------------------------------------------------------|
| **完全修飾名**     | com.fujitsu.futurity.bp.custom.common.JKKHakkoSODCC                                          |
| **レイヤー**       | CC（Common Component）                                                                       |
| **モジュール**     | common                                                                                       |
| **総行数**         | 31,120                                                                                       |
| **総メソッド数**   | 352                                                                                          |
| **総フィールド数** | 116                                                                                          |
| **説明**          | 本クラスはFJ社BSS/OSS基盤の「サービスオーダ」全般を制御する共通コンポーネント（CC）です。<br>サービスオーダ（SOD）に関する各種制御（発行・削除・編集・状態判定・関連SC呼出・業務判定）を一手に担い、多数のSC（サービスコンポーネント）呼出（EKK/EZM/EDK/ETU/EKU等）を通じて、回線契約、オプション契約、ネットワーク機器、電話番号、料金プラン等の業務領域のデータ連携・業務制御を実現します。<br>メソッド群は「オーダ判定・照会」「編集・マッピング（Edit/Mapping）」「SC呼出（callEKK*, callEZM*）」「SOD発行（addSOD/hakkoSOD）」など業務ごとに整理されており、上位BPCheck層からの呼び出しに応じて、各種下位SCサービスを集約的にオーケストレーションします。<br>本クラスの主な特徴は、<ul><li>SC呼出の一元化（EKK/EZM系52種）</li><li>業務ごとのオーダ判定・編集・出力処理（SOD/DSL/050等）</li><li>契約状態・料金プラン・オプション・回線等を跨ぐ複雑な業務ロジックの実装</li><li>上位BPCheck系クラス群からの制御分岐点の集中</li></ul>となっています。|

---

### 依存関係クラス列挙

#### 上位呼出元（INCOMING）

**BPCheckクラス群（11件）**
- KKSV0004_KKSV0004OPBPCheck
- KKSV0008_KKSV0008OPBPCheck
- KKSV0009_KKSV0009OPBPCheck
- KKSV0031_KKSV0031OPBPCheck
- KKSV0073_KKSV0073OPBPCheck
- KKSV0136_KKSV0136OPBPCheck
- KKSV0162_KKSV0162OPBPCheck
- KKSV0428_KKSV0428OPBPCheck
- KKSV0429_KKSV0429OPBPCheck
- KKSV0430_KKSV0430OPBPCheck
- TUSV0097_TUSV0097OPBPCheck

#### 下位呼出先（OUTGOING）

- EKK0341B002CBSMsg
- EKK0341B008CBSMsg
- EKK0341B021CBSMsg
- EKK0161B004CBSMsg
- EKK1081E010CBSMsg
- EKK1081B001CBSMsg
- EKK1081C011CBSMsg
- EKK0081B004CBSMsg
- EKK0191B001CBSMsg
- EKK0251B003CBSMsg
- EKK0251B001CBSMsg
- EKK0351B010CBSMsg
- EKK0351A010CBSMsg
- EKK0411A010CBSMsg
- EKK0401A010CBSMsg
- EKK0361A010CBSMsg
- EKK0881A010CBSMsg
- EKK0891A010CBSMsg
- EZM0121A010CBSMsg
- EZM0321A010CBSMsg
- EDK0301B060CBSMsg
- EKU0011A010CBSMsg
- EKU0081B010CBSMsg
- ETU0011B010CBSMsg
- EKK1681B001CBSMsg
- EKK1041B001CBSMsg
- EKK1041A010CBSMsg
- EKK2811A010CBSMsg
- EKK2811B010CBSMsg
- EKK0341B029CBSMsg
- EKK2091A010CBSMsg
- EKK2101B001CBSMsg
- EKK2101B002CBSMsg
- EKK0191A010CBSMsg
- EKK0191B502CBSMsg
- EKK0341B504CBSMsg
- EKK0341A010CBSMsg
- EKK1551D010CBSMsg
- EKK0351B003CBSMsg
- EKK0351B002CBSMsg
- EKK0161B003CBSMsg
- EKK0161A010CBSMsg
- EKK0161B008CBSMsg
- EKK0161B011CBSMsg
- EKK0411A010CBSMsg
- EKK0191B001CBSMsg
- EKK0081A010CBSMsg
- EKK0341B022CBSMsg
- EZM0411A010CBSMsg
- EKK0791A010CBSMsg
- EDK0301B060CBSMsg

#### 影響DBテーブル・SCサービス

- SCサービス: EKK0341, EKK0161, EKK0191, EKK1081, EKK0251, EKK0351, EKK0081, EKK2101, EKK1041, EKK2811, EKK0881, EKK0891, EZM0121, EKK0091, EDK0301, EZM0321, EKK2091, EKK1681, EKU0011, EKU0081, EKK0791, ETU0011, EKK0411, EKK0401, EKK0361, EZM0411
- 主要なCRUD対象: サービス契約情報・契約内訳・オプション・回線利用・機器提供・料金プラン・電話番号・各種オーダ管理情報（SC連携を通じて該当DBにアクセス）

---

### SC呼出概要

- **SC呼出メソッド数**: 52件
- **使用SCコード**:
   - `EKK0341` 系: 予約・機器提供サービス契約一覧照会等（9件）
   - `EKK0161` 系: サービス契約内訳照会・編集（5件）
   - `EKK0191` 系: サービス契約内訳（eo光電話）一覧照会（4件）
   - `EKK1081` 系: 機器情報・認証情報取得、登録（3件）
   - `EKK0251` 系: 回線契約照会、内訳照会（3件）
   - `EKK0351` 系: オプションサービス契約関連（3件）
   - `EKK0081` 系: ネットワークサービス契約情報（2件）
   - `EKK2101` 系: 料金関連（2件）
   - `EKK1041` 系: オーダ関連（2件）
   - `EKK2811` 系: 料金プラン判定・変更（2件）
   - `EKK0881`, `EKK0891`, `EZM0121`, `EKK0091`, `EDK0301`, `EZM0321`, `EKK2091`, `EKK1681`, `EKU0011`, `EKU0081`, `EKK0791`, `ETU0011`, `EKK0411`, `EKK0401`, `EKK0361`, `EZM0411`: 各1件以上

#### 各SC業務役割概要

- **EKK0341**: 機器提供サービス契約やオプション契約、回線契約の一覧や履歴、予約情報の照会・編集
- **EKK0161**: サービス契約内訳（主に回線・オプション）の照会
- **EKK0191**: サービス契約内訳（eo光電話等）の照会
- **EKK1081**: 認証情報・機器情報の取得・登録
- **EKK0251**: 回線契約情報や契約内訳の照会
- **EKK0351**: オプションサービス契約情報の照会・登録
- **EKK0881/0891**: 提供方式契約・回線使用契約の照会
- **EZM0121/EZM0321/EZM0411**: 電話番号・認証・設備情報の照会
- **EDK0301/EKK0091/EKK2091/EKK1041/EKK1681/EKU0011/EKU0081/EKK0791/ETU0011/EKK0411/EKK0401/EKK0361**: その他、各種サービス契約・オーダ・設備・課金情報・認証・工事予定等の照会・操作

---

# ② 業務フロー全体図 (Main Flow)（Mermaid）

```mermaid
flowchart TD

%% 呼出元
  subgraph _sg_1349827627["呼出元"]
    A1["KKSV0004_KKSV0004OPBPCheck"]
    A2["KKSV0008_KKSV0008OPBPCheck"]
    A3["KKSV0009_KKSV0009OPBPCheck"]
    A4["KKSV0031_KKSV0031OPBPCheck"]
    A5["KKSV0073_KKSV0073OPBPCheck"]
    A6["KKSV0136_KKSV0136OPBPCheck"]
    A7["KKSV0162_KKSV0162OPBPCheck"]
    A8["KKSV0428_KKSV0428OPBPCheck"]
    A9["KKSV0429_KKSV0429OPBPCheck"]
    A10["KKSV0430_KKSV0430OPBPCheck"]
    A11["TUSV0097_TUSV0097OPBPCheck"]
    classGroupBPCheck["BPCheck群 (11件)"]:::group
    classGroupBPCheck --> A1
    classGroupBPCheck --> A2
    classGroupBPCheck --> A3
    classGroupBPCheck --> A4
    classGroupBPCheck --> A5
    classGroupBPCheck --> A6
    classGroupBPCheck --> A7
    classGroupBPCheck --> A8
    classGroupBPCheck --> A9
    classGroupBPCheck --> A10
    classGroupBPCheck --> A11
  end

%% 主制御
  subgraph _sg_882616648["主制御"]
    B1["hakkoSOD"]
    B2["dslOdrCtrl"]
    B3["kaihkOdrCtrl"]
    B4["courseChgeOdrCtrl"]
    B5["bmpSipDslOdrCtrl"]
    B6["malwareBlockingDivOdrCtrl"]
    B7["rtOpChgDivOdrCtrl"]
    B8["enumAddOdrCtrl"]
    B9["enumDelOdrCtrl"]
    B10["add050AddSod"]
    B11["add050DelSod"]
    B12["koteiIpAd8DivOdrCtrl"]
    B13["vLanIdVaChangeOdrCtrl"]
    B14["htelNoAddOdrCtrl"]
    B15["htelNoChgeOdrCtrl"]
    B16["htelNoKaihkOdrCtrl"]
    B17["opSetOdrCtrl"]
    B18["cnclOdrCtrl"]
    B19["adchgFixOdrCtrl"]
    B20["pauseJdg"]
    B21["pauseUkOdrCtrl"]
    B22["stpUkOdrCtrl"]
    B23["stpRlsOdrCtrl"]
    B24["kaihkOdrCtrl"]
    B25["tsuikabunAddSOD"]
    B26["addTakinoSOD"]
    B27["addIpv6SODAft"]
    B28["newNet"]
    B29["newKeiOdrCtrl"]
    B30["searchSvcKeiUcwk"]
    B31["searchOpSvcKei"]
  end

%% ドメイン別サブグラフ
  subgraph _sg_1232634686["ネット系"]
    N1["dslOdrCtrl"]
    N2["courseChgeOdrCtrl"]
    N3["hakkoCourseChgSOD"]
    N4["addIpv6SODAft"]
    N5["newNet"]
    N6["getDammyPplanCd"]
    N7["getNewPplanCd"]
    N8["callEKK0361A010SC"]
    N9["callEKK1081E010SC"]
    N10["callEKK1081B001SC"]
    N11["callEKK1081C011SC"]
    N12["callEKK0191B001SC"]
    N13["callEKK0191A010SC"]
    N14["callEKK1681B001SC"]
    N15["callEKK1041B001SC"]
    N16["callEKK1041A010SC"]
    N17["callEKK2811A010SC"]
    N18["callEKK2811B010SC"]
  end

  subgraph _sg_2057076288["電話系"]
    T1["htelNoAddOdrCtrl"]
    T2["htelNoChgeOdrCtrl"]
    T3["htelNoKaihkOdrCtrl"]
    T4["callEZM0121A010SC"]
    T5["callEKK0191B001_2SC"]
    T6["callEKK0081A010SC"]
    T7["callEKK0411A010SC"]
    T8["callEKK0401A010SC"]
    T9["callEKK0341B008SC"]
    T10["callEKK0341B021SC"]
    T11["callEKK0341B002SC"]
    T12["callEKK0341B504SC"]
    T13["callEKK0341A010SC"]
    T14["callEKK0341B029SC"]
    T15["callEKK0341B022SC"]
  end

  subgraph _sg_848952893["オプション系"]
    O1["opSetOdrCtrl"]
    O2["rtOpChgDivOdrCtrl"]
    O3["callEKK0351B010SC"]
    O4["callEKK0351A010SC"]
    O5["callEKK0351B002SC"]
    O6["callEKK0251B001SC"]
    O7["callEKK0251B003SC"]
    O8["callEKK0251B003SCCAAMsg"]
    O9["callEKK0251B003SCInMsg"]
    O10["callEKK0251B003SCOutMsg"]
  end

  subgraph _sg_177434208["住所・設備変更系"]
    J1["adchgFixOdrCtrl"]
    J2["vLanIdVaChangeOdrCtrl"]
    J3["addTakinoSOD"]
    J4["callEZM0321A010SC"]
    J5["callEZM0411A010SC"]
    J6["callEDK0301B060SC"]
    J7["callEKU0011A010SC"]
    J8["callEKU0081B010SC"]
    J9["callETU0011B010SC"]
    J10["callEKK2091A010SC"]
    J11["callEKK2101B001SC"]
    J12["callEKK2101B002SC"]
    J13["callEKK0791A010SC"]
  end

  %% SCグループ統合
  subgraph _sg_SC["SC系"]
    ECSC1["EKK系(34件)"]
    EZSC1["EZM系(5件)"]
    EDESC1["EDK/ETU/EKU系(6件)"]
  end

%% 呼出元→主制御
  classGroupBPCheck --> B1

%% 主制御 → 各ドメイン
  B1 --> N1
  B1 --> T1
  B1 --> O1
  B1 --> J1

  %% ネット系SC
  N1 --> ECSC1
  N2 --> ECSC1
  N3 --> ECSC1
  N4 --> ECSC1
  N5 --> ECSC1
  N6 --> ECSC1
  N7 --> ECSC1
  N8 --> ECSC1
  N9 --> ECSC1
  N10 --> ECSC1
  N11 --> ECSC1
  N12 --> ECSC1
  N13 --> ECSC1
  N14 --> ECSC1

  %% 電話系SC
  T1 --> ECSC1
  T2 --> ECSC1
  T3 --> ECSC1
  T4 --> EZSC1
  T5 --> ECSC1
  T6 --> ECSC1
  T7 --> ECSC1
  T8 --> ECSC1
  T9 --> ECSC1
  T10 --> ECSC1
  T11 --> ECSC1
  T12 --> ECSC1
  T13 --> ECSC1

  %% オプション系SC
  O1 --> ECSC1
  O2 --> ECSC1
  O3 --> ECSC1
  O4 --> ECSC1
  O5 --> ECSC1
  O6 --> ECSC1
  O7 --> ECSC1
  O8 --> ECSC1
  O9 --> ECSC1
  O10 --> ECSC1

  %% 住所・設備変更系SC
  J1 --> ECSC1
  J2 --> ECSC1
  J3 --> ECSC1
  J4 --> EZSC1
  J5 --> EZSC1
  J6 --> EDESC1
  J7 --> EDESC1
  J8 --> EDESC1
  J9 --> EDESC1
  J10 --> ECSC1
  J11 --> ECSC1
  J12 --> ECSC1
  J13 --> ECSC1

%% SCグループ下位ノード
  ECSC1 -->|代表| N8
  ECSC1 -->|代表| T11
  ECSC1 -->|代表| O3
  ECSC1 -->|代表| J10

  EZSC1 -->|代表| T4
  EZSC1 -->|代表| J4

  EDESC1 -->|代表| J6

classDef group fill:#eaeaea,stroke:#555,stroke-width:1.5px;
```

---

**備考**  
- 各メソッド・ノード名は全てMETHOD_LISTに存在するもののみを記載
- SCノードはグループ化（EKK/EZM/EDK/ETU/EKU）し、代表ノードのみ下位参照
- 呼出元は全11クラスをグループノード下に全列挙
- 主制御は業務ごとに代表的なコントロール/判定系メソッドを配置
- ドメイン別にネット・電話・オプション・住所/設備変更で分割し、主要SC呼出接続を明確化

---

---

