| 
					
				 | 
			
			
				@@ -226,6 +226,7 @@ module.exports = app => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             const datas = data instanceof Array ? data : [data]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             const orgPos = await this.ctx.service.pos.getPosDataByIds(this._.map(datas, 'pid')); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             const orgStagePos = await this.getLastestStageData2(this.ctx.tender.id, this.ctx.stage.id, {pid: this._.map(datas, 'pid')}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            console.log(orgStagePos); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             const transaction = await this.db.beginTransaction(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             try { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -255,28 +256,33 @@ module.exports = app => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     if (d.contract_qty !== undefined || d.qc_qty !== undefined || d.postil !== undefined) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        const sp = {pid: d.pid, lid: d.lid, contract_qty: d.contract_qty, qc_qty: d.qc_qty, postil: d.postil}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         const osp = this._.find(orgStagePos, function (p) { return p.pid === d.pid; }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        if (precision) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            this.ctx.helper.checkFieldPrecision(sp, this.qtyFields, precision.value); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         if (osp && osp.times === this.ctx.stage.curTimes && osp.order === this.ctx.stage.curOrder) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            if (d.contract_qty === undefined) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                d.contract_qty = osp.contract_qty; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            const sp = {}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            if (d.contract_qty !== undefined) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                sp.contract_qty = this.ctx.helper.round(d.contract_qty, precision.value); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            if (d.qc_qty === undefined) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                d.qc_qty = osp.qc_qty; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            if (d.qc_qty !== undefined) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                sp.qc_qty = this.ctx.helper.round(d.qc_qty, precision.value); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            if (d.postil === undefined) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                d.postil = osp.postil; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            if (d.postil !== undefined) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                sp.postil = this.ctx.helper.round(d.postil, precision.value); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            await transaction.update(this.tableName, d, {where: {id: osp.id}}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            await transaction.update(this.tableName, sp, {where: {id: osp.id}}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            sp.tid = this.ctx.tender.id; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            sp.sid = this.ctx.stage.id; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            sp.said = this.ctx.session.sessionUser.accountId; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            sp.times = this.ctx.stage.curTimes; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            sp.order = this.ctx.stage.curOrder; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            const sp = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                pid: d.pid, lid: d.lid, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                tid: this.ctx.tender.id, sid: this.ctx.stage.id, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                said: this.ctx.session.sessionUser.accountId, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                times: this.ctx.stage.curTimes, order: this.ctx.stage.curOrder 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            sp.contract_qty = d.contract_qty === undefined && osp 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                ? osp.contract_qty 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                : this.ctx.helper.round(d.contract_qty, precision.value); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            sp.qc_qty = d.qc_qty === undefined && osp 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                ? osp.qc_qty 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                : this.ctx.helper.round(d.qc_qty, precision.value); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            sp.postil = d.postil === undefined && osp ? osp.postil : d.postil; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                             await transaction.insert(this.tableName, sp); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -355,6 +361,7 @@ module.exports = app => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             if ((data.updateType === 'add' || data.upateType === 'delete') && this.ctx.tender.measure_type === measureType.tz) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 throw '台账模式下,不可在计量中新增或删除部位明细,如需操作,请进行台账修订'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            console.log(data); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             let refreshData; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             if (data.updateType === 'add') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 refreshData = await this._addStagePosData(data.updateData); 
			 |