CostCalculationItem/IRaCIS.Core.API/Controllers/Report/ReportController.cs

72 lines
2.7 KiB
C#

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<BaseLineReportDTO> 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<VisitLesionInfo> GetVisitLesion(string trialCode, string SubjectCode, decimal visitNum,string tpCode)
{
return ResponseOutput.Ok(_reportService.GetVisitLesion(trialCode, SubjectCode, visitNum,tpCode));
}
/// <summary>
/// 保存 基线期病灶及测量信息及其他信息,不会改变状态
/// </summary>
[AllowAnonymous]
[HttpPost, Route("addBaseLineLesion")]
public IResponseOutput AddBaseLineLesion(BaseLineReportCommand baseLineReportCommand)
{
// User.FindFirst("reviewerCode").Value;
return ResponseOutput.Result(_reportService.SaveBLReport(baseLineReportCommand));
}
/// <summary>
/// 添加访视报告信息
/// LesionInformation 为新病灶及测量信息(包括分裂及合并产生的)
/// TRList 已经存在的病灶的测量信息
/// RSList 疗效信息
/// </summary>
[AllowAnonymous]
[HttpPost, Route("saveVisitReport")]
public IResponseOutput AddVisitLesion(VisitReportCommand visitReportCommand)
{
return ResponseOutput.Result(_reportService.SaveVisitReport(visitReportCommand));
}
/// <summary>
/// 提交报告
/// </summary>
[AllowAnonymous]
[HttpPost, Route("submiteReport/{tpId:guid}")]
public IResponseOutput SubmiteReport(Guid tpId)
{
return ResponseOutput.Result(_reportService.SubmiteReport(tpId));
}
}
}