Commit f62988ae by 李承祥

绩效考核项费用来源

parent 58010638
...@@ -23,6 +23,11 @@ public class ModModuleRequest : ApiRequest ...@@ -23,6 +23,11 @@ public class ModModuleRequest : ApiRequest
/// <summary> 描述 </summary> /// <summary> 描述 </summary>
public string Description { get; set; } public string Description { get; set; }
public int PageNum { get; set; }
public int PageSize { get; set; }
} }
public class ModModuleRequestValidator : AbstractValidator<ModModuleRequest> 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) ...@@ -19,7 +19,7 @@ public ModExtractController(ModExtractService modExtractService)
} }
/// <summary> /// <summary>
/// 查询抽取方案 /// 绩效数据抽取模板
/// </summary> /// </summary>
/// <returns></returns> /// <returns></returns>
[Route("scheme")] [Route("scheme")]
...@@ -34,7 +34,34 @@ public ApiResponse Extract([CustomizeValidator(RuleSet = "Query"), FromBody]ModM ...@@ -34,7 +34,34 @@ public ApiResponse Extract([CustomizeValidator(RuleSet = "Query"), FromBody]ModM
} }
/// <summary> /// <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> /// </summary>
/// <returns></returns> /// <returns></returns>
[Route("addmodule")] [Route("addmodule")]
...@@ -49,7 +76,7 @@ public ApiResponse AddModule([CustomizeValidator(RuleSet = "Add"), FromBody]ModM ...@@ -49,7 +76,7 @@ public ApiResponse AddModule([CustomizeValidator(RuleSet = "Add"), FromBody]ModM
} }
/// <summary> /// <summary>
/// 查询绩效可抽取模块 /// 费用字典
/// </summary> /// </summary>
/// <returns></returns> /// <returns></returns>
[Route("modules")] [Route("modules")]
...@@ -64,7 +91,7 @@ public ApiResponse Module([CustomizeValidator(RuleSet = "Query"), FromBody]ModMo ...@@ -64,7 +91,7 @@ public ApiResponse Module([CustomizeValidator(RuleSet = "Query"), FromBody]ModMo
} }
/// <summary> /// <summary>
/// 修改绩效收取模块 /// 绩效模板修改
/// </summary> /// </summary>
/// <returns></returns> /// <returns></returns>
[Route("editmodule")] [Route("editmodule")]
...@@ -79,7 +106,7 @@ public ApiResponse EditModule([FromBody]ModModuleRequest request) ...@@ -79,7 +106,7 @@ public ApiResponse EditModule([FromBody]ModModuleRequest request)
} }
/// <summary> /// <summary>
/// 删除绩效抽取模块 /// 绩效模板删除
/// </summary> /// </summary>
/// <returns></returns> /// <returns></returns>
[Route("deletemodule")] [Route("deletemodule")]
...@@ -94,7 +121,7 @@ public ApiResponse DelModule([FromBody]ModModuleRequest request) ...@@ -94,7 +121,7 @@ public ApiResponse DelModule([FromBody]ModModuleRequest request)
} }
/// <summary> /// <summary>
/// 添加Item /// 绩效收入模板配置项新增
/// </summary> /// </summary>
/// <returns></returns> /// <returns></returns>
[Route("additem")] [Route("additem")]
...@@ -112,7 +139,7 @@ public ApiResponse AddItem([FromBody]ItemListRequest request) ...@@ -112,7 +139,7 @@ public ApiResponse AddItem([FromBody]ItemListRequest request)
} }
/// <summary> /// <summary>
/// 查询模块中各项 /// 绩效收入模板配置项列表
/// </summary> /// </summary>
/// <returns></returns> /// <returns></returns>
[Route("items")] [Route("items")]
...@@ -124,7 +151,7 @@ public ApiResponse Items([FromBody]ModItemRequest request) ...@@ -124,7 +151,7 @@ public ApiResponse Items([FromBody]ModItemRequest request)
} }
/// <summary> /// <summary>
/// 修改Item /// 绩效收入模板配置项修改
/// </summary> /// </summary>
/// <returns></returns> /// <returns></returns>
[Route("edititem")] [Route("edititem")]
...@@ -139,7 +166,7 @@ public ApiResponse EditItem([FromBody]ItemListRequest request) ...@@ -139,7 +166,7 @@ public ApiResponse EditItem([FromBody]ItemListRequest request)
} }
/// <summary> /// <summary>
/// 删除Item /// 绩效收入模板配置项删除
/// </summary> /// </summary>
/// <returns></returns> /// <returns></returns>
[Route("deleteitem")] [Route("deleteitem")]
...@@ -154,7 +181,7 @@ public ApiResponse DelItem([FromBody]ModItemRequest request) ...@@ -154,7 +181,7 @@ public ApiResponse DelItem([FromBody]ModItemRequest request)
} }
/// <summary> /// <summary>
/// 添加special项 /// 特殊科室模板配置项新增
/// </summary> /// </summary>
/// <returns></returns> /// <returns></returns>
[Route("addspecial")] [Route("addspecial")]
...@@ -172,7 +199,7 @@ public ApiResponse AddSpecial([FromBody]SpecialListRequest request) ...@@ -172,7 +199,7 @@ public ApiResponse AddSpecial([FromBody]SpecialListRequest request)
} }
/// <summary> /// <summary>
/// 查询模块中各项 /// 特殊科室模板配置项列表
/// </summary> /// </summary>
/// <returns></returns> /// <returns></returns>
[Route("specials")] [Route("specials")]
...@@ -184,7 +211,7 @@ public ApiResponse Specials([FromBody]ModSpecialRequest request) ...@@ -184,7 +211,7 @@ public ApiResponse Specials([FromBody]ModSpecialRequest request)
} }
/// <summary> /// <summary>
/// 修改Item /// 特殊科室模板配置项修改
/// </summary> /// </summary>
/// <returns></returns> /// <returns></returns>
[Route("editspecial")] [Route("editspecial")]
...@@ -199,7 +226,7 @@ public ApiResponse EditSpecial([FromBody]SpecialListRequest request) ...@@ -199,7 +226,7 @@ public ApiResponse EditSpecial([FromBody]SpecialListRequest request)
} }
/// <summary> /// <summary>
/// 删除Item /// 特殊科室模板配置项删除
/// </summary> /// </summary>
/// <returns></returns> /// <returns></returns>
[Route("deletespecial")] [Route("deletespecial")]
......
...@@ -12,6 +12,7 @@ ...@@ -12,6 +12,7 @@
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ProjectReference Include="..\Performance.DtoModels\Performance.DtoModels.csproj" />
<ProjectReference Include="..\Performance.EntityModels\Performance.EntityModels.csproj" /> <ProjectReference Include="..\Performance.EntityModels\Performance.EntityModels.csproj" />
</ItemGroup> </ItemGroup>
......
using Performance.DtoModels; using Performance.DtoModels;
using Performance.EntityModels; using Performance.EntityModels;
using Performance.Infrastructure;
using Performance.Repository; using Performance.Repository;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
...@@ -33,7 +34,7 @@ public class ModExtractService : IAutoInjection ...@@ -33,7 +34,7 @@ public class ModExtractService : IAutoInjection
} }
/// <summary> /// <summary>
/// 绩效抽取方案 /// 绩效数据抽取模板
/// </summary> /// </summary>
/// <returns></returns> /// <returns></returns>
public List<TitleValue> ExtractScheme(int hospitalId) public List<TitleValue> ExtractScheme(int hospitalId)
...@@ -47,7 +48,73 @@ public List<TitleValue> ExtractScheme(int hospitalId) ...@@ -47,7 +48,73 @@ public List<TitleValue> ExtractScheme(int hospitalId)
} }
/// <summary> /// <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> /// </summary>
/// <returns></returns> /// <returns></returns>
public mod_module AddModule(ModModuleRequest request) public mod_module AddModule(ModModuleRequest request)
...@@ -64,14 +131,15 @@ public mod_module AddModule(ModModuleRequest request) ...@@ -64,14 +131,15 @@ public mod_module AddModule(ModModuleRequest request)
throw new PerformanceException("添加失败!"); 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); var configList = perforHospitalconfigRepository.GetEntities(t => t.HospitalId == request.HospitalId);
if (configList != null && configList.Any()) if (configList != null && configList.Any())
{ {
var hospitalConfig = configList.First(); var hospitalConfig = configList.First();
var connection = ConnectionBuilder.Create(DatabaseType.SqlServer, hospitalConfig.DbSource, hospitalConfig.DbName, hospitalConfig.DbUser, hospitalConfig.DbPassword); 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()) if (dataList != null && dataList.Any())
{ {
var list = dataList.Select(t => new mod_item var list = dataList.Select(t => new mod_item
...@@ -90,7 +158,7 @@ public mod_module AddModule(ModModuleRequest request) ...@@ -90,7 +158,7 @@ public mod_module AddModule(ModModuleRequest request)
} }
/// <summary> /// <summary>
/// 绩效可抽取模块 /// 费用字典
/// </summary> /// </summary>
/// <returns></returns> /// <returns></returns>
public List<mod_module> Module(int hospitalId) public List<mod_module> Module(int hospitalId)
...@@ -100,7 +168,7 @@ public List<mod_module> Module(int hospitalId) ...@@ -100,7 +168,7 @@ public List<mod_module> Module(int hospitalId)
} }
/// <summary> /// <summary>
/// 修改绩效收取模块 /// 绩效模板修改
/// </summary> /// </summary>
/// <returns></returns> /// <returns></returns>
public mod_module EditModule(ModModuleRequest request) public mod_module EditModule(ModModuleRequest request)
...@@ -119,7 +187,7 @@ public mod_module EditModule(ModModuleRequest request) ...@@ -119,7 +187,7 @@ public mod_module EditModule(ModModuleRequest request)
} }
/// <summary> /// <summary>
/// 删除绩效收取模块 /// 绩效模板删除
/// </summary> /// </summary>
/// <returns></returns> /// <returns></returns>
public void DelModule(int moduleId) public void DelModule(int moduleId)
...@@ -145,7 +213,7 @@ public void DelModule(int moduleId) ...@@ -145,7 +213,7 @@ public void DelModule(int moduleId)
} }
/// <summary> /// <summary>
/// 获取抽取方案子项 /// 绩效收入模板配置项列表
/// </summary> /// </summary>
/// <returns></returns> /// <returns></returns>
public List<mod_item> Items(int moduleId) public List<mod_item> Items(int moduleId)
...@@ -155,7 +223,7 @@ public List<mod_item> Items(int moduleId) ...@@ -155,7 +223,7 @@ public List<mod_item> Items(int moduleId)
} }
/// <summary> /// <summary>
/// 添加抽取方案子项 /// 绩效收入模板配置项新增
/// </summary> /// </summary>
/// <returns></returns> /// <returns></returns>
public void AddItem(ItemListRequest request) public void AddItem(ItemListRequest request)
...@@ -171,7 +239,7 @@ public void AddItem(ItemListRequest request) ...@@ -171,7 +239,7 @@ public void AddItem(ItemListRequest request)
} }
/// <summary> /// <summary>
/// 修改抽取方案子项 /// 绩效收入模板配置项修改
/// </summary> /// </summary>
/// <returns></returns> /// <returns></returns>
public mod_item EditItem(mod_item entity) public mod_item EditItem(mod_item entity)
...@@ -188,7 +256,7 @@ public mod_item EditItem(mod_item entity) ...@@ -188,7 +256,7 @@ public mod_item EditItem(mod_item entity)
} }
/// <summary> /// <summary>
/// 删除抽取方案子项 /// 绩效收入模板配置项删除
/// </summary> /// </summary>
/// <returns></returns> /// <returns></returns>
public void DelItem(int itemId) public void DelItem(int itemId)
...@@ -201,7 +269,7 @@ public void DelItem(int itemId) ...@@ -201,7 +269,7 @@ public void DelItem(int itemId)
} }
/// <summary> /// <summary>
/// 获取特殊抽取方案子项 /// 特殊科室模板配置项列表
/// </summary> /// </summary>
/// <returns></returns> /// <returns></returns>
public List<mod_special> Special(int hospitalId) public List<mod_special> Special(int hospitalId)
...@@ -211,7 +279,7 @@ public List<mod_special> Special(int hospitalId) ...@@ -211,7 +279,7 @@ public List<mod_special> Special(int hospitalId)
} }
/// <summary> /// <summary>
/// 添加抽取方案子项 /// 特殊科室模板配置项新增
/// </summary> /// </summary>
/// <returns></returns> /// <returns></returns>
public void AddSpecial(SpecialListRequest request) public void AddSpecial(SpecialListRequest request)
...@@ -223,7 +291,7 @@ public void AddSpecial(SpecialListRequest request) ...@@ -223,7 +291,7 @@ public void AddSpecial(SpecialListRequest request)
} }
/// <summary> /// <summary>
/// 修改特殊方案子项 /// 特殊科室模板配置项修改
/// </summary> /// </summary>
/// <returns></returns> /// <returns></returns>
public mod_special EditSpecial(mod_special entity) public mod_special EditSpecial(mod_special entity)
...@@ -243,7 +311,7 @@ public mod_special EditSpecial(mod_special entity) ...@@ -243,7 +311,7 @@ public mod_special EditSpecial(mod_special entity)
} }
/// <summary> /// <summary>
/// 删除特殊方案子项 /// 特殊科室模板配置项删除
/// </summary> /// </summary>
/// <returns></returns> /// <returns></returns>
public void DelSpecial(int specialId) 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