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
c94a4c73
Commit
c94a4c73
authored
Jun 01, 2023
by
ruyun.zhang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
科室详情
parent
ae2c21eb
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
69 additions
and
71 deletions
+69
-71
performance/Performance.Api/Controllers/ComputeController.cs
+2
-1
performance/Performance.Api/wwwroot/Performance.Api.xml
+1
-1
performance/Performance.DtoModels/Enum.cs
+0
-5
performance/Performance.DtoModels/Response/UniteDeptDetailResponse.cs
+1
-1
performance/Performance.DtoModels/UniteDeptSetting.cs
+0
-4
performance/Performance.Services/ComputeService.UniteDeptDetail.cs
+65
-59
No files found.
performance/Performance.Api/Controllers/ComputeController.cs
View file @
c94a4c73
...
@@ -188,7 +188,7 @@ public ApiResponse GetUniteDeptDetailSetting([FromQuery] int allotId)
...
@@ -188,7 +188,7 @@ public ApiResponse GetUniteDeptDetailSetting([FromQuery] int allotId)
/// <returns></returns>
/// <returns></returns>
[
Route
(
"unite/deptdetail/setting/save"
)]
[
Route
(
"unite/deptdetail/setting/save"
)]
[
HttpPost
]
[
HttpPost
]
public
ApiResponse
SaveUniteDeptDetailSetting
([
FromQuery
]
int
allotId
,
[
FromBody
]
UniteDeptSetting
request
)
public
ApiResponse
SaveUniteDeptDetailSetting
([
FromQuery
]
int
allotId
,
[
FromBody
]
List
<
UniteDeptDetailItem
>
request
)
{
{
_computeService
.
SaveUniteDeptDetailSetting
(
allotId
,
request
);
_computeService
.
SaveUniteDeptDetailSetting
(
allotId
,
request
);
return
new
ApiResponse
(
ResponseType
.
OK
,
"保存成功"
);
return
new
ApiResponse
(
ResponseType
.
OK
,
"保存成功"
);
...
@@ -203,6 +203,7 @@ public ApiResponse SaveUniteDeptDetailSetting([FromQuery] int allotId, [FromBody
...
@@ -203,6 +203,7 @@ public ApiResponse SaveUniteDeptDetailSetting([FromQuery] int allotId, [FromBody
[
HttpPost
]
[
HttpPost
]
public
ApiResponse
UniteDeptDetail
([
FromBody
]
UniteDeptDetailRequest
request
)
public
ApiResponse
UniteDeptDetail
([
FromBody
]
UniteDeptDetailRequest
request
)
{
{
request
.
UnitType
=
request
.
UnitType
.
Replace
(
"行政后勤"
,
"行政工勤"
);
if
(!
Enum
.
TryParse
(
request
.
UnitType
,
ignoreCase
:
true
,
out
UnitType
unitType
))
if
(!
Enum
.
TryParse
(
request
.
UnitType
,
ignoreCase
:
true
,
out
UnitType
unitType
))
return
new
ApiResponse
(
ResponseType
.
ParameterError
,
"核算组别错误"
);
return
new
ApiResponse
(
ResponseType
.
ParameterError
,
"核算组别错误"
);
var
userid
=
_claim
.
GetUserId
();
var
userid
=
_claim
.
GetUserId
();
...
...
performance/Performance.Api/wwwroot/Performance.Api.xml
View file @
c94a4c73
...
@@ -1052,7 +1052,7 @@
...
@@ -1052,7 +1052,7 @@
<param
name=
"allotId"
></param>
<param
name=
"allotId"
></param>
<returns></returns>
<returns></returns>
</member>
</member>
<member
name=
"M:Performance.Api.Controllers.ComputeController.SaveUniteDeptDetailSetting(System.Int32,
Performance.DtoModels.UniteDeptSetting
)"
>
<member
name=
"M:Performance.Api.Controllers.ComputeController.SaveUniteDeptDetailSetting(System.Int32,
System.Collections.Generic.List{Performance.DtoModels.UniteDeptDetailItem}
)"
>
<summary>
<summary>
科室绩效详情显示隐藏设置--保存
科室绩效详情显示隐藏设置--保存
</summary>
</summary>
...
...
performance/Performance.DtoModels/Enum.cs
View file @
c94a4c73
...
@@ -193,11 +193,6 @@ public enum FromSource
...
@@ -193,11 +193,6 @@ public enum FromSource
public
class
UniteDept
public
class
UniteDept
{
{
public
enum
Type
{
左侧下拉
=
1
,
右侧收缩
=
2
,
}
public
enum
Title
public
enum
Title
{
{
业绩分值
=
2100
,
业绩分值
=
2100
,
...
...
performance/Performance.DtoModels/Response/UniteDeptDetailResponse.cs
View file @
c94a4c73
...
@@ -12,7 +12,6 @@ public class UniteDeptDetailResponse
...
@@ -12,7 +12,6 @@ public class UniteDeptDetailResponse
}
}
public
class
DeptDetailItem
public
class
DeptDetailItem
{
{
public
int
Type
{
get
;
set
;
}
public
string
Title
{
get
;
set
;
}
public
string
Title
{
get
;
set
;
}
public
decimal
Total
{
get
;
set
;
}
public
decimal
Total
{
get
;
set
;
}
public
string
TotalFormat
{
get
;
set
;
}
public
string
TotalFormat
{
get
;
set
;
}
...
@@ -20,6 +19,7 @@ public class DeptDetailItem
...
@@ -20,6 +19,7 @@ public class DeptDetailItem
public
int
Sort
{
get
;
set
;
}
public
int
Sort
{
get
;
set
;
}
public
bool
Display
{
get
;
set
;
}
=
true
;
public
bool
Display
{
get
;
set
;
}
=
true
;
public
SheetType
SheetType
{
get
;
set
;
}
public
SheetType
SheetType
{
get
;
set
;
}
public
List
<
DeptDetailItem
>
Children
{
get
;
set
;
}
public
List
<
Dictionary
<
string
,
object
>>
Items
{
get
;
set
;
}
public
List
<
Dictionary
<
string
,
object
>>
Items
{
get
;
set
;
}
}
}
}
}
performance/Performance.DtoModels/UniteDeptSetting.cs
View file @
c94a4c73
...
@@ -3,10 +3,6 @@
...
@@ -3,10 +3,6 @@
namespace
Performance.DtoModels
namespace
Performance.DtoModels
{
{
public
class
UniteDeptSetting
{
public
List
<
UniteDeptDetailItem
>
DetailItems
{
get
;
set
;
}
=
new
List
<
UniteDeptDetailItem
>();
}
public
class
UniteDeptDetailItem
public
class
UniteDeptDetailItem
{
{
public
int
Type
{
get
;
set
;
}
public
int
Type
{
get
;
set
;
}
...
...
performance/Performance.Services/ComputeService.UniteDeptDetail.cs
View file @
c94a4c73
...
@@ -54,6 +54,7 @@ public UniteDeptDetailResponse UniteDeptDetail(int allotId, UnitType unitType, s
...
@@ -54,6 +54,7 @@ public UniteDeptDetailResponse UniteDeptDetail(int allotId, UnitType unitType, s
// 行政工勤
// 行政工勤
if
(
UnitTypeUtil
.
IsOffice
(
response
.
UnitType
))
if
(
UnitTypeUtil
.
IsOffice
(
response
.
UnitType
))
{
{
var
detailItems
=
new
List
<
DeptDetailItem
>();
#
region
补全行政工勤人员明细
#
region
补全行政工勤人员明细
{
{
var
items
=
new
List
<
Dictionary
<
string
,
object
>>();
var
items
=
new
List
<
Dictionary
<
string
,
object
>>();
...
@@ -70,9 +71,7 @@ public UniteDeptDetailResponse UniteDeptDetail(int allotId, UnitType unitType, s
...
@@ -70,9 +71,7 @@ public UniteDeptDetailResponse UniteDeptDetail(int allotId, UnitType unitType, s
{
"绩效合计"
,
ValueFormating
(
item
.
PerforTotal
,
UniteDept
.
Format
.
两位小数
.
ToString
())
},
{
"绩效合计"
,
ValueFormating
(
item
.
PerforTotal
,
UniteDept
.
Format
.
两位小数
.
ToString
())
},
});
});
}
}
detailItems
.
Add
(
new
DeptDetailItem
{
Title
=
"行政工勤"
,
Total
=
account
.
PerforTotal
??
0
,
Items
=
items
});
var
detail
=
new
DeptDetailItem
{
Title
=
"行政工勤"
,
Type
=
(
int
)
UniteDept
.
Type
.
左侧下拉
,
Total
=
account
.
PerforTotal
??
0
,
Items
=
items
};
response
.
DetailItems
.
Add
(
detail
);
}
}
#
endregion
#
endregion
...
@@ -98,26 +97,26 @@ public UniteDeptDetailResponse UniteDeptDetail(int allotId, UnitType unitType, s
...
@@ -98,26 +97,26 @@ public UniteDeptDetailResponse UniteDeptDetail(int allotId, UnitType unitType, s
var
amount
=
post
.
FirstOrDefault
(
w
=>
w
.
IsTotal
==
1
)?.
CellValue
??
0
;
var
amount
=
post
.
FirstOrDefault
(
w
=>
w
.
IsTotal
==
1
)?.
CellValue
??
0
;
row
.
AddOrUpdate
(
"合计"
,
ValueFormating
(
amount
,
""
),
ValueFormating
(
amount
,
""
));
row
.
AddOrUpdate
(
"合计"
,
ValueFormating
(
amount
,
""
),
ValueFormating
(
amount
,
""
));
}
}
detailItems
.
Add
(
new
DeptDetailItem
{
Title
=
"岗位系数"
,
Total
=
0
,
Items
=
items
});
var
detail
=
new
DeptDetailItem
{
Title
=
"岗位系数"
,
Type
=
(
int
)
UniteDept
.
Type
.
左侧下拉
,
Total
=
0
,
Items
=
items
};
response
.
DetailItems
.
Add
(
detail
);
}
}
}
}
#
endregion
#
endregion
#
region
特殊处理
#
region
特殊处理
var
total
=
response
.
DetailItems
.
FirstOrDefault
(
w
=>
w
.
Title
==
"行政工勤"
&&
w
.
Type
==
(
int
)
UniteDept
.
Type
.
左侧下拉
)?.
Total
??
0
;
var
total
=
detailItems
.
FirstOrDefault
(
w
=>
w
.
Title
==
"行政工勤"
)?.
Total
??
0
;
response
.
DetailItems
.
Add
(
new
DeptDetailItem
{
Title
=
UniteDept
.
Title
.
业绩分值
.
ToString
(),
T
ype
=
(
int
)
UniteDept
.
Type
.
右侧收缩
,
T
otal
=
0
});
response
.
DetailItems
.
Add
(
new
DeptDetailItem
{
Title
=
UniteDept
.
Title
.
业绩分值
.
ToString
(),
Total
=
0
});
response
.
DetailItems
.
Add
(
new
DeptDetailItem
{
Title
=
UniteDept
.
Title
.
业绩绩效
.
ToString
(),
T
ype
=
(
int
)
UniteDept
.
Type
.
右侧收缩
,
Total
=
total
});
response
.
DetailItems
.
Add
(
new
DeptDetailItem
{
Title
=
UniteDept
.
Title
.
业绩绩效
.
ToString
(),
T
otal
=
total
,
Children
=
detailItems
});
response
.
DetailItems
.
Add
(
new
DeptDetailItem
{
Title
=
UniteDept
.
Title
.
工作量绩效
.
ToString
(),
T
ype
=
(
int
)
UniteDept
.
Type
.
右侧收缩
,
T
otal
=
0
});
response
.
DetailItems
.
Add
(
new
DeptDetailItem
{
Title
=
UniteDept
.
Title
.
工作量绩效
.
ToString
(),
Total
=
0
});
response
.
DetailItems
.
Add
(
new
DeptDetailItem
{
Title
=
UniteDept
.
Title
.
考核前绩效
.
ToString
(),
T
ype
=
(
int
)
UniteDept
.
Type
.
右侧收缩
,
T
otal
=
total
});
response
.
DetailItems
.
Add
(
new
DeptDetailItem
{
Title
=
UniteDept
.
Title
.
考核前绩效
.
ToString
(),
Total
=
total
});
#
endregion
#
endregion
}
}
else
if
(
UnitTypeUtil
.
Is
(
response
.
UnitType
,
UnitType
.
特殊核算组
.
ToString
()))
else
if
(
UnitTypeUtil
.
Is
(
response
.
UnitType
,
UnitType
.
特殊核算组
.
ToString
()))
{
{
var
special
=
_perforResspecialunitRepository
.
GetEntities
(
t
=>
t
.
AllotID
==
allotId
&&
t
.
Department
==
accountingUnit
);
var
special
=
_perforResspecialunitRepository
.
GetEntities
(
t
=>
t
.
AllotID
==
allotId
&&
t
.
Department
==
accountingUnit
);
if
(
special
?.
Any
()
!=
true
)
return
response
;
if
(
special
?.
Any
()
!=
true
)
return
response
;
var
detailItems
=
new
List
<
DeptDetailItem
>();
#
region
补全特殊核算组量化指标明细
#
region
补全特殊核算组量化指标明细
{
{
var
items
=
new
List
<
Dictionary
<
string
,
object
>>();
var
items
=
new
List
<
Dictionary
<
string
,
object
>>();
...
@@ -132,22 +131,22 @@ public UniteDeptDetailResponse UniteDeptDetail(int allotId, UnitType unitType, s
...
@@ -132,22 +131,22 @@ public UniteDeptDetailResponse UniteDeptDetail(int allotId, UnitType unitType, s
});
});
}
}
var
detail
=
new
DeptDetailItem
{
Title
=
"量化考核"
,
Type
=
(
int
)
UniteDept
.
Type
.
左侧下拉
,
Total
=
special
.
First
().
ResultsTotalFee
??
0
,
Items
=
items
};
detailItems
.
Add
(
new
DeptDetailItem
{
Title
=
"量化考核"
,
Total
=
special
.
First
().
ResultsTotalFee
??
0
,
Items
=
items
});
response
.
DetailItems
.
Add
(
detail
);
}
}
#
endregion
#
endregion
#
region
特殊处理
#
region
特殊处理
var
total
=
response
.
DetailItems
.
FirstOrDefault
(
w
=>
w
.
Title
==
"量化考核"
&&
w
.
Type
==
(
int
)
UniteDept
.
Type
.
左侧下拉
)?.
Total
??
0
;
var
total
=
detailItems
.
FirstOrDefault
(
w
=>
w
.
Title
==
"量化考核"
)?.
Total
??
0
;
response
.
DetailItems
.
Add
(
new
DeptDetailItem
{
Title
=
UniteDept
.
Title
.
业绩分值
.
ToString
(),
T
ype
=
(
int
)
UniteDept
.
Type
.
右侧收缩
,
T
otal
=
0
});
response
.
DetailItems
.
Add
(
new
DeptDetailItem
{
Title
=
UniteDept
.
Title
.
业绩分值
.
ToString
(),
Total
=
0
});
response
.
DetailItems
.
Add
(
new
DeptDetailItem
{
Title
=
UniteDept
.
Title
.
业绩绩效
.
ToString
(),
T
ype
=
(
int
)
UniteDept
.
Type
.
右侧收缩
,
T
otal
=
0
});
response
.
DetailItems
.
Add
(
new
DeptDetailItem
{
Title
=
UniteDept
.
Title
.
业绩绩效
.
ToString
(),
Total
=
0
});
response
.
DetailItems
.
Add
(
new
DeptDetailItem
{
Title
=
UniteDept
.
Title
.
工作量绩效
.
ToString
(),
T
ype
=
(
int
)
UniteDept
.
Type
.
右侧收缩
,
Total
=
total
});
response
.
DetailItems
.
Add
(
new
DeptDetailItem
{
Title
=
UniteDept
.
Title
.
工作量绩效
.
ToString
(),
T
otal
=
total
,
Children
=
detailItems
});
response
.
DetailItems
.
Add
(
new
DeptDetailItem
{
Title
=
UniteDept
.
Title
.
考核前绩效
.
ToString
(),
T
ype
=
(
int
)
UniteDept
.
Type
.
右侧收缩
,
T
otal
=
special
.
First
().
PerforTotal
??
0
});
response
.
DetailItems
.
Add
(
new
DeptDetailItem
{
Title
=
UniteDept
.
Title
.
考核前绩效
.
ToString
(),
Total
=
special
.
First
().
PerforTotal
??
0
});
#
endregion
#
endregion
}
}
else
else
{
{
var
detailItems
=
new
List
<
DeptDetailItem
>();
#
region
补全临床科室收入明细
#
region
补全临床科室收入明细
{
{
var
leftSheetTypes
=
new
List
<
int
>
{
(
int
)
SheetType
.
Income
,
(
int
)
SheetType
.
OtherIncome
,
(
int
)
SheetType
.
Expend
,
};
var
leftSheetTypes
=
new
List
<
int
>
{
(
int
)
SheetType
.
Income
,
(
int
)
SheetType
.
OtherIncome
,
(
int
)
SheetType
.
Expend
,
};
...
@@ -161,6 +160,8 @@ public UniteDeptDetailResponse UniteDeptDetail(int allotId, UnitType unitType, s
...
@@ -161,6 +160,8 @@ public UniteDeptDetailResponse UniteDeptDetail(int allotId, UnitType unitType, s
var
items
=
new
List
<
Dictionary
<
string
,
object
>>();
var
items
=
new
List
<
Dictionary
<
string
,
object
>>();
var
postDatas
=
basicData
.
Where
(
t
=>
t
.
SheetID
==
sheet
.
ID
&&
t
.
IsTotal
!=
1
&&
t
.
UnitType
==
(
int
)
type
);
var
postDatas
=
basicData
.
Where
(
t
=>
t
.
SheetID
==
sheet
.
ID
&&
t
.
IsTotal
!=
1
&&
t
.
UnitType
==
(
int
)
type
);
if
(
postDatas
?.
Any
()
!=
true
)
continue
;
foreach
(
var
post
in
postDatas
.
GroupBy
(
t
=>
new
{
t
.
TypeName
}))
foreach
(
var
post
in
postDatas
.
GroupBy
(
t
=>
new
{
t
.
TypeName
}))
{
{
if
(
ignore
.
Contains
(
post
.
Key
.
TypeName
))
continue
;
if
(
ignore
.
Contains
(
post
.
Key
.
TypeName
))
continue
;
...
@@ -191,13 +192,13 @@ public UniteDeptDetailResponse UniteDeptDetail(int allotId, UnitType unitType, s
...
@@ -191,13 +192,13 @@ public UniteDeptDetailResponse UniteDeptDetail(int allotId, UnitType unitType, s
#
endregion
#
endregion
var
amount
=
basicData
.
Where
(
t
=>
t
.
SheetID
==
sheet
.
ID
&&
t
.
UnitType
==
(
int
)
type
&&
t
.
IsTotal
!=
1
)?.
Sum
(
t
=>
t
.
IsFactor
==
1
?
t
.
CellValue
*
(
t
.
FactorValue
??
0
)
:
t
.
CellValue
)
??
0
;
var
amount
=
basicData
.
Where
(
t
=>
t
.
SheetID
==
sheet
.
ID
&&
t
.
UnitType
==
(
int
)
type
&&
t
.
IsTotal
!=
1
)?.
Sum
(
t
=>
t
.
IsFactor
==
1
?
t
.
CellValue
*
(
t
.
FactorValue
??
0
)
:
t
.
CellValue
)
??
0
;
var
detail
=
new
DeptDetailItem
{
Title
=
sheetName
,
Type
=
(
int
)
UniteDept
.
Type
.
左侧下拉
,
Total
=
amount
,
Items
=
items
};
detailItems
.
Add
(
new
DeptDetailItem
{
Title
=
sheetName
,
Total
=
amount
,
Items
=
items
});
response
.
DetailItems
.
Add
(
detail
);
}
}
}
}
}
}
#
endregion
#
endregion
var
detailItemWorkloads
=
new
List
<
DeptDetailItem
>();
#
region
补全临床科室工作量明细
#
region
补全临床科室工作量明细
{
{
foreach
(
var
sheet
in
persheet
.
Where
(
t
=>
t
.
SheetType
==
(
int
)
SheetType
.
Workload
))
foreach
(
var
sheet
in
persheet
.
Where
(
t
=>
t
.
SheetType
==
(
int
)
SheetType
.
Workload
))
...
@@ -215,7 +216,13 @@ public UniteDeptDetailResponse UniteDeptDetail(int allotId, UnitType unitType, s
...
@@ -215,7 +216,13 @@ public UniteDeptDetailResponse UniteDeptDetail(int allotId, UnitType unitType, s
var
inclineFactor
=
GetFactors
(
persheet
,
basicData
,
type
,
SheetType
.
WorkloadIncline
);
var
inclineFactor
=
GetFactors
(
persheet
,
basicData
,
type
,
SheetType
.
WorkloadIncline
);
var
items
=
new
List
<
Dictionary
<
string
,
object
>>();
var
items
=
new
List
<
Dictionary
<
string
,
object
>>();
var
postDatas
=
basicData
.
Where
(
t
=>
t
.
SheetID
==
sheet
.
ID
&&
t
.
IsTotal
!=
1
&&
t
.
UnitType
==
(
int
)
type
);
var
unitTypes
=
new
int
[]
{
(
int
)
UnitType
.
医生组
,
(
int
)
UnitType
.
医技组
,
(
int
)
UnitType
.
其他医技组
};
var
postDatas
=
(
unitTypes
.
Contains
((
int
)
type
))
?
basicData
.
Where
(
t
=>
t
.
SheetID
==
sheet
.
ID
&&
t
.
IsTotal
!=
1
&&
unitTypes
.
Contains
(
t
.
UnitType
.
Value
))
:
basicData
.
Where
(
t
=>
t
.
SheetID
==
sheet
.
ID
&&
t
.
IsTotal
!=
1
&&
t
.
UnitType
==
(
int
)
type
);
if
(
postDatas
?.
Any
()
!=
true
)
continue
;
foreach
(
var
post
in
postDatas
.
GroupBy
(
t
=>
new
{
t
.
TypeName
}))
foreach
(
var
post
in
postDatas
.
GroupBy
(
t
=>
new
{
t
.
TypeName
}))
{
{
if
(
ignore
.
Contains
(
post
.
Key
.
TypeName
))
continue
;
if
(
ignore
.
Contains
(
post
.
Key
.
TypeName
))
continue
;
...
@@ -244,8 +251,7 @@ public UniteDeptDetailResponse UniteDeptDetail(int allotId, UnitType unitType, s
...
@@ -244,8 +251,7 @@ public UniteDeptDetailResponse UniteDeptDetail(int allotId, UnitType unitType, s
});
});
var
amount
=
basicData
.
Where
(
t
=>
t
.
SheetID
==
sheet
.
ID
&&
t
.
UnitType
==
(
int
)
type
&&
t
.
IsTotal
!=
1
)?.
Sum
(
t
=>
t
.
IsFactor
==
1
?
t
.
CellValue
*
(
t
.
FactorValue
??
0
)
:
t
.
CellValue
)
??
0
;
var
amount
=
basicData
.
Where
(
t
=>
t
.
SheetID
==
sheet
.
ID
&&
t
.
UnitType
==
(
int
)
type
&&
t
.
IsTotal
!=
1
)?.
Sum
(
t
=>
t
.
IsFactor
==
1
?
t
.
CellValue
*
(
t
.
FactorValue
??
0
)
:
t
.
CellValue
)
??
0
;
var
detail
=
new
DeptDetailItem
{
Title
=
sheetName
,
Type
=
(
int
)
UniteDept
.
Type
.
左侧下拉
,
Total
=
amount
,
Items
=
items
};
detailItemWorkloads
.
Add
(
new
DeptDetailItem
{
Title
=
sheetName
,
Total
=
amount
,
Items
=
items
});
response
.
DetailItems
.
Add
(
detail
);
}
}
}
}
#
endregion
#
endregion
...
@@ -259,31 +265,31 @@ public UniteDeptDetailResponse UniteDeptDetail(int allotId, UnitType unitType, s
...
@@ -259,31 +265,31 @@ public UniteDeptDetailResponse UniteDeptDetail(int allotId, UnitType unitType, s
var
zc
=
string
.
Join
(
" - "
,
persheet
.
Where
(
t
=>
t
.
SheetType
==
(
int
)
SheetType
.
Expend
).
Select
(
w
=>
BeautifulName
(
w
.
SheetName
)));
var
zc
=
string
.
Join
(
" - "
,
persheet
.
Where
(
t
=>
t
.
SheetType
==
(
int
)
SheetType
.
Expend
).
Select
(
w
=>
BeautifulName
(
w
.
SheetName
)));
remark
=
$"
{
sr
}
+
{
ewsr
}
-
{
zc
}
"
;
remark
=
$"
{
sr
}
+
{
ewsr
}
-
{
zc
}
"
;
}
}
response
.
DetailItems
.
Add
(
new
DeptDetailItem
{
Title
=
UniteDept
.
Title
.
业绩分值
.
ToString
(),
T
ype
=
(
int
)
UniteDept
.
Type
.
右侧收缩
,
Total
=
account
.
Income
??
0
,
Remark
=
remark
});
response
.
DetailItems
.
Add
(
new
DeptDetailItem
{
Title
=
UniteDept
.
Title
.
业绩分值
.
ToString
(),
T
otal
=
account
.
Income
??
0
,
Children
=
detailItems
});
response
.
DetailItems
.
Add
(
new
DeptDetailItem
{
Title
=
UniteDept
.
Title
.
业绩绩效
.
ToString
(),
T
ype
=
(
int
)
UniteDept
.
Type
.
右侧收缩
,
Total
=
account
.
PerforFee
??
0
,
Remark
=
allot
.
ShowFormula
==
1
?
"业绩分值 * 预算比例"
:
""
});
response
.
DetailItems
.
Add
(
new
DeptDetailItem
{
Title
=
UniteDept
.
Title
.
业绩绩效
.
ToString
(),
T
otal
=
account
.
PerforFee
??
0
});
response
.
DetailItems
.
Add
(
new
DeptDetailItem
{
Title
=
UniteDept
.
Title
.
工作量绩效
.
ToString
(),
T
ype
=
(
int
)
UniteDept
.
Type
.
右侧收缩
,
Total
=
account
.
WorkloadFee
??
0
});
response
.
DetailItems
.
Add
(
new
DeptDetailItem
{
Title
=
UniteDept
.
Title
.
工作量绩效
.
ToString
(),
T
otal
=
account
.
WorkloadFee
??
0
,
Children
=
detailItemWorkloads
});
response
.
DetailItems
.
Add
(
new
DeptDetailItem
{
Title
=
UniteDept
.
Title
.
考核前绩效
.
ToString
(),
T
ype
=
(
int
)
UniteDept
.
Type
.
右侧收缩
,
Total
=
account
.
PerforTotal
??
0
,
Remark
=
allot
.
ShowFormula
==
1
?
"业绩绩效 + 工作量绩效 + 考核前其他绩效"
:
""
});
response
.
DetailItems
.
Add
(
new
DeptDetailItem
{
Title
=
UniteDept
.
Title
.
考核前绩效
.
ToString
(),
T
otal
=
account
.
PerforTotal
??
0
});
#
endregion
#
endregion
}
}
// 只显示合计没有详情
// 只显示合计没有详情
response
.
DetailItems
.
Add
(
new
DeptDetailItem
{
Title
=
UniteDept
.
Title
.
考核后绩效
.
ToString
(),
T
ype
=
(
int
)
UniteDept
.
Type
.
右侧收缩
,
Total
=
account
.
AssessLaterPerforTotal
??
0
,
Remark
=
allot
.
ShowFormula
==
1
?
"考核前绩效 × 考核得分率 + 药占比奖罚 + 材料占比奖罚 + 医院奖罚 + 考核后其他绩效"
:
""
});
response
.
DetailItems
.
Add
(
new
DeptDetailItem
{
Title
=
UniteDept
.
Title
.
考核后绩效
.
ToString
(),
T
otal
=
account
.
AssessLaterPerforTotal
??
0
});
response
.
DetailItems
.
Add
(
new
DeptDetailItem
{
Title
=
UniteDept
.
Title
.
考核后其他绩效
.
ToString
(),
T
ype
=
(
int
)
UniteDept
.
Type
.
右侧收缩
,
T
otal
=
account
.
AssessLaterOtherFee
??
0
});
response
.
DetailItems
.
Add
(
new
DeptDetailItem
{
Title
=
UniteDept
.
Title
.
考核后其他绩效
.
ToString
(),
Total
=
account
.
AssessLaterOtherFee
??
0
});
response
.
DetailItems
.
Add
(
new
DeptDetailItem
{
Title
=
UniteDept
.
Title
.
调节系数
.
ToString
(),
T
ype
=
(
int
)
UniteDept
.
Type
.
右侧收缩
,
T
otal
=
account
.
AdjustFactor
??
1
});
response
.
DetailItems
.
Add
(
new
DeptDetailItem
{
Title
=
UniteDept
.
Title
.
调节系数
.
ToString
(),
Total
=
account
.
AdjustFactor
??
1
});
response
.
DetailItems
.
Add
(
new
DeptDetailItem
{
Title
=
UniteDept
.
Title
.
实发绩效
.
ToString
(),
T
ype
=
(
int
)
UniteDept
.
Type
.
右侧收缩
,
Total
=
account
.
RealGiveFee
??
0
,
Remark
=
allot
.
ShowFormula
==
1
?
"考核后绩效 × 调节系数 + 调节后其他绩效"
:
""
});
response
.
DetailItems
.
Add
(
new
DeptDetailItem
{
Title
=
UniteDept
.
Title
.
实发绩效
.
ToString
(),
T
otal
=
account
.
RealGiveFee
??
0
});
// 显示详情
// 显示详情
#
region
补全公共附属表明细
#
region
补全公共附属表明细
{
{
var
rightSheetTypeMaps
=
new
DeptDetailItem
[]
var
rightSheetTypeMaps
=
new
DeptDetailItem
[]
{
{
new
DeptDetailItem
{
Title
=
UniteDept
.
Title
.
预算比例
.
ToString
(),
Type
=
(
int
)
UniteDept
.
Type
.
右侧收缩
,
SheetType
=
SheetType
.
BudgetRatio
},
new
DeptDetailItem
{
Title
=
UniteDept
.
Title
.
预算比例
.
ToString
(),
SheetType
=
SheetType
.
BudgetRatio
,
Total
=
account
.
BasicFactor
??
0
,
},
new
DeptDetailItem
{
Title
=
UniteDept
.
Title
.
医院奖罚
.
ToString
(),
Type
=
(
int
)
UniteDept
.
Type
.
右侧收缩
,
SheetType
=
SheetType
.
AccountExtra
},
new
DeptDetailItem
{
Title
=
UniteDept
.
Title
.
医院奖罚
.
ToString
(),
SheetType
=
SheetType
.
AccountExtra
,
Total
=
account
.
Extra
??
0
,
},
new
DeptDetailItem
{
Title
=
UniteDept
.
Title
.
考核前其他绩效
.
ToString
(),
Type
=
(
int
)
UniteDept
.
Type
.
右侧收缩
,
SheetType
=
SheetType
.
AssessBeforeOtherFee
},
new
DeptDetailItem
{
Title
=
UniteDept
.
Title
.
考核前其他绩效
.
ToString
(),
SheetType
=
SheetType
.
AssessBeforeOtherFee
,
Total
=
account
.
AssessBeforeOtherFee
??
0
,
},
new
DeptDetailItem
{
Title
=
UniteDept
.
Title
.
药占比奖罚
.
ToString
(),
Type
=
(
int
)
UniteDept
.
Type
.
右侧收缩
,
SheetType
=
SheetType
.
AccountDrugAssess
},
new
DeptDetailItem
{
Title
=
UniteDept
.
Title
.
药占比奖罚
.
ToString
(),
SheetType
=
SheetType
.
AccountDrugAssess
,
Total
=
account
.
MedicineExtra
??
0
,
},
new
DeptDetailItem
{
Title
=
UniteDept
.
Title
.
材料占比奖罚
.
ToString
(),
Type
=
(
int
)
UniteDept
.
Type
.
右侧收缩
,
SheetType
=
SheetType
.
AccountMaterialsAssess
},
new
DeptDetailItem
{
Title
=
UniteDept
.
Title
.
材料占比奖罚
.
ToString
(),
SheetType
=
SheetType
.
AccountMaterialsAssess
,
Total
=
account
.
MaterialsExtra
??
0
,
},
new
DeptDetailItem
{
Title
=
UniteDept
.
Title
.
考核得分率
.
ToString
(),
Type
=
(
int
)
UniteDept
.
Type
.
右侧收缩
,
SheetType
=
SheetType
.
AccountScoreAverage
},
new
DeptDetailItem
{
Title
=
UniteDept
.
Title
.
考核得分率
.
ToString
(),
SheetType
=
SheetType
.
AccountScoreAverage
,
Total
=
account
.
ScoringAverage
??
0
,
},
new
DeptDetailItem
{
Title
=
UniteDept
.
Title
.
调节后其他绩效
.
ToString
(),
Type
=
(
int
)
UniteDept
.
Type
.
右侧收缩
,
SheetType
=
SheetType
.
AccountAdjustLaterOtherFee
},
new
DeptDetailItem
{
Title
=
UniteDept
.
Title
.
调节后其他绩效
.
ToString
(),
SheetType
=
SheetType
.
AccountAdjustLaterOtherFee
,
Total
=
account
.
AdjustLaterOtherFee
??
0
,
},
};
};
foreach
(
var
detail
in
rightSheetTypeMaps
)
foreach
(
var
detail
in
rightSheetTypeMaps
)
{
{
...
@@ -324,11 +330,11 @@ public UniteDeptDetailResponse UniteDeptDetail(int allotId, UnitType unitType, s
...
@@ -324,11 +330,11 @@ public UniteDeptDetailResponse UniteDeptDetail(int allotId, UnitType unitType, s
{
{
detail
.
Display
=
true
;
detail
.
Display
=
true
;
var
cfg
=
settings
.
DetailItems
.
FirstOrDefault
(
w
=>
w
.
Title
==
detail
.
Title
);
var
cfg
=
settings
.
FirstOrDefault
(
w
=>
w
.
Title
==
detail
.
Title
);
// 部分左右侧显示全部格式化
// 部分左右侧显示全部格式化
detail
.
TotalFormat
=
ValueFormating
(
detail
.
Total
,
cfg
?.
Format
);
detail
.
TotalFormat
=
ValueFormating
(
detail
.
Total
,
cfg
?.
Format
);
// 只对右侧设置排序
// 只对右侧设置排序
detail
.
Sort
=
detail
.
Type
==
(
int
)
UniteDept
.
Type
.
左侧下拉
||
cfg
==
null
?
detail
.
Sort
:
cfg
.
Sort
;
detail
.
Sort
=
cfg
==
null
?
detail
.
Sort
:
cfg
.
Sort
;
// 备注
// 备注
detail
.
Remark
=
allot
.
ShowFormula
==
1
?
cfg
?.
Remark
:
null
;
detail
.
Remark
=
allot
.
ShowFormula
==
1
?
cfg
?.
Remark
:
null
;
// 只对科室查看时右侧并且未下发隐藏内容
// 只对科室查看时右侧并且未下发隐藏内容
...
@@ -338,14 +344,14 @@ public UniteDeptDetailResponse UniteDeptDetail(int allotId, UnitType unitType, s
...
@@ -338,14 +344,14 @@ public UniteDeptDetailResponse UniteDeptDetail(int allotId, UnitType unitType, s
}
}
else
if
(
cfg
?.
Display
==
UniteDept
.
DisplayRule
.
下发显示
.
ToString
())
else
if
(
cfg
?.
Display
==
UniteDept
.
DisplayRule
.
下发显示
.
ToString
())
{
{
if
(
userInfo
.
IsSecondAdmin
&&
detail
.
Type
==
(
int
)
UniteDept
.
Type
.
右侧收缩
&&
allot
.
States
!=
(
int
)
AllotStates
.
绩效下发
&&
allot
.
States
!=
(
int
)
AllotStates
.
归档
)
if
(
userInfo
.
IsSecondAdmin
&&
allot
.
States
!=
(
int
)
AllotStates
.
绩效下发
&&
allot
.
States
!=
(
int
)
AllotStates
.
归档
)
{
{
detail
.
Display
=
false
;
detail
.
Display
=
false
;
}
}
}
}
}
}
response
.
DetailItems
=
response
.
DetailItems
.
OrderBy
(
w
=>
w
.
Type
).
ThenBy
(
w
=>
w
.
Sort
).
ToList
();
response
.
DetailItems
=
response
.
DetailItems
.
OrderBy
(
w
=>
w
.
Sort
).
ToList
();
return
response
;
return
response
;
}
}
...
@@ -423,12 +429,12 @@ private string BeautifulName(string sheetName)
...
@@ -423,12 +429,12 @@ private string BeautifulName(string sheetName)
/// <param name="allotId"></param>
/// <param name="allotId"></param>
/// <returns></returns>
/// <returns></returns>
/// <exception cref="PerformanceException"></exception>
/// <exception cref="PerformanceException"></exception>
public
UniteDeptSetting
GetUniteDeptDetailSetting
(
int
allotId
)
public
List
<
UniteDeptDetailItem
>
GetUniteDeptDetailSetting
(
int
allotId
)
{
{
var
entity
=
_perforCofDeptDetailRepository
.
GetEntity
(
w
=>
w
.
AllotId
==
allotId
);
var
entity
=
_perforCofDeptDetailRepository
.
GetEntity
(
w
=>
w
.
AllotId
==
allotId
);
if
(!
string
.
IsNullOrEmpty
(
entity
?.
Settings
))
if
(!
string
.
IsNullOrEmpty
(
entity
?.
Settings
))
{
{
return
JsonHelper
.
Deserialize
<
UniteDeptSetting
>(
entity
.
Settings
);
return
JsonHelper
.
Deserialize
<
List
<
UniteDeptDetailItem
>
>(
entity
.
Settings
);
}
}
var
allot
=
perforPerallotRepository
.
GetEntity
(
t
=>
t
.
ID
==
allotId
);
var
allot
=
perforPerallotRepository
.
GetEntity
(
t
=>
t
.
ID
==
allotId
);
...
@@ -439,17 +445,17 @@ public UniteDeptSetting GetUniteDeptDetailSetting(int allotId)
...
@@ -439,17 +445,17 @@ public UniteDeptSetting GetUniteDeptDetailSetting(int allotId)
var
headers
=
_perforImheaderRepository
.
GetEntities
(
t
=>
t
.
AllotID
==
allotId
)
??
new
List
<
im_header
>();
var
headers
=
_perforImheaderRepository
.
GetEntities
(
t
=>
t
.
AllotID
==
allotId
)
??
new
List
<
im_header
>();
var
basicData
=
_perforImDataRepository
.
GetEntities
(
t
=>
t
.
AllotID
==
allotId
)
??
new
List
<
im_data
>();
var
basicData
=
_perforImDataRepository
.
GetEntities
(
t
=>
t
.
AllotID
==
allotId
)
??
new
List
<
im_data
>();
var
response
=
new
UniteDeptSetting
()
{
};
var
response
=
new
List
<
UniteDeptDetailItem
>
()
{
};
response
.
DetailItems
.
Add
(
new
UniteDeptDetailItem
{
Title
=
UniteDept
.
Title
.
业绩分值
.
ToString
(),
Type
=
(
int
)
UniteDept
.
Type
.
右侧收缩
,
Format
=
UniteDept
.
Format
.
整数
.
ToString
(),
});
response
.
Add
(
new
UniteDeptDetailItem
{
Title
=
UniteDept
.
Title
.
业绩分值
.
ToString
()
,
Format
=
UniteDept
.
Format
.
整数
.
ToString
(),
});
response
.
DetailItems
.
Add
(
new
UniteDeptDetailItem
{
Title
=
UniteDept
.
Title
.
业绩绩效
.
ToString
(),
Type
=
(
int
)
UniteDept
.
Type
.
右侧收缩
,
Format
=
UniteDept
.
Format
.
整数
.
ToString
(),
});
response
.
Add
(
new
UniteDeptDetailItem
{
Title
=
UniteDept
.
Title
.
业绩绩效
.
ToString
(),
Format
=
UniteDept
.
Format
.
整数
.
ToString
(),
Remark
=
"业绩分值 * 预算比例"
});
response
.
DetailItems
.
Add
(
new
UniteDeptDetailItem
{
Title
=
UniteDept
.
Title
.
工作量绩效
.
ToString
(),
Type
=
(
int
)
UniteDept
.
Type
.
右侧收缩
,
Format
=
UniteDept
.
Format
.
整数
.
ToString
(),
});
response
.
Add
(
new
UniteDeptDetailItem
{
Title
=
UniteDept
.
Title
.
工作量绩效
.
ToString
()
,
Format
=
UniteDept
.
Format
.
整数
.
ToString
(),
});
response
.
DetailItems
.
Add
(
new
UniteDeptDetailItem
{
Title
=
UniteDept
.
Title
.
考核前绩效
.
ToString
(),
Type
=
(
int
)
UniteDept
.
Type
.
右侧收缩
,
Format
=
UniteDept
.
Format
.
整数
.
ToString
(),
});
response
.
Add
(
new
UniteDeptDetailItem
{
Title
=
UniteDept
.
Title
.
考核前绩效
.
ToString
()
,
Format
=
UniteDept
.
Format
.
整数
.
ToString
(),
});
// 只显示合计没有详情
// 只显示合计没有详情
response
.
DetailItems
.
Add
(
new
UniteDeptDetailItem
{
Title
=
UniteDept
.
Title
.
考核后绩效
.
ToString
(),
Type
=
(
int
)
UniteDept
.
Type
.
右侧收缩
,
Format
=
UniteDept
.
Format
.
整数
.
ToString
(),
Remark
=
"考核前绩效 × 考核得分率 + 药占比奖罚 + 材料占比奖罚 + 医院奖罚 + 考核后其他绩效"
});
response
.
Add
(
new
UniteDeptDetailItem
{
Title
=
UniteDept
.
Title
.
考核后绩效
.
ToString
()
,
Format
=
UniteDept
.
Format
.
整数
.
ToString
(),
Remark
=
"考核前绩效 × 考核得分率 + 药占比奖罚 + 材料占比奖罚 + 医院奖罚 + 考核后其他绩效"
});
response
.
DetailItems
.
Add
(
new
UniteDeptDetailItem
{
Title
=
UniteDept
.
Title
.
考核后其他绩效
.
ToString
(),
Type
=
(
int
)
UniteDept
.
Type
.
右侧收缩
,
Format
=
UniteDept
.
Format
.
整数
.
ToString
(),
});
response
.
Add
(
new
UniteDeptDetailItem
{
Title
=
UniteDept
.
Title
.
考核后其他绩效
.
ToString
()
,
Format
=
UniteDept
.
Format
.
整数
.
ToString
(),
});
response
.
DetailItems
.
Add
(
new
UniteDeptDetailItem
{
Title
=
UniteDept
.
Title
.
调节系数
.
ToString
(),
Type
=
(
int
)
UniteDept
.
Type
.
右侧收缩
,
Format
=
UniteDept
.
Format
.
两位小数百分比
.
ToString
(),
});
response
.
Add
(
new
UniteDeptDetailItem
{
Title
=
UniteDept
.
Title
.
调节系数
.
ToString
()
,
Format
=
UniteDept
.
Format
.
两位小数百分比
.
ToString
(),
});
response
.
DetailItems
.
Add
(
new
UniteDeptDetailItem
{
Title
=
UniteDept
.
Title
.
实发绩效
.
ToString
(),
Type
=
(
int
)
UniteDept
.
Type
.
右侧收缩
,
Format
=
UniteDept
.
Format
.
整数
.
ToString
(),
Remark
=
"考核后绩效 × 调节系数 + 调节后其他绩效"
});
response
.
Add
(
new
UniteDeptDetailItem
{
Title
=
UniteDept
.
Title
.
实发绩效
.
ToString
()
,
Format
=
UniteDept
.
Format
.
整数
.
ToString
(),
Remark
=
"考核后绩效 × 调节系数 + 调节后其他绩效"
});
// 显示详情
// 显示详情
#
region
补全公共附属表明细
#
region
补全公共附属表明细
...
@@ -466,7 +472,7 @@ public UniteDeptSetting GetUniteDeptDetailSetting(int allotId)
...
@@ -466,7 +472,7 @@ public UniteDeptSetting GetUniteDeptDetailSetting(int allotId)
};
};
foreach
(
var
detail
in
rightSheetTypeMaps
)
foreach
(
var
detail
in
rightSheetTypeMaps
)
{
{
response
.
DetailItems
.
Add
(
detail
);
response
.
Add
(
detail
);
foreach
(
var
sheet
in
persheet
.
Where
(
t
=>
t
.
SheetType
==
detail
.
SheetType
))
foreach
(
var
sheet
in
persheet
.
Where
(
t
=>
t
.
SheetType
==
detail
.
SheetType
))
{
{
var
sheetName
=
BeautifulName
(
sheet
.
SheetName
);
var
sheetName
=
BeautifulName
(
sheet
.
SheetName
);
...
@@ -476,7 +482,7 @@ public UniteDeptSetting GetUniteDeptDetailSetting(int allotId)
...
@@ -476,7 +482,7 @@ public UniteDeptSetting GetUniteDeptDetailSetting(int allotId)
foreach
(
var
post
in
postDatas
.
GroupBy
(
t
=>
new
{
t
.
TypeName
}))
foreach
(
var
post
in
postDatas
.
GroupBy
(
t
=>
new
{
t
.
TypeName
}))
{
{
if
(
ignore
.
Contains
(
post
.
Key
.
TypeName
))
continue
;
if
(
ignore
.
Contains
(
post
.
Key
.
TypeName
))
continue
;
items
.
Add
(
new
UniteDeptDetailItem
{
Title
=
post
.
Key
.
TypeName
,
Type
=
(
int
)
UniteDept
.
Type
.
右侧收缩
});
items
.
Add
(
new
UniteDeptDetailItem
{
Title
=
post
.
Key
.
TypeName
});
}
}
detail
.
Items
=
items
;
detail
.
Items
=
items
;
}
}
...
@@ -484,19 +490,19 @@ public UniteDeptSetting GetUniteDeptDetailSetting(int allotId)
...
@@ -484,19 +490,19 @@ public UniteDeptSetting GetUniteDeptDetailSetting(int allotId)
}
}
#
endregion
#
endregion
var
enumItems
=
EnumHelper
.
GetItems
<
UniteDept
.
Title
>();
var
enumItems
=
EnumHelper
.
GetItems
<
UniteDept
.
Title
>();
foreach
(
var
detail
in
response
.
DetailItems
)
foreach
(
var
detail
in
response
)
{
{
detail
.
Display
=
UniteDept
.
DisplayRule
.
始终显示
.
ToString
();
detail
.
Display
=
UniteDept
.
DisplayRule
.
始终显示
.
ToString
();
var
cfg
=
enumItems
.
FirstOrDefault
(
w
=>
w
.
Name
==
detail
.
Title
);
var
cfg
=
enumItems
.
FirstOrDefault
(
w
=>
w
.
Name
==
detail
.
Title
);
// 只对右侧设置排序
// 只对右侧设置排序
detail
.
Sort
=
detail
.
Type
==
(
int
)
UniteDept
.
Type
.
左侧下拉
||
cfg
==
null
?
detail
.
Sort
:
cfg
.
Value
;
detail
.
Sort
=
cfg
==
null
?
detail
.
Sort
:
cfg
.
Value
;
}
}
response
.
DetailItems
=
response
.
DetailItems
.
OrderBy
(
w
=>
w
.
Type
).
ThenBy
(
w
=>
w
.
Sort
).
ToList
();
response
=
response
.
OrderBy
(
w
=>
w
.
Type
).
ThenBy
(
w
=>
w
.
Sort
).
ToList
();
return
response
;
return
response
;
}
}
public
void
SaveUniteDeptDetailSetting
(
int
allotId
,
UniteDeptSetting
request
)
public
void
SaveUniteDeptDetailSetting
(
int
allotId
,
List
<
UniteDeptDetailItem
>
request
)
{
{
var
entity
=
_perforCofDeptDetailRepository
.
GetEntity
(
w
=>
w
.
AllotId
==
allotId
);
var
entity
=
_perforCofDeptDetailRepository
.
GetEntity
(
w
=>
w
.
AllotId
==
allotId
);
if
(
entity
==
null
)
if
(
entity
==
null
)
...
...
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