Commit 92f7f024 by lcx

worktype赋值时,去除部分过滤条件

parent c1d74936
......@@ -308,7 +308,7 @@ public SecondResponse GetSecondDetail(UseTempRequest request)
//检验 二次绩效配置 数据是否 有值,无则补充带出
FillData(second, result.BodyItems);
SupplyHeaderByWorkItem(request, result, second);
SupplyHeaderByWorkItem(request, result, second, fixatList?.Where(t => t.RowNumber == -1));
return new SecondResponse
{
......@@ -436,18 +436,13 @@ private void FillData(ag_secondallot second, List<BodyItem> bodyItems)
/// </summary>
/// <param name="request"></param>
/// <param name="result"></param>
private void SupplyHeaderByWorkItem(UseTempRequest request, SecondResponse result, ag_secondallot second)
private void SupplyHeaderByWorkItem(UseTempRequest request, SecondResponse result, ag_secondallot second, IEnumerable<ag_fixatitem> fixatitems)
{
var workitem = perforAgworkloadRepository.GetEntities(t => t.HospitalId == request.HospitalId && t.Department == request.Department
&& t.UnitType == request.UnitType && !EnumHelper.GetItems<AgWorkloadType>().Select(type => type.Value).Contains(t.WorkTypeId));
//var workitem = perforAgworkloadRepository.GetEntities(t => t.HospitalId == request.HospitalId && t.Department == request.Department
//&& t.UnitType == request.UnitType && t.WorkTypeId != (int)AgWorkloadType.SingleAwards);
if (workitem == null || !workitem.Any(t => t.Id > 0))
return;
var unit = second.UnitType == UnitType.医技组.ToString() ? UnitType.医生组.ToString() : second.UnitType;
var deptHeader = perforAgworkloadtypeRepository.GetEntities(t => request.HospitalId == t.HospitalId && t.Department == second.Department && t.UnitType == unit);
if (deptHeader == null || !deptHeader.Any())
return;
//if (workitem == null || !workitem.Any(t => t.Id > 0))
// return;
//不包含工作量绩效
if (!result.HeadItems.Select(t => t.FiledId).Contains("PerformanceShareTheWorkload"))
......@@ -476,22 +471,27 @@ private void SupplyHeaderByWorkItem(UseTempRequest request, SecondResponse resul
var headerItems = new List<HeadItem>();
int sortindex = 1;
foreach (var item in deptHeader)
var unit = second.UnitType == UnitType.医技组.ToString() ? UnitType.医生组.ToString() : second.UnitType;
var deptHeader = perforAgworkloadtypeRepository.GetEntities(t => request.HospitalId == t.HospitalId && t.Department == second.Department && t.UnitType == unit);
if (deptHeader != null && deptHeader.Any())
{
if (item.HospitalId == 0) continue;
for (int i = 0; i < headers.Length; i++)
int sortindex = 1;
foreach (var item in deptHeader)
{
var headItem = (HeadItem)headers[i].Clone();
headItem.FiledName = (i % 2 == 0) ? item.TypeName : item.TypeName.Replace("占比", "金额");
if (i % 2 != 0 && !headItem.FiledName.EndsWith("金额"))
headItem.FiledName += "金额";
headItem.FiledId += item.Id;
headItem.Sort = maxSortValue + sortindex;
headItem.WorkType = item.Id;
headerItems.Add(headItem);
sortindex++;
if (item.HospitalId == 0) continue;
for (int i = 0; i < headers.Length; i++)
{
var headItem = (HeadItem)headers[i].Clone();
headItem.FiledName = (i % 2 == 0) ? item.TypeName : item.TypeName.Replace("占比", "金额");
if (i % 2 != 0 && !headItem.FiledName.EndsWith("金额"))
headItem.FiledName += "金额";
headItem.FiledId += item.Id;
headItem.Sort = maxSortValue + sortindex;
headItem.WorkType = item.Id;
headerItems.Add(headItem);
sortindex++;
}
}
}
var defauleHeader = new List<ag_workload_type>
......@@ -521,6 +521,8 @@ private void SupplyHeaderByWorkItem(UseTempRequest request, SecondResponse resul
result.HeadItems.Add(item);
var body = Mapper.Map<BodyItem>(item);
body.RowNumber = rownumber;
if (fixatitems != null && fixatitems.Any(t => t.ItemName == item.FiledName))
body.Value = fixatitems.FirstOrDefault(t => t.ItemName == item.FiledName).ItemValue;
result.BodyItems.Add(body);
}
}
......@@ -605,12 +607,13 @@ public bool DelValue(List<ag_fixatitem> fixatlist, List<ag_fixatitem> fixatitems
int flag = fixatlist.RemoveAll(t => !groupData.Select(w => w.Id).Contains(t.ID));
result = perforAgfixatitemRepository.RemoveRange(delData.ToArray());
}
// 删除行号不存在的数据
var saveRows = fixatitems.Select(t => t.RowNumber).Distinct();
var delRows = fixatlist.Select(t => t.RowNumber).Distinct().Except(saveRows);
if (delRows != null && delRows.Count() > 0)
result = perforAgfixatitemRepository.RemoveRange(fixatlist.Where(t => delRows.Contains(t.RowNumber)).ToArray());
}
// 删除行号不存在的数据
var saveRows = fixatitems.Select(t => t.RowNumber).Distinct();
var delRows = fixatlist.Select(t => t.RowNumber).Distinct().Except(saveRows);
if (delRows != null && delRows.Count() > 0)
result = perforAgfixatitemRepository.RemoveRange(fixatlist.Where(t => delRows.Contains(t.RowNumber)).ToArray());
return 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