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