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
0402ea16
Commit
0402ea16
authored
Mar 18, 2019
by
ruyun.zhang@suvalue.com
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
初步计算
parent
c9cf2065
Hide whitespace changes
Inline
Side-by-side
Showing
14 changed files
with
115 additions
and
74 deletions
+115
-74
performance/Performance.DtoModels/PerExcel/PerData.cs
+2
-1
performance/Performance.DtoModels/PerExcel/PerHeader.cs
+7
-1
performance/Performance.DtoModels/Response/SheetExportResponse.cs
+10
-1
performance/Performance.EntityModels/Entity/im_data.cs
+5
-1
performance/Performance.EntityModels/Entity/im_header.cs
+10
-1
performance/Performance.Repository/BaseRepository.cs
+15
-3
performance/Performance.Services/PerExcelService/PerSheetService.cs
+4
-2
performance/Performance.Services/PerExcelService/SheetDataCompute/PerSheetDataComputeEconomic.cs
+7
-19
performance/Performance.Services/PerExcelService/SheetDataCompute/PerSheetDataComputeMerge.cs
+6
-4
performance/Performance.Services/PerExcelService/SheetDataRead/PerSheetDataReadExpend.cs
+1
-0
performance/Performance.Services/PerExcelService/SheetDataRead/PerSheetDataReadIncome.cs
+1
-0
performance/Performance.Services/PerExcelService/SheetDataRead/PerSheetDataReadOtherIncome.cs
+1
-0
performance/Performance.Services/PerExcelService/SheetDataRead/PerSheetDataReadWorkload.cs
+5
-1
performance/Performance.Services/SheetSevice.cs
+41
-40
No files found.
performance/Performance.DtoModels/PerExcel/PerData.cs
View file @
0402ea16
...
...
@@ -49,7 +49,7 @@ public class PerData : IPerData
/// <summary>
/// 1 汇总 2原始数据
/// </summary>
public
Nullable
<
int
>
Is
Sum
{
get
;
set
;
}
public
Nullable
<
int
>
Is
Total
{
get
;
set
;
}
/// <summary>
/// 行号
/// </summary>
...
...
@@ -62,5 +62,6 @@ public class PerData : IPerData
/// 列坐标
/// </summary>
public
int
PointCell
{
get
;
set
;
}
public
string
SignID
{
get
;
set
;
}
}
}
performance/Performance.DtoModels/PerExcel/PerHeader.cs
View file @
0402ea16
...
...
@@ -17,6 +17,10 @@ public class PerHeader
public
int
MergeRow
{
get
;
set
;
}
public
int
MergeCell
{
get
;
set
;
}
public
string
CellValue
{
get
;
set
;
}
/// <summary>
/// 1 汇总 2原始数据
/// </summary>
public
int
IsTotal
{
get
;
set
;
}
public
int
Level
{
get
;
set
;
}
public
bool
IsHasChildren
=>
Children
!=
null
&&
Children
.
Any
();
...
...
@@ -25,7 +29,7 @@ public class PerHeader
public
PerHeader
()
{
}
public
PerHeader
(
int
pointRow
,
int
pointCell
,
string
cellName
,
int
level
,
int
mergeRow
,
int
mergeCell
,
List
<
PerHeader
>
children
)
public
PerHeader
(
int
pointRow
,
int
pointCell
,
string
cellName
,
int
level
,
int
mergeRow
,
int
mergeCell
,
List
<
PerHeader
>
children
,
int
isTotal
)
{
PointRow
=
pointRow
;
PointCell
=
pointCell
;
...
...
@@ -34,6 +38,8 @@ public PerHeader(int pointRow, int pointCell, string cellName, int level, int me
MergeRow
=
mergeRow
;
MergeCell
=
mergeCell
;
Children
=
children
;
SignID
=
Guid
.
NewGuid
().
ToString
(
"N"
);
IsTotal
=
isTotal
;
}
}
}
performance/Performance.DtoModels/Response/SheetExportResponse.cs
View file @
0402ea16
...
...
@@ -60,14 +60,23 @@ public class Cell
public
object
CellValue
{
get
;
set
;
}
public
int
MergeRow
{
get
;
set
;
}
public
int
MergeCell
{
get
;
set
;
}
public
bool
IsTotal
{
get
;
set
;
}
public
bool
IsNumValue
{
get
;
set
;
}
/// <summary>
/// 单元格注释
/// </summary>
public
string
Annotation
{
get
;
set
;
}
public
Cell
()
{
}
public
Cell
(
int
pointCell
,
object
cellValue
,
int
mergeRow
,
int
mergeCell
)
public
Cell
(
int
pointCell
,
object
cellValue
,
int
mergeRow
,
int
mergeCell
,
bool
isTotal
,
bool
isNumValue
,
string
annotation
=
""
)
{
PointCell
=
pointCell
;
CellValue
=
cellValue
;
MergeRow
=
mergeRow
;
MergeCell
=
mergeCell
;
IsTotal
=
isTotal
;
IsNumValue
=
isNumValue
;
Annotation
=
annotation
;
}
}
}
performance/Performance.EntityModels/Entity/im_data.cs
View file @
0402ea16
...
...
@@ -63,7 +63,7 @@ public class im_data
/// <summary>
/// 1 汇总 2原始数据
/// </summary>
public
Nullable
<
int
>
Is
Sum
{
get
;
set
;
}
public
Nullable
<
int
>
Is
Total
{
get
;
set
;
}
/// <summary>
/// 是否带入系数计算 1 带入 2 不带入
...
...
@@ -84,5 +84,9 @@ public class im_data
/// 单元格备注
/// </summary>
public
string
Remark
{
get
;
set
;
}
/// <summary>
/// SignID
/// </summary>
public
string
SignID
{
get
;
set
;
}
}
}
performance/Performance.EntityModels/Entity/im_header.cs
View file @
0402ea16
...
...
@@ -54,10 +54,19 @@ public class im_header
/// 合并列
/// </summary>
public
Nullable
<
int
>
MergeCell
{
get
;
set
;
}
/// <summary>
/// 1 汇总 2原始数据
/// </summary>
public
Nullable
<
int
>
IsTotal
{
get
;
set
;
}
/// <summary>
/// 单元格内容
/// </summary>
public
string
CellValue
{
get
;
set
;
}
/// <summary>
/// SignID
/// </summary>
public
string
SignID
{
get
;
set
;
}
}
}
performance/Performance.Repository/BaseRepository.cs
View file @
0402ea16
...
...
@@ -76,17 +76,29 @@ public List<TEntity> GetEntities()
public
List
<
TEntity
>
GetEntities
(
Expression
<
Func
<
TEntity
,
bool
>>
exp
)
{
return
context
.
Set
<
TEntity
>().
Where
(
exp
).
ToList
();
return
CompileQuery
(
exp
).
ToList
();
}
public
List
<
TEntity
>
GetEntitiesForPaging
(
int
Page
,
int
pageSize
,
Expression
<
Func
<
TEntity
,
bool
>>
exp
)
{
return
context
.
Set
<
TEntity
>().
Where
(
exp
).
Skip
((
Page
-
1
)
*
pageSize
).
Take
(
pageSize
).
ToList
();
return
CompileQuery
(
exp
).
Skip
((
Page
-
1
)
*
pageSize
).
Take
(
pageSize
).
ToList
();
}
public
TEntity
GetEntity
(
Expression
<
Func
<
TEntity
,
bool
>>
exp
)
{
return
context
.
Set
<
TEntity
>().
FirstOrDefault
(
exp
);
return
CompileQuerySingle
(
exp
);
}
private
IEnumerable
<
TEntity
>
CompileQuery
(
Expression
<
Func
<
TEntity
,
bool
>>
exp
)
{
var
func
=
EF
.
CompileQuery
((
DbContext
context
,
Expression
<
Func
<
TEntity
,
bool
>>
exps
)
=>
context
.
Set
<
TEntity
>().
Where
(
exp
));
return
func
(
context
,
exp
);
}
private
TEntity
CompileQuerySingle
(
Expression
<
Func
<
TEntity
,
bool
>>
exp
)
{
var
func
=
EF
.
CompileQuery
((
DbContext
context
,
Expression
<
Func
<
TEntity
,
bool
>>
exps
)
=>
context
.
Set
<
TEntity
>().
FirstOrDefault
(
exp
));
return
func
(
context
,
exp
);
}
}
}
performance/Performance.Services/PerExcelService/PerSheetService.cs
View file @
0402ea16
...
...
@@ -32,8 +32,10 @@ public PerSheet Sheet(ISheet sheet)
return
null
;
var
sheetRead
=
PerSheetDataFactory
.
GetDataRead
(
perSheet
.
SheetType
);
perSheet
.
PerHeader
=
_perHeader
.
GetPerHeader
(
sheet
,
sheetRead
.
Point
);
var
headerReverse
=
_perHeader
.
GetPerHeaderReverse
(
sheet
,
sheetRead
.
Point
);
var
perHeader
=
_perHeader
.
GetPerHeader
(
sheet
,
sheetRead
.
Point
);
var
headerReverse
=
_perHeader
.
GetPerHeaderReverse
(
perHeader
);
perSheet
.
PerHeader
=
perHeader
;
perSheet
.
PerData
=
sheetRead
.
ReadData
(
sheet
,
headerReverse
);
return
perSheet
;
}
...
...
performance/Performance.Services/PerExcelService/SheetDataCompute/PerSheetDataComputeEconomic.cs
View file @
0402ea16
...
...
@@ -41,7 +41,7 @@ public PerSheet ProcessCompute(PerSheet sheet)
if
(
header
.
IsHasChildren
)
{
var
maxcell
=
header
.
Children
.
Max
(
t
=>
t
.
PointCell
);
var
parentHead
=
new
PerHeader
(
0
,
maxcell
+
1
,
$"
{
header
.
CellValue
}
合计"
,
0
,
1
,
2
,
new
List
<
PerHeader
>());
var
parentHead
=
new
PerHeader
(
0
,
maxcell
+
1
,
$"
{
header
.
CellValue
}
合计"
,
0
,
1
,
2
,
new
List
<
PerHeader
>()
,
1
);
perHeadList
.
Add
(
parentHead
);
var
typeClass
=
dataList
.
Where
(
t
=>
header
.
Children
.
Select
(
s
=>
s
.
CellValue
).
Contains
(
t
.
TypeName
));
...
...
@@ -49,21 +49,8 @@ public PerSheet ProcessCompute(PerSheet sheet)
foreach
(
var
group
in
typeClass
.
GroupBy
(
t
=>
t
.
UnitType
))
{
pointcell
++;
parentHead
.
Children
.
Add
(
new
PerHeader
(
1
,
maxcell
+
pointcell
,
group
.
Key
,
1
,
1
,
1
,
null
));
foreach
(
var
t
in
group
.
Where
(
t
=>
t
.
CellValue
.
HasValue
&&
t
.
CellValue
.
Value
>
0
).
GroupBy
(
t
=>
t
.
AccountingUnit
))
{
var
sd
=
new
PerData
{
UnitType
=
group
.
Key
,
AccountingUnit
=
t
.
Key
,
CellValue
=
t
.
Sum
(
s
=>
s
.
CellValue
),
TypeName
=
group
.
Key
,
RowNumber
=
0
,
IsSum
=
1
,
PointCell
=
maxcell
+
pointcell
,
ComputRule
=
t
.
Select
(
s
=>
s
.
ComputRule
).
Distinct
().
First
()
};
}
var
childHead
=
new
PerHeader
(
1
,
maxcell
+
pointcell
,
group
.
Key
,
1
,
1
,
1
,
null
,
1
);
parentHead
.
Children
.
Add
(
childHead
);
var
ds
=
group
.
Where
(
t
=>
t
.
CellValue
.
HasValue
&&
t
.
CellValue
.
Value
>
0
)
.
GroupBy
(
t
=>
t
.
AccountingUnit
).
Select
(
t
=>
new
PerData
{
...
...
@@ -71,10 +58,11 @@ public PerSheet ProcessCompute(PerSheet sheet)
AccountingUnit
=
t
.
Key
,
CellValue
=
t
.
Sum
(
s
=>
s
.
CellValue
),
TypeName
=
group
.
Key
,
RowNumber
=
0
,
Is
Sum
=
1
,
RowNumber
=
t
.
FirstOrDefault
()?.
RowNumber
??
0
,
Is
Total
=
1
,
PointCell
=
maxcell
+
pointcell
,
ComputRule
=
t
.
Select
(
s
=>
s
.
ComputRule
).
Distinct
().
First
()
ComputRule
=
t
.
Select
(
s
=>
s
.
ComputRule
).
Distinct
().
First
(),
SignID
=
childHead
.
SignID
,
});
perDataList
.
AddRange
(
ds
);
}
...
...
performance/Performance.Services/PerExcelService/SheetDataCompute/PerSheetDataComputeMerge.cs
View file @
0402ea16
...
...
@@ -50,9 +50,14 @@ public PerSheet MergeCompute(PerExcel excel)
foreach
(
var
group
in
dataList
.
GroupBy
(
t
=>
t
.
UnitType
))
{
var
typeName
=
$"
{
GetCleanSheetName
(
sheet
.
SheetName
)}
(
{
group
.
Key
}
)"
;
//创建子集头部信息
PerHeader
childHeader
=
new
PerHeader
(
1
,
childPointCell
,
typeName
,
1
,
1
,
1
,
null
,
2
);
headList
.
Add
(
childHeader
);
var
ds
=
group
.
Where
(
t
=>
t
.
CellValue
.
HasValue
&&
t
.
CellValue
.
Value
>
0
)
.
GroupBy
(
t
=>
t
.
AccountingUnit
).
Select
(
t
=>
new
PerData
{
SignID
=
childHeader
.
SignID
,
UnitType
=
group
.
Key
,
AccountingUnit
=
t
.
Key
,
CellValue
=
t
.
Sum
(
s
=>
s
.
IsFactor
?
(
s
.
CellValue
*
(
s
.
FactorValue
??
0
))
:
s
.
CellValue
),
...
...
@@ -62,13 +67,10 @@ public PerSheet MergeCompute(PerExcel excel)
});
perDataList
.
AddRange
(
ds
);
//创建子集头部信息
PerHeader
childHeader
=
new
PerHeader
(
1
,
childPointCell
,
typeName
,
1
,
1
,
1
,
null
);
headList
.
Add
(
childHeader
);
childPointCell
++;
}
}
PerHeader
header
=
new
PerHeader
(
0
,
pointCell
,
EnumHelper
.
GetDescription
(
type
),
1
,
1
,
headList
.
Count
,
headList
);
PerHeader
header
=
new
PerHeader
(
0
,
pointCell
,
EnumHelper
.
GetDescription
(
type
),
1
,
1
,
headList
.
Count
,
headList
,
2
);
compSheet
.
PerHeader
.
Add
(
header
);
//父级列号为当前列号+子集个数
pointCell
=
pointCell
+
headList
.
Count
;
...
...
performance/Performance.Services/PerExcelService/SheetDataRead/PerSheetDataReadExpend.cs
View file @
0402ea16
...
...
@@ -72,6 +72,7 @@ public List<IPerData> ReadData(ISheet sheet, List<PerHeader> perHeader)
PerData
data
=
new
PerData
{
RowNumber
=
r
,
SignID
=
athead
.
SignID
,
AccountingUnit
=
accountingUnit
,
Department
=
row
.
GetCell
(
unit
.
DeptCellNum
.
Value
)?.
ToString
(),
TypeName
=
athead
?.
CellValue
,
...
...
performance/Performance.Services/PerExcelService/SheetDataRead/PerSheetDataReadIncome.cs
View file @
0402ea16
...
...
@@ -67,6 +67,7 @@ public List<IPerData> ReadData(ISheet sheet, List<PerHeader> perHeader)
PerData
data
=
new
PerData
{
RowNumber
=
r
,
SignID
=
athead
.
SignID
,
AccountingUnit
=
accountingUnit
,
Department
=
row
.
GetCell
(
unit
.
DeptCellNum
.
Value
)?.
ToString
(),
TypeName
=
athead
?.
CellValue
,
...
...
performance/Performance.Services/PerExcelService/SheetDataRead/PerSheetDataReadOtherIncome.cs
View file @
0402ea16
...
...
@@ -55,6 +55,7 @@ public List<IPerData> ReadData(ISheet sheet, List<PerHeader> perHeader)
PerData
data
=
new
PerData
{
RowNumber
=
r
,
SignID
=
athead
.
SignID
,
AccountingUnit
=
accountingUnit
,
Department
=
row
.
GetCell
(
unit
.
DeptCellNum
.
Value
)?.
ToString
(),
TypeName
=
athead
?.
CellValue
,
...
...
performance/Performance.Services/PerExcelService/SheetDataRead/PerSheetDataReadWorkload.cs
View file @
0402ea16
...
...
@@ -50,14 +50,18 @@ public List<IPerData> ReadData(ISheet sheet, List<PerHeader> perHeader)
continue
;
var
athead
=
vhead
.
ElementAt
(
c
);
var
cellValue
=
NopiSevice
.
GetCellValue
(
row
.
GetCell
(
athead
.
PointCell
));
if
(!
cellValue
.
HasValue
||
cellValue
.
Value
==
0
)
continue
;
PerData
data
=
new
PerData
{
RowNumber
=
r
,
SignID
=
athead
.
SignID
,
AccountingUnit
=
accountingUnit
,
Department
=
row
.
GetCell
(
unit
.
DeptCellNum
.
Value
)?.
ToString
(),
TypeName
=
athead
?.
CellValue
,
CellValue
=
ConvertHelper
.
To
<
decimal
?>(
row
.
GetCell
(
athead
.
PointCell
)?.
ToString
())
,
CellValue
=
cellValue
,
Annotation
=
row
.
GetCell
(
athead
.
PointCell
)?.
CellComment
?.
String
?.
String
,
UnitType
=
unit
.
UnitType
,
FactorValue
=
ConvertHelper
.
To
<
decimal
?>(
sheet
.
GetRow
(
unit
.
FactorRow
.
Value
).
GetCell
(
athead
.
PointCell
)?.
ToString
()),
...
...
performance/Performance.Services/SheetSevice.cs
View file @
0402ea16
...
...
@@ -68,41 +68,41 @@ public SheetExportResponse SheetExport(int sheetID)
if
(
employeeList
!=
null
&&
employeeList
.
Count
()
>
0
)
{
var
row
=
new
Row
(
0
);
row
.
Data
.
Add
(
new
Cell
(
1
,
"核算单元"
,
1
,
1
));
row
.
Data
.
Add
(
new
Cell
(
2
,
"科室"
,
1
,
1
));
row
.
Data
.
Add
(
new
Cell
(
3
,
"医生姓名"
,
1
,
1
));
row
.
Data
.
Add
(
new
Cell
(
4
,
"职称"
,
1
,
1
));
row
.
Data
.
Add
(
new
Cell
(
5
,
"绩效基数核算参考对象"
,
1
,
1
));
row
.
Data
.
Add
(
new
Cell
(
6
,
"岗位系数"
,
1
,
1
));
row
.
Data
.
Add
(
new
Cell
(
7
,
"考核得分率"
,
1
,
1
));
row
.
Data
.
Add
(
new
Cell
(
8
,
"医生姓名"
,
1
,
1
));
row
.
Data
.
Add
(
new
Cell
(
9
,
"出勤率"
,
1
,
1
));
row
.
Data
.
Add
(
new
Cell
(
10
,
"核算单元医生数"
,
1
,
1
));
row
.
Data
.
Add
(
new
Cell
(
11
,
"工作量绩效"
,
1
,
1
));
row
.
Data
.
Add
(
new
Cell
(
12
,
"其他绩效"
,
1
,
1
));
row
.
Data
.
Add
(
new
Cell
(
13
,
"医院奖罚"
,
1
,
1
));
row
.
Data
.
Add
(
new
Cell
(
14
,
"调节系数"
,
1
,
1
));
row
.
Data
.
Add
(
new
Cell
(
15
,
"发放系数"
,
1
,
1
));
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
(
4
,
"职称"
,
1
,
1
,
false
,
false
));
row
.
Data
.
Add
(
new
Cell
(
5
,
"绩效基数核算参考对象"
,
1
,
1
,
false
,
false
));
row
.
Data
.
Add
(
new
Cell
(
6
,
"岗位系数"
,
1
,
1
,
false
,
false
));
row
.
Data
.
Add
(
new
Cell
(
7
,
"考核得分率"
,
1
,
1
,
false
,
false
));
row
.
Data
.
Add
(
new
Cell
(
8
,
"医生姓名"
,
1
,
1
,
false
,
false
));
row
.
Data
.
Add
(
new
Cell
(
9
,
"出勤率"
,
1
,
1
,
false
,
false
));
row
.
Data
.
Add
(
new
Cell
(
10
,
"核算单元医生数"
,
1
,
1
,
false
,
false
));
row
.
Data
.
Add
(
new
Cell
(
11
,
"工作量绩效"
,
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
,
"调节系数"
,
1
,
1
,
false
,
false
));
row
.
Data
.
Add
(
new
Cell
(
15
,
"发放系数"
,
1
,
1
,
false
,
false
));
response
.
Header
.
Add
(
row
);
for
(
int
i
=
0
;
i
<
employeeList
.
Count
();
i
++)
{
var
item
=
employeeList
.
ElementAt
(
i
);
var
rowbody
=
new
Row
(
i
);
rowbody
.
Data
.
Add
(
new
Cell
(
1
,
item
.
AccountingUnit
,
1
,
1
));
rowbody
.
Data
.
Add
(
new
Cell
(
2
,
item
.
Department
,
1
,
1
));
rowbody
.
Data
.
Add
(
new
Cell
(
3
,
item
.
DoctorName
,
1
,
1
));
rowbody
.
Data
.
Add
(
new
Cell
(
4
,
item
.
JobTitle
,
1
,
1
));
rowbody
.
Data
.
Add
(
new
Cell
(
5
,
item
.
FitPeople
,
1
,
1
));
rowbody
.
Data
.
Add
(
new
Cell
(
6
,
item
.
PostCoefficient
,
1
,
1
));
rowbody
.
Data
.
Add
(
new
Cell
(
7
,
item
.
WorkTime
,
1
,
1
));
rowbody
.
Data
.
Add
(
new
Cell
(
8
,
item
.
ScoreAverageRate
,
1
,
1
));
rowbody
.
Data
.
Add
(
new
Cell
(
9
,
item
.
Attendance
,
1
,
1
));
rowbody
.
Data
.
Add
(
new
Cell
(
10
,
item
.
PeopleNumber
,
1
,
1
));
rowbody
.
Data
.
Add
(
new
Cell
(
11
,
item
.
Workload
,
1
,
1
));
rowbody
.
Data
.
Add
(
new
Cell
(
12
,
item
.
OthePerfor
,
1
,
1
));
rowbody
.
Data
.
Add
(
new
Cell
(
13
,
item
.
Punishment
,
1
,
1
));
rowbody
.
Data
.
Add
(
new
Cell
(
14
,
item
.
Adjust
,
1
,
1
));
rowbody
.
Data
.
Add
(
new
Cell
(
15
,
item
.
Grant
,
1
,
1
));
rowbody
.
Data
.
Add
(
new
Cell
(
1
,
item
.
AccountingUnit
,
1
,
1
,
false
,
false
));
rowbody
.
Data
.
Add
(
new
Cell
(
2
,
item
.
Department
,
1
,
1
,
false
,
false
));
rowbody
.
Data
.
Add
(
new
Cell
(
3
,
item
.
DoctorName
,
1
,
1
,
false
,
false
));
rowbody
.
Data
.
Add
(
new
Cell
(
4
,
item
.
JobTitle
,
1
,
1
,
false
,
false
));
rowbody
.
Data
.
Add
(
new
Cell
(
5
,
item
.
FitPeople
,
1
,
1
,
false
,
true
));
rowbody
.
Data
.
Add
(
new
Cell
(
6
,
item
.
PostCoefficient
,
1
,
1
,
false
,
true
));
rowbody
.
Data
.
Add
(
new
Cell
(
7
,
item
.
WorkTime
,
1
,
1
,
false
,
false
));
rowbody
.
Data
.
Add
(
new
Cell
(
8
,
item
.
ScoreAverageRate
,
1
,
1
,
false
,
true
));
rowbody
.
Data
.
Add
(
new
Cell
(
9
,
item
.
Attendance
,
1
,
1
,
false
,
true
));
rowbody
.
Data
.
Add
(
new
Cell
(
10
,
item
.
PeopleNumber
,
1
,
1
,
false
,
true
));
rowbody
.
Data
.
Add
(
new
Cell
(
11
,
item
.
Workload
,
1
,
1
,
false
,
true
));
rowbody
.
Data
.
Add
(
new
Cell
(
12
,
item
.
OthePerfor
,
1
,
1
,
false
,
true
));
rowbody
.
Data
.
Add
(
new
Cell
(
13
,
item
.
Punishment
,
1
,
1
,
false
,
true
));
rowbody
.
Data
.
Add
(
new
Cell
(
14
,
item
.
Adjust
,
1
,
1
,
false
,
true
));
rowbody
.
Data
.
Add
(
new
Cell
(
15
,
item
.
Grant
,
1
,
1
,
false
,
true
));
response
.
Header
.
Add
(
rowbody
);
}
}
...
...
@@ -118,7 +118,7 @@ public SheetExportResponse SheetExport(int sheetID)
response
.
Header
.
Add
(
rowhead
);
foreach
(
var
header
in
headList
.
Where
(
t
=>
!
t
.
ParentID
.
HasValue
||
t
.
ParentID
.
Value
==
0
))
{
rowhead
.
Data
.
Add
(
new
Cell
(
header
.
PointCell
.
Value
,
header
.
CellValue
,
header
.
MergeRow
.
Value
,
header
.
MergeCell
.
Value
));
rowhead
.
Data
.
Add
(
new
Cell
(
header
.
PointCell
.
Value
,
header
.
CellValue
,
header
.
MergeRow
.
Value
,
header
.
MergeCell
.
Value
,
false
,
false
));
}
if
(
headList
.
Any
(
t
=>
t
.
ParentID
.
HasValue
&&
t
.
ParentID
.
Value
>
0
))
{
...
...
@@ -126,7 +126,7 @@ public SheetExportResponse SheetExport(int sheetID)
response
.
Header
.
Add
(
rowhead2
);
foreach
(
var
header
in
headList
.
Where
(
t
=>
t
.
ParentID
.
HasValue
&&
t
.
ParentID
.
Value
>
0
))
{
rowhead2
.
Data
.
Add
(
new
Cell
(
header
.
PointCell
.
Value
,
header
.
CellValue
,
header
.
MergeRow
.
Value
,
header
.
MergeCell
.
Value
));
rowhead2
.
Data
.
Add
(
new
Cell
(
header
.
PointCell
.
Value
,
header
.
CellValue
,
header
.
MergeRow
.
Value
,
header
.
MergeCell
.
Value
,
false
,
false
));
}
}
List
<
im_header
>
headers
=
new
List
<
im_header
>();
...
...
@@ -152,35 +152,36 @@ public SheetExportResponse SheetExport(int sheetID)
if
(
head
.
CellValue
.
Contains
(
"医生组"
))
{
var
value
=
dataList
.
FirstOrDefault
(
t
=>
t
.
RowNumber
==
rowNumber
&&
t
.
UnitType
==
1
)?.
AccountingUnit
;
rowbody
.
Data
.
Add
(
new
Cell
(
head
.
PointCell
.
Value
,
value
,
1
,
1
));
rowbody
.
Data
.
Add
(
new
Cell
(
head
.
PointCell
.
Value
,
value
,
1
,
1
,
false
,
false
));
}
else
if
(
head
.
CellValue
.
Contains
(
"护理组"
))
{
var
value
=
dataList
.
FirstOrDefault
(
t
=>
t
.
RowNumber
==
rowNumber
&&
t
.
UnitType
==
2
)?.
AccountingUnit
;
rowbody
.
Data
.
Add
(
new
Cell
(
head
.
PointCell
.
Value
,
value
,
1
,
1
));
rowbody
.
Data
.
Add
(
new
Cell
(
head
.
PointCell
.
Value
,
value
,
1
,
1
,
false
,
false
));
}
else
{
var
value
=
dataList
.
FirstOrDefault
(
t
=>
t
.
RowNumber
==
rowNumber
)?.
AccountingUnit
;
rowbody
.
Data
.
Add
(
new
Cell
(
head
.
PointCell
.
Value
,
value
,
1
,
1
));
rowbody
.
Data
.
Add
(
new
Cell
(
head
.
PointCell
.
Value
,
value
,
1
,
1
,
false
,
false
));
}
}
else
if
(
head
.
CellValue
.
Contains
(
"科室名称"
))
{
var
value
=
dataList
.
FirstOrDefault
(
t
=>
t
.
RowNumber
==
rowNumber
).
Department
;
rowbody
.
Data
.
Add
(
new
Cell
(
head
.
PointCell
.
Value
,
value
,
1
,
1
));
rowbody
.
Data
.
Add
(
new
Cell
(
head
.
PointCell
.
Value
,
value
,
1
,
1
,
false
,
false
));
}
else
if
(
head
.
CellValue
.
Contains
(
"备注"
))
{
var
value
=
dataList
.
FirstOrDefault
(
t
=>
t
.
RowNumber
==
rowNumber
).
Remark
;
rowbody
.
Data
.
Add
(
new
Cell
(
head
.
PointCell
.
Value
,
value
,
1
,
1
));
rowbody
.
Data
.
Add
(
new
Cell
(
head
.
PointCell
.
Value
,
value
,
1
,
1
,
false
,
false
));
}
else
if
(!
rowbody
.
Data
.
Any
(
t
=>
t
.
PointCell
==
head
.
PointCell
))
{
var
accountingUnit
=
dataList
.
FirstOrDefault
(
t
=>
t
.
RowNumber
==
rowNumber
).
AccountingUnit
;
var
value
=
dataList
.
FirstOrDefault
(
t
=>
t
.
AccountingUnit
==
accountingUnit
&&
t
.
TypeName
==
head
.
CellValue
)?.
CellValue
;
var
accountingUnit
=
dataList
.
FirstOrDefault
(
t
=>
t
.
RowNumber
==
rowNumber
)?.
AccountingUnit
;
var
data
=
dataList
.
FirstOrDefault
(
t
=>
t
.
AccountingUnit
==
accountingUnit
&&
t
.
SignID
==
head
.
SignID
);
var
value
=
data
?.
CellValue
;
if
(
value
.
HasValue
&&
value
.
Value
>
0
)
rowbody
.
Data
.
Add
(
new
Cell
(
head
.
PointCell
.
Value
,
value
,
1
,
1
));
rowbody
.
Data
.
Add
(
new
Cell
(
head
.
PointCell
.
Value
,
value
,
1
,
1
,
data
.
IsTotal
==
1
,
true
,
data
.
Annotation
));
}
}
}
...
...
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