Kaynağa Gözat

1. 台账历史,脚本调整
2. 合同支付,编辑相关

MaiXinRong 3 yıl önce
ebeveyn
işleme
71d954120d
2 değiştirilmiş dosya ile 31 ekleme ve 11 silme
  1. 3 3
      app/public/js/stage_pay.js
  2. 28 8
      db_script/ledger_his.js

+ 3 - 3
app/public/js/stage_pay.js

@@ -645,8 +645,8 @@ $(document).ready(() => {
                 // 获取更新信息
                 const data = {
                     type: ['tp', 'name', 'postil'].indexOf(col.field) >= 0 ? 'stage' : 'info',
-                    updateData: { pid: select.pid }
                 };
+                data.updateData = data.type === 'stage' ? { pid: select.pid } : { id: select.pid };
                 // 获取更新数据
                 switch(col.field) {
                     case 'tp':
@@ -760,7 +760,7 @@ $(document).ready(() => {
                 for (let iRow = sel.row; iRow < sel.row + sel.rowCount; iRow++) {
                     const node = sheet.zh_data[iRow];
                     if (node && (node.ptype === 1 || node.ptype === 3 || col.field === 'postil')) {
-                        const updateData = { pid: node.pid };
+                        const updateData = data.type === 'stage' ? { pid: node.pid } : { id: node.pid };
                         switch (col.field) {
                             case 'tp':
                                 updateData.tp = null;
@@ -820,7 +820,7 @@ $(document).ready(() => {
                     const node = sortData[curRow];
                     if (node && (node.ptype === 1 || node.ptype === 3 || col.field === 'postil')) {
                         const validText = info.sheet.getText(curRow, info.cellRange.col).replace('\n', '');
-                        const updateData = { pid: node.pid };
+                        const updateData = data.type === 'stage' ? { pid: node.pid } : { id: node.pid };
                         switch (col.field) {
                             case 'tp':
                                 const [tpValid, tpMsg] = payBase.isSF(node)

+ 28 - 8
db_script/ledger_his.js

@@ -81,10 +81,9 @@ const saveReviseLedgerHis = async function (tender, revise) {
     const billsHis = revise.bills_file;
     const posHis = revise.pos_file;
 
-    const result = await querySql('Insert Into zh_ledger_history(pid, tid, in_time, bills_file, pos_file, rid, rorder) Values(?, ?, ?, ?, ?)',
+    const result = await querySql('Insert Into zh_ledger_history(pid, tid, in_time, bills_file, pos_file, rid, rorder) Values(?, ?, ?, ?, ?, ?, ?)',
         [tender.project_id, tender.id, now, billsHis, posHis, revise.id, revise.corder]);
 
-    console.log(result);
     if (!result) throw 'err';
     return result.insertId;
 };
@@ -92,15 +91,18 @@ const saveReviseLedgerHis = async function (tender, revise) {
 const doCompleteTender = async function(t) {
     const revise = await querySql('Select * From zh_ledger_revise where tid = ? order By in_time asc', [t.id]);
     if (revise.length > 0) {
-        let his_id;
+        let his_id, withoutHisRevise = [];
         for (const r of revise) {
             const preRevise = revise.find(x => { return x.status === audit.revise.status.checked && x.corder === r.corder - 1});
             if (preRevise) {
-                await querySql('Update zh_stage Set pre_his_id = ? Where id = ?', [preRevise.his_id, r.id]);
+                await querySql('Update zh_ledger_revise Set pre_his_id = ? Where id = ?', [preRevise.his_id, r.id]);
             }
             if (r.bills_file) {
-                r.his_id = saveReviseLedgerHis(t, r);
+                r.his_id = await saveReviseLedgerHis(t, r);
                 his_id = r.his_id;
+                await querySql('Update zh_ledger_revise Set his_id = ? Where id = ?', [his_id, r.id]);
+            } else {
+                if (r.status !== 1) withoutHisRevise.push(r);
             }
         }
         if (!his_id) his_id = await saveLedgerHis(t);
@@ -111,6 +113,9 @@ const doCompleteTender = async function(t) {
                 await querySql('Update zh_stage Set his_id = ? Where id = ?', [his_id, s.id]);
             }
         }
+        for (const r of withoutHisRevise) {
+            await querySql('Update zh_ledger_revise Set pre_his_id = ?, his_id = ? Where id = ?', [his_id, his_id, r.id]);
+        }
     } else {
         const ledgerHis = await saveLedgerHis(t);
         console.log(`saveLedgerHis: ${t.name}(${t.id})`);
@@ -137,14 +142,29 @@ const doComplete = async function() {
 };
 doComplete();
 
+// const doCompleteTender2 = async function(t) {
+//     const revise = await querySql('Select * From zh_ledger_revise where tid = ? order By in_time asc', [t.id]);
+//     if (revise.length > 0) {
+//         for (const r of revise) {
+//             const preRevise = revise.find(x => { return x.status === audit.revise.status.checked && x.corder === r.corder - 1});
+//             if (!preRevise && !r.pre_his_id) {
+//                 await querySql('Update zh_ledger_revise Set pre_his_id = ? Where id = ?', [r.his_id, r.id]);
+//             }
+//         }
+//     }
+// };
+//
 // const doCompeletTest = async function() {
 //     try {
-//         const t = await querySql('Select * From zh_tender where id = ?', [1003]);
-//         await doCompleteTender(t[0]);
+//         const tenders = await querySql('Select * From zh_tender where ledger_status <> ?', [audit.ledger.status.uncheck]);
+//         //const tenders = await querySql('Select * From zh_tender where id = ?', [3863]);
+//         for (const t of tenders) {
+//             await doCompleteTender2(t);
+//         }
 //     } catch (err) {
 //         console.log(err);
 //     }
 //     pool.end();
 // };
-// doCompeletTest();
+doCompeletTest();