From 36c6614cc0b8fc830b8ab66995bee6dc14c54dd1 Mon Sep 17 00:00:00 2001
From: gigibox <gigibox@163.com>
Date: 星期五, 09 六月 2023 01:19:27 +0800
Subject: [PATCH] 完成订单和库存的查询

---
 models/icInventory.go   |   10 +--
 webserver/controller.go |    4 +
 gui/gui.go              |    2 
 models/seOrder.go       |  138 ++++++++++++++++++++-------------------------
 4 files changed, 68 insertions(+), 86 deletions(-)

diff --git a/gui/gui.go b/gui/gui.go
index 7e55bef..1046e8c 100644
--- a/gui/gui.go
+++ b/gui/gui.go
@@ -41,7 +41,7 @@
 	sqlDBName := widget.NewEntry()
 	sqlUsername := widget.NewEntry()
 	sqlPassword := widget.NewEntry()
-
+	sqlPassword.Password = true
 	serverPort.Text = config.Options.WebPort
 	sqlAddr.Text = config.Options.SqlAddr
 	sqlUsername.Text = config.Options.SqlUsername
diff --git a/models/icInventory.go b/models/icInventory.go
index 7320a1b..68e06eb 100644
--- a/models/icInventory.go
+++ b/models/icInventory.go
@@ -1,7 +1,5 @@
 package models
 
-import "fmt"
-
 type Inventory struct {
 	FNumber    string  `gorm:"column:FNumber" json:"FNumber"`       // 鐗╂枡浠g爜
 	FName      string  `gorm:"column:FName" json:"FName"`           // 鐗╂枡鍚嶇О
@@ -16,10 +14,8 @@
 }
 
 func FindICInventory() []Inventory {
-	fmt.Printf("inventory===========\n")
-
 	sql := `
-		SELECT
+	SELECT
 		TOP (100) PERCENT item.FNumber AS FNumber,
 		item.FName AS FName,
 		item.FModel AS FModel,
@@ -47,8 +43,8 @@
 	//var result []map[string]interface{}
 
 	db.Raw(sql).Debug().Scan(&result)
-	rows, _ := db.Raw(sql).Debug().Rows()
-	fmt.Println(rows.Columns())
+	//rows, _ := db.Raw(sql).Debug().Rows()
+	//fmt.Println(rows.Columns())
 
 	return result
 }
diff --git a/models/seOrder.go b/models/seOrder.go
index 3eb1e04..a1c2f27 100644
--- a/models/seOrder.go
+++ b/models/seOrder.go
@@ -2,85 +2,69 @@
 
 // 閿�鍞鍗曡〃
 type SEOrder struct {
-	FBillNo      string `gorm:"column:FBillNo" json:"FBillNo"`           // 缂栧彿
-	FExplanation string `gorm:"column:FExplanation" json:"FExplanation"` // 鎽樿
+	FBillNo            string  `gorm:"column:FBillNo" json:"FBillNo"`                       // 璁㈠崟缂栧彿
+	FNumber            string  `gorm:"column:FNumber" json:"FNumber"`                       // 浜у搧浠g爜
+	FShortNumber       string  `gorm:"column:FShortNumber" json:"FShortNumber"`             // 浜у搧鐭唬鐮�, 瀹㈡埛鍥惧彿
+	FItemID            string  `gorm:"column:FItemID" json:"FItemID"`                       // 浜у搧鍚嶇О
+	Fmodel             string  `gorm:"column:Fmodel" json:"Fmodel"`                         // 瑙勬牸鍨嬪彿
+	FUnitGroupID       string  `gorm:"column:FUnitGroupID" json:"FUnitGroupID"`             // 鍩烘湰鍗曚綅
+	FQty               string  `gorm:"column:FQty" json:"FQty"`                             // 鍩烘湰鍗曚綅鏁伴噺
+	FUnitID            string  `gorm:"column:FUnitID" json:"FUnitID"`                       // 鍗曚綅
+	Fauxqty            float64 `gorm:"column:Fauxqty" json:"Fauxqty"`                       // 鍗曚綅鏁伴噺
+	Fauxprice          float64 `gorm:"column:Fauxprice" json:"Fauxprice"`                   // 鍗曚环
+	Famount            float64 `gorm:"column:Famount" json:"Famount"`                       // 閲戦
+	FCess              float64 `gorm:"column:FCess" json:"FCess"`                           // 绋庣巼
+	FNote              string  `gorm:"column:FNote" json:"FNote"`                           // 澶囨敞
+	FAdviceConsignDate string  `gorm:"column:FAdviceConsignDate" json:"FAdviceConsignDate"` // 浜よ揣鏃ユ湡
+	FCustID            string  `gorm:"column:FCustID" json:"FCustID"`                       // 璐揣鍗曚綅
+	FInventory         float64 `gorm:"column:FInventory" json:"FInventory"`                 // 鍗虫椂搴撳瓨
+	// 鍚◣鍗曚环
+	// 鐗╂枡灞炴��
+	// 瀛樿揣绉戠洰浠g爜
 }
 
-//type SEOrder struct {
-//	FAreaPS           int64 //閿�鍞寖鍥�
-//	FBClosed          int64 //
-//	FTranType         int64 //鍗曟嵁绫诲瀷
-//	FUUID             interface{}
-//	FBillerID         int64   //鍒跺崟:
-//	FBillNo           string  //缂栧彿:
-//	FBrID             int64   //鍒跺崟鏈烘瀯
-//	FBrNo             string  //鍏徃鏈烘瀯鍐呯爜
-//	FCancellation     int64   //浣滃簾
-//	FCashDiscount     string  //
-//	FCheckDate        string  //瀹℃牳鏃ユ湡
-//	FCheckerID        int64   //瀹℃牳浜�
-//	FChildren         int64   //鍏宠仈鏍囪瘑
-//	FClassTypeID      int64   //浜嬪姟绫诲瀷
-//	FClosed           int64   //鏄惁鍏抽棴
-//	FCurCheckLevel    int64   //褰撳墠瀹℃牳绾у埆
-//	FCurrencyID       int64   //甯佸埆:
-//	FCustID           int64   //璐揣鍗曚綅:
-//	FDate             string  //鏃ユ湡:
-//	FDeptID           int64   //閮ㄩ棬:
-//	FDiscountType     int64   //鎶樻墸鏂瑰紡
-//	FEmpID            int64   //涓氬姟鍛�:
-//	FExchangeRate     float64 //姹�    鐜�:
-//	FExplanation      string  //鎽樿
-//	FFetchAdd         string  //浜よ揣鍦扮偣:
-//	FFetchDate        string  //浜よ揣鏃ユ湡:
-//	FFetchStyle       string  //浜よ揣鏂瑰紡:
-//	FImport           int64   //寮曞叆鏍囧織
-//	FInterID          int64   //璁㈠崟鍐呯爜
-//	FInvoiceClosed    int64   //
-//	FManageType       int64   //淇濈◣鐩戠绫诲瀷
-//	FMangerID         int64   //涓荤:
-//	FMultiCheckDate1  string  //涓�绾у鏍告棩鏈�
-//	FMultiCheckDate2  string  //浜岀骇瀹℃牳鏃ユ湡
-//	FMultiCheckDate3  string  //涓夌骇瀹℃牳鏃ユ湡
-//	FMultiCheckDate4  string  //鍥涚骇瀹℃牳鏃ユ湡
-//	FMultiCheckDate5  string  //浜旂骇瀹℃牳鏃ユ湡
-//	FMultiCheckDate6  string  //鍏骇瀹℃牳鏃ユ湡
-//	FMultiCheckLevel1 int64   //涓�瀹�:
-//	FMultiCheckLevel2 int64   //浜屽:
-//	FMultiCheckLevel3 int64   //涓夊:
-//	FMultiCheckLevel4 int64   //鍥涘:
-//	FMultiCheckLevel5 int64   //浜斿:
-//	FMultiCheckLevel6 int64   //鍏:
-//	FNote             string  //澶囨敞
-//	FOperDate         interface{}
-//	FOrderAffirm      int64   //纭鏍囧織
-//	FPayDate          string  //浠樻鏃ユ湡
-//	FPayStyle         string  //浠樻鏂瑰紡:
-//	FPOOrdBillNo      string  //閲囪喘璁㈠崟鍙�:
-//	FRelateBrID       int64   //璁㈣揣鏈烘瀯:
-//	FSaleStyle        int64   //閿�鍞柟寮�:
-//	FSelTranType      int64   //婧愬崟绫诲瀷
-//	FSettleDate       string  //缁撶畻鏃ユ湡
-//	FSettleID         int64   //缁撶畻鏂瑰紡:
-//	FStatus           int64   //鐘舵��
-//	FSystemType       int64   //
-//	FTransitAheadTime float64 //杩愯緭鎻愬墠鏈�:
-//	FTranStatus       int64   //浼犺緭鏍囧織
-//}
+func SeOrderList() []SEOrder {
+	sql := `
+	SELECT 
+		i.FBillNo,
+		i.FNumber,
+		i.FShortNumber,
+		i.FItemID,
+		i.Fmodel,
+		i.FUnitGroupID,
+		i.FQty,
+		i.FUnitID,
+		i.Fauxqty,
+		i.Fauxprice,
+		i.Famount,
+		i.FCess,
+		i.FNote,
+		i.FAdviceConsignDate,
+		i.FCustID,
+		SUM(ICInventory.FQty) AS FInventory
+	FROM vwICBill_32 AS i
+	JOIN t_ICitem ON i.FShortNumber = t_ICitem.FShortNumber
+	JOIN ICInventory ON ICInventory.FItemID = t_ICitem.FItemID
+	GROUP BY
+		i.FBillNo,
+		i.FNumber,
+		i.FShortNumber,
+		i.FItemID,
+		i.Fmodel,
+		i.FUnitGroupID,
+		i.FQty,
+		i.FUnitID,
+		i.Fauxqty,
+		i.Fauxprice,
+		i.Famount,
+		i.FCess,
+		i.FNote,
+		i.FAdviceConsignDate,
+		i.FCustID;
+	`
+	var result []SEOrder
 
-func (s SEOrder) TableName() string {
-	return "SEOrder"
-}
+	db.Raw(sql).Debug().Scan(&result)
 
-func (s *SEOrder) FindAll() ([]SEOrder, error) {
-	var list []SEOrder
-
-	err := db.Table(s.TableName()).Scan(&list).Error
-
-	return list, err
-}
-
-func (s *SEOrder) FindByFBillNo(fBillNo string) error {
-
-	return db.Table(s.TableName()).Where("FBillNo = ?", fBillNo).Scan(s).Error
+	return result
 }
diff --git a/webserver/controller.go b/webserver/controller.go
index 4fd9159..70641bd 100644
--- a/webserver/controller.go
+++ b/webserver/controller.go
@@ -6,10 +6,12 @@
 )
 
 func OrderList(c *gin.Context) {
+	rspData := models.SeOrderList()
 	c.JSON(200, gin.H{
 		"success": true,
 		"message": "",
-		"data":    "",
+		"data":    rspData,
+		"total":   len(rspData),
 	})
 }
 

--
Gitblit v1.8.0