# (DD18) Business Logic — JFUSetVariTsushinKikiMskmCC.executeHaisoYotei() [31 LOC]

| Field | Value |
|-------|-------|
| Fully Qualified Name | `com.fujitsu.futurity.bp.custom.common.JFUSetVariTsushinKikiMskmCC` |
| Layer | CC/Common Component (Shared business logic helper within the `com.fujitsu.futurity.bp.custom.common` package) |
| Module | `common` (Package: `com.fujitsu.futurity.bp.custom.common`) |

## 1. Role

### JFUSetVariTsushinKikiMskmCC.executeHaisoYotei()

The `executeHaisoYotei` method determines whether a customer's installation qualifies for **"eo光ネットマンションタイプ" (eo光 Network Mansion Type)** service — a specific building-type internet service offered by NTT/eo in Japanese multi-dwelling units. This is a classification/gateway method that returns `true` when the service setup matches one of four recognized eo光 Network mansion deployment patterns: (1) **Ethernet/VDSL** equipment, (2) **光コンセント (Light Connector)** — a built-in optical terminal in the apartment, (3) **MANMOS管理お客様直送 (MANMOS-managed customer-direct delivery)**, or (4) the **光配線1Gのみ (Fiber-optic 1G only)** configuration with customer-direct delivery. The method implements a **guard-gate pattern** — it sequentially validates prerequisite conditions (price group, network service status) before branching into the four equipment-specific types. If the price group is not `"04"` (eo光 Network Mansion Type), the method short-circuits immediately, as this is a mandatory prerequisite. This method is a private utility helper called exclusively by the `setVariTsushinKikiMskm` method within the same class, which orchestrates the full multi-equipment registration flow for variable telecommunication devices.

## 2. Processing Pattern (Detailed Business Logic)

```mermaid
flowchart TD
    START(["executeHaisoYotei call"])
    START --> CHK1{prc_grp_cd == 04?}
    CHK1 -->|No| RET_F1([return false])
    CHK1 -->|Yes| CHK2{svcKeiStatNet in 020, 030?}
    CHK2 -->|No| RET_F2([return false])
    CHK2 -->|Yes| CHK3{tk_hoshiki_cd in VDSL list?}
    CHK3 -->|Yes| RET_T1([return true])
    CHK3 -->|No| CHK4{tk_hoshiki_cd == 008 AND pattern == 51?}
    CHK4 -->|No| CHK5{hhs_1gonly == 1 OR pattern == 53 AND NOT isKojiHaiso?}
    CHK4 -->|Yes| RET_T2([return true])
    CHK5 -->|Yes| RET_T3([return true])
    CHK5 -->|No| RET_F3([return false])
```

**Branch explanations:**

| Branch | Condition | Business Meaning | Return |
|--------|-----------|-----------------|--------|
| 1 | `prc_grp_cd != "04"` | Price group is NOT eo光 Network Mansion Type — not even eo光, so exit immediately. | `false` |
| 2 | `svcKeiStatNet` not in `["020", "030"]` | Network service contract status is NOT pre-opening ("開通前") — service is not yet active for delivery. | `false` |
| 3 | `tk_hoshiki_cd` in `["001", "003", "004", "005", "006", "007", "010"]` | Equipment type is **Ethernet or VDSL** mansion type — eo光 Network Mansion Type with Ethernet/VDSL connectivity. | `true` |
| 4 | `tk_hoshiki_cd == "008"` AND `tk_hoshiki_pattern_cd == "51"` | Equipment type is **Light Connector (光コンセント)** — a built-in optical terminal provided by the building. | `true` |
| 5 | `hhs_1gonly_flg == "1"` OR `tk_hoshiki_pattern_cd == "53"` AND `!isKojiHaiso` | Either **Fiber-optic 1G only** or **CD01213_53 pattern**, and delivery is NOT contractor-managed — indicates MANMOS-managed customer-direct delivery. | `true` |
| 6 | All checks pass but none match | The conditions are met (correct price group + network status) but no equipment type matches any of the four recognized patterns. | `false` |

## 3. Parameter Analysis

| No | Parameter Name | Type | Business Description |
|----|---------------|------|---------------------|
| 1 | `tk_hoshiki_cd` | `String` | **Provision method code (提供方式コード)** — classifies the type of physical network equipment and connection method installed at the customer's premises. Values include `"001"`, `"003"`–`"007"`, `"010"` (Ethernet/VDSL mansion types), `"008"` (Light Connector / 光コンセント). Directly determines which equipment deployment pattern applies. |
| 2 | `tk_hoshiki_pattern_cd` | `String` | **Provision method pattern code (提供方式パターンコード)** — refines the provision method with a sub-type. `"51"` paired with `"008"` identifies the Light Connector pattern; `"53"` indicates the MANMOS-managed customer-direct-delivery pattern. |
| 3 | `svcKeiStatNet` | `String` | **Network service contract status (ネットのサービス契約ステータス)** — the current state of the internet service contract. Only `"020"` and `"030"` (pre-opening / 開通前) are valid for eo光 Network Mansion Type delivery. Values `"910"` (cancellation) or `"920"` (break) are excluded. |
| 4 | `svcKeiNoTel` | `String` | **Telephone service contract number (電話のサービス契約番号)** — the telephone service line number. Used for informational purposes; not directly checked in this method's logic but passed for context. |
| 5 | `prc_grp_cd` | `String` | **Price group code (料金グループコード)** — the billing category code. Must equal `"04"` (CD00133_04), which specifically denotes eo光 Network Mansion Type (eo光ネットマンションタイプ). This is the first guard condition; if not `"04"`, the method returns `false` immediately. |
| 6 | `hhs_1gonly_flg` | `String` | **Fiber-optic 1G only flag (光配線1Gのみフラグ)** — indicates whether the building is wired with fiber-optic 1G only. When `"1"` (HHS_1GONLY_FLG_1), combined with non-contractor delivery, it qualifies for MANMOS-managed customer-direct delivery. |
| 7 | `isKojiHaiso` | `boolean` | **Contractor-managed delivery flag (工事会社配送)** — whether the equipment delivery is handled by the installation contractor. `true` means contractor delivers; `false` means customer-direct delivery. For MANMOS-managed patterns, this must be `false` to qualify. |

**Instance fields / external state read:**
- `MT_ENET_VDSL` — A static `List<String>` containing Ethernet/VDSL mansion-type codes: `["001", "003", "004", "005", "006", "007", "010"]`.
- `SVC_KEI_STAT_OPBMPB` — A static `List<String>` containing pre-opening service status codes: `["020", "030"]`.

## 4. CRUD Operations / Called Services

This method performs **no CRUD operations** and calls **no external services or SC Codes**. It is a pure classification/predicate method that evaluates input parameters against constant lists and returns a boolean. No database access, entity reads/writes, or CBS/SC invocations occur within this method's scope.

## 5. Dependency Trace

| # | Caller (Screen/Batch) | Call Chain (Full Path to this Method) | Terminal (SC / CRUD / Entity) |
|---|----------------------|--------------------------------------|-------------------------------|
| 1 | N/A (private method) | `setVariTsushinKikiMskm` (L1079) -> `executeHaisoYotei` | N/A — no downstream CRUD |

**Notes:**
- `executeHaisoYotei` is a **private method** — it has no external callers outside the `JFUSetVariTsushinKikiMskmCC` class.
- The sole caller is `setVariTsushinKikiMskm` at line 1079, which is a `public` method in the same class.
- `setVariTsushinKikiMskm` is a business logic orchestrator that performs multi-equipment registration for variable telecommunication devices (各種通信機器申請み登録処理). It calls `executeHaisoYotei` to determine if delivery scheduling (`getHaisoReqShiteiYmd`) should be performed — i.e., only when eo光 Network Mansion Type is confirmed.
- No top-level screen entry points (KKSV*) were found calling `setVariTsushinKikiMskm` within the analyzed scope.

## 6. Per-Branch Detail Blocks

**Block 1** — IF (guard: price group check) `(prc_grp_cd != CD00133_04="04")` (L4138)

> First guard condition: If the price group code is not `"04"` (eo光 Network Mansion Type), the method short-circuits immediately. This is a mandatory prerequisite — the eo光 Network Mansion Type classification only applies to this specific price group.

| # | Type | Code |
|---|------|------|
| 1 | EXEC | `!JFUStrConst.CD00133_04.equals(prc_grp_cd)` [-> `CD00133_04="04" (JFUStrConst.java:1142)] |
| 2 | RETURN | `return false;` // Not eo光 Network Mansion Type |

**Block 2** — IF (guard: network service status check) `(!SVC_KEI_STAT_OPBMPB.contains(svcKeiStatNet))` (L4142)

> Second guard condition: If the network service contract status is not in the pre-opening list (`"020"`, `"030"`), delivery cannot be scheduled. Only pre-opening status is valid for this service type.

| # | Type | Code |
|---|------|------|
| 1 | EXEC | `!SVC_KEI_STAT_OPBMPB.contains(svcKeiStatNet)` [static field, L856: `Arrays.asList(CD00037_020="020", CD00037_030="030")`] |
| 2 | RETURN | `return false;` // Network not pre-opening |

**Block 3** — IF (Ethernet/VDSL mansion type) `(MT_ENET_VDSL.contains(tk_hoshiki_cd))` (L4144)

> First positive branch: If the provision method code is in the Ethernet/VDSL mansion type list, this is eo光 Network Mansion Type with Ethernet or VDSL connectivity. No further checks needed.

| # | Type | Code |
|---|------|------|
| 1 | EXEC | `MT_ENET_VDSL.contains(tk_hoshiki_cd)` [static field, L851: `Arrays.asList("001", "003", "004", "005", "006", "007", "010")] |
| 2 | RETURN | `return true;` // eo光 Network Mansion Type (Ethernet/VDSL) |

**Block 4** — IF (Light Connector / 光コンセント) `(tk_hoshiki_cd == "008" AND tk_hoshiki_pattern_cd == "51")` (L4147)

> Second positive branch: If the provision method is `"008"` (Light Connector / 光コンセント) AND the pattern code is `"51"` (CD01213_51), this qualifies as eo光 Network Mansion Type with the built-in optical terminal configuration.

| # | Type | Code |
|---|------|------|
| 1 | EXEC | `JFUStrConst.CD00590_008.equals(tk_hoshiki_cd)` [-> `CD00590_008="008" (JFUStrConst.java:4110)] |
| 2 | EXEC | `JFUStrConst.CD01213_51.equals(tk_hoshiki_pattern_cd)` [-> `CD01213_51="51" (JFUStrConst.java:6504)] |
| 3 | RETURN | `return true;` // eo光 Network Mansion Type (Light Connector / 光コンセント) |

**Block 5** — IF (MANMOS-managed customer-direct delivery) `(hhs_1gonly_flg == "1" OR tk_hoshiki_pattern_cd == "53" AND NOT isKojiHaiso)` (L4150)

> Third positive branch: If either the fiber-optic 1G only flag is `"1"` OR the pattern code is `"53"` (CD01213_53), AND delivery is NOT contractor-managed (`isKojiHaiso == false`), this indicates MANMOS-managed customer-direct delivery.

| # | Type | Code |
|---|------|------|
| 1 | EXEC | `JFUStrConst.HHS_1GONLY_FLG_1.equals(hhs_1gonly_flg)` [-> `HHS_1GONLY_FLG_1="1" (JFUStrConst.java:11273)] |
| 2 | EXEC | `JFUStrConst.CD01213_53.equals(tk_hoshiki_pattern_cd)` [-> `CD01213_53="53" (JFUStrConst.java:6507)] |
| 3 | EXEC | `(!isKojiHaiso)` // Contractor delivery must be false |
| 4 | RETURN | `return true;` // MANMOS-managed customer-direct delivery |

**Block 6** — DEFAULT (no match) (L4153)

> If none of the four positive branches matched, the default return is `false`. The prerequisite conditions (price group `"04"`, pre-opening status) were satisfied but the equipment type did not match any recognized eo光 Network Mansion Type pattern.

| # | Type | Code |
|---|------|------|
| 1 | RETURN | `return false;` // Does not match any eo光 Network Mansion Type pattern |

## 7. Glossary

| Term | Type | Business Meaning |
|------|------|------------------|
| `tk_hoshiki_cd` | Field | Provision method code (提供方式コード) — classifies the type of physical network equipment/connection at customer premises |
| `tk_hoshiki_pattern_cd` | Field | Provision method pattern code (提供方式パターンコード) — sub-type refinement of the provision method |
| `svcKeiStatNet` | Field | Network service contract status (ネットのサービス契約ステータス) — current state of the internet service contract |
| `svcKeiNoTel` | Field | Telephone service contract number (電話のサービス契約番号) — telephone line account identifier |
| `prc_grp_cd` | Field | Price group code (料金グループコード) — billing category that determines service tier and type |
| `hhs_1gonly_flg` | Field | Fiber-optic 1G only flag (光配線1Gのみフラグ) — building wired with fiber-optic 1G only |
| `isKojiHaiso` | Field | Contractor-managed delivery flag (工事会社配送) — whether installation contractor handles equipment delivery |
| CD00133_04 | Constant | `"04"` — eo光 Network Mansion Type price group (eo光ネットマンションタイプ) |
| CD00037_020 | Constant | `"020"` — Service contract status: pre-opening (サービス契約 開通前) |
| CD00037_030 | Constant | `"030"` — Service contract status: pre-opening (サービス契約 開通前) |
| CD00590_001 | Constant | `"001"` — Ethernet mansion type (イーサマンション) |
| CD00590_003 | Constant | `"003"` — VDSL mansion type |
| CD00590_004 | Constant | `"004"` — Mansion type variant |
| CD00590_005 | Constant | `"005"` — Mansion type variant |
| CD00590_006 | Constant | `"006"` — Mansion type variant |
| CD00590_007 | Constant | `"007"` — Mansion type variant |
| CD00590_010 | Constant | `"010"` — Mansion type variant |
| CD00590_008 | Constant | `"008"` — Light Connector / 光コンセント — built-in optical terminal in apartment |
| CD01213_51 | Constant | `"51"` — Light Connector pattern code (光コンセント パターン) |
| CD01213_53 | Constant | `"53"` — MANMOS-managed customer-direct-delivery pattern (MANMOS管理 顧客直送パターン) |
| HHS_1GONLY_FLG_1 | Constant | `"1"` — Fiber-optic 1G only flag active value |
| eo光ネット | Business term | eo Light Network — NTT's fiber-optic internet service brand |
| マンションタイプ | Business term | Mansion Type — building-type deployment of eo光 Network for multi-dwelling units |
| イーサ | Business term | Ethernet — wired LAN-based connection type for mansion deployment |
| VDSL | Business term | Very-high-bit-rate Digital Subscriber Line — copper-line broadband technology used in older apartment buildings |
| 光コンセント | Business term | Light Connector — a built-in optical terminal unit (OTU) installed in the apartment, replacing external terminal boxes |
| MANMOS管理 | Business term | MANMOS (マンション管理システム) managed — building management system administrated delivery/scheduling |
| お客様直送 | Business term | Customer-direct delivery — equipment shipped directly to the customer rather than via the installation contractor |
| 工事会社配送 | Business term | Contractor-managed delivery — installation contractor receives and transports equipment to the site |
| 開通前 | Business term | Pre-opening — service contract status indicating the line is provisioned but not yet activated |
| setVariTsushinKikiMskm | Method | Multi-equipment application registration processing (各種通信機器申請み登録処理) — the parent orchestrator method |
