Commit 288d2aaf by lcx

保存列名

parent 4685600d
...@@ -2019,51 +2019,47 @@ public bool UpdateHeadersStatus(ComputerAliasUpdate request) ...@@ -2019,51 +2019,47 @@ public bool UpdateHeadersStatus(ComputerAliasUpdate request)
// 数据库中无数据 // 数据库中无数据
if (hasreq && !hasdata) if (hasreq && !hasdata)
{ {
var items = request.computerAliasHead.Select(t => t.Head.ToLower());
var items = heads.Where(w => request.computerAliasHead.Select(t => t.Head).Contains(w.Alias)); var data = heads.Select(t => new cof_alias
{
var data = items.Select(t => new cof_alias Route = request.Route,
{ Alias = t.Alias,
Route = request.Route, OriginalName = t.Alias,
Alias = t.Alias, HospitalId = request.HospitalId,
OriginalName = t.Alias, Name = t.Name,
HospitalId = request.HospitalId, States = items.Contains(t.Alias ?? "") ? 1 : 0,
Name = t.Name, SumStatus = t.SumStatus
States = 1, });
SumStatus = t.SumStatus
});
cofaliasRepository.AddRange(data.ToArray()); cofaliasRepository.AddRange(data.ToArray());
} }
// 未提交数据 // 未提交数据
else if (!hasreq && hasdata) else if (!hasreq && hasdata)
{ {
list.ForEach(t => t.States = 1); list.ForEach(t => t.States = 0);
cofaliasRepository.UpdateRange(list.ToArray()); cofaliasRepository.UpdateRange(list.ToArray());
} }
// 修改 && 新增 // 修改 && 新增
else if (hasreq && hasdata) else if (hasreq && hasdata)
{ {
list.ForEach(t => var headIds = request.computerAliasHead.Select(t => t.HeadId);
{ if (list.Any(w => headIds.Contains(w.Id)))
t.States = 0;
});
cofaliasRepository.UpdateRange(list.ToArray());
if (list.Any(w => request.computerAliasHead.Select(t => t.HeadId).Contains(w.Id)))
{ {
var updata = list.Where(w => request.computerAliasHead.Select(t => t.HeadId).Contains(w.Id)).ToList(); list.ForEach(t =>
updata.ForEach(t =>
{ {
t.States = 1; if (headIds.Contains(t.Id))
t.Alias = request.computerAliasHead.FirstOrDefault(w => w.HeadId == t.Id).Head; {
t.States = 1;
t.Alias = request.computerAliasHead.FirstOrDefault(w => w.HeadId == t.Id).Head;
}
else
t.States = 0;
}); });
cofaliasRepository.UpdateRange(list.ToArray()); cofaliasRepository.UpdateRange(list.ToArray());
} }
if (request.computerAliasHead.Any(w => w.HeadId == 0)) if (headIds.Any(w => w == 0))
{ {
var table = cofaliasRepository.GetEntities(w => w.Route == request.Route); var table = cofaliasRepository.GetEntities(w => w.Route == request.Route);
var items = heads.Where(w => request.computerAliasHead.Where(w => w.HeadId == 0).Select(t => t.Head).Contains(w.Alias)); var items = heads.Where(w => request.computerAliasHead.Where(w => w.HeadId == 0).Select(t => t.Head).Contains(w.Alias));
...@@ -2093,11 +2089,6 @@ public bool UpdateHeadersStatus(ComputerAliasUpdate request) ...@@ -2093,11 +2089,6 @@ public bool UpdateHeadersStatus(ComputerAliasUpdate request)
/// <returns></returns> /// <returns></returns>
public List<cof_alias> CustomColumnHeaders(int hospitalId, string route, params string[] heads) public List<cof_alias> CustomColumnHeaders(int hospitalId, string route, params string[] heads)
{ {
var init = new List<cof_alias>();
var alias = cofaliasRepository.GetEntities(t => t.HospitalId == hospitalId) ?? new List<cof_alias>();
alias = alias.Where(t => t.Route.Equals(route, StringComparison.OrdinalIgnoreCase)).OrderBy(w => w.Id).ToList() ?? new List<cof_alias>();
var pairs = new Dictionary<string, List<cof_alias>> var pairs = new Dictionary<string, List<cof_alias>>
{ {
{ "/result/compute" , ComputeConfig.AllComputeView }, { "/result/compute" , ComputeConfig.AllComputeView },
...@@ -2113,7 +2104,12 @@ public List<cof_alias> CustomColumnHeaders(int hospitalId, string route, params ...@@ -2113,7 +2104,12 @@ public List<cof_alias> CustomColumnHeaders(int hospitalId, string route, params
{ "/report/wholehospital_finance_grant_summary" , ComputeConfig.PerformanceTotal(route,heads) }, { "/report/wholehospital_finance_grant_summary" , ComputeConfig.PerformanceTotal(route,heads) },
}; };
init = pairs.ContainsKey(route.ToLower()) ? pairs[route.ToLower()] : new List<cof_alias>(); var init = pairs.ContainsKey(route.ToLower()) ? pairs[route.ToLower()] : new List<cof_alias>();
var alias = cofaliasRepository.GetEntities(t => t.HospitalId == hospitalId && t.Route.Equals(route, StringComparison.OrdinalIgnoreCase))?.OrderBy(w => w.Id).ToList()
?? new List<cof_alias>();
if (alias == null || !alias.Any()) return init;
foreach (var item in alias) foreach (var item in alias)
{ {
...@@ -2132,46 +2128,6 @@ public List<cof_alias> CustomColumnHeaders(int hospitalId, string route, params ...@@ -2132,46 +2128,6 @@ public List<cof_alias> CustomColumnHeaders(int hospitalId, string route, params
} }
}; };
/*if (alias == null || alias.Count == 0)
{
var pairs = new Dictionary<string, List<cof_alias>>
{
{ "/result/compute" , ComputeConfig.AllComputeView },
{ "/result/wholehospital" , ComputeConfig.AllComputePersonView },
{ "/result/print/compute" , ComputeConfig.AllComputeDepartmentView },
{ "/report/wholehospital_grant" , ComputeConfig.AllComputeViewByDate },
{ "/report/wholehospital_accounting_grant" , ComputeConfig.AllComputeDepartmentViewByDate },
{ "/report/wholehospital_finance_grant" , ComputeConfig.AllComputePersonViewByDate },
{ "/report/wholehospital_grant_summary" , ComputeConfig.PerformanceTotal(route,heads) },
{ "/report/wholehospital_accounting_grant_summary" , ComputeConfig.PerformanceTotal(route,heads) },
{ "/report/wholehospital_finance_grant_summary" , ComputeConfig.PerformanceTotal(route,heads) },
};
init = pairs.ContainsKey(route.ToLower()) ? pairs[route.ToLower()] : new List<cof_alias>();
}
if (alias != null && alias.Count > 0)
{
foreach (var item in alias)
{
var x = init.FirstOrDefault(w => w.Name.Equals(item.Name, StringComparison.OrdinalIgnoreCase));
if (x == null)
{
init.Add(item);
}
else
{
x.HospitalId = hospitalId;
x.Route = route;
x.Alias = item.Alias;
x.States = item.States;
}
}
}*/
return init; return init;
} }
......
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