Open kirin-ri opened 4 days ago
if collection == "metrics_node" and PROJECT != "startpack":
# 假设 jsonLoad 是一个包含字典的列表
for item in jsonLoad:
for key, value in item.items():
if value == "INDUSTRIAL":
item[key] = "a"
{
"_key": "PARTSSTOCK_OUTOFSTOCK_MONTHLY",
"metrics_id": "PARTSSTOCK_OUTOFSTOCK_MONTHLY",
"disp_name": "部品在庫欠品:月次",
"provide": false,
"in_info": [
{
"db": "INDUSTRIAL_DNA_DB",
"schema": "DATASET_SCHEMA",
"table": "priprt_inventory",
"column": [
{
"logicalName": "工場_生産拠点",
"physicalName": "SUPPLIER_NAME",
"type": "文字列"
},
{
"logicalName": "一次部品_部品番号",
"physicalName": "PARTS_NO",
"type": "文字列"
},
{
"logicalName": "在庫確認日",
"physicalName": "STOCK_DATE",
"type": "日付"
},
{
"logicalName": "在庫数",
"physicalName": "STOCK_QTY",
"type": "数値"
}
]
},
{
"db": "INDUSTRIAL_DNA_DB",
"schema": "DATASET_SCHEMA",
"table": "components_master",
"column": [
{
"logicalName": "構成品目_子品目",
"physicalName": "COMPONENT",
"type": "文字列"
},
{
"logicalName": "品目コード_親品目",
"physicalName": "ITEM_CODE",
"type": "文字列"
},
{
"logicalName": "員数",
"physicalName": "PARTS_NUMBER",
"type": "数値"
}
]
},
{
"db": "INDUSTRIAL_DNA_DB",
"schema": "DATASET_SCHEMA",
"table": "fg_prd_m_plan",
"column": [
{
"logicalName": "工場_生産拠点",
"physicalName": "FACTORY_NAME",
"type": "文字列"
},
{
"logicalName": "完成品_生産機種型番",
"physicalName": "FINAL_PRODUCT",
"type": "文字列"
},
{
"logicalName": "生産日",
"physicalName": "PRODUCTION_DATE",
"type": "日付"
},
{
"logicalName": "生産数量",
"physicalName": "PRODUCTION_QTY",
"type": "数値"
}
]
},
if collection == "metrics_node" and PROJECT != "startpack":
# 遍历 JSON 数据并替换 'INDUSTRIAL' 为 'a'
def replace_industrial(data):
if isinstance(data, dict):
for key, value in data.items():
if isinstance(value, str) and 'INDUSTRIAL' in value:
data[key] = value.replace('INDUSTRIAL', 'a')
else:
replace_industrial(value)
elif isinstance(data, list):
for index, item in enumerate(data):
if isinstance(item, str) and 'INDUSTRIAL' in item:
data[index] = item.replace('INDUSTRIAL', 'a')
else:
replace_industrial(item)
# 调用递归函数替换所有 'INDUSTRIAL' 字符串
replace_industrial(jsonLoad)