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
eea7bc11
Commit
eea7bc11
authored
Oct 22, 2020
by
lcx
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
参数修改
parent
932753f9
Show whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
64 additions
and
33 deletions
+64
-33
performance/Performance.Api/wwwroot/Performance.DtoModels.xml
+5
-0
performance/Performance.Extract.Api/Controllers/ExtractController.cs
+6
-1
performance/Performance.Services/ExtractExcelService/ExtractService.cs
+12
-17
performance/Performance.Services/ExtractExcelService/SheetDataWrite/AccountBasicDataWrite.cs
+7
-1
performance/Performance.Services/ExtractExcelService/SheetDataWrite/ClinicEmployeeDataWrite.cs
+7
-1
performance/Performance.Services/ExtractExcelService/SheetDataWrite/EmployeeDataWrite.cs
+1
-1
performance/Performance.Services/ExtractExcelService/SheetDataWrite/ISheetDataWrite.cs
+4
-2
performance/Performance.Services/ExtractExcelService/SheetDataWrite/IncomeDataWrite.cs
+5
-3
performance/Performance.Services/ExtractExcelService/SheetDataWrite/OtherIncomeDataWrite.cs
+5
-3
performance/Performance.Services/ExtractExcelService/SheetDataWrite/SpecialUnitDataWrite.cs
+7
-1
performance/Performance.Services/ExtractExcelService/SheetDataWrite/WorkloadDataWrite.cs
+5
-3
No files found.
performance/Performance.Api/wwwroot/Performance.DtoModels.xml
View file @
eea7bc11
...
...
@@ -1208,6 +1208,11 @@
数据开始行
</summary>
</member>
<member
name=
"P:Performance.DtoModels.PerSheetPoint.DataFirstCellNum"
>
<summary>
数据开始列
</summary>
</member>
<member
name=
"P:Performance.DtoModels.PerSheetPoint.TotalCellNum"
>
<summary>
汇总列
...
...
performance/Performance.Extract.Api/Controllers/ExtractController.cs
View file @
eea7bc11
...
...
@@ -10,6 +10,7 @@
using
Performance.DtoModels.AppSettings
;
using
Performance.Infrastructure
;
using
Performance.Services
;
using
Performance.Services.ExtractExcelService
;
using
System
;
using
System.Collections.Generic
;
using
System.IO
;
...
...
@@ -23,17 +24,20 @@ public class ExtractController : Controller
{
private
readonly
DFExtractService
extractService
;
private
readonly
HospitalService
hospitalService
;
private
readonly
ExtractService
extractService1
;
private
readonly
WebapiUrl
url
;
private
readonly
ILogger
<
ExtractController
>
logger
;
private
readonly
IHostingEnvironment
evn
;
public
ExtractController
(
DFExtractService
extractService
,
HospitalService
hospitalService
,
ExtractService
extractService1
,
IOptions
<
WebapiUrl
>
url
,
ILogger
<
ExtractController
>
logger
,
IHostingEnvironment
evn
)
{
this
.
extractService
=
extractService
;
this
.
hospitalService
=
hospitalService
;
this
.
extractService1
=
extractService1
;
this
.
url
=
url
.
Value
;
this
.
logger
=
logger
;
this
.
evn
=
evn
;
...
...
@@ -149,7 +153,8 @@ public void ExtractData([FromForm] IFormCollection form, int allotId, int hospit
#
endregion
//string filePath = newExtractService.ExtractData(allotId, request.Email, hospitalId);
string
filePath
=
extractService
.
ExtractData
(
allotId
,
email
,
hospitalId
,
"User"
+
userId
,
path
);
//抽取
//string filePath = extractService.ExtractData(allotId, email, hospitalId, "User" + userId, path); //抽取
string
filePath
=
extractService1
.
Main
(
allotId
,
hospitalId
,
email
,
"User"
+
userId
,
path
);
#
region
保存文件到网站下
...
...
performance/Performance.Services/ExtractExcelService/ExtractService.cs
View file @
eea7bc11
...
...
@@ -20,7 +20,7 @@ public class ExtractService : IAutoInjection
private
readonly
PerSheetService
perSheetService
;
private
readonly
PerforHospitalRepository
hospitalRepository
;
private
readonly
PerforPerallotRepository
perallotRepository
;
private
readonly
PerforcollectdataRepository
perfor
collectdataRepository
;
private
readonly
PerforcollectdataRepository
collectdataRepository
;
public
ExtractService
(
ILogger
<
ExtractService
>
logger
,
...
...
@@ -30,7 +30,7 @@ public class ExtractService : IAutoInjection
PerSheetService
perSheetService
,
PerforHospitalRepository
hospitalRepository
,
PerforPerallotRepository
perallotRepository
,
PerforcollectdataRepository
perfor
collectdataRepository
PerforcollectdataRepository
collectdataRepository
)
{
this
.
logger
=
logger
;
...
...
@@ -40,7 +40,7 @@ PerforcollectdataRepository perforcollectdataRepository
this
.
perSheetService
=
perSheetService
;
this
.
hospitalRepository
=
hospitalRepository
;
this
.
perallotRepository
=
perallotRepository
;
this
.
perforcollectdataRepository
=
perfor
collectdataRepository
;
this
.
collectdataRepository
=
collectdataRepository
;
}
/// <summary>
...
...
@@ -72,8 +72,11 @@ public string Main(int allotId, int hospitalId, string email, string groupName =
var
statesArray
=
new
int
[]
{
(
int
)
AllotStates
.
GenerateSucceed
,
(
int
)
AllotStates
.
Archive
};
var
lastAllot
=
allots
.
Where
(
t
=>
statesArray
.
Contains
(
t
.
States
))?.
OrderByDescending
(
t
=>
t
.
Year
)?.
ThenByDescending
(
t
=>
t
.
Month
)?.
First
();
//extractFilePath = lastAllot != null && !string.IsNullOrEmpty(filePath) ? "" : "";
var
templateFilePath
=
ExtractHelper
.
GetExtractFile
(
hospitalId
,
ref
extractFilePath
,
filePath
);
WriteDataToFile
(
templateFilePath
,
extractFilePath
,
dict
);
return
templateFilePath
;
}
catch
(
Exception
ex
)
{
...
...
@@ -87,7 +90,7 @@ public string Main(int allotId, int hospitalId, string email, string groupName =
return
extractFilePath
;
}
private
void
WriteDataToFile
(
string
templateFile
,
string
extractFile
)
private
void
WriteDataToFile
(
string
templateFile
,
string
extractFile
,
Dictionary
<
ExDataDict
,
object
>
exdict
)
{
if
(!
FileHelper
.
IsExistFile
(
templateFile
)
||
!
FileHelper
.
IsExistFile
(
extractFile
))
throw
new
PerformanceException
(
""
);
...
...
@@ -103,10 +106,12 @@ private void WriteDataToFile(string templateFile, string extractFile)
var
sheet
=
workbook
.
GetSheetAt
(
sheetIndex
);
var
sheetType
=
perSheetService
.
GetSheetType
(
sheet
.
SheetName
);
var
reader
=
PerSheetDataFactory
.
GetDataRead
(
sheetType
)?.
Point
;
if
(
sheetType
==
SheetType
.
Unidentifiable
)
continue
;
var
point
=
PerSheetDataFactory
.
GetDataRead
(
sheetType
)?.
Point
;
var
customer
=
factory
.
GetWriteData
(
sheetType
);
customer
.
GetType
(
);
customer
.
WriteSheetData
(
sheet
,
point
,
sheetType
,
exdict
);
}
using
(
FileStream
file
=
new
FileStream
(
extractFile
,
FileMode
.
OpenOrCreate
))
...
...
@@ -115,16 +120,6 @@ private void WriteDataToFile(string templateFile, string extractFile)
}
}
private
void
WriteToTemplate
()
{
}
private
void
WriteToAllotFile
()
{
}
/// <summary>
/// 标准数据格式, 匹配科室字典
/// </summary>
...
...
performance/Performance.Services/ExtractExcelService/SheetDataWrite/AccountBasicDataWrite.cs
View file @
eea7bc11
using
System
;
using
NPOI.SS.UserModel
;
using
Performance.DtoModels
;
using
System
;
using
System.Collections.Generic
;
using
System.Text
;
...
...
@@ -6,5 +8,9 @@ namespace Performance.Services.ExtractExcelService.SheetDataWrite
{
class
AccountBasicDataWrite
:
ISheetDataWrite
{
public
void
WriteSheetData
(
ISheet
sheet
,
PerSheetPoint
point
,
SheetType
sheetType
,
object
data
,
Dictionary
<
ExDataDict
,
object
>
exdict
=
null
)
{
throw
new
NotImplementedException
();
}
}
}
performance/Performance.Services/ExtractExcelService/SheetDataWrite/ClinicEmployeeDataWrite.cs
View file @
eea7bc11
using
System
;
using
NPOI.SS.UserModel
;
using
Performance.DtoModels
;
using
System
;
using
System.Collections.Generic
;
using
System.Text
;
...
...
@@ -6,5 +8,9 @@ namespace Performance.Services.ExtractExcelService.SheetDataWrite
{
class
ClinicEmployeeDataWrite
:
ISheetDataWrite
{
public
void
WriteSheetData
(
ISheet
sheet
,
PerSheetPoint
point
,
SheetType
sheetType
,
object
data
,
Dictionary
<
ExDataDict
,
object
>
exdict
=
null
)
{
throw
new
NotImplementedException
();
}
}
}
performance/Performance.Services/ExtractExcelService/SheetDataWrite/EmployeeDataWrite.cs
View file @
eea7bc11
...
...
@@ -10,7 +10,7 @@ namespace Performance.Services.ExtractExcelService.SheetDataWrite
{
public
class
EmployeeDataWrite
:
ISheetDataWrite
{
public
void
WriteSheetData
(
ISheet
sheet
,
PerSheetPoint
point
,
SheetType
sheetType
,
object
data
)
public
void
WriteSheetData
(
ISheet
sheet
,
PerSheetPoint
point
,
SheetType
sheetType
,
object
data
,
Dictionary
<
ExDataDict
,
object
>
exdict
)
{
if
(
data
is
List
<
per_employee
>
employees
&&
employees
.
Any
(
t
=>
accountingUnits
.
Contains
(
t
.
UnitType
)))
{
...
...
performance/Performance.Services/ExtractExcelService/SheetDataWrite/ISheetDataWrite.cs
View file @
eea7bc11
using
System
;
using
NPOI.SS.UserModel
;
using
Performance.DtoModels
;
using
System
;
using
System.Collections.Generic
;
using
System.Text
;
...
...
@@ -6,6 +8,6 @@ namespace Performance.Services.ExtractExcelService.SheetDataWrite
{
public
interface
ISheetDataWrite
{
void
WriteSheetData
(
ISheet
sheet
,
PerSheetPoint
point
,
SheetType
sheetType
,
object
data
,
Dictionary
<
ExDataDict
,
object
>
exdict
=
null
);
}
}
performance/Performance.Services/ExtractExcelService/SheetDataWrite/IncomeDataWrite.cs
View file @
eea7bc11
...
...
@@ -10,12 +10,14 @@ namespace Performance.Services.ExtractExcelService.SheetDataWrite
{
public
class
IncomeDataWrite
:
ISheetDataWrite
{
public
void
WriteSheetData
(
ISheet
sheet
,
PerSheetPoint
point
,
SheetType
sheetType
,
object
data
,
List
<
ex_module
>
modules
,
List
<
ex_item
>
items
)
public
void
WriteSheetData
(
ISheet
sheet
,
PerSheetPoint
point
,
SheetType
sheetType
,
object
data
,
Dictionary
<
ExDataDict
,
object
>
exdict
=
null
)
{
var
module
=
modules
.
FirstOrDefault
(
t
=>
t
.
SheetType
==
(
int
)
sheetType
);
var
modules
=
exdict
[
ExDataDict
.
ExModule
]
as
List
<
ex_module
>;
var
module
=
modules
?.
FirstOrDefault
(
t
=>
t
.
SheetType
==
(
int
)
sheetType
);
if
(
module
==
null
)
return
;
var
modelItems
=
items
.
Where
(
t
=>
t
.
ModuleId
==
module
.
Id
);
var
items
=
exdict
[
ExDataDict
.
ExItem
]
as
List
<
ex_item
>;
var
modelItems
=
items
?.
Where
(
t
=>
t
.
ModuleId
==
module
.
Id
);
if
(
modelItems
==
null
||
!
modelItems
.
Any
())
return
;
var
headers
=
modelItems
.
Select
(
t
=>
new
ExcelHeader
...
...
performance/Performance.Services/ExtractExcelService/SheetDataWrite/OtherIncomeDataWrite.cs
View file @
eea7bc11
...
...
@@ -10,12 +10,14 @@ namespace Performance.Services.ExtractExcelService.SheetDataWrite
{
public
class
OtherIncomeDataWrite
:
ISheetDataWrite
{
public
void
WriteSheetData
(
ISheet
sheet
,
PerSheetPoint
point
,
SheetType
sheetType
,
object
data
,
List
<
ex_module
>
modules
,
List
<
ex_item
>
items
)
public
void
WriteSheetData
(
ISheet
sheet
,
PerSheetPoint
point
,
SheetType
sheetType
,
object
data
,
Dictionary
<
ExDataDict
,
object
>
exdict
=
null
)
{
var
module
=
modules
.
FirstOrDefault
(
t
=>
t
.
SheetType
==
(
int
)
sheetType
);
var
modules
=
exdict
[
ExDataDict
.
ExModule
]
as
List
<
ex_module
>;
var
module
=
modules
?.
FirstOrDefault
(
t
=>
t
.
SheetType
==
(
int
)
sheetType
);
if
(
module
==
null
)
return
;
var
modelItems
=
items
.
Where
(
t
=>
t
.
ModuleId
==
module
.
Id
);
var
items
=
exdict
[
ExDataDict
.
ExItem
]
as
List
<
ex_item
>;
var
modelItems
=
items
?.
Where
(
t
=>
t
.
ModuleId
==
module
.
Id
);
if
(
modelItems
==
null
||
!
modelItems
.
Any
())
return
;
var
headers
=
modelItems
.
Select
(
t
=>
new
ExcelHeader
...
...
performance/Performance.Services/ExtractExcelService/SheetDataWrite/SpecialUnitDataWrite.cs
View file @
eea7bc11
using
System
;
using
NPOI.SS.UserModel
;
using
Performance.DtoModels
;
using
System
;
using
System.Collections.Generic
;
using
System.Text
;
...
...
@@ -6,5 +8,9 @@ namespace Performance.Services.ExtractExcelService.SheetDataWrite
{
class
SpecialUnitDataWrite
:
ISheetDataWrite
{
public
void
WriteSheetData
(
ISheet
sheet
,
PerSheetPoint
point
,
SheetType
sheetType
,
object
data
,
Dictionary
<
ExDataDict
,
object
>
exdict
=
null
)
{
throw
new
NotImplementedException
();
}
}
}
performance/Performance.Services/ExtractExcelService/SheetDataWrite/WorkloadDataWrite.cs
View file @
eea7bc11
...
...
@@ -10,12 +10,14 @@ namespace Performance.Services.ExtractExcelService.SheetDataWrite
{
public
class
WorkloadDataWrite
:
ISheetDataWrite
{
public
void
WriteSheetData
(
ISheet
sheet
,
PerSheetPoint
point
,
SheetType
sheetType
,
object
data
,
List
<
ex_module
>
modules
,
List
<
ex_item
>
items
)
public
void
WriteSheetData
(
ISheet
sheet
,
PerSheetPoint
point
,
SheetType
sheetType
,
object
data
,
Dictionary
<
ExDataDict
,
object
>
exdict
=
null
)
{
var
module
=
modules
.
FirstOrDefault
(
t
=>
t
.
SheetType
==
(
int
)
sheetType
);
var
modules
=
exdict
[
ExDataDict
.
ExModule
]
as
List
<
ex_module
>;
var
module
=
modules
?.
FirstOrDefault
(
t
=>
t
.
SheetType
==
(
int
)
sheetType
);
if
(
module
==
null
)
return
;
var
modelItems
=
items
.
Where
(
t
=>
t
.
ModuleId
==
module
.
Id
);
var
items
=
exdict
[
ExDataDict
.
ExItem
]
as
List
<
ex_item
>;
var
modelItems
=
items
?.
Where
(
t
=>
t
.
ModuleId
==
module
.
Id
);
if
(
modelItems
==
null
||
!
modelItems
.
Any
())
return
;
var
headers
=
modelItems
.
Select
(
t
=>
new
ExcelHeader
...
...
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