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
|
}
|