kirin-ri / memo

0 stars 0 forks source link

wwww #32

Open kirin-ri opened 4 days ago

kirin-ri commented 4 days ago
collections = ['api_node', 'metrics_node',
               'api_reference_edge', 'metrics_relation_edge']

for collection in collections:
    jsonOpen = open(f'{path}{filePath}graphdata/{collection}.json', 'r')
    jsonLoad = json.load(jsonOpen)
    if collection == "metrics_node":
        if PROJECT == "startpack":

    insertDocuments(collection=collection,
                    data=jsonLoad, database=arangoDb)
kirin-ri commented 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"
kirin-ri commented 4 days ago
  {
    "_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": "数値"
          }
        ]
      },
kirin-ri commented 4 days ago
    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)