Commit a9fa3be3 by lcx

Merge branch 'feature/自动执行“加载上月”' into develop

# Conflicts:
#	performance/Performance.Api/Job/JobRegistry.cs
#	performance/Performance.Api/Startup.cs
parents a708b1e2 5928d132
...@@ -234,6 +234,7 @@ public ApiResponse ImportExtraction(int allotId) ...@@ -234,6 +234,7 @@ public ApiResponse ImportExtraction(int allotId)
allot.Remark = EnumHelper.GetDescription(AllotStates.FileUploaded); allot.Remark = EnumHelper.GetDescription(AllotStates.FileUploaded);
allot.UploadDate = DateTime.Now; allot.UploadDate = DateTime.Now;
allot.Generate = (int)AllotGenerate.Init; allot.Generate = (int)AllotGenerate.Init;
allot.IsModifyConfig = 1;
if (!_allotService.Update(allot)) if (!_allotService.Update(allot))
return new ApiResponse(ResponseType.Fail, $"上传成功,修改状态失败"); return new ApiResponse(ResponseType.Fail, $"上传成功,修改状态失败");
_configService.Clear(allot.ID); _configService.Clear(allot.ID);
......
...@@ -394,6 +394,20 @@ public ApiResponse<res_baiscnorm> EditHospitalAvg([FromBody] ComputerAvgRequest ...@@ -394,6 +394,20 @@ public ApiResponse<res_baiscnorm> EditHospitalAvg([FromBody] ComputerAvgRequest
#endregion #endregion
/// <summary> /// <summary>
/// 修改列头显示状态
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
[Route("updateheadersstatus")]
[HttpPost]
public ApiResponse UpdateHeadersStatus([FromBody] ComputerAliasUpdate request)
{
if (_computeService.UpdateHeadersStatus(request))
return new ApiResponse(ResponseType.OK, "修改成功");
return new ApiResponse(ResponseType.OK, "修改失败");
}
/// <summary>
/// 自定义列头 /// 自定义列头
/// </summary> /// </summary>
/// <param name="request"></param> /// <param name="request"></param>
......
...@@ -128,16 +128,17 @@ public ApiResponse Import(int hospitalId, [FromForm] IFormCollection form) ...@@ -128,16 +128,17 @@ public ApiResponse Import(int hospitalId, [FromForm] IFormCollection form)
/// 获取人员标签配置 /// 获取人员标签配置
/// </summary> /// </summary>
/// <param name="hospitalId"></param> /// <param name="hospitalId"></param>
/// <param name="allotId"></param>
/// <returns></returns> /// <returns></returns>
[Route("ReportPersonTag")] [Route("ReportPersonTag")]
[HttpPost] [HttpPost]
public ApiResponse ReportPersonTag(int hospitalId) public ApiResponse ReportPersonTag(int hospitalId, int allotId)
{ {
if (hospitalId<=0) if (hospitalId <= 0)
{ {
return new ApiResponse(ResponseType.Fail,"参数错误", "hospitalId无效"); return new ApiResponse(ResponseType.Fail, "参数错误", "hospitalId无效");
} }
var relust = reportGlobalService.GetReportPersonTag(hospitalId); var relust = reportGlobalService.GetReportPersonTag(hospitalId, allotId);
return new ApiResponse(ResponseType.OK, relust); return new ApiResponse(ResponseType.OK, relust);
} }
...@@ -145,17 +146,20 @@ public ApiResponse ReportPersonTag(int hospitalId) ...@@ -145,17 +146,20 @@ public ApiResponse ReportPersonTag(int hospitalId)
/// 保存科室标签配置 /// 保存科室标签配置
/// </summary> /// </summary>
/// <param name="hospitalId"></param> /// <param name="hospitalId"></param>
/// <param name="allotId"></param>
/// <param name="request"></param> /// <param name="request"></param>
/// <returns></returns> /// <returns></returns>
[Route("saveReportPersonTag")] [Route("saveReportPersonTag/{allotId}")]
[HttpPost] [HttpPost]
public ApiResponse SaveReportPersonTag(int hospitalId,[FromBody] SaveCollectData request) public ApiResponse SaveReportPersonTag(int hospitalId, int allotId, [FromBody] SaveCollectData request)
{ {
if (hospitalId <= 0) if (hospitalId <= 0)
{ {
return new ApiResponse(ResponseType.Fail, "参数错误", "hospitalId无效"); return new ApiResponse(ResponseType.Fail, "参数错误", "hospitalId无效");
} }
reportGlobalService.SaveReportPersonTag(hospitalId,request); var result = reportGlobalService.SaveReportPersonTag(hospitalId, allotId, request);
if (result != null && result.Any())
return new ApiResponse(ResponseType.Fail, $"保存失败:工号{string.Join(", ", result)}不存在");
return new ApiResponse(ResponseType.OK); return new ApiResponse(ResponseType.OK);
} }
......
using FluentScheduler;
using Microsoft.Extensions.Logging;
using Performance.Infrastructure;
using Performance.Repository;
using Performance.Services;
using System;
using System.Linq;
namespace Performance.Api
{
public class AutoSyncConfigJob : IJob
{
private readonly ILogger logger;
private readonly PerforPerallotRepository perallotRepository;
private readonly ConfigService configService;
public AutoSyncConfigJob(
ILogger<AutoSyncConfigJob> logger,
PerforPerallotRepository perallotRepository,
ConfigService configService
)
{
this.logger = logger;
this.perallotRepository = perallotRepository;
this.configService = configService;
}
public void Execute()
{
try
{
logger.LogInformation("开始同步配置");
var list = perallotRepository.GetEntities();
if (list == null || !list.Any()) return;
var hospitalIds = list.Select(t => t.HospitalId).Distinct().OrderBy(t => t);
foreach (var hospitalId in hospitalIds)
{
var allots = list.Where(w => w.HospitalId == hospitalId)?.OrderByDescending(t => t.Year).ThenByDescending(t => t.Month).ToList();
if (allots == null || !allots.Any()) continue;
while (allots != null && allots.Any(w => w.IsModifyConfig == 0))
{
var prevAllot = allots.FirstOrDefault(t => t.IsModifyConfig == 1);
if (prevAllot == null) continue;
var date = ConvertHelper.To<DateTime>($"{prevAllot.Year}-{prevAllot.Month}");
var needSyncData = allots.Where(w => ConvertHelper.To<DateTime>($"{w.Year}-{w.Month}") > date);
if (needSyncData != null && needSyncData.Any())
{
foreach (var item in needSyncData)
configService.CopyCommand(item, prevAllot.ID, true);
}
var noModify = allots.FirstOrDefault(w => ConvertHelper.To<DateTime>($"{w.Year}-{w.Month}") < date && w.IsModifyConfig == 0);
if (noModify != null)
date = ConvertHelper.To<DateTime>($"{noModify.Year}-{noModify.Month}");
allots = allots.Where(w => ConvertHelper.To<DateTime>($"{w.Year}-{w.Month}") <= date)?.ToList();
}
}
logger.LogInformation("同步配置结束");
}
catch (Exception ex)
{
logger.LogError($"同步配置发生异常:" + ex);
}
}
}
}
...@@ -14,6 +14,7 @@ public JobRegistry(IServiceProvider provider) ...@@ -14,6 +14,7 @@ public JobRegistry(IServiceProvider provider)
//Schedule(() => provider.GetService<ClearLoggerJob>()).ToRunNow().AndEvery(60).Seconds(); //Schedule(() => provider.GetService<ClearLoggerJob>()).ToRunNow().AndEvery(60).Seconds();
Schedule(() => provider.GetService<ClearLoggerJob>()).ToRunNow().AndEvery(1).Days().At(3, 00); Schedule(() => provider.GetService<ClearLoggerJob>()).ToRunNow().AndEvery(1).Days().At(3, 00);
Schedule(() => provider.GetService<BackgroundJob>()).ToRunNow().AndEvery(10).Seconds(); Schedule(() => provider.GetService<BackgroundJob>()).ToRunNow().AndEvery(10).Seconds();
Schedule(() => provider.GetService<AutoSyncConfigJob>()).ToRunEvery(1).Days().At(0, 00);
} }
} }
} }
...@@ -103,6 +103,7 @@ public void ConfigureServices(IServiceCollection services) ...@@ -103,6 +103,7 @@ public void ConfigureServices(IServiceCollection services)
services.AddTransient<ExtractDataJob>(); services.AddTransient<ExtractDataJob>();
services.AddTransient<ClearLoggerJob>(); services.AddTransient<ClearLoggerJob>();
services.AddTransient<BackgroundJob>(); services.AddTransient<BackgroundJob>();
services.AddTransient<AutoSyncConfigJob>();
} }
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline. // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
......
...@@ -545,6 +545,13 @@ ...@@ -545,6 +545,13 @@
<param name="request"></param> <param name="request"></param>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:Performance.Api.Controllers.ComputeController.UpdateHeadersStatus(Performance.DtoModels.ComputerAliasUpdate)">
<summary>
修改列头显示状态
</summary>
<param name="request"></param>
<returns></returns>
</member>
<member name="M:Performance.Api.Controllers.ComputeController.CustomColumnHeaders(Performance.DtoModels.ComputerAliasRequest)"> <member name="M:Performance.Api.Controllers.ComputeController.CustomColumnHeaders(Performance.DtoModels.ComputerAliasRequest)">
<summary> <summary>
自定义列头 自定义列头
...@@ -1785,18 +1792,20 @@ ...@@ -1785,18 +1792,20 @@
<param name="form"></param> <param name="form"></param>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:Performance.Api.Controllers.ReportGlobalController.ReportPersonTag(System.Int32)"> <member name="M:Performance.Api.Controllers.ReportGlobalController.ReportPersonTag(System.Int32,System.Int32)">
<summary> <summary>
获取人员标签配置 获取人员标签配置
</summary> </summary>
<param name="hospitalId"></param> <param name="hospitalId"></param>
<param name="allotId"></param>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:Performance.Api.Controllers.ReportGlobalController.SaveReportPersonTag(System.Int32,Performance.DtoModels.SaveCollectData)"> <member name="M:Performance.Api.Controllers.ReportGlobalController.SaveReportPersonTag(System.Int32,System.Int32,Performance.DtoModels.SaveCollectData)">
<summary> <summary>
保存科室标签配置 保存科室标签配置
</summary> </summary>
<param name="hospitalId"></param> <param name="hospitalId"></param>
<param name="allotId"></param>
<param name="request"></param> <param name="request"></param>
<returns></returns> <returns></returns>
</member> </member>
......
...@@ -1715,6 +1715,11 @@ ...@@ -1715,6 +1715,11 @@
状态 1 求和 0 不求和 状态 1 求和 0 不求和
</summary> </summary>
</member> </member>
<member name="P:Performance.EntityModels.cof_alias.Sort">
<summary>
排序
</summary>
</member>
<member name="T:Performance.EntityModels.cof_check"> <member name="T:Performance.EntityModels.cof_check">
<summary> <summary>
上传excel文件校验配置 上传excel文件校验配置
...@@ -5940,6 +5945,11 @@ ...@@ -5940,6 +5945,11 @@
自定义提取绩效数据文件生成路径 自定义提取绩效数据文件生成路径
</summary> </summary>
</member> </member>
<member name="P:Performance.EntityModels.per_allot.IsModifyConfig">
<summary>
是否修改过配置 1修改过 0未修改
</summary>
</member>
<member name="T:Performance.EntityModels.per_apr_amount"> <member name="T:Performance.EntityModels.per_apr_amount">
<summary> <summary>
......
...@@ -54,6 +54,19 @@ public class ComputerAliasRequest ...@@ -54,6 +54,19 @@ public class ComputerAliasRequest
public string[] Heads { get; set; } public string[] Heads { get; set; }
} }
public class ComputerAliasUpdate
{
public int HospitalId { get; set; }
public string Route { get; set; }
public List<ComputerAliasHead> computerAliasHead { get; set; }
}
public class ComputerAliasHead
{
public string Head { get; set; }
public int HeadId { get; set; }
public int Sort { get; set; }
}
public class BeginEndTime public class BeginEndTime
{ {
public string BeginTime { get; set; } // 2021-01 public string BeginTime { get; set; } // 2021-01
......
...@@ -49,10 +49,16 @@ public class cof_alias ...@@ -49,10 +49,16 @@ public class cof_alias
/// <summary> /// <summary>
/// 状态 1 可用 0 禁用 /// 状态 1 可用 0 禁用
/// </summary> /// </summary>
public Nullable<int> States { get; set; } public int States { get; set; }
/// <summary> /// <summary>
/// 状态 1 求和 0 不求和 /// 状态 1 求和 0 不求和
/// </summary> /// </summary>
public Nullable<int> SumStatus { get; set; } public int SumStatus { get; set; }
/// <summary>
/// 排序
/// </summary>
public int Sort { get; set; }
} }
} }
...@@ -100,5 +100,10 @@ public class per_allot ...@@ -100,5 +100,10 @@ public class per_allot
/// 自定义提取绩效数据文件生成路径 /// 自定义提取绩效数据文件生成路径
/// </summary> /// </summary>
public string CustomExtractPath { get; set; } public string CustomExtractPath { get; set; }
/// <summary>
/// 是否修改过配置 1修改过 0未修改
/// </summary>
public int IsModifyConfig { get; set; }
} }
} }
...@@ -940,6 +940,11 @@ public void Copy(per_allot allot) ...@@ -940,6 +940,11 @@ public void Copy(per_allot allot)
int allotId = index + 1 < list.Count ? list[index + 1].ID : list.First().ID; int allotId = index + 1 < list.Count ? list[index + 1].ID : list.First().ID;
if (allotId == allot.ID) allotId = -1; if (allotId == allot.ID) allotId = -1;
CopyCommand(allot, allotId);
}
public void CopyCommand(per_allot allot, int prevAllotId, bool delHistotyData = false)
{
#region 弃用 #region 弃用
//var hospital = perforHospitalRepository.GetEntity(t => t.ID == allot.HospitalId); //var hospital = perforHospitalRepository.GetEntity(t => t.ID == allot.HospitalId);
...@@ -992,13 +997,17 @@ public void Copy(per_allot allot) ...@@ -992,13 +997,17 @@ public void Copy(per_allot allot)
#endregion #endregion
personService.CreateAllotPersons(allot.HospitalId, allot.ID, allotId); var flag = delHistotyData;
personService.CreateAllotPersons(allot.HospitalId, allot.ID, prevAllotId);
logger.LogInformation($"copy workItems"); logger.LogInformation($"copy workItems");
var workItems = _workitemRepository.GetEntities(t => t.AllotID == allot.ID); var workItems = _workitemRepository.GetEntities(t => t.AllotID == allot.ID);
if (workItems == null || !workItems.Any()) if (delHistotyData && workItems != null && workItems.Any())
flag = _workitemRepository.RemoveRange(workItems.ToArray());
if (flag || workItems == null || !workItems.Any())
{ {
workItems = _workitemRepository.GetEntities(t => t.AllotID == allotId) ?? _workitemRepository.GetEntities(t => t.AllotID == -1); workItems = _workitemRepository.GetEntities(t => t.AllotID == prevAllotId) ?? _workitemRepository.GetEntities(t => t.AllotID == -1);
if (workItems != null && workItems.Any()) if (workItems != null && workItems.Any())
{ {
var newWorkItems = workItems.Select(t => new cof_workitem { AllotID = allot.ID, Type = t.Type, Item = t.Item }); var newWorkItems = workItems.Select(t => new cof_workitem { AllotID = allot.ID, Type = t.Type, Item = t.Item });
...@@ -1008,9 +1017,11 @@ public void Copy(per_allot allot) ...@@ -1008,9 +1017,11 @@ public void Copy(per_allot allot)
logger.LogInformation($"copy drugTypes"); logger.LogInformation($"copy drugTypes");
var drugTypes = _drugtypeRepository.GetEntities(t => t.AllotID == allot.ID); var drugTypes = _drugtypeRepository.GetEntities(t => t.AllotID == allot.ID);
if (drugTypes == null || !drugTypes.Any()) if (delHistotyData && drugTypes != null && drugTypes.Any())
flag = _drugtypeRepository.RemoveRange(drugTypes.ToArray());
if (flag || drugTypes == null || !drugTypes.Any())
{ {
drugTypes = _drugtypeRepository.GetEntities(t => t.AllotID == allotId) ?? _drugtypeRepository.GetEntities(t => t.AllotID == -1); drugTypes = _drugtypeRepository.GetEntities(t => t.AllotID == prevAllotId) ?? _drugtypeRepository.GetEntities(t => t.AllotID == -1);
if (drugTypes != null && drugTypes.Any()) if (drugTypes != null && drugTypes.Any())
{ {
var newDrugTypes = drugTypes.Select(t => new cof_drugtype { HospitalId = allot.HospitalId, AllotID = allot.ID, Charge = t.Charge, ChargeType = t.ChargeType }); var newDrugTypes = drugTypes.Select(t => new cof_drugtype { HospitalId = allot.HospitalId, AllotID = allot.ID, Charge = t.Charge, ChargeType = t.ChargeType });
...@@ -1020,9 +1031,11 @@ public void Copy(per_allot allot) ...@@ -1020,9 +1031,11 @@ public void Copy(per_allot allot)
logger.LogInformation($"copy drugTypeDisburses"); logger.LogInformation($"copy drugTypeDisburses");
var drugTypeDisburses = drugtypeDisburseRepository.GetEntities(t => t.AllotID == allot.ID); var drugTypeDisburses = drugtypeDisburseRepository.GetEntities(t => t.AllotID == allot.ID);
if (drugTypeDisburses == null || !drugTypeDisburses.Any()) if (delHistotyData && drugTypeDisburses != null && drugTypeDisburses.Any())
flag = drugtypeDisburseRepository.RemoveRange(drugTypeDisburses.ToArray());
if (flag || drugTypeDisburses == null || !drugTypeDisburses.Any())
{ {
drugTypeDisburses = drugtypeDisburseRepository.GetEntities(t => t.AllotID == allotId) ?? drugtypeDisburseRepository.GetEntities(t => t.AllotID == -1); drugTypeDisburses = drugtypeDisburseRepository.GetEntities(t => t.AllotID == prevAllotId) ?? drugtypeDisburseRepository.GetEntities(t => t.AllotID == -1);
if (drugTypeDisburses != null && drugTypeDisburses.Any()) if (drugTypeDisburses != null && drugTypeDisburses.Any())
{ {
var newDrugTypeDisburses = drugTypeDisburses.Select(t => new cof_drugtype_disburse { HospitalId = allot.HospitalId, AllotID = allot.ID, Charge = t.Charge, ChargeType = t.ChargeType }); var newDrugTypeDisburses = drugTypeDisburses.Select(t => new cof_drugtype_disburse { HospitalId = allot.HospitalId, AllotID = allot.ID, Charge = t.Charge, ChargeType = t.ChargeType });
...@@ -1032,9 +1045,11 @@ public void Copy(per_allot allot) ...@@ -1032,9 +1045,11 @@ public void Copy(per_allot allot)
logger.LogInformation($"copy drugTypeFactors"); logger.LogInformation($"copy drugTypeFactors");
var drugTypeFactors = cofdrugtypefactorRepository.GetEntities(t => t.AllotID == allot.ID); var drugTypeFactors = cofdrugtypefactorRepository.GetEntities(t => t.AllotID == allot.ID);
if (drugTypeFactors == null || !drugTypeFactors.Any()) if (delHistotyData && drugTypeFactors != null && drugTypeFactors.Any())
flag = cofdrugtypefactorRepository.RemoveRange(drugTypeFactors.ToArray());
if (flag || drugTypeFactors == null || !drugTypeFactors.Any())
{ {
drugTypeFactors = cofdrugtypefactorRepository.GetEntities(t => t.AllotID == allotId) ?? cofdrugtypefactorRepository.GetEntities(t => t.AllotID == -1); drugTypeFactors = cofdrugtypefactorRepository.GetEntities(t => t.AllotID == prevAllotId) ?? cofdrugtypefactorRepository.GetEntities(t => t.AllotID == -1);
if (drugTypeFactors != null && drugTypeFactors.Any()) if (drugTypeFactors != null && drugTypeFactors.Any())
{ {
var newDrugtypeFactors = drugTypeFactors.Select(t => new cof_drugtype_factor var newDrugtypeFactors = drugTypeFactors.Select(t => new cof_drugtype_factor
...@@ -1053,9 +1068,11 @@ public void Copy(per_allot allot) ...@@ -1053,9 +1068,11 @@ public void Copy(per_allot allot)
logger.LogInformation($"copy deptTypes"); logger.LogInformation($"copy deptTypes");
var deptTypes = perforCofdepttypeRepository.GetEntities(t => t.AllotID == allot.ID); var deptTypes = perforCofdepttypeRepository.GetEntities(t => t.AllotID == allot.ID);
if (deptTypes == null || !deptTypes.Any()) if (delHistotyData && deptTypes != null && deptTypes.Any())
flag = perforCofdepttypeRepository.RemoveRange(deptTypes.ToArray());
if (flag || deptTypes == null || !deptTypes.Any())
{ {
deptTypes = perforCofdepttypeRepository.GetEntities(t => t.AllotID == allotId) ?? perforCofdepttypeRepository.GetEntities(t => t.AllotID == -1); deptTypes = perforCofdepttypeRepository.GetEntities(t => t.AllotID == prevAllotId) ?? perforCofdepttypeRepository.GetEntities(t => t.AllotID == -1);
if (deptTypes != null && deptTypes.Any()) if (deptTypes != null && deptTypes.Any())
{ {
var newDeptTypes = deptTypes.Select(t => new cof_depttype { AllotID = allot.ID, Charge = t.Charge, ChargeType = t.ChargeType }); var newDeptTypes = deptTypes.Select(t => new cof_depttype { AllotID = allot.ID, Charge = t.Charge, ChargeType = t.ChargeType });
...@@ -1065,9 +1082,11 @@ public void Copy(per_allot allot) ...@@ -1065,9 +1082,11 @@ public void Copy(per_allot allot)
logger.LogInformation($"copy agains"); logger.LogInformation($"copy agains");
var agains = _againRepository.GetEntities(t => t.AllotID == allot.ID); var agains = _againRepository.GetEntities(t => t.AllotID == allot.ID);
if (agains == null || !agains.Any()) if (delHistotyData && agains != null && agains.Any())
flag = _againRepository.RemoveRange(agains.ToArray());
if (flag || agains == null || !agains.Any())
{ {
agains = _againRepository.GetEntities(t => t.AllotID == allotId) ?? _againRepository.GetEntities(t => t.AllotID == -1); agains = _againRepository.GetEntities(t => t.AllotID == prevAllotId) ?? _againRepository.GetEntities(t => t.AllotID == -1);
if (agains != null && agains.Any()) if (agains != null && agains.Any())
{ {
var days = DateTime.DaysInMonth(allot.Year, allot.Month); var days = DateTime.DaysInMonth(allot.Year, allot.Month);
...@@ -1078,9 +1097,11 @@ public void Copy(per_allot allot) ...@@ -1078,9 +1097,11 @@ public void Copy(per_allot allot)
logger.LogInformation($"copy accountings"); logger.LogInformation($"copy accountings");
var accountings = cofaccountingRepository.GetEntities(t => t.AllotId == allot.ID); var accountings = cofaccountingRepository.GetEntities(t => t.AllotId == allot.ID);
if (accountings == null || !accountings.Any()) if (delHistotyData && accountings != null && accountings.Any())
flag = cofaccountingRepository.RemoveRange(accountings.ToArray());
if (flag || accountings == null || !accountings.Any())
{ {
accountings = cofaccountingRepository.GetEntities(t => t.AllotId == allotId) ?? cofaccountingRepository.GetEntities(t => t.AllotId == -1); accountings = cofaccountingRepository.GetEntities(t => t.AllotId == prevAllotId) ?? cofaccountingRepository.GetEntities(t => t.AllotId == -1);
if (accountings != null && accountings.Any()) 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 });
......
...@@ -748,12 +748,12 @@ public bool BathSavePerson(int AllotId, int HospitalId, SaveCollectData request) ...@@ -748,12 +748,12 @@ public bool BathSavePerson(int AllotId, int HospitalId, SaveCollectData request)
var json = JsonHelper.Serialize(item); var json = JsonHelper.Serialize(item);
var data = JsonHelper.Deserialize<per_employee>(json); var data = JsonHelper.Deserialize<per_employee>(json);
if (!string.IsNullOrEmpty(item["AttendanceDay"]) && !string.IsNullOrEmpty(item["ReservedRatio"])) //if (!string.IsNullOrEmpty(item["AttendanceDay"]) && !string.IsNullOrEmpty(item["ReservedRatio"]))
{ //{
decimal attendanceDay = ConvertHelper.To<decimal>(item["AttendanceDay"]), reservedRatio = ConvertHelper.To<decimal>(item["ReservedRatio"]); // decimal attendanceDay = ConvertHelper.To<decimal>(item["AttendanceDay"]), reservedRatio = ConvertHelper.To<decimal>(item["ReservedRatio"]);
if ((!Regex.IsMatch(item["AttendanceDay"], "^(?:[0-2]*[0-9]?|30|31)$")) || (!Regex.IsMatch(item["ReservedRatio"], @"^(0.\d{1,2}|0|1)?$"))) // if ((!Regex.IsMatch(item["AttendanceDay"], "^(?:[0-2]*[0-9]?|30|31)$")) || (!Regex.IsMatch(item["ReservedRatio"], @"^(0.\d{1,2}|0|1)?$")))
return false; // return false;
} //}
var any = employees.Any(w => w.Department?.Trim() == data.Department?.Trim() && w.DoctorName?.Trim() == data.DoctorName?.Trim()); var any = employees.Any(w => w.Department?.Trim() == data.Department?.Trim() && w.DoctorName?.Trim() == data.DoctorName?.Trim());
...@@ -944,15 +944,15 @@ private void DeptDicList(int HospitalId, List<per_dept_dic> deptDics, DeptdicHan ...@@ -944,15 +944,15 @@ private void DeptDicList(int HospitalId, List<per_dept_dic> deptDics, DeptdicHan
(nameof(PersonePassword.Department), "科室名称", t => t.Department), (nameof(PersonePassword.Department), "科室名称", t => t.Department),
(nameof(PersonePassword.DoctorName), "姓名" ,t => t.DoctorName), (nameof(PersonePassword.DoctorName), "姓名" ,t => t.DoctorName),
(nameof(PersonePassword.PersonnelNumber), "员工工号", t => t.PersonnelNumber), (nameof(PersonePassword.PersonnelNumber), "员工工号", t => t.PersonnelNumber),
(nameof(PersonePassword.JobCategory), "正式/临聘", t => t.JobCategory), //(nameof(PersonePassword.JobCategory), "正式/临聘", t => t.JobCategory),
(nameof(PersonePassword.Duty), "职务", t => t.Duty), //(nameof(PersonePassword.Duty), "职务", t => t.Duty),
(nameof(PersonePassword.JobTitle), "职称", t => t.JobTitle), //(nameof(PersonePassword.JobTitle), "职称", t => t.JobTitle),
(nameof(PersonePassword.UnitType), "人员类别", t => t.UnitType), (nameof(PersonePassword.UnitType), "人员类别", t => t.UnitType),
(nameof(PersonePassword.AttendanceDay), "出勤天数", t => t.AttendanceDay), //(nameof(PersonePassword.AttendanceDay), "出勤天数", t => t.AttendanceDay),
(nameof(PersonePassword.ReservedRatio), "预留比例", t => t.ReservedRatio), //(nameof(PersonePassword.ReservedRatio), "预留比例", t => t.ReservedRatio),
(nameof(PersonePassword.BankCard), "银行卡号", t => t.BankCard), //(nameof(PersonePassword.BankCard), "银行卡号", t => t.BankCard),
(nameof(PersonePassword.Password), "密码", t => t.Password), //(nameof(PersonePassword.Password), "密码", t => t.Password),
(nameof(PersonePassword.Remark), "备注", t => t.Remark), //(nameof(PersonePassword.Remark), "备注", t => t.Remark),
}; };
public static List<(string, string, Func<per_employee, object>)> Person { get; } = new List<(string, string, Func<per_employee, object>)> public static List<(string, string, Func<per_employee, object>)> Person { get; } = new List<(string, string, Func<per_employee, object>)>
...@@ -961,14 +961,14 @@ private void DeptDicList(int HospitalId, List<per_dept_dic> deptDics, DeptdicHan ...@@ -961,14 +961,14 @@ private void DeptDicList(int HospitalId, List<per_dept_dic> deptDics, DeptdicHan
(nameof(per_employee.Department), "科室名称", t => t.Department), (nameof(per_employee.Department), "科室名称", t => t.Department),
(nameof(per_employee.DoctorName), "姓名" ,t => t.DoctorName), (nameof(per_employee.DoctorName), "姓名" ,t => t.DoctorName),
(nameof(per_employee.PersonnelNumber), "员工工号", t => t.PersonnelNumber), (nameof(per_employee.PersonnelNumber), "员工工号", t => t.PersonnelNumber),
(nameof(per_employee.JobCategory), "正式/临聘", t => t.JobCategory), //(nameof(per_employee.JobCategory), "正式/临聘", t => t.JobCategory),
(nameof(per_employee.Duty), "职务", t => t.Duty), //(nameof(per_employee.Duty), "职务", t => t.Duty),
(nameof(per_employee.JobTitle), "职称", t => t.JobTitle), //(nameof(per_employee.JobTitle), "职称", t => t.JobTitle),
(nameof(per_employee.UnitType), "人员类别", t => t.UnitType), (nameof(per_employee.UnitType), "人员类别", t => t.UnitType),
(nameof(per_employee.AttendanceDay), "出勤天数", t => t.AttendanceDay), //(nameof(per_employee.AttendanceDay), "出勤天数", t => t.AttendanceDay),
(nameof(per_employee.ReservedRatio), "预留比例", t => t.ReservedRatio), //(nameof(per_employee.ReservedRatio), "预留比例", t => t.ReservedRatio),
(nameof(per_employee.BankCard), "银行卡号", t => t.BankCard), //(nameof(per_employee.BankCard), "银行卡号", t => t.BankCard),
(nameof(per_employee.Remark), "备注", t => t.Remark), //(nameof(per_employee.Remark), "备注", t => t.Remark),
}; };
private static Dictionary<string, string> DeptDic { get; } = new Dictionary<string, string> private static Dictionary<string, string> DeptDic { get; } = new Dictionary<string, string>
......
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