|
@@ -305,6 +305,55 @@ const stage_pay = {
|
|
|
],
|
|
|
};
|
|
|
|
|
|
+// 期 - 中间计量
|
|
|
+const stage_im_zl = {
|
|
|
+ Name: '期-中间计量-总量-数据(mem_stage_im_zl)',
|
|
|
+ remark: '',
|
|
|
+ id: 21,
|
|
|
+ key: 'mem_stage_im_zl',
|
|
|
+ prefix: '期-中间计量-总量',
|
|
|
+ cols: [
|
|
|
+ {name: '台账id', field: 'lid', type: dataType.str},
|
|
|
+ {name: '部位id', field: 'pid', type: dataType.str},
|
|
|
+ {name: '编号', field: 'code', type: dataType.str},
|
|
|
+ {name: '名称', field: 'name', type: dataType.str},
|
|
|
+ {name: '单位', field: 'unit', type: dataType.str},
|
|
|
+ {name: '单价', field: 'unit_price', type: dataType.currency},
|
|
|
+ {name: '本期数量', field: 'jl', type: dataType.currency},
|
|
|
+ {name: '本期合同数量', field: 'contract_jl', type: dataType.currency},
|
|
|
+ {name: '本期变更数量', field: 'qc_jl', type: dataType.currency},
|
|
|
+ {name: '桩号', field: 'peg', type: dataType.str},
|
|
|
+ {name: '图册号', field: 'drawing_code', type: dataType.str},
|
|
|
+ {name: '勾选标记 - 勿用', field: 'check', type: dataType.int},
|
|
|
+ {name: '部位', field: 'bw', type: dataType.str},
|
|
|
+ {name: '细目', field: 'xm', type: dataType.str},
|
|
|
+ {name: '凭证号', field: 'doc_code', type: dataType.str},
|
|
|
+ {name: '计算式说明', field: 'calc_memo', type: dataType.str},
|
|
|
+ {name: '草图', field: 'calc_img', type: dataType.str, isPic: true},
|
|
|
+ {name: '变更令号', field: 'bgl_code', type: dataType.str},
|
|
|
+ {name: '变更图号', field: 'bgl_drawing_code', type: dataType.str},
|
|
|
+ {name: '中间计量表号', field: 'im_code', type: dataType.str},
|
|
|
+ {name: '截止上期 - 本期数量', field: 'pre_jl', type: dataType.currency},
|
|
|
+ {name: '截止上期 - 本期合同数量', field: 'pre_contract_jl', type: dataType.currency},
|
|
|
+ {name: '截止上期 - 本期变更数量', field: 'pre_qc_jl', type: dataType.currency},
|
|
|
+ {name: '截止本期 - 本期数量', field: 'end_jl', type: dataType.currency},
|
|
|
+ {name: '截止本期 - 本期合同数量', field: 'end_contract_jl', type: dataType.currency},
|
|
|
+ {name: '截止本期 - 本期变更数量', field: 'end_qc_jl', type: dataType.currency},
|
|
|
+ {name: '本期金额', field: 'tp', type: dataType.currency},
|
|
|
+ {name: '本期合同金额', field: 'contract_tp', type: dataType.currency},
|
|
|
+ {name: '本期变更金额', field: 'qc_tp', type: dataType.currency},
|
|
|
+ {name: '截止上期 - 本期金额', field: 'pre_tp', type: dataType.currency},
|
|
|
+ {name: '截止上期 - 本期合同金额', field: 'pre_contract_tp', type: dataType.currency},
|
|
|
+ {name: '截止上期 - 本期变更金额', field: 'pre_qc_tp', type: dataType.currency},
|
|
|
+ {name: '截止本期 - 本期金额', field: 'end_tp', type: dataType.currency},
|
|
|
+ {name: '截止本期 - 本期合同金额', field: 'end_contract_tp', type: dataType.currency},
|
|
|
+ {name: '截止本期 - 本期变更金额', field: 'end_qc_tp', type: dataType.currency},
|
|
|
+ {name: '台账数量', field: 'quantity', type: dataType.currency},
|
|
|
+ {name: '台账金额', field: 'total_price', type: dataType.currency},
|
|
|
+
|
|
|
+ ]
|
|
|
+};
|
|
|
+
|
|
|
const recursiveMkdirSync = async function (pathName) {
|
|
|
if (!fs.existsSync(pathName)) {
|
|
|
const upperPath = path.dirname(pathName);
|
|
@@ -322,23 +371,23 @@ const saveBufferFile = async function (buffer, fileName) {
|
|
|
}
|
|
|
await fs.writeFileSync(fileName, buffer);
|
|
|
};
|
|
|
-const addFields = function(table, name, field, type, tag) {
|
|
|
+const addFields = function(table, col) {
|
|
|
const data = {};
|
|
|
data.ID = table.ID * 100 + table.items.length + 1;
|
|
|
- data.Name = name + '(' + field + ')';
|
|
|
+ data.Name = col.name + '(' + col.field + ')';
|
|
|
if (table.prefix && table.prefix !== '') data.Name = table.prefix + '-' + data.Name;
|
|
|
- data.DataType = type;
|
|
|
+ data.DataType = col.type;
|
|
|
data.TableName = table.key;
|
|
|
data.descr = '';
|
|
|
- data.mapExpression = "$PROJECT.REPORT.getProperty('" + table.key + "', '" + field + "')";
|
|
|
- if (tag) {
|
|
|
+ data.mapExpression = "$PROJECT.REPORT.getProperty('" + table.key + "', '" + col.field + "')";
|
|
|
+ if (col.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')" };
|
|
|
+ if (col.tag.subType) {
|
|
|
+ data.Precision = { type: "fixed", fixedMapExpression: "$PROJECT.REPORT.getProperty('tender_info', 'decimal." + "_" + col.tag.subType + "_tp')" };
|
|
|
} else {
|
|
|
data.Precision = { type: "fixed", fixedMapExpression: "$PROJECT.REPORT.getProperty('tender_info', 'decimal.tp')" };
|
|
|
}
|
|
@@ -348,6 +397,9 @@ const addFields = function(table, name, field, type, tag) {
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
|
+ if (col.isPic) {
|
|
|
+ data.isPic = true;
|
|
|
+ }
|
|
|
table.items.push(data);
|
|
|
};
|
|
|
const saveTableDefine = async function (tableDefine, file) {
|
|
@@ -386,12 +438,17 @@ const exportTableDefine = async function (define) {
|
|
|
tableDefine.items = [];
|
|
|
tableDefine.prefix = define.prefix;
|
|
|
for (const col of define.cols) {
|
|
|
- addFields(tableDefine, col.name, col.field, col.type, col.tag);
|
|
|
+ addFields(tableDefine, col);
|
|
|
}
|
|
|
await saveTableDefine(tableDefine, path.join(savePath, define.key + '_define.json'));
|
|
|
};
|
|
|
|
|
|
-const defines = [stage_jgcl, stage_bonus, stage_other, change, change_bills, stage_pos, stage_pos_compare, stage_pay];
|
|
|
+const defines = [stage_jgcl, stage_bonus, stage_other,
|
|
|
+ change, change_bills,
|
|
|
+ stage_pos, stage_pos_compare,
|
|
|
+ stage_pay,
|
|
|
+ stage_im_zl
|
|
|
+];
|
|
|
for (const d of defines) {
|
|
|
exportTableDefine(d);
|
|
|
}
|