Commit 52272462 by ruyun.zhang@suvalue.com

Merge remote-tracking branch 'origin/v2020morge-graphql' into v2020morge-graphql

parents 5dee82b1 e302b475
...@@ -80,7 +80,7 @@ public ApiResponse SaveValue(int secondid, [FromBody] List<ag_fixatitem> request ...@@ -80,7 +80,7 @@ public ApiResponse SaveValue(int secondid, [FromBody] List<ag_fixatitem> request
if (unitTypeCount != 1 || request.Any(t => string.IsNullOrEmpty(t.UnitType))) if (unitTypeCount != 1 || request.Any(t => string.IsNullOrEmpty(t.UnitType)))
throw new PerformanceException("科室类型错误"); throw new PerformanceException("科室类型错误");
var repetition = request.GroupBy(t => new { t.RowNumber, t.ItemName }).Where(t => t.Count() > 1); var repetition = request.GroupBy(t => new { t.RowNumber, t.ItemName, WorkType = t.WorkType ?? 0 }).Where(t => t.Count() > 1);
if (repetition.Any()) if (repetition.Any())
throw new PerformanceException(string.Join(";", repetition.Select(t => $"行{t.Key.RowNumber}项‘{t.Key.ItemName}’重复录入"))); throw new PerformanceException(string.Join(";", repetition.Select(t => $"行{t.Key.RowNumber}项‘{t.Key.ItemName}’重复录入")));
...@@ -405,7 +405,7 @@ public ApiResponse OtherList([FromBody] AgOtherRequest request) ...@@ -405,7 +405,7 @@ public ApiResponse OtherList([FromBody] AgOtherRequest request)
//var result = secondAllotDetails.GetOtherTempData(claimService.GetUserId(), request.SecondId, request.IsArchive, request.EmployeeSource, out decimal? realAmount); //var result = secondAllotDetails.GetOtherTempData(claimService.GetUserId(), request.SecondId, request.IsArchive, request.EmployeeSource, out decimal? realAmount);
var obj = new var obj = new
{ {
header = secondAllotService.OtherListHeader(request.SecondId, result?.Sum(t=>t.RealAmount)), header = secondAllotService.OtherListHeader(request.SecondId, result?.Sum(t => t.RealAmount)),
body = result, body = result,
}; };
return new ApiResponse(ResponseType.OK, obj); return new ApiResponse(ResponseType.OK, obj);
......
...@@ -686,6 +686,11 @@ ...@@ -686,6 +686,11 @@
1 value相加值为1 1 value相加值为1
</summary> </summary>
</member> </member>
<member name="P:Performance.EntityModels.ag_fixatitem.WorkType">
<summary>
</summary>
</member>
<member name="T:Performance.EntityModels.ag_header"> <member name="T:Performance.EntityModels.ag_header">
<summary> <summary>
二次分配不固定列头数据 二次分配不固定列头数据
......
...@@ -75,5 +75,10 @@ public class ag_fixatitem ...@@ -75,5 +75,10 @@ public class ag_fixatitem
/// 1 value相加值为1 /// 1 value相加值为1
/// </summary> /// </summary>
public Nullable<int> SpecialAttr { get; set; } public Nullable<int> SpecialAttr { get; set; }
/// <summary>
///
/// </summary>
public Nullable<int> WorkType { get; set; }
} }
} }
...@@ -254,7 +254,7 @@ public List<BodyItem> GetEmployeeFromSavedData(int userId, ag_secondallot second ...@@ -254,7 +254,7 @@ public List<BodyItem> GetEmployeeFromSavedData(int userId, ag_secondallot second
foreach (var column in otherShowColumns) foreach (var column in otherShowColumns)
{ {
var tableFixedData = new BodyItem(column); var tableFixedData = new BodyItem(column);
var savedData = savedDataList.FirstOrDefault(w => w.RowNumber == rowNumber && w.Type == column.Type && w.ItemName == column.FiledName); var savedData = savedDataList.FirstOrDefault(w => w.RowNumber == rowNumber && w.Type == column.Type && w.ItemName == column.FiledName && w.WorkType == column.WorkType);
if (savedData != null) if (savedData != null)
{ {
tableFixedData.Value = savedData.ItemValue; tableFixedData.Value = savedData.ItemValue;
......
...@@ -145,6 +145,17 @@ public List<SecondListResponse> GetSecondList(int userId) ...@@ -145,6 +145,17 @@ public List<SecondListResponse> GetSecondList(int userId)
t.ShowFormula = allot.ShowFormula; t.ShowFormula = allot.ShowFormula;
} }
}); });
// 暂时在加载列表时补充信息
if (secondList != null && secondList.Any())
{
var worktypes = perforAgworkloadtypeRepository.GetEntities(t => t.HospitalId == hospital.HospitalID && t.Department == secondList.First().Department && t.UnitType == secondList.First().UnitType);
if (worktypes != null && worktypes.Any())
{
worktypes.ForEach(t => AddWorkTypeDefaultValues(t));
}
}
return list; return list;
} }
...@@ -1140,6 +1151,7 @@ public ag_workload_type SaveWorkType(ag_workload_type request, int userId) ...@@ -1140,6 +1151,7 @@ public ag_workload_type SaveWorkType(ag_workload_type request, int userId)
}; };
perforAgworkloadtypeRepository.Add(entity); perforAgworkloadtypeRepository.Add(entity);
} }
AddWorkTypeDefaultValues(entity);
return entity; return entity;
} }
else if (request.Id != entity.Id) else if (request.Id != entity.Id)
...@@ -1148,6 +1160,55 @@ public ag_workload_type SaveWorkType(ag_workload_type request, int userId) ...@@ -1148,6 +1160,55 @@ public ag_workload_type SaveWorkType(ag_workload_type request, int userId)
return request; return request;
} }
private void AddWorkTypeDefaultValues(ag_workload_type type)
{
List<(string, string, int)> defaultValues = new List<(string, string, int)>
{
( "工作量得分", "WorkloadScore" , 1 ),
( "考核得分", "AssessmentScore", 2 ),
( "工作量绩效工资", "WorkPerformance", 3 )
};
List<ag_workload> insertData = new List<ag_workload>();
var workItems = perforAgworkloadRepository.GetEntities(t => t.WorkTypeId == type.Id);
if (workItems == null || !workItems.Any(t => defaultValues.Select(q => q.Item1).Contains(t.ItemName)))
{
insertData = defaultValues.Select(t => new ag_workload
{
HospitalId = type.HospitalId,
Department = type.Department,
UnitType = type.UnitType,
ItemId = t.Item2 + type.Id,
ItemName = t.Item1,
FactorValue = null,
Sort = 100 + t.Item3,
WorkTypeId = type.Id
}).ToList();
}
else
{
foreach (var item in defaultValues)
{
var data = workItems.FirstOrDefault(t => t.ItemName == item.Item1);
if (data == null)
{
insertData.Add(new ag_workload
{
HospitalId = type.HospitalId,
Department = type.Department,
UnitType = type.UnitType,
ItemId = item.Item2 + type.Id,
ItemName = item.Item1,
FactorValue = null,
Sort = 100 + item.Item3,
WorkTypeId = type.Id
});
}
}
}
perforAgworkloadRepository.AddRange(insertData.ToArray());
}
/// <summary> /// <summary>
/// 获取工作量类型列表 /// 获取工作量类型列表
/// </summary> /// </summary>
......
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