EI-Image-Viewer-Api/IRaCIS.Core.Application/Service/WorkLoad/WorkloadDistributionService.cs

574 lines
28 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

//using IRaCIS.Application.Contracts;
//using IRaCIS.Core.Application.Contracts;
//using System.Linq.Expressions;
//using IRaCIS.Core.Infrastructure.ExpressionExtend;
//using IRaCIS.Core.Infra.EFCore;
//using IRaCIS.Core.Domain.Models;
//using IRaCIS.Core.Domain.Share;
//using IRaCIS.Core.Infrastructure.Extention;
//using Microsoft.AspNetCore.Mvc;
//namespace IRaCIS.Core.Application.Services
//{
// /// <summary>
// /// TP、Global、AD 工作量分配查看
// /// </summary>
// [ ApiExplorerSettings(GroupName = "Trial")]
//#pragma warning disable
// public class WorkloadDistributionService : BaseService, IWorkloadDistributionService
// {
// private readonly IWorkloadTPRepository _workloadTpRepository;
// private readonly IWorkloadGlobalRepository _workloadGlobalRepository;
// private readonly IWorkloadADRepository _workloadAdRepository;
// private readonly IRepository<SubjectVisit> _subjectVisitRepository;
// private readonly IRepository<DicomStudy> _studyRepository;
// private readonly IRepository<Doctor> _doctorRepository;
// private readonly IRepository<Subject> _subjectRepository;
// private readonly IRepository<Site> _siteRepository;
// private readonly IWorkloadDetailRepository _workloadDetailRepository;
// public WorkloadDistributionService(IWorkloadTPRepository workloadTpRepository,
// IWorkloadGlobalRepository workloadGlobalRepository,
// IWorkloadADRepository workloadAdRepository,
// IRepository<SubjectVisit> subjectVisitRepository, IRepository<DicomStudy> studyRepository,
// IRepository<Doctor> doctorRepository, IRepository<Subject> subjectRepository,
// IRepository<Site> siteRepository,
// IWorkloadDetailRepository workloadDetailRepository,
// IUserInfo userInfo)
// {
// _workloadTpRepository = workloadTpRepository;
// _workloadGlobalRepository = workloadGlobalRepository;
// _workloadAdRepository = workloadAdRepository;
// _subjectVisitRepository = subjectVisitRepository;
// _studyRepository = studyRepository;
// _doctorRepository = doctorRepository;
// _subjectRepository = subjectRepository;
// _siteRepository = siteRepository;
// _workloadDetailRepository = workloadDetailRepository;
// }
// /// <summary>
// /// 批量分配Tp
// /// </summary>
// /// <param name="workloadTPCommand"></param>
// /// <returns></returns>
// [HttpPost]
// public IResponseOutput DistributeTP(WorkloadTPCommand workloadTPCommand)
// {
// //当前采用的是没有提示到具体的TP如有需要在修改下
// var studyIdList = workloadTPCommand.TpList.Select(u => u.StudyId);
// var temp = _workloadTpRepository.Where(u => studyIdList.Contains(u.StudyId) && u.ReviewerId == workloadTPCommand.ReviewerId);
// if (temp.Any() )
// {
// return ResponseOutput.NotOk("The TPs of different Arms of the same subject couldn't be assigned to the same reviewer.");
// }
// var success = false;
// workloadTPCommand.TpList.ForEach(t =>
// {
// _workloadDetailRepository.Add(new WorkloadDetail
// {
// WorkloadId = t.Id,
// OptUserName = _userInfo.RealName,
// OptTime = DateTime.Now,
// Status = (int)WorkloadStatus.Distributed,
// ReviewerId = workloadTPCommand.ReviewerId
// });
// _workloadDetailRepository.SaveChanges();
// success = _workloadTpRepository.Update(u => u.Id == t.Id, k => new WorkloadTP()
// {
// ReviewerId = workloadTPCommand.ReviewerId,
// Status = (int)WorkloadStatus.Distributed
// });
// });
// return ResponseOutput.Result(success);
// }
// /// <summary>
// /// 批量分配AD
// /// </summary>
// /// <param name="workloadTPCommand"></param>
// /// <returns></returns>
// [HttpPost]
// public IResponseOutput DistributeAD(WorkloadAdCommand workloadTPCommand)
// {
// var success = false;
// workloadTPCommand.IdList.ForEach(t =>
// {
// _workloadDetailRepository.Add(new WorkloadDetail
// {
// WorkloadId = t,
// OptUserName = _userInfo.RealName,
// OptTime = DateTime.Now,
// Status = (int)WorkloadStatus.Distributed,
// ReviewerId = workloadTPCommand.ReviewerId
// });
// _workloadDetailRepository.SaveChanges();
// success = _workloadAdRepository.Update(u => u.Id == t, k => new WorkloadAD()
// {
// ReviewerId = workloadTPCommand.ReviewerId,
// Status = (int)WorkloadStatus.Distributed
// });
// });
// return ResponseOutput.Result(success);
// }
// /// <summary>
// /// 批量分配Global
// /// </summary>
// /// <param name="workloadGCommand"></param>
// /// <returns></returns>
// [HttpPost]
// public IResponseOutput DistributeGlobal(WorkloadGlobalCommand workloadGCommand)
// {
// var temp = _workloadGlobalRepository.Where(u => workloadGCommand.GlobalList.Select(s => s.SubjectId).Contains(u.SubjectId)
// && workloadGCommand.GlobalList.Select(s => s.VisitNum).Contains(u.VisitNum) &&
// u.ReviewerId == workloadGCommand.ReviewerId);
// if (temp.Any())
// {
// return ResponseOutput.NotOk("The Globals of different Arms of the same subject couldn't be assigned to the same reviewer.");
// }
// var success = false;
// workloadGCommand.GlobalList.ForEach(t =>
// {
// _workloadDetailRepository.Add(new WorkloadDetail
// {
// WorkloadId = t.Id,
// OptUserName = _userInfo.RealName,
// OptTime = DateTime.Now,
// Status = (int)WorkloadStatus.Distributed,
// ReviewerId = workloadGCommand.ReviewerId
// });
// _workloadDetailRepository.SaveChanges();
// success = _workloadGlobalRepository.Update(u => u.Id == t.Id, k => new WorkloadGlobal()
// {
// ReviewerId = workloadGCommand.ReviewerId,
// Status = (int)WorkloadStatus.Distributed
// });
// });
// return ResponseOutput.Result(success);
// }
// [HttpPost]
// public PageOutput<WorkloadGlobalDTO> GetWorkloadGlobalList(WorkloadDistributionQueryParam param)
// {
// IQueryable<WorkloadGlobalDTO> query = null;
// Expression<Func<WorkloadGlobal, bool>> workloadTPLambda = x => x.TrialId == param.TrialId;
// if (param.SiteId != null)
// {
// workloadTPLambda = workloadTPLambda.And(t => t.SiteId == param.SiteId);
// }
// if (param.Status != null)
// {
// workloadTPLambda = workloadTPLambda.And(t => t.Status == param.Status);
// }
// if (!string.IsNullOrEmpty(param.WorkloadCode))
// {
// var globalCode = param.WorkloadCode.Trim();
// workloadTPLambda = workloadTPLambda.And(t => t.GlobalCode.Contains(globalCode));
// }
// if (param.GroupId != null && param.GroupId > 0)
// {
// var groupCode = "G0" + param.GroupId;
// workloadTPLambda = workloadTPLambda.And(t => t.GlobalCode.Contains(groupCode));
// }
// Expression<Func<Subject, bool>> subjectLambda = x => x.TrialId == param.TrialId;
// if (!string.IsNullOrEmpty(param.SubjectCode))
// {
// var subjectCode = param.SubjectCode.Trim();
// subjectLambda = subjectLambda.And(t => t.Code.Contains(subjectCode));
// }
// Expression<Func<Doctor, bool>> doctorLambda = x => true;
// if (!string.IsNullOrEmpty(param.Reviewer))
// {
// var reviewer = param.Reviewer.Trim();
// doctorLambda = doctorLambda.And(t => t.ChineseName.Contains(reviewer)
// || t.FirstName.Contains(reviewer) || t.LastName.Contains(reviewer));
// query = from workloadG in _workloadGlobalRepository.Where(workloadTPLambda)
// join subject in _subjectRepository.Where(subjectLambda) on workloadG.SubjectId equals subject.Id
// join site in _siteRepository.AsQueryable() on workloadG.SiteId equals site.Id
// join doctor in _doctorRepository.Where(doctorLambda) on workloadG.ReviewerId equals doctor.Id
// select new WorkloadGlobalDTO()
// {
// Id = workloadG.Id,
// ReviewerCode = doctor.ReviewerCode,
// ReviewerChineseName = doctor.ChineseName,
// ReviewerFirstName = doctor.FirstName,
// ReviewerId = doctor.Id,
// ReviewerLastName = doctor.LastName,
// SiteId = workloadG.SiteId,
// SiteName = site.SiteName,
// Status = workloadG.Status,
// GlobalCode = workloadG.GlobalCode,
// SubjectCode = subject.Code,
// VisitId = workloadG.VisitId,
// UpdateTime = workloadG.UpdateTime,
// SubjectId = workloadG.SubjectId,
// VisitNum = workloadG.VisitNum,
// VisitName = workloadG.VisitName
// };
// }
// else
// {
// query = from workloadG in _workloadGlobalRepository.Where(workloadTPLambda)
// join subject in _subjectRepository.Where(subjectLambda) on workloadG.SubjectId equals subject.Id
// join site in _siteRepository.AsQueryable() on workloadG.SiteId equals site.Id
// join doctor in _doctorRepository.Where(doctorLambda) on workloadG.ReviewerId equals doctor.Id into cc
// from doctor in cc.DefaultIfEmpty()
// select new WorkloadGlobalDTO()
// {
// Id = workloadG.Id,
// ReviewerCode = doctor.ReviewerCode,
// ReviewerChineseName = doctor.ChineseName,
// ReviewerFirstName = doctor.FirstName,
// ReviewerId = doctor.Id,
// ReviewerLastName = doctor.LastName,
// SiteId = workloadG.SiteId,
// SiteName = site.SiteName,
// Status = workloadG.Status,
// GlobalCode = workloadG.GlobalCode,
// SubjectCode = subject.Code,
// VisitId = workloadG.VisitId,
// UpdateTime = workloadG.UpdateTime,
// SubjectId = workloadG.SubjectId,
// VisitNum = workloadG.VisitNum,
// VisitName = workloadG.VisitName
// };
// }
// var count = query.Count();
// var propName = param.SortField == string.Empty ? "GlobalCode" : param.SortField;
// query = param.Asc
// ? query.OrderBy(propName).ThenBy(t => t.SiteName).ThenBy(t => t.SubjectCode)
// : query.OrderByDescending(propName).ThenBy(t => t.SiteName).ThenBy(t => t.SubjectCode);
// query = query.Skip((param.PageIndex - 1) * param.PageSize).Take(param.PageSize);
// var list = query.ToList();
// return new PageOutput<WorkloadGlobalDTO>(param.PageIndex,
// param.PageSize, count, list);
// }
// [HttpPost]
// public PageOutput<WorkloadADDTO> GetWorkloadADList(WorkloadDistributionQueryParam param)
// {
// IQueryable<WorkloadADDTO> query = null;
// Expression<Func<WorkloadAD, bool>> workloadAdLambda = x => x.TrialId == param.TrialId;
// if (param.SiteId != null)
// {
// workloadAdLambda = workloadAdLambda.And(t => t.SiteId == param.SiteId);
// }
// if (param.Status != null)
// {
// workloadAdLambda = workloadAdLambda.And(t => t.Status == param.Status);
// }
// if (!string.IsNullOrEmpty(param.WorkloadCode))
// {
// var adCode = param.WorkloadCode.Trim();
// workloadAdLambda = workloadAdLambda.And(t => t.ADCode.Contains(adCode));
// }
// Expression<Func<Subject, bool>> subjectLambda = x => x.TrialId == param.TrialId;
// if (!string.IsNullOrEmpty(param.SubjectCode))
// {
// var subjectCode = param.SubjectCode.Trim();
// subjectLambda = subjectLambda.And(t => t.Code.Contains(subjectCode));
// }
// Expression<Func<Doctor, bool>> doctorLambda = x => true;
// if (!string.IsNullOrEmpty(param.Reviewer))
// {
// var reviewer = param.Reviewer.Trim();
// doctorLambda = doctorLambda.And(t => t.ChineseName.Contains(reviewer)
// || t.FirstName.Contains(reviewer) || t.LastName.Contains(reviewer));
// query = from workloadAd in _workloadAdRepository.Where(workloadAdLambda)
// join subject in _subjectRepository.Where(subjectLambda) on workloadAd.SubjectId equals subject.Id
// join site in _siteRepository.AsQueryable() on workloadAd.SiteId equals site.Id
// join doctor in _doctorRepository.Where(doctorLambda) on workloadAd.ReviewerId equals doctor.Id
// select new WorkloadADDTO()
// {
// Id = workloadAd.Id,
// ReviewerCode = doctor.ReviewerCode,
// ReviewerChineseName = doctor.ChineseName,
// ReviewerFirstName = doctor.FirstName,
// ReviewerId = doctor.Id,
// ReviewerLastName = doctor.LastName,
// SiteId = workloadAd.SiteId,
// SiteName = site.SiteName,
// Status = workloadAd.Status,
// ADCode = workloadAd.ADCode,
// SubjectCode = subject.Code,
// SubjectId = workloadAd.SubjectId,
// UpdateTime = workloadAd.UpdateTime
// };
// }
// else
// {
// query = from workloadAd in _workloadAdRepository.Where(workloadAdLambda)
// join subject in _subjectRepository.Where(subjectLambda) on workloadAd.SubjectId equals subject.Id
// join site in _siteRepository.AsQueryable() on workloadAd.SiteId equals site.Id
// join doctor in _doctorRepository.Where(doctorLambda) on workloadAd.ReviewerId equals doctor.Id into cc
// from doctor in cc.DefaultIfEmpty()
// select new WorkloadADDTO()
// {
// Id = workloadAd.Id,
// ReviewerCode = doctor.ReviewerCode,
// ReviewerChineseName = doctor.ChineseName,
// ReviewerFirstName = doctor.FirstName,
// ReviewerId = doctor.Id,
// ReviewerLastName = doctor.LastName,
// SiteId = workloadAd.SiteId,
// SiteName = site.SiteName,
// Status = workloadAd.Status,
// ADCode = workloadAd.ADCode,
// SubjectCode = subject.Code,
// SubjectId = workloadAd.SubjectId,
// UpdateTime = workloadAd.UpdateTime
// };
// }
// var count = query.Count();
// var propName = param.SortField == string.Empty ? "ADCode" : param.SortField;
// query = param.Asc
// ? query.OrderBy(propName).ThenBy(t => t.SiteName).ThenBy(t => t.SubjectCode)
// : query.OrderByDescending(propName).ThenBy(t => t.SiteName).ThenBy(t => t.SubjectCode);
// query = query.Skip((param.PageIndex - 1) * param.PageSize).Take(param.PageSize);
// var list = query.ToList();
// return new PageOutput<WorkloadADDTO>(param.PageIndex,
// param.PageSize, count, list);
// }
// [HttpPost]
// public PageOutput<WorkloadTPDTO> GetWorkloadTPList(WorkloadDistributionQueryParam param)
// {
// IQueryable<WorkloadTPDTO> query = null;
// Expression<Func<WorkloadTP, bool>> workloadTPLambda = x => x.TrialId == param.TrialId;
// if (param.SiteId != null)
// {
// workloadTPLambda = workloadTPLambda.And(t => t.SiteId == param.SiteId);
// }
// if (param.Status != null)
// {
// workloadTPLambda = workloadTPLambda.And(t => t.Status == param.Status);
// }
// if (!string.IsNullOrEmpty(param.WorkloadCode))
// {
// var timepoint = param.WorkloadCode.Trim();
// workloadTPLambda = workloadTPLambda.And(t => t.TimepointCode.Contains(timepoint));
// }
// if (param.GroupId != null && param.GroupId > 0)
// {
// var groupCode = "T0" + param.GroupId;
// workloadTPLambda = workloadTPLambda.And(t => t.TimepointCode.Contains(groupCode));
// }
// Expression<Func<Subject, bool>> subjectLambda = x => x.TrialId == param.TrialId;
// if (!string.IsNullOrEmpty(param.SubjectCode))
// {
// var subjectCode = param.SubjectCode.Trim();
// subjectLambda = subjectLambda.And(t => t.Code.Contains(subjectCode));
// }
// Expression<Func<Doctor, bool>> doctorLambda = x => true;
// if (!string.IsNullOrEmpty(param.Reviewer))
// {
// var reviewer = param.Reviewer.Trim();
// doctorLambda = doctorLambda.And(t => t.ChineseName.Contains(reviewer)
// || t.FirstName.Contains(reviewer) || t.LastName.Contains(reviewer));
// query = from workloadTp in _workloadTpRepository.Where(workloadTPLambda)
// join subject in _subjectRepository.Where(subjectLambda) on workloadTp.SubjectId equals subject.Id
// join subjectVisit in _subjectVisitRepository.AsQueryable() on workloadTp.SubjectVisitId equals subjectVisit.Id
// join study in _studyRepository.AsQueryable() on workloadTp.StudyId equals study.Id
// join site in _siteRepository.AsQueryable() on workloadTp.SiteId equals site.Id
// join doctor in _doctorRepository.Where(doctorLambda) on workloadTp.ReviewerId equals doctor.Id
// select new WorkloadTPDTO()
// {
// Id = workloadTp.Id,
// ReviewerCode = doctor.ReviewerCode,
// ReviewerChineseName = doctor.ChineseName,
// ReviewerFirstName = doctor.FirstName,
// ReviewerId = doctor.Id,
// ReviewerLastName = doctor.LastName,
// SiteId = workloadTp.SiteId,
// SiteName = site.SiteName,
// Status = workloadTp.Status,
// StudyCode = study.StudyCode,
// StudyId = workloadTp.StudyId,
// TimepointCode = workloadTp.TimepointCode,
// SubjectCode = subject.Code,
// SubjectVisitId = workloadTp.SubjectVisitId,
// SubjectId = workloadTp.SubjectId,
// VisitNum = subjectVisit.VisitNum,
// VisitName = subjectVisit.VisitName,
// UpdateTime = workloadTp.UpdateTime
// };
// }
// else
// {
// query = from workloadTp in _workloadTpRepository.Where(workloadTPLambda)
// join subject in _subjectRepository.Where(subjectLambda) on workloadTp.SubjectId equals subject.Id
// join subjectVisit in _subjectVisitRepository.AsQueryable() on workloadTp.SubjectVisitId equals subjectVisit.Id
// join study in _studyRepository.AsQueryable() on workloadTp.StudyId equals study.Id
// join site in _siteRepository.AsQueryable() on workloadTp.SiteId equals site.Id
// join doctor in _doctorRepository.Where(doctorLambda) on workloadTp.ReviewerId equals doctor.Id into cc
// from doctor in cc.DefaultIfEmpty()
// select new WorkloadTPDTO()
// {
// Id = workloadTp.Id,
// ReviewerCode = doctor.ReviewerCode,
// ReviewerChineseName = doctor.ChineseName,
// ReviewerFirstName = doctor.FirstName,
// ReviewerId = doctor.Id,
// ReviewerLastName = doctor.LastName,
// SiteId = workloadTp.SiteId,
// SiteName = site.SiteName,
// Status = workloadTp.Status,
// StudyCode = study.StudyCode,
// StudyId = workloadTp.StudyId,
// TimepointCode = workloadTp.TimepointCode,
// SubjectCode = subject.Code,
// SubjectVisitId = workloadTp.SubjectVisitId,
// SubjectId = workloadTp.SubjectId,
// VisitNum = subjectVisit.VisitNum,
// VisitName = subjectVisit.VisitName,
// UpdateTime = workloadTp.UpdateTime
// };
// }
// var count = query.Count();
// var propName = param.SortField == string.Empty ? "TimepointCode" : param.SortField;
// query = param.Asc
// ? query.OrderBy(propName).ThenBy(t => t.SiteName).ThenBy(t => t.SubjectCode)
// : query.OrderByDescending(propName).ThenBy(t => t.SiteName).ThenBy(t => t.SubjectCode);
// query = query.Skip((param.PageIndex - 1) * param.PageSize).Take(param.PageSize);
// var list = query.ToList();
// return new PageOutput<WorkloadTPDTO>(param.PageIndex,
// param.PageSize, count, list);
// }
// //修改单个TP
// [HttpPost("{tpId:guid}/{reviewerId:guid}")]
// public IResponseOutput UpdateDistributeAD(Guid tpId, Guid reviewerId)
// {
// _workloadDetailRepository.Add(new WorkloadDetail
// {
// WorkloadId = tpId,
// OptUserName = _userInfo.RealName,
// OptTime = DateTime.Now,
// Status = (int)WorkloadStatus.Distributed,
// ReviewerId = reviewerId
// });
// _workloadDetailRepository.SaveChanges();
// var success= _workloadAdRepository.Update(t => t.Id == tpId, u => new WorkloadAD()
// {
// ReviewerId = reviewerId,
// Status = (int)WorkloadStatus.Distributed
// });
// return ResponseOutput.Result(success);
// }
// //修改单个Global
// [HttpPost("{tpId:guid}/{reviewerId:guid}/{subjectId:guid}/{visitNum}")]
// public IResponseOutput UpdateDistributeGlobal(Guid tpId, Guid reviewerId, Guid subjectId, decimal visitNum)
// {
// var temp = _workloadGlobalRepository.Where(u => u.SubjectId == subjectId &&
// u.VisitNum == visitNum &&
// u.ReviewerId == reviewerId && u.Id != tpId);
// if (temp.Any())
// {
// return ResponseOutput.NotOk("The Global of the other arm of this subject has already been assigned to this reviewer, and the assignment couldn't be performed.");
// }
// _workloadDetailRepository.Add(new WorkloadDetail
// {
// WorkloadId = tpId,
// OptUserName = _userInfo.RealName,
// OptTime = DateTime.Now,
// Status = (int)WorkloadStatus.Distributed,
// ReviewerId = reviewerId
// });
// _workloadDetailRepository.SaveChanges();
// return ResponseOutput.Result(_workloadGlobalRepository.Update(t => t.Id == tpId, u => new WorkloadGlobal()
// {
// ReviewerId = reviewerId,
// Status = (int)WorkloadStatus.Distributed
// }));
// }
// //修改单个TP
// [HttpPost("{tpId:guid}/{reviewerId:guid}/{studyId:guid}")]
// public IResponseOutput UpdateDistributeTP(Guid tpId, Guid reviewerId, Guid studyId)
// {
// var temp = _workloadTpRepository.Where(u => u.StudyId == studyId && u.ReviewerId == reviewerId && u.Id != tpId);
// if (temp.Any())
// {
// return ResponseOutput.NotOk("The TP of the other arm of this subject has already been assigned to this reviewer, and the assignment couldn't be performed.");
// }
// _workloadDetailRepository.Add(new WorkloadDetail
// {
// WorkloadId = tpId,
// OptUserName = _userInfo.RealName,
// OptTime = DateTime.Now,
// Status = (int)WorkloadStatus.Distributed,
// ReviewerId = reviewerId
// });
// _workloadDetailRepository.SaveChanges();
// return ResponseOutput.Result(_workloadTpRepository.Update(t => t.Id == tpId, u => new WorkloadTP()
// {
// ReviewerId = reviewerId,
// Status = (int)WorkloadStatus.Distributed
// }));
// }
// [HttpGet("{workloadId:guid}")]
// public IResponseOutput<List<WorkloadDetailDTO>> GetWorkloadDetail(Guid workloadId)
// {
// IQueryable<WorkloadDetailDTO> query = null;
// query = from detail in _workloadDetailRepository.Where(u => u.WorkloadId == workloadId)
// join doctor in _doctorRepository.AsQueryable() on detail.ReviewerId equals doctor.Id into cc
// from doctor in cc.DefaultIfEmpty()
// select new WorkloadDetailDTO()
// {
// OptTime = detail.OptTime,
// OptUserName = detail.OptUserName,
// ReviewerChineseName = doctor.ChineseName,
// ReviewerFirstName = doctor.FirstName,
// ReviewerLastName = doctor.LastName,
// Status = detail.Status
// };
// var list = query.OrderByDescending(u => u.OptTime).ToList();
// return ResponseOutput.Ok(list);
// }
// [HttpPost("UpdateGlobalStatus/{globalId:guid}")]
// public IResponseOutput UpdateGlobalStatus(Guid globalId)
// {
// return ResponseOutput.Result(_workloadGlobalRepository.Update(u => u.Id == globalId, t => new WorkloadGlobal()
// {
// Status = 0
// }));
// }
// }
//}