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
7edaa096
Commit
7edaa096
authored
Jul 31, 2019
by
799284587@qq.com
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
工作量合计
parent
09049971
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
13 additions
and
12 deletions
+13
-12
performance/Performance.Api/Controllers/AllotController.cs
+2
-2
performance/Performance.Services/AllotCompute/ProcessComputService.cs
+9
-9
performance/Performance.Services/PerExcelService/SheetDataCompute/PerSheetDataComputeWorkload.cs
+2
-1
No files found.
performance/Performance.Api/Controllers/AllotController.cs
View file @
7edaa096
...
...
@@ -156,8 +156,8 @@ public ApiResponse Generate([CustomizeValidator(RuleSet = "Delete"), FromBody]Al
if
(
null
==
allot
||
string
.
IsNullOrEmpty
(
allot
.
Path
))
throw
new
PerformanceException
(
"当前绩效记录不存在或没有上传数据文件"
);
var
email
=
_claim
.
GetUserClaim
(
JwtClaimTypes
.
Mail
);
//
_allotService.Generate(allot, email);
BackgroundJob
.
Enqueue
(()
=>
_allotService
.
Generate
(
allot
,
email
));
_allotService
.
Generate
(
allot
,
email
);
//
BackgroundJob.Enqueue(() => _allotService.Generate(allot, email));
return
new
ApiResponse
(
ResponseType
.
OK
);
}
...
...
performance/Performance.Services/AllotCompute/ProcessComputService.cs
View file @
7edaa096
...
...
@@ -204,9 +204,9 @@ private List<PerSheet> MergeCompute(PerExcel excel, int allotid)
var
confs
=
GetDrugConfig
(
excel
,
allotid
);
//医生组 一次计算
var
onceWorkload1
=
workloadCompute
.
OnceCompute
(
workload1
,
confs
);
//
var onceWorkload1 = workloadCompute.OnceCompute(workload1, confs);
//医生组 二次计算
var
twiceWorkloadResult1
=
workloadCompute
.
TwiceCompute
(
onceW
orkload1
);
var
twiceWorkloadResult1
=
workloadCompute
.
TwiceCompute
(
w
orkload1
);
twiceWorkloadResult1
.
Sheet
.
SheetType
=
SheetType
.
ComputeDoctorWorkload
;
perSheet
.
Add
(
twiceWorkloadResult1
.
Sheet
);
...
...
@@ -214,9 +214,9 @@ private List<PerSheet> MergeCompute(PerExcel excel, int allotid)
var
workload2
=
excel
.
PerSheet
.
FirstOrDefault
(
t
=>
t
.
SheetType
==
SheetType
.
Workload
&&
t
.
SheetName
.
Contains
(
"护理组"
));
workload2
.
SheetName
=
"护理组工作量绩效测算表"
;
//护理组 一次计算
var
onceWorkload2
=
workloadCompute
.
OnceCompute
(
workload2
);
//
var onceWorkload2 = workloadCompute.OnceCompute(workload2);
//护理组 二次计算
var
twiceWorkloadResult2
=
workloadCompute
.
TwiceCompute
(
onceW
orkload2
);
var
twiceWorkloadResult2
=
workloadCompute
.
TwiceCompute
(
w
orkload2
);
twiceWorkloadResult2
.
Sheet
.
SheetType
=
SheetType
.
ComputeNurseWorkload
;
perSheet
.
Add
(
twiceWorkloadResult2
.
Sheet
);
...
...
@@ -224,7 +224,7 @@ private List<PerSheet> MergeCompute(PerExcel excel, int allotid)
var
deptAccounting
=
excel
.
PerSheet
.
FirstOrDefault
(
t
=>
t
.
SheetType
==
SheetType
.
AccountBasic
);
var
dataList
=
deptAccounting
.
PerData
.
Select
(
t
=>
(
PerDataAccountBaisc
)
t
);
var
sheet
=
Compute
(
dataList
,
twiceEconomicResult
.
PerData
,
twiceWorkloadResult
1
.
PerData
);
var
sheet
=
Compute
(
dataList
,
twiceEconomicResult
.
PerData
,
twiceWorkloadResult
2
.
PerData
,
twiceWorkloadResult2
.
PerData
);
perSheet
.
AddRange
(
sheet
);
return
perSheet
;
...
...
@@ -236,12 +236,12 @@ private List<PerSheet> MergeCompute(PerExcel excel, int allotid)
/// <param name="economicData"></param>
/// <param name="workloadData"></param>
/// <returns></returns>
private
List
<
PerSheet
>
Compute
(
IEnumerable
<
PerDataAccountBaisc
>
dataList
,
List
<
PerData
>
economicData
,
List
<
PerData
>
w
orkloadData
)
private
List
<
PerSheet
>
Compute
(
IEnumerable
<
PerDataAccountBaisc
>
dataList
,
List
<
PerData
>
economicData
,
List
<
PerData
>
doctorWorkloadData
,
List
<
PerData
>
nurseW
orkloadData
)
{
var
pairs
=
new
[]
{
new
{
Name
=
"医生组临床科室单元核算表"
,
SheetType
=
SheetType
.
ComputeDoctorAccount
,
UnitTypes
=
new
List
<
UnitType
>
{
UnitType
.
医生组
,
UnitType
.
医技组
}
},
new
{
Name
=
"护理组临床科室单元核算表"
,
SheetType
=
SheetType
.
ComputeNurseAccount
,
UnitTypes
=
new
List
<
UnitType
>
{
UnitType
.
护理组
}
},
new
{
Name
=
"医生组临床科室单元核算表"
,
Data
=
doctorWorkloadData
,
SheetType
=
SheetType
.
ComputeDoctorAccount
,
UnitTypes
=
new
List
<
UnitType
>
{
UnitType
.
医生组
,
UnitType
.
医技组
}
},
new
{
Name
=
"护理组临床科室单元核算表"
,
Data
=
nurseWorkloadData
,
SheetType
=
SheetType
.
ComputeNurseAccount
,
UnitTypes
=
new
List
<
UnitType
>
{
UnitType
.
护理组
}
},
};
List
<
PerSheet
>
result
=
new
List
<
PerSheet
>();
foreach
(
var
info
in
pairs
)
...
...
@@ -256,7 +256,7 @@ private List<PerSheet> Compute(IEnumerable<PerDataAccountBaisc> dataList, List<P
continue
;
var
econDoctor
=
economicData
.
FirstOrDefault
(
t
=>
t
.
UnitType
==
unitType
.
ToString
()
&&
t
.
AccountingUnit
==
dept
.
Department
);
var
workDoctor
=
workload
Data
.
FirstOrDefault
(
t
=>
t
.
UnitType
==
unitType
.
ToString
()
&&
t
.
AccountingUnit
==
dept
.
Department
);
var
workDoctor
=
info
.
Data
.
FirstOrDefault
(
t
=>
t
.
UnitType
==
unitType
.
ToString
()
&&
t
.
AccountingUnit
==
dept
.
Department
);
dept
.
ScoringAverage
=
dept
.
ScoringAverage
==
0
m
?
1
:
dept
.
ScoringAverage
;
dept
.
AdjustFactor
=
dept
.
AdjustFactor
==
0
m
?
1
:
dept
.
AdjustFactor
;
...
...
performance/Performance.Services/PerExcelService/SheetDataCompute/PerSheetDataComputeWorkload.cs
View file @
7edaa096
...
...
@@ -108,7 +108,8 @@ public PerSheet OnceCompute(PerSheet sheet, List<CofDrugProp> confs = null)
List
<
PerData
>
perDataList
=
new
List
<
PerData
>();
//插入合计结果
var
groupList
=
dataList
.
Where
(
t
=>
t
.
IsTotal
==
1
&&
t
.
CellValue
.
HasValue
).
GroupBy
(
t
=>
new
{
t
.
UnitType
,
t
.
AccountingUnit
});
//var groupList = dataList.Where(t => t.IsTotal == 1 && t.CellValue.HasValue).GroupBy(t => new { t.UnitType, t.AccountingUnit });
var
groupList
=
dataList
.
Where
(
t
=>
t
.
CellValue
.
HasValue
).
GroupBy
(
t
=>
new
{
t
.
UnitType
,
t
.
AccountingUnit
});
foreach
(
var
group
in
groupList
)
{
var
ds
=
group
.
Select
(
t
=>
new
PerData
...
...
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