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
cdfb53be
Commit
cdfb53be
authored
Jul 08, 2020
by
lcx
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修改抽取,保存基础数据500/次保存
parent
55456a86
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
32 additions
and
12 deletions
+32
-12
performance/Performance.Services/AllotCompute/ImportDataService.cs
+17
-3
performance/Performance.Services/DFExtractService1.cs
+15
-9
No files found.
performance/Performance.Services/AllotCompute/ImportDataService.cs
View file @
cdfb53be
using
AutoMapper
;
using
AutoMapper
;
using
Microsoft.Extensions.Logging
;
using
NPOI.HSSF.UserModel
;
using
NPOI.HSSF.UserModel
;
using
NPOI.SS.UserModel
;
using
NPOI.SS.UserModel
;
using
NPOI.XSSF.UserModel
;
using
NPOI.XSSF.UserModel
;
...
@@ -30,6 +31,8 @@ public class ImportDataService : IAutoInjection
...
@@ -30,6 +31,8 @@ public class ImportDataService : IAutoInjection
private
PerforImemployeeclinicRepository
perforImemployeeclinicRepository
;
private
PerforImemployeeclinicRepository
perforImemployeeclinicRepository
;
//private PerforLogdbugRepository logdbug;
//private PerforLogdbugRepository logdbug;
private
readonly
LogManageService
logManageService
;
private
readonly
LogManageService
logManageService
;
private
ILogger
<
ImportDataService
>
logger
;
public
ImportDataService
(
PerSheetService
perSheetService
,
public
ImportDataService
(
PerSheetService
perSheetService
,
PerforPersheetRepository
perforPerSheetRepository
,
PerforPersheetRepository
perforPerSheetRepository
,
PerforPerallotRepository
perforPerallotRepository
,
PerforPerallotRepository
perforPerallotRepository
,
...
@@ -40,7 +43,8 @@ public class ImportDataService : IAutoInjection
...
@@ -40,7 +43,8 @@ public class ImportDataService : IAutoInjection
PerforImspecialunitRepository
perforImspecialunitRepository
,
PerforImspecialunitRepository
perforImspecialunitRepository
,
PerforImemployeeclinicRepository
perforImemployeeclinicRepository
,
PerforImemployeeclinicRepository
perforImemployeeclinicRepository
,
//PerforLogdbugRepository logdbug
//PerforLogdbugRepository logdbug
LogManageService
logManageService
)
LogManageService
logManageService
,
ILogger
<
ImportDataService
>
logger
)
{
{
this
.
perSheetService
=
perSheetService
;
this
.
perSheetService
=
perSheetService
;
this
.
perforPerSheetRepository
=
perforPerSheetRepository
;
this
.
perforPerSheetRepository
=
perforPerSheetRepository
;
...
@@ -53,6 +57,7 @@ public class ImportDataService : IAutoInjection
...
@@ -53,6 +57,7 @@ public class ImportDataService : IAutoInjection
this
.
perforImemployeeclinicRepository
=
perforImemployeeclinicRepository
;
this
.
perforImemployeeclinicRepository
=
perforImemployeeclinicRepository
;
//this.logdbug = logdbug;
//this.logdbug = logdbug;
this
.
logManageService
=
logManageService
;
this
.
logManageService
=
logManageService
;
this
.
logger
=
logger
;
}
}
/// <summary>
/// <summary>
...
@@ -308,7 +313,8 @@ private void SaveCommon(PerSheet sheet, int allotId)
...
@@ -308,7 +313,8 @@ private void SaveCommon(PerSheet sheet, int allotId)
}
}
}
}
}
}
perforImHeaderRepository
.
AddRange
(
addHeadList
.
ToArray
());
if
(
addHeadList
!=
null
&&
addHeadList
.
Any
())
perforImHeaderRepository
.
AddRange
(
addHeadList
.
ToArray
());
List
<
im_data
>
addDataList
=
new
List
<
im_data
>();
List
<
im_data
>
addDataList
=
new
List
<
im_data
>();
var
dataList
=
sheet
.
PerData
.
Select
(
t
=>
(
PerData
)
t
);
var
dataList
=
sheet
.
PerData
.
Select
(
t
=>
(
PerData
)
t
);
...
@@ -319,7 +325,15 @@ private void SaveCommon(PerSheet sheet, int allotId)
...
@@ -319,7 +325,15 @@ private void SaveCommon(PerSheet sheet, int allotId)
imdata
.
AllotID
=
allotId
;
imdata
.
AllotID
=
allotId
;
addDataList
.
Add
(
imdata
);
addDataList
.
Add
(
imdata
);
}
}
perforImDataRepository
.
AddRange
(
addDataList
.
ToArray
());
if
(
addDataList
!=
null
&&
addDataList
.
Any
())
{
int
rows
=
500
;
for
(
int
i
=
0
;
i
<
Math
.
Ceiling
((
double
)
addDataList
.
Count
/
rows
);
i
++)
{
perforImDataRepository
.
AddRange
(
addDataList
.
Skip
(
rows
*
i
).
Take
(
rows
).
ToArray
());
}
}
}
}
private
bool
Save
(
PerExcel
excel
,
int
allotId
)
private
bool
Save
(
PerExcel
excel
,
int
allotId
)
...
...
performance/Performance.Services/DFExtractService1.cs
View file @
cdfb53be
...
@@ -637,9 +637,7 @@ private void WriteIncome(ISheet sheet, IPerSheetDataRead sheetRead, List<Account
...
@@ -637,9 +637,7 @@ private void WriteIncome(ISheet sheet, IPerSheetDataRead sheetRead, List<Account
var
itemList
=
items
.
Where
(
t
=>
t
.
ModuleId
==
module
.
Id
).
ToList
();
var
itemList
=
items
.
Where
(
t
=>
t
.
ModuleId
==
module
.
Id
).
ToList
();
logger
.
LogInformation
(
$"item有
{
itemList
?.
Count
??
0
}
个."
);
logger
.
LogInformation
(
$"item有
{
itemList
?.
Count
??
0
}
个."
);
if
(
itemList
==
null
||
!
itemList
.
Any
())
return
;
//if (itemList == null || !itemList.Any()) return;
WriteHeaderAndFactor
(
sheet
,
sheetRead
,
itemList
,
isNewTemp
);
var
extractdata
=
data
.
Where
(
t
=>
t
.
AllotId
==
Allot
.
ID
&&
t
.
Source
==
module
.
ModuleName
);
var
extractdata
=
data
.
Where
(
t
=>
t
.
AllotId
==
Allot
.
ID
&&
t
.
Source
==
module
.
ModuleName
);
if
(
extractdata
==
null
||
!
extractdata
.
Any
())
if
(
extractdata
==
null
||
!
extractdata
.
Any
())
...
@@ -655,9 +653,17 @@ private void WriteIncome(ISheet sheet, IPerSheetDataRead sheetRead, List<Account
...
@@ -655,9 +653,17 @@ private void WriteIncome(ISheet sheet, IPerSheetDataRead sheetRead, List<Account
//logger.LogInformation($"{sheet.SheetName}合计值为: " + allExtract.Sum(t => t.Value));
//logger.LogInformation($"{sheet.SheetName}合计值为: " + allExtract.Sum(t => t.Value));
var
category
=
allExtract
.
Select
(
t
=>
t
.
Category
).
Distinct
().
ToList
();
var
category
=
allExtract
.
Select
(
t
=>
t
.
Category
?.
Trim
()).
Distinct
().
ToList
();
var
existHead
=
category
.
Except
(
itemList
.
Select
(
i
=>
i
.
ItemName
?.
Trim
()));
if
(
existHead
!=
null
&&
existHead
.
Any
())
itemList
.
AddRange
(
existHead
.
Select
(
t
=>
new
ex_item
{
ItemName
=
t
,
}));
WriteHeaderAndFactor
(
sheet
,
sheetRead
,
itemList
,
isNewTemp
);
//WriteIncomeHeaderAndFactor(sheet, sheetRead, category, isNewTemp);
//WriteIncomeHeaderAndFactor(sheet, sheetRead, category, isNewTemp);
WriteSheetData
(
sheet
,
sheetRead
,
unitList
,
allExtract
,
category
,
isNewTemp
,
true
);
WriteSheetData
(
sheet
,
sheetRead
,
unitList
,
allExtract
,
itemList
.
Select
(
t
=>
t
.
ItemName
)
,
isNewTemp
,
true
);
logger
.
LogInformation
(
$"
{
sheet
.
SheetName
}
提取结束."
);
logger
.
LogInformation
(
$"
{
sheet
.
SheetName
}
提取结束."
);
}
}
...
@@ -893,10 +899,10 @@ private void WriteHeaderAndFactor(ISheet sheet, IPerSheetDataRead sheetRead, Lis
...
@@ -893,10 +899,10 @@ private void WriteHeaderAndFactor(ISheet sheet, IPerSheetDataRead sheetRead, Lis
List
<
string
>
original
=
new
List
<
string
>();
List
<
string
>
original
=
new
List
<
string
>();
#
region
过滤历史模板中已有的列头
#
region
过滤历史模板中已有的列头
//写入列头信息
//写入列头信息
int
cellStartIndex
=
sheetRead
.
Point
.
HeaderFirstCellNum
.
Value
+
4
+
3
;
int
cellStartIndex
=
sheetRead
.
Point
.
HeaderFirstCellNum
.
Value
+
4
;
for
(
int
i
=
cellStartIndex
;
i
<
head
.
LastCellNum
;
i
++)
for
(
int
i
=
cellStartIndex
;
i
<
head
.
LastCellNum
;
i
++)
{
{
var
cellvalue
=
head
.
GetCell
(
i
)?.
ToString
();
var
cellvalue
=
head
.
GetCell
(
i
)?.
ToString
()
?.
Trim
()
;
if
(
string
.
IsNullOrEmpty
(
cellvalue
))
continue
;
if
(
string
.
IsNullOrEmpty
(
cellvalue
))
continue
;
cellItems
.
RemoveAll
(
t
=>
t
.
ItemName
==
cellvalue
);
cellItems
.
RemoveAll
(
t
=>
t
.
ItemName
==
cellvalue
);
}
}
...
@@ -1018,7 +1024,7 @@ private void WriteSheetData(ISheet sheet, IPerSheetDataRead sheetRead, List<Acco
...
@@ -1018,7 +1024,7 @@ private void WriteSheetData(ISheet sheet, IPerSheetDataRead sheetRead, List<Acco
var
row
=
sheet
.
GetRow
(
i
);
var
row
=
sheet
.
GetRow
(
i
);
if
(
row
!=
null
)
if
(
row
!=
null
)
{
{
var
department
=
row
.
GetCell
(
3
)?.
ToString
();
// 科室名称
var
department
=
row
.
GetCell
(
6
)?.
ToString
();
// 科室名称
if
(
string
.
IsNullOrEmpty
(
department
))
continue
;
if
(
string
.
IsNullOrEmpty
(
department
))
continue
;
var
deptData
=
allExtract
.
Where
(
t
=>
t
.
Department
==
department
);
var
deptData
=
allExtract
.
Where
(
t
=>
t
.
Department
==
department
);
...
@@ -1175,7 +1181,7 @@ private void WriteWorkData(ISheet sheet, IPerSheetDataRead sheetRead, List<Accou
...
@@ -1175,7 +1181,7 @@ private void WriteWorkData(ISheet sheet, IPerSheetDataRead sheetRead, List<Accou
var
row
=
sheet
.
GetRow
(
i
);
var
row
=
sheet
.
GetRow
(
i
);
if
(
row
!=
null
)
if
(
row
!=
null
)
{
{
var
department
=
row
.
GetCell
(
1
)?.
ToString
();
// 科室名称
var
department
=
row
.
GetCell
(
2
)?.
ToString
();
// 科室名称
if
(
string
.
IsNullOrEmpty
(
department
))
continue
;
if
(
string
.
IsNullOrEmpty
(
department
))
continue
;
var
deptData
=
allExtract
.
Where
(
t
=>
t
.
Department
==
department
);
var
deptData
=
allExtract
.
Where
(
t
=>
t
.
Department
==
department
);
...
...
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