MaiXinRong 2 settimane fa
parent
commit
91129b97ba

+ 6 - 0
app/base/base_bills_service.js

@@ -614,6 +614,12 @@ class BaseBillsSerivce extends TreeService {
         await this.db.query(sql, sqlParam);
     }
 
+    async sgfh2deal(tid) {
+        const sql = 'UPDATE ' + this.tableName + ' SET deal_qty = sgfh_qty, deal_tp = sgfh_tp WHERE tender_id = ?';
+        const sqlParam = [tid];
+        await this.db.query(sql, sqlParam);
+    }
+
     _calcExpr(data, field, expr, defaultValue, precision) {
         if (expr) {
             try {

+ 14 - 0
app/controller/ledger_controller.js

@@ -655,6 +655,20 @@ module.exports = app => {
                 ctx.body = { err: 1, msg: err.toString(), data: null };
             }
         }
+        async sgfh2deal(ctx) {
+            try {
+                if (!ctx.tender.data) throw '标段数据错误';
+                if (ctx.tender.data.user_id !== ctx.session.sessionUser.accountId || this._ledgerReadOnly()) throw '您无权进行该操作';
+                if (this.ctx.tender.measure_type === measureType.tz.value) throw '该功能仅工程量清单模式可用';
+
+                await this.ctx.service.ledger.sgfh2deal(ctx.tender.id);
+                const ledgerData = await ctx.service.ledger.getData(ctx.tender.id);
+                ctx.body = { err: 0, msg: '', data: { bills: ledgerData } };
+            } catch (err) {
+                this.log(err);
+                ctx.body = { err: 1, msg: err.toString(), data: null };
+            }
+        }
 
         /**
          * 下载(清单Excel模板 or 导出项目台账Excel)

+ 12 - 0
app/controller/revise_controller.js

@@ -709,6 +709,18 @@ module.exports = app => {
                 ctx.body = { err: 1, msg: err.toString(), data: null };
             }
         }
+        async sgfh2deal(ctx) {
+            try {
+                if (this.ctx.tender.measure_type === measureType.tz.value) throw '该功能仅工程量清单模式可用';
+
+                await this.ctx.service.reviseBills.sgfh2deal(ctx.tender.id);
+                const ledgerData = await ctx.service.reviseBills.getData(ctx.tender.id);
+                ctx.body = { err: 0, msg: '', data: { bills: ledgerData } };
+            } catch (err) {
+                this.log(err);
+                ctx.body = { err: 1, msg: err.toString(), data: null };
+            }
+        }
 
         /**
          * 新增审批人(Ajax)

+ 11 - 0
app/public/js/ledger.js

@@ -1653,6 +1653,17 @@ $(document).ready(function() {
                     });
                 }
             };
+            billsContextMenuOptions.items.applySgfh2Deal = {
+                name: '填签约量',
+                icon: 'fa-pencil',
+                callback: function (key, opt) {
+                    postData(window.location.pathname + '/sgfh2deal', null, function (result) {
+                        ledgerTree.loadDatas(result.bills);
+                        treeCalc.calculateAll(ledgerTree);
+                        SpreadJsObj.loadSheetData(ledgerSpread.getActiveSheet(), 'tree', ledgerTree);
+                    });
+                }
+            };
         }
         billsContextMenuOptions.items.sprSort = '----';
     }

+ 11 - 0
app/public/js/revise.js

@@ -1444,6 +1444,17 @@ $(document).ready(() => {
                     });
                 }
             };
+            billsContextMenuOptions.items.applySgfh2Deal = {
+                name: '填签约量',
+                icon: 'fa-pencil',
+                callback: function (key, opt) {
+                    postData(window.location.pathname + '/sgfh2deal', null, function (result) {
+                        billsTree.loadDatas(result.bills);
+                        treeCalc.calculateAll(billsTree);
+                        SpreadJsObj.loadSheetData(billsSheet, 'tree', billsTree);
+                    });
+                }
+            };
             billsContextMenuOptions.items.sprSort = '----';
         }
     }

+ 1 - 0
app/router.js

@@ -517,6 +517,7 @@ module.exports = app => {
     app.post('/tender/:id/pos/update', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, 'ledgerController.posUpdate');
     app.post('/tender/:id/pos/paste', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, 'ledgerController.posPaste');
     app.post('/tender/:id/ledger/deal2sgfh', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, 'ledgerController.deal2sgfh');
+    app.post('/tender/:id/ledger/sgfh2deal', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, 'ledgerController.sgfh2deal');
     app.post('/tender/:id/ledger/check', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, 'ledgerController.check');
     app.post('/tender/:id/measure/ledger/auditors', sessionAuth, tenderCheck, subProjectCheck, uncheckTenderCheck, 'ledgerController.ledgerAuditors');
 

+ 1 - 1
app/view/tender/detail_modal.ejs

@@ -1463,7 +1463,7 @@
             sheet.setText(0, 0, '签约合同价');
             sheet.setText(1, 0, '暂列金额');
             sheet.setText(2, 0, '计日工');
-            sheet.setText(3, 0, '签约合同价(不含暂列金)');
+            sheet.setText(3, 0, '签约合同价(不含暂列金、计日工)');
             sheet.setText(4, 0, '签约开工预付款');
             sheet.setText(5, 0, '签约材料预付款');
             sheet.setText(6, 0, '安全生产费');