Browse Source

分表相关

MaiXinRong 4 years ago
parent
commit
967ba72dbd

+ 2 - 1
app/base/base_bills_service.js

@@ -470,8 +470,9 @@ class BaseBillsSerivce extends TreeService {
 
 
     // 统计方法
     // 统计方法
     async addUp(condition) {
     async addUp(condition) {
+        if (!condition.tender_id) throw  new TypeError('统计计算缺少必要数据');
         const sql = 'SELECT Sum(total_price) As total_price, Sum(deal_tp) As deal_tp' +
         const sql = 'SELECT Sum(total_price) As total_price, Sum(deal_tp) As deal_tp' +
-            '  FROM ' + this.tableName + this.ctx.helper.whereSql(condition);
+            '  FROM ' + this.departTableName(condition.tender_id) + this.ctx.helper.whereSql(condition);
         const result = await this.db.queryOne(sql);
         const result = await this.db.queryOne(sql);
         return result;
         return result;
     }
     }

+ 2 - 2
app/base/base_service.js

@@ -47,12 +47,12 @@ class BaseService extends Service {
     get tableName() {
     get tableName() {
         if (this.depart <= 0) return this._table;
         if (this.depart <= 0) return this._table;
 
 
-        if (!this.ctx.tender) throw '获取数据表错误';
+        if (!this.ctx.tender) throw  new TypeError('统计计算缺少必要数据');
         return this._table + '_' + (this.ctx.tender.id % this.depart);
         return this._table + '_' + (this.ctx.tender.id % this.depart);
     }
     }
 
 
     departTableName(key) {
     departTableName(key) {
-        if (this.depart <= 0 || !key) throw '获取数据表错误';
+        if (this.depart <= 0 || !key) throw  new TypeError('统计计算缺少必要数据');
         return this._table + '_' + (key % this.depart);
         return this._table + '_' + (key % this.depart);
     }
     }
 
 

+ 5 - 0
app/controller/tender_controller.js

@@ -164,12 +164,14 @@ module.exports = app => {
                 };
                 };
                 await this.layout(view, renderData, modal);
                 await this.layout(view, renderData, modal);
             } catch (err) {
             } catch (err) {
+                console.log(err);
                 this.log(err);
                 this.log(err);
                 this.ctx.redirect('/dashboard');
                 this.ctx.redirect('/dashboard');
             }
             }
         }
         }
 
 
         async _list(view, renderData, modal = '', list_status = '') {
         async _list(view, renderData, modal = '', list_status = '') {
+            console.log(1);
             try {
             try {
                 renderData.tenderList = await this.ctx.service.tender.getList(list_status, renderData.userPermission);
                 renderData.tenderList = await this.ctx.service.tender.getList(list_status, renderData.userPermission);
 
 
@@ -229,6 +231,7 @@ module.exports = app => {
          * @return {void}
          * @return {void}
          */
          */
         async listInfo(ctx) {
         async listInfo(ctx) {
+            console.log('listInfo');
             this.jsFiles = this.app.jsFiles.tender.info;
             this.jsFiles = this.app.jsFiles.tender.info;
             await this._listDetail('tender/info.ejs', 'tender/modal.ejs');
             await this._listDetail('tender/info.ejs', 'tender/modal.ejs');
         }
         }
@@ -240,6 +243,7 @@ module.exports = app => {
          * @return {Promise<void>}
          * @return {Promise<void>}
          */
          */
         async listProgress(ctx) {
         async listProgress(ctx) {
+            console.log('listProgress');
             this.jsFiles = this.app.jsFiles.tender.progress;
             this.jsFiles = this.app.jsFiles.tender.progress;
             await this._listDetail('tender/progress.ejs', 'tender/modal.ejs');
             await this._listDetail('tender/progress.ejs', 'tender/modal.ejs');
         }
         }
@@ -251,6 +255,7 @@ module.exports = app => {
          * @return {Promise<void>}
          * @return {Promise<void>}
          */
          */
         async listManage(ctx) {
         async listManage(ctx) {
+            console.log('listManager');
             this.jsFiles = this.app.jsFiles.tender.manage;
             this.jsFiles = this.app.jsFiles.tender.manage;
             // 先判断权限
             // 先判断权限
             // 获取用户新建标段权利
             // 获取用户新建标段权利

+ 1 - 1
app/service/stage_bills_final.js

@@ -139,7 +139,7 @@ module.exports = app => {
         }
         }
 
 
         async getSumTotalPrice(tenderId, stageOrder) {
         async getSumTotalPrice(tenderId, stageOrder) {
-            const sql = 'SELECT Sum(`contract_tp`) As `contract_tp`, Sum(`qc_tp`) As `qc_tp` FROM ' + this.tableName +
+            const sql = 'SELECT Sum(`contract_tp`) As `contract_tp`, Sum(`qc_tp`) As `qc_tp` FROM ' + this.departTableName(tenderId) +
                 '  WHERE sorder = ? and tid = ?';
                 '  WHERE sorder = ? and tid = ?';
             const sqlParam = [stageOrder, tenderId];
             const sqlParam = [stageOrder, tenderId];
             const result = await this.db.queryOne(sql, sqlParam);
             const result = await this.db.queryOne(sql, sqlParam);