Browse Source

材料调差调整

laiguoran 5 years atrás
parent
commit
d27ea8f341

+ 22 - 3
app/controller/material_controller.js

@@ -16,6 +16,7 @@ const measureType = tenderConst.measureType;
 const accountGroup = require('../const/account_group').group;
 const materialConst = require('../const/material');
 const MaterialCalculator = require('../lib/material_calc');
+const _ = require('lodash');
 
 module.exports = app => {
     class MaterialController extends app.BaseController {
@@ -227,14 +228,32 @@ module.exports = app => {
                 }
                 // 取所有工料表
                 renderData.materialBillsData = await ctx.service.materialBills.getAllDataByCondition({ where: searchsql });
+                console.log(renderData.materialBillsData);
                 // 取对应期的截取上期的调差金额和应耗数量
                 if (ctx.material.highOrder !== ctx.material.order) {
                     for (const [mindex, mb] of renderData.materialBillsData.entries()) {
-                        const [quantity, pre_tp] = await ctx.service.materialBillsHistory.getByMbId(ctx.material.id, ctx.material.order, mb.id);
-                        renderData.materialBillsData[mindex].quantity = quantity;
-                        renderData.materialBillsData[mindex].pre_tp = pre_tp;
+                        const result = await ctx.service.materialBillsHistory.getByMbId(ctx.material.id, ctx.material.order, mb.id);
+                        _.forEach(result, function(value, key) {
+                            renderData.materialBillsData[mindex][key] = result ? result[key] : null;
+                        });
+                        // if (result) {
+                        //     renderData.materialBillsData[mindex].quantity = result.quantity;
+                        //     renderData.materialBillsData[mindex].expr = result.expr;
+                        //     renderData.materialBillsData[mindex].msg_tp = result.msg_tp;
+                        //     renderData.materialBillsData[mindex].msg_times = result.msg_times;
+                        //     renderData.materialBillsData[mindex].msg_spread = result.msg_spread;
+                        //     renderData.materialBillsData[mindex].m_up_risk = result.m_up_risk;
+                        //     renderData.materialBillsData[mindex].m_down_risk = result.m_down_risk;
+                        //     renderData.materialBillsData[mindex].m_spread = result.m_spread;
+                        //     renderData.materialBillsData[mindex].pre_tp = result.pre_tp;
+                        // } else {
+                        //     this._.forEach(renderData.materialBillsData[mindex], function(value, key) {
+                        //         renderData.materialBillsData[mindex][key] = null;
+                        //     });
+                        // }
                     }
                 }
+                console.log(renderData.materialBillsData);
                 // 取所有已被调用的工料清单表
                 renderData.materialListData = await ctx.service.materialList.getAllDataByCondition({ tid: ctx.tender.id, mid: ctx.material.id });
                 // 基数

+ 8 - 1
app/service/material_audit.js

@@ -196,7 +196,7 @@ module.exports = app => {
                     id: materialId, status: auditConst.status.checking,
                 });
 
-                // 本期应耗数量和上期调差金额插入到material_bills_history表里
+                // 本期一些必要数据(如应耗数量和上期调差金额插入到material_bills_history表里
                 const materialBillsData = await this.ctx.service.materialBills.getAllDataByCondition({ where: { tid: this.ctx.tender.id } });
                 const mbhList = [];
                 for (const mb of materialBillsData) {
@@ -206,6 +206,13 @@ module.exports = app => {
                         order: this.ctx.material.order,
                         mb_id: mb.id,
                         quantity: mb.quantity,
+                        expr: mb.expr,
+                        msg_tp: mb.msg_tp,
+                        msg_times: mb.msg_times,
+                        msg_spread: mb.msg_spread,
+                        m_up_risk: mb.m_up_risk,
+                        m_down_risk: mb.m_down_risk,
+                        m_spread: mb.m_spread,
                         pre_tp: mb.pre_tp,
                     };
                     mbhList.push(newMbh);

+ 5 - 5
app/service/material_bills_history.js

@@ -30,11 +30,11 @@ module.exports = app => {
          * @returns {Promise<*[]>}
          */
         async getByMbId(mid, order, mb_id) {
-            const result = await this.getDataByCondition({ mid, order, mb_id });
-            if (result) {
-                return [result.quantity, result.pre_tp];
-            }
-            return [null, null];
+            return await this.getDataByCondition({ mid, order, mb_id });
+            // if (result) {
+            //     return [result.quantity, result.pre_tp];
+            // }
+            // return [null, null];
         }
     }
     return MaterialBillsHistory;

File diff suppressed because it is too large
+ 3 - 1
sql/update.sql