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
903d85ac
Commit
903d85ac
authored
Apr 27, 2020
by
lcx
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
预算管理
parent
5684b17e
Show whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
1287 additions
and
13 deletions
+1287
-13
performance/Performance.Api/Controllers/BudgetController.cs
+130
-0
performance/Performance.Api/wwwroot/Performance.Api.xml
+42
-0
performance/Performance.Api/wwwroot/Performance.DtoModels.xml
+180
-5
performance/Performance.Api/wwwroot/Performance.EntityModels.xml
+407
-8
performance/Performance.DtoModels/AutoMapper/AutoMapperConfigs.cs
+8
-0
performance/Performance.DtoModels/Request/BudgetRequest.cs
+13
-0
performance/Performance.DtoModels/Response/BudgetRatioResponse.cs
+64
-0
performance/Performance.DtoModels/Response/BudgetResponse.cs
+138
-0
performance/Performance.EntityModels/Entity/per_budget_result.cs
+5
-0
performance/Performance.Services/BudgetService.cs
+300
-0
No files found.
performance/Performance.Api/Controllers/BudgetController.cs
0 → 100644
View file @
903d85ac
using
System
;
using
System.Collections.Generic
;
using
System.Linq
;
using
System.Threading.Tasks
;
using
Microsoft.AspNetCore.Mvc
;
using
Performance.DtoModels
;
using
Performance.DtoModels.Request
;
using
Performance.EntityModels
;
using
Performance.Services
;
namespace
Performance.Api.Controllers
{
[
Route
(
"api/[controller]"
)]
public
class
BudgetController
:
Controller
{
private
readonly
ClaimService
claim
;
private
readonly
BudgetService
budgetService
;
public
BudgetController
(
ClaimService
claim
,
BudgetService
budgetService
)
{
this
.
claim
=
claim
;
this
.
budgetService
=
budgetService
;
}
/// <summary>
/// 预算管理查询(包含金额、占比)
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
[
HttpPost
]
[
Route
(
"query"
)]
public
ApiResponse
<
List
<
BudgetResponse
>>
Query
([
FromBody
]
BudgetRequest
request
)
{
if
(
request
.
HospitalId
==
0
||
request
.
Year
==
0
)
return
new
ApiResponse
<
List
<
BudgetResponse
>>(
ResponseType
.
ParameterError
,
"参数无效"
);
var
result
=
budgetService
.
QueryBudgetByYear
(
request
.
HospitalId
,
request
.
Year
);
return
new
ApiResponse
<
List
<
BudgetResponse
>>(
ResponseType
.
OK
,
""
,
result
);
}
/// <summary>
/// 保存预算管理数据
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
[
HttpPost
]
[
Route
(
"save"
)]
public
ApiResponse
Save
([
FromBody
]
List
<
BudgetResponse
>
request
)
{
var
userId
=
claim
.
GetUserId
();
var
result
=
budgetService
.
SaveBudgetData
(
request
,
userId
);
return
result
?
new
ApiResponse
(
ResponseType
.
OK
,
"保存成功"
)
:
new
ApiResponse
(
ResponseType
.
Fail
,
"保存失败"
);
}
/// <summary>
/// 修改预算管理数据
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
[
HttpPost
]
[
Route
(
"modify"
)]
public
ApiResponse
Modify
([
FromBody
]
List
<
BudgetResponse
>
request
)
{
var
result
=
budgetService
.
ModifyBudgetData
(
request
);
return
result
?
new
ApiResponse
(
ResponseType
.
OK
,
"修改成功"
)
:
new
ApiResponse
(
ResponseType
.
Fail
,
"修改失败"
);
}
/// <summary>
/// 预算合计数据查询
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
[
HttpPost
]
[
Route
(
"result/query"
)]
public
ApiResponse
<
List
<
per_budget_result
>>
Result
([
FromBody
]
BudgetRequest
request
)
{
if
(
request
.
HospitalId
==
0
||
request
.
Year
==
0
)
return
new
ApiResponse
<
List
<
per_budget_result
>>(
ResponseType
.
ParameterError
,
"参数无效"
);
var
result
=
budgetService
.
QueryResultByYear
(
request
.
HospitalId
,
request
.
Year
);
return
new
ApiResponse
<
List
<
per_budget_result
>>(
ResponseType
.
OK
,
""
,
result
);
}
/// <summary>
/// 预算比例、历史比例查询
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
[
HttpPost
]
[
Route
(
"result/ratio"
)]
public
ApiResponse
<
List
<
BudgetRatioResponse
>>
Ratio
([
FromBody
]
BudgetRequest
request
)
{
if
(
request
.
HospitalId
==
0
||
request
.
Year
==
0
)
return
new
ApiResponse
<
List
<
BudgetRatioResponse
>>(
ResponseType
.
ParameterError
,
"参数无效"
);
var
result
=
budgetService
.
QueryBudgetRatio
(
request
.
HospitalId
,
request
.
Year
);
return
new
ApiResponse
<
List
<
BudgetRatioResponse
>>(
ResponseType
.
OK
,
""
,
result
);
}
/// <summary>
/// 保存预算合计数据
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
[
HttpPost
]
[
Route
(
"result/save"
)]
public
ApiResponse
ResultSave
([
FromBody
]
List
<
per_budget_result
>
request
)
{
var
userId
=
claim
.
GetUserId
();
var
result
=
budgetService
.
SaveBudgetRatio
(
request
,
userId
);
return
result
?
new
ApiResponse
(
ResponseType
.
OK
,
"保存成功"
)
:
new
ApiResponse
(
ResponseType
.
Fail
,
"保存失败"
);
}
/// <summary>
/// 使用预算比例
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
[
HttpPost
]
[
Route
(
"result/use/{id}"
)]
public
ApiResponse
UseResult
(
int
id
)
{
var
userId
=
claim
.
GetUserId
();
var
result
=
budgetService
.
UseResult
(
id
);
return
result
?
new
ApiResponse
(
ResponseType
.
OK
,
"操作成功"
)
:
new
ApiResponse
(
ResponseType
.
Fail
,
"操作失败"
);
}
}
}
\ No newline at end of file
performance/Performance.Api/wwwroot/Performance.Api.xml
View file @
903d85ac
...
@@ -200,6 +200,48 @@
...
@@ -200,6 +200,48 @@
<param
name=
"request"
></param>
<param
name=
"request"
></param>
<returns></returns>
<returns></returns>
</member>
</member>
<member
name=
"M:Performance.Api.Controllers.BudgetController.Query(Performance.DtoModels.Request.BudgetRequest)"
>
<summary>
预算管理查询(包含金额、占比)
</summary>
<param
name=
"request"
></param>
<returns></returns>
</member>
<member
name=
"M:Performance.Api.Controllers.BudgetController.Save(System.Collections.Generic.List{Performance.DtoModels.BudgetResponse})"
>
<summary>
保存预算管理数据
</summary>
<param
name=
"request"
></param>
<returns></returns>
</member>
<member
name=
"M:Performance.Api.Controllers.BudgetController.Modify(System.Collections.Generic.List{Performance.DtoModels.BudgetResponse})"
>
<summary>
修改预算管理数据
</summary>
<param
name=
"request"
></param>
<returns></returns>
</member>
<member
name=
"M:Performance.Api.Controllers.BudgetController.Result(Performance.DtoModels.Request.BudgetRequest)"
>
<summary>
预算合计数据查询
</summary>
<param
name=
"request"
></param>
<returns></returns>
</member>
<member
name=
"M:Performance.Api.Controllers.BudgetController.Ratio(Performance.DtoModels.Request.BudgetRequest)"
>
<summary>
预算比例、历史比例查询
</summary>
<param
name=
"request"
></param>
<returns></returns>
</member>
<member
name=
"M:Performance.Api.Controllers.BudgetController.ResultSave(System.Collections.Generic.List{Performance.EntityModels.per_budget_result})"
>
<summary>
保存预算合计数据
</summary>
<param
name=
"request"
></param>
<returns></returns>
</member>
<member
name=
"M:Performance.Api.Controllers.ComputeController.GetCompute(Performance.DtoModels.ComputerRequest)"
>
<member
name=
"M:Performance.Api.Controllers.ComputeController.GetCompute(Performance.DtoModels.ComputerRequest)"
>
<summary>
<summary>
获取绩效发放列表
获取绩效发放列表
...
...
performance/Performance.Api/wwwroot/Performance.DtoModels.xml
View file @
903d85ac
...
@@ -1402,6 +1402,11 @@
...
@@ -1402,6 +1402,11 @@
路径
路径
</summary>
</summary>
</member>
</member>
<member
name=
"P:Performance.DtoModels.Request.SmsCodeRequest.Type"
>
<summary>
短信验证类型 1 手机号登录 2 其他
</summary>
</member>
<member
name=
"P:Performance.DtoModels.CofAgainRequest.AllotID"
>
<member
name=
"P:Performance.DtoModels.CofAgainRequest.AllotID"
>
<summary>
<summary>
...
@@ -1847,11 +1852,6 @@
...
@@ -1847,11 +1852,6 @@
sheet页列表请求
sheet页列表请求
</summary>
</summary>
</member>
</member>
<member
name=
"P:Performance.DtoModels.Request.SmsCodeRequest.Type"
>
<summary>
短信验证类型 1 手机号登录 2 其他
</summary>
</member>
<member
name=
"P:Performance.DtoModels.SubmitAuditRequest.Type"
>
<member
name=
"P:Performance.DtoModels.SubmitAuditRequest.Type"
>
<summary>
<summary>
提交类型 1 模板提交 2 其他提交
提交类型 1 模板提交 2 其他提交
...
@@ -2066,6 +2066,181 @@
...
@@ -2066,6 +2066,181 @@
科室
科室
</summary>
</summary>
</member>
</member>
<member
name=
"P:Performance.DtoModels.BudgetRatioResponse.HospitalId"
>
<summary>
医院Id
</summary>
</member>
<member
name=
"P:Performance.DtoModels.BudgetRatioResponse.Year"
>
<summary>
年份
</summary>
</member>
<member
name=
"P:Performance.DtoModels.BudgetRatioResponse.PersonExpendRatio"
>
<summary>
人员经费实际比例
</summary>
</member>
<member
name=
"P:Performance.DtoModels.BudgetRatioResponse.NewPerformanceRatio"
>
<summary>
新绩效实际比例
</summary>
</member>
<member
name=
"P:Performance.DtoModels.BudgetRatioResponse.MedicinePropRatio"
>
<summary>
药占比实际比例
</summary>
</member>
<member
name=
"P:Performance.DtoModels.BudgetRatioResponse.MaterialCostsRatio"
>
<summary>
材料支出实际比例
</summary>
</member>
<member
name=
"P:Performance.DtoModels.BudgetRatioResponse.TotalMedicineRatio"
>
<summary>
药材合计实际比例
</summary>
</member>
<member
name=
"P:Performance.DtoModels.BudgetRatioResponse.DepreOfFixedAssetsRatio"
>
<summary>
固定资产折旧实际比例
</summary>
</member>
<member
name=
"P:Performance.DtoModels.BudgetRatioResponse.OtherExpensesRatio"
>
<summary>
其他费用实际比例
</summary>
</member>
<member
name=
"P:Performance.DtoModels.BudgetRatioResponse.TheCostInTotalRatio"
>
<summary>
人+药+材的支出实际比例
</summary>
</member>
<member
name=
"P:Performance.DtoModels.BudgetRatioResponse.TheCostCombinedRatio"
>
<summary>
成本合计实际比例
</summary>
</member>
<member
name=
"P:Performance.DtoModels.BudgetResponse.Type"
>
<summary>
数据来源 1. 金额 2. 占比
</summary>
</member>
<member
name=
"P:Performance.DtoModels.BudgetDto.HospitalRevenue"
>
<summary>
医院业务收入(万)
</summary>
</member>
<member
name=
"P:Performance.DtoModels.BudgetDto.TotalLaborCost"
>
<summary>
人力总成本(万)
</summary>
</member>
<member
name=
"P:Performance.DtoModels.BudgetDto.StaffSpendingFixed"
>
<summary>
人员支出固定部分(万)
</summary>
</member>
<member
name=
"P:Performance.DtoModels.BudgetDto.StaffSpendingBonus"
>
<summary>
人员支出浮动部分(奖金)
</summary>
</member>
<member
name=
"P:Performance.DtoModels.BudgetDto.MeritPayIncrement"
>
<summary>
绩效工资增量预算比例
</summary>
</member>
<member
name=
"P:Performance.DtoModels.BudgetDto.TotalMeritPay"
>
<summary>
绩效工资合计
</summary>
</member>
<member
name=
"P:Performance.DtoModels.BudgetDto.AmountOfStaff"
>
<summary>
人员数
</summary>
</member>
<member
name=
"P:Performance.DtoModels.BudgetDto.ThePerCapitaMerit"
>
<summary>
原人均月绩效(元)
</summary>
</member>
<member
name=
"P:Performance.DtoModels.BudgetDto.TheIncrementCapita"
>
<summary>
增量后人均绩效(元)
</summary>
</member>
<member
name=
"P:Performance.DtoModels.BudgetDto.Amplification"
>
<summary>
增长幅度
</summary>
</member>
<member
name=
"P:Performance.DtoModels.BudgetDto.IncrementCapitaRatio"
>
<summary>
增量后绩效工资人员经费比例
</summary>
</member>
<member
name=
"P:Performance.DtoModels.BudgetDto.TheDrugIncome"
>
<summary>
药品收入(万)
</summary>
</member>
<member
name=
"P:Performance.DtoModels.BudgetDto.TheDrugIncomeBudget"
>
<summary>
药品收入预算比例
</summary>
</member>
<member
name=
"P:Performance.DtoModels.BudgetDto.MaterialIncome"
>
<summary>
材料支出(万)
</summary>
</member>
<member
name=
"P:Performance.DtoModels.BudgetDto.MaterialIncomeBudget"
>
<summary>
材料支出预算比例
</summary>
</member>
<member
name=
"P:Performance.DtoModels.BudgetDto.TheCostInTotal"
>
<summary>
药品+材料+人支(万)
</summary>
</member>
<member
name=
"P:Performance.DtoModels.BudgetDto.DepreOfFixedAssets"
>
<summary>
固定资产折旧费(万)
</summary>
</member>
<member
name=
"P:Performance.DtoModels.BudgetDto.AmortOfIntangibleAssets"
>
<summary>
无形资产摊销费(万)
</summary>
</member>
<member
name=
"P:Performance.DtoModels.BudgetDto.MedicalRisk"
>
<summary>
提取医疗风险基金(万)
</summary>
</member>
<member
name=
"P:Performance.DtoModels.BudgetDto.OtherExpenses"
>
<summary>
其他费用(万)
</summary>
</member>
<member
name=
"P:Performance.DtoModels.BudgetDto.BalanceOfPayments"
>
<summary>
收支结余(%)
</summary>
</member>
<member
name=
"P:Performance.DtoModels.BudgetDto.FiscalSubsidies"
>
<summary>
财政补贴
</summary>
</member>
<member
name=
"P:Performance.DtoModels.BudgetDto.TheTotalHospitalBalance"
>
<summary>
医院总收支结余
</summary>
</member>
<member
name=
"P:Performance.DtoModels.ComputeResponse.Source"
>
<member
name=
"P:Performance.DtoModels.ComputeResponse.Source"
>
<summary>
<summary>
来源
来源
...
...
performance/Performance.Api/wwwroot/Performance.EntityModels.xml
View file @
903d85ac
...
@@ -136,27 +136,36 @@
...
@@ -136,27 +136,36 @@
<member
name=
"P:Performance.EntityModels.PerformanceDbContext.per_allot"
>
<member
name=
"P:Performance.EntityModels.PerformanceDbContext.per_allot"
>
<summary>
医院绩效分配
</summary>
<summary>
医院绩效分配
</summary>
</member>
</member>
<member
name=
"P:Performance.EntityModels.PerformanceDbContext.per_budget_amount"
>
<summary>
预算管理金额
</summary>
</member>
<member
name=
"P:Performance.EntityModels.PerformanceDbContext.per_budget_ratio"
>
<summary>
预算管理占比
</summary>
</member>
<member
name=
"P:Performance.EntityModels.PerformanceDbContext.per_budget_result"
>
<summary>
预算控制年度合计
</summary>
</member>
<member
name=
"P:Performance.EntityModels.PerformanceDbContext.per_first"
>
<member
name=
"P:Performance.EntityModels.PerformanceDbContext.per_first"
>
<summary>
首次上传文件地址(当医院存在标准库时,首次上传用户提交固定格式的excel,开发人员配置SQL脚本)
</summary>
<summary>
首次上传文件地址(当医院存在标准库时,首次上传用户提交固定格式的excel,开发人员配置SQL脚本)
</summary>
</member>
</member>
<member
name=
"P:Performance.EntityModels.PerformanceDbContext.per_sheet"
>
<member
name=
"P:Performance.EntityModels.PerformanceDbContext.per_sheet"
>
<summary>
上传数据解析
</summary>
<summary>
上传数据解析
</summary>
</member>
</member>
<member
name=
"P:Performance.EntityModels.PerformanceDbContext.rep_report"
>
<summary>
报表配置表
</summary>
</member>
<member
name=
"P:Performance.EntityModels.PerformanceDbContext.rep_group"
>
<member
name=
"P:Performance.EntityModels.PerformanceDbContext.rep_group"
>
<summary>
</summary>
<summary>
</summary>
</member>
</member>
<member
name=
"P:Performance.EntityModels.PerformanceDbContext.rep_group_selection"
>
<member
name=
"P:Performance.EntityModels.PerformanceDbContext.rep_group_selection"
>
<summary>
</summary>
<summary>
</summary>
</member>
</member>
<member
name=
"P:Performance.EntityModels.PerformanceDbContext.rep_selection"
>
<summary>
条件表
</summary>
</member>
<member
name=
"P:Performance.EntityModels.PerformanceDbContext.rep_importconfig"
>
<member
name=
"P:Performance.EntityModels.PerformanceDbContext.rep_importconfig"
>
<summary>
导入报表SQL配置
</summary>
<summary>
导入报表SQL配置
</summary>
</member>
</member>
<member
name=
"P:Performance.EntityModels.PerformanceDbContext.rep_report"
>
<summary>
报表配置表
</summary>
</member>
<member
name=
"P:Performance.EntityModels.PerformanceDbContext.rep_selection"
>
<summary>
条件表
</summary>
</member>
<member
name=
"P:Performance.EntityModels.PerformanceDbContext.res_account"
>
<member
name=
"P:Performance.EntityModels.PerformanceDbContext.res_account"
>
<summary>
科室核算结果
</summary>
<summary>
科室核算结果
</summary>
</member>
</member>
...
@@ -2420,7 +2429,7 @@
...
@@ -2420,7 +2429,7 @@
</member>
</member>
<member
name=
"P:Performance.EntityModels.per_allot.States"
>
<member
name=
"P:Performance.EntityModels.per_allot.States"
>
<summary>
<summary>
0 数据未上传 1 数据已上传 2 正在校验数据 3 数据验证通过 4 数据错误 5 正在生成绩效 6
绩效结果解析成功 7 绩效解析失败 8 归档 9 等待生成
0 数据未上传 1 数据已上传 2 正在校验数据 3 数据验证通过 4 数据错误 5 正在生成绩效 6
下发绩效 7 绩效解析失败 8 归档 9 等待生成 10 绩效结果解析成功
</summary>
</summary>
</member>
</member>
<member
name=
"P:Performance.EntityModels.per_allot.Remark"
>
<member
name=
"P:Performance.EntityModels.per_allot.Remark"
>
...
@@ -2438,6 +2447,391 @@
...
@@ -2438,6 +2447,391 @@
是否在抽取数据0 否、1 是、2 抽取成功、3 抽取失败
是否在抽取数据0 否、1 是、2 抽取成功、3 抽取失败
</summary>
</summary>
</member>
</member>
<member
name=
"T:Performance.EntityModels.per_budget_amount"
>
<summary>
预算管理金额
</summary>
</member>
<member
name=
"P:Performance.EntityModels.per_budget_amount.Id"
>
<summary>
</summary>
</member>
<member
name=
"P:Performance.EntityModels.per_budget_amount.HospitalId"
>
<summary>
</summary>
</member>
<member
name=
"P:Performance.EntityModels.per_budget_amount.Year"
>
<summary>
</summary>
</member>
<member
name=
"P:Performance.EntityModels.per_budget_amount.HospitalRevenue"
>
<summary>
医院业务收入(万)
</summary>
</member>
<member
name=
"P:Performance.EntityModels.per_budget_amount.TotalLaborCost"
>
<summary>
人力总成本(万)
</summary>
</member>
<member
name=
"P:Performance.EntityModels.per_budget_amount.StaffSpendingFixed"
>
<summary>
人员支出固定部分(万)
</summary>
</member>
<member
name=
"P:Performance.EntityModels.per_budget_amount.StaffSpendingBonus"
>
<summary>
人员支出浮动部分(奖金)
</summary>
</member>
<member
name=
"P:Performance.EntityModels.per_budget_amount.TotalMeritPay"
>
<summary>
绩效工资合计
</summary>
</member>
<member
name=
"P:Performance.EntityModels.per_budget_amount.AmountOfStaff"
>
<summary>
人员数
</summary>
</member>
<member
name=
"P:Performance.EntityModels.per_budget_amount.ThePerCapitaMerit"
>
<summary>
原人均月绩效(元)
</summary>
</member>
<member
name=
"P:Performance.EntityModels.per_budget_amount.TheIncrementCapita"
>
<summary>
增量后人均绩效(元)
</summary>
</member>
<member
name=
"P:Performance.EntityModels.per_budget_amount.TheDrugIncome"
>
<summary>
药品收入(万)
</summary>
</member>
<member
name=
"P:Performance.EntityModels.per_budget_amount.MaterialIncome"
>
<summary>
材料支出(万)
</summary>
</member>
<member
name=
"P:Performance.EntityModels.per_budget_amount.TheCostInTotal"
>
<summary>
药品+材料+人支(万)
</summary>
</member>
<member
name=
"P:Performance.EntityModels.per_budget_amount.DepreOfFixedAssets"
>
<summary>
固定资产折旧费(万)
</summary>
</member>
<member
name=
"P:Performance.EntityModels.per_budget_amount.AmortOfIntangibleAssets"
>
<summary>
无形资产摊销费(万)
</summary>
</member>
<member
name=
"P:Performance.EntityModels.per_budget_amount.MedicalRisk"
>
<summary>
提取医疗风险基金(万)
</summary>
</member>
<member
name=
"P:Performance.EntityModels.per_budget_amount.OtherExpenses"
>
<summary>
其他费用(万)
</summary>
</member>
<member
name=
"P:Performance.EntityModels.per_budget_amount.BalanceOfPayments"
>
<summary>
收支结余(%)
</summary>
</member>
<member
name=
"P:Performance.EntityModels.per_budget_amount.FiscalSubsidies"
>
<summary>
财政补贴
</summary>
</member>
<member
name=
"P:Performance.EntityModels.per_budget_amount.TheTotalHospitalBalance"
>
<summary>
医院总收支结余
</summary>
</member>
<member
name=
"P:Performance.EntityModels.per_budget_amount.CreateTime"
>
<summary>
</summary>
</member>
<member
name=
"P:Performance.EntityModels.per_budget_amount.CreateUser"
>
<summary>
</summary>
</member>
<member
name=
"T:Performance.EntityModels.per_budget_ratio"
>
<summary>
预算管理占比
</summary>
</member>
<member
name=
"P:Performance.EntityModels.per_budget_ratio.Id"
>
<summary>
</summary>
</member>
<member
name=
"P:Performance.EntityModels.per_budget_ratio.HospitalId"
>
<summary>
</summary>
</member>
<member
name=
"P:Performance.EntityModels.per_budget_ratio.Year"
>
<summary>
</summary>
</member>
<member
name=
"P:Performance.EntityModels.per_budget_ratio.HospitalRevenue"
>
<summary>
医院业务收入预算比例
</summary>
</member>
<member
name=
"P:Performance.EntityModels.per_budget_ratio.TotalLaborCost"
>
<summary>
人力总成本占比
</summary>
</member>
<member
name=
"P:Performance.EntityModels.per_budget_ratio.StaffSpendingFixed"
>
<summary>
人员支出固定部分占比
</summary>
</member>
<member
name=
"P:Performance.EntityModels.per_budget_ratio.StaffSpendingBonus"
>
<summary>
人员支出浮动部分占比
</summary>
</member>
<member
name=
"P:Performance.EntityModels.per_budget_ratio.MeritPayIncrement"
>
<summary>
绩效工资增量预算比例
</summary>
</member>
<member
name=
"P:Performance.EntityModels.per_budget_ratio.TotalMeritPay"
>
<summary>
绩效工资合计
</summary>
</member>
<member
name=
"P:Performance.EntityModels.per_budget_ratio.Amplification"
>
<summary>
增长幅度
</summary>
</member>
<member
name=
"P:Performance.EntityModels.per_budget_ratio.IncrementCapitaRatio"
>
<summary>
增量后绩效工资人员经费比例
</summary>
</member>
<member
name=
"P:Performance.EntityModels.per_budget_ratio.TheDrugIncome"
>
<summary>
药品收入占比
</summary>
</member>
<member
name=
"P:Performance.EntityModels.per_budget_ratio.TheDrugIncomeBudget"
>
<summary>
药品收入预算比例
</summary>
</member>
<member
name=
"P:Performance.EntityModels.per_budget_ratio.MaterialIncome"
>
<summary>
材料支出占比
</summary>
</member>
<member
name=
"P:Performance.EntityModels.per_budget_ratio.MaterialIncomeBudget"
>
<summary>
材料支出预算比例
</summary>
</member>
<member
name=
"P:Performance.EntityModels.per_budget_ratio.TheCostInTotal"
>
<summary>
药品+材料+人支占比
</summary>
</member>
<member
name=
"P:Performance.EntityModels.per_budget_ratio.DepreOfFixedAssets"
>
<summary>
固定资产折旧费占比
</summary>
</member>
<member
name=
"P:Performance.EntityModels.per_budget_ratio.AmortOfIntangibleAssets"
>
<summary>
无形资产摊销费占比
</summary>
</member>
<member
name=
"P:Performance.EntityModels.per_budget_ratio.MedicalRisk"
>
<summary>
提取医疗风险基金占比
</summary>
</member>
<member
name=
"P:Performance.EntityModels.per_budget_ratio.OtherExpenses"
>
<summary>
其他费用占比
</summary>
</member>
<member
name=
"P:Performance.EntityModels.per_budget_ratio.BalanceOfPayments"
>
<summary>
收支结余(%)
</summary>
</member>
<member
name=
"P:Performance.EntityModels.per_budget_ratio.TheTotalHospitalBalance"
>
<summary>
医院总收支结余
</summary>
</member>
<member
name=
"P:Performance.EntityModels.per_budget_ratio.CreateTime"
>
<summary>
</summary>
</member>
<member
name=
"P:Performance.EntityModels.per_budget_ratio.CreateUser"
>
<summary>
</summary>
</member>
<member
name=
"T:Performance.EntityModels.per_budget_result"
>
<summary>
预算控制年度合计
</summary>
</member>
<member
name=
"P:Performance.EntityModels.per_budget_result.Id"
>
<summary>
</summary>
</member>
<member
name=
"P:Performance.EntityModels.per_budget_result.HospitalId"
>
<summary>
</summary>
</member>
<member
name=
"P:Performance.EntityModels.per_budget_result.Year"
>
<summary>
</summary>
</member>
<member
name=
"P:Performance.EntityModels.per_budget_result.Month"
>
<summary>
</summary>
</member>
<member
name=
"P:Performance.EntityModels.per_budget_result.Grant"
>
<summary>
绩效可发比例
</summary>
</member>
<member
name=
"P:Performance.EntityModels.per_budget_result.Adjust"
>
<summary>
调节系数
</summary>
</member>
<member
name=
"P:Performance.EntityModels.per_budget_result.MedicalIncome"
>
<summary>
医疗收入
</summary>
</member>
<member
name=
"P:Performance.EntityModels.per_budget_result.PersonnelExpenditure"
>
<summary>
人员经费
</summary>
</member>
<member
name=
"P:Performance.EntityModels.per_budget_result.TheNewPerformance"
>
<summary>
新绩效
</summary>
</member>
<member
name=
"P:Performance.EntityModels.per_budget_result.MedicineProportion"
>
<summary>
药占比(收入)
</summary>
</member>
<member
name=
"P:Performance.EntityModels.per_budget_result.MaterialCosts"
>
<summary>
材料支出
</summary>
</member>
<member
name=
"P:Performance.EntityModels.per_budget_result.TotalMedicine"
>
<summary>
药材比例合计
</summary>
</member>
<member
name=
"P:Performance.EntityModels.per_budget_result.DepreOfFixedAssets"
>
<summary>
固定资产折旧
</summary>
</member>
<member
name=
"P:Performance.EntityModels.per_budget_result.OtherExpenses"
>
<summary>
其他
</summary>
</member>
<member
name=
"P:Performance.EntityModels.per_budget_result.TheCostInTotal"
>
<summary>
人+药+材的支出比例
</summary>
</member>
<member
name=
"P:Performance.EntityModels.per_budget_result.TheCostCombined"
>
<summary>
成本合计
</summary>
</member>
<member
name=
"P:Performance.EntityModels.per_budget_result.PersonExpendRatio"
>
<summary>
人员经费实际比例
</summary>
</member>
<member
name=
"P:Performance.EntityModels.per_budget_result.NewPerformanceRatio"
>
<summary>
新绩效实际比例
</summary>
</member>
<member
name=
"P:Performance.EntityModels.per_budget_result.MedicinePropRatio"
>
<summary>
药占比实际比例
</summary>
</member>
<member
name=
"P:Performance.EntityModels.per_budget_result.MaterialCostsRatio"
>
<summary>
材料支出实际比例
</summary>
</member>
<member
name=
"P:Performance.EntityModels.per_budget_result.TotalMedicineRatio"
>
<summary>
药材合计实际比例
</summary>
</member>
<member
name=
"P:Performance.EntityModels.per_budget_result.DepreOfFixedAssetsRatio"
>
<summary>
固定资产折旧实际比例
</summary>
</member>
<member
name=
"P:Performance.EntityModels.per_budget_result.OtherExpensesRatio"
>
<summary>
其他费用实际比例
</summary>
</member>
<member
name=
"P:Performance.EntityModels.per_budget_result.TheCostInTotalRatio"
>
<summary>
人+药+材的支出实际比例
</summary>
</member>
<member
name=
"P:Performance.EntityModels.per_budget_result.TheCostCombinedRatio"
>
<summary>
成本合计实际比例
</summary>
</member>
<member
name=
"P:Performance.EntityModels.per_budget_result.CreateDate"
>
<summary>
</summary>
</member>
<member
name=
"P:Performance.EntityModels.per_budget_result.CreateUser"
>
<summary>
</summary>
</member>
<member
name=
"T:Performance.EntityModels.per_first"
>
<member
name=
"T:Performance.EntityModels.per_first"
>
<summary>
<summary>
首次上传文件地址(当医院存在标准库时,首次上传用户提交固定格式的excel,开发人员配置SQL脚本)
首次上传文件地址(当医院存在标准库时,首次上传用户提交固定格式的excel,开发人员配置SQL脚本)
...
@@ -2528,6 +2922,11 @@
...
@@ -2528,6 +2922,11 @@
报表Id
报表Id
</summary>
</summary>
</member>
</member>
<member
name=
"P:Performance.EntityModels.rep_group.GroupName"
>
<summary>
</summary>
</member>
<member
name=
"T:Performance.EntityModels.rep_group_selection"
>
<member
name=
"T:Performance.EntityModels.rep_group_selection"
>
<summary>
<summary>
...
@@ -2745,7 +3144,7 @@
...
@@ -2745,7 +3144,7 @@
</member>
</member>
<member
name=
"P:Performance.EntityModels.rep_selection.Joint"
>
<member
name=
"P:Performance.EntityModels.rep_selection.Joint"
>
<summary>
<summary>
SQL拼接条件
SQL拼接条件
Equal、Like、In、Not Like、Not In
</summary>
</summary>
</member>
</member>
<member
name=
"P:Performance.EntityModels.rep_selection.State"
>
<member
name=
"P:Performance.EntityModels.rep_selection.State"
>
...
...
performance/Performance.DtoModels/AutoMapper/AutoMapperConfigs.cs
View file @
903d85ac
...
@@ -200,6 +200,14 @@ public AutoMapperConfigs()
...
@@ -200,6 +200,14 @@ public AutoMapperConfigs()
CreateMap
<
im_employee_clinic
,
ComputeEmployee
>()
CreateMap
<
im_employee_clinic
,
ComputeEmployee
>()
.
ForMember
(
dest
=>
dest
.
JobNumber
,
opt
=>
opt
.
MapFrom
(
src
=>
src
.
PersonnelNumber
))
.
ForMember
(
dest
=>
dest
.
JobNumber
,
opt
=>
opt
.
MapFrom
(
src
=>
src
.
PersonnelNumber
))
.
ReverseMap
();
.
ReverseMap
();
CreateMap
<
per_budget_amount
,
BudgetResponse
>()
.
ForMember
(
dest
=>
dest
.
Type
,
opt
=>
opt
.
MapFrom
(
src
=>
1
));
CreateMap
<
BudgetResponse
,
per_budget_amount
>();
CreateMap
<
per_budget_ratio
,
BudgetResponse
>()
.
ForMember
(
dest
=>
dest
.
Type
,
opt
=>
opt
.
MapFrom
(
src
=>
2
));
CreateMap
<
BudgetResponse
,
per_budget_ratio
>();
}
}
}
}
}
}
performance/Performance.DtoModels/Request/BudgetRequest.cs
0 → 100644
View file @
903d85ac
using
System
;
using
System.Collections.Generic
;
using
System.Text
;
namespace
Performance.DtoModels.Request
{
public
class
BudgetRequest
{
public
int
HospitalId
{
get
;
set
;
}
public
int
Year
{
get
;
set
;
}
}
}
performance/Performance.DtoModels/Response/BudgetRatioResponse.cs
0 → 100644
View file @
903d85ac
using
System
;
using
System.Collections.Generic
;
using
System.Text
;
namespace
Performance.DtoModels
{
public
class
BudgetRatioResponse
{
/// <summary>
/// 医院Id
/// </summary>
public
int
HospitalId
{
get
;
set
;
}
/// <summary>
/// 年份
/// </summary>
public
int
Year
{
get
;
set
;
}
/// <summary>
/// 人员经费实际比例
/// </summary>
public
Nullable
<
decimal
>
PersonExpendRatio
{
get
;
set
;
}
/// <summary>
/// 新绩效实际比例
/// </summary>
public
Nullable
<
decimal
>
NewPerformanceRatio
{
get
;
set
;
}
/// <summary>
/// 药占比实际比例
/// </summary>
public
Nullable
<
decimal
>
MedicinePropRatio
{
get
;
set
;
}
/// <summary>
/// 材料支出实际比例
/// </summary>
public
Nullable
<
decimal
>
MaterialCostsRatio
{
get
;
set
;
}
/// <summary>
/// 药材合计实际比例
/// </summary>
public
Nullable
<
decimal
>
TotalMedicineRatio
{
get
;
set
;
}
/// <summary>
/// 固定资产折旧实际比例
/// </summary>
public
Nullable
<
decimal
>
DepreOfFixedAssetsRatio
{
get
;
set
;
}
/// <summary>
/// 其他费用实际比例
/// </summary>
public
Nullable
<
decimal
>
OtherExpensesRatio
{
get
;
set
;
}
/// <summary>
/// 人+药+材的支出实际比例
/// </summary>
public
Nullable
<
decimal
>
TheCostInTotalRatio
{
get
;
set
;
}
/// <summary>
/// 成本合计实际比例
/// </summary>
public
Nullable
<
decimal
>
TheCostCombinedRatio
{
get
;
set
;
}
}
}
performance/Performance.DtoModels/Response/BudgetResponse.cs
0 → 100644
View file @
903d85ac
using
System
;
using
System.Collections.Generic
;
using
System.Text
;
namespace
Performance.DtoModels
{
public
class
BudgetResponse
:
BudgetDto
{
public
int
Id
{
get
;
set
;
}
public
int
HospitalId
{
get
;
set
;
}
public
int
Year
{
get
;
set
;
}
/// <summary>
/// 数据来源 1. 金额 2. 占比
/// </summary>
public
int
Type
{
get
;
set
;
}
}
public
class
BudgetDto
{
/// <summary>
/// 医院业务收入(万)
/// </summary>
public
Nullable
<
decimal
>
HospitalRevenue
{
get
;
set
;
}
/// <summary>
/// 人力总成本(万)
/// </summary>
public
Nullable
<
decimal
>
TotalLaborCost
{
get
;
set
;
}
/// <summary>
/// 人员支出固定部分(万)
/// </summary>
public
Nullable
<
decimal
>
StaffSpendingFixed
{
get
;
set
;
}
/// <summary>
/// 人员支出浮动部分(奖金)
/// </summary>
public
Nullable
<
decimal
>
StaffSpendingBonus
{
get
;
set
;
}
/// <summary>
/// 绩效工资增量预算比例
/// </summary>
public
Nullable
<
decimal
>
MeritPayIncrement
{
get
;
set
;
}
/// <summary>
/// 绩效工资合计
/// </summary>
public
Nullable
<
decimal
>
TotalMeritPay
{
get
;
set
;
}
/// <summary>
/// 人员数
/// </summary>
public
Nullable
<
decimal
>
AmountOfStaff
{
get
;
set
;
}
/// <summary>
/// 原人均月绩效(元)
/// </summary>
public
Nullable
<
decimal
>
ThePerCapitaMerit
{
get
;
set
;
}
/// <summary>
/// 增量后人均绩效(元)
/// </summary>
public
Nullable
<
decimal
>
TheIncrementCapita
{
get
;
set
;
}
/// <summary>
/// 增长幅度
/// </summary>
public
Nullable
<
decimal
>
Amplification
{
get
;
set
;
}
/// <summary>
/// 增量后绩效工资人员经费比例
/// </summary>
public
Nullable
<
decimal
>
IncrementCapitaRatio
{
get
;
set
;
}
/// <summary>
/// 药品收入(万)
/// </summary>
public
Nullable
<
decimal
>
TheDrugIncome
{
get
;
set
;
}
/// <summary>
/// 药品收入预算比例
/// </summary>
public
Nullable
<
decimal
>
TheDrugIncomeBudget
{
get
;
set
;
}
/// <summary>
/// 材料支出(万)
/// </summary>
public
Nullable
<
decimal
>
MaterialIncome
{
get
;
set
;
}
/// <summary>
/// 材料支出预算比例
/// </summary>
public
Nullable
<
decimal
>
MaterialIncomeBudget
{
get
;
set
;
}
/// <summary>
/// 药品+材料+人支(万)
/// </summary>
public
Nullable
<
decimal
>
TheCostInTotal
{
get
;
set
;
}
/// <summary>
/// 固定资产折旧费(万)
/// </summary>
public
Nullable
<
decimal
>
DepreOfFixedAssets
{
get
;
set
;
}
/// <summary>
/// 无形资产摊销费(万)
/// </summary>
public
Nullable
<
decimal
>
AmortOfIntangibleAssets
{
get
;
set
;
}
/// <summary>
/// 提取医疗风险基金(万)
/// </summary>
public
Nullable
<
decimal
>
MedicalRisk
{
get
;
set
;
}
/// <summary>
/// 其他费用(万)
/// </summary>
public
Nullable
<
decimal
>
OtherExpenses
{
get
;
set
;
}
/// <summary>
/// 收支结余(%)
/// </summary>
public
Nullable
<
decimal
>
BalanceOfPayments
{
get
;
set
;
}
/// <summary>
/// 财政补贴
/// </summary>
public
Nullable
<
decimal
>
FiscalSubsidies
{
get
;
set
;
}
/// <summary>
/// 医院总收支结余
/// </summary>
public
Nullable
<
decimal
>
TheTotalHospitalBalance
{
get
;
set
;
}
}
}
performance/Performance.EntityModels/Entity/per_budget_result.cs
View file @
903d85ac
...
@@ -142,6 +142,11 @@ public class per_budget_result
...
@@ -142,6 +142,11 @@ public class per_budget_result
public
Nullable
<
decimal
>
TheCostCombinedRatio
{
get
;
set
;
}
public
Nullable
<
decimal
>
TheCostCombinedRatio
{
get
;
set
;
}
/// <summary>
/// <summary>
/// 1.初始 2. 确认使用发放/调节系数
/// </summary>
public
int
States
{
get
;
set
;
}
/// <summary>
///
///
/// </summary>
/// </summary>
public
Nullable
<
DateTime
>
CreateDate
{
get
;
set
;
}
public
Nullable
<
DateTime
>
CreateDate
{
get
;
set
;
}
...
...
performance/Performance.Services/BudgetService.cs
0 → 100644
View file @
903d85ac
using
AutoMapper
;
using
Microsoft.EntityFrameworkCore.Internal
;
using
NPOI.SS.Formula.Functions
;
using
Performance.DtoModels
;
using
Performance.EntityModels
;
using
Performance.Repository
;
using
System
;
using
System.Collections.Generic
;
using
System.Linq
;
using
System.Text
;
namespace
Performance.Services
{
public
class
BudgetService
:
IAutoInjection
{
private
readonly
PerforPerbudgetamountRepository
perbudgetamountRepository
;
private
readonly
PerforPerbudgetratioRepository
perbudgetratioRepository
;
private
readonly
PerforPerbudgetresultRepository
perbudgetresultRepository
;
private
readonly
PerforPerallotRepository
perallotRepository
;
public
BudgetService
(
PerforPerbudgetamountRepository
perbudgetamountRepository
,
PerforPerbudgetratioRepository
perbudgetratioRepository
,
PerforPerbudgetresultRepository
perbudgetresultRepository
,
PerforPerallotRepository
perallotRepository
)
{
this
.
perbudgetamountRepository
=
perbudgetamountRepository
;
this
.
perbudgetratioRepository
=
perbudgetratioRepository
;
this
.
perbudgetresultRepository
=
perbudgetresultRepository
;
this
.
perallotRepository
=
perallotRepository
;
}
/// <summary>
/// 预算管理查询(包含金额、占比)
/// </summary>
/// <param name="hospitalid"></param>
/// <param name="year"></param>
/// <returns></returns>
public
List
<
BudgetResponse
>
QueryBudgetByYear
(
int
hospitalid
,
int
year
)
{
var
nextYear
=
year
+
1
;
var
amounts
=
perbudgetamountRepository
.
GetEntities
(
t
=>
t
.
HospitalId
==
hospitalid
&&
new
List
<
int
>
{
year
,
nextYear
}.
Contains
(
t
.
Year
));
var
ratios
=
perbudgetratioRepository
.
GetEntities
(
t
=>
t
.
HospitalId
==
hospitalid
&&
new
List
<
int
>
{
year
,
nextYear
}.
Contains
(
t
.
Year
));
var
result
=
Mapper
.
Map
<
List
<
BudgetResponse
>>(
amounts
);
if
(
result
==
null
)
return
Mapper
.
Map
<
List
<
BudgetResponse
>>(
ratios
);
else
if
(
ratios
!=
null
&&
ratios
.
Any
())
{
result
.
AddRange
(
Mapper
.
Map
<
List
<
BudgetResponse
>>(
ratios
));
}
return
result
;
}
/// <summary>
/// 保存预算管理数据
/// </summary>
/// <param name="request"></param>
/// <param name="userId"></param>
/// <returns></returns>
public
bool
SaveBudgetData
(
List
<
BudgetResponse
>
request
,
int
userId
)
{
if
(
request
==
null
||
!
request
.
Any
(
t
=>
t
.
Type
==
1
)
||
!
request
.
Any
(
t
=>
t
.
Type
==
2
))
throw
new
PerformanceException
(
"提交数据中含无效数据"
);
var
amounts
=
Mapper
.
Map
<
List
<
per_budget_amount
>>(
request
.
Where
(
t
=>
t
.
Type
==
1
));
amounts
.
ForEach
(
t
=>
{
t
.
CreateTime
=
DateTime
.
Now
;
t
.
CreateUser
=
userId
;
});
if
(
amounts
!=
null
&&
perbudgetamountRepository
.
AddRange
(
amounts
.
ToArray
()))
{
var
ratios
=
Mapper
.
Map
<
List
<
per_budget_ratio
>>(
request
.
Where
(
t
=>
t
.
Type
==
2
));
ratios
.
ForEach
(
t
=>
{
t
.
CreateTime
=
DateTime
.
Now
;
t
.
CreateUser
=
userId
;
});
return
perbudgetratioRepository
.
AddRange
(
ratios
.
ToArray
());
}
return
false
;
}
/// <summary>
/// 修改预算管理数据
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
public
bool
ModifyBudgetData
(
List
<
BudgetResponse
>
request
)
{
if
(
request
==
null
||
!
request
.
Any
(
t
=>
t
.
Type
==
1
)
||
!
request
.
Any
(
t
=>
t
.
Type
==
2
))
throw
new
PerformanceException
(
"提交数据中含无效数据"
);
var
amounts
=
perbudgetamountRepository
.
GetEntities
(
w
=>
request
.
Where
(
t
=>
t
.
Type
==
1
).
Select
(
t
=>
t
.
Id
).
Contains
(
w
.
Id
));
if
(
amounts
!=
null
&&
amounts
.
Any
())
{
foreach
(
var
item
in
amounts
)
{
var
data
=
request
.
FirstOrDefault
(
t
=>
t
.
Type
==
1
&&
t
.
Id
==
item
.
Id
);
if
(
data
==
null
)
continue
;
item
.
HospitalRevenue
=
data
.
HospitalRevenue
;
item
.
HospitalRevenue
=
data
.
HospitalRevenue
;
item
.
TotalLaborCost
=
data
.
TotalLaborCost
;
item
.
StaffSpendingFixed
=
data
.
StaffSpendingFixed
;
item
.
StaffSpendingBonus
=
data
.
StaffSpendingBonus
;
item
.
TotalMeritPay
=
data
.
TotalMeritPay
;
item
.
AmountOfStaff
=
data
.
AmountOfStaff
;
item
.
ThePerCapitaMerit
=
data
.
ThePerCapitaMerit
;
item
.
TheIncrementCapita
=
data
.
TheIncrementCapita
;
item
.
TheDrugIncome
=
data
.
TheDrugIncome
;
item
.
MaterialIncome
=
data
.
MaterialIncome
;
item
.
TheCostInTotal
=
data
.
TheCostInTotal
;
item
.
DepreOfFixedAssets
=
data
.
DepreOfFixedAssets
;
item
.
AmortOfIntangibleAssets
=
data
.
AmortOfIntangibleAssets
;
item
.
MedicalRisk
=
data
.
MedicalRisk
;
item
.
OtherExpenses
=
data
.
OtherExpenses
;
item
.
BalanceOfPayments
=
data
.
BalanceOfPayments
;
item
.
FiscalSubsidies
=
data
.
FiscalSubsidies
;
item
.
TheTotalHospitalBalance
=
data
.
TheTotalHospitalBalance
;
}
perbudgetamountRepository
.
UpdateRange
(
amounts
.
ToArray
());
}
var
ratios
=
perbudgetratioRepository
.
GetEntities
(
w
=>
request
.
Where
(
t
=>
t
.
Type
==
2
).
Select
(
t
=>
t
.
Id
).
Contains
(
w
.
Id
));
if
(
ratios
!=
null
&&
ratios
.
Any
())
{
foreach
(
var
item
in
ratios
)
{
var
data
=
request
.
FirstOrDefault
(
t
=>
t
.
Type
==
2
&&
t
.
Id
==
item
.
Id
);
if
(
data
==
null
)
continue
;
item
.
HospitalRevenue
=
data
.
HospitalRevenue
;
item
.
TotalLaborCost
=
data
.
TotalLaborCost
;
item
.
StaffSpendingFixed
=
data
.
StaffSpendingFixed
;
item
.
StaffSpendingBonus
=
data
.
StaffSpendingBonus
;
item
.
MeritPayIncrement
=
data
.
MeritPayIncrement
;
item
.
TotalMeritPay
=
data
.
TotalMeritPay
;
item
.
Amplification
=
data
.
Amplification
;
item
.
IncrementCapitaRatio
=
data
.
IncrementCapitaRatio
;
item
.
TheDrugIncome
=
data
.
TheDrugIncome
;
item
.
TheDrugIncomeBudget
=
data
.
TheDrugIncomeBudget
;
item
.
MaterialIncome
=
data
.
MaterialIncome
;
item
.
MaterialIncomeBudget
=
data
.
MaterialIncomeBudget
;
item
.
TheCostInTotal
=
data
.
TheCostInTotal
;
item
.
DepreOfFixedAssets
=
data
.
DepreOfFixedAssets
;
item
.
AmortOfIntangibleAssets
=
data
.
AmortOfIntangibleAssets
;
item
.
MedicalRisk
=
data
.
MedicalRisk
;
item
.
OtherExpenses
=
data
.
OtherExpenses
;
item
.
BalanceOfPayments
=
data
.
BalanceOfPayments
;
item
.
TheTotalHospitalBalance
=
data
.
TheTotalHospitalBalance
;
}
perbudgetratioRepository
.
UpdateRange
(
ratios
.
ToArray
());
}
return
true
;
}
/// <summary>
/// 预算合计数据查询
/// </summary>
/// <param name="hospitalid"></param>
/// <param name="year"></param>
/// <returns></returns>
public
List
<
per_budget_result
>
QueryResultByYear
(
int
hospitalid
,
int
year
)
{
var
results
=
perbudgetresultRepository
.
GetEntities
(
t
=>
t
.
HospitalId
==
hospitalid
&&
t
.
Year
==
year
);
return
results
;
}
/// <summary>
/// 预算比例、历史比例查询
/// </summary>
/// <param name="hospitalid"></param>
/// <param name="year"></param>
/// <returns></returns>
public
List
<
BudgetRatioResponse
>
QueryBudgetRatio
(
int
hospitalid
,
int
year
)
{
var
nextYear
=
year
+
1
;
var
ratios
=
perbudgetratioRepository
.
GetEntities
(
t
=>
t
.
HospitalId
==
hospitalid
&&
new
List
<
int
>
{
year
,
nextYear
}.
Contains
(
t
.
Year
));
if
(
ratios
!=
null
&&
ratios
.
Any
())
{
var
result
=
ratios
.
Select
(
t
=>
new
BudgetRatioResponse
{
HospitalId
=
t
.
HospitalId
,
Year
=
t
.
Year
,
PersonExpendRatio
=
t
.
TotalLaborCost
,
NewPerformanceRatio
=
t
.
TheCostInTotal
,
MedicinePropRatio
=
t
.
TheDrugIncome
,
MaterialCostsRatio
=
t
.
MaterialIncome
,
TotalMedicineRatio
=
t
.
TheDrugIncome
+
t
.
MaterialIncome
,
DepreOfFixedAssetsRatio
=
t
.
DepreOfFixedAssets
,
OtherExpensesRatio
=
t
.
OtherExpenses
,
TheCostInTotalRatio
=
t
.
TheCostInTotal
,
TheCostCombinedRatio
=
t
.
TheCostInTotal
,
});
return
result
.
OrderBy
(
t
=>
t
.
Year
).
ToList
();
}
return
new
List
<
BudgetRatioResponse
>();
}
/// <summary>
/// 保存预算合计数据
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
public
bool
SaveBudgetRatio
(
List
<
per_budget_result
>
request
,
int
userId
)
{
if
(
request
==
null
||
!
request
.
Any
())
throw
new
PerformanceException
(
"提交数据为空"
);
// 有效Id, 已经提交过的数据
var
effectIds
=
request
.
Where
(
t
=>
t
.
Id
!=
0
).
Select
(
t
=>
t
.
Id
);
if
(
effectIds
!=
null
&&
effectIds
.
Any
())
{
var
results
=
perbudgetresultRepository
.
GetEntities
(
t
=>
effectIds
.
Contains
(
t
.
Id
));
if
(
results
==
null
||
!
results
.
Any
())
throw
new
PerformanceException
(
"提交数据中需要修改的数据无效"
);
foreach
(
var
item
in
results
)
{
var
data
=
request
.
FirstOrDefault
(
t
=>
t
.
Id
==
item
.
Id
);
if
(
data
==
null
)
continue
;
item
.
Grant
=
data
.
Grant
;
item
.
Adjust
=
data
.
Adjust
;
item
.
MedicalIncome
=
data
.
MedicalIncome
;
item
.
PersonnelExpenditure
=
data
.
PersonnelExpenditure
;
item
.
TheNewPerformance
=
data
.
TheNewPerformance
;
item
.
MedicineProportion
=
data
.
MedicineProportion
;
item
.
MaterialCosts
=
data
.
MaterialCosts
;
item
.
TotalMedicine
=
data
.
TotalMedicine
;
item
.
DepreOfFixedAssets
=
data
.
DepreOfFixedAssets
;
item
.
OtherExpenses
=
data
.
OtherExpenses
;
item
.
TheCostInTotal
=
data
.
TheCostInTotal
;
item
.
TheCostCombined
=
data
.
TheCostCombined
;
item
.
PersonExpendRatio
=
data
.
PersonExpendRatio
;
item
.
NewPerformanceRatio
=
data
.
NewPerformanceRatio
;
item
.
MedicinePropRatio
=
data
.
MedicinePropRatio
;
item
.
MaterialCostsRatio
=
data
.
MaterialCostsRatio
;
item
.
TotalMedicineRatio
=
data
.
TotalMedicineRatio
;
item
.
DepreOfFixedAssetsRatio
=
data
.
DepreOfFixedAssetsRatio
;
item
.
OtherExpensesRatio
=
data
.
OtherExpensesRatio
;
item
.
TheCostInTotalRatio
=
data
.
TheCostInTotalRatio
;
item
.
TheCostCombinedRatio
=
data
.
TheCostCombinedRatio
;
}
perbudgetresultRepository
.
UpdateRange
(
results
.
ToArray
());
}
var
addData
=
request
.
Where
(
t
=>
t
.
Id
==
0
);
if
(
addData
!=
null
&&
addData
.
Any
())
{
addData
.
ToList
().
ForEach
(
t
=>
{
t
.
CreateDate
=
DateTime
.
Now
;
t
.
CreateUser
=
userId
;
});
perbudgetresultRepository
.
AddRange
(
addData
.
ToArray
());
}
return
true
;
}
/// <summary>
/// 修改发放系数、调节系数使用状态
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
public
bool
UseResult
(
int
id
)
{
var
result
=
perbudgetresultRepository
.
GetEntity
(
t
=>
t
.
Id
==
id
);
if
(
result
==
null
)
throw
new
PerformanceException
(
"所选数据不存在!"
);
result
.
States
=
2
;
return
perbudgetresultRepository
.
Update
(
result
);
}
public
void
GetAdjust
(
int
allotId
,
ref
decimal
adjust
)
{
var
allot
=
perallotRepository
.
GetEntity
(
t
=>
t
.
ID
==
allotId
);
if
(
allot
==
null
)
return
;
var
result
=
perbudgetresultRepository
.
GetEntity
(
t
=>
t
.
HospitalId
==
allot
.
HospitalId
&&
t
.
Year
==
allot
.
Year
&&
t
.
Month
==
allot
.
Month
);
if
(
result
==
null
||
result
.
States
!=
2
)
return
;
adjust
=
result
.
Adjust
.
Value
;
}
public
void
GetGrant
(
int
allotId
,
ref
decimal
grant
)
{
var
allot
=
perallotRepository
.
GetEntity
(
t
=>
t
.
ID
==
allotId
);
if
(
allot
==
null
)
return
;
var
result
=
perbudgetresultRepository
.
GetEntity
(
t
=>
t
.
HospitalId
==
allot
.
HospitalId
&&
t
.
Year
==
allot
.
Year
&&
t
.
Month
==
allot
.
Month
);
if
(
result
==
null
||
result
.
States
!=
2
)
return
;
grant
=
result
.
Grant
.
Value
;
}
}
}
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