| 
					
				 | 
			
			
				@@ -9,6 +9,7 @@ package services 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	"errors" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	"fmt" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	"log" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	"strconv" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	"time" 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -18,7 +19,6 @@ import ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	"go.mod/comm" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	"go.mod/conf" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	"go.mod/models" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	"go.mod/web/utils" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	"go.mod/web/viewmodels" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -50,10 +50,11 @@ func (s *contractService) PaidCreate(returnData *viewmodels.ContractsPaid, proje 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	// 1-3已支付的中金额不能超过 合同金额 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	price, err := decimal.NewFromString(returnData.Price) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	if err != nil { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		return errors.New("金额填写有误") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	price := decimal.NewFromFloat(returnData.Price) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	// price, err := decimal.NewFromString(returnData.Price) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	// if err != nil { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	// 	return errors.New("金额填写有误") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	// } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	contractPrice, _ := decimal.NewFromString(contract.Price) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	paidPrice, _ := decimal.NewFromString(contract.Paid) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	resultPrice := contractPrice.Sub(paidPrice) 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -81,7 +82,7 @@ func (s *contractService) PaidCreate(returnData *viewmodels.ContractsPaid, proje 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	contractsReturnCm.CreateUser = returnData.CreateUser 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	contractsReturnCm.AccountId = projectAccountId 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	contractsReturnCm.Price = returnData.Price 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	contractsReturnCm.Price = fmt.Sprintf("%.2f", returnData.Price) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	// 3.新增回款 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	err = s.contractPaidDao.Add(contractsReturnCm) 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -116,10 +117,11 @@ func (s *contractService) PaidUpdate(returnData *viewmodels.ContractsPaid, proje 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	// 1-3已支付的中金额不能超过 合同金额 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	price, err := decimal.NewFromString(returnData.Price) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	if err != nil { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		return errors.New("金额填写有误") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	price := decimal.NewFromFloat(returnData.Price) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	// price, err := decimal.NewFromString(returnData.Price) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	// if err != nil { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	// 	return errors.New("金额填写有误") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	// } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	contractPrice, _ := decimal.NewFromString(contract.Price) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	paidPrice, _ := decimal.NewFromString(contract.Paid) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	// 当前回款金额 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -147,11 +149,12 @@ func (s *contractService) PaidUpdate(returnData *viewmodels.ContractsPaid, proje 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	contractsReturnCm.Time = time 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	_, err = strconv.ParseFloat(returnData.Price, 64) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	if err != nil { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		return errors.New("金额填写有误") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	contractsReturnCm.Price = returnData.Price 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	// _, err = strconv.ParseFloat(returnData.Price, 64) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	// if err != nil { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	// 	return errors.New("金额填写有误") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	// } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	contractsReturnCm.Price = fmt.Sprintf("%.2f", returnData.Price) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	// 3.更新已支付信息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	err = s.contractPaidDao.Update(contractsReturnCm, contractsId, bidsectionId) 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -218,8 +221,8 @@ func (s *contractService) makeContractPaidVM(data *models.CmContractsPaid) *view 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	viewContractsReturn.Time = data.Time.Format(conf.SysTimeform) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	price, _ := strconv.ParseFloat(data.Price, 64) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	viewContractsReturn.Price = utils.PriceToStringFormat(price) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	// fmt.Sprintf("%.2f", price) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	viewContractsReturn.Price = price 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	viewContractsReturn.Way = data.Way 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	viewContractsReturn.CreateUser = data.CreateUser 
			 |