Commit fdd84150 by lcx

获取预算比例 添加日志,取消使用预算比例(调节、发放系数)

parent cff05abc
......@@ -121,15 +121,27 @@ public ApiResponse ResultSave([FromBody]List<per_budget_result> request)
/// <summary>
/// 使用预算比例
/// </summary>
/// <param name="request"></param>
/// <param name="id"></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, "操作失败");
}
/// <summary>
/// 使用预算比例
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
[HttpPost]
[Route("result/cancel/{id}")]
public ApiResponse CancelResult(int id)
{
var result = budgetService.CancelResult(id);
return result ? new ApiResponse(ResponseType.OK, "操作成功") : new ApiResponse(ResponseType.Fail, "操作失败");
}
}
}
\ No newline at end of file
......@@ -247,7 +247,14 @@
<summary>
使用预算比例
</summary>
<param name="request"></param>
<param name="id"></param>
<returns></returns>
</member>
<member name="M:Performance.Api.Controllers.BudgetController.CancelResult(System.Int32)">
<summary>
使用预算比例
</summary>
<param name="id"></param>
<returns></returns>
</member>
<member name="M:Performance.Api.Controllers.ComputeController.GetCompute(Performance.DtoModels.ComputerRequest)">
......
......@@ -2844,7 +2844,7 @@
</member>
<member name="P:Performance.EntityModels.per_budget_result.States">
<summary>
1.初始 2. 确认使用发放/调节系数
1.初始 2.确认使用发放/调节系数 3.取消使用
</summary>
</member>
<member name="P:Performance.EntityModels.per_budget_result.CreateDate">
......
......@@ -152,7 +152,7 @@ public class per_budget_result
public Nullable<decimal> NoPerformanceExpenditureRatio { get; set; }
/// <summary>
/// 1.初始 2. 确认使用发放/调节系数
/// 1.初始 2.确认使用发放/调节系数 3.取消使用
/// </summary>
public int States { get; set; }
......
......@@ -4,6 +4,8 @@
// * history : Created by T4 2019-03-22 15:48:55
// </copyright>
//-----------------------------------------------------------------------
using Dapper;
using Microsoft.EntityFrameworkCore;
using Performance.EntityModels;
using System;
using System.Collections.Generic;
......@@ -63,15 +65,19 @@ public int DelAgain(int againid)
/// <returns></returns>
public int SupplementaryData(int allotid)
{
var sql = @"insert into cof_drugtype(allotid,charge) select
using (var connection = context.Database.GetDbConnection())
{
var sql = @"insert into cof_drugtype(allotid,charge) select
distinct @allotid allotid,typename charge
from per_sheet sheet
inner join im_data im on sheet.id = im.sheetid
inner join cof_drugtype dtype on sheet.allotid = dtype.allotid
and im.typename != dtype.charge
where sheet.allotid = @allotid and sheet.sheettype = 3 ";
where sheet.allotid = @allotid and sheet.sheettype = 3 and im.typename not in
(select charge from cof_drugtype where allotid = @allotid)";
return Execute(sql, new { allotid });
return connection.Execute(sql, new { allotid }, commandTimeout: 60 * 60);
}
}
}
}
using AutoMapper;
using Microsoft.EntityFrameworkCore.Internal;
using Microsoft.Extensions.Logging;
using NPOI.SS.Formula.Functions;
using Performance.DtoModels;
using Performance.EntityModels;
......@@ -17,16 +18,19 @@ public class BudgetService : IAutoInjection
private readonly PerforPerbudgetratioRepository perbudgetratioRepository;
private readonly PerforPerbudgetresultRepository perbudgetresultRepository;
private readonly PerforPerallotRepository perallotRepository;
private readonly ILogger logger;
public BudgetService(PerforPerbudgetamountRepository perbudgetamountRepository,
PerforPerbudgetratioRepository perbudgetratioRepository,
PerforPerbudgetresultRepository perbudgetresultRepository,
PerforPerallotRepository perallotRepository)
PerforPerallotRepository perallotRepository,
ILogger<BudgetService> logger)
{
this.perbudgetamountRepository = perbudgetamountRepository;
this.perbudgetratioRepository = perbudgetratioRepository;
this.perbudgetresultRepository = perbudgetresultRepository;
this.perallotRepository = perallotRepository;
this.logger = logger;
}
/// <summary>
......@@ -277,10 +281,28 @@ public bool UseResult(int id)
var result = perbudgetresultRepository.GetEntity(t => t.Id == id);
if (result == null)
throw new PerformanceException("所选数据不存在!");
if (result.MedicalIncome == 0 || result.MedicineProportion == 0 || result.TheNewPerformance == 0)
{
throw new PerformanceException("请保证医疗收入, 新绩效, 药占比收入等值正确录入 或 使用系数前请先保存填写的数据");
}
result.States = 2;
return perbudgetresultRepository.Update(result);
}
/// <summary>
/// 修改发放系数、调节系数使用状态
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
public bool CancelResult(int id)
{
var result = perbudgetresultRepository.GetEntity(t => t.Id == id);
if (result == null)
throw new PerformanceException("所选数据不存在!");
result.States = 3;
return perbudgetresultRepository.Update(result);
}
public bool GetAdjustAndGrant(int allotId, out decimal adjust, out decimal grant)
{
adjust = 1m; grant = 1m;
......@@ -297,12 +319,14 @@ public bool GetAdjustAndGrant(int allotId, out decimal adjust, out decimal grant
public bool GetAdjustAndGrant(per_allot allot, out decimal adjust, out decimal grant)
{
logger.LogInformation("获取发放系数、调节系数");
adjust = 1m; grant = 1m;
var result = perbudgetresultRepository.GetEntity(t => t.HospitalId == allot.HospitalId && t.Year == allot.Year && t.Month == allot.Month);
if (result == null || result.States != 2) return false;
adjust = result.Adjust.Value;
grant = result.Grant.Value;
logger.LogInformation("使用预算管理中生成的发放系数、调节系数");
adjust = result.Adjust.Value / 100;
grant = result.Grant.Value / 100;
return true;
}
}
......
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