| | |
| | | resp.ProductTypeName = amount.ProductCategory.Name |
| | | resp.Unit = amount.Product.Unit |
| | | resp.Value = resp.Amount.Mul(amount.Product.Cost) |
| | | |
| | | if *amount.Product.MoreUnit { |
| | | resp.AmountMoreUnits = CreateMoreUnit(resp.Amount, amount.Product.MoreUnitList) |
| | | } |
| | | |
| | | result = append(result, resp) |
| | | } |
| | | |
| | |
| | | f := excelize.NewFile() |
| | | |
| | | // 自定义表头 |
| | | headers := []string{"位置", "产品", "产品类别", "在库数量", "价值"} |
| | | headers := []interface{}{"位置", "产品", "产品类别", map[string][]string{"在库数量": {"件", "匹", "米", "重量"}}, "价值"} |
| | | |
| | | // 设置表头 |
| | | for i, header := range headers { |
| | | cell := getColumnAlphabet(i+1) + "1" |
| | | f.SetCellValue("Sheet1", cell, header) |
| | | var i int |
| | | for _, h := range headers { |
| | | if v, ok := h.(string); ok { |
| | | f.SetCellValue("Sheet1", getColumnAlphabet(i)+"1", v) |
| | | i++ |
| | | } else if childHeaders, ok := h.(map[string][]string); ok { |
| | | for title, list := range childHeaders { |
| | | f.SetCellValue("Sheet1", getColumnAlphabet(i)+"1", title) |
| | | for _, t := range list { |
| | | f.SetCellValue("Sheet1", getColumnAlphabet(i)+"2", t) |
| | | i++ |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | for i, v := range dataList { |
| | |
| | | f.SetCellValue("Sheet1", "B"+column, v.ProductName) |
| | | f.SetCellValue("Sheet1", "C"+column, v.ProductTypeName) |
| | | f.SetCellValue("Sheet1", "D"+column, v.Amount) |
| | | f.SetCellValue("Sheet1", "E"+column, v.Value) |
| | | FillMoreUnitToExcel(v.Amount, v.AmountMoreUnits, 4, i+2, f) |
| | | } |
| | | |
| | | fileName = fmt.Sprintf("位置报表%s.xlsx", time.Now().Format("2006-01-02-1504")) |