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
2a6c8a8f
Commit
2a6c8a8f
authored
May 21, 2020
by
lcx
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'v2020' into rsk
parents
ea9615ad
b76517c4
Hide whitespace changes
Inline
Side-by-side
Showing
16 changed files
with
333 additions
and
106 deletions
+333
-106
performance/Performance.Api/Controllers/SecondAllotController.cs
+3
-2
performance/Performance.Api/Template/医院绩效模板.xlsx
+0
-0
performance/Performance.Api/wwwroot/Performance.DtoModels.xml
+10
-0
performance/Performance.Api/wwwroot/Performance.EntityModels.xml
+20
-0
performance/Performance.DtoModels/PerExcel/ExcelEnum.cs
+8
-2
performance/Performance.DtoModels/PerExcel/PerDataAccountBaisc.cs
+10
-0
performance/Performance.EntityModels/Entity/im_accountbasic.cs
+11
-1
performance/Performance.EntityModels/Entity/res_account.cs
+11
-1
performance/Performance.Services/AllotCompute/ProcessComputService.cs
+4
-4
performance/Performance.Services/AllotCompute/ResultComputeService.cs
+3
-0
performance/Performance.Services/ComputeService.cs
+45
-11
performance/Performance.Services/DFExtractService.cs
+75
-6
performance/Performance.Services/PerExcelService/ComputeEmpolyee/ComputeDirector.cs
+19
-3
performance/Performance.Services/PerExcelService/SheetDataRead/PerSheetDataReadDeptAccounting.cs
+2
-0
performance/Performance.Services/SecondAllotService.cs
+24
-6
performance/Performance.Services/SheetSevice.cs
+88
-70
No files found.
performance/Performance.Api/Controllers/SecondAllotController.cs
View file @
2a6c8a8f
...
...
@@ -138,7 +138,8 @@ public ApiResponse SecondDetail([CustomizeValidator(RuleSet = "Refresh"), FromBo
[
Route
(
"api/temp/list"
)]
public
ApiResponse
<
List
<
SecondTempResponse
>>
Temp
([
FromBody
]
AllotDeptRequest
request
)
{
var
result
=
secondAllotService
.
GetTemp
(
request
.
HospitalId
,
request
.
Department
);
var
userId
=
claimService
.
GetUserId
();
var
result
=
secondAllotService
.
GetTemp
(
request
.
HospitalId
,
request
.
Department
,
userId
);
return
new
ApiResponse
<
List
<
SecondTempResponse
>>(
ResponseType
.
OK
,
result
);
}
...
...
@@ -234,7 +235,7 @@ public ApiResponse SubmitAudit(SubmitAuditRequest request)
return
new
ApiResponse
(
ResponseType
.
Fail
,
"该绩效已\"审核通过\",无需再次提交"
);
var
userid
=
claimService
.
GetUserId
();
var
result
=
secondAllotService
.
AuditSubmit
(
second
,
request
.
Type
);
var
result
=
secondAllotService
.
AuditSubmit
(
second
,
userid
);
return
result
?
new
ApiResponse
(
ResponseType
.
OK
,
"提交成功"
)
:
new
ApiResponse
(
ResponseType
.
Fail
,
"提交失败"
);
}
...
...
performance/Performance.Api/Template/医院绩效模板.xlsx
View file @
2a6c8a8f
No preview for this file type
performance/Performance.Api/wwwroot/Performance.DtoModels.xml
View file @
2a6c8a8f
...
...
@@ -787,6 +787,16 @@
其他绩效2
</summary>
</member>
<member
name=
"P:Performance.DtoModels.PerDataAccountBaisc.MedicineExtra"
>
<summary>
药占比奖罚
</summary>
</member>
<member
name=
"P:Performance.DtoModels.PerDataAccountBaisc.MaterialsExtra"
>
<summary>
材料占比奖罚
</summary>
</member>
<member
name=
"P:Performance.DtoModels.PerDataAccountBaisc.Extra"
>
<summary>
医院奖罚
...
...
performance/Performance.Api/wwwroot/Performance.EntityModels.xml
View file @
2a6c8a8f
...
...
@@ -1477,6 +1477,16 @@
其他绩效2
</summary>
</member>
<member
name=
"P:Performance.EntityModels.im_accountbasic.MedicineExtra"
>
<summary>
药占比奖罚
</summary>
</member>
<member
name=
"P:Performance.EntityModels.im_accountbasic.MaterialsExtra"
>
<summary>
材料占比奖罚
</summary>
</member>
<member
name=
"P:Performance.EntityModels.im_accountbasic.DoctorExtra"
>
<summary>
医院奖罚
...
...
@@ -3277,6 +3287,16 @@
其他绩效2
</summary>
</member>
<member
name=
"P:Performance.EntityModels.res_account.MedicineExtra"
>
<summary>
药占比奖罚
</summary>
</member>
<member
name=
"P:Performance.EntityModels.res_account.MaterialsExtra"
>
<summary>
材料占比奖罚
</summary>
</member>
<member
name=
"P:Performance.EntityModels.res_account.Extra"
>
<summary>
医院奖罚
...
...
performance/Performance.DtoModels/PerExcel/ExcelEnum.cs
View file @
2a6c8a8f
...
...
@@ -23,10 +23,16 @@ public enum UnitType
医技组
=
3
,
[
Description
(
"专家组"
)]
专家组
=
4
,
[
Description
(
"其他"
)]
其他
=
5
,
//
[Description("其他")]
//
其他 = 5,
[
Description
(
"特殊核算组"
)]
特殊核算组
=
6
,
[
Description
(
"其他医生组"
)]
其他医生组
=
7
,
[
Description
(
"其他护理组"
)]
其他护理组
=
8
,
[
Description
(
"其他医技组"
)]
其他医技组
=
9
,
}
public
enum
SheetType
...
...
performance/Performance.DtoModels/PerExcel/PerDataAccountBaisc.cs
View file @
2a6c8a8f
...
...
@@ -69,6 +69,16 @@ public class PerDataAccountBaisc : IPerData
public
decimal
OtherPerfor2
{
get
;
set
;
}
/// <summary>
/// 药占比奖罚
/// </summary>
public
decimal
MedicineExtra
{
get
;
set
;
}
/// <summary>
/// 材料占比奖罚
/// </summary>
public
decimal
MaterialsExtra
{
get
;
set
;
}
/// <summary>
/// 医院奖罚
/// </summary>
public
decimal
Extra
{
get
;
set
;
}
...
...
performance/Performance.EntityModels/Entity/im_accountbasic.cs
View file @
2a6c8a8f
...
...
@@ -105,7 +105,17 @@ public class im_accountbasic
/// 其他绩效2
/// </summary>
public
Nullable
<
decimal
>
DoctorOtherPerfor2
{
get
;
set
;
}
/// <summary>
/// 药占比奖罚
/// </summary>
public
Nullable
<
decimal
>
MedicineExtra
{
get
;
set
;
}
/// <summary>
/// 材料占比奖罚
/// </summary>
public
Nullable
<
decimal
>
MaterialsExtra
{
get
;
set
;
}
/// <summary>
/// 医院奖罚
/// </summary>
...
...
performance/Performance.EntityModels/Entity/res_account.cs
View file @
2a6c8a8f
...
...
@@ -100,7 +100,17 @@ public class res_account
/// 其他绩效2
/// </summary>
public
Nullable
<
decimal
>
OtherPerfor2
{
get
;
set
;
}
/// <summary>
/// 药占比奖罚
/// </summary>
public
Nullable
<
decimal
>
MedicineExtra
{
get
;
set
;
}
/// <summary>
/// 材料占比奖罚
/// </summary>
public
Nullable
<
decimal
>
MaterialsExtra
{
get
;
set
;
}
/// <summary>
/// 医院奖罚
/// </summary>
...
...
performance/Performance.Services/AllotCompute/ProcessComputService.cs
View file @
2a6c8a8f
...
...
@@ -252,7 +252,7 @@ public List<PerSheet> Compute(PerExcel excel, List<PerSheet> perSheet, List<res_
var
pairs
=
new
[]
{
new
{
Name
=
"医生组临床科室单元核算表"
,
Data
=
doctorWorkloadData
,
SheetType
=
SheetType
.
ComputeDoctorAccount
,
UnitTypes
=
new
List
<
UnitType
>
{
UnitType
.
医生组
,
UnitType
.
医技组
,
UnitType
.
专家组
,
UnitType
.
其他
}
},
new
{
Name
=
"医生组临床科室单元核算表"
,
Data
=
doctorWorkloadData
,
SheetType
=
SheetType
.
ComputeDoctorAccount
,
UnitTypes
=
new
List
<
UnitType
>
{
UnitType
.
医生组
,
UnitType
.
医技组
,
UnitType
.
专家组
,
UnitType
.
其他
医技组
,
UnitType
.
其他医生组
,
UnitType
.
其他护理组
}
},
new
{
Name
=
"护理组临床科室单元核算表"
,
Data
=
nurseWorkloadData
,
SheetType
=
SheetType
.
ComputeNurseAccount
,
UnitTypes
=
new
List
<
UnitType
>
{
UnitType
.
护理组
}
},
};
List
<
PerSheet
>
result
=
new
List
<
PerSheet
>();
...
...
@@ -270,7 +270,7 @@ public List<PerSheet> Compute(PerExcel excel, List<PerSheet> perSheet, List<res_
continue
;
var
econDoctor
=
economicData
.
FirstOrDefault
(
t
=>
t
.
UnitType
==
unitType
.
ToString
()
&&
t
.
AccountingUnit
==
dept
.
Department
);
var
workDoctor
=
info
.
Data
.
FirstOrDefault
(
t
=>
t
.
UnitType
==
unitType
.
ToString
()
&&
t
.
AccountingUnit
==
dept
.
Department
);
if
(
UnitType
.
专家组
==
unitType
||
UnitType
.
其他
==
unitType
)
if
(
UnitType
.
专家组
==
unitType
||
UnitType
.
其他
医技组
==
unitType
||
UnitType
.
其他医生组
==
unitType
||
UnitType
.
其他护理组
==
unitType
)
{
econDoctor
=
economicData
.
FirstOrDefault
(
t
=>
t
.
AccountingUnit
==
dept
.
Department
);
workDoctor
=
info
.
Data
.
FirstOrDefault
(
t
=>
t
.
AccountingUnit
==
dept
.
Department
);
...
...
@@ -298,7 +298,7 @@ public List<PerSheet> Compute(PerExcel excel, List<PerSheet> perSheet, List<res_
dept
.
WorkloadFee
=
dept
.
WorkSlopeFactor
*
(
workDoctor
?.
CellValue
??
0
);
dept
.
PerforFee
=
dept
.
Income
*
(
dept
.
BasicFactor
+
dept
.
SlopeFactor
);
dept
.
PerforTotal
=
dept
.
PerforFee
+
dept
.
WorkloadFee
+
dept
.
OtherPerfor1
+
(
dept
.
MinimumFee
??
0
);
dept
.
RealGiveFee
=
(
dept
.
PerforTotal
*
dept
.
ScoringAverage
+
dept
.
Extra
+
dept
.
OtherPerfor2
)
*
dept
.
AdjustFactor
;
dept
.
RealGiveFee
=
(
dept
.
PerforTotal
*
dept
.
ScoringAverage
+
dept
.
MedicineExtra
+
dept
.
MaterialsExtra
+
dept
.
Extra
+
dept
.
OtherPerfor2
)
*
dept
.
AdjustFactor
;
dept
.
Avg
=
dept
.
ManagerNumber
+
dept
.
Number
==
0
?
0
:
dept
.
PerforTotal
/
(
dept
.
ManagerNumber
+
dept
.
Number
);
}
...
...
@@ -464,7 +464,7 @@ public void ComputeCustomMinimum(PerExcel excel, List<PerSheet> perSheet, List<r
dept
.
WorkloadFee
=
workload
?.
CellValue
??
0
;
dept
.
PerforFee
=
dept
.
Income
*
(
dept
.
BasicFactor
+
dept
.
SlopeFactor
);
dept
.
PerforTotal
=
dept
.
PerforFee
+
dept
.
WorkloadFee
+
dept
.
OtherPerfor1
+
(
dept
.
MinimumFee
??
0
);
dept
.
RealGiveFee
=
(
dept
.
PerforTotal
*
dept
.
ScoringAverage
+
dept
.
Extra
+
dept
.
OtherPerfor2
)
*
dept
.
AdjustFactor
;
dept
.
RealGiveFee
=
(
dept
.
PerforTotal
*
dept
.
ScoringAverage
+
dept
.
MedicineExtra
+
dept
.
MaterialsExtra
+
dept
.
Extra
+
dept
.
OtherPerfor2
)
*
dept
.
AdjustFactor
;
dept
.
Avg
=
dept
.
ManagerNumber
+
dept
.
Number
==
0
?
0
:
dept
.
PerforTotal
/
(
dept
.
ManagerNumber
+
dept
.
Number
);
totalValue
+=
(
dept
.
PerforTotal
??
0
);
...
...
performance/Performance.Services/AllotCompute/ResultComputeService.cs
View file @
2a6c8a8f
...
...
@@ -191,8 +191,11 @@ public void SpecialUnitCompute(PerExcel excel, per_allot allot, List<res_baiscno
resDataList
.
Add
(
res
);
}
if
(
computeEmployees
==
null
||
!
computeEmployees
.
Any
())
continue
;
var
empolyees
=
computeEmployees
.
Where
(
t
=>
t
.
AccountingUnit
==
group
.
AccountingUnit
);
if
(
empolyees
==
null
||
!
empolyees
.
Any
())
continue
;
foreach
(
var
empolyee
in
empolyees
)
{
//if (empolyee == null)
...
...
performance/Performance.Services/ComputeService.cs
View file @
2a6c8a8f
...
...
@@ -18,6 +18,7 @@ public class ComputeService : IAutoInjection
//private readonly PerforResaccountnurseRepository _perforResAccountnurseRepository;
private
readonly
PerforPersheetRepository
_perforPerSheetRepository
;
private
readonly
PerforImdataRepository
_perforImDataRepository
;
private
readonly
PerforImheaderRepository
_perforImheaderRepository
;
private
readonly
PerforRescomputeRepository
_perforRescomputeRepository
;
private
readonly
PerforResspecialunitRepository
_perforResspecialunitRepository
;
private
readonly
PerforPeragainallotRepository
_perforPeragainallotRepository
;
...
...
@@ -33,6 +34,7 @@ public class ComputeService : IAutoInjection
//PerforResaccountnurseRepository perforResAccountnurseRepository,
PerforPersheetRepository
perforPerSheetRepository
,
PerforImdataRepository
perforImDataRepository
,
PerforImheaderRepository
perforImheaderRepository
,
PerforRescomputeRepository
perforRescomputeRepository
,
PerforResspecialunitRepository
perforResspecialunitRepository
,
PerforPeragainallotRepository
perforPeragainallotRepository
,
...
...
@@ -48,6 +50,7 @@ public class ComputeService : IAutoInjection
//this._perforResAccountnurseRepository = perforResAccountnurseRepository;
this
.
_perforPerSheetRepository
=
perforPerSheetRepository
;
this
.
_perforImDataRepository
=
perforImDataRepository
;
this
.
_perforImheaderRepository
=
perforImheaderRepository
;
this
.
_perforRescomputeRepository
=
perforRescomputeRepository
;
this
.
_perforResspecialunitRepository
=
perforResspecialunitRepository
;
this
.
_perforPeragainallotRepository
=
perforPeragainallotRepository
;
...
...
@@ -78,7 +81,14 @@ public List<ResComputeResponse> GetCompute(int allotId, int type)
{
{
(
int
)
AccountUnitType
.
科主任
,
new
List
<
string
>{
UnitType
.
医生组
.
ToString
(),
UnitType
.
医技组
.
ToString
()
}
},
{
(
int
)
AccountUnitType
.
护士长
,
new
List
<
string
>{
UnitType
.
护理组
.
ToString
()
}
},
{
(
int
)
AccountUnitType
.
Null
,
new
List
<
string
>{
UnitType
.
特殊核算组
.
ToString
(),
UnitType
.
其他
.
ToString
()
}
},
{
(
int
)
AccountUnitType
.
Null
,
new
List
<
string
>
{
UnitType
.
特殊核算组
.
ToString
(),
UnitType
.
其他医生组
.
ToString
(),
UnitType
.
其他护理组
.
ToString
(),
UnitType
.
其他医技组
.
ToString
()
}
},
};
if
(
pairs
.
Keys
.
Any
(
t
=>
t
==
type
))
...
...
@@ -189,7 +199,7 @@ public List<DeptResponse> GetNursePerformance(int allotId)
/// <returns></returns>
public
List
<
DeptResponse
>
GetOtherPerformance
(
int
allotId
)
{
var
unitType
=
new
List
<
int
>
{
(
int
)
UnitType
.
其他
,
(
int
)
UnitType
.
专家组
};
var
unitType
=
new
List
<
int
>
{
(
int
)
UnitType
.
其他
医技组
,
(
int
)
UnitType
.
其他医生组
,
(
int
)
UnitType
.
其他护理组
,
(
int
)
UnitType
.
专家组
};
var
list
=
perforResaccountRepository
.
GetEntities
(
t
=>
unitType
.
Contains
(
t
.
UnitType
.
Value
)
&&
t
.
AllotID
==
allotId
)?.
OrderBy
(
t
=>
t
.
UnitType
).
ThenByDescending
(
t
=>
t
.
AccountingUnit
);
List
<
DeptResponse
>
other
=
Mapper
.
Map
<
List
<
DeptResponse
>>(
list
);
other
?.
ForEach
(
t
=>
t
.
UnitName
=
((
UnitType
)
t
.
UnitType
).
ToString
());
...
...
@@ -385,7 +395,7 @@ public DeptDataDetails DeptDetail(int accountId)
Detail
=
new
List
<
DetailDtos
>()
};
int
type
=
doctor
.
UnitType
.
Value
;
if
(
type
==
(
int
)
UnitType
.
专家组
||
type
==
(
int
)
UnitType
.
其他
)
if
(
type
==
(
int
)
UnitType
.
专家组
||
type
==
(
int
)
UnitType
.
其他
医技组
||
type
==
(
int
)
UnitType
.
其他医生组
||
type
==
(
int
)
UnitType
.
其他护理组
)
type
=
1
;
var
basicData
=
_perforImDataRepository
.
GetEntities
(
t
=>
t
.
AllotID
==
doctor
.
AllotID
&&
t
.
UnitType
==
type
&&
t
.
AccountingUnit
==
doctor
.
AccountingUnit
);
var
persheet
=
_perforPerSheetRepository
.
GetEntities
(
t
=>
t
.
AllotID
==
doctor
.
AllotID
);
...
...
@@ -395,6 +405,7 @@ public DeptDataDetails DeptDetail(int accountId)
var
dataEconomicList
=
basicData
.
Where
(
t
=>
t
.
SheetID
==
sheetEconomic
?.
ID
&&
t
.
UnitType
==
type
&&
t
.
IsTotal
!=
1
&&
t
.
AccountingUnit
==
doctor
.
AccountingUnit
).
ToList
();
var
economic
=
dataEconomicList
?.
Select
(
t
=>
new
DeptDetail
{
ItemName
=
t
.
TypeName
.
Replace
(
$"(
{
typeValue
}
)"
,
""
),
ItemValue
=
t
.
CellValue
??
0
});
var
headers
=
_perforImheaderRepository
.
GetEntities
(
t
=>
t
.
AllotID
==
doctor
.
AllotID
);
Regex
reg
=
new
Regex
(
"[0-9]*"
);
foreach
(
var
stype
in
sheetType
)
{
...
...
@@ -404,19 +415,42 @@ public DeptDataDetails DeptDetail(int accountId)
var
sheetData
=
basicData
.
Where
(
t
=>
t
.
SheetID
==
sheet
.
ID
).
ToList
();
if
(
sheetData
==
null
||
!
sheetData
.
Any
())
continue
;
var
headerData
=
headers
?.
Where
(
t
=>
t
.
SheetID
==
sheet
.
ID
);
var
item
=
new
DetailDtos
{
ItemName
=
sheetName
,
IncomeType
=
sheet
.
SheetType
==
(
int
)
SheetType
.
Expend
?
2
:
sheet
.
SheetType
==
(
int
)
SheetType
.
Workload
?
3
:
1
,
Amount
=
(
sheetName
.
Contains
(
"工作量"
)
?
doctor
.
WorkloadFee
:
economic
.
FirstOrDefault
(
t
=>
t
.
ItemName
.
Contains
(
sheetName
))?.
ItemValue
)
??
0
m
,
Items
=
sheetData
?.
Select
(
t
=>
new
DetailModule
{
ItemName
=
t
.
TypeName
,
CellValue
=
t
.
CellValue
,
Factor
=
t
.
FactorValue
,
ItemValue
=
t
.
IsFactor
==
1
?
(
t
.
CellValue
*
(
t
.
FactorValue
??
0
))
:
t
.
CellValue
}).
ToList
()
Amount
=
(
sheet
.
SheetType
==
(
int
)
SheetType
.
Workload
?
doctor
.
WorkloadFee
:
economic
.
FirstOrDefault
(
t
=>
t
.
ItemName
.
Contains
(
sheetName
))?.
ItemValue
)
??
0
m
,
};
var
items
=
sheetData
?.
Select
(
t
=>
new
DetailModule
{
ItemName
=
t
.
TypeName
,
CellValue
=
t
.
CellValue
,
Factor
=
sheet
.
SheetType
==
(
int
)
SheetType
.
Workload
?
t
.
FactorValue
:
t
.
FactorValue
*
100
,
ItemValue
=
t
.
IsFactor
==
1
?
(
t
.
CellValue
*
(
t
.
FactorValue
??
0
))
:
t
.
CellValue
}).
ToList
();
if
(
items
!=
null
&&
items
.
Any
())
{
items
=
items
.
GroupBy
(
t
=>
t
.
ItemName
).
Select
(
t
=>
new
DetailModule
{
ItemName
=
t
.
Key
,
CellValue
=
t
.
Sum
(
group
=>
group
.
CellValue
),
Factor
=
t
.
FirstOrDefault
().
Factor
,
ItemValue
=
t
.
Sum
(
group
=>
group
.
ItemValue
),
}).
ToList
();
}
if
(
headerData
!=
null
&&
headerData
.
Any
())
{
items
=
items
?.
OrderBy
(
t
=>
(
headerData
.
FirstOrDefault
(
h
=>
h
.
CellValue
==
t
.
ItemName
)?.
PointCell
)
??
100
)
?.
ThenBy
(
t
=>
t
.
ItemName
).
ToList
();
}
item
.
Items
=
items
;
deptDetails
.
Detail
.
Add
(
item
);
}
}
...
...
performance/Performance.Services/DFExtractService.cs
View file @
2a6c8a8f
...
...
@@ -409,8 +409,6 @@ private void WriteIncome(ISheet sheet, IPerSheetDataRead sheetRead, List<Account
logger
.
LogInformation
(
$"item有
{
itemList
?.
Count
??
0
}
个."
);
if
(
itemList
==
null
||
!
itemList
.
Any
())
return
;
WriteHeaderAndFactor
(
sheet
,
sheetRead
,
itemList
,
isNewTemp
);
//查询数据
var
extractList
=
extracts
.
Where
(
t
=>
module
.
ExtractId
==
t
.
Id
).
ToList
();
if
(
extractList
==
null
||
extractList
.
Count
==
0
)
return
;
...
...
@@ -428,7 +426,11 @@ private void WriteIncome(ISheet sheet, IPerSheetDataRead sheetRead, List<Account
allExtract
.
AddRange
(
result
);
}
WriteSheetData
(
sheet
,
sheetRead
,
unitList
,
allExtract
,
itemList
.
Select
(
t
=>
t
.
ItemName
),
isNewTemp
,
true
);
logger
.
LogInformation
(
$"
{
sheet
.
SheetName
}
合计值为: "
+
allExtract
.
Sum
(
t
=>
t
.
Value
));
var
category
=
allExtract
.
Select
(
t
=>
t
.
Category
).
Distinct
().
ToList
();
WriteIncomeHeaderAndFactor
(
sheet
,
sheetRead
,
category
,
isNewTemp
);
WriteSheetData
(
sheet
,
sheetRead
,
unitList
,
allExtract
,
category
,
isNewTemp
,
true
);
logger
.
LogInformation
(
$"
{
sheet
.
SheetName
}
提取结束."
);
}
...
...
@@ -503,6 +505,7 @@ private void WriteWorkload(ISheet sheet, IPerSheetDataRead sheetRead, List<Accou
var
result
=
QueryDatabase
(
config
,
item
,
Allot
,
moditem
.
ItemName
);
if
(
result
!=
null
)
allExtract
.
AddRange
(
result
);
logger
.
LogInformation
(
$"
{
module
.
ModuleName
}
提取
{
moditem
.
ItemName
}
的合计值为: "
+
allExtract
.
Sum
(
t
=>
t
.
Value
));
}
}
...
...
@@ -707,9 +710,11 @@ private void WriteHeaderAndFactor(ISheet sheet, IPerSheetDataRead sheetRead, Lis
logManageService
.
WriteMsg
(
"提取绩效数据"
,
$"写入列头信息 --
{
sheet
.
SheetName
}
"
,
1
,
Allot
.
ID
,
"ReceiveMessage"
);
logger
.
LogInformation
(
$"提取绩效数据 提取绩效数据 写入列头信息 --
{
sheet
.
SheetName
}
"
);
var
cellItems
=
items
;
var
cellItems
=
new
List
<
mod_item
>();
cellItems
.
AddRange
(
items
);
if
(!
isNewTemp
)
{
List
<
string
>
original
=
new
List
<
string
>();
#
region
过滤历史模板中已有的列头
//写入列头信息
int
cellStartIndex
=
sheetRead
.
Point
.
HeaderFirstCellNum
.
Value
+
4
;
...
...
@@ -748,6 +753,69 @@ private void WriteHeaderAndFactor(ISheet sheet, IPerSheetDataRead sheetRead, Lis
#
endregion
}
/// <summary>
/// 写入列头
/// </summary>
/// <param name="sheet"></param>
/// <param name="sheetRead"></param>
/// <param name="items">列头数据(列名、系数)</param>
/// <param name="isNewTemp">是否为空白模板</param>
private
void
WriteIncomeHeaderAndFactor
(
ISheet
sheet
,
IPerSheetDataRead
sheetRead
,
List
<
string
>
items
,
bool
isNewTemp
)
{
var
nurseFactor
=
sheet
.
GetRow
(
sheetRead
.
Point
.
AccountingUnit
.
First
(
t
=>
t
.
UnitType
==
"护理组"
).
FactorRow
.
Value
);
var
doctorFactor
=
sheet
.
GetRow
(
sheetRead
.
Point
.
AccountingUnit
.
First
(
t
=>
t
.
UnitType
==
"医生组"
).
FactorRow
.
Value
);
var
technicianFactor
=
sheet
.
GetRow
(
sheetRead
.
Point
.
AccountingUnit
.
First
(
t
=>
t
.
UnitType
==
"医技组"
).
FactorRow
.
Value
);
var
head
=
GetOrCreate
(
sheet
,
sheetRead
.
Point
.
HeaderFirstRowNum
.
Value
);
logManageService
.
WriteMsg
(
"提取绩效数据"
,
$"写入列头信息 --
{
sheet
.
SheetName
}
"
,
1
,
Allot
.
ID
,
"ReceiveMessage"
);
logger
.
LogInformation
(
$"提取绩效数据 提取绩效数据 写入列头信息 --
{
sheet
.
SheetName
}
"
);
logger
.
LogInformation
(
$"
{
sheet
.
SheetName
}
查询出的列头有:"
+
string
.
Join
(
", "
,
items
));
if
(!
isNewTemp
)
{
List
<
string
>
original
=
new
List
<
string
>();
#
region
过滤历史模板中已有的列头
//写入列头信息
int
cellStartIndex
=
sheetRead
.
Point
.
HeaderFirstCellNum
.
Value
+
4
;
for
(
int
i
=
cellStartIndex
;
i
<
head
.
LastCellNum
;
i
++)
{
var
cellvalue
=
head
.
GetCell
(
i
)?.
ToString
();
if
(
string
.
IsNullOrEmpty
(
cellvalue
))
continue
;
items
.
Remove
(
cellvalue
);
}
#
endregion
}
if
(
items
==
null
||
!
items
.
Any
())
return
;
logger
.
LogInformation
(
$"
{
sheet
.
SheetName
}
需要新增的列头有:"
+
string
.
Join
(
", "
,
items
));
#
region
新增模板中不存在的列头
var
lastcellIndex
=
isNewTemp
?
sheetRead
.
Point
.
HeaderFirstCellNum
.
Value
+
4
:
head
.
LastCellNum
;
foreach
(
var
item
in
items
)
{
var
headcell
=
GetOrCreate
(
head
,
lastcellIndex
);
headcell
.
SetCellValue
(
item
);
headcell
.
CellStyle
=
CellStyle
.
CreateCellStyle
(
workbook
,
StyleType
.
列头
);
var
doctorcell
=
GetOrCreate
(
doctorFactor
,
lastcellIndex
);
doctorcell
.
SetCellValue
(
0
);
doctorcell
.
CellStyle
=
CellStyle
.
CreateCellStyle
(
workbook
,
StyleType
.
系数
,
CellFormat
.
百分比
);
var
nursecell
=
GetOrCreate
(
nurseFactor
,
lastcellIndex
);
nursecell
.
SetCellValue
(
0
);
nursecell
.
CellStyle
=
CellStyle
.
CreateCellStyle
(
workbook
,
StyleType
.
系数
,
CellFormat
.
百分比
);
var
techniciancell
=
GetOrCreate
(
technicianFactor
,
lastcellIndex
);
techniciancell
.
SetCellValue
(
0
);
techniciancell
.
CellStyle
=
CellStyle
.
CreateCellStyle
(
workbook
,
StyleType
.
系数
,
CellFormat
.
百分比
);
lastcellIndex
++;
}
#
endregion
}
/// <summary>
/// 写入数据
/// </summary>
...
...
@@ -875,7 +943,8 @@ private void WriteWorkHeader(ISheet sheet, IPerSheetDataRead sheetRead, List<mod
var
head
=
GetOrCreate
(
sheet
,
sheetRead
.
Point
.
HeaderFirstRowNum
.
Value
+
0
);
var
factor
=
GetOrCreate
(
sheet
,
sheetRead
.
Point
.
HeaderFirstRowNum
.
Value
+
1
);
var
cellItems
=
items
;
var
cellItems
=
new
List
<
mod_item
>();
cellItems
.
AddRange
(
items
);
if
(!
isNewTemp
)
{
#
region
过滤历史模板中已有的列头
...
...
@@ -1024,7 +1093,7 @@ private List<ExtractDto> QueryDatabase(sys_hospitalconfig config, mod_extract ex
item
.
Category
=
category
;
}
}
return
result
.
ToList
();
return
result
.
Where
(
t
=>
!
string
.
IsNullOrEmpty
(
t
.
Category
)).
ToList
();
}
}
return
null
;
...
...
performance/Performance.Services/PerExcelService/ComputeEmpolyee/ComputeDirector.cs
View file @
2a6c8a8f
...
...
@@ -282,10 +282,13 @@ public class ComputeDirector : IAutoInjection
public
List
<
ComputeResult
>
Compute
(
List
<
ComputeEmployee
>
empolyeeList
,
List
<
im_accountbasic
>
accountbasicList
,
List
<
PerSheet
>
accountSheet
,
per_allot
allot
,
bool
isMinimum
)
{
var
basicRuleList
=
new
[]
{
{
new
{
AccountUnitType
=
AccountUnitType
.
科主任
,
UnitType
=
UnitType
.
医生组
},
new
{
AccountUnitType
=
AccountUnitType
.
护士长
,
UnitType
=
UnitType
.
护理组
},
new
{
AccountUnitType
=
AccountUnitType
.
科主任
,
UnitType
=
UnitType
.
医技组
},
new
{
AccountUnitType
=
AccountUnitType
.
科主任
,
UnitType
=
UnitType
.
其他医生组
},
new
{
AccountUnitType
=
AccountUnitType
.
护士长
,
UnitType
=
UnitType
.
其他护理组
},
new
{
AccountUnitType
=
AccountUnitType
.
科主任
,
UnitType
=
UnitType
.
其他医技组
},
};
//取出科室
List
<
res_account
>
dataList
=
new
List
<
res_account
>();
...
...
@@ -297,6 +300,13 @@ public List<ComputeResult> Compute(List<ComputeEmployee> empolyeeList, List<im_a
var
isBudget
=
budgetService
.
GetAdjustAndGrant
(
allot
,
out
decimal
adjust
,
out
decimal
grant
);
var
unit
=
new
[]
{
new
{
UnitType
=
UnitType
.
其他医生组
,
NewUnitType
=
UnitType
.
医生组
.
ToString
()
},
new
{
UnitType
=
UnitType
.
其他护理组
,
NewUnitType
=
UnitType
.
护理组
.
ToString
()
},
new
{
UnitType
=
UnitType
.
其他医技组
,
NewUnitType
=
UnitType
.
医技组
.
ToString
()
},
};
var
empDis
=
empolyeeList
.
Select
(
w
=>
new
{
w
.
DoctorName
,
w
.
JobNumber
}).
Distinct
();
foreach
(
var
emp
in
empDis
)
{
...
...
@@ -305,7 +315,13 @@ public List<ComputeResult> Compute(List<ComputeEmployee> empolyeeList, List<im_a
{
var
empolyee
=
empolyees
.
ElementAt
(
i
);
var
resAccount
=
dataList
.
FirstOrDefault
(
t
=>
((
UnitType
)
t
.
UnitType
).
ToString
()
==
empolyee
.
UnitType
&&
t
.
AccountingUnit
==
empolyee
.
AccountingUnit
);
string
unitType
=
empolyee
.
UnitType
;
if
(
unit
.
Select
(
t
=>
t
.
UnitType
.
ToString
()).
Contains
(
empolyee
.
UnitType
))
{
unitType
=
unit
.
FirstOrDefault
(
t
=>
t
.
UnitType
.
ToString
()
==
empolyee
.
UnitType
)?.
NewUnitType
;
}
var
resAccount
=
dataList
.
FirstOrDefault
(
t
=>
((
UnitType
)
t
.
UnitType
).
ToString
()
==
unitType
&&
t
.
AccountingUnit
==
empolyee
.
AccountingUnit
);
if
(
resAccount
==
null
&&
empolyees
.
Count
()
>
1
)
{
// 如果没有找到科室,则找相同用户的其他核算单元类型
...
...
@@ -345,7 +361,7 @@ public List<ComputeResult> Compute(List<ComputeEmployee> empolyeeList, List<im_a
var
scale
=
resAccount
.
PerforTotal
*
(
empolyee
.
Scale
??
1
);
var
compute
=
new
ComputeResult
{
UnitType
=
basicRule
.
UnitType
.
ToString
()
,
UnitType
=
empolyee
.
UnitType
,
AccountingUnit
=
empolyee
.
AccountingUnit
,
AccountType
=
basicRule
.
AccountUnitType
.
ToString
(),
...
...
performance/Performance.Services/PerExcelService/SheetDataRead/PerSheetDataReadDeptAccounting.cs
View file @
2a6c8a8f
...
...
@@ -71,6 +71,8 @@ public List<IPerData> ReadData(ISheet sheet, List<PerHeader> perHeader)
unifyUnit
.
MinimumFactor
=
ConvertHelper
.
To
<
decimal
>(
row
.
GetCell
(
perHeader
.
FirstOrDefault
(
p
=>
p
.
CellValue
==
"保底绩效系数"
).
PointCell
)?.
NumericCellValue
);
unifyUnit
.
OtherPerfor1
=
ConvertHelper
.
To
<
decimal
>(
row
.
GetCell
(
perHeader
.
FirstOrDefault
(
p
=>
p
.
CellValue
==
"其他绩效1"
).
PointCell
)?.
NumericCellValue
);
unifyUnit
.
OtherPerfor2
=
ConvertHelper
.
To
<
decimal
>(
row
.
GetCell
(
perHeader
.
FirstOrDefault
(
p
=>
p
.
CellValue
==
"其他绩效2"
).
PointCell
)?.
NumericCellValue
);
unifyUnit
.
MedicineExtra
=
ConvertHelper
.
To
<
decimal
>(
row
.
GetCell
(
perHeader
.
FirstOrDefault
(
p
=>
p
.
CellValue
==
"药占比奖罚"
).
PointCell
)?.
NumericCellValue
);
unifyUnit
.
MaterialsExtra
=
ConvertHelper
.
To
<
decimal
>(
row
.
GetCell
(
perHeader
.
FirstOrDefault
(
p
=>
p
.
CellValue
==
"材料占比奖罚"
).
PointCell
)?.
NumericCellValue
);
unifyUnit
.
Extra
=
ConvertHelper
.
To
<
decimal
>(
row
.
GetCell
(
perHeader
.
FirstOrDefault
(
p
=>
p
.
CellValue
==
"医院奖罚"
).
PointCell
)?.
NumericCellValue
);
unifyUnit
.
ScoringAverage
=
ConvertHelper
.
To
<
decimal
>(
row
.
GetCell
(
perHeader
.
FirstOrDefault
(
p
=>
p
.
CellValue
==
"考核得分率"
).
PointCell
)?.
NumericCellValue
);
unifyUnit
.
AdjustFactor
=
ConvertHelper
.
To
<
decimal
>(
row
.
GetCell
(
perHeader
.
FirstOrDefault
(
p
=>
p
.
CellValue
==
"调节系数"
).
PointCell
)?.
NumericCellValue
);
...
...
performance/Performance.Services/SecondAllotService.cs
View file @
2a6c8a8f
...
...
@@ -266,7 +266,7 @@ public SecondResponse GetSecondDetail(UseTempRequest request)
var
second
=
perforAgsecondallotRepository
.
GetEntity
(
t
=>
t
.
Id
==
request
.
SecondId
);
//获取固定模板列 + 工作量列
var
headItems
=
GetHeadItems
(
usetemp
.
UseTempId
.
Value
,
usetemp
.
HospitalId
.
Value
,
usetemp
.
Department
,
usetemp
.
UnitType
);
var
headItems
=
GetHeadItems
(
request
.
TempId
,
usetemp
.
HospitalId
.
Value
,
usetemp
.
Department
,
usetemp
.
UnitType
);
var
result
=
new
SecondResponse
();
...
...
@@ -515,12 +515,20 @@ public bool SaveCompute(List<ag_compute> request)
/// </summary>
/// <param name="userId"></param>
/// <returns></returns>
public
List
<
SecondTempResponse
>
GetTemp
(
int
hospitalid
,
string
department
)
public
List
<
SecondTempResponse
>
GetTemp
(
int
hospitalid
,
string
department
,
int
userId
)
{
var
temps
=
perforAgtempRepository
.
GetEntities
();
if
(
temps
!=
null
&&
temps
.
Any
())
{
var
useTemp
=
perforAgusetempRepository
.
GetEntity
(
t
=>
t
.
HospitalId
==
hospitalid
&&
t
.
Department
==
department
);
var
userrole
=
userroleRepository
.
GetEntity
(
t
=>
t
.
UserID
==
userId
);
var
role
=
roleRepository
.
GetEntity
(
t
=>
t
.
ID
==
userrole
.
RoleID
);
Expression
<
Func
<
ag_usetemp
,
bool
>>
exp
=
t
=>
t
.
HospitalId
==
hospitalid
&&
t
.
Department
==
department
;
if
(
role
.
Type
==
application
.
DirectorRole
)
exp
=
exp
.
And
(
t
=>
new
List
<
string
>
{
UnitType
.
医生组
.
ToString
(),
UnitType
.
医技组
.
ToString
()
}.
Contains
(
t
.
UnitType
));
else
if
(
role
.
Type
==
application
.
NurseRole
)
exp
=
exp
.
And
(
t
=>
t
.
UnitType
==
UnitType
.
护理组
.
ToString
());
var
useTemp
=
perforAgusetempRepository
.
GetEntity
(
exp
);
var
secondTemps
=
Mapper
.
Map
<
List
<
SecondTempResponse
>>(
temps
);
if
(
useTemp
!=
null
)
secondTemps
.
ForEach
(
t
=>
t
.
IsSelected
=
t
.
Id
==
useTemp
.
UseTempId
);
...
...
@@ -780,13 +788,22 @@ public List<ag_secondallot> AuditList(int userId, int allotId)
/// <param name="userId">用户ID</param>
/// <param name="secondId">二次绩效ID</param>
/// <returns></returns>
public
bool
AuditSubmit
(
ag_secondallot
second
,
int
submittype
)
public
bool
AuditSubmit
(
ag_secondallot
second
,
int
userId
)
{
var
allot
=
perforPerallotRepository
.
GetEntity
(
t
=>
t
.
ID
==
second
.
AllotId
);
if
(
allot
==
null
)
throw
new
PerformanceException
(
"二次绩效无效!"
);
var
temp
=
perforAgusetempRepository
.
GetEntity
(
t
=>
t
.
HospitalId
==
allot
.
HospitalId
);
var
userrole
=
userroleRepository
.
GetEntity
(
t
=>
t
.
UserID
==
userId
);
var
role
=
roleRepository
.
GetEntity
(
t
=>
t
.
ID
==
userrole
.
RoleID
);
Expression
<
Func
<
ag_usetemp
,
bool
>>
exp
=
t
=>
t
.
HospitalId
==
allot
.
HospitalId
&&
t
.
Department
==
second
.
Department
;
if
(
role
.
Type
==
application
.
DirectorRole
)
exp
=
exp
.
And
(
t
=>
new
List
<
string
>
{
UnitType
.
医生组
.
ToString
(),
UnitType
.
医技组
.
ToString
()
}.
Contains
(
t
.
UnitType
));
else
if
(
role
.
Type
==
application
.
NurseRole
)
exp
=
exp
.
And
(
t
=>
t
.
UnitType
==
UnitType
.
护理组
.
ToString
());
var
temp
=
perforAgusetempRepository
.
GetEntity
(
exp
);
if
(
temp
==
null
)
throw
new
PerformanceException
(
"选择模板不可用,请确定模板及数据是否存在!"
);
if
(
temp
.
UseTempId
==
6
)
...
...
@@ -855,7 +872,7 @@ public bool ConfirmAudit(int userId, SecondAuditRequest request)
var
items
=
perforAgfixatitemRepository
.
GetEntities
(
t
=>
t
.
SecondId
==
request
.
SecondId
);
if
(
items
!=
null
&&
items
.
Any
())
{
var
rowNumbers
=
items
.
Select
(
t
=>
t
.
RowNumber
).
Where
(
t
=>
t
>
0
)?.
Distinct
();
var
rowNumbers
=
items
.
Select
(
t
=>
t
.
RowNumber
).
Where
(
t
=>
t
>
=
0
)?.
Distinct
();
if
(
rowNumbers
!=
null
&&
rowNumbers
.
Any
())
{
foreach
(
var
item
in
rowNumbers
)
...
...
@@ -865,6 +882,7 @@ public bool ConfirmAudit(int userId, SecondAuditRequest request)
AllotId
=
second
.
AllotId
,
SecondId
=
second
.
Id
,
Department
=
second
.
Department
,
JobNumber
=
items
.
FirstOrDefault
(
t
=>
t
.
RowNumber
==
item
&&
t
.
ItemName
==
"人员工号"
)?.
ItemValue
,
WorkPost
=
items
.
FirstOrDefault
(
t
=>
t
.
RowNumber
==
item
&&
t
.
ItemName
==
"岗位"
)?.
ItemValue
,
PersonName
=
items
.
FirstOrDefault
(
t
=>
t
.
RowNumber
==
item
&&
t
.
ItemName
==
"姓名"
)?.
ItemValue
,
RealGiveFee
=
ConvertHelper
.
TryDecimal
(
items
.
FirstOrDefault
(
t
=>
t
.
RowNumber
==
item
&&
t
.
ItemName
==
"实发绩效工资金额"
)?.
ItemValue
,
0
),
...
...
performance/Performance.Services/SheetSevice.cs
View file @
2a6c8a8f
...
...
@@ -25,6 +25,7 @@ public class SheetSevice : IAutoInjection
//private PerforResaccountnurseRepository _perforImaccountnurseRepository;
private
PerforImspecialunitRepository
_perforImspecialunitRepository
;
private
PerforImemployeeclinicRepository
_perforImemployeeclinicRepository
;
private
readonly
string
[]
percentparam
=
new
string
[]
{
"预算比例"
,
"考核得分率"
,
"调节系数"
};
public
SheetSevice
(
PerforPerallotRepository
perforAllotRepository
,
PerforPersheetRepository
perforImSheetRepository
,
...
...
@@ -139,10 +140,10 @@ private void SpecialUnitExport(int sheetID, SheetExportResponse response)
rowbody
.
Data
.
Add
(
new
Cell
(
4
,
item
.
QuantitativeIndicators
,
1
,
1
,
false
,
true
));
rowbody
.
Data
.
Add
(
new
Cell
(
5
,
item
.
Quantity
,
1
,
1
,
false
,
true
));
rowbody
.
Data
.
Add
(
new
Cell
(
6
,
item
.
QuantitativeIndicatorsValue
,
1
,
1
,
false
,
true
));
rowbody
.
Data
.
Add
(
new
Cell
(
7
,
item
.
ScoringAverage
,
1
,
1
,
false
,
true
));
rowbody
.
Data
.
Add
(
new
Cell
(
7
,
Math
.
Round
(
item
.
ScoringAverage
.
Value
*
100
,
2
)
+
"%"
,
1
,
1
,
false
,
true
));
rowbody
.
Data
.
Add
(
new
Cell
(
8
,
item
.
OtherPerfor
,
1
,
1
,
false
,
true
));
rowbody
.
Data
.
Add
(
new
Cell
(
9
,
item
.
Punishment
,
1
,
1
,
false
,
true
));
rowbody
.
Data
.
Add
(
new
Cell
(
10
,
item
.
Adjust
,
1
,
1
,
false
,
true
));
rowbody
.
Data
.
Add
(
new
Cell
(
10
,
Math
.
Round
(
item
.
Adjust
.
Value
*
100
,
2
)
+
"%"
,
1
,
1
,
false
,
true
));
response
.
Row
.
Add
(
rowbody
);
}
}
...
...
@@ -285,7 +286,12 @@ private void CommonExport(int sheetID, SheetExportResponse response)
var
data
=
dataList
.
FirstOrDefault
(
t
=>
t
.
RowNumber
==
rowNumber
&&
t
.
SignID
==
head
.
SignID
);
var
value
=
data
?.
CellValue
;
if
(
value
.
HasValue
)
rowbody
.
Data
.
Add
(
new
Cell
(
head
.
PointCell
.
Value
,
value
,
1
,
1
,
data
.
IsTotal
==
1
,
true
,
data
.
Annotation
));
{
if
(!
percentparam
.
Contains
(
head
.
CellValue
))
rowbody
.
Data
.
Add
(
new
Cell
(
head
.
PointCell
.
Value
,
value
,
1
,
1
,
data
.
IsTotal
==
1
,
true
,
data
.
Annotation
));
else
rowbody
.
Data
.
Add
(
new
Cell
(
head
.
PointCell
.
Value
,
Math
.
Round
(
value
.
Value
*
100
,
2
)
+
"%"
,
1
,
1
,
data
.
IsTotal
==
1
,
true
,
data
.
Annotation
));
}
}
}
}
...
...
@@ -306,15 +312,17 @@ private void AccountNurseExport(int sheetID, SheetExportResponse response)
row
.
Data
.
Add
(
new
Cell
(
5
,
"倾斜系数"
,
1
,
1
,
false
,
true
));
row
.
Data
.
Add
(
new
Cell
(
6
,
"其他绩效1"
,
1
,
1
,
false
,
true
));
row
.
Data
.
Add
(
new
Cell
(
7
,
"其他绩效2"
,
1
,
1
,
false
,
true
));
row
.
Data
.
Add
(
new
Cell
(
8
,
"医院奖罚"
,
1
,
1
,
false
,
true
));
row
.
Data
.
Add
(
new
Cell
(
9
,
"考核对分率"
,
1
,
1
,
false
,
true
));
row
.
Data
.
Add
(
new
Cell
(
10
,
"调节系数"
,
1
,
1
,
false
,
true
));
row
.
Data
.
Add
(
new
Cell
(
11
,
"科室业绩"
,
1
,
1
,
false
,
true
));
row
.
Data
.
Add
(
new
Cell
(
12
,
"业绩绩效"
,
1
,
1
,
false
,
true
));
row
.
Data
.
Add
(
new
Cell
(
13
,
"工作量绩效"
,
1
,
1
,
false
,
true
));
row
.
Data
.
Add
(
new
Cell
(
14
,
"绩效合计"
,
1
,
1
,
false
,
true
));
row
.
Data
.
Add
(
new
Cell
(
15
,
"人均绩效"
,
1
,
1
,
false
,
true
));
row
.
Data
.
Add
(
new
Cell
(
16
,
"实发绩效"
,
1
,
1
,
false
,
true
));
row
.
Data
.
Add
(
new
Cell
(
8
,
"药占比奖罚"
,
1
,
1
,
false
,
true
));
row
.
Data
.
Add
(
new
Cell
(
9
,
"材料占比奖罚"
,
1
,
1
,
false
,
true
));
row
.
Data
.
Add
(
new
Cell
(
10
,
"医院奖罚"
,
1
,
1
,
false
,
true
));
row
.
Data
.
Add
(
new
Cell
(
11
,
"考核对分率"
,
1
,
1
,
false
,
true
));
row
.
Data
.
Add
(
new
Cell
(
12
,
"调节系数"
,
1
,
1
,
false
,
true
));
row
.
Data
.
Add
(
new
Cell
(
13
,
"科室业绩"
,
1
,
1
,
false
,
true
));
row
.
Data
.
Add
(
new
Cell
(
14
,
"业绩绩效"
,
1
,
1
,
false
,
true
));
row
.
Data
.
Add
(
new
Cell
(
15
,
"工作量绩效"
,
1
,
1
,
false
,
true
));
row
.
Data
.
Add
(
new
Cell
(
16
,
"绩效合计"
,
1
,
1
,
false
,
true
));
row
.
Data
.
Add
(
new
Cell
(
17
,
"人均绩效"
,
1
,
1
,
false
,
true
));
row
.
Data
.
Add
(
new
Cell
(
18
,
"实发绩效"
,
1
,
1
,
false
,
true
));
response
.
Header
.
Add
(
row
);
for
(
int
i
=
0
;
i
<
list
.
Count
();
i
++)
...
...
@@ -328,15 +336,17 @@ private void AccountNurseExport(int sheetID, SheetExportResponse response)
rowbody
.
Data
.
Add
(
new
Cell
(
5
,
item
.
SlopeFactor
,
1
,
1
,
false
,
true
));
rowbody
.
Data
.
Add
(
new
Cell
(
6
,
item
.
OtherPerfor1
,
1
,
1
,
false
,
true
));
rowbody
.
Data
.
Add
(
new
Cell
(
7
,
item
.
OtherPerfor2
,
1
,
1
,
false
,
true
));
rowbody
.
Data
.
Add
(
new
Cell
(
8
,
item
.
Extra
,
1
,
1
,
false
,
true
));
rowbody
.
Data
.
Add
(
new
Cell
(
9
,
item
.
ScoringAverage
,
1
,
1
,
false
,
true
));
rowbody
.
Data
.
Add
(
new
Cell
(
10
,
item
.
AdjustFactor
,
1
,
1
,
false
,
true
));
rowbody
.
Data
.
Add
(
new
Cell
(
11
,
item
.
Income
,
1
,
1
,
false
,
true
));
rowbody
.
Data
.
Add
(
new
Cell
(
12
,
item
.
PerforFee
,
1
,
1
,
false
,
true
));
rowbody
.
Data
.
Add
(
new
Cell
(
13
,
item
.
WorkloadFee
,
1
,
1
,
false
,
true
));
rowbody
.
Data
.
Add
(
new
Cell
(
14
,
item
.
PerforTotal
,
1
,
1
,
false
,
true
));
rowbody
.
Data
.
Add
(
new
Cell
(
15
,
item
.
Avg
,
1
,
1
,
false
,
true
));
rowbody
.
Data
.
Add
(
new
Cell
(
16
,
item
.
RealGiveFee
,
1
,
1
,
false
,
true
));
rowbody
.
Data
.
Add
(
new
Cell
(
8
,
item
.
MedicineExtra
,
1
,
1
,
false
,
true
));
rowbody
.
Data
.
Add
(
new
Cell
(
9
,
item
.
MaterialsExtra
,
1
,
1
,
false
,
true
));
rowbody
.
Data
.
Add
(
new
Cell
(
10
,
item
.
Extra
,
1
,
1
,
false
,
true
));
rowbody
.
Data
.
Add
(
new
Cell
(
11
,
item
.
ScoringAverage
,
1
,
1
,
false
,
true
));
rowbody
.
Data
.
Add
(
new
Cell
(
12
,
item
.
AdjustFactor
,
1
,
1
,
false
,
true
));
rowbody
.
Data
.
Add
(
new
Cell
(
13
,
item
.
Income
,
1
,
1
,
false
,
true
));
rowbody
.
Data
.
Add
(
new
Cell
(
14
,
item
.
PerforFee
,
1
,
1
,
false
,
true
));
rowbody
.
Data
.
Add
(
new
Cell
(
15
,
item
.
WorkloadFee
,
1
,
1
,
false
,
true
));
rowbody
.
Data
.
Add
(
new
Cell
(
16
,
item
.
PerforTotal
,
1
,
1
,
false
,
true
));
rowbody
.
Data
.
Add
(
new
Cell
(
17
,
item
.
Avg
,
1
,
1
,
false
,
true
));
rowbody
.
Data
.
Add
(
new
Cell
(
18
,
item
.
RealGiveFee
,
1
,
1
,
false
,
true
));
response
.
Row
.
Add
(
rowbody
);
}
}
...
...
@@ -356,15 +366,17 @@ private void AccountDoctorExport(int sheetID, SheetExportResponse response)
row
.
Data
.
Add
(
new
Cell
(
5
,
"倾斜系数"
,
1
,
1
,
false
,
true
));
row
.
Data
.
Add
(
new
Cell
(
6
,
"其他绩效1"
,
1
,
1
,
false
,
true
));
row
.
Data
.
Add
(
new
Cell
(
7
,
"其他绩效2"
,
1
,
1
,
false
,
true
));
row
.
Data
.
Add
(
new
Cell
(
8
,
"医院奖罚"
,
1
,
1
,
false
,
true
));
row
.
Data
.
Add
(
new
Cell
(
9
,
"考核对分率"
,
1
,
1
,
false
,
true
));
row
.
Data
.
Add
(
new
Cell
(
10
,
"调节系数"
,
1
,
1
,
false
,
true
));
row
.
Data
.
Add
(
new
Cell
(
11
,
"科室业绩"
,
1
,
1
,
false
,
true
));
row
.
Data
.
Add
(
new
Cell
(
12
,
"业绩绩效"
,
1
,
1
,
false
,
true
));
row
.
Data
.
Add
(
new
Cell
(
13
,
"工作量绩效"
,
1
,
1
,
false
,
true
));
row
.
Data
.
Add
(
new
Cell
(
14
,
"绩效合计"
,
1
,
1
,
false
,
true
));
row
.
Data
.
Add
(
new
Cell
(
15
,
"人均绩效"
,
1
,
1
,
false
,
true
));
row
.
Data
.
Add
(
new
Cell
(
16
,
"实发绩效"
,
1
,
1
,
false
,
true
));
row
.
Data
.
Add
(
new
Cell
(
8
,
"药占比奖罚"
,
1
,
1
,
false
,
true
));
row
.
Data
.
Add
(
new
Cell
(
9
,
"材料占比奖罚"
,
1
,
1
,
false
,
true
));
row
.
Data
.
Add
(
new
Cell
(
10
,
"医院奖罚"
,
1
,
1
,
false
,
true
));
row
.
Data
.
Add
(
new
Cell
(
11
,
"考核对分率"
,
1
,
1
,
false
,
true
));
row
.
Data
.
Add
(
new
Cell
(
12
,
"调节系数"
,
1
,
1
,
false
,
true
));
row
.
Data
.
Add
(
new
Cell
(
13
,
"科室业绩"
,
1
,
1
,
false
,
true
));
row
.
Data
.
Add
(
new
Cell
(
14
,
"业绩绩效"
,
1
,
1
,
false
,
true
));
row
.
Data
.
Add
(
new
Cell
(
15
,
"工作量绩效"
,
1
,
1
,
false
,
true
));
row
.
Data
.
Add
(
new
Cell
(
16
,
"绩效合计"
,
1
,
1
,
false
,
true
));
row
.
Data
.
Add
(
new
Cell
(
17
,
"人均绩效"
,
1
,
1
,
false
,
true
));
row
.
Data
.
Add
(
new
Cell
(
18
,
"实发绩效"
,
1
,
1
,
false
,
true
));
response
.
Header
.
Add
(
row
);
for
(
int
i
=
0
;
i
<
list
.
Count
();
i
++)
...
...
@@ -379,15 +391,17 @@ private void AccountDoctorExport(int sheetID, SheetExportResponse response)
rowbody
.
Data
.
Add
(
new
Cell
(
5
,
item
.
SlopeFactor
,
1
,
1
,
false
,
true
));
rowbody
.
Data
.
Add
(
new
Cell
(
6
,
item
.
OtherPerfor1
,
1
,
1
,
false
,
true
));
rowbody
.
Data
.
Add
(
new
Cell
(
7
,
item
.
OtherPerfor2
,
1
,
1
,
false
,
true
));
rowbody
.
Data
.
Add
(
new
Cell
(
8
,
item
.
Extra
,
1
,
1
,
false
,
true
));
rowbody
.
Data
.
Add
(
new
Cell
(
9
,
item
.
ScoringAverage
,
1
,
1
,
false
,
true
));
rowbody
.
Data
.
Add
(
new
Cell
(
10
,
item
.
AdjustFactor
,
1
,
1
,
false
,
true
));
rowbody
.
Data
.
Add
(
new
Cell
(
11
,
item
.
Income
,
1
,
1
,
false
,
true
));
rowbody
.
Data
.
Add
(
new
Cell
(
12
,
item
.
PerforFee
,
1
,
1
,
false
,
true
));
rowbody
.
Data
.
Add
(
new
Cell
(
13
,
item
.
WorkloadFee
,
1
,
1
,
false
,
true
));
rowbody
.
Data
.
Add
(
new
Cell
(
14
,
item
.
PerforTotal
,
1
,
1
,
false
,
true
));
rowbody
.
Data
.
Add
(
new
Cell
(
15
,
item
.
Avg
,
1
,
1
,
false
,
true
));
rowbody
.
Data
.
Add
(
new
Cell
(
16
,
item
.
RealGiveFee
,
1
,
1
,
false
,
true
));
rowbody
.
Data
.
Add
(
new
Cell
(
8
,
item
.
MedicineExtra
,
1
,
1
,
false
,
true
));
rowbody
.
Data
.
Add
(
new
Cell
(
9
,
item
.
MaterialsExtra
,
1
,
1
,
false
,
true
));
rowbody
.
Data
.
Add
(
new
Cell
(
10
,
item
.
Extra
,
1
,
1
,
false
,
true
));
rowbody
.
Data
.
Add
(
new
Cell
(
11
,
item
.
ScoringAverage
,
1
,
1
,
false
,
true
));
rowbody
.
Data
.
Add
(
new
Cell
(
12
,
item
.
AdjustFactor
,
1
,
1
,
false
,
true
));
rowbody
.
Data
.
Add
(
new
Cell
(
13
,
item
.
Income
,
1
,
1
,
false
,
true
));
rowbody
.
Data
.
Add
(
new
Cell
(
14
,
item
.
PerforFee
,
1
,
1
,
false
,
true
));
rowbody
.
Data
.
Add
(
new
Cell
(
15
,
item
.
WorkloadFee
,
1
,
1
,
false
,
true
));
rowbody
.
Data
.
Add
(
new
Cell
(
16
,
item
.
PerforTotal
,
1
,
1
,
false
,
true
));
rowbody
.
Data
.
Add
(
new
Cell
(
17
,
item
.
Avg
,
1
,
1
,
false
,
true
));
rowbody
.
Data
.
Add
(
new
Cell
(
18
,
item
.
RealGiveFee
,
1
,
1
,
false
,
true
));
response
.
Row
.
Add
(
rowbody
);
}
...
...
@@ -413,9 +427,11 @@ private void AccountBaiscExport(int sheetID, SheetExportResponse response)
row
.
Data
.
Add
(
new
Cell
(
10
,
"管理绩效发放系数"
,
1
,
1
,
false
,
false
));
row
.
Data
.
Add
(
new
Cell
(
11
,
"其他绩效1"
,
1
,
1
,
false
,
false
));
row
.
Data
.
Add
(
new
Cell
(
12
,
"考核得分率"
,
1
,
1
,
false
,
false
));
row
.
Data
.
Add
(
new
Cell
(
13
,
"医院奖罚"
,
1
,
1
,
false
,
false
));
row
.
Data
.
Add
(
new
Cell
(
14
,
"其他绩效2"
,
1
,
1
,
false
,
false
));
row
.
Data
.
Add
(
new
Cell
(
15
,
"调节系数"
,
1
,
1
,
false
,
false
));
row
.
Data
.
Add
(
new
Cell
(
13
,
"药占比奖罚"
,
1
,
1
,
false
,
false
));
row
.
Data
.
Add
(
new
Cell
(
14
,
"材料占比奖罚"
,
1
,
1
,
false
,
false
));
row
.
Data
.
Add
(
new
Cell
(
15
,
"医院奖罚"
,
1
,
1
,
false
,
false
));
row
.
Data
.
Add
(
new
Cell
(
16
,
"其他绩效2"
,
1
,
1
,
false
,
false
));
row
.
Data
.
Add
(
new
Cell
(
17
,
"调节系数"
,
1
,
1
,
false
,
false
));
response
.
Header
.
Add
(
row
);
for
(
int
i
=
0
;
i
<
list
.
Count
();
i
++)
...
...
@@ -434,9 +450,11 @@ private void AccountBaiscExport(int sheetID, SheetExportResponse response)
rowbody
.
Data
.
Add
(
new
Cell
(
10
,
item
.
DoctorGrant
,
1
,
1
,
false
,
true
));
rowbody
.
Data
.
Add
(
new
Cell
(
11
,
item
.
DoctorOtherPerfor1
,
1
,
1
,
false
,
true
));
rowbody
.
Data
.
Add
(
new
Cell
(
12
,
item
.
DoctorScoringAverage
,
1
,
1
,
false
,
true
));
rowbody
.
Data
.
Add
(
new
Cell
(
13
,
item
.
DoctorExtra
,
1
,
1
,
false
,
true
));
rowbody
.
Data
.
Add
(
new
Cell
(
14
,
item
.
DoctorOtherPerfor2
,
1
,
1
,
false
,
true
));
rowbody
.
Data
.
Add
(
new
Cell
(
15
,
item
.
DoctorAdjustFactor
,
1
,
1
,
false
,
true
));
rowbody
.
Data
.
Add
(
new
Cell
(
13
,
item
.
MedicineExtra
,
1
,
1
,
false
,
true
));
rowbody
.
Data
.
Add
(
new
Cell
(
14
,
item
.
MaterialsExtra
,
1
,
1
,
false
,
true
));
rowbody
.
Data
.
Add
(
new
Cell
(
15
,
item
.
DoctorExtra
,
1
,
1
,
false
,
true
));
rowbody
.
Data
.
Add
(
new
Cell
(
16
,
item
.
DoctorOtherPerfor2
,
1
,
1
,
false
,
true
));
rowbody
.
Data
.
Add
(
new
Cell
(
17
,
item
.
DoctorAdjustFactor
,
1
,
1
,
false
,
true
));
response
.
Row
.
Add
(
rowbody
);
}
}
...
...
@@ -453,7 +471,7 @@ private void EmployeeExport(int sheetID, SheetExportResponse response)
var
row
=
new
Row
(
0
);
row
.
Data
.
Add
(
new
Cell
(
1
,
"核算单元类型"
,
1
,
1
,
false
,
false
));
row
.
Data
.
Add
(
new
Cell
(
2
,
"核算单元"
,
1
,
1
,
false
,
false
));
row
.
Data
.
Add
(
new
Cell
(
3
,
"
科室
"
,
1
,
1
,
false
,
false
));
row
.
Data
.
Add
(
new
Cell
(
3
,
"
人员工号
"
,
1
,
1
,
false
,
false
));
row
.
Data
.
Add
(
new
Cell
(
4
,
"医生姓名"
,
1
,
1
,
false
,
true
));
row
.
Data
.
Add
(
new
Cell
(
5
,
"职称"
,
1
,
1
,
false
,
true
));
row
.
Data
.
Add
(
new
Cell
(
6
,
"绩效基数核算参考对象"
,
1
,
1
,
false
,
true
));
...
...
@@ -475,19 +493,19 @@ private void EmployeeExport(int sheetID, SheetExportResponse response)
var
rowbody
=
new
Row
(
i
);
rowbody
.
Data
.
Add
(
new
Cell
(
1
,
item
.
AccountType
,
1
,
1
,
false
,
false
));
rowbody
.
Data
.
Add
(
new
Cell
(
2
,
item
.
AccountingUnit
,
1
,
1
,
false
,
false
));
rowbody
.
Data
.
Add
(
new
Cell
(
3
,
item
.
Department
,
1
,
1
,
false
,
false
));
rowbody
.
Data
.
Add
(
new
Cell
(
3
,
item
.
PersonnelNumber
,
1
,
1
,
false
,
false
));
rowbody
.
Data
.
Add
(
new
Cell
(
4
,
item
.
DoctorName
,
1
,
1
,
false
,
true
));
rowbody
.
Data
.
Add
(
new
Cell
(
5
,
item
.
JobTitle
,
1
,
1
,
false
,
true
));
rowbody
.
Data
.
Add
(
new
Cell
(
6
,
item
.
FitPeople
,
1
,
1
,
false
,
true
));
rowbody
.
Data
.
Add
(
new
Cell
(
7
,
item
.
PostCoefficient
,
1
,
1
,
false
,
true
));
rowbody
.
Data
.
Add
(
new
Cell
(
8
,
workTime
,
1
,
1
,
false
,
true
));
rowbody
.
Data
.
Add
(
new
Cell
(
9
,
item
.
ScoreAverageRate
,
1
,
1
,
false
,
true
));
rowbody
.
Data
.
Add
(
new
Cell
(
10
,
item
.
Attendance
,
1
,
1
,
false
,
true
));
rowbody
.
Data
.
Add
(
new
Cell
(
9
,
Math
.
Round
(
item
.
ScoreAverageRate
.
Value
*
100
,
2
)
+
"%"
,
1
,
1
,
false
,
true
));
rowbody
.
Data
.
Add
(
new
Cell
(
10
,
Math
.
Round
(
item
.
Attendance
.
Value
*
100
,
2
)
+
"%"
,
1
,
1
,
false
,
true
));
rowbody
.
Data
.
Add
(
new
Cell
(
11
,
item
.
PeopleNumber
,
1
,
1
,
false
,
true
));
rowbody
.
Data
.
Add
(
new
Cell
(
12
,
item
.
Workload
,
1
,
1
,
false
,
true
));
rowbody
.
Data
.
Add
(
new
Cell
(
13
,
item
.
OtherPerfor
,
1
,
1
,
false
,
true
));
rowbody
.
Data
.
Add
(
new
Cell
(
14
,
item
.
Punishment
,
1
,
1
,
false
,
true
));
rowbody
.
Data
.
Add
(
new
Cell
(
15
,
item
.
Adjust
,
1
,
1
,
false
,
true
));
rowbody
.
Data
.
Add
(
new
Cell
(
15
,
Math
.
Round
(
item
.
Adjust
.
Value
*
100
,
2
)
+
"%"
,
1
,
1
,
false
,
true
));
rowbody
.
Data
.
Add
(
new
Cell
(
16
,
item
.
Grant
,
1
,
1
,
false
,
true
));
response
.
Row
.
Add
(
rowbody
);
}
...
...
@@ -505,22 +523,22 @@ private void ClinicEmployeeExport(int sheetID, SheetExportResponse response)
var
row
=
new
Row
(
0
);
row
.
Data
.
Add
(
new
Cell
(
1
,
"核算单元分类"
,
1
,
1
,
false
,
false
));
row
.
Data
.
Add
(
new
Cell
(
2
,
"核算单元"
,
1
,
1
,
false
,
false
));
row
.
Data
.
Add
(
new
Cell
(
3
,
"
科室
"
,
1
,
1
,
false
,
false
));
row
.
Data
.
Add
(
new
Cell
(
3
,
"
人员工号
"
,
1
,
1
,
false
,
false
));
row
.
Data
.
Add
(
new
Cell
(
4
,
"医生姓名"
,
1
,
1
,
false
,
true
));
row
.
Data
.
Add
(
new
Cell
(
5
,
"职称"
,
1
,
1
,
false
,
true
));
//row.Data.Add(new Cell(6, "绩效基数核算参考对象", 1, 1, false, true));
row
.
Data
.
Add
(
new
Cell
(
7
,
"岗位系数"
,
1
,
1
,
false
,
true
));
row
.
Data
.
Add
(
new
Cell
(
8
,
"效率绩效系数"
,
1
,
1
,
false
,
true
));
row
.
Data
.
Add
(
new
Cell
(
9
,
"规模绩效系数"
,
1
,
1
,
false
,
true
));
row
.
Data
.
Add
(
new
Cell
(
10
,
"管理绩效发放系数"
,
1
,
1
,
false
,
true
));
row
.
Data
.
Add
(
new
Cell
(
6
,
"岗位系数"
,
1
,
1
,
false
,
true
));
row
.
Data
.
Add
(
new
Cell
(
7
,
"效率绩效系数"
,
1
,
1
,
false
,
true
));
row
.
Data
.
Add
(
new
Cell
(
8
,
"规模绩效系数"
,
1
,
1
,
false
,
true
));
row
.
Data
.
Add
(
new
Cell
(
9
,
"管理绩效发放系数"
,
1
,
1
,
false
,
true
));
//row.Data.Add(new Cell(8, "效率绩效系数", 1, 1, false, true));
row
.
Data
.
Add
(
new
Cell
(
1
1
,
"考核得分率"
,
1
,
1
,
false
,
true
));
row
.
Data
.
Add
(
new
Cell
(
1
2
,
"出勤率"
,
1
,
1
,
false
,
true
));
row
.
Data
.
Add
(
new
Cell
(
1
0
,
"考核得分率"
,
1
,
1
,
false
,
true
));
row
.
Data
.
Add
(
new
Cell
(
1
1
,
"出勤率"
,
1
,
1
,
false
,
true
));
//row.Data.Add(new Cell(11, "核算单元医生数", 1, 1, false, true));
//row.Data.Add(new Cell(12, "工作量绩效", 1, 1, false, true));
row
.
Data
.
Add
(
new
Cell
(
1
3
,
"其他绩效"
,
1
,
1
,
false
,
true
));
row
.
Data
.
Add
(
new
Cell
(
1
4
,
"医院奖罚"
,
1
,
1
,
false
,
true
));
row
.
Data
.
Add
(
new
Cell
(
1
5
,
"调节系数"
,
1
,
1
,
false
,
true
));
row
.
Data
.
Add
(
new
Cell
(
1
2
,
"其他绩效"
,
1
,
1
,
false
,
true
));
row
.
Data
.
Add
(
new
Cell
(
1
3
,
"医院奖罚"
,
1
,
1
,
false
,
true
));
row
.
Data
.
Add
(
new
Cell
(
1
4
,
"调节系数"
,
1
,
1
,
false
,
true
));
//row.Data.Add(new Cell(16, "发放系数", 1, 1, false, true));
response
.
Header
.
Add
(
row
);
for
(
int
i
=
0
;
i
<
clinicemployeeList
.
Count
();
i
++)
...
...
@@ -530,19 +548,19 @@ private void ClinicEmployeeExport(int sheetID, SheetExportResponse response)
var
rowbody
=
new
Row
(
i
);
rowbody
.
Data
.
Add
(
new
Cell
(
1
,
item
.
UnitType
,
1
,
1
,
false
,
false
));
rowbody
.
Data
.
Add
(
new
Cell
(
2
,
item
.
AccountingUnit
,
1
,
1
,
false
,
false
));
rowbody
.
Data
.
Add
(
new
Cell
(
3
,
item
.
Department
,
1
,
1
,
false
,
false
));
rowbody
.
Data
.
Add
(
new
Cell
(
3
,
item
.
PersonnelNumber
,
1
,
1
,
false
,
false
));
rowbody
.
Data
.
Add
(
new
Cell
(
4
,
item
.
DoctorName
,
1
,
1
,
false
,
true
));
rowbody
.
Data
.
Add
(
new
Cell
(
5
,
item
.
JobTitle
,
1
,
1
,
false
,
true
));
//rowbody.Data.Add(new Cell(6, item.FitPeople, 1, 1, false, true));
rowbody
.
Data
.
Add
(
new
Cell
(
7
,
item
.
PostCoefficient
,
1
,
1
,
false
,
true
));
rowbody
.
Data
.
Add
(
new
Cell
(
8
,
item
.
Efficiency
,
1
,
1
,
false
,
true
));
rowbody
.
Data
.
Add
(
new
Cell
(
9
,
item
.
Scale
,
1
,
1
,
false
,
true
));
rowbody
.
Data
.
Add
(
new
Cell
(
10
,
item
.
Management
,
1
,
1
,
false
,
true
));
rowbody
.
Data
.
Add
(
new
Cell
(
1
1
,
item
.
ScoreAverageRate
,
1
,
1
,
false
,
true
));
rowbody
.
Data
.
Add
(
new
Cell
(
1
2
,
item
.
Attendance
,
1
,
1
,
false
,
true
));
rowbody
.
Data
.
Add
(
new
Cell
(
1
3
,
item
.
OtherPerfor
,
1
,
1
,
false
,
true
));
rowbody
.
Data
.
Add
(
new
Cell
(
1
4
,
item
.
Punishment
,
1
,
1
,
false
,
true
));
rowbody
.
Data
.
Add
(
new
Cell
(
1
5
,
item
.
Adjust
,
1
,
1
,
false
,
true
));
rowbody
.
Data
.
Add
(
new
Cell
(
6
,
item
.
PostCoefficient
,
1
,
1
,
false
,
true
));
rowbody
.
Data
.
Add
(
new
Cell
(
7
,
Math
.
Round
(
item
.
Efficiency
.
Value
*
100
,
2
)
+
"%"
,
1
,
1
,
false
,
true
));
rowbody
.
Data
.
Add
(
new
Cell
(
8
,
Math
.
Round
(
item
.
Scale
.
Value
*
100
,
2
)
+
"%"
,
1
,
1
,
false
,
true
));
rowbody
.
Data
.
Add
(
new
Cell
(
9
,
Math
.
Round
(
item
.
Management
.
Value
*
100
,
2
)
+
"%"
,
1
,
1
,
false
,
true
));
rowbody
.
Data
.
Add
(
new
Cell
(
1
0
,
Math
.
Round
(
item
.
ScoreAverageRate
.
Value
*
100
,
2
)
+
"%"
,
1
,
1
,
false
,
true
));
rowbody
.
Data
.
Add
(
new
Cell
(
1
1
,
Math
.
Round
(
item
.
Attendance
.
Value
*
100
,
2
)
+
"%"
,
1
,
1
,
false
,
true
));
rowbody
.
Data
.
Add
(
new
Cell
(
1
2
,
item
.
OtherPerfor
,
1
,
1
,
false
,
true
));
rowbody
.
Data
.
Add
(
new
Cell
(
1
3
,
item
.
Punishment
,
1
,
1
,
false
,
true
));
rowbody
.
Data
.
Add
(
new
Cell
(
1
4
,
Math
.
Round
(
item
.
Adjust
.
Value
*
100
,
2
)
+
"%"
,
1
,
1
,
false
,
true
));
//rowbody.Data.Add(new Cell(16, item.Grant, 1, 1, false, true));
response
.
Row
.
Add
(
rowbody
);
}
...
...
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