From a3de6fbf95c9d3ca08ac5b78217c7a065c9a39a7 Mon Sep 17 00:00:00 2001 From: liujiandao <274878379@qq.com> Date: 星期五, 27 十月 2023 10:25:33 +0800 Subject: [PATCH] 退货单修改 --- service/salesDetails.go | 3 + model/contract.go | 2 model/salesDetailsProduct.go | 9 ++++ model/request/salesDetails.go | 4 +- api/v1/contract.go | 1 docs/swagger.yaml | 6 ++- model/SalesReturnProduct.go | 21 +++++++--- docs/docs.go | 7 ++- docs/swagger.json | 7 ++- model/request/contract.go | 2 model/salesDetails.go | 2 api/v1/salesDetails.go | 1 service/salesReturn.go | 1 13 files changed, 49 insertions(+), 17 deletions(-) diff --git a/api/v1/contract.go b/api/v1/contract.go index a2cc756..5a0dcdd 100644 --- a/api/v1/contract.go +++ b/api/v1/contract.go @@ -140,6 +140,7 @@ File: contract.File, CodeStandID: contract.CodeStandID, ContractName: contract.ContractName, + SendTime: contract.SendTime, } return ecode.OK, contractModel diff --git a/api/v1/salesDetails.go b/api/v1/salesDetails.go index f5c69eb..1a1e37d 100644 --- a/api/v1/salesDetails.go +++ b/api/v1/salesDetails.go @@ -159,6 +159,7 @@ salesDetailsModel.LogisticCost = salesDetails.LogisticCost salesDetailsModel.CodeStandID = salesDetails.CodeStandID salesDetailsModel.DeliverType = salesDetails.DeliverType + salesDetailsModel.QuotationId = salesDetails.QuotationId return ecode.OK, salesDetailsModel } diff --git a/docs/docs.go b/docs/docs.go index bf61850..8452e69 100644 --- a/docs/docs.go +++ b/docs/docs.go @@ -11150,6 +11150,9 @@ "quotationId": { "type": "integer" }, + "sendTime": { + "type": "string" + }, "serviceContractStatus": { "$ref": "#/definitions/model.ServiceContractStatus" }, @@ -13578,7 +13581,7 @@ "type": "integer" }, "sendTime": { - "description": "鍙戣揣鏃堕棿s", + "description": "鍙戣揣鏃堕棿", "type": "string" }, "status_id": { @@ -16515,7 +16518,7 @@ "type": "integer" }, "sendTime": { - "description": "鍙戣揣鏃堕棿s", + "description": "鍙戣揣鏃堕棿", "type": "string" }, "status_id": { diff --git a/docs/swagger.json b/docs/swagger.json index 28a34e8..64bc3af 100644 --- a/docs/swagger.json +++ b/docs/swagger.json @@ -11138,6 +11138,9 @@ "quotationId": { "type": "integer" }, + "sendTime": { + "type": "string" + }, "serviceContractStatus": { "$ref": "#/definitions/model.ServiceContractStatus" }, @@ -13566,7 +13569,7 @@ "type": "integer" }, "sendTime": { - "description": "鍙戣揣鏃堕棿s", + "description": "鍙戣揣鏃堕棿", "type": "string" }, "status_id": { @@ -16503,7 +16506,7 @@ "type": "integer" }, "sendTime": { - "description": "鍙戣揣鏃堕棿s", + "description": "鍙戣揣鏃堕棿", "type": "string" }, "status_id": { diff --git a/docs/swagger.yaml b/docs/swagger.yaml index 28a52ba..a27c9b3 100644 --- a/docs/swagger.yaml +++ b/docs/swagger.yaml @@ -762,6 +762,8 @@ $ref: '#/definitions/model.Quotation' quotationId: type: integer + sendTime: + type: string serviceContractStatus: $ref: '#/definitions/model.ServiceContractStatus' statusId: @@ -2390,7 +2392,7 @@ quotation_id: type: integer sendTime: - description: 鍙戣揣鏃堕棿s + description: 鍙戣揣鏃堕棿 type: string status_id: type: integer @@ -4405,7 +4407,7 @@ quotation_id: type: integer sendTime: - description: 鍙戣揣鏃堕棿s + description: 鍙戣揣鏃堕棿 type: string status_id: type: integer diff --git a/model/SalesReturnProduct.go b/model/SalesReturnProduct.go index 35bb297..07374d0 100644 --- a/model/SalesReturnProduct.go +++ b/model/SalesReturnProduct.go @@ -9,22 +9,23 @@ type ( // SalesReturnProduct 鏈嶅姟鍚堝悓鍜屼骇鍝佸叧鑱� SalesReturnProduct struct { - SalesReturnId int `json:"id" gorm:"column:service_contract_id;type:int;primary_key;not null;default:0"` + SalesReturnId int `json:"id" gorm:"column:sales_return_id;type:int;primary_key;not null;default:0"` ProductId uint `json:"name" gorm:"primary_key;column:product_id;type:int;not null;default:0;comment:浜у搧id"` } // SalesReturnProductSearch 閿�鍞槑缁嗗拰浜у搧鍏宠仈鎼滅储鏉′欢 SalesReturnProductSearch struct { SalesReturnProduct - Orm *gorm.DB - Keyword string - PageNum int - PageSize int + Orm *gorm.DB + Keyword string + PageNum int + PageSize int + ProductIds []uint } ) func (SalesReturnProduct) TableName() string { - return "service_contract_product" + return "sales_return_product" } func NewSalesReturnProductSearch() *SalesReturnProductSearch { @@ -35,10 +36,18 @@ func (slf *SalesReturnProductSearch) build() *gorm.DB { var db = slf.Orm.Model(&SalesReturnProduct{}) + if len(slf.ProductIds) > 0 { + db = db.Where("product_id in (?)", slf.ProductIds) + } return db } +func (slf *SalesReturnProductSearch) SetProductIds(ids []uint) *SalesReturnProductSearch { + slf.ProductIds = ids + return slf +} + func (slf *SalesReturnProductSearch) Create(record *SalesReturnProduct) error { var db = slf.build() return db.Create(record).Error diff --git a/model/contract.go b/model/contract.go index 63dd9cf..91e50e8 100644 --- a/model/contract.go +++ b/model/contract.go @@ -22,7 +22,7 @@ File string `json:"file" gorm:"column:file;type:varchar(255);comment:鍚堝悓鏂囦欢"` CreatedAt *CustomTime `json:"created_at" gorm:"column:created_at;type:datetime;comment:鍒涘缓鏃堕棿"` CodeStandID string `json:"codeStandID" gorm:"column:code_stand_id;type:varchar(255);comment:缂栫爜id"` - //SendTime string `json:"sendTime" gorm:"column:send_time;type:varchar(255);comment:鍙戣揣鏃堕棿"` + SendTime string `json:"sendTime" gorm:"column:send_time;type:varchar(255);comment:鍙戣揣鏃堕棿"` gormModel } diff --git a/model/request/contract.go b/model/request/contract.go index e051bb6..ef09ea2 100644 --- a/model/request/contract.go +++ b/model/request/contract.go @@ -13,7 +13,7 @@ StatusId int `json:"status_id"` File string `json:"file"` CodeStandID string `json:"codeStandID"` //缂栫爜id - SendTime string `json:"sendTime"` //鍙戣揣鏃堕棿s + SendTime string `json:"sendTime"` //鍙戣揣鏃堕棿 } type UpdateContract struct { diff --git a/model/request/salesDetails.go b/model/request/salesDetails.go index 0b4a8bd..71aa235 100644 --- a/model/request/salesDetails.go +++ b/model/request/salesDetails.go @@ -11,7 +11,7 @@ type SalesDetails struct { ClientId int `json:"clientId" gorm:"column:client_id;type:int;comment:瀹㈡埛id"` - Number string `json:"number" gorm:"column:number;type:varchar(255);comment:閿�鍞瓙鍗曞彿"` + Number string `json:"number" gorm:"column:number;type:varchar(255);comment:閿�鍞槑缁嗗崟鍙�"` SaleChanceId int `json:"saleChanceId" gorm:"column:sale_chance_id;type:int;comment:閿�鍞満浼歩d"` SaleType int `json:"saleType" gorm:"column:sale_type;type:int;comment:閿�鍞被鍨�"` SignTime string `json:"signTime" gorm:"column:sign_time;type:datetime;comment:绛惧崟鏃堕棿"` @@ -43,5 +43,5 @@ Keyword string `json:"keyword"` SaleChanceId int `json:"saleChanceId"` //閿�鍞満浼歩d ClientId int `json:"clientId"` //瀹㈡埛id - Number string `json:"number"` //閿�鍞瓙鍗曞彿 + Number string `json:"number"` //閿�鍞槑缁嗗崟鍙� } diff --git a/model/salesDetails.go b/model/salesDetails.go index 569fbf3..10e89b5 100644 --- a/model/salesDetails.go +++ b/model/salesDetails.go @@ -14,7 +14,7 @@ Id int `json:"id" gorm:"column:id;primary_key;AUTO_INCREMENT"` ClientId int `json:"clientId" gorm:"column:client_id;type:int;comment:瀹㈡埛id"` Client Client `json:"client" gorm:"foreignKey:ClientId"` - Number string `json:"number" gorm:"column:number;type:varchar(255);comment:閿�鍞瓙鍗曞彿"` + Number string `json:"number" gorm:"column:number;type:varchar(255);comment:閿�鍞槑缁嗗崟鍙�"` SaleChanceId int `json:"saleChanceId" gorm:"column:sale_chance_id;type:int;comment:閿�鍞満浼歩d"` SaleChance SaleChance `json:"saleChance" gorm:"foreignKey:SaleChanceId"` SaleType int `json:"saleType" gorm:"column:sale_type;type:int;comment:閿�鍞被鍨�"` diff --git a/model/salesDetailsProduct.go b/model/salesDetailsProduct.go index a803e83..abaed56 100644 --- a/model/salesDetailsProduct.go +++ b/model/salesDetailsProduct.go @@ -23,6 +23,7 @@ Keyword string PageNum int PageSize int + ProductIds []uint } ) @@ -38,10 +39,18 @@ func (slf *SalesDetailsProductSearch) build() *gorm.DB { var db = slf.Orm.Model(&SalesDetailsProduct{}) + if len(slf.ProductIds) > 0 { + db = db.Where("product_id in (?)", slf.ProductIds) + } return db } +func (slf *SalesDetailsProductSearch) SetProductIds(ids []uint) *SalesDetailsProductSearch { + slf.ProductIds = ids + return slf +} + func (slf *SalesDetailsProductSearch) Create(record *SalesDetailsProduct) error { var db = slf.build() return db.Create(record).Error diff --git a/service/salesDetails.go b/service/salesDetails.go index 62653f1..dec2d36 100644 --- a/service/salesDetails.go +++ b/service/salesDetails.go @@ -22,6 +22,9 @@ salesDetails.AmountTotal = salesDetails.AmountTotal.Round(2) salesDetails.AmountReceivable = salesDetails.AmountTotal salesDetails.AmountUnInvoiced = salesDetails.AmountTotal + for _, product := range salesDetails.Products { + product.Id = 0 + } err := model.NewSalesDetailsSearch().Create(salesDetails) if err != nil { return ecode.SalesDetailsExist diff --git a/service/salesReturn.go b/service/salesReturn.go index b1177ea..ab8fef5 100644 --- a/service/salesReturn.go +++ b/service/salesReturn.go @@ -17,6 +17,7 @@ salesReturn.AmountTotal = decimal.Zero for _, product := range salesReturn.Products { salesReturn.AmountTotal = salesReturn.AmountTotal.Add(product.Amount.Mul(product.Price)) + product.Id = 0 } salesReturn.AmountShouldRefund = salesReturn.AmountTotal err := model.NewSalesReturnSearch().Create(salesReturn) -- Gitblit v1.8.0