正在显示
1 个修改的文件
包含
48 行增加
和
4 行删除
| @@ -2,8 +2,10 @@ package service | @@ -2,8 +2,10 @@ package service | ||
| 2 | 2 | ||
| 3 | import ( | 3 | import ( |
| 4 | "fmt" | 4 | "fmt" |
| 5 | + "strings" | ||
| 5 | 6 | ||
| 6 | "github.com/linmadan/egglib-go/core/application" | 7 | "github.com/linmadan/egglib-go/core/application" |
| 8 | + "github.com/xuri/excelize/v2" | ||
| 7 | "gitlab.fjmaimaimai.com/allied-creation/performance/pkg/application/factory" | 9 | "gitlab.fjmaimaimai.com/allied-creation/performance/pkg/application/factory" |
| 8 | "gitlab.fjmaimaimai.com/allied-creation/performance/pkg/application/staff_assess/adapter" | 10 | "gitlab.fjmaimaimai.com/allied-creation/performance/pkg/application/staff_assess/adapter" |
| 9 | "gitlab.fjmaimaimai.com/allied-creation/performance/pkg/application/staff_assess/query" | 11 | "gitlab.fjmaimaimai.com/allied-creation/performance/pkg/application/staff_assess/query" |
| @@ -320,8 +322,20 @@ func (srv StaffAssessServeice) ExportUserAssess(param *query.ListAssessContentCy | @@ -320,8 +322,20 @@ func (srv StaffAssessServeice) ExportUserAssess(param *query.ListAssessContentCy | ||
| 320 | level4[level4Key] = v.PromptText | 322 | level4[level4Key] = v.PromptText |
| 321 | } | 323 | } |
| 322 | } | 324 | } |
| 323 | - //汇总表头 | ||
| 324 | - headerList := []excelTableHeader{} | 325 | + //汇总表头,按列 |
| 326 | + headerList := []excelTableHeader{ | ||
| 327 | + { | ||
| 328 | + Level1: "日期", | ||
| 329 | + Level2: "", | ||
| 330 | + Level3: "", | ||
| 331 | + Level4: "评估标准", | ||
| 332 | + }, { | ||
| 333 | + Level1: "姓名", | ||
| 334 | + Level2: "", | ||
| 335 | + Level3: "", | ||
| 336 | + Level4: "", | ||
| 337 | + }, | ||
| 338 | + } | ||
| 325 | for _, v := range level1 { | 339 | for _, v := range level1 { |
| 326 | item := excelTableHeader{ | 340 | item := excelTableHeader{ |
| 327 | Level1: v, | 341 | Level1: v, |
| @@ -347,7 +361,37 @@ func (srv StaffAssessServeice) ExportUserAssess(param *query.ListAssessContentCy | @@ -347,7 +361,37 @@ func (srv StaffAssessServeice) ExportUserAssess(param *query.ListAssessContentCy | ||
| 347 | } | 361 | } |
| 348 | } | 362 | } |
| 349 | } | 363 | } |
| 350 | - // | ||
| 351 | - // tab | 364 | + //数据形式 进行 行列转换 |
| 365 | + tableRows := map[string]map[string]string{} | ||
| 366 | + tableRowSort := []string{} | ||
| 367 | + for _, v := range contentList { | ||
| 368 | + if _, ok := tableRows[v.TargetUserId]; !ok { | ||
| 369 | + tableRows[v.TargetUserId] = map[string]string{} | ||
| 370 | + tableRowSort = append(tableRowSort, v.TargetUserId) | ||
| 371 | + } | ||
| 372 | + tableRows[v.TargetUserId]["TargetUserName"] = v.TargetUserName | ||
| 373 | + tableRows[v.TargetUserId]["BeginDay"] = v.BeginDay | ||
| 374 | + value := []string{v.Value} | ||
| 375 | + for _, v2 := range v.Remark { | ||
| 376 | + value = append(value, v2.RemarkText) | ||
| 377 | + } | ||
| 378 | + key := v.Category + "+" + v.ContentName | ||
| 379 | + tableRows[v.TargetUserId][key] = strings.Join(value, "\n") | ||
| 380 | + } | ||
| 381 | + //将数据写入xlsx | ||
| 382 | + xlsxFile := excelize.NewFile() | ||
| 383 | + sheetIndex := xlsxFile.GetActiveSheetIndex() | ||
| 384 | + sheetName := xlsxFile.GetSheetName(sheetIndex) | ||
| 385 | + // 写入第一行 | ||
| 386 | + xlsxFile.SetCellStr(sheetName, "A1", "每日绩效汇总") | ||
| 387 | + //写入二到五行 | ||
| 388 | + for k, v := range headerList { | ||
| 389 | + colName, _ := excelize.ColumnNumberToName(k + 1) | ||
| 390 | + xlsxFile.SetCellStr(sheetName, colName+"2", v.Level1) | ||
| 391 | + xlsxFile.SetCellStr(sheetName, colName+"3", v.Level2) | ||
| 392 | + xlsxFile.SetCellStr(sheetName, colName+"4", v.Level3) | ||
| 393 | + xlsxFile.SetCellStr(sheetName, colName+"5", v.Level4) | ||
| 394 | + } | ||
| 395 | + //从第六行开始写入用户填写的评估数据 | ||
| 352 | return nil, nil | 396 | return nil, nil |
| 353 | } | 397 | } |
-
请 注册 或 登录 后发表评论