# Business Logic — JBSbatKKKojiKnrIfFileLoad.setTakchoRsltIf() [130 LOC]

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

## 1. Role

### JBSbatKKKojiKnrIfFileLoad.setTakchoRsltIf()

This method performs **validation and CSV-format serialization of a single indoor survey result record** (宅内調査結果情報) read from an input batch file. It receives the raw field values as a list of strings and a `StringBuilder` that accumulates the output record. The method validates **11 distinct fields** against their respective format rules — alphanumeric checks (`isHannkakuESuuji`), numeric-only checks (`isHannkakuSuuji1`), and date validation (`isYearMonthDay`) — counting every validation failure in a cumulative error counter. Only when **all 11 fields pass validation** does the method proceed to construct a CSV-formatted output string, concatenating the validated fields with comma separators (`CONMA`), appending placeholder space entries for optional fields (申込明細番号: order detail number across four sub-categories), appending the record classification code, and terminating with a line-break code (`KAIGYOU_CODE`). This method functions as a **data gatekeeper** within the larger file-load pipeline, ensuring that only syntactically correct survey records are promoted to downstream processing, while erroneous records are silently discarded (no error is propagated via `tak_cho_rslt_inf` when validation fails).

## 2. Processing Pattern (Detailed Business Logic)

```mermaid
flowchart TD
    START(["setTakchoRsltIf START"])
    
    START --> LOG_START["Log setTakchoRsltIf_START"]
    LOG_START --> ERR_INIT["err_cunt = 0"]
    
    ERR_INIT --> CHK1{Field 1: Service Contract Number
isHannkakuESuuji check}
    CHK1 -->|Fail| ERR1["err_cunt++"]
    CHK1 -->|Pass| CHK2
    ERR1 --> CHK2
    
    CHK2{Field 2: Service Contract Call Line Details No.
isHannkakuESuuji check}
    CHK2 -->|Fail| ERR2["err_cunt++"]
    CHK2 -->|Pass| CHK3
    ERR2 --> CHK3
    
    CHK3{Field 3: Linkage Date
isYearMonthDay check}
    CHK3 -->|Fail| ERR3["err_cunt++"]
    CHK3 -->|Pass| CHK4
    ERR3 --> CHK4
    
    CHK4{Field 4: General Number
isHannkakuSuuji1 check}
    CHK4 -->|Fail| ERR4["err_cunt++"]
    CHK4 -->|Pass| CHK5
    ERR4 --> CHK5
    
    CHK5{Field 5: New Change Classification
isHannkakuESuuji check}
    CHK5 -->|Fail| ERR5["err_cunt++"]
    CHK5 -->|Pass| CHK6
    ERR5 --> CHK6
    
    CHK6{Field 6: Work Case Type Code
isHannkakuESuuji check}
    CHK6 -->|Fail| ERR6["err_cunt++"]
    CHK6 -->|Pass| CHK7
    ERR6 --> CHK7
    
    CHK7{Field 7: Work Case Number
isHannkakuESuuji check}
    CHK7 -->|Fail| ERR7["err_cunt++"]
    CHK7 -->|Pass| CHK8
    ERR7 --> CHK8
    
    CHK8{Field 8: Indoor Survey Determination Code
isHannkakuESuuji check}
    CHK8 -->|Fail| ERR8["err_cunt++"]
    CHK8 -->|Pass| CHK9
    ERR8 --> CHK9
    
    CHK9{Field 9: Indoor Survey Implementation Date
isYearMonthDay check}
    CHK9 -->|Fail| ERR9["err_cunt++"]
    CHK9 -->|Pass| CHK10
    ERR9 --> CHK10
    
    CHK10{Field 10: Survey Commitment Document Retrieval Code
isHannkakuESuuji check}
    CHK10 -->|Fail| ERR10["err_cunt++"]
    CHK10 -->|Pass| CHK11
    ERR10 --> CHK11
    
    CHK11{Field 11: Survey Commitment Document Receipt Date
isYearMonthDay check}
    CHK11 -->|Fail| ERR11["err_cunt++"]
    CHK11 -->|Pass| CHK_RESULT
    ERR11 --> CHK_RESULT
    
    CHK_RESULT{err_cunt == 0?
All fields valid?}
    CHK_RESULT -->|Yes| CSV_BUILD["Build CSV output string
Append each validated field with CONMA separator
Append SPACE placeholders for additional fields
Append record code CONMA data_list.get(0)
Append KAIGYOU_CODE"]
    CHK_RESULT -->|No| SKIP_BUILD["Skip CSV building
Discard erroneous record"]
    
    SKIP_BUILD --> LOG_END["Log setTakchoRsltIf_END"]
    CSV_BUILD --> LOG_END
    
    LOG_END --> END(["setTakchoRsltIf END"])
```

## 3. Parameter Analysis

| No | Parameter Name | Type | Business Description |
|----|---------------|------|---------------------|
| 1 | `data_list` | `ArrayList<String>` | A 12-element list of raw string values extracted from a single line of the indoor survey result input file. Each element corresponds to a specific field: index 0 = record code (区分コード), index 1 = service contract number (サービス契約番号), index 2 = service contract call line details number (サービス契約回線内訳番号), index 3 = linkage date (連携年月日), index 4 = general number (通番), index 5 = new/change classification (新規変更区分), index 6 = work case type code (工事案件種別コード), index 7 = work case number (工事案件番号), index 8 = indoor survey determination code (宅内調査判定コード), index 9 = indoor survey implementation date (宅内調査実施年月日), index 10 = indoor survey commitment document retrieval code (宅内調査承諾書回収コード), index 11 = indoor survey commitment document receipt date (宅内調査承諾書受領年月日). |
| 2 | `tak_cho_rslt_inf` | `StringBuilder` | An accumulator that holds the serialized CSV-formatted output record. When all validations pass, this builder is appended with the 11 validated fields separated by commas (CONMA), followed by space placeholders for optional order-detail-number fields, the record code prepended with a comma, and a line-break code. When any validation fails, this builder remains **unchanged**, effectively discarding the record from the output. |

**External state read:**
| Source | Type | Business Description |
|--------|------|---------------------|
| `super.logPrint` | `JCCBatCommon` | Debug logging utility inherited from parent class `JBSbatBusinessService`, used to log method entry/exit points. |
| `JKBatConst.CONMA` | `String = ","` | Comma constant used as CSV field separator. Defined in `JKKBatConst.java`. |
| `JKKBatConst.SPACE` | `String = ""` | Empty-space constant. Currently resolves to an empty string; serves as a placeholder value for optional fields. Defined in `JKKBatConst.java`. |
| `JBSbatKKKojiKnrIfFileLoad.KAIGYOU_CODE` | `String = "
"` | Line-break (carriage-return/line-feed) code constant defined within this class. Used to terminate each output record. |

## 4. CRUD Operations / Called Services

| CRUD | SC / CBS | SC Code | Entity / DB | Operation Description |
|------|----------|---------|-------------|----------------------|
| - | `printDebugLog` | JACBatCommon | - | Calls `printDebugLog` in `JACBatCommon` to log method entry. |
| - | `printDebugLog` | JACbatDebugLogUtil | - | Calls `printDebugLog` in `JACbatDebugLogUtil` for debug tracing. |
| - | `printDebugLog` | JCKLcsRenkeiUtil | - | Calls `printDebugLog` in `JCKLcsRenkeiUtil` for debug tracing. |
| - | `printDebugLog` | JKKHttpCommunicator | - | Calls `printDebugLog` in `JKKHttpCommunicator` for debug tracing. |
| - | `printDebugLog` | JBSbatKKCashPostAddMail | - | Calls `printDebugLog` in `JBSbatKKCashPostAddMail` for debug tracing. |
| - | `isHannkakuESuuji` | JBSbatKKKojiKnrIfFileLoad | - | Calls `isHannkakuESuuji` — internal validation method that checks if a field contains alphanumeric characters (半角英数字) with a maximum length. Used for fields 1, 2, 5, 6, 7, 8, 10. |
| - | `isHannkakuSuuji1` | JBSbatKKKojiKnrIfFileLoad | - | Calls `isHannkakuSuuji1` — internal validation method that checks if a field contains numeric characters only (半角数字) with a maximum length. Used for field 4 (general number). |
| - | `isYearMonthDay` | JBSbatKKKojiKnrIfFileLoad | - | Calls `isYearMonthDay` — internal validation method that checks if a field contains a valid year-month-date format (年月日). Used for fields 3, 9, 11. |
| - | `printDebugLog` | super.logPrint | - | Calls `printDebugLog` in `super.logPrint` (inherited debug logger) to log method exit. |

**Note:** This method performs **no CRUD operations** (no database or entity reads/writes). It is a pure data validation and formatting utility that operates entirely in memory.

## 5. Dependency Trace

| # | Caller (Screen/Batch) | Call Chain (Full Path to this Method) | Terminal (SC / CRUD / Entity) |
|---|----------------------|--------------------------------------|-------------------------------|
| 1 | Batch: JBSbatKKKojiKnrIfFileLoad | `JBSbatKKKojiKnrIfFileLoad.execute()` -> `setTakchoRsltIf(data_list, tak_cho_rslt_inf)` | `printDebugLog [-]` x6, `isHannkakuESuuji [-]` x7, `isHannkakuSuuji1 [-]` x1, `isYearMonthDay [-]` x3 |

**Call Chain Explanation:** This method is called directly from the `execute()` method of the same class (`JBSbatKKKojiKnrIfFileLoad`), which is the main batch processing entry point. The batch reads input file lines, splits them into `data_list` elements, and invokes `setTakchoRsltIf` to validate and serialize each record.

**Terminal operations:** The method's terminal operations are all debug logging calls (`printDebugLog`) and internal self-validation helper methods (`isHannkakuESuuji`, `isHannkakuSuuji1`, `isYearMonthDay`) — none of which interact with external systems or databases.

## 6. Per-Branch Detail Blocks

### Block 1 — INIT (L494)

> Initialize debug logging and error counter before beginning field validation.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `super.logPrint.printDebugLog("setTakchoRsltIf_START")` // Debug log method entry point |
| 2 | SET | `err_cunt = 0` // Error counter initialized to zero — accumulates validation failures across all 11 fields |

### Block 2 — IF (Field 1 Validation) (L501) [Services Contract Number]

> Validate that field 1 (service contract number) contains alphanumeric characters (半角英数字) with a maximum of 10 characters. Required field.

| # | Type | Code |
|---|------|------|
| 1 | EXEC | `isHannkakuESuuji(data_list.get(1), 10, true, "宅内調査結果情報：サービス契約番号")` // Check alphanumeric, max 10 chars, required=true. Error label prefix: "Indoor Survey Result Info: Service Contract Number" |
| 2 | IF | `!result` -> enter block 2.1 |

#### Block 2.1 — ERROR HANDLING (L503)

| # | Type | Code |
|---|------|------|
| 1 | SET | `err_cunt++` // Increment error counter — this record will not be written to output |

### Block 3 — IF (Field 2 Validation) (L509) [Service Contract Call Line Details Number]

> Validate that field 2 (service contract call line details number) contains alphanumeric characters with a maximum of 12 characters. Required field.

| # | Type | Code |
|---|------|------|
| 1 | EXEC | `isHannkakuESuuji(data_list.get(2), 12, true, "宅内調査結果情報：サービス契約回線内訳番号")` // Check alphanumeric, max 12 chars, required. Error label: "Indoor Survey Result Info: Service Contract Call Line Details Number" |
| 2 | IF | `!result` -> enter block 3.1 |

#### Block 3.1 — ERROR HANDLING (L511)

| # | Type | Code |
|---|------|------|
| 1 | SET | `err_cunt++` // Increment error counter |

### Block 4 — IF (Field 3 Validation) (L517) [Linkage Date]

> Validate that field 3 (linkage date) is in a valid year-month-date format (年月日). Required field.

| # | Type | Code |
|---|------|------|
| 1 | EXEC | `isYearMonthDay(data_list.get(3), true, "宅内調査結果情報：連携年月日")` // Validate date format, required=true. Error label: "Indoor Survey Result Info: Linkage Date" |
| 2 | IF | `!result` -> enter block 4.1 |

#### Block 4.1 — ERROR HANDLING (L519)

| # | Type | Code |
|---|------|------|
| 1 | SET | `err_cunt++` // Increment error counter |

### Block 5 — IF (Field 4 Validation) (L525) [General Number]

> Validate that field 4 (general number) contains numeric characters only (半角数字) with a maximum of 12 characters. Required field.

| # | Type | Code |
|---|------|------|
| 1 | EXEC | `isHannkakuSuuji1(data_list.get(4), 12, true, "宅内調査結果情報：通番")` // Check numeric only, max 12 chars, required. Error label: "Indoor Survey Result Info: General Number" |
| 2 | IF | `!result` -> enter block 5.1 |

#### Block 5.1 — ERROR HANDLING (L527)

| # | Type | Code |
|---|------|------|
| 1 | SET | `err_cunt++` // Increment error counter |

### Block 6 — IF (Field 5 Validation) (L533) [New/Change Classification]

> Validate that field 5 (new/change classification) contains alphanumeric characters with a maximum of 1 character. **Not required** (optional field — validation allowed but empty is acceptable).

| # | Type | Code |
|---|------|------|
| 1 | EXEC | `isHannkakuESuuji(data_list.get(5), 1, false, "宅内調査結果情報：新規変更区分")` // Check alphanumeric, max 1 char, required=false. Error label: "Indoor Survey Result Info: New/Change Classification" |
| 2 | IF | `!result` -> enter block 6.1 |

#### Block 6.1 — ERROR HANDLING (L535)

| # | Type | Code |
|---|------|------|
| 1 | SET | `err_cunt++` // Increment error counter |

### Block 7 — IF (Field 6 Validation) (L541) [Work Case Type Code]

> Validate that field 6 (work case type code) contains alphanumeric characters with a maximum of 3 characters. Not required.

| # | Type | Code |
|---|------|------|
| 1 | EXEC | `isHannkakuESuuji(data_list.get(6), 3, false, "宅内調査結果情報：工事案件種別コード")` // Check alphanumeric, max 3 chars, required=false. Error label: "Indoor Survey Result Info: Work Case Type Code" |
| 2 | IF | `!result` -> enter block 7.1 |

#### Block 7.1 — ERROR HANDLING (L543)

| # | Type | Code |
|---|------|------|
| 1 | SET | `err_cunt++` // Increment error counter |

### Block 8 — IF (Field 7 Validation) (L549) [Work Case Number]

> Validate that field 7 (work case number) contains alphanumeric characters with a maximum of 10 characters. Not required.

| # | Type | Code |
|---|------|------|
| 1 | EXEC | `isHannkakuESuuji(data_list.get(7), 10, false, "宅内調査結果情報：工事案件番号")` // Check alphanumeric, max 10 chars, required=false. Error label: "Indoor Survey Result Info: Work Case Number" |
| 2 | IF | `!result` -> enter block 8.1 |

#### Block 8.1 — ERROR HANDLING (L551)

| # | Type | Code |
|---|------|------|
| 1 | SET | `err_cunt++` // Increment error counter |

### Block 9 — IF (Field 8 Validation) (L557) [Indoor Survey Determination Code]

> Validate that field 8 (indoor survey determination code) contains alphanumeric characters with a maximum of 1 character. Not required.

| # | Type | Code |
|---|------|------|
| 1 | EXEC | `isHannkakuESuuji(data_list.get(8), 1, false, "宅内調査結果情報：宅内調査判定コード")` // Check alphanumeric, max 1 char, required=false. Error label: "Indoor Survey Result Info: Indoor Survey Determination Code" |
| 2 | IF | `!result` -> enter block 9.1 |

#### Block 9.1 — ERROR HANDLING (L559)

| # | Type | Code |
|---|------|------|
| 1 | SET | `err_cunt++` // Increment error counter |

### Block 10 — IF (Field 9 Validation) (L565) [Indoor Survey Implementation Date]

> Validate that field 9 (indoor survey implementation date) is in a valid year-month-date format. Not required.

| # | Type | Code |
|---|------|------|
| 1 | EXEC | `isYearMonthDay(data_list.get(9), false, "宅内調査結果情報：宅内調査実施年月日")` // Validate date format, required=false. Error label: "Indoor Survey Result Info: Indoor Survey Implementation Date" |
| 2 | IF | `!result` -> enter block 10.1 |

#### Block 10.1 — ERROR HANDLING (L567)

| # | Type | Code |
|---|------|------|
| 1 | SET | `err_cunt++` // Increment error counter |

### Block 11 — IF (Field 10 Validation) (L573) [Survey Commitment Document Retrieval Code]

> Validate that field 10 (indoor survey commitment document retrieval code) contains alphanumeric characters with a maximum of 1 character. Not required.

| # | Type | Code |
|---|------|------|
| 1 | EXEC | `isHannkakuESuuji(data_list.get(10), 1, false, "宅内調査結果情報：宅内調査承諾書回収コード")` // Check alphanumeric, max 1 char, required=false. Error label: "Indoor Survey Result Info: Indoor Survey Commitment Document Retrieval Code" |
| 2 | IF | `!result` -> enter block 11.1 |

#### Block 11.1 — ERROR HANDLING (L575)

| # | Type | Code |
|---|------|------|
| 1 | SET | `err_cunt++` // Increment error counter |

### Block 12 — IF (Field 11 Validation) (L581) [Survey Commitment Document Receipt Date]

> Validate that field 11 (indoor survey commitment document receipt date) is in a valid year-month-date format. Not required.

| # | Type | Code |
|---|------|------|
| 1 | EXEC | `isYearMonthDay(data_list.get(11), false, "宅内調査結果情報：宅内調査承諾書受領年月日")` // Validate date format, required=false. Error label: "Indoor Survey Result Info: Indoor Survey Commitment Document Receipt Date" |
| 2 | IF | `!result` -> enter block 12.1 |

#### Block 12.1 — ERROR HANDLING (L583)

| # | Type | Code |
|---|------|------|
| 1 | SET | `err_cunt++` // Increment error counter |

### Block 13 — IF (L591) [err_cunt == 0]

> **GATE CONDITION**: If zero errors were accumulated across all 11 validation checks, proceed to build the CSV-formatted output record. If any error was detected (`err_cunt > 0`), the entire block is skipped, and the record is silently discarded (the `tak_cho_rslt_inf` builder is left unmodified).

| # | Type | Code |
|---|------|------|
| 1 | IF | `0 == err_cunt` -> enter block 13.1 (build output), else skip to Block 14 |

#### Block 13.1 — OUTPUT RECORD BUILDING (L594-617)

> Construct the CSV output record by appending each validated field with comma separators, placeholder entries for optional fields, and a line-break terminator.

| # | Type | Code |
|---|------|------|
| 1 | EXEC | `tak_cho_rslt_inf.append(data_list.get(1))` // Append: Service Contract Number |
| 2 | EXEC | `tak_cho_rslt_inf.append(CONMA)` // Append comma separator [-> CONMA = ","] |
| 3 | EXEC | `tak_cho_rslt_inf.append(data_list.get(2))` // Append: Service Contract Call Line Details Number |
| 4 | EXEC | `tak_cho_rslt_inf.append(CONMA)` // Comma separator |
| 5 | EXEC | `tak_cho_rslt_inf.append(data_list.get(3))` // Append: Linkage Date |
| 6 | EXEC | `tak_cho_rslt_inf.append(CONMA)` // Comma separator |
| 7 | EXEC | `tak_cho_rslt_inf.append(data_list.get(4))` // Append: General Number |
| 8 | EXEC | `tak_cho_rslt_inf.append(CONMA)` // Comma separator |
| 9 | EXEC | `tak_cho_rslt_inf.append(data_list.get(5))` // Append: New/Change Classification |
| 10 | EXEC | `tak_cho_rslt_inf.append(CONMA)` // Comma separator |
| 11 | EXEC | `tak_cho_rslt_inf.append(data_list.get(6))` // Append: Work Case Type Code |
| 12 | EXEC | `tak_cho_rslt_inf.append(CONMA)` // Comma separator |
| 13 | EXEC | `tak_cho_rslt_inf.append(data_list.get(7))` // Append: Work Case Number |
| 14 | EXEC | `tak_cho_rslt_inf.append(CONMA)` // Comma separator |
| 15 | EXEC | `tak_cho_rslt_inf.append(data_list.get(8))` // Append: Indoor Survey Determination Code |
| 16 | EXEC | `tak_cho_rslt_inf.append(CONMA)` // Comma separator |
| 17 | EXEC | `tak_cho_rslt_inf.append(data_list.get(9))` // Append: Indoor Survey Implementation Date |
| 18 | EXEC | `tak_cho_rslt_inf.append(CONMA)` // Comma separator |
| 19 | EXEC | `tak_cho_rslt_inf.append(data_list.get(10))` // Append: Survey Commitment Document Retrieval Code |
| 20 | EXEC | `tak_cho_rslt_inf.append(CONMA)` // Comma separator |
| 21 | EXEC | `tak_cho_rslt_inf.append(data_list.get(11))` // Append: Survey Commitment Document Receipt Date |
| 22 | EXEC | `tak_cho_rslt_inf.append(CONMA)` // Comma separator |
| 23 | EXEC | `tak_cho_rslt_inf.append(SPACE)` // Placeholder for: 申込明細番号? サービス契約 (Order Detail Number? Service Contract) [-> SPACE = ""] |
| 24 | EXEC | `tak_cho_rslt_inf.append(CONMA)` // Comma separator |
| 25 | EXEC | `tak_cho_rslt_inf.append(SPACE)` // Placeholder for: 申込明細番号? サービス契約内訳 (Order Detail Number? Service Contract Details) |
| 26 | EXEC | `tak_cho_rslt_inf.append(CONMA)` // Comma separator |
| 27 | EXEC | `tak_cho_rslt_inf.append(SPACE)` // Placeholder for: 申込明細番号? オプション契約 (Order Detail Number? Option Contract) |
| 28 | EXEC | `tak_cho_rslt_inf.append(CONMA)` // Comma separator |
| 29 | EXEC | `tak_cho_rslt_inf.append(SPACE)` // Placeholder for: 申込明細番号? サービス回線内訳 (Order Detail Number? Service Line Details) |
| 30 | EXEC | `tak_cho_rslt_inf.append(CONMA)` // Comma separator |
| 31 | EXEC | `tak_cho_rslt_inf.append(data_list.get(0))` // Append: Record Code (区分コード) — this is at index 0, prepended after comma |
| 32 | EXEC | `tak_cho_rslt_inf.append(KAIGYOU_CODE)` // Append line-break code [-> KAIGYOU_CODE = "
"] |

### Block 14 — EXIT (L621)

> Finalize method execution with an exit debug log.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `super.logPrint.printDebugLog("setTakchoRsltIf_END")` // Debug log method exit point |

## 7. Glossary

| Term | Type | Business Meaning |
|------|------|------------------|
| `tak_cho_rslt_inf` | Field | Indoor survey result information — the accumulated CSV output string containing a validated indoor survey result record. |
| `err_cunt` | Field | Error count — cumulative counter tracking the number of field validation failures in the current record. |
| `data_list` | Field | Input data list — 12-element list of raw string values from a single line of the batch input file. |
| `CONMA` | Constant | Comma character "," — used as the CSV field delimiter. Defined in `JKKBatConst.java`. |
| `SPACE` | Constant | Empty string "" — used as a placeholder for optional order-detail-number fields that are not populated for this record type. Defined in `JKKBatConst.java`. |
| `KAIGYOU_CODE` | Constant | Line-break code "
" — appended at the end of each output record to separate records. Defined in `JBSbatKKKojiKnrIfFileLoad.java`. |
| 宅内調査結果情報 | Japanese Term | Indoor Survey Result Information — business data captured when a technician inspects the interior of a customer premises for telecom service installation readiness. |
| サービス契約番号 | Japanese Term | Service Contract Number — unique identifier for the customer's service contract line. |
| サービス契約回線内訳番号 | Japanese Term | Service Contract Call Line Details Number — identifies a specific call line within a service contract. |
| 連携年月日 | Japanese Term | Linkage Date — the date when data was synchronized between systems. |
| 通番 | Japanese Term | General Number — sequential numbering for the record. |
| 新規変更区分 | Japanese Term | New/Change Classification — indicates whether the work is a new installation or a modification of an existing service. |
| 工事案件種別コード | Japanese Term | Work Case Type Code — classifies the type of construction/installation work performed. |
| 工事案件番号 | Japanese Term | Work Case Number — unique identifier for a construction/installation work order. |
| 宅内調査判定コード | Japanese Term | Indoor Survey Determination Code — indicates the result/outcome of the indoor survey assessment. |
| 宅内調査実施年月日 | Japanese Term | Indoor Survey Implementation Date — the date the indoor survey was physically conducted. |
| 宅内調査承諾書回収コード | Japanese Term | Indoor Survey Commitment Document Retrieval Code — indicates whether the signed commitment document has been collected. |
| 宅内調査承諾書受領年月日 | Japanese Term | Indoor Survey Commitment Document Receipt Date — the date the signed commitment document was received. |
| 申込明細番号? | Japanese Term | Order Detail Number — optional field referencing sub-detail order numbers for service contract, contract details, option contract, and service line details categories. |
| 区分コード | Japanese Term | Record Code — identifies the type of record (e.g., survey result, design data, completion data). |
| `isHannkakuESuuji` | Method | Half-width alphanumeric validation — checks if a string contains only half-width alphanumeric characters (A-Z, a-z, 0-9) up to a specified max length. |
| `isHannkakuSuuji1` | Method | Half-width numeric validation — checks if a string contains only half-width numeric characters (0-9) up to a specified max length. |
| `isYearMonthDay` | Method | Date validation — checks if a string contains a valid year-month-date format (YYYYMMDD). |
| `JBSbatKKKojiKnrIfFileLoad` | Class | File load service for work-related indoor survey result information — the batch service class that handles reading and processing survey result input files. |
| `JBSbatBusinessException` | Class | Business exception — the checked exception thrown by this method when a validation or processing error occurs at a higher level. |
