Compare commits

..

No commits in common. "7c19ecc3f4a000bbd9598040406b4851c9df15ee" and "416a94e302dc341e000239bf3a294a96778caa98" have entirely different histories.

5 changed files with 14 additions and 47 deletions

View File

@ -4,7 +4,6 @@
// 对此文件的更改可能会导致不正确的行为,并且如果重新生成代码,这些更改将会丢失。 // 对此文件的更改可能会导致不正确的行为,并且如果重新生成代码,这些更改将会丢失。
//-------------------------------------------------------------------- //--------------------------------------------------------------------
using IRaCIS.Core.Domain.Share; using IRaCIS.Core.Domain.Share;
using System.Data;
namespace IRaCIS.Core.Application.Service.Reading.Dto namespace IRaCIS.Core.Application.Service.Reading.Dto
{ {
@ -284,12 +283,7 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
public decimal Data { get; set; } public decimal Data { get; set; }
} }
public class FileToDataTableDto
{
public DataTable DataTable { get; set; }
public List<string> SheetNames { get; set; }
}
/// <summary> /// <summary>
/// 阅片计算Dto /// 阅片计算Dto

View File

@ -35,12 +35,12 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
/// 从上传文件中获取Datatable /// 从上传文件中获取Datatable
/// </summary> /// </summary>
/// <returns></returns> /// <returns></returns>
public async Task<FileToDataTableDto> GetDataTableFromUpload(IFormFile file,string pathCode,Guid trialId) public async Task<DataTable> GetDataTableFromUpload(IFormFile file,string pathCode,Guid trialId)
{ {
FileToDataTableDto result=new FileToDataTableDto ();
result.DataTable = new DataTable();
DataTable result = new DataTable();
var fileFolder = "Upload\\"; var fileFolder = "Upload\\";
if (!Directory.Exists(fileFolder)) if (!Directory.Exists(fileFolder))
{ {
@ -59,9 +59,8 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
file.CopyTo(stream); file.CopyTo(stream);
await stream.CopyToAsync(fileStream); await stream.CopyToAsync(fileStream);
result.SheetNames= stream.GetSheetNames();
stream.Position = 0; stream.Position = 0;
result.DataTable = stream.QueryAsDataTable(useHeaderRow: false); result = stream.QueryAsDataTable(useHeaderRow: false);
} }
} }
catch (Exception) catch (Exception)
@ -90,7 +89,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
var rowsToRemove = new System.Collections.Generic.List<DataRow>(); var rowsToRemove = new System.Collections.Generic.List<DataRow>();
// 遍历DataTable的每一行 // 遍历DataTable的每一行
foreach (DataRow row in result.DataTable.Rows) foreach (DataRow row in result.Rows)
{ {
bool allEmpty = true; bool allEmpty = true;
@ -114,7 +113,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
// 移除标记为待删除的行 // 移除标记为待删除的行
foreach (var row in rowsToRemove) foreach (var row in rowsToRemove)
{ {
result.DataTable.Rows.Remove(row); result.Rows.Remove(row);
} }
return result; return result;
} }

View File

@ -604,18 +604,9 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
var file = request.Form.Files[0]; var file = request.Form.Files[0];
Guid visitTaskId = Guid.Parse(request.Form["VisitTaskId"]); Guid visitTaskId = Guid.Parse(request.Form["VisitTaskId"]);
var taskinfo = await _visitTaskRepository.Where(x => x.Id == visitTaskId).Include(x => x.Subject).Include(x => x.TrialReadingCriterion).FirstNotNullAsync(); var taskinfo = await _visitTaskRepository.Where(x => x.Id == visitTaskId).Include(x => x.Subject).Include(x => x.TrialReadingCriterion).FirstNotNullAsync();
var uploadInfo =await _generalCalculateService.GetDataTableFromUpload(file, "IVUSTemplate", taskinfo.TrialId); var dataTable =await _generalCalculateService.GetDataTableFromUpload(file, "IVUSTemplate", taskinfo.TrialId);
List<string> sheetNames = new List<string>()
{
"各匹配片段测量值","MeasuredValue"
};
if (sheetNames.Intersect(uploadInfo.SheetNames).Count() == 0)
{
throw new BusinessValidationFailedException(_localizer["IVUS_UplpadDataError"]);
}
var dataTable = uploadInfo.DataTable;
var values = new TemplateData() var values = new TemplateData()
{ {

View File

@ -44,6 +44,6 @@ namespace IRaCIS.Core.Application.Service
/// </summary> /// </summary>
/// <param name="file"></param> /// <param name="file"></param>
/// <returns></returns> /// <returns></returns>
Task<FileToDataTableDto> GetDataTableFromUpload(IFormFile file, string pathCode, Guid trialId); Task<DataTable> GetDataTableFromUpload(IFormFile file, string pathCode, Guid trialId);
} }
} }

View File

@ -471,18 +471,9 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
var file = request.Form.Files[0]; var file = request.Form.Files[0];
Guid visitTaskId = Guid.Parse(request.Form["VisitTaskId"]); Guid visitTaskId = Guid.Parse(request.Form["VisitTaskId"]);
var taskinfo = await _visitTaskRepository.Where(x => x.Id == visitTaskId).Include(x => x.Subject).Include(x => x.TrialReadingCriterion).FirstNotNullAsync(); var taskinfo = await _visitTaskRepository.Where(x => x.Id == visitTaskId).Include(x => x.Subject).Include(x => x.TrialReadingCriterion).FirstNotNullAsync();
var uploadInfo = await _generalCalculateService.GetDataTableFromUpload(file, "OCTFCT", taskinfo.TrialId); var dataTable = await _generalCalculateService.GetDataTableFromUpload(file, "OCTFCT", taskinfo.TrialId);
List<string> sheetNames = new List<string>()
{
"FCT导入","FCT"
};
if (sheetNames.Intersect(uploadInfo.SheetNames).Count() == 0)
{
throw new BusinessValidationFailedException(_localizer["IVUS_UplpadDataError"]);
}
var dataTable = uploadInfo.DataTable;
var values = new TemplateData() var values = new TemplateData()
{ {
@ -657,17 +648,9 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
var file = request.Form.Files[0]; var file = request.Form.Files[0];
Guid visitTaskId = Guid.Parse(request.Form["VisitTaskId"]); Guid visitTaskId = Guid.Parse(request.Form["VisitTaskId"]);
var taskinfo = await _visitTaskRepository.Where(x => x.Id == visitTaskId).Include(x => x.Subject).Include(x => x.TrialReadingCriterion).FirstNotNullAsync(); var taskinfo = await _visitTaskRepository.Where(x => x.Id == visitTaskId).Include(x => x.Subject).Include(x => x.TrialReadingCriterion).FirstNotNullAsync();
var uploadInfo = await _generalCalculateService.GetDataTableFromUpload(file, "OCTLipidAngle", taskinfo.TrialId); var dataTable = await _generalCalculateService.GetDataTableFromUpload(file, "OCTLipidAngle", taskinfo.TrialId);
List<string> sheetNames = new List<string>()
{
"脂质角度","LipidAngle"
};
if (sheetNames.Intersect(uploadInfo.SheetNames).Count() == 0)
{
throw new BusinessValidationFailedException(_localizer["IVUS_UplpadDataError"]);
}
var dataTable = uploadInfo.DataTable;
var values = new TemplateData() var values = new TemplateData()
{ {