行政后勤开关控制

parent ba1d4dd9
......@@ -188,7 +188,6 @@ public ApiResponse Generate([CustomizeValidator(RuleSet = "Delete"), FromBody] A
logManageService.WriteMsg("等待绩效生成", $"等待绩效生成{allot.Year}-{allot.Month.ToString().PadLeft(2, '0')}月份绩效!", 1, allot.ID, "ReceiveMessage");
//_allotService.Generate(allot, email);
////BackgroundJob.Enqueue(() => _allotService.Generate(allot, email));
///
// 科室下发
resultComputeService.GenerateSecondAllot(allot);
return new ApiResponse(ResponseType.OK);
......
......@@ -25,7 +25,6 @@ public HospitalController(HospitalService hospitalService, ClaimService claimSer
/// <summary>
/// 获取当前登录用户管辖医院列表
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
[Route("hospitallist")]
[HttpPost]
......
......@@ -28,7 +28,6 @@ public MenuController(MenuService menuService, ClaimService claimService)
/// <summary>
/// 设置用户管辖医院
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
[Route("menulist")]
[HttpPost]
......
......@@ -69,7 +69,7 @@ public static ClaimsPrincipal GetPrincipal(string token)
return principal;
}
catch (Exception ex)
catch (Exception)
{
return null;
}
......
......@@ -887,7 +887,6 @@
<summary>
获取当前登录用户管辖医院列表
</summary>
<param name="request"></param>
<returns></returns>
</member>
<member name="M:Performance.Api.Controllers.HospitalController.Insert(Performance.DtoModels.HospitalRequest)">
......@@ -922,7 +921,6 @@
<summary>
设置用户管辖医院
</summary>
<param name="request"></param>
<returns></returns>
</member>
<member name="T:Performance.Api.Controllers.OriginalController">
......
......@@ -2012,6 +2012,11 @@
是否开启科室CMI占比 1 启用 2 禁用
</summary>
</member>
<member name="P:Performance.DtoModels.HospitalRequest.IsOpenLogisticsSecondAllot">
<summary>
是否开启行政后勤二次绩效分配 1 启用 2 禁用
</summary>
</member>
<member name="P:Performance.DtoModels.IncomeRequest.SheetNameKeyword">
<summary>
关键字匹配
......@@ -2717,6 +2722,9 @@
<member name="P:Performance.DtoModels.DetailDtos`1.IncomeType">
<summary> 1、收入 2、支出 3、工作量 4、特殊科室 5、科室奖罚 6、科室药占比考核 7、科室材料占比考核 8、调节后其他绩效 </summary>
</member>
<member name="P:Performance.DtoModels.DetailDtos`1.OriginalType">
<summary> 原始SheetType </summary>
</member>
<member name="P:Performance.DtoModels.DetailDtos`1.Amount">
<summary> 金额 </summary>
</member>
......@@ -2981,6 +2989,11 @@
是否开启护理部审核 1 启用 2 禁用
</summary>
</member>
<member name="P:Performance.DtoModels.HospitalResponse.IsOpenLogisticsSecondAllot">
<summary>
是否开启行政后勤二次绩效分配 1 启用 2 禁用
</summary>
</member>
<member name="P:Performance.DtoModels.IncomeResponse.SheetNameKeyword">
<summary>
关键字匹配
......
......@@ -5288,6 +5288,11 @@
是否显示二次绩效科主任1 启用 2 禁用
</summary>
</member>
<member name="P:Performance.EntityModels.sys_hospital.IsOpenLogisticsSecondAllot">
<summary>
是否开启行政后勤二次绩效分配 1 启用 2 禁用
</summary>
</member>
<member name="T:Performance.EntityModels.sys_hospitalconfig">
<summary>
......
......@@ -35,9 +35,9 @@ public class HospitalRequest
/// 医院状态 1 启用 2 禁用
/// </summary>
public Nullable<int> States { get; set; }
/// <summary>
/// 是否开启年资系数 1 启用 2 禁用
/// </summary>
///// <summary>
///// 是否开启年资系数 1 启用 2 禁用
///// </summary>
//public Nullable<int> IsOpenWorkYear { get; set; }
/// <summary>
/// 是否开启药占比系数 1 启用 2 禁用
......@@ -59,6 +59,11 @@ public class HospitalRequest
/// 是否开启科室CMI占比 1 启用 2 禁用
/// </summary>
public Nullable<int> IsOpenCMIPercent { get; set; }
/// <summary>
/// 是否开启行政后勤二次绩效分配 1 启用 2 禁用
/// </summary>
public Nullable<int> IsOpenLogisticsSecondAllot { get; set; }
}
public class HospitalRequestValidator : AbstractValidator<HospitalRequest>
......
......@@ -49,7 +49,8 @@ public class DetailDtos<T>
/// <summary> 1、收入 2、支出 3、工作量 4、特殊科室 5、科室奖罚 6、科室药占比考核 7、科室材料占比考核 8、调节后其他绩效 </summary>
public int IncomeType { get; set; }
/// <summary> 原始SheetType </summary>
public int OriginalType { get; set; }
/// <summary> 金额 </summary>
public decimal Amount { get; set; }
......
......@@ -27,5 +27,10 @@ public class HospitalResponse
/// 是否开启护理部审核 1 启用 2 禁用
/// </summary>
public int IsOpenNursingDeptAudit { get; set; }
/// <summary>
/// 是否开启行政后勤二次绩效分配 1 启用 2 禁用
/// </summary>
public Nullable<int> IsOpenLogisticsSecondAllot { get; set; }
}
}
......@@ -7,80 +7,80 @@
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace Performance.EntityModels
namespace Performance.EntityModels
{
/// <summary>
/// 医院信息
/// </summary>
[Table("sys_hospital")]
public class sys_hospital
public class sys_hospital
{
/// <summary>
/// ID
/// </summary>
[Key]
public int ID { get; set; }
public int ID { get; set; }
/// <summary>
///
/// </summary>
public Nullable<DateTime> CreateDate { get; set; }
/// <summary>
///
/// </summary>
public Nullable<int> CreateUser { get; set; }
/// <summary>
/// 医院名称
/// </summary>
public string HosName { get; set; }
/// <summary>
/// 简称
/// </summary>
public string ShortName { get; set; }
/// <summary>
/// 医院区域编码
/// </summary>
public string AreaCode { get; set; }
/// <summary>
/// 医院等级
/// </summary>
public string HosLevel { get; set; }
/// <summary>
/// 医院类型
/// </summary>
public string HosType { get; set; }
/// <summary>
/// 医院状态 1 启用 2 禁用
/// </summary>
public Nullable<int> States { get; set; }
/// <summary>
/// 是否开启年资系数 1 启用 2 禁用
/// </summary>
public Nullable<int> IsOpenWorkYear { get; set; }
/// <summary>
/// 是否开启药占比系数 1 启用 2 禁用
/// </summary>
public Nullable<int> IsOpenDrugprop { get; set; }
/// <summary>
/// 是否开启ICU有效收入系数 1 启用 2 禁用
/// </summary>
public Nullable<int> IsOpenIncome { get; set; }
/// <summary>
/// 是否开启规模/效率绩效 1 启用 2 禁用
/// </summary>
public Nullable<int> IsOpenDirector { get; set; }
/// <summary>
/// 是否显示绩效合计 1 显示绩效合计 2 显示管理绩效
/// </summary>
......@@ -100,5 +100,10 @@ public class sys_hospital
/// 是否显示二次绩效科主任1 启用 2 禁用
/// </summary>
public Nullable<int> IsShowSecondDirector { get; set; }
/// <summary>
/// 是否开启行政后勤二次绩效分配 1 启用 2 禁用
/// </summary>
public Nullable<int> IsOpenLogisticsSecondAllot { get; set; }
}
}
......@@ -149,7 +149,7 @@ union all
{
flag = connection.Execute(sql, new { allotid }, commandTimeout: 60 * 60);
}
catch(Exception ex)
catch (Exception)
{
}
......
......@@ -23,6 +23,7 @@ public class ResultComputeService : IAutoInjection
private readonly PerforAgcomputeRepository perforAgcomputeRepository;
private readonly PerforAgsecondallotRepository perforAgsecondallotRepository;
private readonly PerforresreservedRepository perforresreservedRepository;
private readonly PerforHospitalRepository hospitalRepository;
private readonly PerforImemployeeRepository perforImEmployeeRepository;
private readonly PerforRescomputeRepository perforRescomputeRepository;
private readonly PerforResbaiscnormRepository perforResbaiscnormRepository;
......@@ -34,6 +35,7 @@ public class ResultComputeService : IAutoInjection
private readonly PerforImemployeelogisticsRepository perforImemployeelogisticsRepository;
public ResultComputeService(
PerforHospitalRepository hospitalRepository,
PerforImemployeeRepository perforImEmployeeRepository,
PerforRescomputeRepository perforRescomputeRepository,
PerforResbaiscnormRepository perforResbaiscnormRepository,
......@@ -52,6 +54,7 @@ public class ResultComputeService : IAutoInjection
{
this.baiscNormService = baiscNormService;
this.computeDirector = computeDirector;
this.hospitalRepository = hospitalRepository;
this.perforImEmployeeRepository = perforImEmployeeRepository;
this.perforRescomputeRepository = perforRescomputeRepository;
this.perforResbaiscnormRepository = perforResbaiscnormRepository;
......@@ -505,7 +508,12 @@ public void GenerateSecondAllot(per_allot allot)
List<ag_secondallot> insSecond = new List<ag_secondallot>();
List<ag_secondallot> updSecond = new List<ag_secondallot>();
var types = new int[] { (int)UnitType.行政高层, (int)UnitType.行政中层 };
var types = new List<int> { (int)UnitType.行政高层, (int)UnitType.行政中层 };
// 获取医院是否开启后勤二次分配
var hospital = hospitalRepository.GetEntity(w => w.ID == allot.HospitalId);
if (hospital?.IsOpenLogisticsSecondAllot != 1)
types.Add((int)UnitType.行政后勤);
var accountUnit = perforResaccountRepository.GetEntities(t => t.AllotID == allot.ID && !types.Contains(t.UnitType.Value));
var specialList = perforResspecialunitRepository.GetEntities(t => t.AllotID == allot.ID);
......
......@@ -750,7 +750,7 @@ public DeptDataDetails<DetailModuleExtend> DeptDetail(int accountId)
var sheetName = new Regex("[0-9]*").Replace(sheet.SheetName, "", 5).Replace(".", "").Replace(" ", "");
var (sheettype, amount) = ClinicDepartmentDetail(persheet, account, basicData, sheet, type, sheetName);
(sheettype, amount) = CommonDepartmentDetail(basicData, sheet, type, sheettype, amount);
(sheettype, amount) = CommonDepartmentDetail(basicData, sheet, type);
var items = CommonDetailItems(basicData, headers, sheet, type);
if (sheet.SheetType == (int)SheetType.Workload)
......@@ -775,7 +775,7 @@ public DeptDataDetails<DetailModuleExtend> DeptDetail(int accountId)
items = items.Where(t => (t.ItemValue ?? 0) != 0).ToList();
var item = new DetailDtos { ItemName = sheetName, IncomeType = sheettype, Amount = amount, GroupBasis = groupbasis, Items = items };
var item = new DetailDtos { ItemName = sheetName, IncomeType = sheettype, OriginalType = sheet.SheetType ?? 0, Amount = amount, GroupBasis = groupbasis, Items = items };
deptDetails.Detail.Add(item);
}
}
......@@ -784,9 +784,10 @@ public DeptDataDetails<DetailModuleExtend> DeptDetail(int accountId)
//return deptDetails;
}
private (int sheettype, decimal amount) ClinicDepartmentDetail(List<per_sheet> persheet, res_account account, List<im_data> basicData, per_sheet sheet, UnitType type, string sheetName, int sheettype = 1, decimal amount = 0m)
private (int sheettype, decimal amount) ClinicDepartmentDetail(List<per_sheet> persheet, res_account account, List<im_data> basicData, per_sheet sheet, UnitType type, string sheetName)
{
//var sheettype = 1; var amount = 0m;
var sheettype = 1;
var amount = 0m;
if (sheet.SheetType == (int)SheetType.Income)
{
......@@ -821,8 +822,10 @@ public DeptDataDetails<DetailModuleExtend> DeptDetail(int accountId)
return (sheettype, amount);
}
private (int sheettype, decimal amount) CommonDepartmentDetail(List<im_data> basicData, per_sheet sheet, UnitType type, int sheettype = 1, decimal amount = 0)
private (int sheettype, decimal amount) CommonDepartmentDetail(List<im_data> basicData, per_sheet sheet, UnitType type)
{
int sheettype = 1;
decimal amount = 0;
//var sheettype = 1; var amount = 0m;
//if (pairs.ContainsKey((SheetType)sheet.SheetType))
......@@ -964,7 +967,8 @@ private DeptDataDetails<DetailModuleExtend> MergeDetails(DeptDataDetails details
{
ItemName = data.FirstOrDefault(t => t.ItemName.IndexOf("执行") > -1) is null ? data.First().ItemName :
data.FirstOrDefault(t => t.ItemName.IndexOf("执行") > -1).ItemName?.Replace("执行", "开单/执行"),
IncomeType = data.First().IncomeType,
IncomeType = data.First()?.IncomeType ?? 0,
OriginalType = data.First()?.OriginalType ?? 0,
Amount = data.Sum(w => w.Amount),
GroupBasis = groupbasis,
Items = items
......@@ -1011,6 +1015,7 @@ public DeptDataDetails DeptOfficeDetail(int accountId)
{
ItemName = "行政后勤核算单元绩效测算表",
IncomeType = 4,
OriginalType = 4,
Amount = account.PerforTotal ?? 0,
Items = new List<DetailModule>(),
GroupBasis = 1,
......@@ -1040,7 +1045,7 @@ public DeptDataDetails DeptOfficeDetail(int accountId)
var items = CommonDetailItems(basicData, headers, sheet, UnitType.行政后勤);
var sheetName = new Regex("[0-9]*").Replace(sheet.SheetName, "", 5).Replace(".", "").Replace(" ", "");
var item = new DetailDtos { ItemName = sheetName, IncomeType = sheettype, Amount = amount, GroupBasis = groupBasis, Items = items };
var item = new DetailDtos { ItemName = sheetName, IncomeType = sheettype, OriginalType = sheet.SheetType ?? 0, Amount = amount, GroupBasis = groupBasis, Items = items };
deptDetails.Detail.Add(item);
}
}
......@@ -1086,6 +1091,7 @@ public DeptDataDetails SpecialDeptDetail(ag_secondallot second)
{
ItemName = "特殊核算单元绩效测算表",
IncomeType = 4,
OriginalType = 4,
Amount = special.First().ResultsTotalFee ?? 0,
Items = new List<DetailModule>(),
GroupBasis = 1,
......@@ -1123,7 +1129,7 @@ public DeptDataDetails SpecialDeptDetail(ag_secondallot second)
var items = CommonDetailItems(basicData, headers, sheet, UnitType.特殊核算组);
var sheetName = new Regex("[0-9]*").Replace(sheet.SheetName, "", 5).Replace(".", "").Replace(" ", "");
var item = new DetailDtos { ItemName = sheetName, IncomeType = sheettype, Amount = amount, GroupBasis = groupBasis, Items = items };
var item = new DetailDtos { ItemName = sheetName, IncomeType = sheettype, OriginalType = sheet.SheetType ?? 0, Amount = amount, GroupBasis = groupBasis, Items = items };
deptDetails.Detail.Add(item);
}
}
......@@ -1234,6 +1240,7 @@ public DeptDataDetails GetDoctorDetail(int computeId)
{
ItemName = itemName.Replace(".", "").Replace(" ", ""),
IncomeType = sheet.SheetType == (int)SheetType.PersonExtra ? 5 : 8,
OriginalType = sheet.SheetType ?? 0,
Amount = sheetData.Where(t => t.IsTotal == 1)?.Sum(t => t.CellValue) ?? 0,
Items = sheetData.Where(t => t.IsTotal != 1)?.Select(t => new DetailModule
{
......
......@@ -134,6 +134,7 @@ public HospitalResponse Update(HospitalRequest request)
hospital.IsOpenDrugprop = request.IsOpenDrugprop;
hospital.IsShowManage = request.IsShowManage;
hospital.IsOpenCMIPercent = request.IsOpenCMIPercent;
hospital.IsOpenLogisticsSecondAllot = request.IsOpenLogisticsSecondAllot;
//hospital.IsOpenIncome = request.IsOpenIncome;
if (!_hospitalRepository.Update(hospital))
......
......@@ -112,15 +112,15 @@ public bool EditSheetData(int userId, OriginalRequest request)
break;
}
}
catch (NotSupportedException ex)
catch (NotSupportedException)
{
throw new PerformanceException("提交参数不合规范");
}
catch (InvalidCastException ex)
catch (InvalidCastException)
{
throw new PerformanceException("提交参数不合规范");
}
catch (ArgumentException ex)
catch (ArgumentException)
{
throw new PerformanceException("提交参数不合规范");
}
......@@ -256,7 +256,7 @@ private void SetValue<TEntity>(TEntity entity, CellRequest cell)
else if (type.IndexOf("string") > -1)
value = cell.CellValue.ToString();
}
catch (Exception ex)
catch
{
throw new PerformanceException("提交参数不合规范");
}
......@@ -305,7 +305,7 @@ private bool EditFeeData(int userId, OriginalRequest request, bool basic)
entity.UpdateUser = userId;
result = imdataRepository.Update(entity);
}
catch (Exception ex)
catch
{
throw new PerformanceException("提交参数不合规范");
}
......
......@@ -83,7 +83,7 @@ public static string GetValue(this ICell cell)
return string.Empty;
}
}
catch (Exception ex)
catch (Exception)
{
//throw ex;
}
......
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