From 8ee089e0a5ed5220b7488fb10b247a8e5682046b Mon Sep 17 00:00:00 2001 From: xiaochanghai Date: Thu, 22 May 2025 16:29:54 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Ghre/Ghre_SurveyServices.cs | 69 ++++++++++--------- 1 file changed, 36 insertions(+), 33 deletions(-) diff --git a/Tiobon.Core.Services/Ghre/Ghre_SurveyServices.cs b/Tiobon.Core.Services/Ghre/Ghre_SurveyServices.cs index d86a55ef..fe46e640 100644 --- a/Tiobon.Core.Services/Ghre/Ghre_SurveyServices.cs +++ b/Tiobon.Core.Services/Ghre/Ghre_SurveyServices.cs @@ -200,43 +200,46 @@ public class Ghre_SurveyServices : BaseServices> QueryESSData(long id, long? openClassId = null) { long? feedbackId = null; - if (await Db.Queryable().Where(x => x.Source == "ParentTeacher" && (x.Id == id || x.Id == openClassId)).AnyAsync()) - { - var feedback = await Db.Queryable().Where(x => x.Source == "ParentTeacher" && (x.Id == id || x.Id == openClassId)).FirstAsync(); - feedbackId = feedback.Id; - openClassId = feedback.OpenClassId; - id = feedback.SurveyId.Value; - } - else + if (openClassId != null) { - if (!await Db.Queryable() - .Where(x => x.Source == "Trainee" - && (x.SurveyId == id || x.Id == openClassId) - && x.OpenClassId == openClassId).AnyAsync()) + if (await Db.Queryable().Where(x => x.Source == "ParentTeacher" && (x.Id == id || x.Id == openClassId)).AnyAsync()) { - - var openClass = await Db.Queryable().Where(x => x.Id == openClassId).FirstAsync(); - var feedback = new Ghre_OpenClassFeedback() + var feedback = await Db.Queryable().Where(x => x.Source == "ParentTeacher" && (x.Id == id || x.Id == openClassId)).FirstAsync(); + feedbackId = feedback.Id; + openClassId = feedback.OpenClassId; + id = feedback.SurveyId.Value; + } + else + { + if (!await Db.Queryable() + .Where(x => x.Source == "Trainee" + && (x.SurveyId == id || x.Id == openClassId) + && x.OpenClassId == openClassId).AnyAsync()) { - OpenClassId = openClassId, - SurveyId = id, - StaffId = App.User.StaffId, - Source = "Trainee", - EffectiveTime = DateTime.Now, - ExpiryTime = DateTime.MaxValue, - TeacherId = openClass.TeacherId, - CourseBeginTime = openClass.StartTime, - CourseEndTime = openClass.EndTime, - CourseId = openClass.LinkId, - Status = "N", - Score = 0 - }; - feedbackId = await Db.Insertable(feedback).ExecuteReturnSnowflakeIdAsync(); + + var openClass = await Db.Queryable().Where(x => x.Id == openClassId).FirstAsync(); + var feedback = new Ghre_OpenClassFeedback() + { + OpenClassId = openClassId, + SurveyId = id, + StaffId = App.User.StaffId, + Source = "Trainee", + EffectiveTime = DateTime.Now, + ExpiryTime = DateTime.MaxValue, + TeacherId = openClass.TeacherId, + CourseBeginTime = openClass.StartTime, + CourseEndTime = openClass.EndTime, + CourseId = openClass.LinkId, + Status = "N", + Score = 0 + }; + feedbackId = await Db.Insertable(feedback).ExecuteReturnSnowflakeIdAsync(); + } + else feedbackId = await Db.Queryable() + .Where(x => x.Source == "Trainee" + && (x.SurveyId == id || x.Id == openClassId) + && x.OpenClassId == openClassId).Select(x => x.Id).FirstAsync(); } - else feedbackId = await Db.Queryable() - .Where(x => x.Source == "Trainee" - && (x.SurveyId == id || x.Id == openClassId) - && x.OpenClassId == openClassId).Select(x => x.Id).FirstAsync(); } var entity = await base.QueryById(id);