# Business Logic — JBSbatKKKojiKnrnInfCheck.kojiRsvInfTVOutPut() [159 LOC]

| Field | Value |
|-------|-------|
| Fully Qualified Name | `eo.business.service.JBSbatKKKojiKnrnInfCheck` |
| Layer | Service (Batch processing service) |
| Module | `service` (Package: `eo.business.service`) |

## 1. Role

### JBSbatKKKojiKnrnInfCheck.kojiRsvInfTVOutPut()

This method implements the **Construction Schedule Information (Television) Output Processing** (工事予定情報(テレビ)出力処理). It is a batch processing entry point within K-Opticom's fiber-to-the-home (FTTH) customer service backbone system that reads intermediate CSV files containing construction reservation records for television (TV/telecom) service lines, validates and classifies each record against business rules, and routes the output into two categorized intermediate files — one for records deemed acceptable for immediate scheduling and another for records requiring next-day (scheduled delay) processing.

The method follows a **routing/dispatch pattern**: for each input record, it queries the `KK_T_SVC_KEI` (Service Contract) database table to retrieve the current service contract status, then delegates classification to the rule engine (`executeRule0081001`) which returns a result code indicating whether the record is acceptable (0), requires next-day processing (1), or has failed validation (2). Based on this result code and additional business checks (promotional information search, construction delay contract correction), the method dispatches each record to the appropriate output stream.

This method serves as a **shared batch utility** called directly by `JBSbatKKKojiKnrnInfCheck.execute()`, acting as a critical data transformation and classification step in the larger work order and construction scheduling workflow. It bridges the gap between raw construction reservation data and downstream processing by applying business rules and separating records by their acceptance status.

## 2. Processing Pattern (Detailed Business Logic)

```mermaid
flowchart TD
    START(["kojiRsvInfTVOutPut_START"])
    STEP1["file_path = mid_dir_kk + KOJI_RSV_INF_TV_FILE_ID + 002 + .csv<br>Read CSV input file KKIFM062002.csv"]
    STEP2["Loop: for each row in data_list"]
    STEP3["Parse row: split by comma<br>svc_kei_no = data[0]<br>kuj_ank_stb_cd = data[5]<br>rec_div = data[15]"]
    STEP4["Query: executeKK_T_SVC_KEI_KK_SELECT_060<br>Read table KK_T_SVC_KEI"]
    COND_OUTDB{outDbMap null}
    STEP_STAT["svc_kei_stat = getString SVC_KEI_STAT"]
    STEP_ERR1["printBusinessErrorLog EKKB0630NW<br>continue"]
    STEP_RULE["executeRule0081001<br>Rule ID RULE0081001"]
    COND_RULE{result_cd != 9}
    COND_UKEIRE{result_cd == 0}
    COND_UKEIRE_PSB{isUkeirePsb svc_kei_stat}
    STEP_UKEIRE_PSB["setKojiRsvInfTv to koji_rsv_inf_tv1<br>setPrgIfAdd<br>Output: Acceptable file KKIFM062003.csv"]
    STEP_UKEIRE_OTHER["setKojiRsvInfTv to koji_rsv_inf_tv2<br>Output: Next-day file KKIFM062004.csv"]
    COND_YOKUJITSU{result_cd == 1}
    STEP_YOKUJITSU{isYokujitsuUkeire}
    STEP_YOKUJITSU_OK["setKojiRsvInfTv to koji_rsv_inf_tv2<br>Output: Next-day file KKIFM062004.csv"]
    COND_FAIL{result_cd == 2}
    STEP_FAIL_CHECK{isKojiDlyKeiHosei svc_kei_no}
    STEP_FAIL_CREATE["createKojiDlyKeiHosei<br>Register to KK_T_KOJI_DLY_KEHSI"]
    STEP_ERR2["printBusinessErrorLog EKKB0010CW<br>continue"]
    STEP_OUTPUT1["Write Acceptable file KKIFM062003.csv"]
    STEP_OUTPUT2["Write Next-day file KKIFM062004.csv"]
    END(["kojiRsvInfTVOutPut_END"])

    START --> STEP1 --> STEP2 --> STEP3 --> STEP4 --> COND_OUTDB
    COND_OUTDB -->|true| STEP_STAT --> STEP_RULE
    COND_OUTDB -->|false| STEP_ERR1 --> STEP2
    STEP_RULE --> COND_RULE
    COND_RULE -->|!= 9| COND_UKEIRE
    COND_RULE -->|== 9| STEP_ERR2 --> STEP2
    COND_UKEIRE -->|== 0| COND_UKEIRE_PSB
    COND_UKEIRE -->|else| COND_YOKUJITSU
    COND_UKEIRE_PSB -->|true| STEP_UKEIRE_PSB --> STEP2
    COND_UKEIRE_PSB -->|false| STEP_UKEIRE_OTHER --> STEP2
    COND_YOKUJITSU -->|== 1| STEP_YOKUJITSU
    COND_YOKUJITSU -->|else| COND_FAIL
    STEP_YOKUJITSU -->|true| STEP_YOKUJITSU_OK --> STEP2
    STEP_YOKUJITSU -->|false| STEP2
    COND_FAIL -->|== 2| STEP_FAIL_CHECK
    COND_FAIL -->|else| STEP2
    STEP_FAIL_CHECK -->|true| STEP_FAIL_CREATE --> STEP2
    STEP_FAIL_CHECK -->|false| STEP2
    STEP2 -->|done| STEP_OUTPUT1 --> STEP_OUTPUT2 --> END
```

**Block Descriptions:**

- **File Preparation**: Constructs the input file path by concatenating `mid_dir_kk`, `KOJI_RSV_INF_TV_FILE_ID` ("KKIFM062"), suffix "002", and `FILE_KEISHIKI` (".csv"). Reads the CSV input file.
- **Record Parsing**: For each row, splits by comma and extracts key fields — `svc_kei_no` (index 0), `kuj_ank_stb_cd` (index 5), and `rec_div` (index 15).
- **Service Contract Query**: Calls `executeKK_T_SVC_KEI_KK_SELECT_060` with `svc_kei_no` and `opeDate` (batch operation date) to query the `KK_T_SVC_KEI` table.
- **Database Result Validation**: If the database query returns null, logs a business error (EKKB0630NW) and continues to the next record.
- **Rule Engine Invocation**: Calls `executeRule0081001` with `kuj_ank_stb_cd`, `svc_kei_stat`, and `rec_div` to classify the record. The rule engine returns a result code.
- **Result Code Branching**:
  - If `result_cd == 9`: Logs a business error (EKKB0010CW) — the record failed a rule check.
  - If `result_cd == 0` (RESULT_UKEIRE_PSB): Further branch based on `isUkeirePsb()`. If the service status is "In Service Provision" (100), "Suspended/Discontinued" (210), "Stopped" (220), "Terminated" (910), "Canceled" (920), or other status with no promotional info — outputs to the **acceptable** stream (koji_rsv_inf_tv1). Otherwise, outputs to the **next-day** stream (koji_rsv_inf_tv2).
  - If `result_cd == 1` (RESULT_YOKUJITSU_UKEIRE): Calls `isYokujitsuUkeire()` to validate next-day acceptance, and if true, outputs to the next-day stream.
  - If `result_cd == 2` (RESULT_UKEIRE_FAIL): Calls `isKojiDlyKeiHosei()` to check if the contract exists in the construction delay correction table. If not present, registers the record to `KK_T_KOJI_DLY_KEHSI` for correction processing.

## 3. Parameter Analysis

| No | Parameter Name | Type | Business Description |
|----|---------------|------|---------------------|
| 1 | `mid_dir_kk` | `String` | Intermediate file storage directory path. Specifies the file system directory where input CSV files are read from and output CSV files are written. This is a batch runtime configuration parameter that determines the staging area for construction reservation data exchange between batch processing stages. |

**Instance fields read:**

| No | Field Name | Type | Business Description |
|----|-----------|------|---------------------|
| 1 | `super.opeDate` | `Date` | Batch operation date. Used as a parameter for service contract queries to retrieve records as of the batch run date. |
| 2 | `super.logPrint` | `LogPrint` | Logging utility inherited from the parent class. Used for debug and business error log output throughout the method. |

## 4. CRUD Operations / Called Services

### Pre-computed evidence from code analysis graph:

| CRUD | SC / CBS | SC Code | Entity / DB | Operation Description |
|------|----------|---------|-------------|----------------------|
| R | `executeKK_T_SVC_KEI_KK_SELECT_060` | EKK0620A010SC | `KK_T_SVC_KEI` | Queries the Service Contract table (KK_T_SVC_KEI) to retrieve the service contract status (SVC_KEI_STAT) for a given service contract number and operation date. Uses SQL key KK_SELECT_060. |
| - | `executeRule0081001` | RULE0081001 | - | Invokes the business rule engine (RULE0081001) to validate and classify a construction record based on work case category code, service status, and record division. Returns a result code (0=Acceptable, 1=Next-day, 2=Fail, 9=Rule exception). |
| - | `isUkeirePsb` | - | - | Internal method that determines whether the service contract status qualifies the record for immediate acceptance based on service status and promotional information search results. |
| - | `setKojiRsvInfTv` | - | - | Internal method that performs item transfer/formatting of construction reservation information fields. Called with either the acceptable buffer (koji_rsv_inf_tv1) or next-day buffer (koji_rsv_inf_tv2). |
| - | `setPrgIfAdd` | - | - | Internal method (added in v9.00.00) that registers advancement/supplement data from the parsed CSV record. Handles progress tracking information for the work order. |
| - | `isYokujitsuUkeire` | - | - | Internal method that validates whether the service contract qualifies for next-day (scheduled delay) acceptance by checking the service status against the database result. |
| - | `isKojiDlyKeiHosei` | - | - | Internal method that checks whether a service contract number already exists in the construction delay contract correction table (KK_T_KOJI_DLY_KEHSI). |
| C | `createKojiDlyKeiHosei` | - | `KK_T_KOJI_DLY_KEHSI` | Registers a record to the construction delay contract correction table when a validation failure is detected but no correction record exists yet. |
| - | `getInputFile` | - | - | Reads the input CSV file from the intermediate file directory and returns a list of string rows. |
| - | `executeOutputFile` | - | - | Writes a StringBuilder content (the accumulated formatted records) to an output CSV file in the intermediate directory. Called twice: once for acceptable output and once for next-day output. |
| - | `JBSbatStringUtil.Rtrim` | - | - | Trims trailing whitespace from the service status string retrieved from the database result. |
| - | `JBSbatStringUtil.split` | - | - | Splits each CSV row by comma delimiter. The -1 parameter preserves trailing empty fields. |
| - | `JACBatCommon.printDebugLog` | - | - | Debug log output for method start/end and rule check results. |
| - | `JKKBatOneTimeLogWriter.printBusinessErrorLog` | - | - | Logs business errors including: missing contract data (EKKB0630NW), rule engine exceptions (EKKB0010CW). |

## 5. Dependency Trace

| # | Caller (Screen/Batch) | Call Chain (Full Path to this Method) | Terminal (SC / CRUD / Entity) |
|---|----------------------|--------------------------------------|-------------------------------|
| 1 | Batch: JBSbatKKKojiKnrnInfCheck | `JBSbatKKKojiKnrnInfCheck.execute()` -> `kojiRsvInfTVOutPut(mid_dir_kk)` | `executeKK_T_SVC_KEI_KK_SELECT_060 [R] KK_T_SVC_KEI`<br>`createKojiDlyKeiHosei [C] KK_T_KOJI_DLY_KEHSI`<br>`executeOutputFile [-] KKIFM062003.csv`<br>`executeOutputFile [-] KKIFM062004.csv` |

**Notes:**
- The sole caller is `JBSbatKKKojiKnrnInfCheck.execute()`, a batch processing method in the same class.
- No screen (KKSV*) or CBS entry points were found within 8 hops. This method is exclusively invoked as part of a batch processing workflow.
- The method performs file I/O as terminal operations (no database write output), reading one CSV input file and writing two CSV output files to the intermediate directory.

## 6. Per-Branch Detail Blocks

**Block 1** — VARIABLE DECLARATION (L2464)

Initializes local variables for file handling, data storage, and work buffers.

| # | Type | Code |
|---|------|------|
| 1 | SET | `data_work = ""` // Construction schedule info (TV) file line data storage |
| 2 | SET | `file_path = ""` // File path storage |
| 3 | SET | `file_path1 = ""` // File path storage |
| 4 | SET | `file_path2 = ""` // File path storage |
| 5 | SET | `svc_kei_stat = ""` // Service contract status storage |
| 6 | SET | `koji_rsv_inf_tv1 = new StringBuilder()` // Construction schedule info (TV) string storage (Acceptable) |
| 7 | SET | `koji_rsv_inf_tv2 = new StringBuilder()` // Construction schedule info (TV) string storage (Next-day) |

**Block 2** — INPUT FILE PREPARATION (L2480)

Constructs the input file path and reads the CSV file.

| # | Type | Code |
|---|------|------|
| 1 | SET | `file_path = mid_dir_kk + KOJI_RSV_INF_TV_FILE_ID + "002" + FILE_KEISHIKI` // [-> `KOJI_RSV_INF_TV_FILE_ID="KKIFM062"`, `FILE_KEISHIKI=".csv"`] → produces path like `/path/to/KKIFM062002.csv` |
| 2 | CALL | `data_list = getInputFile(file_path, KOJI_RSV_INF_TV_FILE_ID)` // Reads CSV file and returns list of string rows |

**Block 3** — FOR LOOP: Record Processing (L2487)

Iterates over each row in the input file.

| # | Type | Code |
|---|------|------|
| 1 | SET | `i = 0` // Loop counter |
| 2 | COND | `i < data_list.size()` // Continue while rows remain |
| 3 | EXEC | `i++` // Increment counter |

**Block 3.1** — NESTED: Data Parsing (L2491)

Extracts and parses fields from the current CSV row.

| # | Type | Code |
|---|------|------|
| 1 | SET | `data_work = data_list.get(i)` // Get current row data |
| 2 | SET | `data = data_work.split(",", -1)` // Split row by comma, preserving trailing empty fields |
| 3 | SET | `svc_kei_no = data[0]` // Service contract number |
| 4 | SET | `kuj_ank_stb_cd = data[5]` // Work case category code |
| 5 | SET | `paramList = new Object[2]` // Parameter array for DB query |
| 6 | SET | `paramList[0] = svc_kei_no` // Service contract number |
| 7 | SET | `paramList[1] = super.opeDate` // Batch operation date |

**Block 3.2** — NESTED: Database Query (L2498)

Queries the service contract information from `KK_T_SVC_KEI`.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `outDbMap = executeKK_T_SVC_KEI_KK_SELECT_060(paramList)` // [SC Code: EKK0620A010SC, SQL key: KK_SELECT_060] Queries KK_T_SVC_KEI |

**Block 3.3** — NESTED: Database Result Check (L2502)

| # | Type | Code |
|---|------|------|
| 1 | COND | `null != outDbMap` [IF] (L2503) |

**Block 3.3.1** — IF: outDbMap IS NOT NULL (L2504)

Service contract was found. Extract the status.

| # | Type | Code |
|---|------|------|
| 1 | SET | `svc_kei_stat = JBSbatStringUtil.Rtrim(outDbMap.getString(JBSbatKK_T_SVC_KEI.SVC_KEI_STAT))` // [Field: SVC_KEI_STAT] Trimmed service contract status |

**Block 3.3.2** — ELSE: outDbMap IS NULL (L2516)

Service contract not found. Log error and skip record.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `super.logPrint.printBusinessErrorLog("EKKB0630NW", new String[]{"サービス契約", "サービス契約番号", svc_kei_no})` // Log error: service contract number not found in KK_T_SVC_KEI |
| 2 | EXEC | `continue` // Skip to next record |

**Block 3.4** — NESTED: Rule Engine Invocation (L2527)

| # | Type | Code |
|---|------|------|
| 1 | SET | `rec_div = data[15]` // Record division |
| 2 | CALL | `result_cd = executeRule0081001(kuj_ank_stb_cd, svc_kei_stat, rec_div)` // [Rule ID: RULE0081001] Returns: "0"=Acceptable, "1"=Next-day, "2"=Fail, "9"=Rule exception |
| 3 | EXEC | `super.logPrint.printDebugLog("工事関連情報受入確認結果：" + result_cd)` // Debug log: rule check result |

**Block 3.5** — NESTED: Rule Result Classification (L2532)

| # | Type | Code |
|---|------|------|
| 1 | COND | `"9".equals(result_cd)` [IF] — result_cd is NOT 9 (i.e., rule passed) (L2533) |

**Block 3.5.1** — IF: result_cd != 9 (L2534)

**Block 3.5.1.1** — Nested: Acceptable Check (L2536)

| # | Type | Code |
|---|------|------|
| 1 | COND | `RESULT_UKEIRE_PSB.equals(result_cd)` [IF] — [-> `RESULT_UKEIRE_PSB="0"`] (L2537) |

**Block 3.5.1.1.1** — IF: result_cd == 0 (Acceptable) (L2538)

| # | Type | Code |
|---|------|------|
| 1 | COND | `this.isUkeirePsb(svc_kei_stat, svc_kei_no)` [IF] — checks if service status is "100: In Service Provision", "210: Suspended/Discontinued", "220: Stopped", "910: Terminated", "920: Canceled", or other status with no promotional info (L2540) |

**Block 3.5.1.1.1.1** — IF: isUkeirePsb returns true (L2542)

Record is acceptable — write to the acceptable buffer.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `this.setKojiRsvInfTv(data_work, koji_rsv_inf_tv1)` // Transfer items to the acceptable output buffer (koji_rsv_inf_tv1) |
| 2 | CALL | `this.setPrgIfAdd(data)` // [v9.00.00] Register advancement/supplement data |

**Block 3.5.1.1.1.2** — ELSE: isUkeirePsb returns false (L2551)

Service status is "010: Delivery Completed", "020: Inspection Completed", or "030: Contracted" — with promotional info present. Route to next-day.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `this.setKojiRsvInfTv(data_work, koji_rsv_inf_tv2)` // Transfer items to the next-day output buffer (koji_rsv_inf_tv2) |

**Block 3.5.1.1.2.1** — After isUkeirePsb branches: continue (L2558)

| # | Type | Code |
|---|------|------|
| 1 | EXEC | `continue` // Skip to next record |

**Block 3.5.1.2** — Nested: Next-day Check (L2562)

| # | Type | Code |
|---|------|------|
| 1 | COND | `RESULT_YOKUJITSU_UKEIRE.equals(result_cd)` [ELSE-IF] — [-> `RESULT_YOKUJITSU_UKEIRE="1"`] (L2563) |

**Block 3.5.1.2.1** — IF: result_cd == 1 (Next-day) (L2564)

| # | Type | Code |
|---|------|------|
| 1 | COND | `isYokujitsuUkeire(svc_kei_stat, outDbMap)` [IF] — validates if service status qualifies for next-day acceptance (L2565) |

**Block 3.5.1.2.1.1** — IF: isYokujitsuUkeire returns true (L2566)

| # | Type | Code |
|---|------|------|
| 1 | CALL | `setKojiRsvInfTv(data_work, koji_rsv_inf_tv2)` // Transfer items to next-day buffer |

**Block 3.5.1.2.1.2** — After next-day branch: continue (L2568)

| # | Type | Code |
|---|------|------|
| 1 | EXEC | `continue` // Skip to next record |

**Block 3.5.1.3** — Nested: Failure Check (L2572)

| # | Type | Code |
|---|------|------|
| 1 | COND | `RESULT_UKEIRE_FAIL.equals(result_cd)` [ELSE-IF] — [-> `RESULT_UKEIRE_FAIL="2"`] (L2573) |

**Block 3.5.1.3.1** — IF: result_cd == 2 (Fail) (L2574)

| # | Type | Code |
|---|------|------|
| 1 | COND | `isKojiDlyKeiHosei(svc_kei_no, data[2])` [IF] — checks if record exists in the construction delay contract correction table (L2575) |

**Block 3.5.1.3.1.1** — IF: Record NOT in correction table (L2576)

Registration needed — create a correction record.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `createKojiDlyKeiHosei(data, outDbMap)` // Register to KK_T_KOJI_DLY_KEHSI construction delay contract correction table |

**Block 3.5.1.3.1.1.1** — After create: continue (L2577)

| # | Type | Code |
|---|------|------|
| 1 | EXEC | `continue` // Skip to next record |

**Block 3.5.2** — ELSE: result_cd == 9 (Rule Exception) (L2584)

The rule engine encountered an exception or abnormal condition. Log business error and skip record.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `super.logPrint.printBusinessErrorLog("EKKB0010CW", new String[]{MASSEAGE2 + "(ファイルID: " + KOJI_RSV_INF_TV_FILE_ID + ", サービス契約番号: " + svc_kei_no + ")})` // [-> `MASSEAGE2="工事関連情報受入確認ルールにおいて異常が発生しました。"`] |
| 2 | EXEC | `continue` // Skip to next record |

**Block 4** — OUTPUT FILE WRITING (L2590)

After the loop completes, write the accumulated records to two output files.

**Block 4.1** — Acceptable Output File (L2591)

| # | Type | Code |
|---|------|------|
| 1 | SET | `file_path1 = mid_dir_kk + KOJI_RSV_INF_TV_FILE_ID + "003" + FILE_KEISHIKI` // [-> produces path like `/path/to/KKIFM062003.csv`] Acceptable output |
| 2 | CALL | `executeOutputFile(koji_rsv_inf_tv1.toString(), file_path1, KOJI_RSV_INF_TV_FILE_ID)` // Write accumulated acceptable records |

**Block 4.2** — Next-day Output File (L2595)

| # | Type | Code |
|---|------|------|
| 1 | SET | `file_path2 = mid_dir_kk + KOJI_RSV_INF_TV_FILE_ID + "004" + FILE_KEISHIKI` // [-> produces path like `/path/to/KKIFM062004.csv`] Next-day output |
| 2 | CALL | `executeOutputFile(koji_rsv_inf_tv2.toString(), file_path2, KOJI_RSV_INF_TV_FILE_ID)` // Write accumulated next-day records |

**Block 5** — METHOD END (L2601)

| # | Type | Code |
|---|------|------|
| 1 | EXEC | `super.logPrint.printDebugLog("kojiRsvInfTVOutPut_END")` // Debug log: method completion |

## 7. Glossary

| Term | Type | Business Meaning |
|------|------|------------------|
| `svc_kei_no` | Field | Service contract number — the unique identifier for a customer's service contract in the K-Opticom system. |
| `svc_kei_stat` | Field | Service contract status — indicates the current state of the service contract (e.g., 010=Delivery Completed, 100=In Service Provision, 210=Suspended/Discontinued, 220=Stopped, 910=Terminated, 920=Canceled). |
| `kuj_ank_stb_cd` | Field | Work case category code — classifies the type of construction/work case being processed (e.g., new installation, change, relocation). |
| `rec_div` | Field | Record division — indicates the type or division of the record within the CSV (used as a rule engine input parameter). |
| `result_cd` | Field | Result code — classification code returned by the rule engine: "0"=Acceptable, "1"=Next-day (scheduled delay), "2"=Fail (validation failure), "9"=Rule exception. |
| `KOJI_RSV_INF_TV_FILE_ID` | Constant | File ID prefix for Construction Schedule Information (Television) — value "KKIFM062". Used to construct input/output file names. |
| KKIFM062002.csv | File | Input intermediate file containing raw CSV construction reservation records for TV/telecom lines. |
| KKIFM062003.csv | File | Output intermediate file containing records classified as acceptable for immediate scheduling. |
| KKIFM062004.csv | File | Output intermediate file containing records requiring next-day (scheduled delay) processing. |
| KK_T_SVC_KEI | Database Table | Service Contract table — stores master data for customer service contracts including status, contract numbers, and related metadata. |
| KK_T_KOJI_DLY_KEHSI | Database Table | Construction Delay Contract Correction table — stores records of service contracts that failed validation and require manual correction processing. |
| RULE0081001 | Rule | Business rule ID — the rule engine rule used to validate and classify construction records based on work case category, service status, and record division. |
| EKKB0630NW | Error Code | Business error: service contract number not found in KK_T_SVC_KEI. Logged when the database query returns null. |
| EKKB0010CW | Error Code | Business error: abnormal condition occurred in the construction information acceptance confirmation rule. Logged when the rule engine returns code "9". |
| `opeDate` | Field | Batch operation date — the date on which the batch processing is executed. Used as a query parameter for temporal database lookups. |
| FTTH | Business term | Fiber To The Home — K-Opticom's fiber-optic broadband internet service. |
| 工事予定情報 | Business term | Construction Schedule Information — data related to planned construction work for service activation. |
| 受入可 | Business term | Acceptable — classification indicating the record passes all validation rules and can be scheduled immediately. |
| 翌日受入 | Business term | Next-day Acceptance — classification indicating the record requires processing on the next business day due to service status or promotional conditions. |
| 受入不可 | Business term | Not Acceptable — classification indicating the record failed validation rules. |
| 工事遅延契約補正 | Business term | Construction Delay Contract Correction — the process of registering failed records to the correction table for later manual handling. |
| isUkeirePsb | Method | Checks if a record is acceptable based on service status and promotional information search results. Returns true for statuses 100, 210, 220, 910, 920, or other statuses without promotional info. |
| isYokujitsuUkeire | Method | Validates whether a record qualifies for next-day (scheduled delay) acceptance by checking service status against database results. |
| isKojiDlyKeiHosei | Method | Checks whether a service contract already exists in the construction delay contract correction table. |
| setKojiRsvInfTv | Method | Formats and transfers CSV record fields into the appropriate StringBuilder buffer (acceptable or next-day output). |
| setPrgIfAdd | Method | (v9.00.00) Registers advancement/supplement data from the parsed CSV record for progress tracking. |
| createKojiDlyKeiHosei | Method | Registers a failed record to the construction delay contract correction table (KK_T_KOJI_DLY_KEHSI) for later correction. |
| executeRule0081001 | Method | Invokes the business rule engine with rule ID RULE0081001 to classify a construction record. |
| executeKK_T_SVC_KEI_KK_SELECT_060 | Method | Queries the KK_T_SVC_KEI database table using SQL key KK_SELECT_060, returning a service contract record interface. |
| executeOutputFile | Method | Writes accumulated StringBuilder content to a CSV output file in the intermediate directory. |
| getInputFile | Method | Reads a CSV file from the intermediate file directory and returns a list of string rows. |
