From d5785f7ecec215960c4d100bf129e1abeca9d5cb Mon Sep 17 00:00:00 2001
From: zhangqian <zhangqian@123.com>
Date: 星期二, 30 七月 2024 20:11:03 +0800
Subject: [PATCH] 位置报表多单位使用动态表头及相应数据调整(数据使用存储的多单位数据,并展示在对应单位下面)

---
 service/inventory_report_forms.go |   26 +++++++++++++++-----------
 1 files changed, 15 insertions(+), 11 deletions(-)

diff --git a/service/inventory_report_forms.go b/service/inventory_report_forms.go
index 694cfaa..5775cc8 100644
--- a/service/inventory_report_forms.go
+++ b/service/inventory_report_forms.go
@@ -213,6 +213,7 @@
 	var fileName string
 	f := excelize.NewFile()
 
+	unitData, unitIndexMap := GetAllUnits()
 	// 鑷畾涔夎〃澶�
 	headers := []string{"浜у搧", "浜у搧绫诲埆", "鍗曚綅鎴愭湰", "鎬讳环鍊�", "鍦ㄥ簱", "鍙敤搴撳瓨", "鍏ュ簱", "鍑哄簱"}
 	// 璁剧疆琛ㄥご
@@ -221,12 +222,12 @@
 		f.SetCellValue("Sheet1", cell, header)
 	}
 
-	f.SetCellValue("Sheet1", getColumnAlphabet(0)+"1", "浜у搧")
-	f.SetCellValue("Sheet1", getColumnAlphabet(1)+"1", "浜у搧绫诲埆")
-	f.SetCellValue("Sheet1", getColumnAlphabet(2)+"1", "鍗曚綅鎴愭湰")
-	f.SetCellValue("Sheet1", getColumnAlphabet(3)+"1", "鎬讳环鍊�")
-	f.SetCellValue("Sheet1", getColumnAlphabet(4)+"1", "鍦ㄥ簱")
-	f.MergeCell("Sheet1", getColumnAlphabet(4)+"1", getColumnAlphabet(7)+"1") // 鍚堝苟鍗曞厓鏍�
+	f.SetCellValue("Sheet1", getColumnAlphabet(1)+"1", "浜у搧")
+	f.SetCellValue("Sheet1", getColumnAlphabet(2)+"1", "浜у搧绫诲埆")
+	f.SetCellValue("Sheet1", getColumnAlphabet(3)+"1", "鍗曚綅鎴愭湰")
+	f.SetCellValue("Sheet1", getColumnAlphabet(4)+"1", "鎬讳环鍊�")
+	f.SetCellValue("Sheet1", getColumnAlphabet(5)+"1", "鍦ㄥ簱")
+	f.MergeCell("Sheet1", getColumnAlphabet(5)+"1", getColumnAlphabet(7)+"1") // 鍚堝苟鍗曞厓鏍�
 	f.SetCellValue("Sheet1", getColumnAlphabet(8)+"1", "鍙敤搴撳瓨")
 	f.MergeCell("Sheet1", getColumnAlphabet(8)+"1", getColumnAlphabet(11)+"1") // 鍚堝苟鍗曞厓鏍�
 	f.SetCellValue("Sheet1", getColumnAlphabet(12)+"1", "鍏ュ簱")
@@ -234,7 +235,6 @@
 	f.SetCellValue("Sheet1", getColumnAlphabet(16)+"1", "鍑哄簱")
 	f.MergeCell("Sheet1", getColumnAlphabet(16)+"1", getColumnAlphabet(19)+"1") // 鍚堝苟鍗曞厓鏍�
 
-	unitData := []string{"浠�", "鍖�", "绫�", "閲嶉噺"}
 	for i, header := range unitData {
 		f.SetCellValue("Sheet1", getColumnAlphabet(i+4)+"2", header)
 		f.SetCellValue("Sheet1", getColumnAlphabet(i+8)+"2", header)
@@ -276,16 +276,20 @@
 		f.SetCellValue("Sheet1", getColumnAlphabet(3)+column, v.Value)
 
 		f.SetCellValue("Sheet1", getColumnAlphabet(4)+column, v.Amount)
-		FillMoreUnitToExcel(v.Amount, v.AmountMoreUnits, 5, i+3, f)
+		v.AmountMoreUnits = append(v.AmountMoreUnits, models.UnitItems{Amount: v.Amount, Unit: v.Unit})
+		FillMoreUnitToExcel(v.AmountMoreUnits, 5, i+3, unitIndexMap, f)
 
 		f.SetCellValue("Sheet1", getColumnAlphabet(8)+column, v.AvailableNumber)
-		FillMoreUnitToExcel(v.AvailableNumber, v.AvailableNumberMoreUnits, 9, i+3, f)
+		v.AvailableNumberMoreUnits = append(v.AvailableNumberMoreUnits, models.UnitItems{Amount: v.AvailableNumber, Unit: v.Unit})
+		FillMoreUnitToExcel(v.AvailableNumberMoreUnits, 9, i+3, unitIndexMap, f)
 
 		f.SetCellValue("Sheet1", getColumnAlphabet(12)+column, v.In)
-		FillMoreUnitToExcel(v.In, v.AmountMoreUnits, 13, i+3, f)
+		v.InMoreUnits = append(v.InMoreUnits, models.UnitItems{Amount: v.In, Unit: v.Unit})
+		FillMoreUnitToExcel(v.InMoreUnits, 13, i+3, unitIndexMap, f)
 
 		f.SetCellValue("Sheet1", getColumnAlphabet(16)+column, v.Out)
-		FillMoreUnitToExcel(v.Out, v.AmountMoreUnits, 17, i+3, f)
+		v.OutMoreUnits = append(v.OutMoreUnits, models.UnitItems{Amount: v.Out, Unit: v.Unit})
+		FillMoreUnitToExcel(v.OutMoreUnits, 17, i+3, unitIndexMap, f)
 	}
 
 	fileName = fmt.Sprintf("搴撳瓨鎶ヨ〃%s.xlsx", time.Now().Format("2006-01-02-1504"))

--
Gitblit v1.8.0