123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176 |
- 'use strict';
- /**
- *
- *
- * @author Mai
- * @date
- * @version
- */
- const { app, assert } = require('egg-mock/bootstrap');
- const mockData = {};
- const dataType = {
- int: 'int',
- str: 'string',
- double: 'double',
- currency: 'currency',
- };
- const addFields = function(table, name, field, type) {
- const data = {};
- data.ID = table.ID + (table.items.length + 1);
- data.Name = name;
- data.DataType = type;
- data.TableName = table.key;
- data.descr = '';
- data.mapExpression = "$PROJECT.REPORT.getProperty('" + table.key + "', '" + field + "')";
- table.items.push(data);
- };
- describe('test/app/service/report_memory.test.js', () => {
- // 准备测试数据
- before(function* () {
- const ctx = app.mockContext();
- // 模拟登录session
- const postData = {
- account: '734406061@qq.com',
- project: 'T201711273363',
- project_password: 'mai654321',
- };
- // const postData = {
- // account: 'chente',
- // project: 'T201711273363',
- // project_password: '123456',
- // };
- ctx.session = {};
- const loginResult = yield ctx.service.projectAccount.accountLogin(postData, 2);
- assert(loginResult);
- mockData.session = ctx.session;
- });
- // 中间计量表数据 - 台账
- it('test getStageImTzData & getStageImTzBillsData', function* () {
- const ctx = app.mockContext(mockData);
- // test12 - 第6期
- const stage = yield ctx.service.stage.getDataByCondition({tid: 12, order: 6});
- const mainData = yield ctx.service.reportMemory.getStageImTzData(12, stage.id);
- const billsData = yield ctx.service.reportMemory.getStageImTzBillsData(12, stage.id);
- if (mainData instanceof Array) {
- console.log('mem_stage_im_tz.length:' + mainData.length);
- yield ctx.helper.saveBufferFile(JSON.stringify(mainData,"","\t"), ctx.app.baseDir + '/mem_stage_im_tz.json');
- }
- if (billsData instanceof Array) {
- console.log('mem_stage_im_tz_bills.length:' + billsData.length);
- yield ctx.helper.saveBufferFile(JSON.stringify(billsData,"","\t"), ctx.app.baseDir + '/mem_stage_im_tz_bills.json');
- }
- });
- // 中间计量表数据 - 总量
- it('test getStageImZlData', function* () {
- const ctx = app.mockContext(mockData);
- // test12 - 第6期
- const stage = yield ctx.service.stage.getDataByCondition({tid: 12, order: 6});
- const mainData = yield ctx.service.reportMemory.getStageImZlData(12, stage.id);
- if (mainData instanceof Array) {
- yield ctx.helper.saveBufferFile(JSON.stringify(mainData,"","\t"), ctx.app.baseDir + '/mem_stage_im_zl.json');
- }
- });
- // 月进度数据
- it('test getMonthProgress', function* () {
- const ctx = app.mockContext(mockData);
- // test12
- const mainData = yield ctx.service.reportMemory.getMonthProgress(12);
- if (mainData instanceof Array) {
- yield ctx.helper.saveBufferFile(JSON.stringify(mainData,"","\t"), ctx.app.baseDir + '/mem_month_progress.json');
- }
- });
- // 期清单数据
- it('test getStageBills', function* () {
- const ctx = app.mockContext(mockData);
- // test12 - 第6期
- const stage = yield ctx.service.stage.getDataByCondition({tid: 12, order: 6});
- const mainData = yield ctx.service.reportMemory.getStageBillsData(12, stage.id);
- if (mainData instanceof Array) {
- yield ctx.helper.saveBufferFile(JSON.stringify(mainData,"","\t"), ctx.app.baseDir + '/mem_stage_bills.json');
- const tableDefine = {};
- tableDefine.Name = '期 - 清单数据表(mem_stage_bills)';
- tableDefine.remark = '';
- tableDefine.ID = '23';
- 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);
- addFields(tableDefine, '项目节编号', 'code', dataType.str);
- addFields(tableDefine, '清单编号', 'b_code', dataType.str);
- addFields(tableDefine, '名称', 'name', dataType.str);
- addFields(tableDefine, '单位', 'unit', dataType.str);
- addFields(tableDefine, '单价', 'unit_price', dataType.currency);
- addFields(tableDefine, '签约-数量', 'deal_qty', dataType.currency);
- addFields(tableDefine, '签约-金额', 'deal_tp', dataType.currency);
- addFields(tableDefine, '施工复核-数量', 'sgfh_qty', dataType.currency);
- addFields(tableDefine, '施工复核-金额', 'sgfh_tp', dataType.currency);
- addFields(tableDefine, '设计错漏-数量', 'sjcl_qty', dataType.currency);
- addFields(tableDefine, '设计错漏-金额', 'sjcl_tp', dataType.currency);
- addFields(tableDefine, '其他错漏-数量', 'qtcl_qty', dataType.currency);
- addFields(tableDefine, '其他错漏-金额', 'qtcl_tp', dataType.currency);
- addFields(tableDefine, '台账-数量', 'quantity', dataType.currency);
- addFields(tableDefine, '台账-金额', 'total_price', dataType.currency);
- 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);
- addFields(tableDefine, '本期-合同-金额', 'contract_tp', dataType.currency);
- addFields(tableDefine, '本期-数量变更-数量', 'qc_qty', dataType.currency);
- addFields(tableDefine, '本期-数量变更-金额', 'qc_tp', dataType.currency);
- addFields(tableDefine, '本期-完成-数量', 'gather_qty', dataType.currency);
- addFields(tableDefine, '本期-完成-金额', 'gather_tp', dataType.currency);
- addFields(tableDefine, '本期批注', 'postil', dataType.str);
- addFields(tableDefine, '截止上期-合同-数量', 'pre_contract_qty', dataType.currency);
- addFields(tableDefine, '截止上期-合同-金额', 'pre_contract_tp', dataType.currency);
- addFields(tableDefine, '截止上期-数量变更-数量', 'pre_qc_qty', dataType.currency);
- addFields(tableDefine, '截止上期-数量变更-金额', 'pre_qc_tp', dataType.currency);
- addFields(tableDefine, '截止上期-完成-数量', 'pre_gather_qty', dataType.currency);
- addFields(tableDefine, '截止上期-完成-金额', 'pre_gather_tp', dataType.currency);
- addFields(tableDefine, '截止本期-合同-数量', 'end_contract_qty', dataType.currency);
- addFields(tableDefine, '截止本期-合同-金额', 'end_contract_tp', dataType.currency);
- addFields(tableDefine, '截止本期-数量变更-数量', 'end_qc_qty', dataType.currency);
- addFields(tableDefine, '截止本期-数量变更-金额', 'end_qc_tp', dataType.currency);
- addFields(tableDefine, '截止本期-完成-数量', 'end_gather_qty', dataType.currency);
- addFields(tableDefine, '截止本期-完成-金额', 'end_gather_tp', dataType.currency);
- delete tableDefine.ID;
- delete tableDefine.key;
- yield ctx.helper.saveBufferFile(JSON.stringify(tableDefine,"","\t"), ctx.app.baseDir + '/mem_stage_bills_define.json');
- }
- });
- // 期部位明细数据
- it('test getStagePos', function* () {
- const ctx = app.mockContext(mockData);
- // test12 - 第6期
- const stage = yield ctx.service.stage.getDataByCondition({tid: 12, order: 6});
- const mainData = yield ctx.service.reportMemory.getStagePosData(12, stage.id);
- if (mainData instanceof Array) {
- yield ctx.helper.saveBufferFile(JSON.stringify(mainData,"","\t"), ctx.app.baseDir + '/mem_stage_pos.json');
- }
- });
- });
|