Commit f62988ae by 李承祥

绩效考核项费用来源

parent 58010638
......@@ -23,6 +23,11 @@ public class ModModuleRequest : ApiRequest
/// <summary> 描述 </summary>
public string Description { get; set; }
public int PageNum { get; set; }
public int PageSize { get; set; }
}
public class ModModuleRequestValidator : AbstractValidator<ModModuleRequest>
......
using System;
using System.Collections.Generic;
using System.Text;
namespace Performance.DtoModels
{
public class ModFeeResponse
{
public int Total { get; set; }
public int PageSize { get; set; }
public int PageNum { get; set; }
public List<TitleValue> Data { get; set; }
}
}
......@@ -19,7 +19,7 @@ public ModExtractController(ModExtractService modExtractService)
}
/// <summary>
/// 查询抽取方案
/// 绩效数据抽取模板
/// </summary>
/// <returns></returns>
[Route("scheme")]
......@@ -34,7 +34,34 @@ public ApiResponse Extract([CustomizeValidator(RuleSet = "Query"), FromBody]ModM
}
/// <summary>
/// 添加绩效抽取模块
/// 费用类型
/// </summary>
/// <returns></returns>
[Route("type")]
[HttpPost]
public ApiResponse FeeType([FromBody]ApiRequest request)
{
var list = modExtractService.FeeType();
return new ApiResponse(ResponseType.OK, list);
}
/// <summary>
/// 绩效考核项费用来源
/// </summary>
/// <returns></returns>
[Route("source")]
[HttpPost]
public ApiResponse FeeSource([FromBody]ModModuleRequest request)
{
if (request.HospitalId == null || request.HospitalId.Value == 0)
return new ApiResponse(ResponseType.ParameterError, "HospitalId 参数错误!");
var list = modExtractService.FeeSource(request);
return new ApiResponse(ResponseType.OK, list);
}
/// <summary>
/// 费用字典新增
/// </summary>
/// <returns></returns>
[Route("addmodule")]
......@@ -49,7 +76,7 @@ public ApiResponse AddModule([CustomizeValidator(RuleSet = "Add"), FromBody]ModM
}
/// <summary>
/// 查询绩效可抽取模块
/// 费用字典
/// </summary>
/// <returns></returns>
[Route("modules")]
......@@ -64,7 +91,7 @@ public ApiResponse Module([CustomizeValidator(RuleSet = "Query"), FromBody]ModMo
}
/// <summary>
/// 修改绩效收取模块
/// 绩效模板修改
/// </summary>
/// <returns></returns>
[Route("editmodule")]
......@@ -79,7 +106,7 @@ public ApiResponse EditModule([FromBody]ModModuleRequest request)
}
/// <summary>
/// 删除绩效抽取模块
/// 绩效模板删除
/// </summary>
/// <returns></returns>
[Route("deletemodule")]
......@@ -94,7 +121,7 @@ public ApiResponse DelModule([FromBody]ModModuleRequest request)
}
/// <summary>
/// 添加Item
/// 绩效收入模板配置项新增
/// </summary>
/// <returns></returns>
[Route("additem")]
......@@ -112,7 +139,7 @@ public ApiResponse AddItem([FromBody]ItemListRequest request)
}
/// <summary>
/// 查询模块中各项
/// 绩效收入模板配置项列表
/// </summary>
/// <returns></returns>
[Route("items")]
......@@ -124,7 +151,7 @@ public ApiResponse Items([FromBody]ModItemRequest request)
}
/// <summary>
/// 修改Item
/// 绩效收入模板配置项修改
/// </summary>
/// <returns></returns>
[Route("edititem")]
......@@ -139,7 +166,7 @@ public ApiResponse EditItem([FromBody]ItemListRequest request)
}
/// <summary>
/// 删除Item
/// 绩效收入模板配置项删除
/// </summary>
/// <returns></returns>
[Route("deleteitem")]
......@@ -154,7 +181,7 @@ public ApiResponse DelItem([FromBody]ModItemRequest request)
}
/// <summary>
/// 添加special项
/// 特殊科室模板配置项新增
/// </summary>
/// <returns></returns>
[Route("addspecial")]
......@@ -172,7 +199,7 @@ public ApiResponse AddSpecial([FromBody]SpecialListRequest request)
}
/// <summary>
/// 查询模块中各项
/// 特殊科室模板配置项列表
/// </summary>
/// <returns></returns>
[Route("specials")]
......@@ -184,7 +211,7 @@ public ApiResponse Specials([FromBody]ModSpecialRequest request)
}
/// <summary>
/// 修改Item
/// 特殊科室模板配置项修改
/// </summary>
/// <returns></returns>
[Route("editspecial")]
......@@ -199,7 +226,7 @@ public ApiResponse EditSpecial([FromBody]SpecialListRequest request)
}
/// <summary>
/// 删除Item
/// 特殊科室模板配置项删除
/// </summary>
/// <returns></returns>
[Route("deletespecial")]
......
......@@ -12,6 +12,7 @@
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\Performance.DtoModels\Performance.DtoModels.csproj" />
<ProjectReference Include="..\Performance.EntityModels\Performance.EntityModels.csproj" />
</ItemGroup>
......
using Performance.DtoModels;
using Performance.EntityModels;
using Performance.Infrastructure;
using Performance.Repository;
using System;
using System.Collections.Generic;
......@@ -33,7 +34,7 @@ public class ModExtractService : IAutoInjection
}
/// <summary>
/// 绩效抽取方案
/// 绩效数据抽取模板
/// </summary>
/// <returns></returns>
public List<TitleValue> ExtractScheme(int hospitalId)
......@@ -47,7 +48,73 @@ public List<TitleValue> ExtractScheme(int hospitalId)
}
/// <summary>
/// 添加新模块
/// 费用类型
/// </summary>
/// <returns></returns>
public List<TitleValue> FeeType()
{
var titlevalue = new List<TitleValue>();
var type = EnumHelper.GetItems<SheetType>().Where(t => new List<int> { (int)SheetType.Income, (int)SheetType.Expend, (int)SheetType.SpecialUnit }.Contains(t.Value));
if (type != null && type.Any())
{
titlevalue = type.Select(t => new TitleValue
{
Title = t.Description,
Value = t.Value.ToString()
}).ToList();
}
return titlevalue;
}
/// <summary>
/// 绩效考核项费用来源
/// </summary>
/// <returns></returns>
public ModFeeResponse FeeSource(ModModuleRequest request)
{
var configList = perforHospitalconfigRepository.GetEntities(t => t.HospitalId == request.HospitalId);
if (configList != null && configList.Any())
{
var hospitalConfig = configList.First();
var connection = ConnectionBuilder.Create(DatabaseType.SqlServer, hospitalConfig.DbSource, hospitalConfig.DbName, hospitalConfig.DbUser, hospitalConfig.DbPassword);
int pagesize = 500, pagenum = 0;
if (request.PageNum != 0)
pagenum = request.PageNum - 1;
if (request.PageSize >= 500 && request.PageSize <= 10000)
pagesize = request.PageSize;
string sql = $"select top {pagesize} t1.* from (select row_number() over(order by charge_name) as rownumber,* from (select min(code) code,charge_name from dic_fee where charge_name is not null and charge_name != '' group by charge_name)t )t1 where rownumber> {pagenum} * {pagesize};";
var dataList = perforExtractRepository.ExecuteScript(connection, sql, null);
if (dataList != null && dataList.Any())
{
var list = new List<TitleValue>();
foreach (var num in dataList.Select(t => t.RowNumber).Distinct())
{
var data = new TitleValue
{
Title = dataList.First(t => t.RowNumber == num && t.ColumnName.ToLower() == "charge_name").Value.ToString(),
Value = dataList.First(t => t.RowNumber == num && t.ColumnName.ToLower() == "code").Value.ToString(),
};
list.Add(data);
}
sql = $"select count(*) num from (select min(code) code,charge_name from dic_fee where charge_name is not null and charge_name != '' group by charge_name)t ;";
connection = ConnectionBuilder.Create(DatabaseType.SqlServer, hospitalConfig.DbSource, hospitalConfig.DbName, hospitalConfig.DbUser, hospitalConfig.DbPassword);
dataList = perforExtractRepository.ExecuteScript(connection, sql, null);
return new ModFeeResponse
{
Total = (int)dataList.FirstOrDefault().Value,
PageNum = pagenum + 1,
PageSize = pagesize,
Data = list
};
}
}
return new ModFeeResponse();
}
/// <summary>
/// 费用字典新增
/// </summary>
/// <returns></returns>
public mod_module AddModule(ModModuleRequest request)
......@@ -64,14 +131,15 @@ public mod_module AddModule(ModModuleRequest request)
throw new PerformanceException("添加失败!");
//收入 默认添加收费项
if (new List<int> { (int)SheetType.Income, (int)SheetType.OtherIncome }.Contains(request.SheetType.Value))
if ((int)SheetType.Income == request.SheetType.Value)
{
var configList = perforHospitalconfigRepository.GetEntities(t => t.HospitalId == request.HospitalId);
if (configList != null && configList.Any())
{
var hospitalConfig = configList.First();
var connection = ConnectionBuilder.Create(DatabaseType.SqlServer, hospitalConfig.DbSource, hospitalConfig.DbName, hospitalConfig.DbUser, hospitalConfig.DbPassword);
var dataList = perforExtractRepository.ExecuteScript(connection, "select distinct category from inpat_fee where category is not null;", null);
string sql = "select distinct category from inpat_fee where category is not null union select distinct category from out_fee where category is not null;";
var dataList = perforExtractRepository.ExecuteScript(connection, sql, null);
if (dataList != null && dataList.Any())
{
var list = dataList.Select(t => new mod_item
......@@ -90,7 +158,7 @@ public mod_module AddModule(ModModuleRequest request)
}
/// <summary>
/// 绩效可抽取模块
/// 费用字典
/// </summary>
/// <returns></returns>
public List<mod_module> Module(int hospitalId)
......@@ -100,7 +168,7 @@ public List<mod_module> Module(int hospitalId)
}
/// <summary>
/// 修改绩效收取模块
/// 绩效模板修改
/// </summary>
/// <returns></returns>
public mod_module EditModule(ModModuleRequest request)
......@@ -119,7 +187,7 @@ public mod_module EditModule(ModModuleRequest request)
}
/// <summary>
/// 删除绩效收取模块
/// 绩效模板删除
/// </summary>
/// <returns></returns>
public void DelModule(int moduleId)
......@@ -145,7 +213,7 @@ public void DelModule(int moduleId)
}
/// <summary>
/// 获取抽取方案子项
/// 绩效收入模板配置项列表
/// </summary>
/// <returns></returns>
public List<mod_item> Items(int moduleId)
......@@ -155,7 +223,7 @@ public List<mod_item> Items(int moduleId)
}
/// <summary>
/// 添加抽取方案子项
/// 绩效收入模板配置项新增
/// </summary>
/// <returns></returns>
public void AddItem(ItemListRequest request)
......@@ -171,7 +239,7 @@ public void AddItem(ItemListRequest request)
}
/// <summary>
/// 修改抽取方案子项
/// 绩效收入模板配置项修改
/// </summary>
/// <returns></returns>
public mod_item EditItem(mod_item entity)
......@@ -188,7 +256,7 @@ public mod_item EditItem(mod_item entity)
}
/// <summary>
/// 删除抽取方案子项
/// 绩效收入模板配置项删除
/// </summary>
/// <returns></returns>
public void DelItem(int itemId)
......@@ -201,7 +269,7 @@ public void DelItem(int itemId)
}
/// <summary>
/// 获取特殊抽取方案子项
/// 特殊科室模板配置项列表
/// </summary>
/// <returns></returns>
public List<mod_special> Special(int hospitalId)
......@@ -211,7 +279,7 @@ public List<mod_special> Special(int hospitalId)
}
/// <summary>
/// 添加抽取方案子项
/// 特殊科室模板配置项新增
/// </summary>
/// <returns></returns>
public void AddSpecial(SpecialListRequest request)
......@@ -223,7 +291,7 @@ public void AddSpecial(SpecialListRequest request)
}
/// <summary>
/// 修改特殊方案子项
/// 特殊科室模板配置项修改
/// </summary>
/// <returns></returns>
public mod_special EditSpecial(mod_special entity)
......@@ -243,7 +311,7 @@ public mod_special EditSpecial(mod_special entity)
}
/// <summary>
/// 删除特殊方案子项
/// 特殊科室模板配置项删除
/// </summary>
/// <returns></returns>
public void DelSpecial(int specialId)
......
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