From c6e4c58288053493fe62c9a390dfdf8cf1bedf98 Mon Sep 17 00:00:00 2001 From: liujiandao <274878379@qq.com> Date: 星期三, 17 四月 2024 13:57:50 +0800 Subject: [PATCH] 产品添加字段2 --- controllers/operation.go | 51 +++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 49 insertions(+), 2 deletions(-) diff --git a/controllers/operation.go b/controllers/operation.go index 450d03c..af53200 100644 --- a/controllers/operation.go +++ b/controllers/operation.go @@ -916,12 +916,12 @@ readerCloser.Close() defer f.Close() - f.SetCellValue("Sheet1", "C2", operation.CompanyName) f.SetCellValue("Sheet1", "H2", operation.OperationDate) f.SetCellValue("Sheet1", "O2", operation.Number) rowIndex := 5 totalAmount := decimal.NewFromInt(0) + //totalPrice := decimal.NewFromInt(0) for i, v := range operation.Details { //璁剧疆琛ㄥ崟鏈�澶�9鏉℃暟鎹� if i > 8 { @@ -931,10 +931,57 @@ f.SetCellValue("Sheet1", "B"+strconv.Itoa(rowIndex), v.Product.Type) f.SetCellValue("Sheet1", "C"+strconv.Itoa(rowIndex), v.Product.Unit) f.SetCellValue("Sheet1", "D"+strconv.Itoa(rowIndex), v.Amount.String()) + f.SetCellValue("Sheet1", "E"+strconv.Itoa(rowIndex), v.Product.PurchasePrice.String()) + if !v.Product.PurchasePrice.IsZero() { + //totalPrice = totalPrice.Add(v.Product.PurchasePrice) + price := v.Amount.Mul(v.Product.PurchasePrice).String() + split := strings.Split(price, ".") + if len(split) == 2 { + for n, a := range split[1] { + f.SetCellValue("Sheet1", string('M'+n)+strconv.Itoa(rowIndex), string(a)) + } + } else { + f.SetCellValue("Sheet1", "M"+strconv.Itoa(rowIndex), "0") + f.SetCellValue("Sheet1", "N"+strconv.Itoa(rowIndex), "0") + } + s := split[0] + n := 0 + for j := len(s) - 1; j >= 0; j-- { + if n == 6 { + f.SetCellValue("Sheet1", string('L'-n)+strconv.Itoa(rowIndex), s[:j]) + break + } + f.SetCellValue("Sheet1", string('L'-n)+strconv.Itoa(rowIndex), string(s[j])) + n++ + } + } + rowIndex++ totalAmount = totalAmount.Add(v.Amount) } - f.SetCellValue("Sheet1", "D14", totalAmount) + //鍚堣 + //if !totalPrice.IsZero() { + // price := totalAmount.Mul(totalPrice).String() + // split := strings.Split(price, ".") + // if len(split) == 2 { + // for n, a := range split[1] { + // f.SetCellValue("Sheet1", string('M'+n)+"14", string(a)) + // } + // } + // s := split[0] + // n := 0 + // for j := len(s) - 1; j >= 0; j-- { + // if n == 6 { + // f.SetCellValue("Sheet1", string('L'-n)+"14", s[:j]) + // break + // } + // f.SetCellValue("Sheet1", string('L'-n)+"14", string(s[j])) + // n++ + // } + //} + //f.SetCellValue("Sheet1", "D14", totalAmount) + //f.SetCellValue("Sheet1", "E14", totalPrice) + f.SetCellValue("Sheet1", "B15", operation.Manager) f.SetCellValue("Sheet1", "D15", operation.Accountant) f.SetCellValue("Sheet1", "F15", operation.Custodian) -- Gitblit v1.8.0