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
519f3277
Commit
519f3277
authored
Aug 01, 2019
by
799284587@qq.com
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
优化
parent
263c85cf
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
15 additions
and
12 deletions
+15
-12
performance/Performance.Services/PerExcelService/SheetDataCompute/PerSheetDataComputeEconomic.cs
+15
-12
No files found.
performance/Performance.Services/PerExcelService/SheetDataCompute/PerSheetDataComputeEconomic.cs
View file @
519f3277
...
@@ -52,10 +52,11 @@ public PerSheet MergeCompute(PerExcel excel, List<EntityModels.cof_income> incom
...
@@ -52,10 +52,11 @@ public PerSheet MergeCompute(PerExcel excel, List<EntityModels.cof_income> incom
//判断是否创建头部
//判断是否创建头部
if
(!
isHasData
&&
dataList
!=
null
&&
dataList
.
Count
()
>
0
)
if
(!
isHasData
&&
dataList
!=
null
&&
dataList
.
Count
()
>
0
)
isHasData
=
true
;
isHasData
=
true
;
foreach
(
var
item
in
EnumHelper
.
GetItems
<
UnitType
>())
foreach
(
var
group
in
dataList
.
GroupBy
(
t
=>
t
.
UnitType
))
{
{
var
typeName
=
$"
{
GetCleanSheetName
(
sheet
.
SheetName
)}
(
{
group
.
Key
}
)"
;
var
group
=
dataList
.
Where
(
t
=>
t
.
UnitType
==
item
.
Name
);
var
typeName
=
$"
{
GetCleanSheetName
(
sheet
.
SheetName
)}
(
{
item
.
Name
}
)"
;
//创建子集头部信息
//创建子集头部信息
PerHeader
childHeader
=
new
PerHeader
(
1
,
childPointCell
,
typeName
,
1
,
1
,
1
,
null
,
2
);
PerHeader
childHeader
=
new
PerHeader
(
1
,
childPointCell
,
typeName
,
1
,
1
,
1
,
null
,
2
);
headList
.
Add
(
childHeader
);
headList
.
Add
(
childHeader
);
...
@@ -64,11 +65,11 @@ public PerSheet MergeCompute(PerExcel excel, List<EntityModels.cof_income> incom
...
@@ -64,11 +65,11 @@ public PerSheet MergeCompute(PerExcel excel, List<EntityModels.cof_income> incom
.
GroupBy
(
t
=>
t
.
AccountingUnit
).
Select
(
t
=>
new
PerData
.
GroupBy
(
t
=>
t
.
AccountingUnit
).
Select
(
t
=>
new
PerData
{
{
SignID
=
childHeader
.
SignID
,
SignID
=
childHeader
.
SignID
,
UnitType
=
group
.
Key
,
UnitType
=
item
.
Name
,
AccountingUnit
=
t
.
Key
,
AccountingUnit
=
t
.
Key
,
CellValue
=
ComputeValue
(
t
,
sheet
.
SheetName
,
group
.
Key
,
incomeconfs
),
CellValue
=
ComputeValue
(
t
,
sheet
.
SheetName
,
item
.
Name
,
incomeconfs
),
TypeName
=
typeName
,
TypeName
=
typeName
,
RowNumber
=
dataList
.
FirstOrDefault
(
s
=>
s
.
AccountingUnit
==
t
.
Key
&&
s
.
UnitType
==
group
.
Key
)?.
RowNumber
??
0
,
RowNumber
=
dataList
.
FirstOrDefault
(
s
=>
s
.
AccountingUnit
==
t
.
Key
&&
s
.
UnitType
==
item
.
Name
)?.
RowNumber
??
0
,
ComputRule
=
type
==
SheetType
.
Expend
?
2
:
1
ComputRule
=
type
==
SheetType
.
Expend
?
2
:
1
});
});
...
@@ -143,7 +144,7 @@ public PerSheet OnceCompute(PerSheet sheet)
...
@@ -143,7 +144,7 @@ public PerSheet OnceCompute(PerSheet sheet)
{
{
header
.
PointCell
=
header
.
PointCell
+
phead
;
header
.
PointCell
=
header
.
PointCell
+
phead
;
header
.
Children
.
ForEach
(
item
=>
item
.
PointCell
=
item
.
PointCell
+
phead
);
header
.
Children
.
ForEach
(
item
=>
item
.
PointCell
=
item
.
PointCell
+
phead
);
phead
=
phead
+
2
;
phead
=
phead
+
3
;
}
}
}
}
...
@@ -160,18 +161,20 @@ public PerSheet OnceCompute(PerSheet sheet)
...
@@ -160,18 +161,20 @@ public PerSheet OnceCompute(PerSheet sheet)
var
typeClass
=
dataList
.
Where
(
t
=>
header
.
Children
.
Select
(
s
=>
s
.
CellValue
).
Contains
(
t
.
TypeName
));
var
typeClass
=
dataList
.
Where
(
t
=>
header
.
Children
.
Select
(
s
=>
s
.
CellValue
).
Contains
(
t
.
TypeName
));
int
pointcell
=
0
;
int
pointcell
=
0
;
foreach
(
var
group
in
typeClass
.
GroupBy
(
t
=>
t
.
UnitType
))
foreach
(
var
item
in
EnumHelper
.
GetItems
<
UnitType
>(
))
{
{
pointcell
++;
pointcell
++;
var
childHead
=
new
PerHeader
(
1
,
maxcell
+
pointcell
,
group
.
Key
,
1
,
1
,
1
,
null
,
1
);
var
group
=
typeClass
.
Where
(
t
=>
t
.
UnitType
==
item
.
Name
);
var
childHead
=
new
PerHeader
(
1
,
maxcell
+
pointcell
,
item
.
Name
,
1
,
1
,
1
,
null
,
1
);
parentHead
.
Children
.
Add
(
childHead
);
parentHead
.
Children
.
Add
(
childHead
);
var
ds
=
group
.
Where
(
t
=>
t
.
CellValue
.
HasValue
)
var
ds
=
group
.
Where
(
t
=>
t
.
CellValue
.
HasValue
)
.
GroupBy
(
t
=>
t
.
AccountingUnit
).
Select
(
t
=>
new
PerData
.
GroupBy
(
t
=>
t
.
AccountingUnit
).
Select
(
t
=>
new
PerData
{
{
UnitType
=
group
.
Key
,
UnitType
=
item
.
Name
,
AccountingUnit
=
t
.
Key
,
AccountingUnit
=
t
.
Key
,
CellValue
=
t
.
Sum
(
s
=>
s
.
CellValue
),
CellValue
=
t
.
Sum
(
s
=>
s
.
CellValue
),
TypeName
=
group
.
Key
,
TypeName
=
item
.
Name
,
RowNumber
=
t
.
FirstOrDefault
()?.
RowNumber
??
0
,
RowNumber
=
t
.
FirstOrDefault
()?.
RowNumber
??
0
,
IsTotal
=
1
,
IsTotal
=
1
,
PointCell
=
maxcell
+
pointcell
,
PointCell
=
maxcell
+
pointcell
,
...
@@ -199,7 +202,7 @@ public PerSheet OnceCompute(PerSheet sheet)
...
@@ -199,7 +202,7 @@ public PerSheet OnceCompute(PerSheet sheet)
//获取最大列坐标位置
//获取最大列坐标位置
var
maxhead
=
sheet
.
PerHeader
.
OrderByDescending
(
t
=>
t
.
PointCell
).
FirstOrDefault
();
var
maxhead
=
sheet
.
PerHeader
.
OrderByDescending
(
t
=>
t
.
PointCell
).
FirstOrDefault
();
int
thiscell
=
maxhead
.
Children
!=
null
&&
maxhead
.
Children
.
Count
>
0
int
thiscell
=
maxhead
.
Children
!=
null
&&
maxhead
.
Children
.
Count
>
0
?
maxhead
.
Children
.
Max
(
t
=>
t
.
PointCell
)
+
3
?
maxhead
.
Children
.
Max
(
t
=>
t
.
PointCell
)
+
1
:
maxhead
.
PointCell
;
:
maxhead
.
PointCell
;
PerHeader
perHead
=
new
PerHeader
(
0
,
thiscell
,
"科室可核算业绩收入"
,
0
,
1
,
3
,
new
List
<
PerHeader
>(),
1
);
PerHeader
perHead
=
new
PerHeader
(
0
,
thiscell
,
"科室可核算业绩收入"
,
0
,
1
,
3
,
new
List
<
PerHeader
>(),
1
);
...
...
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