Ver código fonte

期数据来源问题

MaiXinRong 2 anos atrás
pai
commit
7b2b16f807
2 arquivos alterados com 13 adições e 7 exclusões
  1. 5 4
      app/public/js/measure_compare.js
  2. 8 3
      app/service/stage.js

+ 5 - 4
app/public/js/measure_compare.js

@@ -264,6 +264,7 @@ $(document).ready(() => {
         SpreadJsObj.resetTopAndSelect(leafXmjSheet);
     }
     billsSheet.bind(spreadNS.Events.SelectionChanged, function (e, info) {
+        console.log(SpreadJsObj.getSelectObject(info.sheet));
         if (info.newSelections) {
             const iNewRow = info.newSelections[0].row;
             if (info.oldSelections) {
@@ -392,14 +393,14 @@ $(document).ready(() => {
     $('[name=compare-data]').click(function () {
         initSpreadSettingWithRoles(compareStages);
         SpreadJsObj.reLoadSheetHeader(billsSheet);
-        SpreadJsObj.reloadColData(billsSheet, billsSpreadSetting.baseCols.length - 1, compareStages.length * billsSpreadSetting.extraCols.length);
+        SpreadJsObj.reloadColData(billsSheet, billsSpreadSetting.baseCols.length, compareStages.length * billsSpreadSetting.extraCols.length);
         SpreadJsObj.reLoadSheetHeader(posSheet);
-        SpreadJsObj.reloadColData(posSheet, posSpreadSetting.baseCols.length - 1, compareStages.length * posSpreadSetting.extraCols.length);
+        SpreadJsObj.reloadColData(posSheet, posSpreadSetting.baseCols.length, compareStages.length * posSpreadSetting.extraCols.length);
 
         SpreadJsObj.reLoadSheetHeader(gclSheet);
-        SpreadJsObj.reloadColData(gclSheet, gclSpreadSetting.baseCols.length - 1, compareStages.length * gclSpreadSetting.extraCols.length);
+        SpreadJsObj.reloadColData(gclSheet, gclSpreadSetting.baseCols.length, compareStages.length * gclSpreadSetting.extraCols.length);
         SpreadJsObj.reLoadSheetHeader(leafXmjSheet);
-        SpreadJsObj.reloadColData(leafXmjSheet, leafXmjSpreadSetting.baseCols.length - 1, compareStages.length * leafXmjSpreadSetting.extraCols.length);
+        SpreadJsObj.reloadColData(leafXmjSheet, leafXmjSpreadSetting.baseCols.length, compareStages.length * leafXmjSpreadSetting.extraCols.length);
     });
     $('[name=compareType]').click(function () {
         $('[name=compareType]').removeClass('active');

+ 8 - 3
app/service/stage.js

@@ -226,8 +226,12 @@ module.exports = app => {
                 await this.doCheckStage(stage, force);
                 if (!stage.readOnly && stage.check_calc) {
                     const tpData = await this.ctx.service.stageBills.getSumTotalPrice(stage);
+                    const pcSum = await this.ctx.service.stageBillsPc.getSumTotalPrice(stage);
                     stage.contract_tp = tpData.contract_tp;
                     stage.qc_tp = tpData.qc_tp;
+                    stage.contract_pc_tp = pcSum.contract_pc_tp;
+                    stage.qc_pc_tp = pcSum.qc_pc_tp;
+                    stage.pc_tp = pcSum.pc_tp;
                     stage.tp =this.ctx.helper.add(stage.contract_tp, stage.qc_tp);
                     const tp = await this.ctx.service.stagePay.getSpecialTotalPrice(stage);
                     stage.yf_tp = tp.yf;
@@ -236,6 +240,7 @@ module.exports = app => {
                     await this.update({
                         check_calc: false,
                         contract_tp: stage.contract_tp, qc_tp: stage.qc_tp,
+                        contract_pc_tp: stage.contract_pc_tp || 0, qc_pc_tp: stage.qc_pc_tp || 0, pc_tp: stage.pc_tp || 0,
                         yf_tp: stage.yf_tp, sf_tp: stage.sf_tp,
                     }, { id: stage.id });
                 } else if (stage.tp_history) {
@@ -263,7 +268,7 @@ module.exports = app => {
                 orders: [['order', 'desc']],
             });
             for (const s of stages) {
-                s.tp = this.ctx.helper.add(s.contract_tp, s.qc_tp);
+                s.tp = this.ctx.helper.sum([s.contract_tp, s.qc_tp, s.pc_tp]);
                 s.pre_tp = this.ctx.helper.add(s.pre_contract_tp, s.pre_qc_tp);
                 s.end_tp = this.ctx.helper.add(s.pre_tp, s.tp);
                 s.tp_history = s.tp_history ? JSON.parse(s.tp_history) : [];
@@ -336,8 +341,8 @@ module.exports = app => {
                 newStage.im_pre = preStage.im_pre;
                 newStage.im_gather = preStage.im_gather;
                 newStage.im_gather_node = preStage.im_gather_node;
-                newStage.pre_contract_tp = this.ctx.helper.add(preStage.pre_contract_tp, preStage.contract_tp);
-                newStage.pre_qc_tp = this.ctx.helper.add(preStage.pre_qc_tp, preStage.qc_tp);
+                newStage.pre_contract_tp = this.ctx.helper.sum([preStage.pre_contract_tp, preStage.contract_tp, preStage.contract_pc_tp]);
+                newStage.pre_qc_tp = this.ctx.helper.sum([preStage.pre_qc_tp, preStage.qc_tp, preStage.qc_pc_tp]);
                 newStage.pre_yf_tp = this.ctx.helper.add(preStage.pre_yf_tp, preStage.yf_tp);
                 if (preStage.order === 1 || preStage.pre_sf_tp) {
                     newStage.pre_sf_tp = this.ctx.helper.add(preStage.pre_sf_tp, preStage.sf_tp);