|
@@ -10,6 +10,22 @@
|
|
|
|
|
|
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', () => {
|
|
|
// 准备测试数据
|
|
@@ -69,7 +85,7 @@ describe('test/app/service/report_memory.test.js', () => {
|
|
|
yield ctx.helper.saveBufferFile(JSON.stringify(mainData,"","\t"), ctx.app.baseDir + '/mem_month_progress.json');
|
|
|
}
|
|
|
});
|
|
|
- // 月进度数据
|
|
|
+ // 期清单数据
|
|
|
it('test getStageBills', function* () {
|
|
|
const ctx = app.mockContext(mockData);
|
|
|
|
|
@@ -78,9 +94,75 @@ describe('test/app/service/report_memory.test.js', () => {
|
|
|
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);
|
|
|
|