refactor: CC担当シート・チームシートのテーブル定義を共通化
Resolved 💬 2 comments Opened Nov 23, 2025 by oga114 Closed Nov 29, 2025
背景
Issue #20 の対応中に、CC担当シートとチームシートで架電テーブルの列数が異なっていることが判明しました。
- チームシート: 10列(アポ当月、アポ過去が分離)
- CC担当シート: 9列(アポ当月 過去として1列に結合)
この1列の差により、getSheetLayout の計算と実際のテーブル配置がずれ、NG案件・CH案件の位置が正しくなくなっていました。
現状の問題
- 各テーブル定義が独立している
- ヘッダー定義が各関数内にハードコードされている
- 1列追加する場合、両方の関数で修正が必要
- 不整合が発生しやすい
- レイアウト計算との連携が脆弱
getSheetLayoutでハードコードされた列数を使用- テーブル変更時に複数箇所の修正が必要
提案
1. 共通定数として定義
const CALL_ACTIVITY_HEADERS = ['発信', '着電', 'アポ累計', 'アポ当月', 'アポ過去', '追客', 'NG', '不通', '接続率', 'アポ率'];
const CASE_COUNT_HEADERS_BASE = ['資料請求', '合計'];
const SALES_TABLE_HEADERS = ['営業担当', 'アポ', 'CH'];
2. テーブル設定オブジェクト
interface TableConfig {
headers: string[];
formulas: (context: any) => string[];
// ...
}
3. 基本関数 + 拡張パターン
共通のテーブル生成ロジックを持ち、設定で拡張できるようにする。
影響範囲
addCCStaffCaseCountTableRequestsaddCCTeamCaseCountTableRequestsaddCCStaffCallActivityTableRequestsaddCCTeamCallActivityTableRequestsgetSheetLayout- その他関連関数
優先度
中(将来の保守性向上のため)
---
🤖 Generated with Claude Code
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗