切换导航条
此项目
正在载入...
登录
allied-creation
/
performance
·
提交
转到一个项目
GitLab
转到群组
项目
活动
文件
提交
管道
0
构建
0
图表
里程碑
问题
0
合并请求
0
成员
标记
维基
派生
网络
创建新的问题
下载为
差异文件
浏览文件
作者
郑周
2 years ago
提交
1e5085a2e7ea52c3823b7cfe7ebd7c0d89970e25
2 个父辈
885495ef
de1f0643
Merge remote-tracking branch 'origin/test' into test
隐藏空白字符变更
内嵌
并排对比
正在显示
5 个修改的文件
包含
89 行增加
和
12 行删除
pkg/application/staff_assess/service/service_3.go
pkg/infrastructure/dao/staff_assess_dao.go
pkg/port/beego/controllers/staff_assess_controller.go
pkg/port/beego/middlewares/check_font_token.go
pkg/port/beego/routers/staff_assess_router.go
pkg/application/staff_assess/service/service_3.go
查看文件 @
1e5085a
...
...
@@ -2,6 +2,7 @@ package service
import
(
"fmt"
"strconv"
"strings"
"github.com/linmadan/egglib-go/core/application"
...
...
@@ -206,7 +207,7 @@ type excelTableHeader struct {
Level4
string
}
func
(
srv
StaffAssessServeice
)
ExportUserAssess
(
param
*
query
.
ListAssessContentCycleDay
)
(
[]
byt
e
,
error
)
{
func
(
srv
StaffAssessServeice
)
ExportUserAssess
(
param
*
query
.
ListAssessContentCycleDay
)
(
*
excelize
.
Fil
e
,
error
)
{
transactionContext
,
err
:=
factory
.
CreateTransactionContext
(
nil
)
if
err
!=
nil
{
return
nil
,
application
.
ThrowError
(
application
.
TRANSACTION_ERROR
,
err
.
Error
())
...
...
@@ -382,7 +383,7 @@ func (srv StaffAssessServeice) ExportUserAssess(param *query.ListAssessContentCy
xlsxFile
:=
excelize
.
NewFile
()
sheetIndex
:=
xlsxFile
.
GetActiveSheetIndex
()
sheetName
:=
xlsxFile
.
GetSheetName
(
sheetIndex
)
//
写入第一行
//写入第一行
xlsxFile
.
SetCellStr
(
sheetName
,
"A1"
,
"每日绩效汇总"
)
//写入二到五行
for
k
,
v
:=
range
headerList
{
...
...
@@ -393,5 +394,39 @@ func (srv StaffAssessServeice) ExportUserAssess(param *query.ListAssessContentCy
xlsxFile
.
SetCellStr
(
sheetName
,
colName
+
"5"
,
v
.
Level4
)
}
//从第六行开始写入用户填写的评估数据
return
nil
,
nil
for
k
,
v
:=
range
tableRowSort
{
rowNum
:=
strconv
.
Itoa
(
k
+
6
)
row
:=
tableRows
[
v
]
for
k2
,
v2
:=
range
headerList
{
if
k2
==
0
{
xlsxFile
.
SetCellStr
(
sheetName
,
"A"
+
rowNum
,
row
[
"BeginDay"
])
continue
}
if
k2
==
1
{
xlsxFile
.
SetCellStr
(
sheetName
,
"B"
+
rowNum
,
row
[
"TargetUserName"
])
continue
}
colName
,
_
:=
excelize
.
ColumnNumberToName
(
k2
+
1
)
key
:=
v2
.
Level1
+
"+"
+
v2
.
Level3
if
mVal
,
ok
:=
row
[
key
];
ok
{
xlsxFile
.
SetCellStr
(
sheetName
,
colName
+
rowNum
,
mVal
)
}
}
}
//TODO 调整样式
xlsxFile
.
MergeCell
(
sheetName
,
"A2"
,
"A4"
)
xlsxFile
.
MergeCell
(
sheetName
,
"B2"
,
"B4"
)
xlsxFile
.
MergeCell
(
sheetName
,
"B5"
,
"B5"
)
//设置行高
for
i
:=
range
tableRowSort
{
xlsxFile
.
SetRowHeight
(
sheetName
,
i
+
6
,
50
)
}
//设置列宽
for
i
:=
range
headerList
{
colName
,
_
:=
excelize
.
ColumnNumberToName
(
i
+
1
)
if
i
==
0
{
xlsxFile
.
SetColWidth
(
sheetName
,
colName
,
colName
,
70
)
}
}
return
xlsxFile
,
nil
}
...
...
pkg/infrastructure/dao/staff_assess_dao.go
查看文件 @
1e5085a
...
...
@@ -124,7 +124,7 @@ func (d *StaffAssessDao) AllAssessCycleList(companyId int) ([]AssessCycle, error
companyId
,
}
result
:=
[]
AssessCycle
{}
_
,
err
:=
tx
.
Query
One
(
&
result
,
sqlStr
,
condition
...
)
_
,
err
:=
tx
.
Query
(
&
result
,
sqlStr
,
condition
...
)
return
result
,
err
}
...
...
@@ -149,12 +149,13 @@ func (d *StaffAssessDao) AllAssessCycleDayList(companyId int, cycleId int) ([]As
cycleId
,
companyId
,
}
result
:=
[]
AssessCycleDay
{}
_
,
err
:=
tx
.
Query
One
(
&
result
,
sqlStr
,
condition
...
)
_
,
err
:=
tx
.
Query
(
&
result
,
sqlStr
,
condition
...
)
return
result
,
err
}
//获取员工填写评估内容
type
UserAssessContent
struct
{
AssessId
string
`json:"assessId"`
TargetUserId
string
`json:"targetUserId"`
//被评估人的id
TargetUserName
string
`json:"targetUserName"`
//被评估人的名称
BeginDay
string
`json:"beginDay"`
//评估的日期
...
...
pkg/port/beego/controllers/staff_assess_controller.go
查看文件 @
1e5085a
package
controllers
import
(
"fmt"
"github.com/linmadan/egglib-go/core/application"
"github.com/linmadan/egglib-go/web/beego"
"gitlab.fjmaimaimai.com/allied-creation/performance/pkg/application/staff_assess/command"
...
...
@@ -320,3 +322,29 @@ func (c *StaffAssessController) ListAssessContentCycleDay() {
data
,
err
:=
srv
.
ListUserAssessContentCycleDay
(
paramReq
)
c
.
Response
(
data
,
err
)
}
//根据周期里的考核日期,获取员工填写评估内容列表,导出为xlsx文件
func
(
c
*
StaffAssessController
)
ExportAssessContentCycleDay
()
{
srv
:=
service
.
NewStaffAssessServeice
()
paramReq
:=
&
query
.
ListAssessContentCycleDay
{}
err
:=
c
.
BindJSON
(
paramReq
)
if
err
!=
nil
{
e
:=
application
.
ThrowError
(
application
.
ARG_ERROR
,
"json 解析错误"
+
err
.
Error
())
c
.
Response
(
nil
,
e
)
return
}
userReq
:=
middlewares
.
GetUser
(
c
.
Ctx
)
paramReq
.
CompanyId
=
int
(
userReq
.
CompanyId
)
paramReq
.
OperaterId
=
int
(
userReq
.
UserId
)
data
,
err
:=
srv
.
ExportUserAssess
(
paramReq
)
if
err
!=
nil
{
c
.
Response
(
nil
,
err
)
}
fileName
:=
fmt
.
Sprintf
(
"每日绩效汇总%s"
,
paramReq
.
BeginDay
)
c
.
Ctx
.
Output
.
Header
(
"Content-Disposition"
,
"attachment;filename="
+
fileName
)
c
.
Ctx
.
Output
.
Header
(
"Content-Description"
,
"FileTransfer"
)
c
.
Ctx
.
Output
.
Header
(
"Content-Type"
,
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
)
c
.
Ctx
.
Output
.
Header
(
"Content-Transfer-Encoding"
,
"binary"
)
c
.
Ctx
.
Output
.
Header
(
"Expires"
,
"0"
)
data
.
Write
(
c
.
Ctx
.
ResponseWriter
)
}
...
...
pkg/port/beego/middlewares/check_font_token.go
查看文件 @
1e5085a
package
middlewares
import
(
"strings"
"github.com/beego/beego/v2/server/web/context"
"gitlab.fjmaimaimai.com/allied-creation/performance/pkg/constant"
"gitlab.fjmaimaimai.com/allied-creation/performance/pkg/domain"
...
...
@@ -8,7 +10,17 @@ import (
func
CheckFontToken
()
func
(
ctx
*
context
.
Context
)
{
return
func
(
ctx
*
context
.
Context
)
{
adminToken
:=
ctx
.
Input
.
Header
(
"x-font-token"
)
// adminToken := ctx.Input.Header("x-font-token")
// Bearer authorization_token
adminToken
:=
ctx
.
Input
.
Header
(
"Authorization"
)
//以一个空格" ",做切分
strList
:=
strings
.
Split
(
adminToken
,
" "
)
if
len
(
strList
)
>
1
{
adminToken
=
strList
[
1
]
}
if
len
(
strList
)
==
1
{
adminToken
=
strList
[
0
]
}
userAuth
,
err
:=
(
&
domain
.
UserAuth
{})
.
ParseAccessToken
(
adminToken
)
if
err
!=
nil
||
userAuth
.
UserId
<=
0
{
forbidden
(
ctx
)
...
...
pkg/port/beego/routers/staff_assess_router.go
查看文件 @
1e5085a
...
...
@@ -10,12 +10,13 @@ import (
func
init
()
{
assessTaskNS
:=
web
.
NewNamespace
(
"/v1/staff-assess-task"
,
web
.
NSBefore
(
filters
.
AllowCors
(),
middlewares
.
CheckFontToken
()),
web
.
NSCtrlPost
(
"/search/me"
,
(
*
controllers
.
StaffAssessController
)
.
SearchAssessTaskMe
),
//获取我参与过的评估项目列表
web
.
NSCtrlPost
(
"/desc/me"
,
(
*
controllers
.
StaffAssessController
)
.
AssessTaskMeDesc
),
//获取我的项目评估进度描述
web
.
NSCtrlPost
(
"/"
,
(
*
controllers
.
StaffAssessController
)
.
CreateStaffAssessTask
),
//创建员工的评估任务
web
.
NSCtrlGet
(
"/cycle"
,
(
*
controllers
.
StaffAssessController
)
.
ListAssessCycle
),
//获取周期列表
web
.
NSCtrlPost
(
"/cycle/day"
,
(
*
controllers
.
StaffAssessController
)
.
ListAssessCycleDay
),
//获取周期中的考核日期
web
.
NSCtrlPost
(
"/cycle/day/content"
,
(
*
controllers
.
StaffAssessController
)
.
ListAssessContentCycleDay
),
//根据周期里的考核日期,获取员工填写评估内容列表
web
.
NSCtrlPost
(
"/search/me"
,
(
*
controllers
.
StaffAssessController
)
.
SearchAssessTaskMe
),
//获取我参与过的评估项目列表
web
.
NSCtrlPost
(
"/desc/me"
,
(
*
controllers
.
StaffAssessController
)
.
AssessTaskMeDesc
),
//获取我的项目评估进度描述
web
.
NSCtrlPost
(
"/"
,
(
*
controllers
.
StaffAssessController
)
.
CreateStaffAssessTask
),
//创建员工的评估任务
web
.
NSCtrlGet
(
"/cycle"
,
(
*
controllers
.
StaffAssessController
)
.
ListAssessCycle
),
//获取周期列表
web
.
NSCtrlPost
(
"/cycle/day"
,
(
*
controllers
.
StaffAssessController
)
.
ListAssessCycleDay
),
//获取周期中的考核日期
web
.
NSCtrlPost
(
"/cycle/day/content"
,
(
*
controllers
.
StaffAssessController
)
.
ListAssessContentCycleDay
),
//根据周期里的考核日期,获取员工填写评估内容列表
web
.
NSCtrlPost
(
"/cycle/day/content/export"
,
(
*
controllers
.
StaffAssessController
)
.
ExportAssessContentCycleDay
),
//根据周期里的考核日期,导出员工填写评估内容列表
)
// /v1/staff-assess/self/me/list
assessNS
:=
web
.
NewNamespace
(
"/v1/staff-assess"
,
...
...
请
注册
或
登录
后发表评论