修改稽查提交

Test.EIImageViewer
hang 2023-02-24 17:06:40 +08:00
parent 18272935ea
commit c7580473b0
4 changed files with 141 additions and 43 deletions

View File

@ -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
{
}
}

View File

@ -49,6 +49,64 @@
</ItemGroup>
<ItemGroup>
<COMReference Include="Word">
<VersionMinor>0</VersionMinor>
<VersionMajor>3</VersionMajor>
<Guid>00020905-0000-4b30-a977-d214852036ff</Guid>
<Lcid>0</Lcid>
<WrapperTool>tlbimp</WrapperTool>
<Isolated>false</Isolated>
<EmbedInteropTypes>true</EmbedInteropTypes>
</COMReference>
<COMReference Include="WpsApiEx">
<WrapperTool>tlbimp</WrapperTool>
<VersionMinor>0</VersionMinor>
<VersionMajor>1</VersionMajor>
<Guid>d626eb73-b7c0-45ef-922d-0cddaede12fa</Guid>
<Lcid>0</Lcid>
<Isolated>false</Isolated>
<EmbedInteropTypes>true</EmbedInteropTypes>
</COMReference>
<COMReference Include="Pdf">
<WrapperTool>tlbimp</WrapperTool>
<VersionMinor>0</VersionMinor>
<VersionMajor>1</VersionMajor>
<Guid>6f13e9b2-dde3-4ec5-9e2e-81bc3135401e</Guid>
<Lcid>0</Lcid>
<Isolated>false</Isolated>
<EmbedInteropTypes>true</EmbedInteropTypes>
</COMReference>
<COMReference Include="Office">
<WrapperTool>tlbimp</WrapperTool>
<VersionMinor>0</VersionMinor>
<VersionMajor>3</VersionMajor>
<Guid>4a1d9d13-2ec6-495b-a5b5-848228e0a1ce</Guid>
<Lcid>0</Lcid>
<Isolated>false</Isolated>
<EmbedInteropTypes>true</EmbedInteropTypes>
</COMReference>
<COMReference Include="PowerPoint">
<WrapperTool>tlbimp</WrapperTool>
<VersionMinor>0</VersionMinor>
<VersionMajor>3</VersionMajor>
<Guid>44720440-94bf-4940-926d-4f38fecf2a48</Guid>
<Lcid>0</Lcid>
<Isolated>false</Isolated>
<EmbedInteropTypes>true</EmbedInteropTypes>
</COMReference>
<COMReference Include="Excel">
<WrapperTool>tlbimp</WrapperTool>
<VersionMinor>0</VersionMinor>
<VersionMajor>3</VersionMajor>
<Guid>45541000-5750-5300-4b49-4e47534f4655</Guid>
<Lcid>0</Lcid>
<Isolated>false</Isolated>
<EmbedInteropTypes>true</EmbedInteropTypes>
</COMReference>
</ItemGroup>
<ItemGroup>
<Content Include="Resources\zh-CN.json">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>

View File

@ -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();
}
//处理动态翻译

View File

@ -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<object>();
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<ReadingGlobalTaskInfo>(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<ReadingGlobalTaskInfo>(cloneEntity, type, x => new InspectionConvertDTO()
{
VisitTaskId = x.GlobalTaskId,
TrialReadingCriterionId = trialReadingCriterionId,
TrialReadingCriterionId = criterion.TrialReadingCriterionId,
ObjectRelationParentId = x.TaskId,
ExtraIndentification=extraIdentification
}, new { GlobalAnswerList = objList });
}