From 42d665b58dd50ddd1e91fe8198a00e391fdf8202 Mon Sep 17 00:00:00 2001
From: liujiandao <274878379@qq.com>
Date: 星期五, 12 一月 2024 15:00:59 +0800
Subject: [PATCH] 仓库查询修改
---
models/operation_details.go | 65 +++++++++++++++++++++++++-------
1 files changed, 51 insertions(+), 14 deletions(-)
diff --git a/models/operation_details.go b/models/operation_details.go
index 742d651..0434ac9 100644
--- a/models/operation_details.go
+++ b/models/operation_details.go
@@ -2,7 +2,7 @@
import (
"fmt"
- "google.golang.org/genproto/googleapis/type/decimal"
+ "github.com/shopspring/decimal"
"gorm.io/gorm"
"wms/pkg/mysqlx"
)
@@ -11,14 +11,18 @@
// OperationDetails 鎿嶄綔鏄庣粏琛�
OperationDetails struct {
WmsModel
+ Id int `json:"id" gorm:"column:id;primary_key;AUTO_INCREMENT"`
+ OperationID int `json:"operationId" gorm:"type:int;not null;comment:鎿嶄綔璁板綍id"` //鎿嶄綔id
+ ProductId string `json:"productId" gorm:"type:varchar(191);not null;comment:浜у搧id"` //浜у搧id
+ //ProductName string `json:"productName" gorm:"type:varchar(255);not null;comment:浜у搧鍚嶇О"` //浜у搧鍚嶇О
+ Amount decimal.Decimal `json:"amount" gorm:"type:decimal(20,2);not null;comment:鏁伴噺"` //鏁伴噺
+ //Unit string `json:"unit" gorm:"type:varchar(31);comment:鍗曚綅"` //鍗曚綅
+ Product Material `json:"product" gorm:"foreignKey:ProductId;references:ID"`
- Id int `json:"id" gorm:"column:id;primary_key;AUTO_INCREMENT"`
- OperationId int `json:"OperationId" gorm:"type:int;not null;comment:鎿嶄綔璁板綍id"` //鎿嶄綔id
-
- ProductId int `json:"productId" gorm:"type:int;not null;comment:浜у搧id"` //浜у搧id
- ProductName string `json:"productName" gorm:"type:varchar(255);not null;comment:浜у搧鍚嶇О"` //浜у搧鍚嶇О
- Quantity decimal.Decimal `json:"quantity" gorm:"type:decimal(20,2);not null;comment:鏁伴噺"` //鏁伴噺
- FinishQuantity decimal.Decimal `json:"finishQuantity" gorm:"type:decimal(20,2);not null;comment:鏁伴噺"` //瀹屾垚鏁伴噺
+ FromLocationID int `json:"fromLocationId" gorm:"type:int;not null;comment:婧愪綅缃甶d"` //婧愪綅缃甶d
+ FromLocation Location `json:"fromLocation" gorm:"foreignKey:FromLocationID;references:Id"` //婧愪綅缃�
+ ToLocationID int `json:"toLocationId" gorm:"type:int;not null;comment:鐩爣浣嶇疆id"` //鐩爣浣嶇疆id
+ ToLocation Location `json:"toLocation" gorm:"foreignKey:ToLocationID;references:Id"` //鐩爣浣嶇疆
}
OperationDetailsSearch struct {
@@ -33,7 +37,7 @@
)
func (slf *OperationDetails) TableName() string {
- return "operation_details"
+ return "wms_operation_details"
}
func NewOperationDetailsSearch() *OperationDetailsSearch {
@@ -55,8 +59,8 @@
return slf
}
-func (slf *OperationDetailsSearch) SetID(id uint) *OperationDetailsSearch {
- slf.ID = id
+func (slf *OperationDetailsSearch) SetID(ID int) *OperationDetailsSearch {
+ slf.Id = ID
return slf
}
@@ -70,11 +74,21 @@
return slf
}
+func (slf *OperationDetailsSearch) SetOperationId(operationId int) *OperationDetailsSearch {
+ slf.OperationID = operationId
+ return slf
+}
+
+func (slf *OperationDetailsSearch) SetProductId(productId string) *OperationDetailsSearch {
+ slf.ProductId = productId
+ return slf
+}
+
func (slf *OperationDetailsSearch) build() *gorm.DB {
var db = slf.Orm.Model(&OperationDetails{})
- if slf.ID != 0 {
- db = db.Where("id = ?", slf.ID)
+ if slf.Id != 0 {
+ db = db.Where("id = ?", slf.Id)
}
if slf.Order != "" {
@@ -83,6 +97,16 @@
if slf.Keyword != "" {
db = db.Where("product_name like ?", fmt.Sprintf("%%%v%%", slf.Keyword))
+ }
+
+ if slf.OperationID != 0 {
+ db = db.Where("operation_id = ?", slf.OperationID)
+ }
+ if slf.ProductId != "" {
+ db = db.Where("product_id = ?", slf.ProductId)
+ }
+ if slf.Preload {
+ db = db.Preload("Product")
}
return db
@@ -146,7 +170,7 @@
func (slf *OperationDetailsSearch) Delete() error {
var db = slf.build()
- return db.Delete(&OperationDetails{}).Error
+ return db.Unscoped().Delete(&OperationDetails{}).Error
}
func (slf *OperationDetailsSearch) First() (*OperationDetails, error) {
@@ -235,3 +259,16 @@
return records, nil
}
+
+func (slf *OperationDetailsSearch) FindAll() ([]*OperationDetails, error) {
+ var (
+ records = make([]*OperationDetails, 0)
+ db = slf.build()
+ )
+
+ if err := db.Find(&records).Error; err != nil {
+ return records, fmt.Errorf("find records err: %v", err)
+ }
+
+ return records, nil
+}
--
Gitblit v1.8.0