CODE
1 year ago
12 changed files with 1354 additions and 1190 deletions
@ -0,0 +1,17 @@ |
|||||
|
{ |
||||
|
// 使用 IntelliSense 了解相关属性。 |
||||
|
// 悬停以查看现有属性的描述。 |
||||
|
// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387 |
||||
|
"version": "0.2.0", |
||||
|
"configurations": [ |
||||
|
{ |
||||
|
"type": "node", |
||||
|
"request": "launch", |
||||
|
"name": "启动程序", |
||||
|
"skipFiles": [ |
||||
|
"<node_internals>/**" |
||||
|
], |
||||
|
"program": "${workspaceFolder}\\index.js" |
||||
|
} |
||||
|
] |
||||
|
} |
@ -0,0 +1,11 @@ |
|||||
|
FROM repository.anxinyun.cn/base-images/nodejs12:20.10.12.2 |
||||
|
|
||||
|
COPY . /var/app |
||||
|
|
||||
|
WORKDIR /var/app |
||||
|
|
||||
|
RUN npm cache clean -f |
||||
|
RUN rm -rf package-lock.json |
||||
|
RUN npm install --registry http://10.8.30.22:7000 |
||||
|
|
||||
|
CMD ["node", "index.js"] |
@ -0,0 +1,7 @@ |
|||||
|
FROM repository.anxinyun.cn/base-images/nodejs12:20.10.12.2 |
||||
|
COPY ./scripts/1.3.1/data/1_insert_report_data /var/app |
||||
|
WORKDIR /var/app |
||||
|
RUN npm cache clean -f |
||||
|
RUN rm -rf package-lock.json |
||||
|
RUN npm install --registry https://nexus.ngaiot.com/repository/fs-npm/ |
||||
|
CMD ["node", "index.js"] |
Binary file not shown.
@ -0,0 +1,58 @@ |
|||||
|
try { |
||||
|
const { Pool, Client } = require('pg') |
||||
|
const XLSX = require('xlsx') |
||||
|
const path = require('path') |
||||
|
const fs = require("fs"); |
||||
|
|
||||
|
// 测试环境
|
||||
|
const pool = new Pool({ |
||||
|
user: 'postgres', |
||||
|
host: '10.8.30.32', |
||||
|
database: 'highways4good', |
||||
|
password: '123', |
||||
|
port: 5432, |
||||
|
}) |
||||
|
|
||||
|
const fun = async () => { |
||||
|
// note: we don't try/catch this because if connecting throws an exception
|
||||
|
// we don't need to dispose of the client (it will be undefined)
|
||||
|
const client = await pool.connect() |
||||
|
try { |
||||
|
await client.query('BEGIN') |
||||
|
console.log(`开始`); |
||||
|
|
||||
|
// 读取数据文件
|
||||
|
let workbook = XLSX.readFile(path.join(__dirname, './data/乡道(新)(1).xlsx')); |
||||
|
let firstSheetName = workbook.SheetNames[0]; |
||||
|
let worksheet = workbook.Sheets[firstSheetName]; |
||||
|
let res = XLSX.utils.sheet_to_json(worksheet, { |
||||
|
defval: '' |
||||
|
}); |
||||
|
|
||||
|
for (let r of res) { |
||||
|
console.log(r); |
||||
|
fs.writeFileSync('AnswerOld.sql', `;\n`, 'utf-8'); |
||||
|
// let time = generateRandomTimeString()
|
||||
|
// console.log(time);
|
||||
|
// await client.query(
|
||||
|
// `INSERT INTO report (report_type, project_type, road, time,content,user_id) VALUES($1, $2, $3, $4, $5, $6) `,
|
||||
|
// ['conserve', 'road', r['养护道路'], time, r['养护内容'], userId])
|
||||
|
// // break
|
||||
|
} |
||||
|
|
||||
|
// await client.query('ROLLBACK')
|
||||
|
await client.query('COMMIT') |
||||
|
console.log('执行完毕~') |
||||
|
} catch (e) { |
||||
|
await client.query('ROLLBACK') |
||||
|
console.log('执行错误~') |
||||
|
throw e |
||||
|
} finally { |
||||
|
client.release(); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
fun() |
||||
|
} catch (error) { |
||||
|
console.error(error) |
||||
|
} |
@ -0,0 +1,17 @@ |
|||||
|
{ |
||||
|
"name": "appkey-generator", |
||||
|
"version": "1.0.0", |
||||
|
"description": "tool", |
||||
|
"main": "index.js", |
||||
|
"scripts": { |
||||
|
"test": "mocha", |
||||
|
"start": "set NODE_ENV=development&&node index" |
||||
|
}, |
||||
|
"author": "liu", |
||||
|
"license": "ISC", |
||||
|
"dependencies": { |
||||
|
"crypto-js": "^4.1.1", |
||||
|
"pg": "^7.18.2", |
||||
|
"xlsx": "^0.17.1" |
||||
|
} |
||||
|
} |
@ -0,0 +1,9 @@ |
|||||
|
alter table road |
||||
|
add del bool default false; |
||||
|
|
||||
|
alter table road |
||||
|
add spot bool default true; |
||||
|
|
||||
|
comment on column road.del is '标志道路是否被删除'; |
||||
|
|
||||
|
comment on column road.spot is '是否应该在抽查中被抽取'; |
Loading…
Reference in new issue