| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 | const fs = require('fs');const turf = require('@turf/turf');const wkx = require('wkx');const Database = require('./db');const moment = require('moment');const uuid = require('uuid');const pool = new Database({    host: '192.168.100.30',    database: 'real3d',    user: 'postgres',    password: 'postgis',    port: 5432,});async function importFactor(inFilePath) {    // 连接到数据库,设置模式    await pool.connect();    await pool.setSchema('base');    try {        // 同步读取GeoJSON文件        const data = fs.readFileSync(inFilePath, 'utf8');        // 清空表 base.t_fzss_fzxz_factor        const deleteSql = `delete from t_fzss_fzxz_factor`;        await pool.query(deleteSql);        // 解析GeoJSON数据        const dataInfos = JSON.parse(data);        importItems(dataInfos, "");        console.log("插入因子成功")    } catch (err) {        console.error('操作GeoJSON文件时出错:', err);    }}async function importItems(insertItems, parentId) {    for (let index = 0; index < insertItems.length; index++) {        const element = insertItems[index];        //    生成uuid并且去掉下划线        const id = uuid.v4().replace(/-/g, "");        const insertObj = {            id: id,            bsm: element.bsm,            name: element.name,            level: element.level,            parent_id: parentId,            order_index: index,            status: 1,            condition_info: JSON.stringify(element.condition_info),        }        // 生成数据库的插入语句        const insertSql = `insert into t_fzss_fzxz_factor (id,bsm,name,level,parent_id,order_index,status,condition_info) values('${insertObj.id}','${insertObj.bsm}','${insertObj.name}',${insertObj.level},'${insertObj.parent_id}',${insertObj.order_index},${insertObj.status},'${insertObj.condition_info}')`;        console.log(insertSql);        const res = await pool.query(insertSql);        if (element.children && element.children.length > 0) {            await importItems(element.children, id);        }    }}importFactor("./data/schedule/factor_info.json")
 |