fix: 优化报表标题生成逻辑

This commit is contained in:
renzhiyuan 2026-01-04 09:37:13 +08:00
parent 62d22c1405
commit a3ec04a3ce
3 changed files with 10 additions and 5 deletions

View File

@ -160,20 +160,22 @@ func (b *BbxtTools) StatisOursProductLossSum(now time.Time) (report []*ReportRes
err = b.SimpleFillExcelWithTitle(b.excelTempDir+"/"+"kshj_total.xlsx", filePath, total, "")
report[0] = &ReportRes{
ReportName: "负利润分析(合计表)",
Title: "截至今日" + timeCh + "利润累计亏损" + fmt.Sprintf("%.2f", totalSum),
Title: "截至" + timeCh + "利润累计亏损" + fmt.Sprintf("%.2f", totalSum),
Path: filePath,
Data: total,
}
}
if err != nil {
return
}
if len(gt) > 0 {
filePath := b.cacheDir + "/kshj_gt" + fmt.Sprintf("%d%d", time.Now().Unix(), rand.Intn(1000)) + ".xlsx"
err = b.resellerDetailFillExcelV2(b.excelTempDir+"/"+"kshj_gt.xlsx", filePath, gt)
title := "截至" + timeCh + "亏损500以上的分销商和产品"
err = b.resellerDetailFillExcelV2(b.excelTempDir+"/"+"kshj_gt.xlsx", filePath, gt, title)
report[1] = &ReportRes{
ReportName: "负利润分析(亏损500以上)",
Title: "截至今日" + timeCh + "亏500以上利润累计亏损" + fmt.Sprintf("%.2f", totalSum500),
Title: "截至" + timeCh + "亏500以上利润累计亏损" + fmt.Sprintf("%.2f", totalSum500),
Path: filePath,
Data: total,
}

View File

@ -180,7 +180,7 @@ func SetStyle(styleMap map[string]string, f *excelize.File) (int, error) {
// 4.以ResellerName分组合并单元格
// 5.在文件末尾使用“合计”,合计行样式为模板第四行
// 6.保存为新文件
func (b *BbxtTools) resellerDetailFillExcelV2(templatePath, outputPath string, dataSlice []*ResellerLoss) error {
func (b *BbxtTools) resellerDetailFillExcelV2(templatePath, outputPath string, dataSlice []*ResellerLoss, title string) error {
// 1. 读取模板
f, err := excelize.OpenFile(templatePath)
if err != nil {
@ -189,7 +189,10 @@ func (b *BbxtTools) resellerDetailFillExcelV2(templatePath, outputPath string, d
defer f.Close()
sheet := f.GetSheetName(0)
if len(title) > 0 {
// 写入标题
f.SetCellValue(sheet, "A1", title)
}
// ---------------- 样式获取 ----------------
// 模板第2行数据行样式
tplRowData := 2

BIN
tmpl/excel_temp/kshj_gt.xlsx Executable file → Normal file

Binary file not shown.