From cf0790935a103657b5fd8ce773a6394b01ad4e26 Mon Sep 17 00:00:00 2001 From: Shubham Date: Wed, 1 Oct 2025 19:43:28 +0530 Subject: [PATCH] Offline Assesment API Check --- .../answer_sheet_submissions.service.ts | 3 --- .../tracking_assessment.module.ts | 5 ++++- .../tracking_assessment.service.ts | 14 ++++++++++++++ 3 files changed, 18 insertions(+), 4 deletions(-) diff --git a/src/modules/answer_sheet_submissions/answer_sheet_submissions.service.ts b/src/modules/answer_sheet_submissions/answer_sheet_submissions.service.ts index 98202db..f5c6f31 100644 --- a/src/modules/answer_sheet_submissions/answer_sheet_submissions.service.ts +++ b/src/modules/answer_sheet_submissions/answer_sheet_submissions.service.ts @@ -178,9 +178,6 @@ export class AnswerSheetSubmissionsService { const insertObject = this.transformToInsertObject( createAnswerSheetSubmissionDto, ); - if(data.evaluationType === 'offline'){ - insertObject.status = 'COMPLETED'; - } insertObject.created_by = createAnswerSheetSubmissionDto.createdBy; insertObject.updated_by = createAnswerSheetSubmissionDto.createdBy; result = await this.answerSheetSubmissionsRepository.save(insertObject); diff --git a/src/modules/tracking_assessment/tracking_assessment.module.ts b/src/modules/tracking_assessment/tracking_assessment.module.ts index bdf8fab..7e9c135 100644 --- a/src/modules/tracking_assessment/tracking_assessment.module.ts +++ b/src/modules/tracking_assessment/tracking_assessment.module.ts @@ -8,6 +8,8 @@ import { LoggerService } from 'src/common/logger/logger.service'; import { KafkaModule } from 'src/kafka/kafka.module'; import { AiAssessment } from '../ai_assessment/entities/ai-assessment-entity'; import { AnswerSheetSubmissions } from '../answer_sheet_submissions/entities/answer-sheet-submissions-entity'; +import { AnswerSheetSubmissionsModule } from '../answer_sheet_submissions/answer_sheet_submissions.module'; +import { AnswerSheetSubmissionsService } from '../answer_sheet_submissions/answer_sheet_submissions.service'; @Module({ imports: [ @@ -18,8 +20,9 @@ import { AnswerSheetSubmissions } from '../answer_sheet_submissions/entities/ans AnswerSheetSubmissions, ]), KafkaModule, + AnswerSheetSubmissionsModule, ], controllers: [TrackingAssessmentController], - providers: [TrackingAssessmentService, LoggerService], + providers: [TrackingAssessmentService, LoggerService,AnswerSheetSubmissionsService], }) export class TrackingAssessmentModule {} diff --git a/src/modules/tracking_assessment/tracking_assessment.service.ts b/src/modules/tracking_assessment/tracking_assessment.service.ts index 7bad8c7..6d9e4f4 100644 --- a/src/modules/tracking_assessment/tracking_assessment.service.ts +++ b/src/modules/tracking_assessment/tracking_assessment.service.ts @@ -24,6 +24,7 @@ import { LoggerService } from 'src/common/logger/logger.service'; import { KafkaService } from 'src/kafka/kafka.service'; import { AiAssessment } from '../ai_assessment/entities/ai-assessment-entity'; import { AnswerSheetSubmissions } from 'src/modules/answer_sheet_submissions/entities/answer-sheet-submissions-entity'; +import { AnswerSheetSubmissionsService } from 'src/modules/answer_sheet_submissions/answer_sheet_submissions.service'; import { In, Not } from 'typeorm'; @Injectable() @@ -43,6 +44,7 @@ export class TrackingAssessmentService { private dataSource: DataSource, private loggerService: LoggerService, private readonly kafkaService: KafkaService, + private readonly answerSheetSubmissionsService: AnswerSheetSubmissionsService, ) { this.ttl = this.configService.get('TTL'); } @@ -1226,7 +1228,19 @@ export class TrackingAssessmentService { const questionsetPendingFromAI = answersheetSubmissionResponse.filter( (item) => item.status == 'RECEIVED', ); + + // Get evaluation type for the question set + let evaluationType = null; + // Use the existing fetchEvalutionTypes method from answer sheet submissions service + const questionSetDetails = await this.answerSheetSubmissionsService.fetchEvalutionTypes(object.questionSetId); + evaluationType = questionSetDetails.evaluationType; + + // Filter assessment records based on evaluation type result = result.filter((item) => { + // If evaluation type is 'offline', always keep the record + if (evaluationType === 'offline') { + return true; + } return !questionsetPendingFromAI.some( (pendingItem) => pendingItem.userId === item.userId &&