| 
					
				 | 
			
			
				@@ -420,6 +420,7 @@ module.exports = app => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				          * @return {void} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				          */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         async approvalSuccess(postData, changeData) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            let tenderInfo; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             // 初始化事务 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             this.transaction = await this.db.beginTransaction(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             let result = false; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -445,8 +446,12 @@ module.exports = app => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     const lid = listInfo[0]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     const amount = listInfo[1]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     const changeListInfo = await this.ctx.service.changeAuditList.getDataById(lid); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    if (!tenderInfo) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        tenderInfo  = await this.ctx.service.tenderInfo.getTenderInfo(changeListInfo.tid); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     if (changeListInfo !== undefined) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        total_price += this.ctx.helper.accMul(changeListInfo.unit_price, parseFloat(amount)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        total_price = this.ctx.helper.add(total_price, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            this.ctx.helper.mul(changeListInfo.unit_price, amount, tenderInfo.decimal.tp)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         const audit_amount = changeListInfo.audit_amount !== null && changeListInfo.audit_amount !== '' ? changeListInfo.audit_amount.split(',') : []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         audit_amount.push(amount); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         const list_update = { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -514,6 +519,7 @@ module.exports = app => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 await this.transaction.commit(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 result = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } catch (error) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                console.log(error); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 await this.transaction.rollback(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 result = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -571,6 +577,7 @@ module.exports = app => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             let result = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 const changeInfo = await this.getDataByCondition({ cid: postData.change_id }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                const tenderInfo  = await this.ctx.service.tenderInfo.getTenderInfo(changeInfo.tid); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 // 设置审批人退回 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 const audit_update = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     id: postData.audit_id, 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -607,7 +614,8 @@ module.exports = app => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 const changeList = await this.ctx.service.changeAuditList.getAllDataByCondition({ where: { cid: changeInfo.cid } }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 let total_price = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 for (const cl of changeList) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    total_price += this.ctx.helper.accMul(cl.unit_price, cl.camount); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    total_price = this.ctx.helper.add(total_price, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        this.ctx.helper.mul(cl.unit_price, cl.camount, tenderInfo.decimal.tp)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 // 设置变更令退回 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 const change_update = { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -662,6 +670,7 @@ module.exports = app => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             let result = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 const changeInfo = await this.getDataByCondition({ cid: postData.change_id }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                const tenderInfo  = await this.ctx.service.tenderInfo.getTenderInfo(changeInfo.tid); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 // 设置审批人退回 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 const audit_update = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     id: postData.audit_id, 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -732,7 +741,8 @@ module.exports = app => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         audit_amount: audit_amount.join(','), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         spamount: parseFloat(last_amount), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    total_price += this.ctx.helper.accMul(cl.unit_price, parseFloat(last_amount)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    total_price = this.ctx.helper.add(total_price, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        this.ctx.helper.mul(cl.unit_price, parseFloat(last_amount), tenderInfo.decimal.tp)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     await this.transaction.update(this.ctx.service.changeAuditList.tableName, list_update); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -902,6 +912,7 @@ module.exports = app => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             let result = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 const changeInfo = await this.getDataByCondition({ cid }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                const tenderInfo  = await this.ctx.service.tenderInfo.getTenderInfo(changeInfo.tid); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 // 获取终审 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 const auditInfo = (await this.ctx.service.changeAudit.getAllDataByCondition({ where: { cid }, orders: [['usort', 'desc']], limit: 1, offset: 0 }))[0]; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -949,7 +960,8 @@ module.exports = app => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         audit_amount: audit_amount.join(','), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         samount: '', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    total_price += this.ctx.helper.accMul(cl.unit_price, cl.camount); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    total_price = this.ctx.helper.add(total_price, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        this.ctx.helper.mul(cl.unit_price, cl.camount, tenderInfo.decima.tp)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     await this.transaction.update(this.ctx.service.changeAuditList.tableName, list_update); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 |