Commit 99e948ca by 李承祥

抽取配置configid

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