using IRaCIS.Application.Interfaces; using IRaCIS.Application.ViewModels; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; using System; using System.Collections.Generic; using IRaCIS.Core.Application.Contracts.RequestAndResponse; namespace IRaCIS.Api.Controllers { /// /// 项目运维人员 、研究中心CRC 配置 /// [Route("trialMaintenance")] [ApiController, Authorize, ApiExplorerSettings(GroupName = "Trial")] public class MaintenanceController : ControllerBase { private readonly IUserTrialService _userTrialService; public MaintenanceController(IUserTrialService userTrialService) { _userTrialService = userTrialService; } [HttpGet, Route("getTrialSiteSelect/{trialId:guid}")] public IResponseOutput> GetTrialSiteSelect(Guid trialId) { return ResponseOutput.Ok(_userTrialService.GetTrialSiteSelect(trialId)); } /// /// 获取项目运维人员列表[New] 分页暂时不用 /// /// 项目Id必须传 /// [HttpPost, Route("GetUserTrialList")] [ApiExplorerSettings(IgnoreApi = true)] public IResponseOutput> GetUserTrialList(UserTrialListQueryDTO param) { return ResponseOutput.Ok(_userTrialService.GetUserTrialList(param)); } /// /// 获取项目运维人员列表[New] /// /// /// [HttpPost, Route("getMaintenanceList")] public IResponseOutput> GetMaintenanceUserList(TrialMaintenanceQuery param) { return ResponseOutput.Ok(_userTrialService.GetMaintenanceUserList(param)); } /// /// 获取可用选择用户,用于给项目添加运维人员时的选择列表[New] /// /// [HttpGet, Route("getUserSelectionList/{userTypeId:guid}/{institutionId:guid}")] public IResponseOutput> GetUserTrialList(Guid userTypeId,Guid institutionId) { return ResponseOutput.Ok(_userTrialService.GetUserSelectionList(userTypeId, institutionId)) ; } /// 添加或更新运维人员[New] [HttpPost, Route("AddOrUpdateMaintenanceUser")] public IResponseOutput AddOrUpdateUserTrial(UserTrialCommand param) { return _userTrialService.AddOrUpdateUserTrial(param); } /// 删除运维人员[New] [HttpDelete, Route("deleteMaintenanceUser/{id:guid}")] public IResponseOutput DeleteUserTrial(Guid id) { return _userTrialService.DeleteUserTrial(id); } /// 获取负责研究中心CRC列表 [HttpPost, Route("getSiteCRCList")] public IResponseOutput> GetSiteCRCList(SiteCrcQueryDTO param) { return ResponseOutput.Ok(_userTrialService.GetSiteCRCList(param)) ; } /// 添加或更新CRC人员 [HttpPost, Route("addOrUpdateSiteCRC")] public IResponseOutput AddOrUpdateSiteCRC(SiteCRCCommand param) { return _userTrialService.AddOrUpdateSiteCRC(param); } /// 删除CRC人员 [HttpDelete, Route("deleteSiteCRC/{id:guid}")] public IResponseOutput DeleteSiteCRC(Guid id) { return _userTrialService.DeleteSiteCRC(id); } } }