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
b74593d8
Commit
b74593d8
authored
Nov 25, 2021
by
ruyun.zhang@suvalue.com
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
第二稿
parent
2a040098
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
46 additions
and
46 deletions
+46
-46
performance/Performance.Services/AllotCompute/ImportDataService.cs
+46
-45
performance/Performance.Services/AllotService.cs
+0
-1
No files found.
performance/Performance.Services/AllotCompute/ImportDataService.cs
View file @
b74593d8
...
...
@@ -30,21 +30,15 @@ public class ImportDataService : IAutoInjection
{
private
readonly
IOptions
<
AppConnection
>
_options
;
private
readonly
PerSheetService
_perSheetService
;
private
readonly
PerforPerallotRepository
_perforPerallotRepository
;
private
readonly
PerforPersheetRepository
_perforPersheetRepository
;
private
readonly
LogManageService
_logManageService
;
public
ImportDataService
(
IOptions
<
AppConnection
>
options
,
PerSheetService
perSheetService
,
PerforPerallotRepository
perforPerallotRepository
,
PerforPersheetRepository
perforPersheetRepository
,
LogManageService
logManageService
)
{
_options
=
options
;
_perSheetService
=
perSheetService
;
_perforPerallotRepository
=
perforPerallotRepository
;
_perforPersheetRepository
=
perforPersheetRepository
;
_logManageService
=
logManageService
;
}
...
...
@@ -89,7 +83,11 @@ private PerExcel Import(per_allot allot)
{
var
sheet
=
workbook
.
GetSheetAt
(
i
);
var
sheetType
=
_perSheetService
.
GetSheetType
(
sheet
.
SheetName
);
_logManageService
.
WriteMsg
(
"准备读取文件"
,
$"正在准备读取“
{
sheet
.
SheetName
}
”"
,
1
,
allot
.
ID
,
"ReceiveMessage"
,
true
);
if
(
SheetType
.
Unidentifiable
!=
sheetType
)
_logManageService
.
WriteMsg
(
"准备读取文件"
,
$"正在准备读取“
{
sheet
.
SheetName
}
”"
,
1
,
allot
.
ID
,
"ReceiveMessage"
,
true
);
else
_logManageService
.
WriteMsg
(
"准备读取文件"
,
$"忽略文件“
{
sheet
.
SheetName
}
”"
,
1
,
allot
.
ID
,
"ReceiveMessage"
,
true
);
try
{
tasks
.
Add
(
Task
.
Factory
.
StartNew
(()
=>
...
...
@@ -132,48 +130,51 @@ private PerExcel Import(per_allot allot)
private
bool
Save
(
PerExcel
excel
,
int
allotId
)
{
var
tasks
=
new
List
<
Task
>();
foreach
(
var
sheet
in
excel
.
PerSheet
)
using
(
IDbConnection
connection
=
new
MySqlConnection
(
_options
.
Value
.
PerformanceConnectionString
)
)
{
_logManageService
.
WriteMsg
(
"准备保存数据"
,
$"正在准备保存数据“
{
sheet
.
SheetName
}
”"
,
1
,
allotId
,
"ReceiveMessage"
,
true
);
foreach
(
var
sheet
in
excel
.
PerSheet
)
{
_logManageService
.
WriteMsg
(
"准备保存数据"
,
$"正在准备保存数据“
{
sheet
.
SheetName
}
”"
,
1
,
allotId
,
"ReceiveMessage"
,
true
);
var
allot
=
_perforPerallotRepository
.
GetEntity
(
t
=>
t
.
ID
==
allotId
);
var
allotList
=
_perforPerallotRepository
.
GetEntities
(
t
=>
t
.
HospitalId
==
allot
.
HospitalId
);
var
sheets
=
_perforPersheetRepository
.
GetEntities
(
w
=>
w
.
AllotID
==
allotId
&&
w
.
SheetType
.
HasValue
);
var
allot
=
connection
.
Get
<
per_allot
>(
allotId
);
var
allotList
=
connection
.
Query
<
per_allot
>(
"select * from per_allot where HospitalId = @HospitalId"
,
new
{
allot
.
HospitalId
}).
ToList
(
);
var
sheets
=
connection
.
Query
<
per_sheet
>(
"select * from per_sheet where AllotID = @allotId"
,
new
{
allotId
}).
ToList
(
);
var
task
=
Task
.
Factory
.
StartNew
(()
=>
{
if
(
sheet
.
SheetType
==
SheetType
.
Employee
)
{
var
imsheetid
=
SaveEmployee
(
sheet
,
allot
,
allotList
);
SaveHeader
(
sheet
,
allot
,
imsheetid
);
}
else
if
(
sheet
.
SheetType
==
SheetType
.
LogisticsEmployee
)
{
var
imsheetid
=
SaveLogisticsEmployee
(
sheet
,
allot
,
allotList
);
SaveHeader
(
sheet
,
allot
,
imsheetid
);
}
else
if
(
sheet
.
SheetType
==
SheetType
.
ClinicEmployee
)
{
var
imsheetid
=
SaveClinicEmployee
(
sheet
,
allot
,
allotList
);
SaveHeader
(
sheet
,
allot
,
imsheetid
);
}
else
if
(
sheet
.
SheetType
==
SheetType
.
AccountBasic
)
{
var
imsheetid
=
SaveAccountBasic
(
sheet
,
allot
,
sheets
);
SaveHeader
(
sheet
,
allot
,
imsheetid
);
}
else
if
(
sheet
.
SheetType
==
SheetType
.
SpecialUnit
)
{
var
imsheetid
=
SaveSpecialUnit
(
sheet
,
allot
);
SaveHeader
(
sheet
,
allot
,
imsheetid
);
}
else
var
task
=
Task
.
Factory
.
StartNew
(()
=>
{
var
imsheetid
=
SaveCommon
(
sheet
,
allot
,
sheets
);
SaveHeader
(
sheet
,
allot
,
imsheetid
);
}
});
tasks
.
Add
(
task
);
if
(
sheet
.
SheetType
==
SheetType
.
Employee
)
{
var
imsheetid
=
SaveEmployee
(
sheet
,
allot
,
allotList
);
SaveHeader
(
sheet
,
allot
,
imsheetid
);
}
else
if
(
sheet
.
SheetType
==
SheetType
.
LogisticsEmployee
)
{
var
imsheetid
=
SaveLogisticsEmployee
(
sheet
,
allot
,
allotList
);
SaveHeader
(
sheet
,
allot
,
imsheetid
);
}
else
if
(
sheet
.
SheetType
==
SheetType
.
ClinicEmployee
)
{
var
imsheetid
=
SaveClinicEmployee
(
sheet
,
allot
,
allotList
);
SaveHeader
(
sheet
,
allot
,
imsheetid
);
}
else
if
(
sheet
.
SheetType
==
SheetType
.
AccountBasic
)
{
var
imsheetid
=
SaveAccountBasic
(
sheet
,
allot
,
sheets
);
SaveHeader
(
sheet
,
allot
,
imsheetid
);
}
else
if
(
sheet
.
SheetType
==
SheetType
.
SpecialUnit
)
{
var
imsheetid
=
SaveSpecialUnit
(
sheet
,
allot
);
SaveHeader
(
sheet
,
allot
,
imsheetid
);
}
else
{
var
imsheetid
=
SaveCommon
(
sheet
,
allot
,
sheets
);
SaveHeader
(
sheet
,
allot
,
imsheetid
);
}
});
tasks
.
Add
(
task
);
}
}
_logManageService
.
WriteMsg
(
"保存基础数据"
,
$"基础数据保存中...当前操作需要一点时间,请耐心等待"
,
1
,
allotId
,
"ReceiveMessage"
,
true
);
...
...
performance/Performance.Services/AllotService.cs
View file @
b74593d8
...
...
@@ -309,7 +309,6 @@ public per_allot UpdateAllotShowFormula(int allotId)
/// <param name="user"></param>
public
void
Generate
(
per_allot
allot
)
{
DateTime
time
=
DateTime
.
Now
;
try
{
logManageService
.
WriteMsg
(
"绩效开始执行"
,
$"正在生成
{
allot
.
Year
}
-
{
allot
.
Month
.
ToString
().
PadLeft
(
2
,
'0'
)}
月份绩效!"
,
1
,
allot
.
ID
,
"ReceiveMessage"
,
true
);
...
...
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