This commit is contained in:
2026-03-24 18:07:22 +08:00
parent e062368ef2
commit 9a16f738d8
121 changed files with 8904 additions and 3940 deletions
+205 -82
View File
@@ -3,59 +3,105 @@
"domain": "订单物料最新状态与历史变更查询",
"description": "此模型用于查询订单物料的最新状态和ETA相关信息,支持查询历史变更记录。该表包含最新状态数据(data_flag='Newest')和历史变更数据(data_flag='Changelog')的联合结果。所有日期字段在查询时自动转换为字符类型。通过data_flag区分最新状态和历史变更,实现订单全生命周期追踪。",
"data_source": "dwd_ai.apbo_eta_ful",
"system_flag_limit": "任何条件下,都不允许在SELECT子句中查询is_passdue, is_dummy, data_flag字段,仅用于WHERE过滤,该规则优先级最高!"
"system_flag_limit": "任何条件下,都不允许在SELECT子句中查询data_flag字段,仅用于WHERE过滤,且update_date和data_flag两个字段在where条件中互斥,使用了update_date则不使用data_flag,该规则优先级最高!"
},
"data_model_specification": {
"fields_list": [
"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",
"is_passdue", "is_dummy", "data_flag", "model", "aging_range", "recovery_day", "recovery_range",
"order_type", "key_lenovo_ref_no", "service_type", "customer", "life_cycle", "hawb", "bol", "dn", "po", "prid"
"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"
],
"mandatory_display_fields": {
"rule1": "默认展示字段(按以下顺序):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",
"rule2": "用户明确提到的字段优先原则:如果用户问题中明确提到了某些字段,这些字段应在SELECT子句中排在最前面,按用户问题中出现的顺序排列",
"rule3": "字段去重:用户提到的字段和默认字段有重叠时,每个字段只出现一次",
"rule4": "日期字段必须转换为字符类型:cast(column as varchar(4096)) as column",
"rule5": "where子句中出现的字段,必须加入select中查询展示",
"rule6": "禁止使用limit",
"rule7": "请确认生成的sql中,用户使用的是mt(machine_type)还是mtm, 注意!! MTM SN = machine_sn, MT SN = machine_sn, mt = machine_type",
"rule8": "当用户要求:展示所有信息,所有字段,全字段等需求时候,额外加入展示的字段:machine_type,case_number,status_date,aging_day,is_passdue,is_dummy,data_flag,recovery_day,recovery_range,hawb,bol,dn,po,prid",
"rule9": "where条件禁止使用status字段过滤",
"rule10": "用户输入了汇总,统计,分组等关键词,但未明确统计方式时候,默认使用count(*)进行汇总,注意group by必须和聚合函数成对出现,聚合查询后默认按照聚合的值从小到大排序",
"rule11": "如果用户输入的关键字有:VN,AU,IN,HK,PH,KR,ID,TW,MO,FJ,LK,MY,SG,NZ,TH,JP,BD,则视为国家字段的数值过滤条件,增加ship_to_country = '国家代码'",
"rule12": "MM/DD类似格式日期转换为 like '%-MM-DD%' ,DD等格式转换为 like '%-DD%'",
"rule13": "用户指定日期时,去掉data_flag = 'Newest'的过滤条件,如:查询2026年1月26的eta信息,则where子句中不包含data_flag = 'Newest',而是update_date = '2025-12-31'",
"rule14": "聚合查询中,如未使用group by进行分组,select中默认增加使用update_date字段"
"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"
},
"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"],
"service_fields": ["whether_premier", "stm_planner", "category", "lenovo_ref_no", "case_number", "key_lenovo_ref_no", "service_type"],
"service_fields": ["whether_premier", "stm_planner", "category", "lenovo_ref_no", "case_number", "key_lenovo_ref_no", "service_type", "owner"],
"status_fields": ["status", "status_date"],
"additional_fields": ["parts_sales", "warranty", "aging_day", "action", "aging_range", "recovery_day", "recovery_range", "order_type", "customer", "life_cycle", "hawb", "bol", "dn", "po", "prid"],
"system_filter_fields": ["is_passdue", "is_dummy", "data_flag"]
"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"]
}
},
"business_logic_rules": {
"soid_or_service_order_id": "禁止使用WHERE soid = 'xxx'或WHERE service_order_id = 'xxx'单独过滤,必须使用(service_order_id = 'xxx' or soid = 'xxx')进行过滤",
"sorting": "默认使用如下字段排序: soid, eta desc",
"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"
},
"alias_usage": "WHERE子句中支持使用字段别名进行查询,SELECT子句中使用原始字段名或别名均可",
"select_alias_rename_rule": "生成SQL时,若用户在问题中使用了字段别名/字段名表达(如 country、tp、topmost、owner_name 等),SELECT子句需按用户表述进行重命名:SELECT 原始字段 AS 用户字段名,并保持用户字段出现顺序",
"date_conversion": "所有日期字段必须使用cast(column as varchar(4096)) as column转为字符类型",
"default_filters": ["is_dummy = '0'", "data_flag = 'Newest'"],
"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'",
"null_handling": "日期字段转换时保留NULL值",
"model_query_rule": "查询model字段时必须使用like匹配,如: model like '%X13%'",
"field_extraction_rule": "使用正则表达式和关键词匹配提取用户明确提到的字段,建立字段别名映射表",
"field_order_rule": "用户提到的字段按问题中出现顺序排列在最前面,然后补充默认展示字段中未提及的字段",
"topmost_pn and part_number_distinction": "确保区分topmost_pn(tp,tm,topmost)和part_number(pn)字段,避免混淆",
"todays_date_handling": "当用户查询包含“今天”或“当前日期”的信息时,替换为系统当前日期进行过滤"
"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"
}
},
"field_mapping_reference": {
"critical_note": "此表包含最新状态数据和历史变更数据的联合,通过data_flag区分。最新数据(Newest)每条订单只有一条记录,历史数据(Changelog)每条订单有多条记录。所有日期字段在查询时自动转换为字符类型。请注意检查用户是否使用了字段的alias,不要忽略!!!系统字段(is_passdue, data_flag)仅用于WHERE过滤,不显示在SELECT结果中。用户提到的字段应优先显示在SELECT子句最前面。",
"critical_note": "此表包含最新状态数据和历史变更数据的联合,通过data_flag区分。最新数据(Newest)每条订单只有一条记录,历史数据(Changelog)每条订单有多条记录。所有日期字段在查询时自动转换为字符类型。请注意检查用户是否使用了字段的alias,不要忽略!!!系统字段(data_flag)仅用于WHERE过滤,不显示在SELECT结果中。用户提到的字段应优先显示在SELECT子句最前面。",
"critical_note1": {"type":"字段类型", "desc":"字段描述", "format": "数据格式", "query_format": "查询时数据格式" ,"example":"字段示例值", "values":"枚举值", "alias":"字段别名"},
"key_identifiers": {
"service_order_id": {
@@ -77,14 +123,14 @@
"alias": ["pn", "part", "parts", "物料号", "零件号", "Part Number", "材料号", "物料编码", "零件编码"]
}
},
"milestone_date_fields": {
"service_order_creation_date": {
"type": "datetime",
"desc": "开单日期",
"desc": "开单日期/开单时间,即这条记录的创建时间,即 Backlog Order 的创建/新增时间,即 BO 的创建/新增时间。业务含义:当前数据的 update_date 与 service_order_creation_date 相减即为该订单的存续时间(订单从创建到当前状态的时间跨度)",
"format": "YYYY-MM-DD HH:MM:SS",
"query_format": "作为字符串展示",
"alias": ["create_date", "创建时间", "下单时间", "开单日期", "SO创建时间", "开单时间", "Order Creation Date", "created_date", "创建日期"]
"alias": ["create_date", "创建时间", "create 时间", "开单日期", "SO创建时间", "开单时间", "Order Creation Date", "created_date", "创建日期", "存续时间", "订单时长", "BO创建时间", "BO新增时间", "Backlog Order创建时间", "Backlog Order新增时间", "记录创建时间", "记录新增时间"]
},
"eta": {
"type": "date",
@@ -115,19 +161,60 @@
"alias": ["更新时间", "更新日期", "历史数据状态更新日期", "修改时间"]
}
},
"additional_fields": {
"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", "责任人", "持有人"]
},
"topmost_pn": {
"type": "varchar(4096)",
"desc": "最紧缺物料号, 注意与pn区分, 这是topmost pn, 这是topmost pn, 这是topmost pn, 不是PN",
"example": "5CB1L57599",
"alias": ["tp","tm", "最紧缺物料号", "Topmost Part Number", "topmost", "topmost pn"]
"alias": ["tp", "tm", "TM", "TOPMOST", "Topmost", "Topmost Part Number", "topmost", "topmost pn", "TOPMOST PN", "topmost_pn", "top-most"]
},
"commodity_code": {
"type": "varchar(4096)",
"desc": "商品编码",
"example": "PL",
"alias": ["commodity", "商品代码", "编码", "cc", "物料分类", "Commodity Code", "商品类别", "物料类型", "商品编码"]
"alias": ["commodity", "商品代码", "CC", "cc", "物料分类", "Commodity Code", "商品类别", "物料类型", "商品编码"]
},
"ship_to_country": {
"type": "varchar(4096)",
@@ -167,7 +254,7 @@
},
"model": {
"type": "varchar(4096)",
"desc": "Lenovo的机型, 禁止使用model = 'model_name', 查询时必须转换为小写并使用like匹配,如: lower(model) like '%X13%'",
"desc": "Lenovo的机型, 禁止使用model = 'model_name', 查询时model_name必须转换为小写并使用like匹配,如: lower(model) like '%x13%'",
"example": ["Yoga 7 16IAH7", "X13 GEN3", "T16 Gen4 AMD", "Legion 7 16ACHg6"],
"alias": ["model", "机型", "型号", "Model", "设备型号", "机器型号"]
},
@@ -190,7 +277,7 @@
},
"whether_premier": {
"type": "varchar(4096)",
"desc": "优先级标识,默认查询 'Premier'",
"desc": "优先级标识,默认查询 'Premier'。当用户需要统计Premier订单数量时,使用 sum(if(whether_premier='Premier',1,0)) as premier_qty",
"values": ["Starndard", "Premier"],
"alias": ["premier", "优质服务", "是否优质", "是否Premier", "Premier服务", "是否优先", "Whether Premier", "优先服务标识", "VIP服务"]
},
@@ -210,9 +297,16 @@
"desc": "零件销售信息",
"alias": ["零件销售", "销售信息", "部件销售", "配件销售", "销售数据"]
},
"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"]
},
"warranty": {
"type": "varchar(4096)",
"desc": "保修信息",
"values": ["MDOA", "OPT", "CLW", "DOA", "FOC", "OOW", "OBL", "ADW"],
"alias": ["保修", "保修信息", "质保", "保修条款", "保修状态"]
},
"aging_day": {
@@ -239,12 +333,6 @@
"values": ["0-7D", "8-14D", "15-21D", "22-28D", "28D+", "null"],
"alias": ["账龄天数", "账龄", "recovery range", "账期分类", "账龄分类", "天数分类"]
},
"action": {
"type": "varchar(4096)",
"desc": "操作/规则",
"example": "Not accept sub",
"alias": ["sub_rule", "操作", "规则", "限制规则", "操作类型", "处理规则"]
},
"order_type":{
"type": "varchar(4096)",
"desc": "订单类型",
@@ -275,30 +363,40 @@
"type": "varchar(4096)",
"desc": "house air way bill",
"examples": ["DIM042186899"],
"alias": ["分运单号", "运单号", "代理运单", "分运单", "house air way bill"]
"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号码"]
}
},
"system_flag_fields": {
"is_passdue": {
"type": "varchar(64)",
"desc": "是否逾期:'1'表示逾期,'0'表示正常",
"business_rule": "根据用户要求过滤, 禁止出现在SELECT中",
"display_rule": "仅用于WHERE过滤,不显示",
"alias": ["passdue", "逾期标志", "是否逾期", "overdue", "超期标志", "逾期标识"]
},
"is_dummy": {
"type": "varchar(64)",
"desc": "是否为虚拟/测试数据:'1'表示是dummy数据,'0'表示真实数据",
"business_rule": "默认过滤掉dummy数据(is_dummy='0'),除非用户指定, 禁止出现在SELECT中",
"display_rule": "仅用于WHERE过滤,不显示",
"alias": ["dummy", "虚拟标志", "是否虚拟", "测试数据", "假数据标识", "模拟数据"]
},
"data_flag": {
"type": "varchar(64)",
"desc": "数据标志:'Newest'表示最新状态,'Changelog'表示历史变更",
"example": "Newest",
"business_rule": "默认查询最新状态(Newest),查询历史时使用Changelog, 禁止出现在SELECT中",
"business_rule": "默认查询最新状态(Newest),查询历史时使用Changelog, 禁止出现在SELECT中,where条件中出现update_date则不使用data_flag进行过滤",
"display_rule": "仅用于WHERE过滤,不显示",
"alias": ["数据标志", "数据类型", "数据状态", "记录类型", "数据分类"]
}
@@ -306,59 +404,84 @@
},
"examples": {
"newest_status_all_fields": {
"user": "请查询SO:4020986743的全部字段",
"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 = '4020986743' or soid = '4020986743') AND is_dummy = '0' AND data_flag = 'Newest' ORDER BY soid, eta DESC",
"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",
"field_selection_reason": "默认查询最新状态,按默认展示字段顺序显示所有字段(除系统字段),日期字段转换为字符类型"
},
"history_records_all_fields": {
"user": "查看2025年12月31的so为4020438779的历史变更记录",
"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' or soid = '4020438779') AND cast(update_date as varchar(4096)) like '%2025-12-31%' AND is_dummy = '0' AND data_flag = 'Changelog' ORDER BY soid, eta DESC",
"field_selection_reason": "查询历史变更记录,按默认展示字段顺序显示所有字段(除系统字段),日期字段转换为字符类型"
"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'的默认过滤条件"
},
"specific_fields_query": {
"user": "查询SO为4020438779的country, eta, order_type",
"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' or soid = '4020438779') AND is_dummy = '0' AND data_flag = 'Newest' ORDER BY soid, eta DESC",
"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",
"field_selection_reason": "用户提到的字段(ship_to_country, eta, order_type)优先显示在最前面,然后补充其他默认展示字段"
},
"aggragate_query": {
"user": "by country, key_Lenovo Ref No, eta 汇总REGION=CAP passdue 信息, 并从小到大排序",
"sql": "SELECT region, ship_to_country, key_lenovo_ref_no, cast(eta as varchar(4096)) as eta, count(1) FROM dwd_ai.apbo_eta_ful WHERE is_passdue = '1' AND is_dummy = '0' AND data_flag = 'Newest' AND region = 'CAP' group by region, ship_to_country, key_lenovo_ref_no, cast(eta as varchar(4096)) ORDER BY count(1) ASC",
"field_selection_reason": "查询特定账龄的订单,按默认展示字段顺序显示,日期字段转换为字符类型"
"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默认降序排序"
},
"overdue_orders_all_fields": {
"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 is_passdue = '1' AND is_dummy = '0' AND data_flag = 'Newest' ORDER BY soid, eta DESC",
"field_selection_reason": "查询逾期订单,按默认展示字段顺序显示,日期字段转换为字符类型"
"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"
},
"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"
},
"Machine_sn_query": {
"user": "SN PF4C8CBL的order 信息",
"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 is_dummy = '0' AND data_flag = 'Newest' ORDER BY soid, eta DESC",
"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",
"field_selection_reason": "用户提到的字段(machine_sn)优先显示在最前面,然后补充其他默认展示字段"
},
"status_query": {
"user": "查询状态为wrong order的订单",
"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 is_dummy = '0' AND data_flag = 'Newest' ORDER BY soid, eta DESC",
"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",
"field_selection_reason": "用户提到的字段(status)优先显示在最前面,然后补充其他默认展示字段"
},
"multiple_fields_query": {
"user": "查看SN为PF4C8CBL的订单状态和机器型号",
"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 is_dummy = '0' AND data_flag = 'Newest' ORDER BY soid, eta DESC",
"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",
"field_selection_reason": "用户提到的字段(machine_sn, status, model)按问题中出现的顺序优先显示在最前面,然后补充其他默认展示字段"
},
"model_query_all_fields": {
"user": "查询机型包含X13的订单",
"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 model like '%X13%' AND is_dummy = '0' AND data_flag = 'Newest' ORDER BY soid, eta DESC",
"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",
"field_selection_reason": "查询特定机型的订单,使用like匹配model字段,按默认展示字段顺序显示"
},
"order_type_query_all_fields": {
"user": "查询订单类型为MDOA的订单",
"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 is_dummy = '0' AND data_flag = 'Newest' ORDER BY soid, eta DESC",
"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",
"field_selection_reason": "查询特定订单类型的订单,按默认展示字段顺序显示"
},
"passdue_info_query": {
"user": "region = ANZ 的passdue 信息",
"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 is_passdue = '1' AND is_dummy = '0' AND data_flag = 'Newest' ORDER BY soid, eta DESC",
"field_selection_reason": "查询逾期订单的详细信息,按默认展示字段顺序显示"
"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"
}
}
}