Commit 99e948ca by 李承祥

抽取配置configid

parent 95fdbc8b
...@@ -2085,11 +2085,6 @@ ...@@ -2085,11 +2085,6 @@
是否可用 1 可用 2 不可用 是否可用 1 可用 2 不可用
</summary> </summary>
</member> </member>
<member name="P:Performance.EntityModels.mod_extract.ConfigId">
<summary>
数据库地址
</summary>
</member>
<member name="T:Performance.EntityModels.mod_item"> <member name="T:Performance.EntityModels.mod_item">
<summary> <summary>
...@@ -2130,6 +2125,11 @@ ...@@ -2130,6 +2125,11 @@
抽取绩效值SQL 抽取绩效值SQL
</summary> </summary>
</member> </member>
<member name="P:Performance.EntityModels.mod_item.ConfigId">
<summary>
数据库地址
</summary>
</member>
<member name="P:Performance.EntityModels.mod_item.SelectionRange"> <member name="P:Performance.EntityModels.mod_item.SelectionRange">
<summary> <summary>
用户选定抽取范围 用户选定抽取范围
...@@ -2175,6 +2175,11 @@ ...@@ -2175,6 +2175,11 @@
提取脚本ID 提取脚本ID
</summary> </summary>
</member> </member>
<member name="P:Performance.EntityModels.mod_module.ConfigId">
<summary>
数据库地址
</summary>
</member>
<member name="P:Performance.EntityModels.mod_module.ReadOnly"> <member name="P:Performance.EntityModels.mod_module.ReadOnly">
<summary> <summary>
只读 0、否 1、是 只读 0、否 1、是
...@@ -2225,6 +2230,11 @@ ...@@ -2225,6 +2230,11 @@
抽取绩效值SQL 抽取绩效值SQL
</summary> </summary>
</member> </member>
<member name="P:Performance.EntityModels.mod_special.ConfigId">
<summary>
数据库地址
</summary>
</member>
<member name="T:Performance.EntityModels.per_againallot"> <member name="T:Performance.EntityModels.per_againallot">
<summary> <summary>
...@@ -3170,6 +3180,11 @@ ...@@ -3170,6 +3180,11 @@
</summary> </summary>
</member> </member>
<member name="P:Performance.EntityModels.sys_hospitalconfig.ConfigName">
<summary>
</summary>
</member>
<member name="P:Performance.EntityModels.sys_hospitalconfig.DbSource"> <member name="P:Performance.EntityModels.sys_hospitalconfig.DbSource">
<summary> <summary>
......
...@@ -15,6 +15,11 @@ public class ModModuleRequest ...@@ -15,6 +15,11 @@ public class ModModuleRequest
public Nullable<int> ExtractId { get; set; } public Nullable<int> ExtractId { get; set; }
/// <summary>
/// 数据库地址
/// </summary>
public Nullable<int> ConfigId { get; set; }
/// <summary> 类型 </summary> /// <summary> 类型 </summary>
public Nullable<int> SheetType { get; set; } public Nullable<int> SheetType { get; set; }
......
...@@ -55,10 +55,5 @@ public class mod_extract ...@@ -55,10 +55,5 @@ public class mod_extract
/// 是否可用 1 可用 2 不可用 /// 是否可用 1 可用 2 不可用
/// </summary> /// </summary>
public Nullable<int> IsEnable { get; set; } public Nullable<int> IsEnable { get; set; }
/// <summary>
/// 数据库地址
/// </summary>
public int ConfigId { get; set; }
} }
} }
...@@ -52,6 +52,11 @@ public class mod_item ...@@ -52,6 +52,11 @@ public class mod_item
public Nullable<int> ExtractId { get; set; } public Nullable<int> ExtractId { get; set; }
/// <summary> /// <summary>
/// 数据库地址
/// </summary>
public Nullable<int> ConfigId { get; set; }
/// <summary>
/// 用户选定抽取范围 /// 用户选定抽取范围
/// </summary> /// </summary>
public string SelectionRange { get; set; } public string SelectionRange { get; set; }
......
...@@ -47,6 +47,11 @@ public class mod_module ...@@ -47,6 +47,11 @@ public class mod_module
public Nullable<int> ExtractId { get; set; } public Nullable<int> ExtractId { get; set; }
/// <summary> /// <summary>
/// 数据库地址
/// </summary>
public Nullable<int> ConfigId { get; set; }
/// <summary>
/// 只读 0、否 1、是 /// 只读 0、否 1、是
/// </summary> /// </summary>
public Nullable<int> ReadOnly { get; set; } public Nullable<int> ReadOnly { get; set; }
......
...@@ -50,5 +50,10 @@ public class mod_special ...@@ -50,5 +50,10 @@ public class mod_special
/// 抽取绩效值SQL /// 抽取绩效值SQL
/// </summary> /// </summary>
public Nullable<int> ExtractId { get; set; } public Nullable<int> ExtractId { get; set; }
/// <summary>
/// 数据库地址
/// </summary>
public Nullable<int> ConfigId { get; set; }
} }
} }
...@@ -29,6 +29,11 @@ public class sys_hospitalconfig ...@@ -29,6 +29,11 @@ public class sys_hospitalconfig
/// <summary> /// <summary>
/// ///
/// </summary> /// </summary>
public string ConfigName { get; set; }
/// <summary>
///
/// </summary>
public string DbSource { get; set; } public string DbSource { get; set; }
/// <summary> /// <summary>
......
...@@ -395,7 +395,10 @@ private void WriteOtherIncome(ISheet sheet, IPerSheetDataRead sheetRead, List<Ac ...@@ -395,7 +395,10 @@ private void WriteOtherIncome(ISheet sheet, IPerSheetDataRead sheetRead, List<Ac
{ {
logManageService.WriteMsg("提取绩效数据", $"执行SQL脚本获取数据 -- {module.ModuleName}", 1, Allot.ID, "ReceiveMessage"); logManageService.WriteMsg("提取绩效数据", $"执行SQL脚本获取数据 -- {module.ModuleName}", 1, Allot.ID, "ReceiveMessage");
LogHelper.Information($"执行SQL脚本获取数据 -- {module.ModuleName},", "提取绩效数据"); LogHelper.Information($"执行SQL脚本获取数据 -- {module.ModuleName},", "提取绩效数据");
var result = QueryDatabase(configs, item, Allot, moditem.ItemName);
var config = configs.FirstOrDefault(t => t.Id == moditem.ConfigId);
if (config == null) continue;
var result = QueryDatabase(config, item, Allot, moditem.ItemName);
if (result != null) if (result != null)
allExtract.AddRange(result); allExtract.AddRange(result);
} }
...@@ -425,7 +428,9 @@ private void WriteIncome(ISheet sheet, IPerSheetDataRead sheetRead, List<Account ...@@ -425,7 +428,9 @@ private void WriteIncome(ISheet sheet, IPerSheetDataRead sheetRead, List<Account
logManageService.WriteMsg("提取绩效数据", $"执行SQL脚本获取数据 -- {module.ModuleName}", 1, Allot.ID, "ReceiveMessage"); logManageService.WriteMsg("提取绩效数据", $"执行SQL脚本获取数据 -- {module.ModuleName}", 1, Allot.ID, "ReceiveMessage");
LogHelper.Information($"执行SQL脚本获取数据 -- {module.ModuleName}", "提取绩效数据"); LogHelper.Information($"执行SQL脚本获取数据 -- {module.ModuleName}", "提取绩效数据");
var result = QueryDatabase(configs, item, Allot); var config = configs.FirstOrDefault(t => t.Id == module.ConfigId);
if (config == null) continue;
var result = QueryDatabase(config, item, Allot);
if (result != null) if (result != null)
allExtract.AddRange(result); allExtract.AddRange(result);
} }
...@@ -489,7 +494,10 @@ private void WriteWorkload(ISheet sheet, IPerSheetDataRead sheetRead, List<Accou ...@@ -489,7 +494,10 @@ private void WriteWorkload(ISheet sheet, IPerSheetDataRead sheetRead, List<Accou
{ {
logManageService.WriteMsg("提取绩效数据", $"执行SQL脚本获取数据 -- {module.ModuleName}", 1, Allot.ID, "ReceiveMessage"); logManageService.WriteMsg("提取绩效数据", $"执行SQL脚本获取数据 -- {module.ModuleName}", 1, Allot.ID, "ReceiveMessage");
LogHelper.Information($"执行SQL脚本获取数据 -- {module.ModuleName},", "提取绩效数据"); LogHelper.Information($"执行SQL脚本获取数据 -- {module.ModuleName},", "提取绩效数据");
var result = QueryDatabase(configs, item, Allot, moditem.ItemName);
var config = configs.FirstOrDefault(t => t.Id == moditem.ConfigId);
if (config == null) continue;
var result = QueryDatabase(config, item, Allot, moditem.ItemName);
if (result != null) if (result != null)
allExtract.AddRange(result); allExtract.AddRange(result);
} }
...@@ -602,25 +610,23 @@ private void WriteSpecialUnit(ISheet sheet, IPerSheetDataRead sheetRead, List<sy ...@@ -602,25 +610,23 @@ private void WriteSpecialUnit(ISheet sheet, IPerSheetDataRead sheetRead, List<sy
var speaialList = specials?.OrderBy(t => t.Department).ToList(); var speaialList = specials?.OrderBy(t => t.Department).ToList();
if (speaialList == null || !speaialList.Any()) return; if (speaialList == null || !speaialList.Any()) return;
//List<im_specialunit> allotDataList = new List<im_specialunit>();
//if (allotLast != null)
// allotDataList = perforImspecialunitRepository.GetEntities(t => t.AllotID == allotLast.ID);
//查询数据 //查询数据
var extractIdList = speaialList.Select(t => t.ExtractId).Distinct().ToList(); var extractIdList = speaialList.Select(t => t.ExtractId).Distinct().ToList();
var extractList = extracts.Where(t => extractIdList.Contains(t.Id)).ToList(); var extractList = extracts.Where(t => extractIdList.Contains(t.Id)).ToList();
//if (extractList == null || extractList.Count == 0) return;
List<ExtractDto> allExtract = new List<ExtractDto>(); List<ExtractDto> allExtract = new List<ExtractDto>();
foreach (var item in extractList) foreach (var item in extractList)
{ {
var category = speaialList.Where(t => t.ExtractId == item.Id); var category = speaialList.Where(t => t.ExtractId == item.Id);
if (category == null || category.Count() == 0) continue; if (category == null || category.Count() == 0) continue;
foreach (var moditem in category) foreach (var specialitem in category)
{ {
logManageService.WriteMsg("提取绩效数据", $"执行SQL脚本获取数据 -- 特殊核算单元绩效测算表", 1, Allot.ID, "ReceiveMessage"); logManageService.WriteMsg("提取绩效数据", $"执行SQL脚本获取数据 -- 特殊核算单元绩效测算表", 1, Allot.ID, "ReceiveMessage");
LogHelper.Information($"执行SQL脚本获取数据 -- 特殊核算单元绩效测算表,", "提取绩效数据"); LogHelper.Information($"执行SQL脚本获取数据 -- 特殊核算单元绩效测算表,", "提取绩效数据");
var result = QueryDatabase(configs, item, Allot, moditem.Target);
var config = configs.FirstOrDefault(t => t.Id == specialitem.ConfigId);
if (config == null) continue;
var result = QueryDatabase(config, item, Allot, specialitem.Target);
if (result != null) if (result != null)
allExtract.AddRange(result); allExtract.AddRange(result);
} }
...@@ -774,10 +780,10 @@ private void WriteSheetData(ISheet sheet, IPerSheetDataRead sheetRead, List<Acco ...@@ -774,10 +780,10 @@ private void WriteSheetData(ISheet sheet, IPerSheetDataRead sheetRead, List<Acco
#region QueryData #region QueryData
private List<ExtractDto> QueryDatabase(List<sys_hospitalconfig> hospitalConfigList, mod_extract extract, per_allot allot, string category = null) private List<ExtractDto> QueryDatabase(sys_hospitalconfig config, mod_extract extract, per_allot allot, string category = null)
{ {
var config = hospitalConfigList.FirstOrDefault(t => t.Id == extract.ConfigId); //var config = configs.FirstOrDefault(t => t.Id == extract.ConfigId);
if (config == null) return null; //if (config == null) return null;
string executeScript = extract.ExecuteScript; string executeScript = extract.ExecuteScript;
var parameters = GetParameters(allot); var parameters = GetParameters(allot);
using (var connection = ConnectionBuilder.Create((DatabaseType)config.DataBaseType, config.DbSource, config.DbName, config.DbUser, config.DbPassword)) using (var connection = ConnectionBuilder.Create((DatabaseType)config.DataBaseType, config.DbSource, config.DbName, config.DbUser, config.DbPassword))
......
...@@ -196,6 +196,7 @@ public mod_module EditModule(ModModuleRequest request) ...@@ -196,6 +196,7 @@ public mod_module EditModule(ModModuleRequest request)
entity.SheetType = request.SheetType; entity.SheetType = request.SheetType;
entity.Description = request.Description; entity.Description = request.Description;
entity.ExtractId = request.ExtractId; entity.ExtractId = request.ExtractId;
entity.ConfigId = request.ConfigId;
if (!perforModmoduleRepository.Update(entity)) if (!perforModmoduleRepository.Update(entity))
throw new PerformanceException("修改失败!"); throw new PerformanceException("修改失败!");
...@@ -276,6 +277,7 @@ public mod_item EditItem(mod_item entity) ...@@ -276,6 +277,7 @@ public mod_item EditItem(mod_item entity)
item.FactorValue3 = entity.FactorValue3; item.FactorValue3 = entity.FactorValue3;
item.ExtractId = entity.ExtractId; item.ExtractId = entity.ExtractId;
item.SelectionRange = entity.SelectionRange; item.SelectionRange = entity.SelectionRange;
item.ConfigId = entity.ConfigId;
if (!perforModitemRepository.Update(item)) if (!perforModitemRepository.Update(item))
throw new PerformanceException("修改失败!"); throw new PerformanceException("修改失败!");
...@@ -333,6 +335,7 @@ public mod_special EditSpecial(mod_special entity) ...@@ -333,6 +335,7 @@ public mod_special EditSpecial(mod_special entity)
special.Target = entity.Target; special.Target = entity.Target;
special.TargetFactor = entity.TargetFactor; special.TargetFactor = entity.TargetFactor;
special.AdjustFactor = entity.AdjustFactor; special.AdjustFactor = entity.AdjustFactor;
special.ConfigId = entity.ConfigId;
if (!perforModspecialRepository.Update(special)) if (!perforModspecialRepository.Update(special))
throw new PerformanceException("修改失败!"); throw new PerformanceException("修改失败!");
......
...@@ -265,7 +265,10 @@ private void WriteOtherIncome(ISheet sheet, int hospitalId, List<AccountUnitEnti ...@@ -265,7 +265,10 @@ private void WriteOtherIncome(ISheet sheet, int hospitalId, List<AccountUnitEnti
{ {
logManageService.WriteMsg("提取绩效数据", $"执行SQL脚本获取数据 -- {module.ModuleName}", 1, AllotId, "ReceiveMessage"); logManageService.WriteMsg("提取绩效数据", $"执行SQL脚本获取数据 -- {module.ModuleName}", 1, AllotId, "ReceiveMessage");
LogHelper.Information($"执行SQL脚本获取数据 -- {module.ModuleName},", "提取绩效数据"); LogHelper.Information($"执行SQL脚本获取数据 -- {module.ModuleName},", "提取绩效数据");
var result = QueryDatabase(hospitalConfigList, item, allot, moditem.ItemName);
var config = hospitalConfigList.FirstOrDefault(t => t.Id == moditem.ConfigId);
if (config == null) continue;
var result = QueryDatabase(config, item, allot, moditem.ItemName);
if (result != null) if (result != null)
allExtract.AddRange(result); allExtract.AddRange(result);
} }
...@@ -370,7 +373,10 @@ private void WriteIncome(ISheet sheet, int hospitalId, List<AccountUnitEntity> u ...@@ -370,7 +373,10 @@ private void WriteIncome(ISheet sheet, int hospitalId, List<AccountUnitEntity> u
{ {
logManageService.WriteMsg("提取绩效数据", $"执行SQL脚本获取数据 -- {module.ModuleName}", 1, AllotId, "ReceiveMessage"); logManageService.WriteMsg("提取绩效数据", $"执行SQL脚本获取数据 -- {module.ModuleName}", 1, AllotId, "ReceiveMessage");
LogHelper.Information($"执行SQL脚本获取数据 -- {module.ModuleName}", "提取绩效数据"); LogHelper.Information($"执行SQL脚本获取数据 -- {module.ModuleName}", "提取绩效数据");
var result = QueryDatabase(hospitalConfigList, item, allot);
var config = hospitalConfigList.FirstOrDefault(t => t.Id == module.ConfigId);
if (config == null) continue;
var result = QueryDatabase(config, item, allot);
if (result != null) if (result != null)
allExtract.AddRange(result); allExtract.AddRange(result);
} }
...@@ -493,7 +499,10 @@ private void WriteWorkload(ISheet sheet, int hospitalId, List<AccountUnitEntity> ...@@ -493,7 +499,10 @@ private void WriteWorkload(ISheet sheet, int hospitalId, List<AccountUnitEntity>
{ {
logManageService.WriteMsg("提取绩效数据", $"执行SQL脚本获取数据 -- {module.ModuleName}", 1, AllotId, "ReceiveMessage"); logManageService.WriteMsg("提取绩效数据", $"执行SQL脚本获取数据 -- {module.ModuleName}", 1, AllotId, "ReceiveMessage");
LogHelper.Information($"执行SQL脚本获取数据 -- {module.ModuleName},", "提取绩效数据"); LogHelper.Information($"执行SQL脚本获取数据 -- {module.ModuleName},", "提取绩效数据");
var result = QueryDatabase(hospitalConfigList, item, allot, moditem.ItemName);
var config = hospitalConfigList.FirstOrDefault(t => t.Id == moditem.ConfigId);
if (config == null) continue;
var result = QueryDatabase(config, item, allot, moditem.ItemName);
if (result != null) if (result != null)
allExtract.AddRange(result); allExtract.AddRange(result);
} }
...@@ -541,10 +550,10 @@ private void WriteWorkload(ISheet sheet, int hospitalId, List<AccountUnitEntity> ...@@ -541,10 +550,10 @@ private void WriteWorkload(ISheet sheet, int hospitalId, List<AccountUnitEntity>
} }
} }
private List<ExtractDto> QueryDatabase(List<sys_hospitalconfig> hospitalConfigList, mod_extract extract, per_allot allot, string category = null) private List<ExtractDto> QueryDatabase(sys_hospitalconfig config, mod_extract extract, per_allot allot, string category = null)
{ {
var config = hospitalConfigList.FirstOrDefault(t => t.Id == extract.ConfigId); //var config = hospitalConfigList.FirstOrDefault(t => t.Id == extract.ConfigId);
if (config == null) return null; //if (config == null) return null;
string executeScript = extract.ExecuteScript; string executeScript = extract.ExecuteScript;
var parameters = GetParameters(allot); var parameters = GetParameters(allot);
using (var connection = ConnectionBuilder.Create((DatabaseType)config.DataBaseType, config.DbSource, config.DbName, config.DbUser, config.DbPassword)) using (var connection = ConnectionBuilder.Create((DatabaseType)config.DataBaseType, config.DbSource, config.DbName, config.DbUser, config.DbPassword))
...@@ -693,7 +702,10 @@ private void WriteSpecialUnit(ISheet sheet, int hospitalId, per_allot allot, IPe ...@@ -693,7 +702,10 @@ private void WriteSpecialUnit(ISheet sheet, int hospitalId, per_allot allot, IPe
{ {
logManageService.WriteMsg("提取绩效数据", $"执行SQL脚本获取数据 -- 特殊核算单元绩效测算表", 1, AllotId, "ReceiveMessage"); logManageService.WriteMsg("提取绩效数据", $"执行SQL脚本获取数据 -- 特殊核算单元绩效测算表", 1, AllotId, "ReceiveMessage");
LogHelper.Information($"执行SQL脚本获取数据 -- 特殊核算单元绩效测算表,", "提取绩效数据"); LogHelper.Information($"执行SQL脚本获取数据 -- 特殊核算单元绩效测算表,", "提取绩效数据");
var result = QueryDatabase(hospitalConfigList, item, allot, moditem.Target);
var config = hospitalConfigList.FirstOrDefault(t => t.Id == moditem.ConfigId);
if (config == null) continue;
var result = QueryDatabase(config, item, allot, moditem.Target);
if (result != null) if (result != null)
allExtract.AddRange(result); allExtract.AddRange(result);
} }
......
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