using IRaCIS.Core.Application.Contracts; using IRaCIS.Core.Application.Contracts.RequestAndResponse; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; using System; using System.Collections.Generic; using System.Linq; namespace IRaCIS.Core.API.Controllers.Reading { [Route("report")] [ApiController, Authorize, ApiExplorerSettings(GroupName = "Reading")] public class ReportController : ControllerBase { private readonly IReportService _reportService; public ReportController(IReportService reportService) { _reportService = reportService; } /// 获取基线期病灶信息及其他信息 [AllowAnonymous] [HttpGet, Route("getBLLineLesion/{trialCode}/{subjectCode}/{tpCode}")] public IResponseOutput GetBLLineLesion(string trialCode, string subjectCode,string tpCode) { return ResponseOutput.Ok(_reportService.GetBaseLineReport(trialCode, subjectCode, tpCode)); } /// 获取其他访视病灶信息 [AllowAnonymous] [HttpGet, Route("getVisitLineLesion/{trialCode}/{subjectCode}/{visitNum}/{tpCode}")] public IResponseOutput GetVisitLesion(string trialCode, string SubjectCode, decimal visitNum,string tpCode) { return ResponseOutput.Ok(_reportService.GetVisitLesion(trialCode, SubjectCode, visitNum,tpCode)); } /// /// 保存 基线期病灶及测量信息及其他信息,不会改变状态 /// [AllowAnonymous] [HttpPost, Route("addBaseLineLesion")] public IResponseOutput AddBaseLineLesion(BaseLineReportCommand baseLineReportCommand) { // User.FindFirst("reviewerCode").Value; return ResponseOutput.Result(_reportService.SaveBLReport(baseLineReportCommand)); } /// /// 添加访视报告信息 /// LesionInformation 为新病灶及测量信息(包括分裂及合并产生的) /// TRList 已经存在的病灶的测量信息 /// RSList 疗效信息 /// [AllowAnonymous] [HttpPost, Route("saveVisitReport")] public IResponseOutput AddVisitLesion(VisitReportCommand visitReportCommand) { return ResponseOutput.Result(_reportService.SaveVisitReport(visitReportCommand)); } /// /// 提交报告 /// [AllowAnonymous] [HttpPost, Route("submiteReport/{tpId:guid}")] public IResponseOutput SubmiteReport(Guid tpId) { return ResponseOutput.Result(_reportService.SubmiteReport(tpId)); } } }