Prechádzať zdrojové kódy

新增标段指标处理

TonyKang 5 rokov pred
rodič
commit
897ba95dc1

+ 1 - 1
app/service/report.js

@@ -43,7 +43,7 @@ module.exports = app => {
                             runnableKey.push(filter);
                             break;
                         case 'tender_info' :
-                            runnableRst.push(service.tenderInfo.getTenderInfo(params.tender_id));
+                            runnableRst.push(service.tenderInfo.getTenderInfoEx(params.tender_id));
                             runnableKey.push(filter);
                             break;
                         case 'deal_bills' :

+ 12 - 2
app/service/role_rpt_rel.js

@@ -34,13 +34,19 @@ module.exports = app => {
             return list;
         }
 
-        async getRoleRptRelByTenderId(tenderId) {
+        async getRoleRptRelByTenderId(tenderId, stageId) {
             this.initSqlBuilder();
             this.sqlBuilder.setAndWhere('tender_id', {
                 value: tenderId,
                 operate: '=',
             });
-            this.sqlBuilder.columns = ['id', 'tender_id', 'rpt_id', 'rel_content'];
+            if (stageId) {
+                this.sqlBuilder.setAndWhere('sid', {
+                    value: stageId,
+                    operate: '=',
+                });
+            }
+            this.sqlBuilder.columns = ['id', 'tender_id', 'rpt_id', 'sid', 'rel_content'];
             const [sql, sqlParam] = this.sqlBuilder.build(this.tableName);
             const list = await this.db.query(sql, sqlParam);
             return list;
@@ -93,6 +99,10 @@ module.exports = app => {
             return rst;
         }
 
+        async addInitialStageData(tender_id, stage, preStage) {
+            // 在加stage的时候需要挂上这个,copy之前的签名人
+        }
+
         async updateRoleRelationship(id, tender_id, rpt_id, sid, relArr) {
             let rst = null;
             if (id < 0) {

+ 24 - 0
app/service/tender_info.js

@@ -80,6 +80,30 @@ module.exports = app => {
         }
 
         /**
+         * 获取标段相关信息(报表用)
+         * @param tenderId
+         * @returns {Promise<void>}
+         */
+        async getTenderInfoEx(tenderId) {
+            const sql = 'select t2.name, t1.* from zh_tender_info t1 inner join zh_tender t2 on t2.id = t1.tid where t1.tid = ?';
+            console.log('getTenderInfoEx: ' + tenderId);
+            const sqlParam = [tenderId];
+            const list = await this.db.query(sql, sqlParam);
+            const info = list[0];
+            for (const pi of parseInfo) {
+                info[pi] = !info[pi] || info[pi] === '' ? defaultInfo[pi] : JSON.parse(info[pi]);
+                this.ctx.helper._.defaults(info[pi], defaultInfo[pi]);
+            }
+            for (const ai of arrayInfo) {
+                info[ai] = !info[ai] || info[ai] === '' ? defaultInfo[ai] : JSON.parse(info[ai]);
+            }
+            if (info.decimal) {
+                info.decimal._pay_tp = info.decimal.pay ? info.decimal.payTp : info.decimal.tp;
+            }
+            return info;
+        }
+
+        /**
          * 保存标段相关信息
          *
          * @param data