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
16e726ae
Commit
16e726ae
authored
Aug 26, 2020
by
ruyun.zhang@suvalue.com
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
BUG修复
parent
811be206
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
38 additions
and
41 deletions
+38
-41
performance/Performance.Services/AllotCompute/BaiscNormService.cs
+0
-0
performance/Performance.Services/AllotCompute/ProcessComputService.cs
+5
-8
performance/Performance.Services/AllotCompute/ResultComputeService.cs
+4
-4
performance/Performance.Services/AllotService.cs
+1
-1
performance/Performance.Services/PerExcelService/ComputeEmpolyee/ComputeDirector.cs
+2
-2
performance/Performance.Services/PerExcelService/SheetDataRead/PerSheetDataReadClinicEmployee.cs
+26
-26
No files found.
performance/Performance.Services/AllotCompute/BaiscNormService.cs
View file @
16e726ae
This diff is collapsed.
Click to expand it.
performance/Performance.Services/AllotCompute/ProcessComputService.cs
View file @
16e726ae
...
...
@@ -273,9 +273,9 @@ public void Save(List<PerSheet> perSheets, int allotId)
foreach
(
var
dept
in
atDataList
)
{
//科室奖罚汇总结果
var
extra
=
extras
.
FirstOrDefault
(
w
=>
w
.
UnitType
==
unitType
.
ToString
()
&&
w
.
AccountingUnit
==
dept
.
AccountingUnit
)?.
TotelValue
;
var
drugExtra
=
drugExtras
.
FirstOrDefault
(
w
=>
w
.
UnitType
==
unitType
.
ToString
()
&&
w
.
AccountingUnit
==
dept
.
AccountingUnit
)?.
TotelValue
;
var
materialsExtra
=
materialsExtras
.
FirstOrDefault
(
w
=>
w
.
UnitType
==
unitType
.
ToString
()
&&
w
.
AccountingUnit
==
dept
.
AccountingUnit
)?.
TotelValue
;
var
extra
=
extras
?
.
FirstOrDefault
(
w
=>
w
.
UnitType
==
unitType
.
ToString
()
&&
w
.
AccountingUnit
==
dept
.
AccountingUnit
)?.
TotelValue
;
var
drugExtra
=
drugExtras
?
.
FirstOrDefault
(
w
=>
w
.
UnitType
==
unitType
.
ToString
()
&&
w
.
AccountingUnit
==
dept
.
AccountingUnit
)?.
TotelValue
;
var
materialsExtra
=
materialsExtras
?
.
FirstOrDefault
(
w
=>
w
.
UnitType
==
unitType
.
ToString
()
&&
w
.
AccountingUnit
==
dept
.
AccountingUnit
)?.
TotelValue
;
var
econDoctor
=
economicData
.
FirstOrDefault
(
t
=>
t
.
UnitType
==
unitType
.
ToString
()
&&
t
.
AccountingUnit
==
dept
.
AccountingUnit
);
var
workDoctor
=
info
.
Data
.
FirstOrDefault
(
t
=>
t
.
UnitType
==
unitType
.
ToString
()
&&
t
.
AccountingUnit
==
dept
.
AccountingUnit
);
...
...
@@ -314,10 +314,7 @@ public void Save(List<PerSheet> perSheets, int allotId)
/// <param name="allot"></param>
/// <param name="excel"></param>
/// <param name="extras"></param>
/// <param name="drugExtras"></param>
/// <param name="materialsExtras"></param>
public
void
ComputeOffice
(
per_allot
allot
,
PerExcel
excel
,
IEnumerable
<
AccountUnitTotal
>
extras
,
IEnumerable
<
AccountUnitTotal
>
drugExtras
,
IEnumerable
<
AccountUnitTotal
>
materialsExtras
)
public
void
ComputeOffice
(
per_allot
allot
,
PerExcel
excel
,
IEnumerable
<
AccountUnitTotal
>
extras
)
{
//取出科室
var
accountList
=
excel
.
PerSheet
.
FirstOrDefault
(
t
=>
t
.
SheetType
==
SheetType
.
AccountBasic
)?.
PerData
?.
Select
(
t
=>
(
PerDataAccountBaisc
)
t
);
...
...
@@ -341,7 +338,7 @@ public void Save(List<PerSheet> perSheets, int allotId)
if
(!
empolyees
.
Any
())
continue
;
//科室奖罚汇总结果
var
extra
=
extras
.
FirstOrDefault
(
w
=>
w
.
UnitType
==
account
.
AccountType
.
ToString
()
&&
w
.
AccountingUnit
==
account
.
AccountingUnit
)?.
TotelValue
;
var
extra
=
extras
?
.
FirstOrDefault
(
w
=>
w
.
UnitType
==
account
.
AccountType
.
ToString
()
&&
w
.
AccountingUnit
==
account
.
AccountingUnit
)?.
TotelValue
;
//var drugExtra = drugExtras.FirstOrDefault(w => w.UnitType == account.AccountType.ToString() && w.AccountingUnit == resAccount.AccountingUnit)?.TotelValue;
//var materialsExtra = materialsExtras.FirstOrDefault(w => w.UnitType == account.AccountType.ToString() && w.AccountingUnit == resAccount.AccountingUnit)?.TotelValue;
...
...
performance/Performance.Services/AllotCompute/ResultComputeService.cs
View file @
16e726ae
...
...
@@ -151,9 +151,9 @@ public class ResultComputeService : IAutoInjection
foreach
(
var
item
in
accountDataList
)
{
//科室奖罚汇总结果
var
extra
=
accountExtras
.
FirstOrDefault
(
w
=>
w
.
UnitType
==
UnitType
.
特殊核算组
.
ToString
()
&&
w
.
AccountingUnit
==
dept
.
AccountingUnit
)?.
TotelValue
;
var
drugExtra
=
drugExtras
.
FirstOrDefault
(
w
=>
w
.
UnitType
==
UnitType
.
特殊核算组
.
ToString
()
&&
w
.
AccountingUnit
==
dept
.
AccountingUnit
)?.
TotelValue
;
var
materialsExtra
=
materialsExtras
.
FirstOrDefault
(
w
=>
w
.
UnitType
==
UnitType
.
特殊核算组
.
ToString
()
&&
w
.
AccountingUnit
==
dept
.
AccountingUnit
)?.
TotelValue
;
var
extra
=
accountExtras
?
.
FirstOrDefault
(
w
=>
w
.
UnitType
==
UnitType
.
特殊核算组
.
ToString
()
&&
w
.
AccountingUnit
==
dept
.
AccountingUnit
)?.
TotelValue
;
var
drugExtra
=
drugExtras
?
.
FirstOrDefault
(
w
=>
w
.
UnitType
==
UnitType
.
特殊核算组
.
ToString
()
&&
w
.
AccountingUnit
==
dept
.
AccountingUnit
)?.
TotelValue
;
var
materialsExtra
=
materialsExtras
?
.
FirstOrDefault
(
w
=>
w
.
UnitType
==
UnitType
.
特殊核算组
.
ToString
()
&&
w
.
AccountingUnit
==
dept
.
AccountingUnit
)?.
TotelValue
;
var
res
=
new
res_specialunit
{
...
...
@@ -187,7 +187,7 @@ public class ResultComputeService : IAutoInjection
foreach
(
var
empolyee
in
empolyees
)
{
var
extra
=
employeeExtra
.
Where
(
w
=>
!
string
.
IsNullOrEmpty
(
w
.
AccountingUnit
)
&&
!
string
.
IsNullOrEmpty
(
w
.
UnitType
)
var
extra
=
employeeExtra
?
.
Where
(
w
=>
!
string
.
IsNullOrEmpty
(
w
.
AccountingUnit
)
&&
!
string
.
IsNullOrEmpty
(
w
.
UnitType
)
&&
(!
string
.
IsNullOrEmpty
(
w
.
EmployeeName
)
||
!
string
.
IsNullOrEmpty
(
w
.
JobNumber
)))
.
FirstOrDefault
(
w
=>
w
.
AccountingUnit
==
empolyee
.
AccountingUnit
&&
w
.
UnitType
==
empolyee
.
UnitType
&&
w
.
JobNumber
==
empolyee
.
JobNumber
&&
w
.
EmployeeName
==
empolyee
.
DoctorName
)?.
TotelValue
;
...
...
performance/Performance.Services/AllotService.cs
View file @
16e726ae
...
...
@@ -376,7 +376,7 @@ public void Generate(per_allot allot, string mail)
var
baiscnormList
=
resultComputeService
.
Compute
(
allot
,
excel
,
sheetLast
,
employeeExtra
);
// 计算行政科室绩效
processComputService
.
ComputeOffice
(
allot
,
excel
,
accountExtras
,
drugExtras
,
materialsExtras
);
processComputService
.
ComputeOffice
(
allot
,
excel
,
accountExtras
);
// 计算特殊科室
logManageService
.
WriteMsg
(
"正在生成绩效"
,
"计算最终特殊科室绩效数据"
,
1
,
allot
.
ID
,
"ReceiveMessage"
,
true
);
...
...
performance/Performance.Services/PerExcelService/ComputeEmpolyee/ComputeDirector.cs
View file @
16e726ae
...
...
@@ -391,7 +391,7 @@ public List<ComputeResult> Compute(List<ComputeEmployee> empolyeeList, List<PerS
Attendance
=
empolyee
.
Attendance
};
var
extra
=
employeeExtra
.
Where
(
w
=>
!
string
.
IsNullOrEmpty
(
w
.
AccountingUnit
)
&&
!
string
.
IsNullOrEmpty
(
w
.
UnitType
)
var
extra
=
employeeExtra
?
.
Where
(
w
=>
!
string
.
IsNullOrEmpty
(
w
.
AccountingUnit
)
&&
!
string
.
IsNullOrEmpty
(
w
.
UnitType
)
&&
(!
string
.
IsNullOrEmpty
(
w
.
EmployeeName
)
||
!
string
.
IsNullOrEmpty
(
w
.
JobNumber
)))
.
FirstOrDefault
(
w
=>
w
.
AccountingUnit
==
empolyee
.
AccountingUnit
&&
w
.
UnitType
==
empolyee
.
UnitType
&&
w
.
JobNumber
==
empolyee
.
JobNumber
&&
w
.
EmployeeName
==
empolyee
.
DoctorName
)?.
TotelValue
;
...
...
@@ -446,7 +446,7 @@ public List<ComputeResult> Compute(List<ComputeEmployee> empolyeeList, per_allot
foreach
(
var
item
in
needCompute
)
{
// 奖罚汇总
var
extra
=
employeeExtra
.
Where
(
w
=>
!
string
.
IsNullOrEmpty
(
w
.
AccountingUnit
)
&&
!
string
.
IsNullOrEmpty
(
w
.
UnitType
)
&&
(!
string
.
IsNullOrEmpty
(
w
.
EmployeeName
)
||
!
string
.
IsNullOrEmpty
(
w
.
JobNumber
)))
var
extra
=
employeeExtra
?
.
Where
(
w
=>
!
string
.
IsNullOrEmpty
(
w
.
AccountingUnit
)
&&
!
string
.
IsNullOrEmpty
(
w
.
UnitType
)
&&
(!
string
.
IsNullOrEmpty
(
w
.
EmployeeName
)
||
!
string
.
IsNullOrEmpty
(
w
.
JobNumber
)))
.
FirstOrDefault
(
w
=>
w
.
AccountingUnit
==
item
.
AccountingUnit
&&
w
.
UnitType
==
item
.
UnitType
&&
w
.
JobNumber
==
item
.
JobNumber
&&
w
.
EmployeeName
==
item
.
DoctorName
)
?.
TotelValue
;
...
...
performance/Performance.Services/PerExcelService/SheetDataRead/PerSheetDataReadClinicEmployee.cs
View file @
16e726ae
...
...
@@ -52,33 +52,33 @@ public List<IPerData> ReadData(ISheet sheet, List<PerHeader> perHeader)
var
row
=
sheet
.
GetRow
(
r
);
if
(
row
==
null
)
continue
;
PerDataClinicEmployee
clinicEmployee
=
new
PerDataClinicEmployee
{
RowNumber
=
r
,
UnitType
=
row
.
GetCell
(
perHeader
.
FirstOrDefault
(
p
=>
p
.
CellValue
==
"核算单元分类"
).
PointCell
)?.
StringCellValue
,
AccountingUnit
=
NopiSevice
.
GetCellStringValue
(
row
.
GetCell
(
perHeader
.
FirstOrDefault
(
p
=>
p
.
CellValue
==
"核算单元"
).
PointCell
)),
Department
=
NopiSevice
.
GetCellStringValue
(
row
.
GetCell
(
perHeader
.
FirstOrDefault
(
p
=>
p
.
CellValue
==
"核算单元"
).
PointCell
)),
PersonnelNumber
=
NopiSevice
.
GetCellStringValue
(
row
.
GetCell
(
perHeader
.
FirstOrDefault
(
p
=>
p
.
CellValue
==
"人员工号"
).
PointCell
)),
DoctorName
=
row
.
GetCell
(
perHeader
.
FirstOrDefault
(
p
=>
p
.
CellValue
==
"医生姓名"
).
PointCell
)?.
StringCellValue
,
JobTitle
=
row
.
GetCell
(
perHeader
.
FirstOrDefault
(
p
=>
p
.
CellValue
==
"职务分类"
).
PointCell
)?.
StringCellValue
,
Basics
=
ConvertHelper
.
To
<
decimal
?>(
row
.
GetCell
(
perHeader
.
FirstOrDefault
(
p
=>
p
.
CellValue
==
"基础绩效系数"
).
PointCell
)?.
NumericCellValue
),
//PostCoefficient = ConvertHelper.To<decimal?>(row.GetCell(perHeader.FirstOrDefault(p => p.CellValue == "岗位系数").PointCell)?.NumericCellValue),
PermanentStaff
=
ConvertHelper
.
To
<
decimal
>(
row
.
GetCell
(
perHeader
.
FirstOrDefault
(
p
=>
p
.
CellValue
==
"效率绩效人数"
).
PointCell
)?.
NumericCellValue
),
Efficiency
=
ConvertHelper
.
To
<
decimal
?>(
row
.
GetCell
(
perHeader
.
FirstOrDefault
(
p
=>
p
.
CellValue
==
"效率绩效系数"
).
PointCell
)?.
NumericCellValue
),
Scale
=
ConvertHelper
.
To
<
decimal
?>(
row
.
GetCell
(
perHeader
.
FirstOrDefault
(
p
=>
p
.
CellValue
==
"规模绩效系数"
).
PointCell
)?.
NumericCellValue
),
Management
=
ConvertHelper
.
To
<
decimal
?>(
row
.
GetCell
(
perHeader
.
FirstOrDefault
(
p
=>
p
.
CellValue
==
"管理绩效发放系数"
).
PointCell
)?.
NumericCellValue
),
ScoreAverageRate
=
ConvertHelper
.
To
<
decimal
?>(
row
.
GetCell
(
perHeader
.
FirstOrDefault
(
p
=>
p
.
CellValue
==
"考核得分率"
).
PointCell
)?.
NumericCellValue
),
Attendance
=
ConvertHelper
.
To
<
decimal
?>(
row
.
GetCell
(
perHeader
.
FirstOrDefault
(
p
=>
p
.
CellValue
==
"出勤率"
).
PointCell
)?.
NumericCellValue
),
//OthePerfor = ConvertHelper.To<decimal?>(row.GetCell(perHeader.FirstOrDefault(p => p.CellValue == "其他绩效").PointCell)?.NumericCellValue),
//Punishment = ConvertHelper.To<decimal?>(row.GetCell(perHeader.FirstOrDefault(p => p.CellValue == "医院奖罚").PointCell)?.NumericCellValue),
OtheManagementPerfor
=
ConvertHelper
.
To
<
decimal
?>(
row
.
GetCell
(
perHeader
.
FirstOrDefault
(
p
=>
p
.
CellValue
==
"其他管理绩效"
).
PointCell
)?.
NumericCellValue
),
Adjust
=
ConvertHelper
.
To
<
decimal
?>(
row
.
GetCell
(
perHeader
.
FirstOrDefault
(
p
=>
p
.
CellValue
==
"调节系数"
).
PointCell
)?.
NumericCellValue
),
};
if
(!
string
.
IsNullOrEmpty
(
clinicEmployee
.
UnitType
)
&&
!
string
.
IsNullOrEmpty
(
clinicEmployee
.
DoctorName
))
dataList
.
Add
(
clinicEmployee
);
}
PerDataClinicEmployee
clinicEmployee
=
new
PerDataClinicEmployee
();
clinicEmployee
.
RowNumber
=
r
;
clinicEmployee
.
UnitType
=
NopiSevice
.
GetCellStringValue
(
row
.
GetCell
(
perHeader
.
FirstOrDefault
(
p
=>
p
.
CellValue
==
"核算单元分类"
).
PointCell
));
clinicEmployee
.
AccountingUnit
=
NopiSevice
.
GetCellStringValue
(
row
.
GetCell
(
perHeader
.
FirstOrDefault
(
p
=>
p
.
CellValue
==
"核算单元"
).
PointCell
));
clinicEmployee
.
Department
=
NopiSevice
.
GetCellStringValue
(
row
.
GetCell
(
perHeader
.
FirstOrDefault
(
p
=>
p
.
CellValue
==
"核算单元"
).
PointCell
));
clinicEmployee
.
PersonnelNumber
=
NopiSevice
.
GetCellStringValue
(
row
.
GetCell
(
perHeader
.
FirstOrDefault
(
p
=>
p
.
CellValue
==
"人员工号"
).
PointCell
));
clinicEmployee
.
DoctorName
=
NopiSevice
.
GetCellStringValue
(
row
.
GetCell
(
perHeader
.
FirstOrDefault
(
p
=>
p
.
CellValue
==
"医生姓名"
).
PointCell
));
clinicEmployee
.
JobTitle
=
NopiSevice
.
GetCellStringValue
(
row
.
GetCell
(
perHeader
.
FirstOrDefault
(
p
=>
p
.
CellValue
==
"职务分类"
).
PointCell
));
clinicEmployee
.
Basics
=
ConvertHelper
.
To
<
decimal
?>(
row
.
GetCell
(
perHeader
.
FirstOrDefault
(
p
=>
p
.
CellValue
==
"基础绩效系数"
).
PointCell
)?.
NumericCellValue
);
//clinicEmployee.PostCoefficient = ConvertHelper.To<decimal?>(row.GetCell(perHeader.FirstOrDefault(p => p.CellValue == "岗位系数").PointCell)?.NumericCellValue);
clinicEmployee
.
PermanentStaff
=
ConvertHelper
.
To
<
decimal
>(
row
.
GetCell
(
perHeader
.
FirstOrDefault
(
p
=>
p
.
CellValue
==
"效率绩效人数"
).
PointCell
)?.
NumericCellValue
);
clinicEmployee
.
Efficiency
=
ConvertHelper
.
To
<
decimal
?>(
row
.
GetCell
(
perHeader
.
FirstOrDefault
(
p
=>
p
.
CellValue
==
"效率绩效系数"
).
PointCell
)?.
NumericCellValue
);
clinicEmployee
.
Scale
=
ConvertHelper
.
To
<
decimal
?>(
row
.
GetCell
(
perHeader
.
FirstOrDefault
(
p
=>
p
.
CellValue
==
"规模绩效系数"
).
PointCell
)?.
NumericCellValue
);
clinicEmployee
.
Management
=
ConvertHelper
.
To
<
decimal
?>(
row
.
GetCell
(
perHeader
.
FirstOrDefault
(
p
=>
p
.
CellValue
==
"管理绩效发放系数"
).
PointCell
)?.
NumericCellValue
);
clinicEmployee
.
ScoreAverageRate
=
ConvertHelper
.
To
<
decimal
?>(
row
.
GetCell
(
perHeader
.
FirstOrDefault
(
p
=>
p
.
CellValue
==
"考核得分率"
).
PointCell
)?.
NumericCellValue
);
clinicEmployee
.
Attendance
=
ConvertHelper
.
To
<
decimal
?>(
row
.
GetCell
(
perHeader
.
FirstOrDefault
(
p
=>
p
.
CellValue
==
"出勤率"
).
PointCell
)?.
NumericCellValue
);
//clinicEmployee.OthePerfor = ConvertHelper.To<decimal?>(row.GetCell(perHeader.FirstOrDefault(p => p.CellValue == "其他绩效").PointCell)?.NumericCellValue);
//clinicEmployee.Punishment = ConvertHelper.To<decimal?>(row.GetCell(perHeader.FirstOrDefault(p => p.CellValue == "医院奖罚").PointCell)?.NumericCellValue);
clinicEmployee
.
OtheManagementPerfor
=
ConvertHelper
.
To
<
decimal
?>(
row
.
GetCell
(
perHeader
.
FirstOrDefault
(
p
=>
p
.
CellValue
==
"其他管理绩效"
).
PointCell
)?.
NumericCellValue
);
clinicEmployee
.
Adjust
=
ConvertHelper
.
To
<
decimal
?>(
row
.
GetCell
(
perHeader
.
FirstOrDefault
(
p
=>
p
.
CellValue
==
"调节系数"
).
PointCell
)?.
NumericCellValue
);
if
(!
string
.
IsNullOrEmpty
(
clinicEmployee
.
UnitType
)
&&
!
string
.
IsNullOrEmpty
(
clinicEmployee
.
DoctorName
))
dataList
.
Add
(
clinicEmployee
);
}
return
dataList
;
}
}
}
}
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