dsmzx
2024-06-13 f72fb9ca31fbf27b4abbc0156e60ea162f58df81
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
package service
 
import (
    "github.com/shopspring/decimal"
    "github.com/xuri/excelize/v2"
    "strconv"
    "wms/models"
)
 
func CreateMoreUnit(amount decimal.Decimal, units []models.UnitItems) []models.UnitItems {
    moreValueArr := make([]models.UnitItems, 0, len(units))
    for _, unitItem := range units {
        moreValueArr = append(moreValueArr, models.UnitItems{
            Amount:   amount.Mul(unitItem.Amount),
            Unit:     unitItem.Unit,
            Floating: unitItem.Floating,
        })
    }
    return moreValueArr
}
 
func FillMoreUnitToExcel(amount decimal.Decimal, units []models.UnitItems, startIndex int, column int, f *excelize.File) {
    columnStr := strconv.Itoa(column)
    for _, v := range units {
        switch v.Unit {
        case "匹":
            f.SetCellValue("Sheet1", getColumnAlphabet(startIndex)+columnStr, v.Amount.Mul(amount))
        case "米":
            f.SetCellValue("Sheet1", getColumnAlphabet(startIndex+1)+columnStr, v.Amount.Mul(amount))
        case "重量":
            f.SetCellValue("Sheet1", getColumnAlphabet(startIndex+2)+columnStr, v.Amount.Mul(amount))
        }
    }
    return
}