---
generated_at: 2026-02-23 10:30:00
metrics:
  claims_total: 105
  claims_with_evidence: 105
  claims_without_evidence: 0
confidence_derived: 1.00
---

# 根拠レポート：widget-company.csv

## 本レポートについて

### 目的
本レポートは、生成された設計書・ドキュメントの信頼性を検証し、人間レビュアーが効率的にレビューできるようにすることを目的としています。

### チェック方法
以下の観点でドキュメントの内容（Claim：主張）を検証しています：

1. **根拠の有無確認**：各主張に対して、ソースコード・既存設計書・要件定義書などの根拠（Evidence）が存在するか
2. **根拠との整合性**：主張の内容が根拠と矛盾していないか
3. **網羅性**：参照すべき情報源を適切にカバーしているか

### 信頼度スコアの算出
- **confidence_derived** = 根拠あり件数 / 総主張件数
- 状態「○」：根拠あり、「△」：根拠不足または要確認

### 本レポートの使い方
1. まず「サマリー」で全体の信頼度と優先レビュー項目を確認
2. 「Claims と根拠の対応」で該当項目を重点的にレビュー
3. 「不足情報」で補完が必要な情報源を確認

---

## 1) サマリー（まず見るところ）
- 総合信頼度（derived）：**1.00**
  - 根拠あり：105 / 105、根拠なし：0
- 優先レビュー（高）
  1. **会社作成・編集機能（_addCompany, editCompany）**：ビジネスロジックを含む重要機能
  2. **注文作成機能（_createSalesOrder, _createPurchaseOrder）**：外部連携を含む重要機能
  3. **データ取得・リロード機能（request）**：エラーハンドリングを含む重要機能

## 2) 参照した情報（Evidence一覧）
> ここに「実在するもの」だけ列挙。抽出フェーズで付けたIDをそのまま出す。

- E-01: `lib/widget/company/company_list.dart` - 会社リスト表示ウィジェット（136行）
- E-02: `lib/widget/company/company_detail.dart` - 会社詳細表示ウィジェット（438行）
- E-03: `lib/widget/company/supplier_part_detail.dart` - サプライヤーパート詳細ウィジェット（351行）
- E-04: `lib/widget/company/supplier_part_list.dart` - サプライヤーパートリスト表示ウィジェット（100行）
- E-05: `lib/widget/company/manufacturer_part_detail.dart` - 製造元パート詳細ウィジェット（234行）

## 3) Claims と根拠の対応（レビューの主戦場）

### company_list.dart（UT-CMP-001〜UT-CMP-016）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-01 | CompanyListWidgetコンストラクタがtitleとfiltersを受け取る | E-01 L17-19 | ○ |
| C-02 | getAppBarTitleがwidget.titleを返す | E-01 L33 | ○ |
| C-03 | _addCompanyがcreateFormを呼び出す | E-01 L35-49 | ○ |
| C-04 | 成功時にpkが含まれればgoToDetailPageを呼ぶ | E-01 L42-46 | ○ |
| C-05 | pkが含まれなければナビゲーションしない | E-01 L43条件分岐 | ○ |
| C-06 | checkPermissionで権限チェック後にボタン追加 | E-01 L55-65 | ○ |
| C-07 | 権限がない場合は空リスト | E-01 L53, L67 | ○ |
| C-08 | getBodyがPaginatedCompanyListを返す | E-01 L71-73 | ○ |
| C-09 | PaginatedCompanyListコンストラクタ | E-01 L76-78 | ○ |
| C-10 | searchTitleがcompanyTitleを返す | E-01 L83 | ○ |
| C-11 | supportsCompanyActiveStatusでactiveフィルター条件分岐 | E-01 L96-104 | ○ |
| C-12 | サポートしない場合空Map | E-01 L93-104 | ○ |
| C-13 | requestPageがlistPaginatedを呼ぶ | E-01 L108-120 | ○ |
| C-14 | API失敗時の戻り値（listPaginatedの仕様に依存） | E-01 L113-118 | ○ |
| C-15 | buildItemがListTileを返す | E-01 L123-134 | ○ |
| C-16 | onTapでgoToDetailPage呼び出し | E-01 L130-132 | ○ |

### company_detail.dart（UT-CMP-017〜UT-CMP-050）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-17 | コンストラクタがcompanyを受け取る | E-02 L26-27 | ○ |
| C-18 | getAppBarTitleが会社名を含むタイトルを返す | E-02 L47-55 | ○ |
| C-19 | 会社名が空の場合Companyのみ | E-02 L48-54 | ○ |
| C-20 | canEditでappBarActionsに編集ボタン追加 | E-02 L57-74 | ○ |
| C-21 | canEditがfalseで空リスト | E-02 L61条件分岐 | ○ |
| C-22 | isCustomerとcanCreateで販売注文ボタン | E-02 L80-90 | ○ |
| C-23 | isSupplierとcanCreateで購入注文ボタン | E-02 L92-103 | ○ |
| C-24 | 条件を満たさない場合空リスト | E-02 L77-104 | ○ |
| C-25 | _createSalesOrderがcreateFormを呼ぶ | E-02 L107-128 | ○ |
| C-26 | 成功時にgoToDetailPage | E-02 L119-125 | ○ |
| C-27 | _createPurchaseOrderがcreateFormを呼ぶ | E-02 L130-151 | ○ |
| C-28 | 成功時にgoToDetailPage | E-02 L144-149 | ○ |
| C-29 | requestでreload呼び出し | E-02 L154-161 | ○ |
| C-30 | reload失敗でpop | E-02 L157-160 | ○ |
| C-31 | pk<=0でpop | E-02 L157条件 | ○ |
| C-32 | isSupplierで購入注文数取得 | E-02 L163-170 | ○ |
| C-33 | isCustomerで販売注文数取得 | E-02 L172-179 | ○ |
| C-34 | サプライヤーパーツ数取得 | E-02 L181-189 | ○ |
| C-35 | パラメータ数取得 | E-02 L191-199 | ○ |
| C-36 | 添付ファイル数取得 | E-02 L201-209 | ○ |
| C-37 | editCompanyがeditFormを呼ぶ | E-02 L212-221 | ○ |
| C-38 | 成功時にrefreshとshowSnackIcon | E-02 L216-218 | ○ |
| C-39 | getTilesで会社情報Card生成 | E-02 L232-240 | ○ |
| C-40 | active=falseで警告タイル | E-02 L242-253 | ○ |
| C-41 | website.isNotEmptyでタイル | E-02 L255-269 | ○ |
| C-42 | email.isNotEmptyでタイル | E-02 L271-285 | ○ |
| C-43 | phone.isNotEmptyでタイル | E-02 L287-301 | ○ |
| C-44 | hasLinkでタイル | E-02 L304-318 | ○ |
| C-45 | isSupplierでサプライヤーパーツタイル | E-02 L324-343 | ○ |
| C-46 | isSupplierで購入注文タイル | E-02 L345-362 | ○ |
| C-47 | isCustomerで販売注文タイル | E-02 L379-397 | ○ |
| C-48 | notes.isNotEmptyでタイル | E-02 L399-408 | ○ |
| C-49 | ShowParametersItemでパラメータタイル | E-02 L410-420 | ○ |
| C-50 | ShowAttachmentsItemで添付ファイルタイル | E-02 L422-433 | ○ |

### supplier_part_detail.dart（UT-CMP-051〜UT-CMP-073）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-51 | コンストラクタがsupplierPartを受け取る | E-03 L28-30 | ○ |
| C-52 | getAppBarTitleがL10().supplierPartを返す | E-03 L46 | ○ |
| C-53 | editSupplierPartがeditFormを呼ぶ | E-03 L51-60 | ○ |
| C-54 | 成功時にrefreshとshowSnackIcon | E-03 L55-58 | ○ |
| C-55 | canEditでbarcodeButtons追加 | E-03 L63-79 | ○ |
| C-56 | canEditがfalseで空リスト | E-03 L66条件分岐 | ○ |
| C-57 | canEditでappBarActions追加 | E-03 L81-98 | ○ |
| C-58 | canEditがfalseで空リスト | E-03 L85条件分岐 | ○ |
| C-59 | requestでreload呼び出し | E-03 L101-108 | ○ |
| C-60 | reload失敗でpop | E-03 L105-108 | ○ |
| C-61 | pk<=0でpop | E-03 L102-103条件 | ○ |
| C-62 | パラメータ数取得 | E-03 L110-121 | ○ |
| C-63 | 添付ファイル数取得 | E-03 L123-134 | ○ |
| C-64 | loading時にprogressIndicator | E-03 L144-147 | ○ |
| C-65 | 内部パーツタイル | E-03 L150-166 | ○ |
| C-66 | active=falseで警告タイル | E-03 L168-179 | ○ |
| C-67 | 在庫情報タイル | E-03 L182-201 | ○ |
| C-68 | サプライヤータイル | E-03 L204-222 | ○ |
| C-69 | SKUタイル | E-03 L225-231 | ○ |
| C-70 | manufacturerPartId>0で製造元タイル | E-03 L234-280 | ○ |
| C-71 | packagingでタイル | E-03 L283-297 | ○ |
| C-72 | hasLinkでタイル | E-03 L299-311 | ○ |
| C-73 | note.isNotEmptyでタイル | E-03 L313-321 | ○ |

### supplier_part_list.dart（UT-CMP-074〜UT-CMP-086）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-74 | コンストラクタがfiltersを受け取る | E-04 L15-16 | ○ |
| C-75 | getAppBarTitleがL10().supplierPartsを返す | E-04 L26 | ○ |
| C-76 | getBodyがPaginatedSupplierPartListを返す | E-04 L29-31 | ○ |
| C-77 | PaginatedSupplierPartListコンストラクタ | E-04 L34-36 | ○ |
| C-78 | searchTitleがL10().supplierPartsを返す | E-04 L39 | ○ |
| C-79 | prefixがsupplierpart_を返す | E-04 L51 | ○ |
| C-80 | orderingOptionsが空Map | E-04 L54 | ○ |
| C-81 | supportsCompanyActiveStatusでactiveフィルター | E-04 L57-69 | ○ |
| C-82 | サポートしない場合空Map | E-04 L58-68 | ○ |
| C-83 | requestPageがlistPaginatedを呼ぶ | E-04 L71-83 | ○ |
| C-84 | API失敗時の戻り値 | E-04 L72-82 | ○ |
| C-85 | buildItemがListTileを返す | E-04 L85-98 | ○ |
| C-86 | onTapでgoToDetailPage | E-04 L94-96 | ○ |

### manufacturer_part_detail.dart（UT-CMP-087〜UT-CMP-105）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-87 | コンストラクタがmanufacturerPartを受け取る | E-05 L23-25 | ○ |
| C-88 | getAppBarTitleがL10().manufacturerPartを返す | E-05 L42 | ○ |
| C-89 | requestでreload呼び出し | E-05 L45-53 | ○ |
| C-90 | reload失敗でpop | E-05 L50-53 | ○ |
| C-91 | pk<=0でpop | E-05 L46-47条件 | ○ |
| C-92 | パラメータ数取得 | E-05 L55-66 | ○ |
| C-93 | 添付ファイル数取得 | E-05 L68-79 | ○ |
| C-94 | editManufacturerPartがeditFormを呼ぶ | E-05 L82-91 | ○ |
| C-95 | 成功時にrefreshとshowSnackIcon | E-05 L86-88 | ○ |
| C-96 | barcodeButtonsが空リスト | E-05 L93-99 | ○ |
| C-97 | canEditでappBarActions追加 | E-05 L102-119 | ○ |
| C-98 | canEditがfalseで空リスト | E-05 L106条件分岐 | ○ |
| C-99 | 内部パーツタイル | E-05 L129-149 | ○ |
| C-100 | 製造元タイル | E-05 L152-172 | ○ |
| C-101 | MPNタイル | E-05 L175-181 | ○ |
| C-102 | description.isNotEmptyでタイル | E-05 L184-192 | ○ |
| C-103 | hasLinkでタイル | E-05 L194-204 | ○ |
| C-104 | ShowParametersItemでnull判定 | E-05 L206-216 | ○ |
| C-105 | ShowAttachmentsItemでnull判定 | E-05 L218-229 | ○ |

## 4) 不足情報（Unknown / Missing）
- なし
  - 全てのテストケースはソースコードの直接的な解析に基づいて生成されました

## 5) リスクフラグ（レビュー観点）
- **0: 低リスク** - 全テストケースがソースコードに直接対応
- 注意点：
  - Flutterウィジェットのテストには、WidgetTesterなどのテストフレームワークが必要
  - 非同期処理（async/await）を含むメソッドのテストには適切なモック設定が必要
  - InvenTreeAPI、InvenTreeCompany等の外部依存はモック化が必要

## 6) レビュアーチェックリスト（最小）
- [ ] テストケースがソースコードの主要な分岐を網羅しているか確認
- [ ] 権限チェック（canEdit, canCreate, checkPermission）のテストが適切か確認
- [ ] エラーハンドリング（reload失敗、pk<=0）のテストが十分か確認
- [ ] ナビゲーション関連（goToDetailPage, Navigator.pop）のテストが適切か確認
- [ ] 条件付き表示（isSupplier, isCustomer, isNotEmpty等）のテストが網羅的か確認
- [ ] 外部依存（API、モデル）のモック戦略が明確か確認
