Commit 5ee5ce56 by lcx

核算单元及组别添加校验结果

parent a9fa3be3
......@@ -681,13 +681,12 @@ public ApiResponse BatchAccountingStructrue([FromRoute] int allotId)
/// 核算单元及组别批量添加
/// </summary>
/// <param name="allotId"></param>
/// <param name="request"></param>
/// <returns></returns>
[Route("BatchCheckAccounting/{allotId}")]
[HttpPost]
public ApiResponse BatchCheckAccounting(int allotId, [FromBody] SaveCollectData request)
public ApiResponse BatchCheckAccounting(int allotId)
{
var result = _configService.BatchSaveAccounting(allotId, request, false);
_configService.BatchCheckAccounting(allotId);
return new ApiResponse(ResponseType.OK, "校验通过");
}
......
......@@ -804,6 +804,13 @@
<param name="allotId"></param>
<returns></returns>
</member>
<member name="M:Performance.Api.Controllers.ConfigController.BatchCheckAccounting(System.Int32)">
<summary>
核算单元及组别批量添加
</summary>
<param name="allotId"></param>
<returns></returns>
</member>
<member name="M:Performance.Api.Controllers.ConfigController.BatchSaveAccounting(System.Int32,Performance.DtoModels.SaveCollectData)">
<summary>
核算单元及组别批量添加
......@@ -1448,6 +1455,98 @@
</summary>
<returns></returns>
</member>
<member name="M:Performance.Api.Controllers.ModExtractController.GetHospitalConfig(System.Int32)">
<summary>
医院数据库配置列表
</summary>
<param name="hospitalId"></param>
<returns></returns>
</member>
<member name="M:Performance.Api.Controllers.ModExtractController.CreateHospitalConfig(Performance.EntityModels.sys_hospitalconfig)">
<summary>
创建医院数据库配置
</summary>
<param name="hospitalconfig"></param>
<returns></returns>
</member>
<member name="M:Performance.Api.Controllers.ModExtractController.UpdateHospitalConfig(Performance.EntityModels.sys_hospitalconfig)">
<summary>
修改医院数据库配置
</summary>
<param name="hospitalconfig"></param>
<returns></returns>
</member>
<member name="M:Performance.Api.Controllers.ModExtractController.DeleteHospitalConfig(System.Int32)">
<summary>
删除医院数据库配置
</summary>
<param name="hospitalconfigId"></param>
<returns></returns>
</member>
<member name="M:Performance.Api.Controllers.ModExtractController.TestConnectionCleared(System.Int32)">
<summary>
测试连接
</summary>
<param name="hospitalconfigId"></param>
<returns></returns>
</member>
<member name="M:Performance.Api.Controllers.ModExtractController.GetExtractTypeAndScript(System.Int32)">
<summary>
数据提取信息列表
</summary>
<param name="hospitalId"></param>
<returns></returns>
</member>
<member name="M:Performance.Api.Controllers.ModExtractController.GetExtractTypeAndScriptById(System.Int32,System.Int32)">
<summary>
数据提取详情
</summary>
<param name="typeId"></param>
<param name="scriptId"></param>
<returns></returns>
</member>
<member name="M:Performance.Api.Controllers.ModExtractController.DeleteExtractTypeAndScript(System.Int32,System.Int32)">
<summary>
删除提取Sql
</summary>
<param name="typeId"></param>
<param name="scriptId"></param>
<returns></returns>
</member>
<member name="M:Performance.Api.Controllers.ModExtractController.EditExtractTypeAndScript(System.Int32,Performance.DtoModels.ExtractConfigResponse)">
<summary>
保存数据
</summary>
<param name="hospitalId"></param>
<param name="request"></param>
<returns></returns>
</member>
<member name="M:Performance.Api.Controllers.ModExtractController.ExecsqlAndGetResult(Performance.DtoModels.ConsumeTimeRequest)">
<summary>
执行Sql
</summary>
<param name="request"></param>
<returns></returns>
</member>
<member name="M:Performance.Api.Controllers.ModExtractController.GetDatatypes">
<summary>
数据库类型
</summary>
<returns></returns>
</member>
<member name="M:Performance.Api.Controllers.ModExtractController.GetSheettypes">
<summary>
来源类型
</summary>
<returns></returns>
</member>
<member name="M:Performance.Api.Controllers.ModExtractController.GetConfigs(System.Int32)">
<summary>
医院数据库连接配置
</summary>
<param name="hospitalId"></param>
<returns></returns>
</member>
<member name="T:Performance.Api.Controllers.OriginalController">
<summary>
原始数据修改
......@@ -2065,6 +2164,12 @@
<param name="request"></param>
<returns></returns>
</member>
<member name="M:Performance.Api.Controllers.SecondAllotController.RedistributionRollback(System.Int32)">
<summary>
二次绩效撤回提交
</summary>
<returns></returns>
</member>
<member name="M:Performance.Api.Controllers.SecondAllotController.RedistributionEmployee(Performance.DtoModels.SecondEmployeeDto)">
<summary>
二次分配人员字典带出
......@@ -2174,6 +2279,41 @@
<param name="query"></param>
<returns></returns>
</member>
<member name="M:Performance.Api.BackgroundJob.Execute_Allot_Generate(Performance.Services.TaskService,Performance.EntityModels.bg_task)">
<summary>
生成测算表
</summary>
<param name="service"></param>
<param name="task"></param>
</member>
<member name="M:Performance.Api.BackgroundJob.Execute_Allot_Generate_Report(Performance.Services.TaskService,Performance.EntityModels.bg_task)">
<summary>
生成报表
</summary>
<param name="service"></param>
<param name="task"></param>
</member>
<member name="M:Performance.Api.BackgroundJob.Execute_Allot_CustomExtract(Performance.Services.TaskService,Performance.EntityModels.bg_task)">
<summary>
提取绩效数据
</summary>
<param name="service"></param>
<param name="task"></param>
</member>
<member name="M:Performance.Api.BackgroundJob.Timeout(Performance.Services.TaskService,System.Collections.Generic.List{Performance.EntityModels.bg_task})">
<summary>
超时关闭
</summary>
<param name="service"></param>
<param name="tasks"></param>
</member>
<member name="M:Performance.Api.BackgroundJob.Repeat(Performance.Services.TaskService,System.Collections.Generic.List{Performance.EntityModels.bg_task})">
<summary>
重复任务仅执行最后异常
</summary>
<param name="service"></param>
<param name="tasks"></param>
</member>
<member name="T:Performance.Api.ClearLoggerJob">
<summary>
删除历史日志
......
......@@ -1635,6 +1635,16 @@
核算单元编码
</summary>
</member>
<member name="P:Performance.EntityModels.cof_accounting.IsVerify">
<summary>
</summary>
</member>
<member name="P:Performance.EntityModels.cof_accounting.VerifyMessage">
<summary>
</summary>
</member>
<member name="T:Performance.EntityModels.cof_again">
<summary>
......
......@@ -39,5 +39,15 @@ public class cof_accounting
/// 核算单元编码
/// </summary>
public string Code { get; set; }
/// <summary>
///
/// </summary>
public int IsVerify { get; set; }
/// <summary>
///
/// </summary>
public string VerifyMessage { get; set; }
}
}
......@@ -786,7 +786,7 @@ public List<cof_accounting> GetAccountingList(AccoungingRequest request)
if (request.Type == (int)AccountTypeEnum.AccountingUnit && !string.IsNullOrEmpty(request.UnitType))
exp = exp.And(t => t.UnitType.Replace("行政后勤", "行政工勤") == request.UnitType.Replace("行政后勤", "行政工勤"));
return cofaccountingRepository.GetEntities(exp)?.OrderBy(t => ConvertHelper.To<int>(t.Code)).ToList() ?? new List<cof_accounting>();
return cofaccountingRepository.GetEntities(exp)?.OrderBy(t => t.IsVerify).ThenBy(t => ConvertHelper.To<int>(t.Code)).ToList() ?? new List<cof_accounting>();
}
/// <summary>
......@@ -869,7 +869,7 @@ public HandsonTable GetBatchAccountingStructrue(int AllotId)
return result;
}
public bool BatchSaveAccounting(int allotId, SaveCollectData request, bool isSave = true)
public bool BatchSaveAccounting(int allotId, SaveCollectData request)
{
var dicData = CreateDataRow(0, allotId, request, Accounting);
if (dicData == null || !dicData.Any()) throw new PerformanceException("未提交数据");
......@@ -892,8 +892,6 @@ public bool BatchSaveAccounting(int allotId, SaveCollectData request, bool isSav
if (grouped.Any(w => w.Count() > 1)) throw new PerformanceException("核算单元、核算单元类型有重复值");
if (isSave)
{
var delAccounts = new List<cof_accounting>();
foreach (var item in accounts)
......@@ -906,11 +904,58 @@ public bool BatchSaveAccounting(int allotId, SaveCollectData request, bool isSav
cofaccountingRepository.RemoveRange(delAccounts.ToArray());
if (accounts != null && accounts.Any())
{
accounts.ForEach(account =>
{
account.AllotId = allotId;
account.IsVerify = 1;
});
cofaccountingRepository.AddRange(accounts.ToArray());
}
return true;
}
public bool BatchCheckAccounting(int allotId)
{
var accounts = cofaccountingRepository.GetEntities(t => t.AllotId == allotId);
if (accounts == null || !accounts.Any()) return true;
accounts.ForEach(t =>
{
t.IsVerify = 1;
t.VerifyMessage = string.Empty;
});
if (accounts.GroupBy(t => t.Code).Any(w => w.Count() > 1))
{
var items = accounts.GroupBy(t => t.Code).Where(w => w.Count() > 1).SelectMany(w => w.Select(t => t.Id));
foreach (var item in accounts.Where(w => items.Contains(w.Id)))
{
item.IsVerify = 0;
item.VerifyMessage = "核算单元编码重复";
}
}
var grouped = accounts.GroupBy(t => new { t.AccountingUnit, t.UnitType });
if (grouped.Any(w => w.Count() > 1))
{
var items = grouped.Where(w => w.Count() > 1).SelectMany(w => w.Select(t => t.Id));
foreach (var item in accounts.Where(w => items.Contains(w.Id)))
{
var extend = string.IsNullOrEmpty(item.VerifyMessage) ? "" : ";";
item.IsVerify = 0;
item.VerifyMessage += $"{extend}核算单元、核算单元类型重复";
}
}
return cofaccountingRepository.UpdateRange(accounts.ToArray());
}
public static Dictionary<string, string> Accounting { get; } = new Dictionary<string, string>
{
{nameof(cof_accounting.Code), "核算单元编码"},
......@@ -1104,7 +1149,15 @@ public void CopyCommand(per_allot allot, int prevAllotId, bool delHistotyData =
accountings = cofaccountingRepository.GetEntities(t => t.AllotId == prevAllotId) ?? cofaccountingRepository.GetEntities(t => t.AllotId == -1);
if (accountings != null && accountings.Any())
{
var newAccountings = accountings.Select(t => new cof_accounting { AllotId = allot.ID, UnitType = t.UnitType, AccountingUnit = t.AccountingUnit });
var newAccountings = accountings.Select(t => new cof_accounting
{
AllotId = allot.ID,
UnitType = t.UnitType,
AccountingUnit = t.AccountingUnit,
Code = t.Code,
IsVerify = t.IsVerify,
VerifyMessage = t.VerifyMessage
});
cofaccountingRepository.AddRange(newAccountings.ToArray());
}
}
......@@ -1248,7 +1301,15 @@ public void NewCopy(CopyRequest request)
accountings = cofaccountingRepository.GetEntities(t => t.AllotId == allotId) ?? cofaccountingRepository.GetEntities(t => t.AllotId == -1);
if (accountings != null && accountings.Any())
{
var newAccountings = accountings.Select(t => new cof_accounting { AllotId = allot.ID, UnitType = t.UnitType, AccountingUnit = t.AccountingUnit });
var newAccountings = accountings.Select(t => new cof_accounting
{
AllotId = allot.ID,
UnitType = t.UnitType,
AccountingUnit = t.AccountingUnit,
Code = t.Code,
IsVerify = t.IsVerify,
VerifyMessage = t.VerifyMessage
});
cofaccountingRepository.AddRange(newAccountings.ToArray());
}
break;
......
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