|
@@ -9,6 +9,8 @@
|
|
|
*/
|
|
|
|
|
|
const { app, assert } = require('egg-mock/bootstrap');
|
|
|
+const path = require('path');
|
|
|
+let savePath;
|
|
|
const mockData = {};
|
|
|
const dataType = {
|
|
|
int: 'int',
|
|
@@ -16,7 +18,7 @@ const dataType = {
|
|
|
double: 'double',
|
|
|
currency: 'currency',
|
|
|
};
|
|
|
-const addFields = function(table, name, field, type) {
|
|
|
+const addFields = function(table, name, field, type, tag) {
|
|
|
const data = {};
|
|
|
data.ID = table.ID * 100 + table.items.length + 1;
|
|
|
data.Name = name + '(' + field + ')';
|
|
@@ -24,6 +26,34 @@ const addFields = function(table, name, field, type) {
|
|
|
data.TableName = table.key;
|
|
|
data.descr = '';
|
|
|
data.mapExpression = "$PROJECT.REPORT.getProperty('" + table.key + "', '" + field + "')";
|
|
|
+ if (tag) {
|
|
|
+ switch (tag.type) {
|
|
|
+ case 'up':
|
|
|
+ data.Precision = { type: "fixed", fixedMapExpression: "$PROJECT.REPORT.getProperty('tender_info', 'decimal.up')" };
|
|
|
+ break;
|
|
|
+ case 'tp':
|
|
|
+ if (tag.subType) {
|
|
|
+ data.Precision = { type: "fixed", fixedMapExpression: "$PROJECT.REPORT.getProperty('tender_info', 'decimal." + "_" + tag.subType + "_tp')" };
|
|
|
+ } else {
|
|
|
+ data.Precision = { type: "fixed", fixedMapExpression: "$PROJECT.REPORT.getProperty('tender_info', 'decimal.tp')" };
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 'qty':
|
|
|
+ data.Precision = { type: "flexible", flexibleRefFieldID: table.ID * 100 + tag.unitKey, flexibleMapExpression: "$PROJECT.REPORT.getProperty('tender_info', 'precision')" };
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ table.items.push(data);
|
|
|
+};
|
|
|
+const addTpFields = function(table, name, field, type) {
|
|
|
+ const data = {};
|
|
|
+ data.ID = table.ID * 100 + table.items.length + 1;
|
|
|
+ data.Name = name + '(' + field + ')';
|
|
|
+ data.DataType = type;
|
|
|
+ data.TableName = table.key;
|
|
|
+ data.descr = '';
|
|
|
+ data.mapExpression = "$PROJECT.REPORT.getProperty('" + table.key + "', '" + field + "')";
|
|
|
+ data.Precision = { type: 'fixed', fixedMapExpression: '$PROJECT.REPORT.getProperty("tender_info", "decimal.up")' };
|
|
|
table.items.push(data);
|
|
|
};
|
|
|
const saveTableDefine = async function (ctx, tableDefine, file) {
|
|
@@ -31,14 +61,19 @@ const saveTableDefine = async function (ctx, tableDefine, file) {
|
|
|
delete tableDefine.key;
|
|
|
let defineStr = JSON.stringify(tableDefine, "", "\t");
|
|
|
const replaceStr = [
|
|
|
- {match: '"Name"', str: 'Name'},
|
|
|
- {match: '"remark"', str: 'remark'},
|
|
|
- {match: '"items"', str: 'items'},
|
|
|
- {match: '"ID"', str: 'ID'},
|
|
|
- {match: '"DataType"', str: 'DataType'},
|
|
|
- {match: '"TableName"', str: 'TableName'},
|
|
|
- {match: '"descr"', str: 'descr'},
|
|
|
- {match: '"mapExpression"', str: 'mapExpression'},
|
|
|
+ {match: '"Name":', str: 'Name:'},
|
|
|
+ {match: '"remark":', str: 'remark:'},
|
|
|
+ {match: '"items":', str: 'items:'},
|
|
|
+ {match: '"ID":', str: 'ID:'},
|
|
|
+ {match: '"DataType":', str: 'DataType:'},
|
|
|
+ {match: '"TableName":', str: 'TableName:'},
|
|
|
+ {match: '"descr":', str: 'descr:'},
|
|
|
+ {match: '"mapExpression":', str: 'mapExpression:'},
|
|
|
+ {match: '"Precision":', str: 'Precision:'},
|
|
|
+ {match: '"type":', str: 'type:'},
|
|
|
+ {match: '"flexibleRefFieldID":', str: 'flexibleRefFieldID:'},
|
|
|
+ {match: '"fixedMapExpression":', str: 'fixedMapExpression:'},
|
|
|
+ {match: '"flexibleMapExpression":', str: 'flexibleMapExpression:'},
|
|
|
];
|
|
|
for (const rs of replaceStr) {
|
|
|
const reg = new RegExp(rs.match, 'gm');
|
|
@@ -51,6 +86,7 @@ describe('test/app/service/report_memory.test.js', () => {
|
|
|
// 准备测试数据
|
|
|
before(function* () {
|
|
|
const ctx = app.mockContext();
|
|
|
+ savePath = path.join(ctx.app.baseDir,'report_temp');
|
|
|
// 模拟登录session
|
|
|
const postData = {
|
|
|
account: '734406061@qq.com',
|
|
@@ -124,7 +160,7 @@ describe('test/app/service/report_memory.test.js', () => {
|
|
|
'chapter',
|
|
|
]);
|
|
|
if (mainData instanceof Array) {
|
|
|
- yield ctx.helper.saveBufferFile(JSON.stringify(mainData,"","\t"), ctx.app.baseDir + '/mem_stage_bills.json');
|
|
|
+ yield ctx.helper.saveBufferFile(JSON.stringify(mainData,"","\t"), path.join(savePath, 'mem_stage_bills.json'));
|
|
|
const tableDefine = {};
|
|
|
tableDefine.Name = '期 - 清单数据表(mem_stage_bills)';
|
|
|
tableDefine.remark = '';
|
|
@@ -138,25 +174,25 @@ describe('test/app/service/report_memory.test.js', () => {
|
|
|
addFields(tableDefine, '树结构-层级', 'level', dataType.int);
|
|
|
addFields(tableDefine, '树结构-同层排序', 'order', dataType.int);
|
|
|
addFields(tableDefine, '树结构-完整路径', 'full_path', dataType.int);
|
|
|
- addFields(tableDefine, '树结构-是否子项', 'is_leaf', 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);
|
|
|
- addFields(tableDefine, '单价', 'unit_price', dataType.currency);
|
|
|
+ addFields(tableDefine, '单位', 'unit', dataType.str); // 12
|
|
|
+ addFields(tableDefine, '单价', 'unit_price', dataType.currency, {type: 'up'});
|
|
|
|
|
|
- addFields(tableDefine, '签约-数量', 'deal_qty', dataType.currency);
|
|
|
- addFields(tableDefine, '签约-金额', 'deal_tp', dataType.currency);
|
|
|
+ addFields(tableDefine, '签约-数量', 'deal_qty', dataType.currency, {type: 'qty', unitKey: 12});
|
|
|
+ addFields(tableDefine, '签约-金额', 'deal_tp', dataType.currency, {type: 'tp'});
|
|
|
|
|
|
- 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, '施工复核-数量', '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);
|
|
@@ -166,36 +202,36 @@ describe('test/app/service/report_memory.test.js', () => {
|
|
|
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, '本期-合同-数量', '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);
|
|
|
- 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);
|
|
|
-
|
|
|
- addFields(tableDefine, '(台账 + 截止本期变更)-金额', 'final_tp', dataType.currency);
|
|
|
+ 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, ctx.app.baseDir + '/mem_stage_bills_define.json');
|
|
|
+ yield saveTableDefine(ctx, tableDefine, path.join(savePath, 'mem_stage_bills_define.json'));
|
|
|
}
|
|
|
});
|
|
|
// 期部位明细数据
|
|
@@ -206,8 +242,7 @@ describe('test/app/service/report_memory.test.js', () => {
|
|
|
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');
|
|
|
- //yield saveTableDefine(ctx, tableDefine, ctx.app.baseDir + '/mem_stage_bills_compare_define.json');
|
|
|
+ yield ctx.helper.saveBufferFile(JSON.stringify(mainData,"","\t"), path.join(savePath, 'mem_stage_pos.json'));
|
|
|
}
|
|
|
});
|
|
|
// 期 全审核人 数据
|
|
@@ -228,7 +263,7 @@ describe('test/app/service/report_memory.test.js', () => {
|
|
|
'chapter',
|
|
|
]);
|
|
|
if (mainData instanceof Array) {
|
|
|
- yield ctx.helper.saveBufferFile(JSON.stringify(mainData,"","\t"), ctx.app.baseDir + '/mem_stage_bills_compare.json');
|
|
|
+ yield ctx.helper.saveBufferFile(JSON.stringify(mainData,"","\t"), path.join(savePath, 'mem_stage_bills_compare.json'));
|
|
|
|
|
|
const tableDefine = {};
|
|
|
tableDefine.Name = '期-清单-全参与人数据表(mem_stage_bills_compare)';
|
|
@@ -243,62 +278,62 @@ describe('test/app/service/report_memory.test.js', () => {
|
|
|
addFields(tableDefine, '树结构-层级', 'level', dataType.int);
|
|
|
addFields(tableDefine, '树结构-同层排序', 'order', dataType.int);
|
|
|
addFields(tableDefine, '树结构-完整路径', 'full_path', dataType.int);
|
|
|
- addFields(tableDefine, '树结构-是否子项', 'is_leaf', 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);
|
|
|
- addFields(tableDefine, '单价', 'unit_price', dataType.currency);
|
|
|
+ addFields(tableDefine, '单位', 'unit', dataType.str); // 12
|
|
|
+ addFields(tableDefine, '单价', 'unit_price', dataType.currency, {type: 'up'});
|
|
|
|
|
|
- addFields(tableDefine, '签约-数量', 'deal_qty', dataType.currency);
|
|
|
- addFields(tableDefine, '签约-金额', 'deal_tp', dataType.currency);
|
|
|
+ addFields(tableDefine, '签约-数量', 'deal_qty', dataType.currency, {type: 'qty', unitKey: 12});
|
|
|
+ addFields(tableDefine, '签约-金额', 'deal_tp', dataType.currency, {type: 'tp'});
|
|
|
|
|
|
- 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, '施工复核-数量', '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, '项目节-数量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);
|
|
|
- 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, '截止上期-合同-数量', '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);
|
|
|
- addFields(tableDefine, '本期-合同-金额' + '_' + i, 'r' + i +'_' + 'contract_tp', dataType.currency);
|
|
|
- addFields(tableDefine, '本期-数量变更-数量' + '_' + i, 'r' + i +'_' + 'qc_qty', dataType.currency);
|
|
|
- addFields(tableDefine, '本期-数量变更-金额' + '_' + i, 'r' + i +'_' + 'qc_tp', dataType.currency);
|
|
|
- addFields(tableDefine, '本期-完成-数量' + '_' + i, 'r' + i +'_' + 'gather_qty', dataType.currency);
|
|
|
- addFields(tableDefine, '本期-完成-金额' + '_' + i, 'r' + i +'_' + 'gather_tp', dataType.currency);
|
|
|
+ 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, ctx.app.baseDir + '/mem_stage_bills_compare_define.json');
|
|
|
+ yield saveTableDefine(ctx, tableDefine, path.join(savePath, 'mem_stage_bills_compare_define.json'));
|
|
|
}
|
|
|
});
|
|
|
it('test getStagePay', function* () {
|
|
|
const ctx = app.mockContext(mockData);
|
|
|
// test12 - 第4期
|
|
|
const stage = yield ctx.service.stage.getDataByCondition({tid: 12, order: 6});
|
|
|
- const data = yield ctx.service.reportMemory.getStagePayData(stage.tid, stage.id, []);
|
|
|
+ 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'), ctx.app.baseDir + '/mem_stage_pay.json');
|
|
|
+ yield ctx.helper.saveBufferFile(JSON.stringify(data, '', '\t'), path.join(savePath, 'mem_stage_pay.json'));
|
|
|
|
|
|
const tableDefine = {};
|
|
|
tableDefine.Name = '期-合同支付-数据(mem_stage_pay)';
|
|
@@ -310,15 +345,18 @@ describe('test/app/service/report_memory.test.js', () => {
|
|
|
|
|
|
addFields(tableDefine, prefix + '名称', 'name', dataType.str);
|
|
|
addFields(tableDefine, prefix + '计算公式', 'expr', dataType.str);
|
|
|
- addFields(tableDefine, prefix + '金额', 'tp', dataType.currency);
|
|
|
- addFields(tableDefine, prefix + '截止上期-金额', 'pre_tp', dataType.currency);
|
|
|
- addFields(tableDefine, prefix + '截止本期-金额', 'end_tp', dataType.currency);
|
|
|
+ addTpFields(tableDefine, prefix + '金额', 'tp', dataType.currency, {type: 'tp', subType: 'pay'});
|
|
|
+ addTpFields(tableDefine, prefix + '截止上期-金额', 'pre_tp', dataType.currency, {type: 'tp', subType: 'pay'});
|
|
|
+ addTpFields(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);
|
|
|
- addFields(tableDefine, prefix + '扣款限额', 'rprice', dataType.currency);
|
|
|
- yield saveTableDefine(ctx, tableDefine, ctx.app.baseDir + '/mem_stage_pay_define.json');
|
|
|
+ addTpFields(tableDefine, prefix + '起扣金额', 'sprice', dataType.currency, {type: 'tp', subType: 'pay'});
|
|
|
+ addTpFields(tableDefine, prefix + '扣款限额', 'rprice', dataType.currency, {type: 'tp', subType: 'pay'});
|
|
|
+ for (let i = 0 ;i < 10; i++) {
|
|
|
+ addTpFields(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* () {
|
|
@@ -368,6 +406,38 @@ describe('test/app/service/report_memory.test.js', () => {
|
|
|
addFields(tableDefine, prefix + '金额8', 'tp8', dataType.currency);
|
|
|
addFields(tableDefine, prefix + '金额9', 'tp9', dataType.currency);
|
|
|
addFields(tableDefine, prefix + '金额10', 'tp10', dataType.currency);
|
|
|
- yield saveTableDefine(ctx, tableDefine, ctx.app.baseDir + '/mem_union_data.json');
|
|
|
+ yield saveTableDefine(ctx, tableDefine, path.join(savePath, 'mem_union_data.json'));
|
|
|
+ });
|
|
|
+ it('test mem_change_bills', function* () {
|
|
|
+ const ctx = app.mockContext(mockData);
|
|
|
+
|
|
|
+ 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'));
|
|
|
+ }
|
|
|
});
|
|
|
});
|