caipin 4 rokov pred
rodič
commit
4619981e3f

+ 10 - 6
services/contract_expenditure_service.go

@@ -10,6 +10,7 @@ package services
 import (
 	"errors"
 	"fmt"
+	"strconv"
 	"time"
 
 	"github.com/shopspring/decimal"
@@ -42,7 +43,9 @@ func (s *contractService) AddExpenditure(contractData *viewmodels.Contracts, pro
 	contractsCm.Code = contractData.Code
 	contractsCm.Name = contractData.Name
 	contractsCm.ContractsType = 2
-	contractsCm.Price = contractData.Price
+
+	contractsCm.Price = strconv.FormatFloat(contractData.Price, 'f', 1, 64)
+	// contractsCm.Price = contractData.Price
 	contractsCm.Returned = "0"
 	contractsCm.Paid = "0"
 	contractsCm.TreeId = treeId
@@ -86,10 +89,11 @@ func (s *contractService) UpdateExpenditure(contractData *viewmodels.Contracts,
 	}
 	// 4.合同金额不能小于回款金额
 	paidPrice, _ := decimal.NewFromString(contractsTree.ContractsPaid)
-	price, err := decimal.NewFromString(contractData.Price)
-	if err != nil {
-		return errors.New("金额填写有误")
-	}
+	price := decimal.NewFromFloat(contractData.Price)
+	// price, err := decimal.NewFromString(contractData.Price)
+	// if err != nil {
+	// 	return errors.New("金额填写有误")
+	// }
 
 	if paidPrice.GreaterThan(price) {
 		return errors.New(fmt.Sprintf("合同金额不能低于%s", contractsTree.ContractsPaid))
@@ -99,7 +103,7 @@ func (s *contractService) UpdateExpenditure(contractData *viewmodels.Contracts,
 	contractsCm.Id = contractsTree.ContractId
 	contractsCm.Content = contractData.Content
 	contractsCm.Name = contractData.Name
-	contractsCm.Price = contractData.Price
+	contractsCm.Price = strconv.FormatFloat(contractData.Price, 'f', 1, 64)
 	contractsCm.PartyA = contractData.PartyA
 	contractsCm.PartyASigner = contractData.PartyASigner
 	contractsCm.PartyB = contractData.PartyB

+ 16 - 12
services/contract_return_service.go

@@ -18,7 +18,6 @@ import (
 	"go.mod/comm"
 	"go.mod/conf"
 	"go.mod/models"
-	"go.mod/web/utils"
 	"go.mod/web/viewmodels"
 )
 
@@ -36,7 +35,7 @@ func (s *contractService) makeContractRetrunVM(data *models.CmContractsReturn) *
 	viewContractsReturn.Time = data.Time.Format(conf.SysTimeform)
 
 	price, _ := strconv.ParseFloat(data.Price, 64)
-	viewContractsReturn.PriceString = utils.PriceToStringFormat(price)
+	// viewContractsReturn.PriceString = utils.PriceToStringFormat(price)
 	viewContractsReturn.Price = price
 
 	viewContractsReturn.Way = data.Way
@@ -138,10 +137,12 @@ func (s *contractService) ReturnCreate(returnData *viewmodels.ContractsReturn, p
 	}
 
 	// 1-3已支付的中金额不能超过 合同金额
-	price, err := decimal.NewFromString(returnData.PriceString)
-	if err != nil {
-		return errors.New("金额填写有误")
-	}
+
+	// price, err := decimal.NewFromString(returnData.PriceString)
+	price := decimal.NewFromFloat(returnData.Price)
+	// if err != nil {
+	// 	return errors.New("金额填写有误")
+	// }
 	contractPrice, _ := decimal.NewFromString(contract.Price)
 	returnedPrice, _ := decimal.NewFromString(contract.Returned)
 	resultPrice := contractPrice.Sub(returnedPrice)
@@ -169,7 +170,7 @@ func (s *contractService) ReturnCreate(returnData *viewmodels.ContractsReturn, p
 	contractsReturnCm.CreateUser = returnData.CreateUser
 	contractsReturnCm.AccountId = projectAccountId
 
-	contractsReturnCm.Price = returnData.PriceString
+	contractsReturnCm.Price = strconv.FormatFloat(returnData.Price, 'f', 1, 64)
 
 	// 3.新增回款
 	err = s.contractReturnDao.Add(contractsReturnCm)
@@ -204,10 +205,12 @@ func (s *contractService) ReturnUpdate(returnData *viewmodels.ContractsReturn, p
 	}
 
 	// 1-3已支付的中金额不能超过 合同金额
-	price, err := decimal.NewFromString(returnData.PriceString)
-	if err != nil {
-		return errors.New("金额填写有误")
-	}
+
+	// price, err := decimal.NewFromString(returnData.PriceString)
+	price := decimal.NewFromFloat(returnData.Price)
+	// if err != nil {
+	// 	return errors.New("金额填写有误")
+	// }
 	contractPrice, _ := decimal.NewFromString(contract.Price)
 	returnedPrice, _ := decimal.NewFromString(contract.Returned)
 	// 当前回款金额
@@ -235,7 +238,8 @@ func (s *contractService) ReturnUpdate(returnData *viewmodels.ContractsReturn, p
 	}
 	contractsReturnCm.Time = time
 
-	contractsReturnCm.Price = returnData.PriceString
+	// contractsReturnCm.Price = returnData.PriceString
+	contractsReturnCm.Price = strconv.FormatFloat(returnData.Price, 'f', 1, 64)
 
 	columns := []string{"Way", "Remarks", "Time", "Price"}
 

+ 15 - 10
services/contract_service.go

@@ -249,7 +249,7 @@ func (s *contractService) ValidRuleContractAdd(ctx iris.Context) (*viewmodels.Co
 	// xss
 	contractsVaild.Code = html.EscapeString(contractsVaild.Code)
 	contractsVaild.Name = html.EscapeString(contractsVaild.Name)
-	contractsVaild.Price = html.EscapeString(contractsVaild.Price)
+	// contractsVaild.Price = html.EscapeString(contractsVaild.Price)
 
 	return contractsVaild, nil
 }
@@ -273,7 +273,7 @@ func (s *contractService) ValidRuleContractEdi(ctx iris.Context) (*viewmodels.Co
 
 	contractsVaild.Content = html.EscapeString(contractsVaild.Content)
 	contractsVaild.Name = html.EscapeString(contractsVaild.Name)
-	contractsVaild.Price = html.EscapeString(contractsVaild.Price)
+	// contractsVaild.Price = html.EscapeString(contractsVaild.Price)
 
 	contractsVaild.PartyA = html.EscapeString(contractsVaild.PartyA)
 	contractsVaild.PartyASigner = html.EscapeString(contractsVaild.PartyASigner)
@@ -375,7 +375,9 @@ func (s *contractService) Add(contractData *viewmodels.Contracts, projectId int,
 	contractsCm.Code = contractData.Code
 	contractsCm.Name = contractData.Name
 	contractsCm.ContractsType = 1
-	contractsCm.Price = contractData.Price
+
+	contractsCm.Price = strconv.FormatFloat(contractData.Price, 'f', 1, 64)
+	// contractsCm.Price = contractData.Price
 	contractsCm.Returned = "0"
 	contractsCm.Paid = "0"
 	contractsCm.TreeId = treeId
@@ -419,10 +421,11 @@ func (s *contractService) Update(contractData *viewmodels.Contracts, projectId i
 	}
 	// 4.合同金额不能小于回款金额
 	returnedPrice, _ := decimal.NewFromString(contractsTree.ContractReturned)
-	price, err := decimal.NewFromString(contractData.Price)
-	if err != nil {
-		return errors.New("金额填写有误")
-	}
+	price := decimal.NewFromFloat(contractData.Price)
+	// price, err := decimal.NewFromString(contractData.Price)
+	// if err != nil {
+	// 	return errors.New("金额填写有误")
+	// }
 
 	if returnedPrice.GreaterThan(price) {
 		return errors.New(fmt.Sprintf("合同金额不能低于%s", contractsTree.ContractReturned))
@@ -432,7 +435,9 @@ func (s *contractService) Update(contractData *viewmodels.Contracts, projectId i
 	contractsCm.Id = contractsTree.ContractId
 	contractsCm.Content = contractData.Content
 	contractsCm.Name = contractData.Name
-	contractsCm.Price = contractData.Price
+
+	contractsCm.Price = strconv.FormatFloat(contractData.Price, 'f', 1, 64)
+	// contractsCm.Price = contractData.Price
 	contractsCm.PartyA = contractData.PartyA
 	contractsCm.PartyASigner = contractData.PartyASigner
 	contractsCm.PartyB = contractData.PartyB
@@ -707,8 +712,8 @@ func (s *contractService) makeContractVM(contract *models.CmContracts) viewmodel
 	// paid, _ := strconv.ParseFloat(contract.Paid, 64)
 
 	price, _ := strconv.ParseFloat(contract.Price, 64)
-	contractsVM.PriceFloat = price
-	contractsVM.Price = contract.Price
+	// contractsVM.PriceFloat = price
+	contractsVM.Price = price
 	contractsVM.Returned = contract.Returned
 	contractsVM.Paid = contract.Paid
 	contractsVM.Status = contract.Status

+ 15 - 15
web/viewmodels/contract.go

@@ -11,21 +11,21 @@ import (
 )
 
 type Contracts struct {
-	Id            string  `form:"id" json:"id" `
-	TreeId        string  `form:"treeId" json:"treeId" `
-	ContractsType int     `form:"contractsType" json:"contractsType" `
-	ProjectId     string  `form:"projectId" json:"projectId" `
-	BidsectionId  string  `form:"bidsectionId" json:"bidsectionId" `
-	Name          string  `form:"name" json:"name" `
-	Code          string  `form:"code" json:"code" `
-	PriceFloat    float64 `form:"priceFloat" json:"priceFloat" `
-	Price         string  `form:"price" json:"price" `
-	Returned      string  `form:"returned" json:"returned" `
-	Paid          string  `form:"paid" json:"paid" `
-	Status        int     `form:"status" json:"status" `
-	Locking       int     `form:"locking" json:"locking" `
-	CreateTime    string  `form:"createTime" json:"createTime" `
-	UpdateTime    string  `form:"updateTime" json:"updateTime" `
+	Id            string `form:"id" json:"id" `
+	TreeId        string `form:"treeId" json:"treeId" `
+	ContractsType int    `form:"contractsType" json:"contractsType" `
+	ProjectId     string `form:"projectId" json:"projectId" `
+	BidsectionId  string `form:"bidsectionId" json:"bidsectionId" `
+	Name          string `form:"name" json:"name" `
+	Code          string `form:"code" json:"code" `
+	// PriceFloat    float64 `form:"priceFloat" json:"priceFloat" `
+	Price      float64 `form:"price" json:"price" `
+	Returned   string  `form:"returned" json:"returned" `
+	Paid       string  `form:"paid" json:"paid" `
+	Status     int     `form:"status" json:"status" `
+	Locking    int     `form:"locking" json:"locking" `
+	CreateTime string  `form:"createTime" json:"createTime" `
+	UpdateTime string  `form:"updateTime" json:"updateTime" `
 
 	Content      string `form:"content" json:"content" `
 	PartyA       string `form:"partyA" json:"partyA" `

+ 9 - 9
web/viewmodels/contracts_return.go

@@ -14,15 +14,15 @@ type ContractsReturn struct {
 	ProjectId    string `form:"projectId" json:"projectId" `
 	BidsectionId string `form:"bidsectionId" json:"bidsectionId" `
 	// TreeId       string `form:"treeId" json:"treeId" `
-	Time        string  `form:"time" json:"time" `
-	PriceString string  `form:"priceString" json:"priceString" `
-	Price       float64 `form:"price" json:"price" `
-	Way         string  `form:"way" json:"way" `
-	CreateUser  string  `form:"createUser" json:"createUser" `
-	AccountId   string  `form:"accountId" json:"accountId" `
-	Remarks     string  `form:"remarks" json:"remarks" `
-	CreateTime  string  `form:"createTime" json:"createTime" `
-	FileCounts  int64   `from:"fileCounts" json:"fileCounts"`
+	Time string `form:"time" json:"time" `
+	// PriceString string  `form:"priceString" json:"priceString" `
+	Price      float64 `form:"price" json:"price" `
+	Way        string  `form:"way" json:"way" `
+	CreateUser string  `form:"createUser" json:"createUser" `
+	AccountId  string  `form:"accountId" json:"accountId" `
+	Remarks    string  `form:"remarks" json:"remarks" `
+	CreateTime string  `form:"createTime" json:"createTime" `
+	FileCounts int64   `from:"fileCounts" json:"fileCounts"`
 
 	Page int `form:"page" json:"page" `
 }