12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- 'use strict';
- /**
- *
- *
- * @author Mai
- * @date
- * @version
- */
- const mysql = require('mysql');
- const config = process.argv.splice(2)[0];
- if (['local', 'uat', 'default'].indexOf(config) < 0) throw `参数错误: ${config}`;
- const options = require(`../config/config.${config}`)({ baseDir: __dirname + '/app', root: __dirname, name: 'calc' });
- const pool = mysql.createPool(options.mysql.client);
- const querySql = async function(sql, sqlParam) {
- return new Promise(function(resolve, reject) {
- pool.getConnection(function(err, conn) {
- if (err) {
- if (err) console.log(err);
- reject(err);
- } else {
- conn.query(sql, sqlParam, function(err, rows, fields) {
- if (err) console.log(err);
- // 释放连接
- conn.release();
- // 传递Promise回调对象
- resolve(rows);
- });
- }
- });
- });
- };
- const doCompleteProject = async function(p) {
- const fun_rela = p.fun_rela ? JSON.parse(p.fun_rela) : {};
- fun_rela.minusNoValue = false;
- await querySql(`Update zh_project Set fun_rela = '${JSON.stringify(fun_rela)}' Where id = ${p.id}`);
- };
- const doCompleteTender = async function(t) {
- const info = await querySql('Select * From zh_tender_info Where tid = ?', [t.id]);
- if (info.length > 0) {
- const fun_rela = t.fun_rela ? JSON.parse(t.fun_rela) : {};
- fun_rela.stage_chagne = { minusNoValue: false };
- await querySql(`Update zh_tender_info Set fun_rela = '${JSON.stringify(fun_rela)}' Where tid = ${t.id}`);
- } else {
- const fun_rela = { stage_change: { minusNoValue: false } };
- await querySql(`Insert Into zh_tender_info (pid, tid, fun_rela) Values(${t.project_id}, ${t.id}, '${JSON.stringify(fun_rela)}')`);
- }
- };
- const doComplete = async function() {
- try {
- const project = await querySql('Select * From zh_project');
- for (const p of project) {
- await doCompleteProject(p);
- }
- const tenders = await querySql('Select * From zh_tender');
- for (const t of tenders) {
- await doCompleteTender(t);
- }
- } catch (err) {
- console.log(err);
- }
- pool.end();
- };
- doComplete();
|