Jelajahi Sumber

Merge branch 'dev' of http://192.168.1.41:3000/maixinrong/Calculation into dev

MaiXinRong 2 tahun lalu
induk
melakukan
2234814ed9
1 mengubah file dengan 6 tambahan dan 7 penghapusan
  1. 6 7
      app/controller/tender_controller.js

+ 6 - 7
app/controller/tender_controller.js

@@ -399,6 +399,10 @@ module.exports = app => {
                     tender.ledger_status === auditConst.ledger.status.checkNo || tender.ledger_status === auditConst.ledger.status.uncheck);
                 const stages = await ctx.service.stage.getValidStages(ctx.tender.id);
                 const lastStage = stages.length > 0 ? stages[0] : null; // await ctx.service.stage.getLastestStage(ctx.tender.id);
+                const [change_tp, change_p_tp, change_n_tp] = await ctx.service.change.getChangeTp(tender.id);
+                tender.change_tp = change_tp;
+                tender.change_p_tp = change_p_tp;
+                tender.change_n_tp = change_n_tp;
                 if (lastStage) {
                     await this.ctx.service.stage.checkStageGatherData(lastStage, this.ctx.session.sessionUser.is_admin);
 
@@ -410,7 +414,7 @@ module.exports = app => {
                         tender.total_price = sum.total_price;
                         tender.deal_tp = sum.deal_tp;
                     }
-
+                    tender.sum = ctx.helper.add(tender.total_price, tender.change_tp);
                     tender.gather_tp = ctx.helper.sum([lastStage.contract_tp, lastStage.qc_tp, lastStage.pc_tp]);
                     tender.end_contract_tp = ctx.helper.sum([lastStage.contract_tp, lastStage.pre_contract_tp, lastStage.contract_pc_tp]);
                     tender.end_qc_tp = ctx.helper.sum([lastStage.qc_tp, lastStage.pre_qc_tp, lastStage.qc_pc_tp]);
@@ -419,12 +423,7 @@ module.exports = app => {
                     tender.end_gather_tp = ctx.helper.add(tender.end_contract_tp, tender.end_qc_tp);
                     tender.pre_gather_tp = ctx.helper.add(lastStage.pre_contract_tp, lastStage.pre_qc_tp);
                     tender.yf_tp = lastStage.yf_tp;
-                    const [change_tp, change_p_tp, change_n_tp] = await ctx.service.change.getChangeTp(tender.id);
-                    tender.change_tp = change_tp;
-                    tender.change_p_tp = change_p_tp;
-                    tender.change_n_tp = change_n_tp;
                     tender.qc_ratio = ctx.helper.mul(ctx.helper.div(tender.end_qc_tp, ctx.tender.info.deal_param.contractPrice, 2), 100);
-                    tender.sum = ctx.helper.add(tender.total_price, tender.change_tp);
                     tender.pre_ratio = ctx.helper.mul(ctx.helper.div(tender.pre_gather_tp, tender.sum, 2), 100);
                     tender.cur_ratio = ctx.helper.mul(ctx.helper.div(tender.gather_tp, tender.sum, 2), 100);
                     tender.other_tp = ctx.helper.sub(ctx.helper.sub(tender.sum, tender.pre_gather_tp), tender.gather_tp);
@@ -457,7 +456,7 @@ module.exports = app => {
                         tender.total_price = sum.total_price;
                         tender.deal_tp = sum.deal_tp;
                     }
-
+                    tender.sum = ctx.helper.add(tender.total_price, tender.change_tp);
                     if (tender.ledger_status !== auditConst.ledger.status.uncheck) {
                         const status_name = await this.ctx.service.ledgerAudit.getStatusName(tender.id, tender.ledger_times);
                         tender.status_users = status_name ? status_name.name : '';