Files

487 lines
42 KiB
JSON
Raw Permalink Normal View History

2026-02-26 13:43:44 +08:00
{
"meta": {
"domain": "订单物料最新状态与历史变更查询",
"description": "此模型用于查询订单物料的最新状态和ETA相关信息,支持查询历史变更记录。该表包含最新状态数据(data_flag='Newest')和历史变更数据(data_flag='Changelog')的联合结果。所有日期字段在查询时自动转换为字符类型。通过data_flag区分最新状态和历史变更,实现订单全生命周期追踪。",
"data_source": "dwd_ai.apbo_eta_ful",
2026-03-24 18:07:22 +08:00
"system_flag_limit": "任何条件下,都不允许在SELECT子句中查询data_flag字段,仅用于WHERE过滤,且update_date和data_flag两个字段在where条件中互斥,使用了update_date则不使用data_flag,该规则优先级最高!"
2026-02-26 13:43:44 +08:00
},
"data_model_specification": {
"fields_list": [
2026-03-24 18:07:22 +08:00
"service_order_id", "soid", "part_number", "topmost_pn", "commodity_code", "ship_to_country",
"region", "dc_plant", "mtm", "machine_sn", "machine_type", "whether_premier", "stm_planner",
"category", "lenovo_ref_no", "case_number", "service_order_creation_date", "eta", "so_eta",
"status", "status_date", "update_date", "parts_sales", "warranty", "aging_day", "action",
"data_flag", "model", "aging_range", "recovery_day", "recovery_range",
"order_type", "key_lenovo_ref_no", "service_type", "customer", "life_cycle", "owner", "bu", "multiple_flag", "country_dc_premier_stock", "potential_ww_stock", "potential_opo_stock", "potential_other_dc_stock", "potential_reverse_stock", "hawb", "bol", "dn", "po", "prid"
2026-02-26 13:43:44 +08:00
],
"mandatory_display_fields": {
2026-03-24 18:07:22 +08:00
"default_fields": "service_order_id, soid, cast(service_order_creation_date as varchar(4096)) as service_order_creation_date, ship_to_country, part_number, topmost_pn, commodity_code, category, cast(eta as varchar(4096)) as eta, cast(so_eta as varchar(4096)) as so_eta, key_lenovo_ref_no, order_type, stm_planner, region, dc_plant, mtm, machine_sn, whether_premier, service_type, warranty, parts_sales, customer, life_cycle, owner, model, aging_range, lenovo_ref_no, action, cast(update_date as varchar(4096)) as update_date",
"date_cast_rule": "日期字段必须转换为字符类型:cast(column as varchar(4096)) as column"
2026-02-26 13:43:44 +08:00
},
"optional_fields": {
"key_identifier_fields": ["service_order_id", "soid", "part_number","topmost_pn", "commodity_code"],
"milestone_date_fields": ["eta", "so_eta", "status_date", "update_date", "service_order_creation_date"],
"location_fields": ["ship_to_country", "region", "dc_plant"],
"machine_fields": ["mtm", "machine_sn", "machine_type", "model"],
2026-03-24 18:07:22 +08:00
"service_fields": ["whether_premier", "stm_planner", "category", "lenovo_ref_no", "case_number", "key_lenovo_ref_no", "service_type", "owner"],
2026-02-26 13:43:44 +08:00
"status_fields": ["status", "status_date"],
2026-03-24 18:07:22 +08:00
"additional_fields": ["parts_sales", "warranty", "aging_day", "action", "aging_range", "recovery_day", "recovery_range", "order_type", "customer", "life_cycle", "owner", "bu", "multiple_flag", "country_dc_premier_stock", "potential_ww_stock", "potential_opo_stock", "potential_other_dc_stock", "potential_reverse_stock", "hawb", "bol", "dn", "po", "prid"],
"system_filter_fields": ["data_flag"]
2026-02-26 13:43:44 +08:00
}
},
"business_logic_rules": {
2026-03-24 18:07:22 +08:00
"query_recognition_rules": {
"detail_mode_triggers": ["明细", "明细查询", "详细", "具体", "记录"],
"aggregate_mode_triggers": ["聚合", "统计", "汇总", "count", "计数", "数量", "多少", "几个", "分组", "summary", "group by","summarize by","summarize","aggregate by","aggregate","sum", "求和", "总计", "合计"],
"aggregate_mode_enforcement": "当用户问题命中任意aggregate_mode_triggers关键字时,必须强制使用聚合模式:SELECT子句必须包含count(soid) as qty,分组字段必须加入GROUP BY。如用户指定了具体维度,按该维度分组;如未指定,默认按part_number分组"
},
"field_selection_logic": {
"priority_order": [
{
"level": 0,
"name": "明细模式",
"rule": "默认模式;未命中聚合关键词时",
"action": "使用明细字段与默认展示字段"
},
{
"level": 1,
"name": "聚合模式",
"rule": "命中聚合关键词(如:聚合/统计/count/汇总/分组/sum/求和/总计/合计)时,必须使用聚合模式",
"action": "使用聚合字段(count(soid) as qty)与分组维度"
}
]
},
"aggregate_rules": {
"metric_definitions": {
"qty": "count(soid)",
"premier_qty": "sum(if(whether_premier='Premier',1,0))"
},
"count_distinct_rule": "当用户指定对某列进行count统计时(如:统计SO数量、统计PN数量、统计订单数等),必须使用 count(distinct 列名) 而非 count(列名),以避免重复计数。例如:统计SO数量 → count(distinct service_order_id),统计PN数量 → count(distinct part_number)",
"group_by_rule": "所有非聚合字段必须出现在 GROUP BY",
"default_sorting": "qty DESC",
"fallback_group_by": "聚合查询中,如未使用group by进行分组,select中默认增加使用update_date字段"
},
"default_behavior": {
"detail_sorting": "soid, eta desc",
"aggregate_sorting": "qty DESC",
"limit": "如用户未要求,默认不加limit"
},
2026-02-26 13:43:44 +08:00
"alias_usage": "WHERE子句中支持使用字段别名进行查询,SELECT子句中使用原始字段名或别名均可",
2026-03-24 18:07:22 +08:00
"select_alias_rename_rule": "生成SQL时,若用户在问题中使用了字段别名/字段名表达(如 country、tp、topmost、owner_name 等),SELECT子句需按用户表述进行重命名:SELECT 原始字段 AS 用户字段名,并保持用户字段出现顺序",
2026-02-26 13:43:44 +08:00
"date_conversion": "所有日期字段必须使用cast(column as varchar(4096)) as column转为字符类型",
2026-03-24 18:07:22 +08:00
"default_filters": ["data_flag = 'Newest'"],
"data_flag_keyword_rule": "当用户问题包含'最新'、'Newest'、'latest'、'recent'等关键词时,使用 data_flag = 'Newest' 进行过滤",
"eta_info_keyword_rule": "当用户问题包含'eta信息'时,仅展示eta信息指定字段",
"eta_info_display_fields": "service_order_id as \"Service Order ID\", soid as \"SOID\", cast(service_order_creation_date as varchar(4096)) as \"Service Order Creation Date\", ship_to_country as \"Ship To Country\", part_number as \"Part Number\", topmost_pn as \"Topmost_PN\", commodity_code as \"Commodity_Code\", category as \"Category\", cast(eta as varchar(4096)) as \"ETA\", cast(so_eta as varchar(4096)) as \"SO ETA\", key_lenovo_ref_no as \"key_Lenovo Ref No\", order_type as \"order_type\", stm_planner as \"STM Planner\", region as \"Region\", dc_plant as \"DC Plant\", mtm as \"MTM\", machine_sn as \"Machine SN\", whether_premier as \"Whether_Premier\", service_type as \"Service_type\", warranty as \"Warranty\", parts_sales as \"Parts_sales\", customer as \"Customer\", life_cycle as \"TM_lifecycle\", model as \"Model\", aging_range as \"Aging_range\", lenovo_ref_no as \"Lenovo Ref No\", action as \"Action\", cast(update_date as varchar(4096)) as \"Update_date\"",
"potential_stock_keyword_rule": "当用户问题包含'potential_stock'或'潜在库存'或'潜在stock'或'潜在库存信息'关键字时,必须同时查询以下所有库存字段:potential_ww_stock, potential_opo_stock, potential_other_dc_stock, potential_reverse_stock",
"premier_qty_keyword_rule": "当用户问题包含'premier qty'、'premier_qty'、'premier数量'、'premier计数'、'premier统计'等关键词时,必须在SELECT中使用 sum(if(whether_premier='Premier',1,0)) as premier_qty 进行统计",
"sub_rule_keyword_rule": "当用户问题包含'sub rule'、'Sub Rule'、'SUB RULE'、'sub_rule'、'不接受sub'、'Not accept sub'等关键词时,必须在WHERE子句中添加 action = 'Not accept sub' 进行精确过滤。该条件与data_flag = 'Newest'一起使用,生成格式为:WHERE ... AND action = 'Not accept sub' AND data_flag = 'Newest'",
"passdue_keyword_rule": "当用户问题包含'passdue'、'past due'、'Passdue'、'PASSDUE'、'past_due'、'逾期'、'超期'、'过期'、'延误'等关键词时,必须在WHERE子句中添加 cast(update_date as date) - cast(eta as date) > 0 进行过滤,表示订单已超过预计到达日期。该条件使用日期类型减法比较,确保日期格式正确。生成格式为:WHERE ... AND cast(update_date as date) - cast(eta as date) > 0 AND data_flag = 'Newest'",
2026-02-26 13:43:44 +08:00
"null_handling": "日期字段转换时保留NULL值",
"model_query_rule": "查询model字段时必须使用like匹配,如: model like '%X13%'",
"field_extraction_rule": "使用正则表达式和关键词匹配提取用户明确提到的字段,建立字段别名映射表",
"field_order_rule": "用户提到的字段按问题中出现顺序排列在最前面,然后补充默认展示字段中未提及的字段",
2026-03-24 18:07:22 +08:00
"where_field_must_select": "where子句中出现的字段,必须加入select中查询展示",
"no_status_filter": "where条件禁止使用status字段过滤",
"country_code_mapping": "如果用户输入的关键字有:VN,AU,IN,HK,PH,KR,ID,TW,MO,FJ,LK,MY,SG,NZ,TH,JP,BD,则视为国家字段的数值过滤条件,增加ship_to_country = '国家代码'",
"date_like_rule": "MM/DD类似格式日期转换为 like '%-MM-DD%' ,DD等格式转换为 like '%-DD%'",
"topmost_pn_and_part_number_distinction": "确保区分topmost_pn(tp,tm,topmost,TOPMOST,TM)和part_number(pn)字段,避免混淆",
"alias_priority_rules": "别名匹配需大小写不敏感;tm/TM/topmost/TOPMOST/topmost pn均映射为topmost_pn;mtm只映射mtm,不得与tm混淆",
"order_type_warranty_disambiguation": "order_type与warranty可能共享值集合(如MDOA/OPT/CLW/DOA/FOC/OOW/OBL/ADW)。生成SQL时必须根据用户问题中的字段名或语义确认过滤目标字段;若用户未明确字段名且值仅命中该集合,不得擅自选择字段,需优先使用上下文关键词(订单类型/保修/质保)进行判断",
"todays_date_handling": "当用户查询包含'今天'或'当前日期'或'today'的信息时,使用update_date = substr(now(),1,10)进行过滤",
"top_n_rules": {
"recognition_triggers": ["top", "Top", "TOP", "前", "最高", "最大", "最小", "排名"],
"require_limit": "识别为TopN查询时,必须使用LIMIT N",
"require_order_by": "识别为TopN查询时,必须包含ORDER BY排序字段",
"default_limit": "用户未明确N时,默认使用LIMIT 10",
"default_order_by": "用户未指定排序字段时,默认使用count(soid)作为排序键",
"dimension_topn_rule": "当用户表达为'by {维度} top N'或'按{维度} top N'时,只能选择该维度字段 + qty(count(soid)),禁止选择其他明细字段;必须对该维度GROUP BY,并使用count(soid) as qty排序:ORDER BY qty DESC",
"dimension_topn_default": "TopN查询默认使用用户指定的维度 + count(soid) as qty 作为排序结果",
"dimension_topn_where_rule": "维度过滤条件仅用于WHERE(如 model 使用lower(model) like '%x%'),但SELECT仍只保留维度字段 + qty"
}
2026-02-26 13:43:44 +08:00
},
"field_mapping_reference": {
2026-03-24 18:07:22 +08:00
"critical_note": "此表包含最新状态数据和历史变更数据的联合,通过data_flag区分。最新数据(Newest)每条订单只有一条记录,历史数据(Changelog)每条订单有多条记录。所有日期字段在查询时自动转换为字符类型。请注意检查用户是否使用了字段的alias,不要忽略!!!系统字段(data_flag)仅用于WHERE过滤,不显示在SELECT结果中。用户提到的字段应优先显示在SELECT子句最前面。",
2026-02-26 13:43:44 +08:00
"critical_note1": {"type":"字段类型", "desc":"字段描述", "format": "数据格式", "query_format": "查询时数据格式" ,"example":"字段示例值", "values":"枚举值", "alias":"字段别名"},
"key_identifiers": {
"service_order_id": {
"type": "varchar(4096)",
"desc": "主订单号,唯一标识, 简写为SO 或 WO ,10位码值,注意与soid(12位码值)区分",
"example": "4020438779",
"alias": ["so","SO", "wo", "订单号", "主单号", "SO", "服务订单", "order_no", "Service Order", "BO", "backorder"]
},
"soid": {
"type": "varchar(4096)",
"desc": "服务订单明细,12位码值,注意与service_order_id(10位码值)区分",
"example": "402043877920",
"alias": ["明细ID", "SOID", "订单明细", "服务订单明细", "Service Order Item Detail", "SO ID"]
},
"part_number": {
"type": "varchar(4096)",
"desc": "原始申请物料号, 注意与topmost pn区分, 这不是topmost pn, 这是part number, PN",
"example": "5CB1L57599",
"alias": ["pn", "part", "parts", "物料号", "零件号", "Part Number", "材料号", "物料编码", "零件编码"]
}
},
2026-03-24 18:07:22 +08:00
2026-02-26 13:43:44 +08:00
"milestone_date_fields": {
"service_order_creation_date": {
"type": "datetime",
2026-03-24 18:07:22 +08:00
"desc": "开单日期/开单时间,即这条记录的创建时间,即 Backlog Order 的创建/新增时间,即 BO 的创建/新增时间。业务含义:当前数据的 update_date 与 service_order_creation_date 相减即为该订单的存续时间(订单从创建到当前状态的时间跨度)",
2026-02-26 13:43:44 +08:00
"format": "YYYY-MM-DD HH:MM:SS",
"query_format": "作为字符串展示",
2026-03-24 18:07:22 +08:00
"alias": ["create_date", "创建时间", "create 时间", "开单日期", "SO创建时间", "开单时间", "Order Creation Date", "created_date", "创建日期", "存续时间", "订单时长", "BO创建时间", "BO新增时间", "Backlog Order创建时间", "Backlog Order新增时间", "记录创建时间", "记录新增时间"]
2026-02-26 13:43:44 +08:00
},
"eta": {
"type": "date",
"desc": "物料预计到达日期(Estimated Time of Arrival)",
"format": "YYYY-MM-DD",
"query_format": "作为字符串展示",
"alias": ["预计到达", "计划到达时间", "ETA", "预计到港时间", "预计到货时间", "预计送达时间", "物料ETA"]
},
"so_eta": {
"type": "date",
"desc": "销售订单层预计到达时间(Service Order ETA)",
"format": "YYYY-MM-DD",
"query_format": "作为字符串展示",
"alias": ["SO预计到达", "订单ETA", "服务订单预计到达", "Service Order ETA", "SO ETA", "销售订单ETA"]
},
"status_date": {
"type": "date",
"desc": "状态日期, 禁止使用status_date字段排序, 禁止使用status_date字段排序, 禁止使用status_date字段排序",
"format": "YYYY-MM-DD",
"query_format": "作为字符串展示",
"alias": ["status date", "状态时间", "状态更新时间", "最后更新", "状态日期", "Status Update Date", "更新时间", "更新日期"]
},
"update_date": {
"type": "date",
"desc": "历史数据状态更新日期,表示该条历史记录的生成时间",
"format": "YYYY-MM-DD",
"query_format": "作为字符串展示",
"alias": ["更新时间", "更新日期", "历史数据状态更新日期", "修改时间"]
}
},
2026-03-24 18:07:22 +08:00
2026-02-26 13:43:44 +08:00
"additional_fields": {
2026-03-24 18:07:22 +08:00
"bu": {
"type": "varchar(4096)",
"desc": "业务单元",
"alias": ["bu", "BU", "业务单元", "业务线"]
},
"multiple_flag": {
"type": "varchar(4096)",
"desc": "多重影响标识",
"alias": ["multiple_flag", "multi_flag", "多重标识", "多标识"]
},
"country_dc_premier_stock": {
"type": "varchar(4096)",
"desc": "国家DC Premier库存",
"alias": ["country_dc_premier_stock", "premier_stock", "premier stock","国家DC优先库存", "国家DC优先库存量"]
},
"potential_ww_stock": {
"type": "varchar(63355)",
"desc": "潜在全球库存",
"alias": ["potential_ww_stock", "ww_stock", "潜在全球库存", "潜在WW库存"]
},
"potential_opo_stock": {
"type": "varchar(63355)",
"desc": "潜在OPO库存",
"alias": ["potential_opo_stock", "opo_stock", "潜在OPO库存", "OPO库存"]
},
"potential_other_dc_stock": {
"type": "varchar(63355)",
"desc": "潜在其他DC库存",
"alias": ["potential_other_dc_stock", "other_dc_stock", "潜在其他DC库存", "其他DC库存"]
},
"potential_reverse_stock": {
"type": "varchar(63355)",
"desc": "潜在逆向库存",
"alias": ["potential_reverse_stock", "reverse_stock", "潜在逆向库存", "逆向库存"]
},
"owner": {
"type": "varchar(4096)",
"desc": "负责人/归属人, 查询时必须转换为小写并使用like匹配, 如: lower(owner) like '%senilaf%' ",
"example": "senilaf",
"alias": ["owner", "负责人", "归属人", "owner_name", "责任人", "持有人"]
},
2026-02-26 13:43:44 +08:00
"topmost_pn": {
"type": "varchar(4096)",
"desc": "最紧缺物料号, 注意与pn区分, 这是topmost pn, 这是topmost pn, 这是topmost pn, 不是PN",
"example": "5CB1L57599",
2026-03-24 18:07:22 +08:00
"alias": ["tp", "tm", "TM", "TOPMOST", "Topmost", "Topmost Part Number", "topmost", "topmost pn", "TOPMOST PN", "topmost_pn", "top-most"]
2026-02-26 13:43:44 +08:00
},
"commodity_code": {
"type": "varchar(4096)",
"desc": "商品编码",
"example": "PL",
2026-03-24 18:07:22 +08:00
"alias": ["commodity", "商品代码", "CC", "cc", "物料分类", "Commodity Code", "商品类别", "物料类型", "商品编码"]
2026-02-26 13:43:44 +08:00
},
"ship_to_country": {
"type": "varchar(4096)",
"desc": "收货国家",
"values": ["VN","AU","IN","HK","PH","KR","ID","TW","MO","FJ","LK","MY","SG","NZ","TH","JP","BD"],
"alias": ["country", "国家", "收货国", "目的地国家", "Ship to Country", "目标国家", "送达国家", "收货地点", "目的地"]
},
"region": {
"type": "varchar(4096)",
"desc": "地区",
"values": ["CAP", "ANZ", "India", "JP"],
"alias": ["区域", "大区", "Region Code", "地域代码", "地区代码", "地理区域"]
},
"dc_plant": {
"type": "varchar(4096)",
"desc": "配送中心/工厂",
"example": "VN01",
"alias": ["dc", "工厂", "配送中心", "发货配送中心", "DC", "发货中心", "Distribution Center", "发货工厂", "配送点", "仓库"]
},
"mtm": {
"type": "varchar(4096)",
"desc": "机器型号,请注意与mt区分,这不是mt,这是mtm,这是mtm,这是mtm",
"example": "20QUS0SQ00",
"alias": ["mtm", "机型号", "型号", "Machine Type Model", "设备型号", "机器型号代码", "机型代码", "MTM"]
},
"machine_sn": {
"type": "varchar(4096)",
"desc": "机器序列号, MTM SN, MT SN都是machine_sn ,请注意与mtm区分,这不是mtm也不是MT, 这是sn,这是sn,这是sn",
"example": "PW01554B",
"alias": ["sn", "serial_number", "序列号", "SN", "Machine Serial Number", "设备序列号", "机器SN", "设备SN", "序列编号", "MTM SN", "MT SN"]
},
"machine_type": {
"type": "varchar(4096)",
"desc": "机器类型, 请注意与mtm区分,这不是mtm,这是mt,这是mt,这是mt",
"example": "20Q1",
"alias": ["MT", "machine type", "机器类型", "设备类型", "机型大类", "机器大类"]
},
"model": {
"type": "varchar(4096)",
2026-03-24 18:07:22 +08:00
"desc": "Lenovo的机型, 禁止使用model = 'model_name', 查询时model_name必须转换为小写并使用like匹配,如: lower(model) like '%x13%'",
2026-02-26 13:43:44 +08:00
"example": ["Yoga 7 16IAH7", "X13 GEN3", "T16 Gen4 AMD", "Legion 7 16ACHg6"],
"alias": ["model", "机型", "型号", "Model", "设备型号", "机器型号"]
},
"lenovo_ref_no": {
"type": "varchar(63355)",
"desc": "联想内部参考号",
"alias": ["Lenovo Ref No", "ref_no", "联想单号", "参考号", "联想内部参考号", "内部参考号", "Lenovo Reference", "联想内部编号", "参考编号", "参考单号"]
},
"case_number": {
"type": "varchar(4096)",
"desc": "事件号/案例号",
"example": "CS12345678",
"alias": ["case", "事件号", "事件编号", "case no", "Case Number", "lenovo case", "工单号", "服务请求号"]
},
"status": {
"type": "varchar(4096)",
"desc": "订单状态",
"example": ["wrong order", "DN", "ETA", "Standard Good Stock"],
"alias": ["状态", "订单状态", "Status", "当前状态", "物料状态", "订单最新状态"]
},
"whether_premier": {
"type": "varchar(4096)",
2026-03-24 18:07:22 +08:00
"desc": "优先级标识,默认查询 'Premier'。当用户需要统计Premier订单数量时,使用 sum(if(whether_premier='Premier',1,0)) as premier_qty",
2026-02-26 13:43:44 +08:00
"values": ["Starndard", "Premier"],
"alias": ["premier", "优质服务", "是否优质", "是否Premier", "Premier服务", "是否优先", "Whether Premier", "优先服务标识", "VIP服务"]
},
"stm_planner": {
"type": "varchar(4096)",
"desc": "短期物料计划员",
"alias": ["planner", "计划员姓名", "STM计划员", "STM Planner", "服务计划员", "运输计划员", "物料计划员", "计划员"]
},
"category": {
"type": "varchar(4096)",
"desc": "订单分类,查询时必须转换为小写并使用like匹配, 如: lower(category) like '%standard%'",
"example": "Standard",
"alias": ["类型", "分类", "订单类别", "Category", "服务类别", "订单分类", "分类类型", "服务类型"]
},
"parts_sales": {
"type": "varchar(4096)",
"desc": "零件销售信息",
"alias": ["零件销售", "销售信息", "部件销售", "配件销售", "销售数据"]
},
2026-03-24 18:07:22 +08:00
"action": {
"type": "varchar(4096)",
"desc": "操作/动作标识,用于标识订单当前执行的操作类型。当用户提到'sub rule'时,该字段精确匹配 action = 'Not accept sub'",
"example": "Not accept sub",
"alias": ["action", "操作", "动作", "Action", "操作类型", "sub rule", "Sub Rule", "SUB RULE", "sub_rule", "不接受sub", "Not accept sub"]
},
2026-02-26 13:43:44 +08:00
"warranty": {
"type": "varchar(4096)",
"desc": "保修信息",
2026-03-24 18:07:22 +08:00
"values": ["MDOA", "OPT", "CLW", "DOA", "FOC", "OOW", "OBL", "ADW"],
2026-02-26 13:43:44 +08:00
"alias": ["保修", "保修信息", "质保", "保修条款", "保修状态"]
},
"aging_day": {
"type": "int",
"desc": "订单从生成(order_creation_date)到当前(update_date)所经过的具体天数",
"examples": [118, 77, 12],
"alias": ["账龄天数", "账龄", "aging day", "age days", "账龄分类", "天数分类", "Aged", "Age"]
},
"aging_range":{
"type": "varchar(2048)",
"desc": "订单从生成(order_creation_date)到当前(update_date)所经过的具体天数区间,并按照星期分类",
"values": ["0-7D", "8-14D", "15-21D", "22-28D", "28D+", "null"],
"alias": ["账龄天数", "账龄", "aging day", "age date range", "账龄分类", "天数分类"]
},
"recovery_day": {
"type": "int",
"desc": "订单从Update_date到SO_ETA所经过的具体天数",
"examples": [118, 77, 12],
"alias": ["账龄天数", "账龄", "recovery day", "账期分类", "账龄分类", "天数分类", "Aged", "Age"]
},
"recovery_range": {
"type": "varchar(2048)",
"desc": "订单从Update_date到SO_ETA所经过的具体天数区间,按照星期分类",
"values": ["0-7D", "8-14D", "15-21D", "22-28D", "28D+", "null"],
"alias": ["账龄天数", "账龄", "recovery range", "账期分类", "账龄分类", "天数分类"]
},
"order_type":{
"type": "varchar(4096)",
"desc": "订单类型",
"values": ["MDOA", "OPT", "CLW", "DOA", "FOC", "OOW", "OBL", "ADW"],
"alias": ["type", "订单类别", "类别", "订单类型", "Order Type", "服务类型", "服务类别"]
},
"key_lenovo_ref_no": {
"type": "varchar(4096)",
"desc": "关键联想参考号",
"alias": ["关键参考号", "主要参考号", "关键联想单号"]
},
"service_type": {
"type": "varchar(4096)",
"desc": "服务类型",
"alias": ["服务类型", "服务种类", "service type"]
},
"customer": {
"type": "varchar(4096)",
"desc": "客户信息",
"alias": ["客户", "客户名称", "客户信息", "customer name"]
},
"life_cycle": {
"type": "varchar(4096)",
"desc": "TM生命周期",
"alias": ["tm_lifecycle","TM生命周期", "生命周期阶段", "产品生命周期"]
},
"hawb": {
"type": "varchar(4096)",
"desc": "house air way bill",
"examples": ["DIM042186899"],
2026-03-24 18:07:22 +08:00
"alias": ["hawb", "HAWB", "Hawb", "分运单号", "运单号", "代理运单", "分运单", "house air way bill", "house airway bill", "house air waybill", "house airway waybill", "air way bill", "air waybill", "HAWB No", "HAWB NO", "HAWB号码", "HAWB号", "分运单", "分运单编号", "分运单号码"]
},
"bol": {
"type": "varchar(4096)",
"desc": "bill of lading",
"examples": ["OOLU2678082490"],
"alias": ["bol", "BOL", "Bol", "bill of lading", "B/L", "b/l", "提单", "提单号", "提单编号", "海运提单", "货运提单", "BOL No", "BOL NO", "BOL号", "BOL号码"]
},
"dn": {
"type": "varchar(4096)",
"desc": "delivery note / delivery number",
"examples": ["0081234567"],
"alias": ["dn", "DN", "Dn", "delivery note", "delivery number", "delivery no", "送货单", "送货单号", "交货单", "交货单号", "出货单", "出货单号", "DN No", "DN NO", "DN号", "DN号码"]
},
"po": {
"type": "varchar(4096)",
"desc": "purchase order",
"examples": ["4501234567"],
"alias": ["po", "PO", "Po", "purchase order", "purchase order number", "采购单", "采购单号", "采购订单", "采购订单号", "PO No", "PO NO", "PO号", "PO号码"]
},
"prid": {
"type": "varchar(4096)",
"desc": "采购申请/内部请求标识",
"examples": ["PR12345678"],
"alias": ["prid", "PRID", "Prid", "pr id", "PR ID", "purchase request id", "采购申请号", "采购申请编号", "申请单号", "请求单号", "内部请求号", "PRID号", "PRID号码"]
2026-02-26 13:43:44 +08:00
}
},
2026-03-24 18:07:22 +08:00
2026-02-26 13:43:44 +08:00
"system_flag_fields": {
"data_flag": {
"type": "varchar(64)",
"desc": "数据标志:'Newest'表示最新状态,'Changelog'表示历史变更",
"example": "Newest",
2026-03-24 18:07:22 +08:00
"business_rule": "默认查询最新状态(Newest),查询历史时使用Changelog, 禁止出现在SELECT中,where条件中出现update_date则不使用data_flag进行过滤",
2026-02-26 13:43:44 +08:00
"display_rule": "仅用于WHERE过滤,不显示",
"alias": ["数据标志", "数据类型", "数据状态", "记录类型", "数据分类"]
}
}
},
"examples": {
"newest_status_all_fields": {
2026-03-24 18:07:22 +08:00
"user": "How about the ETA of 4020731111 and 4020947030?",
"sql": "SELECT service_order_id, soid, cast(service_order_creation_date as varchar(4096)) as service_order_creation_date, ship_to_country, part_number, topmost_pn, commodity_code, category, cast(eta as varchar(4096)) as eta, cast(so_eta as varchar(4096)) as so_eta, key_lenovo_ref_no, order_type, stm_planner, region, dc_plant, mtm, machine_sn, whether_premier, service_type, warranty, parts_sales, customer, life_cycle, model, aging_range, lenovo_ref_no, action, cast(update_date as varchar(4096)) as update_date FROM dwd_ai.apbo_eta_ful WHERE (service_order_id in ('4020731111', '4020947030') or soid in ('4020731111', '4020947030')) AND data_flag = 'Newest' ORDER BY soid, eta DESC",
2026-02-26 13:43:44 +08:00
"field_selection_reason": "默认查询最新状态,按默认展示字段顺序显示所有字段(除系统字段),日期字段转换为字符类型"
},
"history_records_all_fields": {
"user": "查看2025年12月31的so为4020438779的历史变更记录",
2026-03-24 18:07:22 +08:00
"sql": "SELECT service_order_id, soid, cast(service_order_creation_date as varchar(4096)) as service_order_creation_date, ship_to_country, part_number, topmost_pn, commodity_code, category, cast(eta as varchar(4096)) as eta, cast(so_eta as varchar(4096)) as so_eta, key_lenovo_ref_no, order_type, stm_planner, region, dc_plant, mtm, machine_sn, whether_premier, service_type, warranty, parts_sales, customer, life_cycle, model, aging_range, lenovo_ref_no, action, cast(update_date as varchar(4096)) as update_date FROM dwd_ai.apbo_eta_ful WHERE service_order_id = '4020438779' AND cast(update_date as varchar(4096)) like '%2025-12-31%' ORDER BY soid, eta DESC",
"field_selection_reason": "查询历史变更记录,按默认展示字段顺序显示所有字段(除系统字段),日期字段转换为字符类型,且用户指定了update_date进行过滤,去掉data_flag = 'Newest'的默认过滤条件"
2026-02-26 13:43:44 +08:00
},
"specific_fields_query": {
"user": "查询SO为4020438779的country, eta, order_type",
2026-03-24 18:07:22 +08:00
"sql": "SELECT ship_to_country, cast(eta as varchar(4096)) as eta, order_type, service_order_id, soid, cast(service_order_creation_date as varchar(4096)) as service_order_creation_date, part_number, topmost_pn, commodity_code, category, cast(so_eta as varchar(4096)) as so_eta, key_lenovo_ref_no, stm_planner, region, dc_plant, mtm, machine_sn, whether_premier, service_type, warranty, parts_sales, customer, life_cycle, model, aging_range, lenovo_ref_no, action, cast(update_date as varchar(4096)) as update_date FROM dwd_ai.apbo_eta_ful WHERE service_order_id = '4020438779' AND data_flag = 'Newest' ORDER BY soid, eta DESC",
2026-02-26 13:43:44 +08:00
"field_selection_reason": "用户提到的字段(ship_to_country, eta, order_type)优先显示在最前面,然后补充其他默认展示字段"
},
"aggragate_query": {
2026-03-24 18:07:22 +08:00
"user": "by country, key_Lenovo Ref No, eta 汇总REGION=CAP 信息, 并从小到大排序",
"sql": "SELECT region, ship_to_country, key_lenovo_ref_no, cast(eta as varchar(4096)) as eta, count(soid) as qty FROM dwd_ai.apbo_eta_ful WHERE data_flag = 'Newest' AND region = 'CAP' group by region, ship_to_country, key_lenovo_ref_no, cast(eta as varchar(4096)) ORDER BY qty DESC",
"field_selection_reason": "聚合查询,qty默认降序排序"
},
"topn_by_topmost_pn_model_qty": {
"user": "by topmost_pn, model 查询 top 10",
"sql": "SELECT topmost_pn, model, count(soid) as qty FROM dwd_ai.apbo_eta_ful WHERE data_flag = 'Newest' GROUP BY topmost_pn, model ORDER BY qty DESC LIMIT 10",
"field_selection_reason": "按维度TopN,仅输出维度字段+qty"
2026-02-26 13:43:44 +08:00
},
2026-03-24 18:07:22 +08:00
"topn_by_country_qty": {
"user": "CC为LT ,by country 查询 top 20",
"sql": "SELECT commodity_code,ship_to_country, count(soid) as qty FROM dwd_ai.apbo_eta_ful WHERE data_flag = 'Newest' AND commodity_code = 'LT'GROUP BY commodity_code, ship_to_country ORDER BY qty DESC LIMIT 20",
"field_selection_reason": "按维度TopN,默认使用维度+qty排序,仅输出维度字段+qty"
2026-02-26 13:43:44 +08:00
},
"Machine_sn_query": {
"user": "SN PF4C8CBL的order 信息",
2026-03-24 18:07:22 +08:00
"sql": "SELECT machine_sn, service_order_id, soid, cast(service_order_creation_date as varchar(4096)) as service_order_creation_date, ship_to_country, part_number, topmost_pn, commodity_code, category, cast(eta as varchar(4096)) as eta, cast(so_eta as varchar(4096)) as so_eta, key_lenovo_ref_no, order_type, stm_planner, region, dc_plant, mtm, whether_premier, service_type, warranty, parts_sales, customer, life_cycle, model, aging_range, lenovo_ref_no, action, cast(update_date as varchar(4096)) as update_date FROM dwd_ai.apbo_eta_ful WHERE machine_sn = 'PF4C8CBL' AND data_flag = 'Newest' ORDER BY soid, eta DESC",
2026-02-26 13:43:44 +08:00
"field_selection_reason": "用户提到的字段(machine_sn)优先显示在最前面,然后补充其他默认展示字段"
},
"status_query": {
"user": "查询状态为wrong order的订单",
2026-03-24 18:07:22 +08:00
"sql": "SELECT status, service_order_id, soid, cast(service_order_creation_date as varchar(4096)) as service_order_creation_date, ship_to_country, part_number, topmost_pn, commodity_code, category, cast(eta as varchar(4096)) as eta, cast(so_eta as varchar(4096)) as so_eta, key_lenovo_ref_no, order_type, stm_planner, region, dc_plant, mtm, machine_sn, whether_premier, service_type, warranty, parts_sales, customer, life_cycle, model, aging_range, lenovo_ref_no, action, cast(update_date as varchar(4096)) as update_date FROM dwd_ai.apbo_eta_ful WHERE status = 'wrong order' AND data_flag = 'Newest' ORDER BY soid, eta DESC",
2026-02-26 13:43:44 +08:00
"field_selection_reason": "用户提到的字段(status)优先显示在最前面,然后补充其他默认展示字段"
},
"multiple_fields_query": {
"user": "查看SN为PF4C8CBL的订单状态和机器型号",
2026-03-24 18:07:22 +08:00
"sql": "SELECT machine_sn, status, model, service_order_id, soid, cast(service_order_creation_date as varchar(4096)) as service_order_creation_date, ship_to_country, part_number, topmost_pn, commodity_code, category, cast(eta as varchar(4096)) as eta, cast(so_eta as varchar(4096)) as so_eta, key_lenovo_ref_no, order_type, stm_planner, region, dc_plant, mtm, whether_premier, service_type, warranty, parts_sales, customer, life_cycle, aging_range, lenovo_ref_no, action, cast(update_date as varchar(4096)) as update_date FROM dwd_ai.apbo_eta_ful WHERE machine_sn = 'PF4C8CBL' AND data_flag = 'Newest' ORDER BY soid, eta DESC",
2026-02-26 13:43:44 +08:00
"field_selection_reason": "用户提到的字段(machine_sn, status, model)按问题中出现的顺序优先显示在最前面,然后补充其他默认展示字段"
},
"model_query_all_fields": {
"user": "查询机型包含X13的订单",
2026-03-24 18:07:22 +08:00
"sql": "SELECT service_order_id, soid, cast(service_order_creation_date as varchar(4096)) as service_order_creation_date, ship_to_country, part_number, topmost_pn, commodity_code, category, cast(eta as varchar(4096)) as eta, cast(so_eta as varchar(4096)) as so_eta, key_lenovo_ref_no, order_type, stm_planner, region, dc_plant, mtm, machine_sn, whether_premier, service_type, warranty, parts_sales, customer, life_cycle, model, aging_range, lenovo_ref_no, action, cast(update_date as varchar(4096)) as update_date FROM dwd_ai.apbo_eta_ful WHERE lower(model) like '%x13%' AND data_flag = 'Newest' ORDER BY soid, eta DESC",
2026-02-26 13:43:44 +08:00
"field_selection_reason": "查询特定机型的订单,使用like匹配model字段,按默认展示字段顺序显示"
},
"order_type_query_all_fields": {
"user": "查询订单类型为MDOA的订单",
2026-03-24 18:07:22 +08:00
"sql": "SELECT service_order_id, soid, cast(service_order_creation_date as varchar(4096)) as service_order_creation_date, ship_to_country, part_number, topmost_pn, commodity_code, category, cast(eta as varchar(4096)) as eta, cast(so_eta as varchar(4096)) as so_eta, key_lenovo_ref_no, order_type, stm_planner, region, dc_plant, mtm, machine_sn, whether_premier, service_type, warranty, parts_sales, customer, life_cycle, model, aging_range, lenovo_ref_no, action, cast(update_date as varchar(4096)) as update_date FROM dwd_ai.apbo_eta_ful WHERE order_type = 'MDOA' AND data_flag = 'Newest' ORDER BY soid, eta DESC",
2026-02-26 13:43:44 +08:00
"field_selection_reason": "查询特定订单类型的订单,按默认展示字段顺序显示"
},
2026-03-24 18:07:22 +08:00
"region_info_query": {
"user": "region = ANZ 的信息",
"sql": "SELECT region, service_order_id, soid, cast(service_order_creation_date as varchar(4096)) as service_order_creation_date, ship_to_country, part_number, topmost_pn, commodity_code, category, cast(eta as varchar(4096)) as eta, cast(so_eta as varchar(4096)) as so_eta, key_lenovo_ref_no, order_type, stm_planner, dc_plant, mtm, machine_sn, whether_premier, service_type, warranty, parts_sales, customer, life_cycle, model, aging_range, lenovo_ref_no, action, cast(update_date as varchar(4096)) as update_date FROM dwd_ai.apbo_eta_ful WHERE data_flag = 'Newest' AND region = 'ANZ' ORDER BY soid, eta DESC",
"field_selection_reason": "按区域查询,按默认展示字段顺序显示"
},
"sub_rule_query": {
"user": "查询sub rule的订单",
"sql": "SELECT action, service_order_id, soid, cast(service_order_creation_date as varchar(4096)) as service_order_creation_date, ship_to_country, part_number, topmost_pn, commodity_code, category, cast(eta as varchar(4096)) as eta, cast(so_eta as varchar(4096)) as so_eta, key_lenovo_ref_no, order_type, stm_planner, region, dc_plant, mtm, machine_sn, whether_premier, service_type, warranty, parts_sales, customer, life_cycle, model, aging_range, lenovo_ref_no, cast(update_date as varchar(4096)) as update_date FROM dwd_ai.apbo_eta_ful WHERE action = 'Not accept sub' AND data_flag = 'Newest' ORDER BY soid, eta DESC",
"field_selection_reason": "用户提到'sub rule',触发sub_rule_keyword_rule,在WHERE中添加 action = 'Not accept sub' 进行精确过滤"
},
"sub_rule_with_country_query": {
"user": "查询country为VN的sub rule订单信息",
"sql": "SELECT action, ship_to_country, service_order_id, soid, cast(service_order_creation_date as varchar(4096)) as service_order_creation_date, part_number, topmost_pn, commodity_code, category, cast(eta as varchar(4096)) as eta, cast(so_eta as varchar(4096)) as so_eta, key_lenovo_ref_no, order_type, stm_planner, region, dc_plant, mtm, machine_sn, whether_premier, service_type, warranty, parts_sales, customer, life_cycle, model, aging_range, lenovo_ref_no, cast(update_date as varchar(4096)) as update_date FROM dwd_ai.apbo_eta_ful WHERE action = 'Not accept sub' AND ship_to_country = 'VN' AND data_flag = 'Newest' ORDER BY soid, eta DESC",
"field_selection_reason": "用户提到'sub rule'且指定country=VN,WHERE中同时包含 action = 'Not accept sub' 和 ship_to_country = 'VN'"
},
"passdue_query": {
"user": "查询passdue的订单",
"sql": "SELECT service_order_id, soid, cast(service_order_creation_date as varchar(4096)) as service_order_creation_date, ship_to_country, part_number, topmost_pn, commodity_code, category, cast(eta as varchar(4096)) as eta, cast(so_eta as varchar(4096)) as so_eta, key_lenovo_ref_no, order_type, stm_planner, region, dc_plant, mtm, machine_sn, whether_premier, service_type, warranty, parts_sales, customer, life_cycle, model, aging_range, lenovo_ref_no, action, cast(update_date as varchar(4096)) as update_date FROM dwd_ai.apbo_eta_ful WHERE cast(update_date as date) - cast(eta as date) > 0 AND data_flag = 'Newest' ORDER BY soid, eta DESC",
"field_selection_reason": "用户提到'passdue',触发passdue_keyword_rule,在WHERE中添加 cast(update_date as date) - cast(eta as date) > 0 过滤逾期订单"
},
"passdue_with_country_query": {
"user": "查询country为AU的passdue订单",
"sql": "SELECT ship_to_country, service_order_id, soid, cast(service_order_creation_date as varchar(4096)) as service_order_creation_date, part_number, topmost_pn, commodity_code, category, cast(eta as varchar(4096)) as eta, cast(so_eta as varchar(4096)) as so_eta, key_lenovo_ref_no, order_type, stm_planner, region, dc_plant, mtm, machine_sn, whether_premier, service_type, warranty, parts_sales, customer, life_cycle, model, aging_range, lenovo_ref_no, action, cast(update_date as varchar(4096)) as update_date FROM dwd_ai.apbo_eta_ful WHERE ship_to_country = 'AU' AND cast(update_date as date) - cast(eta as date) > 0 AND data_flag = 'Newest' ORDER BY soid, eta DESC",
"field_selection_reason": "用户提到'passdue'且指定country=AU,WHERE中同时包含 ship_to_country = 'AU' 和 cast(update_date as date) - cast(eta as date) > 0"
2026-02-26 13:43:44 +08:00
}
}
}