Commit 903d85ac by lcx

预算管理

parent 5684b17e
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
...@@ -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>
获取绩效发放列表 获取绩效发放列表
......
...@@ -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>
来源 来源
......
...@@ -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>();
} }
} }
} }
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; }
}
}
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; }
}
}
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; }
}
}
...@@ -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; }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment