Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
P
performance
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
zry
performance
Commits
daa778bf
Commit
daa778bf
authored
Nov 29, 2023
by
wyc
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
管理详情 排序功能修改
parent
a77bf37f
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
44 additions
and
91 deletions
+44
-91
performance/Performance.Api/Controllers/ComputeController.cs
+1
-30
performance/Performance.DtoModels/Enum.cs
+1
-5
performance/Performance.Services/ComputeService.UniteDeptDetail.cs
+42
-56
No files found.
performance/Performance.Api/Controllers/ComputeController.cs
View file @
daa778bf
...
...
@@ -278,35 +278,6 @@ public ApiResponse SaveEmpDetailSetting([FromQuery] int allotId, [FromBody] List
[
HttpPost
]
public
ApiResponse
EmpDetail
([
FromBody
]
EmpDetailRequest
request
)
{
#
region
提示
// 两个入口
// 一种只传参数 ComputeId
// 一种只传参数 AllotId、UnitType、AccountingUnit
/*
考核前绩效
核算人数
人均绩效
基础绩效系数(6.11 个人岗位系数)
出勤率
实际人均
效率绩效人数
效率系数
效率绩效小计
规模绩效系数
规模绩效小计
管理绩效发放系数
考核前管理绩效
考核得分率
考核后管理绩效
医院奖罚(5.2 业务中层行政中高层业务奖罚)
其他管理绩效(6.9 其他管理绩效)
调节系数
调节后其他绩效(6.10 调节后其他管理绩效)
绩效合计
*/
#
endregion
var
userid
=
_claim
.
GetUserId
();
var
response
=
_computeService
.
EmpDetail
(
request
,
userid
);
return
new
ApiResponse
(
ResponseType
.
OK
,
response
);
...
...
@@ -324,7 +295,7 @@ public IActionResult DownloadEmpDetail([FromBody] EmpDetailRequest request)
var
userid
=
_claim
.
GetUserId
();
var
response
=
_computeService
.
EmpDetail
(
request
,
userid
);
var
filepath
=
_computeService
.
ExcelDownload
(
response
,
"管理绩效详情"
,
request
.
AllotId
);
var
filepath
=
_computeService
.
ExcelDownload
(
response
,
"管理绩效详情"
);
var
memoryStream
=
new
MemoryStream
();
using
(
var
stream
=
new
FileStream
(
filepath
,
FileMode
.
Open
))
{
...
...
performance/Performance.DtoModels/Enum.cs
View file @
daa778bf
...
...
@@ -246,9 +246,6 @@ public class ManagementDept
{
public
enum
TitleManage
{
//人员工号 = 2701,
//人员分类 = 2801,
//核算单元 = 2901,
考核前其他绩效
=
3001
,
考核前绩效
=
3101
,
核算人数
=
3200
,
...
...
@@ -262,17 +259,16 @@ public enum TitleManage
规模绩效系数
=
4000
,
规模绩效小计
=
4100
,
管理绩效发放系数
=
4200
,
其他管理绩效
=
4220
,
考核前管理绩效
=
4300
,
考核得分率
=
4401
,
考核后管理绩效
=
4500
,
医院奖罚
=
4601
,
夜班费
=
4611
,
考核后绩效
=
4621
,
其他管理绩效
=
4700
,
调节系数
=
4801
,
调节后其他绩效
=
4901
,
调节后其他管理绩效
=
4910
,
// 业务中层行政中高层调节后其他绩效 = 4920,
绩效合计
=
5001
,
}
public
enum
DisplayRule
...
...
performance/Performance.Services/ComputeService.UniteDeptDetail.cs
View file @
daa778bf
...
...
@@ -448,7 +448,7 @@ private void RecursionUseSettings(List<DeptDetailItem> detailItems, List<UniteDe
{
detail
.
Display
=
true
;
var
cfg
=
userDetailItems
.
Fi
rstOrDefault
(
w
=>
w
.
Title
==
detail
.
Title
);
var
cfg
=
userDetailItems
.
Fi
nd
(
w
=>
w
.
Title
==
detail
.
Title
);
// 部分左右侧显示全部格式化
if
(
detail
?.
Total
==
0
)
{
...
...
@@ -1017,8 +1017,7 @@ private int GetMaxColumnIndex(int maxColIndex, List<DeptDetailItem> detailItems)
#
region
管理绩效详情显示隐藏设置
--
加载和保存
public
List
<
UniteDeptDetailItem
>
GetEmpDetailSetting
(
int
allotId
)
{
var
allot
=
perforPerallotRepository
.
GetEntity
(
t
=>
t
.
ID
==
allotId
);
if
(
allot
==
null
)
throw
new
PerformanceException
(
"绩效月信息错误"
);
var
allot
=
perforPerallotRepository
.
GetEntity
(
t
=>
t
.
ID
==
allotId
)
??
throw
new
PerformanceException
(
"绩效月信息错误"
);
var
ignore
=
_configuration
.
GetSection
(
"UniteDeptDetailIgnore"
).
Get
<
string
[
]>
()
??
Array
.
Empty
<
string
>();
var
persheet
=
_perforPerSheetRepository
.
GetEntities
(
t
=>
t
.
AllotID
==
allotId
)
??
new
List
<
per_sheet
>();
...
...
@@ -1026,9 +1025,6 @@ public List<UniteDeptDetailItem> GetEmpDetailSetting(int allotId)
var
response
=
new
List
<
UniteDeptDetailItem
>()
{
};
#
region
行政工勤
//response.Add(new UniteDeptDetailItem { Title = ManagementDept.TitleManage.人员工号.ToString() });
//response.Add(new UniteDeptDetailItem { Title = ManagementDept.TitleManage.人员分类.ToString() });
//response.Add(new UniteDeptDetailItem { Title = ManagementDept.TitleManage.核算单元.ToString() });
response
.
Add
(
new
UniteDeptDetailItem
{
Title
=
ManagementDept
.
TitleManage
.
考核前其他绩效
.
ToString
()
});
response
.
Add
(
new
UniteDeptDetailItem
{
Title
=
ManagementDept
.
TitleManage
.
夜班费
.
ToString
()
});
response
.
Add
(
new
UniteDeptDetailItem
{
Title
=
ManagementDept
.
TitleManage
.
考核后绩效
.
ToString
()
});
...
...
@@ -1157,13 +1153,11 @@ public List<UniteDeptDetailResponse> EmpDetail(EmpDetailRequest request, int use
}
else
{
// 查询当前角色下科室的绩效
UnitTypeUtil
.
Maps
.
TryGetValue
(
userInfo
?.
URole
.
Type
??
0
,
out
string
[]
unitTypes
);
if
(
unitTypes
==
null
||
!
unitTypes
.
Any
())
return
new
List
<
UniteDeptDetailResponse
>();
var
accountingUnit
=
userInfo
.
User
.
Department
;
var
hospitalId
=
userInfo
.
HospitalIds
.
First
();
if
(
userInfo
.
IsSecondAdmin
)
{
var
secondList
=
_agsecondallotRepository
.
Get
(
request
.
AllotId
,
unitTypes
,
userInfo
.
User
.
Department
);
...
...
@@ -1188,10 +1182,8 @@ public List<UniteDeptDetailResponse> EmpDetail(EmpDetailRequest request, int use
}
foreach
(
var
resCompute
in
resComputes
)
{
var
allot
=
perforPerallotRepository
.
GetEntity
(
t
=>
t
.
ID
==
resCompute
.
AllotID
);
if
(
allot
==
null
)
throw
new
PerformanceException
(
"绩效月信息错误"
);
if
(!
Enum
.
TryParse
(
resCompute
.
UnitType
==
null
?
resCompute
.
AccountType
:
resCompute
.
UnitType
,
ignoreCase
:
true
,
out
UnitType
unitType
))
var
allot
=
perforPerallotRepository
.
GetEntity
(
t
=>
t
.
ID
==
resCompute
.
AllotID
)
??
throw
new
PerformanceException
(
"绩效月信息错误"
);
if
(!
Enum
.
TryParse
(
resCompute
.
UnitType
??
resCompute
.
AccountType
,
ignoreCase
:
true
,
out
UnitType
unitType
))
throw
new
PerformanceException
(
"核算组别错误"
);
...
...
@@ -1204,16 +1196,12 @@ public List<UniteDeptDetailResponse> EmpDetail(EmpDetailRequest request, int use
var
response
=
new
UniteDeptDetailResponse
{
// Title = $"相关信息: {resCompute.JobNumber} {resCompute.EmployeeName} {resCompute.AccountType} {resCompute.AccountingUnit}",
Title
=
$"
{
resCompute
.
EmployeeName
}
(
{
resCompute
.
JobNumber
}
)
{
resCompute
.
AccountType
}
{
resCompute
.
AccountingUnit
}
"
,
UnitType
=
resCompute
?.
UnitType
,
AccountingUnit
=
resCompute
?.
AccountingUnit
,
DetailItems
=
new
List
<
DeptDetailItem
>()
};
#
region
行政工勤
//response.DetailItems.Add(new DeptDetailItem { Title = ManagementDept.TitleManage.人员工号.ToString(), TotalFormat = resCompute.JobNumber });
//response.DetailItems.Add(new DeptDetailItem { Title = ManagementDept.TitleManage.人员分类.ToString(), TotalFormat = resCompute.AccountType });
//response.DetailItems.Add(new DeptDetailItem { Title = ManagementDept.TitleManage.核算单元.ToString(), TotalFormat = resCompute.AccountingUnit });
response
.
DetailItems
.
Add
(
new
DeptDetailItem
{
Title
=
ManagementDept
.
TitleManage
.
考核前其他绩效
.
ToString
(),
Total
=
resCompute
.
AssessBeforeOtherFee
??
0
});
response
.
DetailItems
.
Add
(
new
DeptDetailItem
{
Title
=
ManagementDept
.
TitleManage
.
夜班费
.
ToString
(),
Total
=
resCompute
.
NightWorkPerfor
??
0
});
response
.
DetailItems
.
Add
(
new
DeptDetailItem
{
Title
=
ManagementDept
.
TitleManage
.
考核后绩效
.
ToString
(),
Total
=
resCompute
.
GiveFee
??
0
});
...
...
@@ -1235,48 +1223,48 @@ public List<UniteDeptDetailResponse> EmpDetail(EmpDetailRequest request, int use
response
.
DetailItems
.
Add
(
new
DeptDetailItem
{
Title
=
ManagementDept
.
TitleManage
.
调节系数
.
ToString
(),
Total
=
employee
?.
Adjust
??
1
});
var
isShowManage
=
IsShowManage
(
resCompute
.
AllotID
.
Value
);
var
array
=
new
List
<
int
>();
var
array
=
new
List
<
string
>();
if
(
resCompute
.
AccountType
==
AccountUnitType
.
行政中层
.
ToString
())
{
array
=
new
List
<
int
>()
array
=
new
List
<
string
>()
{
(
int
)
ManagementDept
.
TitleManage
.
考核前其他绩效
,
(
int
)
ManagementDept
.
TitleManage
.
考核前绩效
,
(
int
)
ManagementDept
.
TitleManage
.
出勤率
,
(
int
)
ManagementDept
.
TitleManage
.
考核得分率
,
(
int
)
ManagementDept
.
TitleManage
.
医院奖罚
,
(
int
)
ManagementDept
.
TitleManage
.
夜班费
,
(
int
)
ManagementDept
.
TitleManage
.
考核后绩效
,
(
int
)
ManagementDept
.
TitleManage
.
调节系数
,
(
int
)
ManagementDept
.
TitleManage
.
调节后其他绩效
,
(
int
)
ManagementDept
.
TitleManage
.
绩效合计
ManagementDept
.
TitleManage
.
考核前其他绩效
.
ToString
()
,
ManagementDept
.
TitleManage
.
考核前绩效
.
ToString
()
,
ManagementDept
.
TitleManage
.
出勤率
.
ToString
()
,
ManagementDept
.
TitleManage
.
考核得分率
.
ToString
()
,
ManagementDept
.
TitleManage
.
医院奖罚
.
ToString
()
,
ManagementDept
.
TitleManage
.
夜班费
.
ToString
()
,
ManagementDept
.
TitleManage
.
考核后绩效
.
ToString
()
,
ManagementDept
.
TitleManage
.
调节系数
.
ToString
()
,
ManagementDept
.
TitleManage
.
调节后其他绩效
.
ToString
()
,
ManagementDept
.
TitleManage
.
绩效合计
.
ToString
()
};
isShowManage
=
1
;
}
else
{
array
=
new
List
<
int
>()
array
=
new
List
<
string
>()
{
(
int
)
ManagementDept
.
TitleManage
.
考核前绩效
,
(
int
)
ManagementDept
.
TitleManage
.
核算人数
,
(
int
)
ManagementDept
.
TitleManage
.
人均绩效
,
(
int
)
ManagementDept
.
TitleManage
.
基础绩效系数
,
(
int
)
ManagementDept
.
TitleManage
.
出勤率
,
(
int
)
ManagementDept
.
TitleManage
.
实际人均
,
(
int
)
ManagementDept
.
TitleManage
.
效率绩效人数
,
(
int
)
ManagementDept
.
TitleManage
.
效率系数
,
(
int
)
ManagementDept
.
TitleManage
.
效率绩效小计
,
(
int
)
ManagementDept
.
TitleManage
.
规模绩效系数
,
(
int
)
ManagementDept
.
TitleManage
.
规模绩效小计
,
(
int
)
ManagementDept
.
TitleManage
.
管理绩效发放系数
,
(
int
)
ManagementDept
.
TitleManage
.
考核前管理绩效
,
(
int
)
ManagementDept
.
TitleManage
.
考核得分率
,
(
int
)
ManagementDept
.
TitleManage
.
考核后管理绩效
,
(
int
)
ManagementDept
.
TitleManage
.
医院奖罚
,
(
int
)
ManagementDept
.
TitleManage
.
其他管理绩效
,
(
int
)
ManagementDept
.
TitleManage
.
调节系数
,
(
int
)
ManagementDept
.
TitleManage
.
调节后其他绩效
,
(
int
)
ManagementDept
.
TitleManage
.
绩效合计
ManagementDept
.
TitleManage
.
考核前绩效
.
ToString
()
,
ManagementDept
.
TitleManage
.
核算人数
.
ToString
()
,
ManagementDept
.
TitleManage
.
人均绩效
.
ToString
()
,
ManagementDept
.
TitleManage
.
基础绩效系数
.
ToString
()
,
ManagementDept
.
TitleManage
.
出勤率
.
ToString
()
,
ManagementDept
.
TitleManage
.
实际人均
.
ToString
()
,
ManagementDept
.
TitleManage
.
效率绩效人数
.
ToString
()
,
ManagementDept
.
TitleManage
.
效率系数
.
ToString
()
,
ManagementDept
.
TitleManage
.
效率绩效小计
.
ToString
()
,
ManagementDept
.
TitleManage
.
规模绩效系数
.
ToString
()
,
ManagementDept
.
TitleManage
.
规模绩效小计
.
ToString
()
,
ManagementDept
.
TitleManage
.
管理绩效发放系数
.
ToString
()
,
ManagementDept
.
TitleManage
.
其他管理绩效
.
ToString
()
,
ManagementDept
.
TitleManage
.
考核前管理绩效
.
ToString
()
,
ManagementDept
.
TitleManage
.
考核得分率
.
ToString
()
,
ManagementDept
.
TitleManage
.
考核后管理绩效
.
ToString
()
,
ManagementDept
.
TitleManage
.
医院奖罚
.
ToString
()
,
ManagementDept
.
TitleManage
.
调节系数
.
ToString
()
,
ManagementDept
.
TitleManage
.
调节后其他绩效
.
ToString
()
,
ManagementDept
.
TitleManage
.
绩效合计
.
ToString
()
};
}
...
...
@@ -1307,12 +1295,9 @@ public List<UniteDeptDetailResponse> EmpDetail(EmpDetailRequest request, int use
foreach
(
var
detail
in
rightSheetTypeMaps
)
{
response
.
DetailItems
.
Add
(
detail
);
foreach
(
var
sheet
in
persheet
.
Where
(
t
=>
t
.
SheetType
==
(
int
)
detail
.
SheetType
))
{
var
type
=
TypeConversion
((
int
)
unitType
);
var
sheetName
=
BeautifulName
(
sheet
.
SheetName
);
var
items
=
new
List
<
Dictionary
<
string
,
object
>>();
var
postDatas
=
basicData
.
Where
(
t
=>
t
.
SheetID
==
sheet
.
ID
&&
t
.
IsTotal
!=
1
&&
t
.
UnitType
==
(
int
)
type
);
...
...
@@ -1325,8 +1310,8 @@ public List<UniteDeptDetailResponse> EmpDetail(EmpDetailRequest request, int use
{
if
(
ignore
.
Contains
(
post
.
Key
.
TypeName
))
continue
;
var
settingItem
=
settings
.
Fi
rstOrDefault
(
w
=>
w
.
Title
==
detail
.
Title
)
??
new
UniteDeptDetailItem
()
{
Children
=
new
List
<
UniteDeptDetailItem
>()
};
var
gs
=
settingItem
.
Children
.
Fi
rstOrDefault
(
w
=>
w
.
Title
==
post
.
Key
.
TypeName
)
??
new
UniteDeptDetailItem
{
Format
=
""
};
var
settingItem
=
settings
.
Fi
nd
(
w
=>
w
.
Title
==
detail
.
Title
)
??
new
UniteDeptDetailItem
()
{
Children
=
new
List
<
UniteDeptDetailItem
>()
};
var
gs
=
settingItem
.
Children
.
Fi
nd
(
w
=>
w
.
Title
==
post
.
Key
.
TypeName
)
??
new
UniteDeptDetailItem
{
Format
=
""
};
if
(
string
.
IsNullOrEmpty
(
gs
.
Display
))
gs
.
Display
=
UniteDept
.
DisplayRule
.
始终显示
.
ToString
();
...
...
@@ -1352,9 +1337,10 @@ public List<UniteDeptDetailResponse> EmpDetail(EmpDetailRequest request, int use
}
}
#
endregion
//过滤
response
.
DetailItems
=
response
.
DetailItems
.
Where
(
w
=>
array
.
Contains
(
w
.
Title
)).
ToList
();
RecursionUseSettings
(
response
.
DetailItems
,
settings
,
userInfo
.
IsSecondAdmin
,
allot
);
response
.
DetailItems
=
response
.
DetailItems
.
Where
(
w
=>
array
.
Contains
(
w
.
Sort
)).
ToList
();
response
.
DetailItems
=
response
.
DetailItems
.
Where
(
w
=>
w
.
Display
).
OrderBy
(
w
=>
w
.
Sort
).
ToList
();
responses
.
Add
(
response
);
}
...
...
@@ -1362,7 +1348,7 @@ public List<UniteDeptDetailResponse> EmpDetail(EmpDetailRequest request, int use
}
public
string
ExcelDownload
(
List
<
UniteDeptDetailResponse
>
uniteDeptDetails
,
string
name
,
int
allotId
)
public
string
ExcelDownload
(
List
<
UniteDeptDetailResponse
>
uniteDeptDetails
,
string
name
)
{
var
dpath
=
Path
.
Combine
(
AppDomain
.
CurrentDomain
.
BaseDirectory
,
"Files"
);
if
(!
Directory
.
Exists
(
dpath
))
Directory
.
CreateDirectory
(
dpath
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment