From 96844c22ef3fba86a55e0af1b51bc1009d6fa950 Mon Sep 17 00:00:00 2001
From: jiangshuai <291802688@qq.com>
Date: 星期五, 20 十月 2023 11:57:48 +0800
Subject: [PATCH] 1.库存盘点bug修改

---
 models/operation_details.go |   59 ++++++++++++++++++++++++++++++++++++++++++++---------------
 1 files changed, 44 insertions(+), 15 deletions(-)

diff --git a/models/operation_details.go b/models/operation_details.go
index 742d651..9e89e77 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,13 @@
 	// 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      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:鏁伴噺"` //瀹屾垚鏁伴噺
+		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"`
 	}
 
 	OperationDetailsSearch struct {
@@ -33,7 +32,7 @@
 )
 
 func (slf *OperationDetails) TableName() string {
-	return "operation_details"
+	return "wms_operation_details"
 }
 
 func NewOperationDetailsSearch() *OperationDetailsSearch {
@@ -55,8 +54,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 +69,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 +92,13 @@
 
 	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)
 	}
 
 	return db
@@ -146,7 +162,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 +251,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