From c7580473b092fc9e38a93e6cf8876934a7566bb2 Mon Sep 17 00:00:00 2001 From: hang <872297557@qq.com> Date: Fri, 24 Feb 2023 17:06:40 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=A8=BD=E6=9F=A5=E6=8F=90?= =?UTF-8?q?=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Helper/FileFormatConvertHelper.cs | 17 +++ .../IRaCIS.Core.Application.csproj | 58 ++++++++++ .../Inspection/FrontAuditConfigService.cs | 2 +- .../Common/AuditingData.cs | 107 +++++++++++------- 4 files changed, 141 insertions(+), 43 deletions(-) create mode 100644 IRaCIS.Core.Application/Helper/FileFormatConvertHelper.cs diff --git a/IRaCIS.Core.Application/Helper/FileFormatConvertHelper.cs b/IRaCIS.Core.Application/Helper/FileFormatConvertHelper.cs new file mode 100644 index 000000000..639b98896 --- /dev/null +++ b/IRaCIS.Core.Application/Helper/FileFormatConvertHelper.cs @@ -0,0 +1,17 @@ +using DocumentFormat.OpenXml.Bibliography; +using NPOI.XWPF.UserModel; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Word; + +namespace IRaCIS.Core.Application.Helper +{ + public class FileFormatConvertHelper + { + + + } +} diff --git a/IRaCIS.Core.Application/IRaCIS.Core.Application.csproj b/IRaCIS.Core.Application/IRaCIS.Core.Application.csproj index 386d4600c..1a0e3a128 100644 --- a/IRaCIS.Core.Application/IRaCIS.Core.Application.csproj +++ b/IRaCIS.Core.Application/IRaCIS.Core.Application.csproj @@ -49,6 +49,64 @@ + + + 0 + 3 + 00020905-0000-4b30-a977-d214852036ff + 0 + tlbimp + false + true + + + tlbimp + 0 + 1 + d626eb73-b7c0-45ef-922d-0cddaede12fa + 0 + false + true + + + tlbimp + 0 + 1 + 6f13e9b2-dde3-4ec5-9e2e-81bc3135401e + 0 + false + true + + + tlbimp + 0 + 3 + 4a1d9d13-2ec6-495b-a5b5-848228e0a1ce + 0 + false + true + + + tlbimp + 0 + 3 + 44720440-94bf-4940-926d-4f38fecf2a48 + 0 + false + true + + + tlbimp + 0 + 3 + 45541000-5750-5300-4b49-4e47534f4655 + 0 + false + true + + + + PreserveNewest diff --git a/IRaCIS.Core.Application/Service/Inspection/FrontAuditConfigService.cs b/IRaCIS.Core.Application/Service/Inspection/FrontAuditConfigService.cs index a896d0f7f..2ec831eda 100644 --- a/IRaCIS.Core.Application/Service/Inspection/FrontAuditConfigService.cs +++ b/IRaCIS.Core.Application/Service/Inspection/FrontAuditConfigService.cs @@ -798,7 +798,7 @@ namespace IRaCIS.Core.Application.Service foreach (var translateInfo in translateInfoList) { //Json 解析后 true 变为了True - jsonObject[translateInfo.ColumnValue] = translateDataList[translateInfo.TranslateDictionaryName].Where(t => t.Code.ToLower() == jsonObject[translateInfo.ColumnValue].ToString().ToLower()).Select(t => t.ValueCN).FirstOrDefault(); + jsonObject[translateInfo.ColumnValue] = translateDataList[translateInfo.TranslateDictionaryName].Where(t => t.Code.ToLower() == jsonObject[translateInfo.ColumnValue]?.ToString().ToLower()).Select(t => t.ValueCN).FirstOrDefault(); } //处理动态翻译 diff --git a/IRaCIS.Core.Infra.EFCore/Common/AuditingData.cs b/IRaCIS.Core.Infra.EFCore/Common/AuditingData.cs index 047af8fc5..7ab3f8a3b 100644 --- a/IRaCIS.Core.Infra.EFCore/Common/AuditingData.cs +++ b/IRaCIS.Core.Infra.EFCore/Common/AuditingData.cs @@ -1917,8 +1917,7 @@ namespace IRaCIS.Core.Infra.EFCore.Common var cloneEntity = firstEntity.Clone(); - - + //保证Id 唯一 cloneEntity.Id = IdentifierHelper.CreateGuid(firstEntity.ReadingQuestionCriterionTrialId.ToString(), firstEntity.ReadingQuestionTrialId.ToString(), firstEntity.VisitTaskId.ToString()); @@ -2159,6 +2158,19 @@ namespace IRaCIS.Core.Infra.EFCore.Common var list = entitys.Where(x => x.Entity.GetType() == typeof(ReadingGlobalTaskInfo)).Select(t => t.Entity as ReadingGlobalTaskInfo); + //不是固定问题的问题 + var firstEntity = list.Where(t => t.QuestionId != null).First(); + + var cloneEntity = firstEntity.Clone(); + + var criterion = await _dbContext.VisitTask.Where(t => t.Id == cloneEntity.GlobalTaskId).Select(t => new { t.TrialReadingCriterionId,t.TrialReadingCriterion.CriterionType } ).FirstOrDefaultAsync(); + + //保证Id 唯一 + cloneEntity.Id = IdentifierHelper.CreateGuid(firstEntity.GlobalTaskId.ToString(), criterion.TrialReadingCriterionId.ToString()); + + var extraIdentification = string.Empty; + + var objList = new List(); foreach (var group in list.GroupBy(t => t.TaskId)) @@ -2177,62 +2189,73 @@ namespace IRaCIS.Core.Infra.EFCore.Common }).OrderBy(t => t.ShowOrder).ToListAsync(); - //获取访视的评估结果 也要记录稽查 - var visitAnswerList = await _dbContext.ReadingTaskQuestionAnswer.Where(t => t.VisitTaskId == group.Key && questionIdList.Contains(t.ReadingQuestionTrialId)).Select(u => new + //pcwg3 的问题没有提交过来,是通过固定的方式去查询出来 + if (criterion.CriterionType == CriterionType.PCWG3) { - TaskBlindName = u.VisitTask.TaskBlindName, - QuestionId = u.ReadingQuestionTrialId, - u.Answer - }).ToListAsync(); + + extraIdentification = "/PCWG3"; + //获取访视的评估结果 也要记录稽查 + var visitAnswerList = await _dbContext.ReadingTaskQuestionAnswer.Where(t => t.VisitTaskId == group.Key &&t.ReadingQuestionTrial.GlobalReadingShowType != GlobalReadingShowType.NotShow).Select(u => new + { + TaskBlindName = u.VisitTask.TaskBlindName, + QuestionId = u.ReadingQuestionTrialId, + u.ReadingQuestionTrial.QuestionName, + u.ReadingQuestionTrial.DictionaryCode, + u.ReadingQuestionTrial.ShowOrder, + u.Answer + }).OrderBy(t=>t.ShowOrder).ToListAsync(); - var obj = new + var obj = new + { + TaskBlindName = visitAnswerList.Select(t => t.TaskBlindName).FirstOrDefault(), + VisitQuestionAnswerList = visitAnswerList, + + + Reason = group.Where(t => t.QuestionId == null && t.GlobalAnswerType == GlobalAnswerType.Reason).FirstOrDefault()?.Answer, + + QuestionAnswerList = questionAnswerList.Join(quesionList, t => t.QuestionId, u => u.QuestionId, (t, u) => new { t.Answer, u.QuestionName, u.DictionaryCode, u.ShowOrder }).OrderBy(t => t.ShowOrder).ToList() + }; + + objList.Add(obj); + + + + } + else { - TaskBlindName = visitAnswerList.Select(t => t.TaskBlindName).FirstOrDefault(), - VisitQuestionAnswerList = visitAnswerList.Join(quesionList, t => t.QuestionId, u => u.QuestionId, (t, u) => new { t.Answer, u.QuestionName, u.DictionaryCode, u.ShowOrder }).OrderBy(t => t.ShowOrder).ToList(), - Reason = group.Where(t => t.QuestionId == null && t.GlobalAnswerType == GlobalAnswerType.Reason).FirstOrDefault()?.Answer, - AgreeOrNot = group.Where(t => t.QuestionId == null && t.GlobalAnswerType == GlobalAnswerType.AgreeOrNot).FirstOrDefault()?.Answer, - UpdateType = group.Where(t => t.QuestionId == null && t.GlobalAnswerType == GlobalAnswerType.UpdateType).FirstOrDefault()?.Answer, - QuestionAnswerList = questionAnswerList.Join(quesionList, t => t.QuestionId, u => u.QuestionId, (t, u) => new { t.Answer, u.QuestionName, u.DictionaryCode, u.ShowOrder }).OrderBy(t => t.ShowOrder).ToList() - }; - - objList.Add(obj); + //获取访视的评估结果 也要记录稽查 + var visitAnswerList = await _dbContext.ReadingTaskQuestionAnswer.Where(t => t.VisitTaskId == group.Key && questionIdList.Contains(t.ReadingQuestionTrialId)).Select(u => new + { + TaskBlindName = u.VisitTask.TaskBlindName, + QuestionId = u.ReadingQuestionTrialId, + u.Answer + }).ToListAsync(); - #region 因为要记录一个表 所以这里屏蔽 - //var firstEntity = questionAnswerList.First(); + var obj = new + { + TaskBlindName = visitAnswerList.Select(t => t.TaskBlindName).FirstOrDefault(), + VisitQuestionAnswerList = visitAnswerList.Join(quesionList, t => t.QuestionId, u => u.QuestionId, (t, u) => new { t.Answer, u.QuestionName, u.DictionaryCode, u.ShowOrder }).OrderBy(t => t.ShowOrder).ToList(), + Reason = group.Where(t => t.QuestionId == null && t.GlobalAnswerType == GlobalAnswerType.Reason).FirstOrDefault()?.Answer, + AgreeOrNot = group.Where(t => t.QuestionId == null && t.GlobalAnswerType == GlobalAnswerType.AgreeOrNot).FirstOrDefault()?.Answer, + UpdateType = group.Where(t => t.QuestionId == null && t.GlobalAnswerType == GlobalAnswerType.UpdateType).FirstOrDefault()?.Answer, + QuestionAnswerList = questionAnswerList.Join(quesionList, t => t.QuestionId, u => u.QuestionId, (t, u) => new { t.Answer, u.QuestionName, u.DictionaryCode, u.ShowOrder }).OrderBy(t => t.ShowOrder).ToList() + }; - //var cloneEntity = firstEntity.Clone(); + objList.Add(obj); - ////保证Id 唯一 - //cloneEntity.Id = IdentifierHelper.CreateGuid(firstEntity.GlobalTaskId.ToString(), firstEntity.TaskId.ToString()); + } - //var trialReadingCriterionId = await _dbContext.VisitTask.Where(t => t.Id == cloneEntity.GlobalTaskId).Select(t => t.TrialReadingCriterionId).FirstOrDefaultAsync(); - - //await InsertInspection(cloneEntity, type, x => new InspectionConvertDTO() - //{ - // VisitTaskId = x.TaskId, - // TrialReadingCriterionId = trialReadingCriterionId, - // ObjectRelationParentId = x.TaskId, - //}, obj); - #endregion } - var firstEntity = list.Where(t => t.QuestionId != null).First(); - - var cloneEntity = firstEntity.Clone(); - - var trialReadingCriterionId = await _dbContext.VisitTask.Where(t => t.Id == cloneEntity.GlobalTaskId).Select(t => t.TrialReadingCriterionId).FirstOrDefaultAsync(); - - //保证Id 唯一 - cloneEntity.Id = IdentifierHelper.CreateGuid(firstEntity.GlobalTaskId.ToString(), trialReadingCriterionId.ToString()); - await InsertInspection(cloneEntity, type, x => new InspectionConvertDTO() { VisitTaskId = x.GlobalTaskId, - TrialReadingCriterionId = trialReadingCriterionId, + TrialReadingCriterionId = criterion.TrialReadingCriterionId, ObjectRelationParentId = x.TaskId, + ExtraIndentification=extraIdentification }, new { GlobalAnswerList = objList }); }