Browse Source

Task #3104 计量台账,计量单元,新增“实际完成数量”、“预计变更数量”两列

MaiXinRong 5 years ago
parent
commit
9a492084cd

+ 8 - 1
app/const/spread.js

@@ -12,6 +12,7 @@ const tzWithoutCols = ['deal_qty', 'deal_tp'];
 const dgnCols = ['dgn_qty1', 'dgn_qty2', 'dgn_price'];
 const clCols = ['sjcl_qty', 'sjcl_tp', 'qtcl_qty', 'qtcl_tp', 'quantity', 'total_price'];
 const stageDgnCols = ['deal_dgn_qty1', 'deal_dgn_qty2', 'c_dgn_qty1', 'c_dgn_qty2', 'final_dgn_price'];
+const realCompleteCols = ['real_qty', 'estimate_qty'];
 
 const withCl = {
     ledger: {
@@ -205,6 +206,8 @@ const stageTz = {
             {title: '计量单元', colSpan: '1', rowSpan: '2', field: 'name', hAlign: 0, width: 180, formatter: '@', readOnly: true},
             {title: '位置', colSpan: '1', rowSpan: '2', field: 'position', hAlign: 0, width: 60, formatter: '@', readOnly: true},
             {title: '台账数量', colSpan: '1', rowSpan: '2', field: 'quantity', hAlign: 2, width: 60, formatter: '@', readOnly: true},
+            {title: '实际到场数量', colSpan: '1', rowSpan: '2', field: 'real_qty', hAlign: 2, width: 60, type: 'Number'},
+            {title: '预计变更数量', colSpan: '1', rowSpan: '2', field: 'estimate_qty', hAlign: 2, width: 60, type: 'Number', readOnly: true},
             {title: '本期计量|合同', colSpan: '3|1', rowSpan: '1|1', field: 'contract_qty', hAlign: 2, width: 60, type: 'Number'},
             {title: '|数量变更', colSpan: '|1', rowSpan: '|1', field: 'qc_qty', hAlign: 2, width: 80, type: 'Number'},
             {title: '|完成', colSpan: '|1', rowSpan: '|1', field: 'gather_qty', hAlign: 2, width: 60, type: 'Number', readOnly: true},
@@ -274,6 +277,8 @@ const stageCl = {
             {title: '|设计错漏增减', colSpan: '1', rowSpan: '|1', field: 'sjcl_qty', hAlign: 2, width: 60, type: 'Number'},
             {title: '|其他错漏增减', colSpan: '1', rowSpan: '|1', field: 'qtcl_qty', hAlign: 2, width: 60, type: 'Number'},
             {title: '|小计', colSpan: '1', rowSpan: '|1', field: 'quantity', hAlign: 2, width: 60, readOnly: true},
+            {title: '实际到场数量', colSpan: '1', rowSpan: '2', field: 'real_qty', hAlign: 2, width: 60, type: 'Number'},
+            {title: '预计变更数量', colSpan: '1', rowSpan: '2', field: 'estimate_qty', hAlign: 2, width: 60, type: 'Number', readOnly: true},
             {title: '本期计量|合同', colSpan: '3|1', rowSpan: '1|1', field: 'contract_qty', hAlign: 2, width: 60, type: 'Number'},
             {title: '|数量变更', colSpan: '|1', rowSpan: '|1', field: 'qc_qty', hAlign: 2, width: 80, type: 'Number'},
             {title: '|完成', colSpan: '|1', rowSpan: '|1', field: 'gather_qty', hAlign: 2, width: 60, type: 'Number', readOnly: true},
@@ -340,6 +345,8 @@ const stageNoCl = {
             {title: '计量单元', colSpan: '1', rowSpan: '2', field: 'name', hAlign: 0, width: 180, formatter: '@'},
             {title: '位置', colSpan: '1', rowSpan: '2', field: 'position', hAlign: 0, width: 60, formatter: '@'},
             {title: '设计量', colSpan: '1', rowSpan: '2', field: 'sgfh_qty', hAlign: 2, width: 60, type: 'Number'},
+            {title: '实际到场数量', colSpan: '1', rowSpan: '2', field: 'real_qty', hAlign: 2, width: 60, type: 'Number'},
+            {title: '预计变更数量', colSpan: '1', rowSpan: '2', field: 'estimate_qty', hAlign: 2, width: 60, type: 'Number', readOnly: true},
             {title: '本期计量|合同', colSpan: '3|1', rowSpan: '1|1', field: 'contract_qty', hAlign: 2, width: 60, type: 'Number'},
             {title: '|数量变更', colSpan: '|1', rowSpan: '|1', field: 'qc_qty', hAlign: 2, width: 80, type: 'Number'},
             {title: '|完成', colSpan: '|1', rowSpan: '|1', field: 'gather_qty', hAlign: 2, width: 60, type: 'Number', readOnly: true},
@@ -534,7 +541,7 @@ module.exports = {
     stageNoCl,
     stageGather,
     stageCompare,
-    filterCols: { tzWithoutCols, dgnCols, clCols, stageDgnCols},
+    filterCols: { tzWithoutCols, dgnCols, clCols, stageDgnCols, realCompleteCols},
     measure,
     blank,
 };

+ 3 - 25
app/controller/stage_controller.js

@@ -101,6 +101,9 @@ module.exports = app => {
                 removeFieldCols(ledger, spreadConst.filterCols.stageDgnCols);
             }
             const pos = JSON.parse(JSON.stringify(stageSetting.pos));
+            if (!tender.info.display.stage.realComplete) {
+                removeFieldCols(pos, spreadConst.filterCols.realCompleteCols);
+            }
             if (this.ctx.stage.readOnly || this.ctx.stage.revising) {
                 ledger.readOnly = true;
                 pos.readOnly = true;
@@ -151,36 +154,11 @@ module.exports = app => {
                 const renderData = await this._getDefaultRenderData(ctx);
                 [renderData.ledgerSpread, renderData.posSpread] = this._getSpreadSetting();
                 renderData.changeConst = changeConst;
-                // renderData.ledgerData = await ctx.service.ledger.getData(ctx.tender.id);
-                // const dgnData = await ctx.service.stageBillsDgn.getDgnData(ctx.tender.id);
-                // for (const d of dgnData) {
-                //     const l = ctx.app._.find(renderData.ledgerData, {id: d.id});
-                //     ctx.app._.assignIn(l, d);
-                // }
-                // let curStageData, preStageData;
-                // // 当前操作人查看最新数据,其他人查看历史数据
-                // if (ctx.stage.readOnly) {
-                //     curStageData = await ctx.service.stageBills.getAuditorStageData(ctx.tender.id, ctx.stage.id, ctx.stage.curTimes, ctx.stage.curOrder);
-                // } else {
-                //     curStageData = await ctx.service.stageBills.getLastestStageData(ctx.tender.id, ctx.stage.id);
-                // }
-                // // 查询截止上期数据
-                // if (ctx.stage.order > 1) {
-                //     preStageData = await ctx.service.stageBillsFinal.getFinalData(ctx.tender.data, ctx.stage.order - 1);
-                //     //renderData.preStageData = await ctx.service.stageBills.getEndStageData(ctx.tender.id, ctx.stage.order - 1);
-                // } else {
-                //     preStageData = [];
-                // }
-                // this.ctx.helper.assignRelaData(renderData.ledgerData, [
-                //     {data: curStageData, fields: ['contract_qty', 'contract_tp', 'qc_qty', 'qc_tp', 'postil'], prefix: '', relaId: 'lid',},
-                //     {data: preStageData, fields: ['contract_qty', 'contract_tp', 'qc_qty', 'qc_tp'], prefix: 'pre_', relaId: 'lid',}
-                // ]);
                 renderData.jsFiles = this.app.jsFiles.common.concat(this.app.jsFiles.stage.index);
                 renderData.whiteList = this.ctx.app.config.multipart.whitelist;
                 renderData.imType = tenderConst.imType;
                 // 获取附件列表
                 const attData = await ctx.service.stageAtt.getDataByTenderIdAndStageId(ctx.tender.id, ctx.params.order);
-                console.log(attData);
                 for (const index in attData) {
                     attData[index].in_time = moment(attData[index].in_time * 1000).format('YYYY-MM-DD');
                 }

+ 8 - 0
app/public/js/path_tree.js

@@ -83,6 +83,14 @@ class PosData {
                 resort.push(masterKey);
             }
         }
+        if (this.setting.calcFun) {
+            for (const u of result.update) {
+                this.setting.calcFun(u);
+            }
+            for (const c of result.create) {
+                this.setting.calcFun(c);
+            }
+        }
         for (const s of resort) {
             this.resortLedgerPos(this.ledgerPos[s]);
         }

+ 3 - 1
app/public/js/stage.js

@@ -179,6 +179,7 @@ $(document).ready(() => {
         pos.end_gather_qty = ZhCalc.add(pos.pre_gather_qty, pos.gather_qty);
         pos.sum = ZhCalc.add(pos.end_qc_qty, pos.quantity);
         pos.end_gather_percent = ZhCalc.mul(ZhCalc.div(pos.end_gather_qty, pos.sum), 100, 2);
+        pos.estimate_qty = ZhCalc.sub(ZhCalc.sub(pos.real_qty, pos.quantity), pos.end_qc_qty);
     };
     const stagePos = new StagePosData(stagePosSetting);
 
@@ -1253,7 +1254,7 @@ $(document).ready(() => {
                 const range = info.cellRange;
                 const validField = ['contract_qty', 'qc_qty', 'postil'];
                 if (!checkTzMeasureType()) {
-                    validField.push('name', 'sgfh_qty', 'sjcl_qty', 'qtcl_qty', 'position', 'drawing_code');
+                    validField.push('name', 'sgfh_qty', 'sjcl_qty', 'qtcl_qty', 'real_qty', 'position', 'drawing_code');
                 }
                 for (let iCol = range.col; iCol < range.col + range.colCount; iCol++) {
                     const col = info.sheet.zh_setting.cols[iCol];
@@ -1468,6 +1469,7 @@ $(document).ready(() => {
         },
         selectionChanged: function (e, info) {
             stagePosSpreadObj.loadExprToInput(info.sheet);
+            console.log(SpreadJsObj.getSelectObject(info.sheet));
         },
         addPegs: function (pegs) {
             if (!pegs || pegs.length <= 0) return;

+ 3 - 3
app/service/pos.js

@@ -26,7 +26,7 @@ module.exports = app => {
             return await this.db.select(this.tableName, {
                 where: condition,
                 columns: ['id', 'tid', 'lid', 'name', 'quantity', 'position', 'drawing_code', 'sgfh_qty', 'sjcl_qty',
-                    'qtcl_qty', 'in_time', 'porder', 'add_stage', 'sgfh_expr', 'sjcl_expr', 'qtcl_expr'],
+                    'qtcl_qty', 'in_time', 'porder', 'add_stage', 'sgfh_expr', 'sjcl_expr', 'qtcl_expr', 'real_qty'],
                 order: [['porder', 'ASC']],
             });
         }
@@ -34,7 +34,7 @@ module.exports = app => {
         async getPosDataWithAddStageOrder(condition) {
             const sql = 'SELECT p.id, p.tid, p.lid, p.name, p.quantity, p.position, p.drawing_code,' +
                 '    p.sgfh_qty, p.sjcl_qty, p.qtcl_qty, p.porder, p.add_stage, p.add_times, p.add_user, s.order As add_stage_order,' +
-                '    p.sgfh_expr, p.sjcl_expr, p.qtcl_expr' +
+                '    p.sgfh_expr, p.sjcl_expr, p.qtcl_expr, p.real_qty' +
                 '  FROM ' + this.tableName + ' p ' +
                 '  LEFT JOIN ' + this.ctx.service.stage.tableName + ' s' +
                 '  ON p.add_stage = s.id'
@@ -44,7 +44,7 @@ module.exports = app => {
 
         async getPosDataByIds(ids) {
             if (ids instanceof Array && ids.length > 0) {
-                const sql = 'SELECT id, tid, lid, name, quantity, position, drawing_code, sgfh_qty, sjcl_qty, qtcl_qty, add_stage, add_times, add_user, sgfh_expr, sjcl_expr, qtcl_expr' +
+                const sql = 'SELECT id, tid, lid, name, quantity, position, drawing_code, sgfh_qty, sjcl_qty, qtcl_qty, add_stage, add_times, add_user, sgfh_expr, sjcl_expr, qtcl_expr, real_qty' +
                     '  FROM ' + this.tableName +
                     '  WHERE id in (' + this.ctx.helper.getInArrStrSqlFilter(ids) + ')';
                 return await this.db.query(sql, []);

+ 13 - 6
app/service/stage_pos.js

@@ -150,7 +150,7 @@ module.exports = app => {
             const  result = {pos: [], ledger: []};
             const datas = data instanceof Array ? data : [data], calcStageBills = [];
             if (datas[0].sgfh_qty !== undefined || datas[0].sjcl_qty !== undefined || datas[0].qtcl_qty !== undefined
-                || datas[0].contract_qty !== undefined || datas[0].qc_qty !== undefined) {
+                || datas[0].contract_qty !== undefined || datas[0].qc_qty !== undefined || datas[0].real_qty !== undefined) {
                 bills = await this.ctx.service.ledger.getDataById(datas[0].lid);
                 precision = this.ctx.helper.findPrecision(this.ctx.tender.info.precision, bills.unit);
                 result.ledger.push(bills.id);
@@ -175,8 +175,10 @@ module.exports = app => {
                     if (d.sjcl_expr !== undefined) p.sjcl_expr = d.sjcl_expr;
                     if (d.qtcl_expr !== undefined) p.qtcl_expr = d.qtcl_expr;
                     p.quantity = this.ctx.helper.sum([p.sgfh_qty, p.sjcl_qty, p.qtcl_qty]);
-                    if (!updateBills) updateBills = {id: bills.id, sgfh_qty: bills.sgfh_qty, sjcl_qty: bills.sjcl_qty, qtcl_qty: bills.qtcl_qty};
+                    if (!updateBills)
+                        updateBills = {id: bills.id, sgfh_qty: bills.sgfh_qty, sjcl_qty: bills.sjcl_qty, qtcl_qty: bills.qtcl_qty};
                 }
+                if (d.real_qty!== undefined) p.real_qty = this.round(d.real_qty, precision.value);
                 insertPos.push(p);
                 result.pos.push(p.id);
 
@@ -258,7 +260,7 @@ module.exports = app => {
                 {pid: this._.map(datas, 'pid')});
 
             if (datas[0].sgfh_qty !== undefined || datas[0].qtcl_qty !== undefined || datas[0].sjcl_qty !== undefined
-                || datas[0].contract_qty !== undefined || datas[0].qc_qty !== undefined) {
+                || datas[0].contract_qty !== undefined || datas[0].qc_qty !== undefined || datas[0].real_qty !== undefined) {
                 bills = await this.ctx.service.ledger.getDataById(datas[0].lid);
                 precision = this.ctx.helper.findPrecision(this.ctx.tender.info.precision, bills.unit);
                 result.ledger.push(bills.id);
@@ -266,10 +268,14 @@ module.exports = app => {
             const updatePos = [], updatePosStage = [], insertPosStage = [];
             for (const d of datas) {
                 if (d.name !== undefined || d.drawing_code !== undefined || d.position !== undefined
-                    || d.sgfh_qty !== undefined || d.qtcl_qty !== undefined || d.sjcl_qty !== undefined) {
-
+                    || d.sgfh_qty !== undefined || d.qtcl_qty !== undefined || d.sjcl_qty !== undefined
+                    || d.real_qty !== undefined
+                ) {
                     const op = this._.find(orgPos, {id: d.pid});
-                    if (op.add_stage !== this.ctx.stage.id) throw '不可修改数据';
+                    if (op.add_stage !== this.ctx.stage.id && (
+                            d.name !== undefined || d.drawing_code !== undefined || d.position !== undefined
+                            || d.sgfh_qty !== undefined || d.qtcl_qty !== undefined || d.sjcl_qty !== undefined
+                        )) throw '不可修改数据';
 
                     const p = {id: op.id};
                     if (d.name !== undefined) p.name = d.name;
@@ -285,6 +291,7 @@ module.exports = app => {
                         if (!updateBills) updateBills = {id: bills.id};
                     }
                     if (d.drawing_code !== undefined) p.drawing_code = d.drawing_code;
+                    if (d.real_qty !== undefined) p.real_qty = this.ctx.helper.round(d.real_qty, precision.value);
                     updatePos.push(p);
                 }
 

+ 3 - 0
sql/update.sql

@@ -97,3 +97,6 @@ INSERT INTO `calculation`.`zh_setting_show`
 VALUES
 ('标段列表',0,'/list'),('金额概况',0,'/list/info'),('计量进度',1,'/list/progress');
 
+ALTER TABLE `zh_pos`
+ADD COLUMN `real_qty`  decimal(24,8) NULL DEFAULT 0 COMMENT '实际使用数量' AFTER `qtcl_expr`;
+

+ 0 - 179
test/app/service/report_memory.test.js

@@ -155,77 +155,6 @@ describe('test/app/service/report_memory.test.js', () => {
         ]);
         if (mainData instanceof Array) {
             yield ctx.helper.saveBufferFile(JSON.stringify(mainData,"","\t"), path.join(savePath, 'mem_stage_bills.json'));
-            const tableDefine = {};
-            tableDefine.Name = '期 - 清单数据表(mem_stage_bills)';
-            tableDefine.remark = '';
-            tableDefine.ID = 25;
-            tableDefine.key = 'mem_stage_bills';
-            tableDefine.items = [];
-            addFields(tableDefine, '台账ID', 'id', dataType.int);
-            addFields(tableDefine, '标段ID', 'tender_id', dataType.int);
-            addFields(tableDefine, '树结构-ID', 'ledger_id', dataType.int);
-            addFields(tableDefine, '树结构-父项ID', 'ledger_pid', dataType.int);
-            addFields(tableDefine, '树结构-层级', 'level', dataType.int);
-            addFields(tableDefine, '树结构-同层排序', 'order', dataType.int);
-            addFields(tableDefine, '树结构-完整路径', 'full_path', dataType.int);
-            addFields(tableDefine, '树结构-是否子项', 'is_leaf', dataType.int); // 8
-
-            addFields(tableDefine, '项目节编号', 'code', dataType.str);
-            addFields(tableDefine, '清单编号', 'b_code', dataType.str);
-            addFields(tableDefine, '名称', 'name', dataType.str);
-            addFields(tableDefine, '单位', 'unit', dataType.str); // 12
-            addFields(tableDefine, '单价', 'unit_price', dataType.currency, {type: 'up'});
-
-            addFields(tableDefine, '签约-数量', 'deal_qty', dataType.currency, {type: 'qty', unitKey: 12});
-            addFields(tableDefine, '签约-金额', 'deal_tp', dataType.currency, {type: 'tp'});
-
-            addFields(tableDefine, '施工复核-数量', 'sgfh_qty', dataType.currency, {type: 'qty', unitKey: 12});
-            addFields(tableDefine, '施工复核-金额', 'sgfh_tp', dataType.currency, {type: 'tp'});
-            addFields(tableDefine, '设计错漏-数量', 'sjcl_qty', dataType.currency, {type: 'qty', unitKey: 12});
-            addFields(tableDefine, '设计错漏-金额', 'sjcl_tp', dataType.currency, {type: 'tp'});
-            addFields(tableDefine, '其他错漏-数量', 'qtcl_qty', dataType.currency, {type: 'qty', unitKey: 12});
-            addFields(tableDefine, '其他错漏-金额', 'qtcl_tp', dataType.currency, {type: 'tp'});
-            addFields(tableDefine, '台账-数量', 'quantity', dataType.currency, {type: 'qty', unitKey: 12});
-            addFields(tableDefine, '台账-金额', 'total_price', dataType.currency, {type: 'tp'});
-
-            addFields(tableDefine, '项目节-数量1', 'dgn_qty1', dataType.currency);
-            addFields(tableDefine, '项目节-金额2', 'dgn_qty2', dataType.currency);
-
-            addFields(tableDefine, '图册号', 'drawing_code', dataType.str);
-            addFields(tableDefine, '备注', 'memo', dataType.str);
-            addFields(tableDefine, '节点类型', 'node_type', dataType.int);
-            addFields(tableDefine, '总额计量', 'is_tp', dataType.int);
-
-            addFields(tableDefine, '本期-合同-数量', 'contract_qty', dataType.currency, {type: 'qty', unitKey: 12});
-            addFields(tableDefine, '本期-合同-金额', 'contract_tp', dataType.currency, {type: 'tp'});
-            addFields(tableDefine, '本期-数量变更-数量', 'qc_qty', dataType.currency, {type: 'qty', unitKey: 12});
-            addFields(tableDefine, '本期-数量变更-金额', 'qc_tp', dataType.currency, {type: 'tp'});
-            addFields(tableDefine, '本期-完成-数量', 'gather_qty', dataType.currency, {type: 'qty', unitKey: 12});
-            addFields(tableDefine, '本期-完成-金额', 'gather_tp', dataType.currency, {type: 'tp'});
-            addFields(tableDefine, '本期批注', 'postil', dataType.str);
-
-            addFields(tableDefine, '截止上期-合同-数量', 'pre_contract_qty', dataType.currency, {type: 'qty', unitKey: 12});
-            addFields(tableDefine, '截止上期-合同-金额', 'pre_contract_tp', dataType.currency, {type: 'tp'});
-            addFields(tableDefine, '截止上期-数量变更-数量', 'pre_qc_qty', dataType.currency, {type: 'qty', unitKey: 12});
-            addFields(tableDefine, '截止上期-数量变更-金额', 'pre_qc_tp', dataType.currency, {type: 'tp'});
-            addFields(tableDefine, '截止上期-完成-数量', 'pre_gather_qty', dataType.currency, {type: 'qty', unitKey: 12});
-            addFields(tableDefine, '截止上期-完成-金额', 'pre_gather_tp', dataType.currency, {type: 'tp'});
-
-            addFields(tableDefine, '截止本期-合同-数量', 'end_contract_qty', dataType.currency, {type: 'qty', unitKey: 12});
-            addFields(tableDefine, '截止本期-合同-金额', 'end_contract_tp', dataType.currency, {type: 'tp'});
-            addFields(tableDefine, '截止本期-数量变更-数量', 'end_qc_qty', dataType.currency, {type: 'qty', unitKey: 12});
-            addFields(tableDefine, '截止本期-数量变更-金额', 'end_qc_tp', dataType.currency, {type: 'tp'});
-            addFields(tableDefine, '截止本期-完成-数量', 'end_gather_qty', dataType.currency, {type: 'qty', unitKey: 12});
-            addFields(tableDefine, '截止本期-完成-金额', 'end_gather_tp', dataType.currency, {type: 'tp'});
-
-            addFields(tableDefine, '(台账 + 截止本期变更)-金额', 'final_tp', dataType.currency, {type: 'tp'});
-            addFields(tableDefine, '截止本期完成率(%)', 'final_ratio', dataType.double);
-
-            addFields(tableDefine, '本期-数量变更-变更令', 'qc_bgl_code', dataType.str);
-
-            addFields(tableDefine, '章节编号', 'chapter', dataType.str);
-
-            yield saveTableDefine(ctx, tableDefine, path.join(savePath, 'mem_stage_bills_define.json'));
         }
     });
     // 期部位明细数据
@@ -258,67 +187,6 @@ describe('test/app/service/report_memory.test.js', () => {
         ]);
         if (mainData instanceof Array) {
             yield ctx.helper.saveBufferFile(JSON.stringify(mainData,"","\t"), path.join(savePath, 'mem_stage_bills_compare.json'));
-
-            const tableDefine = {};
-            tableDefine.Name = '期-清单-全参与人数据表(mem_stage_bills_compare)';
-            tableDefine.remark = '';
-            tableDefine.ID = 26;
-            tableDefine.key = 'mem_stage_bills_compare';
-            tableDefine.items = [];
-            addFields(tableDefine, '台账ID', 'id', dataType.int);
-            addFields(tableDefine, '标段ID', 'tender_id', dataType.int);
-            addFields(tableDefine, '树结构-ID', 'ledger_id', dataType.int);
-            addFields(tableDefine, '树结构-父项ID', 'ledger_pid', dataType.int);
-            addFields(tableDefine, '树结构-层级', 'level', dataType.int);
-            addFields(tableDefine, '树结构-同层排序', 'order', dataType.int);
-            addFields(tableDefine, '树结构-完整路径', 'full_path', dataType.int);
-            addFields(tableDefine, '树结构-是否子项', 'is_leaf', dataType.int); // 8
-
-            addFields(tableDefine, '项目节编号', 'code', dataType.str);
-            addFields(tableDefine, '清单编号', 'b_code', dataType.str);
-            addFields(tableDefine, '名称', 'name', dataType.str);
-            addFields(tableDefine, '单位', 'unit', dataType.str); // 12
-            addFields(tableDefine, '单价', 'unit_price', dataType.currency, {type: 'up'});
-
-            addFields(tableDefine, '签约-数量', 'deal_qty', dataType.currency, {type: 'qty', unitKey: 12});
-            addFields(tableDefine, '签约-金额', 'deal_tp', dataType.currency, {type: 'tp'});
-
-            addFields(tableDefine, '施工复核-数量', 'sgfh_qty', dataType.currency, {type: 'qty', unitKey: 12});
-            addFields(tableDefine, '施工复核-金额', 'sgfh_tp', dataType.currency, {type: 'tp'});
-            addFields(tableDefine, '设计错漏-数量', 'sjcl_qty', dataType.currency, {type: 'qty', unitKey: 12});
-            addFields(tableDefine, '设计错漏-金额', 'sjcl_tp', dataType.currency, {type: 'tp'});
-            addFields(tableDefine, '其他错漏-数量', 'qtcl_qty', dataType.currency, {type: 'qty', unitKey: 12});
-            addFields(tableDefine, '其他错漏-金额', 'qtcl_tp', dataType.currency, {type: 'tp'});
-            addFields(tableDefine, '台账-数量', 'quantity', dataType.currency, {type: 'qty', unitKey: 12});
-            addFields(tableDefine, '台账-金额', 'total_price', dataType.currency, {type: 'tp'});
-
-            addFields(tableDefine, '项目节-数量1', 'dgn_qty1', dataType.currency);
-            addFields(tableDefine, '项目节-数量2', 'dgn_qty2', dataType.currency);
-
-            addFields(tableDefine, '图册号', 'drawing_code', dataType.str);
-            addFields(tableDefine, '备注', 'memo', dataType.str);
-            addFields(tableDefine, '节点类型', 'node_type', dataType.int);
-            addFields(tableDefine, '总额计量', 'is_tp', dataType.int);
-
-            addFields(tableDefine, '截止上期-合同-数量', 'pre_contract_qty', dataType.currency, {type: 'qty', unitKey: 12});
-            addFields(tableDefine, '截止上期-合同-金额', 'pre_contract_tp', dataType.currency, {type: 'tp'});
-            addFields(tableDefine, '截止上期-数量变更-数量', 'pre_qc_qty', dataType.currency, {type: 'qty', unitKey: 12});
-            addFields(tableDefine, '截止上期-数量变更-金额', 'pre_qc_tp', dataType.currency, {type: 'tp'});
-            addFields(tableDefine, '截止上期-完成-数量', 'pre_gather_qty', dataType.currency, {type: 'qty', unitKey: 12});
-            addFields(tableDefine, '截止上期-完成-金额', 'pre_gather_tp', dataType.currency, {type: 'tp'});
-
-            for (let i = 0 ;i < 10; i++) {
-                addFields(tableDefine, '本期-合同-数量' + '_' + i, 'r' + i +'_' + 'contract_qty', dataType.currency, {type: 'qty', unitKey: 12});
-                addFields(tableDefine, '本期-合同-金额' + '_' + i, 'r' + i +'_' + 'contract_tp', dataType.currency, {type: 'tp'});
-                addFields(tableDefine, '本期-数量变更-数量' + '_' + i, 'r' + i +'_' + 'qc_qty', dataType.currency, {type: 'qty', unitKey: 12});
-                addFields(tableDefine, '本期-数量变更-金额' + '_' + i, 'r' + i +'_' + 'qc_tp', dataType.currency, {type: 'tp'});
-                addFields(tableDefine, '本期-完成-数量' + '_' + i, 'r' + i +'_' + 'gather_qty', dataType.currency, {type: 'qty', unitKey: 12});
-                addFields(tableDefine, '本期-完成-金额' + '_' + i, 'r' + i +'_' + 'gather_tp', dataType.currency, {type: 'tp'});
-            }
-
-            addFields(tableDefine, '章节编号', 'chapter', dataType.str);
-
-            yield saveTableDefine(ctx, tableDefine, path.join(savePath, 'mem_stage_bills_compare_define.json'));
         }
     });
     it('test getStagePay', function* () {
@@ -328,29 +196,6 @@ describe('test/app/service/report_memory.test.js', () => {
         const data = yield ctx.service.reportMemory.getStagePayData(stage.tid, stage.id, ['r0_tp', 'r1_tp']);
         if (data instanceof Array) {
             yield ctx.helper.saveBufferFile(JSON.stringify(data, '', '\t'), path.join(savePath, 'mem_stage_pay.json'));
-
-            const tableDefine = {};
-            tableDefine.Name = '期-合同支付-数据(mem_stage_pay)';
-            tableDefine.remark = '';
-            tableDefine.ID = 27;
-            tableDefine.key = 'mem_stage_pay';
-            tableDefine.items = [];
-            const prefix = '期-合同支付-';
-
-            addFields(tableDefine, prefix + '名称', 'name', dataType.str);
-            addFields(tableDefine, prefix + '计算公式', 'expr', dataType.str);
-            addFields(tableDefine, prefix + '金额', 'tp', dataType.currency, {type: 'tp', subType: 'pay'});
-            addFields(tableDefine, prefix + '截止上期-金额', 'pre_tp', dataType.currency, {type: 'tp', subType: 'pay'});
-            addFields(tableDefine, prefix + '截止本期-金额', 'end_tp', dataType.currency, {type: 'tp', subType: 'pay'});
-            addFields(tableDefine, prefix + '排序', 'order', dataType.int);
-            addFields(tableDefine, prefix + '是否扣款项', 'minus', dataType.int);
-            addFields(tableDefine, prefix + '支付类型', 'ptype', dataType.int);
-            addFields(tableDefine, prefix + '起扣金额', 'sprice', dataType.currency, {type: 'tp', subType: 'pay'});
-            addFields(tableDefine, prefix + '扣款限额', 'rprice', dataType.currency, {type: 'tp', subType: 'pay'});
-            for (let i = 0 ;i < 10; i++) {
-                addFields(tableDefine, prefix + '流程-本期-金额_' + i, 'r' + i + '_tp', dataType.currency, {type: 'tp', subType: 'pay'});
-            }
-            yield saveTableDefine(ctx, tableDefine, path.join(savePath, 'mem_stage_pay_define.json'));
         }
     });
     it('test mem_union_data', function* () {
@@ -412,30 +257,6 @@ describe('test/app/service/report_memory.test.js', () => {
         const data = yield ctx.service.reportMemory.getChangeBillsData(12);
         if (data instanceof Array) {
             yield ctx.helper.saveBufferFile(JSON.stringify(data, '', '\t'), path.join(savePath, 'mem_change_bills.json'));
-
-            const tableDefine = {};
-            tableDefine.Name = '变更清单-(mem_change_bills)';
-            tableDefine.remark = '';
-            tableDefine.ID = 29;
-            tableDefine.key = 'mem_change_bills';
-            tableDefine.items = [];
-            const prefix = '变更清单-';
-
-            addFields(tableDefine, prefix + '变更令id', 'cid', dataType.str);
-            addFields(tableDefine, prefix + '签约清单id或台账id', 'lid', dataType.str);
-            addFields(tableDefine, prefix + '清单编号', 'code', dataType.str);
-            addFields(tableDefine, prefix + '名称', 'name', dataType.str);
-            addFields(tableDefine, prefix + '单位', 'unit', dataType.str);
-            addFields(tableDefine, prefix + '单价', 'unit_price', dataType.currency, {type: 'up'});
-            addFields(tableDefine, prefix + '原数量', 'o_qty', dataType.currency, {type: 'qty', unitKey: 5});
-            addFields(tableDefine, prefix + '变更数量', 'c_qty', dataType.currency, {type: 'qty', unitKey: 5});
-            addFields(tableDefine, prefix + '审批变更后数量', 's_qty', dataType.currency, {type: 'qty', unitKey: 5});
-            addFields(tableDefine, prefix + '原-金额', 'o_tp', dataType.currency, {type: 'tp'});
-            addFields(tableDefine, prefix + '变更-金额', 'c_tp', dataType.currency, {type: 'tp'});
-            addFields(tableDefine, prefix + '审批变更后-金额', 's_tp', dataType.currency, {type: 'tp'});
-            addFields(tableDefine, prefix + '部位明细', 'bwmx', dataType.str);
-            addFields(tableDefine, prefix + '变更详情', 'detail', dataType.str);
-            yield saveTableDefine(ctx, tableDefine, path.join(savePath, 'mem_change_bills_define.json'));
         }
     });
 });