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 }