Pārlūkot izejas kodu

更新工料明细指标,预处理方法

MaiXinRong 4 gadi atpakaļ
vecāks
revīzija
e8694f1acf
2 mainītis faili ar 59 papildinājumiem un 26 dzēšanām
  1. 30 15
      app/lib/rpt_data_analysis.js
  2. 29 11
      builder_report_index_define.js

+ 30 - 15
app/lib/rpt_data_analysis.js

@@ -1716,6 +1716,27 @@ const gatherGcl2 = {
 const gatherMaterialGl = {
     name: '分类汇总调差工料',
     hint: '根据工程量清单分类汇总调差工料,要求先使用【工程量清单汇总2】处理得到工程量清单数据,并引入【调差工料明细】',
+    _relaGl(source, data) {
+        if (!source) return;
+        const gl = source.find(x => {return x.id === data.mb_id;});
+        if (gl) {
+            data.gl_code = gl.code;
+            data.gl_name = gl.name;
+            data.gl_unit = gl.unit;
+            data.gl_spec = gl.spec;
+
+            data.gl_base_price = gl.base_price;
+            data.gl_base_times = gl.base_times;
+
+            data.gl_msg_tp = gl.msg_tp;
+            data.gl_msg_times = gl.msg_times;
+            data.gl_msg_spread = gl.msg_spread;
+
+            data.gl_m_up_risk = gl.m_up_risk;
+            data.gl_m_down_risk = gl.m_down_risk;
+            data.gl_m_spread = gl.m_spread;
+        }
+    },
     fun(ctx, data, fieldsKey, options, csRela) {
         if (!data.mem_gcl_gather_bills || !data.mem_gcl_gather_xmj || !data.mem_material_gl_detail) return;
 
@@ -1735,22 +1756,16 @@ const gatherMaterialGl = {
                 return x.gather_gcl_id === gcl.id && x.mb_id === d.mb_id;
             });
             if (!gd) {
-                result.push({
+                const newGd = {
                     gather_gcl_id: gcl.id,
-                    mb_id: d.mb_id,
-                    gather_qty: d.gather_qty,
-                    quantity: d.quantity,
-                    b_code: gcl.b_code,
-                    name: gcl.name,
-                    unit: gcl.unit,
-                    unit_price: gcl.unit_price,
-                    cur_contract_qty: gcl.contract_qty,
-                    cur_contract_tp: gcl.contract_tp,
-                    cur_qc_qty: gcl.qc_qty,
-                    cur_qc_tp: gcl.qc_tp,
-                    cur_gather_qty: gcl.gather_qty,
-                    cur_gather_tp: gcl.gather_tp,
-                });
+                    mb_id: d.mb_id, gather_qty: d.gather_qty, quantity: d.quantity,
+                    b_code: gcl.b_code, name: gcl.name, unit: gcl.unit, unit_price: gcl.unit_price,
+                    cur_contract_qty: gcl.contract_qty, cur_contract_tp: gcl.contract_tp,
+                    cur_qc_qty: gcl.qc_qty, cur_qc_tp: gcl.qc_tp,
+                    cur_gather_qty: gcl.gather_qty, cur_gather_tp: gcl.gather_tp,
+                };
+                this._relaGl(data.mem_material_gl, newGd);
+                result.push(newGd);
             } else {
                 gd.gather_qty = ctx.helper.add(gd.gather_qty, d.gather_qty);
                 gd.quantity = ctx.helper.add(gd.quantity, d.quantity);

+ 29 - 11
builder_report_index_define.js

@@ -1227,19 +1227,37 @@ const material_gl_detail = {
         { name: '本期计量数量-小计', field: 'gather_qty', type: dataType.int },
         { name: '数量', field: 'quantity', type: dataType.int },
 
-        { name: '清单编号(begin无值)', field: 'b_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: 'b_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: 'cur_contract_qty', type: dataType.currency, },
+        { name: '(空)本期-合同-金额', field: 'cur_contract_tp', type: dataType.currency, },
+        { name: '(空)本期-数量变更-数量', field: 'cur_qc_qty', type: dataType.currency, },
+        { name: '(空)本期-数量变更-金额', field: 'cur_qc_tp', type: dataType.currency, },
+        { name: '(空)本期-完成-数量', field: 'cur_gather_qty', type: dataType.currency, },
+        { name: '(空)本期-完成-金额', field: 'cur_gather_tp', type: dataType.currency, },
+
+        { name: '(空)本期-价差', field: 'jc', type: dataType.currency, },
+
+        { name: '(空)汇总工程量清单id', field: 'gather_gcl_id', type: dataType.int },
+
+        { name: '(空)工料-编号', field: 'gl_code', type: dataType.str },
+        { name: '(空)工料-名称', field: 'gl_name', type: dataType.str },
+        { name: '(空)工料-单位', field: 'gl_unit', type: dataType.str },
+        { name: '(空)工料-规格', field: 'gl_spec', type: dataType.str },
+
+        { name: '(空)基准价', field: 'gl_basic_price', type: dataType.currency },
+        { name: '(空)基准时间', field: 'gl_basic_time', type: dataType.str },
 
-        { name: '本期-合同-数量', field: 'cur_contract_qty', type: dataType.currency, },
-        { name: '本期-合同-金额', field: 'cur_contract_tp', type: dataType.currency, },
-        { name: '本期-数量变更-数量', field: 'cur_qc_qty', type: dataType.currency, },
-        { name: '本期-数量变更-金额', field: 'cur_qc_tp', type: dataType.currency, },
-        { name: '本期-完成-数量', field: 'cur_gather_qty', type: dataType.currency, },
-        { name: '本期-完成-金额', field: 'cur_gather_tp', type: dataType.currency, },
+        { name: '(空)本期信息价-单价', field: 'gl_msg_tp', type: dataType.currency },
+        { name: '(空)本期信息价-时间', field: 'gl_msg_times', type: dataType.str },
+        { name: '(空)本期信息价-价差', field: 'gl_msg_spread', type: dataType.currency },
 
-        { name: '本期-价差(end无值)', field: 'jc', type: dataType.currency, },
+        { name: '(空)本期材料调差-上涨幅度', field: 'gl_m_up_risk', type: dataType.int },
+        { name: '(空)本期材料调差-下跌幅度', field: 'gl_m_down_risk', type: dataType.int },
+        { name: '(空)本期材料调差-有效价差', field: 'gl_m_spread', type: dataType.currency },
     ]
 };