recover_ledger_his.js 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. const fs = require('fs');
  2. const path = require('path');
  3. const measureType = require('../app/const/tender').measureType;
  4. const mysql = require('mysql');
  5. const oss = require('ali-oss');
  6. const config = process.argv.splice(2)[0];
  7. if (['local', 'uat', 'default'].indexOf(config) < 0) throw `参数错误: ${config}`;
  8. const options = require(`../config/config.${config}`)({ baseDir: __dirname + '/app', root: __dirname, name: 'calc' });
  9. const pool = mysql.createPool(options.mysql.client);
  10. const ossOption = {
  11. bucket: options.oss.clients.his.bucket,
  12. accessKeyId: options.oss.default.accessKeyId,
  13. accessKeySecret: options.oss.default.accessKeySecret,
  14. endpoint: options.oss.default.endpoint,
  15. timeout: options.oss.default.timeout,
  16. };
  17. const ossClient = new oss(ossOption);
  18. const querySql = async function(sql, sqlParam) {
  19. return new Promise(function(resolve, reject) {
  20. pool.getConnection(function(err, conn) {
  21. if (err) {
  22. if (err) console.log(err);
  23. reject(err);
  24. } else {
  25. conn.query(sql, sqlParam, function(err, rows, fields) {
  26. if (err) console.log(err);
  27. // 释放连接
  28. conn.release();
  29. // 传递Promise回调对象
  30. resolve(rows);
  31. });
  32. }
  33. });
  34. });
  35. };
  36. const getTableName = function(tender, table) {
  37. switch(table) {
  38. case 'ledger': return 'zh_ledger_' + (tender.id % 10);
  39. case 'pos': return 'zh_pos_' + (tender.id % 20);
  40. case 'revise_bills': return 'zh_revise_bills_' + (tender.id % 10);
  41. case 'revise_pos': return 'zh_revise_pos_' + (tender.id % 20);
  42. }
  43. };