diff --git a/etl_billiards/.env b/etl_billiards/.env index 4bf8b16..351a96e 100644 --- a/etl_billiards/.env +++ b/etl_billiards/.env @@ -32,13 +32,13 @@ SCHEMA_ETL=etl_admin # API 配置 # ------------------------------------------------------------------------------ API_BASE=https://pc.ficoo.vip/apiprod/admin/v1/ -API_TOKEN=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJjbGllbnQtdHlwZSI6IjQiLCJ1c2VyLXR5cGUiOiIxIiwiaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS93cy8yMDA4LzA2L2lkZW50aXR5L2NsYWltcy9yb2xlIjoiMTIiLCJyb2xlLWlkIjoiMTIiLCJ0ZW5hbnQtaWQiOiIyNzkwNjgzMTYwNzA5OTU3Iiwibmlja25hbWUiOiLnp5_miLfnrqHnkIblkZjvvJrmganmgakxIiwic2l0ZS1pZCI6IjAiLCJtb2JpbGUiOiIxMzgxMDUwMjMwNCIsInNpZCI6IjI5NTA0ODk2NTgzOTU4NDUiLCJzdGFmZi1pZCI6IjMwMDk5MTg2OTE1NTkwNDUiLCJvcmctaWQiOiIwIiwicm9sZS10eXBlIjoiMyIsInJlZnJlc2hUb2tlbiI6Ik1oKzFpTitjclRHMTY3cUp5SzFXYllteVBaaUhjdDI2ZTZDZkJvd1pxSVk9IiwicmVmcmVzaEV4cGlyeVRpbWUiOiIyMDI2LzIvNyDkuIvljYg5OjU2OjE4IiwibmVlZENoZWNrVG9rZW4iOiJmYWxzZSIsImV4cCI6MTc3MDQ3MjU3OCwiaXNzIjoidGVzdCIsImF1ZCI6IlVzZXIifQ.rY03o82SKznD7NOktXKzTOI1btl2FHsklMCChOlZUeY +API_TOKEN=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJjbGllbnQtdHlwZSI6IjQiLCJ1c2VyLXR5cGUiOiIxIiwiaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS93cy8yMDA4LzA2L2lkZW50aXR5L2NsYWltcy9yb2xlIjoiMTIiLCJyb2xlLWlkIjoiMTIiLCJ0ZW5hbnQtaWQiOiIyNzkwNjgzMTYwNzA5OTU3Iiwibmlja25hbWUiOiLnp5_miLfnrqHnkIblkZjvvJrmganmgakxIiwic2l0ZS1pZCI6IjAiLCJtb2JpbGUiOiIxMzgxMDUwMjMwNCIsInNpZCI6IjI5NTA0ODk2NTgzOTU4NDUiLCJzdGFmZi1pZCI6IjMwMDk5MTg2OTE1NTkwNDUiLCJvcmctaWQiOiIwIiwicm9sZS10eXBlIjoiMyIsInJlZnJlc2hUb2tlbiI6IktlbTVsdHRqZ2tSUExOcVA2ajhNakdQYnFrNW5mRzBQNzRvMHE0b295VVE9IiwicmVmcmVzaEV4cGlyeVRpbWUiOiIyMDI2LzIvOCDkuIvljYg2OjU3OjA1IiwibmVlZENoZWNrVG9rZW4iOiJmYWxzZSIsImV4cCI6MTc3MDU0ODIyNSwiaXNzIjoidGVzdCIsImF1ZCI6IlVzZXIifQ.wJlm7pTqUzp769nUGdxx0e1bVMy4x9Prp9U_UMWQvlk # API 请求超时(秒) API_TIMEOUT=20 # 分页大小 -API_PAGE_SIZE=200 +API_PAGE_SIZE=200 # 最大重试次数 API_RETRY_MAX=3 diff --git a/etl_billiards/api/recording_client.py b/etl_billiards/api/recording_client.py index 187abf5..04fb831 100644 --- a/etl_billiards/api/recording_client.py +++ b/etl_billiards/api/recording_client.py @@ -4,7 +4,9 @@ from __future__ import annotations from datetime import datetime from pathlib import Path +import time from typing import Any, Iterable, Tuple +from zoneinfo import ZoneInfo from api.client import APIClient from api.endpoint_routing import plan_calls @@ -128,3 +130,56 @@ class RecordingAPIClient: "pages": len(pages), "records": total_records, } + + +def _cfg_get(cfg, key: str, default=None): + if isinstance(cfg, dict): + cur = cfg + for part in key.split("."): + if not isinstance(cur, dict) or part not in cur: + return default + cur = cur[part] + return cur + getter = getattr(cfg, "get", None) + if callable(getter): + return getter(key, default) + return default + + +def build_recording_client( + cfg, + *, + task_code: str, + output_dir: Path | str | None = None, + run_id: int | None = None, + write_pretty: bool | None = None, +): + """Build RecordingAPIClient from AppConfig or dict config.""" + base_client = APIClient( + base_url=_cfg_get(cfg, "api.base_url") or "", + token=_cfg_get(cfg, "api.token"), + timeout=int(_cfg_get(cfg, "api.timeout_sec", 20) or 20), + retry_max=int(_cfg_get(cfg, "api.retries.max_attempts", 3) or 3), + headers_extra=_cfg_get(cfg, "api.headers_extra") or {}, + ) + + if write_pretty is None: + write_pretty = bool(_cfg_get(cfg, "io.write_pretty_json", False)) + + if run_id is None: + run_id = int(time.time()) + + if output_dir is None: + tz_name = _cfg_get(cfg, "app.timezone", "Asia/Taipei") or "Asia/Taipei" + tz = ZoneInfo(tz_name) + ts = datetime.now(tz).strftime("%Y%m%d-%H%M%S") + fetch_root = _cfg_get(cfg, "pipeline.fetch_root") or _cfg_get(cfg, "io.export_root") or "export/JSON" + output_dir = Path(fetch_root) / f"{str(task_code).upper()}-{run_id}-{ts}" + + return RecordingAPIClient( + base_client=base_client, + output_dir=output_dir, + task_code=str(task_code), + run_id=int(run_id), + write_pretty=bool(write_pretty), + ) diff --git a/etl_billiards/docs/bd_manual/main/BD_manual_dwd_assistant_service_log.md b/etl_billiards/docs/bd_manual/main/BD_manual_dwd_assistant_service_log.md index e814d8c..2719672 100644 --- a/etl_billiards/docs/bd_manual/main/BD_manual_dwd_assistant_service_log.md +++ b/etl_billiards/docs/bd_manual/main/BD_manual_dwd_assistant_service_log.md @@ -36,8 +36,8 @@ | 17 | person_org_id | BIGINT | YES | | 人事组织 ID | | 18 | assistant_level | INTEGER | YES | | 助教等级。**枚举值**: 8=助教管理, 10=初级, 20=中级, 30=高级, 40=星级 | | 19 | level_name | VARCHAR | YES | | 等级名称。**枚举值**: "助教管理", "初级", "中级", "高级", "星级" | -| 20 | skill_id | BIGINT | YES | | 技能 ID | -| 21 | skill_name | VARCHAR | YES | | 技能名称。**枚举值**: "基础课", "附加课/激励课", "包厢课" | +| 20 | skill_id | BIGINT | YES | | 技能 ID **枚举值**: 2790683529513797 = 基础课 , 2790683529513798 = 附加课/激励课, 3039912271463941 = 包厢课 | +| 21 | skill_name | VARCHAR | YES | | 技能名称。 **枚举值**: "基础课","附加课","包厢课"| | 22 | ledger_unit_price | NUMERIC(10,2) | YES | | 单价(元/小时),**样本值**: 98.00/108.00/190.00 等 | | 23 | ledger_amount | NUMERIC(10,2) | YES | | 计费金额 | | 24 | projected_income | NUMERIC(10,2) | YES | | 预估收入 | diff --git a/etl_billiards/fetch-test/compare_recent_former_endpoints.py b/etl_billiards/fetch-test/compare_recent_former_endpoints.py index fde2a36..84b7a38 100644 --- a/etl_billiards/fetch-test/compare_recent_former_endpoints.py +++ b/etl_billiards/fetch-test/compare_recent_former_endpoints.py @@ -26,7 +26,7 @@ PROJECT_ROOT = Path(__file__).resolve().parents[1] if str(PROJECT_ROOT) not in sys.path: sys.path.insert(0, str(PROJECT_ROOT)) -from api.client import APIClient +from api.recording_client import build_recording_client from api.endpoint_routing import derive_former_endpoint as derive_former_endpoint_shared from config.settings import AppConfig from models.parsers import TypeParser @@ -265,13 +265,7 @@ def main() -> int: if not cfg["api"].get("token"): raise SystemExit("缺少 api.token(请在 .env 配置 API_TOKEN 或 FICOO_TOKEN)") - client = APIClient( - base_url=cfg["api"]["base_url"], - token=cfg["api"]["token"], - timeout=int(cfg["api"].get("timeout_sec") or 20), - retry_max=int(cfg["api"].get("retries", {}).get("max_attempts") or 3), - headers_extra=cfg["api"].get("headers_extra") or {}, - ) + client = build_recording_client(cfg, task_code="FETCH_TEST_COMPARE") common_params = cfg["api"].get("params", {}) or {} if not isinstance(common_params, dict): diff --git a/etl_billiards/gui/models/__init__.py b/etl_billiards/gui/models/__init__.py index cdcbb76..435d952 100644 --- a/etl_billiards/gui/models/__init__.py +++ b/etl_billiards/gui/models/__init__.py @@ -5,6 +5,11 @@ from .task_model import TaskItem, TaskStatus, TaskHistory, TaskConfig, QueuedTas from .schedule_model import ( ScheduledTask, ScheduleConfig, ScheduleType, IntervalUnit, ScheduleStore ) +from .task_registry import ( + TaskRegistry, TaskDefinition, BusinessDomain, DOMAIN_LABELS, + task_registry, get_ods_task_codes, get_fact_ods_task_codes, + get_dimension_ods_task_codes, get_all_task_tuples +) __all__ = [ "TaskItem", @@ -17,4 +22,14 @@ __all__ = [ "ScheduleType", "IntervalUnit", "ScheduleStore", + # 任务注册表 + "TaskRegistry", + "TaskDefinition", + "BusinessDomain", + "DOMAIN_LABELS", + "task_registry", + "get_ods_task_codes", + "get_fact_ods_task_codes", + "get_dimension_ods_task_codes", + "get_all_task_tuples", ] diff --git a/etl_billiards/gui/models/task_registry.py b/etl_billiards/gui/models/task_registry.py new file mode 100644 index 0000000..3c10a03 --- /dev/null +++ b/etl_billiards/gui/models/task_registry.py @@ -0,0 +1,353 @@ +# -*- coding: utf-8 -*- +"""任务注册表:定义所有可用任务及其业务域分组。 + +从后端 ods_tasks 动态获取任务定义,并按业务域分组,供 UI 使用。 +""" + +from dataclasses import dataclass, field +from enum import Enum +from typing import Dict, List, Optional, Tuple + +# 尝试从后端导入 ODS 任务定义 +try: + from tasks.ods_tasks import ENABLED_ODS_CODES, ODS_TASK_SPECS + _HAS_BACKEND = True +except ImportError: + _HAS_BACKEND = False + ENABLED_ODS_CODES = set() + ODS_TASK_SPECS = () + + +class BusinessDomain(Enum): + """业务域枚举""" + MEMBER = "member" # 会员 + SETTLEMENT = "settlement" # 结算/支付 + ASSISTANT = "assistant" # 助教 + GOODS = "goods" # 商品/销售 + TABLE = "table" # 台桌 + PROMOTION = "promotion" # 团购/优惠券 + INVENTORY = "inventory" # 库存 + SCHEMA = "schema" # Schema 初始化 + DWD = "dwd" # DWD 装载 + QUALITY = "quality" # 质量检查 + OTHER = "other" # 其他 + + +# 业务域显示名称 +DOMAIN_LABELS: Dict[BusinessDomain, str] = { + BusinessDomain.MEMBER: "会员", + BusinessDomain.SETTLEMENT: "结算/支付", + BusinessDomain.ASSISTANT: "助教", + BusinessDomain.GOODS: "商品/销售", + BusinessDomain.TABLE: "台桌", + BusinessDomain.PROMOTION: "团购/优惠券", + BusinessDomain.INVENTORY: "库存", + BusinessDomain.SCHEMA: "Schema 初始化", + BusinessDomain.DWD: "DWD 装载", + BusinessDomain.QUALITY: "质量检查", + BusinessDomain.OTHER: "其他", +} + + +@dataclass +class TaskDefinition: + """任务定义""" + code: str # 任务编码 + name: str # 显示名称 + description: str # 描述 + domain: BusinessDomain # 业务域 + requires_window: bool = True # 是否需要时间窗口 + is_ods: bool = False # 是否为 ODS 任务 + is_dimension: bool = False # 是否为维度类任务(校验时区分) + default_enabled: bool = True # 默认是否选中 + + +# ODS 任务到业务域的映射 +ODS_DOMAIN_MAP: Dict[str, BusinessDomain] = { + # 会员相关 + "ODS_MEMBER": BusinessDomain.MEMBER, + "ODS_MEMBER_CARD": BusinessDomain.MEMBER, + "ODS_MEMBER_BALANCE": BusinessDomain.MEMBER, + # 结算/支付相关 + "ODS_PAYMENT": BusinessDomain.SETTLEMENT, + "ODS_REFUND": BusinessDomain.SETTLEMENT, + "ODS_SETTLEMENT_RECORDS": BusinessDomain.SETTLEMENT, + "ODS_RECHARGE_SETTLE": BusinessDomain.SETTLEMENT, + "ODS_SETTLEMENT_TICKET": BusinessDomain.SETTLEMENT, + # 助教相关 + "ODS_ASSISTANT_ACCOUNT": BusinessDomain.ASSISTANT, + "ODS_ASSISTANT_LEDGER": BusinessDomain.ASSISTANT, + "ODS_ASSISTANT_ABOLISH": BusinessDomain.ASSISTANT, + # 商品/销售相关 + "ODS_TENANT_GOODS": BusinessDomain.GOODS, + "ODS_STORE_GOODS": BusinessDomain.GOODS, + "ODS_STORE_GOODS_SALES": BusinessDomain.GOODS, + "ODS_GOODS_CATEGORY": BusinessDomain.GOODS, + # 台桌相关 + "ODS_TABLES": BusinessDomain.TABLE, + "ODS_TABLE_USE": BusinessDomain.TABLE, + "ODS_TABLE_FEE_DISCOUNT": BusinessDomain.TABLE, + # 团购/优惠券相关 + "ODS_GROUP_PACKAGE": BusinessDomain.PROMOTION, + "ODS_GROUP_BUY_REDEMPTION": BusinessDomain.PROMOTION, + "ODS_PLATFORM_COUPON": BusinessDomain.PROMOTION, + # 库存相关 + "ODS_INVENTORY_STOCK": BusinessDomain.INVENTORY, + "ODS_INVENTORY_CHANGE": BusinessDomain.INVENTORY, +} + +# ODS 任务显示名称(中文) +ODS_DISPLAY_NAMES: Dict[str, str] = { + "ODS_MEMBER": "会员档案", + "ODS_MEMBER_CARD": "会员储值卡", + "ODS_MEMBER_BALANCE": "会员余额变动", + "ODS_PAYMENT": "支付流水", + "ODS_REFUND": "退款流水", + "ODS_SETTLEMENT_RECORDS": "结账记录", + "ODS_RECHARGE_SETTLE": "充值结算", + "ODS_SETTLEMENT_TICKET": "结账小票", + "ODS_ASSISTANT_ACCOUNT": "助教账号", + "ODS_ASSISTANT_LEDGER": "助教流水", + "ODS_ASSISTANT_ABOLISH": "助教作废", + "ODS_TENANT_GOODS": "租户商品", + "ODS_STORE_GOODS": "门店商品", + "ODS_STORE_GOODS_SALES": "商品销售流水", + "ODS_GOODS_CATEGORY": "商品分类", + "ODS_TABLES": "台桌维表", + "ODS_TABLE_USE": "台费计费流水", + "ODS_TABLE_FEE_DISCOUNT": "台费折扣调账", + "ODS_GROUP_PACKAGE": "团购套餐", + "ODS_GROUP_BUY_REDEMPTION": "团购核销", + "ODS_PLATFORM_COUPON": "平台券核销", + "ODS_INVENTORY_STOCK": "库存汇总", + "ODS_INVENTORY_CHANGE": "库存变化", +} + +# 维度类 ODS 任务(校验时通常单独处理) +DIMENSION_ODS_CODES = { + "ODS_MEMBER", + "ODS_MEMBER_CARD", + "ODS_ASSISTANT_ACCOUNT", + "ODS_TENANT_GOODS", + "ODS_STORE_GOODS", + "ODS_GOODS_CATEGORY", + "ODS_TABLES", + "ODS_GROUP_PACKAGE", +} + +# 事实类 ODS 任务(需要时间窗口) +FACT_ODS_CODES = { + "ODS_MEMBER_BALANCE", + "ODS_PAYMENT", + "ODS_REFUND", + "ODS_SETTLEMENT_RECORDS", + "ODS_RECHARGE_SETTLE", + "ODS_SETTLEMENT_TICKET", + "ODS_ASSISTANT_LEDGER", + "ODS_ASSISTANT_ABOLISH", + "ODS_STORE_GOODS_SALES", + "ODS_TABLE_USE", + "ODS_TABLE_FEE_DISCOUNT", + "ODS_GROUP_BUY_REDEMPTION", + "ODS_PLATFORM_COUPON", + "ODS_INVENTORY_CHANGE", +} + +# 非 ODS 任务定义 +NON_ODS_TASKS: List[TaskDefinition] = [ + # DWD 装载 + TaskDefinition( + code="DWD_LOAD_FROM_ODS", + name="ODS→DWD 装载", + description="从 ODS 增量装载到 DWD", + domain=BusinessDomain.DWD, + requires_window=True, + ), + TaskDefinition( + code="DWD_QUALITY_CHECK", + name="DWD 质量检查", + description="执行 DWD 数据质量检查", + domain=BusinessDomain.QUALITY, + requires_window=False, + ), + TaskDefinition( + code="DWS_BUILD_ORDER_SUMMARY", + name="构建订单汇总", + description="重算 DWS 订单汇总表", + domain=BusinessDomain.DWD, + requires_window=False, + ), + # Schema 初始化 + TaskDefinition( + code="INIT_ODS_SCHEMA", + name="初始化 ODS Schema", + description="创建/重建 ODS 表结构", + domain=BusinessDomain.SCHEMA, + requires_window=False, + default_enabled=False, + ), + TaskDefinition( + code="INIT_DWD_SCHEMA", + name="初始化 DWD Schema", + description="创建/重建 DWD 表结构", + domain=BusinessDomain.SCHEMA, + requires_window=False, + default_enabled=False, + ), + TaskDefinition( + code="INIT_DWS_SCHEMA", + name="初始化 DWS Schema", + description="创建/重建 DWS 表结构", + domain=BusinessDomain.SCHEMA, + requires_window=False, + default_enabled=False, + ), + # 其他 + TaskDefinition( + code="MANUAL_INGEST", + name="手工数据灌入", + description="从本地 JSON 回放入库", + domain=BusinessDomain.OTHER, + requires_window=False, + default_enabled=False, + ), + TaskDefinition( + code="CHECK_CUTOFF", + name="检查 Cutoff", + description="查看各表数据截止时间", + domain=BusinessDomain.QUALITY, + requires_window=False, + ), + TaskDefinition( + code="DATA_INTEGRITY_CHECK", + name="数据完整性检查", + description="检查 ODS/DWD 数据完整性", + domain=BusinessDomain.QUALITY, + requires_window=True, + ), +] + + +def _build_ods_task_definition(code: str) -> TaskDefinition: + """根据 ODS 任务编码构建任务定义""" + domain = ODS_DOMAIN_MAP.get(code, BusinessDomain.OTHER) + name = ODS_DISPLAY_NAMES.get(code, code) + is_dimension = code in DIMENSION_ODS_CODES + + # 从后端获取描述(如果可用) + description = f"抓取{name}到 ODS" + if _HAS_BACKEND: + for spec in ODS_TASK_SPECS: + if spec.code == code: + # 尝试解码描述(可能是乱码) + desc = spec.description + if desc and not any(ord(c) > 0x4e00 for c in desc[:10] if desc): + description = f"抓取{name}到 ODS" + break + + return TaskDefinition( + code=code, + name=name, + description=description, + domain=domain, + requires_window=code not in DIMENSION_ODS_CODES, + is_ods=True, + is_dimension=is_dimension, + ) + + +class TaskRegistry: + """任务注册表:管理所有可用任务""" + + _instance: Optional["TaskRegistry"] = None + + def __new__(cls): + if cls._instance is None: + cls._instance = super().__new__(cls) + cls._instance._initialized = False + return cls._instance + + def __init__(self): + if self._initialized: + return + self._initialized = True + self._tasks: Dict[str, TaskDefinition] = {} + self._load_tasks() + + def _load_tasks(self): + """加载所有任务定义""" + # 加载 ODS 任务 + ods_codes = ENABLED_ODS_CODES if _HAS_BACKEND else set(ODS_DOMAIN_MAP.keys()) + for code in ods_codes: + self._tasks[code] = _build_ods_task_definition(code) + + # 加载非 ODS 任务 + for task_def in NON_ODS_TASKS: + self._tasks[task_def.code] = task_def + + def get_task(self, code: str) -> Optional[TaskDefinition]: + """获取任务定义""" + return self._tasks.get(code) + + def get_all_tasks(self) -> List[TaskDefinition]: + """获取所有任务""" + return list(self._tasks.values()) + + def get_ods_tasks(self) -> List[TaskDefinition]: + """获取所有 ODS 任务""" + return [t for t in self._tasks.values() if t.is_ods] + + def get_fact_ods_tasks(self) -> List[TaskDefinition]: + """获取事实类 ODS 任务(需要时间窗口)""" + return [t for t in self._tasks.values() if t.is_ods and not t.is_dimension] + + def get_dimension_ods_tasks(self) -> List[TaskDefinition]: + """获取维度类 ODS 任务""" + return [t for t in self._tasks.values() if t.is_ods and t.is_dimension] + + def get_tasks_by_domain(self, domain: BusinessDomain) -> List[TaskDefinition]: + """按业务域获取任务""" + return [t for t in self._tasks.values() if t.domain == domain] + + def get_ods_tasks_grouped(self) -> Dict[BusinessDomain, List[TaskDefinition]]: + """获取按业务域分组的 ODS 任务""" + grouped: Dict[BusinessDomain, List[TaskDefinition]] = {} + for task in self.get_ods_tasks(): + if task.domain not in grouped: + grouped[task.domain] = [] + grouped[task.domain].append(task) + return grouped + + def get_non_ods_tasks(self) -> List[TaskDefinition]: + """获取非 ODS 任务""" + return [t for t in self._tasks.values() if not t.is_ods] + + +# 全局注册表实例 +task_registry = TaskRegistry() + + +# 便捷函数 +def get_ods_task_codes() -> List[str]: + """获取所有 ODS 任务编码""" + return [t.code for t in task_registry.get_ods_tasks()] + + +def get_fact_ods_task_codes() -> List[str]: + """获取事实类 ODS 任务编码""" + return [t.code for t in task_registry.get_fact_ods_tasks()] + + +def get_dimension_ods_task_codes() -> List[str]: + """获取维度类 ODS 任务编码""" + return [t.code for t in task_registry.get_dimension_ods_tasks()] + + +def get_all_task_tuples() -> List[Tuple[str, str, str]]: + """获取所有任务的 (code, name, description) 元组列表""" + return [(t.code, t.name, t.description) for t in task_registry.get_all_tasks()] + + +def get_ods_tasks_for_ui() -> List[Tuple[str, str, BusinessDomain]]: + """获取 ODS 任务列表供 UI 使用:(code, display_name, domain)""" + return [(t.code, t.name, t.domain) for t in task_registry.get_ods_tasks()] diff --git a/etl_billiards/gui/widgets/__init__.py b/etl_billiards/gui/widgets/__init__.py index 5d20561..2d99f42 100644 --- a/etl_billiards/gui/widgets/__init__.py +++ b/etl_billiards/gui/widgets/__init__.py @@ -7,6 +7,7 @@ from .log_viewer import LogViewer from .db_viewer import DBViewer from .status_panel import StatusPanel from .task_manager import TaskManager +from .task_selector import TaskSelectorWidget, CompactTaskSelector __all__ = [ "TaskPanel", @@ -15,4 +16,6 @@ __all__ = [ "DBViewer", "StatusPanel", "TaskManager", + "TaskSelectorWidget", + "CompactTaskSelector", ] diff --git a/etl_billiards/gui/widgets/task_manager.py b/etl_billiards/gui/widgets/task_manager.py index 91f5689..c73133e 100644 --- a/etl_billiards/gui/widgets/task_manager.py +++ b/etl_billiards/gui/widgets/task_manager.py @@ -26,28 +26,45 @@ from ..utils.app_settings import app_settings from ..workers.task_worker import TaskWorker -# 可调度的任务列表(包含所有 ODS 任务 + DWD/质量检查任务) -SCHEDULABLE_TASKS = [ - # ODS 数据抓取任务(与 task_panel.AUTO_UPDATE_TASKS 保持一致) - ("ODS_PAYMENT", "支付流水"), - ("ODS_MEMBER", "会员档案"), - ("ODS_MEMBER_CARD", "会员储值卡"), - ("ODS_MEMBER_BALANCE", "会员余额变动"), - ("ODS_SETTLEMENT_RECORDS", "结账记录"), - ("ODS_TABLE_USE", "台费计费流水"), - ("ODS_ASSISTANT_ACCOUNT", "助教账号"), - ("ODS_ASSISTANT_LEDGER", "助教流水"), - ("ODS_ASSISTANT_ABOLISH", "助教作废"), - ("ODS_REFUND", "退款流水"), - ("ODS_PLATFORM_COUPON", "平台券核销"), - ("ODS_RECHARGE_SETTLE", "充值结算"), - ("ODS_SETTLEMENT_TICKET", "结账小票"), - # DWD 和质量检查任务 - ("DWD_LOAD_FROM_ODS", "ODS→DWD 装载"), - ("DWD_QUALITY_CHECK", "DWD 质量检查"), - ("DATA_INTEGRITY_CHECK", "数据完整性检查"), - ("CHECK_CUTOFF", "检查 Cutoff"), -] +# 动态获取可调度的任务列表 +def _get_schedulable_tasks(): + """从任务注册表动态获取可调度任务列表""" + try: + from ..models.task_registry import task_registry + tasks = [] + # 添加所有 ODS 任务 + for task_def in task_registry.get_ods_tasks(): + tasks.append((task_def.code, task_def.name)) + # 添加非 ODS 任务(排除 Schema 初始化和手工灌入) + exclude_codes = {"INIT_ODS_SCHEMA", "INIT_DWD_SCHEMA", "INIT_DWS_SCHEMA", "MANUAL_INGEST"} + for task_def in task_registry.get_non_ods_tasks(): + if task_def.code not in exclude_codes: + tasks.append((task_def.code, task_def.name)) + return tasks + except ImportError: + # 回退到静态列表 + return [ + ("ODS_PAYMENT", "支付流水"), + ("ODS_MEMBER", "会员档案"), + ("ODS_MEMBER_CARD", "会员储值卡"), + ("ODS_MEMBER_BALANCE", "会员余额变动"), + ("ODS_SETTLEMENT_RECORDS", "结账记录"), + ("ODS_TABLE_USE", "台费计费流水"), + ("ODS_ASSISTANT_ACCOUNT", "助教账号"), + ("ODS_ASSISTANT_LEDGER", "助教流水"), + ("ODS_ASSISTANT_ABOLISH", "助教作废"), + ("ODS_REFUND", "退款流水"), + ("ODS_PLATFORM_COUPON", "平台券核销"), + ("ODS_RECHARGE_SETTLE", "充值结算"), + ("ODS_SETTLEMENT_TICKET", "结账小票"), + ("DWD_LOAD_FROM_ODS", "ODS→DWD 装载"), + ("DWD_QUALITY_CHECK", "DWD 质量检查"), + ("DATA_INTEGRITY_CHECK", "数据完整性检查"), + ("CHECK_CUTOFF", "检查 Cutoff"), + ] + + +SCHEDULABLE_TASKS = _get_schedulable_tasks() class TaskLogDialog(QDialog): @@ -1584,6 +1601,7 @@ class TaskManager(QWidget): # 统计关键数据 total_inserted = 0 + total_updated = 0 total_missing = 0 total_records = 0 @@ -1596,11 +1614,30 @@ class TaskManager(QWidget): import json stats_str = match.group(1).replace("'", '"') stats = json.loads(stats_str) + + if 'tables' in stats: + for tbl in stats['tables']: - inserted = tbl.get('inserted', 0) - processed = tbl.get('processed', 0) - total_inserted += inserted + processed + + inserted = int(tbl.get('inserted', 0) or 0) + + updated = int(tbl.get('updated', 0) or 0) + + processed = int(tbl.get('processed', 0) or 0) + + has_new_counts = ('inserted' in tbl) or ('updated' in tbl) + + if has_new_counts: + + total_inserted += inserted + + total_updated += updated + + else: + + total_inserted += inserted + processed + except Exception: pass @@ -1622,8 +1659,11 @@ class TaskManager(QWidget): total_records += int(match.group(1)) # 构建摘要 - if total_inserted > 0: - summary_parts.append(f"处理 {total_inserted} 条") + if total_inserted > 0 or total_updated > 0: + if total_updated > 0: + summary_parts.append(f"?? {total_inserted} ?, ?? {total_updated} ?") + else: + summary_parts.append(f"?? {total_inserted} ?") if total_records > 0: if total_missing > 0: diff --git a/etl_billiards/gui/widgets/task_panel.py b/etl_billiards/gui/widgets/task_panel.py index d34d321..cf4b5dd 100644 --- a/etl_billiards/gui/widgets/task_panel.py +++ b/etl_billiards/gui/widgets/task_panel.py @@ -10,77 +10,30 @@ from PySide6.QtWidgets import ( QSplitter, QFrame, QFileDialog, QMessageBox, QScrollArea, QSpinBox, QTabWidget, QDateTimeEdit ) -from PySide6.QtCore import Qt, Signal, QDateTime +from PySide6.QtCore import Qt, Signal, QDateTime, QTimer from PySide6.QtGui import QFont from ..models.task_model import TaskItem, TaskConfig, TaskCategory, TASK_CATEGORIES, get_task_category +from ..models.task_registry import ( + task_registry, get_all_task_tuples, get_fact_ods_task_codes, + get_dimension_ods_task_codes, BusinessDomain, DOMAIN_LABELS +) from ..utils.cli_builder import CLIBuilder from ..utils.app_settings import app_settings from ..workers.task_worker import TaskWorker +from .task_selector import TaskSelectorWidget -# ODS 自动更新任务(从 API 抓取) -AUTO_UPDATE_TASKS = [ - "ODS_PAYMENT", - "ODS_MEMBER", - "ODS_MEMBER_CARD", - "ODS_MEMBER_BALANCE", - "ODS_SETTLEMENT_RECORDS", - "ODS_TABLE_USE", - "ODS_ASSISTANT_ACCOUNT", - "ODS_ASSISTANT_LEDGER", - "ODS_ASSISTANT_ABOLISH", - "ODS_REFUND", - "ODS_PLATFORM_COUPON", - "ODS_RECHARGE_SETTLE", - "ODS_SETTLEMENT_TICKET", -] +def _get_all_tasks(): + """从注册表动态获取所有任务""" + return get_all_task_tuples() + # 数据校验相关任务 INTEGRITY_CHECK_TASKS = [ "DATA_INTEGRITY_CHECK", ] -# 所有可用任务 -ALL_TASKS = [ - # ODS 任务 - ("ODS_PAYMENT", "支付流水", "抓取支付记录到 ODS"), - ("ODS_MEMBER", "会员档案", "抓取会员信息到 ODS"), - ("ODS_MEMBER_CARD", "会员储值卡", "抓取会员卡信息到 ODS"), - ("ODS_MEMBER_BALANCE", "会员余额变动", "抓取会员余额变动到 ODS"), - ("ODS_SETTLEMENT_RECORDS", "结账记录", "抓取结账记录到 ODS"), - ("ODS_TABLE_USE", "台费计费流水", "抓取台费使用记录到 ODS"), - ("ODS_ASSISTANT_ACCOUNT", "助教账号", "抓取助教信息到 ODS"), - ("ODS_ASSISTANT_LEDGER", "助教流水", "抓取助教服务流水到 ODS"), - ("ODS_ASSISTANT_ABOLISH", "助教作废", "抓取助教作废记录到 ODS"), - ("ODS_REFUND", "退款流水", "抓取退款记录到 ODS"), - ("ODS_PLATFORM_COUPON", "平台券核销", "抓取券核销记录到 ODS"), - ("ODS_RECHARGE_SETTLE", "充值结算", "抓取充值结算记录到 ODS"), - ("ODS_GROUP_PACKAGE", "团购套餐", "抓取团购套餐定义到 ODS"), - ("ODS_GROUP_BUY_REDEMPTION", "团购核销", "抓取团购核销记录到 ODS"), - ("ODS_INVENTORY_STOCK", "库存汇总", "抓取库存汇总到 ODS"), - ("ODS_INVENTORY_CHANGE", "库存变化", "抓取库存变动记录到 ODS"), - ("ODS_TABLES", "台桌维表", "抓取台桌信息到 ODS"), - ("ODS_GOODS_CATEGORY", "商品分类", "抓取商品分类到 ODS"), - ("ODS_STORE_GOODS", "门店商品", "抓取门店商品档案到 ODS"), - ("ODS_STORE_GOODS_SALES", "商品销售流水", "抓取商品销售流水到 ODS"), - ("ODS_TABLE_FEE_DISCOUNT", "台费折扣", "抓取台费折扣记录到 ODS"), - ("ODS_TENANT_GOODS", "租户商品", "抓取租户商品档案到 ODS"), - ("ODS_SETTLEMENT_TICKET", "结账小票", "抓取结账小票详情到 ODS"), - # DWD/DWS 任务 - ("DWD_LOAD_FROM_ODS", "ODS→DWD 装载", "从 ODS 增量装载到 DWD"), - ("DWD_QUALITY_CHECK", "DWD 质量检查", "执行 DWD 数据质量检查"), - ("DWS_BUILD_ORDER_SUMMARY", "构建订单汇总", "重算 DWS 订单汇总表"), - # Schema 初始化 - ("INIT_ODS_SCHEMA", "初始化 ODS Schema", "创建/重建 ODS 表结构"), - ("INIT_DWD_SCHEMA", "初始化 DWD Schema", "创建/重建 DWD 表结构"), - ("INIT_DWS_SCHEMA", "初始化 DWS Schema", "创建/重建 DWS 表结构"), - # 其他任务 - ("MANUAL_INGEST", "手工数据灌入", "从本地 JSON 回放入库"), - ("CHECK_CUTOFF", "检查 Cutoff", "查看各表数据截止时间"), - ("DATA_INTEGRITY_CHECK", "数据完整性检查", "检查 ODS/DWD 数据完整性"), -] - class TaskPanel(QWidget): """任务配置面板""" @@ -100,6 +53,11 @@ class TaskPanel(QWidget): self._connect_signals() self.refresh_tasks() self._load_settings() # 启动时加载保存的设置 + + # 定时器:每秒更新时间预览 + self._time_preview_timer = QTimer(self) + self._time_preview_timer.timeout.connect(self._update_sync_time_preview) + self._time_preview_timer.start(1000) # 每秒更新 def _init_ui(self): """初始化界面""" @@ -197,104 +155,176 @@ class TaskPanel(QWidget): widget = QWidget() layout = QVBoxLayout(widget) layout.setContentsMargins(8, 8, 8, 8) - layout.setSpacing(16) + layout.setSpacing(12) - # ====== 自动更新 ====== - auto_update_group = QGroupBox("自动更新(API → ODS)") - auto_update_layout = QVBoxLayout(auto_update_group) + # ====== 1. 日常增量同步 ====== + sync_group = QGroupBox("日常增量同步") + sync_layout = QVBoxLayout(sync_group) + sync_layout.setSpacing(8) # 说明 - desc_label = QLabel("从 API 抓取数据并更新 ODS 层,适用于日常增量更新") - desc_label.setProperty("subheading", True) - desc_label.setWordWrap(True) - auto_update_layout.addWidget(desc_label) + sync_desc = QLabel("从 API 抓取最新数据到 ODS,然后装载到 DWD。适用于日常增量更新。") + sync_desc.setProperty("subheading", True) + sync_desc.setWordWrap(True) + sync_layout.addWidget(sync_desc) # 时间范围 - time_layout = QHBoxLayout() - time_layout.addWidget(QLabel("时间范围:")) + sync_time_layout = QHBoxLayout() + sync_time_layout.addWidget(QLabel("回溯时间:")) + self.sync_hours = QSpinBox() + self.sync_hours.setRange(1, 720) + self.sync_hours.setValue(24) + self.sync_hours.setSuffix(" 小时") + self.sync_hours.setToolTip("从当前时间向前回溯的小时数") + sync_time_layout.addWidget(self.sync_hours) - self.auto_update_hours = QSpinBox() - self.auto_update_hours.setRange(1, 720) # 1小时 - 30天 - self.auto_update_hours.setValue(24) - self.auto_update_hours.setSuffix(" 小时前") - time_layout.addWidget(self.auto_update_hours) + sync_time_layout.addWidget(QLabel("冗余:")) + self.sync_overlap = QSpinBox() + self.sync_overlap.setRange(0, 7200) + self.sync_overlap.setValue(3600) + self.sync_overlap.setSuffix(" 秒") + self.sync_overlap.setToolTip("额外向前多抓取的时间,避免边界数据丢失") + sync_time_layout.addWidget(self.sync_overlap) + sync_time_layout.addStretch() + sync_layout.addLayout(sync_time_layout) - time_layout.addWidget(QLabel("到 当前")) - time_layout.addStretch() - auto_update_layout.addLayout(time_layout) + # 时间范围预览(精确到秒) + self.sync_time_preview = QLabel() + self.sync_time_preview.setStyleSheet("color: #666; font-size: 12px;") + sync_layout.addWidget(self.sync_time_preview) + self._update_sync_time_preview() - # 冗余窗口 - overlap_layout = QHBoxLayout() - overlap_layout.addWidget(QLabel("冗余窗口:")) - self.overlap_seconds = QSpinBox() - self.overlap_seconds.setRange(0, 7200) - self.overlap_seconds.setValue(3600) - self.overlap_seconds.setSuffix(" 秒") - self.overlap_seconds.setToolTip("向前多抓取的时间,避免边界数据丢失") - overlap_layout.addWidget(self.overlap_seconds) - overlap_layout.addStretch() - auto_update_layout.addLayout(overlap_layout) + # 任务选择(使用新组件) + sync_task_label = QLabel("选择 ODS 任务(按业务域):") + sync_layout.addWidget(sync_task_label) - # 任务选择 - task_header_layout = QHBoxLayout() - task_label = QLabel("包含任务:") - task_header_layout.addWidget(task_label) - task_header_layout.addStretch() + self.sync_task_selector = TaskSelectorWidget( + show_dimensions=True, + show_facts=True, + default_select_facts=True, + default_select_dimensions=False, + compact=True, + max_height=200, + ) + sync_layout.addWidget(self.sync_task_selector) - self.auto_update_select_all_btn = QPushButton("全选") - self.auto_update_select_all_btn.setProperty("secondary", True) - self.auto_update_select_all_btn.setFixedWidth(60) - task_header_layout.addWidget(self.auto_update_select_all_btn) + # 附加选项 + sync_options_layout = QHBoxLayout() + self.sync_include_dwd = QCheckBox("ODS 完成后装载 DWD") + self.sync_include_dwd.setChecked(True) + self.sync_include_dwd.setToolTip("ODS 抓取完成后自动执行 DWD 装载任务") + sync_options_layout.addWidget(self.sync_include_dwd) - self.auto_update_deselect_all_btn = QPushButton("全不选") - self.auto_update_deselect_all_btn.setProperty("secondary", True) - self.auto_update_deselect_all_btn.setFixedWidth(60) - task_header_layout.addWidget(self.auto_update_deselect_all_btn) - - auto_update_layout.addLayout(task_header_layout) - - self.auto_update_tasks_list = QListWidget() - self.auto_update_tasks_list.setSelectionMode(QListWidget.MultiSelection) - self.auto_update_tasks_list.setMaximumHeight(150) - for task_code in AUTO_UPDATE_TASKS: - item = QListWidgetItem(task_code) - item.setSelected(True) # 默认全选 - self.auto_update_tasks_list.addItem(item) - auto_update_layout.addWidget(self.auto_update_tasks_list) - - # 包含 DWD 装载 - self.include_dwd_check = QCheckBox("完成后执行 DWD 装载 (ODS → DWD)") - self.include_dwd_check.setChecked(True) - auto_update_layout.addWidget(self.include_dwd_check) - - # 自动校验 - self.auto_verify_check = QCheckBox("完成后执行数据校验") - self.auto_verify_check.setToolTip("ETL 导入完成后,自动执行数据完整性校验") - self.auto_verify_check.setChecked(False) - auto_update_layout.addWidget(self.auto_verify_check) + self.sync_auto_verify = QCheckBox("完成后校验数据") + self.sync_auto_verify.setChecked(False) + self.sync_auto_verify.setToolTip("全部完成后执行数据完整性校验") + sync_options_layout.addWidget(self.sync_auto_verify) + sync_options_layout.addStretch() + sync_layout.addLayout(sync_options_layout) # 操作按钮 - auto_btn_layout = QHBoxLayout() - auto_btn_layout.addStretch() + sync_btn_layout = QHBoxLayout() + sync_btn_layout.addStretch() + self.sync_run_btn = QPushButton("立即执行") + self.sync_run_btn.setToolTip("添加到任务队列并执行") + sync_btn_layout.addWidget(self.sync_run_btn) + self.sync_schedule_btn = QPushButton("创建调度") + self.sync_schedule_btn.setProperty("secondary", True) + self.sync_schedule_btn.setToolTip("创建定时调度任务") + sync_btn_layout.addWidget(self.sync_schedule_btn) + sync_layout.addLayout(sync_btn_layout) - self.auto_update_run_btn = QPushButton("立即执行一次") - self.auto_update_run_btn.setToolTip("添加到任务队列并立即执行") - auto_btn_layout.addWidget(self.auto_update_run_btn) + layout.addWidget(sync_group) - self.auto_update_schedule_btn = QPushButton("创建调度任务") - self.auto_update_schedule_btn.setToolTip("添加到定时调度中,可设置执行周期") - auto_btn_layout.addWidget(self.auto_update_schedule_btn) - - auto_update_layout.addLayout(auto_btn_layout) - - layout.addWidget(auto_update_group) - - # ====== 数据校验 ====== - integrity_group = QGroupBox("数据校验(API vs ODS)") - integrity_layout = QVBoxLayout(integrity_group) + # ====== 2. 全量重刷 ====== + reload_group = QGroupBox("全量重刷") + reload_layout = QVBoxLayout(reload_group) + reload_layout.setSpacing(8) # 说明 - int_desc = QLabel("对比 API 数据与 ODS 数据,检查是否有缺失或不一致") + reload_desc = QLabel("指定时间窗口,重新抓取 ODS 数据并装载到 DWD。适用于数据修复或历史回补。") + reload_desc.setProperty("subheading", True) + reload_desc.setWordWrap(True) + reload_layout.addWidget(reload_desc) + + # 时间窗口 + reload_time_layout = QGridLayout() + reload_time_layout.setColumnStretch(1, 1) + + reload_time_layout.addWidget(QLabel("开始时间:"), 0, 0) + self.reload_start = QDateTimeEdit() + self.reload_start.setDisplayFormat("yyyy-MM-dd HH:mm:ss") + self.reload_start.setCalendarPopup(True) + self.reload_start.setDateTime(QDateTime.currentDateTime().addDays(-7)) + reload_time_layout.addWidget(self.reload_start, 0, 1) + + reload_time_layout.addWidget(QLabel("结束时间:"), 1, 0) + self.reload_end = QDateTimeEdit() + self.reload_end.setDisplayFormat("yyyy-MM-dd HH:mm:ss") + self.reload_end.setCalendarPopup(True) + self.reload_end.setDateTime(QDateTime.currentDateTime()) + reload_time_layout.addWidget(self.reload_end, 1, 1) + + reload_layout.addLayout(reload_time_layout) + + # 窗口切分 + reload_split_layout = QHBoxLayout() + reload_split_layout.addWidget(QLabel("窗口切分:")) + self.reload_split_combo = QComboBox() + self.reload_split_combo.addItem("不切分", "none") + self.reload_split_combo.addItem("按天切分", "day") + self.reload_split_combo.addItem("按周切分", "week") + self.reload_split_combo.addItem("按月切分", "month") + self.reload_split_combo.setToolTip("长时间窗口建议切分执行,避免单次请求过大") + reload_split_layout.addWidget(self.reload_split_combo) + reload_split_layout.addStretch() + reload_layout.addLayout(reload_split_layout) + + # 任务选择 + reload_task_label = QLabel("选择 ODS 任务(按业务域):") + reload_layout.addWidget(reload_task_label) + + self.reload_task_selector = TaskSelectorWidget( + show_dimensions=True, + show_facts=True, + default_select_facts=True, + default_select_dimensions=False, + compact=True, + max_height=180, + ) + reload_layout.addWidget(self.reload_task_selector) + + # 附加选项 + reload_options_layout = QHBoxLayout() + self.reload_include_dwd = QCheckBox("ODS 完成后装载 DWD") + self.reload_include_dwd.setChecked(True) + reload_options_layout.addWidget(self.reload_include_dwd) + + self.reload_include_dimensions = QCheckBox("包含维度表") + self.reload_include_dimensions.setChecked(False) + self.reload_include_dimensions.setToolTip("勾选后会同时重刷维度类 ODS 任务") + self.reload_include_dimensions.stateChanged.connect(self._on_reload_include_dimensions_changed) + reload_options_layout.addWidget(self.reload_include_dimensions) + reload_options_layout.addStretch() + reload_layout.addLayout(reload_options_layout) + + # 操作按钮 + reload_btn_layout = QHBoxLayout() + reload_btn_layout.addStretch() + self.reload_run_btn = QPushButton("立即执行") + self.reload_run_btn.setToolTip("添加到任务队列并执行") + reload_btn_layout.addWidget(self.reload_run_btn) + reload_layout.addLayout(reload_btn_layout) + + layout.addWidget(reload_group) + + # ====== 3. 数据完整性校验 ====== + integrity_group = QGroupBox("数据完整性校验") + integrity_layout = QVBoxLayout(integrity_group) + integrity_layout.setSpacing(8) + + # 说明 + int_desc = QLabel("对比 API 源数据与 ODS 数据,检查是否有缺失或不一致,可选自动补齐。") int_desc.setProperty("subheading", True) int_desc.setWordWrap(True) integrity_layout.addWidget(int_desc) @@ -304,7 +334,8 @@ class TaskPanel(QWidget): mode_layout.addWidget(QLabel("校验模式:")) self.integrity_mode_combo = QComboBox() self.integrity_mode_combo.addItem("历史全量校验", "history") - self.integrity_mode_combo.addItem("最近增量校验", "recent") + self.integrity_mode_combo.addItem("指定时间窗口", "window") + self.integrity_mode_combo.setToolTip("历史全量:按日期范围校验;指定窗口:精确到秒的时间窗口") mode_layout.addWidget(self.integrity_mode_combo, 1) integrity_layout.addLayout(mode_layout) @@ -312,6 +343,7 @@ class TaskPanel(QWidget): self.history_range_widget = QWidget() history_layout = QGridLayout(self.history_range_widget) history_layout.setContentsMargins(0, 0, 0, 0) + history_layout.setColumnStretch(1, 1) history_layout.addWidget(QLabel("开始日期:"), 0, 0) self.integrity_start_date = QDateTimeEdit() @@ -329,49 +361,89 @@ class TaskPanel(QWidget): integrity_layout.addWidget(self.history_range_widget) - # 时间范围 - 最近模式 - self.recent_range_widget = QWidget() - recent_layout = QHBoxLayout(self.recent_range_widget) - recent_layout.setContentsMargins(0, 0, 0, 0) - recent_layout.addWidget(QLabel("回溯时间:")) - self.integrity_hours = QSpinBox() - self.integrity_hours.setRange(1, 168) # 1小时 - 7天 - self.integrity_hours.setValue(24) - self.integrity_hours.setSuffix(" 小时") - recent_layout.addWidget(self.integrity_hours) - recent_layout.addStretch() - self.recent_range_widget.setVisible(False) - integrity_layout.addWidget(self.recent_range_widget) + # 时间范围 - 窗口模式 + self.window_range_widget = QWidget() + window_layout = QGridLayout(self.window_range_widget) + window_layout.setContentsMargins(0, 0, 0, 0) + window_layout.setColumnStretch(1, 1) - # 校验选项 - self.include_dimensions_check = QCheckBox("包含维度表校验") - integrity_layout.addWidget(self.include_dimensions_check) + window_layout.addWidget(QLabel("开始时间:"), 0, 0) + self.integrity_window_start = QDateTimeEdit() + self.integrity_window_start.setDisplayFormat("yyyy-MM-dd HH:mm:ss") + self.integrity_window_start.setCalendarPopup(True) + self.integrity_window_start.setDateTime(QDateTime.currentDateTime().addDays(-1)) + window_layout.addWidget(self.integrity_window_start, 0, 1) - # 自动补全选项 - self.auto_backfill_check = QCheckBox("更新并验证(自动回补缺失/不一致)") - self.auto_backfill_check.setToolTip("先校验,再自动从 API 回补缺失/不一致数据;可通过 INTEGRITY_RECHECK_AFTER_BACKFILL 控制是否再校验") - integrity_layout.addWidget(self.auto_backfill_check) + window_layout.addWidget(QLabel("结束时间:"), 1, 0) + self.integrity_window_end = QDateTimeEdit() + self.integrity_window_end.setDisplayFormat("yyyy-MM-dd HH:mm:ss") + self.integrity_window_end.setCalendarPopup(True) + self.integrity_window_end.setDateTime(QDateTime.currentDateTime()) + window_layout.addWidget(self.integrity_window_end, 1, 1) - # 指定 ODS 任务 - ods_task_layout = QHBoxLayout() - ods_task_layout.addWidget(QLabel("指定任务 (可选):")) + self.window_range_widget.setVisible(False) + integrity_layout.addWidget(self.window_range_widget) + + # 校验选项分组 + int_options_group = QGroupBox("校验选项") + int_options_layout = QVBoxLayout(int_options_group) + int_options_layout.setSpacing(4) + + # 第一行选项 + int_opt_row1 = QHBoxLayout() + self.integrity_include_dimensions = QCheckBox("包含维度表") + self.integrity_include_dimensions.setToolTip("校验维度类 ODS 任务(如会员档案、商品档案等)") + int_opt_row1.addWidget(self.integrity_include_dimensions) + + self.integrity_compare_content = QCheckBox("对比内容") + self.integrity_compare_content.setChecked(True) + self.integrity_compare_content.setToolTip("不仅对比记录数,还对比具体内容是否一致") + int_opt_row1.addWidget(self.integrity_compare_content) + int_opt_row1.addStretch() + int_options_layout.addLayout(int_opt_row1) + + # 第二行选项 + int_opt_row2 = QHBoxLayout() + self.integrity_auto_backfill = QCheckBox("自动补齐缺失数据") + self.integrity_auto_backfill.setToolTip("发现缺失数据后,自动从 API 补充到 ODS") + int_opt_row2.addWidget(self.integrity_auto_backfill) + + self.integrity_backfill_mismatch = QCheckBox("补齐不一致数据") + self.integrity_backfill_mismatch.setToolTip("发现数据不一致时,也进行补齐(需先勾选自动补齐)") + self.integrity_backfill_mismatch.setEnabled(False) + int_opt_row2.addWidget(self.integrity_backfill_mismatch) + int_opt_row2.addStretch() + int_options_layout.addLayout(int_opt_row2) + + # 第三行选项 + int_opt_row3 = QHBoxLayout() + self.integrity_recheck = QCheckBox("补齐后重新校验") + self.integrity_recheck.setChecked(True) + self.integrity_recheck.setToolTip("补齐数据后再执行一次校验,确认数据完整") + self.integrity_recheck.setEnabled(False) + int_opt_row3.addWidget(self.integrity_recheck) + int_opt_row3.addStretch() + int_options_layout.addLayout(int_opt_row3) + + integrity_layout.addWidget(int_options_group) + + # 指定任务 + int_task_layout = QHBoxLayout() + int_task_layout.addWidget(QLabel("指定任务:")) self.integrity_ods_tasks = QLineEdit() - self.integrity_ods_tasks.setPlaceholderText("例: ODS_PAYMENT,ODS_MEMBER (留空=全部)") - ods_task_layout.addWidget(self.integrity_ods_tasks, 1) - integrity_layout.addLayout(ods_task_layout) + self.integrity_ods_tasks.setPlaceholderText("留空=全部,或输入: ODS_PAYMENT,ODS_MEMBER") + int_task_layout.addWidget(self.integrity_ods_tasks, 1) + integrity_layout.addLayout(int_task_layout) # 操作按钮 int_btn_layout = QHBoxLayout() int_btn_layout.addStretch() - - self.integrity_run_btn = QPushButton("立即执行一次") - self.integrity_run_btn.setToolTip("添加到任务队列并立即执行") + self.integrity_run_btn = QPushButton("开始校验") + self.integrity_run_btn.setToolTip("添加到任务队列并执行校验") int_btn_layout.addWidget(self.integrity_run_btn) - - self.integrity_schedule_btn = QPushButton("创建调度任务") - self.integrity_schedule_btn.setToolTip("添加到定时调度中,可设置执行周期") + self.integrity_schedule_btn = QPushButton("创建调度") + self.integrity_schedule_btn.setProperty("secondary", True) int_btn_layout.addWidget(self.integrity_schedule_btn) - integrity_layout.addLayout(int_btn_layout) layout.addWidget(integrity_group) @@ -382,6 +454,23 @@ class TaskPanel(QWidget): scroll_area.setWidget(widget) return scroll_area + def _on_reload_include_dimensions_changed(self, state): + """全量重刷的"包含维度表"选项变化""" + include = state == Qt.Checked + # 更新任务选择器的默认维度选择 + if include: + # 选中维度类任务 + current_codes = self.reload_task_selector.get_selected_codes() + dim_codes = get_dimension_ods_task_codes() + all_codes = list(set(current_codes) | set(dim_codes)) + self.reload_task_selector.set_selected_codes(all_codes) + else: + # 取消选中维度类任务 + current_codes = self.reload_task_selector.get_selected_codes() + dim_codes = set(get_dimension_ods_task_codes()) + fact_codes = [c for c in current_codes if c not in dim_codes] + self.reload_task_selector.set_selected_codes(fact_codes) + def _create_advanced_config_tab(self) -> QWidget: """创建高级配置选项卡""" scroll_area = QScrollArea() @@ -551,41 +640,70 @@ class TaskPanel(QWidget): self.stop_btn.clicked.connect(self._stop_task) self.add_to_queue_btn.clicked.connect(self._add_task_to_queue) - # 快捷操作 - 自动更新 - self.auto_update_run_btn.clicked.connect(self._run_auto_update_now) - self.auto_update_schedule_btn.clicked.connect(self._create_auto_update_schedule) - self.auto_update_select_all_btn.clicked.connect(self._auto_update_select_all) - self.auto_update_deselect_all_btn.clicked.connect(self._auto_update_deselect_all) + # ====== 快捷操作 - 日常增量同步 ====== + self.sync_run_btn.clicked.connect(self._run_daily_sync) + self.sync_schedule_btn.clicked.connect(self._create_sync_schedule) - # 快捷操作 - 数据校验 - self.integrity_run_btn.clicked.connect(self._run_integrity_check_now) + # ====== 快捷操作 - 全量重刷 ====== + self.reload_run_btn.clicked.connect(self._run_full_reload) + + # ====== 快捷操作 - 数据校验 ====== + self.integrity_run_btn.clicked.connect(self._run_integrity_check) self.integrity_schedule_btn.clicked.connect(self._create_integrity_schedule) self.integrity_mode_combo.currentIndexChanged.connect(self._on_integrity_mode_changed) + # 校验选项联动 + self.integrity_auto_backfill.stateChanged.connect(self._on_backfill_option_changed) - # 保存设置的信号连接 - self.auto_update_hours.valueChanged.connect(self._save_auto_update_settings) - self.overlap_seconds.valueChanged.connect(self._save_auto_update_settings) - self.include_dwd_check.stateChanged.connect(self._save_auto_update_settings) - self.auto_verify_check.stateChanged.connect(self._save_auto_update_settings) + # ====== 保存设置的信号连接 ====== + # 日常同步设置 + self.sync_hours.valueChanged.connect(self._save_sync_settings) + self.sync_hours.valueChanged.connect(self._update_sync_time_preview) + self.sync_overlap.valueChanged.connect(self._save_sync_settings) + self.sync_overlap.valueChanged.connect(self._update_sync_time_preview) + self.sync_include_dwd.stateChanged.connect(self._save_sync_settings) + self.sync_auto_verify.stateChanged.connect(self._save_sync_settings) + self.sync_task_selector.selection_changed.connect(self._save_sync_settings) + + # 全量重刷设置 + self.reload_start.dateTimeChanged.connect(self._save_reload_settings) + self.reload_end.dateTimeChanged.connect(self._save_reload_settings) + self.reload_split_combo.currentIndexChanged.connect(self._save_reload_settings) + self.reload_include_dwd.stateChanged.connect(self._save_reload_settings) + + # 数据校验设置 self.integrity_mode_combo.currentIndexChanged.connect(self._save_integrity_settings) self.integrity_start_date.dateTimeChanged.connect(self._save_integrity_settings) self.integrity_end_date.dateTimeChanged.connect(self._save_integrity_settings) - self.integrity_hours.valueChanged.connect(self._save_integrity_settings) - self.include_dimensions_check.stateChanged.connect(self._save_integrity_settings) - self.auto_backfill_check.stateChanged.connect(self._save_integrity_settings) + self.integrity_include_dimensions.stateChanged.connect(self._save_integrity_settings) + self.integrity_compare_content.stateChanged.connect(self._save_integrity_settings) + self.integrity_auto_backfill.stateChanged.connect(self._save_integrity_settings) + self.integrity_backfill_mismatch.stateChanged.connect(self._save_integrity_settings) + self.integrity_recheck.stateChanged.connect(self._save_integrity_settings) self.integrity_ods_tasks.textChanged.connect(self._save_integrity_settings) + + # 高级设置 self.pipeline_flow_combo.currentIndexChanged.connect(self._save_advanced_settings) self.dry_run_check.stateChanged.connect(self._save_advanced_settings) self.window_split_combo.currentIndexChanged.connect(self._save_advanced_settings) self.window_compensation_spin.valueChanged.connect(self._save_advanced_settings) + def _on_backfill_option_changed(self, state): + """自动补齐选项变化时,联动其他选项""" + enabled = state == Qt.Checked + self.integrity_backfill_mismatch.setEnabled(enabled) + self.integrity_recheck.setEnabled(enabled) + if not enabled: + self.integrity_backfill_mismatch.setChecked(False) + self.integrity_recheck.setChecked(True) + def refresh_tasks(self): """刷新任务列表""" self.task_list.clear() current_category = self.category_combo.currentData() - for code, name, desc in ALL_TASKS: + # 从任务注册表动态获取任务列表 + for code, name, desc in _get_all_tasks(): category = get_task_category(code) # 应用分类过滤 @@ -752,51 +870,33 @@ class TaskPanel(QWidget): """校验模式变化""" mode = self.integrity_mode_combo.currentData() self.history_range_widget.setVisible(mode == "history") - self.recent_range_widget.setVisible(mode == "recent") + self.window_range_widget.setVisible(mode == "window") - def _auto_update_select_all(self): - """自动更新任务列表全选""" - self.auto_update_tasks_list.selectAll() - self._save_auto_update_settings() - - def _auto_update_deselect_all(self): - """自动更新任务列表全不选""" - self.auto_update_tasks_list.clearSelection() - self._save_auto_update_settings() - - def _get_auto_update_tasks(self) -> list: - """获取自动更新选中的任务""" - selected_tasks = [] - for i in range(self.auto_update_tasks_list.count()): - item = self.auto_update_tasks_list.item(i) - if item.isSelected(): - selected_tasks.append(item.text()) + def _update_sync_time_preview(self): + """更新日常同步的时间范围预览(精确到秒)""" + now = datetime.now() + hours = self.sync_hours.value() + overlap = self.sync_overlap.value() + start_time = now - timedelta(hours=hours, seconds=overlap) - if self.include_dwd_check.isChecked(): - selected_tasks.append("DWD_LOAD_FROM_ODS") - - return selected_tasks + start_str = start_time.strftime("%Y-%m-%d %H:%M:%S") + end_str = now.strftime("%Y-%m-%d %H:%M:%S") + self.sync_time_preview.setText(f"时间窗口: {start_str} ~ {end_str}") - def _get_auto_update_config(self) -> dict: - """获取自动更新配置""" - return { - "pipeline_flow": "FULL", - "lookback_hours": self.auto_update_hours.value(), - "overlap_seconds": self.overlap_seconds.value(), - } + # ==================== 日常增量同步 ==================== - def _run_auto_update_now(self): - """立即执行自动更新(添加到队列)""" - selected_tasks = self._get_auto_update_tasks() + def _run_daily_sync(self): + """执行日常增量同步""" + selected_tasks = self.sync_task_selector.get_selected_codes() if not selected_tasks: - QMessageBox.warning(self, "提示", "请至少选择一个任务") + QMessageBox.warning(self, "提示", "请至少选择一个 ODS 任务") return - hours = self.auto_update_hours.value() - overlap = self.overlap_seconds.value() - include_dwd = self.include_dwd_check.isChecked() - auto_verify = self.auto_verify_check.isChecked() + hours = self.sync_hours.value() + overlap = self.sync_overlap.value() + include_dwd = self.sync_include_dwd.isChecked() + auto_verify = self.sync_auto_verify.isChecked() now = datetime.now() start_time = now - timedelta(hours=hours, seconds=overlap) @@ -805,18 +905,18 @@ class TaskPanel(QWidget): all_tasks = selected_tasks.copy() # 添加 DWD 装载 - if include_dwd and "DWD_LOAD_FROM_ODS" not in all_tasks: + if include_dwd: all_tasks.append("DWD_LOAD_FROM_ODS") # 添加数据校验 - if auto_verify and "DATA_INTEGRITY_CHECK" not in all_tasks: + if auto_verify: all_tasks.append("DATA_INTEGRITY_CHECK") - # 构建环境变量(用于校验任务) + # 构建环境变量 env_vars = {} if auto_verify: env_vars["INTEGRITY_MODE"] = "window" - env_vars["INTEGRITY_AUTO_BACKFILL"] = "1" # 自动补全丢失数据 + env_vars["INTEGRITY_AUTO_BACKFILL"] = "1" config = TaskConfig( tasks=all_tasks, @@ -831,7 +931,7 @@ class TaskPanel(QWidget): self.cli_preview.setPlainText(cmd_str) # 构建任务描述 - desc_parts = [f"自动更新 ({hours}h)"] + desc_parts = [f"增量同步 ({hours}h)"] if include_dwd: desc_parts.append("+ DWD") if auto_verify: @@ -841,43 +941,131 @@ class TaskPanel(QWidget): # 发送信号添加到队列 self.add_to_queue.emit(config) self.log_message.emit(f"[GUI] 已添加到任务队列: {task_desc}") - QMessageBox.information(self, "提示", f"已添加到任务队列\n\n任务: {task_desc}\n包含: {len(all_tasks)} 个任务\n\n请切换到「任务管理」查看和执行") + QMessageBox.information( + self, "提示", + f"已添加到任务队列\n\n" + f"任务: {task_desc}\n" + f"ODS 任务数: {len(selected_tasks)}\n" + f"总任务数: {len(all_tasks)}\n\n" + f"请切换到「任务管理」查看和执行" + ) - def _create_auto_update_schedule(self): - """创建自动更新的调度任务""" - selected_tasks = self._get_auto_update_tasks() + def _create_sync_schedule(self): + """创建日常同步调度任务""" + selected_tasks = self.sync_task_selector.get_selected_codes() if not selected_tasks: - QMessageBox.warning(self, "提示", "请至少选择一个任务") + QMessageBox.warning(self, "提示", "请至少选择一个 ODS 任务") return - hours = self.auto_update_hours.value() - task_config = self._get_auto_update_config() + hours = self.sync_hours.value() + include_dwd = self.sync_include_dwd.isChecked() + + # 构建任务列表 + all_tasks = selected_tasks.copy() + if include_dwd: + all_tasks.append("DWD_LOAD_FROM_ODS") + + task_config = { + "pipeline_flow": "FULL", + "lookback_hours": hours, + "overlap_seconds": self.sync_overlap.value(), + } # 发送信号创建调度任务 self.create_schedule.emit( - f"自动更新 ({hours}h)", - selected_tasks, + f"日常同步 ({hours}h)", + all_tasks, task_config ) - self.log_message.emit(f"[GUI] 创建调度任务: 自动更新 ({hours}h)") + self.log_message.emit(f"[GUI] 创建调度任务: 日常同步 ({hours}h)") + + # ==================== 全量重刷 ==================== + + def _run_full_reload(self): + """执行全量重刷""" + selected_tasks = self.reload_task_selector.get_selected_codes() + + if not selected_tasks: + QMessageBox.warning(self, "提示", "请至少选择一个 ODS 任务") + return + + start_dt = self.reload_start.dateTime().toPython() + end_dt = self.reload_end.dateTime().toPython() + + if start_dt >= end_dt: + QMessageBox.warning(self, "提示", "开始时间必须早于结束时间") + return + + include_dwd = self.reload_include_dwd.isChecked() + split_unit = self.reload_split_combo.currentData() + + # 构建完整任务列表 + all_tasks = selected_tasks.copy() + if include_dwd: + all_tasks.append("DWD_LOAD_FROM_ODS") + + # 构建环境变量 + env_vars = {} + if split_unit and split_unit != "none": + env_vars["WINDOW_SPLIT_UNIT"] = split_unit + + config = TaskConfig( + tasks=all_tasks, + pipeline_flow="FULL", + window_start=start_dt.strftime("%Y-%m-%d %H:%M:%S"), + window_end=end_dt.strftime("%Y-%m-%d %H:%M:%S"), + env_vars=env_vars, + ) + + # 更新预览 + cmd_str = self.cli_builder.build_command_string(config) + self.cli_preview.setPlainText(cmd_str) + + # 计算时间跨度 + duration = end_dt - start_dt + days = duration.days + + # 构建任务描述 + desc = f"全量重刷 ({days}天)" + if include_dwd: + desc += " + DWD" + + # 发送信号添加到队列 + self.add_to_queue.emit(config) + self.log_message.emit(f"[GUI] 已添加到任务队列: {desc}") + QMessageBox.information( + self, "提示", + f"已添加到任务队列\n\n" + f"任务: {desc}\n" + f"时间窗口: {start_dt.strftime('%Y-%m-%d %H:%M')} ~ {end_dt.strftime('%Y-%m-%d %H:%M')}\n" + f"ODS 任务数: {len(selected_tasks)}\n" + f"窗口切分: {split_unit if split_unit != 'none' else '不切分'}\n\n" + f"请切换到「任务管理」查看和执行" + ) + + # ==================== 数据校验 ==================== def _get_integrity_config(self) -> dict: """获取数据校验配置""" mode = self.integrity_mode_combo.currentData() config = { - "pipeline_flow": "INGEST_ONLY", + "pipeline_flow": "FULL", "integrity_mode": mode, - "integrity_include_dimensions": self.include_dimensions_check.isChecked(), - "integrity_auto_backfill": self.auto_backfill_check.isChecked(), + "integrity_include_dimensions": self.integrity_include_dimensions.isChecked(), + "integrity_compare_content": self.integrity_compare_content.isChecked(), + "integrity_auto_backfill": self.integrity_auto_backfill.isChecked(), + "integrity_backfill_mismatch": self.integrity_backfill_mismatch.isChecked(), + "integrity_recheck": self.integrity_recheck.isChecked(), } if mode == "history": config["integrity_history_start"] = self.integrity_start_date.dateTime().toString("yyyy-MM-dd") config["integrity_history_end"] = self.integrity_end_date.dateTime().toString("yyyy-MM-dd") else: - config["lookback_hours"] = self.integrity_hours.value() + config["window_start"] = self.integrity_window_start.dateTime().toPython().strftime("%Y-%m-%d %H:%M:%S") + config["window_end"] = self.integrity_window_end.dateTime().toPython().strftime("%Y-%m-%d %H:%M:%S") ods_tasks = self.integrity_ods_tasks.text().strip() if ods_tasks: @@ -885,45 +1073,57 @@ class TaskPanel(QWidget): return config - def _run_integrity_check_now(self): - """立即执行数据校验(添加到队列)""" + def _run_integrity_check(self): + """执行数据完整性校验""" mode = self.integrity_mode_combo.currentData() int_config = self._get_integrity_config() - # 通过环境变量传递 integrity 配置(CLI 不支持这些参数) + # 构建环境变量 env_vars = { "INTEGRITY_MODE": int_config.get("integrity_mode", "history"), "INTEGRITY_INCLUDE_DIMENSIONS": "1" if int_config.get("integrity_include_dimensions") else "0", + "INTEGRITY_COMPARE_CONTENT": "1" if int_config.get("integrity_compare_content") else "0", "INTEGRITY_AUTO_BACKFILL": "1" if int_config.get("integrity_auto_backfill") else "0", + "INTEGRITY_BACKFILL_MISMATCH": "1" if int_config.get("integrity_backfill_mismatch") else "0", + "INTEGRITY_RECHECK_AFTER_BACKFILL": "1" if int_config.get("integrity_recheck") else "0", } + window_start = None + window_end = None + if mode == "history": env_vars["INTEGRITY_HISTORY_START"] = int_config.get("integrity_history_start") env_vars["INTEGRITY_HISTORY_END"] = int_config.get("integrity_history_end") desc = f"数据校验 ({int_config.get('integrity_history_start')} ~ {int_config.get('integrity_history_end')})" else: - hours = int_config.get("lookback_hours", 24) - now = datetime.now() - start_time = now - timedelta(hours=hours) - env_vars["INTEGRITY_HISTORY_START"] = start_time.strftime("%Y-%m-%d") - env_vars["INTEGRITY_HISTORY_END"] = now.strftime("%Y-%m-%d") - desc = f"数据校验 (最近 {hours}h)" + window_start = int_config.get("window_start") + window_end = int_config.get("window_end") + desc = f"数据校验 ({window_start} ~ {window_end})" if int_config.get("integrity_ods_task_codes"): env_vars["INTEGRITY_ODS_TASK_CODES"] = int_config.get("integrity_ods_task_codes") + # 构建描述 + options = [] + if int_config.get("integrity_include_dimensions"): + options.append("含维度") if int_config.get("integrity_auto_backfill"): - desc += " + 自动补全" + options.append("自动补齐") + if options: + desc += " [" + ", ".join(options) + "]" config = TaskConfig( tasks=["DATA_INTEGRITY_CHECK"], - pipeline_flow="FULL", # 使用 FULL 因为需要 DB 连接 + pipeline_flow="FULL", + window_start=window_start, + window_end=window_end, env_vars=env_vars, ) # 更新预览 cmd_str = self.cli_builder.build_command_string(config) - self.cli_preview.setPlainText(cmd_str + f"\n\n# 环境变量:\n" + "\n".join(f"# {k}={v}" for k, v in env_vars.items())) + env_preview = "\n".join(f"# {k}={v}" for k, v in env_vars.items()) + self.cli_preview.setPlainText(f"{cmd_str}\n\n# 环境变量:\n{env_preview}") # 发送信号添加到队列 self.add_to_queue.emit(config) @@ -931,15 +1131,14 @@ class TaskPanel(QWidget): QMessageBox.information(self, "提示", f"已添加到任务队列\n\n任务: {desc}\n\n请切换到「任务管理」查看和执行") def _create_integrity_schedule(self): - """创建数据校验的调度任务""" + """创建数据校验调度任务""" mode = self.integrity_mode_combo.currentData() task_config = self._get_integrity_config() if mode == "history": desc = f"数据校验 ({task_config.get('integrity_history_start')} ~ {task_config.get('integrity_history_end')})" else: - hours = task_config.get("lookback_hours", 24) - desc = f"数据校验 (最近 {hours}h)" + desc = "数据校验 (窗口模式)" # 发送信号创建调度任务 self.create_schedule.emit( @@ -954,26 +1153,29 @@ class TaskPanel(QWidget): def _load_settings(self): """从持久化存储加载设置""" try: - # 加载自动更新设置 - self.auto_update_hours.setValue(app_settings.auto_update_hours) - self.overlap_seconds.setValue(app_settings.auto_update_overlap_seconds) - self.include_dwd_check.setChecked(app_settings.auto_update_include_dwd) - self.auto_verify_check.setChecked(app_settings.auto_update_auto_verify) + # 加载日常同步设置 + if hasattr(app_settings, 'sync_hours'): + self.sync_hours.setValue(app_settings.sync_hours) + if hasattr(app_settings, 'sync_overlap'): + self.sync_overlap.setValue(app_settings.sync_overlap) + if hasattr(app_settings, 'sync_include_dwd'): + self.sync_include_dwd.setChecked(app_settings.sync_include_dwd) + if hasattr(app_settings, 'sync_auto_verify'): + self.sync_auto_verify.setChecked(app_settings.sync_auto_verify) - # 恢复自动更新任务选择 - saved_tasks = app_settings.auto_update_selected_tasks - if saved_tasks: - for i in range(self.auto_update_tasks_list.count()): - item = self.auto_update_tasks_list.item(i) - item.setSelected(item.text() in saved_tasks) + # 恢复日常同步任务选择 + if hasattr(app_settings, 'sync_selected_tasks'): + saved_tasks = app_settings.sync_selected_tasks + if saved_tasks: + self.sync_task_selector.set_selected_codes(saved_tasks) # 加载数据校验设置 - mode = app_settings.integrity_mode + mode = getattr(app_settings, 'integrity_mode', 'history') mode_index = 0 if mode == "history" else 1 self.integrity_mode_combo.setCurrentIndex(mode_index) # 历史日期 - if app_settings.integrity_history_start: + if hasattr(app_settings, 'integrity_history_start') and app_settings.integrity_history_start: try: start_date = QDateTime.fromString(app_settings.integrity_history_start, "yyyy-MM-dd") if start_date.isValid(): @@ -981,7 +1183,7 @@ class TaskPanel(QWidget): except Exception: pass - if app_settings.integrity_history_end: + if hasattr(app_settings, 'integrity_history_end') and app_settings.integrity_history_end: try: end_date = QDateTime.fromString(app_settings.integrity_history_end, "yyyy-MM-dd") if end_date.isValid(): @@ -989,49 +1191,60 @@ class TaskPanel(QWidget): except Exception: pass - self.integrity_hours.setValue(app_settings.integrity_lookback_hours) - self.include_dimensions_check.setChecked(app_settings.integrity_include_dimensions) - self.auto_backfill_check.setChecked(app_settings.integrity_auto_backfill) - self.integrity_ods_tasks.setText(app_settings.integrity_ods_tasks) + if hasattr(app_settings, 'integrity_include_dimensions'): + self.integrity_include_dimensions.setChecked(app_settings.integrity_include_dimensions) + if hasattr(app_settings, 'integrity_compare_content'): + self.integrity_compare_content.setChecked(app_settings.integrity_compare_content) + if hasattr(app_settings, 'integrity_auto_backfill'): + self.integrity_auto_backfill.setChecked(app_settings.integrity_auto_backfill) + if hasattr(app_settings, 'integrity_ods_tasks'): + self.integrity_ods_tasks.setText(app_settings.integrity_ods_tasks) # 加载高级设置 - pipeline_flow = app_settings.advanced_pipeline_flow + pipeline_flow = getattr(app_settings, 'advanced_pipeline_flow', 'FULL') flow_map = {"FULL": 0, "FETCH_ONLY": 1, "INGEST_ONLY": 2} self.pipeline_flow_combo.setCurrentIndex(flow_map.get(pipeline_flow, 0)) - self.dry_run_check.setChecked(app_settings.advanced_dry_run) - self.window_start_edit.setText(app_settings.advanced_window_start) - self.window_end_edit.setText(app_settings.advanced_window_end) - self.ingest_source_edit.setText(app_settings.advanced_ingest_source) + + if hasattr(app_settings, 'advanced_dry_run'): + self.dry_run_check.setChecked(app_settings.advanced_dry_run) + if hasattr(app_settings, 'advanced_window_start'): + self.window_start_edit.setText(app_settings.advanced_window_start) + if hasattr(app_settings, 'advanced_window_end'): + self.window_end_edit.setText(app_settings.advanced_window_end) + if hasattr(app_settings, 'advanced_ingest_source'): + self.ingest_source_edit.setText(app_settings.advanced_ingest_source) # 加载窗口切分设置 - split_map = {"none": 0, "month": 1} - self.window_split_combo.setCurrentIndex(split_map.get(app_settings.advanced_window_split, 0)) - self.window_compensation_spin.setValue(app_settings.advanced_window_compensation) + split_map = {"none": 0, "day": 1, "week": 2, "month": 3} + if hasattr(app_settings, 'advanced_window_split'): + self.window_split_combo.setCurrentIndex(split_map.get(app_settings.advanced_window_split, 0)) + if hasattr(app_settings, 'advanced_window_compensation'): + self.window_compensation_spin.setValue(app_settings.advanced_window_compensation) # 更新 UI 状态 self._on_integrity_mode_changed(mode_index) except Exception as e: - # 加载失败时不影响程序运行 print(f"加载设置失败: {e}") - def _save_auto_update_settings(self): - """保存自动更新设置""" + def _save_sync_settings(self): + """保存日常同步设置""" try: - app_settings.auto_update_hours = self.auto_update_hours.value() - app_settings.auto_update_overlap_seconds = self.overlap_seconds.value() - app_settings.auto_update_include_dwd = self.include_dwd_check.isChecked() - app_settings.auto_update_auto_verify = self.auto_verify_check.isChecked() - - # 保存选中的任务 - selected_tasks = [] - for i in range(self.auto_update_tasks_list.count()): - item = self.auto_update_tasks_list.item(i) - if item.isSelected(): - selected_tasks.append(item.text()) - app_settings.auto_update_selected_tasks = selected_tasks + app_settings.sync_hours = self.sync_hours.value() + app_settings.sync_overlap = self.sync_overlap.value() + app_settings.sync_include_dwd = self.sync_include_dwd.isChecked() + app_settings.sync_auto_verify = self.sync_auto_verify.isChecked() + app_settings.sync_selected_tasks = self.sync_task_selector.get_selected_codes() except Exception as e: - print(f"保存自动更新设置失败: {e}") + print(f"保存日常同步设置失败: {e}") + + def _save_reload_settings(self): + """保存全量重刷设置""" + try: + app_settings.reload_split = self.reload_split_combo.currentData() or "none" + app_settings.reload_include_dwd = self.reload_include_dwd.isChecked() + except Exception as e: + print(f"保存全量重刷设置失败: {e}") def _save_integrity_settings(self): """保存数据校验设置""" @@ -1040,9 +1253,9 @@ class TaskPanel(QWidget): app_settings.integrity_mode = mode or "history" app_settings.integrity_history_start = self.integrity_start_date.dateTime().toString("yyyy-MM-dd") app_settings.integrity_history_end = self.integrity_end_date.dateTime().toString("yyyy-MM-dd") - app_settings.integrity_lookback_hours = self.integrity_hours.value() - app_settings.integrity_include_dimensions = self.include_dimensions_check.isChecked() - app_settings.integrity_auto_backfill = self.auto_backfill_check.isChecked() + app_settings.integrity_include_dimensions = self.integrity_include_dimensions.isChecked() + app_settings.integrity_compare_content = self.integrity_compare_content.isChecked() + app_settings.integrity_auto_backfill = self.integrity_auto_backfill.isChecked() app_settings.integrity_ods_tasks = self.integrity_ods_tasks.text().strip() except Exception as e: print(f"保存数据校验设置失败: {e}") diff --git a/etl_billiards/gui/widgets/task_selector.py b/etl_billiards/gui/widgets/task_selector.py new file mode 100644 index 0000000..6742449 --- /dev/null +++ b/etl_billiards/gui/widgets/task_selector.py @@ -0,0 +1,398 @@ +# -*- coding: utf-8 -*- +"""可复用的 ODS 任务选择组件:按业务域分组显示,支持全选/反选。""" + +from typing import Dict, List, Optional, Set + +from PySide6.QtWidgets import ( + QWidget, QVBoxLayout, QHBoxLayout, QGroupBox, + QCheckBox, QPushButton, QScrollArea, QFrame, + QLabel, QSizePolicy +) +from PySide6.QtCore import Signal, Qt + +from ..models.task_registry import ( + TaskRegistry, TaskDefinition, BusinessDomain, DOMAIN_LABELS, + task_registry, get_fact_ods_task_codes, get_dimension_ods_task_codes +) + + +class TaskSelectorWidget(QWidget): + """ODS 任务选择组件:按业务域分组显示""" + + # 选择变化信号 + selection_changed = Signal(list) # 选中的任务编码列表 + + def __init__( + self, + parent: Optional[QWidget] = None, + show_dimensions: bool = True, + show_facts: bool = True, + default_select_facts: bool = True, + default_select_dimensions: bool = False, + compact: bool = False, + max_height: int = 0, + ): + """ + 初始化任务选择器 + + Args: + parent: 父组件 + show_dimensions: 是否显示维度类任务 + show_facts: 是否显示事实类任务 + default_select_facts: 默认选中事实类任务 + default_select_dimensions: 默认选中维度类任务 + compact: 紧凑模式(更小的间距) + max_height: 最大高度(0 表示不限制) + """ + super().__init__(parent) + self.show_dimensions = show_dimensions + self.show_facts = show_facts + self.default_select_facts = default_select_facts + self.default_select_dimensions = default_select_dimensions + self.compact = compact + self.max_height = max_height + + # 任务复选框映射:code -> QCheckBox + self._checkboxes: Dict[str, QCheckBox] = {} + # 业务域分组框映射:domain -> QGroupBox + self._domain_groups: Dict[BusinessDomain, QGroupBox] = {} + + self._init_ui() + self._apply_default_selection() + + def _init_ui(self): + """初始化界面""" + layout = QVBoxLayout(self) + layout.setContentsMargins(0, 0, 0, 0) + spacing = 4 if self.compact else 8 + layout.setSpacing(spacing) + + # 顶部工具栏 + toolbar = QHBoxLayout() + toolbar.setSpacing(8) + + self.select_all_btn = QPushButton("全选") + self.select_all_btn.setProperty("secondary", True) + self.select_all_btn.setFixedWidth(60) + self.select_all_btn.clicked.connect(self._select_all) + toolbar.addWidget(self.select_all_btn) + + self.deselect_all_btn = QPushButton("全不选") + self.deselect_all_btn.setProperty("secondary", True) + self.deselect_all_btn.setFixedWidth(60) + self.deselect_all_btn.clicked.connect(self._deselect_all) + toolbar.addWidget(self.deselect_all_btn) + + self.select_facts_btn = QPushButton("选事实表") + self.select_facts_btn.setProperty("secondary", True) + self.select_facts_btn.setFixedWidth(70) + self.select_facts_btn.setToolTip("选中所有事实类任务(需要时间窗口的任务)") + self.select_facts_btn.clicked.connect(self._select_facts_only) + toolbar.addWidget(self.select_facts_btn) + + toolbar.addStretch() + + self.selected_count_label = QLabel("已选: 0") + self.selected_count_label.setProperty("subheading", True) + toolbar.addWidget(self.selected_count_label) + + layout.addLayout(toolbar) + + # 滚动区域 + scroll_area = QScrollArea() + scroll_area.setWidgetResizable(True) + scroll_area.setFrameShape(QFrame.NoFrame) + if self.max_height > 0: + scroll_area.setMaximumHeight(self.max_height) + + # 内容容器 + content_widget = QWidget() + content_layout = QVBoxLayout(content_widget) + content_layout.setContentsMargins(0, 0, 0, 0) + content_layout.setSpacing(spacing) + + # 按业务域分组创建复选框 + grouped_tasks = task_registry.get_ods_tasks_grouped() + + # 定义业务域显示顺序 + domain_order = [ + BusinessDomain.MEMBER, + BusinessDomain.SETTLEMENT, + BusinessDomain.ASSISTANT, + BusinessDomain.GOODS, + BusinessDomain.TABLE, + BusinessDomain.PROMOTION, + BusinessDomain.INVENTORY, + ] + + for domain in domain_order: + if domain not in grouped_tasks: + continue + + tasks = grouped_tasks[domain] + # 过滤任务 + filtered_tasks = [] + for task in tasks: + if task.is_dimension and not self.show_dimensions: + continue + if not task.is_dimension and not self.show_facts: + continue + filtered_tasks.append(task) + + if not filtered_tasks: + continue + + # 创建业务域分组 + group_box = self._create_domain_group(domain, filtered_tasks) + self._domain_groups[domain] = group_box + content_layout.addWidget(group_box) + + content_layout.addStretch() + scroll_area.setWidget(content_widget) + layout.addWidget(scroll_area, 1) + + def _create_domain_group(self, domain: BusinessDomain, tasks: List[TaskDefinition]) -> QGroupBox: + """创建业务域分组框""" + group_box = QGroupBox(DOMAIN_LABELS.get(domain, str(domain.value))) + group_layout = QVBoxLayout(group_box) + group_layout.setContentsMargins(8, 4, 8, 4) + group_layout.setSpacing(2) + + for task in tasks: + checkbox = QCheckBox(f"{task.name}") + checkbox.setToolTip(f"{task.code}: {task.description}") + checkbox.setProperty("task_code", task.code) + checkbox.setProperty("is_dimension", task.is_dimension) + checkbox.stateChanged.connect(self._on_selection_changed) + + self._checkboxes[task.code] = checkbox + group_layout.addWidget(checkbox) + + return group_box + + def _apply_default_selection(self): + """应用默认选择""" + for code, checkbox in self._checkboxes.items(): + is_dimension = checkbox.property("is_dimension") + if is_dimension: + checkbox.setChecked(self.default_select_dimensions) + else: + checkbox.setChecked(self.default_select_facts) + + self._update_count_label() + + def _on_selection_changed(self): + """选择变化时""" + self._update_count_label() + self.selection_changed.emit(self.get_selected_codes()) + + def _update_count_label(self): + """更新选中计数标签""" + count = len(self.get_selected_codes()) + total = len(self._checkboxes) + self.selected_count_label.setText(f"已选: {count}/{total}") + + def _select_all(self): + """全选""" + for checkbox in self._checkboxes.values(): + checkbox.blockSignals(True) + checkbox.setChecked(True) + checkbox.blockSignals(False) + self._on_selection_changed() + + def _deselect_all(self): + """全不选""" + for checkbox in self._checkboxes.values(): + checkbox.blockSignals(True) + checkbox.setChecked(False) + checkbox.blockSignals(False) + self._on_selection_changed() + + def _select_facts_only(self): + """只选事实表任务""" + for code, checkbox in self._checkboxes.items(): + checkbox.blockSignals(True) + is_dimension = checkbox.property("is_dimension") + checkbox.setChecked(not is_dimension) + checkbox.blockSignals(False) + self._on_selection_changed() + + def get_selected_codes(self) -> List[str]: + """获取选中的任务编码列表""" + selected = [] + for code, checkbox in self._checkboxes.items(): + if checkbox.isChecked(): + selected.append(code) + return selected + + def set_selected_codes(self, codes: List[str]): + """设置选中的任务编码""" + codes_set = set(codes) + for code, checkbox in self._checkboxes.items(): + checkbox.blockSignals(True) + checkbox.setChecked(code in codes_set) + checkbox.blockSignals(False) + self._on_selection_changed() + + def get_all_codes(self) -> List[str]: + """获取所有任务编码""" + return list(self._checkboxes.keys()) + + def is_any_selected(self) -> bool: + """是否有任何任务被选中""" + return len(self.get_selected_codes()) > 0 + + +class CompactTaskSelector(QWidget): + """紧凑型任务选择器:单行显示业务域,点击展开选择""" + + selection_changed = Signal(list) + + def __init__( + self, + parent: Optional[QWidget] = None, + show_dimensions: bool = True, + show_facts: bool = True, + default_select_facts: bool = True, + default_select_dimensions: bool = False, + ): + super().__init__(parent) + self.show_dimensions = show_dimensions + self.show_facts = show_facts + self.default_select_facts = default_select_facts + self.default_select_dimensions = default_select_dimensions + + # 业务域复选框 + self._domain_checkboxes: Dict[BusinessDomain, QCheckBox] = {} + # 业务域下的任务编码 + self._domain_tasks: Dict[BusinessDomain, List[str]] = {} + + self._init_ui() + self._apply_default_selection() + + def _init_ui(self): + """初始化界面""" + layout = QVBoxLayout(self) + layout.setContentsMargins(0, 0, 0, 0) + layout.setSpacing(4) + + # 工具栏 + toolbar = QHBoxLayout() + toolbar.setSpacing(8) + + self.select_all_btn = QPushButton("全选") + self.select_all_btn.setProperty("secondary", True) + self.select_all_btn.setFixedWidth(50) + self.select_all_btn.clicked.connect(self._select_all) + toolbar.addWidget(self.select_all_btn) + + self.deselect_all_btn = QPushButton("清空") + self.deselect_all_btn.setProperty("secondary", True) + self.deselect_all_btn.setFixedWidth(50) + self.deselect_all_btn.clicked.connect(self._deselect_all) + toolbar.addWidget(self.deselect_all_btn) + + toolbar.addStretch() + + self.count_label = QLabel("已选: 0") + self.count_label.setProperty("subheading", True) + toolbar.addWidget(self.count_label) + + layout.addLayout(toolbar) + + # 业务域复选框(横向排列) + domains_layout = QHBoxLayout() + domains_layout.setSpacing(12) + + grouped_tasks = task_registry.get_ods_tasks_grouped() + domain_order = [ + BusinessDomain.MEMBER, + BusinessDomain.SETTLEMENT, + BusinessDomain.ASSISTANT, + BusinessDomain.GOODS, + BusinessDomain.TABLE, + BusinessDomain.PROMOTION, + BusinessDomain.INVENTORY, + ] + + for domain in domain_order: + if domain not in grouped_tasks: + continue + + tasks = grouped_tasks[domain] + # 过滤任务 + task_codes = [] + for task in tasks: + if task.is_dimension and not self.show_dimensions: + continue + if not task.is_dimension and not self.show_facts: + continue + task_codes.append(task.code) + + if not task_codes: + continue + + self._domain_tasks[domain] = task_codes + + checkbox = QCheckBox(DOMAIN_LABELS.get(domain, str(domain.value))) + checkbox.setToolTip(f"包含: {', '.join(task_codes)}") + checkbox.stateChanged.connect(self._on_selection_changed) + self._domain_checkboxes[domain] = checkbox + domains_layout.addWidget(checkbox) + + domains_layout.addStretch() + layout.addLayout(domains_layout) + + def _apply_default_selection(self): + """应用默认选择""" + # 默认选中所有业务域 + for domain, checkbox in self._domain_checkboxes.items(): + checkbox.setChecked(True) + self._update_count_label() + + def _on_selection_changed(self): + """选择变化时""" + self._update_count_label() + self.selection_changed.emit(self.get_selected_codes()) + + def _update_count_label(self): + """更新计数标签""" + count = len(self.get_selected_codes()) + self.count_label.setText(f"已选: {count} 个任务") + + def _select_all(self): + """全选所有业务域""" + for checkbox in self._domain_checkboxes.values(): + checkbox.blockSignals(True) + checkbox.setChecked(True) + checkbox.blockSignals(False) + self._on_selection_changed() + + def _deselect_all(self): + """取消全选""" + for checkbox in self._domain_checkboxes.values(): + checkbox.blockSignals(True) + checkbox.setChecked(False) + checkbox.blockSignals(False) + self._on_selection_changed() + + def get_selected_codes(self) -> List[str]: + """获取选中的任务编码""" + selected = [] + for domain, checkbox in self._domain_checkboxes.items(): + if checkbox.isChecked(): + selected.extend(self._domain_tasks.get(domain, [])) + return selected + + def set_selected_domains(self, domains: List[BusinessDomain]): + """设置选中的业务域""" + domains_set = set(domains) + for domain, checkbox in self._domain_checkboxes.items(): + checkbox.blockSignals(True) + checkbox.setChecked(domain in domains_set) + checkbox.blockSignals(False) + self._on_selection_changed() + + def is_any_selected(self) -> bool: + """是否有任何任务被选中""" + return len(self.get_selected_codes()) > 0 diff --git a/etl_billiards/gui/workers/task_worker.py b/etl_billiards/gui/workers/task_worker.py index 1432e06..a6d5ebc 100644 --- a/etl_billiards/gui/workers/task_worker.py +++ b/etl_billiards/gui/workers/task_worker.py @@ -189,28 +189,123 @@ class TaskWorker(QThread): # 解析 DWD 装载统计 if 'tables' in stats: - total_processed = 0 - total_inserted = 0 - tables_with_data = [] + + + total_dim_inserted = 0 + + total_dim_updated = 0 + + total_fact_inserted = 0 + + total_fact_updated = 0 + + dim_tables = [] # ????? + + fact_tables = [] # ????? + + + for tbl in stats['tables']: + table_name = tbl.get('table', '').replace('billiards_dwd.', '') - processed = tbl.get('processed', 0) - inserted = tbl.get('inserted', 0) - - if processed > 0: - total_processed += processed - tables_with_data.append(f"{table_name}({processed})") - elif inserted > 0: - total_inserted += inserted - tables_with_data.append(f"{table_name}(+{inserted})") + + mode = tbl.get('mode', '') + + processed = int(tbl.get('processed', 0) or 0) + + inserted = int(tbl.get('inserted', 0) or 0) + + updated = int(tbl.get('updated', 0) or 0) + + has_new_counts = ('inserted' in tbl) or ('updated' in tbl) + - if total_processed > 0 or total_inserted > 0: - dwd_stats.append(f"处理维度: {total_processed}条, 新增事实: {total_inserted}条") - if len(tables_with_data) <= 5: - dwd_stats.append(f"涉及表: {', '.join(tables_with_data)}") + + # ?? _ex ????????? + + if table_name.endswith('_ex'): + + continue + + + + is_dim = table_name.startswith('dim_') or mode == 'SCD2' + + if is_dim: + + if has_new_counts: + + total_dim_inserted += inserted + + total_dim_updated += updated + + if inserted or updated: + + dim_tables.append(f"{table_name}: +{inserted}, ~{updated}") + + elif processed > 0: + + total_dim_updated += processed + + dim_tables.append(f"{table_name}: {processed}") + else: - dwd_stats.append(f"涉及 {len(tables_with_data)} 张表") + + if has_new_counts: + + total_fact_inserted += inserted + + total_fact_updated += updated + + if inserted or updated: + + fact_tables.append(f"{table_name}: +{inserted}, ~{updated}") + + elif processed > 0 or inserted > 0: + + total_fact_inserted += inserted + + if inserted > 0: + + fact_tables.append(f"{table_name}: +{inserted}") + + + + if (total_dim_inserted or total_dim_updated or total_fact_inserted or total_fact_updated): + + dwd_stats.append( + + f"????: {total_dim_inserted}?, ????: {total_dim_updated}?, " + + f"????: {total_fact_inserted}?, ????: {total_fact_updated}?" + + ) + + + + # ??????? + + if dim_tables: + + dwd_stats.append(" ???: " + ", ".join(dim_tables)) + + + + # ??????? + + if fact_tables: + + dwd_stats.append(" ???: " + ", ".join(fact_tables)) + + + + # 解析错误信息 + if 'errors' in stats and stats['errors']: + for err in stats['errors']: + err_table = err.get('table', '').replace('billiards_dwd.', '') + err_msg = err.get('error', '') + errors.append(f"{err_table}: {err_msg}") except Exception: pass continue @@ -263,7 +358,9 @@ class TaskWorker(QThread): summary_parts[-1] += f" 等{len(ods_stats)}项" if dwd_stats: - summary_parts.append("【DWD 装载】" + "; ".join(dwd_stats)) + summary_parts.append("【DWD 装载】" + dwd_stats[0]) # 第一行是汇总 + for detail in dwd_stats[1:]: # 后面是详情 + summary_parts.append(detail) if integrity_stats: total_missing = integrity_stats.get('final_missing', integrity_stats.get('total_missing', 0)) diff --git a/etl_billiards/orchestration/scheduler.py b/etl_billiards/orchestration/scheduler.py index c499a45..1b10389 100644 --- a/etl_billiards/orchestration/scheduler.py +++ b/etl_billiards/orchestration/scheduler.py @@ -357,8 +357,20 @@ class ETLScheduler: try: # 创建任务实例(不需要 API client,使用 None) + api_client = None + if task_code == "ODS_JSON_ARCHIVE": + run_id = int(datetime.now(self.tz).timestamp()) + fetch_dir = self._build_fetch_dir(task_code, run_id) + api_client = RecordingAPIClient( + base_client=self.api_client, + output_dir=fetch_dir, + task_code=task_code, + run_id=run_id, + write_pretty=self.write_pretty_json, + ) + task = self.task_registry.create_task( - task_code, self.config, self.db_ops, None, self.logger + task_code, self.config, self.db_ops, api_client, self.logger ) # 执行任务(工具类任务通常不需要 cursor_data) diff --git a/etl_billiards/reports/data_integrity_window_20260201_175048.json b/etl_billiards/reports/data_integrity_window_20260201_175048.json new file mode 100644 index 0000000..5309db4 --- /dev/null +++ b/etl_billiards/reports/data_integrity_window_20260201_175048.json @@ -0,0 +1,29540 @@ +{ + "mode": "window", + "window": { + "start": "2026-01-30T12:15:21+08:00", + "end": "2026-02-01T21:15:21+08:00", + "segments": 2 + }, + "windows": [ + { + "mode": "window", + "window": { + "start": "2026-01-30T12:15:21+08:00", + "end": "2026-02-01T00:00:00+08:00", + "label": "segment_1", + "granularity": "window" + }, + "api_to_ods": { + "window_split_unit": "none", + "window_compensation_hours": 0, + "start": "2026-01-30T12:15:21+08:00", + "end": "2026-02-01T00:00:00+08:00", + "cutoff": null, + "window_days": 1, + "window_hours": 0, + "page_size": 200, + "chunk_size": 500, + "sample_limit": 50, + "compare_content": true, + "content_sample_limit": 50, + "store_id": 2790685415443269, + "base_url": "https://pc.ficoo.vip/apiprod/admin/v1/", + "results": [ + { + "task_code": "ODS_ASSISTANT_ACCOUNT", + "table": "billiards_ods.assistant_accounts_master", + "endpoint": "/PersonnelManagement/SearchAssistantInfo", + "pk_columns": [ + "id" + ], + "records": 138, + "records_with_pk": 138, + "missing": 0, + "missing_samples": [], + "mismatch": 20, + "mismatch_samples": [ + { + "id": 2964673443302213, + "content_hash": "839d43428c64ce6c9e72181f8a213a9599e899aa3780a92e150d1db1bc6b03ef" + }, + { + "id": 2964641017858885, + "content_hash": "c5582c5d76bfaaff8954787505fab682dec2d203af34505d0b66f814a4f1e081" + }, + { + "id": 2964640248745157, + "content_hash": "f38c42a46c82322fa126601415d1f4473bebe1ab793ae7a50e72e9b73c6da44e" + }, + { + "id": 2861304461364293, + "content_hash": "135f2c9b0ea8f3e4cf942eba0b6b92f51bb74eb13a33053616d263b92bd21f38" + }, + { + "id": 2840060593686213, + "content_hash": "32723eae7cb0db31ceb773ab06283ab87f9b3528038ef5129e0bdec995d4217a" + }, + { + "id": 2793363001774149, + "content_hash": "507ee309e8c665fd10de16651cebe8216ecf71c4b3cd58002168a29bdf4970c6" + }, + { + "id": 2793532503855173, + "content_hash": "eae6d5ef05f293ac397c1657eda72edf1f37778d0ad4ae9755a6b815164b5ec3" + }, + { + "id": 2793530479530053, + "content_hash": "95f02f4a4445b870bcad59065962059e8b8487702eb179d82e81ff2d806a2b37" + }, + { + "id": 2793486361710725, + "content_hash": "7967af1d249db875829659c2e69a21b5002a599208d01d5886e0320489ff0c20" + }, + { + "id": 2793493699088517, + "content_hash": "5e2d697309998601c962d250b0143c8e592e829f77fa9af14b51916c7ca19aab" + }, + { + "id": 2964673443302213, + "content_hash": "839d43428c64ce6c9e72181f8a213a9599e899aa3780a92e150d1db1bc6b03ef" + }, + { + "id": 2964641017858885, + "content_hash": "c5582c5d76bfaaff8954787505fab682dec2d203af34505d0b66f814a4f1e081" + }, + { + "id": 2964640248745157, + "content_hash": "f38c42a46c82322fa126601415d1f4473bebe1ab793ae7a50e72e9b73c6da44e" + }, + { + "id": 2861304461364293, + "content_hash": "135f2c9b0ea8f3e4cf942eba0b6b92f51bb74eb13a33053616d263b92bd21f38" + }, + { + "id": 2840060593686213, + "content_hash": "32723eae7cb0db31ceb773ab06283ab87f9b3528038ef5129e0bdec995d4217a" + }, + { + "id": 2793363001774149, + "content_hash": "507ee309e8c665fd10de16651cebe8216ecf71c4b3cd58002168a29bdf4970c6" + }, + { + "id": 2793532503855173, + "content_hash": "eae6d5ef05f293ac397c1657eda72edf1f37778d0ad4ae9755a6b815164b5ec3" + }, + { + "id": 2793530479530053, + "content_hash": "95f02f4a4445b870bcad59065962059e8b8487702eb179d82e81ff2d806a2b37" + }, + { + "id": 2793486361710725, + "content_hash": "7967af1d249db875829659c2e69a21b5002a599208d01d5886e0320489ff0c20" + }, + { + "id": 2793493699088517, + "content_hash": "5e2d697309998601c962d250b0143c8e592e829f77fa9af14b51916c7ca19aab" + } + ], + "pages": 2, + "skipped_missing_pk": 0, + "errors": 0, + "error_detail": null, + "compare_content": true, + "content_hash_supported": true + }, + { + "task_code": "ODS_SETTLEMENT_RECORDS", + "table": "billiards_ods.settlement_records", + "endpoint": "/Site/GetAllOrderSettleList", + "pk_columns": [ + "id" + ], + "records": 242, + "records_with_pk": 242, + "missing": 0, + "missing_samples": [], + "mismatch": 242, + "mismatch_samples": [ + { + "id": 3074735884420549, + "content_hash": "ac311ebd87ceab3fe1e61da0f669b91378aa58268e214ac8559017070ce9016b" + }, + { + "id": 3074734374913413, + "content_hash": "635283befe6e1bc3dde814eda9c79bfeadc8fb3860a4455f87b095e572b50417" + }, + { + "id": 3074721481328069, + "content_hash": "6d8d51a3327d83fb0116bff3c079b68a3ad8ba90655e9dcf0957e69ae2f60a70" + }, + { + "id": 3074710260024709, + "content_hash": "d5408628e0b99a218b118e0379a03f30a8f040c990704e4c3433401ebf901d9c" + }, + { + "id": 3074705203267013, + "content_hash": "a2e6c9d1a9bdc614f394a93a183670a7fdd29cb3764505229b41b1274156de08" + }, + { + "id": 3074662041306693, + "content_hash": "4f2672a58326b6caadc2fb9cdaeef914d5c6834aa37e21778017462360c79bd8" + }, + { + "id": 3074622094526021, + "content_hash": "f164a13aa0be84110077683da3f65bfee3df98f815665e0987cfa368680d3b93" + }, + { + "id": 3074592053708357, + "content_hash": "6ff5de2fe85fc487c6b5bebb80a28a75ec3b893603c9d5ddb24559f6e876b576" + }, + { + "id": 3074250802857541, + "content_hash": "a0efe9cd2d25642721203359b2e9604774631bbb868bf51e4f6e9a643883c278" + }, + { + "id": 3074199105947205, + "content_hash": "497e73edab5e5c909c62267d53c6da999c8750c20361cd9e38065330a6d62152" + }, + { + "id": 3074178680997445, + "content_hash": "bf81e31fb2ef66a5c9db3795233e123ecab001ebd04fef0224814f4edaf15a80" + }, + { + "id": 3074143018714693, + "content_hash": "26a7b0c659bf75bdefc88cf1fc440e2699b62fff6c5da4941bf39a8b2f5b50d8" + }, + { + "id": 3074142441129349, + "content_hash": "95f46e3e17383ff302a7944ceefee7a697f32916afbb10bf92cf7aa9956b7cc8" + }, + { + "id": 3074130725651845, + "content_hash": "5109c8535fd3b2ca1f494fa03b31596fddbe7cb290d36105a038ce60798f0274" + }, + { + "id": 3074125117064837, + "content_hash": "9b7d10faf70cfb047ebe2e26bcbad4f790529f35b61790e781d0da65ab3c7eab" + }, + { + "id": 3074113906853509, + "content_hash": "a90af0ea080258ae185b27675c346123af6df655a3b76b6cce886e8e10e64ec3" + }, + { + "id": 3074094663992965, + "content_hash": "39ee92c97093ab52ccf3d1a196ec5e204208aa62cb20a9c9a07af61aff3591e2" + }, + { + "id": 3074085902091717, + "content_hash": "2ac91c05c24f9d76a27d198c1481409e8ba9e653b91e0fa65803a320bb6c0faa" + }, + { + "id": 3074085677073989, + "content_hash": "7ba989d11abbd58a4b5cd5c5192acf1c34e61cb7f9f3e9009e6bec45fc37a95c" + }, + { + "id": 3074078111974789, + "content_hash": "90bd8affdce6fbb06a1d87cfcf4d811d5d8bed1294887c344d4c616a4fd09a51" + }, + { + "id": 3074075478246981, + "content_hash": "e034ad8318890fedf3b973446561eaa1063022bcd0a1b628e957aacb5fb9e5e5" + }, + { + "id": 3074068320437637, + "content_hash": "b1bf51817fa667ba202f7169cda0aa35d79f3e1330f0718e47ae923d2eed3f41" + }, + { + "id": 3074065183082117, + "content_hash": "44c5b48b5c3f689ec766f94bd1e3ff3d574db0f633cf3c1a1b519eddb765f393" + }, + { + "id": 3074064074278277, + "content_hash": "993c1f2d9d6f491a2e21f6da7df4fbe729474cca0845761897221e8c3974ac10" + }, + { + "id": 3074063727707781, + "content_hash": "1b61c0d504aba62946c2c2e9059955438014a5a138b837f8e207f5338cc780b9" + }, + { + "id": 3074063358461573, + "content_hash": "a02d260ac6527472bd6efd8bde6719c8c35e223fe439b2d60e039eef7ccde392" + }, + { + "id": 3074062633567621, + "content_hash": "a74e854649cea37c78efe94d00f78d82defdead6f488c0563c6b595a3858ac88" + }, + { + "id": 3074062023657093, + "content_hash": "ae46ca2d2f2f46d756bc4e951bbf1d50aa15e5c7273402c3ffcec74b04fac2bd" + }, + { + "id": 3074059707041221, + "content_hash": "766d9a69db20fd41320862ddefd14483244d6a0d296fe74f40c3619c8bea301d" + }, + { + "id": 3074058525934981, + "content_hash": "01316b2fbf6526ecaa43d4836608d90f7c5b94df5daeba730f62a04547207bc5" + }, + { + "id": 3074051977054341, + "content_hash": "ab1b15fa244cc404e115beb8832f0aed3f3e57aab3b653f36c3576132f198c77" + }, + { + "id": 3074043508819589, + "content_hash": "3dd2eb43b2f42d32cbfbaec9b53587d4db06d4cc86f14150e14fcf29ba1531b0" + }, + { + "id": 3074037603681733, + "content_hash": "dc57172fe5ba9795464f6ca251d4226c3e64c30a0c6f9cc081f3e4174d30d484" + }, + { + "id": 3074037101708677, + "content_hash": "f051534dcba6f89fff65d6fa555e6fbda01d190e49890d9b4fb3efa239b7d17c" + }, + { + "id": 3074035166692997, + "content_hash": "1bf17080a7e599968b7e2dde788030df7e621c1a7a0299e19540e4f2099da8be" + }, + { + "id": 3074034199676293, + "content_hash": "a24631905f3d3bdf3e1e976cbf2a249833b2e098565889141c33cdc3d93c0816" + }, + { + "id": 3074021379704453, + "content_hash": "ad5ee0832c856ad64c31e7b4542f4d47ac1575a8ba95c9605a8d1c854d20a16a" + }, + { + "id": 3074010672367237, + "content_hash": "7b3ed4813b595f9b33c5284e6c8614fb4430232c21be1d0b9f2f3b6fa30a12d7" + }, + { + "id": 3073989942724229, + "content_hash": "1ddc79daadf5a5afa5307b2cdd2ce98d7d1e6787f065a04e7588d505109eb420" + }, + { + "id": 3073989166630469, + "content_hash": "707d08bc5c2d7b04beef1190d86560d17b9dee90ed0e0aefcdb0dee4d6de32a4" + }, + { + "id": 3073986970387845, + "content_hash": "b4cdac428ba7d6e0a5363dc4442353420f62aa43f0ed63a6ecb69c5cec114e03" + }, + { + "id": 3073986202699397, + "content_hash": "e2d6e90fa1d6b3f12c6579d9a7dfad84c16df83ae46efd243260f4c4d8d65dba" + }, + { + "id": 3073984211125701, + "content_hash": "945609da2a15f87e62bd79776e3b8929e883a7445ff5cd30c3b1dc16b60c3a15" + }, + { + "id": 3073974639035845, + "content_hash": "c257aaab190e033e03954ac355572c829c2d1eec1a892589d56026b6e33afb8b" + }, + { + "id": 3073967127840133, + "content_hash": "6fd3dcf4f15e9fc102e4b5d77b38ccc7a69bbce36ffb0b21261e658de1b9cc0b" + }, + { + "id": 3073966756136389, + "content_hash": "6710bafe0f22eb3f333f5dfcf848736a771c0a4d18ef2dc8f144a6d9d9deb96c" + }, + { + "id": 3073965821068677, + "content_hash": "e96ba4278aac2afc0b76499c590420857697869fb43cab9cf03e599df2c759dd" + }, + { + "id": 3073959716259269, + "content_hash": "a63a18de2000d13ce76f3383b9b18f6519b6780579e9cc705f63ac54a8afe6db" + }, + { + "id": 3073957570381253, + "content_hash": "420b036d23df803c14c072bf383cf1bb9546af4dc1e0df88a9f68cf98357566a" + }, + { + "id": 3073955192571333, + "content_hash": "0829657e25ff9dda3639b4caaedc50697658d91d61d5c9d5e8f14d93a242b9d8" + } + ], + "pages": 2, + "skipped_missing_pk": 0, + "errors": 0, + "error_detail": null, + "compare_content": true, + "content_hash_supported": true + }, + { + "task_code": "ODS_TABLE_USE", + "table": "billiards_ods.table_fee_transactions", + "endpoint": "/Site/GetSiteTableOrderDetails", + "pk_columns": [ + "id" + ], + "records": 10072, + "records_with_pk": 10072, + "missing": 2, + "missing_samples": [ + { + "id": 3076468631635333 + }, + { + "id": 3076467402524229 + } + ], + "mismatch": 68, + "mismatch_samples": [ + { + "id": 3076458717628037, + "content_hash": "c560556b7265323acfbaad424737fbaf529405af7fc4fc99a8c04ea7d9138c8e" + }, + { + "id": 3076456428603013, + "content_hash": "040978f9e60d19e2fe1606eb85719a6307418474642ab2f1185cbc47866391f1" + }, + { + "id": 3076455564838277, + "content_hash": "672bff8f9a453e454e89d1c09298a8f764c9c4083e1fcd5215d52c52d50b788a" + }, + { + "id": 3076454440863109, + "content_hash": "a9f3f231326e5f02918ca1f8346c31537cf753f6908311a35f715923e70717f5" + }, + { + "id": 3076454348309893, + "content_hash": "f760b61c45765af59aee194d298fadce2c6253c6dddd4008c1aa9f091c54c8dc" + }, + { + "id": 3076448766461317, + "content_hash": "e912f503ae32f5561530bc56813169d39f3b4fb200ad7b691fcf98ad5d925b1e" + }, + { + "id": 3076445048063365, + "content_hash": "06635b02f5d4d215b3ff33ae531ffc73a315e194a3d620169aba139ba56250f7" + }, + { + "id": 3076431917008453, + "content_hash": "f613702e2569ee755f4388971422fe70327fe19e4cd2ee3a0867e434dd93a5ce" + }, + { + "id": 3076431855896133, + "content_hash": "fb911c9965dc1b8fde398075dc80c23ef3b2db00cecd3c911fdccc1576ef5767" + }, + { + "id": 3076427929667013, + "content_hash": "6b5cdadc648a73e9d6efcc1df4c7c3bb247994ba936a492532e654d74e4f191b" + }, + { + "id": 3076426270180933, + "content_hash": "9d55d5a5bed5c60769e4d2052419a8644fe259aaa881efd213adfff19ea51423" + }, + { + "id": 3076404579583429, + "content_hash": "c0b447e8ea656b752bad8c43015026acaa4a108747fa75e0e089d4dd616c0ea3" + }, + { + "id": 3076404528957061, + "content_hash": "755779b8a4064cf9f1af8485adaf8ca1757f9ca1b4593fc6be13c3eb01918d97" + }, + { + "id": 3076402097276293, + "content_hash": "4463ccb44164644f333d1facf643f8a94676f51556e29ec47223bea442a8bee3" + }, + { + "id": 3076401436312965, + "content_hash": "51b9ae68448bf0a10c833d05a154f3d0da0d4863e06e820a5c03c85db274452b" + }, + { + "id": 3076397495780933, + "content_hash": "ccf911a4749427f2e58698655eb940b5baa6c18c8e0acdc00ae4fc1af2d49b74" + }, + { + "id": 3076391961855557, + "content_hash": "2c52621ea3230733cf444465d2dff648c2b9d00cb731d70dbc47194018ee89f7" + }, + { + "id": 3076374836004229, + "content_hash": "3ad23ec7f3df1bbcf96804d8c8195d671e8e6882768c260f4a8355a9e5400c73" + }, + { + "id": 3076374000354885, + "content_hash": "62e01a5abdc67f65f187a57622753a40c984f39dca6120e9365580ab49e01359" + }, + { + "id": 3076364701123973, + "content_hash": "5aac3cfef1671ecc98481498e1320f95c5fdcf758e6a2c9c9f7f43463dba6a79" + }, + { + "id": 3076361276884357, + "content_hash": "8ab7c924beebcd8d5dc5a3354295c48f6fb213a0630fbbfa8d71e1278c81da34" + }, + { + "id": 3076341201225349, + "content_hash": "d874b09495c04272ff04781d7113948c2f951f20b194178bcae48490ef0b8ed7" + }, + { + "id": 3076341144192389, + "content_hash": "938be43e34cfafbc8f5d008e5aadffb999c2a3caa785c5cde8f79fcb6c33aded" + }, + { + "id": 3076335083587141, + "content_hash": "309f42330f084315a12f8813b7033c49c706791b74ac658e809551882651ded8" + }, + { + "id": 3076335007483269, + "content_hash": "eb882e1ebd7014d35cbe1400768ad5cb343f98a4ed2672f9978c757cfb595d6e" + }, + { + "id": 3076329489057413, + "content_hash": "87daf2cb17e9c9a7cd8407f795daf734476955d4fb5fbe5288e1ebc43328fc37" + }, + { + "id": 3076325379917189, + "content_hash": "a3a041e720f52eee0e5436ef923c08cf6c179f640f9aacf5d8a9c36023cd1811" + }, + { + "id": 3076324807968389, + "content_hash": "46528ecea97222e22ddb13262a0410e54ae097c01d9d4ae168342e35d137c066" + }, + { + "id": 3076282477610373, + "content_hash": "18794315fa5ada5cbefad58f5cfb43943075feab6593c1ef444988f02f55ca83" + }, + { + "id": 3076255083218501, + "content_hash": "5e02920dfd8de17a6d777316d967f6810e15e23a39cb7dc4bf1976408799cc47" + }, + { + "id": 3076160268633541, + "content_hash": "2a02e45994dbc1524ef52d425b1e02ac4acede1991c1f4e72504aa5b54aec6fd" + }, + { + "id": 3076138706470341, + "content_hash": "85a3abc04c65f31f8c0eaf86f7df53839362e794404af9769d5c29cef44ff404" + }, + { + "id": 3075796677543365, + "content_hash": "22fca596263c51170cb4ccebcd2e1b7560195af6c78f35bee54447f273a34d7d" + }, + { + "id": 3075750061589957, + "content_hash": "8a786f89baa7e66cb55328e3948ef180ef2d7262d52f80f8b1849ad7834d9a38" + }, + { + "id": 3075635028674181, + "content_hash": "a24c7abec1aca8ff2a9c63ccce6a96a738ce68bf701dc83d1cb4db6259b97a38" + }, + { + "id": 3075631430682181, + "content_hash": "054016d8a4c02d39dff0f3909799c8059eaf1f83f41565a89bd0d3f5c4cf8a41" + }, + { + "id": 3075626777576901, + "content_hash": "aa9d1f28140a2e22b97a2fb1ef8504de3dbcdafa950ec479adbf47f9fda95f35" + }, + { + "id": 3075626777560517, + "content_hash": "b3771d47fe8b790bc1d0389fe16538fea21d1dc63dd38aae039ef2df3244f77a" + }, + { + "id": 3075584988579461, + "content_hash": "6a811cbbaa3a4288b4c60e677166c0f8f33996e24963c7b3c857b8816715d323" + }, + { + "id": 3075584277300869, + "content_hash": "ea76ca1588149c5d05a3a0d48f3944a6122156f5af58a1e3dfc9d5d0c39139e2" + }, + { + "id": 3075574999369285, + "content_hash": "14f4c7a69e19842cbd2acc0a76a5cbf7dc59ce1ac5db455476349cd37ffc3fd5" + }, + { + "id": 3075568526608005, + "content_hash": "bed10077df56480934844159ce837276072ce0900e595851ae9dbe0844ef7ff1" + }, + { + "id": 3075537363207749, + "content_hash": "f994d789f76ccc8dbd38516f7bd4ccef46e5eb89dbfe2bd36d07dd814bc80e4e" + }, + { + "id": 3075502543013509, + "content_hash": "36c79aa18bd02254d14faecb3bc5e56fcd4a856427c5b36c6da85796d32f27e3" + }, + { + "id": 3075502543029893, + "content_hash": "a86d687b65af44401d7124cbd59a08211acf6ca7c9175e1c062e4717f3ce6e89" + }, + { + "id": 3075502542980741, + "content_hash": "33e3e1271e26b38861e7ca521bc4f95a3f96cddf41206e92b9215c718affd217" + }, + { + "id": 3075502542997125, + "content_hash": "0eb52a6b1181a117f35897c181a794d3e3ea1f292b28a0d1c05074ab5395bba7" + }, + { + "id": 3075497054340742, + "content_hash": "d1c03fff95d7ab57839578afca3a80213fe2adcc34a5a3cd7b1a0d42847a637a" + }, + { + "id": 3075484369503813, + "content_hash": "662f5419bbbd6c773c5481b1f39da2774a74cc674564e89fc86e43216d823e74" + }, + { + "id": 3075473701045893, + "content_hash": "eb8c20d6a12d42f26f79c5352a1b7901c9acedc4597c32f6f8cd1342d53287b6" + } + ], + "pages": 51, + "skipped_missing_pk": 0, + "errors": 0, + "error_detail": null, + "compare_content": true, + "content_hash_supported": true + }, + { + "task_code": "ODS_ASSISTANT_LEDGER", + "table": "billiards_ods.assistant_service_records", + "endpoint": "/AssistantPerformance/GetOrderAssistantDetails", + "pk_columns": [ + "id" + ], + "records": 65, + "records_with_pk": 65, + "missing": 0, + "missing_samples": [], + "mismatch": 65, + "mismatch_samples": [ + { + "id": 3074592488949381, + "content_hash": "1b19b0d49f57eafea9cd67305957798d7a75410b524f1e7fe27151c810d9cbdd" + }, + { + "id": 3074592488490629, + "content_hash": "c5d2f1b142e1e15426716e7c2d89bb5b9291c36f33c49be02771cdcaf04393a5" + }, + { + "id": 3074142886626949, + "content_hash": "3749328a2aab7e4b0b5665270562b49ef19e719f5b2980ab29be61e5c509ba5d" + }, + { + "id": 3074142886168197, + "content_hash": "ebfe822fd25186ce53d30a39a0e94dbec8be86c2c860ca5bbb85f210d2da26d2" + }, + { + "id": 3074130807145925, + "content_hash": "920fc76dc1424e70ab719d4202503abf73d11d7cb36abefc0d4a683291567c1a" + }, + { + "id": 3074130806687173, + "content_hash": "52e6feb7328a728b2839927f0a105bed3ceb13cffcd842005969a02265f62dc8" + }, + { + "id": 3074130806179269, + "content_hash": "3477f1dd1af83873301019fd37bf2fce63dc967c48064ae584ceac414eeb94a8" + }, + { + "id": 3074094735656517, + "content_hash": "d4c74a861aa50087e1629a4c3c060ef1af57f0a18d21861b232b9a14351cdad8" + }, + { + "id": 3074085731943813, + "content_hash": "d702344a3b5b5c644f5435e15d1f89c44ddb3943e1fb046825e7a61f106d535a" + }, + { + "id": 3074085731452293, + "content_hash": "4341ad44404f7b17d6249c6fa10d33bfcc0b6afa8609a7004445a7b67776997b" + }, + { + "id": 3074078197581189, + "content_hash": "9a638ed8cc7ea5f77c75ce743181015be450f0b516ce015fa0229a82d41ff499" + }, + { + "id": 3074068424148613, + "content_hash": "fe9eacbf1984bfd278591b8e62da48d6dc86412fcbc78acf2d8c54b501ed1414" + }, + { + "id": 3074064127853957, + "content_hash": "825a8a383061361e6696cca5fc28dc9984ddcce64a650da42259cb74f38d71e5" + }, + { + "id": 3074064127378821, + "content_hash": "bbe08143d4da3bbb4dfa4cc16de598f1ff10cf12a9c77d15e4538c75a0cba0ae" + }, + { + "id": 3074062052902277, + "content_hash": "915830d68f6cc980ec47bdf16c7c73c5b8fa4d6ad7607f99b099f2f169baf373" + }, + { + "id": 3074062052427141, + "content_hash": "6ca3462879d7d3e8b6054849dd920fe988af4f568ced0d5dd1e368c2966fa158" + }, + { + "id": 3074062051919237, + "content_hash": "4c80d04b93ada4fca3e7ba9181012552fde997ffb8b5d258de5c7f578dd903b0" + }, + { + "id": 3074059753293189, + "content_hash": "f197f21d78cf2cb8009cc9b4f1e089ac373e7b6e9a5cf4b1cebc6d83b1200711" + }, + { + "id": 3074058747954629, + "content_hash": "a4e59349917adbe3728e6fe5dae04fc184b9ef7de2e8989332713f9c54e756f5" + }, + { + "id": 3074058747463109, + "content_hash": "a5fc6292a5346b74b516aaa951e0748e8fbfceb2b7343bed303f02244a1c0e99" + }, + { + "id": 3074058746987973, + "content_hash": "ce2481e2a22d4ac778ad06cc89b798316128283204c54f88d7a683d6a4184039" + }, + { + "id": 3074058746529221, + "content_hash": "4fc99cdfbe9e86716136db865f6fd746482fa416d1e7a3a991643e7035c2396f" + }, + { + "id": 3074058746037701, + "content_hash": "cdf9c9c273933123cfa614ac51b1fce764415fd5213bd99c6c19b07f9381ccc0" + }, + { + "id": 3074058745578949, + "content_hash": "0959a012cc8a111597a9afe6c2360d01a3cb0e804430f588b42da46c51e4664c" + }, + { + "id": 3074058745103813, + "content_hash": "4e740d88f65ff35a47851d46943f87039b8ac6a5e031a594b9b5b70ddac4966e" + }, + { + "id": 3074058744481221, + "content_hash": "e3560759d78b4c0e49f62caa93bdfd82131aa4f553021afbf8b3af3ca2a7671f" + }, + { + "id": 3074058744022469, + "content_hash": "7816f084d458fb7b458bee77d72dd1f4049349252ea60962158e3a8354d930e1" + }, + { + "id": 3074058743563717, + "content_hash": "09b7dfcfc649fe18c031291575b4e7808ab104712aced00ff8efdf58168958f9" + }, + { + "id": 3074058743088581, + "content_hash": "c8a4e9d96cc9e21de5fe3fb54950a2f0bb908c00c27da2d5abf448b2785fc689" + }, + { + "id": 3074058742613445, + "content_hash": "9bc671523bd91cebb1c83797ac6432b934142039e41aee9d8addc69305886f2e" + }, + { + "id": 3074058742154693, + "content_hash": "5343bc02c352701046ff8961e1f6b084ab19abd09d774ead438e37e96507a05d" + }, + { + "id": 3074058741695941, + "content_hash": "f1049dd7ba66942c4d6cc5ab8b2644887410def4dbe7f80daf08f527f32578bb" + }, + { + "id": 3074058741253573, + "content_hash": "9a7178cf06873ac2f8fbcf4d909f9a1e314eb073166d21097a9b853603e8d6ef" + }, + { + "id": 3074058740794821, + "content_hash": "8559eaf9b52774717243363b4d7a86440a15e514909836a236a5b4050c003775" + }, + { + "id": 3074037171226181, + "content_hash": "e1ebdffb06061e5bc5a61a5ab47fc98a98cbdeb9f7faf8df5b849cdd8ad85e3c" + }, + { + "id": 3074037170570821, + "content_hash": "20da7ac4acf0306b414f2a2a0de42471ff08c7147e414cd158110a806ce253f5" + }, + { + "id": 3074037170046533, + "content_hash": "e51314a7e1b0c44e271abb7b1ab56462cec3c0ef0a148604e3d83feaee85f58c" + }, + { + "id": 3074034426775173, + "content_hash": "9062f840fb85aac78acbb69d40334645d0af827691b168523f4c9d7b1cf7e296" + }, + { + "id": 3074021432133189, + "content_hash": "0ef7b9fcb27808067958f4ec3102eb87cb11e9b2e0835d65d124a9bdc105b46a" + }, + { + "id": 3073989336515973, + "content_hash": "90845cec87928fd894e1f1133bf90a22b78cd5dd8b5618c580cf3937e1cb7cad" + }, + { + "id": 3073914625197509, + "content_hash": "21c1c00496fac5acce32497f573976a795dd75205220e924643485f5b07b9b00" + }, + { + "id": 3073870294435269, + "content_hash": "113a9f34a243dabe5ece9adf5a59fb3eacec364891576c3c28a65d5a8d998fc9" + }, + { + "id": 3073870293747141, + "content_hash": "b9a2ae407fe3c45090c47938972ab28a1a0cdec698d1eb218558f15d09053d4e" + }, + { + "id": 3073869497353861, + "content_hash": "786316f7675e45fb6e0965dfc58b814dbf99cb18ca63ed18a479bbcd7d98f552" + }, + { + "id": 3073869496862341, + "content_hash": "ac1617c4340e052a5b809be1f18a96c5c03c20f8f4d3c431823f4534fc7fe745" + }, + { + "id": 3073869496338053, + "content_hash": "fa131bf2cf3ce422184119060a78cda866820c340556ec3251e5d62b0571221d" + }, + { + "id": 3073734858196549, + "content_hash": "30997bf5bc5372f591453b325d32e9da0e39e434016e549b82c4bf0a66e3b3da" + }, + { + "id": 3073734857737797, + "content_hash": "31adf71c5e291dd130a669e684c062b10e1fc192289777ba6ccba33be8aba518" + }, + { + "id": 3073702634096262, + "content_hash": "7f4ed5f50fef62dbd573ed7c160d3cb58bd98ae72283911c15e27ff12805c402" + }, + { + "id": 3073670472140229, + "content_hash": "3d1a9b30cdae83919355300928ec5524e973d38a92a733234237b40c00629032" + } + ], + "pages": 2, + "skipped_missing_pk": 0, + "errors": 0, + "error_detail": null, + "compare_content": true, + "content_hash_supported": true + }, + { + "task_code": "ODS_ASSISTANT_ABOLISH", + "table": "billiards_ods.assistant_cancellation_records", + "endpoint": "/AssistantPerformance/GetAbolitionAssistant", + "pk_columns": [ + "id" + ], + "records": 0, + "records_with_pk": 0, + "missing": 0, + "missing_samples": [], + "mismatch": 0, + "mismatch_samples": [], + "pages": 2, + "skipped_missing_pk": 0, + "errors": 0, + "error_detail": null, + "compare_content": true, + "content_hash_supported": true + }, + { + "task_code": "ODS_STORE_GOODS_SALES", + "table": "billiards_ods.store_goods_sales_records", + "endpoint": "/TenantGoods/GetGoodsSalesList", + "pk_columns": [ + "id" + ], + "records": 0, + "records_with_pk": 0, + "missing": 0, + "missing_samples": [], + "mismatch": 0, + "mismatch_samples": [], + "pages": 1, + "skipped_missing_pk": 0, + "errors": 0, + "error_detail": null, + "compare_content": true, + "content_hash_supported": true + }, + { + "task_code": "ODS_PAYMENT", + "table": "billiards_ods.payment_transactions", + "endpoint": "/PayLog/GetPayLogListPage", + "pk_columns": [ + "id" + ], + "records": 11862, + "records_with_pk": 11862, + "missing": 2, + "missing_samples": [ + { + "id": 3076468629095813 + }, + { + "id": 3076467400361541 + } + ], + "mismatch": 76, + "mismatch_samples": [ + { + "id": 3076458715268741, + "content_hash": "ac78e1c4c30f8d54e9cf49d505ee009946f613059ac20c2cd64ebe99ed2d16a7" + }, + { + "id": 3076456425571973, + "content_hash": "784dbffeed6cbb906e715b984a2eb68eb4d7b4d21fe13577e19f50ab84262e2e" + }, + { + "id": 3076455562167685, + "content_hash": "254f35015805c022e9bee5c36103ed4f565e3843f3f3aaa37d218cdcaf384cc4" + }, + { + "id": 3076454438454661, + "content_hash": "c0f6f656a415a95ef06cb435353b1284c0250c4a3d5574b86dc08a87b9f05a50" + }, + { + "id": 3076454345950597, + "content_hash": "777c8dbe11d51fac95f083fbb51eb2da14c1085711267c8ee854273c1842e692" + }, + { + "id": 3076448764216709, + "content_hash": "0ea75fe82f054a70bdfd72a5b12be4fc87d549516400cb24c184a5c2ade0a968" + }, + { + "id": 3076445045507461, + "content_hash": "49ab33b8eb37eccd094d84f8591de1fabfbf8e83c5add1e24fa5322553c2c52c" + }, + { + "id": 3076440535041605, + "content_hash": "a4570493e7ca107b8bd51d6918929fe37563511ac4c33b3785b03e33646a4801" + }, + { + "id": 3076431914829381, + "content_hash": "02245f332d9d246db8bc4e4127f28e1b93136efcad18560cfb40098f42bfccd1" + }, + { + "id": 3076431853635141, + "content_hash": "0f5573d8cde0551abeb7ab71d11349eb7ff542031a8b6f1d921e79caeba7e2e3" + }, + { + "id": 3076427927373253, + "content_hash": "adcc2fc6dcf91cd2c9554b20c005679040badc32447cebd57ddfa07f20000869" + }, + { + "id": 3076426267510341, + "content_hash": "8973a2a98d81d5d6b99ae519ed5168f5368702931ff2f5032df328363d99b0f6" + }, + { + "id": 3076404577387973, + "content_hash": "d487e756bfbcbfdea9801bf833eadeeb232e9c6caff34773eb2aa2bf2f996a98" + }, + { + "id": 3076404526581381, + "content_hash": "9dd9b05502dcd2babbc759eecb7f7f1ea0e572d358ac2919a885e58b9229b47a" + }, + { + "id": 3076402094638469, + "content_hash": "170e125df1ae5af87d9d443955589b83001bff46a264bcf418f9efd1f26c5e91" + }, + { + "id": 3076401434183045, + "content_hash": "ee7b1cbe64524945bdbcec9aa286c8adbaf84278a9a94401e4299c5207188703" + }, + { + "id": 3076398378419845, + "content_hash": "e6dc0093247a5e9709cb1e8866b3b1857517a7bdfe866d51bb5a71311ced3684" + }, + { + "id": 3076397493470789, + "content_hash": "d9a79d7237c59c1365a504de14ae8a115bc77dfb91a86d52766a96a6311c0b08" + }, + { + "id": 3076391959709253, + "content_hash": "e49dc4dcdb14c8e2217aa61b078d9901187342b8030e8def5ca3e45cb3cd963a" + }, + { + "id": 3076384567166597, + "content_hash": "294616a87c7be3cd3d8b5c00236a2bf67d669509b8e9937f24c24d9a983129ab" + }, + { + "id": 3076374833661317, + "content_hash": "36fac0acf37a6aa2578cf1743afa60202b25d47713759f484bcbc380784c442d" + }, + { + "id": 3076373997651525, + "content_hash": "4f420efa3e2aa089b921a8062e14380ce77df8eca92eb9219c2c18138485737b" + }, + { + "id": 3076364698830213, + "content_hash": "0490e08457adeec7cae5ffb618c6f628e666ff8bd28631d6db721cad8a8471bb" + }, + { + "id": 3076361274688901, + "content_hash": "53c491f072897a057d374519d21310120f262f9090c08d2b9238b95f84a07fd3" + }, + { + "id": 3076351041684869, + "content_hash": "3c8b0a66e0a657d0a2b2ba6b0cfa4e1fe5a9e7514f8a90aec62e53d1a39a6ad5" + }, + { + "id": 3076341198784133, + "content_hash": "364c132aa40cb47323efb0ebf1241a183316abfd24962d1df7a4e0103421dde9" + }, + { + "id": 3076341141947781, + "content_hash": "8a0c585e6951de858292044cf541c20419b51e0a40bbcc69d871055246cfc0e9" + }, + { + "id": 3076340839728581, + "content_hash": "915ecb2f28b64b99d6bef37a55c27cea80860d53743bdd59205c08dab80e8d51" + }, + { + "id": 3076335081145925, + "content_hash": "519e8cfcc8afaa1b162cd10053a47e90e02aadb32a57ec193dcb632f9fe39b44" + }, + { + "id": 3076335005189509, + "content_hash": "9171c7407083f703eb9f609e52b841e712aab23f63a23a6bc5bc5e22426a5d15" + }, + { + "id": 3076329486468741, + "content_hash": "9f418c52a90aa4cf14cc937abb1b744490591ae33bf665042bc9b825a475e5de" + }, + { + "id": 3076325374657925, + "content_hash": "c27376c3baa026c746d51c0bc05965f58400258224fe0acc3bbec956c5176f7c" + }, + { + "id": 3076325018109381, + "content_hash": "e295d644d2ed96c55bea15da67da96ec7ad851d9d9d93a6520a9b2f8fabd9f58" + }, + { + "id": 3076324805772933, + "content_hash": "ec930062c4210e26045ff119183bb285e4be44806aaf144e20f25899400b7d6d" + }, + { + "id": 3076300217878085, + "content_hash": "45fbe4fa99a6d9edda39204f39a50804f8e03f5d0f8eaf13073d40b734580931" + }, + { + "id": 3076282475316613, + "content_hash": "0b066be27dcd61bda5190b6ae1ea2c007698b048ed121635c2d1b6c6c8abeb9e" + }, + { + "id": 3076266638329477, + "content_hash": "756f49af72ab10a9759866ec0b4a5e506361d32e532a381a3ed04fe2faba44ba" + }, + { + "id": 3076255080875589, + "content_hash": "eb619f79f2ddca8eab52a959280f77487ed4861e1ac48035096b952f5e265e3e" + }, + { + "id": 3076162835989893, + "content_hash": "b40760187171087068b24973da0c6619031ff3ad5c453c649428c5303cf9a4d4" + }, + { + "id": 3076160266405317, + "content_hash": "dc674bde32449e64ecb26603ee55314532745bbb106bd282fb7d410b9b48041e" + }, + { + "id": 3076138703865285, + "content_hash": "62d3b1d4ab55d34c0095af87020db11c36d6913c6e2181fb5c124cc11f085d93" + }, + { + "id": 3075796674954693, + "content_hash": "6b454c71c0495e987007803d0ffa388ccd09af8d02973d645470230e58f0073a" + }, + { + "id": 3075750058231237, + "content_hash": "9c22f9220a92b397cdff11ef4751504141ac58aa30fd55d3110766c3b0433ac2" + }, + { + "id": 3075635026396805, + "content_hash": "a870a6f121879d780173ec10458cf8ecbc38c3f955c717d7e91a2051619b93ee" + }, + { + "id": 3075634418681285, + "content_hash": "04a106f6d3e3b8dc61206b41f6662ebf0a9d48b0b9dcb35fffbe8860c0395be4" + }, + { + "id": 3075631427044933, + "content_hash": "370e5630d34c88724fee2d2c7849e226a0bc626dd181a4558128f05a48147ffc" + }, + { + "id": 3075626774283717, + "content_hash": "857822bb40135178b25bfd2e1457a6df6cabd4f1a11834de648f8926c5366bc0" + }, + { + "id": 3075584984123013, + "content_hash": "eda5de138a9d7cd97555bd6b11edf8b6b2518516a02b0b4d647dc0cadc57d6d2" + }, + { + "id": 3075584275252869, + "content_hash": "b2828f944ba2d6755b400a7c4a6860df56b114652d29991344b33df7a8ef6caf" + }, + { + "id": 3075574993798725, + "content_hash": "997a219d28e530ea4e14db5081bfa40c08ef7a86b5531784fdc71127fdf4a084" + } + ], + "pages": 60, + "skipped_missing_pk": 0, + "errors": 0, + "error_detail": null, + "compare_content": true, + "content_hash_supported": true + }, + { + "task_code": "ODS_REFUND", + "table": "billiards_ods.refund_transactions", + "endpoint": "/Order/GetRefundPayLogList", + "pk_columns": [ + "id" + ], + "records": 39, + "records_with_pk": 39, + "missing": 0, + "missing_samples": [], + "mismatch": 0, + "mismatch_samples": [], + "pages": 1, + "skipped_missing_pk": 0, + "errors": 0, + "error_detail": null, + "compare_content": true, + "content_hash_supported": true + }, + { + "task_code": "ODS_PLATFORM_COUPON", + "table": "billiards_ods.platform_coupon_redemption_records", + "endpoint": "/Promotion/GetOfflineCouponConsumePageList", + "pk_columns": [ + "id" + ], + "records": 17426, + "records_with_pk": 17426, + "missing": 0, + "missing_samples": [], + "mismatch": 56, + "mismatch_samples": [ + { + "id": 3076460464391749, + "content_hash": "409ce55971e59731fde8589996adae2122b528efc267280b68dd6c7dd0eddde3" + }, + { + "id": 3076457746236805, + "content_hash": "ffbe91874eb94ce97d2b85ed7fcfc9d0f8ff9c2ab6b965dab7017c66a6f068b0" + }, + { + "id": 3076452205119109, + "content_hash": "8f2a48115134e9f24de034953adb12b36080358763419819c6d1fca42de22eb6" + }, + { + "id": 3076450453374405, + "content_hash": "7e3edb7f39f9b0bab755cefdb2adf8ec958d70e8e7e218e13c63b99dffacf488" + }, + { + "id": 3076450215085509, + "content_hash": "291748c14c2ceffc12af011d19414f7cad523f4adc4a77160c6c791f19f33521" + }, + { + "id": 3076447330370949, + "content_hash": "93c5f3461365066e298c0ebfbc02ed35defcdc9b25b37086706c125e0cceac45" + }, + { + "id": 3076440282973638, + "content_hash": "b7124fb420e2446d46258056298245c244541b2a9adbbcdf459529c287b66242" + }, + { + "id": 3076440282973637, + "content_hash": "49b335633f433083de9533ad835d1a8bfee3c34e18e82c690195e5cb8e11b978" + }, + { + "id": 3076432919692741, + "content_hash": "8155c2c835f42c63efabfe1e091b4cbf8ac16f5873e00c48fbc76d399c9ff702" + }, + { + "id": 3076417945192005, + "content_hash": "c1e6bbfdf1c2609d6d727eacf27b079f235442125ee5c74d6eeff3b3ba1aeec2" + }, + { + "id": 3076409807734213, + "content_hash": "426a3c14dee2ac1d02126d68f15e6afe99a790f84cf68d6d6c908b4f603f960e" + }, + { + "id": 3076405972289157, + "content_hash": "c8cb973ad32e3f28b04331074af949799524278264b8019dd708c1185c71e65c" + }, + { + "id": 3076401773659525, + "content_hash": "4257ad366ed94b850875584ed2d27aadca890fc7aba344ece92871e64cc769a2" + }, + { + "id": 3076398028834437, + "content_hash": "945a6ba351a29971647728d2e1e459814dd72b45fd22785553b641cc96968062" + }, + { + "id": 3076383841601157, + "content_hash": "bffd71bc22eda017ecb7060029debefefbc34a164bc9169ce4b92d415f6b766c" + }, + { + "id": 3076382580098501, + "content_hash": "e50904e3244fa30d2972680bc95958d4a5bb67cb649494281d4681bdef8a2e69" + }, + { + "id": 3076371995280965, + "content_hash": "fa33cc6c8e2da3946ae54bf3e8b79927b5ee53a0e1e75dad62362fcb91249cc6" + }, + { + "id": 3076369225238085, + "content_hash": "c6c53a61e5e439d5ac80e2caa4b92c0cd77adffabba10755f97f1af95fa291cc" + }, + { + "id": 3076366755006021, + "content_hash": "eb75dfa7f445581d8757ae6141a3c0a8df8f0546bfca3e4e1b09e88088fb5b71" + }, + { + "id": 3076366484047301, + "content_hash": "28fe0849a4f3803f83d346c0bc3798e056421d43d73ca86465e645ef02d33eda" + }, + { + "id": 3076361118647685, + "content_hash": "1908f47068217f4f9ed6d0139fba48b80d03d31e5640f39b03e5466691feb704" + }, + { + "id": 3076350267328069, + "content_hash": "213c8fab492f445015e2d75ada787b1a3903106280d1759ab3d19568632d45b7" + }, + { + "id": 3076343656334789, + "content_hash": "e1dafd7fdb24d2361161f60346d8e509a53764881f84552568fa00fcddeb3ae9" + }, + { + "id": 3076343508370885, + "content_hash": "8addc37de548f282da840fb38ac8a29615103a8d6013919cfda0fd89d05a9fed" + }, + { + "id": 3076336473490885, + "content_hash": "8d74600a7a69c108f1164249f3bc415c96c75bc3e1ed15c522fc697e057e8508" + }, + { + "id": 3076331867752005, + "content_hash": "ff33d291058a78640f6747b0f3ae192872ff54957bc4e87aa85fcc313312a97a" + }, + { + "id": 3076330682205829, + "content_hash": "bd7099b9214dc4b0cd351dfde3508108830689217b719af4dc9379c654d16c30" + }, + { + "id": 3076330171614597, + "content_hash": "4caff5cd39291a6a172cc0df1e4fa2dff40a5b0e87d7a28955b0476d03dedc74" + }, + { + "id": 3076314233259589, + "content_hash": "26e407771845d284bb3f1cc049ea3f02220c8c556b1281864acf6e651432d7f5" + }, + { + "id": 3076306343314885, + "content_hash": "e3e3ea5ce5214256b263ccb70f7aed285ce1148903405a7697457e9bf4a624fe" + }, + { + "id": 3076304870622853, + "content_hash": "f62b4455df38bfa9593984764fa3f3d5c650a184ab0d47bf46adddc438ff8260" + }, + { + "id": 3076303449048517, + "content_hash": "21dded43f549b0492393849cc411d86ae6cb3c0e73a3458fbab0db6f8a7a2ed2" + }, + { + "id": 3076301217564101, + "content_hash": "0d51450cde97e1cb07b36d58550edb703907180615748cee748f8d1b334a56a2" + }, + { + "id": 3076300712396165, + "content_hash": "02285b16d4bb092997638aa56c52f24ffe9826e2fdb64f8fa88f3fcc5aa8aacf" + }, + { + "id": 3076281630017093, + "content_hash": "da29254390198afbf5f6a3025d4903296a48183893b1975e9b6dacd61f9cc895" + }, + { + "id": 3076281538282885, + "content_hash": "6901e4db5710dd312714f11a7e5cdbb60dfaffa7477575664464dca7932cc7ad" + }, + { + "id": 3076280099374469, + "content_hash": "b4c4b2dbe844c0627ffa76aa3149fd3d0aea7847058b4b3d324cf1f65a0280f6" + }, + { + "id": 3076277823227333, + "content_hash": "76df6adb5214f75c51e41f6c9771a8bc7789eee5dedff0b55e175720e9907c26" + }, + { + "id": 3076275082626693, + "content_hash": "2032bb99748d753d4f180db88f0c7197f89e46f7cdc4f11bea8728b3050397b8" + }, + { + "id": 3076270491731589, + "content_hash": "b71d0dfe73668e3faca13f72710960dae2180b302161d9b15d151c9af92e4e6c" + }, + { + "id": 3076266120021573, + "content_hash": "f399c96b71ebe3ebc9643259c05633a91ce383cfe6908f6188f55b209854efb9" + }, + { + "id": 3076226159117765, + "content_hash": "5562bd759bf1208dd4dd1e784fface0d14ece7e1a1c90c05aa15e11e002449fd" + }, + { + "id": 3076226049410501, + "content_hash": "f4d3ab30b1185c1633b107218ac935113ce4b04e054891bc4e0a717906eacb45" + }, + { + "id": 3076223542724037, + "content_hash": "01eb877525279297862f20c74f29d5de4221adc228a5e7233dc935857e770e20" + }, + { + "id": 3076223026972101, + "content_hash": "5bc8a72c3a033e801704df469cfce9c42bf051368997593320c3338e265d9f3e" + }, + { + "id": 3076216648386117, + "content_hash": "07f9baeffda3331d287b19c57f02f22572b1bc0715960b18773addddb31edc1f" + }, + { + "id": 3076195763160517, + "content_hash": "0f95d93f14e63cae176f577b95419ddeb3fe4eb9a1d1ffa645788e6d5e32ca1c" + }, + { + "id": 3076101153572229, + "content_hash": "e95b17d682c4e2deb43c212e36362c804c82d9f17d9a8f7cbd1dfd327571c316" + }, + { + "id": 3076070440404357, + "content_hash": "d56a667b7df75f4353bba9956fddb904d1e585767b6af18b1cbdb035dbbe5d68" + }, + { + "id": 3075525274076805, + "content_hash": "af2bd8fa61767308bd8a372069e8d4d4f0f5ba5138b30cd8be63337f4004b1b2" + } + ], + "pages": 88, + "skipped_missing_pk": 0, + "errors": 0, + "error_detail": null, + "compare_content": true, + "content_hash_supported": true + }, + { + "task_code": "ODS_MEMBER", + "table": "billiards_ods.member_profiles", + "endpoint": "/MemberProfile/GetTenantMemberList", + "pk_columns": [ + "id" + ], + "records": 556, + "records_with_pk": 556, + "missing": 0, + "missing_samples": [], + "mismatch": 3, + "mismatch_samples": [ + { + "id": 2799207359858437, + "content_hash": "c6a6ba6294aa9cb6c268b288616210a7dc651ed1082ae05a9c73bcca262ff5b0" + }, + { + "id": 2799207363643141, + "content_hash": "81d9861a2c3e8f961bb5765315fbf3beb80f3a03f6f529b2595a51838e6960e8" + }, + { + "id": 2799207266748165, + "content_hash": "fa4366a211f46b793ebd524ca6c1f2d4c7139e415fae78f3e9683022003dc337" + } + ], + "pages": 3, + "skipped_missing_pk": 0, + "errors": 0, + "error_detail": null, + "compare_content": true, + "content_hash_supported": true + }, + { + "task_code": "ODS_MEMBER_CARD", + "table": "billiards_ods.member_stored_value_cards", + "endpoint": "/MemberProfile/GetTenantMemberCardList", + "pk_columns": [ + "id" + ], + "records": 945, + "records_with_pk": 945, + "missing": 0, + "missing_samples": [], + "mismatch": 3, + "mismatch_samples": [ + { + "id": 2799218552833797, + "content_hash": "40d19d9fb3df790064de45a5671cffa5d7d92a72d308abe5d0b869ec15e4d563" + }, + { + "id": 2799216912434949, + "content_hash": "5db178c834745f473f293b8ba28622491b2c83ccca39f042928874304b0e07ce" + }, + { + "id": 2799216572794629, + "content_hash": "d3382be6d78faec2076494172c01b49e48c4c2c7ee05e36856ebaee99a705269" + } + ], + "pages": 5, + "skipped_missing_pk": 0, + "errors": 0, + "error_detail": null, + "compare_content": true, + "content_hash_supported": true + }, + { + "task_code": "ODS_MEMBER_BALANCE", + "table": "billiards_ods.member_balance_changes", + "endpoint": "/MemberProfile/GetMemberCardBalanceChange", + "pk_columns": [ + "id" + ], + "records": 2460, + "records_with_pk": 2460, + "missing": 0, + "missing_samples": [], + "mismatch": 4, + "mismatch_samples": [ + { + "id": 3076456426161797, + "content_hash": "60d43ed88af1da192bcd724f212e43603d2b936be78eabbc8f52a12ee785400a" + }, + { + "id": 3075750058837445, + "content_hash": "661c0ffbac0647e024b13af170ec7c696b1a6f7ccc0497f66ab3ff58972d462a" + }, + { + "id": 3075631427601989, + "content_hash": "1d4b49b20854ba18494027fd54ac68ab4cbd4c2d4d0e1d664a22deaba7ccb853" + }, + { + "id": 3075374340998789, + "content_hash": "144352fec9c0a2a2a1551f75285b5b97c174072c1ba494f26762927dee0325b3" + } + ], + "pages": 13, + "skipped_missing_pk": 0, + "errors": 0, + "error_detail": null, + "compare_content": true, + "content_hash_supported": true + }, + { + "task_code": "ODS_RECHARGE_SETTLE", + "table": "billiards_ods.recharge_settlements", + "endpoint": "/Site/GetRechargeSettleList", + "pk_columns": [ + "id" + ], + "records": 4, + "records_with_pk": 4, + "missing": 0, + "missing_samples": [], + "mismatch": 4, + "mismatch_samples": [ + { + "id": 3074130444551813, + "content_hash": "edc6a2bd4040a4acdecb320cd51a0a9128a190c2ae09b827ef66c499e40817f3" + }, + { + "id": 3074057282061765, + "content_hash": "43f343a187eaac34e6aee779f1f5bcfa4f765553b338e9e4060cd1a58405f51e" + }, + { + "id": 3074055249233477, + "content_hash": "a1d1f4dbf96563fb735eece295ec0a7afeb0e975d50b03f37697169e53f362b4" + }, + { + "id": 3074036779288197, + "content_hash": "2771fd271c7ce38d457b151fd127e5eb25f0a51a5e2a91899e33ab610840bd41" + } + ], + "pages": 2, + "skipped_missing_pk": 0, + "errors": 0, + "error_detail": null, + "compare_content": true, + "content_hash_supported": true + }, + { + "task_code": "ODS_GROUP_PACKAGE", + "table": "billiards_ods.group_buy_packages", + "endpoint": "/PackageCoupon/QueryPackageCouponList", + "pk_columns": [ + "id" + ], + "records": 18, + "records_with_pk": 18, + "missing": 0, + "missing_samples": [], + "mismatch": 0, + "mismatch_samples": [], + "pages": 1, + "skipped_missing_pk": 0, + "errors": 0, + "error_detail": null, + "compare_content": true, + "content_hash_supported": true + }, + { + "task_code": "ODS_GROUP_BUY_REDEMPTION", + "table": "billiards_ods.group_buy_redemption_records", + "endpoint": "/Site/GetSiteTableUseDetails", + "pk_columns": [ + "id" + ], + "records": 8187, + "records_with_pk": 8187, + "missing": 1, + "missing_samples": [ + { + "id": 3076468632225157 + } + ], + "mismatch": 46, + "mismatch_samples": [ + { + "id": 3076467405440581, + "content_hash": "6e4c0a5988c6515906a84a721171af7fbf216b31af5479432ff84038c490bb32" + }, + { + "id": 3076458718267013, + "content_hash": "45c8a97f5e17c8f08168486e9b8dac654e80baa6de2b28f124cd7e8209cb0d9d" + }, + { + "id": 3076454441534853, + "content_hash": "52169580473b4e987f990a20d1377c8d9aedacaf3676628770417c768ba46497" + }, + { + "id": 3076448767051141, + "content_hash": "ae09516ad958e38f8bb6821d504f9461a1eaf317ec12c6fb806617275f4f8711" + }, + { + "id": 3076445048833413, + "content_hash": "00cb4b5212add98f95f5a0629b94cd4958132a2f92a69f2f645c8d6a7b5e2afd" + }, + { + "id": 3076431917565509, + "content_hash": "699a0ca77aa70d24ae0d3452fe58ccc163972fd4e42c8be272afbf08a1342bb8" + }, + { + "id": 3076427930224069, + "content_hash": "e8a40244b7fef5d03116bebde54336312ca56e902261e630d3007084b70d56dd" + }, + { + "id": 3076427930224070, + "content_hash": "f5e0933f692b8e64f1aea4871c866367f4b6719defd5004d8eeaa2f3b9bdb054" + }, + { + "id": 3076426271049285, + "content_hash": "83dbef2f770fa9f09f0d6d7702f86f6dbef25a9e310c55045affb81f9bda7851" + }, + { + "id": 3076404580140485, + "content_hash": "2438fbe220084112964ea42879b05e8139316b9ec080679f2b26945741ac4458" + }, + { + "id": 3076404529497733, + "content_hash": "5b14d59eee96d7eecb62ce2919b0cb32c7e6acfd3a8e15d7cef29fb71f844987" + }, + { + "id": 3076402097898885, + "content_hash": "8fddb6bd5eb3ef2026823f51fb92fa0995a3d45b78cccdadce52ae3ae4af7971" + }, + { + "id": 3076401436870021, + "content_hash": "02be9659028c862bab01d492ff4424c73d7da7b8f5ba0fa71612e62b43097e93" + }, + { + "id": 3076397496469061, + "content_hash": "13770c4852800895efd480b264311dcc8a2273d65423e02e7ea73a1c47d46814" + }, + { + "id": 3076397496469062, + "content_hash": "82dd56c6332ebe17bfd2c9cb420326501b443970fae5f2a0a094f93341eb12ae" + }, + { + "id": 3076391962379845, + "content_hash": "0133e4ded539cbbca6e34ba74cfeed81d1007c3ee288446f7b6531acfacce133" + }, + { + "id": 3076374836741509, + "content_hash": "b23910de34853d4341de3d4275b32415bca43ff305e6704e244424aa62ca379e" + }, + { + "id": 3076374001059397, + "content_hash": "ebd4d71fc826e9e21f68469bb18018183d4a94f5c1ef51954c1edb882aa6b859" + }, + { + "id": 3076364701697413, + "content_hash": "cd2a0eb03cdd7bd5ef7a3ed85d35f4ad7e7b0e2ebd524d5db17774d94057f663" + }, + { + "id": 3076361277490565, + "content_hash": "ffa39848ac12c567883c7c1c8d90d12aaf11eb5ccd9675b88e19740491a74f0b" + }, + { + "id": 3076341201913477, + "content_hash": "da1dcd599557d5e2435cd38a1e87396e9c6f149a4c0195d9a3ff0ded8208e15f" + }, + { + "id": 3076341144782213, + "content_hash": "4c87bf452bae2e2fcbb65ea4ac0fa11dcda311cd7cba1b2964a57380f9e61c0f" + }, + { + "id": 3076341144782214, + "content_hash": "aed66317ac3ecde8b7f841b18ca5874c8aab69d01707a866c01035b6ecaeb1a6" + }, + { + "id": 3076335084193349, + "content_hash": "0433c9d32ca4da3dc17d0376723ffff74cf2b864b7714f21cbd1d44b9395caf7" + }, + { + "id": 3076335084193350, + "content_hash": "5ad4cf8b719875ca52103194bfc4ffabc6cdece996f27795eeecc5e0347595e1" + }, + { + "id": 3076335008040325, + "content_hash": "e877371266db3946d000ef1707b29fd5f2bc3a6706a80a1cc32d2566bbb2745e" + }, + { + "id": 3076329489647237, + "content_hash": "06088be3fd1450a933ccd14633ad43eee4420fb9755dc4b0f997111dde1aa41d" + }, + { + "id": 3076325380490629, + "content_hash": "867f4b3ce53cc4734a3d0e2c453e946cc32d47668079855708cff47f2ae95163" + }, + { + "id": 3076282478265733, + "content_hash": "5aec53f7ba351cb0f62ac86b5d6bb705edf1afebffaacd642076de3406264006" + }, + { + "id": 3076255083742789, + "content_hash": "c4e64070771f0c4e55a598c814b872d56a46f2f9e3d1926eea4fe7f73fa91c80" + }, + { + "id": 3076160269174213, + "content_hash": "1cbcce3d170caa9a78513802a050bf9c3c7b34ccb49b58d2e88c03770b0adae7" + }, + { + "id": 3076138707092933, + "content_hash": "529b463dcc0c235f02aa89635947dd020cdc4dfdcc76c6bd79743c921f423cd8" + }, + { + "id": 3075584989677189, + "content_hash": "852ddc81f66d8f50c84cf57135342f9930c20a1c0cccab146c0acb3edd68affc" + }, + { + "id": 3075584277825157, + "content_hash": "f43b49b6c05b69e7135439b168df64778e0ce8b038aaf67d550a745c3ce484fc" + }, + { + "id": 3075575000008261, + "content_hash": "6f1e9002b395072464acbab1b5c0fc76157a94338ab145f377aa346ea2cff830" + }, + { + "id": 3075568527378053, + "content_hash": "283b1486a67947f39e76653e6b60455f6a1c3d49a14ce4bd28550a5895e318f0" + }, + { + "id": 3075537363879493, + "content_hash": "588a0e2456a9c9c15f60076caec66845194c672e140d7ba60e4d2beb1e68ba83" + }, + { + "id": 3075497054914181, + "content_hash": "a2e39b50ea64c3ee30a406bcd9f4ffc3a296f343a14cfddbfee4e8e88ab7784f" + }, + { + "id": 3075473703716485, + "content_hash": "8058a95dab8766f595a00d666da8ffcb03dfe135ddcb9d259f1950673fb93b29" + }, + { + "id": 3075443237995973, + "content_hash": "a110aca7ad125d23b03f1a7429008e37006cd3583d8c83a040e1b9120ed24d02" + }, + { + "id": 3075420149908869, + "content_hash": "265a6b12123e7f99848c70785020fe773eb1bdeb768a3bbdb901282e38f1e2bd" + }, + { + "id": 3075403456595397, + "content_hash": "fba3321ff27fd973a332a1dc3d61fe58fa62cb87ee65f4d02c88d15699f17ec4" + }, + { + "id": 3075397862852229, + "content_hash": "73324a0937aa8b30aada74b8bb08220411d24b82f7a178b9c6e9b016424265c1" + }, + { + "id": 3075381136623045, + "content_hash": "9caeb8c5968422936741cc20e532e8900776139fa3a28cdc08773c5010f3a177" + }, + { + "id": 3075359772395077, + "content_hash": "e6628a53bd9fe6f6e189605e740e905683697a626be66e068ee0d8bc13971195" + }, + { + "id": 3075358078223813, + "content_hash": "8f413eb8d858f1524c86a287ec0caba4110be97e7be39d2b93d9f573460222e6" + } + ], + "pages": 41, + "skipped_missing_pk": 0, + "errors": 0, + "error_detail": null, + "compare_content": true, + "content_hash_supported": true + }, + { + "task_code": "ODS_INVENTORY_STOCK", + "table": "billiards_ods.goods_stock_summary", + "endpoint": "/TenantGoods/GetGoodsStockReport", + "pk_columns": [ + "sitegoodsid" + ], + "records": 172, + "records_with_pk": 172, + "missing": 0, + "missing_samples": [], + "mismatch": 34, + "mismatch_samples": [ + { + "sitegoodsid": 3073782716778501, + "content_hash": "7605e97ecfa1fda63ec4dae916a38b9ec22f7a8dea76bf2f1fbd007c90e92acc" + }, + { + "sitegoodsid": 3053572251340677, + "content_hash": "dc5d1db0282a951fe025c5ed98929e1892a610a8314f0996f4f3abc821ece677" + }, + { + "sitegoodsid": 2826003636177861, + "content_hash": "2fe66332c302bc9f38b39acc99880b1f536117e4cf5a40be00c7fe03c8adc51a" + }, + { + "sitegoodsid": 2823321361894405, + "content_hash": "58f09a6f1a52ab65d6fbf5c31c896cd40b8ca74263aaadb076e1d3e594de5593" + }, + { + "sitegoodsid": 2794695801917573, + "content_hash": "401cd58a54c68f6a4d48cfd05191cd10a7ab61cde1e654731854d92c7e3d8076" + }, + { + "sitegoodsid": 2794695801409669, + "content_hash": "c884e95f510189ae167d3994fcf4534385d840ecb512b8155a8be88a6ab3f2a9" + }, + { + "sitegoodsid": 2794695800934533, + "content_hash": "53ddd03a1cdb3e033581dd21d4c6cf52e41c2eb1cd701e426619b6783eba281c" + }, + { + "sitegoodsid": 2793026434863237, + "content_hash": "c846ef7f6dbadb8671d264350c4510de361435e1fc32c6f3dc41bfa7cc351e1f" + }, + { + "sitegoodsid": 2793026434715781, + "content_hash": "f5b4d70544faba4c520897b940f136eccd32096b9d8a367ce7fdd2da14ac9aff" + }, + { + "sitegoodsid": 2793026432585861, + "content_hash": "30e0f9535f340a3408f8331ba5a7114db7f35d2943e03189e1bfbc42580169b5" + }, + { + "sitegoodsid": 2793026188415045, + "content_hash": "887c861e43f606b1aa57a2207e2cb3b5244351b177aa9311c9afc37655db3b88" + }, + { + "sitegoodsid": 2793026187726917, + "content_hash": "c42ca2b4c94c7581d00e530b1e29bcde27b0988a44436727db1bae9ba8860120" + }, + { + "sitegoodsid": 2793026187563077, + "content_hash": "38dce962cdd022612cc7aa7b0e01682fb1ff7fda177a5c15a2a113c304a8d438" + }, + { + "sitegoodsid": 2793026187071557, + "content_hash": "4c0c301b491313a4b262f5c973fdca33f65f5fbfb7043fe4cf9ca45bb4ae2ca5" + }, + { + "sitegoodsid": 2793026186563653, + "content_hash": "a2a9b2769dfb6f7ef067e45b08f60086c018a2ce3de62543968d848b65dd6751" + }, + { + "sitegoodsid": 2793026184646725, + "content_hash": "fd44fd98e3270cd4d414ff794b55203637bfc7fdb69c3e6f52b78825042e5b23" + }, + { + "sitegoodsid": 2793026184302661, + "content_hash": "43cbbdee4865def2913e293d9d28d0c7a7c7f9d8179923329e376bb0558e0a91" + }, + { + "sitegoodsid": 2793026184106053, + "content_hash": "87e7b0f2daee3af1719c780b0248da45a7fb48b8f5fa859898ba32794a233385" + }, + { + "sitegoodsid": 2793026183041093, + "content_hash": "41e52e21e8c1ff63ceb95d9d294a76ee00b687da2c83fef0b474d92f87753b73" + }, + { + "sitegoodsid": 2793026182664261, + "content_hash": "d6f7f9cef39c6eee8bb2d656ff63d88cb3e79e8278b94e081b4a0e065408fb7f" + }, + { + "sitegoodsid": 2793026180993093, + "content_hash": "203271106008f39067b1c7ee29e5b7e1103b0ca74d5eb5f3ba065f578a7d4b90" + }, + { + "sitegoodsid": 2793026180501573, + "content_hash": "ac1ce737fb9fff85a07a38bc1c246afb417bea26315968fb609d041f52dedf75" + }, + { + "sitegoodsid": 2793026177486917, + "content_hash": "1467da85f7a1dea145d25c6fa0e141714c239b688d054d4118d20afab7213fa6" + }, + { + "sitegoodsid": 2793026176012357, + "content_hash": "795dc8af8e76ea679f3a0d1e069be0648376d1b06a51d215abd091cee0e0d868" + }, + { + "sitegoodsid": 2793026174865477, + "content_hash": "bf8231fb5ee48aaeba5971ccb6ebb4789b9b8a50e21581dec09d73b95956a712" + }, + { + "sitegoodsid": 2793025862963269, + "content_hash": "6cc88a5e65bfc6b6fbfa8f5b16d52367c0e19807b9d267f6bec8022c07a1ca0f" + }, + { + "sitegoodsid": 2793025862438981, + "content_hash": "4fc1fd258db6a90101cc1d5a6f4f2f57f336a9932b982a0cb64d432ae25b0213" + }, + { + "sitegoodsid": 2793025861505093, + "content_hash": "16bbf7c7b5d71cea819cb32c03f0e51f4f675cd737a3ca9726f7618b3941a281" + }, + { + "sitegoodsid": 2793025861308485, + "content_hash": "2981cec222988a4121ba67c8767f909b00591797176662fc7537ec1de8f5ff36" + }, + { + "sitegoodsid": 2793025850576965, + "content_hash": "4a5b06aaf846401cb8503f79ef56cb121f33b738d5df57ffa0f9366f740ddc25" + }, + { + "sitegoodsid": 2793025848102981, + "content_hash": "f683772cc92cdd0abceabe5addcd41fc5857815e7266ed62a96872f195d7abc6" + }, + { + "sitegoodsid": 2793025846464581, + "content_hash": "42186140b0b0a9d49fab43811db955900ec10702545181ccf85c146667f35d37" + }, + { + "sitegoodsid": 2793025844727877, + "content_hash": "6b05cbe3d02b47a49385b4d848ad70e22903a5bcf041d57da83dbb6b4b36034d" + }, + { + "sitegoodsid": 2791953867886725, + "content_hash": "a624bc1e3609a9414279336c13f5049f8763bd6e1e52586972ec1d677ec0d1bf" + } + ], + "pages": 1, + "skipped_missing_pk": 0, + "errors": 0, + "error_detail": null, + "compare_content": true, + "content_hash_supported": true + }, + { + "task_code": "ODS_INVENTORY_CHANGE", + "table": "billiards_ods.goods_stock_movements", + "endpoint": "/GoodsStockManage/QueryGoodsOutboundReceipt", + "pk_columns": [ + "sitegoodsstockid" + ], + "records": 401, + "records_with_pk": 401, + "missing": 0, + "missing_samples": [], + "mismatch": 401, + "mismatch_samples": [ + { + "sitegoodsstockid": 3074735908537989, + "content_hash": "a787d8ebe85360a415b39c03fe06763a7e73bff2ce448b0039710d938641f4b9" + }, + { + "sitegoodsstockid": 3074735908374149, + "content_hash": "d82835fc635d62e3afe9bc439e486e1380a9f9f73c3b1db14055bda8488c2bef" + }, + { + "sitegoodsstockid": 3074662021662149, + "content_hash": "3f23d16c5179d3c90c960259328714e296d491a2eb4c2b309af48950e544482f" + }, + { + "sitegoodsstockid": 3074661967431109, + "content_hash": "fe0d02a06d703c48ca6047a32dedef5abc960358abedf774d83f2ccf0fdfbb77" + }, + { + "sitegoodsstockid": 3074661647205829, + "content_hash": "2295d16899e4d8364c975bea95a3c1572b89fdb2fa93f5f2167cc284d0b9627a" + }, + { + "sitegoodsstockid": 3074622124656069, + "content_hash": "3796045e98388c4a2cb066529748a633cbae5ffc197ab3a96ea41aa835ae6cdd" + }, + { + "sitegoodsstockid": 3074590160225925, + "content_hash": "144c8ae1a2ea9c534328dadef018634ec717caa9d5938284ce3609b5ea282879" + }, + { + "sitegoodsstockid": 3074590084646341, + "content_hash": "5d0913e70be4605ba3cb8e340bf80b46e78c143733d2f3ca1d4f185f303da20d" + }, + { + "sitegoodsstockid": 3074413494617669, + "content_hash": "725dccfaebd0b6ce489fe9a3a6ac6c9eea60ffb16fe6207336d57e519d4c235d" + }, + { + "sitegoodsstockid": 3074413495109189, + "content_hash": "ba34af3782655828ef7074dd0d4ab4966183f1cc03660b54dfdff6c261e9b463" + }, + { + "sitegoodsstockid": 3074413495567941, + "content_hash": "373c7b967e99ba4e793a4d63d93010f82ee7ba55e1be622a349e512f211c5a57" + }, + { + "sitegoodsstockid": 3074413496026693, + "content_hash": "acbc149d8e4b9f7ce700866aa8434cfe8a667c93e1ec8679ed4696ae04bba463" + }, + { + "sitegoodsstockid": 3074333312484933, + "content_hash": "8134fcaac6218d808ef25ccb99302526e9ef93d22e3e2b2fe13dbf5188464b55" + }, + { + "sitegoodsstockid": 3074304742802885, + "content_hash": "5494bc23ac08323293ca2ef22a25c40c83992ef12ffdf31e3985c06704214f59" + }, + { + "sitegoodsstockid": 3074241662944901, + "content_hash": "9165070c71a10c73fd9806706b0e0b1ddf6f5c5d2bf26d17f1c5231a35d70c42" + }, + { + "sitegoodsstockid": 3074203155531333, + "content_hash": "ace8e1cb1cd7ff3589fa36a40489529048193da0920ddff9870ee4ffa2ef9b6b" + }, + { + "sitegoodsstockid": 3074178707113349, + "content_hash": "c540e9d3009c2f65cdf06e814af5661e1cfad3e1eb7599d8b6f62e27466439ab" + }, + { + "sitegoodsstockid": 3074142309041798, + "content_hash": "892cb8a4b1d1b790e6115dce9e486587e84295a8e73c900a281d060d07f13635" + }, + { + "sitegoodsstockid": 3074125062735301, + "content_hash": "4c9161e5c03e2906af2cfd13fa86f585cc81d26036bf8098b07095c275590693" + }, + { + "sitegoodsstockid": 3074125062194629, + "content_hash": "4f3b24af71316991904333a3225b533b368e9b1c100a0391edf8e46fbe27701d" + }, + { + "sitegoodsstockid": 3074124945540549, + "content_hash": "a8fef93f0072e427ceff9b88d85582232e84d186ad0f13a7597bec7ea630e753" + }, + { + "sitegoodsstockid": 3074120331986565, + "content_hash": "f86239dd3706f9eed4b28c64877638bf3af345c2c9ad022237d2469f6502403d" + }, + { + "sitegoodsstockid": 3074096663053701, + "content_hash": "36310f7581363a5a1e63a0a66447c0c1523e95fe4688ebd648c07f8c55ad3144" + }, + { + "sitegoodsstockid": 3074096412100037, + "content_hash": "ec18ea58b1cec00ff81083d787d630957e58eedfba65b528064fa51551a2e931" + }, + { + "sitegoodsstockid": 3074093841598021, + "content_hash": "3b1bc934a766ddd16ac107a8e4fb720ff9ca0452fe294b5aa69c19351bc83e1d" + }, + { + "sitegoodsstockid": 3074093842122309, + "content_hash": "dd2ae571fb0d943d2be1dd396b76789a8eac5110727b32c276b5b4e8857fd604" + }, + { + "sitegoodsstockid": 3074093841090117, + "content_hash": "8e4f8def0ec6c25ed2154632b7286ffd35a5ad883071254de735cc5754fb9acc" + }, + { + "sitegoodsstockid": 3074088737981893, + "content_hash": "cb7be292483b27724f64cfb57d1bee6afeab1720e7eb988b9edb3642d56c6e6e" + }, + { + "sitegoodsstockid": 3074088523417221, + "content_hash": "a16d83a094791c59d44c2a51e5c8dc88257ba481cfb124417044479fe9ad5757" + }, + { + "sitegoodsstockid": 3074085307483589, + "content_hash": "5f9a744380da310e37c96d7078d90a5a4c9d305dfa37f19ba46403b44234bbe3" + }, + { + "sitegoodsstockid": 3074085022680646, + "content_hash": "06021d9ca3914beedddd50155a6f1a8a07ae9cbf3b35799d75237d262b63f8ba" + }, + { + "sitegoodsstockid": 3074077526263237, + "content_hash": "8ce86596985224121e1122cc006046ca91ca2b02fecba6230773677f2ac94839" + }, + { + "sitegoodsstockid": 3074072845043141, + "content_hash": "04f8172b2e4f02a03b760191376712f0a22a85a3baf8ad569d9976f34b156c6d" + }, + { + "sitegoodsstockid": 3074072494441861, + "content_hash": "065913237f685d72d66f02f6dd1b761ed0a383479343d3e0f66fab00e24969f6" + }, + { + "sitegoodsstockid": 3074063382300101, + "content_hash": "518288ee64a57dc498e6834eadff4ced6fe9ebbfa7b3ee51577465c7431bc25c" + }, + { + "sitegoodsstockid": 3074063265400261, + "content_hash": "7aea766a56bde68fc31eb1e955f3d5d218b66554f0259b75575c8ec1bb19995c" + }, + { + "sitegoodsstockid": 3074061389694533, + "content_hash": "13334af4a189f65405c3f221ceb33b85981340c2b3514d589b8693f615ba0f25" + }, + { + "sitegoodsstockid": 3074061335528837, + "content_hash": "4957ae95e29d02f5b46d93fa66c37ed360365ee0d96b6b36b2c35bb16702e6bf" + }, + { + "sitegoodsstockid": 3074061004441029, + "content_hash": "b19e09cca6fe7b89e050fa2726a7c99b7aa3ae1735bc5b3833f764e10624477b" + }, + { + "sitegoodsstockid": 3074060737562053, + "content_hash": "3c5d761fb8a0cbc4a318a3e9251d7d094a06268b63f7766ffed2e50452400c8e" + }, + { + "sitegoodsstockid": 3074060570019269, + "content_hash": "b8165a53c468b91135d24a63d9d1f3f485525673b3743f5d064217a7c77f67cc" + }, + { + "sitegoodsstockid": 3074060508399237, + "content_hash": "83715c2a791021bd86ccfeb7f850dcb78108b89d13f6d8b962c1fd4fcdc36615" + }, + { + "sitegoodsstockid": 3074060451071621, + "content_hash": "5a08891c358ba5064bfacfd30146d8d6c8ab9c28ec4d50305549c6a66b7cbad5" + }, + { + "sitegoodsstockid": 3074060391368069, + "content_hash": "4e07f29bf426947fc763f3a2131647465525e423ae82ce7463eccae3652f2d5f" + }, + { + "sitegoodsstockid": 3074060328961669, + "content_hash": "9b4fbe445a3118ed06aed89522d212b862b7f5c2f3f57c95455a94a8f612ea83" + }, + { + "sitegoodsstockid": 3074058003449861, + "content_hash": "f7501a7bd6e3d6b80d0ca2dcb42a9ed62daa6aee52206c9e4d58f64b3dfb7c3f" + }, + { + "sitegoodsstockid": 3074057355069445, + "content_hash": "aa6763074a8b1825990e3dcbc50d89199f586b995784d21a55d413967f1fc207" + }, + { + "sitegoodsstockid": 3074057357690885, + "content_hash": "498e952032104840f1a5e8b961d19453ce3d8faff1ff64bd6a062ca0c64f3299" + }, + { + "sitegoodsstockid": 3074057358166021, + "content_hash": "8febc4ead03f7fbda68fb9d6b7a27e9baa8cb1cc227c6fecc52688e16015eea4" + }, + { + "sitegoodsstockid": 3074057357133829, + "content_hash": "7104022d7f2e81e4151f13315abef574209a80439b6b2f61cf45aca1a53bdfda" + } + ], + "pages": 3, + "skipped_missing_pk": 0, + "errors": 0, + "error_detail": null, + "compare_content": true, + "content_hash_supported": true + }, + { + "task_code": "ODS_TABLES", + "table": "billiards_ods.site_tables_master", + "endpoint": "/Table/GetSiteTables", + "pk_columns": [ + "id" + ], + "records": 74, + "records_with_pk": 74, + "missing": 0, + "missing_samples": [], + "mismatch": 41, + "mismatch_samples": [ + { + "id": 2791964216463493, + "content_hash": "71115c0ee01944676bc8f0b0438df12db2f897054cff539c7a2beaff9f4ad6a2" + }, + { + "id": 2792521437958213, + "content_hash": "a78689d0ae4f510500913f07397e33a6259b1a10ebcf2c14ec873a06da39adb1" + }, + { + "id": 2793001695301765, + "content_hash": "6dd8492f5abd3aed66869de9ca4c2c9265519f09e43f1720a3b0fb3e9c73e528" + }, + { + "id": 2793001904918661, + "content_hash": "5430f6872f000f78eaa2fe395a9c556162718e4e8a6df05c199dc49bfbc35c66" + }, + { + "id": 2793002509209733, + "content_hash": "a12a1cd0ae526aceb643d542c91e339a07a280c9156c0aa2092c65f3580ebaac" + }, + { + "id": 2793002673295493, + "content_hash": "a60520ff46c38dadcf32b05c3cb487553a291b65643c8afc36ec9a0c4c93d782" + }, + { + "id": 2793002808987781, + "content_hash": "0e78c070cbf71da53e6cfaa40ae5fa41356ad636c453edb95ef4acc744e0e578" + }, + { + "id": 2793002896494725, + "content_hash": "5b9657ea3f13a518d1710802599fb530ea046c1a754da5960865f397e7ec949b" + }, + { + "id": 2793002980429893, + "content_hash": "95de525bf94477093a8f38996d7f2e0dd5062bb2fec0f040beb2fd16d218a9b6" + }, + { + "id": 2793003066429509, + "content_hash": "23332f21838d8955f8c962ca6e6c9d9e7b58c2874b15513a8f6dc10566fbfdd0" + }, + { + "id": 2793003159474245, + "content_hash": "36d8b792cc907deb28c23450728490622cee19371ae45cecc60307aeff29c311" + }, + { + "id": 2793003323740229, + "content_hash": "189ee930a4aec5b511d9dbe7893b10909e9f425137a732f3dd93cdeeb48e74f6" + }, + { + "id": 2793003420504133, + "content_hash": "3b56281f0b721147abc3c5ea0aeab4cfdc76849636f349afcc8db503116956b3" + }, + { + "id": 2793003506815045, + "content_hash": "e1cbe72aad97bf5c8362e40dbbe121a5064aaa093a9132d9d65e633f3463cb41" + }, + { + "id": 2793003618340933, + "content_hash": "07f6081e7397a717d503bc8f62ff5510e43319b4d1f438ec5039c291df313294" + }, + { + "id": 2793003705192517, + "content_hash": "2868a7649dd64e4c23bee13ce610f47c56995a6db0249a038d33900431e3adf9" + }, + { + "id": 2793003806953541, + "content_hash": "0bd257c0d46107f643215598d9f4e56e8dfea2350e0b2901ce881760d80b705e" + }, + { + "id": 2793010820304965, + "content_hash": "6facfe006e4babffa8d56cb2bf16c7264de8edf66ad60aa24dd7ad0352dab948" + }, + { + "id": 2793012902121605, + "content_hash": "37ccfb545e97e145c61752a916e9328237e101bcb987d144a493c6df31f47fad" + }, + { + "id": 2793012902154373, + "content_hash": "c7ed5c85b496b1f92ea1a0e77a83e02d599ce18f8f011f58fa6898f7ef174e35" + }, + { + "id": 2793012902203525, + "content_hash": "906605fe532a5859ddb9ab9a8ee5961fb044815f7c1824d27108301bb3da6bf1" + }, + { + "id": 2793012902236293, + "content_hash": "af67f486c7543e7ec177ceda65110231f1f639059e8e8f8664ee45215019a9e1" + }, + { + "id": 2793012902285445, + "content_hash": "5733820c42a0a0978f31e1a3c851e17a5250e748d809b3ef809de701774b02f9" + }, + { + "id": 2793012902318213, + "content_hash": "21c2af08893e056b560c3895cb23b1c8b4a4f923bd2c187bfee55a896921c615" + }, + { + "id": 2793012902367365, + "content_hash": "b65da8fd02ea8e87629e07c4613428f9bfac7677f683e82e69915df391e2c7ce" + }, + { + "id": 2793012902563973, + "content_hash": "c4a4d065f4b840bb1e48399f50cf26f47a7d16dbe6d84d22ca400406463bb088" + }, + { + "id": 2793016660660357, + "content_hash": "4f62704d8b471a204de94db3b50d68a64e8e7352a9fd9c074e238be469148d53" + }, + { + "id": 2793017278533765, + "content_hash": "6da25c33731be6ed0964c76ad91a0862919ed404f7e4897b7301f012f331d08d" + }, + { + "id": 2793018776604805, + "content_hash": "daad7f15a2f8a8a2ca2a974adda904f4c5ce84f1ac635884031b9ad542963b15" + }, + { + "id": 2793018776653957, + "content_hash": "cff03dd7cbbe03a3798215dacfa7872c9c99fddb902ba64c6cfbc0b55494ef55" + }, + { + "id": 2793018776735877, + "content_hash": "3671f65e1b03307c852df935c96c32947ec20fcbca718420b72400ecd2665d8a" + }, + { + "id": 2793020259897413, + "content_hash": "e37060783fb9d6cff3ec22944ed32331485ac68f5133be2c5eb27bf8b4accd86" + }, + { + "id": 2793020259946565, + "content_hash": "625114f7ff546725806b2208269ff67b92706a1101a1501f363bb44ecdfb85d7" + }, + { + "id": 2793020259995717, + "content_hash": "14c35bc47f7ba4039c3b0782fcbacb9c2b7c184e5eb04d037cbf9bffca3f2c6e" + }, + { + "id": 2793020260044869, + "content_hash": "edf6a69cba38adaeed8c159451e9788523d551bc48f3042a52d81ac6d9ff3757" + }, + { + "id": 2793023960551493, + "content_hash": "14f8de795d882d329836b29aa2a872ec7fedd1b7e04929bdffc83e1882d348b8" + }, + { + "id": 2793023960633413, + "content_hash": "bda679b1088c6221a9a28918abe792bc35cec68a8940ba81c2e94e4ac23def14" + }, + { + "id": 2851642813353477, + "content_hash": "3bc41f13d492ea51ab6e303bbb1efd076ad093db626b949e9b40fb26ea9d36cf" + }, + { + "id": 2942056832061125, + "content_hash": "2a6ac9f860de84808d531662b6df10f4e63c5ec437d7639d3020d04486713d20" + }, + { + "id": 2956247996190021, + "content_hash": "5703f784ef1f4f62b641a16088c4ee137b51ca34a67a840fbc5e1686b2828486" + }, + { + "id": 2793022145302597, + "content_hash": "d10b11ab1540af23042e09a8522549782457adb52faf15e93c7530d5db1b37b6" + } + ], + "pages": 1, + "skipped_missing_pk": 0, + "errors": 0, + "error_detail": null, + "compare_content": true, + "content_hash_supported": true + }, + { + "task_code": "ODS_GOODS_CATEGORY", + "table": "billiards_ods.stock_goods_category_tree", + "endpoint": "/TenantGoodsCategory/QueryPrimarySecondaryCategory", + "pk_columns": [ + "id" + ], + "records": 9, + "records_with_pk": 9, + "missing": 0, + "missing_samples": [], + "mismatch": 0, + "mismatch_samples": [], + "pages": 1, + "skipped_missing_pk": 0, + "errors": 0, + "error_detail": null, + "compare_content": true, + "content_hash_supported": true + }, + { + "task_code": "ODS_STORE_GOODS", + "table": "billiards_ods.store_goods_master", + "endpoint": "/TenantGoods/GetGoodsInventoryList", + "pk_columns": [ + "id" + ], + "records": 172, + "records_with_pk": 172, + "missing": 0, + "missing_samples": [], + "mismatch": 77, + "mismatch_samples": [ + { + "id": 2793025844727877, + "content_hash": "025c15fc5ba35889ad8c54edfe0fd8272d3eba447aa3bc68c0e3f6ae4f2c6739" + }, + { + "id": 2793025849102405, + "content_hash": "7b4c99882ec640b7c14f644c5796baa78e51d17cfb128df119c65bed03e3e44a" + }, + { + "id": 2793025845825605, + "content_hash": "35d9404c0feb349f74ee2edfd34cce9f62580b6205708645216f1c6936a0411e" + }, + { + "id": 2793025849593925, + "content_hash": "de9ace648df358433e40a49a932f729a8dcc5b9e497b331c4a15117f88367f63" + }, + { + "id": 2794695800934533, + "content_hash": "5d10ff95587dec237e457e8e938b7f6adf82a30970b7511eac835803b37d8eae" + }, + { + "id": 2794695801409669, + "content_hash": "5cd60a5a938e8a79604bdc944bf5c7588feab2540e56a71b8857928c14b3c01f" + }, + { + "id": 2794695801589893, + "content_hash": "608833b54c8d113b32b5afd6c9bcdde24ab435617e6fbf3d36c09f0d190b820e" + }, + { + "id": 2794695801753733, + "content_hash": "e21c0a32720309425119907f303519f1b0334a8061dcb0c75ffed2b182a91195" + }, + { + "id": 2794695801917573, + "content_hash": "3d9c60f344a1f12a4702a8a2c0538625fc9a5696cb790f8e98b47624e91d7b3d" + }, + { + "id": 2828836772432837, + "content_hash": "6a0d7318cd212782aa97d931dff6dd8c043721138ad8b394a641cdc951d90818" + }, + { + "id": 2878393200266693, + "content_hash": "cf76b0f7fabfc95d747f427e1a49d0aa82532a777e25486091cf987f9fe1c4ee" + }, + { + "id": 2959253027243589, + "content_hash": "9045dd7a4ee4a1b0441ffca7055859b72ce8c279c8a6fb58348a4d9ee29ecb69" + }, + { + "id": 2793025860145221, + "content_hash": "ae10b2893d02e3301f3cc7b86f465fb80f9786e859c04a55671745360a94bce0" + }, + { + "id": 2793025861128261, + "content_hash": "20c1d19ef2949a4351e068e9f8dcc261d81a9ae2a5661d4cf4f5b920953c8c74" + }, + { + "id": 2793025861308485, + "content_hash": "085e626bfebfc7f28b0559d9248e6c36900032945c8ab785824c8a188440a250" + }, + { + "id": 2793025861505093, + "content_hash": "db44806d13c8115c57351be0dfd4fd8eaea8f1ecfa7fb716c7fc2ae0394bcd6d" + }, + { + "id": 2793025861685317, + "content_hash": "452feb1a8a04a8e2ff0ca8c94348d6f81abfd1757dd45f2f0a909f55466923d7" + }, + { + "id": 2793025862438981, + "content_hash": "e90e7eee5636b796d3a92ba4623cd12d8429b54c3c9f857a0221b2b82854718f" + }, + { + "id": 2793025862963269, + "content_hash": "61a6f16b5f233b310a36d8449c52f5e92be2da84fba78dd63fbf4eec26f4a85d" + }, + { + "id": 2793025863127109, + "content_hash": "6f88fadde353aad71c78c4ed439641ea53a4a1560e5de06610956ce1e4c26c02" + }, + { + "id": 2793025863290949, + "content_hash": "b48f9af3a106c1eee3c6706ed46d444fc4144655499f2cd4a5930eeeac389758" + }, + { + "id": 2793025845399621, + "content_hash": "735b87c358892e1df55c8a411d8904b2a79c71af0a4bfeec2c983d3a2a634c2b" + }, + { + "id": 2793025846464581, + "content_hash": "7d057dc5054841a361ebc6dbf6a898597d4b6b2592e2493c2db801725a3e09b7" + }, + { + "id": 2793025847595077, + "content_hash": "e3cfe6fb5e843e7e212028bd87832ad23135673303ebc4a1edf49fa93452fd5e" + }, + { + "id": 2793025848102981, + "content_hash": "688fe9044c896e280828fa763769b22cb74ba19d96e6252741a2d9320590f244" + }, + { + "id": 2793025850576965, + "content_hash": "11b468c595981b93d0d79b1d75cb9da028b31b94c94e707ca97276fbcb8e3395" + }, + { + "id": 2793026186891333, + "content_hash": "aed2ab2803b0e10cc55005b28dc67be1c68869555c905bf93c36909d8b8a4453" + }, + { + "id": 2793026187071557, + "content_hash": "12229f7ee3163c7f884d246b5af3a65c51e63c84379a47e6239522937fe48b12" + }, + { + "id": 2793026187235397, + "content_hash": "f4c32ff0835c00eff54d001e0dbddc059a6fd448ef6d97698446f113ceb45b5c" + }, + { + "id": 2793026187563077, + "content_hash": "f63b71a3c744a6c70f9a9beef419a3a7ecd47a494cb2ad45b72b3e97ea48448d" + }, + { + "id": 2793026187726917, + "content_hash": "78ddc37419b11c5458a3c0a14fc1434ebf79f715ea20231880c02e887fda20b8" + }, + { + "id": 2793026188415045, + "content_hash": "ce0e2a6573c9d5a414ef36d961d956489f4bf9df880ed98d37e75ea9751234b0" + }, + { + "id": 2793026188578885, + "content_hash": "e4520dbe6bd5ae58886dd51cd7fe67f599a20d5821063786156f9b30342959f8" + }, + { + "id": 2793026432585861, + "content_hash": "0bddcdfbc6e2d04dcb6fd4c9e5c0d448344f6b5a3a1167405f2b71f4de69d861" + }, + { + "id": 2793026432733317, + "content_hash": "eae280edf9908ccaf9aefa5d7e8027738a96454bbc7f40f6b493bd6c7b7b058c" + }, + { + "id": 2793026432913541, + "content_hash": "efffb9a0f31a45dfebb54ce10146fa552b4a396aaee517f11ca469b2c524e41e" + }, + { + "id": 2793026433405061, + "content_hash": "43005b4cadb9922d3452acc45884d640fad03433b37d11297e711acfca3928af" + }, + { + "id": 2793026433568901, + "content_hash": "c38eb2a7c8fc44ab76d1356bd58886d5e640a0f7db569f267b5e546593c411b1" + }, + { + "id": 2793026434568325, + "content_hash": "a19e18fe007a2c224c44bbeb0c1c63c70b04bb7ce9dd87029e7d7c853831e395" + }, + { + "id": 2793026434715781, + "content_hash": "5879bebdb60079ebc45dcd543090513a53c0611e98605ce183699b067bb5a1c3" + }, + { + "id": 2793026434863237, + "content_hash": "a43873e4d27e6ad726f22a89d6c1616ac6895bc33b99149c68050dee959a3c1e" + }, + { + "id": 2793026435027077, + "content_hash": "71f740c7868e83c0b91701c444598c36de2ed37b9af8e07709bd1b4c5db40db5" + }, + { + "id": 2804514498563141, + "content_hash": "914f9ff9062991b93355592deadbd1d33aa9c8ba2dc2c2d899cdd8686192770a" + }, + { + "id": 2823321361894405, + "content_hash": "6f2c37209dfe93862defa5d226f241e189adbe36e2b7816da50bd8fbd73ed5d9" + }, + { + "id": 2826003636177861, + "content_hash": "ec78c0358b9ee6a938910fae81bac18a2c7e59b77408209728cdd2be829c7361" + }, + { + "id": 2834064312256837, + "content_hash": "84e8dd7d9388bb1270d5202c612fdecb928f3096f1312fbd073c3dc3686dfdea" + }, + { + "id": 2966339994143941, + "content_hash": "fc773234160363b1164cf2118cd5e438e1a3b9b7737a16e8e8ee16722bd6b4f7" + }, + { + "id": 3073782716778501, + "content_hash": "ec7d370fa90751e55b3d13a08e3ddf3342e901b9484648e72be01a4a31e6ff88" + }, + { + "id": 2793026185154629, + "content_hash": "bb5d66cc55023b1b6ad1f582803f9d9bd631e10a0c644038c65b8833221f6bb0" + }, + { + "id": 2793026186563653, + "content_hash": "2e243bb0dc2db30a6d5d18d489ee059ee7adfb47f066823b02017381d114dac4" + } + ], + "pages": 1, + "skipped_missing_pk": 0, + "errors": 0, + "error_detail": null, + "compare_content": true, + "content_hash_supported": true + }, + { + "task_code": "ODS_TABLE_FEE_DISCOUNT", + "table": "billiards_ods.table_fee_discount_records", + "endpoint": "/Site/GetTaiFeeAdjustList", + "pk_columns": [ + "id" + ], + "records": 1776, + "records_with_pk": 1776, + "missing": 0, + "missing_samples": [], + "mismatch": 15, + "mismatch_samples": [ + { + "id": 3076456429356677, + "content_hash": "8a97168787f45bd49687465a23efa4f56fb2142f35ee1336f715339d1be9e1fd" + }, + { + "id": 3076455565591941, + "content_hash": "0200a428169a577407afd444f545a0467a7ab2b354b07ee162b5530c153e0157" + }, + { + "id": 3076454348965253, + "content_hash": "8058a654a375b02808741983def691afa24f32e4be38590999cd202b546a2848" + }, + { + "id": 3076324808672901, + "content_hash": "001b0cced124147a61675cbc0d5c316a0ed64c18da4b328036d2f00b2c347799" + }, + { + "id": 3075796678313413, + "content_hash": "0978f5b5d6cb09d84c5cdf1259a1803171089751ca7e61e9b88ab9f7ccd0f56a" + }, + { + "id": 3075750062818757, + "content_hash": "6a983f0bf24627613fd375a9ff686cd53d7fcfb4f73d973dd8ee427a3c17fa98" + }, + { + "id": 3075626779002309, + "content_hash": "5f1b0e315ab0654f17734b3b54936bd501ad454b66c3da661fb18b4891f4c54e" + }, + { + "id": 3075502544193157, + "content_hash": "39a0960cd987ec2b23e5581abc35c4317938c6220d93b622406c1414e521e603" + }, + { + "id": 3075502544144005, + "content_hash": "598e107a83f47df4516402058c73ffadc3885e3e19abd7932b8d91f4d1fcb9e4" + }, + { + "id": 3075502544225925, + "content_hash": "3dcf8130a04a486f83c3918ef6247b629671f5cc7f491131913d8363cd3e47f3" + }, + { + "id": 3075502544111237, + "content_hash": "4bd1cb4bf649c09a65f22db9a715205d848ea7d96d86b3454bab316020ffecc5" + }, + { + "id": 3075473006429765, + "content_hash": "e30bd3bfac13e2213fd9445a7fbc0d6a0f8d64fc139ca69d55f9d6ef98319b35" + }, + { + "id": 3075473006380613, + "content_hash": "ae191823a826cc4689218a5f54014931e3ac2be1b33cd6384348dbfcbc2f9a9d" + }, + { + "id": 3075443238110661, + "content_hash": "494fa014b724e7b120a74d7dacadd3a4c107df4ead17df2c9dda2090f174cb32" + }, + { + "id": 3075437388203397, + "content_hash": "15660e4abbcd3a51881d3145ea2cb794c569c98d79323188af8136e817797ce5" + } + ], + "pages": 9, + "skipped_missing_pk": 0, + "errors": 0, + "error_detail": null, + "compare_content": true, + "content_hash_supported": true + }, + { + "task_code": "ODS_TENANT_GOODS", + "table": "billiards_ods.tenant_goods_master", + "endpoint": "/TenantGoods/QueryTenantGoods", + "pk_columns": [ + "id" + ], + "records": 173, + "records_with_pk": 173, + "missing": 0, + "missing_samples": [], + "mismatch": 0, + "mismatch_samples": [], + "pages": 1, + "skipped_missing_pk": 0, + "errors": 0, + "error_detail": null, + "compare_content": true, + "content_hash_supported": true + }, + { + "task_code": "ODS_SETTLEMENT_TICKET", + "table": "billiards_ods.settlement_ticket_details", + "endpoint": "/Order/GetOrderSettleTicketNew", + "pk_columns": [ + "ordersettleid" + ], + "records": 249, + "records_with_pk": 0, + "missing": 0, + "missing_samples": [], + "mismatch": 0, + "mismatch_samples": [], + "pages": 2, + "skipped_missing_pk": 249, + "errors": 0, + "error_detail": null, + "source_endpoint": "/PayLog/GetPayLogListPage" + } + ], + "total_missing": 5, + "total_mismatch": 1155, + "total_errors": 0, + "generated_at": "2026-02-01T17:31:39.599809+08:00" + }, + "ods_to_dwd": { + "tables": [ + { + "dwd_table": "billiards_dwd.dim_site", + "ods_table": "billiards_ods.table_fee_transactions", + "windowed": false, + "window_col": null, + "count": { + "dwd": 1, + "ods": 19019, + "diff": -19018 + }, + "amounts": [], + "mismatch": 0, + "mismatch_samples": [], + "mismatch_error": null + }, + { + "dwd_table": "billiards_dwd.dim_site_ex", + "ods_table": "billiards_ods.table_fee_transactions", + "windowed": true, + "window_col": "create_time", + "count": { + "dwd": 0, + "ods": 230, + "diff": -230 + }, + "amounts": [], + "mismatch": 0, + "mismatch_samples": [], + "mismatch_error": null + }, + { + "dwd_table": "billiards_dwd.dim_table", + "ods_table": "billiards_ods.site_tables_master", + "windowed": false, + "window_col": null, + "count": { + "dwd": 74, + "ods": 74, + "diff": 0 + }, + "amounts": [], + "mismatch": 0, + "mismatch_samples": [], + "mismatch_error": null + }, + { + "dwd_table": "billiards_dwd.dim_table_ex", + "ods_table": "billiards_ods.site_tables_master", + "windowed": false, + "window_col": null, + "count": { + "dwd": 74, + "ods": 74, + "diff": 0 + }, + "amounts": [], + "mismatch": 0, + "mismatch_samples": [], + "mismatch_error": null + }, + { + "dwd_table": "billiards_dwd.dim_assistant", + "ods_table": "billiards_ods.assistant_accounts_master", + "windowed": false, + "window_col": null, + "count": { + "dwd": 69, + "ods": 69, + "diff": 0 + }, + "amounts": [], + "mismatch": 69, + "mismatch_samples": [ + { + "assistant_id": 2793363001774149, + "ods_hash": "0774ca8ce64facac289eaeced2665034", + "dwd_hash": "f6d8864448ba1fb599f9baa66a2cf495" + }, + { + "assistant_id": 2793530479530053, + "ods_hash": "b72853f7bd5379c11a6c923b6b4f02a7", + "dwd_hash": "508056eb048661b5cfc36eae1db58527" + }, + { + "assistant_id": 2840060593686213, + "ods_hash": "897e25b2be663a99bb5d6d6f3a436b6c", + "dwd_hash": "c64fb8c73af758e82819cb534f27cc9d" + }, + { + "assistant_id": 2861304461364293, + "ods_hash": "18b954a759b6ea861725b62b731eb0c9", + "dwd_hash": "65bb35f9e52597bd968736e61f03fa33" + }, + { + "assistant_id": 2964640248745157, + "ods_hash": "e756c0f02b97c7270a07fe75990f5e85", + "dwd_hash": "cc692ee3f2bf82b10ef7ac789258eee2" + }, + { + "assistant_id": 2964673443302213, + "ods_hash": "0743379dda24ca4932a1df62de0cfeef", + "dwd_hash": "c5e933a70847f8ba99d80747b371a15a" + }, + { + "assistant_id": 2793361915547781, + "ods_hash": "5c302727440ded26a2de5c150cc8755e", + "dwd_hash": "1f39ea835f82b35fe46b54d8abad1e32" + }, + { + "assistant_id": 2793399247179845, + "ods_hash": "28a6f80d94b35b7d0d10accad9a24070", + "dwd_hash": "e4cb6dce1ad4f402f8e6a25a97bc3f3f" + }, + { + "assistant_id": 2793405307342917, + "ods_hash": "a59f29e8c9f2e27010779b15188e4c34", + "dwd_hash": "ef6a9378856e1a987245c9d276f62baa" + }, + { + "assistant_id": 2793483330310277, + "ods_hash": "22ce4607fdade4c2f5dabf9640330d2b", + "dwd_hash": "878e34457a90d3fe31c2e8857920c0f4" + }, + { + "assistant_id": 2793486361710725, + "ods_hash": "7d6da6a132bd0ef4875411aa73e169e0", + "dwd_hash": "46771ee14eb0f8fb963a239af477a27c" + }, + { + "assistant_id": 2793489356673157, + "ods_hash": "effe5320db4e88983fffb2d99d53a869", + "dwd_hash": "99c7223bc77a611115e0463a65b23fa5" + }, + { + "assistant_id": 2793500999454853, + "ods_hash": "5cd6afb8d2ac80f81fb493a36bc49e3f", + "dwd_hash": "51c04508c55ace4af09a5bd11921acfe" + }, + { + "assistant_id": 2793510666670149, + "ods_hash": "092a43ae9113baa65b4d896cdd8c8859", + "dwd_hash": "40be9aba0ee8054280e698c1aad8c296" + }, + { + "assistant_id": 2793526116896837, + "ods_hash": "1b8de968fcd76c4de760a4f9a81bba5d", + "dwd_hash": "a694385bc00cf16ed52b95d5586e61cb" + }, + { + "assistant_id": 2793528386048069, + "ods_hash": "37629dadea6113295a52ea063820299f", + "dwd_hash": "4e1293a1ec5e2452582d61c1f917083f" + }, + { + "assistant_id": 2793537168429125, + "ods_hash": "b9c78d8deb8f39b88d9597fe8c14ad2f", + "dwd_hash": "20a7aad6397cf06d16dbfe025c18cdac" + }, + { + "assistant_id": 2793604629450885, + "ods_hash": "331ba0cd8b750748a8b2078a4e98bb99", + "dwd_hash": "36f5cbe91eb7e3b1092ad9cd9461cdcb" + }, + { + "assistant_id": 2795061580517445, + "ods_hash": "e3ef3b54f568c379d9b2a4ebf916a030", + "dwd_hash": "8dbbd1f0022bd367f3491bc3220833ce" + }, + { + "assistant_id": 2799129430166597, + "ods_hash": "9a606e08948f45653900127b0d343521", + "dwd_hash": "e4b1fe7fa1b2174712d8d38c293a8271" + }, + { + "assistant_id": 2799135415192645, + "ods_hash": "3cf5a2cb5452534977c31d5a4c67e281", + "dwd_hash": "b325087f437bf6d21452e671331d9251" + }, + { + "assistant_id": 2800501459422085, + "ods_hash": "3b124aab8fb661d414fccc44267280c2", + "dwd_hash": "2321e2249da6701cd77a94af01c49722" + }, + { + "assistant_id": 2806132026100805, + "ods_hash": "ab53be44fd04fa2387fbf879b2b953f3", + "dwd_hash": "65803bd3dabaf5a88413d82961e7ec71" + }, + { + "assistant_id": 2807673321458757, + "ods_hash": "417a62f37b6f8a2644168741594f9b2a", + "dwd_hash": "636fed91f00255e082546d54e0092769" + }, + { + "assistant_id": 2808873057863749, + "ods_hash": "a8c185c9e30a2557925303454c4e40d8", + "dwd_hash": "b142f3abd44d3783602bcc302dde5c76" + }, + { + "assistant_id": 2815977780611909, + "ods_hash": "694213a255dfc91a568fe33bd26ed386", + "dwd_hash": "efecd21f9aaeb0510c4f2ee5b0f0a7d5" + }, + { + "assistant_id": 2815988587039749, + "ods_hash": "d9a887971b1baf2d76180fbb6eeeb968", + "dwd_hash": "b871b145f5a43c920c7980c53f7019c4" + }, + { + "assistant_id": 2834411250190470, + "ods_hash": "4c8fc9124bd1720ee0e635e91b03a1c5", + "dwd_hash": "6b784f97a5be674b54465f4b10e4c1a4" + }, + { + "assistant_id": 2840752795895493, + "ods_hash": "2ba1ddcb410f8ab07079a450987cc8a8", + "dwd_hash": "5722af676192fcab9f2579d3d49d250a" + }, + { + "assistant_id": 2841614135707141, + "ods_hash": "77b38aa6856634ce28a9958f5fc629ba", + "dwd_hash": "48d19c83f979deaecd7db81f383227d6" + }, + { + "assistant_id": 2851377027190277, + "ods_hash": "5b422ea52752d3fd6a4e2fbf5b28022d", + "dwd_hash": "85f68b929c4e191949236f2d99c96a2c" + }, + { + "assistant_id": 2859776051579717, + "ods_hash": "6d501f18b24e10689944b9571fa89faf", + "dwd_hash": "c8e49420444596baf311a6e41f2d0e4d" + }, + { + "assistant_id": 2859778261961541, + "ods_hash": "fe0bde9a593eecb27c30c1cb22eb3528", + "dwd_hash": "4cff61d22071f0f1e2c1490a35409449" + }, + { + "assistant_id": 2859802158598981, + "ods_hash": "f5ce6538853056ce811de41ae18afc9a", + "dwd_hash": "bef7eb0edf23cd9bb8e2ea21a7b43370" + }, + { + "assistant_id": 2859886363986821, + "ods_hash": "51c3b0c7be0acf5d2e6680a6aee0dd84", + "dwd_hash": "61cf43bfb44ff0f9e0654828d6254fb9" + }, + { + "assistant_id": 2861303933570181, + "ods_hash": "1736877ede262e22d071f6b85c3e105f", + "dwd_hash": "cca5ac84d2e3aba3524207f31e76c6a3" + }, + { + "assistant_id": 2793493699088517, + "ods_hash": "9d6ec799b265a92c05433610389e4f9b", + "dwd_hash": "aff94d5090ceddd70c49b58af5ff8832" + }, + { + "assistant_id": 2793532503855173, + "ods_hash": "23fa5b04b22e82d9a25ca9c8ec24714f", + "dwd_hash": "1268af1c1701e66cf9cbef4691920f3d" + }, + { + "assistant_id": 2862632135689606, + "ods_hash": "920ac07c373ca0b0a9694982a6192484", + "dwd_hash": "d7e3cb9d102c0334222daf466a6103f6" + }, + { + "assistant_id": 2866961022749829, + "ods_hash": "1ec6e8b801a1729cbc98019faab3b05b", + "dwd_hash": "36d84fe114014da5529fad55e93d29ea" + }, + { + "assistant_id": 2866962315594885, + "ods_hash": "338b3292ea9fe1657d2a88a885ce4aa8", + "dwd_hash": "9f1451483dff68780def3977cc3dda34" + }, + { + "assistant_id": 2866964303400005, + "ods_hash": "0b8f7f2481c59e12c069b06d75354d8b", + "dwd_hash": "04b3015a92957bb092d09965ea7740a3" + }, + { + "assistant_id": 2889708249270149, + "ods_hash": "1ce7281bf6d351137596fd9ce6cdb2b2", + "dwd_hash": "0f6246df879c9ffae45e50920ae0ad2d" + }, + { + "assistant_id": 2907961535433285, + "ods_hash": "24dc2043187ae584b80a09490afb447d", + "dwd_hash": "85d62fdc4d7ac44e8bd98e0430dc4c00" + }, + { + "assistant_id": 2907972756342981, + "ods_hash": "1b1930f9b45b94559e1867ee8a6e7aca", + "dwd_hash": "afd886b857619537412bb5a8a5ccfc95" + }, + { + "assistant_id": 2920786464294661, + "ods_hash": "9b5a067b99fefef3b152162936cf4f11", + "dwd_hash": "a9c7ebfe758ef0ab8abf49d0de882244" + }, + { + "assistant_id": 2920799537645381, + "ods_hash": "538f318f7813907ae1a33294e2487992", + "dwd_hash": "73b58837794adbfc48e0ba41cf554a39" + }, + { + "assistant_id": 2929246850797189, + "ods_hash": "a8b3a8679af796a2a15adba5784e300b", + "dwd_hash": "a7714b7b588e7d39104e43dfc9deb29f" + }, + { + "assistant_id": 2946261384596293, + "ods_hash": "9296d50103cf8aad5c32ca349ea12d26", + "dwd_hash": "d34d0c6e77656627c9dc7597db5849f8" + }, + { + "assistant_id": 2946266869435205, + "ods_hash": "55a51a3258f7cc7a8654b9bcf9845791", + "dwd_hash": "5f78fc19dc1776eca0b494d6cb44cc9d" + } + ], + "mismatch_error": null + }, + { + "dwd_table": "billiards_dwd.dim_assistant_ex", + "ods_table": "billiards_ods.assistant_accounts_master", + "windowed": true, + "window_col": "create_time", + "count": { + "dwd": 0, + "ods": 0, + "diff": 0 + }, + "amounts": [], + "mismatch": 0, + "mismatch_samples": [], + "mismatch_error": null + }, + { + "dwd_table": "billiards_dwd.dim_member", + "ods_table": "billiards_ods.member_profiles", + "windowed": true, + "window_col": "create_time", + "count": { + "dwd": 0, + "ods": 0, + "diff": 0 + }, + "amounts": [], + "mismatch": 0, + "mismatch_samples": [], + "mismatch_error": null + }, + { + "dwd_table": "billiards_dwd.dim_member_ex", + "ods_table": "billiards_ods.member_profiles", + "windowed": false, + "window_col": null, + "count": { + "dwd": 556, + "ods": 556, + "diff": 0 + }, + "amounts": [], + "mismatch": 0, + "mismatch_samples": [], + "mismatch_error": null + }, + { + "dwd_table": "billiards_dwd.dim_member_card_account", + "ods_table": "billiards_ods.member_stored_value_cards", + "windowed": false, + "window_col": null, + "count": { + "dwd": 945, + "ods": 945, + "diff": 0 + }, + "amounts": [ + { + "column": "balance", + "dwd_sum": 353475.18, + "ods_sum": 353475.18, + "diff": 0.0 + } + ], + "mismatch": 945, + "mismatch_samples": [ + { + "member_card_id": 2799218552833797, + "ods_hash": "d31265a2b992254be118a8a6db30f029", + "dwd_hash": "897a7448d0e3ccdc3aac3ef8b5e04578" + }, + { + "member_card_id": 2799216572794629, + "ods_hash": "cf4ac78e56d8cbcbd3675cdca4b83ce1", + "dwd_hash": "20b0261573d0ddfdc960d4737976473e" + }, + { + "member_card_id": 2799216912434949, + "ods_hash": "7cafe95c819678165bf120d40a12c053", + "dwd_hash": "a6862b792a900cc9be262d34f55b961d" + }, + { + "member_card_id": 2791994266619781, + "ods_hash": "5c9e465462e983fef41077a8d678f199", + "dwd_hash": "2a893c2976d3292e8989ee51153ada9e" + }, + { + "member_card_id": 2793254697453573, + "ods_hash": "f608c279f05725027d17eb4695e25bde", + "dwd_hash": "4c1a05ccd660ad08f7aaac9938fb2566" + }, + { + "member_card_id": 2793268303710149, + "ods_hash": "8e3375bf269af4b38ea740ca7b30662c", + "dwd_hash": "a59381ba5d86e3caba1aa55c66199dc4" + }, + { + "member_card_id": 2793308329789317, + "ods_hash": "7a3d49bbab03504805715df1c13cdbca", + "dwd_hash": "bc34ad51397bd472ce313441f3b890f5" + }, + { + "member_card_id": 2799215867168517, + "ods_hash": "1542c0d61d8d12da447ee71cc1858420", + "dwd_hash": "a1c8d5e718a342bda888bd3a6192caa7" + }, + { + "member_card_id": 2799215872657157, + "ods_hash": "b4eefa77ba80b5820813e92e73ef7893", + "dwd_hash": "14ffd3026a9bddd1da62545b05e5efa3" + }, + { + "member_card_id": 2799215877195525, + "ods_hash": "98749b317f63de55938404ad221dcf47", + "dwd_hash": "5a0d0b98207bc68df42f3c1d370b4e8b" + }, + { + "member_card_id": 2799215882176261, + "ods_hash": "9eba7639809ebe9bd2888127c98f5c5a", + "dwd_hash": "d18b3078f547faeecd17e5da82c2afb3" + }, + { + "member_card_id": 2799215886796549, + "ods_hash": "664cf538788e802a229fc644efd78cce", + "dwd_hash": "3433321f2473561edf3b76d71412ce01" + }, + { + "member_card_id": 2799215892219653, + "ods_hash": "1511b76a3b0461365f1db765035eb143", + "dwd_hash": "c30556d52f5d9e7d142b4cc09b61c3c3" + }, + { + "member_card_id": 2799215897331461, + "ods_hash": "e4695f9e61975fb1141598a9f5fc2f5c", + "dwd_hash": "c607c57b0a0d59c7287df2df223f6b4d" + }, + { + "member_card_id": 2799215901869829, + "ods_hash": "45503c3e1ce78c9342779ca2140d0432", + "dwd_hash": "886a1f7b5da597c376dc14f6b250682d" + }, + { + "member_card_id": 2799215906440965, + "ods_hash": "dcfd7d61d7dd044dd684d9db1c8e7f42", + "dwd_hash": "49bb1f415848a7f3ccc16950f6736771" + }, + { + "member_card_id": 2799215912814341, + "ods_hash": "70c617a82007f22a36b64c99e08acff2", + "dwd_hash": "f386b08dca2f0f971bc29638308f3973" + }, + { + "member_card_id": 2799215918532357, + "ods_hash": "84bcb9b5138cf46541a2b13ecf30627a", + "dwd_hash": "279fa2bf054d1fc86930b487a8ce3c6e" + }, + { + "member_card_id": 2799215923578629, + "ods_hash": "71b25aa2ede09b45c77e19f8c636c654", + "dwd_hash": "8f39c5651aeef8960dfe6bafb1866360" + }, + { + "member_card_id": 2799215929050885, + "ods_hash": "39b765d742bd857554f0b2fbeb7fd7ac", + "dwd_hash": "438c91bfa71fd6d88277a53d60f929bd" + }, + { + "member_card_id": 2799215934686981, + "ods_hash": "fe37b27e5f5b013b2982a4c1f7656fdd", + "dwd_hash": "fadbbe07a38744520fa994e8b52058f9" + }, + { + "member_card_id": 2799215939651333, + "ods_hash": "297a7662f477c9e851fe27f51b754601", + "dwd_hash": "fbd26151a0f928bcf882a6ac36ff7462" + }, + { + "member_card_id": 2799215946073861, + "ods_hash": "5b38a2f3d58f227ef9b4d4c47669f3a4", + "dwd_hash": "66b4b5426a03ab7fddb9a10c56a00fba" + }, + { + "member_card_id": 2799215950759685, + "ods_hash": "3df3ed6afb42cae5c66024205d690133", + "dwd_hash": "a7a7fcbc1ff9ab9a73bd3921001cd6c2" + }, + { + "member_card_id": 2799215956576005, + "ods_hash": "09ff3ae1019129f1fecc671de7bced2b", + "dwd_hash": "7a54a8e95fccb8cfea7de1fcb3c50c12" + }, + { + "member_card_id": 2799215962556165, + "ods_hash": "dd4141c9a2a7fb65079c8a9a2623eaf6", + "dwd_hash": "2e97352c24e4377acdc08d00c2097536" + }, + { + "member_card_id": 2799215967487749, + "ods_hash": "a12e27d41c6e7518eff8099fcc304121", + "dwd_hash": "6842992a54c00a2ac838147280542c8d" + }, + { + "member_card_id": 2799215973451525, + "ods_hash": "cbab621e654b452974c48c5933fcd1a5", + "dwd_hash": "e9b05a7f7944155ff3534ec2adc0ac61" + }, + { + "member_card_id": 2799215978317573, + "ods_hash": "a4360dfb6e9a253ee17cb62899f69be4", + "dwd_hash": "f6ca231bb6e71da38d13dbc758c10cc1" + }, + { + "member_card_id": 2799215983609605, + "ods_hash": "1fc450d9e439961aed3ed3aef4da3fd4", + "dwd_hash": "69ad7ce2db0d42c0b9e458ba6f621df8" + }, + { + "member_card_id": 2799215988246277, + "ods_hash": "f39e9236912c630df5c2c0eaaaad9697", + "dwd_hash": "e7c8640d1d3304a95769bc146d6ea899" + }, + { + "member_card_id": 2799215993554693, + "ods_hash": "d4762d678c1c32dc0a7be4c522b955b0", + "dwd_hash": "83572775a1440d554432ebfd2d11d511" + }, + { + "member_card_id": 2799215998420741, + "ods_hash": "ccdb981a3ddf9255401e3e35d2c343fd", + "dwd_hash": "ee3b03f30a976300ba60f518ca0954e7" + }, + { + "member_card_id": 2799216005367557, + "ods_hash": "17b96dd20ba13c4e49b7a265c8523c1a", + "dwd_hash": "3729753a54794d090eb4ff82990dbe1a" + }, + { + "member_card_id": 2799216011511557, + "ods_hash": "33ec23ad6fac7e94d5d58de03c97ee17", + "dwd_hash": "bd6d883c39e2a947f70316a28ea1ce42" + }, + { + "member_card_id": 2799216016361221, + "ods_hash": "ba903ae66677a16ea52c10d103ee272c", + "dwd_hash": "267c8e05f2731f8b76c391edfaef34a9" + }, + { + "member_card_id": 2799216021210885, + "ods_hash": "95643ae42c38b6ab51b3ec3a1083392a", + "dwd_hash": "398ffae83f9f90da96b1c14386b11740" + }, + { + "member_card_id": 2799216027404037, + "ods_hash": "f1a2d1792852b110cecca72f1dff4d1b", + "dwd_hash": "184aa11db77cff6299fd8bb947046067" + }, + { + "member_card_id": 2799216032155397, + "ods_hash": "0b4dae5fe45717b9773843cbf3d7553a", + "dwd_hash": "5a5c48b73e8a65df15d8db862594b99e" + }, + { + "member_card_id": 2799216038610693, + "ods_hash": "03b2280164977a316e79af17ece24e66", + "dwd_hash": "e9c06cf1c5f03ef776f198f8a6e5cef7" + }, + { + "member_card_id": 2799216044099333, + "ods_hash": "c444e054a93dd7f99d16639da4501362", + "dwd_hash": "b98e5ec48e230a83247a7dbac4031a24" + }, + { + "member_card_id": 2799216049293061, + "ods_hash": "72c33ea8bee5b425550aa295cbcdad84", + "dwd_hash": "6810bce8c7d5546dae139d0d44843ccf" + }, + { + "member_card_id": 2799216054093573, + "ods_hash": "9c0eabbef9017423fada43faf19aa3b7", + "dwd_hash": "53c2e836e39b4d59b8de5ea20fbb166e" + }, + { + "member_card_id": 2799216058763013, + "ods_hash": "bf3e612b7829baa6d2658d24e0e01eab", + "dwd_hash": "9b647463ac262da11a32741797676c34" + }, + { + "member_card_id": 2799216063645445, + "ods_hash": "c54fc77c39a589b4b8d7c76a7ffaf95e", + "dwd_hash": "2fcf6af72c4f2e524d50e1e1f1bc99e6" + }, + { + "member_card_id": 2799216068364037, + "ods_hash": "de182d4c200b1612ac5cc49b01d5a6a0", + "dwd_hash": "6479384863a04560029878e25730c0f6" + }, + { + "member_card_id": 2799216074540805, + "ods_hash": "6ab759c863c16a49233202830ca9fe34", + "dwd_hash": "745e0aeb474d4dd8c2f578338a2a7a28" + }, + { + "member_card_id": 2799216079259397, + "ods_hash": "0b9b5d6aea9859c5f2b6a3916de35627", + "dwd_hash": "b262df07b0fc22f0ba4acca9046e46d9" + }, + { + "member_card_id": 2799216083945221, + "ods_hash": "05f35301c5127b218b61f5ab72e87a06", + "dwd_hash": "afbaed98572c03c900a9c3a4aa02cead" + }, + { + "member_card_id": 2799216088516357, + "ods_hash": "6ab5934c623f1faa7f212e03dec709db", + "dwd_hash": "95c18f1c3109a8b9b3f1f9ac25c7a288" + } + ], + "mismatch_error": null + }, + { + "dwd_table": "billiards_dwd.dim_member_card_account_ex", + "ods_table": "billiards_ods.member_stored_value_cards", + "windowed": true, + "window_col": "create_time", + "count": { + "dwd": 0, + "ods": 0, + "diff": 0 + }, + "amounts": [ + { + "column": "deliveryfeededuct", + "dwd_sum": 0.0, + "ods_sum": 0.0, + "diff": 0.0 + } + ], + "mismatch": 0, + "mismatch_samples": [], + "mismatch_error": null + }, + { + "dwd_table": "billiards_dwd.dim_tenant_goods", + "ods_table": "billiards_ods.tenant_goods_master", + "windowed": true, + "window_col": "create_time", + "count": { + "dwd": 1, + "ods": 1, + "diff": 0 + }, + "amounts": [], + "mismatch": 1, + "mismatch_samples": [ + { + "tenant_goods_id": 3073781669250565, + "ods_hash": "e3f6815e0f634a423ba58744a1ceea13", + "dwd_hash": "6a95316e76a0012db51bde2748c81b55" + } + ], + "mismatch_error": null + }, + { + "dwd_table": "billiards_dwd.dim_tenant_goods_ex", + "ods_table": "billiards_ods.tenant_goods_master", + "windowed": false, + "window_col": null, + "count": { + "dwd": 173, + "ods": 173, + "diff": 0 + }, + "amounts": [], + "mismatch": 173, + "mismatch_samples": [ + { + "tenant_goods_id": 2791925230096261, + "ods_hash": "6295000ad8292012e9cca142387f2710", + "dwd_hash": "d2d73718b0b47b0461c6c29e34f1ea05" + }, + { + "tenant_goods_id": 2792037812375429, + "ods_hash": "7908ae60e56c8ec39f1f0c8c3df1db3d", + "dwd_hash": "934d5d108f5d11ef74c5b8d3f0b1be2d" + }, + { + "tenant_goods_id": 2792038476746629, + "ods_hash": "1ea1398dffb04788fa2f98bc5d531e96", + "dwd_hash": "0ef01bf12935f66dcdb72ed1484e7a27" + }, + { + "tenant_goods_id": 2792039804047237, + "ods_hash": "0ae2045626662c8f481d91ca6d2a1afe", + "dwd_hash": "7f671dab39104f96bf0e271513d2eee9" + }, + { + "tenant_goods_id": 2792044495523717, + "ods_hash": "71ca4491f77d9e7b00cf36fea54267d0", + "dwd_hash": "ecb56250f32e08cf4c69a3a1d06ce111" + }, + { + "tenant_goods_id": 2792045494685573, + "ods_hash": "80d21f7e169974574acfe8ed7eaf7552", + "dwd_hash": "a03cc2607d07709e1e7ca59f5cb918fb" + }, + { + "tenant_goods_id": 2792056126328709, + "ods_hash": "93eb0f595d8059c325ca652bfeb952cf", + "dwd_hash": "1c63377b8eca55d03f4724e1bec6727c" + }, + { + "tenant_goods_id": 2792067181399941, + "ods_hash": "c198043fa70506ba6175d700c9ae4aa8", + "dwd_hash": "bbd018209650d41ffe8a115a7aebb57e" + }, + { + "tenant_goods_id": 2792070008164229, + "ods_hash": "a0e241d9dc6f50fcf015753aa21b3117", + "dwd_hash": "ae3daabf8411f59a87864e92c2d1c355" + }, + { + "tenant_goods_id": 2792072218644357, + "ods_hash": "0109de2091e8295593d9c76d8a25b373", + "dwd_hash": "fd8cf08b421a71839d36869a9b22a61f" + }, + { + "tenant_goods_id": 2792077012225925, + "ods_hash": "cfde005b0e2bf1fdee84531c534cb01a", + "dwd_hash": "ec17913666bc1f5198efdf8063ac35fe" + }, + { + "tenant_goods_id": 2792079352434565, + "ods_hash": "d64b062fa166ff2f8832ac167ef77262", + "dwd_hash": "18bf3faae0f4bdcaa942671419cd01dc" + }, + { + "tenant_goods_id": 2792081036562309, + "ods_hash": "95b1d808c7f6c31a75b9c90014cdea42", + "dwd_hash": "a6c52801c1bdda459ded7338e0abefd2" + }, + { + "tenant_goods_id": 2792082388782981, + "ods_hash": "f4a9283a8d58c0d25bc0b4df05323bfe", + "dwd_hash": "134a02e71b7838d3e9868dbe5ef57409" + }, + { + "tenant_goods_id": 2792083824283525, + "ods_hash": "636e6df49adda6b85ae369b1cca73d20", + "dwd_hash": "004a176f5a14f7ed5983160b5b429f62" + }, + { + "tenant_goods_id": 2792091011796869, + "ods_hash": "5760674d337a4309d0840ea23136ffad", + "dwd_hash": "52f3d90b6f467a9ae0997ebc100f6caa" + }, + { + "tenant_goods_id": 2792095859003269, + "ods_hash": "ce1e534e884027082076163636861b0a", + "dwd_hash": "20101ecf6c83e9499b8f121bebaa99d2" + }, + { + "tenant_goods_id": 2792096750243717, + "ods_hash": "6b29ba3c9f59221cb1aed9d33b925337", + "dwd_hash": "e54384d92fab5efe6108fd8e943d31b8" + }, + { + "tenant_goods_id": 2792098407092101, + "ods_hash": "b15dde728d8bf396bba1dfa87cd64561", + "dwd_hash": "590b86544bebf80674b5edca1e77ae40" + }, + { + "tenant_goods_id": 2792099955609477, + "ods_hash": "baf26768127b447d5c761198a0d30213", + "dwd_hash": "a9a0015a66503a7ef698ce6d91c8069b" + }, + { + "tenant_goods_id": 2792100776005509, + "ods_hash": "8582407fef5c9e400970247eb0352330", + "dwd_hash": "af6ca5653f1185c0a755a73a576df6f3" + }, + { + "tenant_goods_id": 2792102047797125, + "ods_hash": "d06d8a26d51d62df26484a298983c9ba", + "dwd_hash": "bf7d8523e0fca73a75957d89e493c3fd" + }, + { + "tenant_goods_id": 2792102887378821, + "ods_hash": "b8f5bd6a1372c1bbd80ce9ce364c921c", + "dwd_hash": "eeebdc8baa51b5b939d4ab7715df7bb4" + }, + { + "tenant_goods_id": 2792103809126277, + "ods_hash": "4a3dea77a3a9059aaa573e41a20fa169", + "dwd_hash": "94aaff734babba01b024e1c33677beef" + }, + { + "tenant_goods_id": 2792104571834245, + "ods_hash": "eefc6d336dab7a8030542c880593a562", + "dwd_hash": "9b948fe3fefb2f49c0abf1a642a0389a" + }, + { + "tenant_goods_id": 2792105355775877, + "ods_hash": "fa6bf2cbe4692baa55ca99f6b792ac7b", + "dwd_hash": "6aac8dbf5c4f66e3e7cb699de49e3930" + }, + { + "tenant_goods_id": 2792106618703749, + "ods_hash": "8cd99bb8b36516800302a1ff8b144a1a", + "dwd_hash": "db94ee037066bdd27ab1f1977783c3d4" + }, + { + "tenant_goods_id": 2792107453255557, + "ods_hash": "43173c6b20a3def41d8968a375c6541a", + "dwd_hash": "5b2dfeb1cea492e81eed7abc09dc8018" + }, + { + "tenant_goods_id": 2792108242096005, + "ods_hash": "a5c6fb8839618ec46082997bad51491a", + "dwd_hash": "5793f1d73e245a0df272829511e7902c" + }, + { + "tenant_goods_id": 2792109146951557, + "ods_hash": "59f2aeddbc6e6f9d6289ad27225dd83a", + "dwd_hash": "6401dba2b515491e3ac2714822416ac0" + }, + { + "tenant_goods_id": 2792110117130117, + "ods_hash": "f3c80a09d0d77035705a7213e6b84f99", + "dwd_hash": "f6920f46f93f6e00db69f09f44d20b4d" + }, + { + "tenant_goods_id": 2792111046741893, + "ods_hash": "379205c1a2fcec407c758bb3ea8b4654", + "dwd_hash": "439f3070814f84ea61e6baa1e6a4899c" + }, + { + "tenant_goods_id": 2792112367603589, + "ods_hash": "0b9a3964c91e9ab6881aeb99203e7869", + "dwd_hash": "7cd1812eb9d4648c7e8570b10f91e5b7" + }, + { + "tenant_goods_id": 2792114026696581, + "ods_hash": "cc61c2d1ac866ed448a6b28ba9c68226", + "dwd_hash": "61a8ac19b6f84915498e665626b8acea" + }, + { + "tenant_goods_id": 2792114975313797, + "ods_hash": "110f59f827abd3c6d25496a35e24e7f2", + "dwd_hash": "f6e899660997d3c8aca99b8f29bd33a9" + }, + { + "tenant_goods_id": 2792115932417925, + "ods_hash": "a6b8a2ed51f0b1ce50ab0f7ed737167f", + "dwd_hash": "738646d7cc092cfa5124ac97ed20450c" + }, + { + "tenant_goods_id": 2792116914442117, + "ods_hash": "31da1c42888d352da2bad3245421eb1c", + "dwd_hash": "e55380d698621ca8cbb2841bc6d69e55" + }, + { + "tenant_goods_id": 2792117879639941, + "ods_hash": "bbdcd88e208e96d5a5d5fdb0872411f8", + "dwd_hash": "8fc23c5a4260ca94800a4fbc7a2ecf71" + }, + { + "tenant_goods_id": 2792118718353285, + "ods_hash": "a9c18b4d49dbdcf689b891d47b997904", + "dwd_hash": "2b24c42f934ccc22e43a798db38d2877" + }, + { + "tenant_goods_id": 2792119564439429, + "ods_hash": "340b345ca1fea77e353f78055f3086c9", + "dwd_hash": "a8aafbd92ac557c3dbb89f7cdb6ba53a" + }, + { + "tenant_goods_id": 2792120662675333, + "ods_hash": "d3c8e714a99adbf08567ba51c75b192a", + "dwd_hash": "8c23f6fe39b3d104f30973b6414185a3" + }, + { + "tenant_goods_id": 2792122952519557, + "ods_hash": "43047526378bfd11a03fd2df42dfe6f4", + "dwd_hash": "4038217f440fd89f0f9294cda346ddcc" + }, + { + "tenant_goods_id": 2792123803078533, + "ods_hash": "a8e7ef54d42a2331150beeb2d1ff6929", + "dwd_hash": "5ba7db6e3ef17010df090f348c0b87ac" + }, + { + "tenant_goods_id": 2792125002321797, + "ods_hash": "b979c11a4f31f1f49d77a8772e1154c2", + "dwd_hash": "c4f79a907874bafb9944af80f676a4c4" + }, + { + "tenant_goods_id": 2792126153330565, + "ods_hash": "a36d381d6363671d5c6c401764178a92", + "dwd_hash": "51830d83ad2da09102b75884ac23a6f5" + }, + { + "tenant_goods_id": 2792126853369733, + "ods_hash": "269364a2d8641104ab89ec1ea63a92f1", + "dwd_hash": "4c26907d3e58869f69bafe59ce6d1d7c" + }, + { + "tenant_goods_id": 2792128158191493, + "ods_hash": "1dfdabb80456f5dbe990e2c7953edaf7", + "dwd_hash": "9fbc3529823cc56b54e0e796256f7e88" + }, + { + "tenant_goods_id": 2792128793546629, + "ods_hash": "247d4b0dce36ada0d7731d1a07c66db8", + "dwd_hash": "6e0e96758fae3b32f931f2766ce62f4a" + }, + { + "tenant_goods_id": 2792129791594373, + "ods_hash": "482b7d6927205b7b1087570a89de35f1", + "dwd_hash": "d3f6087cafb761bc96a28d65b0a87871" + }, + { + "tenant_goods_id": 2792130734133125, + "ods_hash": "4a26361c7e7f9e1d1de98c27f546a257", + "dwd_hash": "7bd5421f520f44fb9b5508598c15334e" + } + ], + "mismatch_error": null + }, + { + "dwd_table": "billiards_dwd.dim_store_goods", + "ods_table": "billiards_ods.store_goods_master", + "windowed": false, + "window_col": null, + "count": { + "dwd": 172, + "ods": 172, + "diff": 0 + }, + "amounts": [], + "mismatch": 172, + "mismatch_samples": [ + { + "site_goods_id": 2793025861308485, + "ods_hash": "736fbd824d4f77551bae8b9da5390296", + "dwd_hash": "5c24cf3bafb6bd9476b97971ad210775" + }, + { + "site_goods_id": 2793026182664261, + "ods_hash": "d82a48a36ef0f20403790154420db78a", + "dwd_hash": "3533a4a39ed8fe7146e1bad141ed39e0" + }, + { + "site_goods_id": 2793026183532613, + "ods_hash": "b3b2502f1a0d3d2e2fac26d055452857", + "dwd_hash": "fc43d04994c4bdc692f865842a870aac" + }, + { + "site_goods_id": 2793026186563653, + "ods_hash": "39d44153365c3321af2c3a13261c6249", + "dwd_hash": "8e286eddcbd2b6f34f46bfe28f455aed" + }, + { + "site_goods_id": 2793026434863237, + "ods_hash": "be4b4cf9681918a3f9c72600434ab77d", + "dwd_hash": "665be93cf82868455dd921b9095c9397" + }, + { + "site_goods_id": 2794695801917573, + "ods_hash": "328da808dcad171188d6a503f221193f", + "dwd_hash": "3928f3ac1baa4067327397bfcc5ba59c" + }, + { + "site_goods_id": 2826003636177861, + "ods_hash": "f0f2a5c386d33c5a4a7d3e54fc058ff9", + "dwd_hash": "4d0a8e2401b7db99c7a6a0a7286fd3c0" + }, + { + "site_goods_id": 2791953867886725, + "ods_hash": "b2d05e9f0275ce11cf91bbb2de7473d5", + "dwd_hash": "95fe343f63287b54e7b03b285e4cad0b" + }, + { + "site_goods_id": 2793025844727877, + "ods_hash": "cc328ec7fc2a217136cc7a6c037a4ed3", + "dwd_hash": "a03cc1243ceef574049fbfa8e8bc35aa" + }, + { + "site_goods_id": 2793025845399621, + "ods_hash": "fbb07b4019149f6df0d06c834f941023", + "dwd_hash": "db8c0c22cbbdfae681a38fdcdb01dd91" + }, + { + "site_goods_id": 2793025845825605, + "ods_hash": "98bada8ddccfaf8b41e2d6b257488aa1", + "dwd_hash": "cd29bdeb63ee7d044291e433d1a656ba" + }, + { + "site_goods_id": 2793025846464581, + "ods_hash": "5b73bc5f2d426b4e167f4a06b2bf6438", + "dwd_hash": "452fdbaa97ac5c964f2604c72868d7b7" + }, + { + "site_goods_id": 2793025847595077, + "ods_hash": "d74a2c783da0f309b5df43a2ebf43146", + "dwd_hash": "1e3fac02a3a3f2c218d546e22bd8ed5e" + }, + { + "site_goods_id": 2793025848102981, + "ods_hash": "353623776c0c1c83d0236c92bee0e7b5", + "dwd_hash": "7b1923408f77a27cbe553310e364edcb" + }, + { + "site_goods_id": 2793025849102405, + "ods_hash": "2ab8d26f4a421873ecf1d5c3dfcb1a27", + "dwd_hash": "6ebf5a80d6390707b369a90db202cc5b" + }, + { + "site_goods_id": 2793025849593925, + "ods_hash": "efbcc42271e07d14ed60e980f2b26a76", + "dwd_hash": "b004c185cecc400df90dc773ee096838" + }, + { + "site_goods_id": 2793025850576965, + "ods_hash": "aa093dc5b78d48be52cac0dec3082090", + "dwd_hash": "c0954071d66e3450aeb82aebf2b786ca" + }, + { + "site_goods_id": 2793025851068485, + "ods_hash": "eab23a0f9dc33b8dd828bae2c5a4147d", + "dwd_hash": "2696a640da5d816e6a6bd5f37b697957" + }, + { + "site_goods_id": 2793025858900037, + "ods_hash": "5f02911dd541f1c154b73612cd8b8f12", + "dwd_hash": "af672832dbd605ea04332d3b7723ec1b" + }, + { + "site_goods_id": 2793025860145221, + "ods_hash": "f07929829a42052091e29ffb85bc8283", + "dwd_hash": "7d4b726281ed617f55c4fadde6b806ce" + }, + { + "site_goods_id": 2793025861128261, + "ods_hash": "7698692287f9977a39213221760d68dc", + "dwd_hash": "b18d62ef76092490f6fbafd0a988dee5" + }, + { + "site_goods_id": 2793025861505093, + "ods_hash": "2761cae5748eadd76724fedf904e2920", + "dwd_hash": "0593fcb4ffa294659968d24e673f2ca3" + }, + { + "site_goods_id": 2793025862438981, + "ods_hash": "f3d6d89906bcb2fec8c6f5e598f033d6", + "dwd_hash": "a5426382faa5d55e5fad15aba2a9901e" + }, + { + "site_goods_id": 2793025862963269, + "ods_hash": "91e90ac4e9d91b7362cd623e9cf16697", + "dwd_hash": "bc99eac895b41261cb56d10bf3437178" + }, + { + "site_goods_id": 2793025863127109, + "ods_hash": "09eb96697b6940a5019a0337c855d708", + "dwd_hash": "f6ed0bea102f2b7afc7f736cbcd7fc92" + }, + { + "site_goods_id": 2793025863290949, + "ods_hash": "8abe639cf8ce3f630e9c636607ca1b1a", + "dwd_hash": "020defba1328bd22432f010b7f7f5192" + }, + { + "site_goods_id": 2793026174865477, + "ods_hash": "bdd7b381c8bb54a7a5d07851068cadbe", + "dwd_hash": "77f9b720b6fe04c9ec7156d50e21786e" + }, + { + "site_goods_id": 2793026175356997, + "ods_hash": "b702e4129924b5ed27b7686f943da96a", + "dwd_hash": "9c1b9b7cff219cea9ad3dc1e4646797e" + }, + { + "site_goods_id": 2793026175520837, + "ods_hash": "0b7786fc62aea0de6d189e4bdd2fa5e9", + "dwd_hash": "964c10e78351e09cdf7f6a96042d6082" + }, + { + "site_goods_id": 2793026176012357, + "ods_hash": "4573b22d7cb564a4f2e7e551834c88ea", + "dwd_hash": "759c9492a25829860e47012669a1b9d3" + }, + { + "site_goods_id": 2793026176503877, + "ods_hash": "1bfd2fbeb660b7c7ffec9c99017c3f0c", + "dwd_hash": "b2f0552ec2ab7c17efee50d9fbeba6a9" + }, + { + "site_goods_id": 2793026176995397, + "ods_hash": "7b6ffd63f244a1448d35448f607bb776", + "dwd_hash": "5f959a2be354d162b2fdf6f619ed4f4e" + }, + { + "site_goods_id": 2793026177486917, + "ods_hash": "5ca046e0a8e87800ea8cb88563aae999", + "dwd_hash": "7fc57eaca2c8f48162dd1f6d94e6e9cc" + }, + { + "site_goods_id": 2793026177978437, + "ods_hash": "9ce48e4bacc5389c70e7c3be3fe43c94", + "dwd_hash": "0ae0d7cc84c3bb834c9268f399ededd2" + }, + { + "site_goods_id": 2793026180141125, + "ods_hash": "681bbb92527750189d296ea8a0cefba5", + "dwd_hash": "87f7247107726abfab084b1b946505a6" + }, + { + "site_goods_id": 2793026180501573, + "ods_hash": "164bcf047ff1bce7d58aa6654a5cadc2", + "dwd_hash": "fdf1d4d4e567fc951aa9335b3a69b6c9" + }, + { + "site_goods_id": 2793026180993093, + "ods_hash": "adbfe9352326631767121ab7cb189ba9", + "dwd_hash": "9accae13b65f10f24913ab862a3f7453" + }, + { + "site_goods_id": 2793026181664837, + "ods_hash": "2f3b983d8c882412df87ed41dade0754", + "dwd_hash": "f38b7d6de7b4d0adacd5715e916206a1" + }, + { + "site_goods_id": 2793026183041093, + "ods_hash": "a795a179e05d5f11d2e030cd4588eb8a", + "dwd_hash": "31414eec707b388eceaabf59993efcf4" + }, + { + "site_goods_id": 2793026184106053, + "ods_hash": "89f8eb382a7049f6ab0e442d1e316106", + "dwd_hash": "7f4777cc80e02d78c88e24b421aa7f1c" + }, + { + "site_goods_id": 2793026184302661, + "ods_hash": "0c18ab0e7f15b2f586d686293d85775a", + "dwd_hash": "c87bfc14d2f624c2a85a77526e056477" + }, + { + "site_goods_id": 2793026184482885, + "ods_hash": "bd2e3247b87c5b9b31bd63afabe95987", + "dwd_hash": "7c65b42feb8929aa95bd4e0f846b565f" + }, + { + "site_goods_id": 2793026184646725, + "ods_hash": "9983995869304b7ce68232b29e30c2a7", + "dwd_hash": "a67c98f6cc835a7e2fbdfbdd457abb34" + }, + { + "site_goods_id": 2793026184810565, + "ods_hash": "b1129a7d5a042fd3f03ba479f17fb82b", + "dwd_hash": "e0f669b317965d728d0f64fee8ff2aef" + }, + { + "site_goods_id": 2793026184974405, + "ods_hash": "9aeeca06bef506e772524387cecc4cbd", + "dwd_hash": "69fa6ff5e6547d4984e7ed2efaeda704" + }, + { + "site_goods_id": 2793026185154629, + "ods_hash": "55434a5df0d52fd93f65ff7443f9c562", + "dwd_hash": "f40817236dac8d844ae1f981cb8dc37b" + }, + { + "site_goods_id": 2793026186891333, + "ods_hash": "ad35a17a047904e0dee9b16581a0db0c", + "dwd_hash": "29598dbc5ca7dfecb7fa38be96f6a4a1" + }, + { + "site_goods_id": 2793026187071557, + "ods_hash": "6cb158e6df97df9df62162c06579a65a", + "dwd_hash": "16662142eda46b79df0ffa1ff6dfb16e" + }, + { + "site_goods_id": 2793026187235397, + "ods_hash": "f0dcc25d1d8721276882645fc30b7f02", + "dwd_hash": "dbb8f0ead22b1a7066c2d7eb5fec35fc" + }, + { + "site_goods_id": 2793026187563077, + "ods_hash": "b68eb2f3efd0a561b0fe50d9bbb99b1b", + "dwd_hash": "840e9ff2527e4582ae30920192090b81" + } + ], + "mismatch_error": null + }, + { + "dwd_table": "billiards_dwd.dim_store_goods_ex", + "ods_table": "billiards_ods.store_goods_master", + "windowed": false, + "window_col": null, + "count": { + "dwd": 172, + "ods": 172, + "diff": 0 + }, + "amounts": [], + "mismatch": 172, + "mismatch_samples": [ + { + "site_goods_id": 2906983124748485, + "ods_hash": "d4a952c6a7a13d128d68202b8c137f9f", + "dwd_hash": "ff60b1293d83bfa3999fc99342b1546b" + }, + { + "site_goods_id": 2940642871856901, + "ods_hash": "7f4d8d4407c1daea5d1ead28637afb99", + "dwd_hash": "ec71c37c518a37edb60fe16551409ecb" + }, + { + "site_goods_id": 2793025852051525, + "ods_hash": "d14b34b8159dde7c45587162c5a2e9d8", + "dwd_hash": "70c766a690c82244521da89ec7d92e6c" + }, + { + "site_goods_id": 2793025852543045, + "ods_hash": "1e21b2bdae5ebeea361f846b57c597ec", + "dwd_hash": "fe43d27c8d0cf89c96c1d6aaaf7936e9" + }, + { + "site_goods_id": 2793025853034565, + "ods_hash": "389b5fca2bb46d4a08cf080a39c4e2a3", + "dwd_hash": "2d0b3a9ad88affa75a08d94e2de9db3f" + }, + { + "site_goods_id": 2793025853526085, + "ods_hash": "129b72782e07614c9c86954a1a7fbba0", + "dwd_hash": "b8e10e6ac5a49340323ccc3cf31cdaf8" + }, + { + "site_goods_id": 2793025854017605, + "ods_hash": "b9cc53c580dac42c00a5657af65afe78", + "dwd_hash": "71bd808448f27843ee689b7d33b84d34" + }, + { + "site_goods_id": 2793025854509125, + "ods_hash": "307196cfcee741be6dc17b503eb9d9b5", + "dwd_hash": "87a5aaec5e91b583b23aeda3289e9f52" + }, + { + "site_goods_id": 2793025855950917, + "ods_hash": "e1ee845fc3e64a64601d667faff1c063", + "dwd_hash": "9297cc8f3dff08b11a6b8857a546f6af" + }, + { + "site_goods_id": 2793025856442437, + "ods_hash": "9f375dba461cf0853f8f3ca69001e2fd", + "dwd_hash": "11afe08d22d6ebcf0a55991fddad75c3" + }, + { + "site_goods_id": 2793025856933957, + "ods_hash": "05f4f45b1f1ff6e2b102137dc816a68d", + "dwd_hash": "98208085bf18298939c8035cc9e60681" + }, + { + "site_goods_id": 2793025857409093, + "ods_hash": "ce4cee86b9a4c2bf8977079fe6ebc8b3", + "dwd_hash": "fdf721b8356d7969767c7e277c526ede" + }, + { + "site_goods_id": 2793025858392133, + "ods_hash": "5d70c5be1e0b121b52d7735d646877b1", + "dwd_hash": "e804cafbc09188c3855646fafa59cb21" + }, + { + "site_goods_id": 2793025844908101, + "ods_hash": "e51bcecbfa56f8466c56823b606004f4", + "dwd_hash": "3db3ad5b3e76d2071594344c6f0054aa" + }, + { + "site_goods_id": 2793025845989445, + "ods_hash": "d19d27239ff9f91ae712606f920443e1", + "dwd_hash": "9a62949bf226687d4f08d2679625ba48" + }, + { + "site_goods_id": 2793025863290949, + "ods_hash": "001cc0b0cd01d8c1b97e9786ae675c34", + "dwd_hash": "696a74c1b1c4daaa0cb7b61158e974ed" + }, + { + "site_goods_id": 2793026187399237, + "ods_hash": "c23c378299156e772b05a1ff8c1026fb", + "dwd_hash": "fa2807b9f6386307a371db9e45aa3b27" + }, + { + "site_goods_id": 2793026187923525, + "ods_hash": "4fa83eafdfcea0ac3a3c9859c23b9c07", + "dwd_hash": "607eb2a906faf2da50f90793228ed085" + }, + { + "site_goods_id": 2793026188251205, + "ods_hash": "84aea53b6ddfbbbd1ed80a61461420e9", + "dwd_hash": "4e053f48f993d05de2cfe375ec830619" + }, + { + "site_goods_id": 2793026432438405, + "ods_hash": "79ab0684071946cbd687b45283b858c8", + "dwd_hash": "ef5101ea5339d7c3b9e57e86981ff0c8" + }, + { + "site_goods_id": 2793026433912965, + "ods_hash": "28bb5f2e4d3049192e7326a0c841df2f", + "dwd_hash": "ef2768054290bb18def4ea23a4a0c8c6" + }, + { + "site_goods_id": 2793026434404485, + "ods_hash": "fceb365f49caf5cdfb9c590b5104d93d", + "dwd_hash": "827ddfeefc1374274274c65b535086db" + }, + { + "site_goods_id": 2793026185695301, + "ods_hash": "f160d5cb3c47cb0ec5d76e5472c24003", + "dwd_hash": "51a543b730e795c3bb6192ad96d98a44" + }, + { + "site_goods_id": 2793026186055749, + "ods_hash": "6e06edd5373a06de7fd0bf40ed87baeb", + "dwd_hash": "8bdeb31710bf10898c5f87087ce119ae" + }, + { + "site_goods_id": 2793026186219589, + "ods_hash": "d393289cc2fcc735079d7be533345643", + "dwd_hash": "158d9817ea74d6392349e07184870322" + }, + { + "site_goods_id": 2793026186727493, + "ods_hash": "b725466f0cecd8a8655cc546ae9a3477", + "dwd_hash": "0d76d5584242ca2e37ebc60802b5bf68" + }, + { + "site_goods_id": 2793026178469957, + "ods_hash": "530d9050b95dd3fcdaade34c2e3bb4b4", + "dwd_hash": "241e887f43eb8a94aeaeeeabfabf7e23" + }, + { + "site_goods_id": 2793026178977861, + "ods_hash": "f8df62d43eaf0cecf21ea423f541011c", + "dwd_hash": "cdfdbce5a378e74c37065ce7dd437c52" + }, + { + "site_goods_id": 2793026183532613, + "ods_hash": "62e1095788d6fba1b77d02b91fb9e52b", + "dwd_hash": "d12645435399dc99f403ad25c8822c37" + }, + { + "site_goods_id": 2811811188836101, + "ods_hash": "2d95ff75a3d570441a20157466a29ab5", + "dwd_hash": "4e4f20e6898a6de22435ede1a3e56080" + }, + { + "site_goods_id": 2919623264751045, + "ods_hash": "9ff114e835789026edba07d85f0d8059", + "dwd_hash": "1a5a383141c1e36405436acdf89a973d" + }, + { + "site_goods_id": 2791953867886725, + "ods_hash": "37fc4f65f0e173cdc2ab31c38168dff2", + "dwd_hash": "24a7db605557219107cb9a9a076ccae2" + }, + { + "site_goods_id": 2793026432110725, + "ods_hash": "a48a8f55e3e5b0c23be9af9c1de47371", + "dwd_hash": "5b04b20c0c89013bf8a62ba57979b478" + }, + { + "site_goods_id": 2793026429620357, + "ods_hash": "48156ace8006fd89d4ad295b38cad991", + "dwd_hash": "076017c1e7e2f75ab5e65f0315c4fa54" + }, + { + "site_goods_id": 2793026430095493, + "ods_hash": "d09454f5d771a8ec04f56be6ecd6a216", + "dwd_hash": "e4865e68ab8f64d6027f35ee3e614a97" + }, + { + "site_goods_id": 2793026430570629, + "ods_hash": "2bdfc05c6725c0b3c28e137655ed09a4", + "dwd_hash": "a7e73439a368f66ea92da244161f2f89" + }, + { + "site_goods_id": 2793026431045765, + "ods_hash": "600ac85f8e02fcdfc20c812e97967221", + "dwd_hash": "0a1e29b43050ccfdfe06ba494ea52fe1" + }, + { + "site_goods_id": 2793026431504517, + "ods_hash": "e2a6585661ae6d44f7e5b2a4dc084028", + "dwd_hash": "0507c20443c0ec4fca2d6f4898e913ff" + }, + { + "site_goods_id": 2793026431799429, + "ods_hash": "65c19a85ab3c50060fa2bba7b822505a", + "dwd_hash": "ed8d5befe54adf23d2e0bcbc3bdecc71" + }, + { + "site_goods_id": 2793025844727877, + "ods_hash": "6b5063495d5fbaa579e6d469a2ff2b6c", + "dwd_hash": "3518ba4110dc7af0b543ded80e08ceb5" + }, + { + "site_goods_id": 2793025846464581, + "ods_hash": "aa97fb33b7c155a3c5f4723e70cfd403", + "dwd_hash": "286ba07cf7514a2dd5fe70aff818f611" + }, + { + "site_goods_id": 2793025847595077, + "ods_hash": "49df143f47bf603b3fccf320c0d864f9", + "dwd_hash": "430996a993444509e46f728c7fd5baf0" + }, + { + "site_goods_id": 2793025848102981, + "ods_hash": "8ccb8931dced8664bfa615947c256063", + "dwd_hash": "ba566171a135d26d6af105e4f7e1126f" + }, + { + "site_goods_id": 2794695800246405, + "ods_hash": "856261cce351a53fdd41a481c750c983", + "dwd_hash": "a2430a91b07eae577f6e0d91d3565a20" + }, + { + "site_goods_id": 2794695800443013, + "ods_hash": "7cd0232d760222e7f3257f0c83ba2137", + "dwd_hash": "df1f44237a8d1ada6df3570db73cab0f" + }, + { + "site_goods_id": 2794695800770693, + "ods_hash": "273e9f91b02535fcfc6130a10737ba40", + "dwd_hash": "89df2223c38956dfbfe7df412edaa61f" + }, + { + "site_goods_id": 2801925513727045, + "ods_hash": "3c6e11a2910515190353791b9d18c27e", + "dwd_hash": "05f9c1ed4c52b893bb495937c1e46e1c" + }, + { + "site_goods_id": 2801925513923653, + "ods_hash": "aa02330f63ae1a90a6db8ee018363767", + "dwd_hash": "01b9875e4b43eae307eb017f6a7c8e7b" + }, + { + "site_goods_id": 2793025845399621, + "ods_hash": "ee016586443c0490587e8e472b5a4e72", + "dwd_hash": "94fe29425be1798da6db1ed0ad28c08b" + }, + { + "site_goods_id": 2793025845825605, + "ods_hash": "7d001f6f88dfcc510f5c0b47951937e4", + "dwd_hash": "359b59571b1077ad77b540efe46ce8b4" + } + ], + "mismatch_error": null + }, + { + "dwd_table": "billiards_dwd.dim_goods_category", + "ods_table": "billiards_ods.stock_goods_category_tree", + "windowed": false, + "window_col": null, + "count": { + "dwd": 26, + "ods": 9, + "diff": 17 + }, + "amounts": [], + "mismatch": 0, + "mismatch_samples": [], + "mismatch_error": null + }, + { + "dwd_table": "billiards_dwd.dim_groupbuy_package", + "ods_table": "billiards_ods.group_buy_packages", + "windowed": true, + "window_col": "create_time", + "count": { + "dwd": 0, + "ods": 0, + "diff": 0 + }, + "amounts": [], + "mismatch": 0, + "mismatch_samples": [], + "mismatch_error": null + }, + { + "dwd_table": "billiards_dwd.dim_groupbuy_package_ex", + "ods_table": "billiards_ods.group_buy_packages", + "windowed": false, + "window_col": null, + "count": { + "dwd": 34, + "ods": 34, + "diff": 0 + }, + "amounts": [], + "mismatch": 0, + "mismatch_samples": [], + "mismatch_error": null + }, + { + "dwd_table": "billiards_dwd.dwd_settlement_head", + "ods_table": "billiards_ods.settlement_records", + "windowed": false, + "window_col": null, + "count": { + "dwd": 25193, + "ods": 25193, + "diff": 0 + }, + "amounts": [], + "mismatch": 0, + "mismatch_samples": [], + "mismatch_error": null + }, + { + "dwd_table": "billiards_dwd.dwd_settlement_head_ex", + "ods_table": "billiards_ods.settlement_records", + "windowed": false, + "window_col": null, + "count": { + "dwd": 25193, + "ods": 25193, + "diff": 0 + }, + "amounts": [], + "mismatch": 0, + "mismatch_samples": [], + "mismatch_error": null + }, + { + "dwd_table": "billiards_dwd.dwd_table_fee_log", + "ods_table": "billiards_ods.table_fee_transactions", + "windowed": true, + "window_col": "create_time", + "count": { + "dwd": 230, + "ods": 230, + "diff": 0 + }, + "amounts": [ + { + "column": "adjust_amount", + "dwd_sum": 11016.35, + "ods_sum": 11016.35, + "diff": 0.0 + }, + { + "column": "coupon_promotion_amount", + "dwd_sum": 10926.7, + "ods_sum": 10926.7, + "diff": 0.0 + }, + { + "column": "ledger_amount", + "dwd_sum": 40249.67, + "ods_sum": 40249.67, + "diff": 0.0 + }, + { + "column": "member_discount_amount", + "dwd_sum": 1639.16, + "ods_sum": 1639.16, + "diff": 0.0 + }, + { + "column": "real_table_charge_money", + "dwd_sum": 16667.46, + "ods_sum": 16667.46, + "diff": 0.0 + } + ], + "mismatch": 230, + "mismatch_samples": [ + { + "table_fee_log_id": 3073387406525893, + "ods_hash": "706438f1741392b762c92e54a0ef5e94", + "dwd_hash": "19b7cf53208c7f417b247898f09691b8" + }, + { + "table_fee_log_id": 3073430045984389, + "ods_hash": "4360ee40c9e3160d4d40186a074b23ba", + "dwd_hash": "5d195ae45395bd5aa49556337d705a82" + }, + { + "table_fee_log_id": 3073520159950469, + "ods_hash": "dfbb0436b161ce9b784abfd75d17a0d1", + "dwd_hash": "be52f674819e6f97f55204468c3c3d35" + }, + { + "table_fee_log_id": 3073545156888005, + "ods_hash": "3600e23af32bc63cf506e4209bafd63d", + "dwd_hash": "b4ec2c131ea5d1f28ae56a86e30933e3" + }, + { + "table_fee_log_id": 3073574873941637, + "ods_hash": "3d53ca4728d4315ace1c9ee9e9c1dbed", + "dwd_hash": "7c5e2ec8b441e8dd84ab5a08a95a2de8" + }, + { + "table_fee_log_id": 3073574924469637, + "ods_hash": "f6a3ba05f160d1ebf158f47d45bbeb3a", + "dwd_hash": "7352fd74bc20bccbaf266655828433ca" + }, + { + "table_fee_log_id": 3073581977830981, + "ods_hash": "1221412d6acde9705d0f1f28a7272925", + "dwd_hash": "cd9d394a6b554c4f13b098487ffedca1" + }, + { + "table_fee_log_id": 3073631146264005, + "ods_hash": "2d1728f307657dce0edeb133b773a9ce", + "dwd_hash": "4d62209307eb278cceda29a249422a2b" + }, + { + "table_fee_log_id": 3073652727973509, + "ods_hash": "8265009006d75c7d3f99f1d1bb9f7ecf", + "dwd_hash": "299df301259ba57879b5f1c535da2227" + }, + { + "table_fee_log_id": 3073653510473093, + "ods_hash": "90c224a54b1d8dfdacb9972fce89eec1", + "dwd_hash": "d4020e368ea4e7beb7ef4f904abe41ec" + }, + { + "table_fee_log_id": 3073658609059269, + "ods_hash": "4cfd90e9028b3a0f5fdd98811425e05c", + "dwd_hash": "8811cbef58bf2d9bd9c2648bece87567" + }, + { + "table_fee_log_id": 3073681145923013, + "ods_hash": "1eea3bf7d3ff1f4e062ee1f21c8b2a44", + "dwd_hash": "360c60bad084fbd42e43370ba57770a4" + }, + { + "table_fee_log_id": 3073683742803397, + "ods_hash": "caadbf08a295f045a8e351f80d687a56", + "dwd_hash": "02c78157246f61a95784282a01d9a38f" + }, + { + "table_fee_log_id": 3073683966281349, + "ods_hash": "0054db3a05291b5ccb92a0e928e0a55f", + "dwd_hash": "1abdbc429e9f1856a4cd12fbeddfefd0" + }, + { + "table_fee_log_id": 3073690257065349, + "ods_hash": "476395b16c3b763326d09d64d1a6c14e", + "dwd_hash": "789a9f06426850198502d6e3fbfe5373" + }, + { + "table_fee_log_id": 3073697293796933, + "ods_hash": "c8c607d5e1a44a7280c295e37c2be095", + "dwd_hash": "777561bb491a87e809a934c8078a7009" + }, + { + "table_fee_log_id": 3073702633473669, + "ods_hash": "a3918d2076d5bab0cd3426693b2928fa", + "dwd_hash": "c605182afc5bd0f9fb5b791e937cc989" + }, + { + "table_fee_log_id": 3073704045954501, + "ods_hash": "2b69b43c7ea33aa06d88e1c19c2b1bea", + "dwd_hash": "f08c2497114ab8cf4ab789c07bc8bd25" + }, + { + "table_fee_log_id": 3073705558132293, + "ods_hash": "bee0eb382eb3efd446cc05c79ae56da0", + "dwd_hash": "7ad5d3b27fc4b7312f22c55e4e1ceb15" + }, + { + "table_fee_log_id": 3073734142625349, + "ods_hash": "5401b34630340ed7053e6bb12995fea6", + "dwd_hash": "1671ab1d46ed4ecba8c985b5185097ad" + }, + { + "table_fee_log_id": 3073734857147973, + "ods_hash": "cf74ba7d1840c429bf0273988e999974", + "dwd_hash": "a0c51046df139e01070516f93f6303af" + }, + { + "table_fee_log_id": 3073734857180741, + "ods_hash": "ac55cae1f73a3179607f5846b6622108", + "dwd_hash": "c68f35dbf454534743012fdf547cf3f9" + }, + { + "table_fee_log_id": 3073735537984901, + "ods_hash": "8abbd882367a6148996c679949f2fd70", + "dwd_hash": "52d3b1f7e23c7d3b78e3ed832e6e9a48" + }, + { + "table_fee_log_id": 3073741228852869, + "ods_hash": "e557d8dc7b95dfb948e4a0aca99bc056", + "dwd_hash": "64f84b993d969c5cc6a11be689b13e42" + }, + { + "table_fee_log_id": 3073743226815941, + "ods_hash": "fac0837858ecc7cb818468b05ad16677", + "dwd_hash": "dffb09be8e5fb22696b13dd1b62c0304" + }, + { + "table_fee_log_id": 3073750324053637, + "ods_hash": "e0855f85c4bcf0eca9446dbc0496da82", + "dwd_hash": "3f0f2fdc9fbbd34d28475ee30334f453" + }, + { + "table_fee_log_id": 3073751213786501, + "ods_hash": "4dbee169bd5b886178156642df37c587", + "dwd_hash": "64ac3f07de8dc218545b0d019733a6cb" + }, + { + "table_fee_log_id": 3073763304326725, + "ods_hash": "a6cf099f89575b38c05dcdbdc053c716", + "dwd_hash": "dbb1b6214a9e64607bbb1daee46f01d8" + }, + { + "table_fee_log_id": 3073771770414725, + "ods_hash": "0cf5ba42615af5a3500d7376ed1b6e8b", + "dwd_hash": "89e4a373147aac13697219cb6d3a3754" + }, + { + "table_fee_log_id": 3073786718996037, + "ods_hash": "4b7abde4219e9df9a67dfa26debdd503", + "dwd_hash": "f5c1f2760075616e55222cac23f7d7d0" + }, + { + "table_fee_log_id": 3073797232313989, + "ods_hash": "39821cfde0dc0bf2c94e712bc60d2eca", + "dwd_hash": "3d79a9e089e6cfb197f4a1603ada0097" + }, + { + "table_fee_log_id": 3073797232330373, + "ods_hash": "b26ed0f223488287f5aff8d3982479f8", + "dwd_hash": "31090048584f0d253f54d6bc8f4157fa" + }, + { + "table_fee_log_id": 3073809412032069, + "ods_hash": "b2d31e4d68f4699bbfd5f30c4e960390", + "dwd_hash": "20659e3dc5cc98abd1e488fa136120dc" + }, + { + "table_fee_log_id": 3073814678947205, + "ods_hash": "7d6bfc2830cba6056ff77b6e1756899a", + "dwd_hash": "f1e16dc7dc8f63a6c08a718f21a900ed" + }, + { + "table_fee_log_id": 3073817370248773, + "ods_hash": "03b38719b711f52bb84e9f50eba088dc", + "dwd_hash": "8c75b8d33c8d4a8cff06df785ee386a5" + }, + { + "table_fee_log_id": 3073818600392325, + "ods_hash": "c221cd9e1a52350c13457c99828c6266", + "dwd_hash": "6d4ac72b92ede0f164cd6257885a37a4" + }, + { + "table_fee_log_id": 3073829506926149, + "ods_hash": "2b06188faca549ee933bf6406738d852", + "dwd_hash": "a493b3f073d732a6bea4d962673dcbd3" + }, + { + "table_fee_log_id": 3073835265984069, + "ods_hash": "6f4405cf08cfce9fdab2de2bd1fda737", + "dwd_hash": "aa2ab1fa5a3c2a5ce10b0e32d53b6453" + }, + { + "table_fee_log_id": 3073840475096517, + "ods_hash": "4693c706e5d7ec8cd15fad2c16faca36", + "dwd_hash": "7ad06f92e1b211d83fa57002475a9c8b" + }, + { + "table_fee_log_id": 3073841866704517, + "ods_hash": "e5fc2886b18a7dadd5331b15d45d245f", + "dwd_hash": "5746d97075efa3e1b15db64abceef756" + }, + { + "table_fee_log_id": 3073844860880517, + "ods_hash": "78848ad9978385598f93c5c188ab8ab1", + "dwd_hash": "607c2aeb483fdd7c213b59d623926eb5" + }, + { + "table_fee_log_id": 3073845066941893, + "ods_hash": "132a018915b58462e99d7ffa78fe4da7", + "dwd_hash": "d7974858686efe26481dc4381d69379d" + }, + { + "table_fee_log_id": 3073849387681221, + "ods_hash": "0270182788e2dfffee92e5f61d3d272f", + "dwd_hash": "b62c73a253f9b771ec74d36b8426ca8e" + }, + { + "table_fee_log_id": 3073849681069701, + "ods_hash": "acaaffdd30e4682fccc00347e74efd7f", + "dwd_hash": "83f089b7d6e28bf87983e5a77958035e" + }, + { + "table_fee_log_id": 3073851453802053, + "ods_hash": "fbf4afa8fdad46b2e83d6f8d50cc024d", + "dwd_hash": "1112b162538b9015d0e9809177d254d8" + }, + { + "table_fee_log_id": 3073861762188869, + "ods_hash": "441507ed3da6b81504e5615d90c52bb2", + "dwd_hash": "3c633282f88ae8cd452098cd72dd4c15" + }, + { + "table_fee_log_id": 3073869495551621, + "ods_hash": "d93ed6c70ad0c97ddf5816f8a62ab4f6", + "dwd_hash": "7a5274598576f1cc254ebba75faf5c6c" + }, + { + "table_fee_log_id": 3073870293059013, + "ods_hash": "08a0900ce330aad67b9ec08a1441d0c6", + "dwd_hash": "e768fe3b03c365814f89a9e4b80e8da6" + }, + { + "table_fee_log_id": 3073870395524677, + "ods_hash": "6fc57b9aa418c0979f71de2c850067c5", + "dwd_hash": "4795927765d5f83ed7e6730519541d40" + }, + { + "table_fee_log_id": 3073871312176709, + "ods_hash": "87c41db3a1b7835a262aface0aa324ec", + "dwd_hash": "450276528ff887f045de7980a65286de" + } + ], + "mismatch_error": null + }, + { + "dwd_table": "billiards_dwd.dwd_table_fee_log_ex", + "ods_table": "billiards_ods.table_fee_transactions", + "windowed": false, + "window_col": null, + "count": { + "dwd": 19019, + "ods": 19019, + "diff": 0 + }, + "amounts": [ + { + "column": "fee_total", + "dwd_sum": 0.0, + "ods_sum": 0.0, + "diff": 0.0 + }, + { + "column": "mgmt_fee", + "dwd_sum": 0.0, + "ods_sum": 0.0, + "diff": 0.0 + }, + { + "column": "service_money", + "dwd_sum": 0.0, + "ods_sum": 0.0, + "diff": 0.0 + }, + { + "column": "used_card_amount", + "dwd_sum": 0.0, + "ods_sum": 0.0, + "diff": 0.0 + } + ], + "mismatch": 19019, + "mismatch_samples": [ + { + "table_fee_log_id": 2800050345363077, + "ods_hash": "47ce626b250aef81e02b41114d24a4c1", + "dwd_hash": "38672ade980b6241840806920c41f415" + }, + { + "table_fee_log_id": 2800144144582277, + "ods_hash": "136a9045d6b350c483960339f3724ced", + "dwd_hash": "8d25769acf592ba8042c8fe9efde47fb" + }, + { + "table_fee_log_id": 2800144212365957, + "ods_hash": "b9fb721997b3d99b5a77b628c955d9d6", + "dwd_hash": "51ab9da8276a4c586d3d9b5e24009306" + }, + { + "table_fee_log_id": 2800144334426757, + "ods_hash": "f655dac5adcc6e93f08aeb3fbc5eaca4", + "dwd_hash": "acc461199c027a1764bb119c2661ce7f" + }, + { + "table_fee_log_id": 2800169001878981, + "ods_hash": "1a3c02265bbba94c8c8e34733ef96efd", + "dwd_hash": "fb17863cdab37b22be4386da87739ce4" + }, + { + "table_fee_log_id": 2800169065157253, + "ods_hash": "616d9be9439c26b05e9643313ddeeb8e", + "dwd_hash": "7e84e0066add9c63ed5b0b4f06dbf240" + }, + { + "table_fee_log_id": 2800194314323909, + "ods_hash": "8f4654f10b97217039ff6fd3408225df", + "dwd_hash": "756a32e7dbdd025417d7b606856862c1" + }, + { + "table_fee_log_id": 2800229441783621, + "ods_hash": "badaf26a125cf99fc0419d535ad3a9f6", + "dwd_hash": "fa78f83711b5f7088d436c31dc467aaa" + }, + { + "table_fee_log_id": 2800239124563973, + "ods_hash": "ef7c2d7c6362910260fbe231e9c55750", + "dwd_hash": "426cdceb2dc42885f6c25f6a8c3821ff" + }, + { + "table_fee_log_id": 2800239192983557, + "ods_hash": "016a95729665967fce80d973d8dd8df7", + "dwd_hash": "f2a3c50fd0165edb429acd6e058649d6" + }, + { + "table_fee_log_id": 2800259335767877, + "ods_hash": "f3aea9164f544f4499c1f5e6c6714bdb", + "dwd_hash": "cb799571b0f5af75fc456b15c7f37785" + }, + { + "table_fee_log_id": 2800262083528709, + "ods_hash": "a0b784efb02b6acb3c15cf9d5ab08f36", + "dwd_hash": "9f2040128e8005ea8ebbf2b480b74ed9" + }, + { + "table_fee_log_id": 2800265380710277, + "ods_hash": "465e54ccee1ad29b3d89063f8159362c", + "dwd_hash": "542ead549d0626985a2460c531dfc2f4" + }, + { + "table_fee_log_id": 2800272211904389, + "ods_hash": "164c02c1180dd943b452633d3c9e9d55", + "dwd_hash": "dc86aeb9825c6df92de2a5f184ada3a1" + }, + { + "table_fee_log_id": 2800301298436101, + "ods_hash": "adc175d4b20332475e5a0ecbade27acf", + "dwd_hash": "7d5f73abf3862a3635946a0d1666ce5b" + }, + { + "table_fee_log_id": 2800317000124293, + "ods_hash": "3aee8e81e163d51d03c4b33ba275aa97", + "dwd_hash": "b37974d1ebfe1533b12b85a76977c8f3" + }, + { + "table_fee_log_id": 2800328512047045, + "ods_hash": "830da782c33a7bbdaeb13b79c91e4991", + "dwd_hash": "ba6334ae8b8ba36249ca9dfe72b3dc97" + }, + { + "table_fee_log_id": 2800348915828613, + "ods_hash": "e67e73531f604cd93cc41a768e3b20e8", + "dwd_hash": "10853107c95e4517be1d3a1740d88d17" + }, + { + "table_fee_log_id": 2800378705070149, + "ods_hash": "e15216e589ee15a3e42821c53ed44848", + "dwd_hash": "7081e18f8d35213d3c9580074c88f3a7" + }, + { + "table_fee_log_id": 2800378804275205, + "ods_hash": "216ecff62d831d46d322b95ac863a691", + "dwd_hash": "ac50479e19203a55f39ccf75101fb59d" + }, + { + "table_fee_log_id": 2800379696531397, + "ods_hash": "f88957894607a0300be5858f2b92c7b8", + "dwd_hash": "2d09487a05ee820c0aa3ebef2c5b9dee" + }, + { + "table_fee_log_id": 2800379779762245, + "ods_hash": "b8c6771e1e30d614e06cc3074b1c2e5d", + "dwd_hash": "ddadf8beeb038e2da762876c134c2f27" + }, + { + "table_fee_log_id": 2800379849459590, + "ods_hash": "c4772af62ea801aaa70712e68d50d1e9", + "dwd_hash": "ba79aae7156d5858fd32a12f37536566" + }, + { + "table_fee_log_id": 2800410254477253, + "ods_hash": "7af5b7fcf244913566ae2d50ada9671e", + "dwd_hash": "dd6ce09652767e1a6aaa31006e1cdd29" + }, + { + "table_fee_log_id": 2800420129949637, + "ods_hash": "5a7ef4cff18fe7c6b0ca2d24a59145f4", + "dwd_hash": "869124d9028f261dde371a8b0e1ca78b" + }, + { + "table_fee_log_id": 2800421760534533, + "ods_hash": "16d01d4b5ec1b37994d8beee8e23a12f", + "dwd_hash": "ad3470cf928b23a0ae63eb945dbdbce4" + }, + { + "table_fee_log_id": 2800421760550917, + "ods_hash": "f5709c5fc6250b3c35ab296cd379502e", + "dwd_hash": "102fdbad7e50a3714b40afb3cd87f833" + }, + { + "table_fee_log_id": 2800428881152069, + "ods_hash": "97602e43e9dabaf776da66ce839592a1", + "dwd_hash": "7ec605344eb3fbdbcde2aef1475cd236" + }, + { + "table_fee_log_id": 2800430752009285, + "ods_hash": "b878ad11f86a4bc9f9ba3b5c3c57ca05", + "dwd_hash": "8929a931496cc52b63b5861f2e36a6bb" + }, + { + "table_fee_log_id": 2800433691674629, + "ods_hash": "6545714780b37cd3d07dcc5a3613c115", + "dwd_hash": "7d1a2ea45c890a0c43b926f0d959907d" + }, + { + "table_fee_log_id": 2800442629179461, + "ods_hash": "c06070e67db50888d9fb1e24e616a2bb", + "dwd_hash": "5f9d5dbb1f0a1c48c5c67a8511c36b1b" + }, + { + "table_fee_log_id": 2800460253743109, + "ods_hash": "0d068392900448544fc93b53f2b189b7", + "dwd_hash": "6c735b6e7711861c12c4431f168f8548" + }, + { + "table_fee_log_id": 2800462786250693, + "ods_hash": "c6ca40121782a877111379c57499348d", + "dwd_hash": "fd8758d496a4cdee7f776354d016c380" + }, + { + "table_fee_log_id": 2800477851207685, + "ods_hash": "507b1ee4ddd65345cd7e11846c6e91e3", + "dwd_hash": "c4715c0ed2a34756cf75b9fc191b619c" + }, + { + "table_fee_log_id": 2800479196071877, + "ods_hash": "c80f08bcb7e6fb9942e50b821c1afd5e", + "dwd_hash": "f129ec3f7c96c3cc5e7c1208e1d9cb21" + }, + { + "table_fee_log_id": 2800479978391557, + "ods_hash": "2386de6219d16e2a430b6216971f1ddb", + "dwd_hash": "56c91e6fc524007e8f520bf575cdeb09" + }, + { + "table_fee_log_id": 2800486211405829, + "ods_hash": "f7569e1a80780122ce0d75d1edb0789a", + "dwd_hash": "aad50e3673f4e7b999a2d7e13833528d" + }, + { + "table_fee_log_id": 2800486385715269, + "ods_hash": "f4a7d5d399e19ca0d515c8af976d0b12", + "dwd_hash": "c08df4c2f2bb4ccf4c2180c47d1d2db3" + }, + { + "table_fee_log_id": 2800488017709061, + "ods_hash": "05074b545fe665407bf0a72d5d7498fa", + "dwd_hash": "90b82da599eed200ecf4289ac882747a" + }, + { + "table_fee_log_id": 2800488101906373, + "ods_hash": "e33a7cdf7879e2174d05b14fa86a5692", + "dwd_hash": "3c6e3a52c7ccaf065cc38e7309093ad4" + }, + { + "table_fee_log_id": 2800489992832965, + "ods_hash": "7c6a54089430f76a9a777814ca7dde20", + "dwd_hash": "9abf78df9e6c0f51df5f34b551ea2356" + }, + { + "table_fee_log_id": 2800520188495941, + "ods_hash": "802b0fbf6d182a8e73678dd7f1b2c055", + "dwd_hash": "56bc5f14d1529adc104cdc021a90eaf6" + }, + { + "table_fee_log_id": 2800524097538053, + "ods_hash": "ed88809a14fe10522385c4735f4049da", + "dwd_hash": "8efb6a6db5717ef778367eaae4cf7bca" + }, + { + "table_fee_log_id": 2800526171457541, + "ods_hash": "e1b5e73435f0f28836ffe66e45b51ed3", + "dwd_hash": "f66f0133d83624d8e366fc08f03682b2" + }, + { + "table_fee_log_id": 2800526171473925, + "ods_hash": "a2e932fdd6b2a725db64031033a400b8", + "dwd_hash": "baede70388e816a33facc59d7be6a8b4" + }, + { + "table_fee_log_id": 2800531896108997, + "ods_hash": "67bf1e085aa4f79300941d8112921b57", + "dwd_hash": "adebb08dbcd049ad8b0292d5e1d605f5" + }, + { + "table_fee_log_id": 2800542169483205, + "ods_hash": "001dd13e1e5852c2032acfe18ed018dd", + "dwd_hash": "b33fe8b0921f09a153dd762d1184a972" + }, + { + "table_fee_log_id": 2800565625866245, + "ods_hash": "487894d7532ed63578cac8cf29f68dde", + "dwd_hash": "361932c0b88e9bfaca492232bc929843" + }, + { + "table_fee_log_id": 2800565739636805, + "ods_hash": "5d6a52d59ae33ad29336508e69d29870", + "dwd_hash": "ecf57b570f9a06f88ec3976b2b839e07" + }, + { + "table_fee_log_id": 2800569032705925, + "ods_hash": "725983246f1149fbf516e5069853e604", + "dwd_hash": "a1a734aac91c36377c2620f18ee6ab9d" + } + ], + "mismatch_error": null + }, + { + "dwd_table": "billiards_dwd.dwd_table_fee_adjust", + "ods_table": "billiards_ods.table_fee_discount_records", + "windowed": false, + "window_col": null, + "count": { + "dwd": 2963, + "ods": 2963, + "diff": 0 + }, + "amounts": [ + { + "column": "ledger_amount", + "dwd_sum": 350045.69, + "ods_sum": 350045.69, + "diff": 0.0 + } + ], + "mismatch": 2963, + "mismatch_samples": [ + { + "table_fee_adjust_id": 2800379696809925, + "ods_hash": "7ce2d6d66d5dc2e0b9d51d0b6adbd2aa", + "dwd_hash": "832a33580bf287ab01e77d5b67d5f6b0" + }, + { + "table_fee_adjust_id": 2800421760862213, + "ods_hash": "40c82f58503546ae308955e63b8062de", + "dwd_hash": "6500f879c5f4046789060378005e1cde" + }, + { + "table_fee_adjust_id": 2800479196448709, + "ods_hash": "4a441625678ad50f1522af395838262e", + "dwd_hash": "40751ee89b22668e955c882adfda4b5c" + }, + { + "table_fee_adjust_id": 2800479978670085, + "ods_hash": "80108dbed450bdc34ebf4985e39f545d", + "dwd_hash": "034693ebade908b5b0a2c690433a5a2b" + }, + { + "table_fee_adjust_id": 2800486211717125, + "ods_hash": "52dc8859f828b0855e2a551b476c7fd9", + "dwd_hash": "f5763afc7c39986d3ee62962ba379f96" + }, + { + "table_fee_adjust_id": 2800706253834245, + "ods_hash": "602e802e6f9b05d6123b315715fea93e", + "dwd_hash": "fa601a7e414946bf31a21d1480bda326" + }, + { + "table_fee_adjust_id": 2800711390840837, + "ods_hash": "cdb048876ca30a4cfa6868126fac1340", + "dwd_hash": "85a4c5a0a725da7f10eedb29cc8e0334" + }, + { + "table_fee_adjust_id": 2800770325694533, + "ods_hash": "f612cf48ce594eea51ef3d5a3e9c301b", + "dwd_hash": "de055594d98238c00b7f4e43b77512eb" + }, + { + "table_fee_adjust_id": 2800825635522629, + "ods_hash": "f78c4c1ff6955a531d7f1ec863416963", + "dwd_hash": "fe4e273fe1f3a14f10244df0847d8bbd" + }, + { + "table_fee_adjust_id": 2800843724834949, + "ods_hash": "1f29584e1375acfd83935870f1bf2e07", + "dwd_hash": "cd2f8a44338fe00de9bf47d0577d3b73" + }, + { + "table_fee_adjust_id": 2800876785502405, + "ods_hash": "fdb6d69f3ba1ff45467249b6816c9127", + "dwd_hash": "afc9e50ea1a37abb912207b921a654f2" + }, + { + "table_fee_adjust_id": 2800889951897605, + "ods_hash": "309daefc3c358dc7aafa393d00cc49b3", + "dwd_hash": "5a8547815b5b1cf74995c8982c083c22" + }, + { + "table_fee_adjust_id": 2800896786892997, + "ods_hash": "62c67b6b13f8bc6449ced05113507a39", + "dwd_hash": "b3fbf383c768353f592a8f9c915d5de7" + }, + { + "table_fee_adjust_id": 2801005953304837, + "ods_hash": "b5470881813e190bc8353082a3bd83a5", + "dwd_hash": "cc306e0fa329586d194d34e35a28ebbf" + }, + { + "table_fee_adjust_id": 2801760805128261, + "ods_hash": "8e5c5de8ec0924c0a7ef36194905f8ef", + "dwd_hash": "ee0948f9a28e382bef5b29c231afe555" + }, + { + "table_fee_adjust_id": 2801783841146949, + "ods_hash": "a4841562c846266fd1c57838542fa0f3", + "dwd_hash": "24654d6046a1116afbde95ede1caf6ab" + }, + { + "table_fee_adjust_id": 2801790309910789, + "ods_hash": "f33a4ccd9cb88c9f740d28cbcbb80e53", + "dwd_hash": "faffe5b110689337bb8cca805ef55b52" + }, + { + "table_fee_adjust_id": 2801929481078853, + "ods_hash": "056962c198518f282e06b01ecfde69ab", + "dwd_hash": "582a0f6382c9382dcb792d1605a8f3e9" + }, + { + "table_fee_adjust_id": 2801967422589189, + "ods_hash": "82aacecabf0a82779842887979946e85", + "dwd_hash": "7943fcf3dfbb99287c94035a5a7cc924" + }, + { + "table_fee_adjust_id": 2802022786484485, + "ods_hash": "78cbe372ec302661099b40da6aa97aba", + "dwd_hash": "47780e2ee4616eb035644e79c06f13c0" + }, + { + "table_fee_adjust_id": 2802053355587653, + "ods_hash": "1009fa765e1febae65defa47932b0d52", + "dwd_hash": "127896dc74aac46e4ddfe89d302e63f8" + }, + { + "table_fee_adjust_id": 2802054934628549, + "ods_hash": "062d351f9a426d938528100e83f5ddd7", + "dwd_hash": "443f21c06e37de4b6cd70c9986677fe9" + }, + { + "table_fee_adjust_id": 2802075486898373, + "ods_hash": "c9fd03849f7eb9e32688266535b0df4c", + "dwd_hash": "ec638951722b3924dd3522a669ba3093" + }, + { + "table_fee_adjust_id": 2802093906217349, + "ods_hash": "d2b196faa4cbfffba1f3ed03b7fa9f6d", + "dwd_hash": "59bc1948976028bf2c0d82eacaf09895" + }, + { + "table_fee_adjust_id": 2802093906266501, + "ods_hash": "6d0aa054cdd3ca4dc573f390310eabc1", + "dwd_hash": "08836968ec4c83cbaf2671adeb02dc6b" + }, + { + "table_fee_adjust_id": 2802093906315653, + "ods_hash": "4ce46d0e14169b19cdbc54b7c43003af", + "dwd_hash": "033fdcbe0fec06a95b00846a4e65fc28" + }, + { + "table_fee_adjust_id": 2802093906397573, + "ods_hash": "726ba7d60cbc08f386130ba9325ba8d7", + "dwd_hash": "a45d01a3b05bb635abd3e7f4fabe892f" + }, + { + "table_fee_adjust_id": 2802093906446725, + "ods_hash": "91f8016239868f640217778dd2c696fe", + "dwd_hash": "3dd4b64260cff013282cf2c4782d8cc3" + }, + { + "table_fee_adjust_id": 2802163714017541, + "ods_hash": "52a1cae89e96710f9581eff0db4df617", + "dwd_hash": "2a76f4b465eaad31a6d791317a67938e" + }, + { + "table_fee_adjust_id": 2802278049646661, + "ods_hash": "5f63f4def7021cf549b8424646a1ea8f", + "dwd_hash": "388553fc3d4b9e84581517d64a9d2fe3" + }, + { + "table_fee_adjust_id": 2802280012680389, + "ods_hash": "2bd1b2981ed7b1163248601536b6db6a", + "dwd_hash": "9a4069cf6c1f2629c6301a4b46cd3966" + }, + { + "table_fee_adjust_id": 2802327004449925, + "ods_hash": "2ff87542bd2a0078920e8d823350f0f0", + "dwd_hash": "45e2441999c431746420cbd195a9a93e" + }, + { + "table_fee_adjust_id": 2802327004499077, + "ods_hash": "813c665f5f7beca488d998fd523f55ad", + "dwd_hash": "521875c5f5336eea973764667749a4cb" + }, + { + "table_fee_adjust_id": 2802363812186181, + "ods_hash": "a57a704b660f7ab109a5ff8fd76648bc", + "dwd_hash": "2947a65d3f000c9b6705e698944575e0" + }, + { + "table_fee_adjust_id": 2802365271018693, + "ods_hash": "91cbe0fc2a9e686d8f809f5e4cfcb665", + "dwd_hash": "bc1cd39bdb142528f9d14707f1048a32" + }, + { + "table_fee_adjust_id": 2802368170134725, + "ods_hash": "6df20e5867d98bfc683471c0820825f7", + "dwd_hash": "4fd1d241b33a00b88ebd8cda18379377" + }, + { + "table_fee_adjust_id": 2802399883036741, + "ods_hash": "c4ec71958e6ad1559959ae6833d01dfe", + "dwd_hash": "583571e114f9fee29eec698bded72e37" + }, + { + "table_fee_adjust_id": 2802534808143941, + "ods_hash": "ddac22a3aab7a9b0ccb5641f48a2e08f", + "dwd_hash": "abb9af232663e6a6b7a9743c81586128" + }, + { + "table_fee_adjust_id": 2803270381127749, + "ods_hash": "5751bdbf8a61c5acf391aa1758a67d34", + "dwd_hash": "99af713c44d7f5d009a334732ee6c765" + }, + { + "table_fee_adjust_id": 2803405096963269, + "ods_hash": "6d20e2a598fe72f9422c469e321cb812", + "dwd_hash": "d129d527d90867be29c635890b0c72da" + }, + { + "table_fee_adjust_id": 2803448049797189, + "ods_hash": "d4a44fc025ec328b355b6df8ec5238ce", + "dwd_hash": "fe52d82a449191416515ef1b81ea730f" + }, + { + "table_fee_adjust_id": 2803523020213509, + "ods_hash": "33d57ae9e77239f96fb4b7c34629cfa7", + "dwd_hash": "ed8cfb951e43b26509a279b6e8aa60e4" + }, + { + "table_fee_adjust_id": 2803523020262661, + "ods_hash": "9e7e67907c2e83352c72ace760a03c1b", + "dwd_hash": "1995db2f86e725571a031a5bfc09f9e6" + }, + { + "table_fee_adjust_id": 2803525167892549, + "ods_hash": "d56646fc379a005caf426a0d80ce2252", + "dwd_hash": "21c12c15597e8750c2286a0d6ca0b19e" + }, + { + "table_fee_adjust_id": 2803556074342469, + "ods_hash": "e8fec15703f98ee080f2db5bcb4da0f0", + "dwd_hash": "9d4a388e322bc48934d496ebf3d9a72e" + }, + { + "table_fee_adjust_id": 2803564671732933, + "ods_hash": "036500cea7376f1aa8d73c3fb3149d98", + "dwd_hash": "7bfef906ca79bc59e1cabb67312c0fbe" + }, + { + "table_fee_adjust_id": 2803648600329413, + "ods_hash": "2fa825b8a4ee9879ceae0000c372b6a4", + "dwd_hash": "2199feb05cb530006b11028452523c7f" + }, + { + "table_fee_adjust_id": 2803669730823365, + "ods_hash": "1824ba40dc33f39c7bddb6ad3f4c8c61", + "dwd_hash": "403560afc9c23cf9558c32ae3530a9d8" + }, + { + "table_fee_adjust_id": 2803701662108869, + "ods_hash": "bdbab81356d037b611561cb1211e16d6", + "dwd_hash": "0a7dc623b3429f374c08b42432082eac" + }, + { + "table_fee_adjust_id": 2803712975703301, + "ods_hash": "814d549e24af4845f4ac0dce0b89f153", + "dwd_hash": "ba485749618c1d998e2c0bb6af5279fb" + } + ], + "mismatch_error": null + }, + { + "dwd_table": "billiards_dwd.dwd_table_fee_adjust_ex", + "ods_table": "billiards_ods.table_fee_discount_records", + "windowed": false, + "window_col": null, + "count": { + "dwd": 2963, + "ods": 2963, + "diff": 0 + }, + "amounts": [], + "mismatch": 2963, + "mismatch_samples": [ + { + "table_fee_adjust_id": 2800379696809925, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2800421760862213, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2800479196448709, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2800479978670085, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2800486211717125, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2800706253834245, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2800711390840837, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2800770325694533, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2800825635522629, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2800843724834949, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2800876785502405, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2800889951897605, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2800896786892997, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2801005953304837, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2801760805128261, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2801783841146949, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2801790309910789, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2801929481078853, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2801967422589189, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2802022786484485, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2802053355587653, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2802054934628549, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2802075486898373, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2802093906217349, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2802093906266501, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2802093906315653, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2802093906397573, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2802093906446725, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2802163714017541, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2802278049646661, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2802280012680389, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2802327004449925, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2802327004499077, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2802363812186181, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2802365271018693, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2802368170134725, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2802399883036741, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2802534808143941, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2803270381127749, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2803405096963269, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2803448049797189, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2803523020213509, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2803523020262661, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2803525167892549, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2803556074342469, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2803564671732933, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2803648600329413, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2803669730823365, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2803701662108869, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2803712975703301, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + } + ], + "mismatch_error": null + }, + { + "dwd_table": "billiards_dwd.dwd_store_goods_sale", + "ods_table": "billiards_ods.store_goods_sales_records", + "windowed": true, + "window_col": "create_time", + "count": { + "dwd": 0, + "ods": 0, + "diff": 0 + }, + "amounts": [ + { + "column": "cost_money", + "dwd_sum": 0.0, + "ods_sum": 0.0, + "diff": 0.0 + }, + { + "column": "ledger_amount", + "dwd_sum": 0.0, + "ods_sum": 0.0, + "diff": 0.0 + }, + { + "column": "real_goods_money", + "dwd_sum": 0.0, + "ods_sum": 0.0, + "diff": 0.0 + } + ], + "mismatch": 0, + "mismatch_samples": [], + "mismatch_error": null + }, + { + "dwd_table": "billiards_dwd.dwd_store_goods_sale_ex", + "ods_table": "billiards_ods.store_goods_sales_records", + "windowed": false, + "window_col": null, + "count": { + "dwd": 17563, + "ods": 17563, + "diff": 0 + }, + "amounts": [ + { + "column": "coupon_deduct_money", + "dwd_sum": 0.0, + "ods_sum": 0.0, + "diff": 0.0 + }, + { + "column": "discount_money", + "dwd_sum": 21673.2, + "ods_sum": 21673.2, + "diff": 0.0 + }, + { + "column": "member_discount_amount", + "dwd_sum": 0.0, + "ods_sum": 0.0, + "diff": 0.0 + }, + { + "column": "option_coupon_deduct_money", + "dwd_sum": 0.0, + "ods_sum": 0.0, + "diff": 0.0 + }, + { + "column": "option_member_discount_money", + "dwd_sum": 0.0, + "ods_sum": 0.0, + "diff": 0.0 + }, + { + "column": "point_discount_money", + "dwd_sum": 0.0, + "ods_sum": 0.0, + "diff": 0.0 + }, + { + "column": "point_discount_money_cost", + "dwd_sum": 0.0, + "ods_sum": 0.0, + "diff": 0.0 + }, + { + "column": "push_money", + "dwd_sum": 0.0, + "ods_sum": 0.0, + "diff": 0.0 + } + ], + "mismatch": 0, + "mismatch_samples": [], + "mismatch_error": null + }, + { + "dwd_table": "billiards_dwd.dwd_assistant_service_log", + "ods_table": "billiards_ods.assistant_service_records", + "windowed": true, + "window_col": "create_time", + "count": { + "dwd": 65, + "ods": 65, + "diff": 0 + }, + "amounts": [ + { + "column": "coupon_deduct_money", + "dwd_sum": 0.0, + "ods_sum": 0.0, + "diff": 0.0 + }, + { + "column": "ledger_amount", + "dwd_sum": 22232.2, + "ods_sum": 22232.2, + "diff": 0.0 + } + ], + "mismatch": 65, + "mismatch_samples": [ + { + "assistant_service_id": 3073670472140229, + "ods_hash": "36fb4f3d7496e4165e964874288e33e2", + "dwd_hash": "18f7bd4f721541251ee4ce9414ed5385" + }, + { + "assistant_service_id": 3073702634096262, + "ods_hash": "2406f254f03e82fe55b31a34c8f215bf", + "dwd_hash": "b797d68a024c65481be400a031d30e8f" + }, + { + "assistant_service_id": 3073734857737797, + "ods_hash": "b459a4fb97a377857668a7019d06c994", + "dwd_hash": "06dab0af7d18d47a7b702ded9b8a115a" + }, + { + "assistant_service_id": 3073734858196549, + "ods_hash": "65cad58fa1b1e449b7b4b25e0c93d21b", + "dwd_hash": "02cd44f121ab1787fa4d2576f2ef27e7" + }, + { + "assistant_service_id": 3073869496338053, + "ods_hash": "13d2f8351957d8d6ba2dc08b77d058fa", + "dwd_hash": "45f459bff7ebf309c793ef2fc38ed90d" + }, + { + "assistant_service_id": 3073869496862341, + "ods_hash": "b1b9aabfc916a907fa45b3f40f1c86b4", + "dwd_hash": "5fb5240e88c096b50254399437870e7e" + }, + { + "assistant_service_id": 3073869497353861, + "ods_hash": "b18c729fbc964e976d09e88717a99887", + "dwd_hash": "685f6a5f5587bbcf1cb8e115bf9484de" + }, + { + "assistant_service_id": 3073870293747141, + "ods_hash": "36f5f841838461620ff0b32a0d4e282e", + "dwd_hash": "52ff93718eefe9a2b447b8930a035e71" + }, + { + "assistant_service_id": 3073870294435269, + "ods_hash": "67f0cca9c83682d2107ecbefad2a9786", + "dwd_hash": "d2a808c98de39c3a59bf692a699438b6" + }, + { + "assistant_service_id": 3073914625197509, + "ods_hash": "e5316a6ce2f07be913ffc129d5f4222d", + "dwd_hash": "62e8070ad58d5c49b4fb69311f619363" + }, + { + "assistant_service_id": 3073989336515973, + "ods_hash": "793740e2fd91871ae6e5fc64f5532d6f", + "dwd_hash": "d4e48024f78bdba826153183d53ebd88" + }, + { + "assistant_service_id": 3074021432133189, + "ods_hash": "b1bb11c2f7447caa6c57ef40698eae0a", + "dwd_hash": "8c176cb5aaf8a574ddbe79e783854f92" + }, + { + "assistant_service_id": 3074034426775173, + "ods_hash": "3bd96bea167a4155422275651811fb91", + "dwd_hash": "f6c973cd3fc4a9c33204bb23b6200c8b" + }, + { + "assistant_service_id": 3074037170046533, + "ods_hash": "5dfcc435f6e1a9ec8294e80972eca680", + "dwd_hash": "15e28ffd56af88430a6f193755fc0c3d" + }, + { + "assistant_service_id": 3074037170570821, + "ods_hash": "61f0957f90fd2a7e12422c1d6bb0d61f", + "dwd_hash": "232471bcd8658bbe90cee5939a620e16" + }, + { + "assistant_service_id": 3074037171226181, + "ods_hash": "c01c5f2ddb7ffe87b8b083f546224ddc", + "dwd_hash": "ef69f7e3e15b9f752448d93cc547bfd4" + }, + { + "assistant_service_id": 3074058740794821, + "ods_hash": "9f80976d8af233f6d5eab8435f963e75", + "dwd_hash": "1889af64787f11edcdf0c6dca4f909af" + }, + { + "assistant_service_id": 3074058741253573, + "ods_hash": "f00cc39c8db4231302b00e2d89ca075a", + "dwd_hash": "d83f6bcf86b7e478da85cf890e51e572" + }, + { + "assistant_service_id": 3074058741695941, + "ods_hash": "25244a152d6cdd77390c95438300ffdf", + "dwd_hash": "62128e280de82500a45916366e5f4635" + }, + { + "assistant_service_id": 3074058742154693, + "ods_hash": "8e672d6812753571d9a73bb9b6557a94", + "dwd_hash": "c9f71111a736882ceb5e2a5cadef59d4" + }, + { + "assistant_service_id": 3074058742613445, + "ods_hash": "10642820f01f2c114693121c38a56cb5", + "dwd_hash": "0c27d7919b67c3c31607a004b92dda5e" + }, + { + "assistant_service_id": 3074058743088581, + "ods_hash": "4b465d67f14c566fe39684921bced7f5", + "dwd_hash": "bbe235788db18ee60dd74696e35236d5" + }, + { + "assistant_service_id": 3074058743563717, + "ods_hash": "6e4c0ad5d4231cd064c44113af193083", + "dwd_hash": "c94a36bc684ea71463a23d55ddbe885f" + }, + { + "assistant_service_id": 3074058744022469, + "ods_hash": "c6fca9c534a3c186a529f0648211d6d7", + "dwd_hash": "0e0f1335540012c6bfaca82677e51a1e" + }, + { + "assistant_service_id": 3074058744481221, + "ods_hash": "8efc83979d84af16f9182cb3ffa4be68", + "dwd_hash": "fdc5c545ba697dca6e5985c7c2ff8e89" + }, + { + "assistant_service_id": 3074058745103813, + "ods_hash": "8623eb4ef854cc8229c5556e85e3a0ac", + "dwd_hash": "e99bd57957e2cbcc1633ade6a1940fb2" + }, + { + "assistant_service_id": 3074058745578949, + "ods_hash": "858ead59caf626fab599b93282f6ae39", + "dwd_hash": "b16ffe58dcb5a0905d6549877feead5d" + }, + { + "assistant_service_id": 3074058746037701, + "ods_hash": "1b92d277a7f4026e796f2c1ee1f7480e", + "dwd_hash": "d6628d4bc40d9197e5b6389c2d729be6" + }, + { + "assistant_service_id": 3074058746529221, + "ods_hash": "6a15b42155bc1ba38752f8dce91f2c97", + "dwd_hash": "8fb3849e6bd50fde374364af1adb3676" + }, + { + "assistant_service_id": 3074058746987973, + "ods_hash": "7507cf9876132fa45d962d6a1cbe262a", + "dwd_hash": "19f688e3f12f00b3a9c57a6599d5c4b1" + }, + { + "assistant_service_id": 3074058747463109, + "ods_hash": "0af246fc769899b618e2cfccda9f26de", + "dwd_hash": "2f32feba6258bc02e5cfebdd8ffc6eab" + }, + { + "assistant_service_id": 3074058747954629, + "ods_hash": "7760df418ae6356bb24c0523dfd3dc05", + "dwd_hash": "71bcb486f5ddd7e5189786f8353c8d54" + }, + { + "assistant_service_id": 3074059753293189, + "ods_hash": "2977b503cd87be4655786d4c46467393", + "dwd_hash": "60395cc60c305dbf303c83fce161202a" + }, + { + "assistant_service_id": 3074062051919237, + "ods_hash": "35c0aa00a44d8b475415248aa8a2b2ff", + "dwd_hash": "3ef6d05a1db8efe84c385f156f5ec08b" + }, + { + "assistant_service_id": 3074062052427141, + "ods_hash": "5339f5d82f71f76536cb647a0626fe0e", + "dwd_hash": "a28389353ce53b10ac6933d4fab7180c" + }, + { + "assistant_service_id": 3074062052902277, + "ods_hash": "e47af35319ad3ca6f4e15e4697508a36", + "dwd_hash": "3eaf3e4ab44143acf2dc560433cb4432" + }, + { + "assistant_service_id": 3074064127378821, + "ods_hash": "2af05313ddce8164d071e24274b73040", + "dwd_hash": "d7a53084a332051c34d699421ed1e53a" + }, + { + "assistant_service_id": 3074064127853957, + "ods_hash": "bc0ddb6c4e070e15d3be5c89567d1d1c", + "dwd_hash": "7df638eb2370862f4e50581dc9672a71" + }, + { + "assistant_service_id": 3074068424148613, + "ods_hash": "f0e3307560c24e68f3a28c1083ece639", + "dwd_hash": "d2f4b3176ea378b53a449d10578a44dd" + }, + { + "assistant_service_id": 3074078197581189, + "ods_hash": "c4b7f7f84c229b05cb00f5ea0f773a12", + "dwd_hash": "3c53418570f4f41940ae27739db69942" + }, + { + "assistant_service_id": 3074085731452293, + "ods_hash": "bf0046095365223d29e6473b0f9b4852", + "dwd_hash": "2647bc9afa611494daf801f5f0638a04" + }, + { + "assistant_service_id": 3074085731943813, + "ods_hash": "70fb8677ccdf6ef7df983e2dce69d212", + "dwd_hash": "1fc13fe35800930719c6a307f9618533" + }, + { + "assistant_service_id": 3074094735656517, + "ods_hash": "5ba0585abe64ab72993618e271dc6de3", + "dwd_hash": "d2b7597f300c75f13dca07b7d803c7f1" + }, + { + "assistant_service_id": 3074130806179269, + "ods_hash": "28bdee9dcbbb61626c5244bafd155a33", + "dwd_hash": "c31061552d37d957cb30482041aab9aa" + }, + { + "assistant_service_id": 3074130806687173, + "ods_hash": "25a38996c364379dcd58b5d524a68e55", + "dwd_hash": "dae835add220874bd04a5c8f421b909c" + }, + { + "assistant_service_id": 3074130807145925, + "ods_hash": "217ae945d71ad1c855bee220b1d9a0cd", + "dwd_hash": "642f9570070c26e7c1c38895bc5fb546" + }, + { + "assistant_service_id": 3074142886168197, + "ods_hash": "3414554e6d715822ff062cddd96df459", + "dwd_hash": "0f301b2f998bd8ec3ebeaa278d7a8002" + }, + { + "assistant_service_id": 3074142886626949, + "ods_hash": "b6c1ae9096d5ffff7823bbfe6166b6fa", + "dwd_hash": "9de0da440e18dffd54d4b7310ce93801" + }, + { + "assistant_service_id": 3074592488490629, + "ods_hash": "e85ece7f9d9f4b20c513eb9a55a5f036", + "dwd_hash": "d340bad7a1e6a35eca60fe1c3e6a190c" + }, + { + "assistant_service_id": 3074592488949381, + "ods_hash": "7352cd2eba6df37c7b9521ae286a37a3", + "dwd_hash": "6243a74453ba393a85f624db177ca1bf" + } + ], + "mismatch_error": null + }, + { + "dwd_table": "billiards_dwd.dwd_assistant_service_log_ex", + "ods_table": "billiards_ods.assistant_service_records", + "windowed": false, + "window_col": null, + "count": { + "dwd": 5152, + "ods": 5152, + "diff": 0 + }, + "amounts": [ + { + "column": "manual_discount_amount", + "dwd_sum": 414.17, + "ods_sum": 414.17, + "diff": 0.0 + }, + { + "column": "member_discount_amount", + "dwd_sum": 0.0, + "ods_sum": 0.0, + "diff": 0.0 + }, + { + "column": "service_money", + "dwd_sum": 0.0, + "ods_sum": 0.0, + "diff": 0.0 + } + ], + "mismatch": 5152, + "mismatch_samples": [ + { + "assistant_service_id": 2800311971268549, + "ods_hash": "fe36621f6570a296c3e26f2aa565d29a", + "dwd_hash": "690bb89865a22799ce4f5ecad6c8522a" + }, + { + "assistant_service_id": 2800464769091525, + "ods_hash": "ec841097507660af2c2049d22b3f9791", + "dwd_hash": "ae4a1dc2e5e39cfab525df10bd4d34b7" + }, + { + "assistant_service_id": 2800524097669125, + "ods_hash": "1deb68b6c3e5cf52590d8c689a839d96", + "dwd_hash": "365325fe3e1c5bbfca02f566715c49eb" + }, + { + "assistant_service_id": 2800770325219397, + "ods_hash": "7365f19af578aa318a401c6f8b43d995", + "dwd_hash": "0a2664633b9b2394a48722e6a966d578" + }, + { + "assistant_service_id": 2800772217931845, + "ods_hash": "913e870648ed15c791c4ddcd5b0192d5", + "dwd_hash": "841e2c6625ae7737c77bd017bf25a966" + }, + { + "assistant_service_id": 2800772218161221, + "ods_hash": "773ef83a0e5dbd473173d96135e32476", + "dwd_hash": "b4abc7019e2b64896821a6e4aa3e7f32" + }, + { + "assistant_service_id": 2800772218390597, + "ods_hash": "9a250d7f507279cdd3443b2cb0605e8a", + "dwd_hash": "4cf2d67f530f618ee902923d10ef0be3" + }, + { + "assistant_service_id": 2800772218619973, + "ods_hash": "964f1528de5b9fa42c424e11fd64cc99", + "dwd_hash": "5410137b214b09e9aa401a859bd92b69" + }, + { + "assistant_service_id": 2800772218849349, + "ods_hash": "7a0eb9b32afedba7ccb7789cc2ee829f", + "dwd_hash": "45a144f045f01c52329e06d19e5a0045" + }, + { + "assistant_service_id": 2800825635047493, + "ods_hash": "994dc219037df24d6ee8c97a14cf986b", + "dwd_hash": "188ea3b0284ebfd9d641918bfa9bf75c" + }, + { + "assistant_service_id": 2800843723868293, + "ods_hash": "343407bb90d5c34dc6919d440d765b2d", + "dwd_hash": "3dd7f844988be4895247ad5bf94cefff" + }, + { + "assistant_service_id": 2800843724359813, + "ods_hash": "dfa806ddb102a82dd97f808fc49351b5", + "dwd_hash": "d8bc9a8fcef10c60744911be21e884c6" + }, + { + "assistant_service_id": 2800864103942341, + "ods_hash": "130588d0bf03272efbe25316f2974031", + "dwd_hash": "bc8ce8c1681bc96bb49662c6ff3a80d5" + }, + { + "assistant_service_id": 2800889950226437, + "ods_hash": "57d79050902ad1e484e99be219459f70", + "dwd_hash": "baefdc55356661621a07ec9f11e53f71" + }, + { + "assistant_service_id": 2800889950455813, + "ods_hash": "c53b6b571c3c9ba45801cdb4ae2ab7b1", + "dwd_hash": "7d8883b2300a12df7b5192bb02cf924e" + }, + { + "assistant_service_id": 2800889950685189, + "ods_hash": "b0c2bf723ea1d8213b652d53b2e783a9", + "dwd_hash": "5e38bd233f265002c0671264fe1e1316" + }, + { + "assistant_service_id": 2800889950898181, + "ods_hash": "90d02c53466f070d12571c6fc56b578a", + "dwd_hash": "d4c8bc189ff9b01ba93417d40301227e" + }, + { + "assistant_service_id": 2800890473597125, + "ods_hash": "c0dc511009354fcd87425d32a6116180", + "dwd_hash": "96456f1c3e8c3b410b47d4432e14db3c" + }, + { + "assistant_service_id": 2800955647002693, + "ods_hash": "8fe5e3525d56c8edb04017c283a59201", + "dwd_hash": "53804b7b5c439c9e0cf0e11de43c8bdd" + }, + { + "assistant_service_id": 2801005951912197, + "ods_hash": "3e2fe2c5663c8b47f4440872d5d6ccf1", + "dwd_hash": "cc52f3c8d7198b39c7dba04a5577b897" + }, + { + "assistant_service_id": 2801005952141573, + "ods_hash": "e1a19fde396de07fa38ff71497d4f7d8", + "dwd_hash": "e1628def4f068831b116758e6361399e" + }, + { + "assistant_service_id": 2801005952354565, + "ods_hash": "bc8c68d8b4c8b71d84a107493aec8317", + "dwd_hash": "1cb8fd25f87f08c9a340f6e83bf18052" + }, + { + "assistant_service_id": 2801005952567557, + "ods_hash": "d9b5740e4da818a12c4b7ec3e829be1e", + "dwd_hash": "5fae6887d30bab22ceafda4119cdeeca" + }, + { + "assistant_service_id": 2801005952796933, + "ods_hash": "09a2edef9eab4cc1d3daea3c6fb95602", + "dwd_hash": "0eb479185918ea93c2383907a8a66441" + }, + { + "assistant_service_id": 2801034757752901, + "ods_hash": "ed495e6af83c8eba2851a2d4a9abd3a5", + "dwd_hash": "849ca6cc2d9f7a8ebc464e688f2cdd50" + }, + { + "assistant_service_id": 2801731033909509, + "ods_hash": "102c18cfad0a6fd88c2823b90f68f4f4", + "dwd_hash": "05c8dc33224ab9c8b44a16e561b9ea0f" + }, + { + "assistant_service_id": 2801857536854213, + "ods_hash": "052722aa64bb7e2a21b5ce2e55394421", + "dwd_hash": "be248a75a214f32935c9cbfbe308db8c" + }, + { + "assistant_service_id": 2801871998060805, + "ods_hash": "d9a88de124257b11e4768de6a41d44b9", + "dwd_hash": "82e6d02f3721d867e4225becefd1d52e" + }, + { + "assistant_service_id": 2801878221768773, + "ods_hash": "ec7fc4d5f54255aea3f3aa43c3f2ae72", + "dwd_hash": "c1264a9e612c51e361c2b9fbe811b114" + }, + { + "assistant_service_id": 2801880522705157, + "ods_hash": "a50d3a4df9548029fbc6a1a1bab96a52", + "dwd_hash": "c113962e0643d3d1f4097e706937aa55" + }, + { + "assistant_service_id": 2801967422032133, + "ods_hash": "9c0546322fac768ef27004854eba6810", + "dwd_hash": "1bbd57981d1d39ae12c66d1779d565f4" + }, + { + "assistant_service_id": 2801986785806533, + "ods_hash": "14734317668d26465d6635b6975704b0", + "dwd_hash": "b5cd1beba3ece4b23f4fec92750d3e68" + }, + { + "assistant_service_id": 2802022786009349, + "ods_hash": "098f0ba69cc142d5a1494ab0dddcacb3", + "dwd_hash": "605073b30b680539f3fa851b54e2b1ab" + }, + { + "assistant_service_id": 2802057516501253, + "ods_hash": "829e53d629e35a631e75092682a7e983", + "dwd_hash": "c009f6787e1ad1acf4d09c552bde3a9a" + }, + { + "assistant_service_id": 2802067209062469, + "ods_hash": "e4df0c1da0a12a12959ce4f022762f4f", + "dwd_hash": "e61072581a8bb91315bc9335be677fd7" + }, + { + "assistant_service_id": 2802067209291845, + "ods_hash": "4db4293e655b1fd41edda6e0a7b66318", + "dwd_hash": "a23e2b3514a22623d563efe2a3b37370" + }, + { + "assistant_service_id": 2802116511680901, + "ods_hash": "22a1879a1eb48f31d4073d81a6e0b581", + "dwd_hash": "e91dee3ad07c491c34fc699cf84f015e" + }, + { + "assistant_service_id": 2802116511910277, + "ods_hash": "3b2c7482716c5fe8eed600c49afddbf6", + "dwd_hash": "a6a8695e52ce2b3b02dccd096154341d" + }, + { + "assistant_service_id": 2802122102753669, + "ods_hash": "d7da09df55067d6355912633074f5eaf", + "dwd_hash": "0cf34adad2a5fb68ae783030dbbdfb4a" + }, + { + "assistant_service_id": 2802145474185477, + "ods_hash": "9f2c58fcdfca48f4f96ff53bab5649fe", + "dwd_hash": "ca49b54ee6fb3e640f1a87a316246699" + }, + { + "assistant_service_id": 2802163712411909, + "ods_hash": "2f9f5aaa18554d14f2ff8fef4e98eabd", + "dwd_hash": "62754fb16bf6a8262b1a1b2447436fc9" + }, + { + "assistant_service_id": 2802163712641285, + "ods_hash": "b98f0ce8a688cce15795d9632ced008f", + "dwd_hash": "fcfe813db0dfb34347ea17ef205ae130" + }, + { + "assistant_service_id": 2802163712919813, + "ods_hash": "574f9ca2de4284ab91a7750b2a4d584e", + "dwd_hash": "794b81c1afd5643e568fe9fe5dc56971" + }, + { + "assistant_service_id": 2802163713165573, + "ods_hash": "d72581de46f6ec86e11746776700ecf2", + "dwd_hash": "bc2bb3718d33f4c56407ffcec21b58a2" + }, + { + "assistant_service_id": 2802163713394949, + "ods_hash": "41b980d15e06b054d2dc21b5e41e48aa", + "dwd_hash": "69c0cc32103a310e9ec1236355556dd2" + }, + { + "assistant_service_id": 2802173013723525, + "ods_hash": "f84df7c99f06b6a812382d086c443f0f", + "dwd_hash": "2c4cbeabadfdddbc7c9abf9c9f41d76f" + }, + { + "assistant_service_id": 2802237353527365, + "ods_hash": "fc9b40a1c9590aa6023a62f0d7fa78af", + "dwd_hash": "3cbabdfaceb2d257d75449e2b25434f4" + }, + { + "assistant_service_id": 2802246307810437, + "ods_hash": "7d7095fb140ba875b0b4aca3a29092a4", + "dwd_hash": "92f6226c3a63cfdbdad11ca5fc461d3d" + }, + { + "assistant_service_id": 2802246308056197, + "ods_hash": "3e0143f533ac01414f575286cc1f9a2f", + "dwd_hash": "25ec255442b40313b8646b42decfe5c8" + }, + { + "assistant_service_id": 2802327003925637, + "ods_hash": "a23495b8737bd1e4b401a8ad9f3ad6d8", + "dwd_hash": "99dcb3d3924e8ccd7017429f405bdbf1" + } + ], + "mismatch_error": null + }, + { + "dwd_table": "billiards_dwd.dwd_assistant_trash_event", + "ods_table": "billiards_ods.assistant_cancellation_records", + "windowed": false, + "window_col": null, + "count": { + "dwd": 100, + "ods": 100, + "diff": 0 + }, + "amounts": [], + "mismatch": 100, + "mismatch_samples": [ + { + "assistant_trash_event_id": 2959363180793541, + "ods_hash": "6eee23318de94442259837424ef92e6f", + "dwd_hash": "1290dea2b5cea7f3b9c32235095e1309" + }, + { + "assistant_trash_event_id": 2964115283857093, + "ods_hash": "48fd1dd5da04b6522284c7ea2380101d", + "dwd_hash": "5abd842c4af737085dd6854d33f0c46a" + }, + { + "assistant_trash_event_id": 2969416950123717, + "ods_hash": "8964a5ad3b87f736021fd14577d93960", + "dwd_hash": "8304571b73c2bddd9db7527fde1b029e" + }, + { + "assistant_trash_event_id": 2975809439713221, + "ods_hash": "26ae47c0a853c385680aa182df09a599", + "dwd_hash": "d4a3123a980f9660942ea32f1725107c" + }, + { + "assistant_trash_event_id": 2979152118564997, + "ods_hash": "10847649cdf60fb423ee0dab3652f593", + "dwd_hash": "2ce63688b52a11ab216b5a20259d62c8" + }, + { + "assistant_trash_event_id": 2980595948766661, + "ods_hash": "e7c685006e67a7d0d3957d98ee8c2976", + "dwd_hash": "089b33f49b483f6ed1f58a7238530859" + }, + { + "assistant_trash_event_id": 2980663519594501, + "ods_hash": "44ddbd8ac38fc8b5be7c73375918e3b4", + "dwd_hash": "9cfba38b5abf8b2779885eba98a63e73" + }, + { + "assistant_trash_event_id": 2983505146384965, + "ods_hash": "4820b86814512ffe5ae77ddafa636699", + "dwd_hash": "8d1ed519cceff51fd75c6e2a8e8d3645" + }, + { + "assistant_trash_event_id": 2983505146745413, + "ods_hash": "584b03e6365f93abe490924aebbd8f44", + "dwd_hash": "e29df42167db91e25053aa7d640a7cfc" + }, + { + "assistant_trash_event_id": 2988030897195653, + "ods_hash": "f6e619140e04025fe67c3ac1cc1fce47", + "dwd_hash": "191a37f4ae04e077d671f54064af0c99" + }, + { + "assistant_trash_event_id": 2990633993343557, + "ods_hash": "0a39000d7a89b3017d741f14356b0c72", + "dwd_hash": "16321be205fe3945f62c07929355e465" + }, + { + "assistant_trash_event_id": 2990834178871877, + "ods_hash": "d6e4014f9af15d75c1cb410ccc9f38ef", + "dwd_hash": "e6fb4ec60850eecd83e39332e637ebb3" + }, + { + "assistant_trash_event_id": 2991820437967429, + "ods_hash": "222e38869053d87900274cc8e3054bea", + "dwd_hash": "76e1374595f55f6cbe6f4b3569699580" + }, + { + "assistant_trash_event_id": 2991991404466757, + "ods_hash": "80a0f06776883056677489c4ce8d55d3", + "dwd_hash": "8bc9cd42d7221150d6e4baad2e99558d" + }, + { + "assistant_trash_event_id": 2997598464608773, + "ods_hash": "b79e3bc31a0f79f3eff59cc9d7074835", + "dwd_hash": "19708e797f08c52a6dea0f4a4894a90c" + }, + { + "assistant_trash_event_id": 2997598724524613, + "ods_hash": "07ea4cce3a8bb4d47929e6c41e7a593e", + "dwd_hash": "f709fc929fec842abb7466a4b9ec1594" + }, + { + "assistant_trash_event_id": 2998795100097029, + "ods_hash": "2df2d31d51b8785971459870696a1cb7", + "dwd_hash": "d0fe0aad7608fbb7a8942e3ff589fb68" + }, + { + "assistant_trash_event_id": 3000445737830981, + "ods_hash": "80b499288980b9c795ec9daa68b6584e", + "dwd_hash": "9a7024cad4e39b9add9ec98d3232dcc8" + }, + { + "assistant_trash_event_id": 3030103311108037, + "ods_hash": "c7dd0f9bd65a8bc93d139c9d6286c55b", + "dwd_hash": "7a30f1d0e1bd890cdff6f4dc633c4d5d" + }, + { + "assistant_trash_event_id": 3030103311501253, + "ods_hash": "ddd1d78ac5277832f0311345d7af11ba", + "dwd_hash": "c98c4c5f02fea838a8c7d0cebdaaeec4" + }, + { + "assistant_trash_event_id": 3030231223846981, + "ods_hash": "8de9ce091b5fe63481eda1df36723886", + "dwd_hash": "8632f02aa9b0f7a2af92f346f963e322" + }, + { + "assistant_trash_event_id": 3030231224371269, + "ods_hash": "dd40442d7b2e7d0b215ae57ed3b24443", + "dwd_hash": "87d7b90637f1fb215e2acb2aaac14ad9" + }, + { + "assistant_trash_event_id": 3030234610993157, + "ods_hash": "3298e571a63c3c97668291b5abf05c3b", + "dwd_hash": "891f43be7092373a73ff970901f013d3" + }, + { + "assistant_trash_event_id": 3030234611386373, + "ods_hash": "a77287a42332ab45ea88e657c37ff526", + "dwd_hash": "18f86c0e0527169d832aff9171c64d36" + }, + { + "assistant_trash_event_id": 3030234611779589, + "ods_hash": "1e0fe063e4eacda0bc91d099637a701e", + "dwd_hash": "85ebd198a6fc2bcfdfa0cb9190286485" + }, + { + "assistant_trash_event_id": 3037228553014469, + "ods_hash": "3c50ca34d4c6fda0d3038dcea8d82ddf", + "dwd_hash": "68c3012a20b1f15af23d656ee445657a" + }, + { + "assistant_trash_event_id": 3037302029585541, + "ods_hash": "2fafac5e2b2f800c36e0291e96309616", + "dwd_hash": "297c9f356fa118fda1dc1957acd87fc5" + }, + { + "assistant_trash_event_id": 3041469621225221, + "ods_hash": "e74496e10d9ae95ed4461a559cac38cb", + "dwd_hash": "6a7b6f5aecba30b9a5abb66a8634781b" + }, + { + "assistant_trash_event_id": 3041480269170565, + "ods_hash": "82e1ce51489b55a93d9136b6ad94c040", + "dwd_hash": "4e58061a1eeafabaacac81702d668851" + }, + { + "assistant_trash_event_id": 3041480269760389, + "ods_hash": "9d4b2e7a8301a79a29572684cecf5d37", + "dwd_hash": "dfdddebd7da0b17844954234c25f2093" + }, + { + "assistant_trash_event_id": 3041480270497669, + "ods_hash": "fc1dbe569a622ca8c2457a469815987d", + "dwd_hash": "7d6703c19e8f7c02e0284820baeb9c36" + }, + { + "assistant_trash_event_id": 3041542387304325, + "ods_hash": "ef3b83e3603d284cd565f7e91d76634f", + "dwd_hash": "902f38c74368489e133baabf767e3181" + }, + { + "assistant_trash_event_id": 3041542387828614, + "ods_hash": "e6377a93b95d8fef3bc78e8a0a2beda2", + "dwd_hash": "8b7f25ac917d0016ad4279fb5f462012" + }, + { + "assistant_trash_event_id": 3041542388385669, + "ods_hash": "60a571e5ae41244c51cd8b6a55e384ee", + "dwd_hash": "05950d1a1b725d288b17718b3b5e6222" + }, + { + "assistant_trash_event_id": 3041555860424581, + "ods_hash": "e05cd0176b6b38fa6fdde188abe3f51f", + "dwd_hash": "596b706a1bf16fcac92e2d375708e89a" + }, + { + "assistant_trash_event_id": 3041809077602053, + "ods_hash": "74da242f68b8d2e078ac6ffee84a4511", + "dwd_hash": "692cdbed9df03c945207a70d2c5c3160" + }, + { + "assistant_trash_event_id": 3071358041819077, + "ods_hash": "04790970569dea94cccbcbf9ab37d8a4", + "dwd_hash": "d9464e795f2769e06bd31ddbd6b3f0ed" + }, + { + "assistant_trash_event_id": 3001591407299397, + "ods_hash": "0e2e33a1a794d72f5bbf7ce3dd8e0419", + "dwd_hash": "8b99c1e2d087dab61e3e5b783a7cbe5d" + }, + { + "assistant_trash_event_id": 3001591407823685, + "ods_hash": "163b3ec0d2ab30c7e6902e61061f0dba", + "dwd_hash": "c4fee95f7df3294d23abc9f2ed346f9b" + }, + { + "assistant_trash_event_id": 3001592236264453, + "ods_hash": "ffffd0423e6ba4bf8c26a88261073c0e", + "dwd_hash": "af9340d0f4bd7674ee98ff9776880f0d" + }, + { + "assistant_trash_event_id": 3001592236641285, + "ods_hash": "74805dd225b112095c686dfab1a817b5", + "dwd_hash": "8e2b27ee100b61bcff2e3e72c94bbd7b" + }, + { + "assistant_trash_event_id": 3001592237018117, + "ods_hash": "c522c2fc115a415cdd2620d96cb3afe1", + "dwd_hash": "3323271bc1aff39976b1e92382568cf2" + }, + { + "assistant_trash_event_id": 3003160811246469, + "ods_hash": "e11a2756b26117d45036aefecccc9ca6", + "dwd_hash": "9f1bc9b1d1db77fd24b12c876e1805a3" + }, + { + "assistant_trash_event_id": 3003233571771077, + "ods_hash": "b42a7e1ef6150791a51157d712639276", + "dwd_hash": "c4fc50b07b8c0ae4fa6a074206a2452c" + }, + { + "assistant_trash_event_id": 3006335394924613, + "ods_hash": "9bf6ade10ed46043bd1e5d74e808b589", + "dwd_hash": "66be6e9383cdd1d9a4b29c83f51d941b" + }, + { + "assistant_trash_event_id": 3007372846598405, + "ods_hash": "8a146bc9fae0abf97684aecdd896fef5", + "dwd_hash": "8faa1d504d601f7855a1de2fac12a048" + }, + { + "assistant_trash_event_id": 3021513785477189, + "ods_hash": "d86cfbaa5bb2615a2730542669e56330", + "dwd_hash": "b4ef80d9277bdbac14c01bacfb059a6a" + }, + { + "assistant_trash_event_id": 3042622933256072, + "ods_hash": "8462a0b4d1ef6d349b8a11f673844393", + "dwd_hash": "f3bdd0530b32e4bb198b135e8aa46678" + }, + { + "assistant_trash_event_id": 3042676057442181, + "ods_hash": "6f06613346e378a8fa325db9d0a5d132", + "dwd_hash": "d5da8ecc058ae7842d5c5837172b032b" + }, + { + "assistant_trash_event_id": 3042676057786245, + "ods_hash": "a719a408a578d9abe2a4721ec3a2b839", + "dwd_hash": "3fc07c3f00bb8fbaf61194accff08dbe" + } + ], + "mismatch_error": null + }, + { + "dwd_table": "billiards_dwd.dwd_assistant_trash_event_ex", + "ods_table": "billiards_ods.assistant_cancellation_records", + "windowed": false, + "window_col": null, + "count": { + "dwd": 100, + "ods": 100, + "diff": 0 + }, + "amounts": [], + "mismatch": 0, + "mismatch_samples": [], + "mismatch_error": null + }, + { + "dwd_table": "billiards_dwd.dwd_member_balance_change", + "ods_table": "billiards_ods.member_balance_changes", + "windowed": false, + "window_col": null, + "count": { + "dwd": 4873, + "ods": 4873, + "diff": 0 + }, + "amounts": [], + "mismatch": 4873, + "mismatch_samples": [ + { + "balance_change_id": 2800328071170949, + "ods_hash": "9034c1cd33d79da3d6d251cddc3eb8ae", + "dwd_hash": "53e2e58ba11b17821d75db3267fbdb5a" + }, + { + "balance_change_id": 2800328508984197, + "ods_hash": "dc2bfeae84c77252d26ee9cedfb2df60", + "dwd_hash": "eec043444254388629df780085b3a8c9" + }, + { + "balance_change_id": 2800329356315525, + "ods_hash": "992f0527c2f39dde8ef89d003e32b7f4", + "dwd_hash": "ba8df6ed4ca863e0668ea4281109aef4" + }, + { + "balance_change_id": 2800330000272261, + "ods_hash": "76d4eae5118378bdad1438b560f66b46", + "dwd_hash": "6868e74b299e9319cff0619e7a3fdb6f" + }, + { + "balance_change_id": 2800331271129989, + "ods_hash": "5cdf6bc9c4dd8ed4aa928a6c01bcab55", + "dwd_hash": "a3efc1b6b5ae725fd38b9dd4fc613a85" + }, + { + "balance_change_id": 2800331954736005, + "ods_hash": "7d78595c2640c0d0be6c84b459f7f63f", + "dwd_hash": "d1d4796f4ef47a98c4074e350bd24309" + }, + { + "balance_change_id": 2800332515314565, + "ods_hash": "638f4ef75cafaba06e48f76c3940422b", + "dwd_hash": "54030f825ad259f187fe23e3aee361fc" + }, + { + "balance_change_id": 2800332996627333, + "ods_hash": "3fe798dedfd9d3b6ba2219e8a99dbf75", + "dwd_hash": "846de13bf33e0c9946e60b226327eae1" + }, + { + "balance_change_id": 2800333602179973, + "ods_hash": "acf651585eb042f3355dab747d1f1305", + "dwd_hash": "38be2620eeb5adf6fa39d6088eb69991" + }, + { + "balance_change_id": 2800334284934021, + "ods_hash": "ce367f279d48c37f0d065e502f0e6c32", + "dwd_hash": "834b8f434649d993db9e43b58356ff65" + }, + { + "balance_change_id": 2800335026670469, + "ods_hash": "e3cce05718b5202a15cbe420ccb88d25", + "dwd_hash": "0fb0b589995e0eb53fa30526613fedb8" + }, + { + "balance_change_id": 2800336313338757, + "ods_hash": "1f1886e7067d299a342fe0450f7e0f49", + "dwd_hash": "9f1abd98cc4ff87642d8388e5f45951c" + }, + { + "balance_change_id": 2800336793930629, + "ods_hash": "b04c28f1b6e602d8da44d011026f57c8", + "dwd_hash": "8c7a7ae9c6d99869397e027856ead299" + }, + { + "balance_change_id": 2800337681140613, + "ods_hash": "de55e6710502b1851dcfa6f588235a23", + "dwd_hash": "2dc9405c1cd02a3377d9b1fe54089923" + }, + { + "balance_change_id": 2800338335697797, + "ods_hash": "9ecf26f88f40a151ddea78d91a6e2036", + "dwd_hash": "db93c3703c3377c7e50536b35e779758" + }, + { + "balance_change_id": 2800338703584133, + "ods_hash": "1b1e79bbc33955e312b3a3025b3cbc58", + "dwd_hash": "89e5d9c031a784bd0b4166380274adb8" + }, + { + "balance_change_id": 2800343012068229, + "ods_hash": "07275047a81764b582e7686a24eda5eb", + "dwd_hash": "129b6dbc7b6fce8f39309cc9d5a61299" + }, + { + "balance_change_id": 2800348154579013, + "ods_hash": "2f2cf55cbea82e857dd63fe7e96459b4", + "dwd_hash": "d451bb6e7348dd0ea7a0c0c51f08803a" + }, + { + "balance_change_id": 2800360635942917, + "ods_hash": "1538c857717009ba8d0cfbc36c9dfc12", + "dwd_hash": "a518f3238db7f4bfb300b0770898c2bd" + }, + { + "balance_change_id": 2800392615004101, + "ods_hash": "a25f139a4b7c5e76b8aa4fb73aa04332", + "dwd_hash": "5b20234d1b8a69ac4a32a640a4d6e8da" + }, + { + "balance_change_id": 2800404348963717, + "ods_hash": "54542096785a8b5fd61dd63449140355", + "dwd_hash": "ecd1bf18d252e7b99b56071c61e7c292" + }, + { + "balance_change_id": 2800534985656325, + "ods_hash": "3a247cf987653b96eb29b58e7ce58383", + "dwd_hash": "f24ee87fc14e6f22876abf97b8d6e191" + }, + { + "balance_change_id": 2800535382460293, + "ods_hash": "21db7efe43c9ac6a9a70f918a453466d", + "dwd_hash": "c92363d2bdcaf8be1c1131d9ec7988db" + }, + { + "balance_change_id": 2800574477469765, + "ods_hash": "e99af947e24434b03c89d88b54c4750f", + "dwd_hash": "85e58c03da14b08ec1e5fc0cbd09ac58" + }, + { + "balance_change_id": 2800677354735493, + "ods_hash": "caab4bc89885127c9a173f23b9234a5c", + "dwd_hash": "c95cbd95f3868032175b426b560efc27" + }, + { + "balance_change_id": 2800706251425797, + "ods_hash": "880ecbf4fcff954b1e8f7ccd595e2a78", + "dwd_hash": "3bee38552104eb1539af7cdd37cc4552" + }, + { + "balance_change_id": 2800753410148421, + "ods_hash": "9175e3fe40d0fdb2e0ff62548b3cb30d", + "dwd_hash": "de561ea966362e00a9ba10fb0fd7ed74" + }, + { + "balance_change_id": 2800763350779909, + "ods_hash": "0f21d8dfda370593391d6c4a9b8ab0ec", + "dwd_hash": "a5c403650dc58152af72b68d1e6ee82c" + }, + { + "balance_change_id": 2800765195537413, + "ods_hash": "a3825af64ad86ba3d4c74f8fe545f74c", + "dwd_hash": "aef964c59371a594d31abbe43aef6fb2" + }, + { + "balance_change_id": 2800765804300357, + "ods_hash": "822b8a53f0ee9d33afca87b201e37c61", + "dwd_hash": "1650d2db2f8f7686a2bce01dcea8b2cf" + }, + { + "balance_change_id": 2800770322679877, + "ods_hash": "042235220e43e1b162d47ab9ad8bf713", + "dwd_hash": "c3786a45ebfcfa09fc789dbddd7a655e" + }, + { + "balance_change_id": 2800770322827333, + "ods_hash": "4a8b8ac76453434fb3ccdf2ea6aab39b", + "dwd_hash": "ae9ad87cbf3a84adbc8a30bf0c86b361" + }, + { + "balance_change_id": 2800772214982725, + "ods_hash": "462155312448c718b7c2d93dc2c3bc34", + "dwd_hash": "7117a70daaba083537cde26d7293ee6f" + }, + { + "balance_change_id": 2800772215146565, + "ods_hash": "1fbe46f44d11f131ac18de905d3f4fd3", + "dwd_hash": "086df6a020c4ff18ab6af3225f7110e8" + }, + { + "balance_change_id": 2800824059775045, + "ods_hash": "c2d78f0c7982869cf311567866249574", + "dwd_hash": "60d3860505dc1043f1c039fa31025a0b" + }, + { + "balance_change_id": 2800825633032261, + "ods_hash": "abdc4620812e6b0abf56d7b90b2d5a9f", + "dwd_hash": "7ccc1abd9cd6eb1621eaf655442bc0b9" + }, + { + "balance_change_id": 2800829539863621, + "ods_hash": "7777fc1944a3b62fac1db3831277fcb1", + "dwd_hash": "be8ff79b5f340b2bbf65cb6a472843d1" + }, + { + "balance_change_id": 2800844153292997, + "ods_hash": "b822133e0d60cf6539e3183dbc4ac980", + "dwd_hash": "bc9caa730821ac2f91dd94e4885315b4" + }, + { + "balance_change_id": 2800889946458117, + "ods_hash": "ecb1a468e549d1063343c8676df0ec19", + "dwd_hash": "7a6734d9036e31d3761d7039248e089b" + }, + { + "balance_change_id": 2801646213892485, + "ods_hash": "54704865890898decea6fd40358a762a", + "dwd_hash": "9f38585c822d801d6b28007c2d5d61db" + }, + { + "balance_change_id": 2801784546658501, + "ods_hash": "c4d3a96fd681d3529a40efcd365af1db", + "dwd_hash": "7b321f34beda87bc7e0ba645a9697f4b" + }, + { + "balance_change_id": 2801857534658757, + "ods_hash": "bd12f4aa1f66dbab22401bda8d0b5985", + "dwd_hash": "02cf00a49e983f1cdba8411cb0cc801a" + }, + { + "balance_change_id": 2801878220818501, + "ods_hash": "cb9174ad970189742bb618963875fada", + "dwd_hash": "2fc581f9d16a0e4675ad04d96daec282" + }, + { + "balance_change_id": 2801879401302405, + "ods_hash": "e795eed83f5f88250c63092187f2bacc", + "dwd_hash": "7d47cf10e72d55218dcaf84b746c7e23" + }, + { + "balance_change_id": 2801880313809989, + "ods_hash": "595b335d781c140cf40174d5c022cb7d", + "dwd_hash": "d26bba9e54610ef0175ccaf73ee0b058" + }, + { + "balance_change_id": 2801880520182021, + "ods_hash": "98632168f4e25e8e22d77747f442a6d7", + "dwd_hash": "437c3a4ec4f8af12816298a2d1acda5e" + }, + { + "balance_change_id": 2801880520345861, + "ods_hash": "ae5e5fdf78f8f62940206c91812cdbe0", + "dwd_hash": "34da0511efd582303b4afc7162fee098" + }, + { + "balance_change_id": 2801894886148357, + "ods_hash": "417dc44336a422d43321a453f4cbb971", + "dwd_hash": "5d50c5c0e6291e1cd8e4a8a75a2f714e" + }, + { + "balance_change_id": 2801947958970437, + "ods_hash": "3d2ef1222da7554ef964e00daa9efb9c", + "dwd_hash": "f094efbf03e410b6b61410d8ddb5bf56" + }, + { + "balance_change_id": 2801968103704773, + "ods_hash": "527935f4b15497c372e8c1bec66d0eaa", + "dwd_hash": "8ed1a12c04f92b785419e378b97803cc" + } + ], + "mismatch_error": null + }, + { + "dwd_table": "billiards_dwd.dwd_member_balance_change_ex", + "ods_table": "billiards_ods.member_balance_changes", + "windowed": false, + "window_col": null, + "count": { + "dwd": 4873, + "ods": 4873, + "diff": 0 + }, + "amounts": [ + { + "column": "refund_amount", + "dwd_sum": 0.0, + "ods_sum": 0.0, + "diff": 0.0 + } + ], + "mismatch": 0, + "mismatch_samples": [], + "mismatch_error": null + }, + { + "dwd_table": "billiards_dwd.dwd_groupbuy_redemption", + "ods_table": "billiards_ods.group_buy_redemption_records", + "windowed": true, + "window_col": "create_time", + "count": { + "dwd": 161, + "ods": 161, + "diff": 0 + }, + "amounts": [ + { + "column": "coupon_money", + "dwd_sum": 11272.0, + "ods_sum": 11272.0, + "diff": 0.0 + }, + { + "column": "ledger_amount", + "dwd_sum": 10926.7, + "ods_sum": 10926.7, + "diff": 0.0 + } + ], + "mismatch": 161, + "mismatch_samples": [ + { + "redemption_id": 3073387407082949, + "ods_hash": "75756cc99d8530af397fabaf0c64654e", + "dwd_hash": "4d6945ad8f2e7ee83f10a8e48eebcfa2" + }, + { + "redemption_id": 3073430046508677, + "ods_hash": "7e06e5d70031d67009dd13723d9ec078", + "dwd_hash": "a35528cd90c536d040d8e4b3df986f03" + }, + { + "redemption_id": 3073520160573061, + "ods_hash": "40125b3d546558d9ddeb91911bcf9a42", + "dwd_hash": "8be78e652b84de819e15ce76a12be965" + }, + { + "redemption_id": 3073520160573062, + "ods_hash": "15b9c370e1869ed1458025bb9091b584", + "dwd_hash": "94a94ca9faac24e404b724d3d2e870cd" + }, + { + "redemption_id": 3073545157428677, + "ods_hash": "295ebafb1d7865e346a4ae8350d95dbb", + "dwd_hash": "51df01cdeec672901f48ec32ce270738" + }, + { + "redemption_id": 3073574874613381, + "ods_hash": "bbc50e256e5f2d74aff83a4c2cedcd33", + "dwd_hash": "2cce44cf248ab07acfc2f83346f71866" + }, + { + "redemption_id": 3073574874613382, + "ods_hash": "edd850f20b0f2c94ac134a803f77474b", + "dwd_hash": "77a3eda1d5540e3319536f53f32e04d4" + }, + { + "redemption_id": 3073574925124997, + "ods_hash": "b1cc8d8313f6b105b21881eaa9998ee2", + "dwd_hash": "9a9b44b1b88c9a43b7723a2a82e40714" + }, + { + "redemption_id": 3073581978453573, + "ods_hash": "d7c93d853dd730aaf34db9ece19c03d8", + "dwd_hash": "644aae9ae1406638377e0ea6d88e8918" + }, + { + "redemption_id": 3073631146935749, + "ods_hash": "1e67c67f85f2d866580280bdb0552cd2", + "dwd_hash": "d637a85aaf54af98183b9c4e88aeabdf" + }, + { + "redemption_id": 3073652728628869, + "ods_hash": "e856fe04751f4fc0be3687b94f6c9d25", + "dwd_hash": "138f390961ad060bb27002877406ba59" + }, + { + "redemption_id": 3073653511226757, + "ods_hash": "5473c8174117adbc6984dd758b411aea", + "dwd_hash": "054e383fb68b5d8c366b9f65c3f80fdd" + }, + { + "redemption_id": 3073681146512837, + "ods_hash": "62545682d03b36a418056e3d9a4a2d41", + "dwd_hash": "a52f51198f92dcef4d23e6438f726532" + }, + { + "redemption_id": 3073681146512838, + "ods_hash": "c2d281021be67c51d3897bc8e0f6e4c3", + "dwd_hash": "ce938189df3bbda5aee63469d79ea446" + }, + { + "redemption_id": 3073681146512839, + "ods_hash": "08ab53416cce555ff8ec0d357c64f00a", + "dwd_hash": "902f4ece9bc681005db8aea2af134250" + }, + { + "redemption_id": 3073683743524293, + "ods_hash": "76830e9c8d94f7b9a53ff486e6e355cd", + "dwd_hash": "0eb021ae6cd5818a363e503b3a93a707" + }, + { + "redemption_id": 3073683967018629, + "ods_hash": "b5cb4d97c2ded9c0d0672664bc44c426", + "dwd_hash": "5b5b9a0cc7ede893c437d4f9bf5052ae" + }, + { + "redemption_id": 3073704046560709, + "ods_hash": "0e76d01755c5743c71bc798b737a3d0d", + "dwd_hash": "b60b2ad3d3e5f648cc9848955627caa0" + }, + { + "redemption_id": 3073704046560710, + "ods_hash": "1ad272b28f8588caf37635c76e0f156b", + "dwd_hash": "05977aac431b6341825a42179081284f" + }, + { + "redemption_id": 3073705558836805, + "ods_hash": "500c58fa6038625ef538476e3915aff1", + "dwd_hash": "3a4c5c53fb4ad7e8ee138e5f0292cb28" + }, + { + "redemption_id": 3073705558836806, + "ods_hash": "c4fb33ad3acc8647d135fd8ba55a67cd", + "dwd_hash": "d187281651aac5170a8e0028b6c046dd" + }, + { + "redemption_id": 3073735538591109, + "ods_hash": "124f136daa04ea155604cc42dd5e0300", + "dwd_hash": "8a044f69e9dca9170d7219624e4a7362" + }, + { + "redemption_id": 3073743227422149, + "ods_hash": "50e20706d5e37490fa5090cd3b4a8e06", + "dwd_hash": "0141ad5bc2c5336c7d5325a7e5d3b64f" + }, + { + "redemption_id": 3073763304883781, + "ods_hash": "d0bbd7eafd782372e15b72eeda3baf88", + "dwd_hash": "55d549d8b5f8cf328bdbe81857ee1fce" + }, + { + "redemption_id": 3073771771250309, + "ods_hash": "a515a63360b4049e025c252edb4f8fbf", + "dwd_hash": "08db01ab306653cd6554948ce35ced50" + }, + { + "redemption_id": 3073786719602245, + "ods_hash": "e95b4f01441a95b005d7e8dd67b4d5ba", + "dwd_hash": "32525b34f9c1b21e1642ec77964389a1" + }, + { + "redemption_id": 3073809412621893, + "ods_hash": "797583b4ebadbe228b29aca3a6835f23", + "dwd_hash": "6616d55249a0c87d5632c40a9679af7e" + }, + { + "redemption_id": 3073814679635333, + "ods_hash": "d97706d816bf802c337df3803955c141", + "dwd_hash": "26b6b48eeae9920d9c6b300f18b5c27f" + }, + { + "redemption_id": 3073817370838597, + "ods_hash": "28d6341e3810e8c339febba3f3160ecc", + "dwd_hash": "ff4f7f3ef8d85d1ebc4fea9925366880" + }, + { + "redemption_id": 3073818600916613, + "ods_hash": "f6844de3462ac82dd2b716e8955125ed", + "dwd_hash": "7f681988f593843ded3afb5de1f1a2bd" + }, + { + "redemption_id": 3073829507597893, + "ods_hash": "5d0d1b0f13a35cafc224c058a5038113", + "dwd_hash": "04d819a7dd355feaccfb05a83aec515c" + }, + { + "redemption_id": 3073840475882949, + "ods_hash": "9f93f459f118bf649b980f31d70f3349", + "dwd_hash": "67474323d992c9ca02b0a2c3c42fbb12" + }, + { + "redemption_id": 3073841867703941, + "ods_hash": "39719d823b90daac60e9c8fc5254de4d", + "dwd_hash": "7318d833ff72e328a678546de28d3ee4" + }, + { + "redemption_id": 3073841867720325, + "ods_hash": "a69cb601f82281565ff02ca9ad1c92df", + "dwd_hash": "b27b768b2537a59ff70b30f1089dd479" + }, + { + "redemption_id": 3073844861453957, + "ods_hash": "21979aba038ee678b3e3b4e358702575", + "dwd_hash": "d432c876a0268d143bc41cac903cfa4a" + }, + { + "redemption_id": 3073845067662789, + "ods_hash": "3f75f66c76a8298d628f4637c7c3de96", + "dwd_hash": "7d47a09a7247d4631e4f901e86d29ef3" + }, + { + "redemption_id": 3073849388418501, + "ods_hash": "5f11d4e4fa5aaac2e22bbe35750cf7f5", + "dwd_hash": "ae6cdd3df936262df0d3d86f93f6486a" + }, + { + "redemption_id": 3073849388418502, + "ods_hash": "c56e21296110e7f7d5c3fe0247f58ea4", + "dwd_hash": "fdbf3d5825157ae16a32d046977704a0" + }, + { + "redemption_id": 3073849681675909, + "ods_hash": "263e08eb29dc7bf4e4b4cf47837c5be4", + "dwd_hash": "0a8d20b7b2facba128b7a228c9d3d641" + }, + { + "redemption_id": 3073851454441029, + "ods_hash": "af3189c62fd6454a2d23690cea5c3c52", + "dwd_hash": "bd2026aab9efaf1e40c0a0a35f0898d6" + }, + { + "redemption_id": 3073861762745926, + "ods_hash": "c94e229ae3d2130b8f448d0b33a2a386", + "dwd_hash": "027d22c68867f307663397a1696ff11b" + }, + { + "redemption_id": 3073870396147269, + "ods_hash": "b59fbdbbc11b78d4984f31be07980e70", + "dwd_hash": "2dc1d8faa3f19dafecf207435f983b0f" + }, + { + "redemption_id": 3073875224544837, + "ods_hash": "c58cc94ca8895b0eaecca8e4f4f57d3d", + "dwd_hash": "bf4ef22a10d8a01f85ae62ba335953ab" + }, + { + "redemption_id": 3073889304135237, + "ods_hash": "b0a6eb3e251f32bb2b9c9a5985babe11", + "dwd_hash": "50cc7c93fe9cb4c0e50f4ba27419e2f5" + }, + { + "redemption_id": 3073897981232517, + "ods_hash": "a6c05f3f0d0c06bd41b2dfe039900901", + "dwd_hash": "66c556f4b58575ad54e146061a531a5d" + }, + { + "redemption_id": 3073914020152709, + "ods_hash": "d92f8931a37bfe28b6e6e9f6bedb6bb9", + "dwd_hash": "e18d8ca6bffc259a22f8d5e48754e331" + }, + { + "redemption_id": 3073916388476549, + "ods_hash": "5e395ff50af381344ae34c7a21924e84", + "dwd_hash": "4571a1579d616f346cf0974e6c6d900c" + }, + { + "redemption_id": 3073919656723909, + "ods_hash": "c53a4e59319217cd781b4bfd8d634fee", + "dwd_hash": "6ea33bd94f0c40409375b0dcfdd628b6" + }, + { + "redemption_id": 3073924585113157, + "ods_hash": "12f8e300395ac6551ec27ababc8a3a41", + "dwd_hash": "da4d8b5597d47ee682f3715896314441" + }, + { + "redemption_id": 3073927171229253, + "ods_hash": "db7bbb8b890ed5959a48e40c5f2e316d", + "dwd_hash": "adb51f406d5175091848cc1eadb2103d" + } + ], + "mismatch_error": null + }, + { + "dwd_table": "billiards_dwd.dwd_groupbuy_redemption_ex", + "ods_table": "billiards_ods.group_buy_redemption_records", + "windowed": false, + "window_col": null, + "count": { + "dwd": 11867, + "ods": 11867, + "diff": 0 + }, + "amounts": [ + { + "column": "assistant_promotion_money", + "dwd_sum": 7544.8, + "ods_sum": 7544.8, + "diff": 0.0 + }, + { + "column": "assistant_service_promotion_money", + "dwd_sum": 0.0, + "ods_sum": 0.0, + "diff": 0.0 + }, + { + "column": "goods_promotion_money", + "dwd_sum": 0.0, + "ods_sum": 0.0, + "diff": 0.0 + }, + { + "column": "recharge_promotion_money", + "dwd_sum": 0.0, + "ods_sum": 0.0, + "diff": 0.0 + }, + { + "column": "reward_promotion_money", + "dwd_sum": 0.0, + "ods_sum": 0.0, + "diff": 0.0 + }, + { + "column": "table_service_promotion_money", + "dwd_sum": 0.0, + "ods_sum": 0.0, + "diff": 0.0 + } + ], + "mismatch": 0, + "mismatch_samples": [], + "mismatch_error": null + }, + { + "dwd_table": "billiards_dwd.dwd_platform_coupon_redemption", + "ods_table": "billiards_ods.platform_coupon_redemption_records", + "windowed": true, + "window_col": "create_time", + "count": { + "dwd": 165, + "ods": 165, + "diff": 0 + }, + "amounts": [ + { + "column": "coupon_money", + "dwd_sum": 11696.0, + "ods_sum": 11696.0, + "diff": 0.0 + } + ], + "mismatch": 165, + "mismatch_samples": [ + { + "platform_coupon_redemption_id": 3073370594461253, + "ods_hash": "4abda2fd402d8f9867910295988bc117", + "dwd_hash": "d3d37913f8acd0c437b6c4338a990b25" + }, + { + "platform_coupon_redemption_id": 3073392316188037, + "ods_hash": "d49859cc9378895ae9b7ab4affdab504", + "dwd_hash": "62946bc0ac813f8000d418e19dde49d1" + }, + { + "platform_coupon_redemption_id": 3073400834246085, + "ods_hash": "5852b7ab54842ddd53f3e656e7f221d8", + "dwd_hash": "89b74c6f490ea1c36c17655129d1931e" + }, + { + "platform_coupon_redemption_id": 3073434994754949, + "ods_hash": "a340bbda29160c7b44d369530f6c8744", + "dwd_hash": "cc933a07c616ed013e729a075f6353d8" + }, + { + "platform_coupon_redemption_id": 3073435172488645, + "ods_hash": "f09f1987884373da322f74028e462935", + "dwd_hash": "6a6a1d61941a52289f9bace33c0dce35" + }, + { + "platform_coupon_redemption_id": 3073452216485445, + "ods_hash": "9d937cb1a5ceda5786ca76682b6eac2a", + "dwd_hash": "d792f6b300cc079ed91264888691ab50" + }, + { + "platform_coupon_redemption_id": 3073454669661573, + "ods_hash": "a0baa3b0d57bb9a1d8f70d705469fa22", + "dwd_hash": "c21e1bbc3494b29cee15c93228ce6cff" + }, + { + "platform_coupon_redemption_id": 3073474164049349, + "ods_hash": "d2254b556d7d62d1989b0a3bbf1d4899", + "dwd_hash": "e2cfa1d7ab312af2d5f84f2501b5ec83" + }, + { + "platform_coupon_redemption_id": 3073485143344709, + "ods_hash": "44341606a8724efc51f7bd7a7a4a5b9e", + "dwd_hash": "2a530f7d1f4601e5463d063f1984563b" + }, + { + "platform_coupon_redemption_id": 3073525904164421, + "ods_hash": "99bd017c36069db1af2857ab6eaa0a4f", + "dwd_hash": "5833d0310bf6dca1fde0d5f093390c5f" + }, + { + "platform_coupon_redemption_id": 3073526036825541, + "ods_hash": "2768026b97c53dceffc4f7d122343467", + "dwd_hash": "d32b094da6c24ac754b44f414001d6df" + }, + { + "platform_coupon_redemption_id": 3073545710093893, + "ods_hash": "cd694f82eeb6f7367b8e8a31d229491f", + "dwd_hash": "c4ab9b9e6876998e6494aca684d5f592" + }, + { + "platform_coupon_redemption_id": 3073557996340805, + "ods_hash": "ae83e8132b54c1f16db1312f28b0389d", + "dwd_hash": "a32cab62a37277ce0f695d9dedfcbb63" + }, + { + "platform_coupon_redemption_id": 3073580981749381, + "ods_hash": "558759276b772e9182f9b179b2f3e1bf", + "dwd_hash": "8f3284957a0836e3cc825d363a42007c" + }, + { + "platform_coupon_redemption_id": 3073585830086021, + "ods_hash": "06b281a3e29d85af13ebaa2eddad9a40", + "dwd_hash": "d30c0c9141494adf4fe989750084c679" + }, + { + "platform_coupon_redemption_id": 3073585935205765, + "ods_hash": "de78f17af17e2d69cf1b79cedce27209", + "dwd_hash": "57891c4ac6d719f73ac7ac90b30b68ea" + }, + { + "platform_coupon_redemption_id": 3073590209070661, + "ods_hash": "26621ab2391eb121093d8b96ac2875ec", + "dwd_hash": "35f1aec004dfd51915599cd478149acc" + }, + { + "platform_coupon_redemption_id": 3073592919065989, + "ods_hash": "e6913c1a285545df43e799156cc3fa8d", + "dwd_hash": "ecf0a3fda4231d2439bab62d5d850710" + }, + { + "platform_coupon_redemption_id": 3073598733944389, + "ods_hash": "f605243714a927c7a282f56c779634f3", + "dwd_hash": "2c2cb1f06f57c00ec7f8d0c4cd176b98" + }, + { + "platform_coupon_redemption_id": 3073610862134725, + "ods_hash": "9aad43a1eb0fdf02cf9a4f17eb23e36a", + "dwd_hash": "3811647023eea2412e5a4729ee4353f9" + }, + { + "platform_coupon_redemption_id": 3073624383391109, + "ods_hash": "5a63c26755ccb390e57adacb10c846ef", + "dwd_hash": "8a68c95be352624e19c07bc5a4aeeff2" + }, + { + "platform_coupon_redemption_id": 3073626155271557, + "ods_hash": "524856d92b2093491fc76b5dc749716d", + "dwd_hash": "4decdb1ba493785f77a7b361e81a5c44" + }, + { + "platform_coupon_redemption_id": 3073645110707653, + "ods_hash": "1c177d6d3d25a16d9f4169d39ef418f2", + "dwd_hash": "58f5847f8f3df5af7765ae7b84cd5356" + }, + { + "platform_coupon_redemption_id": 3073676096505285, + "ods_hash": "61166a56d8e024311856997f0fa4d316", + "dwd_hash": "da0f087f5cb44e99453fcb24dfbedbd0" + }, + { + "platform_coupon_redemption_id": 3073684098107013, + "ods_hash": "647e9a7fbdf6e92b5f9c9c122b647596", + "dwd_hash": "d54623e800780a9cb8c2b2d7bf4ce977" + }, + { + "platform_coupon_redemption_id": 3073700711302725, + "ods_hash": "61dca65246126e46c15ad6814f6b5586", + "dwd_hash": "3ae7591b0f63a9bdf0098674b79c3a31" + }, + { + "platform_coupon_redemption_id": 3073702552864197, + "ods_hash": "d2e14b9e1d19e2a7e8413172cdcecdb9", + "dwd_hash": "9776215d7703768228d497786ce9546c" + }, + { + "platform_coupon_redemption_id": 3073717513946693, + "ods_hash": "2663368a02a79e62ae31b5d3011bfe0e", + "dwd_hash": "0591e542137de725adb813c568b827c0" + }, + { + "platform_coupon_redemption_id": 3073726744168005, + "ods_hash": "26acf3185c68755159ed30d8bab56144", + "dwd_hash": "e3f7e1cb3328884e1b13d8fbc4413cf8" + }, + { + "platform_coupon_redemption_id": 3073726889772421, + "ods_hash": "a8b5d0ad2006c06cf65a0657db5761ae", + "dwd_hash": "d5d370292a25d14562f4566f9b29a9f0" + }, + { + "platform_coupon_redemption_id": 3073728567314053, + "ods_hash": "4e829856c6175ca9146ffa454970bf6a", + "dwd_hash": "2fbcd2f6172c4f5174b3ff875265f180" + }, + { + "platform_coupon_redemption_id": 3073728923682373, + "ods_hash": "b2566e3754c636c0a0507862a8d8693e", + "dwd_hash": "9a45550121d85f0f5919ef22002c1096" + }, + { + "platform_coupon_redemption_id": 3073733296129669, + "ods_hash": "edf635c795164810639f59114b28b4b9", + "dwd_hash": "f1f21deba5289253290cb21ab4be1edb" + }, + { + "platform_coupon_redemption_id": 3073740424496581, + "ods_hash": "fc9e7dad5fb64aac75ff1206d9fae022", + "dwd_hash": "8e625641fe2b474c750595b13235f8ae" + }, + { + "platform_coupon_redemption_id": 3073749492483653, + "ods_hash": "6ad4baf35529b02b614687296685407d", + "dwd_hash": "a0cb953a749e08f3a4a6d005773b76c2" + }, + { + "platform_coupon_redemption_id": 3073755283375493, + "ods_hash": "eaac2752e40b20878f60a4567156d7d9", + "dwd_hash": "78d21a2a07433c1d5c1913679364955d" + }, + { + "platform_coupon_redemption_id": 3073758002448005, + "ods_hash": "6c2fa0ae27f5f9ab677e8c6754a05a19", + "dwd_hash": "ce85bbf397c248d9363174918cbaaff9" + }, + { + "platform_coupon_redemption_id": 3073778630346181, + "ods_hash": "3cfd4fa239582adba45d1105ef87a66a", + "dwd_hash": "056b3e4f0899e038cb294121688d44ca" + }, + { + "platform_coupon_redemption_id": 3073779752093061, + "ods_hash": "9acfcd1c9b6ca6bddcd7e308ee82f70b", + "dwd_hash": "c2e7b0fc0432e42f0a0e7a7d863e0d72" + }, + { + "platform_coupon_redemption_id": 3073792231835013, + "ods_hash": "ea7604a2db44263b621c62f4486e8d1f", + "dwd_hash": "9b725cba0d639fb0d85e8a836e542c1d" + }, + { + "platform_coupon_redemption_id": 3073794447935045, + "ods_hash": "79049de6aeec35bfb86feebc026c70d9", + "dwd_hash": "29bebee02dd7d4acb2cde3bc0030087c" + }, + { + "platform_coupon_redemption_id": 3073797914281541, + "ods_hash": "ba01f6e7c9cfb91736e0c9991f43c67c", + "dwd_hash": "34a89c2e0a7b4daa4f452690fa4f970e" + }, + { + "platform_coupon_redemption_id": 3073802735388293, + "ods_hash": "4df45d7a2927b83fde05880bec6c6f7b", + "dwd_hash": "b96fb3d238fb9158fe3f99de0957649a" + }, + { + "platform_coupon_redemption_id": 3073814908470725, + "ods_hash": "f8e4565d4ef34b995235e2a9c859dcb0", + "dwd_hash": "ec2a969efa00f11a487911d20aa4798b" + }, + { + "platform_coupon_redemption_id": 3073820270773893, + "ods_hash": "8ba9831ac02c7d3d7853b20bd0d44be5", + "dwd_hash": "2b6ed16ce2d2d3d7d6e066ef225f708b" + }, + { + "platform_coupon_redemption_id": 3073822112564613, + "ods_hash": "04adb6421bace2f959782920500e2f2f", + "dwd_hash": "0574b2715892b1ddeb4fbe7cb2be11a2" + }, + { + "platform_coupon_redemption_id": 3073824938575301, + "ods_hash": "2723e017bbf5a88cb0b1cc82c4bc0ccc", + "dwd_hash": "a38c9a7edce20763eaa080e266867b42" + }, + { + "platform_coupon_redemption_id": 3073829133239685, + "ods_hash": "359a85c08e3eefe8626de16e13c49dba", + "dwd_hash": "b4734ba54b6247f960e91729fb7b79c0" + }, + { + "platform_coupon_redemption_id": 3073841507566981, + "ods_hash": "d267a73384eaea11381358f075c4cd78", + "dwd_hash": "65ccb5fcbe5019af81e1488b53a1087d" + }, + { + "platform_coupon_redemption_id": 3073845685585477, + "ods_hash": "4b563d4ae636f8e0fe2e7dccdd8467b0", + "dwd_hash": "324afc0fa952e8cc21dea6a38aa7ffe1" + } + ], + "mismatch_error": null + }, + { + "dwd_table": "billiards_dwd.dwd_platform_coupon_redemption_ex", + "ods_table": "billiards_ods.platform_coupon_redemption_records", + "windowed": false, + "window_col": null, + "count": { + "dwd": 17426, + "ods": 17426, + "diff": 0 + }, + "amounts": [], + "mismatch": 0, + "mismatch_samples": [], + "mismatch_error": null + }, + { + "dwd_table": "billiards_dwd.dwd_recharge_order", + "ods_table": "billiards_ods.recharge_settlements", + "windowed": false, + "window_col": null, + "count": { + "dwd": 470, + "ods": 470, + "diff": 0 + }, + "amounts": [], + "mismatch": 0, + "mismatch_samples": [], + "mismatch_error": null + }, + { + "dwd_table": "billiards_dwd.dwd_recharge_order_ex", + "ods_table": "billiards_ods.recharge_settlements", + "windowed": false, + "window_col": null, + "count": { + "dwd": 470, + "ods": 470, + "diff": 0 + }, + "amounts": [], + "mismatch": 0, + "mismatch_samples": [], + "mismatch_error": null + }, + { + "dwd_table": "billiards_dwd.dwd_payment", + "ods_table": "billiards_ods.payment_transactions", + "windowed": true, + "window_col": "pay_time", + "count": { + "dwd": 249, + "ods": 249, + "diff": 0 + }, + "amounts": [ + { + "column": "pay_amount", + "dwd_sum": 39420.0, + "ods_sum": 39420.0, + "diff": 0.0 + } + ], + "mismatch": 249, + "mismatch_samples": [ + { + "payment_id": 3073387403986373, + "ods_hash": "91b4b6d21373a8441584efd6a930e9ab", + "dwd_hash": "116a4d459449e64b3dc2964659c10437" + }, + { + "payment_id": 3073430043952773, + "ods_hash": "20f659b991734de8d976ea668bfa200b", + "dwd_hash": "7e4f89508dfa36ea59557c286d904700" + }, + { + "payment_id": 3073491229132421, + "ods_hash": "94622bfe50f1b0376c6bdd3e4aeafee6", + "dwd_hash": "2881e8475bb36b6fc162a30793a20351" + }, + { + "payment_id": 3073520157623941, + "ods_hash": "100ce69c69885d85527c166c2331432f", + "dwd_hash": "b3997aaf4f9221c5d62168f7198da244" + }, + { + "payment_id": 3073545152611781, + "ods_hash": "cb191a02e0cb4a9d2e00481afdc50676", + "dwd_hash": "4e64b291377b83865e29d0e40540634b" + }, + { + "payment_id": 3073574871778949, + "ods_hash": "66985fdbea2ad6791901bf0c4b12cc32", + "dwd_hash": "041b124b02c34fcffae79f80254a52ae" + }, + { + "payment_id": 3073574922012037, + "ods_hash": "a302faf8aa9ff2c8ba3df58df4cb1cf6", + "dwd_hash": "82a99a97d518969f42edbeedee7eb3fc" + }, + { + "payment_id": 3073581975242309, + "ods_hash": "e86cf6b11cb075fd37d7ea4f0296099f", + "dwd_hash": "ff22a2c5885d9632cb22ee84bff32f54" + }, + { + "payment_id": 3073631143855557, + "ods_hash": "211311b724a3215a481da79bee052685", + "dwd_hash": "82861280411295a75f6946cdd77fa504" + }, + { + "payment_id": 3073646756890053, + "ods_hash": "90df1009640541934d427b6e927670d6", + "dwd_hash": "596fb72ec4be38eb479045ac26251c6a" + }, + { + "payment_id": 3073652725712517, + "ods_hash": "0a3852fecd4ded599defcbd3b42eb6df", + "dwd_hash": "f1e71ba48ba8cf6a4e4a7a14398bbd2b" + }, + { + "payment_id": 3073653508244869, + "ods_hash": "39c4ee0694d46c32124a6ecc58340d8c", + "dwd_hash": "526cb0005b5ae55b65988d5732c40381" + }, + { + "payment_id": 3073658606454213, + "ods_hash": "2d34637ac72122e4baf35500207eb0c9", + "dwd_hash": "661ab71022603a993ab05198a734d2e9" + }, + { + "payment_id": 3073670469993925, + "ods_hash": "671ad668b49fb99e22cbb48400fe0648", + "dwd_hash": "a87ade0deaacff21b097ca56d254f3fc" + }, + { + "payment_id": 3073681143645637, + "ods_hash": "71a3a0efec6c436150f06e97dfaaead7", + "dwd_hash": "68442df34f83afea2a14351fbfb31cbb" + }, + { + "payment_id": 3073683740296645, + "ods_hash": "7b89bf03388180e7788650fbd6f751f4", + "dwd_hash": "502defd60f29ca14418d6d779ac525de" + }, + { + "payment_id": 3073683963922053, + "ods_hash": "752319958fe52042d0aac68d4e849f70", + "dwd_hash": "6059ace260d9596c5f4c841e7bed6417" + }, + { + "payment_id": 3073690254771589, + "ods_hash": "f4500d9cd05bc42a543ec5cba8d6fa88", + "dwd_hash": "825345151fa40f511ddf9decb4ca20f7" + }, + { + "payment_id": 3073697291503173, + "ods_hash": "a934275cbe735ec70602dd5cc145e66e", + "dwd_hash": "9437891db96eff646fe5b819597cf19c" + }, + { + "payment_id": 3073702630262405, + "ods_hash": "f4f46af370c5715624e0ea4471a93d1b", + "dwd_hash": "56dbaedff3503b09ff79f6a59d20e0d4" + }, + { + "payment_id": 3073704043644357, + "ods_hash": "ce2150004f2daacb64a74ae36d4c592b", + "dwd_hash": "eb5f3ffad4e2119e5fb98ee39e71ba7c" + }, + { + "payment_id": 3073705555478085, + "ods_hash": "6e149ef77a5a2dbf8767eda773b6d8db", + "dwd_hash": "72c1237928053770095d3c5a75699252" + }, + { + "payment_id": 3073734140249669, + "ods_hash": "3c7594aa3dcb2ec100bd115cf1d16f19", + "dwd_hash": "2782343f5c14a6d7fc907e933fa03277" + }, + { + "payment_id": 3073734853183045, + "ods_hash": "9d6841e4611e519e12ee1489236f62ab", + "dwd_hash": "d9be7bdc409c51641cc95545af798690" + }, + { + "payment_id": 3073735535756677, + "ods_hash": "5ed5b1ff54b3d6551e57c033acc95e72", + "dwd_hash": "2945953860aa03608919f38219c8d15f" + }, + { + "payment_id": 3073741226559109, + "ods_hash": "723d037d2492971fa63a9b9acb9e5fa3", + "dwd_hash": "940dcaf0adf3347f6bf24aa70ac2daf8" + }, + { + "payment_id": 3073743224473029, + "ods_hash": "5e80cfabe84ef65fe0d5a434b2201101", + "dwd_hash": "156617cab9efdb1b76b6d9b992d5ca92" + }, + { + "payment_id": 3073748715652677, + "ods_hash": "d7504f157967ebe751c4d763e141eb7b", + "dwd_hash": "ada45054bf2872f866997805a1a67fd9" + }, + { + "payment_id": 3073750321104517, + "ods_hash": "13fa84feb799b7093c8596f0212065a2", + "dwd_hash": "67d3a98aac78f4f08fbc1248c8f5f48d" + }, + { + "payment_id": 3073751210755461, + "ods_hash": "dee1cbd21fea1d81bef7f58423971e1e", + "dwd_hash": "5eb4b9a4b8ccafbffe35282e9eec7b05" + }, + { + "payment_id": 3073763302196805, + "ods_hash": "6c4ec00d50c41a89dd9a0833167a1d70", + "dwd_hash": "91eeadf3368fc39423ba31c3b269e867" + }, + { + "payment_id": 3073771767416453, + "ods_hash": "f0c2a9ba5d4c9eebcb6678a1354cb69f", + "dwd_hash": "8ea37ebfbcfcd8a01d24d1aae12d007d" + }, + { + "payment_id": 3073786716685893, + "ods_hash": "15a3f5b1f3ed5f1f60c8607cbbe52c59", + "dwd_hash": "3c51b17a7428a5d5a23ed3bcd43435ca" + }, + { + "payment_id": 3073797226661510, + "ods_hash": "6a4b55869bc1f0a1102cd1b8da483dec", + "dwd_hash": "dc616d700bfcc95e685e1a6f2fecc4fc" + }, + { + "payment_id": 3073809409787461, + "ods_hash": "34de910d3496003100e26b027a38e28c", + "dwd_hash": "c711944ffebfeb021649591b40972ae3" + }, + { + "payment_id": 3073814676129157, + "ods_hash": "0b741a54141f1eeb3cbab564c414c687", + "dwd_hash": "78a52248d0a3cb3b0bd9354dd1edef70" + }, + { + "payment_id": 3073817368315461, + "ods_hash": "41c9c33f27bc5feb9881788a954c08c0", + "dwd_hash": "154c802147cb9b8f7678a56c500dfcd0" + }, + { + "payment_id": 3073818598278789, + "ods_hash": "877e4a21a3878f19e3613100851a3946", + "dwd_hash": "de95fe400761a68dd65b1b0a0a229ed3" + }, + { + "payment_id": 3073828344890821, + "ods_hash": "eb43dd130c8085bb12676db9419fd1b8", + "dwd_hash": "a790c2b3d980ea0db9db3f11361c5cab" + }, + { + "payment_id": 3073829504550469, + "ods_hash": "c9daca24559d90028458ca01d0807c88", + "dwd_hash": "523c4f7da350d1b6dc1f3fe7181a27ca" + }, + { + "payment_id": 3073835260626501, + "ods_hash": "18a56f518525f91dab1773b27de975fc", + "dwd_hash": "d67a8f193f0a0a9fc4a12e865d1d17c2" + }, + { + "payment_id": 3073840472376773, + "ods_hash": "3359ad087cf0ea01c285100cdfe3ef03", + "dwd_hash": "5e62fa64b002721d8e3a219e912d5ee0" + }, + { + "payment_id": 3073841864181381, + "ods_hash": "a5c25d9a2fd859a154952a275532f709", + "dwd_hash": "0dee44e28f1fa98439cef438b4ed9602" + }, + { + "payment_id": 3073844858488453, + "ods_hash": "e3e3c7a92977bc8e7c306bd29ae38476", + "dwd_hash": "cc15ee5b58b487befeca517a81d521f3" + }, + { + "payment_id": 3073845064500677, + "ods_hash": "eb94a0e7806b86252f4a106c7ed01b58", + "dwd_hash": "228f54342beb662859b55daf9a2312c8" + }, + { + "payment_id": 3073846749038213, + "ods_hash": "2ff31a2e9c8c3ec675d1cea74b28349e", + "dwd_hash": "e1aa4cedc3d88cd36efd429f40a423f0" + }, + { + "payment_id": 3073849385174469, + "ods_hash": "a93003dae11f129fdec95019b687f130", + "dwd_hash": "5b6130a7f39a66a2fce06d0565459ef9" + }, + { + "payment_id": 3073849678825093, + "ods_hash": "bd7e950c425498a96ac4e72278af2eda", + "dwd_hash": "79cec059a6038d2f0739daeb43d13b1a" + }, + { + "payment_id": 3073851448575557, + "ods_hash": "afd1e7abf2250e1111d57fc4ff803f5d", + "dwd_hash": "7f8da4eaaf1391924ddc47c7e417850d" + }, + { + "payment_id": 3073858589230469, + "ods_hash": "de9acac41f2759c35ab366b30894a95f", + "dwd_hash": "3541a57490df77945a04f75680c72f8e" + } + ], + "mismatch_error": null + }, + { + "dwd_table": "billiards_dwd.dwd_refund", + "ods_table": "billiards_ods.refund_transactions", + "windowed": true, + "window_col": "pay_time", + "count": { + "dwd": 1, + "ods": 1, + "diff": 0 + }, + "amounts": [ + { + "column": "channel_fee", + "dwd_sum": 0.0, + "ods_sum": 0.0, + "diff": 0.0 + }, + { + "column": "pay_amount", + "dwd_sum": -20.0, + "ods_sum": -20.0, + "diff": 0.0 + } + ], + "mismatch": 1, + "mismatch_samples": [ + { + "refund_id": 3075315080365445, + "ods_hash": "d106eb3749a86cbaf63c1c1435e011d8", + "dwd_hash": "00447218ebd761827dc5a3118018a6ca" + } + ], + "mismatch_error": null + }, + { + "dwd_table": "billiards_dwd.dwd_refund_ex", + "ods_table": "billiards_ods.refund_transactions", + "windowed": false, + "window_col": null, + "count": { + "dwd": 47, + "ods": 47, + "diff": 0 + }, + "amounts": [ + { + "column": "balance_frozen_amount", + "dwd_sum": 0.0, + "ods_sum": 0.0, + "diff": 0.0 + }, + { + "column": "card_frozen_amount", + "dwd_sum": 0.0, + "ods_sum": 0.0, + "diff": 0.0 + }, + { + "column": "refund_amount", + "dwd_sum": 0.0, + "ods_sum": 0.0, + "diff": 0.0 + }, + { + "column": "round_amount", + "dwd_sum": 0.0, + "ods_sum": 0.0, + "diff": 0.0 + } + ], + "mismatch": 0, + "mismatch_samples": [], + "mismatch_error": null + } + ], + "total_count_diff": -19231, + "total_mismatch": 37473 + }, + "generated_at": "2026-02-01T17:31:56.044590+08:00" + }, + { + "mode": "window", + "window": { + "start": "2026-02-01T00:00:00+08:00", + "end": "2026-02-01T21:15:21+08:00", + "label": "segment_2", + "granularity": "window" + }, + "api_to_ods": { + "window_split_unit": "none", + "window_compensation_hours": 0, + "start": "2026-02-01T00:00:00+08:00", + "end": "2026-02-01T21:15:21+08:00", + "cutoff": null, + "window_days": 0, + "window_hours": 21, + "page_size": 200, + "chunk_size": 500, + "sample_limit": 50, + "compare_content": true, + "content_sample_limit": 50, + "store_id": 2790685415443269, + "base_url": "https://pc.ficoo.vip/apiprod/admin/v1/", + "results": [ + { + "task_code": "ODS_ASSISTANT_ACCOUNT", + "table": "billiards_ods.assistant_accounts_master", + "endpoint": "/PersonnelManagement/SearchAssistantInfo", + "pk_columns": [ + "id" + ], + "records": 138, + "records_with_pk": 138, + "missing": 0, + "missing_samples": [], + "mismatch": 20, + "mismatch_samples": [ + { + "id": 2964673443302213, + "content_hash": "839d43428c64ce6c9e72181f8a213a9599e899aa3780a92e150d1db1bc6b03ef" + }, + { + "id": 2964641017858885, + "content_hash": "c5582c5d76bfaaff8954787505fab682dec2d203af34505d0b66f814a4f1e081" + }, + { + "id": 2964640248745157, + "content_hash": "8192af59dc039fbfbdfbe812bf586e30a3a2affaf994ad80da1b9928a61904c5" + }, + { + "id": 2861304461364293, + "content_hash": "135f2c9b0ea8f3e4cf942eba0b6b92f51bb74eb13a33053616d263b92bd21f38" + }, + { + "id": 2840060593686213, + "content_hash": "32723eae7cb0db31ceb773ab06283ab87f9b3528038ef5129e0bdec995d4217a" + }, + { + "id": 2793363001774149, + "content_hash": "507ee309e8c665fd10de16651cebe8216ecf71c4b3cd58002168a29bdf4970c6" + }, + { + "id": 2793532503855173, + "content_hash": "eae6d5ef05f293ac397c1657eda72edf1f37778d0ad4ae9755a6b815164b5ec3" + }, + { + "id": 2793530479530053, + "content_hash": "95f02f4a4445b870bcad59065962059e8b8487702eb179d82e81ff2d806a2b37" + }, + { + "id": 2793486361710725, + "content_hash": "2eaa32eedce787a1dcd63e5be455165644979c484cca5dc3a0c3c52674367afa" + }, + { + "id": 2793493699088517, + "content_hash": "5e2d697309998601c962d250b0143c8e592e829f77fa9af14b51916c7ca19aab" + }, + { + "id": 2964673443302213, + "content_hash": "839d43428c64ce6c9e72181f8a213a9599e899aa3780a92e150d1db1bc6b03ef" + }, + { + "id": 2964641017858885, + "content_hash": "c5582c5d76bfaaff8954787505fab682dec2d203af34505d0b66f814a4f1e081" + }, + { + "id": 2964640248745157, + "content_hash": "8192af59dc039fbfbdfbe812bf586e30a3a2affaf994ad80da1b9928a61904c5" + }, + { + "id": 2861304461364293, + "content_hash": "135f2c9b0ea8f3e4cf942eba0b6b92f51bb74eb13a33053616d263b92bd21f38" + }, + { + "id": 2840060593686213, + "content_hash": "32723eae7cb0db31ceb773ab06283ab87f9b3528038ef5129e0bdec995d4217a" + }, + { + "id": 2793363001774149, + "content_hash": "507ee309e8c665fd10de16651cebe8216ecf71c4b3cd58002168a29bdf4970c6" + }, + { + "id": 2793532503855173, + "content_hash": "eae6d5ef05f293ac397c1657eda72edf1f37778d0ad4ae9755a6b815164b5ec3" + }, + { + "id": 2793530479530053, + "content_hash": "95f02f4a4445b870bcad59065962059e8b8487702eb179d82e81ff2d806a2b37" + }, + { + "id": 2793486361710725, + "content_hash": "2eaa32eedce787a1dcd63e5be455165644979c484cca5dc3a0c3c52674367afa" + }, + { + "id": 2793493699088517, + "content_hash": "5e2d697309998601c962d250b0143c8e592e829f77fa9af14b51916c7ca19aab" + } + ], + "pages": 2, + "skipped_missing_pk": 0, + "errors": 0, + "error_detail": null, + "compare_content": true, + "content_hash_supported": true + }, + { + "task_code": "ODS_SETTLEMENT_RECORDS", + "table": "billiards_ods.settlement_records", + "endpoint": "/Site/GetAllOrderSettleList", + "pk_columns": [ + "id" + ], + "records": 63, + "records_with_pk": 63, + "missing": 2, + "missing_samples": [ + { + "id": 3076468614809029 + }, + { + "id": 3076467386877573 + } + ], + "mismatch": 61, + "mismatch_samples": [ + { + "id": 3076458700309893, + "content_hash": "fcfeb0260a77edfd70671324c9a18b36093cfe65a83063f0a9d4f535cd187106" + }, + { + "id": 3076456369735301, + "content_hash": "48c4337e2be51291a2cc4ef82bd7387677a55f523ccd010069e4db8a2debfa83" + }, + { + "id": 3076455546455493, + "content_hash": "72a249c2f1654e694efa9518eab5fb61007c139cc8a2defc281f246c3dd3f02a" + }, + { + "id": 3076454422775365, + "content_hash": "6ec97b33b486ec3d6015fe466749c3d742e4d041c20f921a2a9542b0dfdf0eda" + }, + { + "id": 3076454214075845, + "content_hash": "c0cd4a4f5efe5078eaf7909fbd31b5c52e8ad6cb7134819940fe9c93ad28e9fc" + }, + { + "id": 3076448746718853, + "content_hash": "b55f9c60b4c090aee81f38c1ef503ba89418cfd0835451c538a5f28da7d887e6" + }, + { + "id": 3076445029139909, + "content_hash": "ea210e4cbe66e1b587fc05cacbcbe85db9edb7369b3f42ce312cfe24180443eb" + }, + { + "id": 3076440512103813, + "content_hash": "422099ee70d53e3ac23e1765e17d7ad67afee0562b957ac256e61bcb87bbfd25" + }, + { + "id": 3076431901542021, + "content_hash": "fe3694489004b7044b9112123b0852efc63a42793197a7a99fef79ddfd7a2231" + }, + { + "id": 3076431815607877, + "content_hash": "6d18c0fc4e121078d575547ca078be775bf2f670b56ab68dfda217ce46ffc996" + }, + { + "id": 3076427911873925, + "content_hash": "9e8fcced81eff199dc3c251b8ae7d091d39ea266178a3c43a02ab0c6adfbd06f" + }, + { + "id": 3076426252469829, + "content_hash": "181a22b4e72603859e773fb16ef437f8ca7e21475019367d34d24ce4fa907f5b" + }, + { + "id": 3076404561774149, + "content_hash": "f800ccb061f3eb7a9b26c3e26ae85d0011a32a97b9d2b8b9df39bf46ddce3ab8" + }, + { + "id": 3076404475233733, + "content_hash": "516d179bce2e1241a2b8473af11da7977233e0f03c73508137ced4b995660491" + }, + { + "id": 3076402039817797, + "content_hash": "19d21508a379ef8b52fae355ea4f89cc7483e734cfd79e23a35327b7e4b70723" + }, + { + "id": 3076401419699653, + "content_hash": "9c73e6acd3b2b34766b0c9aa64824bd6a62b8dabdcb081e5165d95f8065097c7" + }, + { + "id": 3076398355138181, + "content_hash": "6ccd7500aa0e41bc92f117673eeade83e020980a1abb6075398f4f55046badde" + }, + { + "id": 3076397477447045, + "content_hash": "f2df960cc69df74188a02d7e8ad25795c232718faa5052370df28be3d7487cc4" + }, + { + "id": 3076391943521669, + "content_hash": "cccb5212c5194eeb98dd6ae60927418d95ee07885bf6a2c1aa2e98bb93d7db7f" + }, + { + "id": 3076384544851525, + "content_hash": "4610dd365a3ccec7b90554f6f1f6ced9336aa36be3c1a7b4193762cdbcc090f4" + }, + { + "id": 3076374806693509, + "content_hash": "3e77e1115f9510fc70645c10cc26e7f9a9b58ed5140d3fb5f6184202c372d9bc" + }, + { + "id": 3076373983463045, + "content_hash": "3898e150b325dc533d166f1388f298606e1be86c72091935ea161b906b07394c" + }, + { + "id": 3076364685362629, + "content_hash": "75a425e83be348b645af5c33385e2c2158975c83f4e5f3f27c72fd4aff7cdbb7" + }, + { + "id": 3076361253537221, + "content_hash": "fcbb1834bbff0f5c0b2f211644ea29c9fc7f6a968008166a89385e7a73feaad1" + }, + { + "id": 3076351018845637, + "content_hash": "5e2879d99571c91ad2cf07abed19bb544bc359c285b35b937e26309561ee1055" + }, + { + "id": 3076341183317381, + "content_hash": "3af6efefba4bdb315c16259687e45e1247fa6f1a2a58432e10dcea7e07287083" + }, + { + "id": 3076341125465541, + "content_hash": "f9a6da9372d7e638765bc488bc4f5d985d77b8ab552861fd228a16735c095faf" + }, + { + "id": 3076340817823301, + "content_hash": "17f30dc453e26fb8b440f1f75933035d9ce59e050299ab9a9896730584ebcf33" + }, + { + "id": 3076335060403845, + "content_hash": "f2c4ce7cb14796fe2c3b9052bf69aa3a918f30eb7b7a5f4e281eb15231010c22" + }, + { + "id": 3076334984070597, + "content_hash": "54b6a9fba103650da52e5cb0cea974d5dd615df1e7b0b6714e780715451e821c" + }, + { + "id": 3076329472263813, + "content_hash": "975f48b29de763b7c1c875983ba90fdc95fb6a4e28f0e4162577497ce87b60f0" + }, + { + "id": 3076325357848133, + "content_hash": "1d23dbad4d3f44655a5f69b9111fd40c0e95d0c2eb9d5aef7d29c91cd208df45" + }, + { + "id": 3076324997596741, + "content_hash": "cfd8c7d1e1d5a753394d06a9cdd87687270963b9d4bfa5bf8f6e113663dd0814" + }, + { + "id": 3076324778444357, + "content_hash": "6a58abd08ebe3d563c73850e05b2e05fa547cbd0a9479ce914a2611ba61bdf8c" + }, + { + "id": 3076300195186309, + "content_hash": "2d16fc83461419db62e06801539485778c1963c85b1717fe2e4992735cdff413" + }, + { + "id": 3076282462602629, + "content_hash": "377352fc8c35f233b3ac24f6f8f7624720efd0bf2f597986bb9dbe5860621a47" + }, + { + "id": 3076266613753285, + "content_hash": "7072c89bfcceacff2e146baf99a2cd0f68ca7aac0dc8104b61bf8d37628f2f63" + }, + { + "id": 3076255056905861, + "content_hash": "d13b0718d5a65674b1dacfe84fed839bc39d25227d3157395b320945c0d32595" + }, + { + "id": 3076162814084549, + "content_hash": "dab6dd704a18bd4d676577329b00b75d92a9fe0a62242bd60a81fe7cd9392e5d" + }, + { + "id": 3076160250971717, + "content_hash": "e547ab15e4cda5b31455946bced7a95969da585a1732e0e3cfdd48bf308ccc78" + }, + { + "id": 3076138688464453, + "content_hash": "65972020ca61e06650969253345123d49c817b9bd51b589bd80eac6a64719e70" + }, + { + "id": 3075796102497733, + "content_hash": "7a1e58d1f800d4ca27e6af6718df8c4cb41be47a790483eb8840bed8351bc92a" + }, + { + "id": 3075749871846789, + "content_hash": "a038a21c7d0536dc4a89e56150a7eb3c6928de413ac13ce19c15ece617d06417" + }, + { + "id": 3075635006113413, + "content_hash": "9c325ae5b216a028c9cd1f973a23264d3a0b4c50bb5a28bd0d4fb43d1f15f4fd" + }, + { + "id": 3075634038818245, + "content_hash": "f44522784500fae84fd9dff7fa393ba8799e41af17fa52606353c1eb7cb847d9" + }, + { + "id": 3075631216395909, + "content_hash": "ac61c0abc6a660c8e8e0150685582d190c8d30305a76eb75e3f44a35c854ac85" + }, + { + "id": 3075626208708165, + "content_hash": "172c142f887825850618125fff1dd8619ef3ed48b3742914dc59243c14dc2e1b" + }, + { + "id": 3075584553190981, + "content_hash": "428d0a07c87fbf064fdbff46f86fa0540a7f920d3dca7a3088f5ae747231112a" + }, + { + "id": 3075584254739909, + "content_hash": "be5f2722f70164012b3cd46123f03b5d1e8ddf3b4aa45ca355894e561c741c54" + }, + { + "id": 3075574977349253, + "content_hash": "1d1866506a8d5a0dc3e21e4bd9a504181c016d8bf7e730e9c334c2fed07ac041" + } + ], + "pages": 2, + "skipped_missing_pk": 0, + "errors": 0, + "error_detail": null, + "compare_content": true, + "content_hash_supported": true + }, + { + "task_code": "ODS_TABLE_USE", + "table": "billiards_ods.table_fee_transactions", + "endpoint": "/Site/GetSiteTableOrderDetails", + "pk_columns": [ + "id" + ], + "records": 10072, + "records_with_pk": 10072, + "missing": 2, + "missing_samples": [ + { + "id": 3076468631635333 + }, + { + "id": 3076467402524229 + } + ], + "mismatch": 68, + "mismatch_samples": [ + { + "id": 3076458717628037, + "content_hash": "c560556b7265323acfbaad424737fbaf529405af7fc4fc99a8c04ea7d9138c8e" + }, + { + "id": 3076456428603013, + "content_hash": "040978f9e60d19e2fe1606eb85719a6307418474642ab2f1185cbc47866391f1" + }, + { + "id": 3076455564838277, + "content_hash": "672bff8f9a453e454e89d1c09298a8f764c9c4083e1fcd5215d52c52d50b788a" + }, + { + "id": 3076454440863109, + "content_hash": "a9f3f231326e5f02918ca1f8346c31537cf753f6908311a35f715923e70717f5" + }, + { + "id": 3076454348309893, + "content_hash": "f760b61c45765af59aee194d298fadce2c6253c6dddd4008c1aa9f091c54c8dc" + }, + { + "id": 3076448766461317, + "content_hash": "e912f503ae32f5561530bc56813169d39f3b4fb200ad7b691fcf98ad5d925b1e" + }, + { + "id": 3076445048063365, + "content_hash": "06635b02f5d4d215b3ff33ae531ffc73a315e194a3d620169aba139ba56250f7" + }, + { + "id": 3076431917008453, + "content_hash": "f613702e2569ee755f4388971422fe70327fe19e4cd2ee3a0867e434dd93a5ce" + }, + { + "id": 3076431855896133, + "content_hash": "fb911c9965dc1b8fde398075dc80c23ef3b2db00cecd3c911fdccc1576ef5767" + }, + { + "id": 3076427929667013, + "content_hash": "6b5cdadc648a73e9d6efcc1df4c7c3bb247994ba936a492532e654d74e4f191b" + }, + { + "id": 3076426270180933, + "content_hash": "9d55d5a5bed5c60769e4d2052419a8644fe259aaa881efd213adfff19ea51423" + }, + { + "id": 3076404579583429, + "content_hash": "c0b447e8ea656b752bad8c43015026acaa4a108747fa75e0e089d4dd616c0ea3" + }, + { + "id": 3076404528957061, + "content_hash": "755779b8a4064cf9f1af8485adaf8ca1757f9ca1b4593fc6be13c3eb01918d97" + }, + { + "id": 3076402097276293, + "content_hash": "4463ccb44164644f333d1facf643f8a94676f51556e29ec47223bea442a8bee3" + }, + { + "id": 3076401436312965, + "content_hash": "51b9ae68448bf0a10c833d05a154f3d0da0d4863e06e820a5c03c85db274452b" + }, + { + "id": 3076397495780933, + "content_hash": "ccf911a4749427f2e58698655eb940b5baa6c18c8e0acdc00ae4fc1af2d49b74" + }, + { + "id": 3076391961855557, + "content_hash": "2c52621ea3230733cf444465d2dff648c2b9d00cb731d70dbc47194018ee89f7" + }, + { + "id": 3076374836004229, + "content_hash": "3ad23ec7f3df1bbcf96804d8c8195d671e8e6882768c260f4a8355a9e5400c73" + }, + { + "id": 3076374000354885, + "content_hash": "62e01a5abdc67f65f187a57622753a40c984f39dca6120e9365580ab49e01359" + }, + { + "id": 3076364701123973, + "content_hash": "5aac3cfef1671ecc98481498e1320f95c5fdcf758e6a2c9c9f7f43463dba6a79" + }, + { + "id": 3076361276884357, + "content_hash": "8ab7c924beebcd8d5dc5a3354295c48f6fb213a0630fbbfa8d71e1278c81da34" + }, + { + "id": 3076341201225349, + "content_hash": "d874b09495c04272ff04781d7113948c2f951f20b194178bcae48490ef0b8ed7" + }, + { + "id": 3076341144192389, + "content_hash": "938be43e34cfafbc8f5d008e5aadffb999c2a3caa785c5cde8f79fcb6c33aded" + }, + { + "id": 3076335083587141, + "content_hash": "309f42330f084315a12f8813b7033c49c706791b74ac658e809551882651ded8" + }, + { + "id": 3076335007483269, + "content_hash": "eb882e1ebd7014d35cbe1400768ad5cb343f98a4ed2672f9978c757cfb595d6e" + }, + { + "id": 3076329489057413, + "content_hash": "87daf2cb17e9c9a7cd8407f795daf734476955d4fb5fbe5288e1ebc43328fc37" + }, + { + "id": 3076325379917189, + "content_hash": "a3a041e720f52eee0e5436ef923c08cf6c179f640f9aacf5d8a9c36023cd1811" + }, + { + "id": 3076324807968389, + "content_hash": "46528ecea97222e22ddb13262a0410e54ae097c01d9d4ae168342e35d137c066" + }, + { + "id": 3076282477610373, + "content_hash": "18794315fa5ada5cbefad58f5cfb43943075feab6593c1ef444988f02f55ca83" + }, + { + "id": 3076255083218501, + "content_hash": "5e02920dfd8de17a6d777316d967f6810e15e23a39cb7dc4bf1976408799cc47" + }, + { + "id": 3076160268633541, + "content_hash": "2a02e45994dbc1524ef52d425b1e02ac4acede1991c1f4e72504aa5b54aec6fd" + }, + { + "id": 3076138706470341, + "content_hash": "85a3abc04c65f31f8c0eaf86f7df53839362e794404af9769d5c29cef44ff404" + }, + { + "id": 3075796677543365, + "content_hash": "22fca596263c51170cb4ccebcd2e1b7560195af6c78f35bee54447f273a34d7d" + }, + { + "id": 3075750061589957, + "content_hash": "8a786f89baa7e66cb55328e3948ef180ef2d7262d52f80f8b1849ad7834d9a38" + }, + { + "id": 3075635028674181, + "content_hash": "a24c7abec1aca8ff2a9c63ccce6a96a738ce68bf701dc83d1cb4db6259b97a38" + }, + { + "id": 3075631430682181, + "content_hash": "054016d8a4c02d39dff0f3909799c8059eaf1f83f41565a89bd0d3f5c4cf8a41" + }, + { + "id": 3075626777576901, + "content_hash": "aa9d1f28140a2e22b97a2fb1ef8504de3dbcdafa950ec479adbf47f9fda95f35" + }, + { + "id": 3075626777560517, + "content_hash": "b3771d47fe8b790bc1d0389fe16538fea21d1dc63dd38aae039ef2df3244f77a" + }, + { + "id": 3075584988579461, + "content_hash": "6a811cbbaa3a4288b4c60e677166c0f8f33996e24963c7b3c857b8816715d323" + }, + { + "id": 3075584277300869, + "content_hash": "ea76ca1588149c5d05a3a0d48f3944a6122156f5af58a1e3dfc9d5d0c39139e2" + }, + { + "id": 3075574999369285, + "content_hash": "14f4c7a69e19842cbd2acc0a76a5cbf7dc59ce1ac5db455476349cd37ffc3fd5" + }, + { + "id": 3075568526608005, + "content_hash": "bed10077df56480934844159ce837276072ce0900e595851ae9dbe0844ef7ff1" + }, + { + "id": 3075537363207749, + "content_hash": "f994d789f76ccc8dbd38516f7bd4ccef46e5eb89dbfe2bd36d07dd814bc80e4e" + }, + { + "id": 3075502543013509, + "content_hash": "36c79aa18bd02254d14faecb3bc5e56fcd4a856427c5b36c6da85796d32f27e3" + }, + { + "id": 3075502543029893, + "content_hash": "a86d687b65af44401d7124cbd59a08211acf6ca7c9175e1c062e4717f3ce6e89" + }, + { + "id": 3075502542980741, + "content_hash": "33e3e1271e26b38861e7ca521bc4f95a3f96cddf41206e92b9215c718affd217" + }, + { + "id": 3075502542997125, + "content_hash": "0eb52a6b1181a117f35897c181a794d3e3ea1f292b28a0d1c05074ab5395bba7" + }, + { + "id": 3075497054340742, + "content_hash": "d1c03fff95d7ab57839578afca3a80213fe2adcc34a5a3cd7b1a0d42847a637a" + }, + { + "id": 3075484369503813, + "content_hash": "662f5419bbbd6c773c5481b1f39da2774a74cc674564e89fc86e43216d823e74" + }, + { + "id": 3075473701045893, + "content_hash": "eb8c20d6a12d42f26f79c5352a1b7901c9acedc4597c32f6f8cd1342d53287b6" + } + ], + "pages": 51, + "skipped_missing_pk": 0, + "errors": 0, + "error_detail": null, + "compare_content": true, + "content_hash_supported": true + }, + { + "task_code": "ODS_ASSISTANT_LEDGER", + "table": "billiards_ods.assistant_service_records", + "endpoint": "/AssistantPerformance/GetOrderAssistantDetails", + "pk_columns": [ + "id" + ], + "records": 6, + "records_with_pk": 6, + "missing": 0, + "missing_samples": [], + "mismatch": 6, + "mismatch_samples": [ + { + "id": 3075750061999557, + "content_hash": "f2ad302051b745332bcbd660eef9b80f7552af6ad8c6937cc6cc7dd9bf16b5cc" + }, + { + "id": 3075631431616069, + "content_hash": "6247dcf15ccb43e664a177ab551ad500885f446d2fe22683ae8110eb0d288655" + }, + { + "id": 3075631431124549, + "content_hash": "65080f43162686bd292de49fbad7e7814267785f3403749684e66887760831ca" + }, + { + "id": 3075626777986501, + "content_hash": "e29ecea6d19a18f534c3d4f7bd70afc017f3582d939f006ec7a555e9b671156f" + }, + { + "id": 3075584989021829, + "content_hash": "3f91ad21cabca02c83baf452aeb2131fcb7cee7ca774d649c8ec22734d5f3b03" + }, + { + "id": 3075473604216197, + "content_hash": "bef7dceb8487e21f054f4794c9b3065342112c0f422e7091bc481afb917cbd35" + } + ], + "pages": 2, + "skipped_missing_pk": 0, + "errors": 0, + "error_detail": null, + "compare_content": true, + "content_hash_supported": true + }, + { + "task_code": "ODS_ASSISTANT_ABOLISH", + "table": "billiards_ods.assistant_cancellation_records", + "endpoint": "/AssistantPerformance/GetAbolitionAssistant", + "pk_columns": [ + "id" + ], + "records": 0, + "records_with_pk": 0, + "missing": 0, + "missing_samples": [], + "mismatch": 0, + "mismatch_samples": [], + "pages": 2, + "skipped_missing_pk": 0, + "errors": 0, + "error_detail": null, + "compare_content": true, + "content_hash_supported": true + }, + { + "task_code": "ODS_STORE_GOODS_SALES", + "table": "billiards_ods.store_goods_sales_records", + "endpoint": "/TenantGoods/GetGoodsSalesList", + "pk_columns": [ + "id" + ], + "records": 0, + "records_with_pk": 0, + "missing": 0, + "missing_samples": [], + "mismatch": 0, + "mismatch_samples": [], + "pages": 1, + "skipped_missing_pk": 0, + "errors": 0, + "error_detail": null, + "compare_content": true, + "content_hash_supported": true + }, + { + "task_code": "ODS_PAYMENT", + "table": "billiards_ods.payment_transactions", + "endpoint": "/PayLog/GetPayLogListPage", + "pk_columns": [ + "id" + ], + "records": 11862, + "records_with_pk": 11862, + "missing": 2, + "missing_samples": [ + { + "id": 3076468629095813 + }, + { + "id": 3076467400361541 + } + ], + "mismatch": 76, + "mismatch_samples": [ + { + "id": 3076458715268741, + "content_hash": "ac78e1c4c30f8d54e9cf49d505ee009946f613059ac20c2cd64ebe99ed2d16a7" + }, + { + "id": 3076456425571973, + "content_hash": "784dbffeed6cbb906e715b984a2eb68eb4d7b4d21fe13577e19f50ab84262e2e" + }, + { + "id": 3076455562167685, + "content_hash": "254f35015805c022e9bee5c36103ed4f565e3843f3f3aaa37d218cdcaf384cc4" + }, + { + "id": 3076454438454661, + "content_hash": "c0f6f656a415a95ef06cb435353b1284c0250c4a3d5574b86dc08a87b9f05a50" + }, + { + "id": 3076454345950597, + "content_hash": "777c8dbe11d51fac95f083fbb51eb2da14c1085711267c8ee854273c1842e692" + }, + { + "id": 3076448764216709, + "content_hash": "0ea75fe82f054a70bdfd72a5b12be4fc87d549516400cb24c184a5c2ade0a968" + }, + { + "id": 3076445045507461, + "content_hash": "49ab33b8eb37eccd094d84f8591de1fabfbf8e83c5add1e24fa5322553c2c52c" + }, + { + "id": 3076440535041605, + "content_hash": "a4570493e7ca107b8bd51d6918929fe37563511ac4c33b3785b03e33646a4801" + }, + { + "id": 3076431914829381, + "content_hash": "02245f332d9d246db8bc4e4127f28e1b93136efcad18560cfb40098f42bfccd1" + }, + { + "id": 3076431853635141, + "content_hash": "0f5573d8cde0551abeb7ab71d11349eb7ff542031a8b6f1d921e79caeba7e2e3" + }, + { + "id": 3076427927373253, + "content_hash": "adcc2fc6dcf91cd2c9554b20c005679040badc32447cebd57ddfa07f20000869" + }, + { + "id": 3076426267510341, + "content_hash": "8973a2a98d81d5d6b99ae519ed5168f5368702931ff2f5032df328363d99b0f6" + }, + { + "id": 3076404577387973, + "content_hash": "d487e756bfbcbfdea9801bf833eadeeb232e9c6caff34773eb2aa2bf2f996a98" + }, + { + "id": 3076404526581381, + "content_hash": "9dd9b05502dcd2babbc759eecb7f7f1ea0e572d358ac2919a885e58b9229b47a" + }, + { + "id": 3076402094638469, + "content_hash": "170e125df1ae5af87d9d443955589b83001bff46a264bcf418f9efd1f26c5e91" + }, + { + "id": 3076401434183045, + "content_hash": "ee7b1cbe64524945bdbcec9aa286c8adbaf84278a9a94401e4299c5207188703" + }, + { + "id": 3076398378419845, + "content_hash": "e6dc0093247a5e9709cb1e8866b3b1857517a7bdfe866d51bb5a71311ced3684" + }, + { + "id": 3076397493470789, + "content_hash": "d9a79d7237c59c1365a504de14ae8a115bc77dfb91a86d52766a96a6311c0b08" + }, + { + "id": 3076391959709253, + "content_hash": "e49dc4dcdb14c8e2217aa61b078d9901187342b8030e8def5ca3e45cb3cd963a" + }, + { + "id": 3076384567166597, + "content_hash": "294616a87c7be3cd3d8b5c00236a2bf67d669509b8e9937f24c24d9a983129ab" + }, + { + "id": 3076374833661317, + "content_hash": "36fac0acf37a6aa2578cf1743afa60202b25d47713759f484bcbc380784c442d" + }, + { + "id": 3076373997651525, + "content_hash": "4f420efa3e2aa089b921a8062e14380ce77df8eca92eb9219c2c18138485737b" + }, + { + "id": 3076364698830213, + "content_hash": "0490e08457adeec7cae5ffb618c6f628e666ff8bd28631d6db721cad8a8471bb" + }, + { + "id": 3076361274688901, + "content_hash": "53c491f072897a057d374519d21310120f262f9090c08d2b9238b95f84a07fd3" + }, + { + "id": 3076351041684869, + "content_hash": "3c8b0a66e0a657d0a2b2ba6b0cfa4e1fe5a9e7514f8a90aec62e53d1a39a6ad5" + }, + { + "id": 3076341198784133, + "content_hash": "364c132aa40cb47323efb0ebf1241a183316abfd24962d1df7a4e0103421dde9" + }, + { + "id": 3076341141947781, + "content_hash": "8a0c585e6951de858292044cf541c20419b51e0a40bbcc69d871055246cfc0e9" + }, + { + "id": 3076340839728581, + "content_hash": "915ecb2f28b64b99d6bef37a55c27cea80860d53743bdd59205c08dab80e8d51" + }, + { + "id": 3076335081145925, + "content_hash": "519e8cfcc8afaa1b162cd10053a47e90e02aadb32a57ec193dcb632f9fe39b44" + }, + { + "id": 3076335005189509, + "content_hash": "9171c7407083f703eb9f609e52b841e712aab23f63a23a6bc5bc5e22426a5d15" + }, + { + "id": 3076329486468741, + "content_hash": "9f418c52a90aa4cf14cc937abb1b744490591ae33bf665042bc9b825a475e5de" + }, + { + "id": 3076325374657925, + "content_hash": "c27376c3baa026c746d51c0bc05965f58400258224fe0acc3bbec956c5176f7c" + }, + { + "id": 3076325018109381, + "content_hash": "e295d644d2ed96c55bea15da67da96ec7ad851d9d9d93a6520a9b2f8fabd9f58" + }, + { + "id": 3076324805772933, + "content_hash": "ec930062c4210e26045ff119183bb285e4be44806aaf144e20f25899400b7d6d" + }, + { + "id": 3076300217878085, + "content_hash": "45fbe4fa99a6d9edda39204f39a50804f8e03f5d0f8eaf13073d40b734580931" + }, + { + "id": 3076282475316613, + "content_hash": "0b066be27dcd61bda5190b6ae1ea2c007698b048ed121635c2d1b6c6c8abeb9e" + }, + { + "id": 3076266638329477, + "content_hash": "756f49af72ab10a9759866ec0b4a5e506361d32e532a381a3ed04fe2faba44ba" + }, + { + "id": 3076255080875589, + "content_hash": "eb619f79f2ddca8eab52a959280f77487ed4861e1ac48035096b952f5e265e3e" + }, + { + "id": 3076162835989893, + "content_hash": "b40760187171087068b24973da0c6619031ff3ad5c453c649428c5303cf9a4d4" + }, + { + "id": 3076160266405317, + "content_hash": "dc674bde32449e64ecb26603ee55314532745bbb106bd282fb7d410b9b48041e" + }, + { + "id": 3076138703865285, + "content_hash": "62d3b1d4ab55d34c0095af87020db11c36d6913c6e2181fb5c124cc11f085d93" + }, + { + "id": 3075796674954693, + "content_hash": "6b454c71c0495e987007803d0ffa388ccd09af8d02973d645470230e58f0073a" + }, + { + "id": 3075750058231237, + "content_hash": "9c22f9220a92b397cdff11ef4751504141ac58aa30fd55d3110766c3b0433ac2" + }, + { + "id": 3075635026396805, + "content_hash": "a870a6f121879d780173ec10458cf8ecbc38c3f955c717d7e91a2051619b93ee" + }, + { + "id": 3075634418681285, + "content_hash": "04a106f6d3e3b8dc61206b41f6662ebf0a9d48b0b9dcb35fffbe8860c0395be4" + }, + { + "id": 3075631427044933, + "content_hash": "370e5630d34c88724fee2d2c7849e226a0bc626dd181a4558128f05a48147ffc" + }, + { + "id": 3075626774283717, + "content_hash": "857822bb40135178b25bfd2e1457a6df6cabd4f1a11834de648f8926c5366bc0" + }, + { + "id": 3075584984123013, + "content_hash": "eda5de138a9d7cd97555bd6b11edf8b6b2518516a02b0b4d647dc0cadc57d6d2" + }, + { + "id": 3075584275252869, + "content_hash": "b2828f944ba2d6755b400a7c4a6860df56b114652d29991344b33df7a8ef6caf" + }, + { + "id": 3075574993798725, + "content_hash": "997a219d28e530ea4e14db5081bfa40c08ef7a86b5531784fdc71127fdf4a084" + } + ], + "pages": 60, + "skipped_missing_pk": 0, + "errors": 0, + "error_detail": null, + "compare_content": true, + "content_hash_supported": true + }, + { + "task_code": "ODS_REFUND", + "table": "billiards_ods.refund_transactions", + "endpoint": "/Order/GetRefundPayLogList", + "pk_columns": [ + "id" + ], + "records": 39, + "records_with_pk": 39, + "missing": 0, + "missing_samples": [], + "mismatch": 0, + "mismatch_samples": [], + "pages": 1, + "skipped_missing_pk": 0, + "errors": 0, + "error_detail": null, + "compare_content": true, + "content_hash_supported": true + }, + { + "task_code": "ODS_PLATFORM_COUPON", + "table": "billiards_ods.platform_coupon_redemption_records", + "endpoint": "/Promotion/GetOfflineCouponConsumePageList", + "pk_columns": [ + "id" + ], + "records": 17426, + "records_with_pk": 17426, + "missing": 0, + "missing_samples": [], + "mismatch": 56, + "mismatch_samples": [ + { + "id": 3076460464391749, + "content_hash": "409ce55971e59731fde8589996adae2122b528efc267280b68dd6c7dd0eddde3" + }, + { + "id": 3076457746236805, + "content_hash": "ffbe91874eb94ce97d2b85ed7fcfc9d0f8ff9c2ab6b965dab7017c66a6f068b0" + }, + { + "id": 3076452205119109, + "content_hash": "8f2a48115134e9f24de034953adb12b36080358763419819c6d1fca42de22eb6" + }, + { + "id": 3076450453374405, + "content_hash": "7e3edb7f39f9b0bab755cefdb2adf8ec958d70e8e7e218e13c63b99dffacf488" + }, + { + "id": 3076450215085509, + "content_hash": "291748c14c2ceffc12af011d19414f7cad523f4adc4a77160c6c791f19f33521" + }, + { + "id": 3076447330370949, + "content_hash": "93c5f3461365066e298c0ebfbc02ed35defcdc9b25b37086706c125e0cceac45" + }, + { + "id": 3076440282973638, + "content_hash": "b7124fb420e2446d46258056298245c244541b2a9adbbcdf459529c287b66242" + }, + { + "id": 3076440282973637, + "content_hash": "49b335633f433083de9533ad835d1a8bfee3c34e18e82c690195e5cb8e11b978" + }, + { + "id": 3076432919692741, + "content_hash": "8155c2c835f42c63efabfe1e091b4cbf8ac16f5873e00c48fbc76d399c9ff702" + }, + { + "id": 3076417945192005, + "content_hash": "c1e6bbfdf1c2609d6d727eacf27b079f235442125ee5c74d6eeff3b3ba1aeec2" + }, + { + "id": 3076409807734213, + "content_hash": "426a3c14dee2ac1d02126d68f15e6afe99a790f84cf68d6d6c908b4f603f960e" + }, + { + "id": 3076405972289157, + "content_hash": "c8cb973ad32e3f28b04331074af949799524278264b8019dd708c1185c71e65c" + }, + { + "id": 3076401773659525, + "content_hash": "4257ad366ed94b850875584ed2d27aadca890fc7aba344ece92871e64cc769a2" + }, + { + "id": 3076398028834437, + "content_hash": "945a6ba351a29971647728d2e1e459814dd72b45fd22785553b641cc96968062" + }, + { + "id": 3076383841601157, + "content_hash": "bffd71bc22eda017ecb7060029debefefbc34a164bc9169ce4b92d415f6b766c" + }, + { + "id": 3076382580098501, + "content_hash": "e50904e3244fa30d2972680bc95958d4a5bb67cb649494281d4681bdef8a2e69" + }, + { + "id": 3076371995280965, + "content_hash": "fa33cc6c8e2da3946ae54bf3e8b79927b5ee53a0e1e75dad62362fcb91249cc6" + }, + { + "id": 3076369225238085, + "content_hash": "c6c53a61e5e439d5ac80e2caa4b92c0cd77adffabba10755f97f1af95fa291cc" + }, + { + "id": 3076366755006021, + "content_hash": "eb75dfa7f445581d8757ae6141a3c0a8df8f0546bfca3e4e1b09e88088fb5b71" + }, + { + "id": 3076366484047301, + "content_hash": "28fe0849a4f3803f83d346c0bc3798e056421d43d73ca86465e645ef02d33eda" + }, + { + "id": 3076361118647685, + "content_hash": "1908f47068217f4f9ed6d0139fba48b80d03d31e5640f39b03e5466691feb704" + }, + { + "id": 3076350267328069, + "content_hash": "213c8fab492f445015e2d75ada787b1a3903106280d1759ab3d19568632d45b7" + }, + { + "id": 3076343656334789, + "content_hash": "e1dafd7fdb24d2361161f60346d8e509a53764881f84552568fa00fcddeb3ae9" + }, + { + "id": 3076343508370885, + "content_hash": "8addc37de548f282da840fb38ac8a29615103a8d6013919cfda0fd89d05a9fed" + }, + { + "id": 3076336473490885, + "content_hash": "8d74600a7a69c108f1164249f3bc415c96c75bc3e1ed15c522fc697e057e8508" + }, + { + "id": 3076331867752005, + "content_hash": "ff33d291058a78640f6747b0f3ae192872ff54957bc4e87aa85fcc313312a97a" + }, + { + "id": 3076330682205829, + "content_hash": "bd7099b9214dc4b0cd351dfde3508108830689217b719af4dc9379c654d16c30" + }, + { + "id": 3076330171614597, + "content_hash": "4caff5cd39291a6a172cc0df1e4fa2dff40a5b0e87d7a28955b0476d03dedc74" + }, + { + "id": 3076314233259589, + "content_hash": "26e407771845d284bb3f1cc049ea3f02220c8c556b1281864acf6e651432d7f5" + }, + { + "id": 3076306343314885, + "content_hash": "e3e3ea5ce5214256b263ccb70f7aed285ce1148903405a7697457e9bf4a624fe" + }, + { + "id": 3076304870622853, + "content_hash": "f62b4455df38bfa9593984764fa3f3d5c650a184ab0d47bf46adddc438ff8260" + }, + { + "id": 3076303449048517, + "content_hash": "21dded43f549b0492393849cc411d86ae6cb3c0e73a3458fbab0db6f8a7a2ed2" + }, + { + "id": 3076301217564101, + "content_hash": "0d51450cde97e1cb07b36d58550edb703907180615748cee748f8d1b334a56a2" + }, + { + "id": 3076300712396165, + "content_hash": "02285b16d4bb092997638aa56c52f24ffe9826e2fdb64f8fa88f3fcc5aa8aacf" + }, + { + "id": 3076281630017093, + "content_hash": "da29254390198afbf5f6a3025d4903296a48183893b1975e9b6dacd61f9cc895" + }, + { + "id": 3076281538282885, + "content_hash": "6901e4db5710dd312714f11a7e5cdbb60dfaffa7477575664464dca7932cc7ad" + }, + { + "id": 3076280099374469, + "content_hash": "b4c4b2dbe844c0627ffa76aa3149fd3d0aea7847058b4b3d324cf1f65a0280f6" + }, + { + "id": 3076277823227333, + "content_hash": "76df6adb5214f75c51e41f6c9771a8bc7789eee5dedff0b55e175720e9907c26" + }, + { + "id": 3076275082626693, + "content_hash": "2032bb99748d753d4f180db88f0c7197f89e46f7cdc4f11bea8728b3050397b8" + }, + { + "id": 3076270491731589, + "content_hash": "b71d0dfe73668e3faca13f72710960dae2180b302161d9b15d151c9af92e4e6c" + }, + { + "id": 3076266120021573, + "content_hash": "f399c96b71ebe3ebc9643259c05633a91ce383cfe6908f6188f55b209854efb9" + }, + { + "id": 3076226159117765, + "content_hash": "5562bd759bf1208dd4dd1e784fface0d14ece7e1a1c90c05aa15e11e002449fd" + }, + { + "id": 3076226049410501, + "content_hash": "f4d3ab30b1185c1633b107218ac935113ce4b04e054891bc4e0a717906eacb45" + }, + { + "id": 3076223542724037, + "content_hash": "01eb877525279297862f20c74f29d5de4221adc228a5e7233dc935857e770e20" + }, + { + "id": 3076223026972101, + "content_hash": "5bc8a72c3a033e801704df469cfce9c42bf051368997593320c3338e265d9f3e" + }, + { + "id": 3076216648386117, + "content_hash": "07f9baeffda3331d287b19c57f02f22572b1bc0715960b18773addddb31edc1f" + }, + { + "id": 3076195763160517, + "content_hash": "0f95d93f14e63cae176f577b95419ddeb3fe4eb9a1d1ffa645788e6d5e32ca1c" + }, + { + "id": 3076101153572229, + "content_hash": "e95b17d682c4e2deb43c212e36362c804c82d9f17d9a8f7cbd1dfd327571c316" + }, + { + "id": 3076070440404357, + "content_hash": "d56a667b7df75f4353bba9956fddb904d1e585767b6af18b1cbdb035dbbe5d68" + }, + { + "id": 3075525274076805, + "content_hash": "af2bd8fa61767308bd8a372069e8d4d4f0f5ba5138b30cd8be63337f4004b1b2" + } + ], + "pages": 88, + "skipped_missing_pk": 0, + "errors": 0, + "error_detail": null, + "compare_content": true, + "content_hash_supported": true + }, + { + "task_code": "ODS_MEMBER", + "table": "billiards_ods.member_profiles", + "endpoint": "/MemberProfile/GetTenantMemberList", + "pk_columns": [ + "id" + ], + "records": 556, + "records_with_pk": 556, + "missing": 0, + "missing_samples": [], + "mismatch": 3, + "mismatch_samples": [ + { + "id": 2799207359858437, + "content_hash": "c6a6ba6294aa9cb6c268b288616210a7dc651ed1082ae05a9c73bcca262ff5b0" + }, + { + "id": 2799207363643141, + "content_hash": "81d9861a2c3e8f961bb5765315fbf3beb80f3a03f6f529b2595a51838e6960e8" + }, + { + "id": 2799207266748165, + "content_hash": "fa4366a211f46b793ebd524ca6c1f2d4c7139e415fae78f3e9683022003dc337" + } + ], + "pages": 3, + "skipped_missing_pk": 0, + "errors": 0, + "error_detail": null, + "compare_content": true, + "content_hash_supported": true + }, + { + "task_code": "ODS_MEMBER_CARD", + "table": "billiards_ods.member_stored_value_cards", + "endpoint": "/MemberProfile/GetTenantMemberCardList", + "pk_columns": [ + "id" + ], + "records": 945, + "records_with_pk": 945, + "missing": 0, + "missing_samples": [], + "mismatch": 3, + "mismatch_samples": [ + { + "id": 2799218552833797, + "content_hash": "40d19d9fb3df790064de45a5671cffa5d7d92a72d308abe5d0b869ec15e4d563" + }, + { + "id": 2799216912434949, + "content_hash": "5db178c834745f473f293b8ba28622491b2c83ccca39f042928874304b0e07ce" + }, + { + "id": 2799216572794629, + "content_hash": "d3382be6d78faec2076494172c01b49e48c4c2c7ee05e36856ebaee99a705269" + } + ], + "pages": 5, + "skipped_missing_pk": 0, + "errors": 0, + "error_detail": null, + "compare_content": true, + "content_hash_supported": true + }, + { + "task_code": "ODS_MEMBER_BALANCE", + "table": "billiards_ods.member_balance_changes", + "endpoint": "/MemberProfile/GetMemberCardBalanceChange", + "pk_columns": [ + "id" + ], + "records": 2460, + "records_with_pk": 2460, + "missing": 0, + "missing_samples": [], + "mismatch": 4, + "mismatch_samples": [ + { + "id": 3076456426161797, + "content_hash": "60d43ed88af1da192bcd724f212e43603d2b936be78eabbc8f52a12ee785400a" + }, + { + "id": 3075750058837445, + "content_hash": "661c0ffbac0647e024b13af170ec7c696b1a6f7ccc0497f66ab3ff58972d462a" + }, + { + "id": 3075631427601989, + "content_hash": "1d4b49b20854ba18494027fd54ac68ab4cbd4c2d4d0e1d664a22deaba7ccb853" + }, + { + "id": 3075374340998789, + "content_hash": "144352fec9c0a2a2a1551f75285b5b97c174072c1ba494f26762927dee0325b3" + } + ], + "pages": 13, + "skipped_missing_pk": 0, + "errors": 0, + "error_detail": null, + "compare_content": true, + "content_hash_supported": true + }, + { + "task_code": "ODS_RECHARGE_SETTLE", + "table": "billiards_ods.recharge_settlements", + "endpoint": "/Site/GetRechargeSettleList", + "pk_columns": [ + "id" + ], + "records": 0, + "records_with_pk": 0, + "missing": 0, + "missing_samples": [], + "mismatch": 0, + "mismatch_samples": [], + "pages": 2, + "skipped_missing_pk": 0, + "errors": 0, + "error_detail": null, + "compare_content": true, + "content_hash_supported": true + }, + { + "task_code": "ODS_GROUP_PACKAGE", + "table": "billiards_ods.group_buy_packages", + "endpoint": "/PackageCoupon/QueryPackageCouponList", + "pk_columns": [ + "id" + ], + "records": 18, + "records_with_pk": 18, + "missing": 0, + "missing_samples": [], + "mismatch": 0, + "mismatch_samples": [], + "pages": 1, + "skipped_missing_pk": 0, + "errors": 0, + "error_detail": null, + "compare_content": true, + "content_hash_supported": true + }, + { + "task_code": "ODS_GROUP_BUY_REDEMPTION", + "table": "billiards_ods.group_buy_redemption_records", + "endpoint": "/Site/GetSiteTableUseDetails", + "pk_columns": [ + "id" + ], + "records": 8187, + "records_with_pk": 8187, + "missing": 1, + "missing_samples": [ + { + "id": 3076468632225157 + } + ], + "mismatch": 46, + "mismatch_samples": [ + { + "id": 3076467405440581, + "content_hash": "6e4c0a5988c6515906a84a721171af7fbf216b31af5479432ff84038c490bb32" + }, + { + "id": 3076458718267013, + "content_hash": "45c8a97f5e17c8f08168486e9b8dac654e80baa6de2b28f124cd7e8209cb0d9d" + }, + { + "id": 3076454441534853, + "content_hash": "52169580473b4e987f990a20d1377c8d9aedacaf3676628770417c768ba46497" + }, + { + "id": 3076448767051141, + "content_hash": "ae09516ad958e38f8bb6821d504f9461a1eaf317ec12c6fb806617275f4f8711" + }, + { + "id": 3076445048833413, + "content_hash": "00cb4b5212add98f95f5a0629b94cd4958132a2f92a69f2f645c8d6a7b5e2afd" + }, + { + "id": 3076431917565509, + "content_hash": "699a0ca77aa70d24ae0d3452fe58ccc163972fd4e42c8be272afbf08a1342bb8" + }, + { + "id": 3076427930224069, + "content_hash": "e8a40244b7fef5d03116bebde54336312ca56e902261e630d3007084b70d56dd" + }, + { + "id": 3076427930224070, + "content_hash": "f5e0933f692b8e64f1aea4871c866367f4b6719defd5004d8eeaa2f3b9bdb054" + }, + { + "id": 3076426271049285, + "content_hash": "83dbef2f770fa9f09f0d6d7702f86f6dbef25a9e310c55045affb81f9bda7851" + }, + { + "id": 3076404580140485, + "content_hash": "2438fbe220084112964ea42879b05e8139316b9ec080679f2b26945741ac4458" + }, + { + "id": 3076404529497733, + "content_hash": "5b14d59eee96d7eecb62ce2919b0cb32c7e6acfd3a8e15d7cef29fb71f844987" + }, + { + "id": 3076402097898885, + "content_hash": "8fddb6bd5eb3ef2026823f51fb92fa0995a3d45b78cccdadce52ae3ae4af7971" + }, + { + "id": 3076401436870021, + "content_hash": "02be9659028c862bab01d492ff4424c73d7da7b8f5ba0fa71612e62b43097e93" + }, + { + "id": 3076397496469061, + "content_hash": "13770c4852800895efd480b264311dcc8a2273d65423e02e7ea73a1c47d46814" + }, + { + "id": 3076397496469062, + "content_hash": "82dd56c6332ebe17bfd2c9cb420326501b443970fae5f2a0a094f93341eb12ae" + }, + { + "id": 3076391962379845, + "content_hash": "0133e4ded539cbbca6e34ba74cfeed81d1007c3ee288446f7b6531acfacce133" + }, + { + "id": 3076374836741509, + "content_hash": "b23910de34853d4341de3d4275b32415bca43ff305e6704e244424aa62ca379e" + }, + { + "id": 3076374001059397, + "content_hash": "ebd4d71fc826e9e21f68469bb18018183d4a94f5c1ef51954c1edb882aa6b859" + }, + { + "id": 3076364701697413, + "content_hash": "cd2a0eb03cdd7bd5ef7a3ed85d35f4ad7e7b0e2ebd524d5db17774d94057f663" + }, + { + "id": 3076361277490565, + "content_hash": "ffa39848ac12c567883c7c1c8d90d12aaf11eb5ccd9675b88e19740491a74f0b" + }, + { + "id": 3076341201913477, + "content_hash": "da1dcd599557d5e2435cd38a1e87396e9c6f149a4c0195d9a3ff0ded8208e15f" + }, + { + "id": 3076341144782213, + "content_hash": "4c87bf452bae2e2fcbb65ea4ac0fa11dcda311cd7cba1b2964a57380f9e61c0f" + }, + { + "id": 3076341144782214, + "content_hash": "aed66317ac3ecde8b7f841b18ca5874c8aab69d01707a866c01035b6ecaeb1a6" + }, + { + "id": 3076335084193349, + "content_hash": "0433c9d32ca4da3dc17d0376723ffff74cf2b864b7714f21cbd1d44b9395caf7" + }, + { + "id": 3076335084193350, + "content_hash": "5ad4cf8b719875ca52103194bfc4ffabc6cdece996f27795eeecc5e0347595e1" + }, + { + "id": 3076335008040325, + "content_hash": "e877371266db3946d000ef1707b29fd5f2bc3a6706a80a1cc32d2566bbb2745e" + }, + { + "id": 3076329489647237, + "content_hash": "06088be3fd1450a933ccd14633ad43eee4420fb9755dc4b0f997111dde1aa41d" + }, + { + "id": 3076325380490629, + "content_hash": "867f4b3ce53cc4734a3d0e2c453e946cc32d47668079855708cff47f2ae95163" + }, + { + "id": 3076282478265733, + "content_hash": "5aec53f7ba351cb0f62ac86b5d6bb705edf1afebffaacd642076de3406264006" + }, + { + "id": 3076255083742789, + "content_hash": "c4e64070771f0c4e55a598c814b872d56a46f2f9e3d1926eea4fe7f73fa91c80" + }, + { + "id": 3076160269174213, + "content_hash": "1cbcce3d170caa9a78513802a050bf9c3c7b34ccb49b58d2e88c03770b0adae7" + }, + { + "id": 3076138707092933, + "content_hash": "529b463dcc0c235f02aa89635947dd020cdc4dfdcc76c6bd79743c921f423cd8" + }, + { + "id": 3075584989677189, + "content_hash": "852ddc81f66d8f50c84cf57135342f9930c20a1c0cccab146c0acb3edd68affc" + }, + { + "id": 3075584277825157, + "content_hash": "f43b49b6c05b69e7135439b168df64778e0ce8b038aaf67d550a745c3ce484fc" + }, + { + "id": 3075575000008261, + "content_hash": "6f1e9002b395072464acbab1b5c0fc76157a94338ab145f377aa346ea2cff830" + }, + { + "id": 3075568527378053, + "content_hash": "283b1486a67947f39e76653e6b60455f6a1c3d49a14ce4bd28550a5895e318f0" + }, + { + "id": 3075537363879493, + "content_hash": "588a0e2456a9c9c15f60076caec66845194c672e140d7ba60e4d2beb1e68ba83" + }, + { + "id": 3075497054914181, + "content_hash": "a2e39b50ea64c3ee30a406bcd9f4ffc3a296f343a14cfddbfee4e8e88ab7784f" + }, + { + "id": 3075473703716485, + "content_hash": "8058a95dab8766f595a00d666da8ffcb03dfe135ddcb9d259f1950673fb93b29" + }, + { + "id": 3075443237995973, + "content_hash": "a110aca7ad125d23b03f1a7429008e37006cd3583d8c83a040e1b9120ed24d02" + }, + { + "id": 3075420149908869, + "content_hash": "265a6b12123e7f99848c70785020fe773eb1bdeb768a3bbdb901282e38f1e2bd" + }, + { + "id": 3075403456595397, + "content_hash": "fba3321ff27fd973a332a1dc3d61fe58fa62cb87ee65f4d02c88d15699f17ec4" + }, + { + "id": 3075397862852229, + "content_hash": "73324a0937aa8b30aada74b8bb08220411d24b82f7a178b9c6e9b016424265c1" + }, + { + "id": 3075381136623045, + "content_hash": "9caeb8c5968422936741cc20e532e8900776139fa3a28cdc08773c5010f3a177" + }, + { + "id": 3075359772395077, + "content_hash": "e6628a53bd9fe6f6e189605e740e905683697a626be66e068ee0d8bc13971195" + }, + { + "id": 3075358078223813, + "content_hash": "8f413eb8d858f1524c86a287ec0caba4110be97e7be39d2b93d9f573460222e6" + } + ], + "pages": 41, + "skipped_missing_pk": 0, + "errors": 0, + "error_detail": null, + "compare_content": true, + "content_hash_supported": true + }, + { + "task_code": "ODS_INVENTORY_STOCK", + "table": "billiards_ods.goods_stock_summary", + "endpoint": "/TenantGoods/GetGoodsStockReport", + "pk_columns": [ + "sitegoodsid" + ], + "records": 172, + "records_with_pk": 172, + "missing": 0, + "missing_samples": [], + "mismatch": 34, + "mismatch_samples": [ + { + "sitegoodsid": 3073782716778501, + "content_hash": "7605e97ecfa1fda63ec4dae916a38b9ec22f7a8dea76bf2f1fbd007c90e92acc" + }, + { + "sitegoodsid": 3053572251340677, + "content_hash": "dc5d1db0282a951fe025c5ed98929e1892a610a8314f0996f4f3abc821ece677" + }, + { + "sitegoodsid": 2826003636177861, + "content_hash": "2fe66332c302bc9f38b39acc99880b1f536117e4cf5a40be00c7fe03c8adc51a" + }, + { + "sitegoodsid": 2823321361894405, + "content_hash": "58f09a6f1a52ab65d6fbf5c31c896cd40b8ca74263aaadb076e1d3e594de5593" + }, + { + "sitegoodsid": 2794695801917573, + "content_hash": "401cd58a54c68f6a4d48cfd05191cd10a7ab61cde1e654731854d92c7e3d8076" + }, + { + "sitegoodsid": 2794695801409669, + "content_hash": "c884e95f510189ae167d3994fcf4534385d840ecb512b8155a8be88a6ab3f2a9" + }, + { + "sitegoodsid": 2794695800934533, + "content_hash": "53ddd03a1cdb3e033581dd21d4c6cf52e41c2eb1cd701e426619b6783eba281c" + }, + { + "sitegoodsid": 2793026434863237, + "content_hash": "c846ef7f6dbadb8671d264350c4510de361435e1fc32c6f3dc41bfa7cc351e1f" + }, + { + "sitegoodsid": 2793026434715781, + "content_hash": "f5b4d70544faba4c520897b940f136eccd32096b9d8a367ce7fdd2da14ac9aff" + }, + { + "sitegoodsid": 2793026432585861, + "content_hash": "30e0f9535f340a3408f8331ba5a7114db7f35d2943e03189e1bfbc42580169b5" + }, + { + "sitegoodsid": 2793026188415045, + "content_hash": "887c861e43f606b1aa57a2207e2cb3b5244351b177aa9311c9afc37655db3b88" + }, + { + "sitegoodsid": 2793026187726917, + "content_hash": "c42ca2b4c94c7581d00e530b1e29bcde27b0988a44436727db1bae9ba8860120" + }, + { + "sitegoodsid": 2793026187563077, + "content_hash": "38dce962cdd022612cc7aa7b0e01682fb1ff7fda177a5c15a2a113c304a8d438" + }, + { + "sitegoodsid": 2793026187071557, + "content_hash": "4c0c301b491313a4b262f5c973fdca33f65f5fbfb7043fe4cf9ca45bb4ae2ca5" + }, + { + "sitegoodsid": 2793026186563653, + "content_hash": "a2a9b2769dfb6f7ef067e45b08f60086c018a2ce3de62543968d848b65dd6751" + }, + { + "sitegoodsid": 2793026184646725, + "content_hash": "fd44fd98e3270cd4d414ff794b55203637bfc7fdb69c3e6f52b78825042e5b23" + }, + { + "sitegoodsid": 2793026184302661, + "content_hash": "43cbbdee4865def2913e293d9d28d0c7a7c7f9d8179923329e376bb0558e0a91" + }, + { + "sitegoodsid": 2793026184106053, + "content_hash": "87e7b0f2daee3af1719c780b0248da45a7fb48b8f5fa859898ba32794a233385" + }, + { + "sitegoodsid": 2793026183041093, + "content_hash": "41e52e21e8c1ff63ceb95d9d294a76ee00b687da2c83fef0b474d92f87753b73" + }, + { + "sitegoodsid": 2793026182664261, + "content_hash": "d6f7f9cef39c6eee8bb2d656ff63d88cb3e79e8278b94e081b4a0e065408fb7f" + }, + { + "sitegoodsid": 2793026180993093, + "content_hash": "203271106008f39067b1c7ee29e5b7e1103b0ca74d5eb5f3ba065f578a7d4b90" + }, + { + "sitegoodsid": 2793026180501573, + "content_hash": "ac1ce737fb9fff85a07a38bc1c246afb417bea26315968fb609d041f52dedf75" + }, + { + "sitegoodsid": 2793026177486917, + "content_hash": "1467da85f7a1dea145d25c6fa0e141714c239b688d054d4118d20afab7213fa6" + }, + { + "sitegoodsid": 2793026176012357, + "content_hash": "795dc8af8e76ea679f3a0d1e069be0648376d1b06a51d215abd091cee0e0d868" + }, + { + "sitegoodsid": 2793026174865477, + "content_hash": "bf8231fb5ee48aaeba5971ccb6ebb4789b9b8a50e21581dec09d73b95956a712" + }, + { + "sitegoodsid": 2793025862963269, + "content_hash": "6cc88a5e65bfc6b6fbfa8f5b16d52367c0e19807b9d267f6bec8022c07a1ca0f" + }, + { + "sitegoodsid": 2793025862438981, + "content_hash": "4fc1fd258db6a90101cc1d5a6f4f2f57f336a9932b982a0cb64d432ae25b0213" + }, + { + "sitegoodsid": 2793025861505093, + "content_hash": "16bbf7c7b5d71cea819cb32c03f0e51f4f675cd737a3ca9726f7618b3941a281" + }, + { + "sitegoodsid": 2793025861308485, + "content_hash": "2981cec222988a4121ba67c8767f909b00591797176662fc7537ec1de8f5ff36" + }, + { + "sitegoodsid": 2793025850576965, + "content_hash": "4a5b06aaf846401cb8503f79ef56cb121f33b738d5df57ffa0f9366f740ddc25" + }, + { + "sitegoodsid": 2793025848102981, + "content_hash": "f683772cc92cdd0abceabe5addcd41fc5857815e7266ed62a96872f195d7abc6" + }, + { + "sitegoodsid": 2793025846464581, + "content_hash": "42186140b0b0a9d49fab43811db955900ec10702545181ccf85c146667f35d37" + }, + { + "sitegoodsid": 2793025844727877, + "content_hash": "6b05cbe3d02b47a49385b4d848ad70e22903a5bcf041d57da83dbb6b4b36034d" + }, + { + "sitegoodsid": 2791953867886725, + "content_hash": "a624bc1e3609a9414279336c13f5049f8763bd6e1e52586972ec1d677ec0d1bf" + } + ], + "pages": 1, + "skipped_missing_pk": 0, + "errors": 0, + "error_detail": null, + "compare_content": true, + "content_hash_supported": true + }, + { + "task_code": "ODS_INVENTORY_CHANGE", + "table": "billiards_ods.goods_stock_movements", + "endpoint": "/GoodsStockManage/QueryGoodsOutboundReceipt", + "pk_columns": [ + "sitegoodsstockid" + ], + "records": 58, + "records_with_pk": 58, + "missing": 0, + "missing_samples": [], + "mismatch": 58, + "mismatch_samples": [ + { + "sitegoodsstockid": 3076456554645125, + "content_hash": "ef97564d8333a1eb8ffdd6b89bca2b76eb48fccc4909ec3c3ba4afb213b92c69" + }, + { + "sitegoodsstockid": 3076455369966981, + "content_hash": "40d569ff6fb73fbc8a2f2a77f6122e57472c67ec19476eb9478daa665c2a4c0f" + }, + { + "sitegoodsstockid": 3076455263356293, + "content_hash": "a48b18174754e3fe5f9f10a9f80150b467ce35e05a309538420892cef01cf549" + }, + { + "sitegoodsstockid": 3076454014764485, + "content_hash": "e3913d78cf3c28fba068dcfcb92c5b63467518646caea4db03e8ebfe381f0e26" + }, + { + "sitegoodsstockid": 3076447595152965, + "content_hash": "b418f96e5d07dcd91d62732eb2ecbc4764aef8c60f85854b4477cea13275f587" + }, + { + "sitegoodsstockid": 3076446939153797, + "content_hash": "4cd5c1249221f3483ee136e0da0907eb96add79c867776b5ac2f9eda708a16ea" + }, + { + "sitegoodsstockid": 3076440536663621, + "content_hash": "bd03feb347df46628634c2005e216b178ac6efe2b6c791713b3d11a14897ef97" + }, + { + "sitegoodsstockid": 3076440536827461, + "content_hash": "cfb24b92cf780de669acab39443162aec19adebf979177de21f913036420067a" + }, + { + "sitegoodsstockid": 3076417732625989, + "content_hash": "690c6f9212603f519b90f7209ecbfcb0115300430a22d1e2d226399b702125b7" + }, + { + "sitegoodsstockid": 3076398380140165, + "content_hash": "4d9050af1de4f7be30307c4a39cba5b1eca14fb2d05fa8f3bca3e8acacd4155c" + }, + { + "sitegoodsstockid": 3076390985614981, + "content_hash": "8213f20ff47b606f45d45b1703a5e817518e0cf78d785cf41a75408901b04a00" + }, + { + "sitegoodsstockid": 3076384568919685, + "content_hash": "3d7ba448b1b9d65e6261a78d7183e9371a4e91f0e90ccb71c740b151213893b6" + }, + { + "sitegoodsstockid": 3076383223252421, + "content_hash": "89d3aa0dc11a1da6f58a00071ab758b1ff26fba7faa13d02752eab10648a2163" + }, + { + "sitegoodsstockid": 3076383222760901, + "content_hash": "f4f6e597394e803fb54b523c9a5f871632b30a0d2430c517fadc754edc05407e" + }, + { + "sitegoodsstockid": 3076357106665093, + "content_hash": "c7a7c9c8d973c96025773adcb936dbac1b292dfdaa6b0be5cf96ea5e37552a03" + }, + { + "sitegoodsstockid": 3076351043454341, + "content_hash": "5548dba94877b87f8f4bc88d677f8c8db6573ebe5578034d73d82af9c88e9497" + }, + { + "sitegoodsstockid": 3076349259122117, + "content_hash": "eade59a78619ee6f8f863b6378459f3d9e90c08031700429f852c1f06843988e" + }, + { + "sitegoodsstockid": 3076340841416133, + "content_hash": "a19b51781ab9c1afe744b6dcc5792e18637dd7e5d44d7f37a8e1e88b4418abf3" + }, + { + "sitegoodsstockid": 3076340180928133, + "content_hash": "37a6b1bb217d74f21c39a06c8077c21f28831b0410a683b15ee771479897fd44" + }, + { + "sitegoodsstockid": 3076326442092101, + "content_hash": "ae0303d1eb6a30f0fd9d79458d481a173f010b8071c408fe421ceaea3e70d99d" + }, + { + "sitegoodsstockid": 3076326343247429, + "content_hash": "75e9008ca8899122cd420d74f7ff3024dcded4d41ddd7a4bdfe6293a5f8343ce" + }, + { + "sitegoodsstockid": 3076325019616709, + "content_hash": "4e8f7891efbfa2b2e13a421b5a956486d82a2bb5153b97fdcf9e15452cd843f3" + }, + { + "sitegoodsstockid": 3076325019829701, + "content_hash": "512e96a8a9ffce6a67b43e0f25ef366968fdedd83d0e42694eb6dcc9a003434b" + }, + { + "sitegoodsstockid": 3076325020042693, + "content_hash": "59c665330b147c217085a69af9b8c7a34dae6ff35b0af4c64475e4dbed5d9627" + }, + { + "sitegoodsstockid": 3076300219532869, + "content_hash": "8937cec7d7eb3e7274c6edafb86303f77377528f9c6c55f5ed69896023be18e0" + }, + { + "sitegoodsstockid": 3076266639951493, + "content_hash": "fafd533b5a40122662acaf87855edf2a481e0641d143428d1a9b971d30e23581" + }, + { + "sitegoodsstockid": 3076217121081477, + "content_hash": "8740b528705e3d39345bdf0471f1560302e202ffab4e35e15047aecf14f2ae86" + }, + { + "sitegoodsstockid": 3076217119524997, + "content_hash": "b67e89385e4f55c1b2fbae957ff17ead0027bfea6ac41757e7604be2e921102a" + }, + { + "sitegoodsstockid": 3076217119590533, + "content_hash": "b4b0905c559e78332b5e8339e60e30a8f8baa26b256e553e655f4b182c476585" + }, + { + "sitegoodsstockid": 3076217120704645, + "content_hash": "0450b0ccce1be02885e11ecf9f74e01463604066383792f4337b139eaf4ad552" + }, + { + "sitegoodsstockid": 3076217121032325, + "content_hash": "92b9cb15d51e349232fe70e465801c7cdf4190cbe6d6e51cbff17cb35791359c" + }, + { + "sitegoodsstockid": 3076217120327813, + "content_hash": "d29d2a017aa843fa73534f20bfc3dd10ee0b86d1cc34ff4517ebbc565fc113a6" + }, + { + "sitegoodsstockid": 3076217120655493, + "content_hash": "da59bf0bce94461af9850bc7722db1b36848df5dfb831c175b6a0ac842643749" + }, + { + "sitegoodsstockid": 3076217119885445, + "content_hash": "1945b61d650f5a2468824b61db57017d12a696ec16ffe4b1650fd8ac5e781a6e" + }, + { + "sitegoodsstockid": 3076217119950981, + "content_hash": "04f4c7d09c5c69d2fa7d7b63c35af67a0e230eaad44c24ed636e6725fa30288b" + }, + { + "sitegoodsstockid": 3076217120278661, + "content_hash": "edc843b1aebd2242a541aa038fa8a72e3545e6d42ad3002257e9a3a19eb30cc5" + }, + { + "sitegoodsstockid": 3076162837710213, + "content_hash": "ea7f2fc63936971c431dc04c93fc514d09a8bdc8ae37f47e45add6acd256f5e0" + }, + { + "sitegoodsstockid": 3076150442412165, + "content_hash": "68b99472e9484fda05bf0daa322359a5d8c6876025a8488b95e6e70acee9079f" + }, + { + "sitegoodsstockid": 3076150442477701, + "content_hash": "1328c2b444a895118b82c4487c19539d558ae8e2f1feaad32503cf4f0f02eb64" + }, + { + "sitegoodsstockid": 3075750835209797, + "content_hash": "11f0df1cd9afece228cc5449afdbc1eef76814d157e6a4c954c29aaa346f2d2b" + }, + { + "sitegoodsstockid": 3075749241718213, + "content_hash": "a47c48dfc73d6733cec4b4c809fd87e21ba49a99b9a67e1b4c685d6fab3ccf33" + }, + { + "sitegoodsstockid": 3075748000974277, + "content_hash": "b14bbe34e5897610011e59fab896d25b056bd1397461b763fbdb18e1333d97a5" + }, + { + "sitegoodsstockid": 3075717748458885, + "content_hash": "54b6bfbbca1bc714935e556bc81f40b46fceb765defc00159582b2429d1d6d1b" + }, + { + "sitegoodsstockid": 3075706092488069, + "content_hash": "3af4e111f425685fd4ad597fc02db0c89dbe458ef4d3551ff795a78f4d7d4ef5" + }, + { + "sitegoodsstockid": 3075657044182597, + "content_hash": "65dcfa8daa202b7e6c4fba14a6efa4c5b485dfc77b90d88ca097854f14b262e5" + }, + { + "sitegoodsstockid": 3075634420319685, + "content_hash": "05d490f027fd3110584e21d2b32c92a06ddd9ca5fe7e5e680da32b80e583f8ef" + }, + { + "sitegoodsstockid": 3075594750592581, + "content_hash": "41ab245708a212b0be95895773b6b9e31b1ef706c1fa39d59625c69dab0344d8" + }, + { + "sitegoodsstockid": 3075557331879301, + "content_hash": "1787060a35ff2cfef179b7902e020194e19c84d9baadda08392e0927ddfbceb6" + }, + { + "sitegoodsstockid": 3075540442596933, + "content_hash": "6b7c4466603812d9df5017a228e085cde6bdda34036b4281eaa6cd4959a75512" + }, + { + "sitegoodsstockid": 3075538803869125, + "content_hash": "36adbbfc8c6c0fe786d6dd5126501b795cc692d866594ee525b5e40158c3041f" + } + ], + "pages": 2, + "skipped_missing_pk": 0, + "errors": 0, + "error_detail": null, + "compare_content": true, + "content_hash_supported": true + }, + { + "task_code": "ODS_TABLES", + "table": "billiards_ods.site_tables_master", + "endpoint": "/Table/GetSiteTables", + "pk_columns": [ + "id" + ], + "records": 74, + "records_with_pk": 74, + "missing": 0, + "missing_samples": [], + "mismatch": 41, + "mismatch_samples": [ + { + "id": 2791964216463493, + "content_hash": "71115c0ee01944676bc8f0b0438df12db2f897054cff539c7a2beaff9f4ad6a2" + }, + { + "id": 2792521437958213, + "content_hash": "a78689d0ae4f510500913f07397e33a6259b1a10ebcf2c14ec873a06da39adb1" + }, + { + "id": 2793001695301765, + "content_hash": "6dd8492f5abd3aed66869de9ca4c2c9265519f09e43f1720a3b0fb3e9c73e528" + }, + { + "id": 2793001904918661, + "content_hash": "5430f6872f000f78eaa2fe395a9c556162718e4e8a6df05c199dc49bfbc35c66" + }, + { + "id": 2793002509209733, + "content_hash": "a12a1cd0ae526aceb643d542c91e339a07a280c9156c0aa2092c65f3580ebaac" + }, + { + "id": 2793002673295493, + "content_hash": "a60520ff46c38dadcf32b05c3cb487553a291b65643c8afc36ec9a0c4c93d782" + }, + { + "id": 2793002808987781, + "content_hash": "0e78c070cbf71da53e6cfaa40ae5fa41356ad636c453edb95ef4acc744e0e578" + }, + { + "id": 2793002896494725, + "content_hash": "5b9657ea3f13a518d1710802599fb530ea046c1a754da5960865f397e7ec949b" + }, + { + "id": 2793002980429893, + "content_hash": "95de525bf94477093a8f38996d7f2e0dd5062bb2fec0f040beb2fd16d218a9b6" + }, + { + "id": 2793003066429509, + "content_hash": "23332f21838d8955f8c962ca6e6c9d9e7b58c2874b15513a8f6dc10566fbfdd0" + }, + { + "id": 2793003159474245, + "content_hash": "36d8b792cc907deb28c23450728490622cee19371ae45cecc60307aeff29c311" + }, + { + "id": 2793003323740229, + "content_hash": "189ee930a4aec5b511d9dbe7893b10909e9f425137a732f3dd93cdeeb48e74f6" + }, + { + "id": 2793003420504133, + "content_hash": "3b56281f0b721147abc3c5ea0aeab4cfdc76849636f349afcc8db503116956b3" + }, + { + "id": 2793003506815045, + "content_hash": "e1cbe72aad97bf5c8362e40dbbe121a5064aaa093a9132d9d65e633f3463cb41" + }, + { + "id": 2793003618340933, + "content_hash": "07f6081e7397a717d503bc8f62ff5510e43319b4d1f438ec5039c291df313294" + }, + { + "id": 2793003705192517, + "content_hash": "2868a7649dd64e4c23bee13ce610f47c56995a6db0249a038d33900431e3adf9" + }, + { + "id": 2793003806953541, + "content_hash": "b25954b717261c5e33e3cce664eb4ed0e3ca6e8c16a23b05cfc42c9c25747764" + }, + { + "id": 2793010820304965, + "content_hash": "6facfe006e4babffa8d56cb2bf16c7264de8edf66ad60aa24dd7ad0352dab948" + }, + { + "id": 2793012902121605, + "content_hash": "37ccfb545e97e145c61752a916e9328237e101bcb987d144a493c6df31f47fad" + }, + { + "id": 2793012902154373, + "content_hash": "c7ed5c85b496b1f92ea1a0e77a83e02d599ce18f8f011f58fa6898f7ef174e35" + }, + { + "id": 2793012902203525, + "content_hash": "906605fe532a5859ddb9ab9a8ee5961fb044815f7c1824d27108301bb3da6bf1" + }, + { + "id": 2793012902236293, + "content_hash": "af67f486c7543e7ec177ceda65110231f1f639059e8e8f8664ee45215019a9e1" + }, + { + "id": 2793012902285445, + "content_hash": "5733820c42a0a0978f31e1a3c851e17a5250e748d809b3ef809de701774b02f9" + }, + { + "id": 2793012902318213, + "content_hash": "21c2af08893e056b560c3895cb23b1c8b4a4f923bd2c187bfee55a896921c615" + }, + { + "id": 2793012902367365, + "content_hash": "b65da8fd02ea8e87629e07c4613428f9bfac7677f683e82e69915df391e2c7ce" + }, + { + "id": 2793012902563973, + "content_hash": "c4a4d065f4b840bb1e48399f50cf26f47a7d16dbe6d84d22ca400406463bb088" + }, + { + "id": 2793016660660357, + "content_hash": "4f62704d8b471a204de94db3b50d68a64e8e7352a9fd9c074e238be469148d53" + }, + { + "id": 2793017278533765, + "content_hash": "6da25c33731be6ed0964c76ad91a0862919ed404f7e4897b7301f012f331d08d" + }, + { + "id": 2793018776604805, + "content_hash": "daad7f15a2f8a8a2ca2a974adda904f4c5ce84f1ac635884031b9ad542963b15" + }, + { + "id": 2793018776653957, + "content_hash": "cff03dd7cbbe03a3798215dacfa7872c9c99fddb902ba64c6cfbc0b55494ef55" + }, + { + "id": 2793018776735877, + "content_hash": "3671f65e1b03307c852df935c96c32947ec20fcbca718420b72400ecd2665d8a" + }, + { + "id": 2793020259897413, + "content_hash": "e37060783fb9d6cff3ec22944ed32331485ac68f5133be2c5eb27bf8b4accd86" + }, + { + "id": 2793020259946565, + "content_hash": "625114f7ff546725806b2208269ff67b92706a1101a1501f363bb44ecdfb85d7" + }, + { + "id": 2793020259995717, + "content_hash": "14c35bc47f7ba4039c3b0782fcbacb9c2b7c184e5eb04d037cbf9bffca3f2c6e" + }, + { + "id": 2793020260044869, + "content_hash": "edf6a69cba38adaeed8c159451e9788523d551bc48f3042a52d81ac6d9ff3757" + }, + { + "id": 2793023960551493, + "content_hash": "14f8de795d882d329836b29aa2a872ec7fedd1b7e04929bdffc83e1882d348b8" + }, + { + "id": 2793023960633413, + "content_hash": "bda679b1088c6221a9a28918abe792bc35cec68a8940ba81c2e94e4ac23def14" + }, + { + "id": 2851642813353477, + "content_hash": "3bc41f13d492ea51ab6e303bbb1efd076ad093db626b949e9b40fb26ea9d36cf" + }, + { + "id": 2942056832061125, + "content_hash": "2a6ac9f860de84808d531662b6df10f4e63c5ec437d7639d3020d04486713d20" + }, + { + "id": 2956247996190021, + "content_hash": "5703f784ef1f4f62b641a16088c4ee137b51ca34a67a840fbc5e1686b2828486" + }, + { + "id": 2793022145302597, + "content_hash": "d10b11ab1540af23042e09a8522549782457adb52faf15e93c7530d5db1b37b6" + } + ], + "pages": 1, + "skipped_missing_pk": 0, + "errors": 0, + "error_detail": null, + "compare_content": true, + "content_hash_supported": true + }, + { + "task_code": "ODS_GOODS_CATEGORY", + "table": "billiards_ods.stock_goods_category_tree", + "endpoint": "/TenantGoodsCategory/QueryPrimarySecondaryCategory", + "pk_columns": [ + "id" + ], + "records": 9, + "records_with_pk": 9, + "missing": 0, + "missing_samples": [], + "mismatch": 0, + "mismatch_samples": [], + "pages": 1, + "skipped_missing_pk": 0, + "errors": 0, + "error_detail": null, + "compare_content": true, + "content_hash_supported": true + }, + { + "task_code": "ODS_STORE_GOODS", + "table": "billiards_ods.store_goods_master", + "endpoint": "/TenantGoods/GetGoodsInventoryList", + "pk_columns": [ + "id" + ], + "records": 172, + "records_with_pk": 172, + "missing": 0, + "missing_samples": [], + "mismatch": 77, + "mismatch_samples": [ + { + "id": 2793025844727877, + "content_hash": "025c15fc5ba35889ad8c54edfe0fd8272d3eba447aa3bc68c0e3f6ae4f2c6739" + }, + { + "id": 2793025849102405, + "content_hash": "7b4c99882ec640b7c14f644c5796baa78e51d17cfb128df119c65bed03e3e44a" + }, + { + "id": 2793025845825605, + "content_hash": "35d9404c0feb349f74ee2edfd34cce9f62580b6205708645216f1c6936a0411e" + }, + { + "id": 2793025849593925, + "content_hash": "de9ace648df358433e40a49a932f729a8dcc5b9e497b331c4a15117f88367f63" + }, + { + "id": 2794695800934533, + "content_hash": "5d10ff95587dec237e457e8e938b7f6adf82a30970b7511eac835803b37d8eae" + }, + { + "id": 2794695801409669, + "content_hash": "5cd60a5a938e8a79604bdc944bf5c7588feab2540e56a71b8857928c14b3c01f" + }, + { + "id": 2794695801589893, + "content_hash": "608833b54c8d113b32b5afd6c9bcdde24ab435617e6fbf3d36c09f0d190b820e" + }, + { + "id": 2794695801753733, + "content_hash": "e21c0a32720309425119907f303519f1b0334a8061dcb0c75ffed2b182a91195" + }, + { + "id": 2794695801917573, + "content_hash": "3d9c60f344a1f12a4702a8a2c0538625fc9a5696cb790f8e98b47624e91d7b3d" + }, + { + "id": 2828836772432837, + "content_hash": "6a0d7318cd212782aa97d931dff6dd8c043721138ad8b394a641cdc951d90818" + }, + { + "id": 2878393200266693, + "content_hash": "cf76b0f7fabfc95d747f427e1a49d0aa82532a777e25486091cf987f9fe1c4ee" + }, + { + "id": 2959253027243589, + "content_hash": "9045dd7a4ee4a1b0441ffca7055859b72ce8c279c8a6fb58348a4d9ee29ecb69" + }, + { + "id": 2793025860145221, + "content_hash": "ae10b2893d02e3301f3cc7b86f465fb80f9786e859c04a55671745360a94bce0" + }, + { + "id": 2793025861128261, + "content_hash": "20c1d19ef2949a4351e068e9f8dcc261d81a9ae2a5661d4cf4f5b920953c8c74" + }, + { + "id": 2793025861308485, + "content_hash": "085e626bfebfc7f28b0559d9248e6c36900032945c8ab785824c8a188440a250" + }, + { + "id": 2793025861505093, + "content_hash": "db44806d13c8115c57351be0dfd4fd8eaea8f1ecfa7fb716c7fc2ae0394bcd6d" + }, + { + "id": 2793025861685317, + "content_hash": "452feb1a8a04a8e2ff0ca8c94348d6f81abfd1757dd45f2f0a909f55466923d7" + }, + { + "id": 2793025862438981, + "content_hash": "e90e7eee5636b796d3a92ba4623cd12d8429b54c3c9f857a0221b2b82854718f" + }, + { + "id": 2793025862963269, + "content_hash": "61a6f16b5f233b310a36d8449c52f5e92be2da84fba78dd63fbf4eec26f4a85d" + }, + { + "id": 2793025863127109, + "content_hash": "6f88fadde353aad71c78c4ed439641ea53a4a1560e5de06610956ce1e4c26c02" + }, + { + "id": 2793025863290949, + "content_hash": "b48f9af3a106c1eee3c6706ed46d444fc4144655499f2cd4a5930eeeac389758" + }, + { + "id": 2793025845399621, + "content_hash": "735b87c358892e1df55c8a411d8904b2a79c71af0a4bfeec2c983d3a2a634c2b" + }, + { + "id": 2793025846464581, + "content_hash": "7d057dc5054841a361ebc6dbf6a898597d4b6b2592e2493c2db801725a3e09b7" + }, + { + "id": 2793025847595077, + "content_hash": "e3cfe6fb5e843e7e212028bd87832ad23135673303ebc4a1edf49fa93452fd5e" + }, + { + "id": 2793025848102981, + "content_hash": "688fe9044c896e280828fa763769b22cb74ba19d96e6252741a2d9320590f244" + }, + { + "id": 2793025850576965, + "content_hash": "11b468c595981b93d0d79b1d75cb9da028b31b94c94e707ca97276fbcb8e3395" + }, + { + "id": 2793026186891333, + "content_hash": "aed2ab2803b0e10cc55005b28dc67be1c68869555c905bf93c36909d8b8a4453" + }, + { + "id": 2793026187071557, + "content_hash": "12229f7ee3163c7f884d246b5af3a65c51e63c84379a47e6239522937fe48b12" + }, + { + "id": 2793026187235397, + "content_hash": "f4c32ff0835c00eff54d001e0dbddc059a6fd448ef6d97698446f113ceb45b5c" + }, + { + "id": 2793026187563077, + "content_hash": "f63b71a3c744a6c70f9a9beef419a3a7ecd47a494cb2ad45b72b3e97ea48448d" + }, + { + "id": 2793026187726917, + "content_hash": "78ddc37419b11c5458a3c0a14fc1434ebf79f715ea20231880c02e887fda20b8" + }, + { + "id": 2793026188415045, + "content_hash": "ce0e2a6573c9d5a414ef36d961d956489f4bf9df880ed98d37e75ea9751234b0" + }, + { + "id": 2793026188578885, + "content_hash": "e4520dbe6bd5ae58886dd51cd7fe67f599a20d5821063786156f9b30342959f8" + }, + { + "id": 2793026432585861, + "content_hash": "0bddcdfbc6e2d04dcb6fd4c9e5c0d448344f6b5a3a1167405f2b71f4de69d861" + }, + { + "id": 2793026432733317, + "content_hash": "eae280edf9908ccaf9aefa5d7e8027738a96454bbc7f40f6b493bd6c7b7b058c" + }, + { + "id": 2793026432913541, + "content_hash": "efffb9a0f31a45dfebb54ce10146fa552b4a396aaee517f11ca469b2c524e41e" + }, + { + "id": 2793026433405061, + "content_hash": "43005b4cadb9922d3452acc45884d640fad03433b37d11297e711acfca3928af" + }, + { + "id": 2793026433568901, + "content_hash": "c38eb2a7c8fc44ab76d1356bd58886d5e640a0f7db569f267b5e546593c411b1" + }, + { + "id": 2793026434568325, + "content_hash": "a19e18fe007a2c224c44bbeb0c1c63c70b04bb7ce9dd87029e7d7c853831e395" + }, + { + "id": 2793026434715781, + "content_hash": "5879bebdb60079ebc45dcd543090513a53c0611e98605ce183699b067bb5a1c3" + }, + { + "id": 2793026434863237, + "content_hash": "a43873e4d27e6ad726f22a89d6c1616ac6895bc33b99149c68050dee959a3c1e" + }, + { + "id": 2793026435027077, + "content_hash": "71f740c7868e83c0b91701c444598c36de2ed37b9af8e07709bd1b4c5db40db5" + }, + { + "id": 2804514498563141, + "content_hash": "914f9ff9062991b93355592deadbd1d33aa9c8ba2dc2c2d899cdd8686192770a" + }, + { + "id": 2823321361894405, + "content_hash": "6f2c37209dfe93862defa5d226f241e189adbe36e2b7816da50bd8fbd73ed5d9" + }, + { + "id": 2826003636177861, + "content_hash": "ec78c0358b9ee6a938910fae81bac18a2c7e59b77408209728cdd2be829c7361" + }, + { + "id": 2834064312256837, + "content_hash": "84e8dd7d9388bb1270d5202c612fdecb928f3096f1312fbd073c3dc3686dfdea" + }, + { + "id": 2966339994143941, + "content_hash": "fc773234160363b1164cf2118cd5e438e1a3b9b7737a16e8e8ee16722bd6b4f7" + }, + { + "id": 3073782716778501, + "content_hash": "ec7d370fa90751e55b3d13a08e3ddf3342e901b9484648e72be01a4a31e6ff88" + }, + { + "id": 2793026185154629, + "content_hash": "bb5d66cc55023b1b6ad1f582803f9d9bd631e10a0c644038c65b8833221f6bb0" + }, + { + "id": 2793026186563653, + "content_hash": "2e243bb0dc2db30a6d5d18d489ee059ee7adfb47f066823b02017381d114dac4" + } + ], + "pages": 1, + "skipped_missing_pk": 0, + "errors": 0, + "error_detail": null, + "compare_content": true, + "content_hash_supported": true + }, + { + "task_code": "ODS_TABLE_FEE_DISCOUNT", + "table": "billiards_ods.table_fee_discount_records", + "endpoint": "/Site/GetTaiFeeAdjustList", + "pk_columns": [ + "id" + ], + "records": 1776, + "records_with_pk": 1776, + "missing": 0, + "missing_samples": [], + "mismatch": 15, + "mismatch_samples": [ + { + "id": 3076456429356677, + "content_hash": "8a97168787f45bd49687465a23efa4f56fb2142f35ee1336f715339d1be9e1fd" + }, + { + "id": 3076455565591941, + "content_hash": "0200a428169a577407afd444f545a0467a7ab2b354b07ee162b5530c153e0157" + }, + { + "id": 3076454348965253, + "content_hash": "8058a654a375b02808741983def691afa24f32e4be38590999cd202b546a2848" + }, + { + "id": 3076324808672901, + "content_hash": "001b0cced124147a61675cbc0d5c316a0ed64c18da4b328036d2f00b2c347799" + }, + { + "id": 3075796678313413, + "content_hash": "0978f5b5d6cb09d84c5cdf1259a1803171089751ca7e61e9b88ab9f7ccd0f56a" + }, + { + "id": 3075750062818757, + "content_hash": "6a983f0bf24627613fd375a9ff686cd53d7fcfb4f73d973dd8ee427a3c17fa98" + }, + { + "id": 3075626779002309, + "content_hash": "5f1b0e315ab0654f17734b3b54936bd501ad454b66c3da661fb18b4891f4c54e" + }, + { + "id": 3075502544193157, + "content_hash": "39a0960cd987ec2b23e5581abc35c4317938c6220d93b622406c1414e521e603" + }, + { + "id": 3075502544144005, + "content_hash": "598e107a83f47df4516402058c73ffadc3885e3e19abd7932b8d91f4d1fcb9e4" + }, + { + "id": 3075502544225925, + "content_hash": "3dcf8130a04a486f83c3918ef6247b629671f5cc7f491131913d8363cd3e47f3" + }, + { + "id": 3075502544111237, + "content_hash": "4bd1cb4bf649c09a65f22db9a715205d848ea7d96d86b3454bab316020ffecc5" + }, + { + "id": 3075473006429765, + "content_hash": "e30bd3bfac13e2213fd9445a7fbc0d6a0f8d64fc139ca69d55f9d6ef98319b35" + }, + { + "id": 3075473006380613, + "content_hash": "ae191823a826cc4689218a5f54014931e3ac2be1b33cd6384348dbfcbc2f9a9d" + }, + { + "id": 3075443238110661, + "content_hash": "494fa014b724e7b120a74d7dacadd3a4c107df4ead17df2c9dda2090f174cb32" + }, + { + "id": 3075437388203397, + "content_hash": "15660e4abbcd3a51881d3145ea2cb794c569c98d79323188af8136e817797ce5" + } + ], + "pages": 9, + "skipped_missing_pk": 0, + "errors": 0, + "error_detail": null, + "compare_content": true, + "content_hash_supported": true + }, + { + "task_code": "ODS_TENANT_GOODS", + "table": "billiards_ods.tenant_goods_master", + "endpoint": "/TenantGoods/QueryTenantGoods", + "pk_columns": [ + "id" + ], + "records": 173, + "records_with_pk": 173, + "missing": 0, + "missing_samples": [], + "mismatch": 0, + "mismatch_samples": [], + "pages": 1, + "skipped_missing_pk": 0, + "errors": 0, + "error_detail": null, + "compare_content": true, + "content_hash_supported": true + }, + { + "task_code": "ODS_SETTLEMENT_TICKET", + "table": "billiards_ods.settlement_ticket_details", + "endpoint": "/Order/GetOrderSettleTicketNew", + "pk_columns": [ + "ordersettleid" + ], + "records": 63, + "records_with_pk": 0, + "missing": 0, + "missing_samples": [], + "mismatch": 0, + "mismatch_samples": [], + "pages": 2, + "skipped_missing_pk": 63, + "errors": 0, + "error_detail": null, + "source_endpoint": "/PayLog/GetPayLogListPage" + } + ], + "total_missing": 7, + "total_mismatch": 568, + "total_errors": 0, + "generated_at": "2026-02-01T17:35:20.797576+08:00" + }, + "ods_to_dwd": { + "tables": [ + { + "dwd_table": "billiards_dwd.dim_site", + "ods_table": "billiards_ods.table_fee_transactions", + "windowed": false, + "window_col": null, + "count": { + "dwd": 1, + "ods": 19019, + "diff": -19018 + }, + "amounts": [], + "mismatch": 0, + "mismatch_samples": [], + "mismatch_error": null + }, + { + "dwd_table": "billiards_dwd.dim_site_ex", + "ods_table": "billiards_ods.table_fee_transactions", + "windowed": true, + "window_col": "create_time", + "count": { + "dwd": 0, + "ods": 54, + "diff": -54 + }, + "amounts": [], + "mismatch": 0, + "mismatch_samples": [], + "mismatch_error": null + }, + { + "dwd_table": "billiards_dwd.dim_table", + "ods_table": "billiards_ods.site_tables_master", + "windowed": false, + "window_col": null, + "count": { + "dwd": 74, + "ods": 74, + "diff": 0 + }, + "amounts": [], + "mismatch": 0, + "mismatch_samples": [], + "mismatch_error": null + }, + { + "dwd_table": "billiards_dwd.dim_table_ex", + "ods_table": "billiards_ods.site_tables_master", + "windowed": false, + "window_col": null, + "count": { + "dwd": 74, + "ods": 74, + "diff": 0 + }, + "amounts": [], + "mismatch": 0, + "mismatch_samples": [], + "mismatch_error": null + }, + { + "dwd_table": "billiards_dwd.dim_assistant", + "ods_table": "billiards_ods.assistant_accounts_master", + "windowed": false, + "window_col": null, + "count": { + "dwd": 69, + "ods": 69, + "diff": 0 + }, + "amounts": [], + "mismatch": 69, + "mismatch_samples": [ + { + "assistant_id": 2793363001774149, + "ods_hash": "0774ca8ce64facac289eaeced2665034", + "dwd_hash": "f6d8864448ba1fb599f9baa66a2cf495" + }, + { + "assistant_id": 2793530479530053, + "ods_hash": "b72853f7bd5379c11a6c923b6b4f02a7", + "dwd_hash": "508056eb048661b5cfc36eae1db58527" + }, + { + "assistant_id": 2840060593686213, + "ods_hash": "897e25b2be663a99bb5d6d6f3a436b6c", + "dwd_hash": "c64fb8c73af758e82819cb534f27cc9d" + }, + { + "assistant_id": 2861304461364293, + "ods_hash": "18b954a759b6ea861725b62b731eb0c9", + "dwd_hash": "65bb35f9e52597bd968736e61f03fa33" + }, + { + "assistant_id": 2964640248745157, + "ods_hash": "e756c0f02b97c7270a07fe75990f5e85", + "dwd_hash": "cc692ee3f2bf82b10ef7ac789258eee2" + }, + { + "assistant_id": 2964673443302213, + "ods_hash": "0743379dda24ca4932a1df62de0cfeef", + "dwd_hash": "c5e933a70847f8ba99d80747b371a15a" + }, + { + "assistant_id": 2793361915547781, + "ods_hash": "5c302727440ded26a2de5c150cc8755e", + "dwd_hash": "1f39ea835f82b35fe46b54d8abad1e32" + }, + { + "assistant_id": 2793399247179845, + "ods_hash": "28a6f80d94b35b7d0d10accad9a24070", + "dwd_hash": "e4cb6dce1ad4f402f8e6a25a97bc3f3f" + }, + { + "assistant_id": 2793405307342917, + "ods_hash": "a59f29e8c9f2e27010779b15188e4c34", + "dwd_hash": "ef6a9378856e1a987245c9d276f62baa" + }, + { + "assistant_id": 2793483330310277, + "ods_hash": "22ce4607fdade4c2f5dabf9640330d2b", + "dwd_hash": "878e34457a90d3fe31c2e8857920c0f4" + }, + { + "assistant_id": 2793486361710725, + "ods_hash": "7d6da6a132bd0ef4875411aa73e169e0", + "dwd_hash": "46771ee14eb0f8fb963a239af477a27c" + }, + { + "assistant_id": 2793489356673157, + "ods_hash": "effe5320db4e88983fffb2d99d53a869", + "dwd_hash": "99c7223bc77a611115e0463a65b23fa5" + }, + { + "assistant_id": 2793500999454853, + "ods_hash": "5cd6afb8d2ac80f81fb493a36bc49e3f", + "dwd_hash": "51c04508c55ace4af09a5bd11921acfe" + }, + { + "assistant_id": 2793510666670149, + "ods_hash": "092a43ae9113baa65b4d896cdd8c8859", + "dwd_hash": "40be9aba0ee8054280e698c1aad8c296" + }, + { + "assistant_id": 2793526116896837, + "ods_hash": "1b8de968fcd76c4de760a4f9a81bba5d", + "dwd_hash": "a694385bc00cf16ed52b95d5586e61cb" + }, + { + "assistant_id": 2793528386048069, + "ods_hash": "37629dadea6113295a52ea063820299f", + "dwd_hash": "4e1293a1ec5e2452582d61c1f917083f" + }, + { + "assistant_id": 2793537168429125, + "ods_hash": "b9c78d8deb8f39b88d9597fe8c14ad2f", + "dwd_hash": "20a7aad6397cf06d16dbfe025c18cdac" + }, + { + "assistant_id": 2793604629450885, + "ods_hash": "331ba0cd8b750748a8b2078a4e98bb99", + "dwd_hash": "36f5cbe91eb7e3b1092ad9cd9461cdcb" + }, + { + "assistant_id": 2795061580517445, + "ods_hash": "e3ef3b54f568c379d9b2a4ebf916a030", + "dwd_hash": "8dbbd1f0022bd367f3491bc3220833ce" + }, + { + "assistant_id": 2799129430166597, + "ods_hash": "9a606e08948f45653900127b0d343521", + "dwd_hash": "e4b1fe7fa1b2174712d8d38c293a8271" + }, + { + "assistant_id": 2799135415192645, + "ods_hash": "3cf5a2cb5452534977c31d5a4c67e281", + "dwd_hash": "b325087f437bf6d21452e671331d9251" + }, + { + "assistant_id": 2800501459422085, + "ods_hash": "3b124aab8fb661d414fccc44267280c2", + "dwd_hash": "2321e2249da6701cd77a94af01c49722" + }, + { + "assistant_id": 2806132026100805, + "ods_hash": "ab53be44fd04fa2387fbf879b2b953f3", + "dwd_hash": "65803bd3dabaf5a88413d82961e7ec71" + }, + { + "assistant_id": 2807673321458757, + "ods_hash": "417a62f37b6f8a2644168741594f9b2a", + "dwd_hash": "636fed91f00255e082546d54e0092769" + }, + { + "assistant_id": 2808873057863749, + "ods_hash": "a8c185c9e30a2557925303454c4e40d8", + "dwd_hash": "b142f3abd44d3783602bcc302dde5c76" + }, + { + "assistant_id": 2815977780611909, + "ods_hash": "694213a255dfc91a568fe33bd26ed386", + "dwd_hash": "efecd21f9aaeb0510c4f2ee5b0f0a7d5" + }, + { + "assistant_id": 2815988587039749, + "ods_hash": "d9a887971b1baf2d76180fbb6eeeb968", + "dwd_hash": "b871b145f5a43c920c7980c53f7019c4" + }, + { + "assistant_id": 2834411250190470, + "ods_hash": "4c8fc9124bd1720ee0e635e91b03a1c5", + "dwd_hash": "6b784f97a5be674b54465f4b10e4c1a4" + }, + { + "assistant_id": 2840752795895493, + "ods_hash": "2ba1ddcb410f8ab07079a450987cc8a8", + "dwd_hash": "5722af676192fcab9f2579d3d49d250a" + }, + { + "assistant_id": 2841614135707141, + "ods_hash": "77b38aa6856634ce28a9958f5fc629ba", + "dwd_hash": "48d19c83f979deaecd7db81f383227d6" + }, + { + "assistant_id": 2851377027190277, + "ods_hash": "5b422ea52752d3fd6a4e2fbf5b28022d", + "dwd_hash": "85f68b929c4e191949236f2d99c96a2c" + }, + { + "assistant_id": 2859776051579717, + "ods_hash": "6d501f18b24e10689944b9571fa89faf", + "dwd_hash": "c8e49420444596baf311a6e41f2d0e4d" + }, + { + "assistant_id": 2859778261961541, + "ods_hash": "fe0bde9a593eecb27c30c1cb22eb3528", + "dwd_hash": "4cff61d22071f0f1e2c1490a35409449" + }, + { + "assistant_id": 2859802158598981, + "ods_hash": "f5ce6538853056ce811de41ae18afc9a", + "dwd_hash": "bef7eb0edf23cd9bb8e2ea21a7b43370" + }, + { + "assistant_id": 2859886363986821, + "ods_hash": "51c3b0c7be0acf5d2e6680a6aee0dd84", + "dwd_hash": "61cf43bfb44ff0f9e0654828d6254fb9" + }, + { + "assistant_id": 2861303933570181, + "ods_hash": "1736877ede262e22d071f6b85c3e105f", + "dwd_hash": "cca5ac84d2e3aba3524207f31e76c6a3" + }, + { + "assistant_id": 2793493699088517, + "ods_hash": "9d6ec799b265a92c05433610389e4f9b", + "dwd_hash": "aff94d5090ceddd70c49b58af5ff8832" + }, + { + "assistant_id": 2793532503855173, + "ods_hash": "23fa5b04b22e82d9a25ca9c8ec24714f", + "dwd_hash": "1268af1c1701e66cf9cbef4691920f3d" + }, + { + "assistant_id": 2862632135689606, + "ods_hash": "920ac07c373ca0b0a9694982a6192484", + "dwd_hash": "d7e3cb9d102c0334222daf466a6103f6" + }, + { + "assistant_id": 2866961022749829, + "ods_hash": "1ec6e8b801a1729cbc98019faab3b05b", + "dwd_hash": "36d84fe114014da5529fad55e93d29ea" + }, + { + "assistant_id": 2866962315594885, + "ods_hash": "338b3292ea9fe1657d2a88a885ce4aa8", + "dwd_hash": "9f1451483dff68780def3977cc3dda34" + }, + { + "assistant_id": 2866964303400005, + "ods_hash": "0b8f7f2481c59e12c069b06d75354d8b", + "dwd_hash": "04b3015a92957bb092d09965ea7740a3" + }, + { + "assistant_id": 2889708249270149, + "ods_hash": "1ce7281bf6d351137596fd9ce6cdb2b2", + "dwd_hash": "0f6246df879c9ffae45e50920ae0ad2d" + }, + { + "assistant_id": 2907961535433285, + "ods_hash": "24dc2043187ae584b80a09490afb447d", + "dwd_hash": "85d62fdc4d7ac44e8bd98e0430dc4c00" + }, + { + "assistant_id": 2907972756342981, + "ods_hash": "1b1930f9b45b94559e1867ee8a6e7aca", + "dwd_hash": "afd886b857619537412bb5a8a5ccfc95" + }, + { + "assistant_id": 2920786464294661, + "ods_hash": "9b5a067b99fefef3b152162936cf4f11", + "dwd_hash": "a9c7ebfe758ef0ab8abf49d0de882244" + }, + { + "assistant_id": 2920799537645381, + "ods_hash": "538f318f7813907ae1a33294e2487992", + "dwd_hash": "73b58837794adbfc48e0ba41cf554a39" + }, + { + "assistant_id": 2929246850797189, + "ods_hash": "a8b3a8679af796a2a15adba5784e300b", + "dwd_hash": "a7714b7b588e7d39104e43dfc9deb29f" + }, + { + "assistant_id": 2946261384596293, + "ods_hash": "9296d50103cf8aad5c32ca349ea12d26", + "dwd_hash": "d34d0c6e77656627c9dc7597db5849f8" + }, + { + "assistant_id": 2946266869435205, + "ods_hash": "55a51a3258f7cc7a8654b9bcf9845791", + "dwd_hash": "5f78fc19dc1776eca0b494d6cb44cc9d" + } + ], + "mismatch_error": null + }, + { + "dwd_table": "billiards_dwd.dim_assistant_ex", + "ods_table": "billiards_ods.assistant_accounts_master", + "windowed": true, + "window_col": "create_time", + "count": { + "dwd": 0, + "ods": 0, + "diff": 0 + }, + "amounts": [], + "mismatch": 0, + "mismatch_samples": [], + "mismatch_error": null + }, + { + "dwd_table": "billiards_dwd.dim_member", + "ods_table": "billiards_ods.member_profiles", + "windowed": true, + "window_col": "create_time", + "count": { + "dwd": 0, + "ods": 0, + "diff": 0 + }, + "amounts": [], + "mismatch": 0, + "mismatch_samples": [], + "mismatch_error": null + }, + { + "dwd_table": "billiards_dwd.dim_member_ex", + "ods_table": "billiards_ods.member_profiles", + "windowed": false, + "window_col": null, + "count": { + "dwd": 556, + "ods": 556, + "diff": 0 + }, + "amounts": [], + "mismatch": 0, + "mismatch_samples": [], + "mismatch_error": null + }, + { + "dwd_table": "billiards_dwd.dim_member_card_account", + "ods_table": "billiards_ods.member_stored_value_cards", + "windowed": false, + "window_col": null, + "count": { + "dwd": 945, + "ods": 945, + "diff": 0 + }, + "amounts": [ + { + "column": "balance", + "dwd_sum": 353475.18, + "ods_sum": 353475.18, + "diff": 0.0 + } + ], + "mismatch": 945, + "mismatch_samples": [ + { + "member_card_id": 2799218552833797, + "ods_hash": "d31265a2b992254be118a8a6db30f029", + "dwd_hash": "897a7448d0e3ccdc3aac3ef8b5e04578" + }, + { + "member_card_id": 2799216572794629, + "ods_hash": "cf4ac78e56d8cbcbd3675cdca4b83ce1", + "dwd_hash": "20b0261573d0ddfdc960d4737976473e" + }, + { + "member_card_id": 2799216912434949, + "ods_hash": "7cafe95c819678165bf120d40a12c053", + "dwd_hash": "a6862b792a900cc9be262d34f55b961d" + }, + { + "member_card_id": 2791994266619781, + "ods_hash": "5c9e465462e983fef41077a8d678f199", + "dwd_hash": "2a893c2976d3292e8989ee51153ada9e" + }, + { + "member_card_id": 2793254697453573, + "ods_hash": "f608c279f05725027d17eb4695e25bde", + "dwd_hash": "4c1a05ccd660ad08f7aaac9938fb2566" + }, + { + "member_card_id": 2793268303710149, + "ods_hash": "8e3375bf269af4b38ea740ca7b30662c", + "dwd_hash": "a59381ba5d86e3caba1aa55c66199dc4" + }, + { + "member_card_id": 2793308329789317, + "ods_hash": "7a3d49bbab03504805715df1c13cdbca", + "dwd_hash": "bc34ad51397bd472ce313441f3b890f5" + }, + { + "member_card_id": 2799215867168517, + "ods_hash": "1542c0d61d8d12da447ee71cc1858420", + "dwd_hash": "a1c8d5e718a342bda888bd3a6192caa7" + }, + { + "member_card_id": 2799215872657157, + "ods_hash": "b4eefa77ba80b5820813e92e73ef7893", + "dwd_hash": "14ffd3026a9bddd1da62545b05e5efa3" + }, + { + "member_card_id": 2799215877195525, + "ods_hash": "98749b317f63de55938404ad221dcf47", + "dwd_hash": "5a0d0b98207bc68df42f3c1d370b4e8b" + }, + { + "member_card_id": 2799215882176261, + "ods_hash": "9eba7639809ebe9bd2888127c98f5c5a", + "dwd_hash": "d18b3078f547faeecd17e5da82c2afb3" + }, + { + "member_card_id": 2799215886796549, + "ods_hash": "664cf538788e802a229fc644efd78cce", + "dwd_hash": "3433321f2473561edf3b76d71412ce01" + }, + { + "member_card_id": 2799215892219653, + "ods_hash": "1511b76a3b0461365f1db765035eb143", + "dwd_hash": "c30556d52f5d9e7d142b4cc09b61c3c3" + }, + { + "member_card_id": 2799215897331461, + "ods_hash": "e4695f9e61975fb1141598a9f5fc2f5c", + "dwd_hash": "c607c57b0a0d59c7287df2df223f6b4d" + }, + { + "member_card_id": 2799215901869829, + "ods_hash": "45503c3e1ce78c9342779ca2140d0432", + "dwd_hash": "886a1f7b5da597c376dc14f6b250682d" + }, + { + "member_card_id": 2799215906440965, + "ods_hash": "dcfd7d61d7dd044dd684d9db1c8e7f42", + "dwd_hash": "49bb1f415848a7f3ccc16950f6736771" + }, + { + "member_card_id": 2799215912814341, + "ods_hash": "70c617a82007f22a36b64c99e08acff2", + "dwd_hash": "f386b08dca2f0f971bc29638308f3973" + }, + { + "member_card_id": 2799215918532357, + "ods_hash": "84bcb9b5138cf46541a2b13ecf30627a", + "dwd_hash": "279fa2bf054d1fc86930b487a8ce3c6e" + }, + { + "member_card_id": 2799215923578629, + "ods_hash": "71b25aa2ede09b45c77e19f8c636c654", + "dwd_hash": "8f39c5651aeef8960dfe6bafb1866360" + }, + { + "member_card_id": 2799215929050885, + "ods_hash": "39b765d742bd857554f0b2fbeb7fd7ac", + "dwd_hash": "438c91bfa71fd6d88277a53d60f929bd" + }, + { + "member_card_id": 2799215934686981, + "ods_hash": "fe37b27e5f5b013b2982a4c1f7656fdd", + "dwd_hash": "fadbbe07a38744520fa994e8b52058f9" + }, + { + "member_card_id": 2799215939651333, + "ods_hash": "297a7662f477c9e851fe27f51b754601", + "dwd_hash": "fbd26151a0f928bcf882a6ac36ff7462" + }, + { + "member_card_id": 2799215946073861, + "ods_hash": "5b38a2f3d58f227ef9b4d4c47669f3a4", + "dwd_hash": "66b4b5426a03ab7fddb9a10c56a00fba" + }, + { + "member_card_id": 2799215950759685, + "ods_hash": "3df3ed6afb42cae5c66024205d690133", + "dwd_hash": "a7a7fcbc1ff9ab9a73bd3921001cd6c2" + }, + { + "member_card_id": 2799215956576005, + "ods_hash": "09ff3ae1019129f1fecc671de7bced2b", + "dwd_hash": "7a54a8e95fccb8cfea7de1fcb3c50c12" + }, + { + "member_card_id": 2799215962556165, + "ods_hash": "dd4141c9a2a7fb65079c8a9a2623eaf6", + "dwd_hash": "2e97352c24e4377acdc08d00c2097536" + }, + { + "member_card_id": 2799215967487749, + "ods_hash": "a12e27d41c6e7518eff8099fcc304121", + "dwd_hash": "6842992a54c00a2ac838147280542c8d" + }, + { + "member_card_id": 2799215973451525, + "ods_hash": "cbab621e654b452974c48c5933fcd1a5", + "dwd_hash": "e9b05a7f7944155ff3534ec2adc0ac61" + }, + { + "member_card_id": 2799215978317573, + "ods_hash": "a4360dfb6e9a253ee17cb62899f69be4", + "dwd_hash": "f6ca231bb6e71da38d13dbc758c10cc1" + }, + { + "member_card_id": 2799215983609605, + "ods_hash": "1fc450d9e439961aed3ed3aef4da3fd4", + "dwd_hash": "69ad7ce2db0d42c0b9e458ba6f621df8" + }, + { + "member_card_id": 2799215988246277, + "ods_hash": "f39e9236912c630df5c2c0eaaaad9697", + "dwd_hash": "e7c8640d1d3304a95769bc146d6ea899" + }, + { + "member_card_id": 2799215993554693, + "ods_hash": "d4762d678c1c32dc0a7be4c522b955b0", + "dwd_hash": "83572775a1440d554432ebfd2d11d511" + }, + { + "member_card_id": 2799215998420741, + "ods_hash": "ccdb981a3ddf9255401e3e35d2c343fd", + "dwd_hash": "ee3b03f30a976300ba60f518ca0954e7" + }, + { + "member_card_id": 2799216005367557, + "ods_hash": "17b96dd20ba13c4e49b7a265c8523c1a", + "dwd_hash": "3729753a54794d090eb4ff82990dbe1a" + }, + { + "member_card_id": 2799216011511557, + "ods_hash": "33ec23ad6fac7e94d5d58de03c97ee17", + "dwd_hash": "bd6d883c39e2a947f70316a28ea1ce42" + }, + { + "member_card_id": 2799216016361221, + "ods_hash": "ba903ae66677a16ea52c10d103ee272c", + "dwd_hash": "267c8e05f2731f8b76c391edfaef34a9" + }, + { + "member_card_id": 2799216021210885, + "ods_hash": "95643ae42c38b6ab51b3ec3a1083392a", + "dwd_hash": "398ffae83f9f90da96b1c14386b11740" + }, + { + "member_card_id": 2799216027404037, + "ods_hash": "f1a2d1792852b110cecca72f1dff4d1b", + "dwd_hash": "184aa11db77cff6299fd8bb947046067" + }, + { + "member_card_id": 2799216032155397, + "ods_hash": "0b4dae5fe45717b9773843cbf3d7553a", + "dwd_hash": "5a5c48b73e8a65df15d8db862594b99e" + }, + { + "member_card_id": 2799216038610693, + "ods_hash": "03b2280164977a316e79af17ece24e66", + "dwd_hash": "e9c06cf1c5f03ef776f198f8a6e5cef7" + }, + { + "member_card_id": 2799216044099333, + "ods_hash": "c444e054a93dd7f99d16639da4501362", + "dwd_hash": "b98e5ec48e230a83247a7dbac4031a24" + }, + { + "member_card_id": 2799216049293061, + "ods_hash": "72c33ea8bee5b425550aa295cbcdad84", + "dwd_hash": "6810bce8c7d5546dae139d0d44843ccf" + }, + { + "member_card_id": 2799216054093573, + "ods_hash": "9c0eabbef9017423fada43faf19aa3b7", + "dwd_hash": "53c2e836e39b4d59b8de5ea20fbb166e" + }, + { + "member_card_id": 2799216058763013, + "ods_hash": "bf3e612b7829baa6d2658d24e0e01eab", + "dwd_hash": "9b647463ac262da11a32741797676c34" + }, + { + "member_card_id": 2799216063645445, + "ods_hash": "c54fc77c39a589b4b8d7c76a7ffaf95e", + "dwd_hash": "2fcf6af72c4f2e524d50e1e1f1bc99e6" + }, + { + "member_card_id": 2799216068364037, + "ods_hash": "de182d4c200b1612ac5cc49b01d5a6a0", + "dwd_hash": "6479384863a04560029878e25730c0f6" + }, + { + "member_card_id": 2799216074540805, + "ods_hash": "6ab759c863c16a49233202830ca9fe34", + "dwd_hash": "745e0aeb474d4dd8c2f578338a2a7a28" + }, + { + "member_card_id": 2799216079259397, + "ods_hash": "0b9b5d6aea9859c5f2b6a3916de35627", + "dwd_hash": "b262df07b0fc22f0ba4acca9046e46d9" + }, + { + "member_card_id": 2799216083945221, + "ods_hash": "05f35301c5127b218b61f5ab72e87a06", + "dwd_hash": "afbaed98572c03c900a9c3a4aa02cead" + }, + { + "member_card_id": 2799216088516357, + "ods_hash": "6ab5934c623f1faa7f212e03dec709db", + "dwd_hash": "95c18f1c3109a8b9b3f1f9ac25c7a288" + } + ], + "mismatch_error": null + }, + { + "dwd_table": "billiards_dwd.dim_member_card_account_ex", + "ods_table": "billiards_ods.member_stored_value_cards", + "windowed": true, + "window_col": "create_time", + "count": { + "dwd": 0, + "ods": 0, + "diff": 0 + }, + "amounts": [ + { + "column": "deliveryfeededuct", + "dwd_sum": 0.0, + "ods_sum": 0.0, + "diff": 0.0 + } + ], + "mismatch": 0, + "mismatch_samples": [], + "mismatch_error": null + }, + { + "dwd_table": "billiards_dwd.dim_tenant_goods", + "ods_table": "billiards_ods.tenant_goods_master", + "windowed": true, + "window_col": "create_time", + "count": { + "dwd": 0, + "ods": 0, + "diff": 0 + }, + "amounts": [], + "mismatch": 0, + "mismatch_samples": [], + "mismatch_error": null + }, + { + "dwd_table": "billiards_dwd.dim_tenant_goods_ex", + "ods_table": "billiards_ods.tenant_goods_master", + "windowed": false, + "window_col": null, + "count": { + "dwd": 173, + "ods": 173, + "diff": 0 + }, + "amounts": [], + "mismatch": 173, + "mismatch_samples": [ + { + "tenant_goods_id": 2791925230096261, + "ods_hash": "6295000ad8292012e9cca142387f2710", + "dwd_hash": "d2d73718b0b47b0461c6c29e34f1ea05" + }, + { + "tenant_goods_id": 2792037812375429, + "ods_hash": "7908ae60e56c8ec39f1f0c8c3df1db3d", + "dwd_hash": "934d5d108f5d11ef74c5b8d3f0b1be2d" + }, + { + "tenant_goods_id": 2792038476746629, + "ods_hash": "1ea1398dffb04788fa2f98bc5d531e96", + "dwd_hash": "0ef01bf12935f66dcdb72ed1484e7a27" + }, + { + "tenant_goods_id": 2792039804047237, + "ods_hash": "0ae2045626662c8f481d91ca6d2a1afe", + "dwd_hash": "7f671dab39104f96bf0e271513d2eee9" + }, + { + "tenant_goods_id": 2792044495523717, + "ods_hash": "71ca4491f77d9e7b00cf36fea54267d0", + "dwd_hash": "ecb56250f32e08cf4c69a3a1d06ce111" + }, + { + "tenant_goods_id": 2792045494685573, + "ods_hash": "80d21f7e169974574acfe8ed7eaf7552", + "dwd_hash": "a03cc2607d07709e1e7ca59f5cb918fb" + }, + { + "tenant_goods_id": 2792056126328709, + "ods_hash": "93eb0f595d8059c325ca652bfeb952cf", + "dwd_hash": "1c63377b8eca55d03f4724e1bec6727c" + }, + { + "tenant_goods_id": 2792067181399941, + "ods_hash": "c198043fa70506ba6175d700c9ae4aa8", + "dwd_hash": "bbd018209650d41ffe8a115a7aebb57e" + }, + { + "tenant_goods_id": 2792070008164229, + "ods_hash": "a0e241d9dc6f50fcf015753aa21b3117", + "dwd_hash": "ae3daabf8411f59a87864e92c2d1c355" + }, + { + "tenant_goods_id": 2792072218644357, + "ods_hash": "0109de2091e8295593d9c76d8a25b373", + "dwd_hash": "fd8cf08b421a71839d36869a9b22a61f" + }, + { + "tenant_goods_id": 2792077012225925, + "ods_hash": "cfde005b0e2bf1fdee84531c534cb01a", + "dwd_hash": "ec17913666bc1f5198efdf8063ac35fe" + }, + { + "tenant_goods_id": 2792079352434565, + "ods_hash": "d64b062fa166ff2f8832ac167ef77262", + "dwd_hash": "18bf3faae0f4bdcaa942671419cd01dc" + }, + { + "tenant_goods_id": 2792081036562309, + "ods_hash": "95b1d808c7f6c31a75b9c90014cdea42", + "dwd_hash": "a6c52801c1bdda459ded7338e0abefd2" + }, + { + "tenant_goods_id": 2792082388782981, + "ods_hash": "f4a9283a8d58c0d25bc0b4df05323bfe", + "dwd_hash": "134a02e71b7838d3e9868dbe5ef57409" + }, + { + "tenant_goods_id": 2792083824283525, + "ods_hash": "636e6df49adda6b85ae369b1cca73d20", + "dwd_hash": "004a176f5a14f7ed5983160b5b429f62" + }, + { + "tenant_goods_id": 2792091011796869, + "ods_hash": "5760674d337a4309d0840ea23136ffad", + "dwd_hash": "52f3d90b6f467a9ae0997ebc100f6caa" + }, + { + "tenant_goods_id": 2792095859003269, + "ods_hash": "ce1e534e884027082076163636861b0a", + "dwd_hash": "20101ecf6c83e9499b8f121bebaa99d2" + }, + { + "tenant_goods_id": 2792096750243717, + "ods_hash": "6b29ba3c9f59221cb1aed9d33b925337", + "dwd_hash": "e54384d92fab5efe6108fd8e943d31b8" + }, + { + "tenant_goods_id": 2792098407092101, + "ods_hash": "b15dde728d8bf396bba1dfa87cd64561", + "dwd_hash": "590b86544bebf80674b5edca1e77ae40" + }, + { + "tenant_goods_id": 2792099955609477, + "ods_hash": "baf26768127b447d5c761198a0d30213", + "dwd_hash": "a9a0015a66503a7ef698ce6d91c8069b" + }, + { + "tenant_goods_id": 2792100776005509, + "ods_hash": "8582407fef5c9e400970247eb0352330", + "dwd_hash": "af6ca5653f1185c0a755a73a576df6f3" + }, + { + "tenant_goods_id": 2792102047797125, + "ods_hash": "d06d8a26d51d62df26484a298983c9ba", + "dwd_hash": "bf7d8523e0fca73a75957d89e493c3fd" + }, + { + "tenant_goods_id": 2792102887378821, + "ods_hash": "b8f5bd6a1372c1bbd80ce9ce364c921c", + "dwd_hash": "eeebdc8baa51b5b939d4ab7715df7bb4" + }, + { + "tenant_goods_id": 2792103809126277, + "ods_hash": "4a3dea77a3a9059aaa573e41a20fa169", + "dwd_hash": "94aaff734babba01b024e1c33677beef" + }, + { + "tenant_goods_id": 2792104571834245, + "ods_hash": "eefc6d336dab7a8030542c880593a562", + "dwd_hash": "9b948fe3fefb2f49c0abf1a642a0389a" + }, + { + "tenant_goods_id": 2792105355775877, + "ods_hash": "fa6bf2cbe4692baa55ca99f6b792ac7b", + "dwd_hash": "6aac8dbf5c4f66e3e7cb699de49e3930" + }, + { + "tenant_goods_id": 2792106618703749, + "ods_hash": "8cd99bb8b36516800302a1ff8b144a1a", + "dwd_hash": "db94ee037066bdd27ab1f1977783c3d4" + }, + { + "tenant_goods_id": 2792107453255557, + "ods_hash": "43173c6b20a3def41d8968a375c6541a", + "dwd_hash": "5b2dfeb1cea492e81eed7abc09dc8018" + }, + { + "tenant_goods_id": 2792108242096005, + "ods_hash": "a5c6fb8839618ec46082997bad51491a", + "dwd_hash": "5793f1d73e245a0df272829511e7902c" + }, + { + "tenant_goods_id": 2792109146951557, + "ods_hash": "59f2aeddbc6e6f9d6289ad27225dd83a", + "dwd_hash": "6401dba2b515491e3ac2714822416ac0" + }, + { + "tenant_goods_id": 2792110117130117, + "ods_hash": "f3c80a09d0d77035705a7213e6b84f99", + "dwd_hash": "f6920f46f93f6e00db69f09f44d20b4d" + }, + { + "tenant_goods_id": 2792111046741893, + "ods_hash": "379205c1a2fcec407c758bb3ea8b4654", + "dwd_hash": "439f3070814f84ea61e6baa1e6a4899c" + }, + { + "tenant_goods_id": 2792112367603589, + "ods_hash": "0b9a3964c91e9ab6881aeb99203e7869", + "dwd_hash": "7cd1812eb9d4648c7e8570b10f91e5b7" + }, + { + "tenant_goods_id": 2792114026696581, + "ods_hash": "cc61c2d1ac866ed448a6b28ba9c68226", + "dwd_hash": "61a8ac19b6f84915498e665626b8acea" + }, + { + "tenant_goods_id": 2792114975313797, + "ods_hash": "110f59f827abd3c6d25496a35e24e7f2", + "dwd_hash": "f6e899660997d3c8aca99b8f29bd33a9" + }, + { + "tenant_goods_id": 2792115932417925, + "ods_hash": "a6b8a2ed51f0b1ce50ab0f7ed737167f", + "dwd_hash": "738646d7cc092cfa5124ac97ed20450c" + }, + { + "tenant_goods_id": 2792116914442117, + "ods_hash": "31da1c42888d352da2bad3245421eb1c", + "dwd_hash": "e55380d698621ca8cbb2841bc6d69e55" + }, + { + "tenant_goods_id": 2792117879639941, + "ods_hash": "bbdcd88e208e96d5a5d5fdb0872411f8", + "dwd_hash": "8fc23c5a4260ca94800a4fbc7a2ecf71" + }, + { + "tenant_goods_id": 2792118718353285, + "ods_hash": "a9c18b4d49dbdcf689b891d47b997904", + "dwd_hash": "2b24c42f934ccc22e43a798db38d2877" + }, + { + "tenant_goods_id": 2792119564439429, + "ods_hash": "340b345ca1fea77e353f78055f3086c9", + "dwd_hash": "a8aafbd92ac557c3dbb89f7cdb6ba53a" + }, + { + "tenant_goods_id": 2792120662675333, + "ods_hash": "d3c8e714a99adbf08567ba51c75b192a", + "dwd_hash": "8c23f6fe39b3d104f30973b6414185a3" + }, + { + "tenant_goods_id": 2792122952519557, + "ods_hash": "43047526378bfd11a03fd2df42dfe6f4", + "dwd_hash": "4038217f440fd89f0f9294cda346ddcc" + }, + { + "tenant_goods_id": 2792123803078533, + "ods_hash": "a8e7ef54d42a2331150beeb2d1ff6929", + "dwd_hash": "5ba7db6e3ef17010df090f348c0b87ac" + }, + { + "tenant_goods_id": 2792125002321797, + "ods_hash": "b979c11a4f31f1f49d77a8772e1154c2", + "dwd_hash": "c4f79a907874bafb9944af80f676a4c4" + }, + { + "tenant_goods_id": 2792126153330565, + "ods_hash": "a36d381d6363671d5c6c401764178a92", + "dwd_hash": "51830d83ad2da09102b75884ac23a6f5" + }, + { + "tenant_goods_id": 2792126853369733, + "ods_hash": "269364a2d8641104ab89ec1ea63a92f1", + "dwd_hash": "4c26907d3e58869f69bafe59ce6d1d7c" + }, + { + "tenant_goods_id": 2792128158191493, + "ods_hash": "1dfdabb80456f5dbe990e2c7953edaf7", + "dwd_hash": "9fbc3529823cc56b54e0e796256f7e88" + }, + { + "tenant_goods_id": 2792128793546629, + "ods_hash": "247d4b0dce36ada0d7731d1a07c66db8", + "dwd_hash": "6e0e96758fae3b32f931f2766ce62f4a" + }, + { + "tenant_goods_id": 2792129791594373, + "ods_hash": "482b7d6927205b7b1087570a89de35f1", + "dwd_hash": "d3f6087cafb761bc96a28d65b0a87871" + }, + { + "tenant_goods_id": 2792130734133125, + "ods_hash": "4a26361c7e7f9e1d1de98c27f546a257", + "dwd_hash": "7bd5421f520f44fb9b5508598c15334e" + } + ], + "mismatch_error": null + }, + { + "dwd_table": "billiards_dwd.dim_store_goods", + "ods_table": "billiards_ods.store_goods_master", + "windowed": false, + "window_col": null, + "count": { + "dwd": 172, + "ods": 172, + "diff": 0 + }, + "amounts": [], + "mismatch": 172, + "mismatch_samples": [ + { + "site_goods_id": 2793025861308485, + "ods_hash": "736fbd824d4f77551bae8b9da5390296", + "dwd_hash": "5c24cf3bafb6bd9476b97971ad210775" + }, + { + "site_goods_id": 2793026182664261, + "ods_hash": "d82a48a36ef0f20403790154420db78a", + "dwd_hash": "3533a4a39ed8fe7146e1bad141ed39e0" + }, + { + "site_goods_id": 2793026183532613, + "ods_hash": "b3b2502f1a0d3d2e2fac26d055452857", + "dwd_hash": "fc43d04994c4bdc692f865842a870aac" + }, + { + "site_goods_id": 2793026186563653, + "ods_hash": "39d44153365c3321af2c3a13261c6249", + "dwd_hash": "8e286eddcbd2b6f34f46bfe28f455aed" + }, + { + "site_goods_id": 2793026434863237, + "ods_hash": "be4b4cf9681918a3f9c72600434ab77d", + "dwd_hash": "665be93cf82868455dd921b9095c9397" + }, + { + "site_goods_id": 2794695801917573, + "ods_hash": "328da808dcad171188d6a503f221193f", + "dwd_hash": "3928f3ac1baa4067327397bfcc5ba59c" + }, + { + "site_goods_id": 2826003636177861, + "ods_hash": "f0f2a5c386d33c5a4a7d3e54fc058ff9", + "dwd_hash": "4d0a8e2401b7db99c7a6a0a7286fd3c0" + }, + { + "site_goods_id": 2791953867886725, + "ods_hash": "b2d05e9f0275ce11cf91bbb2de7473d5", + "dwd_hash": "95fe343f63287b54e7b03b285e4cad0b" + }, + { + "site_goods_id": 2793025844727877, + "ods_hash": "cc328ec7fc2a217136cc7a6c037a4ed3", + "dwd_hash": "a03cc1243ceef574049fbfa8e8bc35aa" + }, + { + "site_goods_id": 2793025845399621, + "ods_hash": "fbb07b4019149f6df0d06c834f941023", + "dwd_hash": "db8c0c22cbbdfae681a38fdcdb01dd91" + }, + { + "site_goods_id": 2793025845825605, + "ods_hash": "98bada8ddccfaf8b41e2d6b257488aa1", + "dwd_hash": "cd29bdeb63ee7d044291e433d1a656ba" + }, + { + "site_goods_id": 2793025846464581, + "ods_hash": "5b73bc5f2d426b4e167f4a06b2bf6438", + "dwd_hash": "452fdbaa97ac5c964f2604c72868d7b7" + }, + { + "site_goods_id": 2793025847595077, + "ods_hash": "d74a2c783da0f309b5df43a2ebf43146", + "dwd_hash": "1e3fac02a3a3f2c218d546e22bd8ed5e" + }, + { + "site_goods_id": 2793025848102981, + "ods_hash": "353623776c0c1c83d0236c92bee0e7b5", + "dwd_hash": "7b1923408f77a27cbe553310e364edcb" + }, + { + "site_goods_id": 2793025849102405, + "ods_hash": "2ab8d26f4a421873ecf1d5c3dfcb1a27", + "dwd_hash": "6ebf5a80d6390707b369a90db202cc5b" + }, + { + "site_goods_id": 2793025849593925, + "ods_hash": "efbcc42271e07d14ed60e980f2b26a76", + "dwd_hash": "b004c185cecc400df90dc773ee096838" + }, + { + "site_goods_id": 2793025850576965, + "ods_hash": "aa093dc5b78d48be52cac0dec3082090", + "dwd_hash": "c0954071d66e3450aeb82aebf2b786ca" + }, + { + "site_goods_id": 2793025851068485, + "ods_hash": "eab23a0f9dc33b8dd828bae2c5a4147d", + "dwd_hash": "2696a640da5d816e6a6bd5f37b697957" + }, + { + "site_goods_id": 2793025858900037, + "ods_hash": "5f02911dd541f1c154b73612cd8b8f12", + "dwd_hash": "af672832dbd605ea04332d3b7723ec1b" + }, + { + "site_goods_id": 2793025860145221, + "ods_hash": "f07929829a42052091e29ffb85bc8283", + "dwd_hash": "7d4b726281ed617f55c4fadde6b806ce" + }, + { + "site_goods_id": 2793025861128261, + "ods_hash": "7698692287f9977a39213221760d68dc", + "dwd_hash": "b18d62ef76092490f6fbafd0a988dee5" + }, + { + "site_goods_id": 2793025861505093, + "ods_hash": "2761cae5748eadd76724fedf904e2920", + "dwd_hash": "0593fcb4ffa294659968d24e673f2ca3" + }, + { + "site_goods_id": 2793025862438981, + "ods_hash": "f3d6d89906bcb2fec8c6f5e598f033d6", + "dwd_hash": "a5426382faa5d55e5fad15aba2a9901e" + }, + { + "site_goods_id": 2793025862963269, + "ods_hash": "91e90ac4e9d91b7362cd623e9cf16697", + "dwd_hash": "bc99eac895b41261cb56d10bf3437178" + }, + { + "site_goods_id": 2793025863127109, + "ods_hash": "09eb96697b6940a5019a0337c855d708", + "dwd_hash": "f6ed0bea102f2b7afc7f736cbcd7fc92" + }, + { + "site_goods_id": 2793025863290949, + "ods_hash": "8abe639cf8ce3f630e9c636607ca1b1a", + "dwd_hash": "020defba1328bd22432f010b7f7f5192" + }, + { + "site_goods_id": 2793026174865477, + "ods_hash": "bdd7b381c8bb54a7a5d07851068cadbe", + "dwd_hash": "77f9b720b6fe04c9ec7156d50e21786e" + }, + { + "site_goods_id": 2793026175356997, + "ods_hash": "b702e4129924b5ed27b7686f943da96a", + "dwd_hash": "9c1b9b7cff219cea9ad3dc1e4646797e" + }, + { + "site_goods_id": 2793026175520837, + "ods_hash": "0b7786fc62aea0de6d189e4bdd2fa5e9", + "dwd_hash": "964c10e78351e09cdf7f6a96042d6082" + }, + { + "site_goods_id": 2793026176012357, + "ods_hash": "4573b22d7cb564a4f2e7e551834c88ea", + "dwd_hash": "759c9492a25829860e47012669a1b9d3" + }, + { + "site_goods_id": 2793026176503877, + "ods_hash": "1bfd2fbeb660b7c7ffec9c99017c3f0c", + "dwd_hash": "b2f0552ec2ab7c17efee50d9fbeba6a9" + }, + { + "site_goods_id": 2793026176995397, + "ods_hash": "7b6ffd63f244a1448d35448f607bb776", + "dwd_hash": "5f959a2be354d162b2fdf6f619ed4f4e" + }, + { + "site_goods_id": 2793026177486917, + "ods_hash": "5ca046e0a8e87800ea8cb88563aae999", + "dwd_hash": "7fc57eaca2c8f48162dd1f6d94e6e9cc" + }, + { + "site_goods_id": 2793026177978437, + "ods_hash": "9ce48e4bacc5389c70e7c3be3fe43c94", + "dwd_hash": "0ae0d7cc84c3bb834c9268f399ededd2" + }, + { + "site_goods_id": 2793026180141125, + "ods_hash": "681bbb92527750189d296ea8a0cefba5", + "dwd_hash": "87f7247107726abfab084b1b946505a6" + }, + { + "site_goods_id": 2793026180501573, + "ods_hash": "164bcf047ff1bce7d58aa6654a5cadc2", + "dwd_hash": "fdf1d4d4e567fc951aa9335b3a69b6c9" + }, + { + "site_goods_id": 2793026180993093, + "ods_hash": "adbfe9352326631767121ab7cb189ba9", + "dwd_hash": "9accae13b65f10f24913ab862a3f7453" + }, + { + "site_goods_id": 2793026181664837, + "ods_hash": "2f3b983d8c882412df87ed41dade0754", + "dwd_hash": "f38b7d6de7b4d0adacd5715e916206a1" + }, + { + "site_goods_id": 2793026183041093, + "ods_hash": "a795a179e05d5f11d2e030cd4588eb8a", + "dwd_hash": "31414eec707b388eceaabf59993efcf4" + }, + { + "site_goods_id": 2793026184106053, + "ods_hash": "89f8eb382a7049f6ab0e442d1e316106", + "dwd_hash": "7f4777cc80e02d78c88e24b421aa7f1c" + }, + { + "site_goods_id": 2793026184302661, + "ods_hash": "0c18ab0e7f15b2f586d686293d85775a", + "dwd_hash": "c87bfc14d2f624c2a85a77526e056477" + }, + { + "site_goods_id": 2793026184482885, + "ods_hash": "bd2e3247b87c5b9b31bd63afabe95987", + "dwd_hash": "7c65b42feb8929aa95bd4e0f846b565f" + }, + { + "site_goods_id": 2793026184646725, + "ods_hash": "9983995869304b7ce68232b29e30c2a7", + "dwd_hash": "a67c98f6cc835a7e2fbdfbdd457abb34" + }, + { + "site_goods_id": 2793026184810565, + "ods_hash": "b1129a7d5a042fd3f03ba479f17fb82b", + "dwd_hash": "e0f669b317965d728d0f64fee8ff2aef" + }, + { + "site_goods_id": 2793026184974405, + "ods_hash": "9aeeca06bef506e772524387cecc4cbd", + "dwd_hash": "69fa6ff5e6547d4984e7ed2efaeda704" + }, + { + "site_goods_id": 2793026185154629, + "ods_hash": "55434a5df0d52fd93f65ff7443f9c562", + "dwd_hash": "f40817236dac8d844ae1f981cb8dc37b" + }, + { + "site_goods_id": 2793026186891333, + "ods_hash": "ad35a17a047904e0dee9b16581a0db0c", + "dwd_hash": "29598dbc5ca7dfecb7fa38be96f6a4a1" + }, + { + "site_goods_id": 2793026187071557, + "ods_hash": "6cb158e6df97df9df62162c06579a65a", + "dwd_hash": "16662142eda46b79df0ffa1ff6dfb16e" + }, + { + "site_goods_id": 2793026187235397, + "ods_hash": "f0dcc25d1d8721276882645fc30b7f02", + "dwd_hash": "dbb8f0ead22b1a7066c2d7eb5fec35fc" + }, + { + "site_goods_id": 2793026187563077, + "ods_hash": "b68eb2f3efd0a561b0fe50d9bbb99b1b", + "dwd_hash": "840e9ff2527e4582ae30920192090b81" + } + ], + "mismatch_error": null + }, + { + "dwd_table": "billiards_dwd.dim_store_goods_ex", + "ods_table": "billiards_ods.store_goods_master", + "windowed": false, + "window_col": null, + "count": { + "dwd": 172, + "ods": 172, + "diff": 0 + }, + "amounts": [], + "mismatch": 172, + "mismatch_samples": [ + { + "site_goods_id": 2906983124748485, + "ods_hash": "d4a952c6a7a13d128d68202b8c137f9f", + "dwd_hash": "ff60b1293d83bfa3999fc99342b1546b" + }, + { + "site_goods_id": 2940642871856901, + "ods_hash": "7f4d8d4407c1daea5d1ead28637afb99", + "dwd_hash": "ec71c37c518a37edb60fe16551409ecb" + }, + { + "site_goods_id": 2793025852051525, + "ods_hash": "d14b34b8159dde7c45587162c5a2e9d8", + "dwd_hash": "70c766a690c82244521da89ec7d92e6c" + }, + { + "site_goods_id": 2793025852543045, + "ods_hash": "1e21b2bdae5ebeea361f846b57c597ec", + "dwd_hash": "fe43d27c8d0cf89c96c1d6aaaf7936e9" + }, + { + "site_goods_id": 2793025853034565, + "ods_hash": "389b5fca2bb46d4a08cf080a39c4e2a3", + "dwd_hash": "2d0b3a9ad88affa75a08d94e2de9db3f" + }, + { + "site_goods_id": 2793025853526085, + "ods_hash": "129b72782e07614c9c86954a1a7fbba0", + "dwd_hash": "b8e10e6ac5a49340323ccc3cf31cdaf8" + }, + { + "site_goods_id": 2793025854017605, + "ods_hash": "b9cc53c580dac42c00a5657af65afe78", + "dwd_hash": "71bd808448f27843ee689b7d33b84d34" + }, + { + "site_goods_id": 2793025854509125, + "ods_hash": "307196cfcee741be6dc17b503eb9d9b5", + "dwd_hash": "87a5aaec5e91b583b23aeda3289e9f52" + }, + { + "site_goods_id": 2793025855950917, + "ods_hash": "e1ee845fc3e64a64601d667faff1c063", + "dwd_hash": "9297cc8f3dff08b11a6b8857a546f6af" + }, + { + "site_goods_id": 2793025856442437, + "ods_hash": "9f375dba461cf0853f8f3ca69001e2fd", + "dwd_hash": "11afe08d22d6ebcf0a55991fddad75c3" + }, + { + "site_goods_id": 2793025856933957, + "ods_hash": "05f4f45b1f1ff6e2b102137dc816a68d", + "dwd_hash": "98208085bf18298939c8035cc9e60681" + }, + { + "site_goods_id": 2793025857409093, + "ods_hash": "ce4cee86b9a4c2bf8977079fe6ebc8b3", + "dwd_hash": "fdf721b8356d7969767c7e277c526ede" + }, + { + "site_goods_id": 2793025858392133, + "ods_hash": "5d70c5be1e0b121b52d7735d646877b1", + "dwd_hash": "e804cafbc09188c3855646fafa59cb21" + }, + { + "site_goods_id": 2793025844908101, + "ods_hash": "e51bcecbfa56f8466c56823b606004f4", + "dwd_hash": "3db3ad5b3e76d2071594344c6f0054aa" + }, + { + "site_goods_id": 2793025845989445, + "ods_hash": "d19d27239ff9f91ae712606f920443e1", + "dwd_hash": "9a62949bf226687d4f08d2679625ba48" + }, + { + "site_goods_id": 2793025863290949, + "ods_hash": "001cc0b0cd01d8c1b97e9786ae675c34", + "dwd_hash": "696a74c1b1c4daaa0cb7b61158e974ed" + }, + { + "site_goods_id": 2793026187399237, + "ods_hash": "c23c378299156e772b05a1ff8c1026fb", + "dwd_hash": "fa2807b9f6386307a371db9e45aa3b27" + }, + { + "site_goods_id": 2793026187923525, + "ods_hash": "4fa83eafdfcea0ac3a3c9859c23b9c07", + "dwd_hash": "607eb2a906faf2da50f90793228ed085" + }, + { + "site_goods_id": 2793026188251205, + "ods_hash": "84aea53b6ddfbbbd1ed80a61461420e9", + "dwd_hash": "4e053f48f993d05de2cfe375ec830619" + }, + { + "site_goods_id": 2793026432438405, + "ods_hash": "79ab0684071946cbd687b45283b858c8", + "dwd_hash": "ef5101ea5339d7c3b9e57e86981ff0c8" + }, + { + "site_goods_id": 2793026433912965, + "ods_hash": "28bb5f2e4d3049192e7326a0c841df2f", + "dwd_hash": "ef2768054290bb18def4ea23a4a0c8c6" + }, + { + "site_goods_id": 2793026434404485, + "ods_hash": "fceb365f49caf5cdfb9c590b5104d93d", + "dwd_hash": "827ddfeefc1374274274c65b535086db" + }, + { + "site_goods_id": 2793026185695301, + "ods_hash": "f160d5cb3c47cb0ec5d76e5472c24003", + "dwd_hash": "51a543b730e795c3bb6192ad96d98a44" + }, + { + "site_goods_id": 2793026186055749, + "ods_hash": "6e06edd5373a06de7fd0bf40ed87baeb", + "dwd_hash": "8bdeb31710bf10898c5f87087ce119ae" + }, + { + "site_goods_id": 2793026186219589, + "ods_hash": "d393289cc2fcc735079d7be533345643", + "dwd_hash": "158d9817ea74d6392349e07184870322" + }, + { + "site_goods_id": 2793026186727493, + "ods_hash": "b725466f0cecd8a8655cc546ae9a3477", + "dwd_hash": "0d76d5584242ca2e37ebc60802b5bf68" + }, + { + "site_goods_id": 2793026178469957, + "ods_hash": "530d9050b95dd3fcdaade34c2e3bb4b4", + "dwd_hash": "241e887f43eb8a94aeaeeeabfabf7e23" + }, + { + "site_goods_id": 2793026178977861, + "ods_hash": "f8df62d43eaf0cecf21ea423f541011c", + "dwd_hash": "cdfdbce5a378e74c37065ce7dd437c52" + }, + { + "site_goods_id": 2793026183532613, + "ods_hash": "62e1095788d6fba1b77d02b91fb9e52b", + "dwd_hash": "d12645435399dc99f403ad25c8822c37" + }, + { + "site_goods_id": 2811811188836101, + "ods_hash": "2d95ff75a3d570441a20157466a29ab5", + "dwd_hash": "4e4f20e6898a6de22435ede1a3e56080" + }, + { + "site_goods_id": 2919623264751045, + "ods_hash": "9ff114e835789026edba07d85f0d8059", + "dwd_hash": "1a5a383141c1e36405436acdf89a973d" + }, + { + "site_goods_id": 2791953867886725, + "ods_hash": "37fc4f65f0e173cdc2ab31c38168dff2", + "dwd_hash": "24a7db605557219107cb9a9a076ccae2" + }, + { + "site_goods_id": 2793026432110725, + "ods_hash": "a48a8f55e3e5b0c23be9af9c1de47371", + "dwd_hash": "5b04b20c0c89013bf8a62ba57979b478" + }, + { + "site_goods_id": 2793026429620357, + "ods_hash": "48156ace8006fd89d4ad295b38cad991", + "dwd_hash": "076017c1e7e2f75ab5e65f0315c4fa54" + }, + { + "site_goods_id": 2793026430095493, + "ods_hash": "d09454f5d771a8ec04f56be6ecd6a216", + "dwd_hash": "e4865e68ab8f64d6027f35ee3e614a97" + }, + { + "site_goods_id": 2793026430570629, + "ods_hash": "2bdfc05c6725c0b3c28e137655ed09a4", + "dwd_hash": "a7e73439a368f66ea92da244161f2f89" + }, + { + "site_goods_id": 2793026431045765, + "ods_hash": "600ac85f8e02fcdfc20c812e97967221", + "dwd_hash": "0a1e29b43050ccfdfe06ba494ea52fe1" + }, + { + "site_goods_id": 2793026431504517, + "ods_hash": "e2a6585661ae6d44f7e5b2a4dc084028", + "dwd_hash": "0507c20443c0ec4fca2d6f4898e913ff" + }, + { + "site_goods_id": 2793026431799429, + "ods_hash": "65c19a85ab3c50060fa2bba7b822505a", + "dwd_hash": "ed8d5befe54adf23d2e0bcbc3bdecc71" + }, + { + "site_goods_id": 2793025844727877, + "ods_hash": "6b5063495d5fbaa579e6d469a2ff2b6c", + "dwd_hash": "3518ba4110dc7af0b543ded80e08ceb5" + }, + { + "site_goods_id": 2793025846464581, + "ods_hash": "aa97fb33b7c155a3c5f4723e70cfd403", + "dwd_hash": "286ba07cf7514a2dd5fe70aff818f611" + }, + { + "site_goods_id": 2793025847595077, + "ods_hash": "49df143f47bf603b3fccf320c0d864f9", + "dwd_hash": "430996a993444509e46f728c7fd5baf0" + }, + { + "site_goods_id": 2793025848102981, + "ods_hash": "8ccb8931dced8664bfa615947c256063", + "dwd_hash": "ba566171a135d26d6af105e4f7e1126f" + }, + { + "site_goods_id": 2794695800246405, + "ods_hash": "856261cce351a53fdd41a481c750c983", + "dwd_hash": "a2430a91b07eae577f6e0d91d3565a20" + }, + { + "site_goods_id": 2794695800443013, + "ods_hash": "7cd0232d760222e7f3257f0c83ba2137", + "dwd_hash": "df1f44237a8d1ada6df3570db73cab0f" + }, + { + "site_goods_id": 2794695800770693, + "ods_hash": "273e9f91b02535fcfc6130a10737ba40", + "dwd_hash": "89df2223c38956dfbfe7df412edaa61f" + }, + { + "site_goods_id": 2801925513727045, + "ods_hash": "3c6e11a2910515190353791b9d18c27e", + "dwd_hash": "05f9c1ed4c52b893bb495937c1e46e1c" + }, + { + "site_goods_id": 2801925513923653, + "ods_hash": "aa02330f63ae1a90a6db8ee018363767", + "dwd_hash": "01b9875e4b43eae307eb017f6a7c8e7b" + }, + { + "site_goods_id": 2793025845399621, + "ods_hash": "ee016586443c0490587e8e472b5a4e72", + "dwd_hash": "94fe29425be1798da6db1ed0ad28c08b" + }, + { + "site_goods_id": 2793025845825605, + "ods_hash": "7d001f6f88dfcc510f5c0b47951937e4", + "dwd_hash": "359b59571b1077ad77b540efe46ce8b4" + } + ], + "mismatch_error": null + }, + { + "dwd_table": "billiards_dwd.dim_goods_category", + "ods_table": "billiards_ods.stock_goods_category_tree", + "windowed": false, + "window_col": null, + "count": { + "dwd": 26, + "ods": 9, + "diff": 17 + }, + "amounts": [], + "mismatch": 0, + "mismatch_samples": [], + "mismatch_error": null + }, + { + "dwd_table": "billiards_dwd.dim_groupbuy_package", + "ods_table": "billiards_ods.group_buy_packages", + "windowed": true, + "window_col": "create_time", + "count": { + "dwd": 0, + "ods": 0, + "diff": 0 + }, + "amounts": [], + "mismatch": 0, + "mismatch_samples": [], + "mismatch_error": null + }, + { + "dwd_table": "billiards_dwd.dim_groupbuy_package_ex", + "ods_table": "billiards_ods.group_buy_packages", + "windowed": false, + "window_col": null, + "count": { + "dwd": 34, + "ods": 34, + "diff": 0 + }, + "amounts": [], + "mismatch": 0, + "mismatch_samples": [], + "mismatch_error": null + }, + { + "dwd_table": "billiards_dwd.dwd_settlement_head", + "ods_table": "billiards_ods.settlement_records", + "windowed": false, + "window_col": null, + "count": { + "dwd": 25193, + "ods": 25193, + "diff": 0 + }, + "amounts": [], + "mismatch": 0, + "mismatch_samples": [], + "mismatch_error": null + }, + { + "dwd_table": "billiards_dwd.dwd_settlement_head_ex", + "ods_table": "billiards_ods.settlement_records", + "windowed": false, + "window_col": null, + "count": { + "dwd": 25193, + "ods": 25193, + "diff": 0 + }, + "amounts": [], + "mismatch": 0, + "mismatch_samples": [], + "mismatch_error": null + }, + { + "dwd_table": "billiards_dwd.dwd_table_fee_log", + "ods_table": "billiards_ods.table_fee_transactions", + "windowed": true, + "window_col": "create_time", + "count": { + "dwd": 54, + "ods": 54, + "diff": 0 + }, + "amounts": [ + { + "column": "adjust_amount", + "dwd_sum": 862.53, + "ods_sum": 862.53, + "diff": 0.0 + }, + { + "column": "coupon_promotion_amount", + "dwd_sum": 2564.51, + "ods_sum": 2564.51, + "diff": 0.0 + }, + { + "column": "ledger_amount", + "dwd_sum": 5342.32, + "ods_sum": 5342.32, + "diff": 0.0 + }, + { + "column": "member_discount_amount", + "dwd_sum": 0.0, + "ods_sum": 0.0, + "diff": 0.0 + }, + { + "column": "real_table_charge_money", + "dwd_sum": 1915.28, + "ods_sum": 1915.28, + "diff": 0.0 + } + ], + "mismatch": 54, + "mismatch_samples": [ + { + "table_fee_log_id": 3075443237144005, + "ods_hash": "97b8b6198b9d2a5a7bd8822dc7f0dac8", + "dwd_hash": "3a866668bbb44d099c85c34b66d76dcb" + }, + { + "table_fee_log_id": 3075473005446725, + "ods_hash": "7bd067ec4740febcf406c4e8123eb9e4", + "dwd_hash": "ac4bd1607e3808363ddf898874044118" + }, + { + "table_fee_log_id": 3075473005463109, + "ods_hash": "a88f42f44473352c51020e1ede06e646", + "dwd_hash": "5608da131d6102da2f0f0dbe0aab030e" + }, + { + "table_fee_log_id": 3075473603691909, + "ods_hash": "44b23b91d7c3e7f410cf06bb98f5deca", + "dwd_hash": "190b83290380c7b4251987d91a8f7ff2" + }, + { + "table_fee_log_id": 3075473701045893, + "ods_hash": "7201fcb53f741396a717123f79504ee7", + "dwd_hash": "841df47b15333114691ccbee245d2210" + }, + { + "table_fee_log_id": 3075484369503813, + "ods_hash": "c3f7912f0727018273d2ae5978bfaedb", + "dwd_hash": "f8dc5a3676a2366340595e98fbabd2c7" + }, + { + "table_fee_log_id": 3075497054340742, + "ods_hash": "23d881610afb6b77aa28e5ac81e5c46c", + "dwd_hash": "cdffec18b3ae0a6490a3e71d93701779" + }, + { + "table_fee_log_id": 3075502542980741, + "ods_hash": "f82dbc624f817972737446f71f6a81e4", + "dwd_hash": "17d7e055e1137588872f1750ae63e24c" + }, + { + "table_fee_log_id": 3075502542997125, + "ods_hash": "6a7401e32aec04fa94b95cefe9b09176", + "dwd_hash": "6846eb19c1a8152f8f6f90ca053cc313" + }, + { + "table_fee_log_id": 3075502543013509, + "ods_hash": "9b08bbb435df3b71ed071b2ab771aef0", + "dwd_hash": "0fdf6a0bb053fd60ea0285282baa0b6b" + }, + { + "table_fee_log_id": 3075502543029893, + "ods_hash": "82b5e9cd71d2b7f2ee12eae86815ca4e", + "dwd_hash": "07a02574feb3da0bdd4631b29719949f" + }, + { + "table_fee_log_id": 3075537363207749, + "ods_hash": "c2b2759dcc7d55acd4c8335f2f1b3591", + "dwd_hash": "ce6f39dd90cfcb9f07b4cb47fab3dbc6" + }, + { + "table_fee_log_id": 3075568526608005, + "ods_hash": "613a3d026d925f3450bab639a675e4e0", + "dwd_hash": "2688e68003ba7641c974d547e3777e3e" + }, + { + "table_fee_log_id": 3075574999369285, + "ods_hash": "2e49f8ea699c06b6abee9d075437230a", + "dwd_hash": "df11f80848483e0b75e2478c0279b26b" + }, + { + "table_fee_log_id": 3075584277300869, + "ods_hash": "b2fdd048c3929647834ac0116682cbb1", + "dwd_hash": "5432146d3a1475119c5804694159cf8f" + }, + { + "table_fee_log_id": 3075584988579461, + "ods_hash": "37d7e42724e1e8c32827788278e1475c", + "dwd_hash": "1412609ab73db5f55ce714d8359ac3d7" + }, + { + "table_fee_log_id": 3075626777560517, + "ods_hash": "cf4dce13ffc702ddd1e5eb3f9d76da30", + "dwd_hash": "38ad6da90a0aab972b5fb3ccb930a1df" + }, + { + "table_fee_log_id": 3075626777576901, + "ods_hash": "c441a2a05db228040c94342275928b93", + "dwd_hash": "99c439c73a3b365bbe0620bbd095c055" + }, + { + "table_fee_log_id": 3075631430682181, + "ods_hash": "5295624a5ee279f890faf9325b70d2c4", + "dwd_hash": "909e30b35d3b59a66e1f9cfaa354329e" + }, + { + "table_fee_log_id": 3075635028674181, + "ods_hash": "c84b566a961b7cbc4981d6f07b7c4c87", + "dwd_hash": "dc6f824b988ddea7a0b776b8a0a3ee0d" + }, + { + "table_fee_log_id": 3075750061589957, + "ods_hash": "6c5d1ef7750f3ba37211e49300b6da3d", + "dwd_hash": "9b197caf3b9c94edb4290174fcb2a649" + }, + { + "table_fee_log_id": 3075796677543365, + "ods_hash": "cea032c7b88fe0c7e9138c8341f130db", + "dwd_hash": "236a783d882d8c6259fb2319e1341ed5" + }, + { + "table_fee_log_id": 3076138706470341, + "ods_hash": "774b4517eb2ee422a155a0d3bea85844", + "dwd_hash": "7d442ae589d79589baf990694711273e" + }, + { + "table_fee_log_id": 3076160268633541, + "ods_hash": "d861cc54d9245c661578146289c28fd1", + "dwd_hash": "b853007e52951bf795a7f4e3bad5dd48" + }, + { + "table_fee_log_id": 3076255083218501, + "ods_hash": "98bfa1a420f592af7e3f87e31d5bd3bb", + "dwd_hash": "93b5b6678d86795fee845862991905f3" + }, + { + "table_fee_log_id": 3076282477610373, + "ods_hash": "90621dad473d346807c6989677b90065", + "dwd_hash": "537cf4627ff1b4142a26333575f82676" + }, + { + "table_fee_log_id": 3076324807968389, + "ods_hash": "39828f1e2925c3a1402fd76078d8bf5c", + "dwd_hash": "e75cbfbc9c842e937c010a22a6c76f4b" + }, + { + "table_fee_log_id": 3076325379917189, + "ods_hash": "e3dbffaadeceb4d56770e4567ba4074e", + "dwd_hash": "d3471d0be5f60a1fe97fdddb64f9d345" + }, + { + "table_fee_log_id": 3076329489057413, + "ods_hash": "72ea63f9f380d4cebe72918e7d43c6f4", + "dwd_hash": "83a34c43e732179c0c3b23f508d601fb" + }, + { + "table_fee_log_id": 3076335007483269, + "ods_hash": "e93854f8f000fa94747949d9f410ad7c", + "dwd_hash": "219d3a5b0f534c5ca56eff2b4933b809" + }, + { + "table_fee_log_id": 3076335083587141, + "ods_hash": "ea1d1966f2f047b60d907e8ae04ec990", + "dwd_hash": "6238cc5de939f51554bbc9de997ec868" + }, + { + "table_fee_log_id": 3076341144192389, + "ods_hash": "959819c9dc04e107db58eec1fecea7ed", + "dwd_hash": "48f4db93acb3d733bf41646b080d56b7" + }, + { + "table_fee_log_id": 3076341201225349, + "ods_hash": "311f3269e18f4a47acb22012cd19a4f5", + "dwd_hash": "83dcb72c7f9a449a5ef1da6fe8559df2" + }, + { + "table_fee_log_id": 3076361276884357, + "ods_hash": "2f9fcd12195dfcc484e0ef4f562484f1", + "dwd_hash": "486d3e1cffd45c8f75d63c27e1835b14" + }, + { + "table_fee_log_id": 3076364701123973, + "ods_hash": "b303fd3a5ddb2c19f6a66e09e77b9dda", + "dwd_hash": "25edcb58d8990c7bd94a65ac9cd45c16" + }, + { + "table_fee_log_id": 3076374000354885, + "ods_hash": "d4d30a8bc4e83ece4f0512e1a93e7ff3", + "dwd_hash": "93b2f1a49df48a8ac447394ce85a167a" + }, + { + "table_fee_log_id": 3076374836004229, + "ods_hash": "b0d310c3e4d328b93157ec614b00a3ef", + "dwd_hash": "69a6cd33fb685963381d1e89b252a332" + }, + { + "table_fee_log_id": 3076391961855557, + "ods_hash": "9719d29e50630c695e2d6676c853c4dd", + "dwd_hash": "ea4dabc02fa59fed593cb0142c366465" + }, + { + "table_fee_log_id": 3076397495780933, + "ods_hash": "077fa76c92cfa160c4654249c4c76cc1", + "dwd_hash": "e208b5633e9dea3899073e854dced98b" + }, + { + "table_fee_log_id": 3076401436312965, + "ods_hash": "b1e60d5f7f9534fd881caa202865f1ea", + "dwd_hash": "2ff13d1c53eca6e30f9b8e473fdb786c" + }, + { + "table_fee_log_id": 3076402097276293, + "ods_hash": "2d73f02b24259326bb8de0d47e631f19", + "dwd_hash": "590443fa795cfffe0fff3a1a2640958d" + }, + { + "table_fee_log_id": 3076404528957061, + "ods_hash": "6076a464c73f8d1cc82b14f890724310", + "dwd_hash": "0c672c981c550e03ee674e39a0be3c1c" + }, + { + "table_fee_log_id": 3076404579583429, + "ods_hash": "65d911eb2be1276fb11de16252160a62", + "dwd_hash": "ad9b84ba20eac2a771a2af5ed52e4485" + }, + { + "table_fee_log_id": 3076426270180933, + "ods_hash": "cb1732de1ce517fb4898810d6e79f2b1", + "dwd_hash": "5403679fea965df59ba7f12f9b2be48a" + }, + { + "table_fee_log_id": 3076427929667013, + "ods_hash": "58da31248757fd75db1b05bbda6d24f9", + "dwd_hash": "658fa8cf7b4a9c0b3ed98efd3df1b6e0" + }, + { + "table_fee_log_id": 3076431855896133, + "ods_hash": "b1d600facd3e9e02797300b4fc1a297c", + "dwd_hash": "ddf0dda445097d2eb27d5d2c0b0934a1" + }, + { + "table_fee_log_id": 3076431917008453, + "ods_hash": "7ae8ea905b961c75b08f7287054db25a", + "dwd_hash": "6c99b6fae2b0e95bca3e493ad6cf0466" + }, + { + "table_fee_log_id": 3076445048063365, + "ods_hash": "9b6ca8fbc816478b3170d36e1a50bbb8", + "dwd_hash": "db4dd44fb10d8f1ec05a3ec32edc7ebe" + }, + { + "table_fee_log_id": 3076448766461317, + "ods_hash": "c13ed37fc1508669cf586d61cfc9523c", + "dwd_hash": "ed5ecb71a05e94559acdc64692d3d81e" + }, + { + "table_fee_log_id": 3076454348309893, + "ods_hash": "f72b2a26643ae2513754a0e8e2aafc78", + "dwd_hash": "14bf1f9faa5bc7ade3fd97401a02abd2" + } + ], + "mismatch_error": null + }, + { + "dwd_table": "billiards_dwd.dwd_table_fee_log_ex", + "ods_table": "billiards_ods.table_fee_transactions", + "windowed": false, + "window_col": null, + "count": { + "dwd": 19019, + "ods": 19019, + "diff": 0 + }, + "amounts": [ + { + "column": "fee_total", + "dwd_sum": 0.0, + "ods_sum": 0.0, + "diff": 0.0 + }, + { + "column": "mgmt_fee", + "dwd_sum": 0.0, + "ods_sum": 0.0, + "diff": 0.0 + }, + { + "column": "service_money", + "dwd_sum": 0.0, + "ods_sum": 0.0, + "diff": 0.0 + }, + { + "column": "used_card_amount", + "dwd_sum": 0.0, + "ods_sum": 0.0, + "diff": 0.0 + } + ], + "mismatch": 19019, + "mismatch_samples": [ + { + "table_fee_log_id": 2800050345363077, + "ods_hash": "47ce626b250aef81e02b41114d24a4c1", + "dwd_hash": "38672ade980b6241840806920c41f415" + }, + { + "table_fee_log_id": 2800144144582277, + "ods_hash": "136a9045d6b350c483960339f3724ced", + "dwd_hash": "8d25769acf592ba8042c8fe9efde47fb" + }, + { + "table_fee_log_id": 2800144212365957, + "ods_hash": "b9fb721997b3d99b5a77b628c955d9d6", + "dwd_hash": "51ab9da8276a4c586d3d9b5e24009306" + }, + { + "table_fee_log_id": 2800144334426757, + "ods_hash": "f655dac5adcc6e93f08aeb3fbc5eaca4", + "dwd_hash": "acc461199c027a1764bb119c2661ce7f" + }, + { + "table_fee_log_id": 2800169001878981, + "ods_hash": "1a3c02265bbba94c8c8e34733ef96efd", + "dwd_hash": "fb17863cdab37b22be4386da87739ce4" + }, + { + "table_fee_log_id": 2800169065157253, + "ods_hash": "616d9be9439c26b05e9643313ddeeb8e", + "dwd_hash": "7e84e0066add9c63ed5b0b4f06dbf240" + }, + { + "table_fee_log_id": 2800194314323909, + "ods_hash": "8f4654f10b97217039ff6fd3408225df", + "dwd_hash": "756a32e7dbdd025417d7b606856862c1" + }, + { + "table_fee_log_id": 2800229441783621, + "ods_hash": "badaf26a125cf99fc0419d535ad3a9f6", + "dwd_hash": "fa78f83711b5f7088d436c31dc467aaa" + }, + { + "table_fee_log_id": 2800239124563973, + "ods_hash": "ef7c2d7c6362910260fbe231e9c55750", + "dwd_hash": "426cdceb2dc42885f6c25f6a8c3821ff" + }, + { + "table_fee_log_id": 2800239192983557, + "ods_hash": "016a95729665967fce80d973d8dd8df7", + "dwd_hash": "f2a3c50fd0165edb429acd6e058649d6" + }, + { + "table_fee_log_id": 2800259335767877, + "ods_hash": "f3aea9164f544f4499c1f5e6c6714bdb", + "dwd_hash": "cb799571b0f5af75fc456b15c7f37785" + }, + { + "table_fee_log_id": 2800262083528709, + "ods_hash": "a0b784efb02b6acb3c15cf9d5ab08f36", + "dwd_hash": "9f2040128e8005ea8ebbf2b480b74ed9" + }, + { + "table_fee_log_id": 2800265380710277, + "ods_hash": "465e54ccee1ad29b3d89063f8159362c", + "dwd_hash": "542ead549d0626985a2460c531dfc2f4" + }, + { + "table_fee_log_id": 2800272211904389, + "ods_hash": "164c02c1180dd943b452633d3c9e9d55", + "dwd_hash": "dc86aeb9825c6df92de2a5f184ada3a1" + }, + { + "table_fee_log_id": 2800301298436101, + "ods_hash": "adc175d4b20332475e5a0ecbade27acf", + "dwd_hash": "7d5f73abf3862a3635946a0d1666ce5b" + }, + { + "table_fee_log_id": 2800317000124293, + "ods_hash": "3aee8e81e163d51d03c4b33ba275aa97", + "dwd_hash": "b37974d1ebfe1533b12b85a76977c8f3" + }, + { + "table_fee_log_id": 2800328512047045, + "ods_hash": "830da782c33a7bbdaeb13b79c91e4991", + "dwd_hash": "ba6334ae8b8ba36249ca9dfe72b3dc97" + }, + { + "table_fee_log_id": 2800348915828613, + "ods_hash": "e67e73531f604cd93cc41a768e3b20e8", + "dwd_hash": "10853107c95e4517be1d3a1740d88d17" + }, + { + "table_fee_log_id": 2800378705070149, + "ods_hash": "e15216e589ee15a3e42821c53ed44848", + "dwd_hash": "7081e18f8d35213d3c9580074c88f3a7" + }, + { + "table_fee_log_id": 2800378804275205, + "ods_hash": "216ecff62d831d46d322b95ac863a691", + "dwd_hash": "ac50479e19203a55f39ccf75101fb59d" + }, + { + "table_fee_log_id": 2800379696531397, + "ods_hash": "f88957894607a0300be5858f2b92c7b8", + "dwd_hash": "2d09487a05ee820c0aa3ebef2c5b9dee" + }, + { + "table_fee_log_id": 2800379779762245, + "ods_hash": "b8c6771e1e30d614e06cc3074b1c2e5d", + "dwd_hash": "ddadf8beeb038e2da762876c134c2f27" + }, + { + "table_fee_log_id": 2800379849459590, + "ods_hash": "c4772af62ea801aaa70712e68d50d1e9", + "dwd_hash": "ba79aae7156d5858fd32a12f37536566" + }, + { + "table_fee_log_id": 2800410254477253, + "ods_hash": "7af5b7fcf244913566ae2d50ada9671e", + "dwd_hash": "dd6ce09652767e1a6aaa31006e1cdd29" + }, + { + "table_fee_log_id": 2800420129949637, + "ods_hash": "5a7ef4cff18fe7c6b0ca2d24a59145f4", + "dwd_hash": "869124d9028f261dde371a8b0e1ca78b" + }, + { + "table_fee_log_id": 2800421760534533, + "ods_hash": "16d01d4b5ec1b37994d8beee8e23a12f", + "dwd_hash": "ad3470cf928b23a0ae63eb945dbdbce4" + }, + { + "table_fee_log_id": 2800421760550917, + "ods_hash": "f5709c5fc6250b3c35ab296cd379502e", + "dwd_hash": "102fdbad7e50a3714b40afb3cd87f833" + }, + { + "table_fee_log_id": 2800428881152069, + "ods_hash": "97602e43e9dabaf776da66ce839592a1", + "dwd_hash": "7ec605344eb3fbdbcde2aef1475cd236" + }, + { + "table_fee_log_id": 2800430752009285, + "ods_hash": "b878ad11f86a4bc9f9ba3b5c3c57ca05", + "dwd_hash": "8929a931496cc52b63b5861f2e36a6bb" + }, + { + "table_fee_log_id": 2800433691674629, + "ods_hash": "6545714780b37cd3d07dcc5a3613c115", + "dwd_hash": "7d1a2ea45c890a0c43b926f0d959907d" + }, + { + "table_fee_log_id": 2800442629179461, + "ods_hash": "c06070e67db50888d9fb1e24e616a2bb", + "dwd_hash": "5f9d5dbb1f0a1c48c5c67a8511c36b1b" + }, + { + "table_fee_log_id": 2800460253743109, + "ods_hash": "0d068392900448544fc93b53f2b189b7", + "dwd_hash": "6c735b6e7711861c12c4431f168f8548" + }, + { + "table_fee_log_id": 2800462786250693, + "ods_hash": "c6ca40121782a877111379c57499348d", + "dwd_hash": "fd8758d496a4cdee7f776354d016c380" + }, + { + "table_fee_log_id": 2800477851207685, + "ods_hash": "507b1ee4ddd65345cd7e11846c6e91e3", + "dwd_hash": "c4715c0ed2a34756cf75b9fc191b619c" + }, + { + "table_fee_log_id": 2800479196071877, + "ods_hash": "c80f08bcb7e6fb9942e50b821c1afd5e", + "dwd_hash": "f129ec3f7c96c3cc5e7c1208e1d9cb21" + }, + { + "table_fee_log_id": 2800479978391557, + "ods_hash": "2386de6219d16e2a430b6216971f1ddb", + "dwd_hash": "56c91e6fc524007e8f520bf575cdeb09" + }, + { + "table_fee_log_id": 2800486211405829, + "ods_hash": "f7569e1a80780122ce0d75d1edb0789a", + "dwd_hash": "aad50e3673f4e7b999a2d7e13833528d" + }, + { + "table_fee_log_id": 2800486385715269, + "ods_hash": "f4a7d5d399e19ca0d515c8af976d0b12", + "dwd_hash": "c08df4c2f2bb4ccf4c2180c47d1d2db3" + }, + { + "table_fee_log_id": 2800488017709061, + "ods_hash": "05074b545fe665407bf0a72d5d7498fa", + "dwd_hash": "90b82da599eed200ecf4289ac882747a" + }, + { + "table_fee_log_id": 2800488101906373, + "ods_hash": "e33a7cdf7879e2174d05b14fa86a5692", + "dwd_hash": "3c6e3a52c7ccaf065cc38e7309093ad4" + }, + { + "table_fee_log_id": 2800489992832965, + "ods_hash": "7c6a54089430f76a9a777814ca7dde20", + "dwd_hash": "9abf78df9e6c0f51df5f34b551ea2356" + }, + { + "table_fee_log_id": 2800520188495941, + "ods_hash": "802b0fbf6d182a8e73678dd7f1b2c055", + "dwd_hash": "56bc5f14d1529adc104cdc021a90eaf6" + }, + { + "table_fee_log_id": 2800524097538053, + "ods_hash": "ed88809a14fe10522385c4735f4049da", + "dwd_hash": "8efb6a6db5717ef778367eaae4cf7bca" + }, + { + "table_fee_log_id": 2800526171457541, + "ods_hash": "e1b5e73435f0f28836ffe66e45b51ed3", + "dwd_hash": "f66f0133d83624d8e366fc08f03682b2" + }, + { + "table_fee_log_id": 2800526171473925, + "ods_hash": "a2e932fdd6b2a725db64031033a400b8", + "dwd_hash": "baede70388e816a33facc59d7be6a8b4" + }, + { + "table_fee_log_id": 2800531896108997, + "ods_hash": "67bf1e085aa4f79300941d8112921b57", + "dwd_hash": "adebb08dbcd049ad8b0292d5e1d605f5" + }, + { + "table_fee_log_id": 2800542169483205, + "ods_hash": "001dd13e1e5852c2032acfe18ed018dd", + "dwd_hash": "b33fe8b0921f09a153dd762d1184a972" + }, + { + "table_fee_log_id": 2800565625866245, + "ods_hash": "487894d7532ed63578cac8cf29f68dde", + "dwd_hash": "361932c0b88e9bfaca492232bc929843" + }, + { + "table_fee_log_id": 2800565739636805, + "ods_hash": "5d6a52d59ae33ad29336508e69d29870", + "dwd_hash": "ecf57b570f9a06f88ec3976b2b839e07" + }, + { + "table_fee_log_id": 2800569032705925, + "ods_hash": "725983246f1149fbf516e5069853e604", + "dwd_hash": "a1a734aac91c36377c2620f18ee6ab9d" + } + ], + "mismatch_error": null + }, + { + "dwd_table": "billiards_dwd.dwd_table_fee_adjust", + "ods_table": "billiards_ods.table_fee_discount_records", + "windowed": false, + "window_col": null, + "count": { + "dwd": 2963, + "ods": 2963, + "diff": 0 + }, + "amounts": [ + { + "column": "ledger_amount", + "dwd_sum": 350045.69, + "ods_sum": 350045.69, + "diff": 0.0 + } + ], + "mismatch": 2963, + "mismatch_samples": [ + { + "table_fee_adjust_id": 2800379696809925, + "ods_hash": "7ce2d6d66d5dc2e0b9d51d0b6adbd2aa", + "dwd_hash": "832a33580bf287ab01e77d5b67d5f6b0" + }, + { + "table_fee_adjust_id": 2800421760862213, + "ods_hash": "40c82f58503546ae308955e63b8062de", + "dwd_hash": "6500f879c5f4046789060378005e1cde" + }, + { + "table_fee_adjust_id": 2800479196448709, + "ods_hash": "4a441625678ad50f1522af395838262e", + "dwd_hash": "40751ee89b22668e955c882adfda4b5c" + }, + { + "table_fee_adjust_id": 2800479978670085, + "ods_hash": "80108dbed450bdc34ebf4985e39f545d", + "dwd_hash": "034693ebade908b5b0a2c690433a5a2b" + }, + { + "table_fee_adjust_id": 2800486211717125, + "ods_hash": "52dc8859f828b0855e2a551b476c7fd9", + "dwd_hash": "f5763afc7c39986d3ee62962ba379f96" + }, + { + "table_fee_adjust_id": 2800706253834245, + "ods_hash": "602e802e6f9b05d6123b315715fea93e", + "dwd_hash": "fa601a7e414946bf31a21d1480bda326" + }, + { + "table_fee_adjust_id": 2800711390840837, + "ods_hash": "cdb048876ca30a4cfa6868126fac1340", + "dwd_hash": "85a4c5a0a725da7f10eedb29cc8e0334" + }, + { + "table_fee_adjust_id": 2800770325694533, + "ods_hash": "f612cf48ce594eea51ef3d5a3e9c301b", + "dwd_hash": "de055594d98238c00b7f4e43b77512eb" + }, + { + "table_fee_adjust_id": 2800825635522629, + "ods_hash": "f78c4c1ff6955a531d7f1ec863416963", + "dwd_hash": "fe4e273fe1f3a14f10244df0847d8bbd" + }, + { + "table_fee_adjust_id": 2800843724834949, + "ods_hash": "1f29584e1375acfd83935870f1bf2e07", + "dwd_hash": "cd2f8a44338fe00de9bf47d0577d3b73" + }, + { + "table_fee_adjust_id": 2800876785502405, + "ods_hash": "fdb6d69f3ba1ff45467249b6816c9127", + "dwd_hash": "afc9e50ea1a37abb912207b921a654f2" + }, + { + "table_fee_adjust_id": 2800889951897605, + "ods_hash": "309daefc3c358dc7aafa393d00cc49b3", + "dwd_hash": "5a8547815b5b1cf74995c8982c083c22" + }, + { + "table_fee_adjust_id": 2800896786892997, + "ods_hash": "62c67b6b13f8bc6449ced05113507a39", + "dwd_hash": "b3fbf383c768353f592a8f9c915d5de7" + }, + { + "table_fee_adjust_id": 2801005953304837, + "ods_hash": "b5470881813e190bc8353082a3bd83a5", + "dwd_hash": "cc306e0fa329586d194d34e35a28ebbf" + }, + { + "table_fee_adjust_id": 2801760805128261, + "ods_hash": "8e5c5de8ec0924c0a7ef36194905f8ef", + "dwd_hash": "ee0948f9a28e382bef5b29c231afe555" + }, + { + "table_fee_adjust_id": 2801783841146949, + "ods_hash": "a4841562c846266fd1c57838542fa0f3", + "dwd_hash": "24654d6046a1116afbde95ede1caf6ab" + }, + { + "table_fee_adjust_id": 2801790309910789, + "ods_hash": "f33a4ccd9cb88c9f740d28cbcbb80e53", + "dwd_hash": "faffe5b110689337bb8cca805ef55b52" + }, + { + "table_fee_adjust_id": 2801929481078853, + "ods_hash": "056962c198518f282e06b01ecfde69ab", + "dwd_hash": "582a0f6382c9382dcb792d1605a8f3e9" + }, + { + "table_fee_adjust_id": 2801967422589189, + "ods_hash": "82aacecabf0a82779842887979946e85", + "dwd_hash": "7943fcf3dfbb99287c94035a5a7cc924" + }, + { + "table_fee_adjust_id": 2802022786484485, + "ods_hash": "78cbe372ec302661099b40da6aa97aba", + "dwd_hash": "47780e2ee4616eb035644e79c06f13c0" + }, + { + "table_fee_adjust_id": 2802053355587653, + "ods_hash": "1009fa765e1febae65defa47932b0d52", + "dwd_hash": "127896dc74aac46e4ddfe89d302e63f8" + }, + { + "table_fee_adjust_id": 2802054934628549, + "ods_hash": "062d351f9a426d938528100e83f5ddd7", + "dwd_hash": "443f21c06e37de4b6cd70c9986677fe9" + }, + { + "table_fee_adjust_id": 2802075486898373, + "ods_hash": "c9fd03849f7eb9e32688266535b0df4c", + "dwd_hash": "ec638951722b3924dd3522a669ba3093" + }, + { + "table_fee_adjust_id": 2802093906217349, + "ods_hash": "d2b196faa4cbfffba1f3ed03b7fa9f6d", + "dwd_hash": "59bc1948976028bf2c0d82eacaf09895" + }, + { + "table_fee_adjust_id": 2802093906266501, + "ods_hash": "6d0aa054cdd3ca4dc573f390310eabc1", + "dwd_hash": "08836968ec4c83cbaf2671adeb02dc6b" + }, + { + "table_fee_adjust_id": 2802093906315653, + "ods_hash": "4ce46d0e14169b19cdbc54b7c43003af", + "dwd_hash": "033fdcbe0fec06a95b00846a4e65fc28" + }, + { + "table_fee_adjust_id": 2802093906397573, + "ods_hash": "726ba7d60cbc08f386130ba9325ba8d7", + "dwd_hash": "a45d01a3b05bb635abd3e7f4fabe892f" + }, + { + "table_fee_adjust_id": 2802093906446725, + "ods_hash": "91f8016239868f640217778dd2c696fe", + "dwd_hash": "3dd4b64260cff013282cf2c4782d8cc3" + }, + { + "table_fee_adjust_id": 2802163714017541, + "ods_hash": "52a1cae89e96710f9581eff0db4df617", + "dwd_hash": "2a76f4b465eaad31a6d791317a67938e" + }, + { + "table_fee_adjust_id": 2802278049646661, + "ods_hash": "5f63f4def7021cf549b8424646a1ea8f", + "dwd_hash": "388553fc3d4b9e84581517d64a9d2fe3" + }, + { + "table_fee_adjust_id": 2802280012680389, + "ods_hash": "2bd1b2981ed7b1163248601536b6db6a", + "dwd_hash": "9a4069cf6c1f2629c6301a4b46cd3966" + }, + { + "table_fee_adjust_id": 2802327004449925, + "ods_hash": "2ff87542bd2a0078920e8d823350f0f0", + "dwd_hash": "45e2441999c431746420cbd195a9a93e" + }, + { + "table_fee_adjust_id": 2802327004499077, + "ods_hash": "813c665f5f7beca488d998fd523f55ad", + "dwd_hash": "521875c5f5336eea973764667749a4cb" + }, + { + "table_fee_adjust_id": 2802363812186181, + "ods_hash": "a57a704b660f7ab109a5ff8fd76648bc", + "dwd_hash": "2947a65d3f000c9b6705e698944575e0" + }, + { + "table_fee_adjust_id": 2802365271018693, + "ods_hash": "91cbe0fc2a9e686d8f809f5e4cfcb665", + "dwd_hash": "bc1cd39bdb142528f9d14707f1048a32" + }, + { + "table_fee_adjust_id": 2802368170134725, + "ods_hash": "6df20e5867d98bfc683471c0820825f7", + "dwd_hash": "4fd1d241b33a00b88ebd8cda18379377" + }, + { + "table_fee_adjust_id": 2802399883036741, + "ods_hash": "c4ec71958e6ad1559959ae6833d01dfe", + "dwd_hash": "583571e114f9fee29eec698bded72e37" + }, + { + "table_fee_adjust_id": 2802534808143941, + "ods_hash": "ddac22a3aab7a9b0ccb5641f48a2e08f", + "dwd_hash": "abb9af232663e6a6b7a9743c81586128" + }, + { + "table_fee_adjust_id": 2803270381127749, + "ods_hash": "5751bdbf8a61c5acf391aa1758a67d34", + "dwd_hash": "99af713c44d7f5d009a334732ee6c765" + }, + { + "table_fee_adjust_id": 2803405096963269, + "ods_hash": "6d20e2a598fe72f9422c469e321cb812", + "dwd_hash": "d129d527d90867be29c635890b0c72da" + }, + { + "table_fee_adjust_id": 2803448049797189, + "ods_hash": "d4a44fc025ec328b355b6df8ec5238ce", + "dwd_hash": "fe52d82a449191416515ef1b81ea730f" + }, + { + "table_fee_adjust_id": 2803523020213509, + "ods_hash": "33d57ae9e77239f96fb4b7c34629cfa7", + "dwd_hash": "ed8cfb951e43b26509a279b6e8aa60e4" + }, + { + "table_fee_adjust_id": 2803523020262661, + "ods_hash": "9e7e67907c2e83352c72ace760a03c1b", + "dwd_hash": "1995db2f86e725571a031a5bfc09f9e6" + }, + { + "table_fee_adjust_id": 2803525167892549, + "ods_hash": "d56646fc379a005caf426a0d80ce2252", + "dwd_hash": "21c12c15597e8750c2286a0d6ca0b19e" + }, + { + "table_fee_adjust_id": 2803556074342469, + "ods_hash": "e8fec15703f98ee080f2db5bcb4da0f0", + "dwd_hash": "9d4a388e322bc48934d496ebf3d9a72e" + }, + { + "table_fee_adjust_id": 2803564671732933, + "ods_hash": "036500cea7376f1aa8d73c3fb3149d98", + "dwd_hash": "7bfef906ca79bc59e1cabb67312c0fbe" + }, + { + "table_fee_adjust_id": 2803648600329413, + "ods_hash": "2fa825b8a4ee9879ceae0000c372b6a4", + "dwd_hash": "2199feb05cb530006b11028452523c7f" + }, + { + "table_fee_adjust_id": 2803669730823365, + "ods_hash": "1824ba40dc33f39c7bddb6ad3f4c8c61", + "dwd_hash": "403560afc9c23cf9558c32ae3530a9d8" + }, + { + "table_fee_adjust_id": 2803701662108869, + "ods_hash": "bdbab81356d037b611561cb1211e16d6", + "dwd_hash": "0a7dc623b3429f374c08b42432082eac" + }, + { + "table_fee_adjust_id": 2803712975703301, + "ods_hash": "814d549e24af4845f4ac0dce0b89f153", + "dwd_hash": "ba485749618c1d998e2c0bb6af5279fb" + } + ], + "mismatch_error": null + }, + { + "dwd_table": "billiards_dwd.dwd_table_fee_adjust_ex", + "ods_table": "billiards_ods.table_fee_discount_records", + "windowed": false, + "window_col": null, + "count": { + "dwd": 2963, + "ods": 2963, + "diff": 0 + }, + "amounts": [], + "mismatch": 2963, + "mismatch_samples": [ + { + "table_fee_adjust_id": 2800379696809925, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2800421760862213, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2800479196448709, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2800479978670085, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2800486211717125, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2800706253834245, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2800711390840837, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2800770325694533, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2800825635522629, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2800843724834949, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2800876785502405, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2800889951897605, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2800896786892997, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2801005953304837, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2801760805128261, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2801783841146949, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2801790309910789, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2801929481078853, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2801967422589189, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2802022786484485, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2802053355587653, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2802054934628549, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2802075486898373, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2802093906217349, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2802093906266501, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2802093906315653, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2802093906397573, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2802093906446725, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2802163714017541, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2802278049646661, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2802280012680389, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2802327004449925, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2802327004499077, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2802363812186181, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2802365271018693, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2802368170134725, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2802399883036741, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2802534808143941, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2803270381127749, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2803405096963269, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2803448049797189, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2803523020213509, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2803523020262661, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2803525167892549, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2803556074342469, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2803564671732933, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2803648600329413, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2803669730823365, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2803701662108869, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2803712975703301, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + } + ], + "mismatch_error": null + }, + { + "dwd_table": "billiards_dwd.dwd_store_goods_sale", + "ods_table": "billiards_ods.store_goods_sales_records", + "windowed": true, + "window_col": "create_time", + "count": { + "dwd": 0, + "ods": 0, + "diff": 0 + }, + "amounts": [ + { + "column": "cost_money", + "dwd_sum": 0.0, + "ods_sum": 0.0, + "diff": 0.0 + }, + { + "column": "ledger_amount", + "dwd_sum": 0.0, + "ods_sum": 0.0, + "diff": 0.0 + }, + { + "column": "real_goods_money", + "dwd_sum": 0.0, + "ods_sum": 0.0, + "diff": 0.0 + } + ], + "mismatch": 0, + "mismatch_samples": [], + "mismatch_error": null + }, + { + "dwd_table": "billiards_dwd.dwd_store_goods_sale_ex", + "ods_table": "billiards_ods.store_goods_sales_records", + "windowed": false, + "window_col": null, + "count": { + "dwd": 17563, + "ods": 17563, + "diff": 0 + }, + "amounts": [ + { + "column": "coupon_deduct_money", + "dwd_sum": 0.0, + "ods_sum": 0.0, + "diff": 0.0 + }, + { + "column": "discount_money", + "dwd_sum": 21673.2, + "ods_sum": 21673.2, + "diff": 0.0 + }, + { + "column": "member_discount_amount", + "dwd_sum": 0.0, + "ods_sum": 0.0, + "diff": 0.0 + }, + { + "column": "option_coupon_deduct_money", + "dwd_sum": 0.0, + "ods_sum": 0.0, + "diff": 0.0 + }, + { + "column": "option_member_discount_money", + "dwd_sum": 0.0, + "ods_sum": 0.0, + "diff": 0.0 + }, + { + "column": "point_discount_money", + "dwd_sum": 0.0, + "ods_sum": 0.0, + "diff": 0.0 + }, + { + "column": "point_discount_money_cost", + "dwd_sum": 0.0, + "ods_sum": 0.0, + "diff": 0.0 + }, + { + "column": "push_money", + "dwd_sum": 0.0, + "ods_sum": 0.0, + "diff": 0.0 + } + ], + "mismatch": 0, + "mismatch_samples": [], + "mismatch_error": null + }, + { + "dwd_table": "billiards_dwd.dwd_assistant_service_log", + "ods_table": "billiards_ods.assistant_service_records", + "windowed": true, + "window_col": "create_time", + "count": { + "dwd": 6, + "ods": 6, + "diff": 0 + }, + "amounts": [ + { + "column": "coupon_deduct_money", + "dwd_sum": 0.0, + "ods_sum": 0.0, + "diff": 0.0 + }, + { + "column": "ledger_amount", + "dwd_sum": 2633.26, + "ods_sum": 2633.26, + "diff": 0.0 + } + ], + "mismatch": 6, + "mismatch_samples": [ + { + "assistant_service_id": 3075473604216197, + "ods_hash": "c1ccc725c413c59edb609de0bbb7f669", + "dwd_hash": "a69bc452e29d9602e3bb5d92a7495f47" + }, + { + "assistant_service_id": 3075584989021829, + "ods_hash": "28d585b0cc44f42b933e5244a76ec89d", + "dwd_hash": "ae15b002120489d35cf01f5eb7ef7536" + }, + { + "assistant_service_id": 3075626777986501, + "ods_hash": "51325557e6f03c7036d8ae91744d98ef", + "dwd_hash": "14ea2cc52975763544d9a2bbe1f660c0" + }, + { + "assistant_service_id": 3075631431124549, + "ods_hash": "349d4f0261cf235486b9c0057b076def", + "dwd_hash": "545abe02e9d4ed7b8734df4f0204bca9" + }, + { + "assistant_service_id": 3075631431616069, + "ods_hash": "74aeecd05b8d51643220faf683fbbb02", + "dwd_hash": "bb702d94949b035889fff5c830aa1cab" + }, + { + "assistant_service_id": 3075750061999557, + "ods_hash": "4dd449a2fd33353d543d7816d5ab1319", + "dwd_hash": "0d651122c44afd42cb7729bcfe887b9f" + } + ], + "mismatch_error": null + }, + { + "dwd_table": "billiards_dwd.dwd_assistant_service_log_ex", + "ods_table": "billiards_ods.assistant_service_records", + "windowed": false, + "window_col": null, + "count": { + "dwd": 5152, + "ods": 5152, + "diff": 0 + }, + "amounts": [ + { + "column": "manual_discount_amount", + "dwd_sum": 414.17, + "ods_sum": 414.17, + "diff": 0.0 + }, + { + "column": "member_discount_amount", + "dwd_sum": 0.0, + "ods_sum": 0.0, + "diff": 0.0 + }, + { + "column": "service_money", + "dwd_sum": 0.0, + "ods_sum": 0.0, + "diff": 0.0 + } + ], + "mismatch": 5152, + "mismatch_samples": [ + { + "assistant_service_id": 2800311971268549, + "ods_hash": "fe36621f6570a296c3e26f2aa565d29a", + "dwd_hash": "690bb89865a22799ce4f5ecad6c8522a" + }, + { + "assistant_service_id": 2800464769091525, + "ods_hash": "ec841097507660af2c2049d22b3f9791", + "dwd_hash": "ae4a1dc2e5e39cfab525df10bd4d34b7" + }, + { + "assistant_service_id": 2800524097669125, + "ods_hash": "1deb68b6c3e5cf52590d8c689a839d96", + "dwd_hash": "365325fe3e1c5bbfca02f566715c49eb" + }, + { + "assistant_service_id": 2800770325219397, + "ods_hash": "7365f19af578aa318a401c6f8b43d995", + "dwd_hash": "0a2664633b9b2394a48722e6a966d578" + }, + { + "assistant_service_id": 2800772217931845, + "ods_hash": "913e870648ed15c791c4ddcd5b0192d5", + "dwd_hash": "841e2c6625ae7737c77bd017bf25a966" + }, + { + "assistant_service_id": 2800772218161221, + "ods_hash": "773ef83a0e5dbd473173d96135e32476", + "dwd_hash": "b4abc7019e2b64896821a6e4aa3e7f32" + }, + { + "assistant_service_id": 2800772218390597, + "ods_hash": "9a250d7f507279cdd3443b2cb0605e8a", + "dwd_hash": "4cf2d67f530f618ee902923d10ef0be3" + }, + { + "assistant_service_id": 2800772218619973, + "ods_hash": "964f1528de5b9fa42c424e11fd64cc99", + "dwd_hash": "5410137b214b09e9aa401a859bd92b69" + }, + { + "assistant_service_id": 2800772218849349, + "ods_hash": "7a0eb9b32afedba7ccb7789cc2ee829f", + "dwd_hash": "45a144f045f01c52329e06d19e5a0045" + }, + { + "assistant_service_id": 2800825635047493, + "ods_hash": "994dc219037df24d6ee8c97a14cf986b", + "dwd_hash": "188ea3b0284ebfd9d641918bfa9bf75c" + }, + { + "assistant_service_id": 2800843723868293, + "ods_hash": "343407bb90d5c34dc6919d440d765b2d", + "dwd_hash": "3dd7f844988be4895247ad5bf94cefff" + }, + { + "assistant_service_id": 2800843724359813, + "ods_hash": "dfa806ddb102a82dd97f808fc49351b5", + "dwd_hash": "d8bc9a8fcef10c60744911be21e884c6" + }, + { + "assistant_service_id": 2800864103942341, + "ods_hash": "130588d0bf03272efbe25316f2974031", + "dwd_hash": "bc8ce8c1681bc96bb49662c6ff3a80d5" + }, + { + "assistant_service_id": 2800889950226437, + "ods_hash": "57d79050902ad1e484e99be219459f70", + "dwd_hash": "baefdc55356661621a07ec9f11e53f71" + }, + { + "assistant_service_id": 2800889950455813, + "ods_hash": "c53b6b571c3c9ba45801cdb4ae2ab7b1", + "dwd_hash": "7d8883b2300a12df7b5192bb02cf924e" + }, + { + "assistant_service_id": 2800889950685189, + "ods_hash": "b0c2bf723ea1d8213b652d53b2e783a9", + "dwd_hash": "5e38bd233f265002c0671264fe1e1316" + }, + { + "assistant_service_id": 2800889950898181, + "ods_hash": "90d02c53466f070d12571c6fc56b578a", + "dwd_hash": "d4c8bc189ff9b01ba93417d40301227e" + }, + { + "assistant_service_id": 2800890473597125, + "ods_hash": "c0dc511009354fcd87425d32a6116180", + "dwd_hash": "96456f1c3e8c3b410b47d4432e14db3c" + }, + { + "assistant_service_id": 2800955647002693, + "ods_hash": "8fe5e3525d56c8edb04017c283a59201", + "dwd_hash": "53804b7b5c439c9e0cf0e11de43c8bdd" + }, + { + "assistant_service_id": 2801005951912197, + "ods_hash": "3e2fe2c5663c8b47f4440872d5d6ccf1", + "dwd_hash": "cc52f3c8d7198b39c7dba04a5577b897" + }, + { + "assistant_service_id": 2801005952141573, + "ods_hash": "e1a19fde396de07fa38ff71497d4f7d8", + "dwd_hash": "e1628def4f068831b116758e6361399e" + }, + { + "assistant_service_id": 2801005952354565, + "ods_hash": "bc8c68d8b4c8b71d84a107493aec8317", + "dwd_hash": "1cb8fd25f87f08c9a340f6e83bf18052" + }, + { + "assistant_service_id": 2801005952567557, + "ods_hash": "d9b5740e4da818a12c4b7ec3e829be1e", + "dwd_hash": "5fae6887d30bab22ceafda4119cdeeca" + }, + { + "assistant_service_id": 2801005952796933, + "ods_hash": "09a2edef9eab4cc1d3daea3c6fb95602", + "dwd_hash": "0eb479185918ea93c2383907a8a66441" + }, + { + "assistant_service_id": 2801034757752901, + "ods_hash": "ed495e6af83c8eba2851a2d4a9abd3a5", + "dwd_hash": "849ca6cc2d9f7a8ebc464e688f2cdd50" + }, + { + "assistant_service_id": 2801731033909509, + "ods_hash": "102c18cfad0a6fd88c2823b90f68f4f4", + "dwd_hash": "05c8dc33224ab9c8b44a16e561b9ea0f" + }, + { + "assistant_service_id": 2801857536854213, + "ods_hash": "052722aa64bb7e2a21b5ce2e55394421", + "dwd_hash": "be248a75a214f32935c9cbfbe308db8c" + }, + { + "assistant_service_id": 2801871998060805, + "ods_hash": "d9a88de124257b11e4768de6a41d44b9", + "dwd_hash": "82e6d02f3721d867e4225becefd1d52e" + }, + { + "assistant_service_id": 2801878221768773, + "ods_hash": "ec7fc4d5f54255aea3f3aa43c3f2ae72", + "dwd_hash": "c1264a9e612c51e361c2b9fbe811b114" + }, + { + "assistant_service_id": 2801880522705157, + "ods_hash": "a50d3a4df9548029fbc6a1a1bab96a52", + "dwd_hash": "c113962e0643d3d1f4097e706937aa55" + }, + { + "assistant_service_id": 2801967422032133, + "ods_hash": "9c0546322fac768ef27004854eba6810", + "dwd_hash": "1bbd57981d1d39ae12c66d1779d565f4" + }, + { + "assistant_service_id": 2801986785806533, + "ods_hash": "14734317668d26465d6635b6975704b0", + "dwd_hash": "b5cd1beba3ece4b23f4fec92750d3e68" + }, + { + "assistant_service_id": 2802022786009349, + "ods_hash": "098f0ba69cc142d5a1494ab0dddcacb3", + "dwd_hash": "605073b30b680539f3fa851b54e2b1ab" + }, + { + "assistant_service_id": 2802057516501253, + "ods_hash": "829e53d629e35a631e75092682a7e983", + "dwd_hash": "c009f6787e1ad1acf4d09c552bde3a9a" + }, + { + "assistant_service_id": 2802067209062469, + "ods_hash": "e4df0c1da0a12a12959ce4f022762f4f", + "dwd_hash": "e61072581a8bb91315bc9335be677fd7" + }, + { + "assistant_service_id": 2802067209291845, + "ods_hash": "4db4293e655b1fd41edda6e0a7b66318", + "dwd_hash": "a23e2b3514a22623d563efe2a3b37370" + }, + { + "assistant_service_id": 2802116511680901, + "ods_hash": "22a1879a1eb48f31d4073d81a6e0b581", + "dwd_hash": "e91dee3ad07c491c34fc699cf84f015e" + }, + { + "assistant_service_id": 2802116511910277, + "ods_hash": "3b2c7482716c5fe8eed600c49afddbf6", + "dwd_hash": "a6a8695e52ce2b3b02dccd096154341d" + }, + { + "assistant_service_id": 2802122102753669, + "ods_hash": "d7da09df55067d6355912633074f5eaf", + "dwd_hash": "0cf34adad2a5fb68ae783030dbbdfb4a" + }, + { + "assistant_service_id": 2802145474185477, + "ods_hash": "9f2c58fcdfca48f4f96ff53bab5649fe", + "dwd_hash": "ca49b54ee6fb3e640f1a87a316246699" + }, + { + "assistant_service_id": 2802163712411909, + "ods_hash": "2f9f5aaa18554d14f2ff8fef4e98eabd", + "dwd_hash": "62754fb16bf6a8262b1a1b2447436fc9" + }, + { + "assistant_service_id": 2802163712641285, + "ods_hash": "b98f0ce8a688cce15795d9632ced008f", + "dwd_hash": "fcfe813db0dfb34347ea17ef205ae130" + }, + { + "assistant_service_id": 2802163712919813, + "ods_hash": "574f9ca2de4284ab91a7750b2a4d584e", + "dwd_hash": "794b81c1afd5643e568fe9fe5dc56971" + }, + { + "assistant_service_id": 2802163713165573, + "ods_hash": "d72581de46f6ec86e11746776700ecf2", + "dwd_hash": "bc2bb3718d33f4c56407ffcec21b58a2" + }, + { + "assistant_service_id": 2802163713394949, + "ods_hash": "41b980d15e06b054d2dc21b5e41e48aa", + "dwd_hash": "69c0cc32103a310e9ec1236355556dd2" + }, + { + "assistant_service_id": 2802173013723525, + "ods_hash": "f84df7c99f06b6a812382d086c443f0f", + "dwd_hash": "2c4cbeabadfdddbc7c9abf9c9f41d76f" + }, + { + "assistant_service_id": 2802237353527365, + "ods_hash": "fc9b40a1c9590aa6023a62f0d7fa78af", + "dwd_hash": "3cbabdfaceb2d257d75449e2b25434f4" + }, + { + "assistant_service_id": 2802246307810437, + "ods_hash": "7d7095fb140ba875b0b4aca3a29092a4", + "dwd_hash": "92f6226c3a63cfdbdad11ca5fc461d3d" + }, + { + "assistant_service_id": 2802246308056197, + "ods_hash": "3e0143f533ac01414f575286cc1f9a2f", + "dwd_hash": "25ec255442b40313b8646b42decfe5c8" + }, + { + "assistant_service_id": 2802327003925637, + "ods_hash": "a23495b8737bd1e4b401a8ad9f3ad6d8", + "dwd_hash": "99dcb3d3924e8ccd7017429f405bdbf1" + } + ], + "mismatch_error": null + }, + { + "dwd_table": "billiards_dwd.dwd_assistant_trash_event", + "ods_table": "billiards_ods.assistant_cancellation_records", + "windowed": false, + "window_col": null, + "count": { + "dwd": 100, + "ods": 100, + "diff": 0 + }, + "amounts": [], + "mismatch": 100, + "mismatch_samples": [ + { + "assistant_trash_event_id": 2959363180793541, + "ods_hash": "6eee23318de94442259837424ef92e6f", + "dwd_hash": "1290dea2b5cea7f3b9c32235095e1309" + }, + { + "assistant_trash_event_id": 2964115283857093, + "ods_hash": "48fd1dd5da04b6522284c7ea2380101d", + "dwd_hash": "5abd842c4af737085dd6854d33f0c46a" + }, + { + "assistant_trash_event_id": 2969416950123717, + "ods_hash": "8964a5ad3b87f736021fd14577d93960", + "dwd_hash": "8304571b73c2bddd9db7527fde1b029e" + }, + { + "assistant_trash_event_id": 2975809439713221, + "ods_hash": "26ae47c0a853c385680aa182df09a599", + "dwd_hash": "d4a3123a980f9660942ea32f1725107c" + }, + { + "assistant_trash_event_id": 2979152118564997, + "ods_hash": "10847649cdf60fb423ee0dab3652f593", + "dwd_hash": "2ce63688b52a11ab216b5a20259d62c8" + }, + { + "assistant_trash_event_id": 2980595948766661, + "ods_hash": "e7c685006e67a7d0d3957d98ee8c2976", + "dwd_hash": "089b33f49b483f6ed1f58a7238530859" + }, + { + "assistant_trash_event_id": 2980663519594501, + "ods_hash": "44ddbd8ac38fc8b5be7c73375918e3b4", + "dwd_hash": "9cfba38b5abf8b2779885eba98a63e73" + }, + { + "assistant_trash_event_id": 2983505146384965, + "ods_hash": "4820b86814512ffe5ae77ddafa636699", + "dwd_hash": "8d1ed519cceff51fd75c6e2a8e8d3645" + }, + { + "assistant_trash_event_id": 2983505146745413, + "ods_hash": "584b03e6365f93abe490924aebbd8f44", + "dwd_hash": "e29df42167db91e25053aa7d640a7cfc" + }, + { + "assistant_trash_event_id": 2988030897195653, + "ods_hash": "f6e619140e04025fe67c3ac1cc1fce47", + "dwd_hash": "191a37f4ae04e077d671f54064af0c99" + }, + { + "assistant_trash_event_id": 2990633993343557, + "ods_hash": "0a39000d7a89b3017d741f14356b0c72", + "dwd_hash": "16321be205fe3945f62c07929355e465" + }, + { + "assistant_trash_event_id": 2990834178871877, + "ods_hash": "d6e4014f9af15d75c1cb410ccc9f38ef", + "dwd_hash": "e6fb4ec60850eecd83e39332e637ebb3" + }, + { + "assistant_trash_event_id": 2991820437967429, + "ods_hash": "222e38869053d87900274cc8e3054bea", + "dwd_hash": "76e1374595f55f6cbe6f4b3569699580" + }, + { + "assistant_trash_event_id": 2991991404466757, + "ods_hash": "80a0f06776883056677489c4ce8d55d3", + "dwd_hash": "8bc9cd42d7221150d6e4baad2e99558d" + }, + { + "assistant_trash_event_id": 2997598464608773, + "ods_hash": "b79e3bc31a0f79f3eff59cc9d7074835", + "dwd_hash": "19708e797f08c52a6dea0f4a4894a90c" + }, + { + "assistant_trash_event_id": 2997598724524613, + "ods_hash": "07ea4cce3a8bb4d47929e6c41e7a593e", + "dwd_hash": "f709fc929fec842abb7466a4b9ec1594" + }, + { + "assistant_trash_event_id": 2998795100097029, + "ods_hash": "2df2d31d51b8785971459870696a1cb7", + "dwd_hash": "d0fe0aad7608fbb7a8942e3ff589fb68" + }, + { + "assistant_trash_event_id": 3000445737830981, + "ods_hash": "80b499288980b9c795ec9daa68b6584e", + "dwd_hash": "9a7024cad4e39b9add9ec98d3232dcc8" + }, + { + "assistant_trash_event_id": 3030103311108037, + "ods_hash": "c7dd0f9bd65a8bc93d139c9d6286c55b", + "dwd_hash": "7a30f1d0e1bd890cdff6f4dc633c4d5d" + }, + { + "assistant_trash_event_id": 3030103311501253, + "ods_hash": "ddd1d78ac5277832f0311345d7af11ba", + "dwd_hash": "c98c4c5f02fea838a8c7d0cebdaaeec4" + }, + { + "assistant_trash_event_id": 3030231223846981, + "ods_hash": "8de9ce091b5fe63481eda1df36723886", + "dwd_hash": "8632f02aa9b0f7a2af92f346f963e322" + }, + { + "assistant_trash_event_id": 3030231224371269, + "ods_hash": "dd40442d7b2e7d0b215ae57ed3b24443", + "dwd_hash": "87d7b90637f1fb215e2acb2aaac14ad9" + }, + { + "assistant_trash_event_id": 3030234610993157, + "ods_hash": "3298e571a63c3c97668291b5abf05c3b", + "dwd_hash": "891f43be7092373a73ff970901f013d3" + }, + { + "assistant_trash_event_id": 3030234611386373, + "ods_hash": "a77287a42332ab45ea88e657c37ff526", + "dwd_hash": "18f86c0e0527169d832aff9171c64d36" + }, + { + "assistant_trash_event_id": 3030234611779589, + "ods_hash": "1e0fe063e4eacda0bc91d099637a701e", + "dwd_hash": "85ebd198a6fc2bcfdfa0cb9190286485" + }, + { + "assistant_trash_event_id": 3037228553014469, + "ods_hash": "3c50ca34d4c6fda0d3038dcea8d82ddf", + "dwd_hash": "68c3012a20b1f15af23d656ee445657a" + }, + { + "assistant_trash_event_id": 3037302029585541, + "ods_hash": "2fafac5e2b2f800c36e0291e96309616", + "dwd_hash": "297c9f356fa118fda1dc1957acd87fc5" + }, + { + "assistant_trash_event_id": 3041469621225221, + "ods_hash": "e74496e10d9ae95ed4461a559cac38cb", + "dwd_hash": "6a7b6f5aecba30b9a5abb66a8634781b" + }, + { + "assistant_trash_event_id": 3041480269170565, + "ods_hash": "82e1ce51489b55a93d9136b6ad94c040", + "dwd_hash": "4e58061a1eeafabaacac81702d668851" + }, + { + "assistant_trash_event_id": 3041480269760389, + "ods_hash": "9d4b2e7a8301a79a29572684cecf5d37", + "dwd_hash": "dfdddebd7da0b17844954234c25f2093" + }, + { + "assistant_trash_event_id": 3041480270497669, + "ods_hash": "fc1dbe569a622ca8c2457a469815987d", + "dwd_hash": "7d6703c19e8f7c02e0284820baeb9c36" + }, + { + "assistant_trash_event_id": 3041542387304325, + "ods_hash": "ef3b83e3603d284cd565f7e91d76634f", + "dwd_hash": "902f38c74368489e133baabf767e3181" + }, + { + "assistant_trash_event_id": 3041542387828614, + "ods_hash": "e6377a93b95d8fef3bc78e8a0a2beda2", + "dwd_hash": "8b7f25ac917d0016ad4279fb5f462012" + }, + { + "assistant_trash_event_id": 3041542388385669, + "ods_hash": "60a571e5ae41244c51cd8b6a55e384ee", + "dwd_hash": "05950d1a1b725d288b17718b3b5e6222" + }, + { + "assistant_trash_event_id": 3041555860424581, + "ods_hash": "e05cd0176b6b38fa6fdde188abe3f51f", + "dwd_hash": "596b706a1bf16fcac92e2d375708e89a" + }, + { + "assistant_trash_event_id": 3041809077602053, + "ods_hash": "74da242f68b8d2e078ac6ffee84a4511", + "dwd_hash": "692cdbed9df03c945207a70d2c5c3160" + }, + { + "assistant_trash_event_id": 3071358041819077, + "ods_hash": "04790970569dea94cccbcbf9ab37d8a4", + "dwd_hash": "d9464e795f2769e06bd31ddbd6b3f0ed" + }, + { + "assistant_trash_event_id": 3001591407299397, + "ods_hash": "0e2e33a1a794d72f5bbf7ce3dd8e0419", + "dwd_hash": "8b99c1e2d087dab61e3e5b783a7cbe5d" + }, + { + "assistant_trash_event_id": 3001591407823685, + "ods_hash": "163b3ec0d2ab30c7e6902e61061f0dba", + "dwd_hash": "c4fee95f7df3294d23abc9f2ed346f9b" + }, + { + "assistant_trash_event_id": 3001592236264453, + "ods_hash": "ffffd0423e6ba4bf8c26a88261073c0e", + "dwd_hash": "af9340d0f4bd7674ee98ff9776880f0d" + }, + { + "assistant_trash_event_id": 3001592236641285, + "ods_hash": "74805dd225b112095c686dfab1a817b5", + "dwd_hash": "8e2b27ee100b61bcff2e3e72c94bbd7b" + }, + { + "assistant_trash_event_id": 3001592237018117, + "ods_hash": "c522c2fc115a415cdd2620d96cb3afe1", + "dwd_hash": "3323271bc1aff39976b1e92382568cf2" + }, + { + "assistant_trash_event_id": 3003160811246469, + "ods_hash": "e11a2756b26117d45036aefecccc9ca6", + "dwd_hash": "9f1bc9b1d1db77fd24b12c876e1805a3" + }, + { + "assistant_trash_event_id": 3003233571771077, + "ods_hash": "b42a7e1ef6150791a51157d712639276", + "dwd_hash": "c4fc50b07b8c0ae4fa6a074206a2452c" + }, + { + "assistant_trash_event_id": 3006335394924613, + "ods_hash": "9bf6ade10ed46043bd1e5d74e808b589", + "dwd_hash": "66be6e9383cdd1d9a4b29c83f51d941b" + }, + { + "assistant_trash_event_id": 3007372846598405, + "ods_hash": "8a146bc9fae0abf97684aecdd896fef5", + "dwd_hash": "8faa1d504d601f7855a1de2fac12a048" + }, + { + "assistant_trash_event_id": 3021513785477189, + "ods_hash": "d86cfbaa5bb2615a2730542669e56330", + "dwd_hash": "b4ef80d9277bdbac14c01bacfb059a6a" + }, + { + "assistant_trash_event_id": 3042622933256072, + "ods_hash": "8462a0b4d1ef6d349b8a11f673844393", + "dwd_hash": "f3bdd0530b32e4bb198b135e8aa46678" + }, + { + "assistant_trash_event_id": 3042676057442181, + "ods_hash": "6f06613346e378a8fa325db9d0a5d132", + "dwd_hash": "d5da8ecc058ae7842d5c5837172b032b" + }, + { + "assistant_trash_event_id": 3042676057786245, + "ods_hash": "a719a408a578d9abe2a4721ec3a2b839", + "dwd_hash": "3fc07c3f00bb8fbaf61194accff08dbe" + } + ], + "mismatch_error": null + }, + { + "dwd_table": "billiards_dwd.dwd_assistant_trash_event_ex", + "ods_table": "billiards_ods.assistant_cancellation_records", + "windowed": false, + "window_col": null, + "count": { + "dwd": 100, + "ods": 100, + "diff": 0 + }, + "amounts": [], + "mismatch": 0, + "mismatch_samples": [], + "mismatch_error": null + }, + { + "dwd_table": "billiards_dwd.dwd_member_balance_change", + "ods_table": "billiards_ods.member_balance_changes", + "windowed": false, + "window_col": null, + "count": { + "dwd": 4873, + "ods": 4873, + "diff": 0 + }, + "amounts": [], + "mismatch": 4873, + "mismatch_samples": [ + { + "balance_change_id": 2800328071170949, + "ods_hash": "9034c1cd33d79da3d6d251cddc3eb8ae", + "dwd_hash": "53e2e58ba11b17821d75db3267fbdb5a" + }, + { + "balance_change_id": 2800328508984197, + "ods_hash": "dc2bfeae84c77252d26ee9cedfb2df60", + "dwd_hash": "eec043444254388629df780085b3a8c9" + }, + { + "balance_change_id": 2800329356315525, + "ods_hash": "992f0527c2f39dde8ef89d003e32b7f4", + "dwd_hash": "ba8df6ed4ca863e0668ea4281109aef4" + }, + { + "balance_change_id": 2800330000272261, + "ods_hash": "76d4eae5118378bdad1438b560f66b46", + "dwd_hash": "6868e74b299e9319cff0619e7a3fdb6f" + }, + { + "balance_change_id": 2800331271129989, + "ods_hash": "5cdf6bc9c4dd8ed4aa928a6c01bcab55", + "dwd_hash": "a3efc1b6b5ae725fd38b9dd4fc613a85" + }, + { + "balance_change_id": 2800331954736005, + "ods_hash": "7d78595c2640c0d0be6c84b459f7f63f", + "dwd_hash": "d1d4796f4ef47a98c4074e350bd24309" + }, + { + "balance_change_id": 2800332515314565, + "ods_hash": "638f4ef75cafaba06e48f76c3940422b", + "dwd_hash": "54030f825ad259f187fe23e3aee361fc" + }, + { + "balance_change_id": 2800332996627333, + "ods_hash": "3fe798dedfd9d3b6ba2219e8a99dbf75", + "dwd_hash": "846de13bf33e0c9946e60b226327eae1" + }, + { + "balance_change_id": 2800333602179973, + "ods_hash": "acf651585eb042f3355dab747d1f1305", + "dwd_hash": "38be2620eeb5adf6fa39d6088eb69991" + }, + { + "balance_change_id": 2800334284934021, + "ods_hash": "ce367f279d48c37f0d065e502f0e6c32", + "dwd_hash": "834b8f434649d993db9e43b58356ff65" + }, + { + "balance_change_id": 2800335026670469, + "ods_hash": "e3cce05718b5202a15cbe420ccb88d25", + "dwd_hash": "0fb0b589995e0eb53fa30526613fedb8" + }, + { + "balance_change_id": 2800336313338757, + "ods_hash": "1f1886e7067d299a342fe0450f7e0f49", + "dwd_hash": "9f1abd98cc4ff87642d8388e5f45951c" + }, + { + "balance_change_id": 2800336793930629, + "ods_hash": "b04c28f1b6e602d8da44d011026f57c8", + "dwd_hash": "8c7a7ae9c6d99869397e027856ead299" + }, + { + "balance_change_id": 2800337681140613, + "ods_hash": "de55e6710502b1851dcfa6f588235a23", + "dwd_hash": "2dc9405c1cd02a3377d9b1fe54089923" + }, + { + "balance_change_id": 2800338335697797, + "ods_hash": "9ecf26f88f40a151ddea78d91a6e2036", + "dwd_hash": "db93c3703c3377c7e50536b35e779758" + }, + { + "balance_change_id": 2800338703584133, + "ods_hash": "1b1e79bbc33955e312b3a3025b3cbc58", + "dwd_hash": "89e5d9c031a784bd0b4166380274adb8" + }, + { + "balance_change_id": 2800343012068229, + "ods_hash": "07275047a81764b582e7686a24eda5eb", + "dwd_hash": "129b6dbc7b6fce8f39309cc9d5a61299" + }, + { + "balance_change_id": 2800348154579013, + "ods_hash": "2f2cf55cbea82e857dd63fe7e96459b4", + "dwd_hash": "d451bb6e7348dd0ea7a0c0c51f08803a" + }, + { + "balance_change_id": 2800360635942917, + "ods_hash": "1538c857717009ba8d0cfbc36c9dfc12", + "dwd_hash": "a518f3238db7f4bfb300b0770898c2bd" + }, + { + "balance_change_id": 2800392615004101, + "ods_hash": "a25f139a4b7c5e76b8aa4fb73aa04332", + "dwd_hash": "5b20234d1b8a69ac4a32a640a4d6e8da" + }, + { + "balance_change_id": 2800404348963717, + "ods_hash": "54542096785a8b5fd61dd63449140355", + "dwd_hash": "ecd1bf18d252e7b99b56071c61e7c292" + }, + { + "balance_change_id": 2800534985656325, + "ods_hash": "3a247cf987653b96eb29b58e7ce58383", + "dwd_hash": "f24ee87fc14e6f22876abf97b8d6e191" + }, + { + "balance_change_id": 2800535382460293, + "ods_hash": "21db7efe43c9ac6a9a70f918a453466d", + "dwd_hash": "c92363d2bdcaf8be1c1131d9ec7988db" + }, + { + "balance_change_id": 2800574477469765, + "ods_hash": "e99af947e24434b03c89d88b54c4750f", + "dwd_hash": "85e58c03da14b08ec1e5fc0cbd09ac58" + }, + { + "balance_change_id": 2800677354735493, + "ods_hash": "caab4bc89885127c9a173f23b9234a5c", + "dwd_hash": "c95cbd95f3868032175b426b560efc27" + }, + { + "balance_change_id": 2800706251425797, + "ods_hash": "880ecbf4fcff954b1e8f7ccd595e2a78", + "dwd_hash": "3bee38552104eb1539af7cdd37cc4552" + }, + { + "balance_change_id": 2800753410148421, + "ods_hash": "9175e3fe40d0fdb2e0ff62548b3cb30d", + "dwd_hash": "de561ea966362e00a9ba10fb0fd7ed74" + }, + { + "balance_change_id": 2800763350779909, + "ods_hash": "0f21d8dfda370593391d6c4a9b8ab0ec", + "dwd_hash": "a5c403650dc58152af72b68d1e6ee82c" + }, + { + "balance_change_id": 2800765195537413, + "ods_hash": "a3825af64ad86ba3d4c74f8fe545f74c", + "dwd_hash": "aef964c59371a594d31abbe43aef6fb2" + }, + { + "balance_change_id": 2800765804300357, + "ods_hash": "822b8a53f0ee9d33afca87b201e37c61", + "dwd_hash": "1650d2db2f8f7686a2bce01dcea8b2cf" + }, + { + "balance_change_id": 2800770322679877, + "ods_hash": "042235220e43e1b162d47ab9ad8bf713", + "dwd_hash": "c3786a45ebfcfa09fc789dbddd7a655e" + }, + { + "balance_change_id": 2800770322827333, + "ods_hash": "4a8b8ac76453434fb3ccdf2ea6aab39b", + "dwd_hash": "ae9ad87cbf3a84adbc8a30bf0c86b361" + }, + { + "balance_change_id": 2800772214982725, + "ods_hash": "462155312448c718b7c2d93dc2c3bc34", + "dwd_hash": "7117a70daaba083537cde26d7293ee6f" + }, + { + "balance_change_id": 2800772215146565, + "ods_hash": "1fbe46f44d11f131ac18de905d3f4fd3", + "dwd_hash": "086df6a020c4ff18ab6af3225f7110e8" + }, + { + "balance_change_id": 2800824059775045, + "ods_hash": "c2d78f0c7982869cf311567866249574", + "dwd_hash": "60d3860505dc1043f1c039fa31025a0b" + }, + { + "balance_change_id": 2800825633032261, + "ods_hash": "abdc4620812e6b0abf56d7b90b2d5a9f", + "dwd_hash": "7ccc1abd9cd6eb1621eaf655442bc0b9" + }, + { + "balance_change_id": 2800829539863621, + "ods_hash": "7777fc1944a3b62fac1db3831277fcb1", + "dwd_hash": "be8ff79b5f340b2bbf65cb6a472843d1" + }, + { + "balance_change_id": 2800844153292997, + "ods_hash": "b822133e0d60cf6539e3183dbc4ac980", + "dwd_hash": "bc9caa730821ac2f91dd94e4885315b4" + }, + { + "balance_change_id": 2800889946458117, + "ods_hash": "ecb1a468e549d1063343c8676df0ec19", + "dwd_hash": "7a6734d9036e31d3761d7039248e089b" + }, + { + "balance_change_id": 2801646213892485, + "ods_hash": "54704865890898decea6fd40358a762a", + "dwd_hash": "9f38585c822d801d6b28007c2d5d61db" + }, + { + "balance_change_id": 2801784546658501, + "ods_hash": "c4d3a96fd681d3529a40efcd365af1db", + "dwd_hash": "7b321f34beda87bc7e0ba645a9697f4b" + }, + { + "balance_change_id": 2801857534658757, + "ods_hash": "bd12f4aa1f66dbab22401bda8d0b5985", + "dwd_hash": "02cf00a49e983f1cdba8411cb0cc801a" + }, + { + "balance_change_id": 2801878220818501, + "ods_hash": "cb9174ad970189742bb618963875fada", + "dwd_hash": "2fc581f9d16a0e4675ad04d96daec282" + }, + { + "balance_change_id": 2801879401302405, + "ods_hash": "e795eed83f5f88250c63092187f2bacc", + "dwd_hash": "7d47cf10e72d55218dcaf84b746c7e23" + }, + { + "balance_change_id": 2801880313809989, + "ods_hash": "595b335d781c140cf40174d5c022cb7d", + "dwd_hash": "d26bba9e54610ef0175ccaf73ee0b058" + }, + { + "balance_change_id": 2801880520182021, + "ods_hash": "98632168f4e25e8e22d77747f442a6d7", + "dwd_hash": "437c3a4ec4f8af12816298a2d1acda5e" + }, + { + "balance_change_id": 2801880520345861, + "ods_hash": "ae5e5fdf78f8f62940206c91812cdbe0", + "dwd_hash": "34da0511efd582303b4afc7162fee098" + }, + { + "balance_change_id": 2801894886148357, + "ods_hash": "417dc44336a422d43321a453f4cbb971", + "dwd_hash": "5d50c5c0e6291e1cd8e4a8a75a2f714e" + }, + { + "balance_change_id": 2801947958970437, + "ods_hash": "3d2ef1222da7554ef964e00daa9efb9c", + "dwd_hash": "f094efbf03e410b6b61410d8ddb5bf56" + }, + { + "balance_change_id": 2801968103704773, + "ods_hash": "527935f4b15497c372e8c1bec66d0eaa", + "dwd_hash": "8ed1a12c04f92b785419e378b97803cc" + } + ], + "mismatch_error": null + }, + { + "dwd_table": "billiards_dwd.dwd_member_balance_change_ex", + "ods_table": "billiards_ods.member_balance_changes", + "windowed": false, + "window_col": null, + "count": { + "dwd": 4873, + "ods": 4873, + "diff": 0 + }, + "amounts": [ + { + "column": "refund_amount", + "dwd_sum": 0.0, + "ods_sum": 0.0, + "diff": 0.0 + } + ], + "mismatch": 0, + "mismatch_samples": [], + "mismatch_error": null + }, + { + "dwd_table": "billiards_dwd.dwd_groupbuy_redemption", + "ods_table": "billiards_ods.group_buy_redemption_records", + "windowed": true, + "window_col": "create_time", + "count": { + "dwd": 40, + "ods": 40, + "diff": 0 + }, + "amounts": [ + { + "column": "coupon_money", + "dwd_sum": 2646.0, + "ods_sum": 2646.0, + "diff": 0.0 + }, + { + "column": "ledger_amount", + "dwd_sum": 2612.51, + "ods_sum": 2612.51, + "diff": 0.0 + } + ], + "mismatch": 40, + "mismatch_samples": [ + { + "redemption_id": 3075443237995973, + "ods_hash": "59b68bb1d21509323682fece178d9e25", + "dwd_hash": "642e93f443133401128a60897cb18eb4" + }, + { + "redemption_id": 3075473703716485, + "ods_hash": "49e2989e657cbbab1c46d8bde86decec", + "dwd_hash": "c2e6a0bac3c6d62a0173269ab853cbfa" + }, + { + "redemption_id": 3075497054914181, + "ods_hash": "e5973d365671506be243356533b6f198", + "dwd_hash": "3aa9d296862d7e30b6f14ea62706045e" + }, + { + "redemption_id": 3075537363879493, + "ods_hash": "4320cefaec42c21c57687d82f7ee3895", + "dwd_hash": "3757ce0be5a8552f50df0efd44cc0212" + }, + { + "redemption_id": 3075568527378053, + "ods_hash": "1178391ad5c6ef66a643c17a393a88bd", + "dwd_hash": "f33613fa052e0cc212f1d8856437c7a5" + }, + { + "redemption_id": 3075575000008261, + "ods_hash": "904f56a5b578549f2c8337d3cc0d2599", + "dwd_hash": "87ca87eafbead14e2302a516ffe38a06" + }, + { + "redemption_id": 3075584277825157, + "ods_hash": "bc3459967f38945cbcf28b3cfbac0274", + "dwd_hash": "4e0baa093d0e0943631be891e0c8f1ba" + }, + { + "redemption_id": 3075584989677189, + "ods_hash": "30c346c706f802ef96dc1c61cb7c721b", + "dwd_hash": "b80a7a96e3a3cacffc538742c4c55185" + }, + { + "redemption_id": 3076138707092933, + "ods_hash": "e6ae308443405a7c1a7b7be35597006e", + "dwd_hash": "78e3b0ca8fdd65186e1ec6df4c55bd17" + }, + { + "redemption_id": 3076160269174213, + "ods_hash": "929fdb0ff0baa7b3c0436adb8794cb8e", + "dwd_hash": "d4c9b878dbda97390b3624a914774b7c" + }, + { + "redemption_id": 3076255083742789, + "ods_hash": "a21318daf8f9d63121feacd819d6a493", + "dwd_hash": "25b54b04fdf3428980e70601ef40e8e8" + }, + { + "redemption_id": 3076282478265733, + "ods_hash": "6e0482ca71b32b88f4d562da951d848f", + "dwd_hash": "888fe4def836c743c58ae944d5fdd8de" + }, + { + "redemption_id": 3076325380490629, + "ods_hash": "3b43202c9fdde96c64791d3c8b38f090", + "dwd_hash": "cfa79f3e0bd5dd2e9bf7638c7854e89d" + }, + { + "redemption_id": 3076329489647237, + "ods_hash": "6c984f62fca336f595530daf742a99b3", + "dwd_hash": "b5bd9e7f254ec17121eff37a6334daba" + }, + { + "redemption_id": 3076335008040325, + "ods_hash": "ecb83c7b18160d81646ad32ef7b199f5", + "dwd_hash": "fd2940004977f8bf7640b1f694edad1d" + }, + { + "redemption_id": 3076335084193349, + "ods_hash": "aa74e2a41a82267deb49d5a649a12049", + "dwd_hash": "41f936cdd745f17a9f9a96759646d0bb" + }, + { + "redemption_id": 3076335084193350, + "ods_hash": "74e99982cbe978bae1aaf746eb3ec3a8", + "dwd_hash": "a258ff6df266b3d7e410aa165898b5d6" + }, + { + "redemption_id": 3076341144782213, + "ods_hash": "dc1e46e68be7420a275c1d35de1d43ef", + "dwd_hash": "be06c2c669895d16ed8238f64bcb554b" + }, + { + "redemption_id": 3076341144782214, + "ods_hash": "f179710549e3b77adf85125924f5044f", + "dwd_hash": "16dad956ab5fe6eafe066fa128f3f0a2" + }, + { + "redemption_id": 3076341201913477, + "ods_hash": "251e7e2e4eef9c42b9c3020fb0b387ac", + "dwd_hash": "e10316a71a0a3c22b1fcf074b500926a" + }, + { + "redemption_id": 3076361277490565, + "ods_hash": "06cc158d32bb6915174dd90c90acf0b0", + "dwd_hash": "22ca7e973fd5065befa27654eb4a9c1b" + }, + { + "redemption_id": 3076364701697413, + "ods_hash": "eed023bed451545a11fcf8c8bcb13bce", + "dwd_hash": "ac61fc30f4475e69456572b09d4b37df" + }, + { + "redemption_id": 3076374001059397, + "ods_hash": "8302d5d2b008da6fcedb2c466db20e16", + "dwd_hash": "d978a289c4148a726272bc15ed0d6237" + }, + { + "redemption_id": 3076374836741509, + "ods_hash": "d08c547b011c0dda4ede1a0e6b393754", + "dwd_hash": "40d71b168f4f99f872655ffed13193c4" + }, + { + "redemption_id": 3076391962379845, + "ods_hash": "af38ab4720c9592e92edff0e15a29d81", + "dwd_hash": "f209526b075c121e958be018f9be7be0" + }, + { + "redemption_id": 3076397496469061, + "ods_hash": "80af1145973960354730ddfc0a677eca", + "dwd_hash": "b78c808e2b3312a4c0f763efee0ddfc4" + }, + { + "redemption_id": 3076397496469062, + "ods_hash": "661229668f212695ed614a91b09518ae", + "dwd_hash": "34e33bdfa28908f4d6c4522efeef75aa" + }, + { + "redemption_id": 3076401436870021, + "ods_hash": "169718b54e5ca731d18bf835c1e8713c", + "dwd_hash": "27346469d32a0fa0cd5568121e508cb1" + }, + { + "redemption_id": 3076402097898885, + "ods_hash": "4eb84b71ef3a75a996bd0b4e152730fc", + "dwd_hash": "147f41619b8da088a55178f7acbff1a9" + }, + { + "redemption_id": 3076404529497733, + "ods_hash": "a32504a49e1bf9f54d1ff39367a8b7e6", + "dwd_hash": "688a40ed3f2d9cd5f27ea780fd45deff" + }, + { + "redemption_id": 3076404580140485, + "ods_hash": "864a0c9498a0d22794ee117c0db5a44c", + "dwd_hash": "a2f5c783b6617d46f32125e4a9434425" + }, + { + "redemption_id": 3076426271049285, + "ods_hash": "e3bfac607d7f4e1e1c9274569daddba4", + "dwd_hash": "08fd9972c50dbb5343e661cdb4209cfd" + }, + { + "redemption_id": 3076427930224069, + "ods_hash": "4caa72e4b293104c6db0f545c97184d6", + "dwd_hash": "6d04e233a06187392dc14906131fe2cb" + }, + { + "redemption_id": 3076427930224070, + "ods_hash": "bb0b1967f47bb823d262864951e4e318", + "dwd_hash": "553b420912de61c43b0251b339898b90" + }, + { + "redemption_id": 3076431917565509, + "ods_hash": "69ec237c223b1b41a13a8d964d731bae", + "dwd_hash": "6377ea556648adcedcffc156f6bbaa24" + }, + { + "redemption_id": 3076445048833413, + "ods_hash": "4b32a7c784d84742f48b692d98b1c992", + "dwd_hash": "8128df4f610d8775e58eaee70e0b8156" + }, + { + "redemption_id": 3076448767051141, + "ods_hash": "3535fcf8da44e2707c4a72a4d76c7801", + "dwd_hash": "658febc94d1ddd0041862bea4bbab4de" + }, + { + "redemption_id": 3076454441534853, + "ods_hash": "143bf470b0dd20b89fae28ddbd0b7e02", + "dwd_hash": "5f7a86820b8f3b452de44e2fbe6b1252" + }, + { + "redemption_id": 3076458718267013, + "ods_hash": "0c3cb6dfadfdab0c9d34572e38658951", + "dwd_hash": "37994e942e7c72d749fe204fc82aa483" + }, + { + "redemption_id": 3076467405440581, + "ods_hash": "2defda5ffff476c1bd42f4588e995ec8", + "dwd_hash": "a8ab2ef5ecf39284c20f1861a641f6f5" + } + ], + "mismatch_error": null + }, + { + "dwd_table": "billiards_dwd.dwd_groupbuy_redemption_ex", + "ods_table": "billiards_ods.group_buy_redemption_records", + "windowed": false, + "window_col": null, + "count": { + "dwd": 11867, + "ods": 11867, + "diff": 0 + }, + "amounts": [ + { + "column": "assistant_promotion_money", + "dwd_sum": 7544.8, + "ods_sum": 7544.8, + "diff": 0.0 + }, + { + "column": "assistant_service_promotion_money", + "dwd_sum": 0.0, + "ods_sum": 0.0, + "diff": 0.0 + }, + { + "column": "goods_promotion_money", + "dwd_sum": 0.0, + "ods_sum": 0.0, + "diff": 0.0 + }, + { + "column": "recharge_promotion_money", + "dwd_sum": 0.0, + "ods_sum": 0.0, + "diff": 0.0 + }, + { + "column": "reward_promotion_money", + "dwd_sum": 0.0, + "ods_sum": 0.0, + "diff": 0.0 + }, + { + "column": "table_service_promotion_money", + "dwd_sum": 0.0, + "ods_sum": 0.0, + "diff": 0.0 + } + ], + "mismatch": 0, + "mismatch_samples": [], + "mismatch_error": null + }, + { + "dwd_table": "billiards_dwd.dwd_platform_coupon_redemption", + "ods_table": "billiards_ods.platform_coupon_redemption_records", + "windowed": true, + "window_col": "create_time", + "count": { + "dwd": 52, + "ods": 52, + "diff": 0 + }, + "amounts": [ + { + "column": "coupon_money", + "dwd_sum": 3738.0, + "ods_sum": 3738.0, + "diff": 0.0 + } + ], + "mismatch": 52, + "mismatch_samples": [ + { + "platform_coupon_redemption_id": 3075442319377989, + "ods_hash": "fbd8d310b53690309c47b534f53b35df", + "dwd_hash": "e78fe373ecfdeb13c9033396452653ae" + }, + { + "platform_coupon_redemption_id": 3075457055278469, + "ods_hash": "26d2baf572e946863f689b4021d21457", + "dwd_hash": "9a9d919b5a8be3887f588e9737fb03ae" + }, + { + "platform_coupon_redemption_id": 3075525274076805, + "ods_hash": "2fd9f1fbc6beae852d462841ce04c291", + "dwd_hash": "489fcde5c145ad3457b684a270cbc6f3" + }, + { + "platform_coupon_redemption_id": 3076070440404357, + "ods_hash": "e9a2b3f82bbbb48f4b908c092b159dd9", + "dwd_hash": "fc37278abaabc09409b1256aec48b186" + }, + { + "platform_coupon_redemption_id": 3076101153572229, + "ods_hash": "ff565664e8d8ae8547bf862836c6a01a", + "dwd_hash": "ed8ba57e7d4cb5303e583444069e70f9" + }, + { + "platform_coupon_redemption_id": 3076195763160517, + "ods_hash": "857af57cc0d787f3a29554b33dc903b8", + "dwd_hash": "ab2303fc9c178b3a7c916f0aa26a40ee" + }, + { + "platform_coupon_redemption_id": 3076216648386117, + "ods_hash": "bb7fb15904a9c871188560c9ae9c84cf", + "dwd_hash": "63b3f1ac5ac0fd1a4d96d93e751333b8" + }, + { + "platform_coupon_redemption_id": 3076223026972101, + "ods_hash": "b4be7141c00778594aabd4108e95cb18", + "dwd_hash": "e0bf1fadc5845f0a6d09c43aa86313c3" + }, + { + "platform_coupon_redemption_id": 3076223542724037, + "ods_hash": "873f0bde44234b8893f3d46a74e70ea2", + "dwd_hash": "770c136ffcce0d93f729bdf9b1e8f002" + }, + { + "platform_coupon_redemption_id": 3076226049410501, + "ods_hash": "e41ec31d94359c163fba47addbe7e79f", + "dwd_hash": "5512476381a425ce0bde15b381df5218" + }, + { + "platform_coupon_redemption_id": 3076226159117765, + "ods_hash": "71739733e2bb3e67058c0a55a799d0ef", + "dwd_hash": "e29d5738b21dcc6b75ed63e447cd2506" + }, + { + "platform_coupon_redemption_id": 3076266120021573, + "ods_hash": "e4cc7fcd3ae515183340691ef691eb18", + "dwd_hash": "42f390f70ee704b3514a3d48735ecc9e" + }, + { + "platform_coupon_redemption_id": 3076270491731589, + "ods_hash": "a1ff32596da5f10c9b7c006c18792761", + "dwd_hash": "df0e0e55e32681fb1d432e1956d3f2f0" + }, + { + "platform_coupon_redemption_id": 3076275082626693, + "ods_hash": "716f4ae9bd987e77ba0961edc7e49cde", + "dwd_hash": "7b799245831e6918bbc684a01a1b6f6d" + }, + { + "platform_coupon_redemption_id": 3076277823227333, + "ods_hash": "a5dd1621fcd67c5747d7c1fd30db81f8", + "dwd_hash": "9bf86269be14cdf6fff108de1366a6bc" + }, + { + "platform_coupon_redemption_id": 3076280099374469, + "ods_hash": "053f42c29747931c7cdacc5283dbd06e", + "dwd_hash": "380d2094f7ead1360c783fefa27e6158" + }, + { + "platform_coupon_redemption_id": 3076281538282885, + "ods_hash": "53722893649a75d6aa583caa34dbd038", + "dwd_hash": "952183168332921546cdb4287c08b518" + }, + { + "platform_coupon_redemption_id": 3076281630017093, + "ods_hash": "3a3fbeaa21b4bf7f71319e82e2543e15", + "dwd_hash": "c00e80f88d0e1ed3d3986982819a0672" + }, + { + "platform_coupon_redemption_id": 3076300712396165, + "ods_hash": "a88284494fd42b4dfb255880e2dba7de", + "dwd_hash": "d80288c507e0c742b978bf052f377466" + }, + { + "platform_coupon_redemption_id": 3076301217564101, + "ods_hash": "18cb18e3c94b2a6ff32127cdbbf1ce7d", + "dwd_hash": "b49f8665fdf18a72ffbf6f8d234a7235" + }, + { + "platform_coupon_redemption_id": 3076303449048517, + "ods_hash": "ab9b0ebfbfd008c5c74c38de1b06c93e", + "dwd_hash": "fcf647aff423a177d5d726eff32b0565" + }, + { + "platform_coupon_redemption_id": 3076304870622853, + "ods_hash": "c18e2049bc913047b7c0f612b4ad032b", + "dwd_hash": "40e94605941cdb822881f1210614415a" + }, + { + "platform_coupon_redemption_id": 3076306343314885, + "ods_hash": "e6ca1338d8219ad755b2c93c4d96d17a", + "dwd_hash": "e7470f702ae674513e09516936b506be" + }, + { + "platform_coupon_redemption_id": 3076314233259589, + "ods_hash": "7bf5ed46bdc72e89ab58088fa0b47572", + "dwd_hash": "f51bdeac6ff59ac6479427fe48eed233" + }, + { + "platform_coupon_redemption_id": 3076330171614597, + "ods_hash": "36d62097f6bfe69538e40a1edcbb790d", + "dwd_hash": "1390b63a45fd568aec532fcd2156b002" + }, + { + "platform_coupon_redemption_id": 3076330682205829, + "ods_hash": "d4c2f9923cebd50b7cc85eaa7025ae96", + "dwd_hash": "b3a97e9e37737d58c59ad593b696fd9e" + }, + { + "platform_coupon_redemption_id": 3076331867752005, + "ods_hash": "96747813f18df7b65135e588fd04617d", + "dwd_hash": "59719db5435067f9f7608d43f96576e5" + }, + { + "platform_coupon_redemption_id": 3076336473490885, + "ods_hash": "8c9bdcab494072746080c8f0348b4629", + "dwd_hash": "e6701fe45af1c01a712303efab3e6ed2" + }, + { + "platform_coupon_redemption_id": 3076343508370885, + "ods_hash": "3cb7a712b67e758fc6916d0d0286be24", + "dwd_hash": "62563259ed76e4ea294560a8a760a84e" + }, + { + "platform_coupon_redemption_id": 3076343656334789, + "ods_hash": "7174259c6a451e7949fe03e791a20a74", + "dwd_hash": "3fb0ddad1c45c77e05004ec0e124b54e" + }, + { + "platform_coupon_redemption_id": 3076350267328069, + "ods_hash": "38b58249447a5b8d73d2df0da0b63578", + "dwd_hash": "119af2b47413a652a882f018176969ad" + }, + { + "platform_coupon_redemption_id": 3076361118647685, + "ods_hash": "b972b10bd39ada6835e3b4059c09ed16", + "dwd_hash": "27a33eae941ff9e22b7969cfa608f5aa" + }, + { + "platform_coupon_redemption_id": 3076366484047301, + "ods_hash": "8d95c4704453bc301f0de2014562c292", + "dwd_hash": "efd60f85a779ce7cb71b434021032d57" + }, + { + "platform_coupon_redemption_id": 3076366755006021, + "ods_hash": "ca5aa66ae5b17b647f0da1f6c182d271", + "dwd_hash": "f6b8099c324259b5902fb9ae115dbac1" + }, + { + "platform_coupon_redemption_id": 3076369225238085, + "ods_hash": "c92572a49cd61d4439eaf2c193b88a12", + "dwd_hash": "8d79cde6c148a0dc6bb87759325d5bf9" + }, + { + "platform_coupon_redemption_id": 3076371995280965, + "ods_hash": "65df223cd3d17fcce8cfe89207b6ab11", + "dwd_hash": "5d6d4b46beacf8070ae74e6bb28140bd" + }, + { + "platform_coupon_redemption_id": 3076382580098501, + "ods_hash": "7b47b4579ab2b5348a4137f41c923add", + "dwd_hash": "0c64879835b32daa74486f09174959e8" + }, + { + "platform_coupon_redemption_id": 3076383841601157, + "ods_hash": "5010de95a75eb31d9b714cd33606b9ca", + "dwd_hash": "abe40cb4eecc94f2d069b6b989c43423" + }, + { + "platform_coupon_redemption_id": 3076398028834437, + "ods_hash": "dfb36c826f8c7aba43f1ee8fa57c3342", + "dwd_hash": "11fcbabd31df2267645a4cd96896408f" + }, + { + "platform_coupon_redemption_id": 3076401773659525, + "ods_hash": "d13ecd9c04053957536675ad6a9d599a", + "dwd_hash": "9d22fb0a2745f51db5eebdfb09db0e28" + }, + { + "platform_coupon_redemption_id": 3076405972289157, + "ods_hash": "f8791df8eaa8eeb510d5dbf5e1df13a5", + "dwd_hash": "27d3601d848c12340e6eb857b6cb8449" + }, + { + "platform_coupon_redemption_id": 3076409807734213, + "ods_hash": "026b5917db6cc6d58c3291d0f53117ca", + "dwd_hash": "270761b48fa57e467f21dcf68fa85d9c" + }, + { + "platform_coupon_redemption_id": 3076417945192005, + "ods_hash": "53096ecf05e66ced31325b0870ae5acc", + "dwd_hash": "67e96a7eafee3ff45da65c2544b96079" + }, + { + "platform_coupon_redemption_id": 3076432919692741, + "ods_hash": "f1410a71259dd3c81994ccb7d8299635", + "dwd_hash": "ab3d31915eb6e6b671e305fb1a5eee29" + }, + { + "platform_coupon_redemption_id": 3076440282973637, + "ods_hash": "6f6e6126f913ba68905e494d81174e8b", + "dwd_hash": "ee452cb0755b7d74d489cf4077a94df5" + }, + { + "platform_coupon_redemption_id": 3076440282973638, + "ods_hash": "d3b0e6e6f925648bb235d509c35d0694", + "dwd_hash": "c6fe620f90378c49351395a65f61bd72" + }, + { + "platform_coupon_redemption_id": 3076447330370949, + "ods_hash": "5387fa01a8ec37fd7ffaa8352966a7fd", + "dwd_hash": "7f6e21b774a1d6de9ea8c399d161977e" + }, + { + "platform_coupon_redemption_id": 3076450215085509, + "ods_hash": "a39ddae356ffa9310e58371ba96117e6", + "dwd_hash": "8b7f953283bdfa7959ebe352851475cc" + }, + { + "platform_coupon_redemption_id": 3076450453374405, + "ods_hash": "633a80feec43f21a7b273a2dde8303bf", + "dwd_hash": "e0c7f0c97e87e13ec223c35b3add12fb" + }, + { + "platform_coupon_redemption_id": 3076452205119109, + "ods_hash": "f448eda541d88fdfa344fe4ddc5e6a99", + "dwd_hash": "d848240c27b36559dc89bb63e8b8d359" + } + ], + "mismatch_error": null + }, + { + "dwd_table": "billiards_dwd.dwd_platform_coupon_redemption_ex", + "ods_table": "billiards_ods.platform_coupon_redemption_records", + "windowed": false, + "window_col": null, + "count": { + "dwd": 17426, + "ods": 17426, + "diff": 0 + }, + "amounts": [], + "mismatch": 0, + "mismatch_samples": [], + "mismatch_error": null + }, + { + "dwd_table": "billiards_dwd.dwd_recharge_order", + "ods_table": "billiards_ods.recharge_settlements", + "windowed": false, + "window_col": null, + "count": { + "dwd": 470, + "ods": 470, + "diff": 0 + }, + "amounts": [], + "mismatch": 0, + "mismatch_samples": [], + "mismatch_error": null + }, + { + "dwd_table": "billiards_dwd.dwd_recharge_order_ex", + "ods_table": "billiards_ods.recharge_settlements", + "windowed": false, + "window_col": null, + "count": { + "dwd": 470, + "ods": 470, + "diff": 0 + }, + "amounts": [], + "mismatch": 0, + "mismatch_samples": [], + "mismatch_error": null + }, + { + "dwd_table": "billiards_dwd.dwd_payment", + "ods_table": "billiards_ods.payment_transactions", + "windowed": true, + "window_col": "pay_time", + "count": { + "dwd": 61, + "ods": 61, + "diff": 0 + }, + "amounts": [ + { + "column": "pay_amount", + "dwd_sum": 2783.0, + "ods_sum": 2783.0, + "diff": 0.0 + } + ], + "mismatch": 61, + "mismatch_samples": [ + { + "payment_id": 3075440772449861, + "ods_hash": "c35ca8345d57d4c9e0986f0f2f60199b", + "dwd_hash": "408421321db1dcd9d18d7bc0bad7d4ff" + }, + { + "payment_id": 3075443234604485, + "ods_hash": "7c8462fcb74271cfa35e7ba1cedb8004", + "dwd_hash": "4b0cc670dc52c3ec6d88dfe36e3fc1f0" + }, + { + "payment_id": 3075473002415685, + "ods_hash": "5f0df83a1d3f295d8716e1d72a48275a", + "dwd_hash": "7ed071e2129bd61f4c147a626b3ee0c8" + }, + { + "payment_id": 3075473600251269, + "ods_hash": "0f7ab14be4e8c1c4f3b54dc6614dfff4", + "dwd_hash": "966bfefe96794a1aa526fb13a712b1d7" + }, + { + "payment_id": 3075473698653829, + "ods_hash": "8d058a29589d68cbddfc7cdfe5c245af", + "dwd_hash": "d598665f6a33809653c82d0a4a5c6d39" + }, + { + "payment_id": 3075484367177285, + "ods_hash": "98177c3c8eb2970995eac21b9f7c9eac", + "dwd_hash": "d938b349b37aae46c3c0bac31515e576" + }, + { + "payment_id": 3075497052063365, + "ods_hash": "dd4a2aa578a01d4936d36d8938ec36a4", + "dwd_hash": "eff2d115542e4c3478a61b0365ad4cae" + }, + { + "payment_id": 3075502538540677, + "ods_hash": "f72169d50b0d525051c98e61561bfba3", + "dwd_hash": "c361c7979063d70f14938e144a4c4e37" + }, + { + "payment_id": 3075526958122629, + "ods_hash": "3820ffc27764d07f20b023875649b048", + "dwd_hash": "c6b77fc8e20b78ffc517384916550eae" + }, + { + "payment_id": 3075537360995909, + "ods_hash": "e8e49f78094f9458ac39b85900310761", + "dwd_hash": "0fb248c060ab59dfe1152fd8e877c2c2" + }, + { + "payment_id": 3075568524035717, + "ods_hash": "d34926d6438807d7b639427985f1dfc2", + "dwd_hash": "4b8969e701a2ffde7f20560d45a4f16d" + }, + { + "payment_id": 3075574993798725, + "ods_hash": "e094da532cf62cd4f8a3ef030af7e877", + "dwd_hash": "218e02924a69231b29b9387e6d1e7bc3" + }, + { + "payment_id": 3075584275252869, + "ods_hash": "bac8c341f01d5948f03c4a59b3d7f085", + "dwd_hash": "14db60e20ce3efd7bcc4fb9660f53092" + }, + { + "payment_id": 3075584984123013, + "ods_hash": "7a74a419ffdd4098d6a252cce5f8588b", + "dwd_hash": "2b46001ab55e08f04a0bb26e46f85ef3" + }, + { + "payment_id": 3075626774283717, + "ods_hash": "b0d8ae05fd3c5a3b49c8db7f3764f2ca", + "dwd_hash": "755015f9b9fc246bd5701d5ae73c9bda" + }, + { + "payment_id": 3075631427044933, + "ods_hash": "14294939d204b79d75f40a0501dac7d3", + "dwd_hash": "e141a6ce02f6c4e87f342aabb9dab4b5" + }, + { + "payment_id": 3075634418681285, + "ods_hash": "ddedecd1db5d08d933c773c5b722b361", + "dwd_hash": "0fbe0c648074af756dffbd270097dcc0" + }, + { + "payment_id": 3075635026396805, + "ods_hash": "7812524297398f5e6c1dbaf1aa1663bc", + "dwd_hash": "df032379678140afd5a3b85c1cb3b702" + }, + { + "payment_id": 3075750058231237, + "ods_hash": "b1fdbbb25b2092363e38c94586ef3cec", + "dwd_hash": "57992f76ac8ca719dff3ada5566d4ff9" + }, + { + "payment_id": 3075796674954693, + "ods_hash": "19b99c2c3c636da6f05f5e6493934a28", + "dwd_hash": "2b55d3eb26e3d6082794492c760c750b" + }, + { + "payment_id": 3076138703865285, + "ods_hash": "3de4064ee5fd30b2b898b25d31c0a8cb", + "dwd_hash": "66921d5ce773f47e0c3e193b9349997b" + }, + { + "payment_id": 3076160266405317, + "ods_hash": "5c224c6440b76118c3769d2dc6502f4f", + "dwd_hash": "835627440bdff668a41bd33418d24cfe" + }, + { + "payment_id": 3076162835989893, + "ods_hash": "433ffaa7c0e64e3c1aa1855be6660690", + "dwd_hash": "292b08e022b9c1861ab942ca65dbdbff" + }, + { + "payment_id": 3076255080875589, + "ods_hash": "265f6b35f9c00d53b7e3f099b5fc1be8", + "dwd_hash": "d7828f3e08d2663793c0d34ed7e56a4f" + }, + { + "payment_id": 3076266638329477, + "ods_hash": "668548fd2337f9f790387ea023d9d55c", + "dwd_hash": "a363e4b9f48e63a0b56256ec7c981c88" + }, + { + "payment_id": 3076282475316613, + "ods_hash": "9856d88deb3e057df3f28c5976e4e219", + "dwd_hash": "7c12d9bf47bc3158acbe74e38f1594bd" + }, + { + "payment_id": 3076300217878085, + "ods_hash": "59c8dbef12afc4896cc84861b5a9f4e4", + "dwd_hash": "44b8a8ca5cff93af03eec996207fed9e" + }, + { + "payment_id": 3076324805772933, + "ods_hash": "078b25e2283245bdefee2a98d2f67755", + "dwd_hash": "81a1199fd3bfb0cfccdf1834dbd7aea4" + }, + { + "payment_id": 3076325018109381, + "ods_hash": "37dfcd9b704fee39dd64a64ab5253823", + "dwd_hash": "fbc7c9dc37a277e7d613cb57857c894e" + }, + { + "payment_id": 3076325374657925, + "ods_hash": "0b0eb8afa3ed81a03a57999f248e3fde", + "dwd_hash": "a0f89e8307d025b8e8526e88f7cbb8b1" + }, + { + "payment_id": 3076329486468741, + "ods_hash": "2982bdeae555c0f0772cc4b67198f580", + "dwd_hash": "cd3f22b2f161270e9612bac47c960b1e" + }, + { + "payment_id": 3076335005189509, + "ods_hash": "d8610eb8af8eed475ad5e9783f517b1a", + "dwd_hash": "93a1c2861769c48eb99dce6e97f7ced2" + }, + { + "payment_id": 3076335081145925, + "ods_hash": "5195987bbee122670b826444e008a722", + "dwd_hash": "e520ab1816f81a16bdab382c1517cd31" + }, + { + "payment_id": 3076340839728581, + "ods_hash": "0afca8cc29ecfe30a222e56a8f14bdf9", + "dwd_hash": "c6a914ad05d2e3fce57bb5c012fd9aaf" + }, + { + "payment_id": 3076341141947781, + "ods_hash": "bb097ce71d03bb19a5d4b9eb4580e4ef", + "dwd_hash": "4e72b9d95cb4ca1cfc94ba9a00eddd8c" + }, + { + "payment_id": 3076341198784133, + "ods_hash": "886e53926bdff2f8576e1b5f2f1e89e5", + "dwd_hash": "5cbb76f7a0033452213db4d970bb8f65" + }, + { + "payment_id": 3076351041684869, + "ods_hash": "9f8d6cc8026207605856b1762a7717bd", + "dwd_hash": "038fde6188ae640f7471d783a621e05e" + }, + { + "payment_id": 3076361274688901, + "ods_hash": "78586b157e252c57344dd60087dd41ac", + "dwd_hash": "bc8172356cb5dfb00136ebf125b4eed8" + }, + { + "payment_id": 3076364698830213, + "ods_hash": "f3ba25bf4ecf59af4ffd000e9984f8b4", + "dwd_hash": "8897df0bb2e474057baaadc321eb05d9" + }, + { + "payment_id": 3076373997651525, + "ods_hash": "264c32b9793fdd5d6f368f5599e05cb6", + "dwd_hash": "b434499bcbbddb867ca655011d9ca8a0" + }, + { + "payment_id": 3076374833661317, + "ods_hash": "97bb9a57e6850cea0ad43302a200e0e4", + "dwd_hash": "df70a8c9a5ba9fc131e2175d4f0a8722" + }, + { + "payment_id": 3076384567166597, + "ods_hash": "f0d02c1ff0e2edfd7d7b0fca73a42dbf", + "dwd_hash": "9b864a10a71b3a66c9e246cad0ce0cf8" + }, + { + "payment_id": 3076391959709253, + "ods_hash": "080a503039f890d067a6a17330b44d66", + "dwd_hash": "e4436983c8102da5070d5e3580041b75" + }, + { + "payment_id": 3076397493470789, + "ods_hash": "4e8d9c4d3b030f02bcee1178a47454e5", + "dwd_hash": "92a03cf6c2b86ed98ff8daab9a965e5b" + }, + { + "payment_id": 3076398378419845, + "ods_hash": "32ad800709b331a3a440f003d4a99096", + "dwd_hash": "17bd3501a510c062378b5a2220967575" + }, + { + "payment_id": 3076401434183045, + "ods_hash": "18776e9ef7cdd407d717d6be31bbb8a7", + "dwd_hash": "21e20221dd53019d8e6d7a48949f7419" + }, + { + "payment_id": 3076402094638469, + "ods_hash": "33a7f338cfd1b37f245c5cd3eef8312a", + "dwd_hash": "677f0de073eaa4de0af7cdf004ea0229" + }, + { + "payment_id": 3076404526581381, + "ods_hash": "29dcc6c4c97e498c51321dfacb1cf68d", + "dwd_hash": "f8708fc7707661b44a05fd0be47dae45" + }, + { + "payment_id": 3076404577387973, + "ods_hash": "baa1994086f7c4ae2e3a4a0a0e249ed7", + "dwd_hash": "938317a7c07b9d63599befb3a7c820ab" + }, + { + "payment_id": 3076426267510341, + "ods_hash": "2c9adaa19448f2c9e482ad7f7ec14132", + "dwd_hash": "0900fbe5262cf77dcc5547073294db0e" + } + ], + "mismatch_error": null + }, + { + "dwd_table": "billiards_dwd.dwd_refund", + "ods_table": "billiards_ods.refund_transactions", + "windowed": true, + "window_col": "pay_time", + "count": { + "dwd": 0, + "ods": 0, + "diff": 0 + }, + "amounts": [ + { + "column": "channel_fee", + "dwd_sum": 0.0, + "ods_sum": 0.0, + "diff": 0.0 + }, + { + "column": "pay_amount", + "dwd_sum": 0.0, + "ods_sum": 0.0, + "diff": 0.0 + } + ], + "mismatch": 0, + "mismatch_samples": [], + "mismatch_error": null + }, + { + "dwd_table": "billiards_dwd.dwd_refund_ex", + "ods_table": "billiards_ods.refund_transactions", + "windowed": false, + "window_col": null, + "count": { + "dwd": 47, + "ods": 47, + "diff": 0 + }, + "amounts": [ + { + "column": "balance_frozen_amount", + "dwd_sum": 0.0, + "ods_sum": 0.0, + "diff": 0.0 + }, + { + "column": "card_frozen_amount", + "dwd_sum": 0.0, + "ods_sum": 0.0, + "diff": 0.0 + }, + { + "column": "refund_amount", + "dwd_sum": 0.0, + "ods_sum": 0.0, + "diff": 0.0 + }, + { + "column": "round_amount", + "dwd_sum": 0.0, + "ods_sum": 0.0, + "diff": 0.0 + } + ], + "mismatch": 0, + "mismatch_samples": [], + "mismatch_error": null + } + ], + "total_count_diff": -19055, + "total_mismatch": 36814 + }, + "generated_at": "2026-02-01T17:35:34.885885+08:00" + } + ], + "api_to_ods": { + "total_missing": 12, + "total_mismatch": 1723, + "total_errors": 0 + }, + "total_missing": 12, + "total_mismatch": 1723, + "total_errors": 0, + "generated_at": "2026-02-01T17:35:34.885918+08:00", + "backfill_result": { + "total_missing": 8, + "total_mismatch": 1284, + "backfilled": 1278, + "errors": 0, + "details": [ + { + "task_code": "ODS_ASSISTANT_ACCOUNT", + "missing": 0, + "mismatch": 20, + "backfilled": 10, + "error": null + }, + { + "task_code": "ODS_SETTLEMENT_RECORDS", + "missing": 2, + "mismatch": 304, + "backfilled": 305, + "error": null + }, + { + "task_code": "ODS_TABLE_USE", + "missing": 2, + "mismatch": 68, + "backfilled": 70, + "error": null + }, + { + "task_code": "ODS_ASSISTANT_LEDGER", + "missing": 0, + "mismatch": 71, + "backfilled": 71, + "error": null + }, + { + "task_code": "ODS_PAYMENT", + "missing": 2, + "mismatch": 76, + "backfilled": 78, + "error": null + }, + { + "task_code": "ODS_PLATFORM_COUPON", + "missing": 0, + "mismatch": 56, + "backfilled": 56, + "error": null + }, + { + "task_code": "ODS_MEMBER", + "missing": 0, + "mismatch": 3, + "backfilled": 3, + "error": null + }, + { + "task_code": "ODS_MEMBER_CARD", + "missing": 0, + "mismatch": 3, + "backfilled": 3, + "error": null + }, + { + "task_code": "ODS_MEMBER_BALANCE", + "missing": 0, + "mismatch": 4, + "backfilled": 4, + "error": null + }, + { + "task_code": "ODS_RECHARGE_SETTLE", + "missing": 0, + "mismatch": 4, + "backfilled": 4, + "error": null + }, + { + "task_code": "ODS_GROUP_BUY_REDEMPTION", + "missing": 1, + "mismatch": 46, + "backfilled": 47, + "error": null + }, + { + "task_code": "ODS_INVENTORY_STOCK", + "missing": 0, + "mismatch": 34, + "backfilled": 34, + "error": null + }, + { + "task_code": "ODS_INVENTORY_CHANGE", + "missing": 0, + "mismatch": 462, + "backfilled": 459, + "error": null + }, + { + "task_code": "ODS_TABLES", + "missing": 0, + "mismatch": 41, + "backfilled": 41, + "error": null + }, + { + "task_code": "ODS_STORE_GOODS", + "missing": 0, + "mismatch": 77, + "backfilled": 77, + "error": null + }, + { + "task_code": "ODS_TABLE_FEE_DISCOUNT", + "missing": 1, + "mismatch": 15, + "backfilled": 16, + "error": null + } + ] + }, + "post_check": { + "mode": "window", + "window": { + "start": "2026-01-30T12:15:21+08:00", + "end": "2026-02-01T21:15:21+08:00", + "segments": 2 + }, + "windows": [ + { + "mode": "window", + "window": { + "start": "2026-01-30T12:15:21+08:00", + "end": "2026-02-01T00:00:00+08:00", + "label": "segment_1", + "granularity": "window" + }, + "api_to_ods": { + "window_split_unit": "none", + "window_compensation_hours": 0, + "start": "2026-01-30T12:15:21+08:00", + "end": "2026-02-01T00:00:00+08:00", + "cutoff": null, + "window_days": 1, + "window_hours": 0, + "page_size": 200, + "chunk_size": 500, + "sample_limit": 50, + "compare_content": true, + "content_sample_limit": 50, + "store_id": 2790685415443269, + "base_url": "https://pc.ficoo.vip/apiprod/admin/v1/", + "results": [ + { + "task_code": "ODS_ASSISTANT_ACCOUNT", + "table": "billiards_ods.assistant_accounts_master", + "endpoint": "/PersonnelManagement/SearchAssistantInfo", + "pk_columns": [ + "id" + ], + "records": 138, + "records_with_pk": 138, + "missing": 0, + "missing_samples": [], + "mismatch": 20, + "mismatch_samples": [ + { + "id": 2964673443302213, + "content_hash": "839d43428c64ce6c9e72181f8a213a9599e899aa3780a92e150d1db1bc6b03ef" + }, + { + "id": 2964641017858885, + "content_hash": "c5582c5d76bfaaff8954787505fab682dec2d203af34505d0b66f814a4f1e081" + }, + { + "id": 2964640248745157, + "content_hash": "8192af59dc039fbfbdfbe812bf586e30a3a2affaf994ad80da1b9928a61904c5" + }, + { + "id": 2861304461364293, + "content_hash": "135f2c9b0ea8f3e4cf942eba0b6b92f51bb74eb13a33053616d263b92bd21f38" + }, + { + "id": 2840060593686213, + "content_hash": "32723eae7cb0db31ceb773ab06283ab87f9b3528038ef5129e0bdec995d4217a" + }, + { + "id": 2793363001774149, + "content_hash": "507ee309e8c665fd10de16651cebe8216ecf71c4b3cd58002168a29bdf4970c6" + }, + { + "id": 2793532503855173, + "content_hash": "eae6d5ef05f293ac397c1657eda72edf1f37778d0ad4ae9755a6b815164b5ec3" + }, + { + "id": 2793530479530053, + "content_hash": "95f02f4a4445b870bcad59065962059e8b8487702eb179d82e81ff2d806a2b37" + }, + { + "id": 2793486361710725, + "content_hash": "2eaa32eedce787a1dcd63e5be455165644979c484cca5dc3a0c3c52674367afa" + }, + { + "id": 2793493699088517, + "content_hash": "5e2d697309998601c962d250b0143c8e592e829f77fa9af14b51916c7ca19aab" + }, + { + "id": 2964673443302213, + "content_hash": "839d43428c64ce6c9e72181f8a213a9599e899aa3780a92e150d1db1bc6b03ef" + }, + { + "id": 2964641017858885, + "content_hash": "c5582c5d76bfaaff8954787505fab682dec2d203af34505d0b66f814a4f1e081" + }, + { + "id": 2964640248745157, + "content_hash": "8192af59dc039fbfbdfbe812bf586e30a3a2affaf994ad80da1b9928a61904c5" + }, + { + "id": 2861304461364293, + "content_hash": "135f2c9b0ea8f3e4cf942eba0b6b92f51bb74eb13a33053616d263b92bd21f38" + }, + { + "id": 2840060593686213, + "content_hash": "32723eae7cb0db31ceb773ab06283ab87f9b3528038ef5129e0bdec995d4217a" + }, + { + "id": 2793363001774149, + "content_hash": "507ee309e8c665fd10de16651cebe8216ecf71c4b3cd58002168a29bdf4970c6" + }, + { + "id": 2793532503855173, + "content_hash": "eae6d5ef05f293ac397c1657eda72edf1f37778d0ad4ae9755a6b815164b5ec3" + }, + { + "id": 2793530479530053, + "content_hash": "95f02f4a4445b870bcad59065962059e8b8487702eb179d82e81ff2d806a2b37" + }, + { + "id": 2793486361710725, + "content_hash": "2eaa32eedce787a1dcd63e5be455165644979c484cca5dc3a0c3c52674367afa" + }, + { + "id": 2793493699088517, + "content_hash": "5e2d697309998601c962d250b0143c8e592e829f77fa9af14b51916c7ca19aab" + } + ], + "pages": 2, + "skipped_missing_pk": 0, + "errors": 0, + "error_detail": null, + "compare_content": true, + "content_hash_supported": true + }, + { + "task_code": "ODS_SETTLEMENT_RECORDS", + "table": "billiards_ods.settlement_records", + "endpoint": "/Site/GetAllOrderSettleList", + "pk_columns": [ + "id" + ], + "records": 242, + "records_with_pk": 242, + "missing": 0, + "missing_samples": [], + "mismatch": 242, + "mismatch_samples": [ + { + "id": 3074735884420549, + "content_hash": "ac311ebd87ceab3fe1e61da0f669b91378aa58268e214ac8559017070ce9016b" + }, + { + "id": 3074734374913413, + "content_hash": "635283befe6e1bc3dde814eda9c79bfeadc8fb3860a4455f87b095e572b50417" + }, + { + "id": 3074721481328069, + "content_hash": "6d8d51a3327d83fb0116bff3c079b68a3ad8ba90655e9dcf0957e69ae2f60a70" + }, + { + "id": 3074710260024709, + "content_hash": "d5408628e0b99a218b118e0379a03f30a8f040c990704e4c3433401ebf901d9c" + }, + { + "id": 3074705203267013, + "content_hash": "a2e6c9d1a9bdc614f394a93a183670a7fdd29cb3764505229b41b1274156de08" + }, + { + "id": 3074662041306693, + "content_hash": "4f2672a58326b6caadc2fb9cdaeef914d5c6834aa37e21778017462360c79bd8" + }, + { + "id": 3074622094526021, + "content_hash": "f164a13aa0be84110077683da3f65bfee3df98f815665e0987cfa368680d3b93" + }, + { + "id": 3074592053708357, + "content_hash": "6ff5de2fe85fc487c6b5bebb80a28a75ec3b893603c9d5ddb24559f6e876b576" + }, + { + "id": 3074250802857541, + "content_hash": "a0efe9cd2d25642721203359b2e9604774631bbb868bf51e4f6e9a643883c278" + }, + { + "id": 3074199105947205, + "content_hash": "497e73edab5e5c909c62267d53c6da999c8750c20361cd9e38065330a6d62152" + }, + { + "id": 3074178680997445, + "content_hash": "bf81e31fb2ef66a5c9db3795233e123ecab001ebd04fef0224814f4edaf15a80" + }, + { + "id": 3074143018714693, + "content_hash": "26a7b0c659bf75bdefc88cf1fc440e2699b62fff6c5da4941bf39a8b2f5b50d8" + }, + { + "id": 3074142441129349, + "content_hash": "95f46e3e17383ff302a7944ceefee7a697f32916afbb10bf92cf7aa9956b7cc8" + }, + { + "id": 3074130725651845, + "content_hash": "5109c8535fd3b2ca1f494fa03b31596fddbe7cb290d36105a038ce60798f0274" + }, + { + "id": 3074125117064837, + "content_hash": "9b7d10faf70cfb047ebe2e26bcbad4f790529f35b61790e781d0da65ab3c7eab" + }, + { + "id": 3074113906853509, + "content_hash": "a90af0ea080258ae185b27675c346123af6df655a3b76b6cce886e8e10e64ec3" + }, + { + "id": 3074094663992965, + "content_hash": "39ee92c97093ab52ccf3d1a196ec5e204208aa62cb20a9c9a07af61aff3591e2" + }, + { + "id": 3074085902091717, + "content_hash": "2ac91c05c24f9d76a27d198c1481409e8ba9e653b91e0fa65803a320bb6c0faa" + }, + { + "id": 3074085677073989, + "content_hash": "7ba989d11abbd58a4b5cd5c5192acf1c34e61cb7f9f3e9009e6bec45fc37a95c" + }, + { + "id": 3074078111974789, + "content_hash": "90bd8affdce6fbb06a1d87cfcf4d811d5d8bed1294887c344d4c616a4fd09a51" + }, + { + "id": 3074075478246981, + "content_hash": "e034ad8318890fedf3b973446561eaa1063022bcd0a1b628e957aacb5fb9e5e5" + }, + { + "id": 3074068320437637, + "content_hash": "b1bf51817fa667ba202f7169cda0aa35d79f3e1330f0718e47ae923d2eed3f41" + }, + { + "id": 3074065183082117, + "content_hash": "44c5b48b5c3f689ec766f94bd1e3ff3d574db0f633cf3c1a1b519eddb765f393" + }, + { + "id": 3074064074278277, + "content_hash": "993c1f2d9d6f491a2e21f6da7df4fbe729474cca0845761897221e8c3974ac10" + }, + { + "id": 3074063727707781, + "content_hash": "1b61c0d504aba62946c2c2e9059955438014a5a138b837f8e207f5338cc780b9" + }, + { + "id": 3074063358461573, + "content_hash": "a02d260ac6527472bd6efd8bde6719c8c35e223fe439b2d60e039eef7ccde392" + }, + { + "id": 3074062633567621, + "content_hash": "a74e854649cea37c78efe94d00f78d82defdead6f488c0563c6b595a3858ac88" + }, + { + "id": 3074062023657093, + "content_hash": "ae46ca2d2f2f46d756bc4e951bbf1d50aa15e5c7273402c3ffcec74b04fac2bd" + }, + { + "id": 3074059707041221, + "content_hash": "766d9a69db20fd41320862ddefd14483244d6a0d296fe74f40c3619c8bea301d" + }, + { + "id": 3074058525934981, + "content_hash": "01316b2fbf6526ecaa43d4836608d90f7c5b94df5daeba730f62a04547207bc5" + }, + { + "id": 3074051977054341, + "content_hash": "ab1b15fa244cc404e115beb8832f0aed3f3e57aab3b653f36c3576132f198c77" + }, + { + "id": 3074043508819589, + "content_hash": "3dd2eb43b2f42d32cbfbaec9b53587d4db06d4cc86f14150e14fcf29ba1531b0" + }, + { + "id": 3074037603681733, + "content_hash": "dc57172fe5ba9795464f6ca251d4226c3e64c30a0c6f9cc081f3e4174d30d484" + }, + { + "id": 3074037101708677, + "content_hash": "f051534dcba6f89fff65d6fa555e6fbda01d190e49890d9b4fb3efa239b7d17c" + }, + { + "id": 3074035166692997, + "content_hash": "1bf17080a7e599968b7e2dde788030df7e621c1a7a0299e19540e4f2099da8be" + }, + { + "id": 3074034199676293, + "content_hash": "a24631905f3d3bdf3e1e976cbf2a249833b2e098565889141c33cdc3d93c0816" + }, + { + "id": 3074021379704453, + "content_hash": "ad5ee0832c856ad64c31e7b4542f4d47ac1575a8ba95c9605a8d1c854d20a16a" + }, + { + "id": 3074010672367237, + "content_hash": "7b3ed4813b595f9b33c5284e6c8614fb4430232c21be1d0b9f2f3b6fa30a12d7" + }, + { + "id": 3073989942724229, + "content_hash": "1ddc79daadf5a5afa5307b2cdd2ce98d7d1e6787f065a04e7588d505109eb420" + }, + { + "id": 3073989166630469, + "content_hash": "707d08bc5c2d7b04beef1190d86560d17b9dee90ed0e0aefcdb0dee4d6de32a4" + }, + { + "id": 3073986970387845, + "content_hash": "b4cdac428ba7d6e0a5363dc4442353420f62aa43f0ed63a6ecb69c5cec114e03" + }, + { + "id": 3073986202699397, + "content_hash": "e2d6e90fa1d6b3f12c6579d9a7dfad84c16df83ae46efd243260f4c4d8d65dba" + }, + { + "id": 3073984211125701, + "content_hash": "945609da2a15f87e62bd79776e3b8929e883a7445ff5cd30c3b1dc16b60c3a15" + }, + { + "id": 3073974639035845, + "content_hash": "c257aaab190e033e03954ac355572c829c2d1eec1a892589d56026b6e33afb8b" + }, + { + "id": 3073967127840133, + "content_hash": "6fd3dcf4f15e9fc102e4b5d77b38ccc7a69bbce36ffb0b21261e658de1b9cc0b" + }, + { + "id": 3073966756136389, + "content_hash": "6710bafe0f22eb3f333f5dfcf848736a771c0a4d18ef2dc8f144a6d9d9deb96c" + }, + { + "id": 3073965821068677, + "content_hash": "e96ba4278aac2afc0b76499c590420857697869fb43cab9cf03e599df2c759dd" + }, + { + "id": 3073959716259269, + "content_hash": "a63a18de2000d13ce76f3383b9b18f6519b6780579e9cc705f63ac54a8afe6db" + }, + { + "id": 3073957570381253, + "content_hash": "420b036d23df803c14c072bf383cf1bb9546af4dc1e0df88a9f68cf98357566a" + }, + { + "id": 3073955192571333, + "content_hash": "0829657e25ff9dda3639b4caaedc50697658d91d61d5c9d5e8f14d93a242b9d8" + } + ], + "pages": 2, + "skipped_missing_pk": 0, + "errors": 0, + "error_detail": null, + "compare_content": true, + "content_hash_supported": true + }, + { + "task_code": "ODS_TABLE_USE", + "table": "billiards_ods.table_fee_transactions", + "endpoint": "/Site/GetSiteTableOrderDetails", + "pk_columns": [ + "id" + ], + "records": 10074, + "records_with_pk": 10074, + "missing": 2, + "missing_samples": [ + { + "id": 3076481003750789 + }, + { + "id": 3076479297537669 + } + ], + "mismatch": 70, + "mismatch_samples": [ + { + "id": 3076468631635333, + "content_hash": "ecaf61118e981331d8612d47f21cbf34dee7a4b2302caafc0da4186128ee37ba" + }, + { + "id": 3076467402524229, + "content_hash": "7ea0bd4d5fb81daba44f43c0eac3325d807629404ecfb9d90718278b11323fca" + }, + { + "id": 3076458717628037, + "content_hash": "c560556b7265323acfbaad424737fbaf529405af7fc4fc99a8c04ea7d9138c8e" + }, + { + "id": 3076456428603013, + "content_hash": "040978f9e60d19e2fe1606eb85719a6307418474642ab2f1185cbc47866391f1" + }, + { + "id": 3076455564838277, + "content_hash": "672bff8f9a453e454e89d1c09298a8f764c9c4083e1fcd5215d52c52d50b788a" + }, + { + "id": 3076454440863109, + "content_hash": "a9f3f231326e5f02918ca1f8346c31537cf753f6908311a35f715923e70717f5" + }, + { + "id": 3076454348309893, + "content_hash": "f760b61c45765af59aee194d298fadce2c6253c6dddd4008c1aa9f091c54c8dc" + }, + { + "id": 3076448766461317, + "content_hash": "e912f503ae32f5561530bc56813169d39f3b4fb200ad7b691fcf98ad5d925b1e" + }, + { + "id": 3076445048063365, + "content_hash": "06635b02f5d4d215b3ff33ae531ffc73a315e194a3d620169aba139ba56250f7" + }, + { + "id": 3076431917008453, + "content_hash": "f613702e2569ee755f4388971422fe70327fe19e4cd2ee3a0867e434dd93a5ce" + }, + { + "id": 3076431855896133, + "content_hash": "fb911c9965dc1b8fde398075dc80c23ef3b2db00cecd3c911fdccc1576ef5767" + }, + { + "id": 3076427929667013, + "content_hash": "6b5cdadc648a73e9d6efcc1df4c7c3bb247994ba936a492532e654d74e4f191b" + }, + { + "id": 3076426270180933, + "content_hash": "9d55d5a5bed5c60769e4d2052419a8644fe259aaa881efd213adfff19ea51423" + }, + { + "id": 3076404579583429, + "content_hash": "c0b447e8ea656b752bad8c43015026acaa4a108747fa75e0e089d4dd616c0ea3" + }, + { + "id": 3076404528957061, + "content_hash": "755779b8a4064cf9f1af8485adaf8ca1757f9ca1b4593fc6be13c3eb01918d97" + }, + { + "id": 3076402097276293, + "content_hash": "4463ccb44164644f333d1facf643f8a94676f51556e29ec47223bea442a8bee3" + }, + { + "id": 3076401436312965, + "content_hash": "51b9ae68448bf0a10c833d05a154f3d0da0d4863e06e820a5c03c85db274452b" + }, + { + "id": 3076397495780933, + "content_hash": "ccf911a4749427f2e58698655eb940b5baa6c18c8e0acdc00ae4fc1af2d49b74" + }, + { + "id": 3076391961855557, + "content_hash": "2c52621ea3230733cf444465d2dff648c2b9d00cb731d70dbc47194018ee89f7" + }, + { + "id": 3076374836004229, + "content_hash": "3ad23ec7f3df1bbcf96804d8c8195d671e8e6882768c260f4a8355a9e5400c73" + }, + { + "id": 3076374000354885, + "content_hash": "62e01a5abdc67f65f187a57622753a40c984f39dca6120e9365580ab49e01359" + }, + { + "id": 3076364701123973, + "content_hash": "5aac3cfef1671ecc98481498e1320f95c5fdcf758e6a2c9c9f7f43463dba6a79" + }, + { + "id": 3076361276884357, + "content_hash": "8ab7c924beebcd8d5dc5a3354295c48f6fb213a0630fbbfa8d71e1278c81da34" + }, + { + "id": 3076341201225349, + "content_hash": "d874b09495c04272ff04781d7113948c2f951f20b194178bcae48490ef0b8ed7" + }, + { + "id": 3076341144192389, + "content_hash": "938be43e34cfafbc8f5d008e5aadffb999c2a3caa785c5cde8f79fcb6c33aded" + }, + { + "id": 3076335083587141, + "content_hash": "309f42330f084315a12f8813b7033c49c706791b74ac658e809551882651ded8" + }, + { + "id": 3076335007483269, + "content_hash": "eb882e1ebd7014d35cbe1400768ad5cb343f98a4ed2672f9978c757cfb595d6e" + }, + { + "id": 3076329489057413, + "content_hash": "87daf2cb17e9c9a7cd8407f795daf734476955d4fb5fbe5288e1ebc43328fc37" + }, + { + "id": 3076325379917189, + "content_hash": "a3a041e720f52eee0e5436ef923c08cf6c179f640f9aacf5d8a9c36023cd1811" + }, + { + "id": 3076324807968389, + "content_hash": "46528ecea97222e22ddb13262a0410e54ae097c01d9d4ae168342e35d137c066" + }, + { + "id": 3076282477610373, + "content_hash": "18794315fa5ada5cbefad58f5cfb43943075feab6593c1ef444988f02f55ca83" + }, + { + "id": 3076255083218501, + "content_hash": "5e02920dfd8de17a6d777316d967f6810e15e23a39cb7dc4bf1976408799cc47" + }, + { + "id": 3076160268633541, + "content_hash": "2a02e45994dbc1524ef52d425b1e02ac4acede1991c1f4e72504aa5b54aec6fd" + }, + { + "id": 3076138706470341, + "content_hash": "85a3abc04c65f31f8c0eaf86f7df53839362e794404af9769d5c29cef44ff404" + }, + { + "id": 3075796677543365, + "content_hash": "22fca596263c51170cb4ccebcd2e1b7560195af6c78f35bee54447f273a34d7d" + }, + { + "id": 3075750061589957, + "content_hash": "8a786f89baa7e66cb55328e3948ef180ef2d7262d52f80f8b1849ad7834d9a38" + }, + { + "id": 3075635028674181, + "content_hash": "a24c7abec1aca8ff2a9c63ccce6a96a738ce68bf701dc83d1cb4db6259b97a38" + }, + { + "id": 3075631430682181, + "content_hash": "054016d8a4c02d39dff0f3909799c8059eaf1f83f41565a89bd0d3f5c4cf8a41" + }, + { + "id": 3075626777576901, + "content_hash": "aa9d1f28140a2e22b97a2fb1ef8504de3dbcdafa950ec479adbf47f9fda95f35" + }, + { + "id": 3075626777560517, + "content_hash": "b3771d47fe8b790bc1d0389fe16538fea21d1dc63dd38aae039ef2df3244f77a" + }, + { + "id": 3075584988579461, + "content_hash": "6a811cbbaa3a4288b4c60e677166c0f8f33996e24963c7b3c857b8816715d323" + }, + { + "id": 3075584277300869, + "content_hash": "ea76ca1588149c5d05a3a0d48f3944a6122156f5af58a1e3dfc9d5d0c39139e2" + }, + { + "id": 3075574999369285, + "content_hash": "14f4c7a69e19842cbd2acc0a76a5cbf7dc59ce1ac5db455476349cd37ffc3fd5" + }, + { + "id": 3075568526608005, + "content_hash": "bed10077df56480934844159ce837276072ce0900e595851ae9dbe0844ef7ff1" + }, + { + "id": 3075537363207749, + "content_hash": "f994d789f76ccc8dbd38516f7bd4ccef46e5eb89dbfe2bd36d07dd814bc80e4e" + }, + { + "id": 3075502543013509, + "content_hash": "36c79aa18bd02254d14faecb3bc5e56fcd4a856427c5b36c6da85796d32f27e3" + }, + { + "id": 3075502543029893, + "content_hash": "a86d687b65af44401d7124cbd59a08211acf6ca7c9175e1c062e4717f3ce6e89" + }, + { + "id": 3075502542980741, + "content_hash": "33e3e1271e26b38861e7ca521bc4f95a3f96cddf41206e92b9215c718affd217" + }, + { + "id": 3075502542997125, + "content_hash": "0eb52a6b1181a117f35897c181a794d3e3ea1f292b28a0d1c05074ab5395bba7" + }, + { + "id": 3075497054340742, + "content_hash": "d1c03fff95d7ab57839578afca3a80213fe2adcc34a5a3cd7b1a0d42847a637a" + } + ], + "pages": 51, + "skipped_missing_pk": 0, + "errors": 0, + "error_detail": null, + "compare_content": true, + "content_hash_supported": true + }, + { + "task_code": "ODS_ASSISTANT_LEDGER", + "table": "billiards_ods.assistant_service_records", + "endpoint": "/AssistantPerformance/GetOrderAssistantDetails", + "pk_columns": [ + "id" + ], + "records": 65, + "records_with_pk": 65, + "missing": 0, + "missing_samples": [], + "mismatch": 65, + "mismatch_samples": [ + { + "id": 3074592488949381, + "content_hash": "1b19b0d49f57eafea9cd67305957798d7a75410b524f1e7fe27151c810d9cbdd" + }, + { + "id": 3074592488490629, + "content_hash": "c5d2f1b142e1e15426716e7c2d89bb5b9291c36f33c49be02771cdcaf04393a5" + }, + { + "id": 3074142886626949, + "content_hash": "3749328a2aab7e4b0b5665270562b49ef19e719f5b2980ab29be61e5c509ba5d" + }, + { + "id": 3074142886168197, + "content_hash": "ebfe822fd25186ce53d30a39a0e94dbec8be86c2c860ca5bbb85f210d2da26d2" + }, + { + "id": 3074130807145925, + "content_hash": "920fc76dc1424e70ab719d4202503abf73d11d7cb36abefc0d4a683291567c1a" + }, + { + "id": 3074130806687173, + "content_hash": "52e6feb7328a728b2839927f0a105bed3ceb13cffcd842005969a02265f62dc8" + }, + { + "id": 3074130806179269, + "content_hash": "3477f1dd1af83873301019fd37bf2fce63dc967c48064ae584ceac414eeb94a8" + }, + { + "id": 3074094735656517, + "content_hash": "d4c74a861aa50087e1629a4c3c060ef1af57f0a18d21861b232b9a14351cdad8" + }, + { + "id": 3074085731943813, + "content_hash": "d702344a3b5b5c644f5435e15d1f89c44ddb3943e1fb046825e7a61f106d535a" + }, + { + "id": 3074085731452293, + "content_hash": "4341ad44404f7b17d6249c6fa10d33bfcc0b6afa8609a7004445a7b67776997b" + }, + { + "id": 3074078197581189, + "content_hash": "9a638ed8cc7ea5f77c75ce743181015be450f0b516ce015fa0229a82d41ff499" + }, + { + "id": 3074068424148613, + "content_hash": "fe9eacbf1984bfd278591b8e62da48d6dc86412fcbc78acf2d8c54b501ed1414" + }, + { + "id": 3074064127853957, + "content_hash": "825a8a383061361e6696cca5fc28dc9984ddcce64a650da42259cb74f38d71e5" + }, + { + "id": 3074064127378821, + "content_hash": "bbe08143d4da3bbb4dfa4cc16de598f1ff10cf12a9c77d15e4538c75a0cba0ae" + }, + { + "id": 3074062052902277, + "content_hash": "915830d68f6cc980ec47bdf16c7c73c5b8fa4d6ad7607f99b099f2f169baf373" + }, + { + "id": 3074062052427141, + "content_hash": "6ca3462879d7d3e8b6054849dd920fe988af4f568ced0d5dd1e368c2966fa158" + }, + { + "id": 3074062051919237, + "content_hash": "4c80d04b93ada4fca3e7ba9181012552fde997ffb8b5d258de5c7f578dd903b0" + }, + { + "id": 3074059753293189, + "content_hash": "f197f21d78cf2cb8009cc9b4f1e089ac373e7b6e9a5cf4b1cebc6d83b1200711" + }, + { + "id": 3074058747954629, + "content_hash": "a4e59349917adbe3728e6fe5dae04fc184b9ef7de2e8989332713f9c54e756f5" + }, + { + "id": 3074058747463109, + "content_hash": "a5fc6292a5346b74b516aaa951e0748e8fbfceb2b7343bed303f02244a1c0e99" + }, + { + "id": 3074058746987973, + "content_hash": "ce2481e2a22d4ac778ad06cc89b798316128283204c54f88d7a683d6a4184039" + }, + { + "id": 3074058746529221, + "content_hash": "4fc99cdfbe9e86716136db865f6fd746482fa416d1e7a3a991643e7035c2396f" + }, + { + "id": 3074058746037701, + "content_hash": "cdf9c9c273933123cfa614ac51b1fce764415fd5213bd99c6c19b07f9381ccc0" + }, + { + "id": 3074058745578949, + "content_hash": "0959a012cc8a111597a9afe6c2360d01a3cb0e804430f588b42da46c51e4664c" + }, + { + "id": 3074058745103813, + "content_hash": "4e740d88f65ff35a47851d46943f87039b8ac6a5e031a594b9b5b70ddac4966e" + }, + { + "id": 3074058744481221, + "content_hash": "e3560759d78b4c0e49f62caa93bdfd82131aa4f553021afbf8b3af3ca2a7671f" + }, + { + "id": 3074058744022469, + "content_hash": "7816f084d458fb7b458bee77d72dd1f4049349252ea60962158e3a8354d930e1" + }, + { + "id": 3074058743563717, + "content_hash": "09b7dfcfc649fe18c031291575b4e7808ab104712aced00ff8efdf58168958f9" + }, + { + "id": 3074058743088581, + "content_hash": "c8a4e9d96cc9e21de5fe3fb54950a2f0bb908c00c27da2d5abf448b2785fc689" + }, + { + "id": 3074058742613445, + "content_hash": "9bc671523bd91cebb1c83797ac6432b934142039e41aee9d8addc69305886f2e" + }, + { + "id": 3074058742154693, + "content_hash": "5343bc02c352701046ff8961e1f6b084ab19abd09d774ead438e37e96507a05d" + }, + { + "id": 3074058741695941, + "content_hash": "f1049dd7ba66942c4d6cc5ab8b2644887410def4dbe7f80daf08f527f32578bb" + }, + { + "id": 3074058741253573, + "content_hash": "9a7178cf06873ac2f8fbcf4d909f9a1e314eb073166d21097a9b853603e8d6ef" + }, + { + "id": 3074058740794821, + "content_hash": "8559eaf9b52774717243363b4d7a86440a15e514909836a236a5b4050c003775" + }, + { + "id": 3074037171226181, + "content_hash": "e1ebdffb06061e5bc5a61a5ab47fc98a98cbdeb9f7faf8df5b849cdd8ad85e3c" + }, + { + "id": 3074037170570821, + "content_hash": "20da7ac4acf0306b414f2a2a0de42471ff08c7147e414cd158110a806ce253f5" + }, + { + "id": 3074037170046533, + "content_hash": "e51314a7e1b0c44e271abb7b1ab56462cec3c0ef0a148604e3d83feaee85f58c" + }, + { + "id": 3074034426775173, + "content_hash": "9062f840fb85aac78acbb69d40334645d0af827691b168523f4c9d7b1cf7e296" + }, + { + "id": 3074021432133189, + "content_hash": "0ef7b9fcb27808067958f4ec3102eb87cb11e9b2e0835d65d124a9bdc105b46a" + }, + { + "id": 3073989336515973, + "content_hash": "90845cec87928fd894e1f1133bf90a22b78cd5dd8b5618c580cf3937e1cb7cad" + }, + { + "id": 3073914625197509, + "content_hash": "21c1c00496fac5acce32497f573976a795dd75205220e924643485f5b07b9b00" + }, + { + "id": 3073870294435269, + "content_hash": "113a9f34a243dabe5ece9adf5a59fb3eacec364891576c3c28a65d5a8d998fc9" + }, + { + "id": 3073870293747141, + "content_hash": "b9a2ae407fe3c45090c47938972ab28a1a0cdec698d1eb218558f15d09053d4e" + }, + { + "id": 3073869497353861, + "content_hash": "786316f7675e45fb6e0965dfc58b814dbf99cb18ca63ed18a479bbcd7d98f552" + }, + { + "id": 3073869496862341, + "content_hash": "ac1617c4340e052a5b809be1f18a96c5c03c20f8f4d3c431823f4534fc7fe745" + }, + { + "id": 3073869496338053, + "content_hash": "fa131bf2cf3ce422184119060a78cda866820c340556ec3251e5d62b0571221d" + }, + { + "id": 3073734858196549, + "content_hash": "30997bf5bc5372f591453b325d32e9da0e39e434016e549b82c4bf0a66e3b3da" + }, + { + "id": 3073734857737797, + "content_hash": "31adf71c5e291dd130a669e684c062b10e1fc192289777ba6ccba33be8aba518" + }, + { + "id": 3073702634096262, + "content_hash": "7f4ed5f50fef62dbd573ed7c160d3cb58bd98ae72283911c15e27ff12805c402" + }, + { + "id": 3073670472140229, + "content_hash": "3d1a9b30cdae83919355300928ec5524e973d38a92a733234237b40c00629032" + } + ], + "pages": 2, + "skipped_missing_pk": 0, + "errors": 0, + "error_detail": null, + "compare_content": true, + "content_hash_supported": true + }, + { + "task_code": "ODS_ASSISTANT_ABOLISH", + "table": "billiards_ods.assistant_cancellation_records", + "endpoint": "/AssistantPerformance/GetAbolitionAssistant", + "pk_columns": [ + "id" + ], + "records": 0, + "records_with_pk": 0, + "missing": 0, + "missing_samples": [], + "mismatch": 0, + "mismatch_samples": [], + "pages": 2, + "skipped_missing_pk": 0, + "errors": 0, + "error_detail": null, + "compare_content": true, + "content_hash_supported": true + }, + { + "task_code": "ODS_STORE_GOODS_SALES", + "table": "billiards_ods.store_goods_sales_records", + "endpoint": "/TenantGoods/GetGoodsSalesList", + "pk_columns": [ + "id" + ], + "records": 0, + "records_with_pk": 0, + "missing": 0, + "missing_samples": [], + "mismatch": 0, + "mismatch_samples": [], + "pages": 1, + "skipped_missing_pk": 0, + "errors": 0, + "error_detail": null, + "compare_content": true, + "content_hash_supported": true + }, + { + "task_code": "ODS_PAYMENT", + "table": "billiards_ods.payment_transactions", + "endpoint": "/PayLog/GetPayLogListPage", + "pk_columns": [ + "id" + ], + "records": 11868, + "records_with_pk": 11868, + "missing": 3, + "missing_samples": [ + { + "id": 3076485845976453 + }, + { + "id": 3076481001244037 + }, + { + "id": 3076479295096453 + } + ], + "mismatch": 78, + "mismatch_samples": [ + { + "id": 3076468629095813, + "content_hash": "1d98150b058d184d50f7e1287503f3da81c914a3a3d7fa56d9d9d0191e48f87d" + }, + { + "id": 3076467400361541, + "content_hash": "396de78b0d5c42bb74a8494ca3cec3bbb73de929117060b19f65f92122c2e6f3" + }, + { + "id": 3076458715268741, + "content_hash": "ac78e1c4c30f8d54e9cf49d505ee009946f613059ac20c2cd64ebe99ed2d16a7" + }, + { + "id": 3076456425571973, + "content_hash": "784dbffeed6cbb906e715b984a2eb68eb4d7b4d21fe13577e19f50ab84262e2e" + }, + { + "id": 3076455562167685, + "content_hash": "254f35015805c022e9bee5c36103ed4f565e3843f3f3aaa37d218cdcaf384cc4" + }, + { + "id": 3076454438454661, + "content_hash": "c0f6f656a415a95ef06cb435353b1284c0250c4a3d5574b86dc08a87b9f05a50" + }, + { + "id": 3076454345950597, + "content_hash": "777c8dbe11d51fac95f083fbb51eb2da14c1085711267c8ee854273c1842e692" + }, + { + "id": 3076448764216709, + "content_hash": "0ea75fe82f054a70bdfd72a5b12be4fc87d549516400cb24c184a5c2ade0a968" + }, + { + "id": 3076445045507461, + "content_hash": "49ab33b8eb37eccd094d84f8591de1fabfbf8e83c5add1e24fa5322553c2c52c" + }, + { + "id": 3076440535041605, + "content_hash": "a4570493e7ca107b8bd51d6918929fe37563511ac4c33b3785b03e33646a4801" + }, + { + "id": 3076431914829381, + "content_hash": "02245f332d9d246db8bc4e4127f28e1b93136efcad18560cfb40098f42bfccd1" + }, + { + "id": 3076431853635141, + "content_hash": "0f5573d8cde0551abeb7ab71d11349eb7ff542031a8b6f1d921e79caeba7e2e3" + }, + { + "id": 3076427927373253, + "content_hash": "adcc2fc6dcf91cd2c9554b20c005679040badc32447cebd57ddfa07f20000869" + }, + { + "id": 3076426267510341, + "content_hash": "8973a2a98d81d5d6b99ae519ed5168f5368702931ff2f5032df328363d99b0f6" + }, + { + "id": 3076404577387973, + "content_hash": "d487e756bfbcbfdea9801bf833eadeeb232e9c6caff34773eb2aa2bf2f996a98" + }, + { + "id": 3076404526581381, + "content_hash": "9dd9b05502dcd2babbc759eecb7f7f1ea0e572d358ac2919a885e58b9229b47a" + }, + { + "id": 3076402094638469, + "content_hash": "170e125df1ae5af87d9d443955589b83001bff46a264bcf418f9efd1f26c5e91" + }, + { + "id": 3076401434183045, + "content_hash": "ee7b1cbe64524945bdbcec9aa286c8adbaf84278a9a94401e4299c5207188703" + }, + { + "id": 3076398378419845, + "content_hash": "e6dc0093247a5e9709cb1e8866b3b1857517a7bdfe866d51bb5a71311ced3684" + }, + { + "id": 3076397493470789, + "content_hash": "d9a79d7237c59c1365a504de14ae8a115bc77dfb91a86d52766a96a6311c0b08" + }, + { + "id": 3076391959709253, + "content_hash": "e49dc4dcdb14c8e2217aa61b078d9901187342b8030e8def5ca3e45cb3cd963a" + }, + { + "id": 3076384567166597, + "content_hash": "294616a87c7be3cd3d8b5c00236a2bf67d669509b8e9937f24c24d9a983129ab" + }, + { + "id": 3076374833661317, + "content_hash": "36fac0acf37a6aa2578cf1743afa60202b25d47713759f484bcbc380784c442d" + }, + { + "id": 3076373997651525, + "content_hash": "4f420efa3e2aa089b921a8062e14380ce77df8eca92eb9219c2c18138485737b" + }, + { + "id": 3076364698830213, + "content_hash": "0490e08457adeec7cae5ffb618c6f628e666ff8bd28631d6db721cad8a8471bb" + }, + { + "id": 3076361274688901, + "content_hash": "53c491f072897a057d374519d21310120f262f9090c08d2b9238b95f84a07fd3" + }, + { + "id": 3076351041684869, + "content_hash": "3c8b0a66e0a657d0a2b2ba6b0cfa4e1fe5a9e7514f8a90aec62e53d1a39a6ad5" + }, + { + "id": 3076341198784133, + "content_hash": "364c132aa40cb47323efb0ebf1241a183316abfd24962d1df7a4e0103421dde9" + }, + { + "id": 3076341141947781, + "content_hash": "8a0c585e6951de858292044cf541c20419b51e0a40bbcc69d871055246cfc0e9" + }, + { + "id": 3076340839728581, + "content_hash": "915ecb2f28b64b99d6bef37a55c27cea80860d53743bdd59205c08dab80e8d51" + }, + { + "id": 3076335081145925, + "content_hash": "519e8cfcc8afaa1b162cd10053a47e90e02aadb32a57ec193dcb632f9fe39b44" + }, + { + "id": 3076335005189509, + "content_hash": "9171c7407083f703eb9f609e52b841e712aab23f63a23a6bc5bc5e22426a5d15" + }, + { + "id": 3076329486468741, + "content_hash": "9f418c52a90aa4cf14cc937abb1b744490591ae33bf665042bc9b825a475e5de" + }, + { + "id": 3076325374657925, + "content_hash": "c27376c3baa026c746d51c0bc05965f58400258224fe0acc3bbec956c5176f7c" + }, + { + "id": 3076325018109381, + "content_hash": "e295d644d2ed96c55bea15da67da96ec7ad851d9d9d93a6520a9b2f8fabd9f58" + }, + { + "id": 3076324805772933, + "content_hash": "ec930062c4210e26045ff119183bb285e4be44806aaf144e20f25899400b7d6d" + }, + { + "id": 3076300217878085, + "content_hash": "45fbe4fa99a6d9edda39204f39a50804f8e03f5d0f8eaf13073d40b734580931" + }, + { + "id": 3076282475316613, + "content_hash": "0b066be27dcd61bda5190b6ae1ea2c007698b048ed121635c2d1b6c6c8abeb9e" + }, + { + "id": 3076266638329477, + "content_hash": "756f49af72ab10a9759866ec0b4a5e506361d32e532a381a3ed04fe2faba44ba" + }, + { + "id": 3076255080875589, + "content_hash": "eb619f79f2ddca8eab52a959280f77487ed4861e1ac48035096b952f5e265e3e" + }, + { + "id": 3076162835989893, + "content_hash": "b40760187171087068b24973da0c6619031ff3ad5c453c649428c5303cf9a4d4" + }, + { + "id": 3076160266405317, + "content_hash": "dc674bde32449e64ecb26603ee55314532745bbb106bd282fb7d410b9b48041e" + }, + { + "id": 3076138703865285, + "content_hash": "62d3b1d4ab55d34c0095af87020db11c36d6913c6e2181fb5c124cc11f085d93" + }, + { + "id": 3075796674954693, + "content_hash": "6b454c71c0495e987007803d0ffa388ccd09af8d02973d645470230e58f0073a" + }, + { + "id": 3075750058231237, + "content_hash": "9c22f9220a92b397cdff11ef4751504141ac58aa30fd55d3110766c3b0433ac2" + }, + { + "id": 3075635026396805, + "content_hash": "a870a6f121879d780173ec10458cf8ecbc38c3f955c717d7e91a2051619b93ee" + }, + { + "id": 3075634418681285, + "content_hash": "04a106f6d3e3b8dc61206b41f6662ebf0a9d48b0b9dcb35fffbe8860c0395be4" + }, + { + "id": 3075631427044933, + "content_hash": "370e5630d34c88724fee2d2c7849e226a0bc626dd181a4558128f05a48147ffc" + }, + { + "id": 3075626774283717, + "content_hash": "857822bb40135178b25bfd2e1457a6df6cabd4f1a11834de648f8926c5366bc0" + }, + { + "id": 3075584984123013, + "content_hash": "eda5de138a9d7cd97555bd6b11edf8b6b2518516a02b0b4d647dc0cadc57d6d2" + } + ], + "pages": 60, + "skipped_missing_pk": 0, + "errors": 0, + "error_detail": null, + "compare_content": true, + "content_hash_supported": true + }, + { + "task_code": "ODS_REFUND", + "table": "billiards_ods.refund_transactions", + "endpoint": "/Order/GetRefundPayLogList", + "pk_columns": [ + "id" + ], + "records": 39, + "records_with_pk": 39, + "missing": 0, + "missing_samples": [], + "mismatch": 0, + "mismatch_samples": [], + "pages": 1, + "skipped_missing_pk": 0, + "errors": 0, + "error_detail": null, + "compare_content": true, + "content_hash_supported": true + }, + { + "task_code": "ODS_PLATFORM_COUPON", + "table": "billiards_ods.platform_coupon_redemption_records", + "endpoint": "/Promotion/GetOfflineCouponConsumePageList", + "pk_columns": [ + "id" + ], + "records": 17427, + "records_with_pk": 17427, + "missing": 1, + "missing_samples": [ + { + "id": 3076482503624261 + } + ], + "mismatch": 56, + "mismatch_samples": [ + { + "id": 3076460464391749, + "content_hash": "409ce55971e59731fde8589996adae2122b528efc267280b68dd6c7dd0eddde3" + }, + { + "id": 3076457746236805, + "content_hash": "ffbe91874eb94ce97d2b85ed7fcfc9d0f8ff9c2ab6b965dab7017c66a6f068b0" + }, + { + "id": 3076452205119109, + "content_hash": "8f2a48115134e9f24de034953adb12b36080358763419819c6d1fca42de22eb6" + }, + { + "id": 3076450453374405, + "content_hash": "7e3edb7f39f9b0bab755cefdb2adf8ec958d70e8e7e218e13c63b99dffacf488" + }, + { + "id": 3076450215085509, + "content_hash": "291748c14c2ceffc12af011d19414f7cad523f4adc4a77160c6c791f19f33521" + }, + { + "id": 3076447330370949, + "content_hash": "93c5f3461365066e298c0ebfbc02ed35defcdc9b25b37086706c125e0cceac45" + }, + { + "id": 3076440282973638, + "content_hash": "b7124fb420e2446d46258056298245c244541b2a9adbbcdf459529c287b66242" + }, + { + "id": 3076440282973637, + "content_hash": "49b335633f433083de9533ad835d1a8bfee3c34e18e82c690195e5cb8e11b978" + }, + { + "id": 3076432919692741, + "content_hash": "8155c2c835f42c63efabfe1e091b4cbf8ac16f5873e00c48fbc76d399c9ff702" + }, + { + "id": 3076417945192005, + "content_hash": "c1e6bbfdf1c2609d6d727eacf27b079f235442125ee5c74d6eeff3b3ba1aeec2" + }, + { + "id": 3076409807734213, + "content_hash": "426a3c14dee2ac1d02126d68f15e6afe99a790f84cf68d6d6c908b4f603f960e" + }, + { + "id": 3076405972289157, + "content_hash": "c8cb973ad32e3f28b04331074af949799524278264b8019dd708c1185c71e65c" + }, + { + "id": 3076401773659525, + "content_hash": "4257ad366ed94b850875584ed2d27aadca890fc7aba344ece92871e64cc769a2" + }, + { + "id": 3076398028834437, + "content_hash": "945a6ba351a29971647728d2e1e459814dd72b45fd22785553b641cc96968062" + }, + { + "id": 3076383841601157, + "content_hash": "bffd71bc22eda017ecb7060029debefefbc34a164bc9169ce4b92d415f6b766c" + }, + { + "id": 3076382580098501, + "content_hash": "e50904e3244fa30d2972680bc95958d4a5bb67cb649494281d4681bdef8a2e69" + }, + { + "id": 3076371995280965, + "content_hash": "fa33cc6c8e2da3946ae54bf3e8b79927b5ee53a0e1e75dad62362fcb91249cc6" + }, + { + "id": 3076369225238085, + "content_hash": "c6c53a61e5e439d5ac80e2caa4b92c0cd77adffabba10755f97f1af95fa291cc" + }, + { + "id": 3076366755006021, + "content_hash": "eb75dfa7f445581d8757ae6141a3c0a8df8f0546bfca3e4e1b09e88088fb5b71" + }, + { + "id": 3076366484047301, + "content_hash": "28fe0849a4f3803f83d346c0bc3798e056421d43d73ca86465e645ef02d33eda" + }, + { + "id": 3076361118647685, + "content_hash": "1908f47068217f4f9ed6d0139fba48b80d03d31e5640f39b03e5466691feb704" + }, + { + "id": 3076350267328069, + "content_hash": "213c8fab492f445015e2d75ada787b1a3903106280d1759ab3d19568632d45b7" + }, + { + "id": 3076343656334789, + "content_hash": "e1dafd7fdb24d2361161f60346d8e509a53764881f84552568fa00fcddeb3ae9" + }, + { + "id": 3076343508370885, + "content_hash": "8addc37de548f282da840fb38ac8a29615103a8d6013919cfda0fd89d05a9fed" + }, + { + "id": 3076336473490885, + "content_hash": "8d74600a7a69c108f1164249f3bc415c96c75bc3e1ed15c522fc697e057e8508" + }, + { + "id": 3076331867752005, + "content_hash": "ff33d291058a78640f6747b0f3ae192872ff54957bc4e87aa85fcc313312a97a" + }, + { + "id": 3076330682205829, + "content_hash": "bd7099b9214dc4b0cd351dfde3508108830689217b719af4dc9379c654d16c30" + }, + { + "id": 3076330171614597, + "content_hash": "4caff5cd39291a6a172cc0df1e4fa2dff40a5b0e87d7a28955b0476d03dedc74" + }, + { + "id": 3076314233259589, + "content_hash": "26e407771845d284bb3f1cc049ea3f02220c8c556b1281864acf6e651432d7f5" + }, + { + "id": 3076306343314885, + "content_hash": "e3e3ea5ce5214256b263ccb70f7aed285ce1148903405a7697457e9bf4a624fe" + }, + { + "id": 3076304870622853, + "content_hash": "f62b4455df38bfa9593984764fa3f3d5c650a184ab0d47bf46adddc438ff8260" + }, + { + "id": 3076303449048517, + "content_hash": "21dded43f549b0492393849cc411d86ae6cb3c0e73a3458fbab0db6f8a7a2ed2" + }, + { + "id": 3076301217564101, + "content_hash": "0d51450cde97e1cb07b36d58550edb703907180615748cee748f8d1b334a56a2" + }, + { + "id": 3076300712396165, + "content_hash": "02285b16d4bb092997638aa56c52f24ffe9826e2fdb64f8fa88f3fcc5aa8aacf" + }, + { + "id": 3076281630017093, + "content_hash": "da29254390198afbf5f6a3025d4903296a48183893b1975e9b6dacd61f9cc895" + }, + { + "id": 3076281538282885, + "content_hash": "6901e4db5710dd312714f11a7e5cdbb60dfaffa7477575664464dca7932cc7ad" + }, + { + "id": 3076280099374469, + "content_hash": "b4c4b2dbe844c0627ffa76aa3149fd3d0aea7847058b4b3d324cf1f65a0280f6" + }, + { + "id": 3076277823227333, + "content_hash": "76df6adb5214f75c51e41f6c9771a8bc7789eee5dedff0b55e175720e9907c26" + }, + { + "id": 3076275082626693, + "content_hash": "2032bb99748d753d4f180db88f0c7197f89e46f7cdc4f11bea8728b3050397b8" + }, + { + "id": 3076270491731589, + "content_hash": "b71d0dfe73668e3faca13f72710960dae2180b302161d9b15d151c9af92e4e6c" + }, + { + "id": 3076266120021573, + "content_hash": "f399c96b71ebe3ebc9643259c05633a91ce383cfe6908f6188f55b209854efb9" + }, + { + "id": 3076226159117765, + "content_hash": "5562bd759bf1208dd4dd1e784fface0d14ece7e1a1c90c05aa15e11e002449fd" + }, + { + "id": 3076226049410501, + "content_hash": "f4d3ab30b1185c1633b107218ac935113ce4b04e054891bc4e0a717906eacb45" + }, + { + "id": 3076223542724037, + "content_hash": "01eb877525279297862f20c74f29d5de4221adc228a5e7233dc935857e770e20" + }, + { + "id": 3076223026972101, + "content_hash": "5bc8a72c3a033e801704df469cfce9c42bf051368997593320c3338e265d9f3e" + }, + { + "id": 3076216648386117, + "content_hash": "07f9baeffda3331d287b19c57f02f22572b1bc0715960b18773addddb31edc1f" + }, + { + "id": 3076195763160517, + "content_hash": "0f95d93f14e63cae176f577b95419ddeb3fe4eb9a1d1ffa645788e6d5e32ca1c" + }, + { + "id": 3076101153572229, + "content_hash": "e95b17d682c4e2deb43c212e36362c804c82d9f17d9a8f7cbd1dfd327571c316" + }, + { + "id": 3076070440404357, + "content_hash": "d56a667b7df75f4353bba9956fddb904d1e585767b6af18b1cbdb035dbbe5d68" + }, + { + "id": 3075525274076805, + "content_hash": "af2bd8fa61767308bd8a372069e8d4d4f0f5ba5138b30cd8be63337f4004b1b2" + } + ], + "pages": 88, + "skipped_missing_pk": 0, + "errors": 0, + "error_detail": null, + "compare_content": true, + "content_hash_supported": true + }, + { + "task_code": "ODS_MEMBER", + "table": "billiards_ods.member_profiles", + "endpoint": "/MemberProfile/GetTenantMemberList", + "pk_columns": [ + "id" + ], + "records": 556, + "records_with_pk": 556, + "missing": 0, + "missing_samples": [], + "mismatch": 3, + "mismatch_samples": [ + { + "id": 2799207359858437, + "content_hash": "c6a6ba6294aa9cb6c268b288616210a7dc651ed1082ae05a9c73bcca262ff5b0" + }, + { + "id": 2799207363643141, + "content_hash": "81d9861a2c3e8f961bb5765315fbf3beb80f3a03f6f529b2595a51838e6960e8" + }, + { + "id": 2799207266748165, + "content_hash": "fa4366a211f46b793ebd524ca6c1f2d4c7139e415fae78f3e9683022003dc337" + } + ], + "pages": 3, + "skipped_missing_pk": 0, + "errors": 0, + "error_detail": null, + "compare_content": true, + "content_hash_supported": true + }, + { + "task_code": "ODS_MEMBER_CARD", + "table": "billiards_ods.member_stored_value_cards", + "endpoint": "/MemberProfile/GetTenantMemberCardList", + "pk_columns": [ + "id" + ], + "records": 945, + "records_with_pk": 945, + "missing": 0, + "missing_samples": [], + "mismatch": 3, + "mismatch_samples": [ + { + "id": 2799218552833797, + "content_hash": "40d19d9fb3df790064de45a5671cffa5d7d92a72d308abe5d0b869ec15e4d563" + }, + { + "id": 2799216912434949, + "content_hash": "5db178c834745f473f293b8ba28622491b2c83ccca39f042928874304b0e07ce" + }, + { + "id": 2799216572794629, + "content_hash": "d3382be6d78faec2076494172c01b49e48c4c2c7ee05e36856ebaee99a705269" + } + ], + "pages": 5, + "skipped_missing_pk": 0, + "errors": 0, + "error_detail": null, + "compare_content": true, + "content_hash_supported": true + }, + { + "task_code": "ODS_MEMBER_BALANCE", + "table": "billiards_ods.member_balance_changes", + "endpoint": "/MemberProfile/GetMemberCardBalanceChange", + "pk_columns": [ + "id" + ], + "records": 2460, + "records_with_pk": 2460, + "missing": 0, + "missing_samples": [], + "mismatch": 4, + "mismatch_samples": [ + { + "id": 3076456426161797, + "content_hash": "60d43ed88af1da192bcd724f212e43603d2b936be78eabbc8f52a12ee785400a" + }, + { + "id": 3075750058837445, + "content_hash": "661c0ffbac0647e024b13af170ec7c696b1a6f7ccc0497f66ab3ff58972d462a" + }, + { + "id": 3075631427601989, + "content_hash": "1d4b49b20854ba18494027fd54ac68ab4cbd4c2d4d0e1d664a22deaba7ccb853" + }, + { + "id": 3075374340998789, + "content_hash": "144352fec9c0a2a2a1551f75285b5b97c174072c1ba494f26762927dee0325b3" + } + ], + "pages": 13, + "skipped_missing_pk": 0, + "errors": 0, + "error_detail": null, + "compare_content": true, + "content_hash_supported": true + }, + { + "task_code": "ODS_RECHARGE_SETTLE", + "table": "billiards_ods.recharge_settlements", + "endpoint": "/Site/GetRechargeSettleList", + "pk_columns": [ + "id" + ], + "records": 4, + "records_with_pk": 4, + "missing": 0, + "missing_samples": [], + "mismatch": 4, + "mismatch_samples": [ + { + "id": 3074130444551813, + "content_hash": "edc6a2bd4040a4acdecb320cd51a0a9128a190c2ae09b827ef66c499e40817f3" + }, + { + "id": 3074057282061765, + "content_hash": "43f343a187eaac34e6aee779f1f5bcfa4f765553b338e9e4060cd1a58405f51e" + }, + { + "id": 3074055249233477, + "content_hash": "a1d1f4dbf96563fb735eece295ec0a7afeb0e975d50b03f37697169e53f362b4" + }, + { + "id": 3074036779288197, + "content_hash": "2771fd271c7ce38d457b151fd127e5eb25f0a51a5e2a91899e33ab610840bd41" + } + ], + "pages": 2, + "skipped_missing_pk": 0, + "errors": 0, + "error_detail": null, + "compare_content": true, + "content_hash_supported": true + }, + { + "task_code": "ODS_GROUP_PACKAGE", + "table": "billiards_ods.group_buy_packages", + "endpoint": "/PackageCoupon/QueryPackageCouponList", + "pk_columns": [ + "id" + ], + "records": 18, + "records_with_pk": 18, + "missing": 0, + "missing_samples": [], + "mismatch": 0, + "mismatch_samples": [], + "pages": 1, + "skipped_missing_pk": 0, + "errors": 0, + "error_detail": null, + "compare_content": true, + "content_hash_supported": true + }, + { + "task_code": "ODS_GROUP_BUY_REDEMPTION", + "table": "billiards_ods.group_buy_redemption_records", + "endpoint": "/Site/GetSiteTableUseDetails", + "pk_columns": [ + "id" + ], + "records": 8190, + "records_with_pk": 8190, + "missing": 3, + "missing_samples": [ + { + "id": 3076485986829701 + }, + { + "id": 3076485929600453 + }, + { + "id": 3076485848941957 + } + ], + "mismatch": 47, + "mismatch_samples": [ + { + "id": 3076468632225157, + "content_hash": "03e48915edab14e8e4e2201eaaa94d90b0c5334bd68b28b42ab0c2f7fc0a83c2" + }, + { + "id": 3076467405440581, + "content_hash": "6e4c0a5988c6515906a84a721171af7fbf216b31af5479432ff84038c490bb32" + }, + { + "id": 3076458718267013, + "content_hash": "45c8a97f5e17c8f08168486e9b8dac654e80baa6de2b28f124cd7e8209cb0d9d" + }, + { + "id": 3076454441534853, + "content_hash": "52169580473b4e987f990a20d1377c8d9aedacaf3676628770417c768ba46497" + }, + { + "id": 3076448767051141, + "content_hash": "ae09516ad958e38f8bb6821d504f9461a1eaf317ec12c6fb806617275f4f8711" + }, + { + "id": 3076445048833413, + "content_hash": "00cb4b5212add98f95f5a0629b94cd4958132a2f92a69f2f645c8d6a7b5e2afd" + }, + { + "id": 3076431917565509, + "content_hash": "699a0ca77aa70d24ae0d3452fe58ccc163972fd4e42c8be272afbf08a1342bb8" + }, + { + "id": 3076427930224069, + "content_hash": "e8a40244b7fef5d03116bebde54336312ca56e902261e630d3007084b70d56dd" + }, + { + "id": 3076427930224070, + "content_hash": "f5e0933f692b8e64f1aea4871c866367f4b6719defd5004d8eeaa2f3b9bdb054" + }, + { + "id": 3076426271049285, + "content_hash": "83dbef2f770fa9f09f0d6d7702f86f6dbef25a9e310c55045affb81f9bda7851" + }, + { + "id": 3076404580140485, + "content_hash": "2438fbe220084112964ea42879b05e8139316b9ec080679f2b26945741ac4458" + }, + { + "id": 3076404529497733, + "content_hash": "5b14d59eee96d7eecb62ce2919b0cb32c7e6acfd3a8e15d7cef29fb71f844987" + }, + { + "id": 3076402097898885, + "content_hash": "8fddb6bd5eb3ef2026823f51fb92fa0995a3d45b78cccdadce52ae3ae4af7971" + }, + { + "id": 3076401436870021, + "content_hash": "02be9659028c862bab01d492ff4424c73d7da7b8f5ba0fa71612e62b43097e93" + }, + { + "id": 3076397496469061, + "content_hash": "13770c4852800895efd480b264311dcc8a2273d65423e02e7ea73a1c47d46814" + }, + { + "id": 3076397496469062, + "content_hash": "82dd56c6332ebe17bfd2c9cb420326501b443970fae5f2a0a094f93341eb12ae" + }, + { + "id": 3076391962379845, + "content_hash": "0133e4ded539cbbca6e34ba74cfeed81d1007c3ee288446f7b6531acfacce133" + }, + { + "id": 3076374836741509, + "content_hash": "b23910de34853d4341de3d4275b32415bca43ff305e6704e244424aa62ca379e" + }, + { + "id": 3076374001059397, + "content_hash": "ebd4d71fc826e9e21f68469bb18018183d4a94f5c1ef51954c1edb882aa6b859" + }, + { + "id": 3076364701697413, + "content_hash": "cd2a0eb03cdd7bd5ef7a3ed85d35f4ad7e7b0e2ebd524d5db17774d94057f663" + }, + { + "id": 3076361277490565, + "content_hash": "ffa39848ac12c567883c7c1c8d90d12aaf11eb5ccd9675b88e19740491a74f0b" + }, + { + "id": 3076341201913477, + "content_hash": "da1dcd599557d5e2435cd38a1e87396e9c6f149a4c0195d9a3ff0ded8208e15f" + }, + { + "id": 3076341144782213, + "content_hash": "4c87bf452bae2e2fcbb65ea4ac0fa11dcda311cd7cba1b2964a57380f9e61c0f" + }, + { + "id": 3076341144782214, + "content_hash": "aed66317ac3ecde8b7f841b18ca5874c8aab69d01707a866c01035b6ecaeb1a6" + }, + { + "id": 3076335084193349, + "content_hash": "0433c9d32ca4da3dc17d0376723ffff74cf2b864b7714f21cbd1d44b9395caf7" + }, + { + "id": 3076335084193350, + "content_hash": "5ad4cf8b719875ca52103194bfc4ffabc6cdece996f27795eeecc5e0347595e1" + }, + { + "id": 3076335008040325, + "content_hash": "e877371266db3946d000ef1707b29fd5f2bc3a6706a80a1cc32d2566bbb2745e" + }, + { + "id": 3076329489647237, + "content_hash": "06088be3fd1450a933ccd14633ad43eee4420fb9755dc4b0f997111dde1aa41d" + }, + { + "id": 3076325380490629, + "content_hash": "867f4b3ce53cc4734a3d0e2c453e946cc32d47668079855708cff47f2ae95163" + }, + { + "id": 3076282478265733, + "content_hash": "5aec53f7ba351cb0f62ac86b5d6bb705edf1afebffaacd642076de3406264006" + }, + { + "id": 3076255083742789, + "content_hash": "c4e64070771f0c4e55a598c814b872d56a46f2f9e3d1926eea4fe7f73fa91c80" + }, + { + "id": 3076160269174213, + "content_hash": "1cbcce3d170caa9a78513802a050bf9c3c7b34ccb49b58d2e88c03770b0adae7" + }, + { + "id": 3076138707092933, + "content_hash": "529b463dcc0c235f02aa89635947dd020cdc4dfdcc76c6bd79743c921f423cd8" + }, + { + "id": 3075584989677189, + "content_hash": "852ddc81f66d8f50c84cf57135342f9930c20a1c0cccab146c0acb3edd68affc" + }, + { + "id": 3075584277825157, + "content_hash": "f43b49b6c05b69e7135439b168df64778e0ce8b038aaf67d550a745c3ce484fc" + }, + { + "id": 3075575000008261, + "content_hash": "6f1e9002b395072464acbab1b5c0fc76157a94338ab145f377aa346ea2cff830" + }, + { + "id": 3075568527378053, + "content_hash": "283b1486a67947f39e76653e6b60455f6a1c3d49a14ce4bd28550a5895e318f0" + }, + { + "id": 3075537363879493, + "content_hash": "588a0e2456a9c9c15f60076caec66845194c672e140d7ba60e4d2beb1e68ba83" + }, + { + "id": 3075497054914181, + "content_hash": "a2e39b50ea64c3ee30a406bcd9f4ffc3a296f343a14cfddbfee4e8e88ab7784f" + }, + { + "id": 3075473703716485, + "content_hash": "8058a95dab8766f595a00d666da8ffcb03dfe135ddcb9d259f1950673fb93b29" + }, + { + "id": 3075443237995973, + "content_hash": "a110aca7ad125d23b03f1a7429008e37006cd3583d8c83a040e1b9120ed24d02" + }, + { + "id": 3075420149908869, + "content_hash": "265a6b12123e7f99848c70785020fe773eb1bdeb768a3bbdb901282e38f1e2bd" + }, + { + "id": 3075403456595397, + "content_hash": "fba3321ff27fd973a332a1dc3d61fe58fa62cb87ee65f4d02c88d15699f17ec4" + }, + { + "id": 3075397862852229, + "content_hash": "73324a0937aa8b30aada74b8bb08220411d24b82f7a178b9c6e9b016424265c1" + }, + { + "id": 3075381136623045, + "content_hash": "9caeb8c5968422936741cc20e532e8900776139fa3a28cdc08773c5010f3a177" + }, + { + "id": 3075359772395077, + "content_hash": "e6628a53bd9fe6f6e189605e740e905683697a626be66e068ee0d8bc13971195" + }, + { + "id": 3075358078223813, + "content_hash": "8f413eb8d858f1524c86a287ec0caba4110be97e7be39d2b93d9f573460222e6" + } + ], + "pages": 41, + "skipped_missing_pk": 0, + "errors": 0, + "error_detail": null, + "compare_content": true, + "content_hash_supported": true + }, + { + "task_code": "ODS_INVENTORY_STOCK", + "table": "billiards_ods.goods_stock_summary", + "endpoint": "/TenantGoods/GetGoodsStockReport", + "pk_columns": [ + "sitegoodsid" + ], + "records": 172, + "records_with_pk": 172, + "missing": 0, + "missing_samples": [], + "mismatch": 34, + "mismatch_samples": [ + { + "sitegoodsid": 3073782716778501, + "content_hash": "7605e97ecfa1fda63ec4dae916a38b9ec22f7a8dea76bf2f1fbd007c90e92acc" + }, + { + "sitegoodsid": 3053572251340677, + "content_hash": "dc5d1db0282a951fe025c5ed98929e1892a610a8314f0996f4f3abc821ece677" + }, + { + "sitegoodsid": 2826003636177861, + "content_hash": "2fe66332c302bc9f38b39acc99880b1f536117e4cf5a40be00c7fe03c8adc51a" + }, + { + "sitegoodsid": 2823321361894405, + "content_hash": "58f09a6f1a52ab65d6fbf5c31c896cd40b8ca74263aaadb076e1d3e594de5593" + }, + { + "sitegoodsid": 2794695801917573, + "content_hash": "401cd58a54c68f6a4d48cfd05191cd10a7ab61cde1e654731854d92c7e3d8076" + }, + { + "sitegoodsid": 2794695801409669, + "content_hash": "c884e95f510189ae167d3994fcf4534385d840ecb512b8155a8be88a6ab3f2a9" + }, + { + "sitegoodsid": 2794695800934533, + "content_hash": "53ddd03a1cdb3e033581dd21d4c6cf52e41c2eb1cd701e426619b6783eba281c" + }, + { + "sitegoodsid": 2793026434863237, + "content_hash": "c846ef7f6dbadb8671d264350c4510de361435e1fc32c6f3dc41bfa7cc351e1f" + }, + { + "sitegoodsid": 2793026434715781, + "content_hash": "f5b4d70544faba4c520897b940f136eccd32096b9d8a367ce7fdd2da14ac9aff" + }, + { + "sitegoodsid": 2793026432585861, + "content_hash": "30e0f9535f340a3408f8331ba5a7114db7f35d2943e03189e1bfbc42580169b5" + }, + { + "sitegoodsid": 2793026188415045, + "content_hash": "887c861e43f606b1aa57a2207e2cb3b5244351b177aa9311c9afc37655db3b88" + }, + { + "sitegoodsid": 2793026187726917, + "content_hash": "c42ca2b4c94c7581d00e530b1e29bcde27b0988a44436727db1bae9ba8860120" + }, + { + "sitegoodsid": 2793026187563077, + "content_hash": "38dce962cdd022612cc7aa7b0e01682fb1ff7fda177a5c15a2a113c304a8d438" + }, + { + "sitegoodsid": 2793026187071557, + "content_hash": "4c0c301b491313a4b262f5c973fdca33f65f5fbfb7043fe4cf9ca45bb4ae2ca5" + }, + { + "sitegoodsid": 2793026186563653, + "content_hash": "a2a9b2769dfb6f7ef067e45b08f60086c018a2ce3de62543968d848b65dd6751" + }, + { + "sitegoodsid": 2793026184646725, + "content_hash": "fd44fd98e3270cd4d414ff794b55203637bfc7fdb69c3e6f52b78825042e5b23" + }, + { + "sitegoodsid": 2793026184302661, + "content_hash": "43cbbdee4865def2913e293d9d28d0c7a7c7f9d8179923329e376bb0558e0a91" + }, + { + "sitegoodsid": 2793026184106053, + "content_hash": "87e7b0f2daee3af1719c780b0248da45a7fb48b8f5fa859898ba32794a233385" + }, + { + "sitegoodsid": 2793026183041093, + "content_hash": "41e52e21e8c1ff63ceb95d9d294a76ee00b687da2c83fef0b474d92f87753b73" + }, + { + "sitegoodsid": 2793026182664261, + "content_hash": "d6f7f9cef39c6eee8bb2d656ff63d88cb3e79e8278b94e081b4a0e065408fb7f" + }, + { + "sitegoodsid": 2793026180993093, + "content_hash": "203271106008f39067b1c7ee29e5b7e1103b0ca74d5eb5f3ba065f578a7d4b90" + }, + { + "sitegoodsid": 2793026180501573, + "content_hash": "ac1ce737fb9fff85a07a38bc1c246afb417bea26315968fb609d041f52dedf75" + }, + { + "sitegoodsid": 2793026177486917, + "content_hash": "1467da85f7a1dea145d25c6fa0e141714c239b688d054d4118d20afab7213fa6" + }, + { + "sitegoodsid": 2793026176012357, + "content_hash": "80e5d3cfc9f49ffd8013efacaa1635c4bdb4e8ad4bb22bbd7d582d5316f64991" + }, + { + "sitegoodsid": 2793026174865477, + "content_hash": "bf8231fb5ee48aaeba5971ccb6ebb4789b9b8a50e21581dec09d73b95956a712" + }, + { + "sitegoodsid": 2793025862963269, + "content_hash": "6cc88a5e65bfc6b6fbfa8f5b16d52367c0e19807b9d267f6bec8022c07a1ca0f" + }, + { + "sitegoodsid": 2793025862438981, + "content_hash": "4fc1fd258db6a90101cc1d5a6f4f2f57f336a9932b982a0cb64d432ae25b0213" + }, + { + "sitegoodsid": 2793025861505093, + "content_hash": "16bbf7c7b5d71cea819cb32c03f0e51f4f675cd737a3ca9726f7618b3941a281" + }, + { + "sitegoodsid": 2793025861308485, + "content_hash": "2981cec222988a4121ba67c8767f909b00591797176662fc7537ec1de8f5ff36" + }, + { + "sitegoodsid": 2793025850576965, + "content_hash": "4a5b06aaf846401cb8503f79ef56cb121f33b738d5df57ffa0f9366f740ddc25" + }, + { + "sitegoodsid": 2793025848102981, + "content_hash": "f683772cc92cdd0abceabe5addcd41fc5857815e7266ed62a96872f195d7abc6" + }, + { + "sitegoodsid": 2793025846464581, + "content_hash": "42186140b0b0a9d49fab43811db955900ec10702545181ccf85c146667f35d37" + }, + { + "sitegoodsid": 2793025844727877, + "content_hash": "6b05cbe3d02b47a49385b4d848ad70e22903a5bcf041d57da83dbb6b4b36034d" + }, + { + "sitegoodsid": 2791953867886725, + "content_hash": "a624bc1e3609a9414279336c13f5049f8763bd6e1e52586972ec1d677ec0d1bf" + } + ], + "pages": 1, + "skipped_missing_pk": 0, + "errors": 0, + "error_detail": null, + "compare_content": true, + "content_hash_supported": true + }, + { + "task_code": "ODS_INVENTORY_CHANGE", + "table": "billiards_ods.goods_stock_movements", + "endpoint": "/GoodsStockManage/QueryGoodsOutboundReceipt", + "pk_columns": [ + "sitegoodsstockid" + ], + "records": 401, + "records_with_pk": 401, + "missing": 0, + "missing_samples": [], + "mismatch": 401, + "mismatch_samples": [ + { + "sitegoodsstockid": 3074735908537989, + "content_hash": "a787d8ebe85360a415b39c03fe06763a7e73bff2ce448b0039710d938641f4b9" + }, + { + "sitegoodsstockid": 3074735908374149, + "content_hash": "d82835fc635d62e3afe9bc439e486e1380a9f9f73c3b1db14055bda8488c2bef" + }, + { + "sitegoodsstockid": 3074662021662149, + "content_hash": "3f23d16c5179d3c90c960259328714e296d491a2eb4c2b309af48950e544482f" + }, + { + "sitegoodsstockid": 3074661967431109, + "content_hash": "fe0d02a06d703c48ca6047a32dedef5abc960358abedf774d83f2ccf0fdfbb77" + }, + { + "sitegoodsstockid": 3074661647205829, + "content_hash": "2295d16899e4d8364c975bea95a3c1572b89fdb2fa93f5f2167cc284d0b9627a" + }, + { + "sitegoodsstockid": 3074622124656069, + "content_hash": "3796045e98388c4a2cb066529748a633cbae5ffc197ab3a96ea41aa835ae6cdd" + }, + { + "sitegoodsstockid": 3074590160225925, + "content_hash": "144c8ae1a2ea9c534328dadef018634ec717caa9d5938284ce3609b5ea282879" + }, + { + "sitegoodsstockid": 3074590084646341, + "content_hash": "5d0913e70be4605ba3cb8e340bf80b46e78c143733d2f3ca1d4f185f303da20d" + }, + { + "sitegoodsstockid": 3074413494617669, + "content_hash": "725dccfaebd0b6ce489fe9a3a6ac6c9eea60ffb16fe6207336d57e519d4c235d" + }, + { + "sitegoodsstockid": 3074413495109189, + "content_hash": "ba34af3782655828ef7074dd0d4ab4966183f1cc03660b54dfdff6c261e9b463" + }, + { + "sitegoodsstockid": 3074413495567941, + "content_hash": "373c7b967e99ba4e793a4d63d93010f82ee7ba55e1be622a349e512f211c5a57" + }, + { + "sitegoodsstockid": 3074413496026693, + "content_hash": "acbc149d8e4b9f7ce700866aa8434cfe8a667c93e1ec8679ed4696ae04bba463" + }, + { + "sitegoodsstockid": 3074333312484933, + "content_hash": "8134fcaac6218d808ef25ccb99302526e9ef93d22e3e2b2fe13dbf5188464b55" + }, + { + "sitegoodsstockid": 3074304742802885, + "content_hash": "5494bc23ac08323293ca2ef22a25c40c83992ef12ffdf31e3985c06704214f59" + }, + { + "sitegoodsstockid": 3074241662944901, + "content_hash": "9165070c71a10c73fd9806706b0e0b1ddf6f5c5d2bf26d17f1c5231a35d70c42" + }, + { + "sitegoodsstockid": 3074203155531333, + "content_hash": "ace8e1cb1cd7ff3589fa36a40489529048193da0920ddff9870ee4ffa2ef9b6b" + }, + { + "sitegoodsstockid": 3074178707113349, + "content_hash": "c540e9d3009c2f65cdf06e814af5661e1cfad3e1eb7599d8b6f62e27466439ab" + }, + { + "sitegoodsstockid": 3074142309041798, + "content_hash": "892cb8a4b1d1b790e6115dce9e486587e84295a8e73c900a281d060d07f13635" + }, + { + "sitegoodsstockid": 3074125062735301, + "content_hash": "4c9161e5c03e2906af2cfd13fa86f585cc81d26036bf8098b07095c275590693" + }, + { + "sitegoodsstockid": 3074125062194629, + "content_hash": "4f3b24af71316991904333a3225b533b368e9b1c100a0391edf8e46fbe27701d" + }, + { + "sitegoodsstockid": 3074124945540549, + "content_hash": "a8fef93f0072e427ceff9b88d85582232e84d186ad0f13a7597bec7ea630e753" + }, + { + "sitegoodsstockid": 3074120331986565, + "content_hash": "f86239dd3706f9eed4b28c64877638bf3af345c2c9ad022237d2469f6502403d" + }, + { + "sitegoodsstockid": 3074096663053701, + "content_hash": "36310f7581363a5a1e63a0a66447c0c1523e95fe4688ebd648c07f8c55ad3144" + }, + { + "sitegoodsstockid": 3074096412100037, + "content_hash": "ec18ea58b1cec00ff81083d787d630957e58eedfba65b528064fa51551a2e931" + }, + { + "sitegoodsstockid": 3074093841598021, + "content_hash": "3b1bc934a766ddd16ac107a8e4fb720ff9ca0452fe294b5aa69c19351bc83e1d" + }, + { + "sitegoodsstockid": 3074093842122309, + "content_hash": "dd2ae571fb0d943d2be1dd396b76789a8eac5110727b32c276b5b4e8857fd604" + }, + { + "sitegoodsstockid": 3074093841090117, + "content_hash": "8e4f8def0ec6c25ed2154632b7286ffd35a5ad883071254de735cc5754fb9acc" + }, + { + "sitegoodsstockid": 3074088737981893, + "content_hash": "cb7be292483b27724f64cfb57d1bee6afeab1720e7eb988b9edb3642d56c6e6e" + }, + { + "sitegoodsstockid": 3074088523417221, + "content_hash": "a16d83a094791c59d44c2a51e5c8dc88257ba481cfb124417044479fe9ad5757" + }, + { + "sitegoodsstockid": 3074085307483589, + "content_hash": "5f9a744380da310e37c96d7078d90a5a4c9d305dfa37f19ba46403b44234bbe3" + }, + { + "sitegoodsstockid": 3074085022680646, + "content_hash": "06021d9ca3914beedddd50155a6f1a8a07ae9cbf3b35799d75237d262b63f8ba" + }, + { + "sitegoodsstockid": 3074077526263237, + "content_hash": "8ce86596985224121e1122cc006046ca91ca2b02fecba6230773677f2ac94839" + }, + { + "sitegoodsstockid": 3074072845043141, + "content_hash": "04f8172b2e4f02a03b760191376712f0a22a85a3baf8ad569d9976f34b156c6d" + }, + { + "sitegoodsstockid": 3074072494441861, + "content_hash": "065913237f685d72d66f02f6dd1b761ed0a383479343d3e0f66fab00e24969f6" + }, + { + "sitegoodsstockid": 3074063382300101, + "content_hash": "518288ee64a57dc498e6834eadff4ced6fe9ebbfa7b3ee51577465c7431bc25c" + }, + { + "sitegoodsstockid": 3074063265400261, + "content_hash": "7aea766a56bde68fc31eb1e955f3d5d218b66554f0259b75575c8ec1bb19995c" + }, + { + "sitegoodsstockid": 3074061389694533, + "content_hash": "13334af4a189f65405c3f221ceb33b85981340c2b3514d589b8693f615ba0f25" + }, + { + "sitegoodsstockid": 3074061335528837, + "content_hash": "4957ae95e29d02f5b46d93fa66c37ed360365ee0d96b6b36b2c35bb16702e6bf" + }, + { + "sitegoodsstockid": 3074061004441029, + "content_hash": "b19e09cca6fe7b89e050fa2726a7c99b7aa3ae1735bc5b3833f764e10624477b" + }, + { + "sitegoodsstockid": 3074060737562053, + "content_hash": "3c5d761fb8a0cbc4a318a3e9251d7d094a06268b63f7766ffed2e50452400c8e" + }, + { + "sitegoodsstockid": 3074060570019269, + "content_hash": "b8165a53c468b91135d24a63d9d1f3f485525673b3743f5d064217a7c77f67cc" + }, + { + "sitegoodsstockid": 3074060508399237, + "content_hash": "83715c2a791021bd86ccfeb7f850dcb78108b89d13f6d8b962c1fd4fcdc36615" + }, + { + "sitegoodsstockid": 3074060451071621, + "content_hash": "5a08891c358ba5064bfacfd30146d8d6c8ab9c28ec4d50305549c6a66b7cbad5" + }, + { + "sitegoodsstockid": 3074060391368069, + "content_hash": "4e07f29bf426947fc763f3a2131647465525e423ae82ce7463eccae3652f2d5f" + }, + { + "sitegoodsstockid": 3074060328961669, + "content_hash": "9b4fbe445a3118ed06aed89522d212b862b7f5c2f3f57c95455a94a8f612ea83" + }, + { + "sitegoodsstockid": 3074058003449861, + "content_hash": "f7501a7bd6e3d6b80d0ca2dcb42a9ed62daa6aee52206c9e4d58f64b3dfb7c3f" + }, + { + "sitegoodsstockid": 3074057355069445, + "content_hash": "aa6763074a8b1825990e3dcbc50d89199f586b995784d21a55d413967f1fc207" + }, + { + "sitegoodsstockid": 3074057357690885, + "content_hash": "498e952032104840f1a5e8b961d19453ce3d8faff1ff64bd6a062ca0c64f3299" + }, + { + "sitegoodsstockid": 3074057358166021, + "content_hash": "8febc4ead03f7fbda68fb9d6b7a27e9baa8cb1cc227c6fecc52688e16015eea4" + }, + { + "sitegoodsstockid": 3074057357133829, + "content_hash": "7104022d7f2e81e4151f13315abef574209a80439b6b2f61cf45aca1a53bdfda" + } + ], + "pages": 3, + "skipped_missing_pk": 0, + "errors": 0, + "error_detail": null, + "compare_content": true, + "content_hash_supported": true + }, + { + "task_code": "ODS_TABLES", + "table": "billiards_ods.site_tables_master", + "endpoint": "/Table/GetSiteTables", + "pk_columns": [ + "id" + ], + "records": 74, + "records_with_pk": 74, + "missing": 0, + "missing_samples": [], + "mismatch": 41, + "mismatch_samples": [ + { + "id": 2791964216463493, + "content_hash": "798abffe81d3ff3e514eb606f2e8b292d46a6fcebf98ac6eb1d51f6e67af2260" + }, + { + "id": 2792521437958213, + "content_hash": "a78689d0ae4f510500913f07397e33a6259b1a10ebcf2c14ec873a06da39adb1" + }, + { + "id": 2793001695301765, + "content_hash": "6dd8492f5abd3aed66869de9ca4c2c9265519f09e43f1720a3b0fb3e9c73e528" + }, + { + "id": 2793001904918661, + "content_hash": "5430f6872f000f78eaa2fe395a9c556162718e4e8a6df05c199dc49bfbc35c66" + }, + { + "id": 2793002509209733, + "content_hash": "a12a1cd0ae526aceb643d542c91e339a07a280c9156c0aa2092c65f3580ebaac" + }, + { + "id": 2793002673295493, + "content_hash": "a60520ff46c38dadcf32b05c3cb487553a291b65643c8afc36ec9a0c4c93d782" + }, + { + "id": 2793002808987781, + "content_hash": "0e78c070cbf71da53e6cfaa40ae5fa41356ad636c453edb95ef4acc744e0e578" + }, + { + "id": 2793002896494725, + "content_hash": "5b9657ea3f13a518d1710802599fb530ea046c1a754da5960865f397e7ec949b" + }, + { + "id": 2793002980429893, + "content_hash": "95de525bf94477093a8f38996d7f2e0dd5062bb2fec0f040beb2fd16d218a9b6" + }, + { + "id": 2793003066429509, + "content_hash": "23332f21838d8955f8c962ca6e6c9d9e7b58c2874b15513a8f6dc10566fbfdd0" + }, + { + "id": 2793003159474245, + "content_hash": "36d8b792cc907deb28c23450728490622cee19371ae45cecc60307aeff29c311" + }, + { + "id": 2793003323740229, + "content_hash": "189ee930a4aec5b511d9dbe7893b10909e9f425137a732f3dd93cdeeb48e74f6" + }, + { + "id": 2793003420504133, + "content_hash": "3b56281f0b721147abc3c5ea0aeab4cfdc76849636f349afcc8db503116956b3" + }, + { + "id": 2793003506815045, + "content_hash": "89b084ff893fe901917ca842570f11cb2afc42b74f1302c3fde4d805d45f2bd3" + }, + { + "id": 2793003618340933, + "content_hash": "07f6081e7397a717d503bc8f62ff5510e43319b4d1f438ec5039c291df313294" + }, + { + "id": 2793003705192517, + "content_hash": "2868a7649dd64e4c23bee13ce610f47c56995a6db0249a038d33900431e3adf9" + }, + { + "id": 2793003806953541, + "content_hash": "6d22943229f67af449b18467e94c0f28da861249e09810e22439da3e5dea6a76" + }, + { + "id": 2793010820304965, + "content_hash": "2dd68ea2b05869154d769ebce1da1aa450655cb69bb4a62bb07aa1e0e29aa750" + }, + { + "id": 2793012902121605, + "content_hash": "37ccfb545e97e145c61752a916e9328237e101bcb987d144a493c6df31f47fad" + }, + { + "id": 2793012902154373, + "content_hash": "f73990a3829a47a7b0b519d8daca7dedcbb2d4dd9f720ecf941fa8936875dad8" + }, + { + "id": 2793012902203525, + "content_hash": "906605fe532a5859ddb9ab9a8ee5961fb044815f7c1824d27108301bb3da6bf1" + }, + { + "id": 2793012902236293, + "content_hash": "5d3d4c1f97aa94e05c42c22833e416c6e6fb2a0fc83d2fadc14e24997d05a919" + }, + { + "id": 2793012902285445, + "content_hash": "5733820c42a0a0978f31e1a3c851e17a5250e748d809b3ef809de701774b02f9" + }, + { + "id": 2793012902318213, + "content_hash": "21c2af08893e056b560c3895cb23b1c8b4a4f923bd2c187bfee55a896921c615" + }, + { + "id": 2793012902367365, + "content_hash": "b65da8fd02ea8e87629e07c4613428f9bfac7677f683e82e69915df391e2c7ce" + }, + { + "id": 2793012902563973, + "content_hash": "c4a4d065f4b840bb1e48399f50cf26f47a7d16dbe6d84d22ca400406463bb088" + }, + { + "id": 2793016660660357, + "content_hash": "4f62704d8b471a204de94db3b50d68a64e8e7352a9fd9c074e238be469148d53" + }, + { + "id": 2793017278533765, + "content_hash": "6da25c33731be6ed0964c76ad91a0862919ed404f7e4897b7301f012f331d08d" + }, + { + "id": 2793018776604805, + "content_hash": "daad7f15a2f8a8a2ca2a974adda904f4c5ce84f1ac635884031b9ad542963b15" + }, + { + "id": 2793018776653957, + "content_hash": "c472544548b0de3230b4f9a4339b5e46f7d3912bf736beb0dcf924d804024ea3" + }, + { + "id": 2793018776735877, + "content_hash": "f45abe15cbc9005199e33de4f0789640754e82ce3f64202ed423f0698fa681da" + }, + { + "id": 2793020259897413, + "content_hash": "e37060783fb9d6cff3ec22944ed32331485ac68f5133be2c5eb27bf8b4accd86" + }, + { + "id": 2793020259946565, + "content_hash": "625114f7ff546725806b2208269ff67b92706a1101a1501f363bb44ecdfb85d7" + }, + { + "id": 2793020259995717, + "content_hash": "14c35bc47f7ba4039c3b0782fcbacb9c2b7c184e5eb04d037cbf9bffca3f2c6e" + }, + { + "id": 2793020260044869, + "content_hash": "edf6a69cba38adaeed8c159451e9788523d551bc48f3042a52d81ac6d9ff3757" + }, + { + "id": 2793023960551493, + "content_hash": "14f8de795d882d329836b29aa2a872ec7fedd1b7e04929bdffc83e1882d348b8" + }, + { + "id": 2793023960633413, + "content_hash": "bda679b1088c6221a9a28918abe792bc35cec68a8940ba81c2e94e4ac23def14" + }, + { + "id": 2851642813353477, + "content_hash": "3bc41f13d492ea51ab6e303bbb1efd076ad093db626b949e9b40fb26ea9d36cf" + }, + { + "id": 2942056832061125, + "content_hash": "2a6ac9f860de84808d531662b6df10f4e63c5ec437d7639d3020d04486713d20" + }, + { + "id": 2956247996190021, + "content_hash": "5703f784ef1f4f62b641a16088c4ee137b51ca34a67a840fbc5e1686b2828486" + }, + { + "id": 2793022145302597, + "content_hash": "d10b11ab1540af23042e09a8522549782457adb52faf15e93c7530d5db1b37b6" + } + ], + "pages": 1, + "skipped_missing_pk": 0, + "errors": 0, + "error_detail": null, + "compare_content": true, + "content_hash_supported": true + }, + { + "task_code": "ODS_GOODS_CATEGORY", + "table": "billiards_ods.stock_goods_category_tree", + "endpoint": "/TenantGoodsCategory/QueryPrimarySecondaryCategory", + "pk_columns": [ + "id" + ], + "records": 9, + "records_with_pk": 9, + "missing": 0, + "missing_samples": [], + "mismatch": 0, + "mismatch_samples": [], + "pages": 1, + "skipped_missing_pk": 0, + "errors": 0, + "error_detail": null, + "compare_content": true, + "content_hash_supported": true + }, + { + "task_code": "ODS_STORE_GOODS", + "table": "billiards_ods.store_goods_master", + "endpoint": "/TenantGoods/GetGoodsInventoryList", + "pk_columns": [ + "id" + ], + "records": 172, + "records_with_pk": 172, + "missing": 0, + "missing_samples": [], + "mismatch": 77, + "mismatch_samples": [ + { + "id": 2793025844727877, + "content_hash": "025c15fc5ba35889ad8c54edfe0fd8272d3eba447aa3bc68c0e3f6ae4f2c6739" + }, + { + "id": 2793025849102405, + "content_hash": "7b4c99882ec640b7c14f644c5796baa78e51d17cfb128df119c65bed03e3e44a" + }, + { + "id": 2793025845825605, + "content_hash": "35d9404c0feb349f74ee2edfd34cce9f62580b6205708645216f1c6936a0411e" + }, + { + "id": 2793025849593925, + "content_hash": "de9ace648df358433e40a49a932f729a8dcc5b9e497b331c4a15117f88367f63" + }, + { + "id": 2794695800934533, + "content_hash": "5d10ff95587dec237e457e8e938b7f6adf82a30970b7511eac835803b37d8eae" + }, + { + "id": 2794695801409669, + "content_hash": "5cd60a5a938e8a79604bdc944bf5c7588feab2540e56a71b8857928c14b3c01f" + }, + { + "id": 2794695801589893, + "content_hash": "608833b54c8d113b32b5afd6c9bcdde24ab435617e6fbf3d36c09f0d190b820e" + }, + { + "id": 2794695801753733, + "content_hash": "e21c0a32720309425119907f303519f1b0334a8061dcb0c75ffed2b182a91195" + }, + { + "id": 2794695801917573, + "content_hash": "3d9c60f344a1f12a4702a8a2c0538625fc9a5696cb790f8e98b47624e91d7b3d" + }, + { + "id": 2828836772432837, + "content_hash": "6a0d7318cd212782aa97d931dff6dd8c043721138ad8b394a641cdc951d90818" + }, + { + "id": 2878393200266693, + "content_hash": "cf76b0f7fabfc95d747f427e1a49d0aa82532a777e25486091cf987f9fe1c4ee" + }, + { + "id": 2959253027243589, + "content_hash": "9045dd7a4ee4a1b0441ffca7055859b72ce8c279c8a6fb58348a4d9ee29ecb69" + }, + { + "id": 2793025860145221, + "content_hash": "ae10b2893d02e3301f3cc7b86f465fb80f9786e859c04a55671745360a94bce0" + }, + { + "id": 2793025861128261, + "content_hash": "20c1d19ef2949a4351e068e9f8dcc261d81a9ae2a5661d4cf4f5b920953c8c74" + }, + { + "id": 2793025861308485, + "content_hash": "085e626bfebfc7f28b0559d9248e6c36900032945c8ab785824c8a188440a250" + }, + { + "id": 2793025861505093, + "content_hash": "db44806d13c8115c57351be0dfd4fd8eaea8f1ecfa7fb716c7fc2ae0394bcd6d" + }, + { + "id": 2793025861685317, + "content_hash": "452feb1a8a04a8e2ff0ca8c94348d6f81abfd1757dd45f2f0a909f55466923d7" + }, + { + "id": 2793025862438981, + "content_hash": "e90e7eee5636b796d3a92ba4623cd12d8429b54c3c9f857a0221b2b82854718f" + }, + { + "id": 2793025862963269, + "content_hash": "61a6f16b5f233b310a36d8449c52f5e92be2da84fba78dd63fbf4eec26f4a85d" + }, + { + "id": 2793025863127109, + "content_hash": "6f88fadde353aad71c78c4ed439641ea53a4a1560e5de06610956ce1e4c26c02" + }, + { + "id": 2793025863290949, + "content_hash": "b48f9af3a106c1eee3c6706ed46d444fc4144655499f2cd4a5930eeeac389758" + }, + { + "id": 2793025845399621, + "content_hash": "735b87c358892e1df55c8a411d8904b2a79c71af0a4bfeec2c983d3a2a634c2b" + }, + { + "id": 2793025846464581, + "content_hash": "7d057dc5054841a361ebc6dbf6a898597d4b6b2592e2493c2db801725a3e09b7" + }, + { + "id": 2793025847595077, + "content_hash": "e3cfe6fb5e843e7e212028bd87832ad23135673303ebc4a1edf49fa93452fd5e" + }, + { + "id": 2793025848102981, + "content_hash": "688fe9044c896e280828fa763769b22cb74ba19d96e6252741a2d9320590f244" + }, + { + "id": 2793025850576965, + "content_hash": "11b468c595981b93d0d79b1d75cb9da028b31b94c94e707ca97276fbcb8e3395" + }, + { + "id": 2793026186891333, + "content_hash": "aed2ab2803b0e10cc55005b28dc67be1c68869555c905bf93c36909d8b8a4453" + }, + { + "id": 2793026187071557, + "content_hash": "12229f7ee3163c7f884d246b5af3a65c51e63c84379a47e6239522937fe48b12" + }, + { + "id": 2793026187235397, + "content_hash": "f4c32ff0835c00eff54d001e0dbddc059a6fd448ef6d97698446f113ceb45b5c" + }, + { + "id": 2793026187563077, + "content_hash": "f63b71a3c744a6c70f9a9beef419a3a7ecd47a494cb2ad45b72b3e97ea48448d" + }, + { + "id": 2793026187726917, + "content_hash": "78ddc37419b11c5458a3c0a14fc1434ebf79f715ea20231880c02e887fda20b8" + }, + { + "id": 2793026188415045, + "content_hash": "ce0e2a6573c9d5a414ef36d961d956489f4bf9df880ed98d37e75ea9751234b0" + }, + { + "id": 2793026188578885, + "content_hash": "e4520dbe6bd5ae58886dd51cd7fe67f599a20d5821063786156f9b30342959f8" + }, + { + "id": 2793026432585861, + "content_hash": "0bddcdfbc6e2d04dcb6fd4c9e5c0d448344f6b5a3a1167405f2b71f4de69d861" + }, + { + "id": 2793026432733317, + "content_hash": "eae280edf9908ccaf9aefa5d7e8027738a96454bbc7f40f6b493bd6c7b7b058c" + }, + { + "id": 2793026432913541, + "content_hash": "efffb9a0f31a45dfebb54ce10146fa552b4a396aaee517f11ca469b2c524e41e" + }, + { + "id": 2793026433405061, + "content_hash": "43005b4cadb9922d3452acc45884d640fad03433b37d11297e711acfca3928af" + }, + { + "id": 2793026433568901, + "content_hash": "c38eb2a7c8fc44ab76d1356bd58886d5e640a0f7db569f267b5e546593c411b1" + }, + { + "id": 2793026434568325, + "content_hash": "a19e18fe007a2c224c44bbeb0c1c63c70b04bb7ce9dd87029e7d7c853831e395" + }, + { + "id": 2793026434715781, + "content_hash": "5879bebdb60079ebc45dcd543090513a53c0611e98605ce183699b067bb5a1c3" + }, + { + "id": 2793026434863237, + "content_hash": "a43873e4d27e6ad726f22a89d6c1616ac6895bc33b99149c68050dee959a3c1e" + }, + { + "id": 2793026435027077, + "content_hash": "71f740c7868e83c0b91701c444598c36de2ed37b9af8e07709bd1b4c5db40db5" + }, + { + "id": 2804514498563141, + "content_hash": "914f9ff9062991b93355592deadbd1d33aa9c8ba2dc2c2d899cdd8686192770a" + }, + { + "id": 2823321361894405, + "content_hash": "6f2c37209dfe93862defa5d226f241e189adbe36e2b7816da50bd8fbd73ed5d9" + }, + { + "id": 2826003636177861, + "content_hash": "ec78c0358b9ee6a938910fae81bac18a2c7e59b77408209728cdd2be829c7361" + }, + { + "id": 2834064312256837, + "content_hash": "84e8dd7d9388bb1270d5202c612fdecb928f3096f1312fbd073c3dc3686dfdea" + }, + { + "id": 2966339994143941, + "content_hash": "fc773234160363b1164cf2118cd5e438e1a3b9b7737a16e8e8ee16722bd6b4f7" + }, + { + "id": 3073782716778501, + "content_hash": "ec7d370fa90751e55b3d13a08e3ddf3342e901b9484648e72be01a4a31e6ff88" + }, + { + "id": 2793026185154629, + "content_hash": "bb5d66cc55023b1b6ad1f582803f9d9bd631e10a0c644038c65b8833221f6bb0" + }, + { + "id": 2793026186563653, + "content_hash": "2e243bb0dc2db30a6d5d18d489ee059ee7adfb47f066823b02017381d114dac4" + } + ], + "pages": 1, + "skipped_missing_pk": 0, + "errors": 0, + "error_detail": null, + "compare_content": true, + "content_hash_supported": true + }, + { + "task_code": "ODS_TABLE_FEE_DISCOUNT", + "table": "billiards_ods.table_fee_discount_records", + "endpoint": "/Site/GetTaiFeeAdjustList", + "pk_columns": [ + "id" + ], + "records": 1777, + "records_with_pk": 1777, + "missing": 0, + "missing_samples": [], + "mismatch": 16, + "mismatch_samples": [ + { + "id": 3076479298274949, + "content_hash": "0c33327ca56dbcdb3452cddbedaa345de5624e1d39b0282045134bead3fdf5bd" + }, + { + "id": 3076456429356677, + "content_hash": "8a97168787f45bd49687465a23efa4f56fb2142f35ee1336f715339d1be9e1fd" + }, + { + "id": 3076455565591941, + "content_hash": "0200a428169a577407afd444f545a0467a7ab2b354b07ee162b5530c153e0157" + }, + { + "id": 3076454348965253, + "content_hash": "8058a654a375b02808741983def691afa24f32e4be38590999cd202b546a2848" + }, + { + "id": 3076324808672901, + "content_hash": "001b0cced124147a61675cbc0d5c316a0ed64c18da4b328036d2f00b2c347799" + }, + { + "id": 3075796678313413, + "content_hash": "0978f5b5d6cb09d84c5cdf1259a1803171089751ca7e61e9b88ab9f7ccd0f56a" + }, + { + "id": 3075750062818757, + "content_hash": "6a983f0bf24627613fd375a9ff686cd53d7fcfb4f73d973dd8ee427a3c17fa98" + }, + { + "id": 3075626779002309, + "content_hash": "5f1b0e315ab0654f17734b3b54936bd501ad454b66c3da661fb18b4891f4c54e" + }, + { + "id": 3075502544193157, + "content_hash": "39a0960cd987ec2b23e5581abc35c4317938c6220d93b622406c1414e521e603" + }, + { + "id": 3075502544144005, + "content_hash": "598e107a83f47df4516402058c73ffadc3885e3e19abd7932b8d91f4d1fcb9e4" + }, + { + "id": 3075502544225925, + "content_hash": "3dcf8130a04a486f83c3918ef6247b629671f5cc7f491131913d8363cd3e47f3" + }, + { + "id": 3075502544111237, + "content_hash": "4bd1cb4bf649c09a65f22db9a715205d848ea7d96d86b3454bab316020ffecc5" + }, + { + "id": 3075473006429765, + "content_hash": "e30bd3bfac13e2213fd9445a7fbc0d6a0f8d64fc139ca69d55f9d6ef98319b35" + }, + { + "id": 3075473006380613, + "content_hash": "ae191823a826cc4689218a5f54014931e3ac2be1b33cd6384348dbfcbc2f9a9d" + }, + { + "id": 3075443238110661, + "content_hash": "494fa014b724e7b120a74d7dacadd3a4c107df4ead17df2c9dda2090f174cb32" + }, + { + "id": 3075437388203397, + "content_hash": "15660e4abbcd3a51881d3145ea2cb794c569c98d79323188af8136e817797ce5" + } + ], + "pages": 9, + "skipped_missing_pk": 0, + "errors": 0, + "error_detail": null, + "compare_content": true, + "content_hash_supported": true + }, + { + "task_code": "ODS_TENANT_GOODS", + "table": "billiards_ods.tenant_goods_master", + "endpoint": "/TenantGoods/QueryTenantGoods", + "pk_columns": [ + "id" + ], + "records": 173, + "records_with_pk": 173, + "missing": 0, + "missing_samples": [], + "mismatch": 0, + "mismatch_samples": [], + "pages": 1, + "skipped_missing_pk": 0, + "errors": 0, + "error_detail": null, + "compare_content": true, + "content_hash_supported": true + }, + { + "task_code": "ODS_SETTLEMENT_TICKET", + "table": "billiards_ods.settlement_ticket_details", + "endpoint": "/Order/GetOrderSettleTicketNew", + "pk_columns": [ + "ordersettleid" + ], + "records": 249, + "records_with_pk": 0, + "missing": 0, + "missing_samples": [], + "mismatch": 0, + "mismatch_samples": [], + "pages": 2, + "skipped_missing_pk": 249, + "errors": 0, + "error_detail": null, + "source_endpoint": "/PayLog/GetPayLogListPage" + } + ], + "total_missing": 9, + "total_mismatch": 1161, + "total_errors": 0, + "generated_at": "2026-02-01T17:46:15.933857+08:00" + }, + "ods_to_dwd": { + "tables": [ + { + "dwd_table": "billiards_dwd.dim_site", + "ods_table": "billiards_ods.table_fee_transactions", + "windowed": false, + "window_col": null, + "count": { + "dwd": 1, + "ods": 19021, + "diff": -19020 + }, + "amounts": [], + "mismatch": 0, + "mismatch_samples": [], + "mismatch_error": null + }, + { + "dwd_table": "billiards_dwd.dim_site_ex", + "ods_table": "billiards_ods.table_fee_transactions", + "windowed": true, + "window_col": "create_time", + "count": { + "dwd": 0, + "ods": 230, + "diff": -230 + }, + "amounts": [], + "mismatch": 0, + "mismatch_samples": [], + "mismatch_error": null + }, + { + "dwd_table": "billiards_dwd.dim_table", + "ods_table": "billiards_ods.site_tables_master", + "windowed": false, + "window_col": null, + "count": { + "dwd": 74, + "ods": 74, + "diff": 0 + }, + "amounts": [], + "mismatch": 0, + "mismatch_samples": [], + "mismatch_error": null + }, + { + "dwd_table": "billiards_dwd.dim_table_ex", + "ods_table": "billiards_ods.site_tables_master", + "windowed": false, + "window_col": null, + "count": { + "dwd": 74, + "ods": 74, + "diff": 0 + }, + "amounts": [], + "mismatch": 8, + "mismatch_samples": [ + { + "table_id": 2793003506815045, + "ods_hash": "0ff4fc2068ac913e9820c75ea876b619", + "dwd_hash": "6240cc60909451cfe921c6b468006774" + }, + { + "table_id": 2793002980429893, + "ods_hash": "6240cc60909451cfe921c6b468006774", + "dwd_hash": "0ff4fc2068ac913e9820c75ea876b619" + }, + { + "table_id": 2793003420504133, + "ods_hash": "6240cc60909451cfe921c6b468006774", + "dwd_hash": "0ff4fc2068ac913e9820c75ea876b619" + }, + { + "table_id": 2793003806953541, + "ods_hash": "5d8dc26a5ccbf08d3c9fe3617104e37e", + "dwd_hash": "0ff4fc2068ac913e9820c75ea876b619" + }, + { + "table_id": 2793010820304965, + "ods_hash": "5d8dc26a5ccbf08d3c9fe3617104e37e", + "dwd_hash": "0ff4fc2068ac913e9820c75ea876b619" + }, + { + "table_id": 2793012902154373, + "ods_hash": "5d8dc26a5ccbf08d3c9fe3617104e37e", + "dwd_hash": "0ff4fc2068ac913e9820c75ea876b619" + }, + { + "table_id": 2793018776653957, + "ods_hash": "6240cc60909451cfe921c6b468006774", + "dwd_hash": "0ff4fc2068ac913e9820c75ea876b619" + }, + { + "table_id": 2793018776735877, + "ods_hash": "6240cc60909451cfe921c6b468006774", + "dwd_hash": "0ff4fc2068ac913e9820c75ea876b619" + } + ], + "mismatch_error": null + }, + { + "dwd_table": "billiards_dwd.dim_assistant", + "ods_table": "billiards_ods.assistant_accounts_master", + "windowed": false, + "window_col": null, + "count": { + "dwd": 69, + "ods": 69, + "diff": 0 + }, + "amounts": [], + "mismatch": 69, + "mismatch_samples": [ + { + "assistant_id": 2793363001774149, + "ods_hash": "0774ca8ce64facac289eaeced2665034", + "dwd_hash": "f6d8864448ba1fb599f9baa66a2cf495" + }, + { + "assistant_id": 2793530479530053, + "ods_hash": "b72853f7bd5379c11a6c923b6b4f02a7", + "dwd_hash": "508056eb048661b5cfc36eae1db58527" + }, + { + "assistant_id": 2840060593686213, + "ods_hash": "897e25b2be663a99bb5d6d6f3a436b6c", + "dwd_hash": "c64fb8c73af758e82819cb534f27cc9d" + }, + { + "assistant_id": 2861304461364293, + "ods_hash": "18b954a759b6ea861725b62b731eb0c9", + "dwd_hash": "65bb35f9e52597bd968736e61f03fa33" + }, + { + "assistant_id": 2964640248745157, + "ods_hash": "ba9640ac3aa262fef2b730ddb4538ad2", + "dwd_hash": "cc692ee3f2bf82b10ef7ac789258eee2" + }, + { + "assistant_id": 2964673443302213, + "ods_hash": "0743379dda24ca4932a1df62de0cfeef", + "dwd_hash": "c5e933a70847f8ba99d80747b371a15a" + }, + { + "assistant_id": 2793361915547781, + "ods_hash": "5c302727440ded26a2de5c150cc8755e", + "dwd_hash": "1f39ea835f82b35fe46b54d8abad1e32" + }, + { + "assistant_id": 2793399247179845, + "ods_hash": "28a6f80d94b35b7d0d10accad9a24070", + "dwd_hash": "e4cb6dce1ad4f402f8e6a25a97bc3f3f" + }, + { + "assistant_id": 2793405307342917, + "ods_hash": "a59f29e8c9f2e27010779b15188e4c34", + "dwd_hash": "ef6a9378856e1a987245c9d276f62baa" + }, + { + "assistant_id": 2793483330310277, + "ods_hash": "22ce4607fdade4c2f5dabf9640330d2b", + "dwd_hash": "878e34457a90d3fe31c2e8857920c0f4" + }, + { + "assistant_id": 2793486361710725, + "ods_hash": "2544e7151fe4368711ce2dac7850a3f7", + "dwd_hash": "46771ee14eb0f8fb963a239af477a27c" + }, + { + "assistant_id": 2793489356673157, + "ods_hash": "effe5320db4e88983fffb2d99d53a869", + "dwd_hash": "99c7223bc77a611115e0463a65b23fa5" + }, + { + "assistant_id": 2793500999454853, + "ods_hash": "5cd6afb8d2ac80f81fb493a36bc49e3f", + "dwd_hash": "51c04508c55ace4af09a5bd11921acfe" + }, + { + "assistant_id": 2793510666670149, + "ods_hash": "092a43ae9113baa65b4d896cdd8c8859", + "dwd_hash": "40be9aba0ee8054280e698c1aad8c296" + }, + { + "assistant_id": 2793526116896837, + "ods_hash": "1b8de968fcd76c4de760a4f9a81bba5d", + "dwd_hash": "a694385bc00cf16ed52b95d5586e61cb" + }, + { + "assistant_id": 2793528386048069, + "ods_hash": "37629dadea6113295a52ea063820299f", + "dwd_hash": "4e1293a1ec5e2452582d61c1f917083f" + }, + { + "assistant_id": 2793537168429125, + "ods_hash": "b9c78d8deb8f39b88d9597fe8c14ad2f", + "dwd_hash": "20a7aad6397cf06d16dbfe025c18cdac" + }, + { + "assistant_id": 2793604629450885, + "ods_hash": "331ba0cd8b750748a8b2078a4e98bb99", + "dwd_hash": "36f5cbe91eb7e3b1092ad9cd9461cdcb" + }, + { + "assistant_id": 2795061580517445, + "ods_hash": "e3ef3b54f568c379d9b2a4ebf916a030", + "dwd_hash": "8dbbd1f0022bd367f3491bc3220833ce" + }, + { + "assistant_id": 2799129430166597, + "ods_hash": "9a606e08948f45653900127b0d343521", + "dwd_hash": "e4b1fe7fa1b2174712d8d38c293a8271" + }, + { + "assistant_id": 2799135415192645, + "ods_hash": "3cf5a2cb5452534977c31d5a4c67e281", + "dwd_hash": "b325087f437bf6d21452e671331d9251" + }, + { + "assistant_id": 2800501459422085, + "ods_hash": "3b124aab8fb661d414fccc44267280c2", + "dwd_hash": "2321e2249da6701cd77a94af01c49722" + }, + { + "assistant_id": 2806132026100805, + "ods_hash": "ab53be44fd04fa2387fbf879b2b953f3", + "dwd_hash": "65803bd3dabaf5a88413d82961e7ec71" + }, + { + "assistant_id": 2807673321458757, + "ods_hash": "417a62f37b6f8a2644168741594f9b2a", + "dwd_hash": "636fed91f00255e082546d54e0092769" + }, + { + "assistant_id": 2808873057863749, + "ods_hash": "a8c185c9e30a2557925303454c4e40d8", + "dwd_hash": "b142f3abd44d3783602bcc302dde5c76" + }, + { + "assistant_id": 2815977780611909, + "ods_hash": "694213a255dfc91a568fe33bd26ed386", + "dwd_hash": "efecd21f9aaeb0510c4f2ee5b0f0a7d5" + }, + { + "assistant_id": 2815988587039749, + "ods_hash": "d9a887971b1baf2d76180fbb6eeeb968", + "dwd_hash": "b871b145f5a43c920c7980c53f7019c4" + }, + { + "assistant_id": 2834411250190470, + "ods_hash": "4c8fc9124bd1720ee0e635e91b03a1c5", + "dwd_hash": "6b784f97a5be674b54465f4b10e4c1a4" + }, + { + "assistant_id": 2840752795895493, + "ods_hash": "2ba1ddcb410f8ab07079a450987cc8a8", + "dwd_hash": "5722af676192fcab9f2579d3d49d250a" + }, + { + "assistant_id": 2841614135707141, + "ods_hash": "77b38aa6856634ce28a9958f5fc629ba", + "dwd_hash": "48d19c83f979deaecd7db81f383227d6" + }, + { + "assistant_id": 2851377027190277, + "ods_hash": "5b422ea52752d3fd6a4e2fbf5b28022d", + "dwd_hash": "85f68b929c4e191949236f2d99c96a2c" + }, + { + "assistant_id": 2859776051579717, + "ods_hash": "6d501f18b24e10689944b9571fa89faf", + "dwd_hash": "c8e49420444596baf311a6e41f2d0e4d" + }, + { + "assistant_id": 2859778261961541, + "ods_hash": "fe0bde9a593eecb27c30c1cb22eb3528", + "dwd_hash": "4cff61d22071f0f1e2c1490a35409449" + }, + { + "assistant_id": 2859802158598981, + "ods_hash": "f5ce6538853056ce811de41ae18afc9a", + "dwd_hash": "bef7eb0edf23cd9bb8e2ea21a7b43370" + }, + { + "assistant_id": 2859886363986821, + "ods_hash": "51c3b0c7be0acf5d2e6680a6aee0dd84", + "dwd_hash": "61cf43bfb44ff0f9e0654828d6254fb9" + }, + { + "assistant_id": 2861303933570181, + "ods_hash": "1736877ede262e22d071f6b85c3e105f", + "dwd_hash": "cca5ac84d2e3aba3524207f31e76c6a3" + }, + { + "assistant_id": 2793493699088517, + "ods_hash": "9d6ec799b265a92c05433610389e4f9b", + "dwd_hash": "aff94d5090ceddd70c49b58af5ff8832" + }, + { + "assistant_id": 2793532503855173, + "ods_hash": "23fa5b04b22e82d9a25ca9c8ec24714f", + "dwd_hash": "1268af1c1701e66cf9cbef4691920f3d" + }, + { + "assistant_id": 2862632135689606, + "ods_hash": "920ac07c373ca0b0a9694982a6192484", + "dwd_hash": "d7e3cb9d102c0334222daf466a6103f6" + }, + { + "assistant_id": 2866961022749829, + "ods_hash": "1ec6e8b801a1729cbc98019faab3b05b", + "dwd_hash": "36d84fe114014da5529fad55e93d29ea" + }, + { + "assistant_id": 2866962315594885, + "ods_hash": "338b3292ea9fe1657d2a88a885ce4aa8", + "dwd_hash": "9f1451483dff68780def3977cc3dda34" + }, + { + "assistant_id": 2866964303400005, + "ods_hash": "0b8f7f2481c59e12c069b06d75354d8b", + "dwd_hash": "04b3015a92957bb092d09965ea7740a3" + }, + { + "assistant_id": 2889708249270149, + "ods_hash": "1ce7281bf6d351137596fd9ce6cdb2b2", + "dwd_hash": "0f6246df879c9ffae45e50920ae0ad2d" + }, + { + "assistant_id": 2907961535433285, + "ods_hash": "24dc2043187ae584b80a09490afb447d", + "dwd_hash": "85d62fdc4d7ac44e8bd98e0430dc4c00" + }, + { + "assistant_id": 2907972756342981, + "ods_hash": "1b1930f9b45b94559e1867ee8a6e7aca", + "dwd_hash": "afd886b857619537412bb5a8a5ccfc95" + }, + { + "assistant_id": 2920786464294661, + "ods_hash": "9b5a067b99fefef3b152162936cf4f11", + "dwd_hash": "a9c7ebfe758ef0ab8abf49d0de882244" + }, + { + "assistant_id": 2920799537645381, + "ods_hash": "538f318f7813907ae1a33294e2487992", + "dwd_hash": "73b58837794adbfc48e0ba41cf554a39" + }, + { + "assistant_id": 2929246850797189, + "ods_hash": "a8b3a8679af796a2a15adba5784e300b", + "dwd_hash": "a7714b7b588e7d39104e43dfc9deb29f" + }, + { + "assistant_id": 2946261384596293, + "ods_hash": "9296d50103cf8aad5c32ca349ea12d26", + "dwd_hash": "d34d0c6e77656627c9dc7597db5849f8" + }, + { + "assistant_id": 2946266869435205, + "ods_hash": "55a51a3258f7cc7a8654b9bcf9845791", + "dwd_hash": "5f78fc19dc1776eca0b494d6cb44cc9d" + } + ], + "mismatch_error": null + }, + { + "dwd_table": "billiards_dwd.dim_assistant_ex", + "ods_table": "billiards_ods.assistant_accounts_master", + "windowed": true, + "window_col": "create_time", + "count": { + "dwd": 0, + "ods": 0, + "diff": 0 + }, + "amounts": [], + "mismatch": 0, + "mismatch_samples": [], + "mismatch_error": null + }, + { + "dwd_table": "billiards_dwd.dim_member", + "ods_table": "billiards_ods.member_profiles", + "windowed": true, + "window_col": "create_time", + "count": { + "dwd": 0, + "ods": 0, + "diff": 0 + }, + "amounts": [], + "mismatch": 0, + "mismatch_samples": [], + "mismatch_error": null + }, + { + "dwd_table": "billiards_dwd.dim_member_ex", + "ods_table": "billiards_ods.member_profiles", + "windowed": false, + "window_col": null, + "count": { + "dwd": 556, + "ods": 556, + "diff": 0 + }, + "amounts": [], + "mismatch": 0, + "mismatch_samples": [], + "mismatch_error": null + }, + { + "dwd_table": "billiards_dwd.dim_member_card_account", + "ods_table": "billiards_ods.member_stored_value_cards", + "windowed": false, + "window_col": null, + "count": { + "dwd": 945, + "ods": 945, + "diff": 0 + }, + "amounts": [ + { + "column": "balance", + "dwd_sum": 353475.18, + "ods_sum": 353475.18, + "diff": 0.0 + } + ], + "mismatch": 945, + "mismatch_samples": [ + { + "member_card_id": 2799218552833797, + "ods_hash": "d31265a2b992254be118a8a6db30f029", + "dwd_hash": "897a7448d0e3ccdc3aac3ef8b5e04578" + }, + { + "member_card_id": 2799216572794629, + "ods_hash": "cf4ac78e56d8cbcbd3675cdca4b83ce1", + "dwd_hash": "20b0261573d0ddfdc960d4737976473e" + }, + { + "member_card_id": 2799216912434949, + "ods_hash": "7cafe95c819678165bf120d40a12c053", + "dwd_hash": "a6862b792a900cc9be262d34f55b961d" + }, + { + "member_card_id": 2791994266619781, + "ods_hash": "5c9e465462e983fef41077a8d678f199", + "dwd_hash": "2a893c2976d3292e8989ee51153ada9e" + }, + { + "member_card_id": 2793254697453573, + "ods_hash": "f608c279f05725027d17eb4695e25bde", + "dwd_hash": "4c1a05ccd660ad08f7aaac9938fb2566" + }, + { + "member_card_id": 2793268303710149, + "ods_hash": "8e3375bf269af4b38ea740ca7b30662c", + "dwd_hash": "a59381ba5d86e3caba1aa55c66199dc4" + }, + { + "member_card_id": 2793308329789317, + "ods_hash": "7a3d49bbab03504805715df1c13cdbca", + "dwd_hash": "bc34ad51397bd472ce313441f3b890f5" + }, + { + "member_card_id": 2799215867168517, + "ods_hash": "1542c0d61d8d12da447ee71cc1858420", + "dwd_hash": "a1c8d5e718a342bda888bd3a6192caa7" + }, + { + "member_card_id": 2799215872657157, + "ods_hash": "b4eefa77ba80b5820813e92e73ef7893", + "dwd_hash": "14ffd3026a9bddd1da62545b05e5efa3" + }, + { + "member_card_id": 2799215877195525, + "ods_hash": "98749b317f63de55938404ad221dcf47", + "dwd_hash": "5a0d0b98207bc68df42f3c1d370b4e8b" + }, + { + "member_card_id": 2799215882176261, + "ods_hash": "9eba7639809ebe9bd2888127c98f5c5a", + "dwd_hash": "d18b3078f547faeecd17e5da82c2afb3" + }, + { + "member_card_id": 2799215886796549, + "ods_hash": "664cf538788e802a229fc644efd78cce", + "dwd_hash": "3433321f2473561edf3b76d71412ce01" + }, + { + "member_card_id": 2799215892219653, + "ods_hash": "1511b76a3b0461365f1db765035eb143", + "dwd_hash": "c30556d52f5d9e7d142b4cc09b61c3c3" + }, + { + "member_card_id": 2799215897331461, + "ods_hash": "e4695f9e61975fb1141598a9f5fc2f5c", + "dwd_hash": "c607c57b0a0d59c7287df2df223f6b4d" + }, + { + "member_card_id": 2799215901869829, + "ods_hash": "45503c3e1ce78c9342779ca2140d0432", + "dwd_hash": "886a1f7b5da597c376dc14f6b250682d" + }, + { + "member_card_id": 2799215906440965, + "ods_hash": "dcfd7d61d7dd044dd684d9db1c8e7f42", + "dwd_hash": "49bb1f415848a7f3ccc16950f6736771" + }, + { + "member_card_id": 2799215912814341, + "ods_hash": "70c617a82007f22a36b64c99e08acff2", + "dwd_hash": "f386b08dca2f0f971bc29638308f3973" + }, + { + "member_card_id": 2799215918532357, + "ods_hash": "84bcb9b5138cf46541a2b13ecf30627a", + "dwd_hash": "279fa2bf054d1fc86930b487a8ce3c6e" + }, + { + "member_card_id": 2799215923578629, + "ods_hash": "71b25aa2ede09b45c77e19f8c636c654", + "dwd_hash": "8f39c5651aeef8960dfe6bafb1866360" + }, + { + "member_card_id": 2799215929050885, + "ods_hash": "39b765d742bd857554f0b2fbeb7fd7ac", + "dwd_hash": "438c91bfa71fd6d88277a53d60f929bd" + }, + { + "member_card_id": 2799215934686981, + "ods_hash": "fe37b27e5f5b013b2982a4c1f7656fdd", + "dwd_hash": "fadbbe07a38744520fa994e8b52058f9" + }, + { + "member_card_id": 2799215939651333, + "ods_hash": "297a7662f477c9e851fe27f51b754601", + "dwd_hash": "fbd26151a0f928bcf882a6ac36ff7462" + }, + { + "member_card_id": 2799215946073861, + "ods_hash": "5b38a2f3d58f227ef9b4d4c47669f3a4", + "dwd_hash": "66b4b5426a03ab7fddb9a10c56a00fba" + }, + { + "member_card_id": 2799215950759685, + "ods_hash": "3df3ed6afb42cae5c66024205d690133", + "dwd_hash": "a7a7fcbc1ff9ab9a73bd3921001cd6c2" + }, + { + "member_card_id": 2799215956576005, + "ods_hash": "09ff3ae1019129f1fecc671de7bced2b", + "dwd_hash": "7a54a8e95fccb8cfea7de1fcb3c50c12" + }, + { + "member_card_id": 2799215962556165, + "ods_hash": "dd4141c9a2a7fb65079c8a9a2623eaf6", + "dwd_hash": "2e97352c24e4377acdc08d00c2097536" + }, + { + "member_card_id": 2799215967487749, + "ods_hash": "a12e27d41c6e7518eff8099fcc304121", + "dwd_hash": "6842992a54c00a2ac838147280542c8d" + }, + { + "member_card_id": 2799215973451525, + "ods_hash": "cbab621e654b452974c48c5933fcd1a5", + "dwd_hash": "e9b05a7f7944155ff3534ec2adc0ac61" + }, + { + "member_card_id": 2799215978317573, + "ods_hash": "a4360dfb6e9a253ee17cb62899f69be4", + "dwd_hash": "f6ca231bb6e71da38d13dbc758c10cc1" + }, + { + "member_card_id": 2799215983609605, + "ods_hash": "1fc450d9e439961aed3ed3aef4da3fd4", + "dwd_hash": "69ad7ce2db0d42c0b9e458ba6f621df8" + }, + { + "member_card_id": 2799215988246277, + "ods_hash": "f39e9236912c630df5c2c0eaaaad9697", + "dwd_hash": "e7c8640d1d3304a95769bc146d6ea899" + }, + { + "member_card_id": 2799215993554693, + "ods_hash": "d4762d678c1c32dc0a7be4c522b955b0", + "dwd_hash": "83572775a1440d554432ebfd2d11d511" + }, + { + "member_card_id": 2799215998420741, + "ods_hash": "ccdb981a3ddf9255401e3e35d2c343fd", + "dwd_hash": "ee3b03f30a976300ba60f518ca0954e7" + }, + { + "member_card_id": 2799216005367557, + "ods_hash": "17b96dd20ba13c4e49b7a265c8523c1a", + "dwd_hash": "3729753a54794d090eb4ff82990dbe1a" + }, + { + "member_card_id": 2799216011511557, + "ods_hash": "33ec23ad6fac7e94d5d58de03c97ee17", + "dwd_hash": "bd6d883c39e2a947f70316a28ea1ce42" + }, + { + "member_card_id": 2799216016361221, + "ods_hash": "ba903ae66677a16ea52c10d103ee272c", + "dwd_hash": "267c8e05f2731f8b76c391edfaef34a9" + }, + { + "member_card_id": 2799216021210885, + "ods_hash": "95643ae42c38b6ab51b3ec3a1083392a", + "dwd_hash": "398ffae83f9f90da96b1c14386b11740" + }, + { + "member_card_id": 2799216027404037, + "ods_hash": "f1a2d1792852b110cecca72f1dff4d1b", + "dwd_hash": "184aa11db77cff6299fd8bb947046067" + }, + { + "member_card_id": 2799216032155397, + "ods_hash": "0b4dae5fe45717b9773843cbf3d7553a", + "dwd_hash": "5a5c48b73e8a65df15d8db862594b99e" + }, + { + "member_card_id": 2799216038610693, + "ods_hash": "03b2280164977a316e79af17ece24e66", + "dwd_hash": "e9c06cf1c5f03ef776f198f8a6e5cef7" + }, + { + "member_card_id": 2799216044099333, + "ods_hash": "c444e054a93dd7f99d16639da4501362", + "dwd_hash": "b98e5ec48e230a83247a7dbac4031a24" + }, + { + "member_card_id": 2799216049293061, + "ods_hash": "72c33ea8bee5b425550aa295cbcdad84", + "dwd_hash": "6810bce8c7d5546dae139d0d44843ccf" + }, + { + "member_card_id": 2799216054093573, + "ods_hash": "9c0eabbef9017423fada43faf19aa3b7", + "dwd_hash": "53c2e836e39b4d59b8de5ea20fbb166e" + }, + { + "member_card_id": 2799216058763013, + "ods_hash": "bf3e612b7829baa6d2658d24e0e01eab", + "dwd_hash": "9b647463ac262da11a32741797676c34" + }, + { + "member_card_id": 2799216063645445, + "ods_hash": "c54fc77c39a589b4b8d7c76a7ffaf95e", + "dwd_hash": "2fcf6af72c4f2e524d50e1e1f1bc99e6" + }, + { + "member_card_id": 2799216068364037, + "ods_hash": "de182d4c200b1612ac5cc49b01d5a6a0", + "dwd_hash": "6479384863a04560029878e25730c0f6" + }, + { + "member_card_id": 2799216074540805, + "ods_hash": "6ab759c863c16a49233202830ca9fe34", + "dwd_hash": "745e0aeb474d4dd8c2f578338a2a7a28" + }, + { + "member_card_id": 2799216079259397, + "ods_hash": "0b9b5d6aea9859c5f2b6a3916de35627", + "dwd_hash": "b262df07b0fc22f0ba4acca9046e46d9" + }, + { + "member_card_id": 2799216083945221, + "ods_hash": "05f35301c5127b218b61f5ab72e87a06", + "dwd_hash": "afbaed98572c03c900a9c3a4aa02cead" + }, + { + "member_card_id": 2799216088516357, + "ods_hash": "6ab5934c623f1faa7f212e03dec709db", + "dwd_hash": "95c18f1c3109a8b9b3f1f9ac25c7a288" + } + ], + "mismatch_error": null + }, + { + "dwd_table": "billiards_dwd.dim_member_card_account_ex", + "ods_table": "billiards_ods.member_stored_value_cards", + "windowed": true, + "window_col": "create_time", + "count": { + "dwd": 0, + "ods": 0, + "diff": 0 + }, + "amounts": [ + { + "column": "deliveryfeededuct", + "dwd_sum": 0.0, + "ods_sum": 0.0, + "diff": 0.0 + } + ], + "mismatch": 0, + "mismatch_samples": [], + "mismatch_error": null + }, + { + "dwd_table": "billiards_dwd.dim_tenant_goods", + "ods_table": "billiards_ods.tenant_goods_master", + "windowed": true, + "window_col": "create_time", + "count": { + "dwd": 1, + "ods": 1, + "diff": 0 + }, + "amounts": [], + "mismatch": 1, + "mismatch_samples": [ + { + "tenant_goods_id": 3073781669250565, + "ods_hash": "e3f6815e0f634a423ba58744a1ceea13", + "dwd_hash": "6a95316e76a0012db51bde2748c81b55" + } + ], + "mismatch_error": null + }, + { + "dwd_table": "billiards_dwd.dim_tenant_goods_ex", + "ods_table": "billiards_ods.tenant_goods_master", + "windowed": false, + "window_col": null, + "count": { + "dwd": 173, + "ods": 173, + "diff": 0 + }, + "amounts": [], + "mismatch": 173, + "mismatch_samples": [ + { + "tenant_goods_id": 2791925230096261, + "ods_hash": "6295000ad8292012e9cca142387f2710", + "dwd_hash": "d2d73718b0b47b0461c6c29e34f1ea05" + }, + { + "tenant_goods_id": 2792037812375429, + "ods_hash": "7908ae60e56c8ec39f1f0c8c3df1db3d", + "dwd_hash": "934d5d108f5d11ef74c5b8d3f0b1be2d" + }, + { + "tenant_goods_id": 2792038476746629, + "ods_hash": "1ea1398dffb04788fa2f98bc5d531e96", + "dwd_hash": "0ef01bf12935f66dcdb72ed1484e7a27" + }, + { + "tenant_goods_id": 2792039804047237, + "ods_hash": "0ae2045626662c8f481d91ca6d2a1afe", + "dwd_hash": "7f671dab39104f96bf0e271513d2eee9" + }, + { + "tenant_goods_id": 2792044495523717, + "ods_hash": "71ca4491f77d9e7b00cf36fea54267d0", + "dwd_hash": "ecb56250f32e08cf4c69a3a1d06ce111" + }, + { + "tenant_goods_id": 2792045494685573, + "ods_hash": "80d21f7e169974574acfe8ed7eaf7552", + "dwd_hash": "a03cc2607d07709e1e7ca59f5cb918fb" + }, + { + "tenant_goods_id": 2792056126328709, + "ods_hash": "93eb0f595d8059c325ca652bfeb952cf", + "dwd_hash": "1c63377b8eca55d03f4724e1bec6727c" + }, + { + "tenant_goods_id": 2792067181399941, + "ods_hash": "c198043fa70506ba6175d700c9ae4aa8", + "dwd_hash": "bbd018209650d41ffe8a115a7aebb57e" + }, + { + "tenant_goods_id": 2792070008164229, + "ods_hash": "a0e241d9dc6f50fcf015753aa21b3117", + "dwd_hash": "ae3daabf8411f59a87864e92c2d1c355" + }, + { + "tenant_goods_id": 2792072218644357, + "ods_hash": "0109de2091e8295593d9c76d8a25b373", + "dwd_hash": "fd8cf08b421a71839d36869a9b22a61f" + }, + { + "tenant_goods_id": 2792077012225925, + "ods_hash": "cfde005b0e2bf1fdee84531c534cb01a", + "dwd_hash": "ec17913666bc1f5198efdf8063ac35fe" + }, + { + "tenant_goods_id": 2792079352434565, + "ods_hash": "d64b062fa166ff2f8832ac167ef77262", + "dwd_hash": "18bf3faae0f4bdcaa942671419cd01dc" + }, + { + "tenant_goods_id": 2792081036562309, + "ods_hash": "95b1d808c7f6c31a75b9c90014cdea42", + "dwd_hash": "a6c52801c1bdda459ded7338e0abefd2" + }, + { + "tenant_goods_id": 2792082388782981, + "ods_hash": "f4a9283a8d58c0d25bc0b4df05323bfe", + "dwd_hash": "134a02e71b7838d3e9868dbe5ef57409" + }, + { + "tenant_goods_id": 2792083824283525, + "ods_hash": "636e6df49adda6b85ae369b1cca73d20", + "dwd_hash": "004a176f5a14f7ed5983160b5b429f62" + }, + { + "tenant_goods_id": 2792091011796869, + "ods_hash": "5760674d337a4309d0840ea23136ffad", + "dwd_hash": "52f3d90b6f467a9ae0997ebc100f6caa" + }, + { + "tenant_goods_id": 2792095859003269, + "ods_hash": "ce1e534e884027082076163636861b0a", + "dwd_hash": "20101ecf6c83e9499b8f121bebaa99d2" + }, + { + "tenant_goods_id": 2792096750243717, + "ods_hash": "6b29ba3c9f59221cb1aed9d33b925337", + "dwd_hash": "e54384d92fab5efe6108fd8e943d31b8" + }, + { + "tenant_goods_id": 2792098407092101, + "ods_hash": "b15dde728d8bf396bba1dfa87cd64561", + "dwd_hash": "590b86544bebf80674b5edca1e77ae40" + }, + { + "tenant_goods_id": 2792099955609477, + "ods_hash": "baf26768127b447d5c761198a0d30213", + "dwd_hash": "a9a0015a66503a7ef698ce6d91c8069b" + }, + { + "tenant_goods_id": 2792100776005509, + "ods_hash": "8582407fef5c9e400970247eb0352330", + "dwd_hash": "af6ca5653f1185c0a755a73a576df6f3" + }, + { + "tenant_goods_id": 2792102047797125, + "ods_hash": "d06d8a26d51d62df26484a298983c9ba", + "dwd_hash": "bf7d8523e0fca73a75957d89e493c3fd" + }, + { + "tenant_goods_id": 2792102887378821, + "ods_hash": "b8f5bd6a1372c1bbd80ce9ce364c921c", + "dwd_hash": "eeebdc8baa51b5b939d4ab7715df7bb4" + }, + { + "tenant_goods_id": 2792103809126277, + "ods_hash": "4a3dea77a3a9059aaa573e41a20fa169", + "dwd_hash": "94aaff734babba01b024e1c33677beef" + }, + { + "tenant_goods_id": 2792104571834245, + "ods_hash": "eefc6d336dab7a8030542c880593a562", + "dwd_hash": "9b948fe3fefb2f49c0abf1a642a0389a" + }, + { + "tenant_goods_id": 2792105355775877, + "ods_hash": "fa6bf2cbe4692baa55ca99f6b792ac7b", + "dwd_hash": "6aac8dbf5c4f66e3e7cb699de49e3930" + }, + { + "tenant_goods_id": 2792106618703749, + "ods_hash": "8cd99bb8b36516800302a1ff8b144a1a", + "dwd_hash": "db94ee037066bdd27ab1f1977783c3d4" + }, + { + "tenant_goods_id": 2792107453255557, + "ods_hash": "43173c6b20a3def41d8968a375c6541a", + "dwd_hash": "5b2dfeb1cea492e81eed7abc09dc8018" + }, + { + "tenant_goods_id": 2792108242096005, + "ods_hash": "a5c6fb8839618ec46082997bad51491a", + "dwd_hash": "5793f1d73e245a0df272829511e7902c" + }, + { + "tenant_goods_id": 2792109146951557, + "ods_hash": "59f2aeddbc6e6f9d6289ad27225dd83a", + "dwd_hash": "6401dba2b515491e3ac2714822416ac0" + }, + { + "tenant_goods_id": 2792110117130117, + "ods_hash": "f3c80a09d0d77035705a7213e6b84f99", + "dwd_hash": "f6920f46f93f6e00db69f09f44d20b4d" + }, + { + "tenant_goods_id": 2792111046741893, + "ods_hash": "379205c1a2fcec407c758bb3ea8b4654", + "dwd_hash": "439f3070814f84ea61e6baa1e6a4899c" + }, + { + "tenant_goods_id": 2792112367603589, + "ods_hash": "0b9a3964c91e9ab6881aeb99203e7869", + "dwd_hash": "7cd1812eb9d4648c7e8570b10f91e5b7" + }, + { + "tenant_goods_id": 2792114026696581, + "ods_hash": "cc61c2d1ac866ed448a6b28ba9c68226", + "dwd_hash": "61a8ac19b6f84915498e665626b8acea" + }, + { + "tenant_goods_id": 2792114975313797, + "ods_hash": "110f59f827abd3c6d25496a35e24e7f2", + "dwd_hash": "f6e899660997d3c8aca99b8f29bd33a9" + }, + { + "tenant_goods_id": 2792115932417925, + "ods_hash": "a6b8a2ed51f0b1ce50ab0f7ed737167f", + "dwd_hash": "738646d7cc092cfa5124ac97ed20450c" + }, + { + "tenant_goods_id": 2792116914442117, + "ods_hash": "31da1c42888d352da2bad3245421eb1c", + "dwd_hash": "e55380d698621ca8cbb2841bc6d69e55" + }, + { + "tenant_goods_id": 2792117879639941, + "ods_hash": "bbdcd88e208e96d5a5d5fdb0872411f8", + "dwd_hash": "8fc23c5a4260ca94800a4fbc7a2ecf71" + }, + { + "tenant_goods_id": 2792118718353285, + "ods_hash": "a9c18b4d49dbdcf689b891d47b997904", + "dwd_hash": "2b24c42f934ccc22e43a798db38d2877" + }, + { + "tenant_goods_id": 2792119564439429, + "ods_hash": "340b345ca1fea77e353f78055f3086c9", + "dwd_hash": "a8aafbd92ac557c3dbb89f7cdb6ba53a" + }, + { + "tenant_goods_id": 2792120662675333, + "ods_hash": "d3c8e714a99adbf08567ba51c75b192a", + "dwd_hash": "8c23f6fe39b3d104f30973b6414185a3" + }, + { + "tenant_goods_id": 2792122952519557, + "ods_hash": "43047526378bfd11a03fd2df42dfe6f4", + "dwd_hash": "4038217f440fd89f0f9294cda346ddcc" + }, + { + "tenant_goods_id": 2792123803078533, + "ods_hash": "a8e7ef54d42a2331150beeb2d1ff6929", + "dwd_hash": "5ba7db6e3ef17010df090f348c0b87ac" + }, + { + "tenant_goods_id": 2792125002321797, + "ods_hash": "b979c11a4f31f1f49d77a8772e1154c2", + "dwd_hash": "c4f79a907874bafb9944af80f676a4c4" + }, + { + "tenant_goods_id": 2792126153330565, + "ods_hash": "a36d381d6363671d5c6c401764178a92", + "dwd_hash": "51830d83ad2da09102b75884ac23a6f5" + }, + { + "tenant_goods_id": 2792126853369733, + "ods_hash": "269364a2d8641104ab89ec1ea63a92f1", + "dwd_hash": "4c26907d3e58869f69bafe59ce6d1d7c" + }, + { + "tenant_goods_id": 2792128158191493, + "ods_hash": "1dfdabb80456f5dbe990e2c7953edaf7", + "dwd_hash": "9fbc3529823cc56b54e0e796256f7e88" + }, + { + "tenant_goods_id": 2792128793546629, + "ods_hash": "247d4b0dce36ada0d7731d1a07c66db8", + "dwd_hash": "6e0e96758fae3b32f931f2766ce62f4a" + }, + { + "tenant_goods_id": 2792129791594373, + "ods_hash": "482b7d6927205b7b1087570a89de35f1", + "dwd_hash": "d3f6087cafb761bc96a28d65b0a87871" + }, + { + "tenant_goods_id": 2792130734133125, + "ods_hash": "4a26361c7e7f9e1d1de98c27f546a257", + "dwd_hash": "7bd5421f520f44fb9b5508598c15334e" + } + ], + "mismatch_error": null + }, + { + "dwd_table": "billiards_dwd.dim_store_goods", + "ods_table": "billiards_ods.store_goods_master", + "windowed": false, + "window_col": null, + "count": { + "dwd": 172, + "ods": 172, + "diff": 0 + }, + "amounts": [], + "mismatch": 172, + "mismatch_samples": [ + { + "site_goods_id": 2793025861308485, + "ods_hash": "736fbd824d4f77551bae8b9da5390296", + "dwd_hash": "5c24cf3bafb6bd9476b97971ad210775" + }, + { + "site_goods_id": 2793026182664261, + "ods_hash": "d82a48a36ef0f20403790154420db78a", + "dwd_hash": "3533a4a39ed8fe7146e1bad141ed39e0" + }, + { + "site_goods_id": 2793026183532613, + "ods_hash": "b3b2502f1a0d3d2e2fac26d055452857", + "dwd_hash": "fc43d04994c4bdc692f865842a870aac" + }, + { + "site_goods_id": 2793026186563653, + "ods_hash": "39d44153365c3321af2c3a13261c6249", + "dwd_hash": "8e286eddcbd2b6f34f46bfe28f455aed" + }, + { + "site_goods_id": 2793026434863237, + "ods_hash": "be4b4cf9681918a3f9c72600434ab77d", + "dwd_hash": "665be93cf82868455dd921b9095c9397" + }, + { + "site_goods_id": 2794695801917573, + "ods_hash": "328da808dcad171188d6a503f221193f", + "dwd_hash": "3928f3ac1baa4067327397bfcc5ba59c" + }, + { + "site_goods_id": 2826003636177861, + "ods_hash": "f0f2a5c386d33c5a4a7d3e54fc058ff9", + "dwd_hash": "4d0a8e2401b7db99c7a6a0a7286fd3c0" + }, + { + "site_goods_id": 2791953867886725, + "ods_hash": "b2d05e9f0275ce11cf91bbb2de7473d5", + "dwd_hash": "95fe343f63287b54e7b03b285e4cad0b" + }, + { + "site_goods_id": 2793025844727877, + "ods_hash": "cc328ec7fc2a217136cc7a6c037a4ed3", + "dwd_hash": "a03cc1243ceef574049fbfa8e8bc35aa" + }, + { + "site_goods_id": 2793025845399621, + "ods_hash": "fbb07b4019149f6df0d06c834f941023", + "dwd_hash": "db8c0c22cbbdfae681a38fdcdb01dd91" + }, + { + "site_goods_id": 2793025845825605, + "ods_hash": "98bada8ddccfaf8b41e2d6b257488aa1", + "dwd_hash": "cd29bdeb63ee7d044291e433d1a656ba" + }, + { + "site_goods_id": 2793025846464581, + "ods_hash": "5b73bc5f2d426b4e167f4a06b2bf6438", + "dwd_hash": "452fdbaa97ac5c964f2604c72868d7b7" + }, + { + "site_goods_id": 2793025847595077, + "ods_hash": "d74a2c783da0f309b5df43a2ebf43146", + "dwd_hash": "1e3fac02a3a3f2c218d546e22bd8ed5e" + }, + { + "site_goods_id": 2793025848102981, + "ods_hash": "353623776c0c1c83d0236c92bee0e7b5", + "dwd_hash": "7b1923408f77a27cbe553310e364edcb" + }, + { + "site_goods_id": 2793025849102405, + "ods_hash": "2ab8d26f4a421873ecf1d5c3dfcb1a27", + "dwd_hash": "6ebf5a80d6390707b369a90db202cc5b" + }, + { + "site_goods_id": 2793025849593925, + "ods_hash": "efbcc42271e07d14ed60e980f2b26a76", + "dwd_hash": "b004c185cecc400df90dc773ee096838" + }, + { + "site_goods_id": 2793025850576965, + "ods_hash": "aa093dc5b78d48be52cac0dec3082090", + "dwd_hash": "c0954071d66e3450aeb82aebf2b786ca" + }, + { + "site_goods_id": 2793025851068485, + "ods_hash": "eab23a0f9dc33b8dd828bae2c5a4147d", + "dwd_hash": "2696a640da5d816e6a6bd5f37b697957" + }, + { + "site_goods_id": 2793025858900037, + "ods_hash": "5f02911dd541f1c154b73612cd8b8f12", + "dwd_hash": "af672832dbd605ea04332d3b7723ec1b" + }, + { + "site_goods_id": 2793025860145221, + "ods_hash": "f07929829a42052091e29ffb85bc8283", + "dwd_hash": "7d4b726281ed617f55c4fadde6b806ce" + }, + { + "site_goods_id": 2793025861128261, + "ods_hash": "7698692287f9977a39213221760d68dc", + "dwd_hash": "b18d62ef76092490f6fbafd0a988dee5" + }, + { + "site_goods_id": 2793025861505093, + "ods_hash": "2761cae5748eadd76724fedf904e2920", + "dwd_hash": "0593fcb4ffa294659968d24e673f2ca3" + }, + { + "site_goods_id": 2793025862438981, + "ods_hash": "f3d6d89906bcb2fec8c6f5e598f033d6", + "dwd_hash": "a5426382faa5d55e5fad15aba2a9901e" + }, + { + "site_goods_id": 2793025862963269, + "ods_hash": "91e90ac4e9d91b7362cd623e9cf16697", + "dwd_hash": "bc99eac895b41261cb56d10bf3437178" + }, + { + "site_goods_id": 2793025863127109, + "ods_hash": "09eb96697b6940a5019a0337c855d708", + "dwd_hash": "f6ed0bea102f2b7afc7f736cbcd7fc92" + }, + { + "site_goods_id": 2793025863290949, + "ods_hash": "8abe639cf8ce3f630e9c636607ca1b1a", + "dwd_hash": "020defba1328bd22432f010b7f7f5192" + }, + { + "site_goods_id": 2793026174865477, + "ods_hash": "bdd7b381c8bb54a7a5d07851068cadbe", + "dwd_hash": "77f9b720b6fe04c9ec7156d50e21786e" + }, + { + "site_goods_id": 2793026175356997, + "ods_hash": "b702e4129924b5ed27b7686f943da96a", + "dwd_hash": "9c1b9b7cff219cea9ad3dc1e4646797e" + }, + { + "site_goods_id": 2793026175520837, + "ods_hash": "0b7786fc62aea0de6d189e4bdd2fa5e9", + "dwd_hash": "964c10e78351e09cdf7f6a96042d6082" + }, + { + "site_goods_id": 2793026176012357, + "ods_hash": "4573b22d7cb564a4f2e7e551834c88ea", + "dwd_hash": "759c9492a25829860e47012669a1b9d3" + }, + { + "site_goods_id": 2793026176503877, + "ods_hash": "1bfd2fbeb660b7c7ffec9c99017c3f0c", + "dwd_hash": "b2f0552ec2ab7c17efee50d9fbeba6a9" + }, + { + "site_goods_id": 2793026176995397, + "ods_hash": "7b6ffd63f244a1448d35448f607bb776", + "dwd_hash": "5f959a2be354d162b2fdf6f619ed4f4e" + }, + { + "site_goods_id": 2793026177486917, + "ods_hash": "5ca046e0a8e87800ea8cb88563aae999", + "dwd_hash": "7fc57eaca2c8f48162dd1f6d94e6e9cc" + }, + { + "site_goods_id": 2793026177978437, + "ods_hash": "9ce48e4bacc5389c70e7c3be3fe43c94", + "dwd_hash": "0ae0d7cc84c3bb834c9268f399ededd2" + }, + { + "site_goods_id": 2793026180141125, + "ods_hash": "681bbb92527750189d296ea8a0cefba5", + "dwd_hash": "87f7247107726abfab084b1b946505a6" + }, + { + "site_goods_id": 2793026180501573, + "ods_hash": "164bcf047ff1bce7d58aa6654a5cadc2", + "dwd_hash": "fdf1d4d4e567fc951aa9335b3a69b6c9" + }, + { + "site_goods_id": 2793026180993093, + "ods_hash": "adbfe9352326631767121ab7cb189ba9", + "dwd_hash": "9accae13b65f10f24913ab862a3f7453" + }, + { + "site_goods_id": 2793026181664837, + "ods_hash": "2f3b983d8c882412df87ed41dade0754", + "dwd_hash": "f38b7d6de7b4d0adacd5715e916206a1" + }, + { + "site_goods_id": 2793026183041093, + "ods_hash": "a795a179e05d5f11d2e030cd4588eb8a", + "dwd_hash": "31414eec707b388eceaabf59993efcf4" + }, + { + "site_goods_id": 2793026184106053, + "ods_hash": "89f8eb382a7049f6ab0e442d1e316106", + "dwd_hash": "7f4777cc80e02d78c88e24b421aa7f1c" + }, + { + "site_goods_id": 2793026184302661, + "ods_hash": "0c18ab0e7f15b2f586d686293d85775a", + "dwd_hash": "c87bfc14d2f624c2a85a77526e056477" + }, + { + "site_goods_id": 2793026184482885, + "ods_hash": "bd2e3247b87c5b9b31bd63afabe95987", + "dwd_hash": "7c65b42feb8929aa95bd4e0f846b565f" + }, + { + "site_goods_id": 2793026184646725, + "ods_hash": "9983995869304b7ce68232b29e30c2a7", + "dwd_hash": "a67c98f6cc835a7e2fbdfbdd457abb34" + }, + { + "site_goods_id": 2793026184810565, + "ods_hash": "b1129a7d5a042fd3f03ba479f17fb82b", + "dwd_hash": "e0f669b317965d728d0f64fee8ff2aef" + }, + { + "site_goods_id": 2793026184974405, + "ods_hash": "9aeeca06bef506e772524387cecc4cbd", + "dwd_hash": "69fa6ff5e6547d4984e7ed2efaeda704" + }, + { + "site_goods_id": 2793026185154629, + "ods_hash": "55434a5df0d52fd93f65ff7443f9c562", + "dwd_hash": "f40817236dac8d844ae1f981cb8dc37b" + }, + { + "site_goods_id": 2793026186891333, + "ods_hash": "ad35a17a047904e0dee9b16581a0db0c", + "dwd_hash": "29598dbc5ca7dfecb7fa38be96f6a4a1" + }, + { + "site_goods_id": 2793026187071557, + "ods_hash": "6cb158e6df97df9df62162c06579a65a", + "dwd_hash": "16662142eda46b79df0ffa1ff6dfb16e" + }, + { + "site_goods_id": 2793026187235397, + "ods_hash": "f0dcc25d1d8721276882645fc30b7f02", + "dwd_hash": "dbb8f0ead22b1a7066c2d7eb5fec35fc" + }, + { + "site_goods_id": 2793026187563077, + "ods_hash": "b68eb2f3efd0a561b0fe50d9bbb99b1b", + "dwd_hash": "840e9ff2527e4582ae30920192090b81" + } + ], + "mismatch_error": null + }, + { + "dwd_table": "billiards_dwd.dim_store_goods_ex", + "ods_table": "billiards_ods.store_goods_master", + "windowed": false, + "window_col": null, + "count": { + "dwd": 172, + "ods": 172, + "diff": 0 + }, + "amounts": [], + "mismatch": 172, + "mismatch_samples": [ + { + "site_goods_id": 2906983124748485, + "ods_hash": "d4a952c6a7a13d128d68202b8c137f9f", + "dwd_hash": "ff60b1293d83bfa3999fc99342b1546b" + }, + { + "site_goods_id": 2940642871856901, + "ods_hash": "7f4d8d4407c1daea5d1ead28637afb99", + "dwd_hash": "ec71c37c518a37edb60fe16551409ecb" + }, + { + "site_goods_id": 2793025852051525, + "ods_hash": "d14b34b8159dde7c45587162c5a2e9d8", + "dwd_hash": "70c766a690c82244521da89ec7d92e6c" + }, + { + "site_goods_id": 2793025852543045, + "ods_hash": "1e21b2bdae5ebeea361f846b57c597ec", + "dwd_hash": "fe43d27c8d0cf89c96c1d6aaaf7936e9" + }, + { + "site_goods_id": 2793025853034565, + "ods_hash": "389b5fca2bb46d4a08cf080a39c4e2a3", + "dwd_hash": "2d0b3a9ad88affa75a08d94e2de9db3f" + }, + { + "site_goods_id": 2793025853526085, + "ods_hash": "129b72782e07614c9c86954a1a7fbba0", + "dwd_hash": "b8e10e6ac5a49340323ccc3cf31cdaf8" + }, + { + "site_goods_id": 2793025854017605, + "ods_hash": "b9cc53c580dac42c00a5657af65afe78", + "dwd_hash": "71bd808448f27843ee689b7d33b84d34" + }, + { + "site_goods_id": 2793025854509125, + "ods_hash": "307196cfcee741be6dc17b503eb9d9b5", + "dwd_hash": "87a5aaec5e91b583b23aeda3289e9f52" + }, + { + "site_goods_id": 2793025855950917, + "ods_hash": "e1ee845fc3e64a64601d667faff1c063", + "dwd_hash": "9297cc8f3dff08b11a6b8857a546f6af" + }, + { + "site_goods_id": 2793025856442437, + "ods_hash": "9f375dba461cf0853f8f3ca69001e2fd", + "dwd_hash": "11afe08d22d6ebcf0a55991fddad75c3" + }, + { + "site_goods_id": 2793025856933957, + "ods_hash": "05f4f45b1f1ff6e2b102137dc816a68d", + "dwd_hash": "98208085bf18298939c8035cc9e60681" + }, + { + "site_goods_id": 2793025857409093, + "ods_hash": "ce4cee86b9a4c2bf8977079fe6ebc8b3", + "dwd_hash": "fdf721b8356d7969767c7e277c526ede" + }, + { + "site_goods_id": 2793025858392133, + "ods_hash": "5d70c5be1e0b121b52d7735d646877b1", + "dwd_hash": "e804cafbc09188c3855646fafa59cb21" + }, + { + "site_goods_id": 2793025844908101, + "ods_hash": "e51bcecbfa56f8466c56823b606004f4", + "dwd_hash": "3db3ad5b3e76d2071594344c6f0054aa" + }, + { + "site_goods_id": 2793025845989445, + "ods_hash": "d19d27239ff9f91ae712606f920443e1", + "dwd_hash": "9a62949bf226687d4f08d2679625ba48" + }, + { + "site_goods_id": 2793025863290949, + "ods_hash": "001cc0b0cd01d8c1b97e9786ae675c34", + "dwd_hash": "696a74c1b1c4daaa0cb7b61158e974ed" + }, + { + "site_goods_id": 2793026187399237, + "ods_hash": "c23c378299156e772b05a1ff8c1026fb", + "dwd_hash": "fa2807b9f6386307a371db9e45aa3b27" + }, + { + "site_goods_id": 2793026187923525, + "ods_hash": "4fa83eafdfcea0ac3a3c9859c23b9c07", + "dwd_hash": "607eb2a906faf2da50f90793228ed085" + }, + { + "site_goods_id": 2793026188251205, + "ods_hash": "84aea53b6ddfbbbd1ed80a61461420e9", + "dwd_hash": "4e053f48f993d05de2cfe375ec830619" + }, + { + "site_goods_id": 2793026432438405, + "ods_hash": "79ab0684071946cbd687b45283b858c8", + "dwd_hash": "ef5101ea5339d7c3b9e57e86981ff0c8" + }, + { + "site_goods_id": 2793026433912965, + "ods_hash": "28bb5f2e4d3049192e7326a0c841df2f", + "dwd_hash": "ef2768054290bb18def4ea23a4a0c8c6" + }, + { + "site_goods_id": 2793026434404485, + "ods_hash": "fceb365f49caf5cdfb9c590b5104d93d", + "dwd_hash": "827ddfeefc1374274274c65b535086db" + }, + { + "site_goods_id": 2793026185695301, + "ods_hash": "f160d5cb3c47cb0ec5d76e5472c24003", + "dwd_hash": "51a543b730e795c3bb6192ad96d98a44" + }, + { + "site_goods_id": 2793026186055749, + "ods_hash": "6e06edd5373a06de7fd0bf40ed87baeb", + "dwd_hash": "8bdeb31710bf10898c5f87087ce119ae" + }, + { + "site_goods_id": 2793026186219589, + "ods_hash": "d393289cc2fcc735079d7be533345643", + "dwd_hash": "158d9817ea74d6392349e07184870322" + }, + { + "site_goods_id": 2793026186727493, + "ods_hash": "b725466f0cecd8a8655cc546ae9a3477", + "dwd_hash": "0d76d5584242ca2e37ebc60802b5bf68" + }, + { + "site_goods_id": 2793026178469957, + "ods_hash": "530d9050b95dd3fcdaade34c2e3bb4b4", + "dwd_hash": "241e887f43eb8a94aeaeeeabfabf7e23" + }, + { + "site_goods_id": 2793026178977861, + "ods_hash": "f8df62d43eaf0cecf21ea423f541011c", + "dwd_hash": "cdfdbce5a378e74c37065ce7dd437c52" + }, + { + "site_goods_id": 2793026183532613, + "ods_hash": "62e1095788d6fba1b77d02b91fb9e52b", + "dwd_hash": "d12645435399dc99f403ad25c8822c37" + }, + { + "site_goods_id": 2811811188836101, + "ods_hash": "2d95ff75a3d570441a20157466a29ab5", + "dwd_hash": "4e4f20e6898a6de22435ede1a3e56080" + }, + { + "site_goods_id": 2919623264751045, + "ods_hash": "9ff114e835789026edba07d85f0d8059", + "dwd_hash": "1a5a383141c1e36405436acdf89a973d" + }, + { + "site_goods_id": 2791953867886725, + "ods_hash": "37fc4f65f0e173cdc2ab31c38168dff2", + "dwd_hash": "24a7db605557219107cb9a9a076ccae2" + }, + { + "site_goods_id": 2793026432110725, + "ods_hash": "a48a8f55e3e5b0c23be9af9c1de47371", + "dwd_hash": "5b04b20c0c89013bf8a62ba57979b478" + }, + { + "site_goods_id": 2793026429620357, + "ods_hash": "48156ace8006fd89d4ad295b38cad991", + "dwd_hash": "076017c1e7e2f75ab5e65f0315c4fa54" + }, + { + "site_goods_id": 2793026430095493, + "ods_hash": "d09454f5d771a8ec04f56be6ecd6a216", + "dwd_hash": "e4865e68ab8f64d6027f35ee3e614a97" + }, + { + "site_goods_id": 2793026430570629, + "ods_hash": "2bdfc05c6725c0b3c28e137655ed09a4", + "dwd_hash": "a7e73439a368f66ea92da244161f2f89" + }, + { + "site_goods_id": 2793026431045765, + "ods_hash": "600ac85f8e02fcdfc20c812e97967221", + "dwd_hash": "0a1e29b43050ccfdfe06ba494ea52fe1" + }, + { + "site_goods_id": 2793026431504517, + "ods_hash": "e2a6585661ae6d44f7e5b2a4dc084028", + "dwd_hash": "0507c20443c0ec4fca2d6f4898e913ff" + }, + { + "site_goods_id": 2793026431799429, + "ods_hash": "65c19a85ab3c50060fa2bba7b822505a", + "dwd_hash": "ed8d5befe54adf23d2e0bcbc3bdecc71" + }, + { + "site_goods_id": 2793025844727877, + "ods_hash": "6b5063495d5fbaa579e6d469a2ff2b6c", + "dwd_hash": "3518ba4110dc7af0b543ded80e08ceb5" + }, + { + "site_goods_id": 2793025846464581, + "ods_hash": "aa97fb33b7c155a3c5f4723e70cfd403", + "dwd_hash": "286ba07cf7514a2dd5fe70aff818f611" + }, + { + "site_goods_id": 2793025847595077, + "ods_hash": "49df143f47bf603b3fccf320c0d864f9", + "dwd_hash": "430996a993444509e46f728c7fd5baf0" + }, + { + "site_goods_id": 2793025848102981, + "ods_hash": "8ccb8931dced8664bfa615947c256063", + "dwd_hash": "ba566171a135d26d6af105e4f7e1126f" + }, + { + "site_goods_id": 2794695800246405, + "ods_hash": "856261cce351a53fdd41a481c750c983", + "dwd_hash": "a2430a91b07eae577f6e0d91d3565a20" + }, + { + "site_goods_id": 2794695800443013, + "ods_hash": "7cd0232d760222e7f3257f0c83ba2137", + "dwd_hash": "df1f44237a8d1ada6df3570db73cab0f" + }, + { + "site_goods_id": 2794695800770693, + "ods_hash": "273e9f91b02535fcfc6130a10737ba40", + "dwd_hash": "89df2223c38956dfbfe7df412edaa61f" + }, + { + "site_goods_id": 2801925513727045, + "ods_hash": "3c6e11a2910515190353791b9d18c27e", + "dwd_hash": "05f9c1ed4c52b893bb495937c1e46e1c" + }, + { + "site_goods_id": 2801925513923653, + "ods_hash": "aa02330f63ae1a90a6db8ee018363767", + "dwd_hash": "01b9875e4b43eae307eb017f6a7c8e7b" + }, + { + "site_goods_id": 2793025845399621, + "ods_hash": "ee016586443c0490587e8e472b5a4e72", + "dwd_hash": "94fe29425be1798da6db1ed0ad28c08b" + }, + { + "site_goods_id": 2793025845825605, + "ods_hash": "7d001f6f88dfcc510f5c0b47951937e4", + "dwd_hash": "359b59571b1077ad77b540efe46ce8b4" + } + ], + "mismatch_error": null + }, + { + "dwd_table": "billiards_dwd.dim_goods_category", + "ods_table": "billiards_ods.stock_goods_category_tree", + "windowed": false, + "window_col": null, + "count": { + "dwd": 26, + "ods": 9, + "diff": 17 + }, + "amounts": [], + "mismatch": 0, + "mismatch_samples": [], + "mismatch_error": null + }, + { + "dwd_table": "billiards_dwd.dim_groupbuy_package", + "ods_table": "billiards_ods.group_buy_packages", + "windowed": true, + "window_col": "create_time", + "count": { + "dwd": 0, + "ods": 0, + "diff": 0 + }, + "amounts": [], + "mismatch": 0, + "mismatch_samples": [], + "mismatch_error": null + }, + { + "dwd_table": "billiards_dwd.dim_groupbuy_package_ex", + "ods_table": "billiards_ods.group_buy_packages", + "windowed": false, + "window_col": null, + "count": { + "dwd": 34, + "ods": 34, + "diff": 0 + }, + "amounts": [], + "mismatch": 0, + "mismatch_samples": [], + "mismatch_error": null + }, + { + "dwd_table": "billiards_dwd.dwd_settlement_head", + "ods_table": "billiards_ods.settlement_records", + "windowed": false, + "window_col": null, + "count": { + "dwd": 25193, + "ods": 25195, + "diff": -2 + }, + "amounts": [], + "mismatch": 0, + "mismatch_samples": [], + "mismatch_error": null + }, + { + "dwd_table": "billiards_dwd.dwd_settlement_head_ex", + "ods_table": "billiards_ods.settlement_records", + "windowed": false, + "window_col": null, + "count": { + "dwd": 25193, + "ods": 25195, + "diff": -2 + }, + "amounts": [], + "mismatch": 0, + "mismatch_samples": [], + "mismatch_error": null + }, + { + "dwd_table": "billiards_dwd.dwd_table_fee_log", + "ods_table": "billiards_ods.table_fee_transactions", + "windowed": true, + "window_col": "create_time", + "count": { + "dwd": 230, + "ods": 230, + "diff": 0 + }, + "amounts": [ + { + "column": "adjust_amount", + "dwd_sum": 11016.35, + "ods_sum": 11016.35, + "diff": 0.0 + }, + { + "column": "coupon_promotion_amount", + "dwd_sum": 10926.7, + "ods_sum": 10926.7, + "diff": 0.0 + }, + { + "column": "ledger_amount", + "dwd_sum": 40249.67, + "ods_sum": 40249.67, + "diff": 0.0 + }, + { + "column": "member_discount_amount", + "dwd_sum": 1639.16, + "ods_sum": 1639.16, + "diff": 0.0 + }, + { + "column": "real_table_charge_money", + "dwd_sum": 16667.46, + "ods_sum": 16667.46, + "diff": 0.0 + } + ], + "mismatch": 230, + "mismatch_samples": [ + { + "table_fee_log_id": 3073387406525893, + "ods_hash": "706438f1741392b762c92e54a0ef5e94", + "dwd_hash": "19b7cf53208c7f417b247898f09691b8" + }, + { + "table_fee_log_id": 3073430045984389, + "ods_hash": "4360ee40c9e3160d4d40186a074b23ba", + "dwd_hash": "5d195ae45395bd5aa49556337d705a82" + }, + { + "table_fee_log_id": 3073520159950469, + "ods_hash": "dfbb0436b161ce9b784abfd75d17a0d1", + "dwd_hash": "be52f674819e6f97f55204468c3c3d35" + }, + { + "table_fee_log_id": 3073545156888005, + "ods_hash": "3600e23af32bc63cf506e4209bafd63d", + "dwd_hash": "b4ec2c131ea5d1f28ae56a86e30933e3" + }, + { + "table_fee_log_id": 3073574873941637, + "ods_hash": "3d53ca4728d4315ace1c9ee9e9c1dbed", + "dwd_hash": "7c5e2ec8b441e8dd84ab5a08a95a2de8" + }, + { + "table_fee_log_id": 3073574924469637, + "ods_hash": "f6a3ba05f160d1ebf158f47d45bbeb3a", + "dwd_hash": "7352fd74bc20bccbaf266655828433ca" + }, + { + "table_fee_log_id": 3073581977830981, + "ods_hash": "1221412d6acde9705d0f1f28a7272925", + "dwd_hash": "cd9d394a6b554c4f13b098487ffedca1" + }, + { + "table_fee_log_id": 3073631146264005, + "ods_hash": "2d1728f307657dce0edeb133b773a9ce", + "dwd_hash": "4d62209307eb278cceda29a249422a2b" + }, + { + "table_fee_log_id": 3073652727973509, + "ods_hash": "8265009006d75c7d3f99f1d1bb9f7ecf", + "dwd_hash": "299df301259ba57879b5f1c535da2227" + }, + { + "table_fee_log_id": 3073653510473093, + "ods_hash": "90c224a54b1d8dfdacb9972fce89eec1", + "dwd_hash": "d4020e368ea4e7beb7ef4f904abe41ec" + }, + { + "table_fee_log_id": 3073658609059269, + "ods_hash": "4cfd90e9028b3a0f5fdd98811425e05c", + "dwd_hash": "8811cbef58bf2d9bd9c2648bece87567" + }, + { + "table_fee_log_id": 3073681145923013, + "ods_hash": "1eea3bf7d3ff1f4e062ee1f21c8b2a44", + "dwd_hash": "360c60bad084fbd42e43370ba57770a4" + }, + { + "table_fee_log_id": 3073683742803397, + "ods_hash": "caadbf08a295f045a8e351f80d687a56", + "dwd_hash": "02c78157246f61a95784282a01d9a38f" + }, + { + "table_fee_log_id": 3073683966281349, + "ods_hash": "0054db3a05291b5ccb92a0e928e0a55f", + "dwd_hash": "1abdbc429e9f1856a4cd12fbeddfefd0" + }, + { + "table_fee_log_id": 3073690257065349, + "ods_hash": "476395b16c3b763326d09d64d1a6c14e", + "dwd_hash": "789a9f06426850198502d6e3fbfe5373" + }, + { + "table_fee_log_id": 3073697293796933, + "ods_hash": "c8c607d5e1a44a7280c295e37c2be095", + "dwd_hash": "777561bb491a87e809a934c8078a7009" + }, + { + "table_fee_log_id": 3073702633473669, + "ods_hash": "a3918d2076d5bab0cd3426693b2928fa", + "dwd_hash": "c605182afc5bd0f9fb5b791e937cc989" + }, + { + "table_fee_log_id": 3073704045954501, + "ods_hash": "2b69b43c7ea33aa06d88e1c19c2b1bea", + "dwd_hash": "f08c2497114ab8cf4ab789c07bc8bd25" + }, + { + "table_fee_log_id": 3073705558132293, + "ods_hash": "bee0eb382eb3efd446cc05c79ae56da0", + "dwd_hash": "7ad5d3b27fc4b7312f22c55e4e1ceb15" + }, + { + "table_fee_log_id": 3073734142625349, + "ods_hash": "5401b34630340ed7053e6bb12995fea6", + "dwd_hash": "1671ab1d46ed4ecba8c985b5185097ad" + }, + { + "table_fee_log_id": 3073734857147973, + "ods_hash": "cf74ba7d1840c429bf0273988e999974", + "dwd_hash": "a0c51046df139e01070516f93f6303af" + }, + { + "table_fee_log_id": 3073734857180741, + "ods_hash": "ac55cae1f73a3179607f5846b6622108", + "dwd_hash": "c68f35dbf454534743012fdf547cf3f9" + }, + { + "table_fee_log_id": 3073735537984901, + "ods_hash": "8abbd882367a6148996c679949f2fd70", + "dwd_hash": "52d3b1f7e23c7d3b78e3ed832e6e9a48" + }, + { + "table_fee_log_id": 3073741228852869, + "ods_hash": "e557d8dc7b95dfb948e4a0aca99bc056", + "dwd_hash": "64f84b993d969c5cc6a11be689b13e42" + }, + { + "table_fee_log_id": 3073743226815941, + "ods_hash": "fac0837858ecc7cb818468b05ad16677", + "dwd_hash": "dffb09be8e5fb22696b13dd1b62c0304" + }, + { + "table_fee_log_id": 3073750324053637, + "ods_hash": "e0855f85c4bcf0eca9446dbc0496da82", + "dwd_hash": "3f0f2fdc9fbbd34d28475ee30334f453" + }, + { + "table_fee_log_id": 3073751213786501, + "ods_hash": "4dbee169bd5b886178156642df37c587", + "dwd_hash": "64ac3f07de8dc218545b0d019733a6cb" + }, + { + "table_fee_log_id": 3073763304326725, + "ods_hash": "a6cf099f89575b38c05dcdbdc053c716", + "dwd_hash": "dbb1b6214a9e64607bbb1daee46f01d8" + }, + { + "table_fee_log_id": 3073771770414725, + "ods_hash": "0cf5ba42615af5a3500d7376ed1b6e8b", + "dwd_hash": "89e4a373147aac13697219cb6d3a3754" + }, + { + "table_fee_log_id": 3073786718996037, + "ods_hash": "4b7abde4219e9df9a67dfa26debdd503", + "dwd_hash": "f5c1f2760075616e55222cac23f7d7d0" + }, + { + "table_fee_log_id": 3073797232313989, + "ods_hash": "39821cfde0dc0bf2c94e712bc60d2eca", + "dwd_hash": "3d79a9e089e6cfb197f4a1603ada0097" + }, + { + "table_fee_log_id": 3073797232330373, + "ods_hash": "b26ed0f223488287f5aff8d3982479f8", + "dwd_hash": "31090048584f0d253f54d6bc8f4157fa" + }, + { + "table_fee_log_id": 3073809412032069, + "ods_hash": "b2d31e4d68f4699bbfd5f30c4e960390", + "dwd_hash": "20659e3dc5cc98abd1e488fa136120dc" + }, + { + "table_fee_log_id": 3073814678947205, + "ods_hash": "7d6bfc2830cba6056ff77b6e1756899a", + "dwd_hash": "f1e16dc7dc8f63a6c08a718f21a900ed" + }, + { + "table_fee_log_id": 3073817370248773, + "ods_hash": "03b38719b711f52bb84e9f50eba088dc", + "dwd_hash": "8c75b8d33c8d4a8cff06df785ee386a5" + }, + { + "table_fee_log_id": 3073818600392325, + "ods_hash": "c221cd9e1a52350c13457c99828c6266", + "dwd_hash": "6d4ac72b92ede0f164cd6257885a37a4" + }, + { + "table_fee_log_id": 3073829506926149, + "ods_hash": "2b06188faca549ee933bf6406738d852", + "dwd_hash": "a493b3f073d732a6bea4d962673dcbd3" + }, + { + "table_fee_log_id": 3073835265984069, + "ods_hash": "6f4405cf08cfce9fdab2de2bd1fda737", + "dwd_hash": "aa2ab1fa5a3c2a5ce10b0e32d53b6453" + }, + { + "table_fee_log_id": 3073840475096517, + "ods_hash": "4693c706e5d7ec8cd15fad2c16faca36", + "dwd_hash": "7ad06f92e1b211d83fa57002475a9c8b" + }, + { + "table_fee_log_id": 3073841866704517, + "ods_hash": "e5fc2886b18a7dadd5331b15d45d245f", + "dwd_hash": "5746d97075efa3e1b15db64abceef756" + }, + { + "table_fee_log_id": 3073844860880517, + "ods_hash": "78848ad9978385598f93c5c188ab8ab1", + "dwd_hash": "607c2aeb483fdd7c213b59d623926eb5" + }, + { + "table_fee_log_id": 3073845066941893, + "ods_hash": "132a018915b58462e99d7ffa78fe4da7", + "dwd_hash": "d7974858686efe26481dc4381d69379d" + }, + { + "table_fee_log_id": 3073849387681221, + "ods_hash": "0270182788e2dfffee92e5f61d3d272f", + "dwd_hash": "b62c73a253f9b771ec74d36b8426ca8e" + }, + { + "table_fee_log_id": 3073849681069701, + "ods_hash": "acaaffdd30e4682fccc00347e74efd7f", + "dwd_hash": "83f089b7d6e28bf87983e5a77958035e" + }, + { + "table_fee_log_id": 3073851453802053, + "ods_hash": "fbf4afa8fdad46b2e83d6f8d50cc024d", + "dwd_hash": "1112b162538b9015d0e9809177d254d8" + }, + { + "table_fee_log_id": 3073861762188869, + "ods_hash": "441507ed3da6b81504e5615d90c52bb2", + "dwd_hash": "3c633282f88ae8cd452098cd72dd4c15" + }, + { + "table_fee_log_id": 3073869495551621, + "ods_hash": "d93ed6c70ad0c97ddf5816f8a62ab4f6", + "dwd_hash": "7a5274598576f1cc254ebba75faf5c6c" + }, + { + "table_fee_log_id": 3073870293059013, + "ods_hash": "08a0900ce330aad67b9ec08a1441d0c6", + "dwd_hash": "e768fe3b03c365814f89a9e4b80e8da6" + }, + { + "table_fee_log_id": 3073870395524677, + "ods_hash": "6fc57b9aa418c0979f71de2c850067c5", + "dwd_hash": "4795927765d5f83ed7e6730519541d40" + }, + { + "table_fee_log_id": 3073871312176709, + "ods_hash": "87c41db3a1b7835a262aface0aa324ec", + "dwd_hash": "450276528ff887f045de7980a65286de" + } + ], + "mismatch_error": null + }, + { + "dwd_table": "billiards_dwd.dwd_table_fee_log_ex", + "ods_table": "billiards_ods.table_fee_transactions", + "windowed": false, + "window_col": null, + "count": { + "dwd": 19019, + "ods": 19021, + "diff": -2 + }, + "amounts": [ + { + "column": "fee_total", + "dwd_sum": 0.0, + "ods_sum": 0.0, + "diff": 0.0 + }, + { + "column": "mgmt_fee", + "dwd_sum": 0.0, + "ods_sum": 0.0, + "diff": 0.0 + }, + { + "column": "service_money", + "dwd_sum": 0.0, + "ods_sum": 0.0, + "diff": 0.0 + }, + { + "column": "used_card_amount", + "dwd_sum": 0.0, + "ods_sum": 0.0, + "diff": 0.0 + } + ], + "mismatch": 19019, + "mismatch_samples": [ + { + "table_fee_log_id": 2800050345363077, + "ods_hash": "47ce626b250aef81e02b41114d24a4c1", + "dwd_hash": "38672ade980b6241840806920c41f415" + }, + { + "table_fee_log_id": 2800144144582277, + "ods_hash": "136a9045d6b350c483960339f3724ced", + "dwd_hash": "8d25769acf592ba8042c8fe9efde47fb" + }, + { + "table_fee_log_id": 2800144212365957, + "ods_hash": "b9fb721997b3d99b5a77b628c955d9d6", + "dwd_hash": "51ab9da8276a4c586d3d9b5e24009306" + }, + { + "table_fee_log_id": 2800144334426757, + "ods_hash": "f655dac5adcc6e93f08aeb3fbc5eaca4", + "dwd_hash": "acc461199c027a1764bb119c2661ce7f" + }, + { + "table_fee_log_id": 2800169001878981, + "ods_hash": "1a3c02265bbba94c8c8e34733ef96efd", + "dwd_hash": "fb17863cdab37b22be4386da87739ce4" + }, + { + "table_fee_log_id": 2800169065157253, + "ods_hash": "616d9be9439c26b05e9643313ddeeb8e", + "dwd_hash": "7e84e0066add9c63ed5b0b4f06dbf240" + }, + { + "table_fee_log_id": 2800194314323909, + "ods_hash": "8f4654f10b97217039ff6fd3408225df", + "dwd_hash": "756a32e7dbdd025417d7b606856862c1" + }, + { + "table_fee_log_id": 2800229441783621, + "ods_hash": "badaf26a125cf99fc0419d535ad3a9f6", + "dwd_hash": "fa78f83711b5f7088d436c31dc467aaa" + }, + { + "table_fee_log_id": 2800239124563973, + "ods_hash": "ef7c2d7c6362910260fbe231e9c55750", + "dwd_hash": "426cdceb2dc42885f6c25f6a8c3821ff" + }, + { + "table_fee_log_id": 2800239192983557, + "ods_hash": "016a95729665967fce80d973d8dd8df7", + "dwd_hash": "f2a3c50fd0165edb429acd6e058649d6" + }, + { + "table_fee_log_id": 2800259335767877, + "ods_hash": "f3aea9164f544f4499c1f5e6c6714bdb", + "dwd_hash": "cb799571b0f5af75fc456b15c7f37785" + }, + { + "table_fee_log_id": 2800262083528709, + "ods_hash": "a0b784efb02b6acb3c15cf9d5ab08f36", + "dwd_hash": "9f2040128e8005ea8ebbf2b480b74ed9" + }, + { + "table_fee_log_id": 2800265380710277, + "ods_hash": "465e54ccee1ad29b3d89063f8159362c", + "dwd_hash": "542ead549d0626985a2460c531dfc2f4" + }, + { + "table_fee_log_id": 2800272211904389, + "ods_hash": "164c02c1180dd943b452633d3c9e9d55", + "dwd_hash": "dc86aeb9825c6df92de2a5f184ada3a1" + }, + { + "table_fee_log_id": 2800301298436101, + "ods_hash": "adc175d4b20332475e5a0ecbade27acf", + "dwd_hash": "7d5f73abf3862a3635946a0d1666ce5b" + }, + { + "table_fee_log_id": 2800317000124293, + "ods_hash": "3aee8e81e163d51d03c4b33ba275aa97", + "dwd_hash": "b37974d1ebfe1533b12b85a76977c8f3" + }, + { + "table_fee_log_id": 2800328512047045, + "ods_hash": "830da782c33a7bbdaeb13b79c91e4991", + "dwd_hash": "ba6334ae8b8ba36249ca9dfe72b3dc97" + }, + { + "table_fee_log_id": 2800348915828613, + "ods_hash": "e67e73531f604cd93cc41a768e3b20e8", + "dwd_hash": "10853107c95e4517be1d3a1740d88d17" + }, + { + "table_fee_log_id": 2800378705070149, + "ods_hash": "e15216e589ee15a3e42821c53ed44848", + "dwd_hash": "7081e18f8d35213d3c9580074c88f3a7" + }, + { + "table_fee_log_id": 2800378804275205, + "ods_hash": "216ecff62d831d46d322b95ac863a691", + "dwd_hash": "ac50479e19203a55f39ccf75101fb59d" + }, + { + "table_fee_log_id": 2800379696531397, + "ods_hash": "f88957894607a0300be5858f2b92c7b8", + "dwd_hash": "2d09487a05ee820c0aa3ebef2c5b9dee" + }, + { + "table_fee_log_id": 2800379779762245, + "ods_hash": "b8c6771e1e30d614e06cc3074b1c2e5d", + "dwd_hash": "ddadf8beeb038e2da762876c134c2f27" + }, + { + "table_fee_log_id": 2800379849459590, + "ods_hash": "c4772af62ea801aaa70712e68d50d1e9", + "dwd_hash": "ba79aae7156d5858fd32a12f37536566" + }, + { + "table_fee_log_id": 2800410254477253, + "ods_hash": "7af5b7fcf244913566ae2d50ada9671e", + "dwd_hash": "dd6ce09652767e1a6aaa31006e1cdd29" + }, + { + "table_fee_log_id": 2800420129949637, + "ods_hash": "5a7ef4cff18fe7c6b0ca2d24a59145f4", + "dwd_hash": "869124d9028f261dde371a8b0e1ca78b" + }, + { + "table_fee_log_id": 2800421760534533, + "ods_hash": "16d01d4b5ec1b37994d8beee8e23a12f", + "dwd_hash": "ad3470cf928b23a0ae63eb945dbdbce4" + }, + { + "table_fee_log_id": 2800421760550917, + "ods_hash": "f5709c5fc6250b3c35ab296cd379502e", + "dwd_hash": "102fdbad7e50a3714b40afb3cd87f833" + }, + { + "table_fee_log_id": 2800428881152069, + "ods_hash": "97602e43e9dabaf776da66ce839592a1", + "dwd_hash": "7ec605344eb3fbdbcde2aef1475cd236" + }, + { + "table_fee_log_id": 2800430752009285, + "ods_hash": "b878ad11f86a4bc9f9ba3b5c3c57ca05", + "dwd_hash": "8929a931496cc52b63b5861f2e36a6bb" + }, + { + "table_fee_log_id": 2800433691674629, + "ods_hash": "6545714780b37cd3d07dcc5a3613c115", + "dwd_hash": "7d1a2ea45c890a0c43b926f0d959907d" + }, + { + "table_fee_log_id": 2800442629179461, + "ods_hash": "c06070e67db50888d9fb1e24e616a2bb", + "dwd_hash": "5f9d5dbb1f0a1c48c5c67a8511c36b1b" + }, + { + "table_fee_log_id": 2800460253743109, + "ods_hash": "0d068392900448544fc93b53f2b189b7", + "dwd_hash": "6c735b6e7711861c12c4431f168f8548" + }, + { + "table_fee_log_id": 2800462786250693, + "ods_hash": "c6ca40121782a877111379c57499348d", + "dwd_hash": "fd8758d496a4cdee7f776354d016c380" + }, + { + "table_fee_log_id": 2800477851207685, + "ods_hash": "507b1ee4ddd65345cd7e11846c6e91e3", + "dwd_hash": "c4715c0ed2a34756cf75b9fc191b619c" + }, + { + "table_fee_log_id": 2800479196071877, + "ods_hash": "c80f08bcb7e6fb9942e50b821c1afd5e", + "dwd_hash": "f129ec3f7c96c3cc5e7c1208e1d9cb21" + }, + { + "table_fee_log_id": 2800479978391557, + "ods_hash": "2386de6219d16e2a430b6216971f1ddb", + "dwd_hash": "56c91e6fc524007e8f520bf575cdeb09" + }, + { + "table_fee_log_id": 2800486211405829, + "ods_hash": "f7569e1a80780122ce0d75d1edb0789a", + "dwd_hash": "aad50e3673f4e7b999a2d7e13833528d" + }, + { + "table_fee_log_id": 2800486385715269, + "ods_hash": "f4a7d5d399e19ca0d515c8af976d0b12", + "dwd_hash": "c08df4c2f2bb4ccf4c2180c47d1d2db3" + }, + { + "table_fee_log_id": 2800488017709061, + "ods_hash": "05074b545fe665407bf0a72d5d7498fa", + "dwd_hash": "90b82da599eed200ecf4289ac882747a" + }, + { + "table_fee_log_id": 2800488101906373, + "ods_hash": "e33a7cdf7879e2174d05b14fa86a5692", + "dwd_hash": "3c6e3a52c7ccaf065cc38e7309093ad4" + }, + { + "table_fee_log_id": 2800489992832965, + "ods_hash": "7c6a54089430f76a9a777814ca7dde20", + "dwd_hash": "9abf78df9e6c0f51df5f34b551ea2356" + }, + { + "table_fee_log_id": 2800520188495941, + "ods_hash": "802b0fbf6d182a8e73678dd7f1b2c055", + "dwd_hash": "56bc5f14d1529adc104cdc021a90eaf6" + }, + { + "table_fee_log_id": 2800524097538053, + "ods_hash": "ed88809a14fe10522385c4735f4049da", + "dwd_hash": "8efb6a6db5717ef778367eaae4cf7bca" + }, + { + "table_fee_log_id": 2800526171457541, + "ods_hash": "e1b5e73435f0f28836ffe66e45b51ed3", + "dwd_hash": "f66f0133d83624d8e366fc08f03682b2" + }, + { + "table_fee_log_id": 2800526171473925, + "ods_hash": "a2e932fdd6b2a725db64031033a400b8", + "dwd_hash": "baede70388e816a33facc59d7be6a8b4" + }, + { + "table_fee_log_id": 2800531896108997, + "ods_hash": "67bf1e085aa4f79300941d8112921b57", + "dwd_hash": "adebb08dbcd049ad8b0292d5e1d605f5" + }, + { + "table_fee_log_id": 2800542169483205, + "ods_hash": "001dd13e1e5852c2032acfe18ed018dd", + "dwd_hash": "b33fe8b0921f09a153dd762d1184a972" + }, + { + "table_fee_log_id": 2800565625866245, + "ods_hash": "487894d7532ed63578cac8cf29f68dde", + "dwd_hash": "361932c0b88e9bfaca492232bc929843" + }, + { + "table_fee_log_id": 2800565739636805, + "ods_hash": "5d6a52d59ae33ad29336508e69d29870", + "dwd_hash": "ecf57b570f9a06f88ec3976b2b839e07" + }, + { + "table_fee_log_id": 2800569032705925, + "ods_hash": "725983246f1149fbf516e5069853e604", + "dwd_hash": "a1a734aac91c36377c2620f18ee6ab9d" + } + ], + "mismatch_error": null + }, + { + "dwd_table": "billiards_dwd.dwd_table_fee_adjust", + "ods_table": "billiards_ods.table_fee_discount_records", + "windowed": false, + "window_col": null, + "count": { + "dwd": 2963, + "ods": 2964, + "diff": -1 + }, + "amounts": [ + { + "column": "ledger_amount", + "dwd_sum": 350045.69, + "ods_sum": 350089.29, + "diff": -43.59999999997672 + } + ], + "mismatch": 2963, + "mismatch_samples": [ + { + "table_fee_adjust_id": 2800379696809925, + "ods_hash": "7ce2d6d66d5dc2e0b9d51d0b6adbd2aa", + "dwd_hash": "832a33580bf287ab01e77d5b67d5f6b0" + }, + { + "table_fee_adjust_id": 2800421760862213, + "ods_hash": "40c82f58503546ae308955e63b8062de", + "dwd_hash": "6500f879c5f4046789060378005e1cde" + }, + { + "table_fee_adjust_id": 2800479196448709, + "ods_hash": "4a441625678ad50f1522af395838262e", + "dwd_hash": "40751ee89b22668e955c882adfda4b5c" + }, + { + "table_fee_adjust_id": 2800479978670085, + "ods_hash": "80108dbed450bdc34ebf4985e39f545d", + "dwd_hash": "034693ebade908b5b0a2c690433a5a2b" + }, + { + "table_fee_adjust_id": 2800486211717125, + "ods_hash": "52dc8859f828b0855e2a551b476c7fd9", + "dwd_hash": "f5763afc7c39986d3ee62962ba379f96" + }, + { + "table_fee_adjust_id": 2800706253834245, + "ods_hash": "602e802e6f9b05d6123b315715fea93e", + "dwd_hash": "fa601a7e414946bf31a21d1480bda326" + }, + { + "table_fee_adjust_id": 2800711390840837, + "ods_hash": "cdb048876ca30a4cfa6868126fac1340", + "dwd_hash": "85a4c5a0a725da7f10eedb29cc8e0334" + }, + { + "table_fee_adjust_id": 2800770325694533, + "ods_hash": "f612cf48ce594eea51ef3d5a3e9c301b", + "dwd_hash": "de055594d98238c00b7f4e43b77512eb" + }, + { + "table_fee_adjust_id": 2800825635522629, + "ods_hash": "f78c4c1ff6955a531d7f1ec863416963", + "dwd_hash": "fe4e273fe1f3a14f10244df0847d8bbd" + }, + { + "table_fee_adjust_id": 2800843724834949, + "ods_hash": "1f29584e1375acfd83935870f1bf2e07", + "dwd_hash": "cd2f8a44338fe00de9bf47d0577d3b73" + }, + { + "table_fee_adjust_id": 2800876785502405, + "ods_hash": "fdb6d69f3ba1ff45467249b6816c9127", + "dwd_hash": "afc9e50ea1a37abb912207b921a654f2" + }, + { + "table_fee_adjust_id": 2800889951897605, + "ods_hash": "309daefc3c358dc7aafa393d00cc49b3", + "dwd_hash": "5a8547815b5b1cf74995c8982c083c22" + }, + { + "table_fee_adjust_id": 2800896786892997, + "ods_hash": "62c67b6b13f8bc6449ced05113507a39", + "dwd_hash": "b3fbf383c768353f592a8f9c915d5de7" + }, + { + "table_fee_adjust_id": 2801005953304837, + "ods_hash": "b5470881813e190bc8353082a3bd83a5", + "dwd_hash": "cc306e0fa329586d194d34e35a28ebbf" + }, + { + "table_fee_adjust_id": 2801760805128261, + "ods_hash": "8e5c5de8ec0924c0a7ef36194905f8ef", + "dwd_hash": "ee0948f9a28e382bef5b29c231afe555" + }, + { + "table_fee_adjust_id": 2801783841146949, + "ods_hash": "a4841562c846266fd1c57838542fa0f3", + "dwd_hash": "24654d6046a1116afbde95ede1caf6ab" + }, + { + "table_fee_adjust_id": 2801790309910789, + "ods_hash": "f33a4ccd9cb88c9f740d28cbcbb80e53", + "dwd_hash": "faffe5b110689337bb8cca805ef55b52" + }, + { + "table_fee_adjust_id": 2801929481078853, + "ods_hash": "056962c198518f282e06b01ecfde69ab", + "dwd_hash": "582a0f6382c9382dcb792d1605a8f3e9" + }, + { + "table_fee_adjust_id": 2801967422589189, + "ods_hash": "82aacecabf0a82779842887979946e85", + "dwd_hash": "7943fcf3dfbb99287c94035a5a7cc924" + }, + { + "table_fee_adjust_id": 2802022786484485, + "ods_hash": "78cbe372ec302661099b40da6aa97aba", + "dwd_hash": "47780e2ee4616eb035644e79c06f13c0" + }, + { + "table_fee_adjust_id": 2802053355587653, + "ods_hash": "1009fa765e1febae65defa47932b0d52", + "dwd_hash": "127896dc74aac46e4ddfe89d302e63f8" + }, + { + "table_fee_adjust_id": 2802054934628549, + "ods_hash": "062d351f9a426d938528100e83f5ddd7", + "dwd_hash": "443f21c06e37de4b6cd70c9986677fe9" + }, + { + "table_fee_adjust_id": 2802075486898373, + "ods_hash": "c9fd03849f7eb9e32688266535b0df4c", + "dwd_hash": "ec638951722b3924dd3522a669ba3093" + }, + { + "table_fee_adjust_id": 2802093906217349, + "ods_hash": "d2b196faa4cbfffba1f3ed03b7fa9f6d", + "dwd_hash": "59bc1948976028bf2c0d82eacaf09895" + }, + { + "table_fee_adjust_id": 2802093906266501, + "ods_hash": "6d0aa054cdd3ca4dc573f390310eabc1", + "dwd_hash": "08836968ec4c83cbaf2671adeb02dc6b" + }, + { + "table_fee_adjust_id": 2802093906315653, + "ods_hash": "4ce46d0e14169b19cdbc54b7c43003af", + "dwd_hash": "033fdcbe0fec06a95b00846a4e65fc28" + }, + { + "table_fee_adjust_id": 2802093906397573, + "ods_hash": "726ba7d60cbc08f386130ba9325ba8d7", + "dwd_hash": "a45d01a3b05bb635abd3e7f4fabe892f" + }, + { + "table_fee_adjust_id": 2802093906446725, + "ods_hash": "91f8016239868f640217778dd2c696fe", + "dwd_hash": "3dd4b64260cff013282cf2c4782d8cc3" + }, + { + "table_fee_adjust_id": 2802163714017541, + "ods_hash": "52a1cae89e96710f9581eff0db4df617", + "dwd_hash": "2a76f4b465eaad31a6d791317a67938e" + }, + { + "table_fee_adjust_id": 2802278049646661, + "ods_hash": "5f63f4def7021cf549b8424646a1ea8f", + "dwd_hash": "388553fc3d4b9e84581517d64a9d2fe3" + }, + { + "table_fee_adjust_id": 2802280012680389, + "ods_hash": "2bd1b2981ed7b1163248601536b6db6a", + "dwd_hash": "9a4069cf6c1f2629c6301a4b46cd3966" + }, + { + "table_fee_adjust_id": 2802327004449925, + "ods_hash": "2ff87542bd2a0078920e8d823350f0f0", + "dwd_hash": "45e2441999c431746420cbd195a9a93e" + }, + { + "table_fee_adjust_id": 2802327004499077, + "ods_hash": "813c665f5f7beca488d998fd523f55ad", + "dwd_hash": "521875c5f5336eea973764667749a4cb" + }, + { + "table_fee_adjust_id": 2802363812186181, + "ods_hash": "a57a704b660f7ab109a5ff8fd76648bc", + "dwd_hash": "2947a65d3f000c9b6705e698944575e0" + }, + { + "table_fee_adjust_id": 2802365271018693, + "ods_hash": "91cbe0fc2a9e686d8f809f5e4cfcb665", + "dwd_hash": "bc1cd39bdb142528f9d14707f1048a32" + }, + { + "table_fee_adjust_id": 2802368170134725, + "ods_hash": "6df20e5867d98bfc683471c0820825f7", + "dwd_hash": "4fd1d241b33a00b88ebd8cda18379377" + }, + { + "table_fee_adjust_id": 2802399883036741, + "ods_hash": "c4ec71958e6ad1559959ae6833d01dfe", + "dwd_hash": "583571e114f9fee29eec698bded72e37" + }, + { + "table_fee_adjust_id": 2802534808143941, + "ods_hash": "ddac22a3aab7a9b0ccb5641f48a2e08f", + "dwd_hash": "abb9af232663e6a6b7a9743c81586128" + }, + { + "table_fee_adjust_id": 2803270381127749, + "ods_hash": "5751bdbf8a61c5acf391aa1758a67d34", + "dwd_hash": "99af713c44d7f5d009a334732ee6c765" + }, + { + "table_fee_adjust_id": 2803405096963269, + "ods_hash": "6d20e2a598fe72f9422c469e321cb812", + "dwd_hash": "d129d527d90867be29c635890b0c72da" + }, + { + "table_fee_adjust_id": 2803448049797189, + "ods_hash": "d4a44fc025ec328b355b6df8ec5238ce", + "dwd_hash": "fe52d82a449191416515ef1b81ea730f" + }, + { + "table_fee_adjust_id": 2803523020213509, + "ods_hash": "33d57ae9e77239f96fb4b7c34629cfa7", + "dwd_hash": "ed8cfb951e43b26509a279b6e8aa60e4" + }, + { + "table_fee_adjust_id": 2803523020262661, + "ods_hash": "9e7e67907c2e83352c72ace760a03c1b", + "dwd_hash": "1995db2f86e725571a031a5bfc09f9e6" + }, + { + "table_fee_adjust_id": 2803525167892549, + "ods_hash": "d56646fc379a005caf426a0d80ce2252", + "dwd_hash": "21c12c15597e8750c2286a0d6ca0b19e" + }, + { + "table_fee_adjust_id": 2803556074342469, + "ods_hash": "e8fec15703f98ee080f2db5bcb4da0f0", + "dwd_hash": "9d4a388e322bc48934d496ebf3d9a72e" + }, + { + "table_fee_adjust_id": 2803564671732933, + "ods_hash": "036500cea7376f1aa8d73c3fb3149d98", + "dwd_hash": "7bfef906ca79bc59e1cabb67312c0fbe" + }, + { + "table_fee_adjust_id": 2803648600329413, + "ods_hash": "2fa825b8a4ee9879ceae0000c372b6a4", + "dwd_hash": "2199feb05cb530006b11028452523c7f" + }, + { + "table_fee_adjust_id": 2803669730823365, + "ods_hash": "1824ba40dc33f39c7bddb6ad3f4c8c61", + "dwd_hash": "403560afc9c23cf9558c32ae3530a9d8" + }, + { + "table_fee_adjust_id": 2803701662108869, + "ods_hash": "bdbab81356d037b611561cb1211e16d6", + "dwd_hash": "0a7dc623b3429f374c08b42432082eac" + }, + { + "table_fee_adjust_id": 2803712975703301, + "ods_hash": "814d549e24af4845f4ac0dce0b89f153", + "dwd_hash": "ba485749618c1d998e2c0bb6af5279fb" + } + ], + "mismatch_error": null + }, + { + "dwd_table": "billiards_dwd.dwd_table_fee_adjust_ex", + "ods_table": "billiards_ods.table_fee_discount_records", + "windowed": false, + "window_col": null, + "count": { + "dwd": 2963, + "ods": 2964, + "diff": -1 + }, + "amounts": [], + "mismatch": 2963, + "mismatch_samples": [ + { + "table_fee_adjust_id": 2800379696809925, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2800421760862213, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2800479196448709, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2800479978670085, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2800486211717125, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2800706253834245, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2800711390840837, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2800770325694533, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2800825635522629, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2800843724834949, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2800876785502405, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2800889951897605, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2800896786892997, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2801005953304837, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2801760805128261, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2801783841146949, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2801790309910789, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2801929481078853, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2801967422589189, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2802022786484485, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2802053355587653, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2802054934628549, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2802075486898373, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2802093906217349, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2802093906266501, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2802093906315653, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2802093906397573, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2802093906446725, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2802163714017541, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2802278049646661, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2802280012680389, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2802327004449925, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2802327004499077, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2802363812186181, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2802365271018693, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2802368170134725, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2802399883036741, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2802534808143941, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2803270381127749, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2803405096963269, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2803448049797189, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2803523020213509, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2803523020262661, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2803525167892549, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2803556074342469, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2803564671732933, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2803648600329413, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2803669730823365, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2803701662108869, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2803712975703301, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + } + ], + "mismatch_error": null + }, + { + "dwd_table": "billiards_dwd.dwd_store_goods_sale", + "ods_table": "billiards_ods.store_goods_sales_records", + "windowed": true, + "window_col": "create_time", + "count": { + "dwd": 0, + "ods": 0, + "diff": 0 + }, + "amounts": [ + { + "column": "cost_money", + "dwd_sum": 0.0, + "ods_sum": 0.0, + "diff": 0.0 + }, + { + "column": "ledger_amount", + "dwd_sum": 0.0, + "ods_sum": 0.0, + "diff": 0.0 + }, + { + "column": "real_goods_money", + "dwd_sum": 0.0, + "ods_sum": 0.0, + "diff": 0.0 + } + ], + "mismatch": 0, + "mismatch_samples": [], + "mismatch_error": null + }, + { + "dwd_table": "billiards_dwd.dwd_store_goods_sale_ex", + "ods_table": "billiards_ods.store_goods_sales_records", + "windowed": false, + "window_col": null, + "count": { + "dwd": 17563, + "ods": 17563, + "diff": 0 + }, + "amounts": [ + { + "column": "coupon_deduct_money", + "dwd_sum": 0.0, + "ods_sum": 0.0, + "diff": 0.0 + }, + { + "column": "discount_money", + "dwd_sum": 21673.2, + "ods_sum": 21673.2, + "diff": 0.0 + }, + { + "column": "member_discount_amount", + "dwd_sum": 0.0, + "ods_sum": 0.0, + "diff": 0.0 + }, + { + "column": "option_coupon_deduct_money", + "dwd_sum": 0.0, + "ods_sum": 0.0, + "diff": 0.0 + }, + { + "column": "option_member_discount_money", + "dwd_sum": 0.0, + "ods_sum": 0.0, + "diff": 0.0 + }, + { + "column": "point_discount_money", + "dwd_sum": 0.0, + "ods_sum": 0.0, + "diff": 0.0 + }, + { + "column": "point_discount_money_cost", + "dwd_sum": 0.0, + "ods_sum": 0.0, + "diff": 0.0 + }, + { + "column": "push_money", + "dwd_sum": 0.0, + "ods_sum": 0.0, + "diff": 0.0 + } + ], + "mismatch": 0, + "mismatch_samples": [], + "mismatch_error": null + }, + { + "dwd_table": "billiards_dwd.dwd_assistant_service_log", + "ods_table": "billiards_ods.assistant_service_records", + "windowed": true, + "window_col": "create_time", + "count": { + "dwd": 65, + "ods": 65, + "diff": 0 + }, + "amounts": [ + { + "column": "coupon_deduct_money", + "dwd_sum": 0.0, + "ods_sum": 0.0, + "diff": 0.0 + }, + { + "column": "ledger_amount", + "dwd_sum": 22232.2, + "ods_sum": 22232.2, + "diff": 0.0 + } + ], + "mismatch": 65, + "mismatch_samples": [ + { + "assistant_service_id": 3073670472140229, + "ods_hash": "36fb4f3d7496e4165e964874288e33e2", + "dwd_hash": "18f7bd4f721541251ee4ce9414ed5385" + }, + { + "assistant_service_id": 3073702634096262, + "ods_hash": "2406f254f03e82fe55b31a34c8f215bf", + "dwd_hash": "b797d68a024c65481be400a031d30e8f" + }, + { + "assistant_service_id": 3073734857737797, + "ods_hash": "b459a4fb97a377857668a7019d06c994", + "dwd_hash": "06dab0af7d18d47a7b702ded9b8a115a" + }, + { + "assistant_service_id": 3073734858196549, + "ods_hash": "65cad58fa1b1e449b7b4b25e0c93d21b", + "dwd_hash": "02cd44f121ab1787fa4d2576f2ef27e7" + }, + { + "assistant_service_id": 3073869496338053, + "ods_hash": "13d2f8351957d8d6ba2dc08b77d058fa", + "dwd_hash": "45f459bff7ebf309c793ef2fc38ed90d" + }, + { + "assistant_service_id": 3073869496862341, + "ods_hash": "b1b9aabfc916a907fa45b3f40f1c86b4", + "dwd_hash": "5fb5240e88c096b50254399437870e7e" + }, + { + "assistant_service_id": 3073869497353861, + "ods_hash": "b18c729fbc964e976d09e88717a99887", + "dwd_hash": "685f6a5f5587bbcf1cb8e115bf9484de" + }, + { + "assistant_service_id": 3073870293747141, + "ods_hash": "36f5f841838461620ff0b32a0d4e282e", + "dwd_hash": "52ff93718eefe9a2b447b8930a035e71" + }, + { + "assistant_service_id": 3073870294435269, + "ods_hash": "67f0cca9c83682d2107ecbefad2a9786", + "dwd_hash": "d2a808c98de39c3a59bf692a699438b6" + }, + { + "assistant_service_id": 3073914625197509, + "ods_hash": "e5316a6ce2f07be913ffc129d5f4222d", + "dwd_hash": "62e8070ad58d5c49b4fb69311f619363" + }, + { + "assistant_service_id": 3073989336515973, + "ods_hash": "793740e2fd91871ae6e5fc64f5532d6f", + "dwd_hash": "d4e48024f78bdba826153183d53ebd88" + }, + { + "assistant_service_id": 3074021432133189, + "ods_hash": "b1bb11c2f7447caa6c57ef40698eae0a", + "dwd_hash": "8c176cb5aaf8a574ddbe79e783854f92" + }, + { + "assistant_service_id": 3074034426775173, + "ods_hash": "3bd96bea167a4155422275651811fb91", + "dwd_hash": "f6c973cd3fc4a9c33204bb23b6200c8b" + }, + { + "assistant_service_id": 3074037170046533, + "ods_hash": "5dfcc435f6e1a9ec8294e80972eca680", + "dwd_hash": "15e28ffd56af88430a6f193755fc0c3d" + }, + { + "assistant_service_id": 3074037170570821, + "ods_hash": "61f0957f90fd2a7e12422c1d6bb0d61f", + "dwd_hash": "232471bcd8658bbe90cee5939a620e16" + }, + { + "assistant_service_id": 3074037171226181, + "ods_hash": "c01c5f2ddb7ffe87b8b083f546224ddc", + "dwd_hash": "ef69f7e3e15b9f752448d93cc547bfd4" + }, + { + "assistant_service_id": 3074058740794821, + "ods_hash": "9f80976d8af233f6d5eab8435f963e75", + "dwd_hash": "1889af64787f11edcdf0c6dca4f909af" + }, + { + "assistant_service_id": 3074058741253573, + "ods_hash": "f00cc39c8db4231302b00e2d89ca075a", + "dwd_hash": "d83f6bcf86b7e478da85cf890e51e572" + }, + { + "assistant_service_id": 3074058741695941, + "ods_hash": "25244a152d6cdd77390c95438300ffdf", + "dwd_hash": "62128e280de82500a45916366e5f4635" + }, + { + "assistant_service_id": 3074058742154693, + "ods_hash": "8e672d6812753571d9a73bb9b6557a94", + "dwd_hash": "c9f71111a736882ceb5e2a5cadef59d4" + }, + { + "assistant_service_id": 3074058742613445, + "ods_hash": "10642820f01f2c114693121c38a56cb5", + "dwd_hash": "0c27d7919b67c3c31607a004b92dda5e" + }, + { + "assistant_service_id": 3074058743088581, + "ods_hash": "4b465d67f14c566fe39684921bced7f5", + "dwd_hash": "bbe235788db18ee60dd74696e35236d5" + }, + { + "assistant_service_id": 3074058743563717, + "ods_hash": "6e4c0ad5d4231cd064c44113af193083", + "dwd_hash": "c94a36bc684ea71463a23d55ddbe885f" + }, + { + "assistant_service_id": 3074058744022469, + "ods_hash": "c6fca9c534a3c186a529f0648211d6d7", + "dwd_hash": "0e0f1335540012c6bfaca82677e51a1e" + }, + { + "assistant_service_id": 3074058744481221, + "ods_hash": "8efc83979d84af16f9182cb3ffa4be68", + "dwd_hash": "fdc5c545ba697dca6e5985c7c2ff8e89" + }, + { + "assistant_service_id": 3074058745103813, + "ods_hash": "8623eb4ef854cc8229c5556e85e3a0ac", + "dwd_hash": "e99bd57957e2cbcc1633ade6a1940fb2" + }, + { + "assistant_service_id": 3074058745578949, + "ods_hash": "858ead59caf626fab599b93282f6ae39", + "dwd_hash": "b16ffe58dcb5a0905d6549877feead5d" + }, + { + "assistant_service_id": 3074058746037701, + "ods_hash": "1b92d277a7f4026e796f2c1ee1f7480e", + "dwd_hash": "d6628d4bc40d9197e5b6389c2d729be6" + }, + { + "assistant_service_id": 3074058746529221, + "ods_hash": "6a15b42155bc1ba38752f8dce91f2c97", + "dwd_hash": "8fb3849e6bd50fde374364af1adb3676" + }, + { + "assistant_service_id": 3074058746987973, + "ods_hash": "7507cf9876132fa45d962d6a1cbe262a", + "dwd_hash": "19f688e3f12f00b3a9c57a6599d5c4b1" + }, + { + "assistant_service_id": 3074058747463109, + "ods_hash": "0af246fc769899b618e2cfccda9f26de", + "dwd_hash": "2f32feba6258bc02e5cfebdd8ffc6eab" + }, + { + "assistant_service_id": 3074058747954629, + "ods_hash": "7760df418ae6356bb24c0523dfd3dc05", + "dwd_hash": "71bcb486f5ddd7e5189786f8353c8d54" + }, + { + "assistant_service_id": 3074059753293189, + "ods_hash": "2977b503cd87be4655786d4c46467393", + "dwd_hash": "60395cc60c305dbf303c83fce161202a" + }, + { + "assistant_service_id": 3074062051919237, + "ods_hash": "35c0aa00a44d8b475415248aa8a2b2ff", + "dwd_hash": "3ef6d05a1db8efe84c385f156f5ec08b" + }, + { + "assistant_service_id": 3074062052427141, + "ods_hash": "5339f5d82f71f76536cb647a0626fe0e", + "dwd_hash": "a28389353ce53b10ac6933d4fab7180c" + }, + { + "assistant_service_id": 3074062052902277, + "ods_hash": "e47af35319ad3ca6f4e15e4697508a36", + "dwd_hash": "3eaf3e4ab44143acf2dc560433cb4432" + }, + { + "assistant_service_id": 3074064127378821, + "ods_hash": "2af05313ddce8164d071e24274b73040", + "dwd_hash": "d7a53084a332051c34d699421ed1e53a" + }, + { + "assistant_service_id": 3074064127853957, + "ods_hash": "bc0ddb6c4e070e15d3be5c89567d1d1c", + "dwd_hash": "7df638eb2370862f4e50581dc9672a71" + }, + { + "assistant_service_id": 3074068424148613, + "ods_hash": "f0e3307560c24e68f3a28c1083ece639", + "dwd_hash": "d2f4b3176ea378b53a449d10578a44dd" + }, + { + "assistant_service_id": 3074078197581189, + "ods_hash": "c4b7f7f84c229b05cb00f5ea0f773a12", + "dwd_hash": "3c53418570f4f41940ae27739db69942" + }, + { + "assistant_service_id": 3074085731452293, + "ods_hash": "bf0046095365223d29e6473b0f9b4852", + "dwd_hash": "2647bc9afa611494daf801f5f0638a04" + }, + { + "assistant_service_id": 3074085731943813, + "ods_hash": "70fb8677ccdf6ef7df983e2dce69d212", + "dwd_hash": "1fc13fe35800930719c6a307f9618533" + }, + { + "assistant_service_id": 3074094735656517, + "ods_hash": "5ba0585abe64ab72993618e271dc6de3", + "dwd_hash": "d2b7597f300c75f13dca07b7d803c7f1" + }, + { + "assistant_service_id": 3074130806179269, + "ods_hash": "28bdee9dcbbb61626c5244bafd155a33", + "dwd_hash": "c31061552d37d957cb30482041aab9aa" + }, + { + "assistant_service_id": 3074130806687173, + "ods_hash": "25a38996c364379dcd58b5d524a68e55", + "dwd_hash": "dae835add220874bd04a5c8f421b909c" + }, + { + "assistant_service_id": 3074130807145925, + "ods_hash": "217ae945d71ad1c855bee220b1d9a0cd", + "dwd_hash": "642f9570070c26e7c1c38895bc5fb546" + }, + { + "assistant_service_id": 3074142886168197, + "ods_hash": "3414554e6d715822ff062cddd96df459", + "dwd_hash": "0f301b2f998bd8ec3ebeaa278d7a8002" + }, + { + "assistant_service_id": 3074142886626949, + "ods_hash": "b6c1ae9096d5ffff7823bbfe6166b6fa", + "dwd_hash": "9de0da440e18dffd54d4b7310ce93801" + }, + { + "assistant_service_id": 3074592488490629, + "ods_hash": "e85ece7f9d9f4b20c513eb9a55a5f036", + "dwd_hash": "d340bad7a1e6a35eca60fe1c3e6a190c" + }, + { + "assistant_service_id": 3074592488949381, + "ods_hash": "7352cd2eba6df37c7b9521ae286a37a3", + "dwd_hash": "6243a74453ba393a85f624db177ca1bf" + } + ], + "mismatch_error": null + }, + { + "dwd_table": "billiards_dwd.dwd_assistant_service_log_ex", + "ods_table": "billiards_ods.assistant_service_records", + "windowed": false, + "window_col": null, + "count": { + "dwd": 5152, + "ods": 5152, + "diff": 0 + }, + "amounts": [ + { + "column": "manual_discount_amount", + "dwd_sum": 414.17, + "ods_sum": 414.17, + "diff": 0.0 + }, + { + "column": "member_discount_amount", + "dwd_sum": 0.0, + "ods_sum": 0.0, + "diff": 0.0 + }, + { + "column": "service_money", + "dwd_sum": 0.0, + "ods_sum": 0.0, + "diff": 0.0 + } + ], + "mismatch": 5152, + "mismatch_samples": [ + { + "assistant_service_id": 2800311971268549, + "ods_hash": "fe36621f6570a296c3e26f2aa565d29a", + "dwd_hash": "690bb89865a22799ce4f5ecad6c8522a" + }, + { + "assistant_service_id": 2800464769091525, + "ods_hash": "ec841097507660af2c2049d22b3f9791", + "dwd_hash": "ae4a1dc2e5e39cfab525df10bd4d34b7" + }, + { + "assistant_service_id": 2800524097669125, + "ods_hash": "1deb68b6c3e5cf52590d8c689a839d96", + "dwd_hash": "365325fe3e1c5bbfca02f566715c49eb" + }, + { + "assistant_service_id": 2800770325219397, + "ods_hash": "7365f19af578aa318a401c6f8b43d995", + "dwd_hash": "0a2664633b9b2394a48722e6a966d578" + }, + { + "assistant_service_id": 2800772217931845, + "ods_hash": "913e870648ed15c791c4ddcd5b0192d5", + "dwd_hash": "841e2c6625ae7737c77bd017bf25a966" + }, + { + "assistant_service_id": 2800772218161221, + "ods_hash": "773ef83a0e5dbd473173d96135e32476", + "dwd_hash": "b4abc7019e2b64896821a6e4aa3e7f32" + }, + { + "assistant_service_id": 2800772218390597, + "ods_hash": "9a250d7f507279cdd3443b2cb0605e8a", + "dwd_hash": "4cf2d67f530f618ee902923d10ef0be3" + }, + { + "assistant_service_id": 2800772218619973, + "ods_hash": "964f1528de5b9fa42c424e11fd64cc99", + "dwd_hash": "5410137b214b09e9aa401a859bd92b69" + }, + { + "assistant_service_id": 2800772218849349, + "ods_hash": "7a0eb9b32afedba7ccb7789cc2ee829f", + "dwd_hash": "45a144f045f01c52329e06d19e5a0045" + }, + { + "assistant_service_id": 2800825635047493, + "ods_hash": "994dc219037df24d6ee8c97a14cf986b", + "dwd_hash": "188ea3b0284ebfd9d641918bfa9bf75c" + }, + { + "assistant_service_id": 2800843723868293, + "ods_hash": "343407bb90d5c34dc6919d440d765b2d", + "dwd_hash": "3dd7f844988be4895247ad5bf94cefff" + }, + { + "assistant_service_id": 2800843724359813, + "ods_hash": "dfa806ddb102a82dd97f808fc49351b5", + "dwd_hash": "d8bc9a8fcef10c60744911be21e884c6" + }, + { + "assistant_service_id": 2800864103942341, + "ods_hash": "130588d0bf03272efbe25316f2974031", + "dwd_hash": "bc8ce8c1681bc96bb49662c6ff3a80d5" + }, + { + "assistant_service_id": 2800889950226437, + "ods_hash": "57d79050902ad1e484e99be219459f70", + "dwd_hash": "baefdc55356661621a07ec9f11e53f71" + }, + { + "assistant_service_id": 2800889950455813, + "ods_hash": "c53b6b571c3c9ba45801cdb4ae2ab7b1", + "dwd_hash": "7d8883b2300a12df7b5192bb02cf924e" + }, + { + "assistant_service_id": 2800889950685189, + "ods_hash": "b0c2bf723ea1d8213b652d53b2e783a9", + "dwd_hash": "5e38bd233f265002c0671264fe1e1316" + }, + { + "assistant_service_id": 2800889950898181, + "ods_hash": "90d02c53466f070d12571c6fc56b578a", + "dwd_hash": "d4c8bc189ff9b01ba93417d40301227e" + }, + { + "assistant_service_id": 2800890473597125, + "ods_hash": "c0dc511009354fcd87425d32a6116180", + "dwd_hash": "96456f1c3e8c3b410b47d4432e14db3c" + }, + { + "assistant_service_id": 2800955647002693, + "ods_hash": "8fe5e3525d56c8edb04017c283a59201", + "dwd_hash": "53804b7b5c439c9e0cf0e11de43c8bdd" + }, + { + "assistant_service_id": 2801005951912197, + "ods_hash": "3e2fe2c5663c8b47f4440872d5d6ccf1", + "dwd_hash": "cc52f3c8d7198b39c7dba04a5577b897" + }, + { + "assistant_service_id": 2801005952141573, + "ods_hash": "e1a19fde396de07fa38ff71497d4f7d8", + "dwd_hash": "e1628def4f068831b116758e6361399e" + }, + { + "assistant_service_id": 2801005952354565, + "ods_hash": "bc8c68d8b4c8b71d84a107493aec8317", + "dwd_hash": "1cb8fd25f87f08c9a340f6e83bf18052" + }, + { + "assistant_service_id": 2801005952567557, + "ods_hash": "d9b5740e4da818a12c4b7ec3e829be1e", + "dwd_hash": "5fae6887d30bab22ceafda4119cdeeca" + }, + { + "assistant_service_id": 2801005952796933, + "ods_hash": "09a2edef9eab4cc1d3daea3c6fb95602", + "dwd_hash": "0eb479185918ea93c2383907a8a66441" + }, + { + "assistant_service_id": 2801034757752901, + "ods_hash": "ed495e6af83c8eba2851a2d4a9abd3a5", + "dwd_hash": "849ca6cc2d9f7a8ebc464e688f2cdd50" + }, + { + "assistant_service_id": 2801731033909509, + "ods_hash": "102c18cfad0a6fd88c2823b90f68f4f4", + "dwd_hash": "05c8dc33224ab9c8b44a16e561b9ea0f" + }, + { + "assistant_service_id": 2801857536854213, + "ods_hash": "052722aa64bb7e2a21b5ce2e55394421", + "dwd_hash": "be248a75a214f32935c9cbfbe308db8c" + }, + { + "assistant_service_id": 2801871998060805, + "ods_hash": "d9a88de124257b11e4768de6a41d44b9", + "dwd_hash": "82e6d02f3721d867e4225becefd1d52e" + }, + { + "assistant_service_id": 2801878221768773, + "ods_hash": "ec7fc4d5f54255aea3f3aa43c3f2ae72", + "dwd_hash": "c1264a9e612c51e361c2b9fbe811b114" + }, + { + "assistant_service_id": 2801880522705157, + "ods_hash": "a50d3a4df9548029fbc6a1a1bab96a52", + "dwd_hash": "c113962e0643d3d1f4097e706937aa55" + }, + { + "assistant_service_id": 2801967422032133, + "ods_hash": "9c0546322fac768ef27004854eba6810", + "dwd_hash": "1bbd57981d1d39ae12c66d1779d565f4" + }, + { + "assistant_service_id": 2801986785806533, + "ods_hash": "14734317668d26465d6635b6975704b0", + "dwd_hash": "b5cd1beba3ece4b23f4fec92750d3e68" + }, + { + "assistant_service_id": 2802022786009349, + "ods_hash": "098f0ba69cc142d5a1494ab0dddcacb3", + "dwd_hash": "605073b30b680539f3fa851b54e2b1ab" + }, + { + "assistant_service_id": 2802057516501253, + "ods_hash": "829e53d629e35a631e75092682a7e983", + "dwd_hash": "c009f6787e1ad1acf4d09c552bde3a9a" + }, + { + "assistant_service_id": 2802067209062469, + "ods_hash": "e4df0c1da0a12a12959ce4f022762f4f", + "dwd_hash": "e61072581a8bb91315bc9335be677fd7" + }, + { + "assistant_service_id": 2802067209291845, + "ods_hash": "4db4293e655b1fd41edda6e0a7b66318", + "dwd_hash": "a23e2b3514a22623d563efe2a3b37370" + }, + { + "assistant_service_id": 2802116511680901, + "ods_hash": "22a1879a1eb48f31d4073d81a6e0b581", + "dwd_hash": "e91dee3ad07c491c34fc699cf84f015e" + }, + { + "assistant_service_id": 2802116511910277, + "ods_hash": "3b2c7482716c5fe8eed600c49afddbf6", + "dwd_hash": "a6a8695e52ce2b3b02dccd096154341d" + }, + { + "assistant_service_id": 2802122102753669, + "ods_hash": "d7da09df55067d6355912633074f5eaf", + "dwd_hash": "0cf34adad2a5fb68ae783030dbbdfb4a" + }, + { + "assistant_service_id": 2802145474185477, + "ods_hash": "9f2c58fcdfca48f4f96ff53bab5649fe", + "dwd_hash": "ca49b54ee6fb3e640f1a87a316246699" + }, + { + "assistant_service_id": 2802163712411909, + "ods_hash": "2f9f5aaa18554d14f2ff8fef4e98eabd", + "dwd_hash": "62754fb16bf6a8262b1a1b2447436fc9" + }, + { + "assistant_service_id": 2802163712641285, + "ods_hash": "b98f0ce8a688cce15795d9632ced008f", + "dwd_hash": "fcfe813db0dfb34347ea17ef205ae130" + }, + { + "assistant_service_id": 2802163712919813, + "ods_hash": "574f9ca2de4284ab91a7750b2a4d584e", + "dwd_hash": "794b81c1afd5643e568fe9fe5dc56971" + }, + { + "assistant_service_id": 2802163713165573, + "ods_hash": "d72581de46f6ec86e11746776700ecf2", + "dwd_hash": "bc2bb3718d33f4c56407ffcec21b58a2" + }, + { + "assistant_service_id": 2802163713394949, + "ods_hash": "41b980d15e06b054d2dc21b5e41e48aa", + "dwd_hash": "69c0cc32103a310e9ec1236355556dd2" + }, + { + "assistant_service_id": 2802173013723525, + "ods_hash": "f84df7c99f06b6a812382d086c443f0f", + "dwd_hash": "2c4cbeabadfdddbc7c9abf9c9f41d76f" + }, + { + "assistant_service_id": 2802237353527365, + "ods_hash": "fc9b40a1c9590aa6023a62f0d7fa78af", + "dwd_hash": "3cbabdfaceb2d257d75449e2b25434f4" + }, + { + "assistant_service_id": 2802246307810437, + "ods_hash": "7d7095fb140ba875b0b4aca3a29092a4", + "dwd_hash": "92f6226c3a63cfdbdad11ca5fc461d3d" + }, + { + "assistant_service_id": 2802246308056197, + "ods_hash": "3e0143f533ac01414f575286cc1f9a2f", + "dwd_hash": "25ec255442b40313b8646b42decfe5c8" + }, + { + "assistant_service_id": 2802327003925637, + "ods_hash": "a23495b8737bd1e4b401a8ad9f3ad6d8", + "dwd_hash": "99dcb3d3924e8ccd7017429f405bdbf1" + } + ], + "mismatch_error": null + }, + { + "dwd_table": "billiards_dwd.dwd_assistant_trash_event", + "ods_table": "billiards_ods.assistant_cancellation_records", + "windowed": false, + "window_col": null, + "count": { + "dwd": 100, + "ods": 100, + "diff": 0 + }, + "amounts": [], + "mismatch": 100, + "mismatch_samples": [ + { + "assistant_trash_event_id": 2959363180793541, + "ods_hash": "6eee23318de94442259837424ef92e6f", + "dwd_hash": "1290dea2b5cea7f3b9c32235095e1309" + }, + { + "assistant_trash_event_id": 2964115283857093, + "ods_hash": "48fd1dd5da04b6522284c7ea2380101d", + "dwd_hash": "5abd842c4af737085dd6854d33f0c46a" + }, + { + "assistant_trash_event_id": 2969416950123717, + "ods_hash": "8964a5ad3b87f736021fd14577d93960", + "dwd_hash": "8304571b73c2bddd9db7527fde1b029e" + }, + { + "assistant_trash_event_id": 2975809439713221, + "ods_hash": "26ae47c0a853c385680aa182df09a599", + "dwd_hash": "d4a3123a980f9660942ea32f1725107c" + }, + { + "assistant_trash_event_id": 2979152118564997, + "ods_hash": "10847649cdf60fb423ee0dab3652f593", + "dwd_hash": "2ce63688b52a11ab216b5a20259d62c8" + }, + { + "assistant_trash_event_id": 2980595948766661, + "ods_hash": "e7c685006e67a7d0d3957d98ee8c2976", + "dwd_hash": "089b33f49b483f6ed1f58a7238530859" + }, + { + "assistant_trash_event_id": 2980663519594501, + "ods_hash": "44ddbd8ac38fc8b5be7c73375918e3b4", + "dwd_hash": "9cfba38b5abf8b2779885eba98a63e73" + }, + { + "assistant_trash_event_id": 2983505146384965, + "ods_hash": "4820b86814512ffe5ae77ddafa636699", + "dwd_hash": "8d1ed519cceff51fd75c6e2a8e8d3645" + }, + { + "assistant_trash_event_id": 2983505146745413, + "ods_hash": "584b03e6365f93abe490924aebbd8f44", + "dwd_hash": "e29df42167db91e25053aa7d640a7cfc" + }, + { + "assistant_trash_event_id": 2988030897195653, + "ods_hash": "f6e619140e04025fe67c3ac1cc1fce47", + "dwd_hash": "191a37f4ae04e077d671f54064af0c99" + }, + { + "assistant_trash_event_id": 2990633993343557, + "ods_hash": "0a39000d7a89b3017d741f14356b0c72", + "dwd_hash": "16321be205fe3945f62c07929355e465" + }, + { + "assistant_trash_event_id": 2990834178871877, + "ods_hash": "d6e4014f9af15d75c1cb410ccc9f38ef", + "dwd_hash": "e6fb4ec60850eecd83e39332e637ebb3" + }, + { + "assistant_trash_event_id": 2991820437967429, + "ods_hash": "222e38869053d87900274cc8e3054bea", + "dwd_hash": "76e1374595f55f6cbe6f4b3569699580" + }, + { + "assistant_trash_event_id": 2991991404466757, + "ods_hash": "80a0f06776883056677489c4ce8d55d3", + "dwd_hash": "8bc9cd42d7221150d6e4baad2e99558d" + }, + { + "assistant_trash_event_id": 2997598464608773, + "ods_hash": "b79e3bc31a0f79f3eff59cc9d7074835", + "dwd_hash": "19708e797f08c52a6dea0f4a4894a90c" + }, + { + "assistant_trash_event_id": 2997598724524613, + "ods_hash": "07ea4cce3a8bb4d47929e6c41e7a593e", + "dwd_hash": "f709fc929fec842abb7466a4b9ec1594" + }, + { + "assistant_trash_event_id": 2998795100097029, + "ods_hash": "2df2d31d51b8785971459870696a1cb7", + "dwd_hash": "d0fe0aad7608fbb7a8942e3ff589fb68" + }, + { + "assistant_trash_event_id": 3000445737830981, + "ods_hash": "80b499288980b9c795ec9daa68b6584e", + "dwd_hash": "9a7024cad4e39b9add9ec98d3232dcc8" + }, + { + "assistant_trash_event_id": 3030103311108037, + "ods_hash": "c7dd0f9bd65a8bc93d139c9d6286c55b", + "dwd_hash": "7a30f1d0e1bd890cdff6f4dc633c4d5d" + }, + { + "assistant_trash_event_id": 3030103311501253, + "ods_hash": "ddd1d78ac5277832f0311345d7af11ba", + "dwd_hash": "c98c4c5f02fea838a8c7d0cebdaaeec4" + }, + { + "assistant_trash_event_id": 3030231223846981, + "ods_hash": "8de9ce091b5fe63481eda1df36723886", + "dwd_hash": "8632f02aa9b0f7a2af92f346f963e322" + }, + { + "assistant_trash_event_id": 3030231224371269, + "ods_hash": "dd40442d7b2e7d0b215ae57ed3b24443", + "dwd_hash": "87d7b90637f1fb215e2acb2aaac14ad9" + }, + { + "assistant_trash_event_id": 3030234610993157, + "ods_hash": "3298e571a63c3c97668291b5abf05c3b", + "dwd_hash": "891f43be7092373a73ff970901f013d3" + }, + { + "assistant_trash_event_id": 3030234611386373, + "ods_hash": "a77287a42332ab45ea88e657c37ff526", + "dwd_hash": "18f86c0e0527169d832aff9171c64d36" + }, + { + "assistant_trash_event_id": 3030234611779589, + "ods_hash": "1e0fe063e4eacda0bc91d099637a701e", + "dwd_hash": "85ebd198a6fc2bcfdfa0cb9190286485" + }, + { + "assistant_trash_event_id": 3037228553014469, + "ods_hash": "3c50ca34d4c6fda0d3038dcea8d82ddf", + "dwd_hash": "68c3012a20b1f15af23d656ee445657a" + }, + { + "assistant_trash_event_id": 3037302029585541, + "ods_hash": "2fafac5e2b2f800c36e0291e96309616", + "dwd_hash": "297c9f356fa118fda1dc1957acd87fc5" + }, + { + "assistant_trash_event_id": 3041469621225221, + "ods_hash": "e74496e10d9ae95ed4461a559cac38cb", + "dwd_hash": "6a7b6f5aecba30b9a5abb66a8634781b" + }, + { + "assistant_trash_event_id": 3041480269170565, + "ods_hash": "82e1ce51489b55a93d9136b6ad94c040", + "dwd_hash": "4e58061a1eeafabaacac81702d668851" + }, + { + "assistant_trash_event_id": 3041480269760389, + "ods_hash": "9d4b2e7a8301a79a29572684cecf5d37", + "dwd_hash": "dfdddebd7da0b17844954234c25f2093" + }, + { + "assistant_trash_event_id": 3041480270497669, + "ods_hash": "fc1dbe569a622ca8c2457a469815987d", + "dwd_hash": "7d6703c19e8f7c02e0284820baeb9c36" + }, + { + "assistant_trash_event_id": 3041542387304325, + "ods_hash": "ef3b83e3603d284cd565f7e91d76634f", + "dwd_hash": "902f38c74368489e133baabf767e3181" + }, + { + "assistant_trash_event_id": 3041542387828614, + "ods_hash": "e6377a93b95d8fef3bc78e8a0a2beda2", + "dwd_hash": "8b7f25ac917d0016ad4279fb5f462012" + }, + { + "assistant_trash_event_id": 3041542388385669, + "ods_hash": "60a571e5ae41244c51cd8b6a55e384ee", + "dwd_hash": "05950d1a1b725d288b17718b3b5e6222" + }, + { + "assistant_trash_event_id": 3041555860424581, + "ods_hash": "e05cd0176b6b38fa6fdde188abe3f51f", + "dwd_hash": "596b706a1bf16fcac92e2d375708e89a" + }, + { + "assistant_trash_event_id": 3041809077602053, + "ods_hash": "74da242f68b8d2e078ac6ffee84a4511", + "dwd_hash": "692cdbed9df03c945207a70d2c5c3160" + }, + { + "assistant_trash_event_id": 3071358041819077, + "ods_hash": "04790970569dea94cccbcbf9ab37d8a4", + "dwd_hash": "d9464e795f2769e06bd31ddbd6b3f0ed" + }, + { + "assistant_trash_event_id": 3001591407299397, + "ods_hash": "0e2e33a1a794d72f5bbf7ce3dd8e0419", + "dwd_hash": "8b99c1e2d087dab61e3e5b783a7cbe5d" + }, + { + "assistant_trash_event_id": 3001591407823685, + "ods_hash": "163b3ec0d2ab30c7e6902e61061f0dba", + "dwd_hash": "c4fee95f7df3294d23abc9f2ed346f9b" + }, + { + "assistant_trash_event_id": 3001592236264453, + "ods_hash": "ffffd0423e6ba4bf8c26a88261073c0e", + "dwd_hash": "af9340d0f4bd7674ee98ff9776880f0d" + }, + { + "assistant_trash_event_id": 3001592236641285, + "ods_hash": "74805dd225b112095c686dfab1a817b5", + "dwd_hash": "8e2b27ee100b61bcff2e3e72c94bbd7b" + }, + { + "assistant_trash_event_id": 3001592237018117, + "ods_hash": "c522c2fc115a415cdd2620d96cb3afe1", + "dwd_hash": "3323271bc1aff39976b1e92382568cf2" + }, + { + "assistant_trash_event_id": 3003160811246469, + "ods_hash": "e11a2756b26117d45036aefecccc9ca6", + "dwd_hash": "9f1bc9b1d1db77fd24b12c876e1805a3" + }, + { + "assistant_trash_event_id": 3003233571771077, + "ods_hash": "b42a7e1ef6150791a51157d712639276", + "dwd_hash": "c4fc50b07b8c0ae4fa6a074206a2452c" + }, + { + "assistant_trash_event_id": 3006335394924613, + "ods_hash": "9bf6ade10ed46043bd1e5d74e808b589", + "dwd_hash": "66be6e9383cdd1d9a4b29c83f51d941b" + }, + { + "assistant_trash_event_id": 3007372846598405, + "ods_hash": "8a146bc9fae0abf97684aecdd896fef5", + "dwd_hash": "8faa1d504d601f7855a1de2fac12a048" + }, + { + "assistant_trash_event_id": 3021513785477189, + "ods_hash": "d86cfbaa5bb2615a2730542669e56330", + "dwd_hash": "b4ef80d9277bdbac14c01bacfb059a6a" + }, + { + "assistant_trash_event_id": 3042622933256072, + "ods_hash": "8462a0b4d1ef6d349b8a11f673844393", + "dwd_hash": "f3bdd0530b32e4bb198b135e8aa46678" + }, + { + "assistant_trash_event_id": 3042676057442181, + "ods_hash": "6f06613346e378a8fa325db9d0a5d132", + "dwd_hash": "d5da8ecc058ae7842d5c5837172b032b" + }, + { + "assistant_trash_event_id": 3042676057786245, + "ods_hash": "a719a408a578d9abe2a4721ec3a2b839", + "dwd_hash": "3fc07c3f00bb8fbaf61194accff08dbe" + } + ], + "mismatch_error": null + }, + { + "dwd_table": "billiards_dwd.dwd_assistant_trash_event_ex", + "ods_table": "billiards_ods.assistant_cancellation_records", + "windowed": false, + "window_col": null, + "count": { + "dwd": 100, + "ods": 100, + "diff": 0 + }, + "amounts": [], + "mismatch": 0, + "mismatch_samples": [], + "mismatch_error": null + }, + { + "dwd_table": "billiards_dwd.dwd_member_balance_change", + "ods_table": "billiards_ods.member_balance_changes", + "windowed": false, + "window_col": null, + "count": { + "dwd": 4873, + "ods": 4873, + "diff": 0 + }, + "amounts": [], + "mismatch": 4873, + "mismatch_samples": [ + { + "balance_change_id": 2800328071170949, + "ods_hash": "9034c1cd33d79da3d6d251cddc3eb8ae", + "dwd_hash": "53e2e58ba11b17821d75db3267fbdb5a" + }, + { + "balance_change_id": 2800328508984197, + "ods_hash": "dc2bfeae84c77252d26ee9cedfb2df60", + "dwd_hash": "eec043444254388629df780085b3a8c9" + }, + { + "balance_change_id": 2800329356315525, + "ods_hash": "992f0527c2f39dde8ef89d003e32b7f4", + "dwd_hash": "ba8df6ed4ca863e0668ea4281109aef4" + }, + { + "balance_change_id": 2800330000272261, + "ods_hash": "76d4eae5118378bdad1438b560f66b46", + "dwd_hash": "6868e74b299e9319cff0619e7a3fdb6f" + }, + { + "balance_change_id": 2800331271129989, + "ods_hash": "5cdf6bc9c4dd8ed4aa928a6c01bcab55", + "dwd_hash": "a3efc1b6b5ae725fd38b9dd4fc613a85" + }, + { + "balance_change_id": 2800331954736005, + "ods_hash": "7d78595c2640c0d0be6c84b459f7f63f", + "dwd_hash": "d1d4796f4ef47a98c4074e350bd24309" + }, + { + "balance_change_id": 2800332515314565, + "ods_hash": "638f4ef75cafaba06e48f76c3940422b", + "dwd_hash": "54030f825ad259f187fe23e3aee361fc" + }, + { + "balance_change_id": 2800332996627333, + "ods_hash": "3fe798dedfd9d3b6ba2219e8a99dbf75", + "dwd_hash": "846de13bf33e0c9946e60b226327eae1" + }, + { + "balance_change_id": 2800333602179973, + "ods_hash": "acf651585eb042f3355dab747d1f1305", + "dwd_hash": "38be2620eeb5adf6fa39d6088eb69991" + }, + { + "balance_change_id": 2800334284934021, + "ods_hash": "ce367f279d48c37f0d065e502f0e6c32", + "dwd_hash": "834b8f434649d993db9e43b58356ff65" + }, + { + "balance_change_id": 2800335026670469, + "ods_hash": "e3cce05718b5202a15cbe420ccb88d25", + "dwd_hash": "0fb0b589995e0eb53fa30526613fedb8" + }, + { + "balance_change_id": 2800336313338757, + "ods_hash": "1f1886e7067d299a342fe0450f7e0f49", + "dwd_hash": "9f1abd98cc4ff87642d8388e5f45951c" + }, + { + "balance_change_id": 2800336793930629, + "ods_hash": "b04c28f1b6e602d8da44d011026f57c8", + "dwd_hash": "8c7a7ae9c6d99869397e027856ead299" + }, + { + "balance_change_id": 2800337681140613, + "ods_hash": "de55e6710502b1851dcfa6f588235a23", + "dwd_hash": "2dc9405c1cd02a3377d9b1fe54089923" + }, + { + "balance_change_id": 2800338335697797, + "ods_hash": "9ecf26f88f40a151ddea78d91a6e2036", + "dwd_hash": "db93c3703c3377c7e50536b35e779758" + }, + { + "balance_change_id": 2800338703584133, + "ods_hash": "1b1e79bbc33955e312b3a3025b3cbc58", + "dwd_hash": "89e5d9c031a784bd0b4166380274adb8" + }, + { + "balance_change_id": 2800343012068229, + "ods_hash": "07275047a81764b582e7686a24eda5eb", + "dwd_hash": "129b6dbc7b6fce8f39309cc9d5a61299" + }, + { + "balance_change_id": 2800348154579013, + "ods_hash": "2f2cf55cbea82e857dd63fe7e96459b4", + "dwd_hash": "d451bb6e7348dd0ea7a0c0c51f08803a" + }, + { + "balance_change_id": 2800360635942917, + "ods_hash": "1538c857717009ba8d0cfbc36c9dfc12", + "dwd_hash": "a518f3238db7f4bfb300b0770898c2bd" + }, + { + "balance_change_id": 2800392615004101, + "ods_hash": "a25f139a4b7c5e76b8aa4fb73aa04332", + "dwd_hash": "5b20234d1b8a69ac4a32a640a4d6e8da" + }, + { + "balance_change_id": 2800404348963717, + "ods_hash": "54542096785a8b5fd61dd63449140355", + "dwd_hash": "ecd1bf18d252e7b99b56071c61e7c292" + }, + { + "balance_change_id": 2800534985656325, + "ods_hash": "3a247cf987653b96eb29b58e7ce58383", + "dwd_hash": "f24ee87fc14e6f22876abf97b8d6e191" + }, + { + "balance_change_id": 2800535382460293, + "ods_hash": "21db7efe43c9ac6a9a70f918a453466d", + "dwd_hash": "c92363d2bdcaf8be1c1131d9ec7988db" + }, + { + "balance_change_id": 2800574477469765, + "ods_hash": "e99af947e24434b03c89d88b54c4750f", + "dwd_hash": "85e58c03da14b08ec1e5fc0cbd09ac58" + }, + { + "balance_change_id": 2800677354735493, + "ods_hash": "caab4bc89885127c9a173f23b9234a5c", + "dwd_hash": "c95cbd95f3868032175b426b560efc27" + }, + { + "balance_change_id": 2800706251425797, + "ods_hash": "880ecbf4fcff954b1e8f7ccd595e2a78", + "dwd_hash": "3bee38552104eb1539af7cdd37cc4552" + }, + { + "balance_change_id": 2800753410148421, + "ods_hash": "9175e3fe40d0fdb2e0ff62548b3cb30d", + "dwd_hash": "de561ea966362e00a9ba10fb0fd7ed74" + }, + { + "balance_change_id": 2800763350779909, + "ods_hash": "0f21d8dfda370593391d6c4a9b8ab0ec", + "dwd_hash": "a5c403650dc58152af72b68d1e6ee82c" + }, + { + "balance_change_id": 2800765195537413, + "ods_hash": "a3825af64ad86ba3d4c74f8fe545f74c", + "dwd_hash": "aef964c59371a594d31abbe43aef6fb2" + }, + { + "balance_change_id": 2800765804300357, + "ods_hash": "822b8a53f0ee9d33afca87b201e37c61", + "dwd_hash": "1650d2db2f8f7686a2bce01dcea8b2cf" + }, + { + "balance_change_id": 2800770322679877, + "ods_hash": "042235220e43e1b162d47ab9ad8bf713", + "dwd_hash": "c3786a45ebfcfa09fc789dbddd7a655e" + }, + { + "balance_change_id": 2800770322827333, + "ods_hash": "4a8b8ac76453434fb3ccdf2ea6aab39b", + "dwd_hash": "ae9ad87cbf3a84adbc8a30bf0c86b361" + }, + { + "balance_change_id": 2800772214982725, + "ods_hash": "462155312448c718b7c2d93dc2c3bc34", + "dwd_hash": "7117a70daaba083537cde26d7293ee6f" + }, + { + "balance_change_id": 2800772215146565, + "ods_hash": "1fbe46f44d11f131ac18de905d3f4fd3", + "dwd_hash": "086df6a020c4ff18ab6af3225f7110e8" + }, + { + "balance_change_id": 2800824059775045, + "ods_hash": "c2d78f0c7982869cf311567866249574", + "dwd_hash": "60d3860505dc1043f1c039fa31025a0b" + }, + { + "balance_change_id": 2800825633032261, + "ods_hash": "abdc4620812e6b0abf56d7b90b2d5a9f", + "dwd_hash": "7ccc1abd9cd6eb1621eaf655442bc0b9" + }, + { + "balance_change_id": 2800829539863621, + "ods_hash": "7777fc1944a3b62fac1db3831277fcb1", + "dwd_hash": "be8ff79b5f340b2bbf65cb6a472843d1" + }, + { + "balance_change_id": 2800844153292997, + "ods_hash": "b822133e0d60cf6539e3183dbc4ac980", + "dwd_hash": "bc9caa730821ac2f91dd94e4885315b4" + }, + { + "balance_change_id": 2800889946458117, + "ods_hash": "ecb1a468e549d1063343c8676df0ec19", + "dwd_hash": "7a6734d9036e31d3761d7039248e089b" + }, + { + "balance_change_id": 2801646213892485, + "ods_hash": "54704865890898decea6fd40358a762a", + "dwd_hash": "9f38585c822d801d6b28007c2d5d61db" + }, + { + "balance_change_id": 2801784546658501, + "ods_hash": "c4d3a96fd681d3529a40efcd365af1db", + "dwd_hash": "7b321f34beda87bc7e0ba645a9697f4b" + }, + { + "balance_change_id": 2801857534658757, + "ods_hash": "bd12f4aa1f66dbab22401bda8d0b5985", + "dwd_hash": "02cf00a49e983f1cdba8411cb0cc801a" + }, + { + "balance_change_id": 2801878220818501, + "ods_hash": "cb9174ad970189742bb618963875fada", + "dwd_hash": "2fc581f9d16a0e4675ad04d96daec282" + }, + { + "balance_change_id": 2801879401302405, + "ods_hash": "e795eed83f5f88250c63092187f2bacc", + "dwd_hash": "7d47cf10e72d55218dcaf84b746c7e23" + }, + { + "balance_change_id": 2801880313809989, + "ods_hash": "595b335d781c140cf40174d5c022cb7d", + "dwd_hash": "d26bba9e54610ef0175ccaf73ee0b058" + }, + { + "balance_change_id": 2801880520182021, + "ods_hash": "98632168f4e25e8e22d77747f442a6d7", + "dwd_hash": "437c3a4ec4f8af12816298a2d1acda5e" + }, + { + "balance_change_id": 2801880520345861, + "ods_hash": "ae5e5fdf78f8f62940206c91812cdbe0", + "dwd_hash": "34da0511efd582303b4afc7162fee098" + }, + { + "balance_change_id": 2801894886148357, + "ods_hash": "417dc44336a422d43321a453f4cbb971", + "dwd_hash": "5d50c5c0e6291e1cd8e4a8a75a2f714e" + }, + { + "balance_change_id": 2801947958970437, + "ods_hash": "3d2ef1222da7554ef964e00daa9efb9c", + "dwd_hash": "f094efbf03e410b6b61410d8ddb5bf56" + }, + { + "balance_change_id": 2801968103704773, + "ods_hash": "527935f4b15497c372e8c1bec66d0eaa", + "dwd_hash": "8ed1a12c04f92b785419e378b97803cc" + } + ], + "mismatch_error": null + }, + { + "dwd_table": "billiards_dwd.dwd_member_balance_change_ex", + "ods_table": "billiards_ods.member_balance_changes", + "windowed": false, + "window_col": null, + "count": { + "dwd": 4873, + "ods": 4873, + "diff": 0 + }, + "amounts": [ + { + "column": "refund_amount", + "dwd_sum": 0.0, + "ods_sum": 0.0, + "diff": 0.0 + } + ], + "mismatch": 0, + "mismatch_samples": [], + "mismatch_error": null + }, + { + "dwd_table": "billiards_dwd.dwd_groupbuy_redemption", + "ods_table": "billiards_ods.group_buy_redemption_records", + "windowed": true, + "window_col": "create_time", + "count": { + "dwd": 161, + "ods": 161, + "diff": 0 + }, + "amounts": [ + { + "column": "coupon_money", + "dwd_sum": 11272.0, + "ods_sum": 11272.0, + "diff": 0.0 + }, + { + "column": "ledger_amount", + "dwd_sum": 10926.7, + "ods_sum": 10926.7, + "diff": 0.0 + } + ], + "mismatch": 161, + "mismatch_samples": [ + { + "redemption_id": 3073387407082949, + "ods_hash": "75756cc99d8530af397fabaf0c64654e", + "dwd_hash": "4d6945ad8f2e7ee83f10a8e48eebcfa2" + }, + { + "redemption_id": 3073430046508677, + "ods_hash": "7e06e5d70031d67009dd13723d9ec078", + "dwd_hash": "a35528cd90c536d040d8e4b3df986f03" + }, + { + "redemption_id": 3073520160573061, + "ods_hash": "40125b3d546558d9ddeb91911bcf9a42", + "dwd_hash": "8be78e652b84de819e15ce76a12be965" + }, + { + "redemption_id": 3073520160573062, + "ods_hash": "15b9c370e1869ed1458025bb9091b584", + "dwd_hash": "94a94ca9faac24e404b724d3d2e870cd" + }, + { + "redemption_id": 3073545157428677, + "ods_hash": "295ebafb1d7865e346a4ae8350d95dbb", + "dwd_hash": "51df01cdeec672901f48ec32ce270738" + }, + { + "redemption_id": 3073574874613381, + "ods_hash": "bbc50e256e5f2d74aff83a4c2cedcd33", + "dwd_hash": "2cce44cf248ab07acfc2f83346f71866" + }, + { + "redemption_id": 3073574874613382, + "ods_hash": "edd850f20b0f2c94ac134a803f77474b", + "dwd_hash": "77a3eda1d5540e3319536f53f32e04d4" + }, + { + "redemption_id": 3073574925124997, + "ods_hash": "b1cc8d8313f6b105b21881eaa9998ee2", + "dwd_hash": "9a9b44b1b88c9a43b7723a2a82e40714" + }, + { + "redemption_id": 3073581978453573, + "ods_hash": "d7c93d853dd730aaf34db9ece19c03d8", + "dwd_hash": "644aae9ae1406638377e0ea6d88e8918" + }, + { + "redemption_id": 3073631146935749, + "ods_hash": "1e67c67f85f2d866580280bdb0552cd2", + "dwd_hash": "d637a85aaf54af98183b9c4e88aeabdf" + }, + { + "redemption_id": 3073652728628869, + "ods_hash": "e856fe04751f4fc0be3687b94f6c9d25", + "dwd_hash": "138f390961ad060bb27002877406ba59" + }, + { + "redemption_id": 3073653511226757, + "ods_hash": "5473c8174117adbc6984dd758b411aea", + "dwd_hash": "054e383fb68b5d8c366b9f65c3f80fdd" + }, + { + "redemption_id": 3073681146512837, + "ods_hash": "62545682d03b36a418056e3d9a4a2d41", + "dwd_hash": "a52f51198f92dcef4d23e6438f726532" + }, + { + "redemption_id": 3073681146512838, + "ods_hash": "c2d281021be67c51d3897bc8e0f6e4c3", + "dwd_hash": "ce938189df3bbda5aee63469d79ea446" + }, + { + "redemption_id": 3073681146512839, + "ods_hash": "08ab53416cce555ff8ec0d357c64f00a", + "dwd_hash": "902f4ece9bc681005db8aea2af134250" + }, + { + "redemption_id": 3073683743524293, + "ods_hash": "76830e9c8d94f7b9a53ff486e6e355cd", + "dwd_hash": "0eb021ae6cd5818a363e503b3a93a707" + }, + { + "redemption_id": 3073683967018629, + "ods_hash": "b5cb4d97c2ded9c0d0672664bc44c426", + "dwd_hash": "5b5b9a0cc7ede893c437d4f9bf5052ae" + }, + { + "redemption_id": 3073704046560709, + "ods_hash": "0e76d01755c5743c71bc798b737a3d0d", + "dwd_hash": "b60b2ad3d3e5f648cc9848955627caa0" + }, + { + "redemption_id": 3073704046560710, + "ods_hash": "1ad272b28f8588caf37635c76e0f156b", + "dwd_hash": "05977aac431b6341825a42179081284f" + }, + { + "redemption_id": 3073705558836805, + "ods_hash": "500c58fa6038625ef538476e3915aff1", + "dwd_hash": "3a4c5c53fb4ad7e8ee138e5f0292cb28" + }, + { + "redemption_id": 3073705558836806, + "ods_hash": "c4fb33ad3acc8647d135fd8ba55a67cd", + "dwd_hash": "d187281651aac5170a8e0028b6c046dd" + }, + { + "redemption_id": 3073735538591109, + "ods_hash": "124f136daa04ea155604cc42dd5e0300", + "dwd_hash": "8a044f69e9dca9170d7219624e4a7362" + }, + { + "redemption_id": 3073743227422149, + "ods_hash": "50e20706d5e37490fa5090cd3b4a8e06", + "dwd_hash": "0141ad5bc2c5336c7d5325a7e5d3b64f" + }, + { + "redemption_id": 3073763304883781, + "ods_hash": "d0bbd7eafd782372e15b72eeda3baf88", + "dwd_hash": "55d549d8b5f8cf328bdbe81857ee1fce" + }, + { + "redemption_id": 3073771771250309, + "ods_hash": "a515a63360b4049e025c252edb4f8fbf", + "dwd_hash": "08db01ab306653cd6554948ce35ced50" + }, + { + "redemption_id": 3073786719602245, + "ods_hash": "e95b4f01441a95b005d7e8dd67b4d5ba", + "dwd_hash": "32525b34f9c1b21e1642ec77964389a1" + }, + { + "redemption_id": 3073809412621893, + "ods_hash": "797583b4ebadbe228b29aca3a6835f23", + "dwd_hash": "6616d55249a0c87d5632c40a9679af7e" + }, + { + "redemption_id": 3073814679635333, + "ods_hash": "d97706d816bf802c337df3803955c141", + "dwd_hash": "26b6b48eeae9920d9c6b300f18b5c27f" + }, + { + "redemption_id": 3073817370838597, + "ods_hash": "28d6341e3810e8c339febba3f3160ecc", + "dwd_hash": "ff4f7f3ef8d85d1ebc4fea9925366880" + }, + { + "redemption_id": 3073818600916613, + "ods_hash": "f6844de3462ac82dd2b716e8955125ed", + "dwd_hash": "7f681988f593843ded3afb5de1f1a2bd" + }, + { + "redemption_id": 3073829507597893, + "ods_hash": "5d0d1b0f13a35cafc224c058a5038113", + "dwd_hash": "04d819a7dd355feaccfb05a83aec515c" + }, + { + "redemption_id": 3073840475882949, + "ods_hash": "9f93f459f118bf649b980f31d70f3349", + "dwd_hash": "67474323d992c9ca02b0a2c3c42fbb12" + }, + { + "redemption_id": 3073841867703941, + "ods_hash": "39719d823b90daac60e9c8fc5254de4d", + "dwd_hash": "7318d833ff72e328a678546de28d3ee4" + }, + { + "redemption_id": 3073841867720325, + "ods_hash": "a69cb601f82281565ff02ca9ad1c92df", + "dwd_hash": "b27b768b2537a59ff70b30f1089dd479" + }, + { + "redemption_id": 3073844861453957, + "ods_hash": "21979aba038ee678b3e3b4e358702575", + "dwd_hash": "d432c876a0268d143bc41cac903cfa4a" + }, + { + "redemption_id": 3073845067662789, + "ods_hash": "3f75f66c76a8298d628f4637c7c3de96", + "dwd_hash": "7d47a09a7247d4631e4f901e86d29ef3" + }, + { + "redemption_id": 3073849388418501, + "ods_hash": "5f11d4e4fa5aaac2e22bbe35750cf7f5", + "dwd_hash": "ae6cdd3df936262df0d3d86f93f6486a" + }, + { + "redemption_id": 3073849388418502, + "ods_hash": "c56e21296110e7f7d5c3fe0247f58ea4", + "dwd_hash": "fdbf3d5825157ae16a32d046977704a0" + }, + { + "redemption_id": 3073849681675909, + "ods_hash": "263e08eb29dc7bf4e4b4cf47837c5be4", + "dwd_hash": "0a8d20b7b2facba128b7a228c9d3d641" + }, + { + "redemption_id": 3073851454441029, + "ods_hash": "af3189c62fd6454a2d23690cea5c3c52", + "dwd_hash": "bd2026aab9efaf1e40c0a0a35f0898d6" + }, + { + "redemption_id": 3073861762745926, + "ods_hash": "c94e229ae3d2130b8f448d0b33a2a386", + "dwd_hash": "027d22c68867f307663397a1696ff11b" + }, + { + "redemption_id": 3073870396147269, + "ods_hash": "b59fbdbbc11b78d4984f31be07980e70", + "dwd_hash": "2dc1d8faa3f19dafecf207435f983b0f" + }, + { + "redemption_id": 3073875224544837, + "ods_hash": "c58cc94ca8895b0eaecca8e4f4f57d3d", + "dwd_hash": "bf4ef22a10d8a01f85ae62ba335953ab" + }, + { + "redemption_id": 3073889304135237, + "ods_hash": "b0a6eb3e251f32bb2b9c9a5985babe11", + "dwd_hash": "50cc7c93fe9cb4c0e50f4ba27419e2f5" + }, + { + "redemption_id": 3073897981232517, + "ods_hash": "a6c05f3f0d0c06bd41b2dfe039900901", + "dwd_hash": "66c556f4b58575ad54e146061a531a5d" + }, + { + "redemption_id": 3073914020152709, + "ods_hash": "d92f8931a37bfe28b6e6e9f6bedb6bb9", + "dwd_hash": "e18d8ca6bffc259a22f8d5e48754e331" + }, + { + "redemption_id": 3073916388476549, + "ods_hash": "5e395ff50af381344ae34c7a21924e84", + "dwd_hash": "4571a1579d616f346cf0974e6c6d900c" + }, + { + "redemption_id": 3073919656723909, + "ods_hash": "c53a4e59319217cd781b4bfd8d634fee", + "dwd_hash": "6ea33bd94f0c40409375b0dcfdd628b6" + }, + { + "redemption_id": 3073924585113157, + "ods_hash": "12f8e300395ac6551ec27ababc8a3a41", + "dwd_hash": "da4d8b5597d47ee682f3715896314441" + }, + { + "redemption_id": 3073927171229253, + "ods_hash": "db7bbb8b890ed5959a48e40c5f2e316d", + "dwd_hash": "adb51f406d5175091848cc1eadb2103d" + } + ], + "mismatch_error": null + }, + { + "dwd_table": "billiards_dwd.dwd_groupbuy_redemption_ex", + "ods_table": "billiards_ods.group_buy_redemption_records", + "windowed": false, + "window_col": null, + "count": { + "dwd": 11867, + "ods": 11868, + "diff": -1 + }, + "amounts": [ + { + "column": "assistant_promotion_money", + "dwd_sum": 7544.8, + "ods_sum": 7544.8, + "diff": 0.0 + }, + { + "column": "assistant_service_promotion_money", + "dwd_sum": 0.0, + "ods_sum": 0.0, + "diff": 0.0 + }, + { + "column": "goods_promotion_money", + "dwd_sum": 0.0, + "ods_sum": 0.0, + "diff": 0.0 + }, + { + "column": "recharge_promotion_money", + "dwd_sum": 0.0, + "ods_sum": 0.0, + "diff": 0.0 + }, + { + "column": "reward_promotion_money", + "dwd_sum": 0.0, + "ods_sum": 0.0, + "diff": 0.0 + }, + { + "column": "table_service_promotion_money", + "dwd_sum": 0.0, + "ods_sum": 0.0, + "diff": 0.0 + } + ], + "mismatch": 0, + "mismatch_samples": [], + "mismatch_error": null + }, + { + "dwd_table": "billiards_dwd.dwd_platform_coupon_redemption", + "ods_table": "billiards_ods.platform_coupon_redemption_records", + "windowed": true, + "window_col": "create_time", + "count": { + "dwd": 165, + "ods": 165, + "diff": 0 + }, + "amounts": [ + { + "column": "coupon_money", + "dwd_sum": 11696.0, + "ods_sum": 11696.0, + "diff": 0.0 + } + ], + "mismatch": 165, + "mismatch_samples": [ + { + "platform_coupon_redemption_id": 3073370594461253, + "ods_hash": "4abda2fd402d8f9867910295988bc117", + "dwd_hash": "d3d37913f8acd0c437b6c4338a990b25" + }, + { + "platform_coupon_redemption_id": 3073392316188037, + "ods_hash": "d49859cc9378895ae9b7ab4affdab504", + "dwd_hash": "62946bc0ac813f8000d418e19dde49d1" + }, + { + "platform_coupon_redemption_id": 3073400834246085, + "ods_hash": "5852b7ab54842ddd53f3e656e7f221d8", + "dwd_hash": "89b74c6f490ea1c36c17655129d1931e" + }, + { + "platform_coupon_redemption_id": 3073434994754949, + "ods_hash": "a340bbda29160c7b44d369530f6c8744", + "dwd_hash": "cc933a07c616ed013e729a075f6353d8" + }, + { + "platform_coupon_redemption_id": 3073435172488645, + "ods_hash": "f09f1987884373da322f74028e462935", + "dwd_hash": "6a6a1d61941a52289f9bace33c0dce35" + }, + { + "platform_coupon_redemption_id": 3073452216485445, + "ods_hash": "9d937cb1a5ceda5786ca76682b6eac2a", + "dwd_hash": "d792f6b300cc079ed91264888691ab50" + }, + { + "platform_coupon_redemption_id": 3073454669661573, + "ods_hash": "a0baa3b0d57bb9a1d8f70d705469fa22", + "dwd_hash": "c21e1bbc3494b29cee15c93228ce6cff" + }, + { + "platform_coupon_redemption_id": 3073474164049349, + "ods_hash": "d2254b556d7d62d1989b0a3bbf1d4899", + "dwd_hash": "e2cfa1d7ab312af2d5f84f2501b5ec83" + }, + { + "platform_coupon_redemption_id": 3073485143344709, + "ods_hash": "44341606a8724efc51f7bd7a7a4a5b9e", + "dwd_hash": "2a530f7d1f4601e5463d063f1984563b" + }, + { + "platform_coupon_redemption_id": 3073525904164421, + "ods_hash": "99bd017c36069db1af2857ab6eaa0a4f", + "dwd_hash": "5833d0310bf6dca1fde0d5f093390c5f" + }, + { + "platform_coupon_redemption_id": 3073526036825541, + "ods_hash": "2768026b97c53dceffc4f7d122343467", + "dwd_hash": "d32b094da6c24ac754b44f414001d6df" + }, + { + "platform_coupon_redemption_id": 3073545710093893, + "ods_hash": "cd694f82eeb6f7367b8e8a31d229491f", + "dwd_hash": "c4ab9b9e6876998e6494aca684d5f592" + }, + { + "platform_coupon_redemption_id": 3073557996340805, + "ods_hash": "ae83e8132b54c1f16db1312f28b0389d", + "dwd_hash": "a32cab62a37277ce0f695d9dedfcbb63" + }, + { + "platform_coupon_redemption_id": 3073580981749381, + "ods_hash": "558759276b772e9182f9b179b2f3e1bf", + "dwd_hash": "8f3284957a0836e3cc825d363a42007c" + }, + { + "platform_coupon_redemption_id": 3073585830086021, + "ods_hash": "06b281a3e29d85af13ebaa2eddad9a40", + "dwd_hash": "d30c0c9141494adf4fe989750084c679" + }, + { + "platform_coupon_redemption_id": 3073585935205765, + "ods_hash": "de78f17af17e2d69cf1b79cedce27209", + "dwd_hash": "57891c4ac6d719f73ac7ac90b30b68ea" + }, + { + "platform_coupon_redemption_id": 3073590209070661, + "ods_hash": "26621ab2391eb121093d8b96ac2875ec", + "dwd_hash": "35f1aec004dfd51915599cd478149acc" + }, + { + "platform_coupon_redemption_id": 3073592919065989, + "ods_hash": "e6913c1a285545df43e799156cc3fa8d", + "dwd_hash": "ecf0a3fda4231d2439bab62d5d850710" + }, + { + "platform_coupon_redemption_id": 3073598733944389, + "ods_hash": "f605243714a927c7a282f56c779634f3", + "dwd_hash": "2c2cb1f06f57c00ec7f8d0c4cd176b98" + }, + { + "platform_coupon_redemption_id": 3073610862134725, + "ods_hash": "9aad43a1eb0fdf02cf9a4f17eb23e36a", + "dwd_hash": "3811647023eea2412e5a4729ee4353f9" + }, + { + "platform_coupon_redemption_id": 3073624383391109, + "ods_hash": "5a63c26755ccb390e57adacb10c846ef", + "dwd_hash": "8a68c95be352624e19c07bc5a4aeeff2" + }, + { + "platform_coupon_redemption_id": 3073626155271557, + "ods_hash": "524856d92b2093491fc76b5dc749716d", + "dwd_hash": "4decdb1ba493785f77a7b361e81a5c44" + }, + { + "platform_coupon_redemption_id": 3073645110707653, + "ods_hash": "1c177d6d3d25a16d9f4169d39ef418f2", + "dwd_hash": "58f5847f8f3df5af7765ae7b84cd5356" + }, + { + "platform_coupon_redemption_id": 3073676096505285, + "ods_hash": "61166a56d8e024311856997f0fa4d316", + "dwd_hash": "da0f087f5cb44e99453fcb24dfbedbd0" + }, + { + "platform_coupon_redemption_id": 3073684098107013, + "ods_hash": "647e9a7fbdf6e92b5f9c9c122b647596", + "dwd_hash": "d54623e800780a9cb8c2b2d7bf4ce977" + }, + { + "platform_coupon_redemption_id": 3073700711302725, + "ods_hash": "61dca65246126e46c15ad6814f6b5586", + "dwd_hash": "3ae7591b0f63a9bdf0098674b79c3a31" + }, + { + "platform_coupon_redemption_id": 3073702552864197, + "ods_hash": "d2e14b9e1d19e2a7e8413172cdcecdb9", + "dwd_hash": "9776215d7703768228d497786ce9546c" + }, + { + "platform_coupon_redemption_id": 3073717513946693, + "ods_hash": "2663368a02a79e62ae31b5d3011bfe0e", + "dwd_hash": "0591e542137de725adb813c568b827c0" + }, + { + "platform_coupon_redemption_id": 3073726744168005, + "ods_hash": "26acf3185c68755159ed30d8bab56144", + "dwd_hash": "e3f7e1cb3328884e1b13d8fbc4413cf8" + }, + { + "platform_coupon_redemption_id": 3073726889772421, + "ods_hash": "a8b5d0ad2006c06cf65a0657db5761ae", + "dwd_hash": "d5d370292a25d14562f4566f9b29a9f0" + }, + { + "platform_coupon_redemption_id": 3073728567314053, + "ods_hash": "4e829856c6175ca9146ffa454970bf6a", + "dwd_hash": "2fbcd2f6172c4f5174b3ff875265f180" + }, + { + "platform_coupon_redemption_id": 3073728923682373, + "ods_hash": "b2566e3754c636c0a0507862a8d8693e", + "dwd_hash": "9a45550121d85f0f5919ef22002c1096" + }, + { + "platform_coupon_redemption_id": 3073733296129669, + "ods_hash": "edf635c795164810639f59114b28b4b9", + "dwd_hash": "f1f21deba5289253290cb21ab4be1edb" + }, + { + "platform_coupon_redemption_id": 3073740424496581, + "ods_hash": "fc9e7dad5fb64aac75ff1206d9fae022", + "dwd_hash": "8e625641fe2b474c750595b13235f8ae" + }, + { + "platform_coupon_redemption_id": 3073749492483653, + "ods_hash": "6ad4baf35529b02b614687296685407d", + "dwd_hash": "a0cb953a749e08f3a4a6d005773b76c2" + }, + { + "platform_coupon_redemption_id": 3073755283375493, + "ods_hash": "eaac2752e40b20878f60a4567156d7d9", + "dwd_hash": "78d21a2a07433c1d5c1913679364955d" + }, + { + "platform_coupon_redemption_id": 3073758002448005, + "ods_hash": "6c2fa0ae27f5f9ab677e8c6754a05a19", + "dwd_hash": "ce85bbf397c248d9363174918cbaaff9" + }, + { + "platform_coupon_redemption_id": 3073778630346181, + "ods_hash": "3cfd4fa239582adba45d1105ef87a66a", + "dwd_hash": "056b3e4f0899e038cb294121688d44ca" + }, + { + "platform_coupon_redemption_id": 3073779752093061, + "ods_hash": "9acfcd1c9b6ca6bddcd7e308ee82f70b", + "dwd_hash": "c2e7b0fc0432e42f0a0e7a7d863e0d72" + }, + { + "platform_coupon_redemption_id": 3073792231835013, + "ods_hash": "ea7604a2db44263b621c62f4486e8d1f", + "dwd_hash": "9b725cba0d639fb0d85e8a836e542c1d" + }, + { + "platform_coupon_redemption_id": 3073794447935045, + "ods_hash": "79049de6aeec35bfb86feebc026c70d9", + "dwd_hash": "29bebee02dd7d4acb2cde3bc0030087c" + }, + { + "platform_coupon_redemption_id": 3073797914281541, + "ods_hash": "ba01f6e7c9cfb91736e0c9991f43c67c", + "dwd_hash": "34a89c2e0a7b4daa4f452690fa4f970e" + }, + { + "platform_coupon_redemption_id": 3073802735388293, + "ods_hash": "4df45d7a2927b83fde05880bec6c6f7b", + "dwd_hash": "b96fb3d238fb9158fe3f99de0957649a" + }, + { + "platform_coupon_redemption_id": 3073814908470725, + "ods_hash": "f8e4565d4ef34b995235e2a9c859dcb0", + "dwd_hash": "ec2a969efa00f11a487911d20aa4798b" + }, + { + "platform_coupon_redemption_id": 3073820270773893, + "ods_hash": "8ba9831ac02c7d3d7853b20bd0d44be5", + "dwd_hash": "2b6ed16ce2d2d3d7d6e066ef225f708b" + }, + { + "platform_coupon_redemption_id": 3073822112564613, + "ods_hash": "04adb6421bace2f959782920500e2f2f", + "dwd_hash": "0574b2715892b1ddeb4fbe7cb2be11a2" + }, + { + "platform_coupon_redemption_id": 3073824938575301, + "ods_hash": "2723e017bbf5a88cb0b1cc82c4bc0ccc", + "dwd_hash": "a38c9a7edce20763eaa080e266867b42" + }, + { + "platform_coupon_redemption_id": 3073829133239685, + "ods_hash": "359a85c08e3eefe8626de16e13c49dba", + "dwd_hash": "b4734ba54b6247f960e91729fb7b79c0" + }, + { + "platform_coupon_redemption_id": 3073841507566981, + "ods_hash": "d267a73384eaea11381358f075c4cd78", + "dwd_hash": "65ccb5fcbe5019af81e1488b53a1087d" + }, + { + "platform_coupon_redemption_id": 3073845685585477, + "ods_hash": "4b563d4ae636f8e0fe2e7dccdd8467b0", + "dwd_hash": "324afc0fa952e8cc21dea6a38aa7ffe1" + } + ], + "mismatch_error": null + }, + { + "dwd_table": "billiards_dwd.dwd_platform_coupon_redemption_ex", + "ods_table": "billiards_ods.platform_coupon_redemption_records", + "windowed": false, + "window_col": null, + "count": { + "dwd": 17426, + "ods": 17426, + "diff": 0 + }, + "amounts": [], + "mismatch": 0, + "mismatch_samples": [], + "mismatch_error": null + }, + { + "dwd_table": "billiards_dwd.dwd_recharge_order", + "ods_table": "billiards_ods.recharge_settlements", + "windowed": false, + "window_col": null, + "count": { + "dwd": 470, + "ods": 470, + "diff": 0 + }, + "amounts": [], + "mismatch": 0, + "mismatch_samples": [], + "mismatch_error": null + }, + { + "dwd_table": "billiards_dwd.dwd_recharge_order_ex", + "ods_table": "billiards_ods.recharge_settlements", + "windowed": false, + "window_col": null, + "count": { + "dwd": 470, + "ods": 470, + "diff": 0 + }, + "amounts": [], + "mismatch": 4, + "mismatch_samples": [ + { + "recharge_order_id": 3074036779288197, + "ods_hash": "06d652b60b4c5ff484a9ec769a352590", + "dwd_hash": "75eba29be6aae972e87fc47a1f86329c" + }, + { + "recharge_order_id": 3074055249233477, + "ods_hash": "9db66867692d43b13e5021a3a857b369", + "dwd_hash": "a63c0430b600982339395422b04560d6" + }, + { + "recharge_order_id": 3074057282061765, + "ods_hash": "9db66867692d43b13e5021a3a857b369", + "dwd_hash": "a63c0430b600982339395422b04560d6" + }, + { + "recharge_order_id": 3074130444551813, + "ods_hash": "06d652b60b4c5ff484a9ec769a352590", + "dwd_hash": "75eba29be6aae972e87fc47a1f86329c" + } + ], + "mismatch_error": null + }, + { + "dwd_table": "billiards_dwd.dwd_payment", + "ods_table": "billiards_ods.payment_transactions", + "windowed": true, + "window_col": "pay_time", + "count": { + "dwd": 249, + "ods": 249, + "diff": 0 + }, + "amounts": [ + { + "column": "pay_amount", + "dwd_sum": 39420.0, + "ods_sum": 39420.0, + "diff": 0.0 + } + ], + "mismatch": 249, + "mismatch_samples": [ + { + "payment_id": 3073387403986373, + "ods_hash": "91b4b6d21373a8441584efd6a930e9ab", + "dwd_hash": "116a4d459449e64b3dc2964659c10437" + }, + { + "payment_id": 3073430043952773, + "ods_hash": "20f659b991734de8d976ea668bfa200b", + "dwd_hash": "7e4f89508dfa36ea59557c286d904700" + }, + { + "payment_id": 3073491229132421, + "ods_hash": "94622bfe50f1b0376c6bdd3e4aeafee6", + "dwd_hash": "2881e8475bb36b6fc162a30793a20351" + }, + { + "payment_id": 3073520157623941, + "ods_hash": "100ce69c69885d85527c166c2331432f", + "dwd_hash": "b3997aaf4f9221c5d62168f7198da244" + }, + { + "payment_id": 3073545152611781, + "ods_hash": "cb191a02e0cb4a9d2e00481afdc50676", + "dwd_hash": "4e64b291377b83865e29d0e40540634b" + }, + { + "payment_id": 3073574871778949, + "ods_hash": "66985fdbea2ad6791901bf0c4b12cc32", + "dwd_hash": "041b124b02c34fcffae79f80254a52ae" + }, + { + "payment_id": 3073574922012037, + "ods_hash": "a302faf8aa9ff2c8ba3df58df4cb1cf6", + "dwd_hash": "82a99a97d518969f42edbeedee7eb3fc" + }, + { + "payment_id": 3073581975242309, + "ods_hash": "e86cf6b11cb075fd37d7ea4f0296099f", + "dwd_hash": "ff22a2c5885d9632cb22ee84bff32f54" + }, + { + "payment_id": 3073631143855557, + "ods_hash": "211311b724a3215a481da79bee052685", + "dwd_hash": "82861280411295a75f6946cdd77fa504" + }, + { + "payment_id": 3073646756890053, + "ods_hash": "90df1009640541934d427b6e927670d6", + "dwd_hash": "596fb72ec4be38eb479045ac26251c6a" + }, + { + "payment_id": 3073652725712517, + "ods_hash": "0a3852fecd4ded599defcbd3b42eb6df", + "dwd_hash": "f1e71ba48ba8cf6a4e4a7a14398bbd2b" + }, + { + "payment_id": 3073653508244869, + "ods_hash": "39c4ee0694d46c32124a6ecc58340d8c", + "dwd_hash": "526cb0005b5ae55b65988d5732c40381" + }, + { + "payment_id": 3073658606454213, + "ods_hash": "2d34637ac72122e4baf35500207eb0c9", + "dwd_hash": "661ab71022603a993ab05198a734d2e9" + }, + { + "payment_id": 3073670469993925, + "ods_hash": "671ad668b49fb99e22cbb48400fe0648", + "dwd_hash": "a87ade0deaacff21b097ca56d254f3fc" + }, + { + "payment_id": 3073681143645637, + "ods_hash": "71a3a0efec6c436150f06e97dfaaead7", + "dwd_hash": "68442df34f83afea2a14351fbfb31cbb" + }, + { + "payment_id": 3073683740296645, + "ods_hash": "7b89bf03388180e7788650fbd6f751f4", + "dwd_hash": "502defd60f29ca14418d6d779ac525de" + }, + { + "payment_id": 3073683963922053, + "ods_hash": "752319958fe52042d0aac68d4e849f70", + "dwd_hash": "6059ace260d9596c5f4c841e7bed6417" + }, + { + "payment_id": 3073690254771589, + "ods_hash": "f4500d9cd05bc42a543ec5cba8d6fa88", + "dwd_hash": "825345151fa40f511ddf9decb4ca20f7" + }, + { + "payment_id": 3073697291503173, + "ods_hash": "a934275cbe735ec70602dd5cc145e66e", + "dwd_hash": "9437891db96eff646fe5b819597cf19c" + }, + { + "payment_id": 3073702630262405, + "ods_hash": "f4f46af370c5715624e0ea4471a93d1b", + "dwd_hash": "56dbaedff3503b09ff79f6a59d20e0d4" + }, + { + "payment_id": 3073704043644357, + "ods_hash": "ce2150004f2daacb64a74ae36d4c592b", + "dwd_hash": "eb5f3ffad4e2119e5fb98ee39e71ba7c" + }, + { + "payment_id": 3073705555478085, + "ods_hash": "6e149ef77a5a2dbf8767eda773b6d8db", + "dwd_hash": "72c1237928053770095d3c5a75699252" + }, + { + "payment_id": 3073734140249669, + "ods_hash": "3c7594aa3dcb2ec100bd115cf1d16f19", + "dwd_hash": "2782343f5c14a6d7fc907e933fa03277" + }, + { + "payment_id": 3073734853183045, + "ods_hash": "9d6841e4611e519e12ee1489236f62ab", + "dwd_hash": "d9be7bdc409c51641cc95545af798690" + }, + { + "payment_id": 3073735535756677, + "ods_hash": "5ed5b1ff54b3d6551e57c033acc95e72", + "dwd_hash": "2945953860aa03608919f38219c8d15f" + }, + { + "payment_id": 3073741226559109, + "ods_hash": "723d037d2492971fa63a9b9acb9e5fa3", + "dwd_hash": "940dcaf0adf3347f6bf24aa70ac2daf8" + }, + { + "payment_id": 3073743224473029, + "ods_hash": "5e80cfabe84ef65fe0d5a434b2201101", + "dwd_hash": "156617cab9efdb1b76b6d9b992d5ca92" + }, + { + "payment_id": 3073748715652677, + "ods_hash": "d7504f157967ebe751c4d763e141eb7b", + "dwd_hash": "ada45054bf2872f866997805a1a67fd9" + }, + { + "payment_id": 3073750321104517, + "ods_hash": "13fa84feb799b7093c8596f0212065a2", + "dwd_hash": "67d3a98aac78f4f08fbc1248c8f5f48d" + }, + { + "payment_id": 3073751210755461, + "ods_hash": "dee1cbd21fea1d81bef7f58423971e1e", + "dwd_hash": "5eb4b9a4b8ccafbffe35282e9eec7b05" + }, + { + "payment_id": 3073763302196805, + "ods_hash": "6c4ec00d50c41a89dd9a0833167a1d70", + "dwd_hash": "91eeadf3368fc39423ba31c3b269e867" + }, + { + "payment_id": 3073771767416453, + "ods_hash": "f0c2a9ba5d4c9eebcb6678a1354cb69f", + "dwd_hash": "8ea37ebfbcfcd8a01d24d1aae12d007d" + }, + { + "payment_id": 3073786716685893, + "ods_hash": "15a3f5b1f3ed5f1f60c8607cbbe52c59", + "dwd_hash": "3c51b17a7428a5d5a23ed3bcd43435ca" + }, + { + "payment_id": 3073797226661510, + "ods_hash": "6a4b55869bc1f0a1102cd1b8da483dec", + "dwd_hash": "dc616d700bfcc95e685e1a6f2fecc4fc" + }, + { + "payment_id": 3073809409787461, + "ods_hash": "34de910d3496003100e26b027a38e28c", + "dwd_hash": "c711944ffebfeb021649591b40972ae3" + }, + { + "payment_id": 3073814676129157, + "ods_hash": "0b741a54141f1eeb3cbab564c414c687", + "dwd_hash": "78a52248d0a3cb3b0bd9354dd1edef70" + }, + { + "payment_id": 3073817368315461, + "ods_hash": "41c9c33f27bc5feb9881788a954c08c0", + "dwd_hash": "154c802147cb9b8f7678a56c500dfcd0" + }, + { + "payment_id": 3073818598278789, + "ods_hash": "877e4a21a3878f19e3613100851a3946", + "dwd_hash": "de95fe400761a68dd65b1b0a0a229ed3" + }, + { + "payment_id": 3073828344890821, + "ods_hash": "eb43dd130c8085bb12676db9419fd1b8", + "dwd_hash": "a790c2b3d980ea0db9db3f11361c5cab" + }, + { + "payment_id": 3073829504550469, + "ods_hash": "c9daca24559d90028458ca01d0807c88", + "dwd_hash": "523c4f7da350d1b6dc1f3fe7181a27ca" + }, + { + "payment_id": 3073835260626501, + "ods_hash": "18a56f518525f91dab1773b27de975fc", + "dwd_hash": "d67a8f193f0a0a9fc4a12e865d1d17c2" + }, + { + "payment_id": 3073840472376773, + "ods_hash": "3359ad087cf0ea01c285100cdfe3ef03", + "dwd_hash": "5e62fa64b002721d8e3a219e912d5ee0" + }, + { + "payment_id": 3073841864181381, + "ods_hash": "a5c25d9a2fd859a154952a275532f709", + "dwd_hash": "0dee44e28f1fa98439cef438b4ed9602" + }, + { + "payment_id": 3073844858488453, + "ods_hash": "e3e3c7a92977bc8e7c306bd29ae38476", + "dwd_hash": "cc15ee5b58b487befeca517a81d521f3" + }, + { + "payment_id": 3073845064500677, + "ods_hash": "eb94a0e7806b86252f4a106c7ed01b58", + "dwd_hash": "228f54342beb662859b55daf9a2312c8" + }, + { + "payment_id": 3073846749038213, + "ods_hash": "2ff31a2e9c8c3ec675d1cea74b28349e", + "dwd_hash": "e1aa4cedc3d88cd36efd429f40a423f0" + }, + { + "payment_id": 3073849385174469, + "ods_hash": "a93003dae11f129fdec95019b687f130", + "dwd_hash": "5b6130a7f39a66a2fce06d0565459ef9" + }, + { + "payment_id": 3073849678825093, + "ods_hash": "bd7e950c425498a96ac4e72278af2eda", + "dwd_hash": "79cec059a6038d2f0739daeb43d13b1a" + }, + { + "payment_id": 3073851448575557, + "ods_hash": "afd1e7abf2250e1111d57fc4ff803f5d", + "dwd_hash": "7f8da4eaaf1391924ddc47c7e417850d" + }, + { + "payment_id": 3073858589230469, + "ods_hash": "de9acac41f2759c35ab366b30894a95f", + "dwd_hash": "3541a57490df77945a04f75680c72f8e" + } + ], + "mismatch_error": null + }, + { + "dwd_table": "billiards_dwd.dwd_refund", + "ods_table": "billiards_ods.refund_transactions", + "windowed": true, + "window_col": "pay_time", + "count": { + "dwd": 1, + "ods": 1, + "diff": 0 + }, + "amounts": [ + { + "column": "channel_fee", + "dwd_sum": 0.0, + "ods_sum": 0.0, + "diff": 0.0 + }, + { + "column": "pay_amount", + "dwd_sum": -20.0, + "ods_sum": -20.0, + "diff": 0.0 + } + ], + "mismatch": 1, + "mismatch_samples": [ + { + "refund_id": 3075315080365445, + "ods_hash": "d106eb3749a86cbaf63c1c1435e011d8", + "dwd_hash": "00447218ebd761827dc5a3118018a6ca" + } + ], + "mismatch_error": null + }, + { + "dwd_table": "billiards_dwd.dwd_refund_ex", + "ods_table": "billiards_ods.refund_transactions", + "windowed": false, + "window_col": null, + "count": { + "dwd": 47, + "ods": 47, + "diff": 0 + }, + "amounts": [ + { + "column": "balance_frozen_amount", + "dwd_sum": 0.0, + "ods_sum": 0.0, + "diff": 0.0 + }, + { + "column": "card_frozen_amount", + "dwd_sum": 0.0, + "ods_sum": 0.0, + "diff": 0.0 + }, + { + "column": "refund_amount", + "dwd_sum": 0.0, + "ods_sum": 0.0, + "diff": 0.0 + }, + { + "column": "round_amount", + "dwd_sum": 0.0, + "ods_sum": 0.0, + "diff": 0.0 + } + ], + "mismatch": 0, + "mismatch_samples": [], + "mismatch_error": null + } + ], + "total_count_diff": -19242, + "total_mismatch": 37485 + }, + "generated_at": "2026-02-01T17:46:34.303446+08:00" + }, + { + "mode": "window", + "window": { + "start": "2026-02-01T00:00:00+08:00", + "end": "2026-02-01T21:15:21+08:00", + "label": "segment_2", + "granularity": "window" + }, + "api_to_ods": { + "window_split_unit": "none", + "window_compensation_hours": 0, + "start": "2026-02-01T00:00:00+08:00", + "end": "2026-02-01T21:15:21+08:00", + "cutoff": null, + "window_days": 0, + "window_hours": 21, + "page_size": 200, + "chunk_size": 500, + "sample_limit": 50, + "compare_content": true, + "content_sample_limit": 50, + "store_id": 2790685415443269, + "base_url": "https://pc.ficoo.vip/apiprod/admin/v1/", + "results": [ + { + "task_code": "ODS_ASSISTANT_ACCOUNT", + "table": "billiards_ods.assistant_accounts_master", + "endpoint": "/PersonnelManagement/SearchAssistantInfo", + "pk_columns": [ + "id" + ], + "records": 138, + "records_with_pk": 138, + "missing": 0, + "missing_samples": [], + "mismatch": 20, + "mismatch_samples": [ + { + "id": 2964673443302213, + "content_hash": "839d43428c64ce6c9e72181f8a213a9599e899aa3780a92e150d1db1bc6b03ef" + }, + { + "id": 2964641017858885, + "content_hash": "c5582c5d76bfaaff8954787505fab682dec2d203af34505d0b66f814a4f1e081" + }, + { + "id": 2964640248745157, + "content_hash": "8192af59dc039fbfbdfbe812bf586e30a3a2affaf994ad80da1b9928a61904c5" + }, + { + "id": 2861304461364293, + "content_hash": "135f2c9b0ea8f3e4cf942eba0b6b92f51bb74eb13a33053616d263b92bd21f38" + }, + { + "id": 2840060593686213, + "content_hash": "32723eae7cb0db31ceb773ab06283ab87f9b3528038ef5129e0bdec995d4217a" + }, + { + "id": 2793363001774149, + "content_hash": "507ee309e8c665fd10de16651cebe8216ecf71c4b3cd58002168a29bdf4970c6" + }, + { + "id": 2793532503855173, + "content_hash": "eae6d5ef05f293ac397c1657eda72edf1f37778d0ad4ae9755a6b815164b5ec3" + }, + { + "id": 2793530479530053, + "content_hash": "95f02f4a4445b870bcad59065962059e8b8487702eb179d82e81ff2d806a2b37" + }, + { + "id": 2793486361710725, + "content_hash": "2eaa32eedce787a1dcd63e5be455165644979c484cca5dc3a0c3c52674367afa" + }, + { + "id": 2793493699088517, + "content_hash": "5e2d697309998601c962d250b0143c8e592e829f77fa9af14b51916c7ca19aab" + }, + { + "id": 2964673443302213, + "content_hash": "839d43428c64ce6c9e72181f8a213a9599e899aa3780a92e150d1db1bc6b03ef" + }, + { + "id": 2964641017858885, + "content_hash": "c5582c5d76bfaaff8954787505fab682dec2d203af34505d0b66f814a4f1e081" + }, + { + "id": 2964640248745157, + "content_hash": "8192af59dc039fbfbdfbe812bf586e30a3a2affaf994ad80da1b9928a61904c5" + }, + { + "id": 2861304461364293, + "content_hash": "135f2c9b0ea8f3e4cf942eba0b6b92f51bb74eb13a33053616d263b92bd21f38" + }, + { + "id": 2840060593686213, + "content_hash": "32723eae7cb0db31ceb773ab06283ab87f9b3528038ef5129e0bdec995d4217a" + }, + { + "id": 2793363001774149, + "content_hash": "507ee309e8c665fd10de16651cebe8216ecf71c4b3cd58002168a29bdf4970c6" + }, + { + "id": 2793532503855173, + "content_hash": "eae6d5ef05f293ac397c1657eda72edf1f37778d0ad4ae9755a6b815164b5ec3" + }, + { + "id": 2793530479530053, + "content_hash": "95f02f4a4445b870bcad59065962059e8b8487702eb179d82e81ff2d806a2b37" + }, + { + "id": 2793486361710725, + "content_hash": "2eaa32eedce787a1dcd63e5be455165644979c484cca5dc3a0c3c52674367afa" + }, + { + "id": 2793493699088517, + "content_hash": "5e2d697309998601c962d250b0143c8e592e829f77fa9af14b51916c7ca19aab" + } + ], + "pages": 2, + "skipped_missing_pk": 0, + "errors": 0, + "error_detail": null, + "compare_content": true, + "content_hash_supported": true + }, + { + "task_code": "ODS_SETTLEMENT_RECORDS", + "table": "billiards_ods.settlement_records", + "endpoint": "/Site/GetAllOrderSettleList", + "pk_columns": [ + "id" + ], + "records": 70, + "records_with_pk": 70, + "missing": 7, + "missing_samples": [ + { + "id": 3076488654472837 + }, + { + "id": 3076486179767941 + }, + { + "id": 3076485970052549 + }, + { + "id": 3076485913069125 + }, + { + "id": 3076485831427653 + }, + { + "id": 3076480788596293 + }, + { + "id": 3076479044503173 + } + ], + "mismatch": 63, + "mismatch_samples": [ + { + "id": 3076468614809029, + "content_hash": "87751b15db6567e0a11f78d8af05e82c6659536400bd4650dc43ded98cd338e2" + }, + { + "id": 3076467386877573, + "content_hash": "3dfc71beef920e96e1f122b94e755629309e4aee843490612f014d35ccff15f1" + }, + { + "id": 3076458700309893, + "content_hash": "fcfeb0260a77edfd70671324c9a18b36093cfe65a83063f0a9d4f535cd187106" + }, + { + "id": 3076456369735301, + "content_hash": "48c4337e2be51291a2cc4ef82bd7387677a55f523ccd010069e4db8a2debfa83" + }, + { + "id": 3076455546455493, + "content_hash": "72a249c2f1654e694efa9518eab5fb61007c139cc8a2defc281f246c3dd3f02a" + }, + { + "id": 3076454422775365, + "content_hash": "6ec97b33b486ec3d6015fe466749c3d742e4d041c20f921a2a9542b0dfdf0eda" + }, + { + "id": 3076454214075845, + "content_hash": "c0cd4a4f5efe5078eaf7909fbd31b5c52e8ad6cb7134819940fe9c93ad28e9fc" + }, + { + "id": 3076448746718853, + "content_hash": "b55f9c60b4c090aee81f38c1ef503ba89418cfd0835451c538a5f28da7d887e6" + }, + { + "id": 3076445029139909, + "content_hash": "ea210e4cbe66e1b587fc05cacbcbe85db9edb7369b3f42ce312cfe24180443eb" + }, + { + "id": 3076440512103813, + "content_hash": "422099ee70d53e3ac23e1765e17d7ad67afee0562b957ac256e61bcb87bbfd25" + }, + { + "id": 3076431901542021, + "content_hash": "fe3694489004b7044b9112123b0852efc63a42793197a7a99fef79ddfd7a2231" + }, + { + "id": 3076431815607877, + "content_hash": "6d18c0fc4e121078d575547ca078be775bf2f670b56ab68dfda217ce46ffc996" + }, + { + "id": 3076427911873925, + "content_hash": "9e8fcced81eff199dc3c251b8ae7d091d39ea266178a3c43a02ab0c6adfbd06f" + }, + { + "id": 3076426252469829, + "content_hash": "181a22b4e72603859e773fb16ef437f8ca7e21475019367d34d24ce4fa907f5b" + }, + { + "id": 3076404561774149, + "content_hash": "f800ccb061f3eb7a9b26c3e26ae85d0011a32a97b9d2b8b9df39bf46ddce3ab8" + }, + { + "id": 3076404475233733, + "content_hash": "516d179bce2e1241a2b8473af11da7977233e0f03c73508137ced4b995660491" + }, + { + "id": 3076402039817797, + "content_hash": "19d21508a379ef8b52fae355ea4f89cc7483e734cfd79e23a35327b7e4b70723" + }, + { + "id": 3076401419699653, + "content_hash": "9c73e6acd3b2b34766b0c9aa64824bd6a62b8dabdcb081e5165d95f8065097c7" + }, + { + "id": 3076398355138181, + "content_hash": "6ccd7500aa0e41bc92f117673eeade83e020980a1abb6075398f4f55046badde" + }, + { + "id": 3076397477447045, + "content_hash": "f2df960cc69df74188a02d7e8ad25795c232718faa5052370df28be3d7487cc4" + }, + { + "id": 3076391943521669, + "content_hash": "cccb5212c5194eeb98dd6ae60927418d95ee07885bf6a2c1aa2e98bb93d7db7f" + }, + { + "id": 3076384544851525, + "content_hash": "4610dd365a3ccec7b90554f6f1f6ced9336aa36be3c1a7b4193762cdbcc090f4" + }, + { + "id": 3076374806693509, + "content_hash": "3e77e1115f9510fc70645c10cc26e7f9a9b58ed5140d3fb5f6184202c372d9bc" + }, + { + "id": 3076373983463045, + "content_hash": "3898e150b325dc533d166f1388f298606e1be86c72091935ea161b906b07394c" + }, + { + "id": 3076364685362629, + "content_hash": "75a425e83be348b645af5c33385e2c2158975c83f4e5f3f27c72fd4aff7cdbb7" + }, + { + "id": 3076361253537221, + "content_hash": "fcbb1834bbff0f5c0b2f211644ea29c9fc7f6a968008166a89385e7a73feaad1" + }, + { + "id": 3076351018845637, + "content_hash": "5e2879d99571c91ad2cf07abed19bb544bc359c285b35b937e26309561ee1055" + }, + { + "id": 3076341183317381, + "content_hash": "3af6efefba4bdb315c16259687e45e1247fa6f1a2a58432e10dcea7e07287083" + }, + { + "id": 3076341125465541, + "content_hash": "f9a6da9372d7e638765bc488bc4f5d985d77b8ab552861fd228a16735c095faf" + }, + { + "id": 3076340817823301, + "content_hash": "17f30dc453e26fb8b440f1f75933035d9ce59e050299ab9a9896730584ebcf33" + }, + { + "id": 3076335060403845, + "content_hash": "f2c4ce7cb14796fe2c3b9052bf69aa3a918f30eb7b7a5f4e281eb15231010c22" + }, + { + "id": 3076334984070597, + "content_hash": "54b6a9fba103650da52e5cb0cea974d5dd615df1e7b0b6714e780715451e821c" + }, + { + "id": 3076329472263813, + "content_hash": "975f48b29de763b7c1c875983ba90fdc95fb6a4e28f0e4162577497ce87b60f0" + }, + { + "id": 3076325357848133, + "content_hash": "1d23dbad4d3f44655a5f69b9111fd40c0e95d0c2eb9d5aef7d29c91cd208df45" + }, + { + "id": 3076324997596741, + "content_hash": "cfd8c7d1e1d5a753394d06a9cdd87687270963b9d4bfa5bf8f6e113663dd0814" + }, + { + "id": 3076324778444357, + "content_hash": "6a58abd08ebe3d563c73850e05b2e05fa547cbd0a9479ce914a2611ba61bdf8c" + }, + { + "id": 3076300195186309, + "content_hash": "2d16fc83461419db62e06801539485778c1963c85b1717fe2e4992735cdff413" + }, + { + "id": 3076282462602629, + "content_hash": "377352fc8c35f233b3ac24f6f8f7624720efd0bf2f597986bb9dbe5860621a47" + }, + { + "id": 3076266613753285, + "content_hash": "7072c89bfcceacff2e146baf99a2cd0f68ca7aac0dc8104b61bf8d37628f2f63" + }, + { + "id": 3076255056905861, + "content_hash": "d13b0718d5a65674b1dacfe84fed839bc39d25227d3157395b320945c0d32595" + }, + { + "id": 3076162814084549, + "content_hash": "dab6dd704a18bd4d676577329b00b75d92a9fe0a62242bd60a81fe7cd9392e5d" + }, + { + "id": 3076160250971717, + "content_hash": "e547ab15e4cda5b31455946bced7a95969da585a1732e0e3cfdd48bf308ccc78" + }, + { + "id": 3076138688464453, + "content_hash": "65972020ca61e06650969253345123d49c817b9bd51b589bd80eac6a64719e70" + }, + { + "id": 3075796102497733, + "content_hash": "7a1e58d1f800d4ca27e6af6718df8c4cb41be47a790483eb8840bed8351bc92a" + }, + { + "id": 3075749871846789, + "content_hash": "a038a21c7d0536dc4a89e56150a7eb3c6928de413ac13ce19c15ece617d06417" + }, + { + "id": 3075635006113413, + "content_hash": "9c325ae5b216a028c9cd1f973a23264d3a0b4c50bb5a28bd0d4fb43d1f15f4fd" + }, + { + "id": 3075634038818245, + "content_hash": "f44522784500fae84fd9dff7fa393ba8799e41af17fa52606353c1eb7cb847d9" + }, + { + "id": 3075631216395909, + "content_hash": "ac61c0abc6a660c8e8e0150685582d190c8d30305a76eb75e3f44a35c854ac85" + }, + { + "id": 3075626208708165, + "content_hash": "172c142f887825850618125fff1dd8619ef3ed48b3742914dc59243c14dc2e1b" + }, + { + "id": 3075584553190981, + "content_hash": "428d0a07c87fbf064fdbff46f86fa0540a7f920d3dca7a3088f5ae747231112a" + } + ], + "pages": 2, + "skipped_missing_pk": 0, + "errors": 0, + "error_detail": null, + "compare_content": true, + "content_hash_supported": true + }, + { + "task_code": "ODS_TABLE_USE", + "table": "billiards_ods.table_fee_transactions", + "endpoint": "/Site/GetSiteTableOrderDetails", + "pk_columns": [ + "id" + ], + "records": 10078, + "records_with_pk": 10078, + "missing": 6, + "missing_samples": [ + { + "id": 3076488674706885 + }, + { + "id": 3076485986239877 + }, + { + "id": 3076485928928709 + }, + { + "id": 3076485848352133 + }, + { + "id": 3076481003750789 + }, + { + "id": 3076479297537669 + } + ], + "mismatch": 70, + "mismatch_samples": [ + { + "id": 3076468631635333, + "content_hash": "ecaf61118e981331d8612d47f21cbf34dee7a4b2302caafc0da4186128ee37ba" + }, + { + "id": 3076467402524229, + "content_hash": "7ea0bd4d5fb81daba44f43c0eac3325d807629404ecfb9d90718278b11323fca" + }, + { + "id": 3076458717628037, + "content_hash": "c560556b7265323acfbaad424737fbaf529405af7fc4fc99a8c04ea7d9138c8e" + }, + { + "id": 3076456428603013, + "content_hash": "040978f9e60d19e2fe1606eb85719a6307418474642ab2f1185cbc47866391f1" + }, + { + "id": 3076455564838277, + "content_hash": "672bff8f9a453e454e89d1c09298a8f764c9c4083e1fcd5215d52c52d50b788a" + }, + { + "id": 3076454440863109, + "content_hash": "a9f3f231326e5f02918ca1f8346c31537cf753f6908311a35f715923e70717f5" + }, + { + "id": 3076454348309893, + "content_hash": "f760b61c45765af59aee194d298fadce2c6253c6dddd4008c1aa9f091c54c8dc" + }, + { + "id": 3076448766461317, + "content_hash": "e912f503ae32f5561530bc56813169d39f3b4fb200ad7b691fcf98ad5d925b1e" + }, + { + "id": 3076445048063365, + "content_hash": "06635b02f5d4d215b3ff33ae531ffc73a315e194a3d620169aba139ba56250f7" + }, + { + "id": 3076431917008453, + "content_hash": "f613702e2569ee755f4388971422fe70327fe19e4cd2ee3a0867e434dd93a5ce" + }, + { + "id": 3076431855896133, + "content_hash": "fb911c9965dc1b8fde398075dc80c23ef3b2db00cecd3c911fdccc1576ef5767" + }, + { + "id": 3076427929667013, + "content_hash": "6b5cdadc648a73e9d6efcc1df4c7c3bb247994ba936a492532e654d74e4f191b" + }, + { + "id": 3076426270180933, + "content_hash": "9d55d5a5bed5c60769e4d2052419a8644fe259aaa881efd213adfff19ea51423" + }, + { + "id": 3076404579583429, + "content_hash": "c0b447e8ea656b752bad8c43015026acaa4a108747fa75e0e089d4dd616c0ea3" + }, + { + "id": 3076404528957061, + "content_hash": "755779b8a4064cf9f1af8485adaf8ca1757f9ca1b4593fc6be13c3eb01918d97" + }, + { + "id": 3076402097276293, + "content_hash": "4463ccb44164644f333d1facf643f8a94676f51556e29ec47223bea442a8bee3" + }, + { + "id": 3076401436312965, + "content_hash": "51b9ae68448bf0a10c833d05a154f3d0da0d4863e06e820a5c03c85db274452b" + }, + { + "id": 3076397495780933, + "content_hash": "ccf911a4749427f2e58698655eb940b5baa6c18c8e0acdc00ae4fc1af2d49b74" + }, + { + "id": 3076391961855557, + "content_hash": "2c52621ea3230733cf444465d2dff648c2b9d00cb731d70dbc47194018ee89f7" + }, + { + "id": 3076374836004229, + "content_hash": "3ad23ec7f3df1bbcf96804d8c8195d671e8e6882768c260f4a8355a9e5400c73" + }, + { + "id": 3076374000354885, + "content_hash": "62e01a5abdc67f65f187a57622753a40c984f39dca6120e9365580ab49e01359" + }, + { + "id": 3076364701123973, + "content_hash": "5aac3cfef1671ecc98481498e1320f95c5fdcf758e6a2c9c9f7f43463dba6a79" + }, + { + "id": 3076361276884357, + "content_hash": "8ab7c924beebcd8d5dc5a3354295c48f6fb213a0630fbbfa8d71e1278c81da34" + }, + { + "id": 3076341201225349, + "content_hash": "d874b09495c04272ff04781d7113948c2f951f20b194178bcae48490ef0b8ed7" + }, + { + "id": 3076341144192389, + "content_hash": "938be43e34cfafbc8f5d008e5aadffb999c2a3caa785c5cde8f79fcb6c33aded" + }, + { + "id": 3076335083587141, + "content_hash": "309f42330f084315a12f8813b7033c49c706791b74ac658e809551882651ded8" + }, + { + "id": 3076335007483269, + "content_hash": "eb882e1ebd7014d35cbe1400768ad5cb343f98a4ed2672f9978c757cfb595d6e" + }, + { + "id": 3076329489057413, + "content_hash": "87daf2cb17e9c9a7cd8407f795daf734476955d4fb5fbe5288e1ebc43328fc37" + }, + { + "id": 3076325379917189, + "content_hash": "a3a041e720f52eee0e5436ef923c08cf6c179f640f9aacf5d8a9c36023cd1811" + }, + { + "id": 3076324807968389, + "content_hash": "46528ecea97222e22ddb13262a0410e54ae097c01d9d4ae168342e35d137c066" + }, + { + "id": 3076282477610373, + "content_hash": "18794315fa5ada5cbefad58f5cfb43943075feab6593c1ef444988f02f55ca83" + }, + { + "id": 3076255083218501, + "content_hash": "5e02920dfd8de17a6d777316d967f6810e15e23a39cb7dc4bf1976408799cc47" + }, + { + "id": 3076160268633541, + "content_hash": "2a02e45994dbc1524ef52d425b1e02ac4acede1991c1f4e72504aa5b54aec6fd" + }, + { + "id": 3076138706470341, + "content_hash": "85a3abc04c65f31f8c0eaf86f7df53839362e794404af9769d5c29cef44ff404" + }, + { + "id": 3075796677543365, + "content_hash": "22fca596263c51170cb4ccebcd2e1b7560195af6c78f35bee54447f273a34d7d" + }, + { + "id": 3075750061589957, + "content_hash": "8a786f89baa7e66cb55328e3948ef180ef2d7262d52f80f8b1849ad7834d9a38" + }, + { + "id": 3075635028674181, + "content_hash": "a24c7abec1aca8ff2a9c63ccce6a96a738ce68bf701dc83d1cb4db6259b97a38" + }, + { + "id": 3075631430682181, + "content_hash": "054016d8a4c02d39dff0f3909799c8059eaf1f83f41565a89bd0d3f5c4cf8a41" + }, + { + "id": 3075626777576901, + "content_hash": "aa9d1f28140a2e22b97a2fb1ef8504de3dbcdafa950ec479adbf47f9fda95f35" + }, + { + "id": 3075626777560517, + "content_hash": "b3771d47fe8b790bc1d0389fe16538fea21d1dc63dd38aae039ef2df3244f77a" + }, + { + "id": 3075584988579461, + "content_hash": "6a811cbbaa3a4288b4c60e677166c0f8f33996e24963c7b3c857b8816715d323" + }, + { + "id": 3075584277300869, + "content_hash": "ea76ca1588149c5d05a3a0d48f3944a6122156f5af58a1e3dfc9d5d0c39139e2" + }, + { + "id": 3075574999369285, + "content_hash": "14f4c7a69e19842cbd2acc0a76a5cbf7dc59ce1ac5db455476349cd37ffc3fd5" + }, + { + "id": 3075568526608005, + "content_hash": "bed10077df56480934844159ce837276072ce0900e595851ae9dbe0844ef7ff1" + }, + { + "id": 3075537363207749, + "content_hash": "f994d789f76ccc8dbd38516f7bd4ccef46e5eb89dbfe2bd36d07dd814bc80e4e" + }, + { + "id": 3075502543013509, + "content_hash": "36c79aa18bd02254d14faecb3bc5e56fcd4a856427c5b36c6da85796d32f27e3" + }, + { + "id": 3075502543029893, + "content_hash": "a86d687b65af44401d7124cbd59a08211acf6ca7c9175e1c062e4717f3ce6e89" + }, + { + "id": 3075502542980741, + "content_hash": "33e3e1271e26b38861e7ca521bc4f95a3f96cddf41206e92b9215c718affd217" + }, + { + "id": 3075502542997125, + "content_hash": "0eb52a6b1181a117f35897c181a794d3e3ea1f292b28a0d1c05074ab5395bba7" + }, + { + "id": 3075497054340742, + "content_hash": "d1c03fff95d7ab57839578afca3a80213fe2adcc34a5a3cd7b1a0d42847a637a" + } + ], + "pages": 51, + "skipped_missing_pk": 0, + "errors": 0, + "error_detail": null, + "compare_content": true, + "content_hash_supported": true + }, + { + "task_code": "ODS_ASSISTANT_LEDGER", + "table": "billiards_ods.assistant_service_records", + "endpoint": "/AssistantPerformance/GetOrderAssistantDetails", + "pk_columns": [ + "id" + ], + "records": 6, + "records_with_pk": 6, + "missing": 0, + "missing_samples": [], + "mismatch": 6, + "mismatch_samples": [ + { + "id": 3075750061999557, + "content_hash": "f2ad302051b745332bcbd660eef9b80f7552af6ad8c6937cc6cc7dd9bf16b5cc" + }, + { + "id": 3075631431616069, + "content_hash": "6247dcf15ccb43e664a177ab551ad500885f446d2fe22683ae8110eb0d288655" + }, + { + "id": 3075631431124549, + "content_hash": "65080f43162686bd292de49fbad7e7814267785f3403749684e66887760831ca" + }, + { + "id": 3075626777986501, + "content_hash": "e29ecea6d19a18f534c3d4f7bd70afc017f3582d939f006ec7a555e9b671156f" + }, + { + "id": 3075584989021829, + "content_hash": "3f91ad21cabca02c83baf452aeb2131fcb7cee7ca774d649c8ec22734d5f3b03" + }, + { + "id": 3075473604216197, + "content_hash": "bef7dceb8487e21f054f4794c9b3065342112c0f422e7091bc481afb917cbd35" + } + ], + "pages": 2, + "skipped_missing_pk": 0, + "errors": 0, + "error_detail": null, + "compare_content": true, + "content_hash_supported": true + }, + { + "task_code": "ODS_ASSISTANT_ABOLISH", + "table": "billiards_ods.assistant_cancellation_records", + "endpoint": "/AssistantPerformance/GetAbolitionAssistant", + "pk_columns": [ + "id" + ], + "records": 0, + "records_with_pk": 0, + "missing": 0, + "missing_samples": [], + "mismatch": 0, + "mismatch_samples": [], + "pages": 2, + "skipped_missing_pk": 0, + "errors": 0, + "error_detail": null, + "compare_content": true, + "content_hash_supported": true + }, + { + "task_code": "ODS_STORE_GOODS_SALES", + "table": "billiards_ods.store_goods_sales_records", + "endpoint": "/TenantGoods/GetGoodsSalesList", + "pk_columns": [ + "id" + ], + "records": 0, + "records_with_pk": 0, + "missing": 0, + "missing_samples": [], + "mismatch": 0, + "mismatch_samples": [], + "pages": 1, + "skipped_missing_pk": 0, + "errors": 0, + "error_detail": null, + "compare_content": true, + "content_hash_supported": true + }, + { + "task_code": "ODS_PAYMENT", + "table": "billiards_ods.payment_transactions", + "endpoint": "/PayLog/GetPayLogListPage", + "pk_columns": [ + "id" + ], + "records": 11869, + "records_with_pk": 11869, + "missing": 7, + "missing_samples": [ + { + "id": 3076488671888837 + }, + { + "id": 3076486201951813 + }, + { + "id": 3076485984044421 + }, + { + "id": 3076485926471109 + }, + { + "id": 3076485845976453 + }, + { + "id": 3076481001244037 + }, + { + "id": 3076479295096453 + } + ], + "mismatch": 78, + "mismatch_samples": [ + { + "id": 3076468629095813, + "content_hash": "1d98150b058d184d50f7e1287503f3da81c914a3a3d7fa56d9d9d0191e48f87d" + }, + { + "id": 3076467400361541, + "content_hash": "396de78b0d5c42bb74a8494ca3cec3bbb73de929117060b19f65f92122c2e6f3" + }, + { + "id": 3076458715268741, + "content_hash": "ac78e1c4c30f8d54e9cf49d505ee009946f613059ac20c2cd64ebe99ed2d16a7" + }, + { + "id": 3076456425571973, + "content_hash": "784dbffeed6cbb906e715b984a2eb68eb4d7b4d21fe13577e19f50ab84262e2e" + }, + { + "id": 3076455562167685, + "content_hash": "254f35015805c022e9bee5c36103ed4f565e3843f3f3aaa37d218cdcaf384cc4" + }, + { + "id": 3076454438454661, + "content_hash": "c0f6f656a415a95ef06cb435353b1284c0250c4a3d5574b86dc08a87b9f05a50" + }, + { + "id": 3076454345950597, + "content_hash": "777c8dbe11d51fac95f083fbb51eb2da14c1085711267c8ee854273c1842e692" + }, + { + "id": 3076448764216709, + "content_hash": "0ea75fe82f054a70bdfd72a5b12be4fc87d549516400cb24c184a5c2ade0a968" + }, + { + "id": 3076445045507461, + "content_hash": "49ab33b8eb37eccd094d84f8591de1fabfbf8e83c5add1e24fa5322553c2c52c" + }, + { + "id": 3076440535041605, + "content_hash": "a4570493e7ca107b8bd51d6918929fe37563511ac4c33b3785b03e33646a4801" + }, + { + "id": 3076431914829381, + "content_hash": "02245f332d9d246db8bc4e4127f28e1b93136efcad18560cfb40098f42bfccd1" + }, + { + "id": 3076431853635141, + "content_hash": "0f5573d8cde0551abeb7ab71d11349eb7ff542031a8b6f1d921e79caeba7e2e3" + }, + { + "id": 3076427927373253, + "content_hash": "adcc2fc6dcf91cd2c9554b20c005679040badc32447cebd57ddfa07f20000869" + }, + { + "id": 3076426267510341, + "content_hash": "8973a2a98d81d5d6b99ae519ed5168f5368702931ff2f5032df328363d99b0f6" + }, + { + "id": 3076404577387973, + "content_hash": "d487e756bfbcbfdea9801bf833eadeeb232e9c6caff34773eb2aa2bf2f996a98" + }, + { + "id": 3076404526581381, + "content_hash": "9dd9b05502dcd2babbc759eecb7f7f1ea0e572d358ac2919a885e58b9229b47a" + }, + { + "id": 3076402094638469, + "content_hash": "170e125df1ae5af87d9d443955589b83001bff46a264bcf418f9efd1f26c5e91" + }, + { + "id": 3076401434183045, + "content_hash": "ee7b1cbe64524945bdbcec9aa286c8adbaf84278a9a94401e4299c5207188703" + }, + { + "id": 3076398378419845, + "content_hash": "e6dc0093247a5e9709cb1e8866b3b1857517a7bdfe866d51bb5a71311ced3684" + }, + { + "id": 3076397493470789, + "content_hash": "d9a79d7237c59c1365a504de14ae8a115bc77dfb91a86d52766a96a6311c0b08" + }, + { + "id": 3076391959709253, + "content_hash": "e49dc4dcdb14c8e2217aa61b078d9901187342b8030e8def5ca3e45cb3cd963a" + }, + { + "id": 3076384567166597, + "content_hash": "294616a87c7be3cd3d8b5c00236a2bf67d669509b8e9937f24c24d9a983129ab" + }, + { + "id": 3076374833661317, + "content_hash": "36fac0acf37a6aa2578cf1743afa60202b25d47713759f484bcbc380784c442d" + }, + { + "id": 3076373997651525, + "content_hash": "4f420efa3e2aa089b921a8062e14380ce77df8eca92eb9219c2c18138485737b" + }, + { + "id": 3076364698830213, + "content_hash": "0490e08457adeec7cae5ffb618c6f628e666ff8bd28631d6db721cad8a8471bb" + }, + { + "id": 3076361274688901, + "content_hash": "53c491f072897a057d374519d21310120f262f9090c08d2b9238b95f84a07fd3" + }, + { + "id": 3076351041684869, + "content_hash": "3c8b0a66e0a657d0a2b2ba6b0cfa4e1fe5a9e7514f8a90aec62e53d1a39a6ad5" + }, + { + "id": 3076341198784133, + "content_hash": "364c132aa40cb47323efb0ebf1241a183316abfd24962d1df7a4e0103421dde9" + }, + { + "id": 3076341141947781, + "content_hash": "8a0c585e6951de858292044cf541c20419b51e0a40bbcc69d871055246cfc0e9" + }, + { + "id": 3076340839728581, + "content_hash": "915ecb2f28b64b99d6bef37a55c27cea80860d53743bdd59205c08dab80e8d51" + }, + { + "id": 3076335081145925, + "content_hash": "519e8cfcc8afaa1b162cd10053a47e90e02aadb32a57ec193dcb632f9fe39b44" + }, + { + "id": 3076335005189509, + "content_hash": "9171c7407083f703eb9f609e52b841e712aab23f63a23a6bc5bc5e22426a5d15" + }, + { + "id": 3076329486468741, + "content_hash": "9f418c52a90aa4cf14cc937abb1b744490591ae33bf665042bc9b825a475e5de" + }, + { + "id": 3076325374657925, + "content_hash": "c27376c3baa026c746d51c0bc05965f58400258224fe0acc3bbec956c5176f7c" + }, + { + "id": 3076325018109381, + "content_hash": "e295d644d2ed96c55bea15da67da96ec7ad851d9d9d93a6520a9b2f8fabd9f58" + }, + { + "id": 3076324805772933, + "content_hash": "ec930062c4210e26045ff119183bb285e4be44806aaf144e20f25899400b7d6d" + }, + { + "id": 3076300217878085, + "content_hash": "45fbe4fa99a6d9edda39204f39a50804f8e03f5d0f8eaf13073d40b734580931" + }, + { + "id": 3076282475316613, + "content_hash": "0b066be27dcd61bda5190b6ae1ea2c007698b048ed121635c2d1b6c6c8abeb9e" + }, + { + "id": 3076266638329477, + "content_hash": "756f49af72ab10a9759866ec0b4a5e506361d32e532a381a3ed04fe2faba44ba" + }, + { + "id": 3076255080875589, + "content_hash": "eb619f79f2ddca8eab52a959280f77487ed4861e1ac48035096b952f5e265e3e" + }, + { + "id": 3076162835989893, + "content_hash": "b40760187171087068b24973da0c6619031ff3ad5c453c649428c5303cf9a4d4" + }, + { + "id": 3076160266405317, + "content_hash": "dc674bde32449e64ecb26603ee55314532745bbb106bd282fb7d410b9b48041e" + }, + { + "id": 3076138703865285, + "content_hash": "62d3b1d4ab55d34c0095af87020db11c36d6913c6e2181fb5c124cc11f085d93" + }, + { + "id": 3075796674954693, + "content_hash": "6b454c71c0495e987007803d0ffa388ccd09af8d02973d645470230e58f0073a" + }, + { + "id": 3075750058231237, + "content_hash": "9c22f9220a92b397cdff11ef4751504141ac58aa30fd55d3110766c3b0433ac2" + }, + { + "id": 3075635026396805, + "content_hash": "a870a6f121879d780173ec10458cf8ecbc38c3f955c717d7e91a2051619b93ee" + }, + { + "id": 3075634418681285, + "content_hash": "04a106f6d3e3b8dc61206b41f6662ebf0a9d48b0b9dcb35fffbe8860c0395be4" + }, + { + "id": 3075631427044933, + "content_hash": "370e5630d34c88724fee2d2c7849e226a0bc626dd181a4558128f05a48147ffc" + }, + { + "id": 3075626774283717, + "content_hash": "857822bb40135178b25bfd2e1457a6df6cabd4f1a11834de648f8926c5366bc0" + }, + { + "id": 3075584984123013, + "content_hash": "eda5de138a9d7cd97555bd6b11edf8b6b2518516a02b0b4d647dc0cadc57d6d2" + } + ], + "pages": 60, + "skipped_missing_pk": 0, + "errors": 0, + "error_detail": null, + "compare_content": true, + "content_hash_supported": true + }, + { + "task_code": "ODS_REFUND", + "table": "billiards_ods.refund_transactions", + "endpoint": "/Order/GetRefundPayLogList", + "pk_columns": [ + "id" + ], + "records": 39, + "records_with_pk": 39, + "missing": 0, + "missing_samples": [], + "mismatch": 0, + "mismatch_samples": [], + "pages": 1, + "skipped_missing_pk": 0, + "errors": 0, + "error_detail": null, + "compare_content": true, + "content_hash_supported": true + }, + { + "task_code": "ODS_PLATFORM_COUPON", + "table": "billiards_ods.platform_coupon_redemption_records", + "endpoint": "/Promotion/GetOfflineCouponConsumePageList", + "pk_columns": [ + "id" + ], + "records": 17429, + "records_with_pk": 17429, + "missing": 3, + "missing_samples": [ + { + "id": 3076489105000005 + }, + { + "id": 3076488145323397 + }, + { + "id": 3076482503624261 + } + ], + "mismatch": 56, + "mismatch_samples": [ + { + "id": 3076460464391749, + "content_hash": "409ce55971e59731fde8589996adae2122b528efc267280b68dd6c7dd0eddde3" + }, + { + "id": 3076457746236805, + "content_hash": "ffbe91874eb94ce97d2b85ed7fcfc9d0f8ff9c2ab6b965dab7017c66a6f068b0" + }, + { + "id": 3076452205119109, + "content_hash": "8f2a48115134e9f24de034953adb12b36080358763419819c6d1fca42de22eb6" + }, + { + "id": 3076450453374405, + "content_hash": "7e3edb7f39f9b0bab755cefdb2adf8ec958d70e8e7e218e13c63b99dffacf488" + }, + { + "id": 3076450215085509, + "content_hash": "291748c14c2ceffc12af011d19414f7cad523f4adc4a77160c6c791f19f33521" + }, + { + "id": 3076447330370949, + "content_hash": "93c5f3461365066e298c0ebfbc02ed35defcdc9b25b37086706c125e0cceac45" + }, + { + "id": 3076440282973638, + "content_hash": "b7124fb420e2446d46258056298245c244541b2a9adbbcdf459529c287b66242" + }, + { + "id": 3076440282973637, + "content_hash": "49b335633f433083de9533ad835d1a8bfee3c34e18e82c690195e5cb8e11b978" + }, + { + "id": 3076432919692741, + "content_hash": "8155c2c835f42c63efabfe1e091b4cbf8ac16f5873e00c48fbc76d399c9ff702" + }, + { + "id": 3076417945192005, + "content_hash": "c1e6bbfdf1c2609d6d727eacf27b079f235442125ee5c74d6eeff3b3ba1aeec2" + }, + { + "id": 3076409807734213, + "content_hash": "426a3c14dee2ac1d02126d68f15e6afe99a790f84cf68d6d6c908b4f603f960e" + }, + { + "id": 3076405972289157, + "content_hash": "c8cb973ad32e3f28b04331074af949799524278264b8019dd708c1185c71e65c" + }, + { + "id": 3076401773659525, + "content_hash": "4257ad366ed94b850875584ed2d27aadca890fc7aba344ece92871e64cc769a2" + }, + { + "id": 3076398028834437, + "content_hash": "945a6ba351a29971647728d2e1e459814dd72b45fd22785553b641cc96968062" + }, + { + "id": 3076383841601157, + "content_hash": "bffd71bc22eda017ecb7060029debefefbc34a164bc9169ce4b92d415f6b766c" + }, + { + "id": 3076382580098501, + "content_hash": "e50904e3244fa30d2972680bc95958d4a5bb67cb649494281d4681bdef8a2e69" + }, + { + "id": 3076371995280965, + "content_hash": "fa33cc6c8e2da3946ae54bf3e8b79927b5ee53a0e1e75dad62362fcb91249cc6" + }, + { + "id": 3076369225238085, + "content_hash": "c6c53a61e5e439d5ac80e2caa4b92c0cd77adffabba10755f97f1af95fa291cc" + }, + { + "id": 3076366755006021, + "content_hash": "eb75dfa7f445581d8757ae6141a3c0a8df8f0546bfca3e4e1b09e88088fb5b71" + }, + { + "id": 3076366484047301, + "content_hash": "28fe0849a4f3803f83d346c0bc3798e056421d43d73ca86465e645ef02d33eda" + }, + { + "id": 3076361118647685, + "content_hash": "1908f47068217f4f9ed6d0139fba48b80d03d31e5640f39b03e5466691feb704" + }, + { + "id": 3076350267328069, + "content_hash": "213c8fab492f445015e2d75ada787b1a3903106280d1759ab3d19568632d45b7" + }, + { + "id": 3076343656334789, + "content_hash": "e1dafd7fdb24d2361161f60346d8e509a53764881f84552568fa00fcddeb3ae9" + }, + { + "id": 3076343508370885, + "content_hash": "8addc37de548f282da840fb38ac8a29615103a8d6013919cfda0fd89d05a9fed" + }, + { + "id": 3076336473490885, + "content_hash": "8d74600a7a69c108f1164249f3bc415c96c75bc3e1ed15c522fc697e057e8508" + }, + { + "id": 3076331867752005, + "content_hash": "ff33d291058a78640f6747b0f3ae192872ff54957bc4e87aa85fcc313312a97a" + }, + { + "id": 3076330682205829, + "content_hash": "bd7099b9214dc4b0cd351dfde3508108830689217b719af4dc9379c654d16c30" + }, + { + "id": 3076330171614597, + "content_hash": "4caff5cd39291a6a172cc0df1e4fa2dff40a5b0e87d7a28955b0476d03dedc74" + }, + { + "id": 3076314233259589, + "content_hash": "26e407771845d284bb3f1cc049ea3f02220c8c556b1281864acf6e651432d7f5" + }, + { + "id": 3076306343314885, + "content_hash": "e3e3ea5ce5214256b263ccb70f7aed285ce1148903405a7697457e9bf4a624fe" + }, + { + "id": 3076304870622853, + "content_hash": "f62b4455df38bfa9593984764fa3f3d5c650a184ab0d47bf46adddc438ff8260" + }, + { + "id": 3076303449048517, + "content_hash": "21dded43f549b0492393849cc411d86ae6cb3c0e73a3458fbab0db6f8a7a2ed2" + }, + { + "id": 3076301217564101, + "content_hash": "0d51450cde97e1cb07b36d58550edb703907180615748cee748f8d1b334a56a2" + }, + { + "id": 3076300712396165, + "content_hash": "02285b16d4bb092997638aa56c52f24ffe9826e2fdb64f8fa88f3fcc5aa8aacf" + }, + { + "id": 3076281630017093, + "content_hash": "da29254390198afbf5f6a3025d4903296a48183893b1975e9b6dacd61f9cc895" + }, + { + "id": 3076281538282885, + "content_hash": "6901e4db5710dd312714f11a7e5cdbb60dfaffa7477575664464dca7932cc7ad" + }, + { + "id": 3076280099374469, + "content_hash": "b4c4b2dbe844c0627ffa76aa3149fd3d0aea7847058b4b3d324cf1f65a0280f6" + }, + { + "id": 3076277823227333, + "content_hash": "76df6adb5214f75c51e41f6c9771a8bc7789eee5dedff0b55e175720e9907c26" + }, + { + "id": 3076275082626693, + "content_hash": "2032bb99748d753d4f180db88f0c7197f89e46f7cdc4f11bea8728b3050397b8" + }, + { + "id": 3076270491731589, + "content_hash": "b71d0dfe73668e3faca13f72710960dae2180b302161d9b15d151c9af92e4e6c" + }, + { + "id": 3076266120021573, + "content_hash": "f399c96b71ebe3ebc9643259c05633a91ce383cfe6908f6188f55b209854efb9" + }, + { + "id": 3076226159117765, + "content_hash": "5562bd759bf1208dd4dd1e784fface0d14ece7e1a1c90c05aa15e11e002449fd" + }, + { + "id": 3076226049410501, + "content_hash": "f4d3ab30b1185c1633b107218ac935113ce4b04e054891bc4e0a717906eacb45" + }, + { + "id": 3076223542724037, + "content_hash": "01eb877525279297862f20c74f29d5de4221adc228a5e7233dc935857e770e20" + }, + { + "id": 3076223026972101, + "content_hash": "5bc8a72c3a033e801704df469cfce9c42bf051368997593320c3338e265d9f3e" + }, + { + "id": 3076216648386117, + "content_hash": "07f9baeffda3331d287b19c57f02f22572b1bc0715960b18773addddb31edc1f" + }, + { + "id": 3076195763160517, + "content_hash": "0f95d93f14e63cae176f577b95419ddeb3fe4eb9a1d1ffa645788e6d5e32ca1c" + }, + { + "id": 3076101153572229, + "content_hash": "e95b17d682c4e2deb43c212e36362c804c82d9f17d9a8f7cbd1dfd327571c316" + }, + { + "id": 3076070440404357, + "content_hash": "d56a667b7df75f4353bba9956fddb904d1e585767b6af18b1cbdb035dbbe5d68" + }, + { + "id": 3075525274076805, + "content_hash": "af2bd8fa61767308bd8a372069e8d4d4f0f5ba5138b30cd8be63337f4004b1b2" + } + ], + "pages": 88, + "skipped_missing_pk": 0, + "errors": 0, + "error_detail": null, + "compare_content": true, + "content_hash_supported": true + }, + { + "task_code": "ODS_MEMBER", + "table": "billiards_ods.member_profiles", + "endpoint": "/MemberProfile/GetTenantMemberList", + "pk_columns": [ + "id" + ], + "records": 556, + "records_with_pk": 556, + "missing": 0, + "missing_samples": [], + "mismatch": 3, + "mismatch_samples": [ + { + "id": 2799207359858437, + "content_hash": "c6a6ba6294aa9cb6c268b288616210a7dc651ed1082ae05a9c73bcca262ff5b0" + }, + { + "id": 2799207363643141, + "content_hash": "81d9861a2c3e8f961bb5765315fbf3beb80f3a03f6f529b2595a51838e6960e8" + }, + { + "id": 2799207266748165, + "content_hash": "fa4366a211f46b793ebd524ca6c1f2d4c7139e415fae78f3e9683022003dc337" + } + ], + "pages": 3, + "skipped_missing_pk": 0, + "errors": 0, + "error_detail": null, + "compare_content": true, + "content_hash_supported": true + }, + { + "task_code": "ODS_MEMBER_CARD", + "table": "billiards_ods.member_stored_value_cards", + "endpoint": "/MemberProfile/GetTenantMemberCardList", + "pk_columns": [ + "id" + ], + "records": 945, + "records_with_pk": 945, + "missing": 0, + "missing_samples": [], + "mismatch": 3, + "mismatch_samples": [ + { + "id": 2799218552833797, + "content_hash": "40d19d9fb3df790064de45a5671cffa5d7d92a72d308abe5d0b869ec15e4d563" + }, + { + "id": 2799216912434949, + "content_hash": "5db178c834745f473f293b8ba28622491b2c83ccca39f042928874304b0e07ce" + }, + { + "id": 2799216572794629, + "content_hash": "d3382be6d78faec2076494172c01b49e48c4c2c7ee05e36856ebaee99a705269" + } + ], + "pages": 5, + "skipped_missing_pk": 0, + "errors": 0, + "error_detail": null, + "compare_content": true, + "content_hash_supported": true + }, + { + "task_code": "ODS_MEMBER_BALANCE", + "table": "billiards_ods.member_balance_changes", + "endpoint": "/MemberProfile/GetMemberCardBalanceChange", + "pk_columns": [ + "id" + ], + "records": 2460, + "records_with_pk": 2460, + "missing": 0, + "missing_samples": [], + "mismatch": 4, + "mismatch_samples": [ + { + "id": 3076456426161797, + "content_hash": "60d43ed88af1da192bcd724f212e43603d2b936be78eabbc8f52a12ee785400a" + }, + { + "id": 3075750058837445, + "content_hash": "661c0ffbac0647e024b13af170ec7c696b1a6f7ccc0497f66ab3ff58972d462a" + }, + { + "id": 3075631427601989, + "content_hash": "1d4b49b20854ba18494027fd54ac68ab4cbd4c2d4d0e1d664a22deaba7ccb853" + }, + { + "id": 3075374340998789, + "content_hash": "144352fec9c0a2a2a1551f75285b5b97c174072c1ba494f26762927dee0325b3" + } + ], + "pages": 13, + "skipped_missing_pk": 0, + "errors": 0, + "error_detail": null, + "compare_content": true, + "content_hash_supported": true + }, + { + "task_code": "ODS_RECHARGE_SETTLE", + "table": "billiards_ods.recharge_settlements", + "endpoint": "/Site/GetRechargeSettleList", + "pk_columns": [ + "id" + ], + "records": 0, + "records_with_pk": 0, + "missing": 0, + "missing_samples": [], + "mismatch": 0, + "mismatch_samples": [], + "pages": 2, + "skipped_missing_pk": 0, + "errors": 0, + "error_detail": null, + "compare_content": true, + "content_hash_supported": true + }, + { + "task_code": "ODS_GROUP_PACKAGE", + "table": "billiards_ods.group_buy_packages", + "endpoint": "/PackageCoupon/QueryPackageCouponList", + "pk_columns": [ + "id" + ], + "records": 18, + "records_with_pk": 18, + "missing": 0, + "missing_samples": [], + "mismatch": 0, + "mismatch_samples": [], + "pages": 1, + "skipped_missing_pk": 0, + "errors": 0, + "error_detail": null, + "compare_content": true, + "content_hash_supported": true + }, + { + "task_code": "ODS_GROUP_BUY_REDEMPTION", + "table": "billiards_ods.group_buy_redemption_records", + "endpoint": "/Site/GetSiteTableUseDetails", + "pk_columns": [ + "id" + ], + "records": 8191, + "records_with_pk": 8191, + "missing": 4, + "missing_samples": [ + { + "id": 3076488675247557 + }, + { + "id": 3076485986829701 + }, + { + "id": 3076485929600453 + }, + { + "id": 3076485848941957 + } + ], + "mismatch": 47, + "mismatch_samples": [ + { + "id": 3076468632225157, + "content_hash": "03e48915edab14e8e4e2201eaaa94d90b0c5334bd68b28b42ab0c2f7fc0a83c2" + }, + { + "id": 3076467405440581, + "content_hash": "6e4c0a5988c6515906a84a721171af7fbf216b31af5479432ff84038c490bb32" + }, + { + "id": 3076458718267013, + "content_hash": "45c8a97f5e17c8f08168486e9b8dac654e80baa6de2b28f124cd7e8209cb0d9d" + }, + { + "id": 3076454441534853, + "content_hash": "52169580473b4e987f990a20d1377c8d9aedacaf3676628770417c768ba46497" + }, + { + "id": 3076448767051141, + "content_hash": "ae09516ad958e38f8bb6821d504f9461a1eaf317ec12c6fb806617275f4f8711" + }, + { + "id": 3076445048833413, + "content_hash": "00cb4b5212add98f95f5a0629b94cd4958132a2f92a69f2f645c8d6a7b5e2afd" + }, + { + "id": 3076431917565509, + "content_hash": "699a0ca77aa70d24ae0d3452fe58ccc163972fd4e42c8be272afbf08a1342bb8" + }, + { + "id": 3076427930224069, + "content_hash": "e8a40244b7fef5d03116bebde54336312ca56e902261e630d3007084b70d56dd" + }, + { + "id": 3076427930224070, + "content_hash": "f5e0933f692b8e64f1aea4871c866367f4b6719defd5004d8eeaa2f3b9bdb054" + }, + { + "id": 3076426271049285, + "content_hash": "83dbef2f770fa9f09f0d6d7702f86f6dbef25a9e310c55045affb81f9bda7851" + }, + { + "id": 3076404580140485, + "content_hash": "2438fbe220084112964ea42879b05e8139316b9ec080679f2b26945741ac4458" + }, + { + "id": 3076404529497733, + "content_hash": "5b14d59eee96d7eecb62ce2919b0cb32c7e6acfd3a8e15d7cef29fb71f844987" + }, + { + "id": 3076402097898885, + "content_hash": "8fddb6bd5eb3ef2026823f51fb92fa0995a3d45b78cccdadce52ae3ae4af7971" + }, + { + "id": 3076401436870021, + "content_hash": "02be9659028c862bab01d492ff4424c73d7da7b8f5ba0fa71612e62b43097e93" + }, + { + "id": 3076397496469061, + "content_hash": "13770c4852800895efd480b264311dcc8a2273d65423e02e7ea73a1c47d46814" + }, + { + "id": 3076397496469062, + "content_hash": "82dd56c6332ebe17bfd2c9cb420326501b443970fae5f2a0a094f93341eb12ae" + }, + { + "id": 3076391962379845, + "content_hash": "0133e4ded539cbbca6e34ba74cfeed81d1007c3ee288446f7b6531acfacce133" + }, + { + "id": 3076374836741509, + "content_hash": "b23910de34853d4341de3d4275b32415bca43ff305e6704e244424aa62ca379e" + }, + { + "id": 3076374001059397, + "content_hash": "ebd4d71fc826e9e21f68469bb18018183d4a94f5c1ef51954c1edb882aa6b859" + }, + { + "id": 3076364701697413, + "content_hash": "cd2a0eb03cdd7bd5ef7a3ed85d35f4ad7e7b0e2ebd524d5db17774d94057f663" + }, + { + "id": 3076361277490565, + "content_hash": "ffa39848ac12c567883c7c1c8d90d12aaf11eb5ccd9675b88e19740491a74f0b" + }, + { + "id": 3076341201913477, + "content_hash": "da1dcd599557d5e2435cd38a1e87396e9c6f149a4c0195d9a3ff0ded8208e15f" + }, + { + "id": 3076341144782213, + "content_hash": "4c87bf452bae2e2fcbb65ea4ac0fa11dcda311cd7cba1b2964a57380f9e61c0f" + }, + { + "id": 3076341144782214, + "content_hash": "aed66317ac3ecde8b7f841b18ca5874c8aab69d01707a866c01035b6ecaeb1a6" + }, + { + "id": 3076335084193349, + "content_hash": "0433c9d32ca4da3dc17d0376723ffff74cf2b864b7714f21cbd1d44b9395caf7" + }, + { + "id": 3076335084193350, + "content_hash": "5ad4cf8b719875ca52103194bfc4ffabc6cdece996f27795eeecc5e0347595e1" + }, + { + "id": 3076335008040325, + "content_hash": "e877371266db3946d000ef1707b29fd5f2bc3a6706a80a1cc32d2566bbb2745e" + }, + { + "id": 3076329489647237, + "content_hash": "06088be3fd1450a933ccd14633ad43eee4420fb9755dc4b0f997111dde1aa41d" + }, + { + "id": 3076325380490629, + "content_hash": "867f4b3ce53cc4734a3d0e2c453e946cc32d47668079855708cff47f2ae95163" + }, + { + "id": 3076282478265733, + "content_hash": "5aec53f7ba351cb0f62ac86b5d6bb705edf1afebffaacd642076de3406264006" + }, + { + "id": 3076255083742789, + "content_hash": "c4e64070771f0c4e55a598c814b872d56a46f2f9e3d1926eea4fe7f73fa91c80" + }, + { + "id": 3076160269174213, + "content_hash": "1cbcce3d170caa9a78513802a050bf9c3c7b34ccb49b58d2e88c03770b0adae7" + }, + { + "id": 3076138707092933, + "content_hash": "529b463dcc0c235f02aa89635947dd020cdc4dfdcc76c6bd79743c921f423cd8" + }, + { + "id": 3075584989677189, + "content_hash": "852ddc81f66d8f50c84cf57135342f9930c20a1c0cccab146c0acb3edd68affc" + }, + { + "id": 3075584277825157, + "content_hash": "f43b49b6c05b69e7135439b168df64778e0ce8b038aaf67d550a745c3ce484fc" + }, + { + "id": 3075575000008261, + "content_hash": "6f1e9002b395072464acbab1b5c0fc76157a94338ab145f377aa346ea2cff830" + }, + { + "id": 3075568527378053, + "content_hash": "283b1486a67947f39e76653e6b60455f6a1c3d49a14ce4bd28550a5895e318f0" + }, + { + "id": 3075537363879493, + "content_hash": "588a0e2456a9c9c15f60076caec66845194c672e140d7ba60e4d2beb1e68ba83" + }, + { + "id": 3075497054914181, + "content_hash": "a2e39b50ea64c3ee30a406bcd9f4ffc3a296f343a14cfddbfee4e8e88ab7784f" + }, + { + "id": 3075473703716485, + "content_hash": "8058a95dab8766f595a00d666da8ffcb03dfe135ddcb9d259f1950673fb93b29" + }, + { + "id": 3075443237995973, + "content_hash": "a110aca7ad125d23b03f1a7429008e37006cd3583d8c83a040e1b9120ed24d02" + }, + { + "id": 3075420149908869, + "content_hash": "265a6b12123e7f99848c70785020fe773eb1bdeb768a3bbdb901282e38f1e2bd" + }, + { + "id": 3075403456595397, + "content_hash": "fba3321ff27fd973a332a1dc3d61fe58fa62cb87ee65f4d02c88d15699f17ec4" + }, + { + "id": 3075397862852229, + "content_hash": "73324a0937aa8b30aada74b8bb08220411d24b82f7a178b9c6e9b016424265c1" + }, + { + "id": 3075381136623045, + "content_hash": "9caeb8c5968422936741cc20e532e8900776139fa3a28cdc08773c5010f3a177" + }, + { + "id": 3075359772395077, + "content_hash": "e6628a53bd9fe6f6e189605e740e905683697a626be66e068ee0d8bc13971195" + }, + { + "id": 3075358078223813, + "content_hash": "8f413eb8d858f1524c86a287ec0caba4110be97e7be39d2b93d9f573460222e6" + } + ], + "pages": 41, + "skipped_missing_pk": 0, + "errors": 0, + "error_detail": null, + "compare_content": true, + "content_hash_supported": true + }, + { + "task_code": "ODS_INVENTORY_STOCK", + "table": "billiards_ods.goods_stock_summary", + "endpoint": "/TenantGoods/GetGoodsStockReport", + "pk_columns": [ + "sitegoodsid" + ], + "records": 172, + "records_with_pk": 172, + "missing": 0, + "missing_samples": [], + "mismatch": 34, + "mismatch_samples": [ + { + "sitegoodsid": 3073782716778501, + "content_hash": "7605e97ecfa1fda63ec4dae916a38b9ec22f7a8dea76bf2f1fbd007c90e92acc" + }, + { + "sitegoodsid": 3053572251340677, + "content_hash": "dc5d1db0282a951fe025c5ed98929e1892a610a8314f0996f4f3abc821ece677" + }, + { + "sitegoodsid": 2826003636177861, + "content_hash": "2fe66332c302bc9f38b39acc99880b1f536117e4cf5a40be00c7fe03c8adc51a" + }, + { + "sitegoodsid": 2823321361894405, + "content_hash": "58f09a6f1a52ab65d6fbf5c31c896cd40b8ca74263aaadb076e1d3e594de5593" + }, + { + "sitegoodsid": 2794695801917573, + "content_hash": "401cd58a54c68f6a4d48cfd05191cd10a7ab61cde1e654731854d92c7e3d8076" + }, + { + "sitegoodsid": 2794695801409669, + "content_hash": "c884e95f510189ae167d3994fcf4534385d840ecb512b8155a8be88a6ab3f2a9" + }, + { + "sitegoodsid": 2794695800934533, + "content_hash": "53ddd03a1cdb3e033581dd21d4c6cf52e41c2eb1cd701e426619b6783eba281c" + }, + { + "sitegoodsid": 2793026434863237, + "content_hash": "c846ef7f6dbadb8671d264350c4510de361435e1fc32c6f3dc41bfa7cc351e1f" + }, + { + "sitegoodsid": 2793026434715781, + "content_hash": "f5b4d70544faba4c520897b940f136eccd32096b9d8a367ce7fdd2da14ac9aff" + }, + { + "sitegoodsid": 2793026432585861, + "content_hash": "30e0f9535f340a3408f8331ba5a7114db7f35d2943e03189e1bfbc42580169b5" + }, + { + "sitegoodsid": 2793026188415045, + "content_hash": "887c861e43f606b1aa57a2207e2cb3b5244351b177aa9311c9afc37655db3b88" + }, + { + "sitegoodsid": 2793026187726917, + "content_hash": "c42ca2b4c94c7581d00e530b1e29bcde27b0988a44436727db1bae9ba8860120" + }, + { + "sitegoodsid": 2793026187563077, + "content_hash": "38dce962cdd022612cc7aa7b0e01682fb1ff7fda177a5c15a2a113c304a8d438" + }, + { + "sitegoodsid": 2793026187071557, + "content_hash": "4c0c301b491313a4b262f5c973fdca33f65f5fbfb7043fe4cf9ca45bb4ae2ca5" + }, + { + "sitegoodsid": 2793026186563653, + "content_hash": "a2a9b2769dfb6f7ef067e45b08f60086c018a2ce3de62543968d848b65dd6751" + }, + { + "sitegoodsid": 2793026184646725, + "content_hash": "fd44fd98e3270cd4d414ff794b55203637bfc7fdb69c3e6f52b78825042e5b23" + }, + { + "sitegoodsid": 2793026184302661, + "content_hash": "43cbbdee4865def2913e293d9d28d0c7a7c7f9d8179923329e376bb0558e0a91" + }, + { + "sitegoodsid": 2793026184106053, + "content_hash": "87e7b0f2daee3af1719c780b0248da45a7fb48b8f5fa859898ba32794a233385" + }, + { + "sitegoodsid": 2793026183041093, + "content_hash": "41e52e21e8c1ff63ceb95d9d294a76ee00b687da2c83fef0b474d92f87753b73" + }, + { + "sitegoodsid": 2793026182664261, + "content_hash": "d6f7f9cef39c6eee8bb2d656ff63d88cb3e79e8278b94e081b4a0e065408fb7f" + }, + { + "sitegoodsid": 2793026180993093, + "content_hash": "203271106008f39067b1c7ee29e5b7e1103b0ca74d5eb5f3ba065f578a7d4b90" + }, + { + "sitegoodsid": 2793026180501573, + "content_hash": "ac1ce737fb9fff85a07a38bc1c246afb417bea26315968fb609d041f52dedf75" + }, + { + "sitegoodsid": 2793026177486917, + "content_hash": "1467da85f7a1dea145d25c6fa0e141714c239b688d054d4118d20afab7213fa6" + }, + { + "sitegoodsid": 2793026176012357, + "content_hash": "80e5d3cfc9f49ffd8013efacaa1635c4bdb4e8ad4bb22bbd7d582d5316f64991" + }, + { + "sitegoodsid": 2793026174865477, + "content_hash": "bf8231fb5ee48aaeba5971ccb6ebb4789b9b8a50e21581dec09d73b95956a712" + }, + { + "sitegoodsid": 2793025862963269, + "content_hash": "6cc88a5e65bfc6b6fbfa8f5b16d52367c0e19807b9d267f6bec8022c07a1ca0f" + }, + { + "sitegoodsid": 2793025862438981, + "content_hash": "4fc1fd258db6a90101cc1d5a6f4f2f57f336a9932b982a0cb64d432ae25b0213" + }, + { + "sitegoodsid": 2793025861505093, + "content_hash": "16bbf7c7b5d71cea819cb32c03f0e51f4f675cd737a3ca9726f7618b3941a281" + }, + { + "sitegoodsid": 2793025861308485, + "content_hash": "2981cec222988a4121ba67c8767f909b00591797176662fc7537ec1de8f5ff36" + }, + { + "sitegoodsid": 2793025850576965, + "content_hash": "4a5b06aaf846401cb8503f79ef56cb121f33b738d5df57ffa0f9366f740ddc25" + }, + { + "sitegoodsid": 2793025848102981, + "content_hash": "f683772cc92cdd0abceabe5addcd41fc5857815e7266ed62a96872f195d7abc6" + }, + { + "sitegoodsid": 2793025846464581, + "content_hash": "42186140b0b0a9d49fab43811db955900ec10702545181ccf85c146667f35d37" + }, + { + "sitegoodsid": 2793025844727877, + "content_hash": "6b05cbe3d02b47a49385b4d848ad70e22903a5bcf041d57da83dbb6b4b36034d" + }, + { + "sitegoodsid": 2791953867886725, + "content_hash": "a624bc1e3609a9414279336c13f5049f8763bd6e1e52586972ec1d677ec0d1bf" + } + ], + "pages": 1, + "skipped_missing_pk": 0, + "errors": 0, + "error_detail": null, + "compare_content": true, + "content_hash_supported": true + }, + { + "task_code": "ODS_INVENTORY_CHANGE", + "table": "billiards_ods.goods_stock_movements", + "endpoint": "/GoodsStockManage/QueryGoodsOutboundReceipt", + "pk_columns": [ + "sitegoodsstockid" + ], + "records": 59, + "records_with_pk": 59, + "missing": 1, + "missing_samples": [ + { + "sitegoodsstockid": 3076486203688517 + } + ], + "mismatch": 58, + "mismatch_samples": [ + { + "sitegoodsstockid": 3076456554645125, + "content_hash": "ef97564d8333a1eb8ffdd6b89bca2b76eb48fccc4909ec3c3ba4afb213b92c69" + }, + { + "sitegoodsstockid": 3076455369966981, + "content_hash": "40d569ff6fb73fbc8a2f2a77f6122e57472c67ec19476eb9478daa665c2a4c0f" + }, + { + "sitegoodsstockid": 3076455263356293, + "content_hash": "a48b18174754e3fe5f9f10a9f80150b467ce35e05a309538420892cef01cf549" + }, + { + "sitegoodsstockid": 3076454014764485, + "content_hash": "e3913d78cf3c28fba068dcfcb92c5b63467518646caea4db03e8ebfe381f0e26" + }, + { + "sitegoodsstockid": 3076447595152965, + "content_hash": "b418f96e5d07dcd91d62732eb2ecbc4764aef8c60f85854b4477cea13275f587" + }, + { + "sitegoodsstockid": 3076446939153797, + "content_hash": "4cd5c1249221f3483ee136e0da0907eb96add79c867776b5ac2f9eda708a16ea" + }, + { + "sitegoodsstockid": 3076440536663621, + "content_hash": "bd03feb347df46628634c2005e216b178ac6efe2b6c791713b3d11a14897ef97" + }, + { + "sitegoodsstockid": 3076440536827461, + "content_hash": "cfb24b92cf780de669acab39443162aec19adebf979177de21f913036420067a" + }, + { + "sitegoodsstockid": 3076417732625989, + "content_hash": "690c6f9212603f519b90f7209ecbfcb0115300430a22d1e2d226399b702125b7" + }, + { + "sitegoodsstockid": 3076398380140165, + "content_hash": "4d9050af1de4f7be30307c4a39cba5b1eca14fb2d05fa8f3bca3e8acacd4155c" + }, + { + "sitegoodsstockid": 3076390985614981, + "content_hash": "8213f20ff47b606f45d45b1703a5e817518e0cf78d785cf41a75408901b04a00" + }, + { + "sitegoodsstockid": 3076384568919685, + "content_hash": "3d7ba448b1b9d65e6261a78d7183e9371a4e91f0e90ccb71c740b151213893b6" + }, + { + "sitegoodsstockid": 3076383223252421, + "content_hash": "89d3aa0dc11a1da6f58a00071ab758b1ff26fba7faa13d02752eab10648a2163" + }, + { + "sitegoodsstockid": 3076383222760901, + "content_hash": "f4f6e597394e803fb54b523c9a5f871632b30a0d2430c517fadc754edc05407e" + }, + { + "sitegoodsstockid": 3076357106665093, + "content_hash": "c7a7c9c8d973c96025773adcb936dbac1b292dfdaa6b0be5cf96ea5e37552a03" + }, + { + "sitegoodsstockid": 3076351043454341, + "content_hash": "5548dba94877b87f8f4bc88d677f8c8db6573ebe5578034d73d82af9c88e9497" + }, + { + "sitegoodsstockid": 3076349259122117, + "content_hash": "eade59a78619ee6f8f863b6378459f3d9e90c08031700429f852c1f06843988e" + }, + { + "sitegoodsstockid": 3076340841416133, + "content_hash": "a19b51781ab9c1afe744b6dcc5792e18637dd7e5d44d7f37a8e1e88b4418abf3" + }, + { + "sitegoodsstockid": 3076340180928133, + "content_hash": "37a6b1bb217d74f21c39a06c8077c21f28831b0410a683b15ee771479897fd44" + }, + { + "sitegoodsstockid": 3076326442092101, + "content_hash": "ae0303d1eb6a30f0fd9d79458d481a173f010b8071c408fe421ceaea3e70d99d" + }, + { + "sitegoodsstockid": 3076326343247429, + "content_hash": "75e9008ca8899122cd420d74f7ff3024dcded4d41ddd7a4bdfe6293a5f8343ce" + }, + { + "sitegoodsstockid": 3076325019616709, + "content_hash": "4e8f7891efbfa2b2e13a421b5a956486d82a2bb5153b97fdcf9e15452cd843f3" + }, + { + "sitegoodsstockid": 3076325019829701, + "content_hash": "512e96a8a9ffce6a67b43e0f25ef366968fdedd83d0e42694eb6dcc9a003434b" + }, + { + "sitegoodsstockid": 3076325020042693, + "content_hash": "59c665330b147c217085a69af9b8c7a34dae6ff35b0af4c64475e4dbed5d9627" + }, + { + "sitegoodsstockid": 3076300219532869, + "content_hash": "8937cec7d7eb3e7274c6edafb86303f77377528f9c6c55f5ed69896023be18e0" + }, + { + "sitegoodsstockid": 3076266639951493, + "content_hash": "fafd533b5a40122662acaf87855edf2a481e0641d143428d1a9b971d30e23581" + }, + { + "sitegoodsstockid": 3076217121081477, + "content_hash": "8740b528705e3d39345bdf0471f1560302e202ffab4e35e15047aecf14f2ae86" + }, + { + "sitegoodsstockid": 3076217119524997, + "content_hash": "b67e89385e4f55c1b2fbae957ff17ead0027bfea6ac41757e7604be2e921102a" + }, + { + "sitegoodsstockid": 3076217119590533, + "content_hash": "b4b0905c559e78332b5e8339e60e30a8f8baa26b256e553e655f4b182c476585" + }, + { + "sitegoodsstockid": 3076217120704645, + "content_hash": "0450b0ccce1be02885e11ecf9f74e01463604066383792f4337b139eaf4ad552" + }, + { + "sitegoodsstockid": 3076217121032325, + "content_hash": "92b9cb15d51e349232fe70e465801c7cdf4190cbe6d6e51cbff17cb35791359c" + }, + { + "sitegoodsstockid": 3076217120327813, + "content_hash": "d29d2a017aa843fa73534f20bfc3dd10ee0b86d1cc34ff4517ebbc565fc113a6" + }, + { + "sitegoodsstockid": 3076217120655493, + "content_hash": "da59bf0bce94461af9850bc7722db1b36848df5dfb831c175b6a0ac842643749" + }, + { + "sitegoodsstockid": 3076217119885445, + "content_hash": "1945b61d650f5a2468824b61db57017d12a696ec16ffe4b1650fd8ac5e781a6e" + }, + { + "sitegoodsstockid": 3076217119950981, + "content_hash": "04f4c7d09c5c69d2fa7d7b63c35af67a0e230eaad44c24ed636e6725fa30288b" + }, + { + "sitegoodsstockid": 3076217120278661, + "content_hash": "edc843b1aebd2242a541aa038fa8a72e3545e6d42ad3002257e9a3a19eb30cc5" + }, + { + "sitegoodsstockid": 3076162837710213, + "content_hash": "ea7f2fc63936971c431dc04c93fc514d09a8bdc8ae37f47e45add6acd256f5e0" + }, + { + "sitegoodsstockid": 3076150442412165, + "content_hash": "68b99472e9484fda05bf0daa322359a5d8c6876025a8488b95e6e70acee9079f" + }, + { + "sitegoodsstockid": 3076150442477701, + "content_hash": "1328c2b444a895118b82c4487c19539d558ae8e2f1feaad32503cf4f0f02eb64" + }, + { + "sitegoodsstockid": 3075750835209797, + "content_hash": "11f0df1cd9afece228cc5449afdbc1eef76814d157e6a4c954c29aaa346f2d2b" + }, + { + "sitegoodsstockid": 3075749241718213, + "content_hash": "a47c48dfc73d6733cec4b4c809fd87e21ba49a99b9a67e1b4c685d6fab3ccf33" + }, + { + "sitegoodsstockid": 3075748000974277, + "content_hash": "b14bbe34e5897610011e59fab896d25b056bd1397461b763fbdb18e1333d97a5" + }, + { + "sitegoodsstockid": 3075717748458885, + "content_hash": "54b6bfbbca1bc714935e556bc81f40b46fceb765defc00159582b2429d1d6d1b" + }, + { + "sitegoodsstockid": 3075706092488069, + "content_hash": "3af4e111f425685fd4ad597fc02db0c89dbe458ef4d3551ff795a78f4d7d4ef5" + }, + { + "sitegoodsstockid": 3075657044182597, + "content_hash": "65dcfa8daa202b7e6c4fba14a6efa4c5b485dfc77b90d88ca097854f14b262e5" + }, + { + "sitegoodsstockid": 3075634420319685, + "content_hash": "05d490f027fd3110584e21d2b32c92a06ddd9ca5fe7e5e680da32b80e583f8ef" + }, + { + "sitegoodsstockid": 3075594750592581, + "content_hash": "41ab245708a212b0be95895773b6b9e31b1ef706c1fa39d59625c69dab0344d8" + }, + { + "sitegoodsstockid": 3075557331879301, + "content_hash": "1787060a35ff2cfef179b7902e020194e19c84d9baadda08392e0927ddfbceb6" + }, + { + "sitegoodsstockid": 3075540442596933, + "content_hash": "6b7c4466603812d9df5017a228e085cde6bdda34036b4281eaa6cd4959a75512" + }, + { + "sitegoodsstockid": 3075538803869125, + "content_hash": "36adbbfc8c6c0fe786d6dd5126501b795cc692d866594ee525b5e40158c3041f" + } + ], + "pages": 2, + "skipped_missing_pk": 0, + "errors": 0, + "error_detail": null, + "compare_content": true, + "content_hash_supported": true + }, + { + "task_code": "ODS_TABLES", + "table": "billiards_ods.site_tables_master", + "endpoint": "/Table/GetSiteTables", + "pk_columns": [ + "id" + ], + "records": 74, + "records_with_pk": 74, + "missing": 0, + "missing_samples": [], + "mismatch": 41, + "mismatch_samples": [ + { + "id": 2791964216463493, + "content_hash": "798abffe81d3ff3e514eb606f2e8b292d46a6fcebf98ac6eb1d51f6e67af2260" + }, + { + "id": 2792521437958213, + "content_hash": "62927c1a91bbef4333cf91064a95011ff00d2fc601bc2d2e160abc28e92bbe8b" + }, + { + "id": 2793001695301765, + "content_hash": "6dd8492f5abd3aed66869de9ca4c2c9265519f09e43f1720a3b0fb3e9c73e528" + }, + { + "id": 2793001904918661, + "content_hash": "5430f6872f000f78eaa2fe395a9c556162718e4e8a6df05c199dc49bfbc35c66" + }, + { + "id": 2793002509209733, + "content_hash": "a12a1cd0ae526aceb643d542c91e339a07a280c9156c0aa2092c65f3580ebaac" + }, + { + "id": 2793002673295493, + "content_hash": "a60520ff46c38dadcf32b05c3cb487553a291b65643c8afc36ec9a0c4c93d782" + }, + { + "id": 2793002808987781, + "content_hash": "0e78c070cbf71da53e6cfaa40ae5fa41356ad636c453edb95ef4acc744e0e578" + }, + { + "id": 2793002896494725, + "content_hash": "5b9657ea3f13a518d1710802599fb530ea046c1a754da5960865f397e7ec949b" + }, + { + "id": 2793002980429893, + "content_hash": "afeb686d97551c6a7404e8c15ad53ff5b9480d89d9a1549ec402244e985fd78d" + }, + { + "id": 2793003066429509, + "content_hash": "23332f21838d8955f8c962ca6e6c9d9e7b58c2874b15513a8f6dc10566fbfdd0" + }, + { + "id": 2793003159474245, + "content_hash": "36d8b792cc907deb28c23450728490622cee19371ae45cecc60307aeff29c311" + }, + { + "id": 2793003323740229, + "content_hash": "189ee930a4aec5b511d9dbe7893b10909e9f425137a732f3dd93cdeeb48e74f6" + }, + { + "id": 2793003420504133, + "content_hash": "3b56281f0b721147abc3c5ea0aeab4cfdc76849636f349afcc8db503116956b3" + }, + { + "id": 2793003506815045, + "content_hash": "89b084ff893fe901917ca842570f11cb2afc42b74f1302c3fde4d805d45f2bd3" + }, + { + "id": 2793003618340933, + "content_hash": "07f6081e7397a717d503bc8f62ff5510e43319b4d1f438ec5039c291df313294" + }, + { + "id": 2793003705192517, + "content_hash": "2868a7649dd64e4c23bee13ce610f47c56995a6db0249a038d33900431e3adf9" + }, + { + "id": 2793003806953541, + "content_hash": "6d22943229f67af449b18467e94c0f28da861249e09810e22439da3e5dea6a76" + }, + { + "id": 2793010820304965, + "content_hash": "2dd68ea2b05869154d769ebce1da1aa450655cb69bb4a62bb07aa1e0e29aa750" + }, + { + "id": 2793012902121605, + "content_hash": "37ccfb545e97e145c61752a916e9328237e101bcb987d144a493c6df31f47fad" + }, + { + "id": 2793012902154373, + "content_hash": "f73990a3829a47a7b0b519d8daca7dedcbb2d4dd9f720ecf941fa8936875dad8" + }, + { + "id": 2793012902203525, + "content_hash": "906605fe532a5859ddb9ab9a8ee5961fb044815f7c1824d27108301bb3da6bf1" + }, + { + "id": 2793012902236293, + "content_hash": "c94854f3774cf015f2a1c8964e930e341a0ac831bceb5d0776ce046f2b131db1" + }, + { + "id": 2793012902285445, + "content_hash": "5733820c42a0a0978f31e1a3c851e17a5250e748d809b3ef809de701774b02f9" + }, + { + "id": 2793012902318213, + "content_hash": "21c2af08893e056b560c3895cb23b1c8b4a4f923bd2c187bfee55a896921c615" + }, + { + "id": 2793012902367365, + "content_hash": "b65da8fd02ea8e87629e07c4613428f9bfac7677f683e82e69915df391e2c7ce" + }, + { + "id": 2793012902563973, + "content_hash": "c4a4d065f4b840bb1e48399f50cf26f47a7d16dbe6d84d22ca400406463bb088" + }, + { + "id": 2793016660660357, + "content_hash": "4f62704d8b471a204de94db3b50d68a64e8e7352a9fd9c074e238be469148d53" + }, + { + "id": 2793017278533765, + "content_hash": "6da25c33731be6ed0964c76ad91a0862919ed404f7e4897b7301f012f331d08d" + }, + { + "id": 2793018776604805, + "content_hash": "daad7f15a2f8a8a2ca2a974adda904f4c5ce84f1ac635884031b9ad542963b15" + }, + { + "id": 2793018776653957, + "content_hash": "c472544548b0de3230b4f9a4339b5e46f7d3912bf736beb0dcf924d804024ea3" + }, + { + "id": 2793018776735877, + "content_hash": "f45abe15cbc9005199e33de4f0789640754e82ce3f64202ed423f0698fa681da" + }, + { + "id": 2793020259897413, + "content_hash": "e37060783fb9d6cff3ec22944ed32331485ac68f5133be2c5eb27bf8b4accd86" + }, + { + "id": 2793020259946565, + "content_hash": "625114f7ff546725806b2208269ff67b92706a1101a1501f363bb44ecdfb85d7" + }, + { + "id": 2793020259995717, + "content_hash": "14c35bc47f7ba4039c3b0782fcbacb9c2b7c184e5eb04d037cbf9bffca3f2c6e" + }, + { + "id": 2793020260044869, + "content_hash": "edf6a69cba38adaeed8c159451e9788523d551bc48f3042a52d81ac6d9ff3757" + }, + { + "id": 2793023960551493, + "content_hash": "14f8de795d882d329836b29aa2a872ec7fedd1b7e04929bdffc83e1882d348b8" + }, + { + "id": 2793023960633413, + "content_hash": "bda679b1088c6221a9a28918abe792bc35cec68a8940ba81c2e94e4ac23def14" + }, + { + "id": 2851642813353477, + "content_hash": "3bc41f13d492ea51ab6e303bbb1efd076ad093db626b949e9b40fb26ea9d36cf" + }, + { + "id": 2942056832061125, + "content_hash": "2a6ac9f860de84808d531662b6df10f4e63c5ec437d7639d3020d04486713d20" + }, + { + "id": 2956247996190021, + "content_hash": "5703f784ef1f4f62b641a16088c4ee137b51ca34a67a840fbc5e1686b2828486" + }, + { + "id": 2793022145302597, + "content_hash": "d10b11ab1540af23042e09a8522549782457adb52faf15e93c7530d5db1b37b6" + } + ], + "pages": 1, + "skipped_missing_pk": 0, + "errors": 0, + "error_detail": null, + "compare_content": true, + "content_hash_supported": true + }, + { + "task_code": "ODS_GOODS_CATEGORY", + "table": "billiards_ods.stock_goods_category_tree", + "endpoint": "/TenantGoodsCategory/QueryPrimarySecondaryCategory", + "pk_columns": [ + "id" + ], + "records": 9, + "records_with_pk": 9, + "missing": 0, + "missing_samples": [], + "mismatch": 0, + "mismatch_samples": [], + "pages": 1, + "skipped_missing_pk": 0, + "errors": 0, + "error_detail": null, + "compare_content": true, + "content_hash_supported": true + }, + { + "task_code": "ODS_STORE_GOODS", + "table": "billiards_ods.store_goods_master", + "endpoint": "/TenantGoods/GetGoodsInventoryList", + "pk_columns": [ + "id" + ], + "records": 172, + "records_with_pk": 172, + "missing": 0, + "missing_samples": [], + "mismatch": 77, + "mismatch_samples": [ + { + "id": 2793025844727877, + "content_hash": "025c15fc5ba35889ad8c54edfe0fd8272d3eba447aa3bc68c0e3f6ae4f2c6739" + }, + { + "id": 2793025849102405, + "content_hash": "7b4c99882ec640b7c14f644c5796baa78e51d17cfb128df119c65bed03e3e44a" + }, + { + "id": 2793025845825605, + "content_hash": "35d9404c0feb349f74ee2edfd34cce9f62580b6205708645216f1c6936a0411e" + }, + { + "id": 2793025849593925, + "content_hash": "de9ace648df358433e40a49a932f729a8dcc5b9e497b331c4a15117f88367f63" + }, + { + "id": 2794695800934533, + "content_hash": "5d10ff95587dec237e457e8e938b7f6adf82a30970b7511eac835803b37d8eae" + }, + { + "id": 2794695801409669, + "content_hash": "5cd60a5a938e8a79604bdc944bf5c7588feab2540e56a71b8857928c14b3c01f" + }, + { + "id": 2794695801589893, + "content_hash": "608833b54c8d113b32b5afd6c9bcdde24ab435617e6fbf3d36c09f0d190b820e" + }, + { + "id": 2794695801753733, + "content_hash": "e21c0a32720309425119907f303519f1b0334a8061dcb0c75ffed2b182a91195" + }, + { + "id": 2794695801917573, + "content_hash": "3d9c60f344a1f12a4702a8a2c0538625fc9a5696cb790f8e98b47624e91d7b3d" + }, + { + "id": 2828836772432837, + "content_hash": "6a0d7318cd212782aa97d931dff6dd8c043721138ad8b394a641cdc951d90818" + }, + { + "id": 2878393200266693, + "content_hash": "cf76b0f7fabfc95d747f427e1a49d0aa82532a777e25486091cf987f9fe1c4ee" + }, + { + "id": 2959253027243589, + "content_hash": "9045dd7a4ee4a1b0441ffca7055859b72ce8c279c8a6fb58348a4d9ee29ecb69" + }, + { + "id": 2793025860145221, + "content_hash": "ae10b2893d02e3301f3cc7b86f465fb80f9786e859c04a55671745360a94bce0" + }, + { + "id": 2793025861128261, + "content_hash": "20c1d19ef2949a4351e068e9f8dcc261d81a9ae2a5661d4cf4f5b920953c8c74" + }, + { + "id": 2793025861308485, + "content_hash": "085e626bfebfc7f28b0559d9248e6c36900032945c8ab785824c8a188440a250" + }, + { + "id": 2793025861505093, + "content_hash": "db44806d13c8115c57351be0dfd4fd8eaea8f1ecfa7fb716c7fc2ae0394bcd6d" + }, + { + "id": 2793025861685317, + "content_hash": "452feb1a8a04a8e2ff0ca8c94348d6f81abfd1757dd45f2f0a909f55466923d7" + }, + { + "id": 2793025862438981, + "content_hash": "e90e7eee5636b796d3a92ba4623cd12d8429b54c3c9f857a0221b2b82854718f" + }, + { + "id": 2793025862963269, + "content_hash": "61a6f16b5f233b310a36d8449c52f5e92be2da84fba78dd63fbf4eec26f4a85d" + }, + { + "id": 2793025863127109, + "content_hash": "6f88fadde353aad71c78c4ed439641ea53a4a1560e5de06610956ce1e4c26c02" + }, + { + "id": 2793025863290949, + "content_hash": "b48f9af3a106c1eee3c6706ed46d444fc4144655499f2cd4a5930eeeac389758" + }, + { + "id": 2793025845399621, + "content_hash": "735b87c358892e1df55c8a411d8904b2a79c71af0a4bfeec2c983d3a2a634c2b" + }, + { + "id": 2793025846464581, + "content_hash": "7d057dc5054841a361ebc6dbf6a898597d4b6b2592e2493c2db801725a3e09b7" + }, + { + "id": 2793025847595077, + "content_hash": "e3cfe6fb5e843e7e212028bd87832ad23135673303ebc4a1edf49fa93452fd5e" + }, + { + "id": 2793025848102981, + "content_hash": "688fe9044c896e280828fa763769b22cb74ba19d96e6252741a2d9320590f244" + }, + { + "id": 2793025850576965, + "content_hash": "11b468c595981b93d0d79b1d75cb9da028b31b94c94e707ca97276fbcb8e3395" + }, + { + "id": 2793026186891333, + "content_hash": "aed2ab2803b0e10cc55005b28dc67be1c68869555c905bf93c36909d8b8a4453" + }, + { + "id": 2793026187071557, + "content_hash": "12229f7ee3163c7f884d246b5af3a65c51e63c84379a47e6239522937fe48b12" + }, + { + "id": 2793026187235397, + "content_hash": "f4c32ff0835c00eff54d001e0dbddc059a6fd448ef6d97698446f113ceb45b5c" + }, + { + "id": 2793026187563077, + "content_hash": "f63b71a3c744a6c70f9a9beef419a3a7ecd47a494cb2ad45b72b3e97ea48448d" + }, + { + "id": 2793026187726917, + "content_hash": "78ddc37419b11c5458a3c0a14fc1434ebf79f715ea20231880c02e887fda20b8" + }, + { + "id": 2793026188415045, + "content_hash": "ce0e2a6573c9d5a414ef36d961d956489f4bf9df880ed98d37e75ea9751234b0" + }, + { + "id": 2793026188578885, + "content_hash": "e4520dbe6bd5ae58886dd51cd7fe67f599a20d5821063786156f9b30342959f8" + }, + { + "id": 2793026432585861, + "content_hash": "0bddcdfbc6e2d04dcb6fd4c9e5c0d448344f6b5a3a1167405f2b71f4de69d861" + }, + { + "id": 2793026432733317, + "content_hash": "eae280edf9908ccaf9aefa5d7e8027738a96454bbc7f40f6b493bd6c7b7b058c" + }, + { + "id": 2793026432913541, + "content_hash": "efffb9a0f31a45dfebb54ce10146fa552b4a396aaee517f11ca469b2c524e41e" + }, + { + "id": 2793026433405061, + "content_hash": "43005b4cadb9922d3452acc45884d640fad03433b37d11297e711acfca3928af" + }, + { + "id": 2793026433568901, + "content_hash": "c38eb2a7c8fc44ab76d1356bd58886d5e640a0f7db569f267b5e546593c411b1" + }, + { + "id": 2793026434568325, + "content_hash": "a19e18fe007a2c224c44bbeb0c1c63c70b04bb7ce9dd87029e7d7c853831e395" + }, + { + "id": 2793026434715781, + "content_hash": "5879bebdb60079ebc45dcd543090513a53c0611e98605ce183699b067bb5a1c3" + }, + { + "id": 2793026434863237, + "content_hash": "a43873e4d27e6ad726f22a89d6c1616ac6895bc33b99149c68050dee959a3c1e" + }, + { + "id": 2793026435027077, + "content_hash": "71f740c7868e83c0b91701c444598c36de2ed37b9af8e07709bd1b4c5db40db5" + }, + { + "id": 2804514498563141, + "content_hash": "914f9ff9062991b93355592deadbd1d33aa9c8ba2dc2c2d899cdd8686192770a" + }, + { + "id": 2823321361894405, + "content_hash": "6f2c37209dfe93862defa5d226f241e189adbe36e2b7816da50bd8fbd73ed5d9" + }, + { + "id": 2826003636177861, + "content_hash": "ec78c0358b9ee6a938910fae81bac18a2c7e59b77408209728cdd2be829c7361" + }, + { + "id": 2834064312256837, + "content_hash": "84e8dd7d9388bb1270d5202c612fdecb928f3096f1312fbd073c3dc3686dfdea" + }, + { + "id": 2966339994143941, + "content_hash": "fc773234160363b1164cf2118cd5e438e1a3b9b7737a16e8e8ee16722bd6b4f7" + }, + { + "id": 3073782716778501, + "content_hash": "ec7d370fa90751e55b3d13a08e3ddf3342e901b9484648e72be01a4a31e6ff88" + }, + { + "id": 2793026185154629, + "content_hash": "bb5d66cc55023b1b6ad1f582803f9d9bd631e10a0c644038c65b8833221f6bb0" + }, + { + "id": 2793026186563653, + "content_hash": "2e243bb0dc2db30a6d5d18d489ee059ee7adfb47f066823b02017381d114dac4" + } + ], + "pages": 1, + "skipped_missing_pk": 0, + "errors": 0, + "error_detail": null, + "compare_content": true, + "content_hash_supported": true + }, + { + "task_code": "ODS_TABLE_FEE_DISCOUNT", + "table": "billiards_ods.table_fee_discount_records", + "endpoint": "/Site/GetTaiFeeAdjustList", + "pk_columns": [ + "id" + ], + "records": 1777, + "records_with_pk": 1777, + "missing": 0, + "missing_samples": [], + "mismatch": 16, + "mismatch_samples": [ + { + "id": 3076479298274949, + "content_hash": "0c33327ca56dbcdb3452cddbedaa345de5624e1d39b0282045134bead3fdf5bd" + }, + { + "id": 3076456429356677, + "content_hash": "8a97168787f45bd49687465a23efa4f56fb2142f35ee1336f715339d1be9e1fd" + }, + { + "id": 3076455565591941, + "content_hash": "0200a428169a577407afd444f545a0467a7ab2b354b07ee162b5530c153e0157" + }, + { + "id": 3076454348965253, + "content_hash": "8058a654a375b02808741983def691afa24f32e4be38590999cd202b546a2848" + }, + { + "id": 3076324808672901, + "content_hash": "001b0cced124147a61675cbc0d5c316a0ed64c18da4b328036d2f00b2c347799" + }, + { + "id": 3075796678313413, + "content_hash": "0978f5b5d6cb09d84c5cdf1259a1803171089751ca7e61e9b88ab9f7ccd0f56a" + }, + { + "id": 3075750062818757, + "content_hash": "6a983f0bf24627613fd375a9ff686cd53d7fcfb4f73d973dd8ee427a3c17fa98" + }, + { + "id": 3075626779002309, + "content_hash": "5f1b0e315ab0654f17734b3b54936bd501ad454b66c3da661fb18b4891f4c54e" + }, + { + "id": 3075502544193157, + "content_hash": "39a0960cd987ec2b23e5581abc35c4317938c6220d93b622406c1414e521e603" + }, + { + "id": 3075502544144005, + "content_hash": "598e107a83f47df4516402058c73ffadc3885e3e19abd7932b8d91f4d1fcb9e4" + }, + { + "id": 3075502544225925, + "content_hash": "3dcf8130a04a486f83c3918ef6247b629671f5cc7f491131913d8363cd3e47f3" + }, + { + "id": 3075502544111237, + "content_hash": "4bd1cb4bf649c09a65f22db9a715205d848ea7d96d86b3454bab316020ffecc5" + }, + { + "id": 3075473006429765, + "content_hash": "e30bd3bfac13e2213fd9445a7fbc0d6a0f8d64fc139ca69d55f9d6ef98319b35" + }, + { + "id": 3075473006380613, + "content_hash": "ae191823a826cc4689218a5f54014931e3ac2be1b33cd6384348dbfcbc2f9a9d" + }, + { + "id": 3075443238110661, + "content_hash": "494fa014b724e7b120a74d7dacadd3a4c107df4ead17df2c9dda2090f174cb32" + }, + { + "id": 3075437388203397, + "content_hash": "15660e4abbcd3a51881d3145ea2cb794c569c98d79323188af8136e817797ce5" + } + ], + "pages": 9, + "skipped_missing_pk": 0, + "errors": 0, + "error_detail": null, + "compare_content": true, + "content_hash_supported": true + }, + { + "task_code": "ODS_TENANT_GOODS", + "table": "billiards_ods.tenant_goods_master", + "endpoint": "/TenantGoods/QueryTenantGoods", + "pk_columns": [ + "id" + ], + "records": 173, + "records_with_pk": 173, + "missing": 0, + "missing_samples": [], + "mismatch": 0, + "mismatch_samples": [], + "pages": 1, + "skipped_missing_pk": 0, + "errors": 0, + "error_detail": null, + "compare_content": true, + "content_hash_supported": true + }, + { + "task_code": "ODS_SETTLEMENT_TICKET", + "table": "billiards_ods.settlement_ticket_details", + "endpoint": "/Order/GetOrderSettleTicketNew", + "pk_columns": [ + "ordersettleid" + ], + "records": 70, + "records_with_pk": 0, + "missing": 0, + "missing_samples": [], + "mismatch": 0, + "mismatch_samples": [], + "pages": 2, + "skipped_missing_pk": 70, + "errors": 0, + "error_detail": null, + "source_endpoint": "/PayLog/GetPayLogListPage" + } + ], + "total_missing": 28, + "total_mismatch": 576, + "total_errors": 0, + "generated_at": "2026-02-01T17:50:32.183979+08:00" + }, + "ods_to_dwd": { + "tables": [ + { + "dwd_table": "billiards_dwd.dim_site", + "ods_table": "billiards_ods.table_fee_transactions", + "windowed": false, + "window_col": null, + "count": { + "dwd": 1, + "ods": 19021, + "diff": -19020 + }, + "amounts": [], + "mismatch": 0, + "mismatch_samples": [], + "mismatch_error": null + }, + { + "dwd_table": "billiards_dwd.dim_site_ex", + "ods_table": "billiards_ods.table_fee_transactions", + "windowed": true, + "window_col": "create_time", + "count": { + "dwd": 0, + "ods": 56, + "diff": -56 + }, + "amounts": [], + "mismatch": 0, + "mismatch_samples": [], + "mismatch_error": null + }, + { + "dwd_table": "billiards_dwd.dim_table", + "ods_table": "billiards_ods.site_tables_master", + "windowed": false, + "window_col": null, + "count": { + "dwd": 74, + "ods": 74, + "diff": 0 + }, + "amounts": [], + "mismatch": 0, + "mismatch_samples": [], + "mismatch_error": null + }, + { + "dwd_table": "billiards_dwd.dim_table_ex", + "ods_table": "billiards_ods.site_tables_master", + "windowed": false, + "window_col": null, + "count": { + "dwd": 74, + "ods": 74, + "diff": 0 + }, + "amounts": [], + "mismatch": 8, + "mismatch_samples": [ + { + "table_id": 2793003506815045, + "ods_hash": "0ff4fc2068ac913e9820c75ea876b619", + "dwd_hash": "6240cc60909451cfe921c6b468006774" + }, + { + "table_id": 2793002980429893, + "ods_hash": "6240cc60909451cfe921c6b468006774", + "dwd_hash": "0ff4fc2068ac913e9820c75ea876b619" + }, + { + "table_id": 2793003420504133, + "ods_hash": "6240cc60909451cfe921c6b468006774", + "dwd_hash": "0ff4fc2068ac913e9820c75ea876b619" + }, + { + "table_id": 2793003806953541, + "ods_hash": "5d8dc26a5ccbf08d3c9fe3617104e37e", + "dwd_hash": "0ff4fc2068ac913e9820c75ea876b619" + }, + { + "table_id": 2793010820304965, + "ods_hash": "5d8dc26a5ccbf08d3c9fe3617104e37e", + "dwd_hash": "0ff4fc2068ac913e9820c75ea876b619" + }, + { + "table_id": 2793012902154373, + "ods_hash": "5d8dc26a5ccbf08d3c9fe3617104e37e", + "dwd_hash": "0ff4fc2068ac913e9820c75ea876b619" + }, + { + "table_id": 2793018776653957, + "ods_hash": "6240cc60909451cfe921c6b468006774", + "dwd_hash": "0ff4fc2068ac913e9820c75ea876b619" + }, + { + "table_id": 2793018776735877, + "ods_hash": "6240cc60909451cfe921c6b468006774", + "dwd_hash": "0ff4fc2068ac913e9820c75ea876b619" + } + ], + "mismatch_error": null + }, + { + "dwd_table": "billiards_dwd.dim_assistant", + "ods_table": "billiards_ods.assistant_accounts_master", + "windowed": false, + "window_col": null, + "count": { + "dwd": 69, + "ods": 69, + "diff": 0 + }, + "amounts": [], + "mismatch": 69, + "mismatch_samples": [ + { + "assistant_id": 2793363001774149, + "ods_hash": "0774ca8ce64facac289eaeced2665034", + "dwd_hash": "f6d8864448ba1fb599f9baa66a2cf495" + }, + { + "assistant_id": 2793530479530053, + "ods_hash": "b72853f7bd5379c11a6c923b6b4f02a7", + "dwd_hash": "508056eb048661b5cfc36eae1db58527" + }, + { + "assistant_id": 2840060593686213, + "ods_hash": "897e25b2be663a99bb5d6d6f3a436b6c", + "dwd_hash": "c64fb8c73af758e82819cb534f27cc9d" + }, + { + "assistant_id": 2861304461364293, + "ods_hash": "18b954a759b6ea861725b62b731eb0c9", + "dwd_hash": "65bb35f9e52597bd968736e61f03fa33" + }, + { + "assistant_id": 2964640248745157, + "ods_hash": "ba9640ac3aa262fef2b730ddb4538ad2", + "dwd_hash": "cc692ee3f2bf82b10ef7ac789258eee2" + }, + { + "assistant_id": 2964673443302213, + "ods_hash": "0743379dda24ca4932a1df62de0cfeef", + "dwd_hash": "c5e933a70847f8ba99d80747b371a15a" + }, + { + "assistant_id": 2793361915547781, + "ods_hash": "5c302727440ded26a2de5c150cc8755e", + "dwd_hash": "1f39ea835f82b35fe46b54d8abad1e32" + }, + { + "assistant_id": 2793399247179845, + "ods_hash": "28a6f80d94b35b7d0d10accad9a24070", + "dwd_hash": "e4cb6dce1ad4f402f8e6a25a97bc3f3f" + }, + { + "assistant_id": 2793405307342917, + "ods_hash": "a59f29e8c9f2e27010779b15188e4c34", + "dwd_hash": "ef6a9378856e1a987245c9d276f62baa" + }, + { + "assistant_id": 2793483330310277, + "ods_hash": "22ce4607fdade4c2f5dabf9640330d2b", + "dwd_hash": "878e34457a90d3fe31c2e8857920c0f4" + }, + { + "assistant_id": 2793486361710725, + "ods_hash": "2544e7151fe4368711ce2dac7850a3f7", + "dwd_hash": "46771ee14eb0f8fb963a239af477a27c" + }, + { + "assistant_id": 2793489356673157, + "ods_hash": "effe5320db4e88983fffb2d99d53a869", + "dwd_hash": "99c7223bc77a611115e0463a65b23fa5" + }, + { + "assistant_id": 2793500999454853, + "ods_hash": "5cd6afb8d2ac80f81fb493a36bc49e3f", + "dwd_hash": "51c04508c55ace4af09a5bd11921acfe" + }, + { + "assistant_id": 2793510666670149, + "ods_hash": "092a43ae9113baa65b4d896cdd8c8859", + "dwd_hash": "40be9aba0ee8054280e698c1aad8c296" + }, + { + "assistant_id": 2793526116896837, + "ods_hash": "1b8de968fcd76c4de760a4f9a81bba5d", + "dwd_hash": "a694385bc00cf16ed52b95d5586e61cb" + }, + { + "assistant_id": 2793528386048069, + "ods_hash": "37629dadea6113295a52ea063820299f", + "dwd_hash": "4e1293a1ec5e2452582d61c1f917083f" + }, + { + "assistant_id": 2793537168429125, + "ods_hash": "b9c78d8deb8f39b88d9597fe8c14ad2f", + "dwd_hash": "20a7aad6397cf06d16dbfe025c18cdac" + }, + { + "assistant_id": 2793604629450885, + "ods_hash": "331ba0cd8b750748a8b2078a4e98bb99", + "dwd_hash": "36f5cbe91eb7e3b1092ad9cd9461cdcb" + }, + { + "assistant_id": 2795061580517445, + "ods_hash": "e3ef3b54f568c379d9b2a4ebf916a030", + "dwd_hash": "8dbbd1f0022bd367f3491bc3220833ce" + }, + { + "assistant_id": 2799129430166597, + "ods_hash": "9a606e08948f45653900127b0d343521", + "dwd_hash": "e4b1fe7fa1b2174712d8d38c293a8271" + }, + { + "assistant_id": 2799135415192645, + "ods_hash": "3cf5a2cb5452534977c31d5a4c67e281", + "dwd_hash": "b325087f437bf6d21452e671331d9251" + }, + { + "assistant_id": 2800501459422085, + "ods_hash": "3b124aab8fb661d414fccc44267280c2", + "dwd_hash": "2321e2249da6701cd77a94af01c49722" + }, + { + "assistant_id": 2806132026100805, + "ods_hash": "ab53be44fd04fa2387fbf879b2b953f3", + "dwd_hash": "65803bd3dabaf5a88413d82961e7ec71" + }, + { + "assistant_id": 2807673321458757, + "ods_hash": "417a62f37b6f8a2644168741594f9b2a", + "dwd_hash": "636fed91f00255e082546d54e0092769" + }, + { + "assistant_id": 2808873057863749, + "ods_hash": "a8c185c9e30a2557925303454c4e40d8", + "dwd_hash": "b142f3abd44d3783602bcc302dde5c76" + }, + { + "assistant_id": 2815977780611909, + "ods_hash": "694213a255dfc91a568fe33bd26ed386", + "dwd_hash": "efecd21f9aaeb0510c4f2ee5b0f0a7d5" + }, + { + "assistant_id": 2815988587039749, + "ods_hash": "d9a887971b1baf2d76180fbb6eeeb968", + "dwd_hash": "b871b145f5a43c920c7980c53f7019c4" + }, + { + "assistant_id": 2834411250190470, + "ods_hash": "4c8fc9124bd1720ee0e635e91b03a1c5", + "dwd_hash": "6b784f97a5be674b54465f4b10e4c1a4" + }, + { + "assistant_id": 2840752795895493, + "ods_hash": "2ba1ddcb410f8ab07079a450987cc8a8", + "dwd_hash": "5722af676192fcab9f2579d3d49d250a" + }, + { + "assistant_id": 2841614135707141, + "ods_hash": "77b38aa6856634ce28a9958f5fc629ba", + "dwd_hash": "48d19c83f979deaecd7db81f383227d6" + }, + { + "assistant_id": 2851377027190277, + "ods_hash": "5b422ea52752d3fd6a4e2fbf5b28022d", + "dwd_hash": "85f68b929c4e191949236f2d99c96a2c" + }, + { + "assistant_id": 2859776051579717, + "ods_hash": "6d501f18b24e10689944b9571fa89faf", + "dwd_hash": "c8e49420444596baf311a6e41f2d0e4d" + }, + { + "assistant_id": 2859778261961541, + "ods_hash": "fe0bde9a593eecb27c30c1cb22eb3528", + "dwd_hash": "4cff61d22071f0f1e2c1490a35409449" + }, + { + "assistant_id": 2859802158598981, + "ods_hash": "f5ce6538853056ce811de41ae18afc9a", + "dwd_hash": "bef7eb0edf23cd9bb8e2ea21a7b43370" + }, + { + "assistant_id": 2859886363986821, + "ods_hash": "51c3b0c7be0acf5d2e6680a6aee0dd84", + "dwd_hash": "61cf43bfb44ff0f9e0654828d6254fb9" + }, + { + "assistant_id": 2861303933570181, + "ods_hash": "1736877ede262e22d071f6b85c3e105f", + "dwd_hash": "cca5ac84d2e3aba3524207f31e76c6a3" + }, + { + "assistant_id": 2793493699088517, + "ods_hash": "9d6ec799b265a92c05433610389e4f9b", + "dwd_hash": "aff94d5090ceddd70c49b58af5ff8832" + }, + { + "assistant_id": 2793532503855173, + "ods_hash": "23fa5b04b22e82d9a25ca9c8ec24714f", + "dwd_hash": "1268af1c1701e66cf9cbef4691920f3d" + }, + { + "assistant_id": 2862632135689606, + "ods_hash": "920ac07c373ca0b0a9694982a6192484", + "dwd_hash": "d7e3cb9d102c0334222daf466a6103f6" + }, + { + "assistant_id": 2866961022749829, + "ods_hash": "1ec6e8b801a1729cbc98019faab3b05b", + "dwd_hash": "36d84fe114014da5529fad55e93d29ea" + }, + { + "assistant_id": 2866962315594885, + "ods_hash": "338b3292ea9fe1657d2a88a885ce4aa8", + "dwd_hash": "9f1451483dff68780def3977cc3dda34" + }, + { + "assistant_id": 2866964303400005, + "ods_hash": "0b8f7f2481c59e12c069b06d75354d8b", + "dwd_hash": "04b3015a92957bb092d09965ea7740a3" + }, + { + "assistant_id": 2889708249270149, + "ods_hash": "1ce7281bf6d351137596fd9ce6cdb2b2", + "dwd_hash": "0f6246df879c9ffae45e50920ae0ad2d" + }, + { + "assistant_id": 2907961535433285, + "ods_hash": "24dc2043187ae584b80a09490afb447d", + "dwd_hash": "85d62fdc4d7ac44e8bd98e0430dc4c00" + }, + { + "assistant_id": 2907972756342981, + "ods_hash": "1b1930f9b45b94559e1867ee8a6e7aca", + "dwd_hash": "afd886b857619537412bb5a8a5ccfc95" + }, + { + "assistant_id": 2920786464294661, + "ods_hash": "9b5a067b99fefef3b152162936cf4f11", + "dwd_hash": "a9c7ebfe758ef0ab8abf49d0de882244" + }, + { + "assistant_id": 2920799537645381, + "ods_hash": "538f318f7813907ae1a33294e2487992", + "dwd_hash": "73b58837794adbfc48e0ba41cf554a39" + }, + { + "assistant_id": 2929246850797189, + "ods_hash": "a8b3a8679af796a2a15adba5784e300b", + "dwd_hash": "a7714b7b588e7d39104e43dfc9deb29f" + }, + { + "assistant_id": 2946261384596293, + "ods_hash": "9296d50103cf8aad5c32ca349ea12d26", + "dwd_hash": "d34d0c6e77656627c9dc7597db5849f8" + }, + { + "assistant_id": 2946266869435205, + "ods_hash": "55a51a3258f7cc7a8654b9bcf9845791", + "dwd_hash": "5f78fc19dc1776eca0b494d6cb44cc9d" + } + ], + "mismatch_error": null + }, + { + "dwd_table": "billiards_dwd.dim_assistant_ex", + "ods_table": "billiards_ods.assistant_accounts_master", + "windowed": true, + "window_col": "create_time", + "count": { + "dwd": 0, + "ods": 0, + "diff": 0 + }, + "amounts": [], + "mismatch": 0, + "mismatch_samples": [], + "mismatch_error": null + }, + { + "dwd_table": "billiards_dwd.dim_member", + "ods_table": "billiards_ods.member_profiles", + "windowed": true, + "window_col": "create_time", + "count": { + "dwd": 0, + "ods": 0, + "diff": 0 + }, + "amounts": [], + "mismatch": 0, + "mismatch_samples": [], + "mismatch_error": null + }, + { + "dwd_table": "billiards_dwd.dim_member_ex", + "ods_table": "billiards_ods.member_profiles", + "windowed": false, + "window_col": null, + "count": { + "dwd": 556, + "ods": 556, + "diff": 0 + }, + "amounts": [], + "mismatch": 0, + "mismatch_samples": [], + "mismatch_error": null + }, + { + "dwd_table": "billiards_dwd.dim_member_card_account", + "ods_table": "billiards_ods.member_stored_value_cards", + "windowed": false, + "window_col": null, + "count": { + "dwd": 945, + "ods": 945, + "diff": 0 + }, + "amounts": [ + { + "column": "balance", + "dwd_sum": 353475.18, + "ods_sum": 353475.18, + "diff": 0.0 + } + ], + "mismatch": 945, + "mismatch_samples": [ + { + "member_card_id": 2799218552833797, + "ods_hash": "d31265a2b992254be118a8a6db30f029", + "dwd_hash": "897a7448d0e3ccdc3aac3ef8b5e04578" + }, + { + "member_card_id": 2799216572794629, + "ods_hash": "cf4ac78e56d8cbcbd3675cdca4b83ce1", + "dwd_hash": "20b0261573d0ddfdc960d4737976473e" + }, + { + "member_card_id": 2799216912434949, + "ods_hash": "7cafe95c819678165bf120d40a12c053", + "dwd_hash": "a6862b792a900cc9be262d34f55b961d" + }, + { + "member_card_id": 2791994266619781, + "ods_hash": "5c9e465462e983fef41077a8d678f199", + "dwd_hash": "2a893c2976d3292e8989ee51153ada9e" + }, + { + "member_card_id": 2793254697453573, + "ods_hash": "f608c279f05725027d17eb4695e25bde", + "dwd_hash": "4c1a05ccd660ad08f7aaac9938fb2566" + }, + { + "member_card_id": 2793268303710149, + "ods_hash": "8e3375bf269af4b38ea740ca7b30662c", + "dwd_hash": "a59381ba5d86e3caba1aa55c66199dc4" + }, + { + "member_card_id": 2793308329789317, + "ods_hash": "7a3d49bbab03504805715df1c13cdbca", + "dwd_hash": "bc34ad51397bd472ce313441f3b890f5" + }, + { + "member_card_id": 2799215867168517, + "ods_hash": "1542c0d61d8d12da447ee71cc1858420", + "dwd_hash": "a1c8d5e718a342bda888bd3a6192caa7" + }, + { + "member_card_id": 2799215872657157, + "ods_hash": "b4eefa77ba80b5820813e92e73ef7893", + "dwd_hash": "14ffd3026a9bddd1da62545b05e5efa3" + }, + { + "member_card_id": 2799215877195525, + "ods_hash": "98749b317f63de55938404ad221dcf47", + "dwd_hash": "5a0d0b98207bc68df42f3c1d370b4e8b" + }, + { + "member_card_id": 2799215882176261, + "ods_hash": "9eba7639809ebe9bd2888127c98f5c5a", + "dwd_hash": "d18b3078f547faeecd17e5da82c2afb3" + }, + { + "member_card_id": 2799215886796549, + "ods_hash": "664cf538788e802a229fc644efd78cce", + "dwd_hash": "3433321f2473561edf3b76d71412ce01" + }, + { + "member_card_id": 2799215892219653, + "ods_hash": "1511b76a3b0461365f1db765035eb143", + "dwd_hash": "c30556d52f5d9e7d142b4cc09b61c3c3" + }, + { + "member_card_id": 2799215897331461, + "ods_hash": "e4695f9e61975fb1141598a9f5fc2f5c", + "dwd_hash": "c607c57b0a0d59c7287df2df223f6b4d" + }, + { + "member_card_id": 2799215901869829, + "ods_hash": "45503c3e1ce78c9342779ca2140d0432", + "dwd_hash": "886a1f7b5da597c376dc14f6b250682d" + }, + { + "member_card_id": 2799215906440965, + "ods_hash": "dcfd7d61d7dd044dd684d9db1c8e7f42", + "dwd_hash": "49bb1f415848a7f3ccc16950f6736771" + }, + { + "member_card_id": 2799215912814341, + "ods_hash": "70c617a82007f22a36b64c99e08acff2", + "dwd_hash": "f386b08dca2f0f971bc29638308f3973" + }, + { + "member_card_id": 2799215918532357, + "ods_hash": "84bcb9b5138cf46541a2b13ecf30627a", + "dwd_hash": "279fa2bf054d1fc86930b487a8ce3c6e" + }, + { + "member_card_id": 2799215923578629, + "ods_hash": "71b25aa2ede09b45c77e19f8c636c654", + "dwd_hash": "8f39c5651aeef8960dfe6bafb1866360" + }, + { + "member_card_id": 2799215929050885, + "ods_hash": "39b765d742bd857554f0b2fbeb7fd7ac", + "dwd_hash": "438c91bfa71fd6d88277a53d60f929bd" + }, + { + "member_card_id": 2799215934686981, + "ods_hash": "fe37b27e5f5b013b2982a4c1f7656fdd", + "dwd_hash": "fadbbe07a38744520fa994e8b52058f9" + }, + { + "member_card_id": 2799215939651333, + "ods_hash": "297a7662f477c9e851fe27f51b754601", + "dwd_hash": "fbd26151a0f928bcf882a6ac36ff7462" + }, + { + "member_card_id": 2799215946073861, + "ods_hash": "5b38a2f3d58f227ef9b4d4c47669f3a4", + "dwd_hash": "66b4b5426a03ab7fddb9a10c56a00fba" + }, + { + "member_card_id": 2799215950759685, + "ods_hash": "3df3ed6afb42cae5c66024205d690133", + "dwd_hash": "a7a7fcbc1ff9ab9a73bd3921001cd6c2" + }, + { + "member_card_id": 2799215956576005, + "ods_hash": "09ff3ae1019129f1fecc671de7bced2b", + "dwd_hash": "7a54a8e95fccb8cfea7de1fcb3c50c12" + }, + { + "member_card_id": 2799215962556165, + "ods_hash": "dd4141c9a2a7fb65079c8a9a2623eaf6", + "dwd_hash": "2e97352c24e4377acdc08d00c2097536" + }, + { + "member_card_id": 2799215967487749, + "ods_hash": "a12e27d41c6e7518eff8099fcc304121", + "dwd_hash": "6842992a54c00a2ac838147280542c8d" + }, + { + "member_card_id": 2799215973451525, + "ods_hash": "cbab621e654b452974c48c5933fcd1a5", + "dwd_hash": "e9b05a7f7944155ff3534ec2adc0ac61" + }, + { + "member_card_id": 2799215978317573, + "ods_hash": "a4360dfb6e9a253ee17cb62899f69be4", + "dwd_hash": "f6ca231bb6e71da38d13dbc758c10cc1" + }, + { + "member_card_id": 2799215983609605, + "ods_hash": "1fc450d9e439961aed3ed3aef4da3fd4", + "dwd_hash": "69ad7ce2db0d42c0b9e458ba6f621df8" + }, + { + "member_card_id": 2799215988246277, + "ods_hash": "f39e9236912c630df5c2c0eaaaad9697", + "dwd_hash": "e7c8640d1d3304a95769bc146d6ea899" + }, + { + "member_card_id": 2799215993554693, + "ods_hash": "d4762d678c1c32dc0a7be4c522b955b0", + "dwd_hash": "83572775a1440d554432ebfd2d11d511" + }, + { + "member_card_id": 2799215998420741, + "ods_hash": "ccdb981a3ddf9255401e3e35d2c343fd", + "dwd_hash": "ee3b03f30a976300ba60f518ca0954e7" + }, + { + "member_card_id": 2799216005367557, + "ods_hash": "17b96dd20ba13c4e49b7a265c8523c1a", + "dwd_hash": "3729753a54794d090eb4ff82990dbe1a" + }, + { + "member_card_id": 2799216011511557, + "ods_hash": "33ec23ad6fac7e94d5d58de03c97ee17", + "dwd_hash": "bd6d883c39e2a947f70316a28ea1ce42" + }, + { + "member_card_id": 2799216016361221, + "ods_hash": "ba903ae66677a16ea52c10d103ee272c", + "dwd_hash": "267c8e05f2731f8b76c391edfaef34a9" + }, + { + "member_card_id": 2799216021210885, + "ods_hash": "95643ae42c38b6ab51b3ec3a1083392a", + "dwd_hash": "398ffae83f9f90da96b1c14386b11740" + }, + { + "member_card_id": 2799216027404037, + "ods_hash": "f1a2d1792852b110cecca72f1dff4d1b", + "dwd_hash": "184aa11db77cff6299fd8bb947046067" + }, + { + "member_card_id": 2799216032155397, + "ods_hash": "0b4dae5fe45717b9773843cbf3d7553a", + "dwd_hash": "5a5c48b73e8a65df15d8db862594b99e" + }, + { + "member_card_id": 2799216038610693, + "ods_hash": "03b2280164977a316e79af17ece24e66", + "dwd_hash": "e9c06cf1c5f03ef776f198f8a6e5cef7" + }, + { + "member_card_id": 2799216044099333, + "ods_hash": "c444e054a93dd7f99d16639da4501362", + "dwd_hash": "b98e5ec48e230a83247a7dbac4031a24" + }, + { + "member_card_id": 2799216049293061, + "ods_hash": "72c33ea8bee5b425550aa295cbcdad84", + "dwd_hash": "6810bce8c7d5546dae139d0d44843ccf" + }, + { + "member_card_id": 2799216054093573, + "ods_hash": "9c0eabbef9017423fada43faf19aa3b7", + "dwd_hash": "53c2e836e39b4d59b8de5ea20fbb166e" + }, + { + "member_card_id": 2799216058763013, + "ods_hash": "bf3e612b7829baa6d2658d24e0e01eab", + "dwd_hash": "9b647463ac262da11a32741797676c34" + }, + { + "member_card_id": 2799216063645445, + "ods_hash": "c54fc77c39a589b4b8d7c76a7ffaf95e", + "dwd_hash": "2fcf6af72c4f2e524d50e1e1f1bc99e6" + }, + { + "member_card_id": 2799216068364037, + "ods_hash": "de182d4c200b1612ac5cc49b01d5a6a0", + "dwd_hash": "6479384863a04560029878e25730c0f6" + }, + { + "member_card_id": 2799216074540805, + "ods_hash": "6ab759c863c16a49233202830ca9fe34", + "dwd_hash": "745e0aeb474d4dd8c2f578338a2a7a28" + }, + { + "member_card_id": 2799216079259397, + "ods_hash": "0b9b5d6aea9859c5f2b6a3916de35627", + "dwd_hash": "b262df07b0fc22f0ba4acca9046e46d9" + }, + { + "member_card_id": 2799216083945221, + "ods_hash": "05f35301c5127b218b61f5ab72e87a06", + "dwd_hash": "afbaed98572c03c900a9c3a4aa02cead" + }, + { + "member_card_id": 2799216088516357, + "ods_hash": "6ab5934c623f1faa7f212e03dec709db", + "dwd_hash": "95c18f1c3109a8b9b3f1f9ac25c7a288" + } + ], + "mismatch_error": null + }, + { + "dwd_table": "billiards_dwd.dim_member_card_account_ex", + "ods_table": "billiards_ods.member_stored_value_cards", + "windowed": true, + "window_col": "create_time", + "count": { + "dwd": 0, + "ods": 0, + "diff": 0 + }, + "amounts": [ + { + "column": "deliveryfeededuct", + "dwd_sum": 0.0, + "ods_sum": 0.0, + "diff": 0.0 + } + ], + "mismatch": 0, + "mismatch_samples": [], + "mismatch_error": null + }, + { + "dwd_table": "billiards_dwd.dim_tenant_goods", + "ods_table": "billiards_ods.tenant_goods_master", + "windowed": true, + "window_col": "create_time", + "count": { + "dwd": 0, + "ods": 0, + "diff": 0 + }, + "amounts": [], + "mismatch": 0, + "mismatch_samples": [], + "mismatch_error": null + }, + { + "dwd_table": "billiards_dwd.dim_tenant_goods_ex", + "ods_table": "billiards_ods.tenant_goods_master", + "windowed": false, + "window_col": null, + "count": { + "dwd": 173, + "ods": 173, + "diff": 0 + }, + "amounts": [], + "mismatch": 173, + "mismatch_samples": [ + { + "tenant_goods_id": 2791925230096261, + "ods_hash": "6295000ad8292012e9cca142387f2710", + "dwd_hash": "d2d73718b0b47b0461c6c29e34f1ea05" + }, + { + "tenant_goods_id": 2792037812375429, + "ods_hash": "7908ae60e56c8ec39f1f0c8c3df1db3d", + "dwd_hash": "934d5d108f5d11ef74c5b8d3f0b1be2d" + }, + { + "tenant_goods_id": 2792038476746629, + "ods_hash": "1ea1398dffb04788fa2f98bc5d531e96", + "dwd_hash": "0ef01bf12935f66dcdb72ed1484e7a27" + }, + { + "tenant_goods_id": 2792039804047237, + "ods_hash": "0ae2045626662c8f481d91ca6d2a1afe", + "dwd_hash": "7f671dab39104f96bf0e271513d2eee9" + }, + { + "tenant_goods_id": 2792044495523717, + "ods_hash": "71ca4491f77d9e7b00cf36fea54267d0", + "dwd_hash": "ecb56250f32e08cf4c69a3a1d06ce111" + }, + { + "tenant_goods_id": 2792045494685573, + "ods_hash": "80d21f7e169974574acfe8ed7eaf7552", + "dwd_hash": "a03cc2607d07709e1e7ca59f5cb918fb" + }, + { + "tenant_goods_id": 2792056126328709, + "ods_hash": "93eb0f595d8059c325ca652bfeb952cf", + "dwd_hash": "1c63377b8eca55d03f4724e1bec6727c" + }, + { + "tenant_goods_id": 2792067181399941, + "ods_hash": "c198043fa70506ba6175d700c9ae4aa8", + "dwd_hash": "bbd018209650d41ffe8a115a7aebb57e" + }, + { + "tenant_goods_id": 2792070008164229, + "ods_hash": "a0e241d9dc6f50fcf015753aa21b3117", + "dwd_hash": "ae3daabf8411f59a87864e92c2d1c355" + }, + { + "tenant_goods_id": 2792072218644357, + "ods_hash": "0109de2091e8295593d9c76d8a25b373", + "dwd_hash": "fd8cf08b421a71839d36869a9b22a61f" + }, + { + "tenant_goods_id": 2792077012225925, + "ods_hash": "cfde005b0e2bf1fdee84531c534cb01a", + "dwd_hash": "ec17913666bc1f5198efdf8063ac35fe" + }, + { + "tenant_goods_id": 2792079352434565, + "ods_hash": "d64b062fa166ff2f8832ac167ef77262", + "dwd_hash": "18bf3faae0f4bdcaa942671419cd01dc" + }, + { + "tenant_goods_id": 2792081036562309, + "ods_hash": "95b1d808c7f6c31a75b9c90014cdea42", + "dwd_hash": "a6c52801c1bdda459ded7338e0abefd2" + }, + { + "tenant_goods_id": 2792082388782981, + "ods_hash": "f4a9283a8d58c0d25bc0b4df05323bfe", + "dwd_hash": "134a02e71b7838d3e9868dbe5ef57409" + }, + { + "tenant_goods_id": 2792083824283525, + "ods_hash": "636e6df49adda6b85ae369b1cca73d20", + "dwd_hash": "004a176f5a14f7ed5983160b5b429f62" + }, + { + "tenant_goods_id": 2792091011796869, + "ods_hash": "5760674d337a4309d0840ea23136ffad", + "dwd_hash": "52f3d90b6f467a9ae0997ebc100f6caa" + }, + { + "tenant_goods_id": 2792095859003269, + "ods_hash": "ce1e534e884027082076163636861b0a", + "dwd_hash": "20101ecf6c83e9499b8f121bebaa99d2" + }, + { + "tenant_goods_id": 2792096750243717, + "ods_hash": "6b29ba3c9f59221cb1aed9d33b925337", + "dwd_hash": "e54384d92fab5efe6108fd8e943d31b8" + }, + { + "tenant_goods_id": 2792098407092101, + "ods_hash": "b15dde728d8bf396bba1dfa87cd64561", + "dwd_hash": "590b86544bebf80674b5edca1e77ae40" + }, + { + "tenant_goods_id": 2792099955609477, + "ods_hash": "baf26768127b447d5c761198a0d30213", + "dwd_hash": "a9a0015a66503a7ef698ce6d91c8069b" + }, + { + "tenant_goods_id": 2792100776005509, + "ods_hash": "8582407fef5c9e400970247eb0352330", + "dwd_hash": "af6ca5653f1185c0a755a73a576df6f3" + }, + { + "tenant_goods_id": 2792102047797125, + "ods_hash": "d06d8a26d51d62df26484a298983c9ba", + "dwd_hash": "bf7d8523e0fca73a75957d89e493c3fd" + }, + { + "tenant_goods_id": 2792102887378821, + "ods_hash": "b8f5bd6a1372c1bbd80ce9ce364c921c", + "dwd_hash": "eeebdc8baa51b5b939d4ab7715df7bb4" + }, + { + "tenant_goods_id": 2792103809126277, + "ods_hash": "4a3dea77a3a9059aaa573e41a20fa169", + "dwd_hash": "94aaff734babba01b024e1c33677beef" + }, + { + "tenant_goods_id": 2792104571834245, + "ods_hash": "eefc6d336dab7a8030542c880593a562", + "dwd_hash": "9b948fe3fefb2f49c0abf1a642a0389a" + }, + { + "tenant_goods_id": 2792105355775877, + "ods_hash": "fa6bf2cbe4692baa55ca99f6b792ac7b", + "dwd_hash": "6aac8dbf5c4f66e3e7cb699de49e3930" + }, + { + "tenant_goods_id": 2792106618703749, + "ods_hash": "8cd99bb8b36516800302a1ff8b144a1a", + "dwd_hash": "db94ee037066bdd27ab1f1977783c3d4" + }, + { + "tenant_goods_id": 2792107453255557, + "ods_hash": "43173c6b20a3def41d8968a375c6541a", + "dwd_hash": "5b2dfeb1cea492e81eed7abc09dc8018" + }, + { + "tenant_goods_id": 2792108242096005, + "ods_hash": "a5c6fb8839618ec46082997bad51491a", + "dwd_hash": "5793f1d73e245a0df272829511e7902c" + }, + { + "tenant_goods_id": 2792109146951557, + "ods_hash": "59f2aeddbc6e6f9d6289ad27225dd83a", + "dwd_hash": "6401dba2b515491e3ac2714822416ac0" + }, + { + "tenant_goods_id": 2792110117130117, + "ods_hash": "f3c80a09d0d77035705a7213e6b84f99", + "dwd_hash": "f6920f46f93f6e00db69f09f44d20b4d" + }, + { + "tenant_goods_id": 2792111046741893, + "ods_hash": "379205c1a2fcec407c758bb3ea8b4654", + "dwd_hash": "439f3070814f84ea61e6baa1e6a4899c" + }, + { + "tenant_goods_id": 2792112367603589, + "ods_hash": "0b9a3964c91e9ab6881aeb99203e7869", + "dwd_hash": "7cd1812eb9d4648c7e8570b10f91e5b7" + }, + { + "tenant_goods_id": 2792114026696581, + "ods_hash": "cc61c2d1ac866ed448a6b28ba9c68226", + "dwd_hash": "61a8ac19b6f84915498e665626b8acea" + }, + { + "tenant_goods_id": 2792114975313797, + "ods_hash": "110f59f827abd3c6d25496a35e24e7f2", + "dwd_hash": "f6e899660997d3c8aca99b8f29bd33a9" + }, + { + "tenant_goods_id": 2792115932417925, + "ods_hash": "a6b8a2ed51f0b1ce50ab0f7ed737167f", + "dwd_hash": "738646d7cc092cfa5124ac97ed20450c" + }, + { + "tenant_goods_id": 2792116914442117, + "ods_hash": "31da1c42888d352da2bad3245421eb1c", + "dwd_hash": "e55380d698621ca8cbb2841bc6d69e55" + }, + { + "tenant_goods_id": 2792117879639941, + "ods_hash": "bbdcd88e208e96d5a5d5fdb0872411f8", + "dwd_hash": "8fc23c5a4260ca94800a4fbc7a2ecf71" + }, + { + "tenant_goods_id": 2792118718353285, + "ods_hash": "a9c18b4d49dbdcf689b891d47b997904", + "dwd_hash": "2b24c42f934ccc22e43a798db38d2877" + }, + { + "tenant_goods_id": 2792119564439429, + "ods_hash": "340b345ca1fea77e353f78055f3086c9", + "dwd_hash": "a8aafbd92ac557c3dbb89f7cdb6ba53a" + }, + { + "tenant_goods_id": 2792120662675333, + "ods_hash": "d3c8e714a99adbf08567ba51c75b192a", + "dwd_hash": "8c23f6fe39b3d104f30973b6414185a3" + }, + { + "tenant_goods_id": 2792122952519557, + "ods_hash": "43047526378bfd11a03fd2df42dfe6f4", + "dwd_hash": "4038217f440fd89f0f9294cda346ddcc" + }, + { + "tenant_goods_id": 2792123803078533, + "ods_hash": "a8e7ef54d42a2331150beeb2d1ff6929", + "dwd_hash": "5ba7db6e3ef17010df090f348c0b87ac" + }, + { + "tenant_goods_id": 2792125002321797, + "ods_hash": "b979c11a4f31f1f49d77a8772e1154c2", + "dwd_hash": "c4f79a907874bafb9944af80f676a4c4" + }, + { + "tenant_goods_id": 2792126153330565, + "ods_hash": "a36d381d6363671d5c6c401764178a92", + "dwd_hash": "51830d83ad2da09102b75884ac23a6f5" + }, + { + "tenant_goods_id": 2792126853369733, + "ods_hash": "269364a2d8641104ab89ec1ea63a92f1", + "dwd_hash": "4c26907d3e58869f69bafe59ce6d1d7c" + }, + { + "tenant_goods_id": 2792128158191493, + "ods_hash": "1dfdabb80456f5dbe990e2c7953edaf7", + "dwd_hash": "9fbc3529823cc56b54e0e796256f7e88" + }, + { + "tenant_goods_id": 2792128793546629, + "ods_hash": "247d4b0dce36ada0d7731d1a07c66db8", + "dwd_hash": "6e0e96758fae3b32f931f2766ce62f4a" + }, + { + "tenant_goods_id": 2792129791594373, + "ods_hash": "482b7d6927205b7b1087570a89de35f1", + "dwd_hash": "d3f6087cafb761bc96a28d65b0a87871" + }, + { + "tenant_goods_id": 2792130734133125, + "ods_hash": "4a26361c7e7f9e1d1de98c27f546a257", + "dwd_hash": "7bd5421f520f44fb9b5508598c15334e" + } + ], + "mismatch_error": null + }, + { + "dwd_table": "billiards_dwd.dim_store_goods", + "ods_table": "billiards_ods.store_goods_master", + "windowed": false, + "window_col": null, + "count": { + "dwd": 172, + "ods": 172, + "diff": 0 + }, + "amounts": [], + "mismatch": 172, + "mismatch_samples": [ + { + "site_goods_id": 2793025861308485, + "ods_hash": "736fbd824d4f77551bae8b9da5390296", + "dwd_hash": "5c24cf3bafb6bd9476b97971ad210775" + }, + { + "site_goods_id": 2793026182664261, + "ods_hash": "d82a48a36ef0f20403790154420db78a", + "dwd_hash": "3533a4a39ed8fe7146e1bad141ed39e0" + }, + { + "site_goods_id": 2793026183532613, + "ods_hash": "b3b2502f1a0d3d2e2fac26d055452857", + "dwd_hash": "fc43d04994c4bdc692f865842a870aac" + }, + { + "site_goods_id": 2793026186563653, + "ods_hash": "39d44153365c3321af2c3a13261c6249", + "dwd_hash": "8e286eddcbd2b6f34f46bfe28f455aed" + }, + { + "site_goods_id": 2793026434863237, + "ods_hash": "be4b4cf9681918a3f9c72600434ab77d", + "dwd_hash": "665be93cf82868455dd921b9095c9397" + }, + { + "site_goods_id": 2794695801917573, + "ods_hash": "328da808dcad171188d6a503f221193f", + "dwd_hash": "3928f3ac1baa4067327397bfcc5ba59c" + }, + { + "site_goods_id": 2826003636177861, + "ods_hash": "f0f2a5c386d33c5a4a7d3e54fc058ff9", + "dwd_hash": "4d0a8e2401b7db99c7a6a0a7286fd3c0" + }, + { + "site_goods_id": 2791953867886725, + "ods_hash": "b2d05e9f0275ce11cf91bbb2de7473d5", + "dwd_hash": "95fe343f63287b54e7b03b285e4cad0b" + }, + { + "site_goods_id": 2793025844727877, + "ods_hash": "cc328ec7fc2a217136cc7a6c037a4ed3", + "dwd_hash": "a03cc1243ceef574049fbfa8e8bc35aa" + }, + { + "site_goods_id": 2793025845399621, + "ods_hash": "fbb07b4019149f6df0d06c834f941023", + "dwd_hash": "db8c0c22cbbdfae681a38fdcdb01dd91" + }, + { + "site_goods_id": 2793025845825605, + "ods_hash": "98bada8ddccfaf8b41e2d6b257488aa1", + "dwd_hash": "cd29bdeb63ee7d044291e433d1a656ba" + }, + { + "site_goods_id": 2793025846464581, + "ods_hash": "5b73bc5f2d426b4e167f4a06b2bf6438", + "dwd_hash": "452fdbaa97ac5c964f2604c72868d7b7" + }, + { + "site_goods_id": 2793025847595077, + "ods_hash": "d74a2c783da0f309b5df43a2ebf43146", + "dwd_hash": "1e3fac02a3a3f2c218d546e22bd8ed5e" + }, + { + "site_goods_id": 2793025848102981, + "ods_hash": "353623776c0c1c83d0236c92bee0e7b5", + "dwd_hash": "7b1923408f77a27cbe553310e364edcb" + }, + { + "site_goods_id": 2793025849102405, + "ods_hash": "2ab8d26f4a421873ecf1d5c3dfcb1a27", + "dwd_hash": "6ebf5a80d6390707b369a90db202cc5b" + }, + { + "site_goods_id": 2793025849593925, + "ods_hash": "efbcc42271e07d14ed60e980f2b26a76", + "dwd_hash": "b004c185cecc400df90dc773ee096838" + }, + { + "site_goods_id": 2793025850576965, + "ods_hash": "aa093dc5b78d48be52cac0dec3082090", + "dwd_hash": "c0954071d66e3450aeb82aebf2b786ca" + }, + { + "site_goods_id": 2793025851068485, + "ods_hash": "eab23a0f9dc33b8dd828bae2c5a4147d", + "dwd_hash": "2696a640da5d816e6a6bd5f37b697957" + }, + { + "site_goods_id": 2793025858900037, + "ods_hash": "5f02911dd541f1c154b73612cd8b8f12", + "dwd_hash": "af672832dbd605ea04332d3b7723ec1b" + }, + { + "site_goods_id": 2793025860145221, + "ods_hash": "f07929829a42052091e29ffb85bc8283", + "dwd_hash": "7d4b726281ed617f55c4fadde6b806ce" + }, + { + "site_goods_id": 2793025861128261, + "ods_hash": "7698692287f9977a39213221760d68dc", + "dwd_hash": "b18d62ef76092490f6fbafd0a988dee5" + }, + { + "site_goods_id": 2793025861505093, + "ods_hash": "2761cae5748eadd76724fedf904e2920", + "dwd_hash": "0593fcb4ffa294659968d24e673f2ca3" + }, + { + "site_goods_id": 2793025862438981, + "ods_hash": "f3d6d89906bcb2fec8c6f5e598f033d6", + "dwd_hash": "a5426382faa5d55e5fad15aba2a9901e" + }, + { + "site_goods_id": 2793025862963269, + "ods_hash": "91e90ac4e9d91b7362cd623e9cf16697", + "dwd_hash": "bc99eac895b41261cb56d10bf3437178" + }, + { + "site_goods_id": 2793025863127109, + "ods_hash": "09eb96697b6940a5019a0337c855d708", + "dwd_hash": "f6ed0bea102f2b7afc7f736cbcd7fc92" + }, + { + "site_goods_id": 2793025863290949, + "ods_hash": "8abe639cf8ce3f630e9c636607ca1b1a", + "dwd_hash": "020defba1328bd22432f010b7f7f5192" + }, + { + "site_goods_id": 2793026174865477, + "ods_hash": "bdd7b381c8bb54a7a5d07851068cadbe", + "dwd_hash": "77f9b720b6fe04c9ec7156d50e21786e" + }, + { + "site_goods_id": 2793026175356997, + "ods_hash": "b702e4129924b5ed27b7686f943da96a", + "dwd_hash": "9c1b9b7cff219cea9ad3dc1e4646797e" + }, + { + "site_goods_id": 2793026175520837, + "ods_hash": "0b7786fc62aea0de6d189e4bdd2fa5e9", + "dwd_hash": "964c10e78351e09cdf7f6a96042d6082" + }, + { + "site_goods_id": 2793026176012357, + "ods_hash": "4573b22d7cb564a4f2e7e551834c88ea", + "dwd_hash": "759c9492a25829860e47012669a1b9d3" + }, + { + "site_goods_id": 2793026176503877, + "ods_hash": "1bfd2fbeb660b7c7ffec9c99017c3f0c", + "dwd_hash": "b2f0552ec2ab7c17efee50d9fbeba6a9" + }, + { + "site_goods_id": 2793026176995397, + "ods_hash": "7b6ffd63f244a1448d35448f607bb776", + "dwd_hash": "5f959a2be354d162b2fdf6f619ed4f4e" + }, + { + "site_goods_id": 2793026177486917, + "ods_hash": "5ca046e0a8e87800ea8cb88563aae999", + "dwd_hash": "7fc57eaca2c8f48162dd1f6d94e6e9cc" + }, + { + "site_goods_id": 2793026177978437, + "ods_hash": "9ce48e4bacc5389c70e7c3be3fe43c94", + "dwd_hash": "0ae0d7cc84c3bb834c9268f399ededd2" + }, + { + "site_goods_id": 2793026180141125, + "ods_hash": "681bbb92527750189d296ea8a0cefba5", + "dwd_hash": "87f7247107726abfab084b1b946505a6" + }, + { + "site_goods_id": 2793026180501573, + "ods_hash": "164bcf047ff1bce7d58aa6654a5cadc2", + "dwd_hash": "fdf1d4d4e567fc951aa9335b3a69b6c9" + }, + { + "site_goods_id": 2793026180993093, + "ods_hash": "adbfe9352326631767121ab7cb189ba9", + "dwd_hash": "9accae13b65f10f24913ab862a3f7453" + }, + { + "site_goods_id": 2793026181664837, + "ods_hash": "2f3b983d8c882412df87ed41dade0754", + "dwd_hash": "f38b7d6de7b4d0adacd5715e916206a1" + }, + { + "site_goods_id": 2793026183041093, + "ods_hash": "a795a179e05d5f11d2e030cd4588eb8a", + "dwd_hash": "31414eec707b388eceaabf59993efcf4" + }, + { + "site_goods_id": 2793026184106053, + "ods_hash": "89f8eb382a7049f6ab0e442d1e316106", + "dwd_hash": "7f4777cc80e02d78c88e24b421aa7f1c" + }, + { + "site_goods_id": 2793026184302661, + "ods_hash": "0c18ab0e7f15b2f586d686293d85775a", + "dwd_hash": "c87bfc14d2f624c2a85a77526e056477" + }, + { + "site_goods_id": 2793026184482885, + "ods_hash": "bd2e3247b87c5b9b31bd63afabe95987", + "dwd_hash": "7c65b42feb8929aa95bd4e0f846b565f" + }, + { + "site_goods_id": 2793026184646725, + "ods_hash": "9983995869304b7ce68232b29e30c2a7", + "dwd_hash": "a67c98f6cc835a7e2fbdfbdd457abb34" + }, + { + "site_goods_id": 2793026184810565, + "ods_hash": "b1129a7d5a042fd3f03ba479f17fb82b", + "dwd_hash": "e0f669b317965d728d0f64fee8ff2aef" + }, + { + "site_goods_id": 2793026184974405, + "ods_hash": "9aeeca06bef506e772524387cecc4cbd", + "dwd_hash": "69fa6ff5e6547d4984e7ed2efaeda704" + }, + { + "site_goods_id": 2793026185154629, + "ods_hash": "55434a5df0d52fd93f65ff7443f9c562", + "dwd_hash": "f40817236dac8d844ae1f981cb8dc37b" + }, + { + "site_goods_id": 2793026186891333, + "ods_hash": "ad35a17a047904e0dee9b16581a0db0c", + "dwd_hash": "29598dbc5ca7dfecb7fa38be96f6a4a1" + }, + { + "site_goods_id": 2793026187071557, + "ods_hash": "6cb158e6df97df9df62162c06579a65a", + "dwd_hash": "16662142eda46b79df0ffa1ff6dfb16e" + }, + { + "site_goods_id": 2793026187235397, + "ods_hash": "f0dcc25d1d8721276882645fc30b7f02", + "dwd_hash": "dbb8f0ead22b1a7066c2d7eb5fec35fc" + }, + { + "site_goods_id": 2793026187563077, + "ods_hash": "b68eb2f3efd0a561b0fe50d9bbb99b1b", + "dwd_hash": "840e9ff2527e4582ae30920192090b81" + } + ], + "mismatch_error": null + }, + { + "dwd_table": "billiards_dwd.dim_store_goods_ex", + "ods_table": "billiards_ods.store_goods_master", + "windowed": false, + "window_col": null, + "count": { + "dwd": 172, + "ods": 172, + "diff": 0 + }, + "amounts": [], + "mismatch": 172, + "mismatch_samples": [ + { + "site_goods_id": 2906983124748485, + "ods_hash": "d4a952c6a7a13d128d68202b8c137f9f", + "dwd_hash": "ff60b1293d83bfa3999fc99342b1546b" + }, + { + "site_goods_id": 2940642871856901, + "ods_hash": "7f4d8d4407c1daea5d1ead28637afb99", + "dwd_hash": "ec71c37c518a37edb60fe16551409ecb" + }, + { + "site_goods_id": 2793025852051525, + "ods_hash": "d14b34b8159dde7c45587162c5a2e9d8", + "dwd_hash": "70c766a690c82244521da89ec7d92e6c" + }, + { + "site_goods_id": 2793025852543045, + "ods_hash": "1e21b2bdae5ebeea361f846b57c597ec", + "dwd_hash": "fe43d27c8d0cf89c96c1d6aaaf7936e9" + }, + { + "site_goods_id": 2793025853034565, + "ods_hash": "389b5fca2bb46d4a08cf080a39c4e2a3", + "dwd_hash": "2d0b3a9ad88affa75a08d94e2de9db3f" + }, + { + "site_goods_id": 2793025853526085, + "ods_hash": "129b72782e07614c9c86954a1a7fbba0", + "dwd_hash": "b8e10e6ac5a49340323ccc3cf31cdaf8" + }, + { + "site_goods_id": 2793025854017605, + "ods_hash": "b9cc53c580dac42c00a5657af65afe78", + "dwd_hash": "71bd808448f27843ee689b7d33b84d34" + }, + { + "site_goods_id": 2793025854509125, + "ods_hash": "307196cfcee741be6dc17b503eb9d9b5", + "dwd_hash": "87a5aaec5e91b583b23aeda3289e9f52" + }, + { + "site_goods_id": 2793025855950917, + "ods_hash": "e1ee845fc3e64a64601d667faff1c063", + "dwd_hash": "9297cc8f3dff08b11a6b8857a546f6af" + }, + { + "site_goods_id": 2793025856442437, + "ods_hash": "9f375dba461cf0853f8f3ca69001e2fd", + "dwd_hash": "11afe08d22d6ebcf0a55991fddad75c3" + }, + { + "site_goods_id": 2793025856933957, + "ods_hash": "05f4f45b1f1ff6e2b102137dc816a68d", + "dwd_hash": "98208085bf18298939c8035cc9e60681" + }, + { + "site_goods_id": 2793025857409093, + "ods_hash": "ce4cee86b9a4c2bf8977079fe6ebc8b3", + "dwd_hash": "fdf721b8356d7969767c7e277c526ede" + }, + { + "site_goods_id": 2793025858392133, + "ods_hash": "5d70c5be1e0b121b52d7735d646877b1", + "dwd_hash": "e804cafbc09188c3855646fafa59cb21" + }, + { + "site_goods_id": 2793025844908101, + "ods_hash": "e51bcecbfa56f8466c56823b606004f4", + "dwd_hash": "3db3ad5b3e76d2071594344c6f0054aa" + }, + { + "site_goods_id": 2793025845989445, + "ods_hash": "d19d27239ff9f91ae712606f920443e1", + "dwd_hash": "9a62949bf226687d4f08d2679625ba48" + }, + { + "site_goods_id": 2793025863290949, + "ods_hash": "001cc0b0cd01d8c1b97e9786ae675c34", + "dwd_hash": "696a74c1b1c4daaa0cb7b61158e974ed" + }, + { + "site_goods_id": 2793026187399237, + "ods_hash": "c23c378299156e772b05a1ff8c1026fb", + "dwd_hash": "fa2807b9f6386307a371db9e45aa3b27" + }, + { + "site_goods_id": 2793026187923525, + "ods_hash": "4fa83eafdfcea0ac3a3c9859c23b9c07", + "dwd_hash": "607eb2a906faf2da50f90793228ed085" + }, + { + "site_goods_id": 2793026188251205, + "ods_hash": "84aea53b6ddfbbbd1ed80a61461420e9", + "dwd_hash": "4e053f48f993d05de2cfe375ec830619" + }, + { + "site_goods_id": 2793026432438405, + "ods_hash": "79ab0684071946cbd687b45283b858c8", + "dwd_hash": "ef5101ea5339d7c3b9e57e86981ff0c8" + }, + { + "site_goods_id": 2793026433912965, + "ods_hash": "28bb5f2e4d3049192e7326a0c841df2f", + "dwd_hash": "ef2768054290bb18def4ea23a4a0c8c6" + }, + { + "site_goods_id": 2793026434404485, + "ods_hash": "fceb365f49caf5cdfb9c590b5104d93d", + "dwd_hash": "827ddfeefc1374274274c65b535086db" + }, + { + "site_goods_id": 2793026185695301, + "ods_hash": "f160d5cb3c47cb0ec5d76e5472c24003", + "dwd_hash": "51a543b730e795c3bb6192ad96d98a44" + }, + { + "site_goods_id": 2793026186055749, + "ods_hash": "6e06edd5373a06de7fd0bf40ed87baeb", + "dwd_hash": "8bdeb31710bf10898c5f87087ce119ae" + }, + { + "site_goods_id": 2793026186219589, + "ods_hash": "d393289cc2fcc735079d7be533345643", + "dwd_hash": "158d9817ea74d6392349e07184870322" + }, + { + "site_goods_id": 2793026186727493, + "ods_hash": "b725466f0cecd8a8655cc546ae9a3477", + "dwd_hash": "0d76d5584242ca2e37ebc60802b5bf68" + }, + { + "site_goods_id": 2793026178469957, + "ods_hash": "530d9050b95dd3fcdaade34c2e3bb4b4", + "dwd_hash": "241e887f43eb8a94aeaeeeabfabf7e23" + }, + { + "site_goods_id": 2793026178977861, + "ods_hash": "f8df62d43eaf0cecf21ea423f541011c", + "dwd_hash": "cdfdbce5a378e74c37065ce7dd437c52" + }, + { + "site_goods_id": 2793026183532613, + "ods_hash": "62e1095788d6fba1b77d02b91fb9e52b", + "dwd_hash": "d12645435399dc99f403ad25c8822c37" + }, + { + "site_goods_id": 2811811188836101, + "ods_hash": "2d95ff75a3d570441a20157466a29ab5", + "dwd_hash": "4e4f20e6898a6de22435ede1a3e56080" + }, + { + "site_goods_id": 2919623264751045, + "ods_hash": "9ff114e835789026edba07d85f0d8059", + "dwd_hash": "1a5a383141c1e36405436acdf89a973d" + }, + { + "site_goods_id": 2791953867886725, + "ods_hash": "37fc4f65f0e173cdc2ab31c38168dff2", + "dwd_hash": "24a7db605557219107cb9a9a076ccae2" + }, + { + "site_goods_id": 2793026432110725, + "ods_hash": "a48a8f55e3e5b0c23be9af9c1de47371", + "dwd_hash": "5b04b20c0c89013bf8a62ba57979b478" + }, + { + "site_goods_id": 2793026429620357, + "ods_hash": "48156ace8006fd89d4ad295b38cad991", + "dwd_hash": "076017c1e7e2f75ab5e65f0315c4fa54" + }, + { + "site_goods_id": 2793026430095493, + "ods_hash": "d09454f5d771a8ec04f56be6ecd6a216", + "dwd_hash": "e4865e68ab8f64d6027f35ee3e614a97" + }, + { + "site_goods_id": 2793026430570629, + "ods_hash": "2bdfc05c6725c0b3c28e137655ed09a4", + "dwd_hash": "a7e73439a368f66ea92da244161f2f89" + }, + { + "site_goods_id": 2793026431045765, + "ods_hash": "600ac85f8e02fcdfc20c812e97967221", + "dwd_hash": "0a1e29b43050ccfdfe06ba494ea52fe1" + }, + { + "site_goods_id": 2793026431504517, + "ods_hash": "e2a6585661ae6d44f7e5b2a4dc084028", + "dwd_hash": "0507c20443c0ec4fca2d6f4898e913ff" + }, + { + "site_goods_id": 2793026431799429, + "ods_hash": "65c19a85ab3c50060fa2bba7b822505a", + "dwd_hash": "ed8d5befe54adf23d2e0bcbc3bdecc71" + }, + { + "site_goods_id": 2793025844727877, + "ods_hash": "6b5063495d5fbaa579e6d469a2ff2b6c", + "dwd_hash": "3518ba4110dc7af0b543ded80e08ceb5" + }, + { + "site_goods_id": 2793025846464581, + "ods_hash": "aa97fb33b7c155a3c5f4723e70cfd403", + "dwd_hash": "286ba07cf7514a2dd5fe70aff818f611" + }, + { + "site_goods_id": 2793025847595077, + "ods_hash": "49df143f47bf603b3fccf320c0d864f9", + "dwd_hash": "430996a993444509e46f728c7fd5baf0" + }, + { + "site_goods_id": 2793025848102981, + "ods_hash": "8ccb8931dced8664bfa615947c256063", + "dwd_hash": "ba566171a135d26d6af105e4f7e1126f" + }, + { + "site_goods_id": 2794695800246405, + "ods_hash": "856261cce351a53fdd41a481c750c983", + "dwd_hash": "a2430a91b07eae577f6e0d91d3565a20" + }, + { + "site_goods_id": 2794695800443013, + "ods_hash": "7cd0232d760222e7f3257f0c83ba2137", + "dwd_hash": "df1f44237a8d1ada6df3570db73cab0f" + }, + { + "site_goods_id": 2794695800770693, + "ods_hash": "273e9f91b02535fcfc6130a10737ba40", + "dwd_hash": "89df2223c38956dfbfe7df412edaa61f" + }, + { + "site_goods_id": 2801925513727045, + "ods_hash": "3c6e11a2910515190353791b9d18c27e", + "dwd_hash": "05f9c1ed4c52b893bb495937c1e46e1c" + }, + { + "site_goods_id": 2801925513923653, + "ods_hash": "aa02330f63ae1a90a6db8ee018363767", + "dwd_hash": "01b9875e4b43eae307eb017f6a7c8e7b" + }, + { + "site_goods_id": 2793025845399621, + "ods_hash": "ee016586443c0490587e8e472b5a4e72", + "dwd_hash": "94fe29425be1798da6db1ed0ad28c08b" + }, + { + "site_goods_id": 2793025845825605, + "ods_hash": "7d001f6f88dfcc510f5c0b47951937e4", + "dwd_hash": "359b59571b1077ad77b540efe46ce8b4" + } + ], + "mismatch_error": null + }, + { + "dwd_table": "billiards_dwd.dim_goods_category", + "ods_table": "billiards_ods.stock_goods_category_tree", + "windowed": false, + "window_col": null, + "count": { + "dwd": 26, + "ods": 9, + "diff": 17 + }, + "amounts": [], + "mismatch": 0, + "mismatch_samples": [], + "mismatch_error": null + }, + { + "dwd_table": "billiards_dwd.dim_groupbuy_package", + "ods_table": "billiards_ods.group_buy_packages", + "windowed": true, + "window_col": "create_time", + "count": { + "dwd": 0, + "ods": 0, + "diff": 0 + }, + "amounts": [], + "mismatch": 0, + "mismatch_samples": [], + "mismatch_error": null + }, + { + "dwd_table": "billiards_dwd.dim_groupbuy_package_ex", + "ods_table": "billiards_ods.group_buy_packages", + "windowed": false, + "window_col": null, + "count": { + "dwd": 34, + "ods": 34, + "diff": 0 + }, + "amounts": [], + "mismatch": 0, + "mismatch_samples": [], + "mismatch_error": null + }, + { + "dwd_table": "billiards_dwd.dwd_settlement_head", + "ods_table": "billiards_ods.settlement_records", + "windowed": false, + "window_col": null, + "count": { + "dwd": 25193, + "ods": 25195, + "diff": -2 + }, + "amounts": [], + "mismatch": 0, + "mismatch_samples": [], + "mismatch_error": null + }, + { + "dwd_table": "billiards_dwd.dwd_settlement_head_ex", + "ods_table": "billiards_ods.settlement_records", + "windowed": false, + "window_col": null, + "count": { + "dwd": 25193, + "ods": 25195, + "diff": -2 + }, + "amounts": [], + "mismatch": 0, + "mismatch_samples": [], + "mismatch_error": null + }, + { + "dwd_table": "billiards_dwd.dwd_table_fee_log", + "ods_table": "billiards_ods.table_fee_transactions", + "windowed": true, + "window_col": "create_time", + "count": { + "dwd": 54, + "ods": 56, + "diff": -2 + }, + "amounts": [ + { + "column": "adjust_amount", + "dwd_sum": 862.53, + "ods_sum": 862.53, + "diff": 0.0 + }, + { + "column": "coupon_promotion_amount", + "dwd_sum": 2564.51, + "ods_sum": 2708.51, + "diff": -144.0 + }, + { + "column": "ledger_amount", + "dwd_sum": 5342.32, + "ods_sum": 5486.32, + "diff": -144.0 + }, + { + "column": "member_discount_amount", + "dwd_sum": 0.0, + "ods_sum": 0.0, + "diff": 0.0 + }, + { + "column": "real_table_charge_money", + "dwd_sum": 1915.28, + "ods_sum": 1915.28, + "diff": 0.0 + } + ], + "mismatch": 54, + "mismatch_samples": [ + { + "table_fee_log_id": 3075443237144005, + "ods_hash": "97b8b6198b9d2a5a7bd8822dc7f0dac8", + "dwd_hash": "3a866668bbb44d099c85c34b66d76dcb" + }, + { + "table_fee_log_id": 3075473005446725, + "ods_hash": "7bd067ec4740febcf406c4e8123eb9e4", + "dwd_hash": "ac4bd1607e3808363ddf898874044118" + }, + { + "table_fee_log_id": 3075473005463109, + "ods_hash": "a88f42f44473352c51020e1ede06e646", + "dwd_hash": "5608da131d6102da2f0f0dbe0aab030e" + }, + { + "table_fee_log_id": 3075473603691909, + "ods_hash": "44b23b91d7c3e7f410cf06bb98f5deca", + "dwd_hash": "190b83290380c7b4251987d91a8f7ff2" + }, + { + "table_fee_log_id": 3075473701045893, + "ods_hash": "7201fcb53f741396a717123f79504ee7", + "dwd_hash": "841df47b15333114691ccbee245d2210" + }, + { + "table_fee_log_id": 3075484369503813, + "ods_hash": "c3f7912f0727018273d2ae5978bfaedb", + "dwd_hash": "f8dc5a3676a2366340595e98fbabd2c7" + }, + { + "table_fee_log_id": 3075497054340742, + "ods_hash": "23d881610afb6b77aa28e5ac81e5c46c", + "dwd_hash": "cdffec18b3ae0a6490a3e71d93701779" + }, + { + "table_fee_log_id": 3075502542980741, + "ods_hash": "f82dbc624f817972737446f71f6a81e4", + "dwd_hash": "17d7e055e1137588872f1750ae63e24c" + }, + { + "table_fee_log_id": 3075502542997125, + "ods_hash": "6a7401e32aec04fa94b95cefe9b09176", + "dwd_hash": "6846eb19c1a8152f8f6f90ca053cc313" + }, + { + "table_fee_log_id": 3075502543013509, + "ods_hash": "9b08bbb435df3b71ed071b2ab771aef0", + "dwd_hash": "0fdf6a0bb053fd60ea0285282baa0b6b" + }, + { + "table_fee_log_id": 3075502543029893, + "ods_hash": "82b5e9cd71d2b7f2ee12eae86815ca4e", + "dwd_hash": "07a02574feb3da0bdd4631b29719949f" + }, + { + "table_fee_log_id": 3075537363207749, + "ods_hash": "c2b2759dcc7d55acd4c8335f2f1b3591", + "dwd_hash": "ce6f39dd90cfcb9f07b4cb47fab3dbc6" + }, + { + "table_fee_log_id": 3075568526608005, + "ods_hash": "613a3d026d925f3450bab639a675e4e0", + "dwd_hash": "2688e68003ba7641c974d547e3777e3e" + }, + { + "table_fee_log_id": 3075574999369285, + "ods_hash": "2e49f8ea699c06b6abee9d075437230a", + "dwd_hash": "df11f80848483e0b75e2478c0279b26b" + }, + { + "table_fee_log_id": 3075584277300869, + "ods_hash": "b2fdd048c3929647834ac0116682cbb1", + "dwd_hash": "5432146d3a1475119c5804694159cf8f" + }, + { + "table_fee_log_id": 3075584988579461, + "ods_hash": "37d7e42724e1e8c32827788278e1475c", + "dwd_hash": "1412609ab73db5f55ce714d8359ac3d7" + }, + { + "table_fee_log_id": 3075626777560517, + "ods_hash": "cf4dce13ffc702ddd1e5eb3f9d76da30", + "dwd_hash": "38ad6da90a0aab972b5fb3ccb930a1df" + }, + { + "table_fee_log_id": 3075626777576901, + "ods_hash": "c441a2a05db228040c94342275928b93", + "dwd_hash": "99c439c73a3b365bbe0620bbd095c055" + }, + { + "table_fee_log_id": 3075631430682181, + "ods_hash": "5295624a5ee279f890faf9325b70d2c4", + "dwd_hash": "909e30b35d3b59a66e1f9cfaa354329e" + }, + { + "table_fee_log_id": 3075635028674181, + "ods_hash": "c84b566a961b7cbc4981d6f07b7c4c87", + "dwd_hash": "dc6f824b988ddea7a0b776b8a0a3ee0d" + }, + { + "table_fee_log_id": 3075750061589957, + "ods_hash": "6c5d1ef7750f3ba37211e49300b6da3d", + "dwd_hash": "9b197caf3b9c94edb4290174fcb2a649" + }, + { + "table_fee_log_id": 3075796677543365, + "ods_hash": "cea032c7b88fe0c7e9138c8341f130db", + "dwd_hash": "236a783d882d8c6259fb2319e1341ed5" + }, + { + "table_fee_log_id": 3076138706470341, + "ods_hash": "774b4517eb2ee422a155a0d3bea85844", + "dwd_hash": "7d442ae589d79589baf990694711273e" + }, + { + "table_fee_log_id": 3076160268633541, + "ods_hash": "d861cc54d9245c661578146289c28fd1", + "dwd_hash": "b853007e52951bf795a7f4e3bad5dd48" + }, + { + "table_fee_log_id": 3076255083218501, + "ods_hash": "98bfa1a420f592af7e3f87e31d5bd3bb", + "dwd_hash": "93b5b6678d86795fee845862991905f3" + }, + { + "table_fee_log_id": 3076282477610373, + "ods_hash": "90621dad473d346807c6989677b90065", + "dwd_hash": "537cf4627ff1b4142a26333575f82676" + }, + { + "table_fee_log_id": 3076324807968389, + "ods_hash": "39828f1e2925c3a1402fd76078d8bf5c", + "dwd_hash": "e75cbfbc9c842e937c010a22a6c76f4b" + }, + { + "table_fee_log_id": 3076325379917189, + "ods_hash": "e3dbffaadeceb4d56770e4567ba4074e", + "dwd_hash": "d3471d0be5f60a1fe97fdddb64f9d345" + }, + { + "table_fee_log_id": 3076329489057413, + "ods_hash": "72ea63f9f380d4cebe72918e7d43c6f4", + "dwd_hash": "83a34c43e732179c0c3b23f508d601fb" + }, + { + "table_fee_log_id": 3076335007483269, + "ods_hash": "e93854f8f000fa94747949d9f410ad7c", + "dwd_hash": "219d3a5b0f534c5ca56eff2b4933b809" + }, + { + "table_fee_log_id": 3076335083587141, + "ods_hash": "ea1d1966f2f047b60d907e8ae04ec990", + "dwd_hash": "6238cc5de939f51554bbc9de997ec868" + }, + { + "table_fee_log_id": 3076341144192389, + "ods_hash": "959819c9dc04e107db58eec1fecea7ed", + "dwd_hash": "48f4db93acb3d733bf41646b080d56b7" + }, + { + "table_fee_log_id": 3076341201225349, + "ods_hash": "311f3269e18f4a47acb22012cd19a4f5", + "dwd_hash": "83dcb72c7f9a449a5ef1da6fe8559df2" + }, + { + "table_fee_log_id": 3076361276884357, + "ods_hash": "2f9fcd12195dfcc484e0ef4f562484f1", + "dwd_hash": "486d3e1cffd45c8f75d63c27e1835b14" + }, + { + "table_fee_log_id": 3076364701123973, + "ods_hash": "b303fd3a5ddb2c19f6a66e09e77b9dda", + "dwd_hash": "25edcb58d8990c7bd94a65ac9cd45c16" + }, + { + "table_fee_log_id": 3076374000354885, + "ods_hash": "d4d30a8bc4e83ece4f0512e1a93e7ff3", + "dwd_hash": "93b2f1a49df48a8ac447394ce85a167a" + }, + { + "table_fee_log_id": 3076374836004229, + "ods_hash": "b0d310c3e4d328b93157ec614b00a3ef", + "dwd_hash": "69a6cd33fb685963381d1e89b252a332" + }, + { + "table_fee_log_id": 3076391961855557, + "ods_hash": "9719d29e50630c695e2d6676c853c4dd", + "dwd_hash": "ea4dabc02fa59fed593cb0142c366465" + }, + { + "table_fee_log_id": 3076397495780933, + "ods_hash": "077fa76c92cfa160c4654249c4c76cc1", + "dwd_hash": "e208b5633e9dea3899073e854dced98b" + }, + { + "table_fee_log_id": 3076401436312965, + "ods_hash": "b1e60d5f7f9534fd881caa202865f1ea", + "dwd_hash": "2ff13d1c53eca6e30f9b8e473fdb786c" + }, + { + "table_fee_log_id": 3076402097276293, + "ods_hash": "2d73f02b24259326bb8de0d47e631f19", + "dwd_hash": "590443fa795cfffe0fff3a1a2640958d" + }, + { + "table_fee_log_id": 3076404528957061, + "ods_hash": "6076a464c73f8d1cc82b14f890724310", + "dwd_hash": "0c672c981c550e03ee674e39a0be3c1c" + }, + { + "table_fee_log_id": 3076404579583429, + "ods_hash": "65d911eb2be1276fb11de16252160a62", + "dwd_hash": "ad9b84ba20eac2a771a2af5ed52e4485" + }, + { + "table_fee_log_id": 3076426270180933, + "ods_hash": "cb1732de1ce517fb4898810d6e79f2b1", + "dwd_hash": "5403679fea965df59ba7f12f9b2be48a" + }, + { + "table_fee_log_id": 3076427929667013, + "ods_hash": "58da31248757fd75db1b05bbda6d24f9", + "dwd_hash": "658fa8cf7b4a9c0b3ed98efd3df1b6e0" + }, + { + "table_fee_log_id": 3076431855896133, + "ods_hash": "b1d600facd3e9e02797300b4fc1a297c", + "dwd_hash": "ddf0dda445097d2eb27d5d2c0b0934a1" + }, + { + "table_fee_log_id": 3076431917008453, + "ods_hash": "7ae8ea905b961c75b08f7287054db25a", + "dwd_hash": "6c99b6fae2b0e95bca3e493ad6cf0466" + }, + { + "table_fee_log_id": 3076445048063365, + "ods_hash": "9b6ca8fbc816478b3170d36e1a50bbb8", + "dwd_hash": "db4dd44fb10d8f1ec05a3ec32edc7ebe" + }, + { + "table_fee_log_id": 3076448766461317, + "ods_hash": "c13ed37fc1508669cf586d61cfc9523c", + "dwd_hash": "ed5ecb71a05e94559acdc64692d3d81e" + }, + { + "table_fee_log_id": 3076454348309893, + "ods_hash": "f72b2a26643ae2513754a0e8e2aafc78", + "dwd_hash": "14bf1f9faa5bc7ade3fd97401a02abd2" + } + ], + "mismatch_error": null + }, + { + "dwd_table": "billiards_dwd.dwd_table_fee_log_ex", + "ods_table": "billiards_ods.table_fee_transactions", + "windowed": false, + "window_col": null, + "count": { + "dwd": 19019, + "ods": 19021, + "diff": -2 + }, + "amounts": [ + { + "column": "fee_total", + "dwd_sum": 0.0, + "ods_sum": 0.0, + "diff": 0.0 + }, + { + "column": "mgmt_fee", + "dwd_sum": 0.0, + "ods_sum": 0.0, + "diff": 0.0 + }, + { + "column": "service_money", + "dwd_sum": 0.0, + "ods_sum": 0.0, + "diff": 0.0 + }, + { + "column": "used_card_amount", + "dwd_sum": 0.0, + "ods_sum": 0.0, + "diff": 0.0 + } + ], + "mismatch": 19019, + "mismatch_samples": [ + { + "table_fee_log_id": 2800050345363077, + "ods_hash": "47ce626b250aef81e02b41114d24a4c1", + "dwd_hash": "38672ade980b6241840806920c41f415" + }, + { + "table_fee_log_id": 2800144144582277, + "ods_hash": "136a9045d6b350c483960339f3724ced", + "dwd_hash": "8d25769acf592ba8042c8fe9efde47fb" + }, + { + "table_fee_log_id": 2800144212365957, + "ods_hash": "b9fb721997b3d99b5a77b628c955d9d6", + "dwd_hash": "51ab9da8276a4c586d3d9b5e24009306" + }, + { + "table_fee_log_id": 2800144334426757, + "ods_hash": "f655dac5adcc6e93f08aeb3fbc5eaca4", + "dwd_hash": "acc461199c027a1764bb119c2661ce7f" + }, + { + "table_fee_log_id": 2800169001878981, + "ods_hash": "1a3c02265bbba94c8c8e34733ef96efd", + "dwd_hash": "fb17863cdab37b22be4386da87739ce4" + }, + { + "table_fee_log_id": 2800169065157253, + "ods_hash": "616d9be9439c26b05e9643313ddeeb8e", + "dwd_hash": "7e84e0066add9c63ed5b0b4f06dbf240" + }, + { + "table_fee_log_id": 2800194314323909, + "ods_hash": "8f4654f10b97217039ff6fd3408225df", + "dwd_hash": "756a32e7dbdd025417d7b606856862c1" + }, + { + "table_fee_log_id": 2800229441783621, + "ods_hash": "badaf26a125cf99fc0419d535ad3a9f6", + "dwd_hash": "fa78f83711b5f7088d436c31dc467aaa" + }, + { + "table_fee_log_id": 2800239124563973, + "ods_hash": "ef7c2d7c6362910260fbe231e9c55750", + "dwd_hash": "426cdceb2dc42885f6c25f6a8c3821ff" + }, + { + "table_fee_log_id": 2800239192983557, + "ods_hash": "016a95729665967fce80d973d8dd8df7", + "dwd_hash": "f2a3c50fd0165edb429acd6e058649d6" + }, + { + "table_fee_log_id": 2800259335767877, + "ods_hash": "f3aea9164f544f4499c1f5e6c6714bdb", + "dwd_hash": "cb799571b0f5af75fc456b15c7f37785" + }, + { + "table_fee_log_id": 2800262083528709, + "ods_hash": "a0b784efb02b6acb3c15cf9d5ab08f36", + "dwd_hash": "9f2040128e8005ea8ebbf2b480b74ed9" + }, + { + "table_fee_log_id": 2800265380710277, + "ods_hash": "465e54ccee1ad29b3d89063f8159362c", + "dwd_hash": "542ead549d0626985a2460c531dfc2f4" + }, + { + "table_fee_log_id": 2800272211904389, + "ods_hash": "164c02c1180dd943b452633d3c9e9d55", + "dwd_hash": "dc86aeb9825c6df92de2a5f184ada3a1" + }, + { + "table_fee_log_id": 2800301298436101, + "ods_hash": "adc175d4b20332475e5a0ecbade27acf", + "dwd_hash": "7d5f73abf3862a3635946a0d1666ce5b" + }, + { + "table_fee_log_id": 2800317000124293, + "ods_hash": "3aee8e81e163d51d03c4b33ba275aa97", + "dwd_hash": "b37974d1ebfe1533b12b85a76977c8f3" + }, + { + "table_fee_log_id": 2800328512047045, + "ods_hash": "830da782c33a7bbdaeb13b79c91e4991", + "dwd_hash": "ba6334ae8b8ba36249ca9dfe72b3dc97" + }, + { + "table_fee_log_id": 2800348915828613, + "ods_hash": "e67e73531f604cd93cc41a768e3b20e8", + "dwd_hash": "10853107c95e4517be1d3a1740d88d17" + }, + { + "table_fee_log_id": 2800378705070149, + "ods_hash": "e15216e589ee15a3e42821c53ed44848", + "dwd_hash": "7081e18f8d35213d3c9580074c88f3a7" + }, + { + "table_fee_log_id": 2800378804275205, + "ods_hash": "216ecff62d831d46d322b95ac863a691", + "dwd_hash": "ac50479e19203a55f39ccf75101fb59d" + }, + { + "table_fee_log_id": 2800379696531397, + "ods_hash": "f88957894607a0300be5858f2b92c7b8", + "dwd_hash": "2d09487a05ee820c0aa3ebef2c5b9dee" + }, + { + "table_fee_log_id": 2800379779762245, + "ods_hash": "b8c6771e1e30d614e06cc3074b1c2e5d", + "dwd_hash": "ddadf8beeb038e2da762876c134c2f27" + }, + { + "table_fee_log_id": 2800379849459590, + "ods_hash": "c4772af62ea801aaa70712e68d50d1e9", + "dwd_hash": "ba79aae7156d5858fd32a12f37536566" + }, + { + "table_fee_log_id": 2800410254477253, + "ods_hash": "7af5b7fcf244913566ae2d50ada9671e", + "dwd_hash": "dd6ce09652767e1a6aaa31006e1cdd29" + }, + { + "table_fee_log_id": 2800420129949637, + "ods_hash": "5a7ef4cff18fe7c6b0ca2d24a59145f4", + "dwd_hash": "869124d9028f261dde371a8b0e1ca78b" + }, + { + "table_fee_log_id": 2800421760534533, + "ods_hash": "16d01d4b5ec1b37994d8beee8e23a12f", + "dwd_hash": "ad3470cf928b23a0ae63eb945dbdbce4" + }, + { + "table_fee_log_id": 2800421760550917, + "ods_hash": "f5709c5fc6250b3c35ab296cd379502e", + "dwd_hash": "102fdbad7e50a3714b40afb3cd87f833" + }, + { + "table_fee_log_id": 2800428881152069, + "ods_hash": "97602e43e9dabaf776da66ce839592a1", + "dwd_hash": "7ec605344eb3fbdbcde2aef1475cd236" + }, + { + "table_fee_log_id": 2800430752009285, + "ods_hash": "b878ad11f86a4bc9f9ba3b5c3c57ca05", + "dwd_hash": "8929a931496cc52b63b5861f2e36a6bb" + }, + { + "table_fee_log_id": 2800433691674629, + "ods_hash": "6545714780b37cd3d07dcc5a3613c115", + "dwd_hash": "7d1a2ea45c890a0c43b926f0d959907d" + }, + { + "table_fee_log_id": 2800442629179461, + "ods_hash": "c06070e67db50888d9fb1e24e616a2bb", + "dwd_hash": "5f9d5dbb1f0a1c48c5c67a8511c36b1b" + }, + { + "table_fee_log_id": 2800460253743109, + "ods_hash": "0d068392900448544fc93b53f2b189b7", + "dwd_hash": "6c735b6e7711861c12c4431f168f8548" + }, + { + "table_fee_log_id": 2800462786250693, + "ods_hash": "c6ca40121782a877111379c57499348d", + "dwd_hash": "fd8758d496a4cdee7f776354d016c380" + }, + { + "table_fee_log_id": 2800477851207685, + "ods_hash": "507b1ee4ddd65345cd7e11846c6e91e3", + "dwd_hash": "c4715c0ed2a34756cf75b9fc191b619c" + }, + { + "table_fee_log_id": 2800479196071877, + "ods_hash": "c80f08bcb7e6fb9942e50b821c1afd5e", + "dwd_hash": "f129ec3f7c96c3cc5e7c1208e1d9cb21" + }, + { + "table_fee_log_id": 2800479978391557, + "ods_hash": "2386de6219d16e2a430b6216971f1ddb", + "dwd_hash": "56c91e6fc524007e8f520bf575cdeb09" + }, + { + "table_fee_log_id": 2800486211405829, + "ods_hash": "f7569e1a80780122ce0d75d1edb0789a", + "dwd_hash": "aad50e3673f4e7b999a2d7e13833528d" + }, + { + "table_fee_log_id": 2800486385715269, + "ods_hash": "f4a7d5d399e19ca0d515c8af976d0b12", + "dwd_hash": "c08df4c2f2bb4ccf4c2180c47d1d2db3" + }, + { + "table_fee_log_id": 2800488017709061, + "ods_hash": "05074b545fe665407bf0a72d5d7498fa", + "dwd_hash": "90b82da599eed200ecf4289ac882747a" + }, + { + "table_fee_log_id": 2800488101906373, + "ods_hash": "e33a7cdf7879e2174d05b14fa86a5692", + "dwd_hash": "3c6e3a52c7ccaf065cc38e7309093ad4" + }, + { + "table_fee_log_id": 2800489992832965, + "ods_hash": "7c6a54089430f76a9a777814ca7dde20", + "dwd_hash": "9abf78df9e6c0f51df5f34b551ea2356" + }, + { + "table_fee_log_id": 2800520188495941, + "ods_hash": "802b0fbf6d182a8e73678dd7f1b2c055", + "dwd_hash": "56bc5f14d1529adc104cdc021a90eaf6" + }, + { + "table_fee_log_id": 2800524097538053, + "ods_hash": "ed88809a14fe10522385c4735f4049da", + "dwd_hash": "8efb6a6db5717ef778367eaae4cf7bca" + }, + { + "table_fee_log_id": 2800526171457541, + "ods_hash": "e1b5e73435f0f28836ffe66e45b51ed3", + "dwd_hash": "f66f0133d83624d8e366fc08f03682b2" + }, + { + "table_fee_log_id": 2800526171473925, + "ods_hash": "a2e932fdd6b2a725db64031033a400b8", + "dwd_hash": "baede70388e816a33facc59d7be6a8b4" + }, + { + "table_fee_log_id": 2800531896108997, + "ods_hash": "67bf1e085aa4f79300941d8112921b57", + "dwd_hash": "adebb08dbcd049ad8b0292d5e1d605f5" + }, + { + "table_fee_log_id": 2800542169483205, + "ods_hash": "001dd13e1e5852c2032acfe18ed018dd", + "dwd_hash": "b33fe8b0921f09a153dd762d1184a972" + }, + { + "table_fee_log_id": 2800565625866245, + "ods_hash": "487894d7532ed63578cac8cf29f68dde", + "dwd_hash": "361932c0b88e9bfaca492232bc929843" + }, + { + "table_fee_log_id": 2800565739636805, + "ods_hash": "5d6a52d59ae33ad29336508e69d29870", + "dwd_hash": "ecf57b570f9a06f88ec3976b2b839e07" + }, + { + "table_fee_log_id": 2800569032705925, + "ods_hash": "725983246f1149fbf516e5069853e604", + "dwd_hash": "a1a734aac91c36377c2620f18ee6ab9d" + } + ], + "mismatch_error": null + }, + { + "dwd_table": "billiards_dwd.dwd_table_fee_adjust", + "ods_table": "billiards_ods.table_fee_discount_records", + "windowed": false, + "window_col": null, + "count": { + "dwd": 2963, + "ods": 2964, + "diff": -1 + }, + "amounts": [ + { + "column": "ledger_amount", + "dwd_sum": 350045.69, + "ods_sum": 350089.29, + "diff": -43.59999999997672 + } + ], + "mismatch": 2963, + "mismatch_samples": [ + { + "table_fee_adjust_id": 2800379696809925, + "ods_hash": "7ce2d6d66d5dc2e0b9d51d0b6adbd2aa", + "dwd_hash": "832a33580bf287ab01e77d5b67d5f6b0" + }, + { + "table_fee_adjust_id": 2800421760862213, + "ods_hash": "40c82f58503546ae308955e63b8062de", + "dwd_hash": "6500f879c5f4046789060378005e1cde" + }, + { + "table_fee_adjust_id": 2800479196448709, + "ods_hash": "4a441625678ad50f1522af395838262e", + "dwd_hash": "40751ee89b22668e955c882adfda4b5c" + }, + { + "table_fee_adjust_id": 2800479978670085, + "ods_hash": "80108dbed450bdc34ebf4985e39f545d", + "dwd_hash": "034693ebade908b5b0a2c690433a5a2b" + }, + { + "table_fee_adjust_id": 2800486211717125, + "ods_hash": "52dc8859f828b0855e2a551b476c7fd9", + "dwd_hash": "f5763afc7c39986d3ee62962ba379f96" + }, + { + "table_fee_adjust_id": 2800706253834245, + "ods_hash": "602e802e6f9b05d6123b315715fea93e", + "dwd_hash": "fa601a7e414946bf31a21d1480bda326" + }, + { + "table_fee_adjust_id": 2800711390840837, + "ods_hash": "cdb048876ca30a4cfa6868126fac1340", + "dwd_hash": "85a4c5a0a725da7f10eedb29cc8e0334" + }, + { + "table_fee_adjust_id": 2800770325694533, + "ods_hash": "f612cf48ce594eea51ef3d5a3e9c301b", + "dwd_hash": "de055594d98238c00b7f4e43b77512eb" + }, + { + "table_fee_adjust_id": 2800825635522629, + "ods_hash": "f78c4c1ff6955a531d7f1ec863416963", + "dwd_hash": "fe4e273fe1f3a14f10244df0847d8bbd" + }, + { + "table_fee_adjust_id": 2800843724834949, + "ods_hash": "1f29584e1375acfd83935870f1bf2e07", + "dwd_hash": "cd2f8a44338fe00de9bf47d0577d3b73" + }, + { + "table_fee_adjust_id": 2800876785502405, + "ods_hash": "fdb6d69f3ba1ff45467249b6816c9127", + "dwd_hash": "afc9e50ea1a37abb912207b921a654f2" + }, + { + "table_fee_adjust_id": 2800889951897605, + "ods_hash": "309daefc3c358dc7aafa393d00cc49b3", + "dwd_hash": "5a8547815b5b1cf74995c8982c083c22" + }, + { + "table_fee_adjust_id": 2800896786892997, + "ods_hash": "62c67b6b13f8bc6449ced05113507a39", + "dwd_hash": "b3fbf383c768353f592a8f9c915d5de7" + }, + { + "table_fee_adjust_id": 2801005953304837, + "ods_hash": "b5470881813e190bc8353082a3bd83a5", + "dwd_hash": "cc306e0fa329586d194d34e35a28ebbf" + }, + { + "table_fee_adjust_id": 2801760805128261, + "ods_hash": "8e5c5de8ec0924c0a7ef36194905f8ef", + "dwd_hash": "ee0948f9a28e382bef5b29c231afe555" + }, + { + "table_fee_adjust_id": 2801783841146949, + "ods_hash": "a4841562c846266fd1c57838542fa0f3", + "dwd_hash": "24654d6046a1116afbde95ede1caf6ab" + }, + { + "table_fee_adjust_id": 2801790309910789, + "ods_hash": "f33a4ccd9cb88c9f740d28cbcbb80e53", + "dwd_hash": "faffe5b110689337bb8cca805ef55b52" + }, + { + "table_fee_adjust_id": 2801929481078853, + "ods_hash": "056962c198518f282e06b01ecfde69ab", + "dwd_hash": "582a0f6382c9382dcb792d1605a8f3e9" + }, + { + "table_fee_adjust_id": 2801967422589189, + "ods_hash": "82aacecabf0a82779842887979946e85", + "dwd_hash": "7943fcf3dfbb99287c94035a5a7cc924" + }, + { + "table_fee_adjust_id": 2802022786484485, + "ods_hash": "78cbe372ec302661099b40da6aa97aba", + "dwd_hash": "47780e2ee4616eb035644e79c06f13c0" + }, + { + "table_fee_adjust_id": 2802053355587653, + "ods_hash": "1009fa765e1febae65defa47932b0d52", + "dwd_hash": "127896dc74aac46e4ddfe89d302e63f8" + }, + { + "table_fee_adjust_id": 2802054934628549, + "ods_hash": "062d351f9a426d938528100e83f5ddd7", + "dwd_hash": "443f21c06e37de4b6cd70c9986677fe9" + }, + { + "table_fee_adjust_id": 2802075486898373, + "ods_hash": "c9fd03849f7eb9e32688266535b0df4c", + "dwd_hash": "ec638951722b3924dd3522a669ba3093" + }, + { + "table_fee_adjust_id": 2802093906217349, + "ods_hash": "d2b196faa4cbfffba1f3ed03b7fa9f6d", + "dwd_hash": "59bc1948976028bf2c0d82eacaf09895" + }, + { + "table_fee_adjust_id": 2802093906266501, + "ods_hash": "6d0aa054cdd3ca4dc573f390310eabc1", + "dwd_hash": "08836968ec4c83cbaf2671adeb02dc6b" + }, + { + "table_fee_adjust_id": 2802093906315653, + "ods_hash": "4ce46d0e14169b19cdbc54b7c43003af", + "dwd_hash": "033fdcbe0fec06a95b00846a4e65fc28" + }, + { + "table_fee_adjust_id": 2802093906397573, + "ods_hash": "726ba7d60cbc08f386130ba9325ba8d7", + "dwd_hash": "a45d01a3b05bb635abd3e7f4fabe892f" + }, + { + "table_fee_adjust_id": 2802093906446725, + "ods_hash": "91f8016239868f640217778dd2c696fe", + "dwd_hash": "3dd4b64260cff013282cf2c4782d8cc3" + }, + { + "table_fee_adjust_id": 2802163714017541, + "ods_hash": "52a1cae89e96710f9581eff0db4df617", + "dwd_hash": "2a76f4b465eaad31a6d791317a67938e" + }, + { + "table_fee_adjust_id": 2802278049646661, + "ods_hash": "5f63f4def7021cf549b8424646a1ea8f", + "dwd_hash": "388553fc3d4b9e84581517d64a9d2fe3" + }, + { + "table_fee_adjust_id": 2802280012680389, + "ods_hash": "2bd1b2981ed7b1163248601536b6db6a", + "dwd_hash": "9a4069cf6c1f2629c6301a4b46cd3966" + }, + { + "table_fee_adjust_id": 2802327004449925, + "ods_hash": "2ff87542bd2a0078920e8d823350f0f0", + "dwd_hash": "45e2441999c431746420cbd195a9a93e" + }, + { + "table_fee_adjust_id": 2802327004499077, + "ods_hash": "813c665f5f7beca488d998fd523f55ad", + "dwd_hash": "521875c5f5336eea973764667749a4cb" + }, + { + "table_fee_adjust_id": 2802363812186181, + "ods_hash": "a57a704b660f7ab109a5ff8fd76648bc", + "dwd_hash": "2947a65d3f000c9b6705e698944575e0" + }, + { + "table_fee_adjust_id": 2802365271018693, + "ods_hash": "91cbe0fc2a9e686d8f809f5e4cfcb665", + "dwd_hash": "bc1cd39bdb142528f9d14707f1048a32" + }, + { + "table_fee_adjust_id": 2802368170134725, + "ods_hash": "6df20e5867d98bfc683471c0820825f7", + "dwd_hash": "4fd1d241b33a00b88ebd8cda18379377" + }, + { + "table_fee_adjust_id": 2802399883036741, + "ods_hash": "c4ec71958e6ad1559959ae6833d01dfe", + "dwd_hash": "583571e114f9fee29eec698bded72e37" + }, + { + "table_fee_adjust_id": 2802534808143941, + "ods_hash": "ddac22a3aab7a9b0ccb5641f48a2e08f", + "dwd_hash": "abb9af232663e6a6b7a9743c81586128" + }, + { + "table_fee_adjust_id": 2803270381127749, + "ods_hash": "5751bdbf8a61c5acf391aa1758a67d34", + "dwd_hash": "99af713c44d7f5d009a334732ee6c765" + }, + { + "table_fee_adjust_id": 2803405096963269, + "ods_hash": "6d20e2a598fe72f9422c469e321cb812", + "dwd_hash": "d129d527d90867be29c635890b0c72da" + }, + { + "table_fee_adjust_id": 2803448049797189, + "ods_hash": "d4a44fc025ec328b355b6df8ec5238ce", + "dwd_hash": "fe52d82a449191416515ef1b81ea730f" + }, + { + "table_fee_adjust_id": 2803523020213509, + "ods_hash": "33d57ae9e77239f96fb4b7c34629cfa7", + "dwd_hash": "ed8cfb951e43b26509a279b6e8aa60e4" + }, + { + "table_fee_adjust_id": 2803523020262661, + "ods_hash": "9e7e67907c2e83352c72ace760a03c1b", + "dwd_hash": "1995db2f86e725571a031a5bfc09f9e6" + }, + { + "table_fee_adjust_id": 2803525167892549, + "ods_hash": "d56646fc379a005caf426a0d80ce2252", + "dwd_hash": "21c12c15597e8750c2286a0d6ca0b19e" + }, + { + "table_fee_adjust_id": 2803556074342469, + "ods_hash": "e8fec15703f98ee080f2db5bcb4da0f0", + "dwd_hash": "9d4a388e322bc48934d496ebf3d9a72e" + }, + { + "table_fee_adjust_id": 2803564671732933, + "ods_hash": "036500cea7376f1aa8d73c3fb3149d98", + "dwd_hash": "7bfef906ca79bc59e1cabb67312c0fbe" + }, + { + "table_fee_adjust_id": 2803648600329413, + "ods_hash": "2fa825b8a4ee9879ceae0000c372b6a4", + "dwd_hash": "2199feb05cb530006b11028452523c7f" + }, + { + "table_fee_adjust_id": 2803669730823365, + "ods_hash": "1824ba40dc33f39c7bddb6ad3f4c8c61", + "dwd_hash": "403560afc9c23cf9558c32ae3530a9d8" + }, + { + "table_fee_adjust_id": 2803701662108869, + "ods_hash": "bdbab81356d037b611561cb1211e16d6", + "dwd_hash": "0a7dc623b3429f374c08b42432082eac" + }, + { + "table_fee_adjust_id": 2803712975703301, + "ods_hash": "814d549e24af4845f4ac0dce0b89f153", + "dwd_hash": "ba485749618c1d998e2c0bb6af5279fb" + } + ], + "mismatch_error": null + }, + { + "dwd_table": "billiards_dwd.dwd_table_fee_adjust_ex", + "ods_table": "billiards_ods.table_fee_discount_records", + "windowed": false, + "window_col": null, + "count": { + "dwd": 2963, + "ods": 2964, + "diff": -1 + }, + "amounts": [], + "mismatch": 2963, + "mismatch_samples": [ + { + "table_fee_adjust_id": 2800379696809925, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2800421760862213, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2800479196448709, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2800479978670085, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2800486211717125, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2800706253834245, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2800711390840837, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2800770325694533, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2800825635522629, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2800843724834949, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2800876785502405, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2800889951897605, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2800896786892997, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2801005953304837, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2801760805128261, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2801783841146949, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2801790309910789, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2801929481078853, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2801967422589189, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2802022786484485, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2802053355587653, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2802054934628549, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2802075486898373, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2802093906217349, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2802093906266501, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2802093906315653, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2802093906397573, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2802093906446725, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2802163714017541, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2802278049646661, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2802280012680389, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2802327004449925, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2802327004499077, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2802363812186181, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2802365271018693, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2802368170134725, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2802399883036741, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2802534808143941, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2803270381127749, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2803405096963269, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2803448049797189, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2803523020213509, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2803523020262661, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2803525167892549, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2803556074342469, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2803564671732933, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2803648600329413, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2803669730823365, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2803701662108869, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + }, + { + "table_fee_adjust_id": 2803712975703301, + "ods_hash": "f083d4ada814a00a5c71b9b18c05e923", + "dwd_hash": "590215a8afbc4c47cabb5f010977fa28" + } + ], + "mismatch_error": null + }, + { + "dwd_table": "billiards_dwd.dwd_store_goods_sale", + "ods_table": "billiards_ods.store_goods_sales_records", + "windowed": true, + "window_col": "create_time", + "count": { + "dwd": 0, + "ods": 0, + "diff": 0 + }, + "amounts": [ + { + "column": "cost_money", + "dwd_sum": 0.0, + "ods_sum": 0.0, + "diff": 0.0 + }, + { + "column": "ledger_amount", + "dwd_sum": 0.0, + "ods_sum": 0.0, + "diff": 0.0 + }, + { + "column": "real_goods_money", + "dwd_sum": 0.0, + "ods_sum": 0.0, + "diff": 0.0 + } + ], + "mismatch": 0, + "mismatch_samples": [], + "mismatch_error": null + }, + { + "dwd_table": "billiards_dwd.dwd_store_goods_sale_ex", + "ods_table": "billiards_ods.store_goods_sales_records", + "windowed": false, + "window_col": null, + "count": { + "dwd": 17563, + "ods": 17563, + "diff": 0 + }, + "amounts": [ + { + "column": "coupon_deduct_money", + "dwd_sum": 0.0, + "ods_sum": 0.0, + "diff": 0.0 + }, + { + "column": "discount_money", + "dwd_sum": 21673.2, + "ods_sum": 21673.2, + "diff": 0.0 + }, + { + "column": "member_discount_amount", + "dwd_sum": 0.0, + "ods_sum": 0.0, + "diff": 0.0 + }, + { + "column": "option_coupon_deduct_money", + "dwd_sum": 0.0, + "ods_sum": 0.0, + "diff": 0.0 + }, + { + "column": "option_member_discount_money", + "dwd_sum": 0.0, + "ods_sum": 0.0, + "diff": 0.0 + }, + { + "column": "point_discount_money", + "dwd_sum": 0.0, + "ods_sum": 0.0, + "diff": 0.0 + }, + { + "column": "point_discount_money_cost", + "dwd_sum": 0.0, + "ods_sum": 0.0, + "diff": 0.0 + }, + { + "column": "push_money", + "dwd_sum": 0.0, + "ods_sum": 0.0, + "diff": 0.0 + } + ], + "mismatch": 0, + "mismatch_samples": [], + "mismatch_error": null + }, + { + "dwd_table": "billiards_dwd.dwd_assistant_service_log", + "ods_table": "billiards_ods.assistant_service_records", + "windowed": true, + "window_col": "create_time", + "count": { + "dwd": 6, + "ods": 6, + "diff": 0 + }, + "amounts": [ + { + "column": "coupon_deduct_money", + "dwd_sum": 0.0, + "ods_sum": 0.0, + "diff": 0.0 + }, + { + "column": "ledger_amount", + "dwd_sum": 2633.26, + "ods_sum": 2633.26, + "diff": 0.0 + } + ], + "mismatch": 6, + "mismatch_samples": [ + { + "assistant_service_id": 3075473604216197, + "ods_hash": "c1ccc725c413c59edb609de0bbb7f669", + "dwd_hash": "a69bc452e29d9602e3bb5d92a7495f47" + }, + { + "assistant_service_id": 3075584989021829, + "ods_hash": "28d585b0cc44f42b933e5244a76ec89d", + "dwd_hash": "ae15b002120489d35cf01f5eb7ef7536" + }, + { + "assistant_service_id": 3075626777986501, + "ods_hash": "51325557e6f03c7036d8ae91744d98ef", + "dwd_hash": "14ea2cc52975763544d9a2bbe1f660c0" + }, + { + "assistant_service_id": 3075631431124549, + "ods_hash": "349d4f0261cf235486b9c0057b076def", + "dwd_hash": "545abe02e9d4ed7b8734df4f0204bca9" + }, + { + "assistant_service_id": 3075631431616069, + "ods_hash": "74aeecd05b8d51643220faf683fbbb02", + "dwd_hash": "bb702d94949b035889fff5c830aa1cab" + }, + { + "assistant_service_id": 3075750061999557, + "ods_hash": "4dd449a2fd33353d543d7816d5ab1319", + "dwd_hash": "0d651122c44afd42cb7729bcfe887b9f" + } + ], + "mismatch_error": null + }, + { + "dwd_table": "billiards_dwd.dwd_assistant_service_log_ex", + "ods_table": "billiards_ods.assistant_service_records", + "windowed": false, + "window_col": null, + "count": { + "dwd": 5152, + "ods": 5152, + "diff": 0 + }, + "amounts": [ + { + "column": "manual_discount_amount", + "dwd_sum": 414.17, + "ods_sum": 414.17, + "diff": 0.0 + }, + { + "column": "member_discount_amount", + "dwd_sum": 0.0, + "ods_sum": 0.0, + "diff": 0.0 + }, + { + "column": "service_money", + "dwd_sum": 0.0, + "ods_sum": 0.0, + "diff": 0.0 + } + ], + "mismatch": 5152, + "mismatch_samples": [ + { + "assistant_service_id": 2800311971268549, + "ods_hash": "fe36621f6570a296c3e26f2aa565d29a", + "dwd_hash": "690bb89865a22799ce4f5ecad6c8522a" + }, + { + "assistant_service_id": 2800464769091525, + "ods_hash": "ec841097507660af2c2049d22b3f9791", + "dwd_hash": "ae4a1dc2e5e39cfab525df10bd4d34b7" + }, + { + "assistant_service_id": 2800524097669125, + "ods_hash": "1deb68b6c3e5cf52590d8c689a839d96", + "dwd_hash": "365325fe3e1c5bbfca02f566715c49eb" + }, + { + "assistant_service_id": 2800770325219397, + "ods_hash": "7365f19af578aa318a401c6f8b43d995", + "dwd_hash": "0a2664633b9b2394a48722e6a966d578" + }, + { + "assistant_service_id": 2800772217931845, + "ods_hash": "913e870648ed15c791c4ddcd5b0192d5", + "dwd_hash": "841e2c6625ae7737c77bd017bf25a966" + }, + { + "assistant_service_id": 2800772218161221, + "ods_hash": "773ef83a0e5dbd473173d96135e32476", + "dwd_hash": "b4abc7019e2b64896821a6e4aa3e7f32" + }, + { + "assistant_service_id": 2800772218390597, + "ods_hash": "9a250d7f507279cdd3443b2cb0605e8a", + "dwd_hash": "4cf2d67f530f618ee902923d10ef0be3" + }, + { + "assistant_service_id": 2800772218619973, + "ods_hash": "964f1528de5b9fa42c424e11fd64cc99", + "dwd_hash": "5410137b214b09e9aa401a859bd92b69" + }, + { + "assistant_service_id": 2800772218849349, + "ods_hash": "7a0eb9b32afedba7ccb7789cc2ee829f", + "dwd_hash": "45a144f045f01c52329e06d19e5a0045" + }, + { + "assistant_service_id": 2800825635047493, + "ods_hash": "994dc219037df24d6ee8c97a14cf986b", + "dwd_hash": "188ea3b0284ebfd9d641918bfa9bf75c" + }, + { + "assistant_service_id": 2800843723868293, + "ods_hash": "343407bb90d5c34dc6919d440d765b2d", + "dwd_hash": "3dd7f844988be4895247ad5bf94cefff" + }, + { + "assistant_service_id": 2800843724359813, + "ods_hash": "dfa806ddb102a82dd97f808fc49351b5", + "dwd_hash": "d8bc9a8fcef10c60744911be21e884c6" + }, + { + "assistant_service_id": 2800864103942341, + "ods_hash": "130588d0bf03272efbe25316f2974031", + "dwd_hash": "bc8ce8c1681bc96bb49662c6ff3a80d5" + }, + { + "assistant_service_id": 2800889950226437, + "ods_hash": "57d79050902ad1e484e99be219459f70", + "dwd_hash": "baefdc55356661621a07ec9f11e53f71" + }, + { + "assistant_service_id": 2800889950455813, + "ods_hash": "c53b6b571c3c9ba45801cdb4ae2ab7b1", + "dwd_hash": "7d8883b2300a12df7b5192bb02cf924e" + }, + { + "assistant_service_id": 2800889950685189, + "ods_hash": "b0c2bf723ea1d8213b652d53b2e783a9", + "dwd_hash": "5e38bd233f265002c0671264fe1e1316" + }, + { + "assistant_service_id": 2800889950898181, + "ods_hash": "90d02c53466f070d12571c6fc56b578a", + "dwd_hash": "d4c8bc189ff9b01ba93417d40301227e" + }, + { + "assistant_service_id": 2800890473597125, + "ods_hash": "c0dc511009354fcd87425d32a6116180", + "dwd_hash": "96456f1c3e8c3b410b47d4432e14db3c" + }, + { + "assistant_service_id": 2800955647002693, + "ods_hash": "8fe5e3525d56c8edb04017c283a59201", + "dwd_hash": "53804b7b5c439c9e0cf0e11de43c8bdd" + }, + { + "assistant_service_id": 2801005951912197, + "ods_hash": "3e2fe2c5663c8b47f4440872d5d6ccf1", + "dwd_hash": "cc52f3c8d7198b39c7dba04a5577b897" + }, + { + "assistant_service_id": 2801005952141573, + "ods_hash": "e1a19fde396de07fa38ff71497d4f7d8", + "dwd_hash": "e1628def4f068831b116758e6361399e" + }, + { + "assistant_service_id": 2801005952354565, + "ods_hash": "bc8c68d8b4c8b71d84a107493aec8317", + "dwd_hash": "1cb8fd25f87f08c9a340f6e83bf18052" + }, + { + "assistant_service_id": 2801005952567557, + "ods_hash": "d9b5740e4da818a12c4b7ec3e829be1e", + "dwd_hash": "5fae6887d30bab22ceafda4119cdeeca" + }, + { + "assistant_service_id": 2801005952796933, + "ods_hash": "09a2edef9eab4cc1d3daea3c6fb95602", + "dwd_hash": "0eb479185918ea93c2383907a8a66441" + }, + { + "assistant_service_id": 2801034757752901, + "ods_hash": "ed495e6af83c8eba2851a2d4a9abd3a5", + "dwd_hash": "849ca6cc2d9f7a8ebc464e688f2cdd50" + }, + { + "assistant_service_id": 2801731033909509, + "ods_hash": "102c18cfad0a6fd88c2823b90f68f4f4", + "dwd_hash": "05c8dc33224ab9c8b44a16e561b9ea0f" + }, + { + "assistant_service_id": 2801857536854213, + "ods_hash": "052722aa64bb7e2a21b5ce2e55394421", + "dwd_hash": "be248a75a214f32935c9cbfbe308db8c" + }, + { + "assistant_service_id": 2801871998060805, + "ods_hash": "d9a88de124257b11e4768de6a41d44b9", + "dwd_hash": "82e6d02f3721d867e4225becefd1d52e" + }, + { + "assistant_service_id": 2801878221768773, + "ods_hash": "ec7fc4d5f54255aea3f3aa43c3f2ae72", + "dwd_hash": "c1264a9e612c51e361c2b9fbe811b114" + }, + { + "assistant_service_id": 2801880522705157, + "ods_hash": "a50d3a4df9548029fbc6a1a1bab96a52", + "dwd_hash": "c113962e0643d3d1f4097e706937aa55" + }, + { + "assistant_service_id": 2801967422032133, + "ods_hash": "9c0546322fac768ef27004854eba6810", + "dwd_hash": "1bbd57981d1d39ae12c66d1779d565f4" + }, + { + "assistant_service_id": 2801986785806533, + "ods_hash": "14734317668d26465d6635b6975704b0", + "dwd_hash": "b5cd1beba3ece4b23f4fec92750d3e68" + }, + { + "assistant_service_id": 2802022786009349, + "ods_hash": "098f0ba69cc142d5a1494ab0dddcacb3", + "dwd_hash": "605073b30b680539f3fa851b54e2b1ab" + }, + { + "assistant_service_id": 2802057516501253, + "ods_hash": "829e53d629e35a631e75092682a7e983", + "dwd_hash": "c009f6787e1ad1acf4d09c552bde3a9a" + }, + { + "assistant_service_id": 2802067209062469, + "ods_hash": "e4df0c1da0a12a12959ce4f022762f4f", + "dwd_hash": "e61072581a8bb91315bc9335be677fd7" + }, + { + "assistant_service_id": 2802067209291845, + "ods_hash": "4db4293e655b1fd41edda6e0a7b66318", + "dwd_hash": "a23e2b3514a22623d563efe2a3b37370" + }, + { + "assistant_service_id": 2802116511680901, + "ods_hash": "22a1879a1eb48f31d4073d81a6e0b581", + "dwd_hash": "e91dee3ad07c491c34fc699cf84f015e" + }, + { + "assistant_service_id": 2802116511910277, + "ods_hash": "3b2c7482716c5fe8eed600c49afddbf6", + "dwd_hash": "a6a8695e52ce2b3b02dccd096154341d" + }, + { + "assistant_service_id": 2802122102753669, + "ods_hash": "d7da09df55067d6355912633074f5eaf", + "dwd_hash": "0cf34adad2a5fb68ae783030dbbdfb4a" + }, + { + "assistant_service_id": 2802145474185477, + "ods_hash": "9f2c58fcdfca48f4f96ff53bab5649fe", + "dwd_hash": "ca49b54ee6fb3e640f1a87a316246699" + }, + { + "assistant_service_id": 2802163712411909, + "ods_hash": "2f9f5aaa18554d14f2ff8fef4e98eabd", + "dwd_hash": "62754fb16bf6a8262b1a1b2447436fc9" + }, + { + "assistant_service_id": 2802163712641285, + "ods_hash": "b98f0ce8a688cce15795d9632ced008f", + "dwd_hash": "fcfe813db0dfb34347ea17ef205ae130" + }, + { + "assistant_service_id": 2802163712919813, + "ods_hash": "574f9ca2de4284ab91a7750b2a4d584e", + "dwd_hash": "794b81c1afd5643e568fe9fe5dc56971" + }, + { + "assistant_service_id": 2802163713165573, + "ods_hash": "d72581de46f6ec86e11746776700ecf2", + "dwd_hash": "bc2bb3718d33f4c56407ffcec21b58a2" + }, + { + "assistant_service_id": 2802163713394949, + "ods_hash": "41b980d15e06b054d2dc21b5e41e48aa", + "dwd_hash": "69c0cc32103a310e9ec1236355556dd2" + }, + { + "assistant_service_id": 2802173013723525, + "ods_hash": "f84df7c99f06b6a812382d086c443f0f", + "dwd_hash": "2c4cbeabadfdddbc7c9abf9c9f41d76f" + }, + { + "assistant_service_id": 2802237353527365, + "ods_hash": "fc9b40a1c9590aa6023a62f0d7fa78af", + "dwd_hash": "3cbabdfaceb2d257d75449e2b25434f4" + }, + { + "assistant_service_id": 2802246307810437, + "ods_hash": "7d7095fb140ba875b0b4aca3a29092a4", + "dwd_hash": "92f6226c3a63cfdbdad11ca5fc461d3d" + }, + { + "assistant_service_id": 2802246308056197, + "ods_hash": "3e0143f533ac01414f575286cc1f9a2f", + "dwd_hash": "25ec255442b40313b8646b42decfe5c8" + }, + { + "assistant_service_id": 2802327003925637, + "ods_hash": "a23495b8737bd1e4b401a8ad9f3ad6d8", + "dwd_hash": "99dcb3d3924e8ccd7017429f405bdbf1" + } + ], + "mismatch_error": null + }, + { + "dwd_table": "billiards_dwd.dwd_assistant_trash_event", + "ods_table": "billiards_ods.assistant_cancellation_records", + "windowed": false, + "window_col": null, + "count": { + "dwd": 100, + "ods": 100, + "diff": 0 + }, + "amounts": [], + "mismatch": 100, + "mismatch_samples": [ + { + "assistant_trash_event_id": 2959363180793541, + "ods_hash": "6eee23318de94442259837424ef92e6f", + "dwd_hash": "1290dea2b5cea7f3b9c32235095e1309" + }, + { + "assistant_trash_event_id": 2964115283857093, + "ods_hash": "48fd1dd5da04b6522284c7ea2380101d", + "dwd_hash": "5abd842c4af737085dd6854d33f0c46a" + }, + { + "assistant_trash_event_id": 2969416950123717, + "ods_hash": "8964a5ad3b87f736021fd14577d93960", + "dwd_hash": "8304571b73c2bddd9db7527fde1b029e" + }, + { + "assistant_trash_event_id": 2975809439713221, + "ods_hash": "26ae47c0a853c385680aa182df09a599", + "dwd_hash": "d4a3123a980f9660942ea32f1725107c" + }, + { + "assistant_trash_event_id": 2979152118564997, + "ods_hash": "10847649cdf60fb423ee0dab3652f593", + "dwd_hash": "2ce63688b52a11ab216b5a20259d62c8" + }, + { + "assistant_trash_event_id": 2980595948766661, + "ods_hash": "e7c685006e67a7d0d3957d98ee8c2976", + "dwd_hash": "089b33f49b483f6ed1f58a7238530859" + }, + { + "assistant_trash_event_id": 2980663519594501, + "ods_hash": "44ddbd8ac38fc8b5be7c73375918e3b4", + "dwd_hash": "9cfba38b5abf8b2779885eba98a63e73" + }, + { + "assistant_trash_event_id": 2983505146384965, + "ods_hash": "4820b86814512ffe5ae77ddafa636699", + "dwd_hash": "8d1ed519cceff51fd75c6e2a8e8d3645" + }, + { + "assistant_trash_event_id": 2983505146745413, + "ods_hash": "584b03e6365f93abe490924aebbd8f44", + "dwd_hash": "e29df42167db91e25053aa7d640a7cfc" + }, + { + "assistant_trash_event_id": 2988030897195653, + "ods_hash": "f6e619140e04025fe67c3ac1cc1fce47", + "dwd_hash": "191a37f4ae04e077d671f54064af0c99" + }, + { + "assistant_trash_event_id": 2990633993343557, + "ods_hash": "0a39000d7a89b3017d741f14356b0c72", + "dwd_hash": "16321be205fe3945f62c07929355e465" + }, + { + "assistant_trash_event_id": 2990834178871877, + "ods_hash": "d6e4014f9af15d75c1cb410ccc9f38ef", + "dwd_hash": "e6fb4ec60850eecd83e39332e637ebb3" + }, + { + "assistant_trash_event_id": 2991820437967429, + "ods_hash": "222e38869053d87900274cc8e3054bea", + "dwd_hash": "76e1374595f55f6cbe6f4b3569699580" + }, + { + "assistant_trash_event_id": 2991991404466757, + "ods_hash": "80a0f06776883056677489c4ce8d55d3", + "dwd_hash": "8bc9cd42d7221150d6e4baad2e99558d" + }, + { + "assistant_trash_event_id": 2997598464608773, + "ods_hash": "b79e3bc31a0f79f3eff59cc9d7074835", + "dwd_hash": "19708e797f08c52a6dea0f4a4894a90c" + }, + { + "assistant_trash_event_id": 2997598724524613, + "ods_hash": "07ea4cce3a8bb4d47929e6c41e7a593e", + "dwd_hash": "f709fc929fec842abb7466a4b9ec1594" + }, + { + "assistant_trash_event_id": 2998795100097029, + "ods_hash": "2df2d31d51b8785971459870696a1cb7", + "dwd_hash": "d0fe0aad7608fbb7a8942e3ff589fb68" + }, + { + "assistant_trash_event_id": 3000445737830981, + "ods_hash": "80b499288980b9c795ec9daa68b6584e", + "dwd_hash": "9a7024cad4e39b9add9ec98d3232dcc8" + }, + { + "assistant_trash_event_id": 3030103311108037, + "ods_hash": "c7dd0f9bd65a8bc93d139c9d6286c55b", + "dwd_hash": "7a30f1d0e1bd890cdff6f4dc633c4d5d" + }, + { + "assistant_trash_event_id": 3030103311501253, + "ods_hash": "ddd1d78ac5277832f0311345d7af11ba", + "dwd_hash": "c98c4c5f02fea838a8c7d0cebdaaeec4" + }, + { + "assistant_trash_event_id": 3030231223846981, + "ods_hash": "8de9ce091b5fe63481eda1df36723886", + "dwd_hash": "8632f02aa9b0f7a2af92f346f963e322" + }, + { + "assistant_trash_event_id": 3030231224371269, + "ods_hash": "dd40442d7b2e7d0b215ae57ed3b24443", + "dwd_hash": "87d7b90637f1fb215e2acb2aaac14ad9" + }, + { + "assistant_trash_event_id": 3030234610993157, + "ods_hash": "3298e571a63c3c97668291b5abf05c3b", + "dwd_hash": "891f43be7092373a73ff970901f013d3" + }, + { + "assistant_trash_event_id": 3030234611386373, + "ods_hash": "a77287a42332ab45ea88e657c37ff526", + "dwd_hash": "18f86c0e0527169d832aff9171c64d36" + }, + { + "assistant_trash_event_id": 3030234611779589, + "ods_hash": "1e0fe063e4eacda0bc91d099637a701e", + "dwd_hash": "85ebd198a6fc2bcfdfa0cb9190286485" + }, + { + "assistant_trash_event_id": 3037228553014469, + "ods_hash": "3c50ca34d4c6fda0d3038dcea8d82ddf", + "dwd_hash": "68c3012a20b1f15af23d656ee445657a" + }, + { + "assistant_trash_event_id": 3037302029585541, + "ods_hash": "2fafac5e2b2f800c36e0291e96309616", + "dwd_hash": "297c9f356fa118fda1dc1957acd87fc5" + }, + { + "assistant_trash_event_id": 3041469621225221, + "ods_hash": "e74496e10d9ae95ed4461a559cac38cb", + "dwd_hash": "6a7b6f5aecba30b9a5abb66a8634781b" + }, + { + "assistant_trash_event_id": 3041480269170565, + "ods_hash": "82e1ce51489b55a93d9136b6ad94c040", + "dwd_hash": "4e58061a1eeafabaacac81702d668851" + }, + { + "assistant_trash_event_id": 3041480269760389, + "ods_hash": "9d4b2e7a8301a79a29572684cecf5d37", + "dwd_hash": "dfdddebd7da0b17844954234c25f2093" + }, + { + "assistant_trash_event_id": 3041480270497669, + "ods_hash": "fc1dbe569a622ca8c2457a469815987d", + "dwd_hash": "7d6703c19e8f7c02e0284820baeb9c36" + }, + { + "assistant_trash_event_id": 3041542387304325, + "ods_hash": "ef3b83e3603d284cd565f7e91d76634f", + "dwd_hash": "902f38c74368489e133baabf767e3181" + }, + { + "assistant_trash_event_id": 3041542387828614, + "ods_hash": "e6377a93b95d8fef3bc78e8a0a2beda2", + "dwd_hash": "8b7f25ac917d0016ad4279fb5f462012" + }, + { + "assistant_trash_event_id": 3041542388385669, + "ods_hash": "60a571e5ae41244c51cd8b6a55e384ee", + "dwd_hash": "05950d1a1b725d288b17718b3b5e6222" + }, + { + "assistant_trash_event_id": 3041555860424581, + "ods_hash": "e05cd0176b6b38fa6fdde188abe3f51f", + "dwd_hash": "596b706a1bf16fcac92e2d375708e89a" + }, + { + "assistant_trash_event_id": 3041809077602053, + "ods_hash": "74da242f68b8d2e078ac6ffee84a4511", + "dwd_hash": "692cdbed9df03c945207a70d2c5c3160" + }, + { + "assistant_trash_event_id": 3071358041819077, + "ods_hash": "04790970569dea94cccbcbf9ab37d8a4", + "dwd_hash": "d9464e795f2769e06bd31ddbd6b3f0ed" + }, + { + "assistant_trash_event_id": 3001591407299397, + "ods_hash": "0e2e33a1a794d72f5bbf7ce3dd8e0419", + "dwd_hash": "8b99c1e2d087dab61e3e5b783a7cbe5d" + }, + { + "assistant_trash_event_id": 3001591407823685, + "ods_hash": "163b3ec0d2ab30c7e6902e61061f0dba", + "dwd_hash": "c4fee95f7df3294d23abc9f2ed346f9b" + }, + { + "assistant_trash_event_id": 3001592236264453, + "ods_hash": "ffffd0423e6ba4bf8c26a88261073c0e", + "dwd_hash": "af9340d0f4bd7674ee98ff9776880f0d" + }, + { + "assistant_trash_event_id": 3001592236641285, + "ods_hash": "74805dd225b112095c686dfab1a817b5", + "dwd_hash": "8e2b27ee100b61bcff2e3e72c94bbd7b" + }, + { + "assistant_trash_event_id": 3001592237018117, + "ods_hash": "c522c2fc115a415cdd2620d96cb3afe1", + "dwd_hash": "3323271bc1aff39976b1e92382568cf2" + }, + { + "assistant_trash_event_id": 3003160811246469, + "ods_hash": "e11a2756b26117d45036aefecccc9ca6", + "dwd_hash": "9f1bc9b1d1db77fd24b12c876e1805a3" + }, + { + "assistant_trash_event_id": 3003233571771077, + "ods_hash": "b42a7e1ef6150791a51157d712639276", + "dwd_hash": "c4fc50b07b8c0ae4fa6a074206a2452c" + }, + { + "assistant_trash_event_id": 3006335394924613, + "ods_hash": "9bf6ade10ed46043bd1e5d74e808b589", + "dwd_hash": "66be6e9383cdd1d9a4b29c83f51d941b" + }, + { + "assistant_trash_event_id": 3007372846598405, + "ods_hash": "8a146bc9fae0abf97684aecdd896fef5", + "dwd_hash": "8faa1d504d601f7855a1de2fac12a048" + }, + { + "assistant_trash_event_id": 3021513785477189, + "ods_hash": "d86cfbaa5bb2615a2730542669e56330", + "dwd_hash": "b4ef80d9277bdbac14c01bacfb059a6a" + }, + { + "assistant_trash_event_id": 3042622933256072, + "ods_hash": "8462a0b4d1ef6d349b8a11f673844393", + "dwd_hash": "f3bdd0530b32e4bb198b135e8aa46678" + }, + { + "assistant_trash_event_id": 3042676057442181, + "ods_hash": "6f06613346e378a8fa325db9d0a5d132", + "dwd_hash": "d5da8ecc058ae7842d5c5837172b032b" + }, + { + "assistant_trash_event_id": 3042676057786245, + "ods_hash": "a719a408a578d9abe2a4721ec3a2b839", + "dwd_hash": "3fc07c3f00bb8fbaf61194accff08dbe" + } + ], + "mismatch_error": null + }, + { + "dwd_table": "billiards_dwd.dwd_assistant_trash_event_ex", + "ods_table": "billiards_ods.assistant_cancellation_records", + "windowed": false, + "window_col": null, + "count": { + "dwd": 100, + "ods": 100, + "diff": 0 + }, + "amounts": [], + "mismatch": 0, + "mismatch_samples": [], + "mismatch_error": null + }, + { + "dwd_table": "billiards_dwd.dwd_member_balance_change", + "ods_table": "billiards_ods.member_balance_changes", + "windowed": false, + "window_col": null, + "count": { + "dwd": 4873, + "ods": 4873, + "diff": 0 + }, + "amounts": [], + "mismatch": 4873, + "mismatch_samples": [ + { + "balance_change_id": 2800328071170949, + "ods_hash": "9034c1cd33d79da3d6d251cddc3eb8ae", + "dwd_hash": "53e2e58ba11b17821d75db3267fbdb5a" + }, + { + "balance_change_id": 2800328508984197, + "ods_hash": "dc2bfeae84c77252d26ee9cedfb2df60", + "dwd_hash": "eec043444254388629df780085b3a8c9" + }, + { + "balance_change_id": 2800329356315525, + "ods_hash": "992f0527c2f39dde8ef89d003e32b7f4", + "dwd_hash": "ba8df6ed4ca863e0668ea4281109aef4" + }, + { + "balance_change_id": 2800330000272261, + "ods_hash": "76d4eae5118378bdad1438b560f66b46", + "dwd_hash": "6868e74b299e9319cff0619e7a3fdb6f" + }, + { + "balance_change_id": 2800331271129989, + "ods_hash": "5cdf6bc9c4dd8ed4aa928a6c01bcab55", + "dwd_hash": "a3efc1b6b5ae725fd38b9dd4fc613a85" + }, + { + "balance_change_id": 2800331954736005, + "ods_hash": "7d78595c2640c0d0be6c84b459f7f63f", + "dwd_hash": "d1d4796f4ef47a98c4074e350bd24309" + }, + { + "balance_change_id": 2800332515314565, + "ods_hash": "638f4ef75cafaba06e48f76c3940422b", + "dwd_hash": "54030f825ad259f187fe23e3aee361fc" + }, + { + "balance_change_id": 2800332996627333, + "ods_hash": "3fe798dedfd9d3b6ba2219e8a99dbf75", + "dwd_hash": "846de13bf33e0c9946e60b226327eae1" + }, + { + "balance_change_id": 2800333602179973, + "ods_hash": "acf651585eb042f3355dab747d1f1305", + "dwd_hash": "38be2620eeb5adf6fa39d6088eb69991" + }, + { + "balance_change_id": 2800334284934021, + "ods_hash": "ce367f279d48c37f0d065e502f0e6c32", + "dwd_hash": "834b8f434649d993db9e43b58356ff65" + }, + { + "balance_change_id": 2800335026670469, + "ods_hash": "e3cce05718b5202a15cbe420ccb88d25", + "dwd_hash": "0fb0b589995e0eb53fa30526613fedb8" + }, + { + "balance_change_id": 2800336313338757, + "ods_hash": "1f1886e7067d299a342fe0450f7e0f49", + "dwd_hash": "9f1abd98cc4ff87642d8388e5f45951c" + }, + { + "balance_change_id": 2800336793930629, + "ods_hash": "b04c28f1b6e602d8da44d011026f57c8", + "dwd_hash": "8c7a7ae9c6d99869397e027856ead299" + }, + { + "balance_change_id": 2800337681140613, + "ods_hash": "de55e6710502b1851dcfa6f588235a23", + "dwd_hash": "2dc9405c1cd02a3377d9b1fe54089923" + }, + { + "balance_change_id": 2800338335697797, + "ods_hash": "9ecf26f88f40a151ddea78d91a6e2036", + "dwd_hash": "db93c3703c3377c7e50536b35e779758" + }, + { + "balance_change_id": 2800338703584133, + "ods_hash": "1b1e79bbc33955e312b3a3025b3cbc58", + "dwd_hash": "89e5d9c031a784bd0b4166380274adb8" + }, + { + "balance_change_id": 2800343012068229, + "ods_hash": "07275047a81764b582e7686a24eda5eb", + "dwd_hash": "129b6dbc7b6fce8f39309cc9d5a61299" + }, + { + "balance_change_id": 2800348154579013, + "ods_hash": "2f2cf55cbea82e857dd63fe7e96459b4", + "dwd_hash": "d451bb6e7348dd0ea7a0c0c51f08803a" + }, + { + "balance_change_id": 2800360635942917, + "ods_hash": "1538c857717009ba8d0cfbc36c9dfc12", + "dwd_hash": "a518f3238db7f4bfb300b0770898c2bd" + }, + { + "balance_change_id": 2800392615004101, + "ods_hash": "a25f139a4b7c5e76b8aa4fb73aa04332", + "dwd_hash": "5b20234d1b8a69ac4a32a640a4d6e8da" + }, + { + "balance_change_id": 2800404348963717, + "ods_hash": "54542096785a8b5fd61dd63449140355", + "dwd_hash": "ecd1bf18d252e7b99b56071c61e7c292" + }, + { + "balance_change_id": 2800534985656325, + "ods_hash": "3a247cf987653b96eb29b58e7ce58383", + "dwd_hash": "f24ee87fc14e6f22876abf97b8d6e191" + }, + { + "balance_change_id": 2800535382460293, + "ods_hash": "21db7efe43c9ac6a9a70f918a453466d", + "dwd_hash": "c92363d2bdcaf8be1c1131d9ec7988db" + }, + { + "balance_change_id": 2800574477469765, + "ods_hash": "e99af947e24434b03c89d88b54c4750f", + "dwd_hash": "85e58c03da14b08ec1e5fc0cbd09ac58" + }, + { + "balance_change_id": 2800677354735493, + "ods_hash": "caab4bc89885127c9a173f23b9234a5c", + "dwd_hash": "c95cbd95f3868032175b426b560efc27" + }, + { + "balance_change_id": 2800706251425797, + "ods_hash": "880ecbf4fcff954b1e8f7ccd595e2a78", + "dwd_hash": "3bee38552104eb1539af7cdd37cc4552" + }, + { + "balance_change_id": 2800753410148421, + "ods_hash": "9175e3fe40d0fdb2e0ff62548b3cb30d", + "dwd_hash": "de561ea966362e00a9ba10fb0fd7ed74" + }, + { + "balance_change_id": 2800763350779909, + "ods_hash": "0f21d8dfda370593391d6c4a9b8ab0ec", + "dwd_hash": "a5c403650dc58152af72b68d1e6ee82c" + }, + { + "balance_change_id": 2800765195537413, + "ods_hash": "a3825af64ad86ba3d4c74f8fe545f74c", + "dwd_hash": "aef964c59371a594d31abbe43aef6fb2" + }, + { + "balance_change_id": 2800765804300357, + "ods_hash": "822b8a53f0ee9d33afca87b201e37c61", + "dwd_hash": "1650d2db2f8f7686a2bce01dcea8b2cf" + }, + { + "balance_change_id": 2800770322679877, + "ods_hash": "042235220e43e1b162d47ab9ad8bf713", + "dwd_hash": "c3786a45ebfcfa09fc789dbddd7a655e" + }, + { + "balance_change_id": 2800770322827333, + "ods_hash": "4a8b8ac76453434fb3ccdf2ea6aab39b", + "dwd_hash": "ae9ad87cbf3a84adbc8a30bf0c86b361" + }, + { + "balance_change_id": 2800772214982725, + "ods_hash": "462155312448c718b7c2d93dc2c3bc34", + "dwd_hash": "7117a70daaba083537cde26d7293ee6f" + }, + { + "balance_change_id": 2800772215146565, + "ods_hash": "1fbe46f44d11f131ac18de905d3f4fd3", + "dwd_hash": "086df6a020c4ff18ab6af3225f7110e8" + }, + { + "balance_change_id": 2800824059775045, + "ods_hash": "c2d78f0c7982869cf311567866249574", + "dwd_hash": "60d3860505dc1043f1c039fa31025a0b" + }, + { + "balance_change_id": 2800825633032261, + "ods_hash": "abdc4620812e6b0abf56d7b90b2d5a9f", + "dwd_hash": "7ccc1abd9cd6eb1621eaf655442bc0b9" + }, + { + "balance_change_id": 2800829539863621, + "ods_hash": "7777fc1944a3b62fac1db3831277fcb1", + "dwd_hash": "be8ff79b5f340b2bbf65cb6a472843d1" + }, + { + "balance_change_id": 2800844153292997, + "ods_hash": "b822133e0d60cf6539e3183dbc4ac980", + "dwd_hash": "bc9caa730821ac2f91dd94e4885315b4" + }, + { + "balance_change_id": 2800889946458117, + "ods_hash": "ecb1a468e549d1063343c8676df0ec19", + "dwd_hash": "7a6734d9036e31d3761d7039248e089b" + }, + { + "balance_change_id": 2801646213892485, + "ods_hash": "54704865890898decea6fd40358a762a", + "dwd_hash": "9f38585c822d801d6b28007c2d5d61db" + }, + { + "balance_change_id": 2801784546658501, + "ods_hash": "c4d3a96fd681d3529a40efcd365af1db", + "dwd_hash": "7b321f34beda87bc7e0ba645a9697f4b" + }, + { + "balance_change_id": 2801857534658757, + "ods_hash": "bd12f4aa1f66dbab22401bda8d0b5985", + "dwd_hash": "02cf00a49e983f1cdba8411cb0cc801a" + }, + { + "balance_change_id": 2801878220818501, + "ods_hash": "cb9174ad970189742bb618963875fada", + "dwd_hash": "2fc581f9d16a0e4675ad04d96daec282" + }, + { + "balance_change_id": 2801879401302405, + "ods_hash": "e795eed83f5f88250c63092187f2bacc", + "dwd_hash": "7d47cf10e72d55218dcaf84b746c7e23" + }, + { + "balance_change_id": 2801880313809989, + "ods_hash": "595b335d781c140cf40174d5c022cb7d", + "dwd_hash": "d26bba9e54610ef0175ccaf73ee0b058" + }, + { + "balance_change_id": 2801880520182021, + "ods_hash": "98632168f4e25e8e22d77747f442a6d7", + "dwd_hash": "437c3a4ec4f8af12816298a2d1acda5e" + }, + { + "balance_change_id": 2801880520345861, + "ods_hash": "ae5e5fdf78f8f62940206c91812cdbe0", + "dwd_hash": "34da0511efd582303b4afc7162fee098" + }, + { + "balance_change_id": 2801894886148357, + "ods_hash": "417dc44336a422d43321a453f4cbb971", + "dwd_hash": "5d50c5c0e6291e1cd8e4a8a75a2f714e" + }, + { + "balance_change_id": 2801947958970437, + "ods_hash": "3d2ef1222da7554ef964e00daa9efb9c", + "dwd_hash": "f094efbf03e410b6b61410d8ddb5bf56" + }, + { + "balance_change_id": 2801968103704773, + "ods_hash": "527935f4b15497c372e8c1bec66d0eaa", + "dwd_hash": "8ed1a12c04f92b785419e378b97803cc" + } + ], + "mismatch_error": null + }, + { + "dwd_table": "billiards_dwd.dwd_member_balance_change_ex", + "ods_table": "billiards_ods.member_balance_changes", + "windowed": false, + "window_col": null, + "count": { + "dwd": 4873, + "ods": 4873, + "diff": 0 + }, + "amounts": [ + { + "column": "refund_amount", + "dwd_sum": 0.0, + "ods_sum": 0.0, + "diff": 0.0 + } + ], + "mismatch": 0, + "mismatch_samples": [], + "mismatch_error": null + }, + { + "dwd_table": "billiards_dwd.dwd_groupbuy_redemption", + "ods_table": "billiards_ods.group_buy_redemption_records", + "windowed": true, + "window_col": "create_time", + "count": { + "dwd": 40, + "ods": 41, + "diff": -1 + }, + "amounts": [ + { + "column": "coupon_money", + "dwd_sum": 2646.0, + "ods_sum": 2742.0, + "diff": -96.0 + }, + { + "column": "ledger_amount", + "dwd_sum": 2612.51, + "ods_sum": 2708.51, + "diff": -96.0 + } + ], + "mismatch": 40, + "mismatch_samples": [ + { + "redemption_id": 3075443237995973, + "ods_hash": "59b68bb1d21509323682fece178d9e25", + "dwd_hash": "642e93f443133401128a60897cb18eb4" + }, + { + "redemption_id": 3075473703716485, + "ods_hash": "49e2989e657cbbab1c46d8bde86decec", + "dwd_hash": "c2e6a0bac3c6d62a0173269ab853cbfa" + }, + { + "redemption_id": 3075497054914181, + "ods_hash": "e5973d365671506be243356533b6f198", + "dwd_hash": "3aa9d296862d7e30b6f14ea62706045e" + }, + { + "redemption_id": 3075537363879493, + "ods_hash": "4320cefaec42c21c57687d82f7ee3895", + "dwd_hash": "3757ce0be5a8552f50df0efd44cc0212" + }, + { + "redemption_id": 3075568527378053, + "ods_hash": "1178391ad5c6ef66a643c17a393a88bd", + "dwd_hash": "f33613fa052e0cc212f1d8856437c7a5" + }, + { + "redemption_id": 3075575000008261, + "ods_hash": "904f56a5b578549f2c8337d3cc0d2599", + "dwd_hash": "87ca87eafbead14e2302a516ffe38a06" + }, + { + "redemption_id": 3075584277825157, + "ods_hash": "bc3459967f38945cbcf28b3cfbac0274", + "dwd_hash": "4e0baa093d0e0943631be891e0c8f1ba" + }, + { + "redemption_id": 3075584989677189, + "ods_hash": "30c346c706f802ef96dc1c61cb7c721b", + "dwd_hash": "b80a7a96e3a3cacffc538742c4c55185" + }, + { + "redemption_id": 3076138707092933, + "ods_hash": "e6ae308443405a7c1a7b7be35597006e", + "dwd_hash": "78e3b0ca8fdd65186e1ec6df4c55bd17" + }, + { + "redemption_id": 3076160269174213, + "ods_hash": "929fdb0ff0baa7b3c0436adb8794cb8e", + "dwd_hash": "d4c9b878dbda97390b3624a914774b7c" + }, + { + "redemption_id": 3076255083742789, + "ods_hash": "a21318daf8f9d63121feacd819d6a493", + "dwd_hash": "25b54b04fdf3428980e70601ef40e8e8" + }, + { + "redemption_id": 3076282478265733, + "ods_hash": "6e0482ca71b32b88f4d562da951d848f", + "dwd_hash": "888fe4def836c743c58ae944d5fdd8de" + }, + { + "redemption_id": 3076325380490629, + "ods_hash": "3b43202c9fdde96c64791d3c8b38f090", + "dwd_hash": "cfa79f3e0bd5dd2e9bf7638c7854e89d" + }, + { + "redemption_id": 3076329489647237, + "ods_hash": "6c984f62fca336f595530daf742a99b3", + "dwd_hash": "b5bd9e7f254ec17121eff37a6334daba" + }, + { + "redemption_id": 3076335008040325, + "ods_hash": "ecb83c7b18160d81646ad32ef7b199f5", + "dwd_hash": "fd2940004977f8bf7640b1f694edad1d" + }, + { + "redemption_id": 3076335084193349, + "ods_hash": "aa74e2a41a82267deb49d5a649a12049", + "dwd_hash": "41f936cdd745f17a9f9a96759646d0bb" + }, + { + "redemption_id": 3076335084193350, + "ods_hash": "74e99982cbe978bae1aaf746eb3ec3a8", + "dwd_hash": "a258ff6df266b3d7e410aa165898b5d6" + }, + { + "redemption_id": 3076341144782213, + "ods_hash": "dc1e46e68be7420a275c1d35de1d43ef", + "dwd_hash": "be06c2c669895d16ed8238f64bcb554b" + }, + { + "redemption_id": 3076341144782214, + "ods_hash": "f179710549e3b77adf85125924f5044f", + "dwd_hash": "16dad956ab5fe6eafe066fa128f3f0a2" + }, + { + "redemption_id": 3076341201913477, + "ods_hash": "251e7e2e4eef9c42b9c3020fb0b387ac", + "dwd_hash": "e10316a71a0a3c22b1fcf074b500926a" + }, + { + "redemption_id": 3076361277490565, + "ods_hash": "06cc158d32bb6915174dd90c90acf0b0", + "dwd_hash": "22ca7e973fd5065befa27654eb4a9c1b" + }, + { + "redemption_id": 3076364701697413, + "ods_hash": "eed023bed451545a11fcf8c8bcb13bce", + "dwd_hash": "ac61fc30f4475e69456572b09d4b37df" + }, + { + "redemption_id": 3076374001059397, + "ods_hash": "8302d5d2b008da6fcedb2c466db20e16", + "dwd_hash": "d978a289c4148a726272bc15ed0d6237" + }, + { + "redemption_id": 3076374836741509, + "ods_hash": "d08c547b011c0dda4ede1a0e6b393754", + "dwd_hash": "40d71b168f4f99f872655ffed13193c4" + }, + { + "redemption_id": 3076391962379845, + "ods_hash": "af38ab4720c9592e92edff0e15a29d81", + "dwd_hash": "f209526b075c121e958be018f9be7be0" + }, + { + "redemption_id": 3076397496469061, + "ods_hash": "80af1145973960354730ddfc0a677eca", + "dwd_hash": "b78c808e2b3312a4c0f763efee0ddfc4" + }, + { + "redemption_id": 3076397496469062, + "ods_hash": "661229668f212695ed614a91b09518ae", + "dwd_hash": "34e33bdfa28908f4d6c4522efeef75aa" + }, + { + "redemption_id": 3076401436870021, + "ods_hash": "169718b54e5ca731d18bf835c1e8713c", + "dwd_hash": "27346469d32a0fa0cd5568121e508cb1" + }, + { + "redemption_id": 3076402097898885, + "ods_hash": "4eb84b71ef3a75a996bd0b4e152730fc", + "dwd_hash": "147f41619b8da088a55178f7acbff1a9" + }, + { + "redemption_id": 3076404529497733, + "ods_hash": "a32504a49e1bf9f54d1ff39367a8b7e6", + "dwd_hash": "688a40ed3f2d9cd5f27ea780fd45deff" + }, + { + "redemption_id": 3076404580140485, + "ods_hash": "864a0c9498a0d22794ee117c0db5a44c", + "dwd_hash": "a2f5c783b6617d46f32125e4a9434425" + }, + { + "redemption_id": 3076426271049285, + "ods_hash": "e3bfac607d7f4e1e1c9274569daddba4", + "dwd_hash": "08fd9972c50dbb5343e661cdb4209cfd" + }, + { + "redemption_id": 3076427930224069, + "ods_hash": "4caa72e4b293104c6db0f545c97184d6", + "dwd_hash": "6d04e233a06187392dc14906131fe2cb" + }, + { + "redemption_id": 3076427930224070, + "ods_hash": "bb0b1967f47bb823d262864951e4e318", + "dwd_hash": "553b420912de61c43b0251b339898b90" + }, + { + "redemption_id": 3076431917565509, + "ods_hash": "69ec237c223b1b41a13a8d964d731bae", + "dwd_hash": "6377ea556648adcedcffc156f6bbaa24" + }, + { + "redemption_id": 3076445048833413, + "ods_hash": "4b32a7c784d84742f48b692d98b1c992", + "dwd_hash": "8128df4f610d8775e58eaee70e0b8156" + }, + { + "redemption_id": 3076448767051141, + "ods_hash": "3535fcf8da44e2707c4a72a4d76c7801", + "dwd_hash": "658febc94d1ddd0041862bea4bbab4de" + }, + { + "redemption_id": 3076454441534853, + "ods_hash": "143bf470b0dd20b89fae28ddbd0b7e02", + "dwd_hash": "5f7a86820b8f3b452de44e2fbe6b1252" + }, + { + "redemption_id": 3076458718267013, + "ods_hash": "0c3cb6dfadfdab0c9d34572e38658951", + "dwd_hash": "37994e942e7c72d749fe204fc82aa483" + }, + { + "redemption_id": 3076467405440581, + "ods_hash": "2defda5ffff476c1bd42f4588e995ec8", + "dwd_hash": "a8ab2ef5ecf39284c20f1861a641f6f5" + } + ], + "mismatch_error": null + }, + { + "dwd_table": "billiards_dwd.dwd_groupbuy_redemption_ex", + "ods_table": "billiards_ods.group_buy_redemption_records", + "windowed": false, + "window_col": null, + "count": { + "dwd": 11867, + "ods": 11868, + "diff": -1 + }, + "amounts": [ + { + "column": "assistant_promotion_money", + "dwd_sum": 7544.8, + "ods_sum": 7544.8, + "diff": 0.0 + }, + { + "column": "assistant_service_promotion_money", + "dwd_sum": 0.0, + "ods_sum": 0.0, + "diff": 0.0 + }, + { + "column": "goods_promotion_money", + "dwd_sum": 0.0, + "ods_sum": 0.0, + "diff": 0.0 + }, + { + "column": "recharge_promotion_money", + "dwd_sum": 0.0, + "ods_sum": 0.0, + "diff": 0.0 + }, + { + "column": "reward_promotion_money", + "dwd_sum": 0.0, + "ods_sum": 0.0, + "diff": 0.0 + }, + { + "column": "table_service_promotion_money", + "dwd_sum": 0.0, + "ods_sum": 0.0, + "diff": 0.0 + } + ], + "mismatch": 0, + "mismatch_samples": [], + "mismatch_error": null + }, + { + "dwd_table": "billiards_dwd.dwd_platform_coupon_redemption", + "ods_table": "billiards_ods.platform_coupon_redemption_records", + "windowed": true, + "window_col": "create_time", + "count": { + "dwd": 52, + "ods": 52, + "diff": 0 + }, + "amounts": [ + { + "column": "coupon_money", + "dwd_sum": 3738.0, + "ods_sum": 3738.0, + "diff": 0.0 + } + ], + "mismatch": 52, + "mismatch_samples": [ + { + "platform_coupon_redemption_id": 3075442319377989, + "ods_hash": "fbd8d310b53690309c47b534f53b35df", + "dwd_hash": "e78fe373ecfdeb13c9033396452653ae" + }, + { + "platform_coupon_redemption_id": 3075457055278469, + "ods_hash": "26d2baf572e946863f689b4021d21457", + "dwd_hash": "9a9d919b5a8be3887f588e9737fb03ae" + }, + { + "platform_coupon_redemption_id": 3075525274076805, + "ods_hash": "2fd9f1fbc6beae852d462841ce04c291", + "dwd_hash": "489fcde5c145ad3457b684a270cbc6f3" + }, + { + "platform_coupon_redemption_id": 3076070440404357, + "ods_hash": "e9a2b3f82bbbb48f4b908c092b159dd9", + "dwd_hash": "fc37278abaabc09409b1256aec48b186" + }, + { + "platform_coupon_redemption_id": 3076101153572229, + "ods_hash": "ff565664e8d8ae8547bf862836c6a01a", + "dwd_hash": "ed8ba57e7d4cb5303e583444069e70f9" + }, + { + "platform_coupon_redemption_id": 3076195763160517, + "ods_hash": "857af57cc0d787f3a29554b33dc903b8", + "dwd_hash": "ab2303fc9c178b3a7c916f0aa26a40ee" + }, + { + "platform_coupon_redemption_id": 3076216648386117, + "ods_hash": "bb7fb15904a9c871188560c9ae9c84cf", + "dwd_hash": "63b3f1ac5ac0fd1a4d96d93e751333b8" + }, + { + "platform_coupon_redemption_id": 3076223026972101, + "ods_hash": "b4be7141c00778594aabd4108e95cb18", + "dwd_hash": "e0bf1fadc5845f0a6d09c43aa86313c3" + }, + { + "platform_coupon_redemption_id": 3076223542724037, + "ods_hash": "873f0bde44234b8893f3d46a74e70ea2", + "dwd_hash": "770c136ffcce0d93f729bdf9b1e8f002" + }, + { + "platform_coupon_redemption_id": 3076226049410501, + "ods_hash": "e41ec31d94359c163fba47addbe7e79f", + "dwd_hash": "5512476381a425ce0bde15b381df5218" + }, + { + "platform_coupon_redemption_id": 3076226159117765, + "ods_hash": "71739733e2bb3e67058c0a55a799d0ef", + "dwd_hash": "e29d5738b21dcc6b75ed63e447cd2506" + }, + { + "platform_coupon_redemption_id": 3076266120021573, + "ods_hash": "e4cc7fcd3ae515183340691ef691eb18", + "dwd_hash": "42f390f70ee704b3514a3d48735ecc9e" + }, + { + "platform_coupon_redemption_id": 3076270491731589, + "ods_hash": "a1ff32596da5f10c9b7c006c18792761", + "dwd_hash": "df0e0e55e32681fb1d432e1956d3f2f0" + }, + { + "platform_coupon_redemption_id": 3076275082626693, + "ods_hash": "716f4ae9bd987e77ba0961edc7e49cde", + "dwd_hash": "7b799245831e6918bbc684a01a1b6f6d" + }, + { + "platform_coupon_redemption_id": 3076277823227333, + "ods_hash": "a5dd1621fcd67c5747d7c1fd30db81f8", + "dwd_hash": "9bf86269be14cdf6fff108de1366a6bc" + }, + { + "platform_coupon_redemption_id": 3076280099374469, + "ods_hash": "053f42c29747931c7cdacc5283dbd06e", + "dwd_hash": "380d2094f7ead1360c783fefa27e6158" + }, + { + "platform_coupon_redemption_id": 3076281538282885, + "ods_hash": "53722893649a75d6aa583caa34dbd038", + "dwd_hash": "952183168332921546cdb4287c08b518" + }, + { + "platform_coupon_redemption_id": 3076281630017093, + "ods_hash": "3a3fbeaa21b4bf7f71319e82e2543e15", + "dwd_hash": "c00e80f88d0e1ed3d3986982819a0672" + }, + { + "platform_coupon_redemption_id": 3076300712396165, + "ods_hash": "a88284494fd42b4dfb255880e2dba7de", + "dwd_hash": "d80288c507e0c742b978bf052f377466" + }, + { + "platform_coupon_redemption_id": 3076301217564101, + "ods_hash": "18cb18e3c94b2a6ff32127cdbbf1ce7d", + "dwd_hash": "b49f8665fdf18a72ffbf6f8d234a7235" + }, + { + "platform_coupon_redemption_id": 3076303449048517, + "ods_hash": "ab9b0ebfbfd008c5c74c38de1b06c93e", + "dwd_hash": "fcf647aff423a177d5d726eff32b0565" + }, + { + "platform_coupon_redemption_id": 3076304870622853, + "ods_hash": "c18e2049bc913047b7c0f612b4ad032b", + "dwd_hash": "40e94605941cdb822881f1210614415a" + }, + { + "platform_coupon_redemption_id": 3076306343314885, + "ods_hash": "e6ca1338d8219ad755b2c93c4d96d17a", + "dwd_hash": "e7470f702ae674513e09516936b506be" + }, + { + "platform_coupon_redemption_id": 3076314233259589, + "ods_hash": "7bf5ed46bdc72e89ab58088fa0b47572", + "dwd_hash": "f51bdeac6ff59ac6479427fe48eed233" + }, + { + "platform_coupon_redemption_id": 3076330171614597, + "ods_hash": "36d62097f6bfe69538e40a1edcbb790d", + "dwd_hash": "1390b63a45fd568aec532fcd2156b002" + }, + { + "platform_coupon_redemption_id": 3076330682205829, + "ods_hash": "d4c2f9923cebd50b7cc85eaa7025ae96", + "dwd_hash": "b3a97e9e37737d58c59ad593b696fd9e" + }, + { + "platform_coupon_redemption_id": 3076331867752005, + "ods_hash": "96747813f18df7b65135e588fd04617d", + "dwd_hash": "59719db5435067f9f7608d43f96576e5" + }, + { + "platform_coupon_redemption_id": 3076336473490885, + "ods_hash": "8c9bdcab494072746080c8f0348b4629", + "dwd_hash": "e6701fe45af1c01a712303efab3e6ed2" + }, + { + "platform_coupon_redemption_id": 3076343508370885, + "ods_hash": "3cb7a712b67e758fc6916d0d0286be24", + "dwd_hash": "62563259ed76e4ea294560a8a760a84e" + }, + { + "platform_coupon_redemption_id": 3076343656334789, + "ods_hash": "7174259c6a451e7949fe03e791a20a74", + "dwd_hash": "3fb0ddad1c45c77e05004ec0e124b54e" + }, + { + "platform_coupon_redemption_id": 3076350267328069, + "ods_hash": "38b58249447a5b8d73d2df0da0b63578", + "dwd_hash": "119af2b47413a652a882f018176969ad" + }, + { + "platform_coupon_redemption_id": 3076361118647685, + "ods_hash": "b972b10bd39ada6835e3b4059c09ed16", + "dwd_hash": "27a33eae941ff9e22b7969cfa608f5aa" + }, + { + "platform_coupon_redemption_id": 3076366484047301, + "ods_hash": "8d95c4704453bc301f0de2014562c292", + "dwd_hash": "efd60f85a779ce7cb71b434021032d57" + }, + { + "platform_coupon_redemption_id": 3076366755006021, + "ods_hash": "ca5aa66ae5b17b647f0da1f6c182d271", + "dwd_hash": "f6b8099c324259b5902fb9ae115dbac1" + }, + { + "platform_coupon_redemption_id": 3076369225238085, + "ods_hash": "c92572a49cd61d4439eaf2c193b88a12", + "dwd_hash": "8d79cde6c148a0dc6bb87759325d5bf9" + }, + { + "platform_coupon_redemption_id": 3076371995280965, + "ods_hash": "65df223cd3d17fcce8cfe89207b6ab11", + "dwd_hash": "5d6d4b46beacf8070ae74e6bb28140bd" + }, + { + "platform_coupon_redemption_id": 3076382580098501, + "ods_hash": "7b47b4579ab2b5348a4137f41c923add", + "dwd_hash": "0c64879835b32daa74486f09174959e8" + }, + { + "platform_coupon_redemption_id": 3076383841601157, + "ods_hash": "5010de95a75eb31d9b714cd33606b9ca", + "dwd_hash": "abe40cb4eecc94f2d069b6b989c43423" + }, + { + "platform_coupon_redemption_id": 3076398028834437, + "ods_hash": "dfb36c826f8c7aba43f1ee8fa57c3342", + "dwd_hash": "11fcbabd31df2267645a4cd96896408f" + }, + { + "platform_coupon_redemption_id": 3076401773659525, + "ods_hash": "d13ecd9c04053957536675ad6a9d599a", + "dwd_hash": "9d22fb0a2745f51db5eebdfb09db0e28" + }, + { + "platform_coupon_redemption_id": 3076405972289157, + "ods_hash": "f8791df8eaa8eeb510d5dbf5e1df13a5", + "dwd_hash": "27d3601d848c12340e6eb857b6cb8449" + }, + { + "platform_coupon_redemption_id": 3076409807734213, + "ods_hash": "026b5917db6cc6d58c3291d0f53117ca", + "dwd_hash": "270761b48fa57e467f21dcf68fa85d9c" + }, + { + "platform_coupon_redemption_id": 3076417945192005, + "ods_hash": "53096ecf05e66ced31325b0870ae5acc", + "dwd_hash": "67e96a7eafee3ff45da65c2544b96079" + }, + { + "platform_coupon_redemption_id": 3076432919692741, + "ods_hash": "f1410a71259dd3c81994ccb7d8299635", + "dwd_hash": "ab3d31915eb6e6b671e305fb1a5eee29" + }, + { + "platform_coupon_redemption_id": 3076440282973637, + "ods_hash": "6f6e6126f913ba68905e494d81174e8b", + "dwd_hash": "ee452cb0755b7d74d489cf4077a94df5" + }, + { + "platform_coupon_redemption_id": 3076440282973638, + "ods_hash": "d3b0e6e6f925648bb235d509c35d0694", + "dwd_hash": "c6fe620f90378c49351395a65f61bd72" + }, + { + "platform_coupon_redemption_id": 3076447330370949, + "ods_hash": "5387fa01a8ec37fd7ffaa8352966a7fd", + "dwd_hash": "7f6e21b774a1d6de9ea8c399d161977e" + }, + { + "platform_coupon_redemption_id": 3076450215085509, + "ods_hash": "a39ddae356ffa9310e58371ba96117e6", + "dwd_hash": "8b7f953283bdfa7959ebe352851475cc" + }, + { + "platform_coupon_redemption_id": 3076450453374405, + "ods_hash": "633a80feec43f21a7b273a2dde8303bf", + "dwd_hash": "e0c7f0c97e87e13ec223c35b3add12fb" + }, + { + "platform_coupon_redemption_id": 3076452205119109, + "ods_hash": "f448eda541d88fdfa344fe4ddc5e6a99", + "dwd_hash": "d848240c27b36559dc89bb63e8b8d359" + } + ], + "mismatch_error": null + }, + { + "dwd_table": "billiards_dwd.dwd_platform_coupon_redemption_ex", + "ods_table": "billiards_ods.platform_coupon_redemption_records", + "windowed": false, + "window_col": null, + "count": { + "dwd": 17426, + "ods": 17426, + "diff": 0 + }, + "amounts": [], + "mismatch": 0, + "mismatch_samples": [], + "mismatch_error": null + }, + { + "dwd_table": "billiards_dwd.dwd_recharge_order", + "ods_table": "billiards_ods.recharge_settlements", + "windowed": false, + "window_col": null, + "count": { + "dwd": 470, + "ods": 470, + "diff": 0 + }, + "amounts": [], + "mismatch": 0, + "mismatch_samples": [], + "mismatch_error": null + }, + { + "dwd_table": "billiards_dwd.dwd_recharge_order_ex", + "ods_table": "billiards_ods.recharge_settlements", + "windowed": false, + "window_col": null, + "count": { + "dwd": 470, + "ods": 470, + "diff": 0 + }, + "amounts": [], + "mismatch": 4, + "mismatch_samples": [ + { + "recharge_order_id": 3074036779288197, + "ods_hash": "06d652b60b4c5ff484a9ec769a352590", + "dwd_hash": "75eba29be6aae972e87fc47a1f86329c" + }, + { + "recharge_order_id": 3074055249233477, + "ods_hash": "9db66867692d43b13e5021a3a857b369", + "dwd_hash": "a63c0430b600982339395422b04560d6" + }, + { + "recharge_order_id": 3074057282061765, + "ods_hash": "9db66867692d43b13e5021a3a857b369", + "dwd_hash": "a63c0430b600982339395422b04560d6" + }, + { + "recharge_order_id": 3074130444551813, + "ods_hash": "06d652b60b4c5ff484a9ec769a352590", + "dwd_hash": "75eba29be6aae972e87fc47a1f86329c" + } + ], + "mismatch_error": null + }, + { + "dwd_table": "billiards_dwd.dwd_payment", + "ods_table": "billiards_ods.payment_transactions", + "windowed": true, + "window_col": "pay_time", + "count": { + "dwd": 61, + "ods": 63, + "diff": -2 + }, + "amounts": [ + { + "column": "pay_amount", + "dwd_sum": 2783.0, + "ods_sum": 2783.0, + "diff": 0.0 + } + ], + "mismatch": 61, + "mismatch_samples": [ + { + "payment_id": 3075440772449861, + "ods_hash": "c35ca8345d57d4c9e0986f0f2f60199b", + "dwd_hash": "408421321db1dcd9d18d7bc0bad7d4ff" + }, + { + "payment_id": 3075443234604485, + "ods_hash": "7c8462fcb74271cfa35e7ba1cedb8004", + "dwd_hash": "4b0cc670dc52c3ec6d88dfe36e3fc1f0" + }, + { + "payment_id": 3075473002415685, + "ods_hash": "5f0df83a1d3f295d8716e1d72a48275a", + "dwd_hash": "7ed071e2129bd61f4c147a626b3ee0c8" + }, + { + "payment_id": 3075473600251269, + "ods_hash": "0f7ab14be4e8c1c4f3b54dc6614dfff4", + "dwd_hash": "966bfefe96794a1aa526fb13a712b1d7" + }, + { + "payment_id": 3075473698653829, + "ods_hash": "8d058a29589d68cbddfc7cdfe5c245af", + "dwd_hash": "d598665f6a33809653c82d0a4a5c6d39" + }, + { + "payment_id": 3075484367177285, + "ods_hash": "98177c3c8eb2970995eac21b9f7c9eac", + "dwd_hash": "d938b349b37aae46c3c0bac31515e576" + }, + { + "payment_id": 3075497052063365, + "ods_hash": "dd4a2aa578a01d4936d36d8938ec36a4", + "dwd_hash": "eff2d115542e4c3478a61b0365ad4cae" + }, + { + "payment_id": 3075502538540677, + "ods_hash": "f72169d50b0d525051c98e61561bfba3", + "dwd_hash": "c361c7979063d70f14938e144a4c4e37" + }, + { + "payment_id": 3075526958122629, + "ods_hash": "3820ffc27764d07f20b023875649b048", + "dwd_hash": "c6b77fc8e20b78ffc517384916550eae" + }, + { + "payment_id": 3075537360995909, + "ods_hash": "e8e49f78094f9458ac39b85900310761", + "dwd_hash": "0fb248c060ab59dfe1152fd8e877c2c2" + }, + { + "payment_id": 3075568524035717, + "ods_hash": "d34926d6438807d7b639427985f1dfc2", + "dwd_hash": "4b8969e701a2ffde7f20560d45a4f16d" + }, + { + "payment_id": 3075574993798725, + "ods_hash": "e094da532cf62cd4f8a3ef030af7e877", + "dwd_hash": "218e02924a69231b29b9387e6d1e7bc3" + }, + { + "payment_id": 3075584275252869, + "ods_hash": "bac8c341f01d5948f03c4a59b3d7f085", + "dwd_hash": "14db60e20ce3efd7bcc4fb9660f53092" + }, + { + "payment_id": 3075584984123013, + "ods_hash": "7a74a419ffdd4098d6a252cce5f8588b", + "dwd_hash": "2b46001ab55e08f04a0bb26e46f85ef3" + }, + { + "payment_id": 3075626774283717, + "ods_hash": "b0d8ae05fd3c5a3b49c8db7f3764f2ca", + "dwd_hash": "755015f9b9fc246bd5701d5ae73c9bda" + }, + { + "payment_id": 3075631427044933, + "ods_hash": "14294939d204b79d75f40a0501dac7d3", + "dwd_hash": "e141a6ce02f6c4e87f342aabb9dab4b5" + }, + { + "payment_id": 3075634418681285, + "ods_hash": "ddedecd1db5d08d933c773c5b722b361", + "dwd_hash": "0fbe0c648074af756dffbd270097dcc0" + }, + { + "payment_id": 3075635026396805, + "ods_hash": "7812524297398f5e6c1dbaf1aa1663bc", + "dwd_hash": "df032379678140afd5a3b85c1cb3b702" + }, + { + "payment_id": 3075750058231237, + "ods_hash": "b1fdbbb25b2092363e38c94586ef3cec", + "dwd_hash": "57992f76ac8ca719dff3ada5566d4ff9" + }, + { + "payment_id": 3075796674954693, + "ods_hash": "19b99c2c3c636da6f05f5e6493934a28", + "dwd_hash": "2b55d3eb26e3d6082794492c760c750b" + }, + { + "payment_id": 3076138703865285, + "ods_hash": "3de4064ee5fd30b2b898b25d31c0a8cb", + "dwd_hash": "66921d5ce773f47e0c3e193b9349997b" + }, + { + "payment_id": 3076160266405317, + "ods_hash": "5c224c6440b76118c3769d2dc6502f4f", + "dwd_hash": "835627440bdff668a41bd33418d24cfe" + }, + { + "payment_id": 3076162835989893, + "ods_hash": "433ffaa7c0e64e3c1aa1855be6660690", + "dwd_hash": "292b08e022b9c1861ab942ca65dbdbff" + }, + { + "payment_id": 3076255080875589, + "ods_hash": "265f6b35f9c00d53b7e3f099b5fc1be8", + "dwd_hash": "d7828f3e08d2663793c0d34ed7e56a4f" + }, + { + "payment_id": 3076266638329477, + "ods_hash": "668548fd2337f9f790387ea023d9d55c", + "dwd_hash": "a363e4b9f48e63a0b56256ec7c981c88" + }, + { + "payment_id": 3076282475316613, + "ods_hash": "9856d88deb3e057df3f28c5976e4e219", + "dwd_hash": "7c12d9bf47bc3158acbe74e38f1594bd" + }, + { + "payment_id": 3076300217878085, + "ods_hash": "59c8dbef12afc4896cc84861b5a9f4e4", + "dwd_hash": "44b8a8ca5cff93af03eec996207fed9e" + }, + { + "payment_id": 3076324805772933, + "ods_hash": "078b25e2283245bdefee2a98d2f67755", + "dwd_hash": "81a1199fd3bfb0cfccdf1834dbd7aea4" + }, + { + "payment_id": 3076325018109381, + "ods_hash": "37dfcd9b704fee39dd64a64ab5253823", + "dwd_hash": "fbc7c9dc37a277e7d613cb57857c894e" + }, + { + "payment_id": 3076325374657925, + "ods_hash": "0b0eb8afa3ed81a03a57999f248e3fde", + "dwd_hash": "a0f89e8307d025b8e8526e88f7cbb8b1" + }, + { + "payment_id": 3076329486468741, + "ods_hash": "2982bdeae555c0f0772cc4b67198f580", + "dwd_hash": "cd3f22b2f161270e9612bac47c960b1e" + }, + { + "payment_id": 3076335005189509, + "ods_hash": "d8610eb8af8eed475ad5e9783f517b1a", + "dwd_hash": "93a1c2861769c48eb99dce6e97f7ced2" + }, + { + "payment_id": 3076335081145925, + "ods_hash": "5195987bbee122670b826444e008a722", + "dwd_hash": "e520ab1816f81a16bdab382c1517cd31" + }, + { + "payment_id": 3076340839728581, + "ods_hash": "0afca8cc29ecfe30a222e56a8f14bdf9", + "dwd_hash": "c6a914ad05d2e3fce57bb5c012fd9aaf" + }, + { + "payment_id": 3076341141947781, + "ods_hash": "bb097ce71d03bb19a5d4b9eb4580e4ef", + "dwd_hash": "4e72b9d95cb4ca1cfc94ba9a00eddd8c" + }, + { + "payment_id": 3076341198784133, + "ods_hash": "886e53926bdff2f8576e1b5f2f1e89e5", + "dwd_hash": "5cbb76f7a0033452213db4d970bb8f65" + }, + { + "payment_id": 3076351041684869, + "ods_hash": "9f8d6cc8026207605856b1762a7717bd", + "dwd_hash": "038fde6188ae640f7471d783a621e05e" + }, + { + "payment_id": 3076361274688901, + "ods_hash": "78586b157e252c57344dd60087dd41ac", + "dwd_hash": "bc8172356cb5dfb00136ebf125b4eed8" + }, + { + "payment_id": 3076364698830213, + "ods_hash": "f3ba25bf4ecf59af4ffd000e9984f8b4", + "dwd_hash": "8897df0bb2e474057baaadc321eb05d9" + }, + { + "payment_id": 3076373997651525, + "ods_hash": "264c32b9793fdd5d6f368f5599e05cb6", + "dwd_hash": "b434499bcbbddb867ca655011d9ca8a0" + }, + { + "payment_id": 3076374833661317, + "ods_hash": "97bb9a57e6850cea0ad43302a200e0e4", + "dwd_hash": "df70a8c9a5ba9fc131e2175d4f0a8722" + }, + { + "payment_id": 3076384567166597, + "ods_hash": "f0d02c1ff0e2edfd7d7b0fca73a42dbf", + "dwd_hash": "9b864a10a71b3a66c9e246cad0ce0cf8" + }, + { + "payment_id": 3076391959709253, + "ods_hash": "080a503039f890d067a6a17330b44d66", + "dwd_hash": "e4436983c8102da5070d5e3580041b75" + }, + { + "payment_id": 3076397493470789, + "ods_hash": "4e8d9c4d3b030f02bcee1178a47454e5", + "dwd_hash": "92a03cf6c2b86ed98ff8daab9a965e5b" + }, + { + "payment_id": 3076398378419845, + "ods_hash": "32ad800709b331a3a440f003d4a99096", + "dwd_hash": "17bd3501a510c062378b5a2220967575" + }, + { + "payment_id": 3076401434183045, + "ods_hash": "18776e9ef7cdd407d717d6be31bbb8a7", + "dwd_hash": "21e20221dd53019d8e6d7a48949f7419" + }, + { + "payment_id": 3076402094638469, + "ods_hash": "33a7f338cfd1b37f245c5cd3eef8312a", + "dwd_hash": "677f0de073eaa4de0af7cdf004ea0229" + }, + { + "payment_id": 3076404526581381, + "ods_hash": "29dcc6c4c97e498c51321dfacb1cf68d", + "dwd_hash": "f8708fc7707661b44a05fd0be47dae45" + }, + { + "payment_id": 3076404577387973, + "ods_hash": "baa1994086f7c4ae2e3a4a0a0e249ed7", + "dwd_hash": "938317a7c07b9d63599befb3a7c820ab" + }, + { + "payment_id": 3076426267510341, + "ods_hash": "2c9adaa19448f2c9e482ad7f7ec14132", + "dwd_hash": "0900fbe5262cf77dcc5547073294db0e" + } + ], + "mismatch_error": null + }, + { + "dwd_table": "billiards_dwd.dwd_refund", + "ods_table": "billiards_ods.refund_transactions", + "windowed": true, + "window_col": "pay_time", + "count": { + "dwd": 0, + "ods": 0, + "diff": 0 + }, + "amounts": [ + { + "column": "channel_fee", + "dwd_sum": 0.0, + "ods_sum": 0.0, + "diff": 0.0 + }, + { + "column": "pay_amount", + "dwd_sum": 0.0, + "ods_sum": 0.0, + "diff": 0.0 + } + ], + "mismatch": 0, + "mismatch_samples": [], + "mismatch_error": null + }, + { + "dwd_table": "billiards_dwd.dwd_refund_ex", + "ods_table": "billiards_ods.refund_transactions", + "windowed": false, + "window_col": null, + "count": { + "dwd": 47, + "ods": 47, + "diff": 0 + }, + "amounts": [ + { + "column": "balance_frozen_amount", + "dwd_sum": 0.0, + "ods_sum": 0.0, + "diff": 0.0 + }, + { + "column": "card_frozen_amount", + "dwd_sum": 0.0, + "ods_sum": 0.0, + "diff": 0.0 + }, + { + "column": "refund_amount", + "dwd_sum": 0.0, + "ods_sum": 0.0, + "diff": 0.0 + }, + { + "column": "round_amount", + "dwd_sum": 0.0, + "ods_sum": 0.0, + "diff": 0.0 + } + ], + "mismatch": 0, + "mismatch_samples": [], + "mismatch_error": null + } + ], + "total_count_diff": -19073, + "total_mismatch": 36826 + }, + "generated_at": "2026-02-01T17:50:48.480952+08:00" + } + ], + "api_to_ods": { + "total_missing": 37, + "total_mismatch": 1737, + "total_errors": 0 + }, + "total_missing": 37, + "total_mismatch": 1737, + "total_errors": 0, + "generated_at": "2026-02-01T17:50:48.480978+08:00" + } +} diff --git a/etl_billiards/scripts/backfill_missing_data.py b/etl_billiards/scripts/backfill_missing_data.py index 1963e6f..48e2cbd 100644 --- a/etl_billiards/scripts/backfill_missing_data.py +++ b/etl_billiards/scripts/backfill_missing_data.py @@ -28,7 +28,7 @@ PROJECT_ROOT = Path(__file__).resolve().parents[1] if str(PROJECT_ROOT) not in sys.path: sys.path.insert(0, str(PROJECT_ROOT)) -from api.client import APIClient +from api.recording_client import build_recording_client from config.settings import AppConfig from database.connection import DatabaseConnection from models.parsers import TypeParser @@ -211,13 +211,7 @@ class MissingDataBackfiller: self.store_id = int(cfg.get("app.store_id") or 0) # API 客户端 - self.api = APIClient( - base_url=cfg["api"]["base_url"], - token=cfg["api"]["token"], - timeout=int(cfg["api"].get("timeout_sec") or 20), - retry_max=int(cfg["api"].get("retries", {}).get("max_attempts") or 3), - headers_extra=cfg["api"].get("headers_extra") or {}, - ) + self.api = build_recording_client(cfg, task_code="BACKFILL_MISSING_DATA") # 数据库连接(DatabaseConnection 构造时已设置 autocommit=False) self.db = DatabaseConnection(dsn=cfg["db"]["dsn"], session=cfg["db"].get("session")) diff --git a/etl_billiards/scripts/check_ods_gaps.py b/etl_billiards/scripts/check_ods_gaps.py index cfbb716..76fc015 100644 --- a/etl_billiards/scripts/check_ods_gaps.py +++ b/etl_billiards/scripts/check_ods_gaps.py @@ -29,7 +29,7 @@ PROJECT_ROOT = Path(__file__).resolve().parents[1] if str(PROJECT_ROOT) not in sys.path: sys.path.insert(0, str(PROJECT_ROOT)) -from api.client import APIClient +from api.recording_client import build_recording_client from config.settings import AppConfig from database.connection import DatabaseConnection from models.parsers import TypeParser @@ -800,13 +800,8 @@ def run_gap_check( if cutoff: logger.info("CUTOFF=%s overlap_hours=%s", cutoff.isoformat(), cutoff_overlap_hours) - client = APIClient( - base_url=cfg["api"]["base_url"], - token=cfg["api"]["token"], - timeout=int(cfg["api"].get("timeout_sec") or 20), - retry_max=int(cfg["api"].get("retries", {}).get("max_attempts") or 3), - headers_extra=cfg["api"].get("headers_extra") or {}, - ) + tag_suffix = f"_{args.tag}" if args.tag else "" + client = build_recording_client(cfg, task_code=f"ODS_GAP_CHECK{tag_suffix}") db_state = _init_db_state(cfg) try: diff --git a/etl_billiards/tasks/dwd_load_task.py b/etl_billiards/tasks/dwd_load_task.py index 62ca7e8..816c1d9 100644 --- a/etl_billiards/tasks/dwd_load_task.py +++ b/etl_billiards/tasks/dwd_load_task.py @@ -522,9 +522,9 @@ class DwdLoadTask(BaseTask): continue if self._table_base(dwd_table).startswith("dim_"): - processed = self._merge_dim(cur, dwd_table, ods_table, dwd_cols, ods_cols, now) + dim_counts = self._merge_dim(cur, dwd_table, ods_table, dwd_cols, ods_cols, now) self.db.conn.commit() - summary.append({"table": dwd_table, "mode": "SCD2", "processed": processed}) + summary.append({"table": dwd_table, "mode": "SCD2", **dim_counts}) else: dwd_types = self._get_column_types(cur, dwd_table, "billiards_dwd") ods_types = self._get_column_types(cur, ods_table, "billiards_ods") @@ -532,7 +532,7 @@ class DwdLoadTask(BaseTask): self.config.get("run.window_override.start") and self.config.get("run.window_override.end") ) - inserted = self._merge_fact_increment( + fact_counts = self._merge_fact_increment( cur, dwd_table, ods_table, @@ -544,7 +544,7 @@ class DwdLoadTask(BaseTask): window_end=context.window_end if use_window else None, ) self.db.conn.commit() - summary.append({"table": dwd_table, "mode": "INCREMENT", "inserted": inserted}) + summary.append({"table": dwd_table, "mode": "INCREMENT", **fact_counts}) elapsed = time.monotonic() - started self.logger.info("DWD 装载完成:%s,用时 %.2fs", dwd_table, elapsed) @@ -675,7 +675,7 @@ class DwdLoadTask(BaseTask): dwd_cols: Sequence[str], ods_cols: Sequence[str], now: datetime, - ) -> int: + ) -> Dict[str, int]: """ 维表合并策略: - 若主键包含 scd2 列(如 scd2_start_time/scd2_version),执行真正的 SCD2(关闭旧版+插入新版)。 @@ -699,8 +699,8 @@ class DwdLoadTask(BaseTask): ods_cols: Sequence[str], pk_cols: Sequence[str], now: datetime, - ) -> int: - """维表 Type1 Upsert(主键冲突则更新),兼容带 scd2 字段但主键不支持多版本的表。""" + ) -> Dict[str, int]: + """维表 Type1 Upsert(主键冲突则更新),返回真实新增/更新计数。""" mapping = self._build_column_mapping(dwd_table, pk_cols, ods_cols) ods_set = {c.lower() for c in ods_cols} ods_table_sql = self._format_table(ods_table, "billiards_ods") @@ -731,7 +731,7 @@ class DwdLoadTask(BaseTask): added.add(lc) if not select_exprs: - return 0 + return {"processed": 0, "inserted": 0, "updated": 0, "skipped": 0} order_col = self._pick_snapshot_order_column(ods_cols) business_keys = self._strip_scd2_keys(pk_cols) @@ -768,7 +768,7 @@ class DwdLoadTask(BaseTask): src_rows.append(row) if not src_rows: - return 0 + return {"processed": 0, "inserted": 0, "updated": 0, "skipped": 0} dwd_table_sql = self._format_table(dwd_table, "billiards_dwd") sorted_cols = [c.lower() for c in sorted(dwd_cols)] @@ -802,12 +802,19 @@ class DwdLoadTask(BaseTask): else: set_exprs.append(f'\"{c}\" = EXCLUDED.\"{c}\"') + compare_cols = [c for c in sorted_cols if c not in pk_lower_set and c not in self.SCD_COLS] + diff_exprs = [f'{dwd_table_sql}."{c}" IS DISTINCT FROM EXCLUDED."{c}"' for c in compare_cols] + where_clause = f" WHERE {' OR '.join(diff_exprs)}" if diff_exprs else "" upsert_sql = ( f"INSERT INTO {dwd_table_sql} ({insert_cols_sql}) VALUES %s " - f"ON CONFLICT ({pk_sql}) DO UPDATE SET {', '.join(set_exprs)}" + f"ON CONFLICT ({pk_sql}) DO UPDATE SET {', '.join(set_exprs)}{where_clause} " + f"RETURNING (xmax = 0) AS inserted" ) - execute_values(cur, upsert_sql, [build_row(r) for r in src_rows], page_size=500) - return len(src_rows) + rows = execute_values(cur, upsert_sql, [build_row(r) for r in src_rows], page_size=500, fetch=True) + inserted, updated = self._count_returning_flags(rows or []) + processed = len(src_rows) + skipped = max(0, processed - inserted - updated) + return {"processed": processed, "inserted": inserted, "updated": updated, "skipped": skipped} def _merge_dim_scd2( self, @@ -817,7 +824,7 @@ class DwdLoadTask(BaseTask): dwd_cols: Sequence[str], ods_cols: Sequence[str], now: datetime, - ) -> int: + ) -> Dict[str, int]: """对维表执行 SCD2 合并:对比变更关闭旧版并插入新版。""" pk_cols = self._get_primary_keys(cur, dwd_table) if not pk_cols: @@ -860,7 +867,7 @@ class DwdLoadTask(BaseTask): added.add(lc) if not select_exprs: - return 0 + return {"processed": 0, "inserted": 0, "updated": 0, "skipped": 0} order_col = self._pick_snapshot_order_column(ods_cols) key_exprs: list[str] = [] @@ -906,7 +913,7 @@ class DwdLoadTask(BaseTask): src_rows_by_pk[pk_key] = mapped_row if not src_rows_by_pk: - return 0 + return {"processed": 0, "inserted": 0, "updated": 0, "skipped": 0} # 预加载当前版本(scd2_is_current=1),避免逐行 SELECT 造成大量 round-trip table_sql_dwd = self._format_table(dwd_table, "billiards_dwd") @@ -941,7 +948,11 @@ class DwdLoadTask(BaseTask): if to_insert: self._insert_dim_rows_bulk(cur, dwd_table, dwd_cols, to_insert, now) - return len(src_rows_by_pk) + processed = len(src_rows_by_pk) + updated = len(to_close) + inserted = max(0, len(to_insert) - updated) + skipped = max(0, processed - inserted - updated) + return {"processed": processed, "inserted": inserted, "updated": updated, "skipped": skipped} def _close_current_dim_bulk( self, @@ -1129,9 +1140,13 @@ class DwdLoadTask(BaseTask): value = datetime.combine(value, datetime.min.time()) if not isinstance(value, datetime): return value - if value.tzinfo is None: - return value.replace(tzinfo=self.tz) - return value.astimezone(self.tz) + try: + if value.tzinfo is None: + return value.replace(tzinfo=self.tz) + return value.astimezone(self.tz) + except (OverflowError, OSError): + # 极端日期值(如 9999-12-31)无法转换时区,直接返回原值 + return value def _looks_numeric(self, value: Any) -> bool: if isinstance(value, (int, float, Decimal)) and not isinstance(value, bool): @@ -1184,6 +1199,22 @@ class DwdLoadTask(BaseTask): return False return None + @staticmethod + def _count_returning_flags(rows: Iterable[Any]) -> tuple[int, int]: + """Count inserted vs updated from RETURNING (xmax = 0) rows.""" + inserted = 0 + updated = 0 + for row in rows: + if isinstance(row, dict): + flag = row.get("inserted") + else: + flag = row[0] if row else None + if flag: + inserted += 1 + else: + updated += 1 + return inserted, updated + def _merge_fact_increment( self, cur, @@ -1195,8 +1226,8 @@ class DwdLoadTask(BaseTask): ods_types: Dict[str, str], window_start: datetime | None = None, window_end: datetime | None = None, - ) -> int: - """事实表按时间增量插入,默认按列名交集写入。""" + ) -> Dict[str, int]: + """事实表按时间增量插入,返回真实新增/更新计数。""" mapping_entries = self.FACT_MAPPINGS.get(dwd_table) or [] mapping: Dict[str, tuple[str, str | None]] = { dst.lower(): (src, cast_type) for dst, src, cast_type in mapping_entries @@ -1306,18 +1337,31 @@ class DwdLoadTask(BaseTask): set_exprs = [f'"{c}" = EXCLUDED."{c}"' for c in insert_cols if c.lower() not in pk_lower] if snapshot_mode or fact_upsert: if set_exprs: - sql += f" ON CONFLICT ({pk_sql}) DO UPDATE SET {', '.join(set_exprs)}" + compare_cols = [c for c in insert_cols if c.lower() not in pk_lower] + diff_exprs = [f'{dwd_table_sql}."{c}" IS DISTINCT FROM EXCLUDED."{c}"' for c in compare_cols] + where_clause = f" WHERE {' OR '.join(diff_exprs)}" if diff_exprs else "" + sql += f" ON CONFLICT ({pk_sql}) DO UPDATE SET {', '.join(set_exprs)}{where_clause}" else: sql += f" ON CONFLICT ({pk_sql}) DO NOTHING" else: sql += f" ON CONFLICT ({pk_sql}) DO NOTHING" + sql += " RETURNING (xmax = 0) AS inserted" cur.execute(sql, params) - inserted = cur.rowcount + + inserted = 0 + updated = 0 + while True: + rows = cur.fetchmany(10000) + if not rows: + break + ins, upd = self._count_returning_flags(rows) + inserted += ins + updated += upd # 回补缺失主键记录(处理历史回补导致的“create_time 水位”遗漏) if dwd_table.lower() in self.FACT_MISSING_FILL_TABLES: - inserted += self._insert_missing_by_pk( + missing_inserted = self._insert_missing_by_pk( cur, dwd_table, ods_table, @@ -1328,8 +1372,9 @@ class DwdLoadTask(BaseTask): dwd_types, ods_types, ) + inserted += missing_inserted - return inserted + return {"inserted": inserted, "updated": updated, "processed": inserted + updated} def _pick_order_column(self, dwd_table: str, dwd_cols: Iterable[str], ods_cols: Iterable[str]) -> str | None: """Pick an incremental order column that exists in both DWD and ODS.""" lower_cols = {c.lower() for c in dwd_cols} & {c.lower() for c in ods_cols} diff --git a/etl_billiards/tasks/ods_tasks.py b/etl_billiards/tasks/ods_tasks.py index 1d77e02..46e695d 100644 --- a/etl_billiards/tasks/ods_tasks.py +++ b/etl_billiards/tasks/ods_tasks.py @@ -177,11 +177,12 @@ class BaseOdsTask(BaseTask): def _resolve_window(self, cursor_data: dict | None) -> tuple[datetime, datetime, int]: base_start, base_end, base_minutes = self._get_time_window(cursor_data) - if self.config.get("run.force_window_override"): - override_start = self.config.get("run.window_override.start") - override_end = self.config.get("run.window_override.end") - if override_start and override_end: - return base_start, base_end, base_minutes + # 如果用户显式指定了窗口(window_override.start/end),则直接使用,不走 MAX(fetched_at) 兜底 + override_start = self.config.get("run.window_override.start") + override_end = self.config.get("run.window_override.end") + if override_start and override_end: + # 用户明确指定了窗口,尊重用户选择 + return base_start, base_end, base_minutes # 以 ODS 表 MAX(fetched_at) 兜底:避免“窗口游标推进但未实际入库”导致漏数。 last_fetched = self._get_max_fetched_at(self.SPEC.table_name) diff --git a/tmp/py_inventory.md b/tmp/py_inventory.md new file mode 100644 index 0000000..f9e5c3f --- /dev/null +++ b/tmp/py_inventory.md @@ -0,0 +1,1184 @@ +# Python Inventory (function-level) + +| File | Symbol | Type | Doc (first line) | Reuse | +|---|---|---|---|---| +| etl_billiards/api/client.py | (module) | module | API客户端:统一封装 POST/重试/分页与列表提取逻辑。 | High | +| etl_billiards/api/client.py | APIClient | class | HTTP API 客户端(默认使用 POST + JSON 请求体) | High | +| etl_billiards/api/client.py | APIClient.__init__ | method | | High | +| etl_billiards/api/client.py | APIClient._get_session | method | 获取或创建带重试的 Session。 | High | +| etl_billiards/api/client.py | APIClient.get | method | 兼容旧名的请求入口(实际以 POST JSON 方式请求)。 | High | +| etl_billiards/api/client.py | APIClient._post_json | method | | High | +| etl_billiards/api/client.py | APIClient._build_headers | method | | High | +| etl_billiards/api/client.py | APIClient._normalize_token | method | | High | +| etl_billiards/api/client.py | APIClient._ensure_success | method | API 返回 code 非 0 时主动抛错,便于上层重试/记录。 | High | +| etl_billiards/api/client.py | APIClient._iter_paginated_single | method | 单一 endpoint 的分页迭代器(不包含 recent/former 路由逻辑)。 | High | +| etl_billiards/api/client.py | APIClient.iter_paginated | method | 分页迭代器:逐页拉取数据并产出 (page_no, records, request_params, raw_response)。 | High | +| etl_billiards/api/client.py | APIClient.get_paginated | method | 分页获取数据并将所有记录汇总在一个列表中。 | High | +| etl_billiards/api/client.py | APIClient._extract_list | method | 根据 data_path/list_key 提取列表结构,兼容常见字段名。 | High | +| etl_billiards/api/endpoint_routing.py | (module) | module | “近期记录 / 历史记录(Former)”接口路由规则。 | High | +| etl_billiards/api/endpoint_routing.py | WindowSpec | class | | High | +| etl_billiards/api/endpoint_routing.py | RoutedCall | class | | High | +| etl_billiards/api/endpoint_routing.py | is_former_endpoint | function | | High | +| etl_billiards/api/endpoint_routing.py | _parse_dt | function | | High | +| etl_billiards/api/endpoint_routing.py | _fmt_dt | function | | High | +| etl_billiards/api/endpoint_routing.py | extract_window_spec | function | | High | +| etl_billiards/api/endpoint_routing.py | derive_former_endpoint | function | | High | +| etl_billiards/api/endpoint_routing.py | recent_boundary | function | 3个月(自然月)边界:取 (now - months) 所在月份的 1 号 00:00:00。 | High | +| etl_billiards/api/endpoint_routing.py | plan_calls | function | 根据 endpoint + params 的时间窗口,返回要调用的 endpoint/params 列表(可能拆分为两段)。 | High | +| etl_billiards/api/local_json_client.py | (module) | module | 本地 JSON 客户端,模拟 APIClient 的分页接口,从落盘的 JSON 回放数据。 | High | +| etl_billiards/api/local_json_client.py | LocalJsonClient | class | 读取 RecordingAPIClient 生成的 JSON,提供 iter_paginated/get_paginated 接口。 | High | +| etl_billiards/api/local_json_client.py | LocalJsonClient.__init__ | method | | High | +| etl_billiards/api/local_json_client.py | LocalJsonClient.get_source_hint | method | Return the JSON file path for this endpoint (for source_file lineage). | High | +| etl_billiards/api/local_json_client.py | LocalJsonClient.iter_paginated | method | | High | +| etl_billiards/api/local_json_client.py | LocalJsonClient.get_paginated | method | | High | +| etl_billiards/api/recording_client.py | (module) | module | 包装 APIClient,将分页响应落盘便于后续本地清洗。 | High | +| etl_billiards/api/recording_client.py | RecordingAPIClient | class | 代理 APIClient,在调用 iter_paginated/get_paginated 时同时把响应写入 JSON 文件。 | High | +| etl_billiards/api/recording_client.py | RecordingAPIClient.__init__ | method | | High | +| etl_billiards/api/recording_client.py | RecordingAPIClient.get_source_hint | method | Return the JSON dump path for this endpoint (for source_file lineage). | High | +| etl_billiards/api/recording_client.py | RecordingAPIClient.iter_paginated | method | | High | +| etl_billiards/api/recording_client.py | RecordingAPIClient.get_paginated | method | | High | +| etl_billiards/api/recording_client.py | RecordingAPIClient._dump | method | | High | +| etl_billiards/api/recording_client.py | _cfg_get | function | | High | +| etl_billiards/api/recording_client.py | build_recording_client | function | Build RecordingAPIClient from AppConfig or dict config. | High | +| etl_billiards/build_exe.py | (module) | module | ETL GUI 打包脚本 | Medium | +| etl_billiards/build_exe.py | get_project_root | function | 获取项目根目录 | Medium | +| etl_billiards/build_exe.py | clean_build | function | 清理旧的构建文件 | Medium | +| etl_billiards/build_exe.py | build_exe | function | 构建 EXE | Medium | +| etl_billiards/build_exe.py | slim_dist | function | 精简打包后的文件,删除不需要的内容 | Medium | +| etl_billiards/build_exe.py | main | function | 主函数 | Medium | +| etl_billiards/cli/main.py | (module) | module | CLI主入口 | Medium | +| etl_billiards/cli/main.py | setup_logging | function | 设置日志 | Medium | +| etl_billiards/cli/main.py | parse_args | function | 解析命令行参数 | Medium | +| etl_billiards/cli/main.py | build_cli_overrides | function | 从命令行参数构建配置覆盖 | Medium | +| etl_billiards/cli/main.py | main | function | 主函数 | Medium | +| etl_billiards/config/defaults.py | (module) | module | 配置默认值定义 | High | +| etl_billiards/config/env_parser.py | (module) | module | 环境变量解析 | High | +| etl_billiards/config/env_parser.py | _deep_set | function | | High | +| etl_billiards/config/env_parser.py | _coerce_env | function | | High | +| etl_billiards/config/env_parser.py | _strip_inline_comment | function | 去掉未被引号包裹的内联注释 | High | +| etl_billiards/config/env_parser.py | _unquote_value | function | 处理引号/原始字符串以及尾随逗号 | High | +| etl_billiards/config/env_parser.py | _parse_dotenv_line | function | 解析 .env 文件中的单行 | High | +| etl_billiards/config/env_parser.py | _load_dotenv_values | function | 从项目根目录读取 .env 文件键值 | High | +| etl_billiards/config/env_parser.py | _apply_env_values | function | | High | +| etl_billiards/config/env_parser.py | load_env_overrides | function | | High | +| etl_billiards/config/settings.py | (module) | module | 配置管理主类 | High | +| etl_billiards/config/settings.py | AppConfig | class | 应用配置管理器 | High | +| etl_billiards/config/settings.py | AppConfig.__init__ | method | | High | +| etl_billiards/config/settings.py | AppConfig.load | method | 加载配置: DEFAULTS < ENV < CLI | High | +| etl_billiards/config/settings.py | AppConfig._deep_merge | method | 深度合并字典 | High | +| etl_billiards/config/settings.py | AppConfig._normalize | method | 规范化配置 | High | +| etl_billiards/config/settings.py | AppConfig._validate | method | 验证必填配置 | High | +| etl_billiards/config/settings.py | AppConfig.get | method | 获取配置值(支持点号路径) | High | +| etl_billiards/config/settings.py | AppConfig.__getitem__ | method | | High | +| etl_billiards/database/base.py | (module) | module | 数据库操作(批量、RETURNING支持) | High | +| etl_billiards/database/base.py | DatabaseOperations | class | 扩展数据库操作(包含批量upsert和returning支持) | High | +| etl_billiards/database/base.py | DatabaseOperations.batch_execute | method | 批量执行SQL(不带RETURNING) | High | +| etl_billiards/database/base.py | DatabaseOperations.batch_upsert_with_returning | method | 批量 UPSERT 并统计插入/更新数 | High | +| etl_billiards/database/base.py | DatabaseOperations._execute_with_returning_vectorized | method | 向量化执行(使用execute_values) | High | +| etl_billiards/database/base.py | DatabaseOperations._execute_with_returning_row_by_row | method | 逐行执行(回退方案) | High | +| etl_billiards/database/base.py | DatabaseOperations._extract_inserted_flag | method | 从返回记录中提取inserted标志 | High | +| etl_billiards/database/connection.py | (module) | module | Database connection manager with capped connect_timeout. | High | +| etl_billiards/database/connection.py | DatabaseConnection | class | Wrap psycopg2 connection with session parameters and timeout guard. | High | +| etl_billiards/database/connection.py | DatabaseConnection.__init__ | method | | High | +| etl_billiards/database/connection.py | DatabaseConnection.query | method | Execute a query and fetch all rows. | High | +| etl_billiards/database/connection.py | DatabaseConnection.execute | method | Execute a SQL statement without returning rows. | High | +| etl_billiards/database/connection.py | DatabaseConnection.commit | method | Commit current transaction. | High | +| etl_billiards/database/connection.py | DatabaseConnection.rollback | method | Rollback current transaction. | High | +| etl_billiards/database/connection.py | DatabaseConnection.close | method | Safely close the connection. | High | +| etl_billiards/database/operations.py | (module) | module | 数据库批量操作 | High | +| etl_billiards/database/operations.py | DatabaseOperations | class | 数据库批量操作封装 | High | +| etl_billiards/database/operations.py | DatabaseOperations.__init__ | method | | High | +| etl_billiards/database/operations.py | DatabaseOperations.batch_execute | method | 批量执行SQL | High | +| etl_billiards/database/operations.py | DatabaseOperations.batch_upsert_with_returning | method | 批量UPSERT并返回插入/更新计数 | High | +| etl_billiards/database/operations.py | DatabaseOperations._is_inserted | method | 判断是否为插入操作 | High | +| etl_billiards/database/operations.py | DatabaseOperations.commit | method | 提交事务(委托给底层连接) | High | +| etl_billiards/database/operations.py | DatabaseOperations.rollback | method | 回滚事务(委托给底层连接) | High | +| etl_billiards/database/operations.py | DatabaseOperations.query | method | 执行查询并返回结果 | High | +| etl_billiards/database/operations.py | DatabaseOperations.execute | method | 执行任意 SQL | High | +| etl_billiards/database/operations.py | DatabaseOperations.cursor | method | 暴露原生 cursor,供特殊操作使用 | High | +| etl_billiards/fetch-test/compare_recent_former_endpoints.py | (module) | module | 对比“近期记录”与“历史记录(Former)”接口: | Low | +| etl_billiards/fetch-test/compare_recent_former_endpoints.py | EndpointCheckResult | class | | Low | +| etl_billiards/fetch-test/compare_recent_former_endpoints.py | _reconfigure_stdout_utf8 | function | | Low | +| etl_billiards/fetch-test/compare_recent_former_endpoints.py | derive_former_endpoint | function | | Low | +| etl_billiards/fetch-test/compare_recent_former_endpoints.py | _parse_day_start | function | | Low | +| etl_billiards/fetch-test/compare_recent_former_endpoints.py | _window_from_dates | function | | Low | +| etl_billiards/fetch-test/compare_recent_former_endpoints.py | _build_window_params | function | | Low | +| etl_billiards/fetch-test/compare_recent_former_endpoints.py | _extract_records | function | | Low | +| etl_billiards/fetch-test/compare_recent_former_endpoints.py | _walk_paths | function | | Low | +| etl_billiards/fetch-test/compare_recent_former_endpoints.py | _schema_from_records | function | | Low | +| etl_billiards/fetch-test/compare_recent_former_endpoints.py | _schema_from_data | function | | Low | +| etl_billiards/fetch-test/compare_recent_former_endpoints.py | _cell | function | | Low | +| etl_billiards/fetch-test/compare_recent_former_endpoints.py | _format_diff | function | | Low | +| etl_billiards/fetch-test/compare_recent_former_endpoints.py | _post_first_page | function | | Low | +| etl_billiards/fetch-test/compare_recent_former_endpoints.py | _load_specs_for_range_only | function | | Low | +| etl_billiards/fetch-test/compare_recent_former_endpoints.py | main | function | | Low | +| etl_billiards/gui/__init__.py | (module) | module | ETL GUI 客户端模块 | Medium | +| etl_billiards/gui/main.py | (module) | module | ETL GUI 应用入口 | Medium | +| etl_billiards/gui/main.py | main | function | 主函数 | Medium | +| etl_billiards/gui/main_window.py | (module) | module | 主窗口 | Medium | +| etl_billiards/gui/main_window.py | MainWindow | class | ETL GUI 主窗口 | Medium | +| etl_billiards/gui/main_window.py | MainWindow.__init__ | method | | Medium | +| etl_billiards/gui/main_window.py | MainWindow.showEvent | method | 窗口显示事件 | Medium | +| etl_billiards/gui/main_window.py | MainWindow._init_ui | method | 初始化界面 | Medium | +| etl_billiards/gui/main_window.py | MainWindow._create_nav_widget | method | 创建导航侧边栏 | Medium | +| etl_billiards/gui/main_window.py | MainWindow._create_panels | method | 创建各个功能面板 | Medium | +| etl_billiards/gui/main_window.py | MainWindow._init_menu | method | 初始化菜单栏 | Medium | +| etl_billiards/gui/main_window.py | MainWindow._init_status_bar | method | 初始化状态栏 | Medium | +| etl_billiards/gui/main_window.py | MainWindow._connect_signals | method | 连接信号 | Medium | +| etl_billiards/gui/main_window.py | MainWindow._on_nav_changed | method | 导航项切换 | Medium | +| etl_billiards/gui/main_window.py | MainWindow._switch_panel | method | 切换到指定面板 | Medium | +| etl_billiards/gui/main_window.py | MainWindow._refresh_config | method | 刷新配置 | Medium | +| etl_billiards/gui/main_window.py | MainWindow._on_task_started | method | 任务开始时 | Medium | +| etl_billiards/gui/main_window.py | MainWindow._on_task_finished | method | 任务完成时 | Medium | +| etl_billiards/gui/main_window.py | MainWindow._on_db_connection_changed | method | 数据库连接状态变化 | Medium | +| etl_billiards/gui/main_window.py | MainWindow._show_status_message | method | 显示状态栏消息 | Medium | +| etl_billiards/gui/main_window.py | MainWindow._on_add_to_queue | method | 添加任务到队列 | Medium | +| etl_billiards/gui/main_window.py | MainWindow._on_create_schedule | method | 创建调度任务 | Medium | +| etl_billiards/gui/main_window.py | MainWindow._show_settings | method | 显示设置对话框 | Medium | +| etl_billiards/gui/main_window.py | MainWindow._check_config_on_startup | method | 启动时检查配置 | Medium | +| etl_billiards/gui/main_window.py | MainWindow._show_about | method | 显示关于对话框 | Medium | +| etl_billiards/gui/main_window.py | MainWindow.closeEvent | method | 关闭事件 | Medium | +| etl_billiards/gui/models/__init__.py | (module) | module | 数据模型模块 | Medium | +| etl_billiards/gui/models/schedule_model.py | (module) | module | 调度任务数据模型 | Medium | +| etl_billiards/gui/models/schedule_model.py | ScheduleType | class | 调度类型 | Medium | +| etl_billiards/gui/models/schedule_model.py | IntervalUnit | class | 间隔单位 | Medium | +| etl_billiards/gui/models/schedule_model.py | ScheduleConfig | class | 调度配置 | Medium | +| etl_billiards/gui/models/schedule_model.py | ScheduleConfig.to_dict | method | 转换为字典 | Medium | +| etl_billiards/gui/models/schedule_model.py | ScheduleConfig.from_dict | method | 从字典创建 | Medium | +| etl_billiards/gui/models/schedule_model.py | ScheduleConfig.get_description | method | 获取调度描述 | Medium | +| etl_billiards/gui/models/schedule_model.py | ScheduleConfig.get_next_run_time | method | 计算下次运行时间 | Medium | +| etl_billiards/gui/models/schedule_model.py | ScheduleConfig._parse_simple_cron | method | 简化版 Cron 解析 | Medium | +| etl_billiards/gui/models/schedule_model.py | ScheduleExecutionRecord | class | 调度执行记录 | Medium | +| etl_billiards/gui/models/schedule_model.py | ScheduleExecutionRecord.to_dict | method | | Medium | +| etl_billiards/gui/models/schedule_model.py | ScheduleExecutionRecord.from_dict | method | | Medium | +| etl_billiards/gui/models/schedule_model.py | ScheduledTask | class | 调度任务 | Medium | +| etl_billiards/gui/models/schedule_model.py | ScheduledTask.add_execution_record | method | 添加执行记录 | Medium | +| etl_billiards/gui/models/schedule_model.py | ScheduledTask.update_execution_record | method | 更新执行记录状态 | Medium | +| etl_billiards/gui/models/schedule_model.py | ScheduledTask.to_dict | method | 转换为字典 | Medium | +| etl_billiards/gui/models/schedule_model.py | ScheduledTask.from_dict | method | 从字典创建 | Medium | +| etl_billiards/gui/models/schedule_model.py | ScheduledTask.update_next_run | method | 更新下次运行时间 | Medium | +| etl_billiards/gui/models/schedule_model.py | ScheduleStore | class | 调度任务存储 | Medium | +| etl_billiards/gui/models/schedule_model.py | ScheduleStore.__init__ | method | | Medium | +| etl_billiards/gui/models/schedule_model.py | ScheduleStore.load | method | 加载任务 | Medium | +| etl_billiards/gui/models/schedule_model.py | ScheduleStore.save | method | 保存任务 | Medium | +| etl_billiards/gui/models/schedule_model.py | ScheduleStore.add_task | method | 添加任务 | Medium | +| etl_billiards/gui/models/schedule_model.py | ScheduleStore.remove_task | method | 移除任务 | Medium | +| etl_billiards/gui/models/schedule_model.py | ScheduleStore.update_task | method | 更新任务 | Medium | +| etl_billiards/gui/models/schedule_model.py | ScheduleStore.get_task | method | 获取任务 | Medium | +| etl_billiards/gui/models/schedule_model.py | ScheduleStore.get_all_tasks | method | 获取所有任务 | Medium | +| etl_billiards/gui/models/schedule_model.py | ScheduleStore.get_due_tasks | method | 获取到期需要执行的任务 | Medium | +| etl_billiards/gui/models/task_model.py | (module) | module | 任务数据模型 | Medium | +| etl_billiards/gui/models/task_model.py | TaskStatus | class | 任务状态枚举 | Medium | +| etl_billiards/gui/models/task_model.py | TaskCategory | class | 任务分类 | Medium | +| etl_billiards/gui/models/task_model.py | get_task_category | function | 获取任务分类 | Medium | +| etl_billiards/gui/models/task_model.py | TaskItem | class | 任务项 | Medium | +| etl_billiards/gui/models/task_model.py | TaskItem.__post_init__ | method | | Medium | +| etl_billiards/gui/models/task_model.py | TaskConfig | class | 任务执行配置 | Medium | +| etl_billiards/gui/models/task_model.py | TaskHistory | class | 任务执行历史 | Medium | +| etl_billiards/gui/models/task_model.py | TaskHistory.duration_seconds | method | 执行时长(秒) | Medium | +| etl_billiards/gui/models/task_model.py | TaskHistory.duration_str | method | 格式化的执行时长 | Medium | +| etl_billiards/gui/models/task_model.py | QueuedTask | class | 队列中的任务 | Medium | +| etl_billiards/gui/models/task_registry.py | (module) | module | 任务注册表:定义所有可用任务及其业务域分组。 | Medium | +| etl_billiards/gui/models/task_registry.py | BusinessDomain | class | 业务域枚举 | Medium | +| etl_billiards/gui/models/task_registry.py | TaskDefinition | class | 任务定义 | Medium | +| etl_billiards/gui/models/task_registry.py | _build_ods_task_definition | function | 根据 ODS 任务编码构建任务定义 | Medium | +| etl_billiards/gui/models/task_registry.py | TaskRegistry | class | 任务注册表:管理所有可用任务 | Medium | +| etl_billiards/gui/models/task_registry.py | TaskRegistry.__new__ | method | | Medium | +| etl_billiards/gui/models/task_registry.py | TaskRegistry.__init__ | method | | Medium | +| etl_billiards/gui/models/task_registry.py | TaskRegistry._load_tasks | method | 加载所有任务定义 | Medium | +| etl_billiards/gui/models/task_registry.py | TaskRegistry.get_task | method | 获取任务定义 | Medium | +| etl_billiards/gui/models/task_registry.py | TaskRegistry.get_all_tasks | method | 获取所有任务 | Medium | +| etl_billiards/gui/models/task_registry.py | TaskRegistry.get_ods_tasks | method | 获取所有 ODS 任务 | Medium | +| etl_billiards/gui/models/task_registry.py | TaskRegistry.get_fact_ods_tasks | method | 获取事实类 ODS 任务(需要时间窗口) | Medium | +| etl_billiards/gui/models/task_registry.py | TaskRegistry.get_dimension_ods_tasks | method | 获取维度类 ODS 任务 | Medium | +| etl_billiards/gui/models/task_registry.py | TaskRegistry.get_tasks_by_domain | method | 按业务域获取任务 | Medium | +| etl_billiards/gui/models/task_registry.py | TaskRegistry.get_ods_tasks_grouped | method | 获取按业务域分组的 ODS 任务 | Medium | +| etl_billiards/gui/models/task_registry.py | TaskRegistry.get_non_ods_tasks | method | 获取非 ODS 任务 | Medium | +| etl_billiards/gui/models/task_registry.py | get_ods_task_codes | function | 获取所有 ODS 任务编码 | Medium | +| etl_billiards/gui/models/task_registry.py | get_fact_ods_task_codes | function | 获取事实类 ODS 任务编码 | Medium | +| etl_billiards/gui/models/task_registry.py | get_dimension_ods_task_codes | function | 获取维度类 ODS 任务编码 | Medium | +| etl_billiards/gui/models/task_registry.py | get_all_task_tuples | function | 获取所有任务的 (code, name, description) 元组列表 | Medium | +| etl_billiards/gui/models/task_registry.py | get_ods_tasks_for_ui | function | 获取 ODS 任务列表供 UI 使用:(code, display_name, domain) | Medium | +| etl_billiards/gui/resources/__init__.py | (module) | module | GUI 资源模块 | Medium | +| etl_billiards/gui/resources/__init__.py | load_stylesheet | function | 加载样式表 | Medium | +| etl_billiards/gui/utils/__init__.py | (module) | module | 工具模块 | Medium | +| etl_billiards/gui/utils/app_settings.py | (module) | module | 应用程序设置管理 | Medium | +| etl_billiards/gui/utils/app_settings.py | AppSettings | class | 应用程序设置单例 | Medium | +| etl_billiards/gui/utils/app_settings.py | AppSettings.__new__ | method | | Medium | +| etl_billiards/gui/utils/app_settings.py | AppSettings.__init__ | method | | Medium | +| etl_billiards/gui/utils/app_settings.py | AppSettings._get_settings_path | method | 获取设置文件路径 | Medium | +| etl_billiards/gui/utils/app_settings.py | AppSettings._auto_detect_paths | method | 自动检测 ETL 项目路径 | Medium | +| etl_billiards/gui/utils/app_settings.py | AppSettings._load | method | 加载设置 | Medium | +| etl_billiards/gui/utils/app_settings.py | AppSettings._save | method | 保存设置 | Medium | +| etl_billiards/gui/utils/app_settings.py | AppSettings.etl_project_path | method | 获取 ETL 项目路径 | Medium | +| etl_billiards/gui/utils/app_settings.py | AppSettings.etl_project_path | method | 设置 ETL 项目路径 | Medium | +| etl_billiards/gui/utils/app_settings.py | AppSettings.env_file_path | method | 获取 .env 文件路径 | Medium | +| etl_billiards/gui/utils/app_settings.py | AppSettings.env_file_path | method | 设置 .env 文件路径 | Medium | +| etl_billiards/gui/utils/app_settings.py | AppSettings.is_configured | method | 检查是否已配置 | Medium | +| etl_billiards/gui/utils/app_settings.py | AppSettings.validate | method | 验证配置 | Medium | +| etl_billiards/gui/utils/app_settings.py | AppSettings.auto_update_hours | method | | Medium | +| etl_billiards/gui/utils/app_settings.py | AppSettings.auto_update_hours | method | | Medium | +| etl_billiards/gui/utils/app_settings.py | AppSettings.auto_update_overlap_seconds | method | | Medium | +| etl_billiards/gui/utils/app_settings.py | AppSettings.auto_update_overlap_seconds | method | | Medium | +| etl_billiards/gui/utils/app_settings.py | AppSettings.auto_update_include_dwd | method | | Medium | +| etl_billiards/gui/utils/app_settings.py | AppSettings.auto_update_include_dwd | method | | Medium | +| etl_billiards/gui/utils/app_settings.py | AppSettings.auto_update_auto_verify | method | | Medium | +| etl_billiards/gui/utils/app_settings.py | AppSettings.auto_update_auto_verify | method | | Medium | +| etl_billiards/gui/utils/app_settings.py | AppSettings.auto_update_selected_tasks | method | | Medium | +| etl_billiards/gui/utils/app_settings.py | AppSettings.auto_update_selected_tasks | method | | Medium | +| etl_billiards/gui/utils/app_settings.py | AppSettings.integrity_mode | method | | Medium | +| etl_billiards/gui/utils/app_settings.py | AppSettings.integrity_mode | method | | Medium | +| etl_billiards/gui/utils/app_settings.py | AppSettings.integrity_history_start | method | | Medium | +| etl_billiards/gui/utils/app_settings.py | AppSettings.integrity_history_start | method | | Medium | +| etl_billiards/gui/utils/app_settings.py | AppSettings.integrity_history_end | method | | Medium | +| etl_billiards/gui/utils/app_settings.py | AppSettings.integrity_history_end | method | | Medium | +| etl_billiards/gui/utils/app_settings.py | AppSettings.integrity_lookback_hours | method | | Medium | +| etl_billiards/gui/utils/app_settings.py | AppSettings.integrity_lookback_hours | method | | Medium | +| etl_billiards/gui/utils/app_settings.py | AppSettings.integrity_include_dimensions | method | | Medium | +| etl_billiards/gui/utils/app_settings.py | AppSettings.integrity_include_dimensions | method | | Medium | +| etl_billiards/gui/utils/app_settings.py | AppSettings.integrity_auto_backfill | method | | Medium | +| etl_billiards/gui/utils/app_settings.py | AppSettings.integrity_auto_backfill | method | | Medium | +| etl_billiards/gui/utils/app_settings.py | AppSettings.integrity_ods_tasks | method | | Medium | +| etl_billiards/gui/utils/app_settings.py | AppSettings.integrity_ods_tasks | method | | Medium | +| etl_billiards/gui/utils/app_settings.py | AppSettings.advanced_pipeline_flow | method | | Medium | +| etl_billiards/gui/utils/app_settings.py | AppSettings.advanced_pipeline_flow | method | | Medium | +| etl_billiards/gui/utils/app_settings.py | AppSettings.advanced_dry_run | method | | Medium | +| etl_billiards/gui/utils/app_settings.py | AppSettings.advanced_dry_run | method | | Medium | +| etl_billiards/gui/utils/app_settings.py | AppSettings.advanced_window_start | method | | Medium | +| etl_billiards/gui/utils/app_settings.py | AppSettings.advanced_window_start | method | | Medium | +| etl_billiards/gui/utils/app_settings.py | AppSettings.advanced_window_end | method | | Medium | +| etl_billiards/gui/utils/app_settings.py | AppSettings.advanced_window_end | method | | Medium | +| etl_billiards/gui/utils/app_settings.py | AppSettings.advanced_ingest_source | method | | Medium | +| etl_billiards/gui/utils/app_settings.py | AppSettings.advanced_ingest_source | method | | Medium | +| etl_billiards/gui/utils/app_settings.py | AppSettings.advanced_window_split | method | | Medium | +| etl_billiards/gui/utils/app_settings.py | AppSettings.advanced_window_split | method | | Medium | +| etl_billiards/gui/utils/app_settings.py | AppSettings.advanced_window_compensation | method | | Medium | +| etl_billiards/gui/utils/app_settings.py | AppSettings.advanced_window_compensation | method | | Medium | +| etl_billiards/gui/utils/app_settings.py | AppSettings.get_all_settings | method | 获取所有设置(用于调试) | Medium | +| etl_billiards/gui/utils/app_settings.py | AppSettings.save_all | method | 强制保存所有设置 | Medium | +| etl_billiards/gui/utils/app_settings.py | AppSettings._get_history_path | method | 获取任务历史文件路径 | Medium | +| etl_billiards/gui/utils/app_settings.py | AppSettings.save_task_history | method | 保存任务历史到文件 | Medium | +| etl_billiards/gui/utils/app_settings.py | AppSettings.load_task_history | method | 从文件加载任务历史 | Medium | +| etl_billiards/gui/utils/cli_builder.py | (module) | module | CLI 命令构建器 | Medium | +| etl_billiards/gui/utils/cli_builder.py | CLIBuilder | class | 构建 CLI 命令行参数 | Medium | +| etl_billiards/gui/utils/cli_builder.py | CLIBuilder.__init__ | method | | Medium | +| etl_billiards/gui/utils/cli_builder.py | CLIBuilder.build_command | method | 根据任务配置构建命令行参数列表 | Medium | +| etl_billiards/gui/utils/cli_builder.py | CLIBuilder.build_command_string | method | 构建命令行字符串(用于显示) | Medium | +| etl_billiards/gui/utils/cli_builder.py | CLIBuilder.build_from_dict | method | 从字典构建命令行参数 | Medium | +| etl_billiards/gui/utils/config_helper.py | (module) | module | 配置辅助工具 | Medium | +| etl_billiards/gui/utils/config_helper.py | ConfigHelper | class | 配置文件辅助类 | Medium | +| etl_billiards/gui/utils/config_helper.py | ConfigHelper.__init__ | method | 初始化配置辅助器 | Medium | +| etl_billiards/gui/utils/config_helper.py | ConfigHelper.load_env | method | 加载 .env 文件内容 | Medium | +| etl_billiards/gui/utils/config_helper.py | ConfigHelper.save_env | method | 保存环境变量到 .env 文件 | Medium | +| etl_billiards/gui/utils/config_helper.py | ConfigHelper.get_grouped_env | method | 获取分组的环境变量 | Medium | +| etl_billiards/gui/utils/config_helper.py | ConfigHelper.validate_env | method | 验证环境变量 | Medium | +| etl_billiards/gui/utils/config_helper.py | ConfigHelper.mask_sensitive | method | 脱敏敏感值 | Medium | +| etl_billiards/gui/utils/config_helper.py | ConfigHelper._parse_line | method | 解析 .env 文件的一行 | Medium | +| etl_billiards/gui/utils/config_helper.py | ConfigHelper._unquote_value | method | 处理引号和注释 | Medium | +| etl_billiards/gui/utils/config_helper.py | ConfigHelper._strip_inline_comment | method | 去除内联注释 | Medium | +| etl_billiards/gui/utils/config_helper.py | ConfigHelper._format_line | method | 格式化为 .env 行 | Medium | +| etl_billiards/gui/utils/config_helper.py | ConfigHelper.get_group_title | method | 获取分组标题 | Medium | +| etl_billiards/gui/widgets/__init__.py | (module) | module | GUI 组件模块 | Medium | +| etl_billiards/gui/widgets/db_viewer.py | (module) | module | 数据库查看器 | Medium | +| etl_billiards/gui/widgets/db_viewer.py | DBViewer | class | 数据库查看器 | Medium | +| etl_billiards/gui/widgets/db_viewer.py | DBViewer.__init__ | method | | Medium | +| etl_billiards/gui/widgets/db_viewer.py | DBViewer._init_ui | method | 初始化界面 | Medium | +| etl_billiards/gui/widgets/db_viewer.py | DBViewer._create_table_browser | method | 创建表浏览器 | Medium | +| etl_billiards/gui/widgets/db_viewer.py | DBViewer._create_query_area | method | 创建查询区域 | Medium | +| etl_billiards/gui/widgets/db_viewer.py | DBViewer._connect_signals | method | 连接信号 | Medium | +| etl_billiards/gui/widgets/db_viewer.py | DBViewer._load_dsn_from_env | method | 从环境变量加载 DSN | Medium | +| etl_billiards/gui/widgets/db_viewer.py | DBViewer._toggle_dsn_visibility | method | 切换 DSN 可见性 | Medium | +| etl_billiards/gui/widgets/db_viewer.py | DBViewer._connect_db | method | 连接数据库 | Medium | +| etl_billiards/gui/widgets/db_viewer.py | DBViewer._disconnect_db | method | 断开数据库连接 | Medium | +| etl_billiards/gui/widgets/db_viewer.py | DBViewer._refresh_tables | method | 刷新表列表 | Medium | +| etl_billiards/gui/widgets/db_viewer.py | DBViewer._on_connection_status | method | 处理连接状态变化 | Medium | +| etl_billiards/gui/widgets/db_viewer.py | DBViewer._on_tables_loaded | method | 处理表列表加载完成 | Medium | +| etl_billiards/gui/widgets/db_viewer.py | DBViewer._on_template_selected | method | 模板选择变化 | Medium | +| etl_billiards/gui/widgets/db_viewer.py | DBViewer._on_table_double_clicked | method | 表双击事件 | Medium | +| etl_billiards/gui/widgets/db_viewer.py | DBViewer._execute_query | method | 执行查询 | Medium | +| etl_billiards/gui/widgets/db_viewer.py | DBViewer._on_query_finished | method | 查询完成 | Medium | +| etl_billiards/gui/widgets/db_viewer.py | DBViewer._on_query_error | method | 查询错误 | Medium | +| etl_billiards/gui/widgets/db_viewer.py | DBViewer.close_connection | method | 关闭连接 | Medium | +| etl_billiards/gui/widgets/db_viewer.py | DBViewer.keyPressEvent | method | 键盘事件 | Medium | +| etl_billiards/gui/widgets/env_editor.py | (module) | module | 环境变量编辑器 | Medium | +| etl_billiards/gui/widgets/env_editor.py | EnvEditor | class | 环境变量编辑器 | Medium | +| etl_billiards/gui/widgets/env_editor.py | EnvEditor.__init__ | method | | Medium | +| etl_billiards/gui/widgets/env_editor.py | EnvEditor._init_ui | method | 初始化界面 | Medium | +| etl_billiards/gui/widgets/env_editor.py | EnvEditor._create_config_groups | method | 创建配置分组 | Medium | +| etl_billiards/gui/widgets/env_editor.py | EnvEditor.load_config | method | 加载配置 | Medium | +| etl_billiards/gui/widgets/env_editor.py | EnvEditor._save_config | method | 保存配置 | Medium | +| etl_billiards/gui/widgets/env_editor.py | EnvEditor._import_config | method | 导入配置 | Medium | +| etl_billiards/gui/widgets/env_editor.py | EnvEditor._export_config | method | 导出配置 | Medium | +| etl_billiards/gui/widgets/env_editor.py | EnvEditor._toggle_sensitive | method | 切换敏感信息显示 | Medium | +| etl_billiards/gui/widgets/env_editor.py | EnvEditor._on_value_changed | method | 值变化时验证 | Medium | +| etl_billiards/gui/widgets/env_editor.py | EnvEditor._validate | method | 验证配置 | Medium | +| etl_billiards/gui/widgets/env_editor.py | EnvEditor._get_placeholder | method | 获取占位符提示 | Medium | +| etl_billiards/gui/widgets/log_viewer.py | (module) | module | 日志查看器 | Medium | +| etl_billiards/gui/widgets/log_viewer.py | LogViewer | class | 日志查看器 | Medium | +| etl_billiards/gui/widgets/log_viewer.py | LogViewer.__init__ | method | | Medium | +| etl_billiards/gui/widgets/log_viewer.py | LogViewer._init_ui | method | 初始化界面 | Medium | +| etl_billiards/gui/widgets/log_viewer.py | LogViewer._connect_signals | method | 连接信号 | Medium | +| etl_billiards/gui/widgets/log_viewer.py | LogViewer.append_log | method | 追加日志 | Medium | +| etl_billiards/gui/widgets/log_viewer.py | LogViewer._append_formatted_line | method | 追加格式化的行 | Medium | +| etl_billiards/gui/widgets/log_viewer.py | LogViewer._matches_filter | method | 检查是否匹配过滤器 | Medium | +| etl_billiards/gui/widgets/log_viewer.py | LogViewer._apply_filter | method | 应用过滤器 | Medium | +| etl_billiards/gui/widgets/log_viewer.py | LogViewer._toggle_auto_scroll | method | 切换自动滚动 | Medium | +| etl_billiards/gui/widgets/log_viewer.py | LogViewer._copy_all | method | 复制全部日志 | Medium | +| etl_billiards/gui/widgets/log_viewer.py | LogViewer._export_log | method | 导出日志 | Medium | +| etl_billiards/gui/widgets/log_viewer.py | LogViewer._clear_log | method | 清空日志 | Medium | +| etl_billiards/gui/widgets/log_viewer.py | LogViewer._update_line_count | method | 更新行数显示 | Medium | +| etl_billiards/gui/widgets/settings_dialog.py | (module) | module | 应用程序设置对话框 | Medium | +| etl_billiards/gui/widgets/settings_dialog.py | SettingsDialog | class | 设置对话框 | Medium | +| etl_billiards/gui/widgets/settings_dialog.py | SettingsDialog.__init__ | method | | Medium | +| etl_billiards/gui/widgets/settings_dialog.py | SettingsDialog._init_ui | method | | Medium | +| etl_billiards/gui/widgets/settings_dialog.py | SettingsDialog._load_settings | method | 加载设置 | Medium | +| etl_billiards/gui/widgets/settings_dialog.py | SettingsDialog._browse_project_path | method | 浏览项目路径 | Medium | +| etl_billiards/gui/widgets/settings_dialog.py | SettingsDialog._browse_env_path | method | 浏览 .env 文件 | Medium | +| etl_billiards/gui/widgets/settings_dialog.py | SettingsDialog._validate_config | method | 验证配置 | Medium | +| etl_billiards/gui/widgets/settings_dialog.py | SettingsDialog._save_and_accept | method | 保存并关闭 | Medium | +| etl_billiards/gui/widgets/status_panel.py | (module) | module | ETL 状态面板 | Medium | +| etl_billiards/gui/widgets/status_panel.py | StatusCard | class | 状态卡片 | Medium | +| etl_billiards/gui/widgets/status_panel.py | StatusCard.__init__ | method | | Medium | +| etl_billiards/gui/widgets/status_panel.py | StatusCard.set_value | method | 设置值 | Medium | +| etl_billiards/gui/widgets/status_panel.py | StatusPanel | class | ETL 状态面板 | Medium | +| etl_billiards/gui/widgets/status_panel.py | StatusPanel.__init__ | method | | Medium | +| etl_billiards/gui/widgets/status_panel.py | StatusPanel._init_ui | method | 初始化界面 | Medium | +| etl_billiards/gui/widgets/status_panel.py | StatusPanel._connect_signals | method | 连接信号 | Medium | +| etl_billiards/gui/widgets/status_panel.py | StatusPanel._toggle_auto_refresh | method | 切换自动刷新 | Medium | +| etl_billiards/gui/widgets/status_panel.py | StatusPanel._auto_refresh | method | 自动刷新 | Medium | +| etl_billiards/gui/widgets/status_panel.py | StatusPanel._refresh_all | method | 刷新所有数据 | Medium | +| etl_billiards/gui/widgets/status_panel.py | StatusPanel._on_connection_status | method | 处理连接状态 | Medium | +| etl_billiards/gui/widgets/status_panel.py | StatusPanel._load_status_data | method | 加载状态数据 | Medium | +| etl_billiards/gui/widgets/status_panel.py | StatusPanel._on_query_finished | method | 处理查询结果 | Medium | +| etl_billiards/gui/widgets/status_panel.py | StatusPanel._process_table_count | method | 处理表数量数据 | Medium | +| etl_billiards/gui/widgets/status_panel.py | StatusPanel._process_cutoff_data | method | 处理 Cutoff 数据 | Medium | +| etl_billiards/gui/widgets/status_panel.py | StatusPanel._process_history_data | method | 处理运行历史数据 | Medium | +| etl_billiards/gui/widgets/status_panel.py | StatusPanel._on_query_error | method | 处理查询错误 | Medium | +| etl_billiards/gui/widgets/task_manager.py | (module) | module | 任务管理器面板 | Medium | +| etl_billiards/gui/widgets/task_manager.py | _get_schedulable_tasks | function | 从任务注册表动态获取可调度任务列表 | Medium | +| etl_billiards/gui/widgets/task_manager.py | TaskLogDialog | class | 任务日志查看对话框 | Medium | +| etl_billiards/gui/widgets/task_manager.py | TaskLogDialog.__init__ | method | | Medium | +| etl_billiards/gui/widgets/task_manager.py | TaskLogDialog._init_ui | method | | Medium | +| etl_billiards/gui/widgets/task_manager.py | TaskLogDialog._copy_log | method | 复制日志到剪贴板 | Medium | +| etl_billiards/gui/widgets/task_manager.py | TaskLogDialog._get_status_text | method | | Medium | +| etl_billiards/gui/widgets/task_manager.py | TaskLogDialog._get_status_color | method | | Medium | +| etl_billiards/gui/widgets/task_manager.py | ScheduleEditDialog | class | 调度任务编辑对话框 | Medium | +| etl_billiards/gui/widgets/task_manager.py | ScheduleEditDialog.__init__ | method | | Medium | +| etl_billiards/gui/widgets/task_manager.py | ScheduleEditDialog._init_ui | method | | Medium | +| etl_billiards/gui/widgets/task_manager.py | ScheduleEditDialog._on_type_changed | method | | Medium | +| etl_billiards/gui/widgets/task_manager.py | ScheduleEditDialog._load_task | method | 加载任务数据 | Medium | +| etl_billiards/gui/widgets/task_manager.py | ScheduleEditDialog.get_task | method | 获取配置的任务 | Medium | +| etl_billiards/gui/widgets/task_manager.py | ScheduleEditDialog._connect_preview_signals | method | 连接信号以实时更新 CLI 预览 | Medium | +| etl_billiards/gui/widgets/task_manager.py | ScheduleEditDialog._update_cli_preview | method | 更新 CLI 命令行预览 | Medium | +| etl_billiards/gui/widgets/task_manager.py | ScheduleEditDialog._on_cli_editable_changed | method | 切换 CLI 编辑模式 | Medium | +| etl_billiards/gui/widgets/task_manager.py | ScheduleEditDialog._copy_cli_to_clipboard | method | 复制 CLI 命令到剪贴板 | Medium | +| etl_billiards/gui/widgets/task_manager.py | ScheduleLogDialog | class | 调度任务日志查看对话框 | Medium | +| etl_billiards/gui/widgets/task_manager.py | ScheduleLogDialog.__init__ | method | | Medium | +| etl_billiards/gui/widgets/task_manager.py | ScheduleLogDialog._init_ui | method | | Medium | +| etl_billiards/gui/widgets/task_manager.py | ScheduleLogDialog._load_history | method | 加载执行历史 | Medium | +| etl_billiards/gui/widgets/task_manager.py | ScheduleLogDialog._on_selection_changed | method | 选择变化时显示对应的日志 | Medium | +| etl_billiards/gui/widgets/task_manager.py | ScheduleLogDialog._show_running_task_log | method | 显示执行中任务的实时日志 | Medium | +| etl_billiards/gui/widgets/task_manager.py | ScheduleLogDialog._refresh_running_log | method | 定时刷新执行中任务的日志 | Medium | +| etl_billiards/gui/widgets/task_manager.py | ScheduleLogDialog._copy_log | method | 复制日志到剪贴板 | Medium | +| etl_billiards/gui/widgets/task_manager.py | ScheduleLogDialog._get_status_text | method | | Medium | +| etl_billiards/gui/widgets/task_manager.py | ScheduleLogDialog._get_status_color | method | | Medium | +| etl_billiards/gui/widgets/task_manager.py | TaskManager | class | 任务管理器 | Medium | +| etl_billiards/gui/widgets/task_manager.py | TaskManager.__init__ | method | | Medium | +| etl_billiards/gui/widgets/task_manager.py | TaskManager._init_ui | method | 初始化界面 | Medium | +| etl_billiards/gui/widgets/task_manager.py | TaskManager._connect_signals | method | 连接信号 | Medium | +| etl_billiards/gui/widgets/task_manager.py | TaskManager.add_task | method | 添加任务到队列 | Medium | +| etl_billiards/gui/widgets/task_manager.py | TaskManager._toggle_auto_run | method | 切换自动执行 | Medium | +| etl_billiards/gui/widgets/task_manager.py | TaskManager._clear_queue | method | 清空队列 | Medium | +| etl_billiards/gui/widgets/task_manager.py | TaskManager._run_next | method | 执行下一个任务 | Medium | +| etl_billiards/gui/widgets/task_manager.py | TaskManager._run_all | method | 执行全部任务 | Medium | +| etl_billiards/gui/widgets/task_manager.py | TaskManager._stop_current | method | 停止当前任务 | Medium | +| etl_billiards/gui/widgets/task_manager.py | TaskManager._clear_history | method | 清空历史 | Medium | +| etl_billiards/gui/widgets/task_manager.py | TaskManager._execute_task | method | 执行任务 | Medium | +| etl_billiards/gui/widgets/task_manager.py | TaskManager._on_output | method | 收到输出 | Medium | +| etl_billiards/gui/widgets/task_manager.py | TaskManager._on_finished | method | 任务完成 | Medium | +| etl_billiards/gui/widgets/task_manager.py | TaskManager._on_error | method | 发生错误 | Medium | +| etl_billiards/gui/widgets/task_manager.py | TaskManager._is_running | method | 是否有任务在运行 | Medium | +| etl_billiards/gui/widgets/task_manager.py | TaskManager._has_scheduled_tasks_pending | method | 检查队列中是否有待执行的定时任务 | Medium | +| etl_billiards/gui/widgets/task_manager.py | TaskManager._refresh_display | method | 刷新显示 | Medium | +| etl_billiards/gui/widgets/task_manager.py | TaskManager._refresh_queue_table | method | 刷新队列表格 | Medium | +| etl_billiards/gui/widgets/task_manager.py | TaskManager._refresh_history_table | method | 刷新历史表格 | Medium | +| etl_billiards/gui/widgets/task_manager.py | TaskManager._show_queue_menu | method | 显示队列右键菜单 | Medium | +| etl_billiards/gui/widgets/task_manager.py | TaskManager._remove_task | method | 移除任务 | Medium | +| etl_billiards/gui/widgets/task_manager.py | TaskManager._show_history_menu | method | 显示历史右键菜单 | Medium | +| etl_billiards/gui/widgets/task_manager.py | TaskManager._view_task_log | method | 双击查看任务日志 | Medium | +| etl_billiards/gui/widgets/task_manager.py | TaskManager._show_task_log_dialog | method | 显示任务日志对话框 | Medium | +| etl_billiards/gui/widgets/task_manager.py | TaskManager._rerun_task | method | 重新执行任务 | Medium | +| etl_billiards/gui/widgets/task_manager.py | TaskManager._remove_from_history | method | 从历史中删除任务 | Medium | +| etl_billiards/gui/widgets/task_manager.py | TaskManager._load_task_history | method | 从文件加载任务历史 | Medium | +| etl_billiards/gui/widgets/task_manager.py | TaskManager._save_task_history | method | 保存任务历史到文件 | Medium | +| etl_billiards/gui/widgets/task_manager.py | TaskManager._extract_result_summary | method | 从任务输出中提取结果摘要 | Medium | +| etl_billiards/gui/widgets/task_manager.py | TaskManager._get_status_text | method | 获取状态文本 | Medium | +| etl_billiards/gui/widgets/task_manager.py | TaskManager._get_status_color | method | 获取状态颜色 | Medium | +| etl_billiards/gui/widgets/task_manager.py | TaskManager._toggle_scheduler | method | 切换调度器状态 | Medium | +| etl_billiards/gui/widgets/task_manager.py | TaskManager._check_scheduled_tasks | method | 检查并执行到期的调度任务 | Medium | +| etl_billiards/gui/widgets/task_manager.py | TaskManager._execute_scheduled_task | method | 执行调度任务 | Medium | +| etl_billiards/gui/widgets/task_manager.py | TaskManager._add_schedule | method | 添加调度任务 | Medium | +| etl_billiards/gui/widgets/task_manager.py | TaskManager._edit_schedule | method | 编辑调度任务 | Medium | +| etl_billiards/gui/widgets/task_manager.py | TaskManager._delete_schedule | method | 删除调度任务 | Medium | +| etl_billiards/gui/widgets/task_manager.py | TaskManager._toggle_schedule_enabled | method | 切换调度任务启用状态 | Medium | +| etl_billiards/gui/widgets/task_manager.py | TaskManager._run_schedule_now | method | 立即执行调度任务 | Medium | +| etl_billiards/gui/widgets/task_manager.py | TaskManager._show_schedule_menu | method | 显示调度任务右键菜单 | Medium | +| etl_billiards/gui/widgets/task_manager.py | TaskManager._refresh_schedule_table | method | 刷新调度任务表格 | Medium | +| etl_billiards/gui/widgets/task_manager.py | TaskManager._update_schedule_execution_record | method | 更新调度执行记录(如果此任务来自调度) | Medium | +| etl_billiards/gui/widgets/task_manager.py | TaskManager._view_schedule_log | method | 查看调度任务日志 | Medium | +| etl_billiards/gui/widgets/task_manager.py | TaskManager._on_schedule_double_click | method | 双击调度任务查看日志 | Medium | +| etl_billiards/gui/widgets/task_panel.py | (module) | module | 任务配置面板 | Medium | +| etl_billiards/gui/widgets/task_panel.py | _get_all_tasks | function | 从注册表动态获取所有任务 | Medium | +| etl_billiards/gui/widgets/task_panel.py | TaskPanel | class | 任务配置面板 | Medium | +| etl_billiards/gui/widgets/task_panel.py | TaskPanel.__init__ | method | | Medium | +| etl_billiards/gui/widgets/task_panel.py | TaskPanel._init_ui | method | 初始化界面 | Medium | +| etl_billiards/gui/widgets/task_panel.py | TaskPanel._create_task_selection | method | 创建任务选择区域 | Medium | +| etl_billiards/gui/widgets/task_panel.py | TaskPanel._create_config_area | method | 创建参数配置区域 | Medium | +| etl_billiards/gui/widgets/task_panel.py | TaskPanel._create_quick_actions_tab | method | 创建快捷操作选项卡 | Medium | +| etl_billiards/gui/widgets/task_panel.py | TaskPanel._on_reload_include_dimensions_changed | method | 全量重刷的"包含维度表"选项变化 | Medium | +| etl_billiards/gui/widgets/task_panel.py | TaskPanel._create_advanced_config_tab | method | 创建高级配置选项卡 | Medium | +| etl_billiards/gui/widgets/task_panel.py | TaskPanel._create_bottom_area | method | 创建底部区域 | Medium | +| etl_billiards/gui/widgets/task_panel.py | TaskPanel._connect_signals | method | 连接信号 | Medium | +| etl_billiards/gui/widgets/task_panel.py | TaskPanel._on_backfill_option_changed | method | 自动补齐选项变化时,联动其他选项 | Medium | +| etl_billiards/gui/widgets/task_panel.py | TaskPanel.refresh_tasks | method | 刷新任务列表 | Medium | +| etl_billiards/gui/widgets/task_panel.py | TaskPanel._filter_tasks | method | 过滤任务列表 | Medium | +| etl_billiards/gui/widgets/task_panel.py | TaskPanel._on_selection_changed | method | 选择变化时 | Medium | +| etl_billiards/gui/widgets/task_panel.py | TaskPanel._select_all | method | 全选 | Medium | +| etl_billiards/gui/widgets/task_panel.py | TaskPanel._deselect_all | method | 全不选 | Medium | +| etl_billiards/gui/widgets/task_panel.py | TaskPanel._browse_source_dir | method | 浏览数据源目录 | Medium | +| etl_billiards/gui/widgets/task_panel.py | TaskPanel._get_config | method | 获取当前配置 | Medium | +| etl_billiards/gui/widgets/task_panel.py | TaskPanel._update_preview | method | 更新命令行预览 | Medium | +| etl_billiards/gui/widgets/task_panel.py | TaskPanel._run_task | method | 执行任务 | Medium | +| etl_billiards/gui/widgets/task_panel.py | TaskPanel._stop_task | method | 停止任务 | Medium | +| etl_billiards/gui/widgets/task_panel.py | TaskPanel._on_output | method | 收到输出 | Medium | +| etl_billiards/gui/widgets/task_panel.py | TaskPanel._on_finished | method | 任务完成 | Medium | +| etl_billiards/gui/widgets/task_panel.py | TaskPanel._on_error | method | 发生错误 | Medium | +| etl_billiards/gui/widgets/task_panel.py | TaskPanel.is_running | method | 是否正在执行任务 | Medium | +| etl_billiards/gui/widgets/task_panel.py | TaskPanel._add_task_to_queue | method | 将任务列表中选中的任务添加到队列 | Medium | +| etl_billiards/gui/widgets/task_panel.py | TaskPanel._on_integrity_mode_changed | method | 校验模式变化 | Medium | +| etl_billiards/gui/widgets/task_panel.py | TaskPanel._update_sync_time_preview | method | 更新日常同步的时间范围预览(精确到秒) | Medium | +| etl_billiards/gui/widgets/task_panel.py | TaskPanel._run_daily_sync | method | 执行日常增量同步 | Medium | +| etl_billiards/gui/widgets/task_panel.py | TaskPanel._create_sync_schedule | method | 创建日常同步调度任务 | Medium | +| etl_billiards/gui/widgets/task_panel.py | TaskPanel._run_full_reload | method | 执行全量重刷 | Medium | +| etl_billiards/gui/widgets/task_panel.py | TaskPanel._get_integrity_config | method | 获取数据校验配置 | Medium | +| etl_billiards/gui/widgets/task_panel.py | TaskPanel._run_integrity_check | method | 执行数据完整性校验 | Medium | +| etl_billiards/gui/widgets/task_panel.py | TaskPanel._create_integrity_schedule | method | 创建数据校验调度任务 | Medium | +| etl_billiards/gui/widgets/task_panel.py | TaskPanel._load_settings | method | 从持久化存储加载设置 | Medium | +| etl_billiards/gui/widgets/task_panel.py | TaskPanel._save_sync_settings | method | 保存日常同步设置 | Medium | +| etl_billiards/gui/widgets/task_panel.py | TaskPanel._save_reload_settings | method | 保存全量重刷设置 | Medium | +| etl_billiards/gui/widgets/task_panel.py | TaskPanel._save_integrity_settings | method | 保存数据校验设置 | Medium | +| etl_billiards/gui/widgets/task_panel.py | TaskPanel._save_advanced_settings | method | 保存高级设置 | Medium | +| etl_billiards/gui/widgets/task_selector.py | (module) | module | 可复用的 ODS 任务选择组件:按业务域分组显示,支持全选/反选。 | Medium | +| etl_billiards/gui/widgets/task_selector.py | TaskSelectorWidget | class | ODS 任务选择组件:按业务域分组显示 | Medium | +| etl_billiards/gui/widgets/task_selector.py | TaskSelectorWidget.__init__ | method | 初始化任务选择器 | Medium | +| etl_billiards/gui/widgets/task_selector.py | TaskSelectorWidget._init_ui | method | 初始化界面 | Medium | +| etl_billiards/gui/widgets/task_selector.py | TaskSelectorWidget._create_domain_group | method | 创建业务域分组框 | Medium | +| etl_billiards/gui/widgets/task_selector.py | TaskSelectorWidget._apply_default_selection | method | 应用默认选择 | Medium | +| etl_billiards/gui/widgets/task_selector.py | TaskSelectorWidget._on_selection_changed | method | 选择变化时 | Medium | +| etl_billiards/gui/widgets/task_selector.py | TaskSelectorWidget._update_count_label | method | 更新选中计数标签 | Medium | +| etl_billiards/gui/widgets/task_selector.py | TaskSelectorWidget._select_all | method | 全选 | Medium | +| etl_billiards/gui/widgets/task_selector.py | TaskSelectorWidget._deselect_all | method | 全不选 | Medium | +| etl_billiards/gui/widgets/task_selector.py | TaskSelectorWidget._select_facts_only | method | 只选事实表任务 | Medium | +| etl_billiards/gui/widgets/task_selector.py | TaskSelectorWidget.get_selected_codes | method | 获取选中的任务编码列表 | Medium | +| etl_billiards/gui/widgets/task_selector.py | TaskSelectorWidget.set_selected_codes | method | 设置选中的任务编码 | Medium | +| etl_billiards/gui/widgets/task_selector.py | TaskSelectorWidget.get_all_codes | method | 获取所有任务编码 | Medium | +| etl_billiards/gui/widgets/task_selector.py | TaskSelectorWidget.is_any_selected | method | 是否有任何任务被选中 | Medium | +| etl_billiards/gui/widgets/task_selector.py | CompactTaskSelector | class | 紧凑型任务选择器:单行显示业务域,点击展开选择 | Medium | +| etl_billiards/gui/widgets/task_selector.py | CompactTaskSelector.__init__ | method | | Medium | +| etl_billiards/gui/widgets/task_selector.py | CompactTaskSelector._init_ui | method | 初始化界面 | Medium | +| etl_billiards/gui/widgets/task_selector.py | CompactTaskSelector._apply_default_selection | method | 应用默认选择 | Medium | +| etl_billiards/gui/widgets/task_selector.py | CompactTaskSelector._on_selection_changed | method | 选择变化时 | Medium | +| etl_billiards/gui/widgets/task_selector.py | CompactTaskSelector._update_count_label | method | 更新计数标签 | Medium | +| etl_billiards/gui/widgets/task_selector.py | CompactTaskSelector._select_all | method | 全选所有业务域 | Medium | +| etl_billiards/gui/widgets/task_selector.py | CompactTaskSelector._deselect_all | method | 取消全选 | Medium | +| etl_billiards/gui/widgets/task_selector.py | CompactTaskSelector.get_selected_codes | method | 获取选中的任务编码 | Medium | +| etl_billiards/gui/widgets/task_selector.py | CompactTaskSelector.set_selected_domains | method | 设置选中的业务域 | Medium | +| etl_billiards/gui/widgets/task_selector.py | CompactTaskSelector.is_any_selected | method | 是否有任何任务被选中 | Medium | +| etl_billiards/gui/workers/__init__.py | (module) | module | 后台工作线程模块 | Medium | +| etl_billiards/gui/workers/db_worker.py | (module) | module | 数据库查询工作线程 | Medium | +| etl_billiards/gui/workers/db_worker.py | DBWorker | class | 数据库查询工作线程 | Medium | +| etl_billiards/gui/workers/db_worker.py | DBWorker.__init__ | method | | Medium | +| etl_billiards/gui/workers/db_worker.py | DBWorker.connect_db | method | 连接数据库 | Medium | +| etl_billiards/gui/workers/db_worker.py | DBWorker.disconnect_db | method | 断开数据库连接 | Medium | +| etl_billiards/gui/workers/db_worker.py | DBWorker.execute_query | method | 执行查询 | Medium | +| etl_billiards/gui/workers/db_worker.py | DBWorker.load_tables | method | 加载表列表 | Medium | +| etl_billiards/gui/workers/db_worker.py | DBWorker.run | method | 执行任务 | Medium | +| etl_billiards/gui/workers/db_worker.py | DBWorker._do_connect | method | 执行连接 | Medium | +| etl_billiards/gui/workers/db_worker.py | DBWorker._do_disconnect | method | 执行断开连接 | Medium | +| etl_billiards/gui/workers/db_worker.py | DBWorker._do_query | method | 执行查询 | Medium | +| etl_billiards/gui/workers/db_worker.py | DBWorker._do_load_tables | method | 加载表列表 | Medium | +| etl_billiards/gui/workers/db_worker.py | DBWorker.is_connected | method | 检查是否已连接 | Medium | +| etl_billiards/gui/workers/task_worker.py | (module) | module | 任务执行工作线程 | Medium | +| etl_billiards/gui/workers/task_worker.py | TaskWorker | class | 任务执行工作线程 | Medium | +| etl_billiards/gui/workers/task_worker.py | TaskWorker.__init__ | method | | Medium | +| etl_billiards/gui/workers/task_worker.py | TaskWorker.run | method | 执行任务 | Medium | +| etl_billiards/gui/workers/task_worker.py | TaskWorker.stop | method | 停止任务 | Medium | +| etl_billiards/gui/workers/task_worker.py | TaskWorker._parse_progress | method | 解析进度信息 | Medium | +| etl_billiards/gui/workers/task_worker.py | TaskWorker._generate_summary | method | 生成执行摘要 | Medium | +| etl_billiards/gui/workers/task_worker.py | TaskWorker._parse_detailed_summary | method | 解析详细的执行摘要 | Medium | +| etl_billiards/gui/workers/task_worker.py | TaskWorker.exit_code | method | 获取退出码 | Medium | +| etl_billiards/gui/workers/task_worker.py | TaskWorker.output | method | 获取完整输出 | Medium | +| etl_billiards/loaders/base_loader.py | (module) | module | 数据加载器基类 | Medium | +| etl_billiards/loaders/base_loader.py | BaseLoader | class | 数据加载器基类 | Medium | +| etl_billiards/loaders/base_loader.py | BaseLoader.__init__ | method | | Medium | +| etl_billiards/loaders/base_loader.py | BaseLoader.upsert | method | 执行 UPSERT 操作 | Medium | +| etl_billiards/loaders/base_loader.py | BaseLoader._batch_size | method | 批次大小 | Medium | +| etl_billiards/loaders/dimensions/assistant.py | (module) | module | 助教维度加载器 | Medium | +| etl_billiards/loaders/dimensions/assistant.py | AssistantLoader | class | 写入 dim_assistant | Medium | +| etl_billiards/loaders/dimensions/assistant.py | AssistantLoader.upsert_assistants | method | | Medium | +| etl_billiards/loaders/dimensions/member.py | (module) | module | 会员维度表加载器 | Medium | +| etl_billiards/loaders/dimensions/member.py | MemberLoader | class | 会员维度加载器 | Medium | +| etl_billiards/loaders/dimensions/member.py | MemberLoader.upsert_members | method | 加载会员数据 | Medium | +| etl_billiards/loaders/dimensions/package.py | (module) | module | 团购/套餐定义加载器 | Medium | +| etl_billiards/loaders/dimensions/package.py | PackageDefinitionLoader | class | 写入 dim_package_coupon | Medium | +| etl_billiards/loaders/dimensions/package.py | PackageDefinitionLoader.upsert_packages | method | | Medium | +| etl_billiards/loaders/dimensions/product.py | (module) | module | 商品维度 + 价格SCD2 加载器 | Medium | +| etl_billiards/loaders/dimensions/product.py | ProductLoader | class | 商品维度加载器(dim_product + dim_product_price_scd) | Medium | +| etl_billiards/loaders/dimensions/product.py | ProductLoader.__init__ | method | | Medium | +| etl_billiards/loaders/dimensions/product.py | ProductLoader.upsert_products | method | 加载商品维度及价格SCD | Medium | +| etl_billiards/loaders/dimensions/table.py | (module) | module | 台桌维度加载器 | Medium | +| etl_billiards/loaders/dimensions/table.py | TableLoader | class | 将台桌档案写入 dim_table | Medium | +| etl_billiards/loaders/dimensions/table.py | TableLoader.upsert_tables | method | 批量写入台桌档案 | Medium | +| etl_billiards/loaders/facts/assistant_abolish.py | (module) | module | 助教作废事实表 | Medium | +| etl_billiards/loaders/facts/assistant_abolish.py | AssistantAbolishLoader | class | 写入 fact_assistant_abolish | Medium | +| etl_billiards/loaders/facts/assistant_abolish.py | AssistantAbolishLoader.upsert_records | method | | Medium | +| etl_billiards/loaders/facts/assistant_ledger.py | (module) | module | 助教流水事实表 | Medium | +| etl_billiards/loaders/facts/assistant_ledger.py | AssistantLedgerLoader | class | 写入 fact_assistant_ledger | Medium | +| etl_billiards/loaders/facts/assistant_ledger.py | AssistantLedgerLoader.upsert_ledgers | method | | Medium | +| etl_billiards/loaders/facts/coupon_usage.py | (module) | module | 券核销事实表 | Medium | +| etl_billiards/loaders/facts/coupon_usage.py | CouponUsageLoader | class | 写入 fact_coupon_usage | Medium | +| etl_billiards/loaders/facts/coupon_usage.py | CouponUsageLoader.upsert_coupon_usage | method | | Medium | +| etl_billiards/loaders/facts/inventory_change.py | (module) | module | 库存变动事实表 | Medium | +| etl_billiards/loaders/facts/inventory_change.py | InventoryChangeLoader | class | 写入 fact_inventory_change | Medium | +| etl_billiards/loaders/facts/inventory_change.py | InventoryChangeLoader.upsert_changes | method | | Medium | +| etl_billiards/loaders/facts/order.py | (module) | module | 订单事实表加载器 | Medium | +| etl_billiards/loaders/facts/order.py | OrderLoader | class | 订单数据加载器 | Medium | +| etl_billiards/loaders/facts/order.py | OrderLoader.upsert_orders | method | 加载订单数据 | Medium | +| etl_billiards/loaders/facts/payment.py | (module) | module | 支付事实表加载器 | Medium | +| etl_billiards/loaders/facts/payment.py | PaymentLoader | class | 支付数据加载器 | Medium | +| etl_billiards/loaders/facts/payment.py | PaymentLoader.upsert_payments | method | 加载支付数据 | Medium | +| etl_billiards/loaders/facts/refund.py | (module) | module | 退款事实表加载器 | Medium | +| etl_billiards/loaders/facts/refund.py | RefundLoader | class | 写入 fact_refund | Medium | +| etl_billiards/loaders/facts/refund.py | RefundLoader.upsert_refunds | method | | Medium | +| etl_billiards/loaders/facts/table_discount.py | (module) | module | 台费打折事实表 | Medium | +| etl_billiards/loaders/facts/table_discount.py | TableDiscountLoader | class | 写入 fact_table_discount | Medium | +| etl_billiards/loaders/facts/table_discount.py | TableDiscountLoader.upsert_discounts | method | | Medium | +| etl_billiards/loaders/facts/ticket.py | (module) | module | 小票详情加载器 | Medium | +| etl_billiards/loaders/facts/ticket.py | TicketLoader | class | Loader for parsing Ticket Detail JSON and populating DWD fact tables. | Medium | +| etl_billiards/loaders/facts/ticket.py | TicketLoader.process_tickets | method | Process a batch of ticket JSONs. | Medium | +| etl_billiards/loaders/facts/ticket.py | TicketLoader._upsert_orders | method | | Medium | +| etl_billiards/loaders/facts/ticket.py | TicketLoader._upsert_goods | method | | Medium | +| etl_billiards/loaders/facts/ticket.py | TicketLoader._upsert_table_usages | method | | Medium | +| etl_billiards/loaders/facts/ticket.py | TicketLoader._upsert_assistant_services | method | | Medium | +| etl_billiards/loaders/facts/topup.py | (module) | module | 充值记录事实表 | Medium | +| etl_billiards/loaders/facts/topup.py | TopupLoader | class | 写入 fact_topup | Medium | +| etl_billiards/loaders/facts/topup.py | TopupLoader.upsert_topups | method | | Medium | +| etl_billiards/loaders/ods/__init__.py | (module) | module | ODS loader helpers. | Medium | +| etl_billiards/loaders/ods/generic.py | (module) | module | Generic ODS loader that keeps raw payload + primary keys. | Medium | +| etl_billiards/loaders/ods/generic.py | GenericODSLoader | class | Insert/update helper for ODS tables that share the same pattern. | Medium | +| etl_billiards/loaders/ods/generic.py | GenericODSLoader.__init__ | method | | Medium | +| etl_billiards/loaders/ods/generic.py | GenericODSLoader.upsert_rows | method | Insert/update the provided iterable of dictionaries. | Medium | +| etl_billiards/loaders/ods/generic.py | GenericODSLoader._build_sql | method | | Medium | +| etl_billiards/loaders/ods/generic.py | GenericODSLoader._normalize_row | method | | Medium | +| etl_billiards/models/parsers.py | (module) | module | 数据类型解析器 | Medium | +| etl_billiards/models/parsers.py | TypeParser | class | 类型解析工具 | Medium | +| etl_billiards/models/parsers.py | TypeParser.parse_timestamp | method | 解析时间戳 | Medium | +| etl_billiards/models/parsers.py | TypeParser.parse_decimal | method | 解析金额 | Medium | +| etl_billiards/models/parsers.py | TypeParser.parse_int | method | 解析整数 | Medium | +| etl_billiards/models/parsers.py | TypeParser.format_timestamp | method | 格式化时间戳 | Medium | +| etl_billiards/models/validators.py | (module) | module | 数据验证器 | Medium | +| etl_billiards/models/validators.py | DataValidator | class | 数据验证工具 | Medium | +| etl_billiards/models/validators.py | DataValidator.validate_positive_amount | method | 验证金额为正数 | Medium | +| etl_billiards/models/validators.py | DataValidator.validate_required | method | 验证必填字段 | Medium | +| etl_billiards/models/validators.py | DataValidator.validate_range | method | 验证值范围 | Medium | +| etl_billiards/orchestration/cursor_manager.py | (module) | module | 游标管理器 | High | +| etl_billiards/orchestration/cursor_manager.py | CursorManager | class | ETL游标管理 | High | +| etl_billiards/orchestration/cursor_manager.py | CursorManager.__init__ | method | | High | +| etl_billiards/orchestration/cursor_manager.py | CursorManager.get_or_create | method | 获取或创建游标 | High | +| etl_billiards/orchestration/cursor_manager.py | CursorManager.advance | method | 推进游标 | High | +| etl_billiards/orchestration/run_tracker.py | (module) | module | 运行记录追踪器 | High | +| etl_billiards/orchestration/run_tracker.py | RunTracker | class | ETL运行记录管理 | High | +| etl_billiards/orchestration/run_tracker.py | RunTracker.__init__ | method | | High | +| etl_billiards/orchestration/run_tracker.py | RunTracker.create_run | method | 创建运行记录 | High | +| etl_billiards/orchestration/run_tracker.py | RunTracker.update_run | method | 更新运行记录 | High | +| etl_billiards/orchestration/scheduler.py | (module) | module | ETL 调度:支持在线抓取、离线清洗入库、全流程三种模式。 | High | +| etl_billiards/orchestration/scheduler.py | ETLScheduler | class | 调度多个任务,按 pipeline.flow 执行抓取/清洗入库。 | High | +| etl_billiards/orchestration/scheduler.py | ETLScheduler.__init__ | method | | High | +| etl_billiards/orchestration/scheduler.py | ETLScheduler._attach_run_file_logger | method | 为本次 run_uuid 动态挂载文件日志处理器。 | High | +| etl_billiards/orchestration/scheduler.py | ETLScheduler.run_tasks | method | 按配置或传入列表执行任务。 | High | +| etl_billiards/orchestration/scheduler.py | ETLScheduler._run_single_task | method | 单个任务的抓取/清洗编排。 | High | +| etl_billiards/orchestration/scheduler.py | ETLScheduler._execute_fetch | method | 在线抓取阶段:用 RecordingAPIClient 拉取并落盘,不做 Transform/Load。 | High | +| etl_billiards/orchestration/scheduler.py | ETLScheduler._is_ods_task | method | | High | +| etl_billiards/orchestration/scheduler.py | ETLScheduler._execute_ods_record_and_load | method | Execute an ODS task with RecordingAPIClient so it fetches online and writes JSON dumps. | High | +| etl_billiards/orchestration/scheduler.py | ETLScheduler._execute_ingest | method | 本地清洗入库:使用 LocalJsonClient 回放 JSON,走原有任务 ETL。 | High | +| etl_billiards/orchestration/scheduler.py | ETLScheduler._build_fetch_dir | method | | High | +| etl_billiards/orchestration/scheduler.py | ETLScheduler._resolve_ingest_source | method | | High | +| etl_billiards/orchestration/scheduler.py | ETLScheduler._counts_from_fetch | method | | High | +| etl_billiards/orchestration/scheduler.py | ETLScheduler._flow_includes_fetch | method | | High | +| etl_billiards/orchestration/scheduler.py | ETLScheduler._flow_includes_ingest | method | | High | +| etl_billiards/orchestration/scheduler.py | ETLScheduler._run_utility_task | method | 执行工具类任务(不记录 cursor/run,直接执行)。 | High | +| etl_billiards/orchestration/scheduler.py | ETLScheduler._load_task_config | method | 从数据库加载任务配置。 | High | +| etl_billiards/orchestration/scheduler.py | ETLScheduler._maybe_run_integrity_check | method | | High | +| etl_billiards/orchestration/scheduler.py | ETLScheduler.close | method | 关闭连接。 | High | +| etl_billiards/orchestration/scheduler.py | ETLScheduler._map_run_status | method | 将任务返回的状态转换为 etl_admin.run_status_enum | High | +| etl_billiards/orchestration/task_registry.py | (module) | module | 任务注册表 | High | +| etl_billiards/orchestration/task_registry.py | TaskRegistry | class | 任务注册和工厂 | High | +| etl_billiards/orchestration/task_registry.py | TaskRegistry.__init__ | method | | High | +| etl_billiards/orchestration/task_registry.py | TaskRegistry.register | method | 注册任务类 | High | +| etl_billiards/orchestration/task_registry.py | TaskRegistry.create_task | method | 创建任务实例 | High | +| etl_billiards/orchestration/task_registry.py | TaskRegistry.get_all_task_codes | method | 获取所有已注册的任务代码 | High | +| etl_billiards/quality/balance_checker.py | (module) | module | 余额一致性检查器 | Medium | +| etl_billiards/quality/balance_checker.py | BalanceChecker | class | 检查订单、支付、退款的金额一致性 | Medium | +| etl_billiards/quality/balance_checker.py | BalanceChecker.check | method | 检查指定时间范围内的余额一致性 | Medium | +| etl_billiards/quality/base_checker.py | (module) | module | 数据质量检查器基类 | Medium | +| etl_billiards/quality/base_checker.py | BaseDataQualityChecker | class | 数据质量检查器基类 | Medium | +| etl_billiards/quality/base_checker.py | BaseDataQualityChecker.__init__ | method | | Medium | +| etl_billiards/quality/base_checker.py | BaseDataQualityChecker.check | method | 执行质量检查 | Medium | +| etl_billiards/quality/integrity_checker.py | (module) | module | Integrity checks across API -> ODS -> DWD. | Medium | +| etl_billiards/quality/integrity_checker.py | IntegrityWindow | class | | Medium | +| etl_billiards/quality/integrity_checker.py | _ensure_tz | function | | Medium | +| etl_billiards/quality/integrity_checker.py | _month_start | function | | Medium | +| etl_billiards/quality/integrity_checker.py | _next_month | function | | Medium | +| etl_billiards/quality/integrity_checker.py | _date_to_start | function | | Medium | +| etl_billiards/quality/integrity_checker.py | _date_to_end_exclusive | function | | Medium | +| etl_billiards/quality/integrity_checker.py | build_history_windows | function | Build weekly windows for current month, monthly windows for earlier months. | Medium | +| etl_billiards/quality/integrity_checker.py | _split_table | function | | Medium | +| etl_billiards/quality/integrity_checker.py | _pick_time_column | function | | Medium | +| etl_billiards/quality/integrity_checker.py | _fetch_columns | function | | Medium | +| etl_billiards/quality/integrity_checker.py | _amount_columns | function | | Medium | +| etl_billiards/quality/integrity_checker.py | _build_hash_expr | function | | Medium | +| etl_billiards/quality/integrity_checker.py | _build_snapshot_subquery | function | | Medium | +| etl_billiards/quality/integrity_checker.py | _build_snapshot_expr_subquery | function | | Medium | +| etl_billiards/quality/integrity_checker.py | _cast_expr | function | | Medium | +| etl_billiards/quality/integrity_checker.py | _fetch_pk_columns | function | | Medium | +| etl_billiards/quality/integrity_checker.py | _pick_snapshot_order_column | function | | Medium | +| etl_billiards/quality/integrity_checker.py | _count_table | function | | Medium | +| etl_billiards/quality/integrity_checker.py | _sum_column | function | | Medium | +| etl_billiards/quality/integrity_checker.py | run_dwd_vs_ods_check | function | | Medium | +| etl_billiards/quality/integrity_checker.py | _default_report_path | function | | Medium | +| etl_billiards/quality/integrity_checker.py | run_integrity_window | function | | Medium | +| etl_billiards/quality/integrity_checker.py | run_integrity_history | function | | Medium | +| etl_billiards/quality/integrity_checker.py | compute_last_etl_end | function | | Medium | +| etl_billiards/quality/integrity_service.py | (module) | module | Shared integrity flow helpers (window/history + optional backfill). | Medium | +| etl_billiards/quality/integrity_service.py | _normalize_windows | function | | Medium | +| etl_billiards/quality/integrity_service.py | build_window_report | function | | Medium | +| etl_billiards/quality/integrity_service.py | run_window_flow | function | | Medium | +| etl_billiards/quality/integrity_service.py | run_history_flow | function | | Medium | +| etl_billiards/quality/integrity_service.py | write_report | function | | Medium | +| etl_billiards/reports/__init__.py | (module) | module | Reports package. | Medium | +| etl_billiards/reports/loyal_billiards_customers_report.py | (module) | module | 统计“忠实台球类竞技客户”Top N(按平均单次日打球小时数排序)。 | Medium | +| etl_billiards/reports/loyal_billiards_customers_report.py | SessionRow | class | | Medium | +| etl_billiards/reports/loyal_billiards_customers_report.py | MemberAgg | class | | Medium | +| etl_billiards/reports/loyal_billiards_customers_report.py | _as_tz | function | | Medium | +| etl_billiards/reports/loyal_billiards_customers_report.py | _parse_date | function | | Medium | +| etl_billiards/reports/loyal_billiards_customers_report.py | _date_floor | function | | Medium | +| etl_billiards/reports/loyal_billiards_customers_report.py | _split_by_day | function | | Medium | +| etl_billiards/reports/loyal_billiards_customers_report.py | _union_seconds | function | | Medium | +| etl_billiards/reports/loyal_billiards_customers_report.py | _avg_gap_days | function | | Medium | +| etl_billiards/reports/loyal_billiards_customers_report.py | _load_sessions | function | | Medium | +| etl_billiards/reports/loyal_billiards_customers_report.py | _load_member_profiles | function | | Medium | +| etl_billiards/reports/loyal_billiards_customers_report.py | _load_latest_settlement_contact | function | | Medium | +| etl_billiards/reports/loyal_billiards_customers_report.py | _build_member_aggs | function | | Medium | +| etl_billiards/reports/loyal_billiards_customers_report.py | _write_report | function | | Medium | +| etl_billiards/reports/loyal_billiards_customers_report.py | main | function | | Medium | +| etl_billiards/reports/loyal_customers_total_hours_for_list.py | (module) | module | 按自定义名单统计累计打球总时长(同“忠实台球类竞技客户”口径) | Medium | +| etl_billiards/reports/loyal_customers_total_hours_for_list.py | InputRow | class | | Medium | +| etl_billiards/reports/loyal_customers_total_hours_for_list.py | _digits | function | | Medium | +| etl_billiards/reports/loyal_customers_total_hours_for_list.py | _normalize_name | function | | Medium | +| etl_billiards/reports/loyal_customers_total_hours_for_list.py | _read_input | function | | Medium | +| etl_billiards/reports/loyal_customers_total_hours_for_list.py | _load_member_candidates_by_phone | function | | Medium | +| etl_billiards/reports/loyal_customers_total_hours_for_list.py | _load_member_candidates_by_mobile | function | | Medium | +| etl_billiards/reports/loyal_customers_total_hours_for_list.py | _resolve_member_ids | function | | Medium | +| etl_billiards/reports/loyal_customers_total_hours_for_list.py | _load_sessions_for_members | function | | Medium | +| etl_billiards/reports/loyal_customers_total_hours_for_list.py | _write_report | function | | Medium | +| etl_billiards/reports/loyal_customers_total_hours_for_list.py | main | function | | Medium | +| etl_billiards/run_update.py | (module) | module | 一键增量更新脚本(ODS -> DWD -> DWS)。 | Medium | +| etl_billiards/run_update.py | _coerce_date | function | | Medium | +| etl_billiards/run_update.py | _compute_dws_window | function | | Medium | +| etl_billiards/run_update.py | _run_check_cutoff | function | | Medium | +| etl_billiards/run_update.py | _iter_daily_windows | function | | Medium | +| etl_billiards/run_update.py | _run_step_worker | function | | Medium | +| etl_billiards/run_update.py | _run_step_with_timeout | function | | Medium | +| etl_billiards/run_update.py | main | function | | Medium | +| etl_billiards/scd/scd2_handler.py | (module) | module | SCD2 (Slowly Changing Dimension Type 2) 处理逻辑 | Medium | +| etl_billiards/scd/scd2_handler.py | _row_to_dict | function | | Medium | +| etl_billiards/scd/scd2_handler.py | SCD2Handler | class | SCD2历史记录处理 | Medium | +| etl_billiards/scd/scd2_handler.py | SCD2Handler.__init__ | method | | Medium | +| etl_billiards/scd/scd2_handler.py | SCD2Handler.upsert | method | 处理SCD2更新 | Medium | +| etl_billiards/scripts/backfill_missing_data.py | (module) | module | 补全丢失的 ODS 数据 | Low | +| etl_billiards/scripts/backfill_missing_data.py | _reconfigure_stdout_utf8 | function | | Low | +| etl_billiards/scripts/backfill_missing_data.py | _parse_dt | function | | Low | +| etl_billiards/scripts/backfill_missing_data.py | _get_spec | function | 根据任务代码获取 ODS 任务规格 | Low | +| etl_billiards/scripts/backfill_missing_data.py | _merge_record_layers | function | Flatten nested data layers into a single dict. | Low | +| etl_billiards/scripts/backfill_missing_data.py | _get_value_case_insensitive | function | Fetch value without case sensitivity. | Low | +| etl_billiards/scripts/backfill_missing_data.py | _normalize_pk_value | function | Normalize PK value. | Low | +| etl_billiards/scripts/backfill_missing_data.py | _pk_tuple_from_record | function | Extract PK tuple from record. | Low | +| etl_billiards/scripts/backfill_missing_data.py | _get_table_pk_columns | function | 获取表的主键列 | Low | +| etl_billiards/scripts/backfill_missing_data.py | _get_table_columns | function | 获取表的所有列信息 | Low | +| etl_billiards/scripts/backfill_missing_data.py | _fetch_existing_pk_set | function | 获取已存在的 PK 集合 | Low | +| etl_billiards/scripts/backfill_missing_data.py | _cast_value | function | 类型转换 | Low | +| etl_billiards/scripts/backfill_missing_data.py | _normalize_scalar | function | 规范化标量值 | Low | +| etl_billiards/scripts/backfill_missing_data.py | MissingDataBackfiller | class | 丢失数据补全器 | Low | +| etl_billiards/scripts/backfill_missing_data.py | MissingDataBackfiller.__init__ | method | | Low | +| etl_billiards/scripts/backfill_missing_data.py | MissingDataBackfiller.close | method | 关闭连接 | Low | +| etl_billiards/scripts/backfill_missing_data.py | MissingDataBackfiller._ensure_db | method | 确保数据库连接可用 | Low | +| etl_billiards/scripts/backfill_missing_data.py | MissingDataBackfiller.backfill_from_gap_check | method | 运行 gap check 并补全丢失数据 | Low | +| etl_billiards/scripts/backfill_missing_data.py | MissingDataBackfiller._backfill_task | method | 补全单个任务的丢失数据 | Low | +| etl_billiards/scripts/backfill_missing_data.py | MissingDataBackfiller._build_params | method | 构建 API 请求参数 | Low | +| etl_billiards/scripts/backfill_missing_data.py | MissingDataBackfiller._insert_records | method | 插入记录到数据库 | Low | +| etl_billiards/scripts/backfill_missing_data.py | run_backfill | function | 运行数据补全 | Low | +| etl_billiards/scripts/backfill_missing_data.py | main | function | | Low | +| etl_billiards/scripts/bootstrap_schema.py | (module) | module | Apply the PRD-aligned warehouse schema (ODS/DWD/DWS) to PostgreSQL. | Low | +| etl_billiards/scripts/bootstrap_schema.py | parse_args | function | | Low | +| etl_billiards/scripts/bootstrap_schema.py | apply_schema | function | | Low | +| etl_billiards/scripts/bootstrap_schema.py | main | function | | Low | +| etl_billiards/scripts/build_dwd_from_ods.py | (parse_error) | module | invalid non-printable character U+FEFF (, line 1) | Low | +| etl_billiards/scripts/build_dws_order_summary.py | (module) | module | Recompute billiards_dws.dws_order_summary from DWD tables (dwd_*). | Low | +| etl_billiards/scripts/build_dws_order_summary.py | parse_args | function | | Low | +| etl_billiards/scripts/build_dws_order_summary.py | main | function | | Low | +| etl_billiards/scripts/check_data_integrity.py | (module) | module | Run data integrity checks across API -> ODS -> DWD. | Low | +| etl_billiards/scripts/check_data_integrity.py | _parse_dt | function | | Low | +| etl_billiards/scripts/check_data_integrity.py | main | function | | Low | +| etl_billiards/scripts/check_ods_gaps.py | (module) | module | Check missing ODS records by comparing API primary keys vs ODS table primary keys. | Low | +| etl_billiards/scripts/check_ods_gaps.py | _reconfigure_stdout_utf8 | function | | Low | +| etl_billiards/scripts/check_ods_gaps.py | _parse_dt | function | | Low | +| etl_billiards/scripts/check_ods_gaps.py | _iter_windows | function | | Low | +| etl_billiards/scripts/check_ods_gaps.py | _merge_record_layers | function | | Low | +| etl_billiards/scripts/check_ods_gaps.py | _chunked | function | | Low | +| etl_billiards/scripts/check_ods_gaps.py | _get_table_pk_columns | function | | Low | +| etl_billiards/scripts/check_ods_gaps.py | _table_has_column | function | | Low | +| etl_billiards/scripts/check_ods_gaps.py | _fetch_existing_pk_set | function | | Low | +| etl_billiards/scripts/check_ods_gaps.py | _fetch_existing_pk_hash_set | function | | Low | +| etl_billiards/scripts/check_ods_gaps.py | _init_db_state | function | | Low | +| etl_billiards/scripts/check_ods_gaps.py | _reconnect_db | function | | Low | +| etl_billiards/scripts/check_ods_gaps.py | _ensure_db_conn | function | | Low | +| etl_billiards/scripts/check_ods_gaps.py | _merge_common_params | function | | Low | +| etl_billiards/scripts/check_ods_gaps.py | _build_params | function | | Low | +| etl_billiards/scripts/check_ods_gaps.py | _pk_tuple_from_merged | function | | Low | +| etl_billiards/scripts/check_ods_gaps.py | _pk_tuple_from_record | function | | Low | +| etl_billiards/scripts/check_ods_gaps.py | _pk_tuple_from_ticket_candidate | function | | Low | +| etl_billiards/scripts/check_ods_gaps.py | _format_missing_sample | function | | Low | +| etl_billiards/scripts/check_ods_gaps.py | _format_mismatch_sample | function | | Low | +| etl_billiards/scripts/check_ods_gaps.py | _check_spec | function | | Low | +| etl_billiards/scripts/check_ods_gaps.py | _check_settlement_tickets | function | | Low | +| etl_billiards/scripts/check_ods_gaps.py | _compute_ods_cutoff | function | | Low | +| etl_billiards/scripts/check_ods_gaps.py | _resolve_window_from_cutoff | function | | Low | +| etl_billiards/scripts/check_ods_gaps.py | run_gap_check | function | | Low | +| etl_billiards/scripts/check_ods_gaps.py | main | function | | Low | +| etl_billiards/scripts/check_ods_json_vs_table.py | (module) | module | ODS JSON 字段核对脚本:对照当前数据库中的 ODS 表字段,检查示例 JSON(默认目录 export/test-json-doc) | Low | +| etl_billiards/scripts/check_ods_json_vs_table.py | _flatten_keys | function | 递归展开 JSON 所有键路径,返回形如 data.assistantInfos.id 的集合。列表不保留索引,仅继续向下展开。 | Low | +| etl_billiards/scripts/check_ods_json_vs_table.py | _load_json_keys | function | 读取单个 JSON 文件并返回展开后的键集合以及末段->路径列表映射,若文件不存在或无法解析则返回空集合。 | Low | +| etl_billiards/scripts/check_ods_json_vs_table.py | _load_ods_columns | function | 从数据库读取 billiards_ods.* 的列名集合,按表返回。 | Low | +| etl_billiards/scripts/check_ods_json_vs_table.py | main | function | 主流程:遍历 FILE_MAPPING 中的 ODS 表,检查 JSON 键覆盖情况并打印报告。 | Low | +| etl_billiards/scripts/migrate_snapshot_ods.py | (module) | module | 迁移到“快照型 ODS + DWD SCD2”: | Low | +| etl_billiards/scripts/migrate_snapshot_ods.py | _hash_default | function | | Low | +| etl_billiards/scripts/migrate_snapshot_ods.py | _sanitize_record_for_hash | function | | Low | +| etl_billiards/scripts/migrate_snapshot_ods.py | _compute_content_hash | function | | Low | +| etl_billiards/scripts/migrate_snapshot_ods.py | _fetch_tables | function | | Low | +| etl_billiards/scripts/migrate_snapshot_ods.py | _fetch_columns | function | | Low | +| etl_billiards/scripts/migrate_snapshot_ods.py | _fetch_pk_constraint | function | | Low | +| etl_billiards/scripts/migrate_snapshot_ods.py | _ensure_content_hash_column | function | | Low | +| etl_billiards/scripts/migrate_snapshot_ods.py | _backfill_content_hash | function | | Low | +| etl_billiards/scripts/migrate_snapshot_ods.py | _ensure_ods_primary_key | function | | Low | +| etl_billiards/scripts/migrate_snapshot_ods.py | _migrate_ods | function | | Low | +| etl_billiards/scripts/migrate_snapshot_ods.py | _backfill_scd2_fields | function | | Low | +| etl_billiards/scripts/migrate_snapshot_ods.py | _ensure_dwd_primary_key | function | | Low | +| etl_billiards/scripts/migrate_snapshot_ods.py | _migrate_dwd | function | | Low | +| etl_billiards/scripts/migrate_snapshot_ods.py | main | function | | Low | +| etl_billiards/scripts/rebuild_db_and_run_ods_to_dwd.py | (module) | module | 一键重建 ETL 相关 Schema,并执行 ODS → DWD。 | Low | +| etl_billiards/scripts/rebuild_db_and_run_ods_to_dwd.py | RunArgs | class | 脚本参数对象(用于减少散落的参数传递)。 | Low | +| etl_billiards/scripts/rebuild_db_and_run_ods_to_dwd.py | _attach_file_logger | function | 给 root logger 附加文件日志处理器(UTF-8)。 | Low | +| etl_billiards/scripts/rebuild_db_and_run_ods_to_dwd.py | _parse_args | function | 解析命令行/环境变量参数。 | Low | +| etl_billiards/scripts/rebuild_db_and_run_ods_to_dwd.py | _build_config | function | 构建本次执行所需的最小配置覆盖。 | Low | +| etl_billiards/scripts/rebuild_db_and_run_ods_to_dwd.py | _drop_schemas | function | 删除并重建 ETL 相关 schema(具备破坏性,请谨慎)。 | Low | +| etl_billiards/scripts/rebuild_db_and_run_ods_to_dwd.py | _terminate_own_idle_in_tx | function | 终止当前用户在本库中处于 idle-in-transaction 的会话,避免阻塞 DROP/DDL。 | Low | +| etl_billiards/scripts/rebuild_db_and_run_ods_to_dwd.py | _run_task | function | 统一运行任务并打印关键结果。 | Low | +| etl_billiards/scripts/rebuild_db_and_run_ods_to_dwd.py | _basic_validate | function | 做最基础的可用性校验:schema 存在、关键表行数可查询。 | Low | +| etl_billiards/scripts/rebuild_db_and_run_ods_to_dwd.py | _connect_db_with_retry | function | 创建数据库连接(带重试),避免短暂网络抖动导致脚本直接失败。 | Low | +| etl_billiards/scripts/rebuild_db_and_run_ods_to_dwd.py | _is_connection_error | function | 判断是否为连接断开/服务端异常导致的可重试错误。 | Low | +| etl_billiards/scripts/rebuild_db_and_run_ods_to_dwd.py | _run_stage_with_reconnect | function | 运行单个阶段:失败(尤其是连接断开)时自动重连并重试。 | Low | +| etl_billiards/scripts/rebuild_db_and_run_ods_to_dwd.py | main | function | 脚本主入口:按顺序重建并跑通 ODS→DWD。 | Low | +| etl_billiards/scripts/rebuild_ods_from_json.py | (module) | module | 从本地 JSON 示例目录重建 billiards_ods.* 表,并导入样例数据。 | Low | +| etl_billiards/scripts/rebuild_ods_from_json.py | sanitize_identifier | function | 将任意字符串转为可用的 SQL identifier(小写、非字母数字转下划线)。 | Low | +| etl_billiards/scripts/rebuild_ods_from_json.py | _extract_list_via_path | function | | Low | +| etl_billiards/scripts/rebuild_ods_from_json.py | load_records | function | 尝试从 JSON 结构中提取记录列表: | Low | +| etl_billiards/scripts/rebuild_ods_from_json.py | collect_columns | function | 汇总所有顶层键,作为表字段;仅处理 dict 记录。 | Low | +| etl_billiards/scripts/rebuild_ods_from_json.py | create_table | function | 创建表:字段全部 jsonb,外加 source_file、record_index、payload、ingested_at。 | Low | +| etl_billiards/scripts/rebuild_ods_from_json.py | insert_records | function | 批量插入记录。 | Low | +| etl_billiards/scripts/rebuild_ods_from_json.py | rebuild | function | | Low | +| etl_billiards/scripts/reload_ods_windowed.py | (module) | module | Reload ODS tasks by fixed time windows with optional sleep between windows. | Low | +| etl_billiards/scripts/reload_ods_windowed.py | _parse_dt | function | | Low | +| etl_billiards/scripts/reload_ods_windowed.py | _iter_windows | function | | Low | +| etl_billiards/scripts/reload_ods_windowed.py | _run_task_window | function | | Low | +| etl_billiards/scripts/reload_ods_windowed.py | main | function | | Low | +| etl_billiards/scripts/run_tests.py | (module) | module | 灵活的测试执行脚本,可像搭积木一样组合不同参数或预置命令(模式/数据库/归档路径等), | Low | +| etl_billiards/scripts/run_tests.py | _load_presets | function | | Low | +| etl_billiards/scripts/run_tests.py | parse_args | function | | Low | +| etl_billiards/scripts/run_tests.py | apply_presets_to_args | function | | Low | +| etl_billiards/scripts/run_tests.py | apply_env | function | | Low | +| etl_billiards/scripts/run_tests.py | build_pytest_args | function | | Low | +| etl_billiards/scripts/run_tests.py | main | function | | Low | +| etl_billiards/scripts/test_db_connection.py | (module) | module | Quick utility for validating PostgreSQL connectivity (ASCII-only output). | Low | +| etl_billiards/scripts/test_db_connection.py | parse_args | function | | Low | +| etl_billiards/scripts/test_db_connection.py | main | function | | Low | +| etl_billiards/scripts/test_db_performance.py | (module) | module | PostgreSQL connection performance test (ASCII-only output). | Low | +| etl_billiards/scripts/test_db_performance.py | _load_env | function | | Low | +| etl_billiards/scripts/test_db_performance.py | _apply_dsn_overrides | function | | Low | +| etl_billiards/scripts/test_db_performance.py | _build_dsn_from_env | function | | Low | +| etl_billiards/scripts/test_db_performance.py | _safe_dsn_summary | function | | Low | +| etl_billiards/scripts/test_db_performance.py | _percentile | function | | Low | +| etl_billiards/scripts/test_db_performance.py | _format_stats | function | | Low | +| etl_billiards/scripts/test_db_performance.py | parse_args | function | | Low | +| etl_billiards/scripts/test_db_performance.py | _run_round | function | | Low | +| etl_billiards/scripts/test_db_performance.py | main | function | | Low | +| etl_billiards/scripts/test_presets.py | (module) | module | 测试命令仓库:集中维护 run_tests.py 的常用组合,支持一键执行。 | Low | +| etl_billiards/scripts/test_presets.py | print_parameter_help | function | | Low | +| etl_billiards/scripts/test_presets.py | print_presets | function | | Low | +| etl_billiards/scripts/test_presets.py | resolve_targets | function | | Low | +| etl_billiards/scripts/test_presets.py | run_presets | function | | Low | +| etl_billiards/scripts/test_presets.py | main | function | | Low | +| etl_billiards/setup.py | (module) | module | Setup script for ETL Billiards | Medium | +| etl_billiards/tasks/assistant_abolish_task.py | (module) | module | 助教作废任务 | Task | +| etl_billiards/tasks/assistant_abolish_task.py | AssistantAbolishTask | class | 同步助教作废记录 | Task | +| etl_billiards/tasks/assistant_abolish_task.py | AssistantAbolishTask.get_task_code | method | | Task | +| etl_billiards/tasks/assistant_abolish_task.py | AssistantAbolishTask.extract | method | | Task | +| etl_billiards/tasks/assistant_abolish_task.py | AssistantAbolishTask.transform | method | | Task | +| etl_billiards/tasks/assistant_abolish_task.py | AssistantAbolishTask.load | method | | Task | +| etl_billiards/tasks/assistant_abolish_task.py | AssistantAbolishTask._parse_record | method | | Task | +| etl_billiards/tasks/assistants_task.py | (module) | module | 助教账号任务 | Task | +| etl_billiards/tasks/assistants_task.py | AssistantsTask | class | 同步助教账号资料 | Task | +| etl_billiards/tasks/assistants_task.py | AssistantsTask.get_task_code | method | | Task | +| etl_billiards/tasks/assistants_task.py | AssistantsTask.extract | method | | Task | +| etl_billiards/tasks/assistants_task.py | AssistantsTask.transform | method | | Task | +| etl_billiards/tasks/assistants_task.py | AssistantsTask.load | method | | Task | +| etl_billiards/tasks/assistants_task.py | AssistantsTask._parse_assistant | method | | Task | +| etl_billiards/tasks/base_dwd_task.py | (module) | module | DWD任务基类 | Task | +| etl_billiards/tasks/base_dwd_task.py | BaseDwdTask | class | DWD 层任务基类 | Task | +| etl_billiards/tasks/base_dwd_task.py | BaseDwdTask._get_ods_cursor | method | 获取上次处理的 ODS 数据的时间点 (fetched_at) | Task | +| etl_billiards/tasks/base_dwd_task.py | BaseDwdTask.iter_ods_rows | method | 分批迭代读取 ODS 表数据 | Task | +| etl_billiards/tasks/base_dwd_task.py | BaseDwdTask.parse_payload | method | 解析 ODS 行中的 payload JSON | Task | +| etl_billiards/tasks/base_task.py | (module) | module | ETL任务基类(引入 Extract/Transform/Load 模板方法) | Task | +| etl_billiards/tasks/base_task.py | TaskContext | class | 统一透传给 Extract/Transform/Load 的运行期信息。 | Task | +| etl_billiards/tasks/base_task.py | BaseTask | class | 提供 E/T/L 模板的任务基类。 | Task | +| etl_billiards/tasks/base_task.py | BaseTask.__init__ | method | | Task | +| etl_billiards/tasks/base_task.py | BaseTask.get_task_code | method | 获取任务代码 | Task | +| etl_billiards/tasks/base_task.py | BaseTask.extract | method | 提取数据 | Task | +| etl_billiards/tasks/base_task.py | BaseTask.transform | method | 转换数据 | Task | +| etl_billiards/tasks/base_task.py | BaseTask.load | method | 加载数据并返回统计信息 | Task | +| etl_billiards/tasks/base_task.py | BaseTask.execute | method | 统一 orchestrate Extract → Transform → Load | Task | +| etl_billiards/tasks/base_task.py | BaseTask._build_context | method | | Task | +| etl_billiards/tasks/base_task.py | BaseTask._build_context_for_window | method | | Task | +| etl_billiards/tasks/base_task.py | BaseTask._accumulate_counts | method | | Task | +| etl_billiards/tasks/base_task.py | BaseTask._get_time_window | method | 计算时间窗口 | Task | +| etl_billiards/tasks/base_task.py | BaseTask._is_in_idle_window | method | 判断是否在闲时窗口 | Task | +| etl_billiards/tasks/base_task.py | BaseTask._merge_common_params | method | 合并全局/任务级参数池,便于在配置中统一覆�?/追加过滤条件。 | Task | +| etl_billiards/tasks/base_task.py | BaseTask._build_result | method | 构建结果字典 | Task | +| etl_billiards/tasks/check_cutoff_task.py | (module) | module | Task: report last successful cursor cutoff times from etl_admin. | Task | +| etl_billiards/tasks/check_cutoff_task.py | CheckCutoffTask | class | Report per-task cursor cutoff times (etl_admin.etl_cursor.last_end). | Task | +| etl_billiards/tasks/check_cutoff_task.py | CheckCutoffTask.get_task_code | method | | Task | +| etl_billiards/tasks/check_cutoff_task.py | CheckCutoffTask.execute | method | | Task | +| etl_billiards/tasks/check_cutoff_task.py | CheckCutoffTask._probe_ods_fetched_at | method | | Task | +| etl_billiards/tasks/check_cutoff_task.py | CheckCutoffTask._probe_dw_time_columns | method | | Task | +| etl_billiards/tasks/coupon_usage_task.py | (module) | module | 平台券核销任务 | Task | +| etl_billiards/tasks/coupon_usage_task.py | CouponUsageTask | class | 同步平台券验券/核销记录 | Task | +| etl_billiards/tasks/coupon_usage_task.py | CouponUsageTask.get_task_code | method | | Task | +| etl_billiards/tasks/coupon_usage_task.py | CouponUsageTask.extract | method | | Task | +| etl_billiards/tasks/coupon_usage_task.py | CouponUsageTask.transform | method | | Task | +| etl_billiards/tasks/coupon_usage_task.py | CouponUsageTask.load | method | | Task | +| etl_billiards/tasks/coupon_usage_task.py | CouponUsageTask._parse_usage | method | | Task | +| etl_billiards/tasks/data_integrity_task.py | (parse_error) | module | invalid non-printable character U+FEFF (, line 1) | Task | +| etl_billiards/tasks/dwd_load_task.py | (module) | module | DWD 装载任务:从 ODS 增量写入 DWD(维度 SCD2,事实按时间增量)。 | Task | +| etl_billiards/tasks/dwd_load_task.py | DwdLoadTask | class | 负责 DWD 装载:维度表做 SCD2 合并,事实表按时间增量写入。 | Task | +| etl_billiards/tasks/dwd_load_task.py | DwdLoadTask._strip_scd2_keys | method | | Task | +| etl_billiards/tasks/dwd_load_task.py | DwdLoadTask._pick_snapshot_order_column | method | | Task | +| etl_billiards/tasks/dwd_load_task.py | DwdLoadTask._latest_snapshot_select_sql | method | | Task | +| etl_billiards/tasks/dwd_load_task.py | DwdLoadTask.get_task_code | method | 返回任务编码。 | Task | +| etl_billiards/tasks/dwd_load_task.py | DwdLoadTask.extract | method | 准备运行所需的上下文信息。 | Task | +| etl_billiards/tasks/dwd_load_task.py | DwdLoadTask.load | method | 遍历映射关系,维度执行 SCD2 合并,事实表按时间增量插入。 | Task | +| etl_billiards/tasks/dwd_load_task.py | DwdLoadTask._get_columns | method | 获取指定表的列名(小写)。 | Task | +| etl_billiards/tasks/dwd_load_task.py | DwdLoadTask._get_primary_keys | method | 获取表的主键列名列表。 | Task | +| etl_billiards/tasks/dwd_load_task.py | DwdLoadTask._get_column_types | method | 获取列的数据类型(information_schema.data_type)。 | Task | +| etl_billiards/tasks/dwd_load_task.py | DwdLoadTask._build_column_mapping | method | 合并显式 FACT_MAPPINGS 与主键兜底映射。 | Task | +| etl_billiards/tasks/dwd_load_task.py | DwdLoadTask._fetch_source_rows | method | 从源表读取指定列,返回小写键的字典列表。 | Task | +| etl_billiards/tasks/dwd_load_task.py | DwdLoadTask._expand_goods_category_rows | method | 将分类表中的 categoryboxes 元素展开为子类记录。 | Task | +| etl_billiards/tasks/dwd_load_task.py | DwdLoadTask._merge_dim | method | 维表合并策略: | Task | +| etl_billiards/tasks/dwd_load_task.py | DwdLoadTask._merge_dim_type1_upsert | method | 维表 Type1 Upsert(主键冲突则更新),兼容带 scd2 字段但主键不支持多版本的表。 | Task | +| etl_billiards/tasks/dwd_load_task.py | DwdLoadTask._merge_dim_scd2 | method | 对维表执行 SCD2 合并:对比变更关闭旧版并插入新版。 | Task | +| etl_billiards/tasks/dwd_load_task.py | DwdLoadTask._close_current_dim_bulk | method | 批量关闭当前版本(scd2_is_current=0 + 填充结束时间)。 | Task | +| etl_billiards/tasks/dwd_load_task.py | DwdLoadTask._insert_dim_rows_bulk | method | 批量插入新的 SCD2 版本行。 | Task | +| etl_billiards/tasks/dwd_load_task.py | DwdLoadTask._upsert_scd2_row | method | SCD2 合并:若有变更则关闭旧版并插入新版本。 | Task | +| etl_billiards/tasks/dwd_load_task.py | DwdLoadTask._close_current_dim | method | 关闭当前版本,标记 scd2_is_current=0 并填充结束时间。 | Task | +| etl_billiards/tasks/dwd_load_task.py | DwdLoadTask._insert_dim_row | method | 插入新的 SCD2 版本行。 | Task | +| etl_billiards/tasks/dwd_load_task.py | DwdLoadTask._is_row_changed | method | 比较非 SCD2 列,判断是否存在变更。 | Task | +| etl_billiards/tasks/dwd_load_task.py | DwdLoadTask._values_equal | method | Normalize common type mismatches (numeric/text, naive/aware datetime) before compare. | Task | +| etl_billiards/tasks/dwd_load_task.py | DwdLoadTask._normalize_empty | method | | Task | +| etl_billiards/tasks/dwd_load_task.py | DwdLoadTask._normalize_datetime | method | | Task | +| etl_billiards/tasks/dwd_load_task.py | DwdLoadTask._looks_numeric | method | | Task | +| etl_billiards/tasks/dwd_load_task.py | DwdLoadTask._coerce_numeric | method | | Task | +| etl_billiards/tasks/dwd_load_task.py | DwdLoadTask._looks_bool | method | | Task | +| etl_billiards/tasks/dwd_load_task.py | DwdLoadTask._coerce_bool | method | | Task | +| etl_billiards/tasks/dwd_load_task.py | DwdLoadTask._merge_fact_increment | method | 事实表按时间增量插入,默认按列名交集写入。 | Task | +| etl_billiards/tasks/dwd_load_task.py | DwdLoadTask._pick_order_column | method | Pick an incremental order column that exists in both DWD and ODS. | Task | +| etl_billiards/tasks/dwd_load_task.py | DwdLoadTask._get_fact_watermark | method | Fetch incremental watermark; default from DWD, fallback from ODS join. | Task | +| etl_billiards/tasks/dwd_load_task.py | DwdLoadTask._insert_missing_by_pk | method | Backfill missing PK rows for facts that can receive late data. | Task | +| etl_billiards/tasks/dwd_load_task.py | DwdLoadTask._build_fact_select_exprs | method | 构造事实表 SELECT 列表,需要时做类型转换。 | Task | +| etl_billiards/tasks/dwd_load_task.py | DwdLoadTask._split_table_name | method | 拆分 schema.table,若无 schema 则补默认 schema。 | Task | +| etl_billiards/tasks/dwd_load_task.py | DwdLoadTask._table_base | method | 获取不含 schema 的表名。 | Task | +| etl_billiards/tasks/dwd_load_task.py | DwdLoadTask._format_table | method | 返回带引号的 schema.table 名称。 | Task | +| etl_billiards/tasks/dwd_load_task.py | DwdLoadTask._cast_expr | method | 构造带可选 CAST 的列表达式。 | Task | +| etl_billiards/tasks/dwd_quality_task.py | (module) | module | DWD 质量核对任务:按 dwd_quality_check.md 输出行数/金额对照报表。 | Task | +| etl_billiards/tasks/dwd_quality_task.py | DwdQualityTask | class | 对 ODS 与 DWD 进行行数、金额对照核查,生成 JSON 报表。 | Task | +| etl_billiards/tasks/dwd_quality_task.py | DwdQualityTask.get_task_code | method | 返回任务编码。 | Task | +| etl_billiards/tasks/dwd_quality_task.py | DwdQualityTask.extract | method | 准备运行时上下文。 | Task | +| etl_billiards/tasks/dwd_quality_task.py | DwdQualityTask.load | method | 输出行数/金额差异报表到本地文件。 | Task | +| etl_billiards/tasks/dwd_quality_task.py | DwdQualityTask._compare_counts | method | 统计两端行数并返回差异。 | Task | +| etl_billiards/tasks/dwd_quality_task.py | DwdQualityTask._compare_amounts | method | 扫描金额相关列,生成 ODS 与 DWD 的汇总对照。 | Task | +| etl_billiards/tasks/dwd_quality_task.py | DwdQualityTask._get_numeric_amount_columns | method | 获取列名包含金额关键词的数值型字段。 | Task | +| etl_billiards/tasks/dwd_quality_task.py | DwdQualityTask._split_table_name | method | 拆分 schema 与表名,缺省使用 default_schema。 | Task | +| etl_billiards/tasks/dws_build_order_summary_task.py | (module) | module | Build DWS order summary table from DWD fact tables. | Task | +| etl_billiards/tasks/dws_build_order_summary_task.py | DwsBuildOrderSummaryTask | class | Recompute/refresh `billiards_dws.dws_order_summary` for a date window. | Task | +| etl_billiards/tasks/dws_build_order_summary_task.py | DwsBuildOrderSummaryTask.get_task_code | method | | Task | +| etl_billiards/tasks/dws_build_order_summary_task.py | DwsBuildOrderSummaryTask.execute | method | | Task | +| etl_billiards/tasks/dws_build_order_summary_task.py | DwsBuildOrderSummaryTask.extract | method | | Task | +| etl_billiards/tasks/dws_build_order_summary_task.py | DwsBuildOrderSummaryTask.load | method | | Task | +| etl_billiards/tasks/dws_build_order_summary_task.py | _as_date | function | | Task | +| etl_billiards/tasks/dws_build_order_summary_task.py | _jsonable_date | function | | Task | +| etl_billiards/tasks/init_dwd_schema_task.py | (module) | module | 初始化 DWD Schema:执行 schema_dwd_doc.sql,可选先 DROP SCHEMA。 | Task | +| etl_billiards/tasks/init_dwd_schema_task.py | InitDwdSchemaTask | class | 通过调度执行 DWD schema 初始化。 | Task | +| etl_billiards/tasks/init_dwd_schema_task.py | InitDwdSchemaTask.get_task_code | method | 返回任务编码。 | Task | +| etl_billiards/tasks/init_dwd_schema_task.py | InitDwdSchemaTask.extract | method | 读取 DWD SQL 文件与参数。 | Task | +| etl_billiards/tasks/init_dwd_schema_task.py | InitDwdSchemaTask.load | method | 可选 DROP schema,再执行 DWD DDL。 | Task | +| etl_billiards/tasks/init_dws_schema_task.py | (module) | module | Initialize DWS schema (billiards_dws). | Task | +| etl_billiards/tasks/init_dws_schema_task.py | InitDwsSchemaTask | class | Apply DWS schema SQL. | Task | +| etl_billiards/tasks/init_dws_schema_task.py | InitDwsSchemaTask.get_task_code | method | | Task | +| etl_billiards/tasks/init_dws_schema_task.py | InitDwsSchemaTask.extract | method | | Task | +| etl_billiards/tasks/init_dws_schema_task.py | InitDwsSchemaTask.load | method | | Task | +| etl_billiards/tasks/init_schema_task.py | (module) | module | 任务:初始化运行环境,执行 ODS 与 etl_admin 的 DDL,并准备日志/导出目录。 | Task | +| etl_billiards/tasks/init_schema_task.py | InitOdsSchemaTask | class | 通过调度执行初始化:创建必要目录,执行 ODS 与 etl_admin 的 DDL。 | Task | +| etl_billiards/tasks/init_schema_task.py | InitOdsSchemaTask.get_task_code | method | 返回任务编码。 | Task | +| etl_billiards/tasks/init_schema_task.py | InitOdsSchemaTask.extract | method | 读取 SQL 文件路径,收集需创建的目录。 | Task | +| etl_billiards/tasks/init_schema_task.py | InitOdsSchemaTask.load | method | 执行 DDL 并创建必要目录。 | Task | +| etl_billiards/tasks/inventory_change_task.py | (module) | module | 库存变更任务 | Task | +| etl_billiards/tasks/inventory_change_task.py | InventoryChangeTask | class | 同步库存变化记录 | Task | +| etl_billiards/tasks/inventory_change_task.py | InventoryChangeTask.get_task_code | method | | Task | +| etl_billiards/tasks/inventory_change_task.py | InventoryChangeTask.extract | method | | Task | +| etl_billiards/tasks/inventory_change_task.py | InventoryChangeTask.transform | method | | Task | +| etl_billiards/tasks/inventory_change_task.py | InventoryChangeTask.load | method | | Task | +| etl_billiards/tasks/inventory_change_task.py | InventoryChangeTask._parse_change | method | | Task | +| etl_billiards/tasks/ledger_task.py | (module) | module | 助教流水任务 | Task | +| etl_billiards/tasks/ledger_task.py | LedgerTask | class | 同步助教服务台账 | Task | +| etl_billiards/tasks/ledger_task.py | LedgerTask.get_task_code | method | | Task | +| etl_billiards/tasks/ledger_task.py | LedgerTask.extract | method | | Task | +| etl_billiards/tasks/ledger_task.py | LedgerTask.transform | method | | Task | +| etl_billiards/tasks/ledger_task.py | LedgerTask.load | method | | Task | +| etl_billiards/tasks/ledger_task.py | LedgerTask._parse_ledger | method | | Task | +| etl_billiards/tasks/manual_ingest_task.py | (module) | module | 手工示例数据灌入:按 schema_ODS_doc.sql 的表结构写入 ODS。 | Task | +| etl_billiards/tasks/manual_ingest_task.py | ManualIngestTask | class | 本地示例 JSON 灌入 ODS,确保表名/主键/插入列与 schema_ODS_doc.sql 对齐。 | Task | +| etl_billiards/tasks/manual_ingest_task.py | ManualIngestTask.get_task_code | method | 返回任务编码。 | Task | +| etl_billiards/tasks/manual_ingest_task.py | ManualIngestTask.execute | method | 从目录读取 JSON,按表定义批量入库(按文件提交事务,避免长事务导致连接不稳定)。 | Task | +| etl_billiards/tasks/manual_ingest_task.py | ManualIngestTask._match_by_filename | method | 根据文件名关键字匹配目标表。 | Task | +| etl_billiards/tasks/manual_ingest_task.py | ManualIngestTask._extract_records | method | 兼容多层 data/list 包装,抽取记录列表。 | Task | +| etl_billiards/tasks/manual_ingest_task.py | ManualIngestTask._get_table_columns | method | 查询 information_schema,获取目标表列信息。 | Task | +| etl_billiards/tasks/manual_ingest_task.py | ManualIngestTask._ingest_table | method | 构建 INSERT/ON CONFLICT 语句并批量执行(优先向量化,小批次提交)。 | Task | +| etl_billiards/tasks/manual_ingest_task.py | ManualIngestTask._get_value_case_insensitive | method | 忽略大小写获取值,兼容 information_schema 与 JSON 原始字段。 | Task | +| etl_billiards/tasks/manual_ingest_task.py | ManualIngestTask._normalize_scalar | method | 将空字符串/空 JSON 规范为 None,避免类型转换错误。 | Task | +| etl_billiards/tasks/manual_ingest_task.py | ManualIngestTask._cast_value | method | 根据列类型做简单转换,保证批量插入兼容。 | Task | +| etl_billiards/tasks/manual_ingest_task.py | ManualIngestTask._hash_default | method | | Task | +| etl_billiards/tasks/manual_ingest_task.py | ManualIngestTask._sanitize_record_for_hash | method | | Task | +| etl_billiards/tasks/manual_ingest_task.py | ManualIngestTask._compute_content_hash | method | | Task | +| etl_billiards/tasks/members_dwd_task.py | (parse_error) | module | invalid non-printable character U+FEFF (, line 1) | Task | +| etl_billiards/tasks/members_task.py | (module) | module | 会员ETL任务 | Task | +| etl_billiards/tasks/members_task.py | MembersTask | class | 会员ETL任务 | Task | +| etl_billiards/tasks/members_task.py | MembersTask.get_task_code | method | | Task | +| etl_billiards/tasks/members_task.py | MembersTask.extract | method | | Task | +| etl_billiards/tasks/members_task.py | MembersTask.transform | method | | Task | +| etl_billiards/tasks/members_task.py | MembersTask.load | method | | Task | +| etl_billiards/tasks/members_task.py | MembersTask._parse_member | method | 解析会员记录 | Task | +| etl_billiards/tasks/ods_json_archive_task.py | (module) | module | 在线抓取 ODS 相关接口并落盘为 JSON(用于后续离线回放/入库)。 | Task | +| etl_billiards/tasks/ods_json_archive_task.py | EndpointSpec | class | | Task | +| etl_billiards/tasks/ods_json_archive_task.py | OdsJsonArchiveTask | class | 抓取一组 ODS 所需接口并落盘为“简化 JSON”: | Task | +| etl_billiards/tasks/ods_json_archive_task.py | OdsJsonArchiveTask.get_task_code | method | | Task | +| etl_billiards/tasks/ods_json_archive_task.py | OdsJsonArchiveTask.extract | method | | Task | +| etl_billiards/tasks/ods_json_archive_task.py | OdsJsonArchiveTask._build_params | method | | Task | +| etl_billiards/tasks/ods_tasks.py | (parse_error) | module | invalid non-printable character U+FEFF (, line 1) | Task | +| etl_billiards/tasks/orders_task.py | (module) | module | 订单ETL任务 | Task | +| etl_billiards/tasks/orders_task.py | OrdersTask | class | 订单数据ETL任务 | Task | +| etl_billiards/tasks/orders_task.py | OrdersTask.get_task_code | method | | Task | +| etl_billiards/tasks/orders_task.py | OrdersTask.extract | method | 调用 API 拉取订单记录 | Task | +| etl_billiards/tasks/orders_task.py | OrdersTask.transform | method | 解析原始订单 JSON | Task | +| etl_billiards/tasks/orders_task.py | OrdersTask.load | method | 写入 fact_order | Task | +| etl_billiards/tasks/orders_task.py | OrdersTask._parse_order | method | 解析单条订单记录 | Task | +| etl_billiards/tasks/packages_task.py | (module) | module | 团购/套餐定义任务 | Task | +| etl_billiards/tasks/packages_task.py | PackagesDefTask | class | 同步团购套餐定义 | Task | +| etl_billiards/tasks/packages_task.py | PackagesDefTask.get_task_code | method | | Task | +| etl_billiards/tasks/packages_task.py | PackagesDefTask.extract | method | | Task | +| etl_billiards/tasks/packages_task.py | PackagesDefTask.transform | method | | Task | +| etl_billiards/tasks/packages_task.py | PackagesDefTask.load | method | | Task | +| etl_billiards/tasks/packages_task.py | PackagesDefTask._parse_package | method | | Task | +| etl_billiards/tasks/payments_dwd_task.py | (parse_error) | module | invalid non-printable character U+FEFF (, line 1) | Task | +| etl_billiards/tasks/payments_task.py | (module) | module | 支付记录ETL任务 | Task | +| etl_billiards/tasks/payments_task.py | PaymentsTask | class | 支付记录 E/T/L 任务 | Task | +| etl_billiards/tasks/payments_task.py | PaymentsTask.get_task_code | method | | Task | +| etl_billiards/tasks/payments_task.py | PaymentsTask.extract | method | 调用 API 抓取支付记录 | Task | +| etl_billiards/tasks/payments_task.py | PaymentsTask.transform | method | 解析支付 JSON | Task | +| etl_billiards/tasks/payments_task.py | PaymentsTask.load | method | 写入 fact_payment | Task | +| etl_billiards/tasks/payments_task.py | PaymentsTask._parse_payment | method | 解析支付记录 | Task | +| etl_billiards/tasks/products_task.py | (module) | module | 商品档案(PRODUCTS)ETL任务 | Task | +| etl_billiards/tasks/products_task.py | ProductsTask | class | 商品维度 ETL 任务 | Task | +| etl_billiards/tasks/products_task.py | ProductsTask.get_task_code | method | | Task | +| etl_billiards/tasks/products_task.py | ProductsTask.extract | method | | Task | +| etl_billiards/tasks/products_task.py | ProductsTask.transform | method | | Task | +| etl_billiards/tasks/products_task.py | ProductsTask.load | method | | Task | +| etl_billiards/tasks/products_task.py | ProductsTask._parse_product | method | | Task | +| etl_billiards/tasks/refunds_task.py | (module) | module | 退款记录任务 | Task | +| etl_billiards/tasks/refunds_task.py | RefundsTask | class | 同步支付退款流水 | Task | +| etl_billiards/tasks/refunds_task.py | RefundsTask.get_task_code | method | | Task | +| etl_billiards/tasks/refunds_task.py | RefundsTask.extract | method | | Task | +| etl_billiards/tasks/refunds_task.py | RefundsTask.transform | method | | Task | +| etl_billiards/tasks/refunds_task.py | RefundsTask.load | method | | Task | +| etl_billiards/tasks/refunds_task.py | RefundsTask._parse_refund | method | | Task | +| etl_billiards/tasks/table_discount_task.py | (module) | module | 台费折扣任务 | Task | +| etl_billiards/tasks/table_discount_task.py | TableDiscountTask | class | 同步台费折扣/调价记录 | Task | +| etl_billiards/tasks/table_discount_task.py | TableDiscountTask.get_task_code | method | | Task | +| etl_billiards/tasks/table_discount_task.py | TableDiscountTask.extract | method | | Task | +| etl_billiards/tasks/table_discount_task.py | TableDiscountTask.transform | method | | Task | +| etl_billiards/tasks/table_discount_task.py | TableDiscountTask.load | method | | Task | +| etl_billiards/tasks/table_discount_task.py | TableDiscountTask._parse_discount | method | | Task | +| etl_billiards/tasks/tables_task.py | (module) | module | 台桌档案任务 | Task | +| etl_billiards/tasks/tables_task.py | TablesTask | class | 同步门店台桌列表 | Task | +| etl_billiards/tasks/tables_task.py | TablesTask.get_task_code | method | | Task | +| etl_billiards/tasks/tables_task.py | TablesTask.extract | method | | Task | +| etl_billiards/tasks/tables_task.py | TablesTask.transform | method | | Task | +| etl_billiards/tasks/tables_task.py | TablesTask.load | method | | Task | +| etl_billiards/tasks/tables_task.py | TablesTask._parse_table | method | | Task | +| etl_billiards/tasks/ticket_dwd_task.py | TicketDwdTask | class | DWD Task: Process Ticket Details from ODS to Fact Tables | Task | +| etl_billiards/tasks/ticket_dwd_task.py | TicketDwdTask.get_task_code | method | | Task | +| etl_billiards/tasks/ticket_dwd_task.py | TicketDwdTask.execute | method | | Task | +| etl_billiards/tasks/topups_task.py | (module) | module | 充值记录任务 | Task | +| etl_billiards/tasks/topups_task.py | TopupsTask | class | 同步储值充值结算记录 | Task | +| etl_billiards/tasks/topups_task.py | TopupsTask.get_task_code | method | | Task | +| etl_billiards/tasks/topups_task.py | TopupsTask.extract | method | | Task | +| etl_billiards/tasks/topups_task.py | TopupsTask.transform | method | | Task | +| etl_billiards/tasks/topups_task.py | TopupsTask.load | method | | Task | +| etl_billiards/tasks/topups_task.py | TopupsTask._parse_topup | method | | Task | +| etl_billiards/tests/integration/test_database.py | (module) | module | 数据库集成测试 | Low | +| etl_billiards/tests/integration/test_database.py | db_connection | function | 数据库连接fixture | Low | +| etl_billiards/tests/integration/test_database.py | test_database_query | function | 测试数据库查询 | Low | +| etl_billiards/tests/integration/test_database.py | test_database_operations | function | 测试数据库操作 | Low | +| etl_billiards/tests/unit/task_test_utils.py | (module) | module | ETL 任务测试的共用辅助模块,涵盖在线/离线模式所需的伪造数据、客户端与配置等工具函数。 | Low | +| etl_billiards/tests/unit/task_test_utils.py | TaskSpec | class | 描述单个任务在测试中如何被驱动的元数据,包含任务代码、API 路径、数据路径与样例记录。 | Low | +| etl_billiards/tests/unit/task_test_utils.py | TaskSpec.archive_filename | method | | Low | +| etl_billiards/tests/unit/task_test_utils.py | wrap_records | function | 按照 data_path 逐层包裹记录列表,使其结构与真实 API 返回体一致,方便离线回放。 | Low | +| etl_billiards/tests/unit/task_test_utils.py | create_test_config | function | 构建一份适合测试的 AppConfig,自动填充存储、日志、归档目录等参数并保证目录存在。 | Low | +| etl_billiards/tests/unit/task_test_utils.py | dump_offline_payload | function | 将 TaskSpec 的样例数据写入指定归档目录,供离线测试回放使用,并返回生成文件的完整路径。 | Low | +| etl_billiards/tests/unit/task_test_utils.py | FakeCursor | class | 极简游标桩对象,记录 SQL/参数并支持上下文管理,供 FakeDBOperations 与 SCD2Handler 使用。 | Low | +| etl_billiards/tests/unit/task_test_utils.py | FakeCursor.__init__ | method | | Low | +| etl_billiards/tests/unit/task_test_utils.py | FakeCursor.execute | method | | Low | +| etl_billiards/tests/unit/task_test_utils.py | FakeCursor.fetchone | method | | Low | +| etl_billiards/tests/unit/task_test_utils.py | FakeCursor.fetchall | method | | Low | +| etl_billiards/tests/unit/task_test_utils.py | FakeCursor.mogrify | method | | Low | +| etl_billiards/tests/unit/task_test_utils.py | FakeCursor._record_upserts | method | | Low | +| etl_billiards/tests/unit/task_test_utils.py | FakeCursor._fake_columns | method | | Low | +| etl_billiards/tests/unit/task_test_utils.py | FakeCursor.__enter__ | method | | Low | +| etl_billiards/tests/unit/task_test_utils.py | FakeCursor.__exit__ | method | | Low | +| etl_billiards/tests/unit/task_test_utils.py | FakeConnection | class | 仿 psycopg 连接对象,仅满足 SCD2Handler 对 cursor 的最小需求,并缓存执行过的语句。 | Low | +| etl_billiards/tests/unit/task_test_utils.py | FakeConnection.__init__ | method | | Low | +| etl_billiards/tests/unit/task_test_utils.py | FakeConnection.cursor | method | | Low | +| etl_billiards/tests/unit/task_test_utils.py | FakeDBOperations | class | 拦截并记录批量 upsert/事务操作,避免触碰真实数据库,同时提供 commit/rollback 计数。 | Low | +| etl_billiards/tests/unit/task_test_utils.py | FakeDBOperations.__init__ | method | | Low | +| etl_billiards/tests/unit/task_test_utils.py | FakeDBOperations.batch_upsert_with_returning | method | | Low | +| etl_billiards/tests/unit/task_test_utils.py | FakeDBOperations.batch_execute | method | | Low | +| etl_billiards/tests/unit/task_test_utils.py | FakeDBOperations.execute | method | | Low | +| etl_billiards/tests/unit/task_test_utils.py | FakeDBOperations.query | method | | Low | +| etl_billiards/tests/unit/task_test_utils.py | FakeDBOperations.cursor | method | | Low | +| etl_billiards/tests/unit/task_test_utils.py | FakeDBOperations.commit | method | | Low | +| etl_billiards/tests/unit/task_test_utils.py | FakeDBOperations.rollback | method | | Low | +| etl_billiards/tests/unit/task_test_utils.py | FakeAPIClient | class | 在线模式使用的伪 API Client,直接返回预置的内存数据并记录调用,以确保任务参数正确传递。 | Low | +| etl_billiards/tests/unit/task_test_utils.py | FakeAPIClient.__init__ | method | | Low | +| etl_billiards/tests/unit/task_test_utils.py | FakeAPIClient.iter_paginated | method | | Low | +| etl_billiards/tests/unit/task_test_utils.py | FakeAPIClient.get_paginated | method | | Low | +| etl_billiards/tests/unit/task_test_utils.py | FakeAPIClient.get_source_hint | method | | Low | +| etl_billiards/tests/unit/task_test_utils.py | OfflineAPIClient | class | 离线模式专用 API Client,根据 endpoint 读取归档 JSON、套入 data_path 并回放列表数据。 | Low | +| etl_billiards/tests/unit/task_test_utils.py | OfflineAPIClient.__init__ | method | | Low | +| etl_billiards/tests/unit/task_test_utils.py | OfflineAPIClient.iter_paginated | method | | Low | +| etl_billiards/tests/unit/task_test_utils.py | OfflineAPIClient.get_paginated | method | | Low | +| etl_billiards/tests/unit/task_test_utils.py | OfflineAPIClient.get_source_hint | method | | Low | +| etl_billiards/tests/unit/task_test_utils.py | RealDBOperationsAdapter | class | 连接真实 PostgreSQL 的适配器,为任务提供 batch_upsert + 事务能力。 | Low | +| etl_billiards/tests/unit/task_test_utils.py | RealDBOperationsAdapter.__init__ | method | | Low | +| etl_billiards/tests/unit/task_test_utils.py | RealDBOperationsAdapter.batch_upsert_with_returning | method | | Low | +| etl_billiards/tests/unit/task_test_utils.py | RealDBOperationsAdapter.batch_execute | method | | Low | +| etl_billiards/tests/unit/task_test_utils.py | RealDBOperationsAdapter.commit | method | | Low | +| etl_billiards/tests/unit/task_test_utils.py | RealDBOperationsAdapter.rollback | method | | Low | +| etl_billiards/tests/unit/task_test_utils.py | RealDBOperationsAdapter.close | method | | Low | +| etl_billiards/tests/unit/task_test_utils.py | get_db_operations | function | 测试专用的 DB 操作上下文: | Low | +| etl_billiards/tests/unit/test_config.py | (module) | module | 配置管理测试 | Low | +| etl_billiards/tests/unit/test_config.py | test_config_load | function | 测试配置加载 | Low | +| etl_billiards/tests/unit/test_config.py | test_config_override | function | 测试配置覆盖 | Low | +| etl_billiards/tests/unit/test_config.py | test_config_get_nested | function | 测试嵌套配置获取 | Low | +| etl_billiards/tests/unit/test_endpoint_routing.py | (module) | module | Unit tests for recent/former endpoint routing. | Low | +| etl_billiards/tests/unit/test_endpoint_routing.py | _now | function | | Low | +| etl_billiards/tests/unit/test_endpoint_routing.py | test_recent_boundary_month_start | function | | Low | +| etl_billiards/tests/unit/test_endpoint_routing.py | test_paylog_routes_to_former_when_old_window | function | | Low | +| etl_billiards/tests/unit/test_endpoint_routing.py | test_coupon_usage_stays_same_path_even_when_old | function | | Low | +| etl_billiards/tests/unit/test_endpoint_routing.py | test_goods_outbound_routes_to_queryformer_when_old | function | | Low | +| etl_billiards/tests/unit/test_endpoint_routing.py | test_settlement_records_split_when_crossing_boundary | function | | Low | +| etl_billiards/tests/unit/test_endpoint_routing.py | test_explicit_former_endpoint_not_rerouted | function | | Low | +| etl_billiards/tests/unit/test_etl_tasks_offline.py | (module) | module | 离线模式任务测试,通过回放归档 JSON 来验证 T+L 链路可用。 | Low | +| etl_billiards/tests/unit/test_etl_tasks_offline.py | test_task_offline_mode | function | 确保每个任务都能读取归档 JSON 并完成 Transform + Load 操作。 | Low | +| etl_billiards/tests/unit/test_etl_tasks_online.py | (module) | module | 在线模式下的端到端任务测试,验证所有任务在模拟 API 下能顺利执行。 | Low | +| etl_billiards/tests/unit/test_etl_tasks_online.py | test_task_online_mode | function | 针对每个 TaskSpec 验证:模拟 API 数据下依旧能完整跑完 ETL,并正确统计。 | Low | +| etl_billiards/tests/unit/test_etl_tasks_stages.py | (module) | module | 验证 14 个任务的 E/T/L 分阶段调用(FakeDB/FakeAPI,不访问真实接口或数据库)。 | Low | +| etl_billiards/tests/unit/test_etl_tasks_stages.py | _build_context | function | | Low | +| etl_billiards/tests/unit/test_etl_tasks_stages.py | test_etl_stage_flow | function | 对每个任务,单独调用 transform/load,验证 counts 结构与 FakeDB 写入。 | Low | +| etl_billiards/tests/unit/test_ods_tasks.py | (parse_error) | module | invalid non-printable character U+FEFF (, line 1) | Low | +| etl_billiards/tests/unit/test_parsers.py | (module) | module | 解析器测试 | Low | +| etl_billiards/tests/unit/test_parsers.py | test_parse_decimal | function | 测试金额解析 | Low | +| etl_billiards/tests/unit/test_parsers.py | test_parse_int | function | 测试整数解析 | Low | +| etl_billiards/tests/unit/test_parsers.py | test_parse_timestamp | function | 测试时间戳解析 | Low | +| etl_billiards/tests/unit/test_reporting.py | (module) | module | 汇总与报告工具的单测。 | Low | +| etl_billiards/tests/unit/test_reporting.py | test_summarize_counts_and_format | function | | Low | +| etl_billiards/utils/helpers.py | (module) | module | 通用工具函数 | High | +| etl_billiards/utils/helpers.py | ensure_dir | function | 确保目录存在 | High | +| etl_billiards/utils/helpers.py | make_surrogate_key | function | 生成代理键 | High | +| etl_billiards/utils/helpers.py | now_local | function | 获取本地当前时间 | High | +| etl_billiards/utils/json_store.py | (module) | module | JSON 归档/读取的通用工具。 | High | +| etl_billiards/utils/json_store.py | endpoint_to_filename | function | 将 API endpoint 转换为规范化的文件名,优先使用 非球接口API.md 中约定的名称。 | High | +| etl_billiards/utils/json_store.py | dump_json | function | 将 JSON 对象写入文件,默认紧凑,可选美化。 | High | +| etl_billiards/utils/json_store.py | _normalize_endpoint | function | 标准化 endpoint,提取路径部分并统一小写、去除 base 前缀。 | High | +| etl_billiards/utils/logging_utils.py | TeeStream | class | | High | +| etl_billiards/utils/logging_utils.py | TeeStream.__init__ | method | | High | +| etl_billiards/utils/logging_utils.py | TeeStream.write | method | | High | +| etl_billiards/utils/logging_utils.py | TeeStream.flush | method | | High | +| etl_billiards/utils/logging_utils.py | TeeStream.isatty | method | | High | +| etl_billiards/utils/logging_utils.py | TeeStream.fileno | method | | High | +| etl_billiards/utils/logging_utils.py | build_log_path | function | | High | +| etl_billiards/utils/logging_utils.py | configure_logging | function | | High | +| etl_billiards/utils/ods_record_utils.py | (module) | module | Shared helpers for ODS/API record normalization. | High | +| etl_billiards/utils/ods_record_utils.py | merge_record_layers | function | Flatten nested data/settleList layers into a single dict. | High | +| etl_billiards/utils/ods_record_utils.py | get_value_case_insensitive | function | Fetch column value without case sensitivity. | High | +| etl_billiards/utils/ods_record_utils.py | normalize_pk_value | function | Normalize PK value (e.g., digit string -> int). | High | +| etl_billiards/utils/ods_record_utils.py | pk_tuple_from_record | function | Extract PK tuple from a record. | High | +| etl_billiards/utils/reporting.py | (module) | module | 简单的任务结果汇总与格式化工具。 | High | +| etl_billiards/utils/reporting.py | summarize_counts | function | 汇总多个任务的 counts,返回总计与逐任务明细。 | High | +| etl_billiards/utils/reporting.py | format_report | function | 将 summarize_counts 的输出格式化为可读文案。 | High | +| etl_billiards/utils/windowing.py | (module) | module | Time window helpers for ETL and validation tasks. | High | +| etl_billiards/utils/windowing.py | _ensure_tz | function | | High | +| etl_billiards/utils/windowing.py | _next_month_start | function | | High | +| etl_billiards/utils/windowing.py | calc_window_minutes | function | | High | +| etl_billiards/utils/windowing.py | split_window | function | | High | +| etl_billiards/utils/windowing.py | build_window_segments | function | | High | +| query_db.py | (parse_error) | module | invalid non-printable character U+FEFF (, line 1) | Medium | +| tmp/etl_billiards_misc/0.py | (module) | module | Simple PostgreSQL connectivity smoke-checker. | Medium | +| tmp/etl_billiards_misc/0.py | check_postgres_connection | function | Return True if connection succeeds; print diagnostics otherwise. | Medium | +| tmp/etl_billiards_misc/backups/manual_ingest_task.py | (parse_error) | module | invalid non-printable character U+FEFF (, line 1) | Medium | +| tmp/fetch_member_balance_change.py | (module) | module | 获取会员余额变动数据: /MemberProfile/GetMemberCardBalanceChange | Medium | +| tmp/fetch_member_balance_change.py | main | function | | Medium | +| tmp/hebing.py | merge_md_and_json | function | 在指定目录下,将 .md 和 .json 文件按规则合并输出到一个文件中。 | Medium | +| tmp/query_missing_tables.py | safe_str | function | | Medium | +| tmp/rewrite_schema_dwd_doc_comments.py | (parse_error) | module | invalid non-printable character U+FEFF (, line 1) | Medium | +| tmp/rewrite_schema_ods_doc_comments.py | (parse_error) | module | invalid non-printable character U+FEFF (, line 1) | Medium | +| tmp/tmp_debug_sql.py | (parse_error) | module | invalid non-printable character U+FEFF (, line 1) | Medium | +| tmp/tmp_drop_dwd.py | (parse_error) | module | invalid non-printable character U+FEFF (, line 1) | Medium | +| tmp/tmp_dwd_tasks.py | (parse_error) | module | invalid non-printable character U+FEFF (, line 1) | Medium | +| tmp/tmp_problems.py | (parse_error) | module | invalid non-printable character U+FEFF (, line 1) | Medium | +| tmp/tmp_run_sql.py | (parse_error) | module | invalid non-printable character U+FEFF (, line 1) | Medium | diff --git a/tmp/query_skill_mapping.py b/tmp/query_skill_mapping.py new file mode 100644 index 0000000..e35a8df --- /dev/null +++ b/tmp/query_skill_mapping.py @@ -0,0 +1,31 @@ +import psycopg2 +import sys +sys.stdout.reconfigure(encoding='utf-8') + +dsn = 'postgresql://local-Python:Neo-local-1991125@100.64.0.4:5432/LLZQ-test' +conn = psycopg2.connect(dsn) +cur = conn.cursor() + +# 查询 skill_id 和 skill_name 的对应关系及数量 +cur.execute(""" + SELECT + skill_id, + skill_name, + COUNT(*) as count + FROM billiards_dwd.dwd_assistant_service_log + GROUP BY skill_id, skill_name + ORDER BY skill_id, count DESC +""") + +results = cur.fetchall() + +print("| skill_id | skill_name | 记录数 |") +print("|----------|------------|--------|") +for row in results: + skill_id, skill_name, count = row + name = skill_name if skill_name else "(NULL)" + print(f"| {skill_id} | {name} | {count} |") + +print(f"\n共 {len(results)} 种组合") + +conn.close() diff --git a/tmp/task_inventory.md b/tmp/task_inventory.md new file mode 100644 index 0000000..952bd50 --- /dev/null +++ b/tmp/task_inventory.md @@ -0,0 +1,85 @@ +# Task Inventory + +## Registered Tasks (from task_registry.py) + +| Task Code | Class | +|---|---| +| PRODUCTS | ProductsTask | +| TABLES | TablesTask | +| MEMBERS | MembersTask | +| ASSISTANTS | AssistantsTask | +| PACKAGES_DEF | PackagesDefTask | +| ORDERS | OrdersTask | +| PAYMENTS | PaymentsTask | +| REFUNDS | RefundsTask | +| COUPON_USAGE | CouponUsageTask | +| INVENTORY_CHANGE | InventoryChangeTask | +| TOPUPS | TopupsTask | +| TABLE_DISCOUNT | TableDiscountTask | +| ASSISTANT_ABOLISH | AssistantAbolishTask | +| LEDGER | LedgerTask | +| TICKET_DWD | TicketDwdTask | +| MANUAL_INGEST | ManualIngestTask | +| PAYMENTS_DWD | PaymentsDwdTask | +| MEMBERS_DWD | MembersDwdTask | +| INIT_ODS_SCHEMA | InitOdsSchemaTask | +| INIT_DWD_SCHEMA | InitDwdSchemaTask | +| DWD_LOAD_FROM_ODS | DwdLoadTask | +| DWD_QUALITY_CHECK | DwdQualityTask | +| ODS_JSON_ARCHIVE | OdsJsonArchiveTask | +| CHECK_CUTOFF | CheckCutoffTask | +| DATA_INTEGRITY_CHECK | DataIntegrityTask | +| INIT_DWS_SCHEMA | InitDwsSchemaTask | +| DWS_BUILD_ORDER_SUMMARY | DwsBuildOrderSummaryTask | + +## Task Class Details + +| Task Code | Class | File | Flow | API Fetch | Key Calls | +|---|---|---|---|---|---| +| | DwdLoadTask | etl_billiards/tasks/dwd_load_task.py | BaseTask.execute (extract/transform/load) | No | isinstance, c.lower, ', '.join, cur.execute, self._format_table, select_exprs.append, values.append, self._cast_expr | +| | DwdQualityTask | etl_billiards/tasks/dwd_quality_task.py | BaseTask.execute (extract/transform/load) | No | cur.execute, self._split_table_name, cur.fetchone, self._get_numeric_amount_columns, Path, self.REPORT_PATH.parent.mkdir, self.REPORT_PATH.write_text, self.logger.info | +| | InitDwdSchemaTask | etl_billiards/tasks/init_dwd_schema_task.py | BaseTask.execute (extract/transform/load) | No | Path, self.config.get, self.logger.info, cur.execute, dwd_path.exists, FileNotFoundError, dwd_path.read_text, self.db.conn.cursor | +| | InitOdsSchemaTask | etl_billiards/tasks/init_schema_task.py | BaseTask.execute (extract/transform/load) | No | Path, self.config.get, self.logger.info, FileNotFoundError, cur.execute, ods_sql_raw.find, ods_sql_raw.splitlines, '\n'.join | +| | ManualIngestTask | etl_billiards/tasks/manual_ingest_task.py | custom execute | No | isinstance, cur.execute, row_vals.append, site_profile.get, merged_rec.get, self.config.get, any, ', '.join | +| ASSISTANTS | AssistantsTask | etl_billiards/tasks/assistants_task.py | BaseTask.execute (extract/transform/load) | Yes | raw.get, TypeParser.parse_timestamp, extracted.get, TypeParser.parse_int, TypeParser.parse_decimal, self._merge_common_params, self.api.get_paginated, AssistantLoader | +| ASSISTANT_ABOLISH | AssistantAbolishTask | etl_billiards/tasks/assistant_abolish_task.py | BaseTask.execute (extract/transform/load) | Yes | raw.get, TypeParser.parse_int, extracted.get, TypeParser.format_timestamp, self._merge_common_params, self.api.get_paginated, AssistantAbolishLoader, loader.upsert_records | +| CHECK_CUTOFF | CheckCutoffTask | etl_billiards/tasks/check_cutoff_task.py | custom execute | No | r.get, _ts, self.logger.info, self.db.query, row.get, sorted, self.config.get, min | +| COUPON_USAGE | CouponUsageTask | etl_billiards/tasks/coupon_usage_task.py | BaseTask.execute (extract/transform/load) | Yes | raw.get, TypeParser.parse_int, extracted.get, TypeParser.parse_decimal, TypeParser.parse_timestamp, TypeParser.format_timestamp, self._merge_common_params, self.api.get_paginated | +| DWS_BUILD_ORDER_SUMMARY | DwsBuildOrderSummaryTask | etl_billiards/tasks/dws_build_order_summary_task.py | custom execute | No | self.config.get, self.logger.info, cur.execute, load_result.get, delete_args.append, bool, _jsonable_date, _as_date | +| INIT_DWS_SCHEMA | InitDwsSchemaTask | etl_billiards/tasks/init_dws_schema_task.py | BaseTask.execute (extract/transform/load) | No | Path, self.config.get, self.logger.info, cur.execute, bool, dws_path.exists, FileNotFoundError, dws_path.read_text | +| INVENTORY_CHANGE | InventoryChangeTask | etl_billiards/tasks/inventory_change_task.py | BaseTask.execute (extract/transform/load) | Yes | raw.get, TypeParser.parse_int, extracted.get, TypeParser.format_timestamp, self._merge_common_params, self.api.get_paginated, InventoryChangeLoader, loader.upsert_changes | +| LEDGER | LedgerTask | etl_billiards/tasks/ledger_task.py | BaseTask.execute (extract/transform/load) | Yes | raw.get, TypeParser.parse_int, TypeParser.parse_decimal, TypeParser.parse_timestamp, extracted.get, TypeParser.format_timestamp, self._merge_common_params, self.api.get_paginated | +| MEMBERS | MembersTask | etl_billiards/tasks/members_task.py | BaseTask.execute (extract/transform/load) | Yes | raw.get, extracted.get, self._merge_common_params, self.api.get_paginated, MemberLoader, loader.upsert_members, self._parse_member, TypeParser.parse_int | +| ODS_ASSISTANT_ABOLISH | (dynamic) | etl_billiards/tasks/ods_tasks.py | BaseOdsTask.execute | Yes | self.api.iter_paginated, _insert_records_schema_aware | +| ODS_ASSISTANT_ACCOUNT | (dynamic) | etl_billiards/tasks/ods_tasks.py | BaseOdsTask.execute | Yes | self.api.iter_paginated, _insert_records_schema_aware | +| ODS_ASSISTANT_LEDGER | (dynamic) | etl_billiards/tasks/ods_tasks.py | BaseOdsTask.execute | Yes | self.api.iter_paginated, _insert_records_schema_aware | +| ODS_GOODS_CATEGORY | (dynamic) | etl_billiards/tasks/ods_tasks.py | BaseOdsTask.execute | Yes | self.api.iter_paginated, _insert_records_schema_aware | +| ODS_GROUP_BUY_REDEMPTION | (dynamic) | etl_billiards/tasks/ods_tasks.py | BaseOdsTask.execute | Yes | self.api.iter_paginated, _insert_records_schema_aware | +| ODS_GROUP_PACKAGE | (dynamic) | etl_billiards/tasks/ods_tasks.py | BaseOdsTask.execute | Yes | self.api.iter_paginated, _insert_records_schema_aware | +| ODS_INVENTORY_CHANGE | (dynamic) | etl_billiards/tasks/ods_tasks.py | BaseOdsTask.execute | Yes | self.api.iter_paginated, _insert_records_schema_aware | +| ODS_INVENTORY_STOCK | (dynamic) | etl_billiards/tasks/ods_tasks.py | BaseOdsTask.execute | Yes | self.api.iter_paginated, _insert_records_schema_aware | +| ODS_JSON_ARCHIVE | OdsJsonArchiveTask | etl_billiards/tasks/ods_json_archive_task.py | BaseTask.execute (extract/transform/load) | No | EndpointSpec, Path, TypeParser.format_timestamp, self.logger.info, dump_json, self.config.get, endpoint_to_filename, (rec or {}).get | +| ODS_MEMBER | (dynamic) | etl_billiards/tasks/ods_tasks.py | BaseOdsTask.execute | Yes | self.api.iter_paginated, _insert_records_schema_aware | +| ODS_MEMBER_BALANCE | (dynamic) | etl_billiards/tasks/ods_tasks.py | BaseOdsTask.execute | Yes | self.api.iter_paginated, _insert_records_schema_aware | +| ODS_MEMBER_CARD | (dynamic) | etl_billiards/tasks/ods_tasks.py | BaseOdsTask.execute | Yes | self.api.iter_paginated, _insert_records_schema_aware | +| ODS_PAYMENT | (dynamic) | etl_billiards/tasks/ods_tasks.py | BaseOdsTask.execute | Yes | self.api.iter_paginated, _insert_records_schema_aware | +| ODS_PLATFORM_COUPON | (dynamic) | etl_billiards/tasks/ods_tasks.py | BaseOdsTask.execute | Yes | self.api.iter_paginated, _insert_records_schema_aware | +| ODS_RECHARGE_SETTLE | (dynamic) | etl_billiards/tasks/ods_tasks.py | BaseOdsTask.execute | Yes | self.api.iter_paginated, _insert_records_schema_aware | +| ODS_REFUND | (dynamic) | etl_billiards/tasks/ods_tasks.py | BaseOdsTask.execute | Yes | self.api.iter_paginated, _insert_records_schema_aware | +| ODS_SETTLEMENT_RECORDS | (dynamic) | etl_billiards/tasks/ods_tasks.py | BaseOdsTask.execute | Yes | self.api.iter_paginated, _insert_records_schema_aware | +| ODS_SETTLEMENT_TICKET | (dynamic) | etl_billiards/tasks/ods_tasks.py | BaseOdsTask.execute | Yes | self.api.iter_paginated, _insert_records_schema_aware | +| ODS_STORE_GOODS | (dynamic) | etl_billiards/tasks/ods_tasks.py | BaseOdsTask.execute | Yes | self.api.iter_paginated, _insert_records_schema_aware | +| ODS_STORE_GOODS_SALES | (dynamic) | etl_billiards/tasks/ods_tasks.py | BaseOdsTask.execute | Yes | self.api.iter_paginated, _insert_records_schema_aware | +| ODS_TABLES | (dynamic) | etl_billiards/tasks/ods_tasks.py | BaseOdsTask.execute | Yes | self.api.iter_paginated, _insert_records_schema_aware | +| ODS_TABLE_FEE_DISCOUNT | (dynamic) | etl_billiards/tasks/ods_tasks.py | BaseOdsTask.execute | Yes | self.api.iter_paginated, _insert_records_schema_aware | +| ODS_TABLE_USE | (dynamic) | etl_billiards/tasks/ods_tasks.py | BaseOdsTask.execute | Yes | self.api.iter_paginated, _insert_records_schema_aware | +| ODS_TENANT_GOODS | (dynamic) | etl_billiards/tasks/ods_tasks.py | BaseOdsTask.execute | Yes | self.api.iter_paginated, _insert_records_schema_aware | +| ORDERS | OrdersTask | etl_billiards/tasks/orders_task.py | BaseTask.execute (extract/transform/load) | Yes | raw.get, TypeParser.parse_int, TypeParser.parse_decimal, extracted.get, TypeParser.format_timestamp, TypeParser.parse_timestamp, self._merge_common_params, self.api.get_paginated | +| PACKAGES_DEF | PackagesDefTask | etl_billiards/tasks/packages_task.py | BaseTask.execute (extract/transform/load) | Yes | raw.get, TypeParser.parse_int, extracted.get, TypeParser.parse_decimal, TypeParser.parse_timestamp, self._merge_common_params, self.api.get_paginated, PackageDefinitionLoader | +| PAYMENTS | PaymentsTask | etl_billiards/tasks/payments_task.py | BaseTask.execute (extract/transform/load) | Yes | raw.get, TypeParser.parse_int, TypeParser.parse_decimal, extracted.get, TypeParser.format_timestamp, TypeParser.parse_timestamp, self._merge_common_params, self.api.get_paginated | +| PRODUCTS | ProductsTask | etl_billiards/tasks/products_task.py | BaseTask.execute (extract/transform/load) | Yes | raw.get, TypeParser.parse_int, extracted.get, TypeParser.parse_decimal, TypeParser.parse_timestamp, self._merge_common_params, self.api.get_paginated, ProductLoader | +| REFUNDS | RefundsTask | etl_billiards/tasks/refunds_task.py | BaseTask.execute (extract/transform/load) | Yes | raw.get, TypeParser.parse_int, TypeParser.parse_decimal, extracted.get, TypeParser.parse_timestamp, TypeParser.format_timestamp, self._merge_common_params, self.api.get_paginated | +| TABLES | TablesTask | etl_billiards/tasks/tables_task.py | BaseTask.execute (extract/transform/load) | Yes | raw.get, TypeParser.parse_int, extracted.get, self._merge_common_params, self.api.get_paginated, TableLoader, loader.upsert_tables, self._parse_table | +| TABLE_DISCOUNT | TableDiscountTask | etl_billiards/tasks/table_discount_task.py | BaseTask.execute (extract/transform/load) | Yes | raw.get, TypeParser.parse_int, table_profile.get, extracted.get, TypeParser.format_timestamp, self._merge_common_params, self.api.get_paginated, TableDiscountLoader | +| TICKET_DWD | TicketDwdTask | etl_billiards/tasks/ticket_dwd_task.py | custom execute | No | self.logger.info, self.get_task_code, self._get_time_window, build_window_segments, TicketLoader, self.config.get, enumerate, self.iter_ods_rows | +| TOPUPS | TopupsTask | etl_billiards/tasks/topups_task.py | BaseTask.execute (extract/transform/load) | Yes | node.get, TypeParser.parse_decimal, TypeParser.parse_int, extracted.get, raw.get, TypeParser.parse_timestamp, TypeParser.format_timestamp, self._merge_common_params |