|
@@ -1,7 +1,12 @@
|
|
const fs = require('fs');
|
|
const fs = require('fs');
|
|
const path = require('path');
|
|
const path = require('path');
|
|
-
|
|
|
|
-const measureType = require('../app/const/tender').measureType;
|
|
|
|
|
|
+var util = require('util');
|
|
|
|
+var logPath = path.join(__dirname, 'recover_ledger_his.log');
|
|
|
|
+var logFile = fs.createWriteStream(logPath, { flags: 'a' });
|
|
|
|
+console.log = function() {
|
|
|
|
+ logFile.write(util.format.apply(null, arguments) + '\n');
|
|
|
|
+ process.stdout.write(util.format.apply(null, arguments) + '\n');
|
|
|
|
+};
|
|
|
|
|
|
const mysql = require('mysql');
|
|
const mysql = require('mysql');
|
|
const oss = require('ali-oss');
|
|
const oss = require('ali-oss');
|
|
@@ -38,11 +43,35 @@ const querySql = async function(sql, sqlParam) {
|
|
});
|
|
});
|
|
};
|
|
};
|
|
|
|
|
|
-const getTableName = function(tender, table) {
|
|
|
|
- switch(table) {
|
|
|
|
- case 'ledger': return 'zh_ledger_' + (tender.id % 10);
|
|
|
|
- case 'pos': return 'zh_pos_' + (tender.id % 20);
|
|
|
|
- case 'revise_bills': return 'zh_revise_bills_' + (tender.id % 10);
|
|
|
|
- case 'revise_pos': return 'zh_revise_pos_' + (tender.id % 20);
|
|
|
|
|
|
+const recoverLedgerHis = async function (id, countField, url) {
|
|
|
|
+ let File;
|
|
|
|
+ try {
|
|
|
|
+ File = await ossClient.get('undefined' + url);
|
|
|
|
+ } catch(err) {
|
|
|
|
+ if (err.status === 404) return;
|
|
|
|
+ }
|
|
|
|
+ if (File.res.status !== 200) {
|
|
|
|
+ await ossClient.put(options.hisOssPath + url, File.content);
|
|
|
|
+ // const result = JSON.parse(File.content);
|
|
|
|
+ // await querySql(`Update zh_ledger_history Set ${countField} = ? Where id = ?`, [result.length, l.id]);
|
|
|
|
+ // console.log(`LedgerHis: ${countField}-${result.length}`);
|
|
}
|
|
}
|
|
-};
|
|
|
|
|
|
+};
|
|
|
|
+
|
|
|
|
+const checkLedgerHis = async function (his) {
|
|
|
|
+ await recoverLedgerHis(his.id, 'bills_count', his.bills_file);
|
|
|
|
+ await recoverLedgerHis(his.id, 'pos_count', his.pos_file);
|
|
|
|
+};
|
|
|
|
+
|
|
|
|
+const doComplete = async function() {
|
|
|
|
+ try {
|
|
|
|
+ const ledgerHis = await querySql('Select * From zh_ledger_history where tid = 5709');
|
|
|
|
+ for (const l of ledgerHis) {
|
|
|
|
+ await checkLedgerHis(l);
|
|
|
|
+ }
|
|
|
|
+ } catch (err) {
|
|
|
|
+ console.log(err);
|
|
|
|
+ }
|
|
|
|
+ pool.end();
|
|
|
|
+};
|
|
|
|
+doComplete();
|