| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109 | 
							- const BaseUtil = require('./baseUtils');
 
- const querySql = BaseUtil.querySql;
 
- const change_type = {
 
-     changeProject: {
 
-         table_name: 'zh_change_project',
 
-         audit_table_name: 'zh_change_project_audit',
 
-         tb_id: 'cpid',
 
-     },
 
-     changeApply: {
 
-         table_name: 'zh_change_apply',
 
-         audit_table_name: 'zh_change_apply_audit',
 
-         tb_id: 'caid',
 
-     },
 
-     changePlan: {
 
-         table_name: 'zh_change_plan',
 
-         audit_table_name: 'zh_change_plan_audit',
 
-         tb_id: 'cpid',
 
-     },
 
- };
 
- const errorChangeTimes = [];
 
- const updateChangeTimes = async function(change, times, type) {
 
-     const auditData = await querySql('SELECT * FROM ?? WHERE ' + change_type[type].tb_id + ' = ? AND times = ? ORDER BY `order`', [change_type[type].audit_table_name, change.id, times]);
 
-     if (auditData.length === 0) return;
 
-     const auditIds = [], filterIds = [];
 
-     for (const ad of auditData) {
 
-         if (ad.audit_order) {
 
-             if (filterIds.indexOf(ad.aid) < 0) filterIds.push(ad.aid);
 
-         } else {
 
-             const auditId = auditIds.find(x => { return x.aid === ad.aid; });
 
-             if (auditId) {
 
-                 auditId.ids.push(ad.id);
 
-             } else {
 
-                 auditIds.push({ aid: ad.aid, ids: [ad.id] });
 
-             }
 
-         }
 
-     }
 
-     if (auditIds.length === 0) return;
 
-     if (filterIds.length > 0 && auditIds.length > 0) {
 
-         const object = { tid: change.tid, times };
 
-         object[change_type[type].tb_id] = change.id;
 
-         errorChangeTimes.push(object);
 
-     }
 
-     for (const [i, aid] of auditIds.entries()) {
 
-         for (const id of aid.ids) {
 
-             await querySql('UPDATE ?? SET audit_order = ? WHERE id = ?', [change_type[type].audit_table_name, i + 1, id]);
 
-         }
 
-     }
 
- };
 
- const updateChange = async function(change, type) {
 
-     for (let i = 1; i <= change.times; i++) {
 
-         await updateChangeTimes(change, i, type);
 
-     }
 
- };
 
- const doCompleteTest = async function(id) {
 
-     try {
 
-         const tender = await querySql('Select * From zh_tender where id > ?', [id]);
 
-         for (const t of tender) {
 
-             console.log(`Update Tender ${t.name}(${t.id}):`);
 
-             for (const type in change_type) {
 
-                 const changes = await querySql('Select * From ?? where tid = ?', [change_type[type].table_name, t.id]);
 
-                 for (const c of changes) {
 
-                     await updateChange(c, type);
 
-                 }
 
-             }
 
-         }
 
-     } catch (err) {
 
-         console.log(err);
 
-     }
 
-     BaseUtil.closePool();
 
-     if (errorChangeTimes.length > 0) {
 
-         console.log('ERROR change info: ');
 
-         console.log(errorChangeTimes);
 
-     }
 
- };
 
- const doComplete = async function() {
 
-     try {
 
-         const tenders = await querySql('Select * From zh_tender');
 
-         for (const t of tenders) {
 
-             console.log(`Update Tender ${t.name}(${t.id}):`);
 
-             for (const type in change_type) {
 
-                 const changes = await querySql('Select * From ?? where tid = ?', [change_type[type].table_name, t.id]);
 
-                 for (const c of changes) {
 
-                     await updateChange(c, type);
 
-                 }
 
-             }
 
-         }
 
-     } catch (err) {
 
-         console.log(err);
 
-     }
 
-     BaseUtil.closePool();
 
-     if (errorChangeTimes.length > 0) {
 
-         console.log('ERROR change info: ');
 
-         console.log(errorChangeTimes);
 
-     }
 
- };
 
- const tenderId = process.argv[3];
 
- if (tenderId) {
 
-     doCompleteTest(tenderId);
 
- } else {
 
-     doComplete();
 
- }
 
 
  |