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
a46c75de
Commit
a46c75de
authored
Jun 04, 2020
by
lcx
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
新增数据
parent
06d34934
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
178 additions
and
49 deletions
+178
-49
performance/Performance.Api/wwwroot/Performance.Api.xml
+28
-0
performance/Performance.Api/wwwroot/Performance.EntityModels.xml
+88
-0
performance/Performance.Services/OriginalService.cs
+62
-49
No files found.
performance/Performance.Api/wwwroot/Performance.Api.xml
View file @
a46c75de
...
...
@@ -453,6 +453,34 @@
<param
name=
"request"
></param>
<returns></returns>
</member>
<member
name=
"M:Performance.Api.Controllers.ConfigController.GetDepttypeList(Performance.DtoModels.DrugpropRequest)"
>
<summary>
获取 药占比类型信息列表
</summary>
<param
name=
"request"
></param>
<returns></returns>
</member>
<member
name=
"M:Performance.Api.Controllers.ConfigController.DepttypeInsert(Performance.DtoModels.DrugpropRequest)"
>
<summary>
新增药占比类型
</summary>
<param
name=
"request"
></param>
<returns></returns>
</member>
<member
name=
"M:Performance.Api.Controllers.ConfigController.DepttypeUpdate(Performance.DtoModels.DrugpropRequest)"
>
<summary>
修改药占比类型
</summary>
<param
name=
"request"
></param>
<returns></returns>
</member>
<member
name=
"M:Performance.Api.Controllers.ConfigController.DepttypeDelete(Performance.DtoModels.DrugpropRequest)"
>
<summary>
删除药占比类型
</summary>
<param
name=
"request"
></param>
<returns></returns>
</member>
<member
name=
"M:Performance.Api.Controllers.ConfigController.WorkHeader(Performance.DtoModels.WorkItemRequest)"
>
<summary>
获取工作量绩效列头
...
...
performance/Performance.Api/wwwroot/Performance.EntityModels.xml
View file @
a46c75de
...
...
@@ -67,6 +67,9 @@
<member
name=
"P:Performance.EntityModels.PerformanceDbContext.cof_check"
>
<summary>
上传excel文件校验配置
</summary>
</member>
<member
name=
"P:Performance.EntityModels.PerformanceDbContext.cof_depttype"
>
<summary>
科室类型
</summary>
</member>
<member
name=
"P:Performance.EntityModels.PerformanceDbContext.cof_director"
>
<summary>
规模绩效、效率绩效计算系数配置
</summary>
</member>
...
...
@@ -1130,6 +1133,31 @@
单元格列头名称
</summary>
</member>
<member
name=
"T:Performance.EntityModels.cof_depttype"
>
<summary>
科室类型
</summary>
</member>
<member
name=
"P:Performance.EntityModels.cof_depttype.ID"
>
<summary>
</summary>
</member>
<member
name=
"P:Performance.EntityModels.cof_depttype.AllotID"
>
<summary>
</summary>
</member>
<member
name=
"P:Performance.EntityModels.cof_depttype.Charge"
>
<summary>
科室
</summary>
</member>
<member
name=
"P:Performance.EntityModels.cof_depttype.ChargeType"
>
<summary>
可是分类
</summary>
</member>
<member
name=
"T:Performance.EntityModels.cof_director"
>
<summary>
规模绩效、效率绩效计算系数配置
...
...
@@ -1615,6 +1643,16 @@
工作量倾斜系数
</summary>
</member>
<member
name=
"P:Performance.EntityModels.im_accountbasic.UpdateDate"
>
<summary>
</summary>
</member>
<member
name=
"P:Performance.EntityModels.im_accountbasic.UpdateUser"
>
<summary>
</summary>
</member>
<member
name=
"T:Performance.EntityModels.im_data"
>
<summary>
...
...
@@ -1700,6 +1738,16 @@
</summary>
</member>
<member
name=
"P:Performance.EntityModels.im_data.UpdateDate"
>
<summary>
</summary>
</member>
<member
name=
"P:Performance.EntityModels.im_data.UpdateUser"
>
<summary>
</summary>
</member>
<member
name=
"T:Performance.EntityModels.im_employee"
>
<summary>
...
...
@@ -1815,6 +1863,16 @@
发放系数
</summary>
</member>
<member
name=
"P:Performance.EntityModels.im_employee.UpdateDate"
>
<summary>
</summary>
</member>
<member
name=
"P:Performance.EntityModels.im_employee.UpdateUser"
>
<summary>
</summary>
</member>
<member
name=
"T:Performance.EntityModels.im_employee_clinic"
>
<summary>
...
...
@@ -1935,6 +1993,16 @@
发放系数
</summary>
</member>
<member
name=
"P:Performance.EntityModels.im_employee_clinic.UpdateDate"
>
<summary>
</summary>
</member>
<member
name=
"P:Performance.EntityModels.im_employee_clinic.UpdateUser"
>
<summary>
</summary>
</member>
<member
name=
"T:Performance.EntityModels.im_header"
>
<summary>
...
...
@@ -2000,6 +2068,16 @@
1 汇总 2原始数据
</summary>
</member>
<member
name=
"P:Performance.EntityModels.im_header.UpdateDate"
>
<summary>
</summary>
</member>
<member
name=
"P:Performance.EntityModels.im_header.UpdateUser"
>
<summary>
</summary>
</member>
<member
name=
"T:Performance.EntityModels.im_specialunit"
>
<summary>
特殊科室核算
...
...
@@ -2070,6 +2148,16 @@
调节系数
</summary>
</member>
<member
name=
"P:Performance.EntityModels.im_specialunit.UpdateDate"
>
<summary>
</summary>
</member>
<member
name=
"P:Performance.EntityModels.im_specialunit.UpdateUser"
>
<summary>
</summary>
</member>
<member
name=
"T:Performance.EntityModels.log_check"
>
<summary>
...
...
performance/Performance.Services/OriginalService.cs
View file @
a46c75de
...
...
@@ -5,6 +5,7 @@
using
Performance.EntityModels
;
using
Performance.Infrastructure
;
using
Performance.Repository
;
using
Remotion.Linq.Clauses.ResultOperators
;
using
System
;
using
System.Collections.Generic
;
using
System.Linq
;
...
...
@@ -146,99 +147,111 @@ private void SetValue<TEntity>(TEntity entity, Cell cell)
private
bool
EditFeeData
(
int
userId
,
OriginalRequest
request
)
{
var
result
=
false
;
var
allData
=
imdataRepository
.
GetEntities
(
t
=>
t
.
SheetID
==
request
.
SheetId
);
if
(
allData
==
null
||
!
allData
.
Any
(
t
=>
t
.
RowNumber
==
request
.
RowNumber
))
var
header
=
imheaderRepository
.
GetEntity
(
t
=>
t
.
SheetID
==
request
.
SheetId
&&
t
.
PointCell
==
request
.
Cell
.
PointCell
);
if
(
string
.
IsNullOrEmpty
(
request
.
Cell
.
FieldName
))
{
if
(
header
==
null
)
throw
new
PerformanceException
(
"提交数据无效"
);
var
updateData
=
request
.
Cell
;
if
(
updateData
!=
null
)
else
request
.
Cell
.
FieldName
=
header
.
CellValue
;
}
var
publicTypes
=
new
string
[]
{
"核算单元(医技组)"
,
"核算单元(医生组)"
,
"核算单元(护理组)"
,
"科室名称"
};
if
(
publicTypes
.
Contains
(
request
.
Cell
.
FieldName
))
result
=
ImDataPublic
(
request
);
else
{
var
data
=
allData
.
Where
(
t
=>
t
.
RowNumber
==
request
.
RowNumber
).
ToList
();
ImDataPublic
(
request
.
Cell
,
data
);
var
publicTypes
=
new
string
[]
{
"核算单元(医技组)"
,
"核算单元(医生组)"
,
"核算单元(护理组)"
,
"科室名称"
,
"核算单元"
,
"核算单元类型"
};
if
(!
publicTypes
.
Contains
(
updateData
.
FieldName
))
if
(
request
.
Cell
.
Id
>
0
)
{
var
type
=
updateData
.
CellValue
.
GetType
();
var
type
=
request
.
Cell
.
CellValue
.
GetType
();
if
(
type
.
Name
!=
"String"
)
{
var
entity
=
data
.
FirstOrDefault
(
w
=>
w
.
ID
==
updateData
.
Id
);
entity
.
CellValue
=
ConvertHelper
.
To
<
decimal
?>(
updateData
.
CellValue
);
var
entity
=
imdataRepository
.
GetEntity
(
w
=>
w
.
ID
==
request
.
Cell
.
Id
);
entity
.
CellValue
=
ConvertHelper
.
To
<
decimal
?>(
request
.
Cell
.
CellValue
);
entity
.
UpdateDate
=
DateTime
.
Now
;
entity
.
UpdateUser
=
userId
;
result
=
imdataRepository
.
Update
(
entity
);
}
}
result
=
imdataRepository
.
UpdateRange
(
data
.
ToArray
());
else
result
=
ImDataInsert
(
userId
,
request
,
header
);
}
result
=
ImDataInsert
(
userId
,
request
,
allData
);
return
result
;
}
private
void
ImDataPublic
(
Cell
cell
,
List
<
im_data
>
allData
)
{
Dictionary
<
int
,
string
>
publicTypes
=
new
Dictionary
<
int
,
string
>
private
bool
ImDataPublic
(
OriginalRequest
request
)
{
{
(
int
)
UnitType
.
医技组
,
"核算单元(医技组)"
},
{
(
int
)
UnitType
.
医生组
,
"核算单元(医生组)"
},
{
(
int
)
UnitType
.
护理组
,
"核算单元(护理组)"
},
};
foreach
(
var
item
in
publicTypes
)
{
if
(
cell
.
FieldName
!=
item
.
Value
)
continue
;
var
allData
=
imdataRepository
.
GetEntities
(
t
=>
t
.
SheetID
==
request
.
SheetId
&&
t
.
RowNumber
==
request
.
RowNumber
);
if
(
request
.
Cell
==
null
||
allData
==
null
||
!
allData
.
Any
())
throw
new
PerformanceException
(
"提交数据无效"
);
var
cellvalue
=
cell
.
CellValue
.
ToString
();
var
unitType
=
allData
.
FirstOrDefault
(
t
=>
t
.
UnitType
==
item
.
Key
).
AccountingUnit
;
if
(
cellvalue
!=
unitType
)
if
(
request
.
Cell
.
FieldName
==
"科室名称"
)
{
var
department
=
allData
.
FirstOrDefault
().
Department
;
if
(
request
.
Cell
.
CellValue
.
ToString
()
!=
department
)
{
allData
.
Where
(
t
=>
t
.
UnitType
==
item
.
Key
).
ToList
().
ForEach
(
t
=>
allData
.
ForEach
(
t
=>
{
t
.
AccountingUnit
=
cellvalue
;
t
.
Department
=
request
.
Cell
.
CellValue
.
ToString
()
;
});
}
}
if
(
cell
.
FieldName
==
"科室名称"
)
else
{
var
department
=
allData
.
FirstOrDefault
().
Department
;
if
(
cell
.
CellValue
.
ToString
()
!=
department
)
Dictionary
<
string
,
int
>
publicTypes
=
new
Dictionary
<
string
,
int
>
{
allData
.
ForEach
(
t
=>
{
"核算单元(医技组)"
,
(
int
)
UnitType
.
医技组
},
{
"核算单元(医生组)"
,
(
int
)
UnitType
.
医生组
},
{
"核算单元(护理组)"
,
(
int
)
UnitType
.
护理组
},
};
var
cellvalue
=
request
.
Cell
.
CellValue
.
ToString
();
var
accountingUnit
=
allData
.
FirstOrDefault
(
t
=>
t
.
UnitType
==
publicTypes
[
request
.
Cell
.
FieldName
]).
AccountingUnit
;
if
(
cellvalue
!=
accountingUnit
)
{
allData
.
Where
(
t
=>
t
.
UnitType
==
publicTypes
[
request
.
Cell
.
FieldName
]).
ToList
().
ForEach
(
t
=>
{
t
.
Department
=
cell
.
CellValue
.
ToString
()
;
t
.
AccountingUnit
=
cellvalue
;
});
}
}
return
imdataRepository
.
UpdateRange
(
allData
.
ToArray
());
}
private
bool
ImDataInsert
(
int
userId
,
OriginalRequest
request
,
List
<
im_data
>
allData
)
private
bool
ImDataInsert
(
int
userId
,
OriginalRequest
request
,
im_header
header
)
{
if
(
request
.
Cell
.
Id
==
0
)
return
true
;
// 列
var
header
=
imheaderRepository
.
GetEntity
(
t
=>
t
.
SheetID
==
request
.
SheetId
&&
t
.
CellValue
==
request
.
Cell
.
FieldName
);
var
allData
=
imdataRepository
.
GetEntities
(
t
=>
t
.
SheetID
==
request
.
SheetId
);
if
(
request
.
Cell
==
null
||
allData
==
null
||
!
allData
.
Any
())
throw
new
PerformanceException
(
"提交数据无效"
);
// 核算单元、科室
var
publicData
=
allData
.
First
();
var
publicData
=
allData
.
Where
(
t
=>
t
.
RowNumber
==
request
.
RowNumber
).
GroupBy
(
t
=>
t
.
UnitType
).
Select
(
t
=>
new
{
UnitType
=
t
.
Key
,
AccountingUnit
=
t
.
Max
(
group
=>
group
.
AccountingUnit
),
Department
=
t
.
Max
(
group
=>
group
.
Department
),
});
// rownumber含有的核算类型
var
unittype
=
allData
.
Where
(
t
=>
t
.
RowNumber
==
request
.
RowNumber
).
Select
(
t
=>
t
.
UnitType
).
Distinct
();
var
factor
=
allData
.
Where
(
t
=>
unittype
.
Contains
(
t
.
UnitType
)).
GroupBy
(
t
=>
new
{
t
.
UnitType
,
t
.
TypeName
}).
Select
(
t
=>
new
var
factor
=
allData
.
Where
(
t
=>
unittype
.
Contains
(
t
.
UnitType
)
&&
t
.
TypeName
==
request
.
Cell
.
FieldName
)
.
GroupBy
(
t
=>
new
{
t
.
UnitType
,
t
.
TypeName
}).
Select
(
t
=>
new
{
UnitType
=
t
.
Key
.
UnitType
,
TypeName
=
t
.
Key
.
TypeName
,
t
.
Key
.
UnitType
,
t
.
Key
.
TypeName
,
FactorValue
=
t
.
Max
(
group
=>
group
.
FactorValue
)
});
var
allotid
=
allData
.
First
().
AllotID
;
var
newData
=
factor
.
Select
(
t
=>
new
im_data
{
RowNumber
=
request
.
RowNumber
,
AccountingUnit
=
publicData
.
AccountingUnit
,
Department
=
publicData
.
Department
,
AccountingUnit
=
publicData
.
FirstOrDefault
(
w
=>
w
.
UnitType
==
t
.
UnitType
)?.
AccountingUnit
,
Department
=
publicData
.
FirstOrDefault
(
w
=>
w
.
UnitType
==
t
.
UnitType
)?.
Department
,
UnitType
=
t
.
UnitType
,
TypeName
=
request
.
Cell
.
FieldName
,
CellValue
=
ConvertHelper
.
To
<
decimal
>(
request
.
Cell
.
CellValue
),
IsFactor
=
1
,
FactorValue
=
t
.
FactorValue
,
SignID
=
header
.
SignID
,
SheetID
=
request
.
SheetId
,
AllotID
=
allotid
,
UpdateDate
=
DateTime
.
Now
,
UpdateUser
=
userId
,
});
...
...
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