From a3ec04a3cee36e7b43a168511433b42b80671c8b Mon Sep 17 00:00:00 2001 From: renzhiyuan <465386466@qq.com> Date: Sun, 4 Jan 2026 09:37:13 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BC=98=E5=8C=96=E6=8A=A5=E8=A1=A8?= =?UTF-8?q?=E6=A0=87=E9=A2=98=E7=94=9F=E6=88=90=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- internal/tools/bbxt/bbxt.go | 8 +++++--- internal/tools/bbxt/excel.go | 7 +++++-- tmpl/excel_temp/kshj_gt.xlsx | Bin 9955 -> 9907 bytes 3 files changed, 10 insertions(+), 5 deletions(-) mode change 100755 => 100644 tmpl/excel_temp/kshj_gt.xlsx diff --git a/internal/tools/bbxt/bbxt.go b/internal/tools/bbxt/bbxt.go index df4efc0..7c17166 100644 --- a/internal/tools/bbxt/bbxt.go +++ b/internal/tools/bbxt/bbxt.go @@ -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, } diff --git a/internal/tools/bbxt/excel.go b/internal/tools/bbxt/excel.go index b6b1b6c..c1034c4 100644 --- a/internal/tools/bbxt/excel.go +++ b/internal/tools/bbxt/excel.go @@ -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 diff --git a/tmpl/excel_temp/kshj_gt.xlsx b/tmpl/excel_temp/kshj_gt.xlsx old mode 100755 new mode 100644 index 5aeeab5426eec2cc207e4cbeaa18909223284550..459460b5acdc3230fe13709303bea7cc9f388b6b GIT binary patch delta 1567 zcmV+)2H^SQO|wm~lK}~Pto!s)0RRAQlbitL~vXt%iG;)8Dir-aO~2G1q;9CyIDITO(lDa9GteA=o9NP(dO4aPf66N-Pl9;|kM z4)n^%sg*x8q0=$$m@UO1p51$=&c?QFlQ!#Pg!~l0tsbBIsQZmg8{M!@YeV5?{kWom-hAt=N zHM@UUFHxD2bQ;q%&d8dijOL7x_b$T4e3y2((8nPE6K64@F`29hW!Z#H^AYg`DEr)( zKcxHyP)h>@lP)A0vl0Wa0SV0)_pZ4D006O*%LE~R$!^;)5WN@ZKM=e}tK}qy#K*hAqP-e$S$XG5K#ghm!;@- zIsNhd_UwWZZCF>bMs|?XN6_?Y^Zwm>km_F70EQq!r*m2x)33r%^BP*F1KC4|CzVt! zGx(~1cA@SSu+jy!O_)T{GHjXXs7F|-*I>x15*%(M-?z{i52B!92KDP&^m;^lC|`wF zDmGxQqn??>8-Ft4#fxY9TEUgnvN8deZRn*v&+;<7Jjt`=&wySiR?F1=zCT0Y9+TUO zMwmyJ?kEV%6V5OU!O-h~cSjYo0>$Scm}0Mgjcjk2VRW;09k^5BW?c%bqHR4GdDPYjEXJXj)8#KTTlsGGt*csSLd2by*p((Q9&cQ-5Zo~l!Xc~)*WAyup z#Bzia$^3aFymf9hz>r(0U8W{ z$Z2AUxNHy=ucQ@r$SG;rgHOOCCQ-0VFr2$89ckiYs1HhxL3kg0P!Wc&50hSigOZR)`hpGj&b1SI{m;2848+$idXP*HZ|F=C^U8fE_cRIkm z>e&vyFtrn%CJj^w83lI6m0wK%Vr1_|c`FTmhumY0{{p}XjqKu9QkwAviT&BFGuk|+ zpUvhEkRG$j2S5gYzPcF`@&Et;BLM&a6aWAKcx*3oXkl_?WK(oMn8E_iKhZI4e% z#4sF2_kwo_+0Uekh)9xI2%bO>5ZX8mG)e6*6+OT>9g5(9ihpL~!i6}9A|i<1#!RNS zup)wp%g6iP;-kHNouNHhfU<_+rEY|gG_g&T=`*~&wb@yJ!w8%(iO8&x3?E3qJ-)a= z0UT;u0}Q9m)$0_*|-_oB=n%n8D9yM13|1$7T4bZ%kN##jAH9Z)_hvZ$XW@^l`Tehsv?uu|vse$969WDqlky@z0cVpkBQpVu zlV&56345&j^icr-0B(~4Bv1kc1CtN~6_aTsDhGH3004MwFOy3q9FveE4gs^1#UwTY z+8>ksBrF`hx)~Gl0000Z0RR9L000000000103ZMW00a(`MI}H1I+KPaIsvqk!6h~V z+Xs{H2NjbJCMp3alQ||l0hyC_CLtWn7x%8Y0ssK91^@sU000000000103ZMW0L288 R&;%Nj%_a~AmLdQE007P$$#MVy delta 1591 zcmV-72FUrdP2)|llK}}xS>=^L0RRANlbiteA z9WPPjJU5cpje!Ck!J$=od6A2jiN?Z%ZCbEifr|pkI40Tx?Y(aq#!l=(bC(2%3F5Y~ zf13Mnv^(5#@y2(6Q$iM4gXfZaj(cF-PDFG%sy60Kb#m1R;OhPUA2TeP3z+!SXw~wgsxD2+E>eX;(sfeRiEmW0AyJ+il?Q z8QV!nfz`rGF5@%j9FJ#`)x~{Xkpn0#WRuZ2h$w-E%Um?OjQ;w0b8<$BHmu26B^$`- z1891&{`g_lNp+`707HRcb?B|V+~s+Aezeb;zaV<0ST$33`}PEhTio1MRKh&C?GA>(Jn?j07j&%- zc+6evCo!EAr_+Q|Bv8AjJDcLKL6T(5G0RkTM>6cib~jF+2uMsdMGehcXIz|M`eH9s#Q+jsElw_#_OmYKU4Mytj35)juD#yVSS%0g88_7WDFVJV+`TW*s$R% zADH?`M`YY=_`+L1LD050qZ55CqeWtD>$~V zc7!KbxRG<`>j%$wSq*CE22>L+_l-So?3yt;`6xx${O9pxd6_!iaRCRdWjpxB)J`;- zR8Syg6xgO$ep3C5k*#aftu**m@@?9Xbn&Ab7OSg98g7_Mazn=9YkRG$r z2S5f11ZO^5DggihYm*xe9Dk7CO2SYa$M1vQVVrw+mZC&#^CIX8>H)?)>A;<>owKOB z{;4w)voy+tD3GWuiU`ZKSIuwOWoeyw%yOuP=41s)gqlvl zqD2j@EH9pcr%_ob$Sy!2*t6YzQ+vxr(Cug8F zN@v8*TR3h-&5Nv}KxH?4AB3;_qPGV@HSTOdw+crG;rJSkw^ht_6@PF1?1;`wf>WX~ z6nBkj2q*pcW*9Z<@hf=+MiqE|3_p6%K8^YTG%u&yB6xy9ZBieLv(LEJ{-*(l!Q|nO zhm*7PFS95Qm=gjnA(O%)KLMAM0wXg4yOTB}lL<&!<&{7I003)~(j!m;^a7J10~M1w zBq|4I1ONbdY%h}=CLEJsBMt%Mla(Yk0tz6L%_J-w1ZO^5DggihYXJZN6aWAK00000 z0RSKX008_AlOPTjlPe`E0cw+0B{~7DlaVDh0n?MnB|rgKlL;m~0f>`ECLtW9Q>g30 p0ssKN1^@sU000000000103ZMW0JH>?;RG6!ohA?l#v%X!007#@)Di#y