|  | @@ -23,7 +23,6 @@ import (
 | 
	
		
			
				|  |  |  	"strconv"
 | 
	
		
			
				|  |  |  	"strings"
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -	"github.com/shopspring/decimal"
 | 
	
		
			
				|  |  |  	"go.mod/conf"
 | 
	
		
			
				|  |  |  	"go.mod/models"
 | 
	
		
			
				|  |  |  	"go.mod/web/viewmodels"
 | 
	
	
		
			
				|  | @@ -110,20 +109,21 @@ func MakeFolderContract(Data []*viewmodels.FolderContract, node *viewmodels.Fold
 | 
	
		
			
				|  |  |  			// returnDate[item.Time.Format(conf.SysTimeformMonth)], _ = decimal.NewFromFloat(returnDate[item.Time.Format(conf.SysTimeformMonth)]).Add(decimal.NewFromFloat(typePrice)).Float64()
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  			price, _ := strconv.ParseFloat(v.ContractsIncome, 64)
 | 
	
		
			
				|  |  | -			totalIncome, _ = decimal.NewFromFloat(totalIncome).Add(decimal.NewFromFloat(price)).Float64()
 | 
	
		
			
				|  |  | +			// totalIncome, _ = decimal.NewFromFloat(totalIncome).Add(decimal.NewFromFloat(price)).Float64()
 | 
	
		
			
				|  |  | +			totalIncome = totalIncome + price
 | 
	
		
			
				|  |  |  			// 2-2合同总数 合计
 | 
	
		
			
				|  |  |  			totalContractNumber = totalContractNumber + v.Contracts
 | 
	
		
			
				|  |  |  			// 2-3 汇款进度
 | 
	
		
			
				|  |  |  			price, _ = strconv.ParseFloat(v.ContractsReturned, 64)
 | 
	
		
			
				|  |  | -			totalReturn, _ = decimal.NewFromFloat(totalReturn).Add(decimal.NewFromFloat(price)).Float64()
 | 
	
		
			
				|  |  | -			// totalReturn = totalReturn + price
 | 
	
		
			
				|  |  | +			// totalReturn, _ = decimal.NewFromFloat(totalReturn).Add(decimal.NewFromFloat(price)).Float64()
 | 
	
		
			
				|  |  | +			totalReturn = totalReturn + price
 | 
	
		
			
				|  |  |  			//
 | 
	
		
			
				|  |  |  			price, _ = strconv.ParseFloat(v.ContractsPay, 64)
 | 
	
		
			
				|  |  | -			totalPay, _ = decimal.NewFromFloat(totalPay).Add(decimal.NewFromFloat(price)).Float64()
 | 
	
		
			
				|  |  | -			// totalPay = totalPay + price
 | 
	
		
			
				|  |  | +			// totalPay, _ = decimal.NewFromFloat(totalPay).Add(decimal.NewFromFloat(price)).Float64()
 | 
	
		
			
				|  |  | +			totalPay = totalPay + price
 | 
	
		
			
				|  |  |  			price, _ = strconv.ParseFloat(v.ContractsPaid, 64)
 | 
	
		
			
				|  |  | -			totalPaid, _ = decimal.NewFromFloat(totalPaid).Add(decimal.NewFromFloat(price)).Float64()
 | 
	
		
			
				|  |  | -			// totalPaid = totalPaid + price
 | 
	
		
			
				|  |  | +			// totalPaid, _ = decimal.NewFromFloat(totalPaid).Add(decimal.NewFromFloat(price)).Float64()
 | 
	
		
			
				|  |  | +			totalPaid = totalPaid + price
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  			// 安全巡检
 | 
	
		
			
				|  |  |  			safeTotal = safeTotal + v.SafeTotal
 | 
	
	
		
			
				|  | @@ -142,9 +142,15 @@ func MakeFolderContract(Data []*viewmodels.FolderContract, node *viewmodels.Fold
 | 
	
		
			
				|  |  |  			qualityTotalClose = qualityTotalClose + v.QualityClose
 | 
	
		
			
				|  |  |  		}
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +		// 汇款进度
 | 
	
		
			
				|  |  | +		// fmt.Println("============================")
 | 
	
		
			
				|  |  | +		// fmt.Println("totalIncome", totalIncome)
 | 
	
		
			
				|  |  | +		// fmt.Println("totalReturn", totalReturn)
 | 
	
		
			
				|  |  | +		// fmt.Println("name", node.Name)
 | 
	
		
			
				|  |  |  		node.ContractsIncome = fmt.Sprintf("%.2f", totalIncome)
 | 
	
		
			
				|  |  |  		node.Contracts = totalContractNumber
 | 
	
		
			
				|  |  | -		// 汇款进度
 | 
	
		
			
				|  |  | +		node.ContractsReturned = fmt.Sprintf("%.2f", totalReturn)
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  		quotient := totalReturn / totalIncome
 | 
	
		
			
				|  |  |  		if math.IsNaN(quotient) {
 | 
	
		
			
				|  |  |  			quotient = 0
 | 
	
	
		
			
				|  | @@ -153,6 +159,7 @@ func MakeFolderContract(Data []*viewmodels.FolderContract, node *viewmodels.Fold
 | 
	
		
			
				|  |  |  		// 支出相关
 | 
	
		
			
				|  |  |  		// node.ContractsPay =  fmt.Sprintf("%.2f", totalPay)
 | 
	
		
			
				|  |  |  		node.ContractsPay = fmt.Sprintf("%.2f", totalPay)
 | 
	
		
			
				|  |  | +		node.ContractsPaid = fmt.Sprintf("%.2f", totalPaid)
 | 
	
		
			
				|  |  |  		quotient = totalPaid / totalPay
 | 
	
		
			
				|  |  |  		if math.IsNaN(quotient) {
 | 
	
		
			
				|  |  |  			quotient = 0
 |