Browse Source

1. 期列表,本期实付相关
2. 中间计量,定位问题

MaiXinRong 5 years ago
parent
commit
cf40eb6dcd

+ 0 - 1
app/lib/stage_im.js

@@ -459,7 +459,6 @@ class StageIm {
         if (!gcl) {
             gcl = {b_code: bills.b_code, name: bills.name, unit: bills.unit, unit_price: bills.unit_price};
             im.gclBills.push(gcl);
-            this.ImBillsData.push(gcl);
         }
         if (pos) {
             gcl.quantity = helper.add(gcl.quantity, pos.quantity);

+ 3 - 0
app/public/js/stage.js

@@ -2274,6 +2274,7 @@ $(document).ready(() => {
                 const select = SpreadJsObj.getSelectObject(self.spread.getActiveSheet());
                 if (select && select.source) {
                     SpreadJsObj.locateTreeNode(slSpread.getActiveSheet(), select.source[curIndex-1].id, true);
+                    stagePosSpreadObj.loadCurPosData();
                 }
             });
             $('#im-locate-pre').click(function () {
@@ -2282,6 +2283,7 @@ $(document).ready(() => {
                 if (select && select.source) {
                     const targetIndex = math.max(curIndex-1, 1);
                     SpreadJsObj.locateTreeNode(slSpread.getActiveSheet(), select.source[targetIndex-1].id, true);
+                    stagePosSpreadObj.loadCurPosData();
                     $('#im-locate-info')[0].innerText = targetIndex + '/' + select.source.length;
                 }
             });
@@ -2291,6 +2293,7 @@ $(document).ready(() => {
                 if (select && select.source) {
                     const targetIndex = math.min(curIndex+1, select.source.length);
                     SpreadJsObj.locateTreeNode(slSpread.getActiveSheet(), select.source[targetIndex-1].id, true);
+                    stagePosSpreadObj.loadCurPosData();
                     $('#im-locate-info')[0].innerText = targetIndex + '/' + select.source.length;
                 }
 

+ 0 - 1
app/service/report_memory.js

@@ -258,7 +258,6 @@ module.exports = app => {
                 }
                 this.stageImData.main = err.statck ? '数据错误' : err;
             }
-            console.log(this.stageImData.main);
             return this.stageImData.main;
         }
 

+ 4 - 8
app/service/stage.js

@@ -207,11 +207,8 @@ module.exports = app => {
             // 最新一期计量(未审批完成),当前操作人的期详细数据,应实时计算
             if (stages.length > 0 && stages[0].status !== auditConst.status.checked) {
                 const stage = stages[0];
-                const curAuditor = await this.ctx.service.stageAudit.getCurAuditor(stage.id, stage.times);
-                const isActive = curAuditor ? curAuditor.aid === this.ctx.session.sessionUser.accountId : stage.user_id === this.ctx.session.sessionUser.accountId;
-                if (isActive) {
-                    stage.curTimes = stage.times;
-                    stage.curOrder = curAuditor ? curAuditor.order : 0;
+                await this.doCheckStage(stage);
+                if (!stage.readOnly) {
                     const tpData = await this.ctx.service.stageBills.getSumTotalPrice(stage);
                     stage.contract_tp = tpData.contract_tp;
                     stage.qc_tp = tpData.qc_tp;
@@ -225,11 +222,10 @@ module.exports = app => {
             for (const s of stages) {
                 if (s.yf_tp && s.sf_tp === 0) {
                     const sf = await this.ctx.service.stagePay.getHistorySf(s);
-                    if (sf) {
+                    if (sf && s.readOnly) {
                         await this.ctx.service.stage.update({ sf_tp: sf.tp, pre_sf_tp: sf.pre_tp}, {id: s.id});
                     }
-                    s. sf_tp = sf.tp;
-
+                    s.sf_tp = sf.tp;
                 }
             }
             return stages;

+ 5 - 1
app/service/stage_pay.js

@@ -10,6 +10,7 @@
 
 const timesLen = require('../const/audit').stage.timesLen;
 const payConst = require('../const/deal_pay');
+const auditConst = require('../const/audit');
 
 module.exports = app => {
     class StagePay extends app.BaseService {
@@ -262,7 +263,10 @@ module.exports = app => {
 
         async getHistorySf(stage) {
             if (!stage) return 0;
-            const stagePays = await this.getStageLastestPays(stage.id);
+            const stagePays = stage.status === auditConst.stage.status.checked
+                ? await this.getStageLastestPays(stage.id)
+                : await this.getStagePays(stage);
+            console.log(stagePays);
             const sf = this._.find(stagePays, {ptype: payConst.payType.sf});
             return sf;
         }

+ 10 - 3
test/app/service/report_memory_temp.test.js

@@ -88,6 +88,15 @@ const testSetting5 = {
     tenderId: 2142,
     sorder: 4,
 };
+const testSetting6 = {
+    postData: {
+        account: 'zengpeiwen',
+        project: 'P1201',
+        project_password: '123456',
+    },
+    tenderId: 2504,
+    sorder: 1,
+};
 
 const reportDataAnalysis = require('../../../app/lib/rpt_data_analysis');
 
@@ -149,7 +158,7 @@ describe('test/app/service/report_memory.test.js', () => {
     });
     it('test getStageImTzData && getStageImTzBillsData', function* () {
         const ctx = app.mockContext();
-        const testSetting = testSetting4;
+        const testSetting = testSetting6;
         ctx.session = {};
         const loginResult = yield ctx.service.projectAccount.accountLogin(testSetting.postData, 2);
         assert(loginResult);
@@ -158,7 +167,6 @@ describe('test/app/service/report_memory.test.js', () => {
         const stage = yield ctx.service.stage.getDataByCondition({tid: testSetting.tenderId, order: testSetting.sorder});
         data.mem_stage_im_tz = yield ctx.service.reportMemory.getStageImTzData(stage.tid, stage.id, [], false);
         yield ctx.helper.saveBufferFile(JSON.stringify(data.mem_stage_im_tz, "", "\t"), path.join(savePath, 'mem_stage_im_tz.json'));
-        console.log(ctx.helper._.map(data.mem_stage_im_tz, 'calc_memo'));
         data.mem_stage_im_tz_bills = yield ctx.service.reportMemory.getStageImTzBillsData(stage.tid, stage.id, [], false);
         yield ctx.helper.saveBufferFile(JSON.stringify(data.mem_stage_im_tz_bills, "", "\t"), path.join(savePath, 'mem_stage_im_tz_bills.json'));
     });
@@ -173,6 +181,5 @@ describe('test/app/service/report_memory.test.js', () => {
         const stage = yield ctx.service.stage.getDataByCondition({tid: testSetting.tenderId, order: testSetting.sorder});
         data.mem_stage_im_zl = yield ctx.service.reportMemory.getStageImZlData(stage.tid, stage.id, []);
         yield ctx.helper.saveBufferFile(JSON.stringify(data.mem_stage_im_zl, "", "\t"), path.join(savePath, 'mem_stage_im_zl.json'));
-        console.log(ctx.helper._.map(data.mem_stage_im_zl, 'calc_memo'));
     });
 });