114 lines
4.4 KiB
C#
114 lines
4.4 KiB
C#
using IRaCIS.Application.ViewModels;
|
|
using IRaCIS.Core.Application.Contracts;
|
|
using IRaCIS.Core.Application.Contracts.RequestAndResponse;
|
|
using Microsoft.AspNetCore.Authorization;
|
|
using Microsoft.AspNetCore.Mvc;
|
|
using System;
|
|
|
|
namespace IRaCIS.Core.API.Controllers.Trial
|
|
{
|
|
/// <summary>
|
|
/// TP、Global、AD 工作量分配查看
|
|
/// </summary>
|
|
[Route("workload")]
|
|
[ApiController, Authorize, ApiExplorerSettings(GroupName = "Trial")]
|
|
public class WorkloadDistributionController : ControllerBase
|
|
{
|
|
private readonly IWorkloadDistributionService _workloadDistributionService;
|
|
|
|
public WorkloadDistributionController(IWorkloadDistributionService workloadDistributionService)
|
|
{
|
|
_workloadDistributionService = workloadDistributionService;
|
|
}
|
|
|
|
/// <summary>
|
|
/// TP 工作量分配列表
|
|
/// </summary>
|
|
/// <param name="param"></param>
|
|
/// <returns></returns>
|
|
[HttpPost, Route("getWorkloadTPList")]
|
|
public IResponseOutput<PageOutput<WorkloadTPDTO>> GetWorkloadTPList(WorkloadDistributionQueryParam param)
|
|
{
|
|
return ResponseOutput.Ok(_workloadDistributionService.GetWorkloadTPList(param));
|
|
}
|
|
|
|
/// <summary>
|
|
/// 批量分配Tp
|
|
/// </summary>
|
|
/// <param name="workloadTPCommand"></param>
|
|
/// <returns></returns>
|
|
[HttpPost, Route("DistributeTP")]
|
|
public IResponseOutput DistributeTP(WorkloadTPCommand workloadTPCommand)
|
|
{
|
|
return _workloadDistributionService.DistributeTP(workloadTPCommand);
|
|
}
|
|
|
|
//修改单个TP
|
|
[HttpPost, Route("UpdateDistributeTP/{tpId:guid}/{reviewerId:guid}/{studyId:guid}")]
|
|
public IResponseOutput UpdateDistributeTP(Guid tpId, Guid reviewerId,Guid studyId)
|
|
{
|
|
return _workloadDistributionService.UpdateDistributeTP(tpId,reviewerId, studyId);
|
|
}
|
|
|
|
[HttpPost, Route("getWorkloadADList")]
|
|
public IResponseOutput<PageOutput<WorkloadADDTO>> GetWorkloadADList(WorkloadDistributionQueryParam param)
|
|
{
|
|
return ResponseOutput.Ok(_workloadDistributionService.GetWorkloadADList(param));
|
|
}
|
|
|
|
/// <summary>
|
|
/// 批量分配AD
|
|
/// </summary>
|
|
/// <param name="workloadTPCommand"></param>
|
|
/// <returns></returns>
|
|
[HttpPost, Route("DistributeAD")]
|
|
public IResponseOutput DistributeAD(WorkloadAdCommand workloadTPCommand)
|
|
{
|
|
return ResponseOutput.Result(_workloadDistributionService.DistributeAD(workloadTPCommand));
|
|
}
|
|
|
|
//修改单个TP
|
|
[HttpPost, Route("UpdateDistributeAD/{tpId:guid}/{reviewerId:guid}")]
|
|
public IResponseOutput UpdateDistributeAD(Guid tpId, Guid reviewerId)
|
|
{
|
|
return ResponseOutput.Result(_workloadDistributionService.UpdateDistributeAD(tpId, reviewerId));
|
|
}
|
|
|
|
[HttpPost, Route("getWorkloadGlobalList")]
|
|
public IResponseOutput<PageOutput<WorkloadGlobalDTO>> GetWorkloadGlobalList(WorkloadDistributionQueryParam param)
|
|
{
|
|
return ResponseOutput.Ok(_workloadDistributionService.GetWorkloadGlobalList(param));
|
|
}
|
|
|
|
/// <summary>
|
|
/// 批量分配Global
|
|
/// </summary>
|
|
/// <param name="workloadGCommand"></param>
|
|
/// <returns></returns>
|
|
[HttpPost, Route("DistributeGlobal")]
|
|
public IResponseOutput DistributeGlobal(WorkloadGlobalCommand workloadGCommand)
|
|
{
|
|
return _workloadDistributionService.DistributeGlobal(workloadGCommand);
|
|
}
|
|
|
|
//修改单个Global
|
|
[HttpPost, Route("UpdateDistributeGlobal/{tpId:guid}/{reviewerId:guid}/{subjectId:guid}/{visitNum}")]
|
|
public IResponseOutput UpdateDistributeGlobal(Guid tpId, Guid reviewerId,Guid subjectId, decimal visitNum)
|
|
{
|
|
return _workloadDistributionService.UpdateDistributeGlobal(tpId, reviewerId,subjectId,visitNum);
|
|
}
|
|
|
|
[HttpGet, Route("GetWorkloadDetailList/{workloadId:guid}")]
|
|
[AllowAnonymous]
|
|
public IResponseOutput GetWorkloadDetailList(Guid workloadId)
|
|
{
|
|
return _workloadDistributionService.GetWorkloadDetail(workloadId);
|
|
}
|
|
|
|
[HttpPost, Route("UpdateGlobalStatus/{globalId:guid}")]
|
|
public IResponseOutput UpdateGlobalStatus(Guid globalId)
|
|
{
|
|
return _workloadDistributionService.UpdateGlobalStatus(globalId);
|
|
}
|
|
}
|
|
} |