Commit 94ba042c by lcx

部分修改

parent 8d57d416
......@@ -8,7 +8,7 @@
},
"AppConnection": {
//"PerformanceConnectionString": "server=112.124.13.17;database=db_performance;uid=suvalue;pwd=suvalue2016;pooling=true;charset=utf8;convert zero datetime=true;port=3306;connection timeout=120;max pool size=512;allow user variables=true;",
"PerformanceConnectionString": "server=192.168.18.166;database=db_test_zhangye;uid=root;pwd=1234qwer;pooling=true;charset=utf8;convert zero datetime=true;port=3306;connection timeout=120;max pool size=512;allow user variables=true;",
"PerformanceConnectionString": "server=192.168.18.166;database=db_performance_screen;uid=root;pwd=1234qwer;pooling=true;charset=utf8;convert zero datetime=true;port=3306;connection timeout=120;max pool size=512;allow user variables=true;",
"HangfireConnectionString": "server=192.168.18.166;database=db_hangfire;uid=root;pwd=1234qwer;port=3306;allow user variables=true;",
"RedisConnectionString": "116.62.245.55:6379,defaultDatabase=2"
},
......
......@@ -85,6 +85,10 @@ public enum AllotStates
public enum AgWorkloadType
{
/// <summary>
/// 核算前奖励
/// </summary>
PreAccountingReward = -2,
/// <summary>
/// 单项奖励
/// </summary>
SingleAwards = -1,
......
......@@ -50,7 +50,7 @@ public class WorkloadRequest
/// <summary>
/// 是否是单项奖励
/// </summary>
public bool IsSingleAwards { get; set; }
public AgWorkloadType AgWorkloadType { get; set; }
/// <summary>
/// 工作量带出HIS来源
......
......@@ -259,6 +259,12 @@ public List<SecondColumnDictionary> GetTableHeaderDictionary(ComputeMode compute
{
maps.Add(new SecondColumnDictionary(item.Value, item.Title, false, ++singleAwardsSort, type: "SingleAwards", color: "singleawards_color"));
}
// 核算前奖励
int preAccountingRewardSort = 500;
foreach (var item in loads.Where(w => w.Title.StartsWithIgnoreCase("PreAccountingReward_")))
{
maps.Add(new SecondColumnDictionary(item.Value, item.Title, false, ++preAccountingRewardSort, type: "PreAccountingReward", color: "preaccountingreward_color"));
}
return maps.OrderBy(w => w.Sort).ToList();
}
......
......@@ -1363,15 +1363,7 @@ public List<ag_workload> GetWorkloadList(WorkloadRequest request)
/// <returns></returns>
public bool WorkloadAdd(WorkloadRequest request)
{
Expression<Func<ag_workload, bool>> exp = (t) => t.HospitalId == request.HospitalId && t.Department == request.Department && t.UnitType == request.UnitType;
if (request.IsSingleAwards)
{
exp = exp.And(t => t.ItemId.StartsWith(AgWorkloadType.SingleAwards.ToString()));
}
else
{
exp = exp.And(t => t.ItemId.StartsWith($"{AgWorkloadType.Workload}_"));
}
Expression<Func<ag_workload, bool>> exp = (t) => t.HospitalId == request.HospitalId && t.Department == request.Department && t.UnitType == request.UnitType && t.ItemId.StartsWith($"{request.AgWorkloadType}_");
var workloadList = agworkloadRepository.GetEntities(exp);
if (workloadList != null && workloadList.Any(t => t.ItemName == request.ItemName))
throw new PerformanceException("项目名称重复");
......@@ -1384,12 +1376,12 @@ public bool WorkloadAdd(WorkloadRequest request)
ItemName = request.ItemName,
Sort = request.Sort ?? 1,
SourceCategory = request.SourceCategory,
WorkTypeId = request.IsSingleAwards ? (int)AgWorkloadType.SingleAwards : request.WorkTypeId
WorkTypeId = request.AgWorkloadType == AgWorkloadType.Workload ? request.WorkTypeId : (int)request.AgWorkloadType
};
var result = agworkloadRepository.Add(workload);
if (result)
{
workload.ItemId = getWorkloadItemId.Invoke(request.IsSingleAwards, request.WorkTypeId, workload.Id);
workload.ItemId = getWorkloadItemId.Invoke(request.AgWorkloadType, request.WorkTypeId, workload.Id);
agworkloadRepository.Update(workload);
}
......@@ -1403,15 +1395,7 @@ public bool WorkloadAdd(WorkloadRequest request)
/// <returns></returns>
public bool WorkloadUpdate(WorkloadRequest request)
{
Expression<Func<ag_workload, bool>> exp = (t) => t.HospitalId == request.HospitalId && t.Department == request.Department && t.UnitType == request.UnitType;
if (request.IsSingleAwards)
{
exp = exp.And(t => t.ItemId.StartsWith(AgWorkloadType.SingleAwards.ToString()));
}
else
{
exp = exp.And(t => t.ItemId.StartsWith($"{AgWorkloadType.Workload}_"));
}
Expression<Func<ag_workload, bool>> exp = (t) => t.HospitalId == request.HospitalId && t.Department == request.Department && t.UnitType == request.UnitType && t.ItemId.StartsWith($"{request.AgWorkloadType}_");
var workloadList = agworkloadRepository.GetEntities(exp);
if (workloadList != null && workloadList.Any(t => t.Id != request.Id && t.ItemName == request.ItemName))
throw new PerformanceException("项目名称重复");
......@@ -1424,8 +1408,8 @@ public bool WorkloadUpdate(WorkloadRequest request)
workload.ItemName = request.ItemName;
workload.SourceCategory = request.SourceCategory;
workload.Sort = request.Sort;
workload.ItemId = getWorkloadItemId.Invoke(request.IsSingleAwards, request.WorkTypeId, workload.Id); ;
workload.WorkTypeId = request.IsSingleAwards ? (int)AgWorkloadType.SingleAwards : request.WorkTypeId;
workload.ItemId = getWorkloadItemId.Invoke(request.AgWorkloadType, request.WorkTypeId, workload.Id);
workload.WorkTypeId = request.AgWorkloadType == AgWorkloadType.Workload ? request.WorkTypeId : (int)request.AgWorkloadType;
return agworkloadRepository.Update(workload);
}
......@@ -1433,19 +1417,21 @@ public bool WorkloadUpdate(WorkloadRequest request)
/// <summary>
/// 获取工作量绩效配置的ItemId
/// </summary>
readonly Func<bool, int, int, string> getWorkloadItemId = (isSingleAwards, workTypeId, workloadId) =>
readonly Func<AgWorkloadType, int, int, string> getWorkloadItemId = (agWorkloadType, workTypeId, workloadId) =>
{
/**
* 单项奖励 - SingleAwards_WorkloadId
* 默认工作量类型WorkTypeId=0 - Workload_Default_WorkloadId
* 自定义工作量类型WorkTypeId>0 - Workload_WorkTypeId_WorkloadId
*/
if (isSingleAwards)
return $"{AgWorkloadType.SingleAwards}_{workloadId}";
else
if (agWorkloadType == AgWorkloadType.Workload)
{
return workTypeId == (int)AgWorkloadType.Workload ? $"{AgWorkloadType.Workload}_Default_{workloadId}"
: $"{AgWorkloadType.Workload}_{workTypeId}_{workloadId}";
: $"{AgWorkloadType.Workload}_{workTypeId}_{workloadId}";
}
else
{
return $"{agWorkloadType}_{workloadId}";
}
};
......
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