Code Coverage |
||||||||||
Classes and Traits |
Functions and Methods |
Lines |
||||||||
Total | |
0.00% |
0 / 1 |
|
0.00% |
0 / 14 |
CRAP | |
0.00% |
0 / 277 |
StudentExamMarkSheetService | |
0.00% |
0 / 1 |
|
0.00% |
0 / 14 |
992.00 | |
0.00% |
0 / 277 |
__construct | |
0.00% |
0 / 1 |
2.00 | |
0.00% |
0 / 3 |
|||
__clone | |
0.00% |
0 / 1 |
2.00 | |
0.00% |
0 / 2 |
|||
getInstance | |
0.00% |
0 / 1 |
6.00 | |
0.00% |
0 / 5 |
|||
getSupplyExamRegistrationsByBatchId | |
0.00% |
0 / 1 |
6.00 | |
0.00% |
0 / 12 |
|||
getStudentsMarkSheetsUsingExamRegId | |
0.00% |
0 / 1 |
12.00 | |
0.00% |
0 / 39 |
|||
getSubjectLists | |
0.00% |
0 / 1 |
6.00 | |
0.00% |
0 / 20 |
|||
getStudentsMarkSheetsUsingExamRegIdForSupply | |
0.00% |
0 / 1 |
6.00 | |
0.00% |
0 / 35 |
|||
getBatchDetailsByExamRegIdAndBatchId | |
0.00% |
0 / 1 |
6.00 | |
0.00% |
0 / 13 |
|||
getSupplyExamSem | |
0.00% |
0 / 1 |
6.00 | |
0.00% |
0 / 11 |
|||
getRegularExamMonthAndYear | |
0.00% |
0 / 1 |
6.00 | |
0.00% |
0 / 11 |
|||
getSubjectGroups | |
0.00% |
0 / 1 |
6.00 | |
0.00% |
0 / 14 |
|||
getSubjectListsForSupply | |
0.00% |
0 / 1 |
6.00 | |
0.00% |
0 / 35 |
|||
getStudentConsolidatedMarkDetails | |
0.00% |
0 / 1 |
30.00 | |
0.00% |
0 / 65 |
|||
getStudentCourseConsolidatedMarkDetail | |
0.00% |
0 / 1 |
12.00 | |
0.00% |
0 / 12 |
<?php | |
namespace com\linways\core\ams\professional\service; | |
use com\linways\core\ams\professional\mapper\StudentExamMarkSheetServiceMapper; | |
// use com\linways\core\ams\professional\exception\ProfessionalException; | |
use com\linways\core\ams\professional\dto\Subject; | |
use com\linways\core\ams\professional\dto\ExamType; | |
use com\linways\core\ams\professional\dto\ExamSubject; | |
use com\linways\core\ams\professional\request\DeleteExcludedStudentRequest; | |
use com\linways\core\ams\professional\util\CommonUtil; | |
use com\linways\core\ams\professional\dto\SettingsConstents; | |
use com\linways\core\ams\professional\service\CommonService; | |
use com\linways\core\ams\professional\dto\ExamEnrollmentFees; | |
use com\linways\core\ams\professional\dto\FailedStudentCount; | |
use com\linways\core\ams\professional\service\StudentService; | |
use com\linways\core\ams\professional\constant\BatchConstants; | |
use com\linways\core\ams\professional\dto\UniversityExamMarks; | |
use com\linways\core\ams\professional\mapper\ExamServiceMapper; | |
use com\linways\core\ams\professional\service\nba\NbaCoService; | |
use com\linways\core\ams\professional\dto\StudentWiseFailedRate; | |
use com\linways\core\ams\professional\dto\SubjectWiseFailedRate; | |
use com\linways\core\ams\professional\service\CourseTypeService; | |
use com\linways\core\ams\professional\constant\SettingsConstants; | |
use com\linways\core\ams\professional\dto\SlowLearnerIdentification; | |
use com\linways\core\ams\professional\request\GetExamDetailsRequest; | |
use com\linways\core\ams\professional\exception\ProfessionalException; | |
use com\linways\core\ams\professional\response\GetExamTimeTablesResponse; | |
use com\linways\core\ams\professional\response\GetYearOutStudentResponse; | |
use com\linways\core\ams\professional\request\AddStudentPassoutYearRequest; | |
use com\linways\core\ams\professional\constant\ExamType as ExamTypeConstant; | |
use com\linways\core\ams\professional\constant\examcontroller\CourseTypeConstants; | |
use com\linways\core\ams\professional\constant\examcontroller\ExamSubjectTypeConstants; | |
use com\linways\core\ams\professional\request\examcontroller\ConsolidatedMarkReportRequest; | |
use com\linways\core\ams\professional\dto\examcontroller\UniversityMarkListPassPercentConfig; | |
use com\linways\core\ams\professional\service\examcontroller\finalMarkList\ConsolidatedMarkReportService; | |
use com\linways\core\ams\professional\mapper\InternalExamMapper; | |
use com\linways\core\ams\professional\service\AttendanceService; | |
use com\linways\base\util\SecurityUtils; | |
use com\linways\core\ams\professional\service\SubjectService; | |
class StudentExamMarkSheetService extends BaseService | |
{ | |
// private $batchService = BatchService::getInstance(); | |
// /Condition 1 - Presence of a static member variable | |
private static $_instance = null; | |
private $mapper = []; | |
// /Condition 2 - Locked down the constructor | |
private function __construct() | |
{ | |
$this->studentMarkSheetMapper = StudentExamMarkSheetServiceMapper::getInstance()->getMapper(); | |
} | |
// Prevent any oustide instantiation of this class | |
// /Condition 3 - Prevent any object or instance of that class to be cloned | |
private function __clone() | |
{ | |
} | |
// Prevent any copy of this object | |
// /Condition 4 - Have a single globally accessible static method | |
public static function getInstance() | |
{ | |
if (!is_object(self::$_instance)) // or if( is_null(self::$_instance) ) or if( self::$_instance == null ) | |
self::$_instance = new self(); | |
return self::$_instance; | |
} | |
/** | |
* @param $batchId | |
* @return array|Object | |
* @throws ProfessionalException | |
* @author Aiswarya v | |
*/ | |
public function getSupplyExamRegistrationsByBatchId($batchId) | |
{ | |
$batchId = $this->realEscapeString($batchId); | |
$supplyExamRegs = []; | |
$sql = "SELECT DISTINCT es.id, es.supplyDesc as name, es.examMonth, es.examYear FROM exam_supplementary es INNER JOIN supply_improve_batches sib ON (es.id= sib | |
.exam_supplementary_id) INNER JOIN batches b ON (sib.batchID = b.batchID) WHERE b.batchId = '$batchId' "; | |
try { | |
$supplyExamRegs = $this->executeQueryForList($sql); | |
} catch (\Exception $e) { | |
throw new ProfessionalException($e->getCode(), $e->getMessage()); | |
} | |
return $supplyExamRegs; | |
} | |
/** | |
* @param $batchId | |
* @return array|Object | |
* @throws ProfessionalException | |
* @author Aiswarya v | |
*/ | |
public function getStudentsMarkSheetsUsingExamRegId($request) | |
{ | |
$examRegId = $this->realEscapeString($request->examRegId); | |
$batchId = $this->realEscapeString($request->batchId); | |
$semId = $this->realEscapeString($request->semId); | |
$examType = $this->realEscapeString($request->examType); | |
$excludeFailedBatch = ""; | |
if(!$request->includeFailedBatch){ | |
$excludeFailedBatch = "AND t1.batchID in (select batchID from batches fb where fb.batchName !='failed')"; | |
} | |
$studentLists = []; | |
$sql = "SELECT t1.studentID,t1.regNo,t1.studentName,sub.subjectID, sub.subjectDesc ,sub.subjectName,subgrp.code as subjectGroupCode ,subgrp.name as subjectGroupName,ec.*,ecsem.total_marks as semTotal,ecsem.mark_details as semesterMarkDetails,ecsem.percentage as semPercentage,ecsem.status as semStatus | |
FROM failed_students fs | |
inner join studentaccount t1 on t1.studentID = fs.studentID $excludeFailedBatch | |
inner join batches b on t1.batchID = b.batchID | |
inner join exam_reg_studentchallan t2 ON t1.studentID = t2.studentID and t2.examregID = $examRegId | |
inner join exam_reg_studentsubject t3 on t2.examregID = t3.examregID AND t2.studentID = t3.studentID | |
left join ec_subject_consolidated_mark_details ec on ec.student_id = t1.studentID and ec.batch_id = fs.previousBatch and JSON_CONTAINS(ec.mark_history, '{\"examRegId\" : \"$examRegId\"}') and JSON_CONTAINS(ec.mark_history, '{\"examMarkType\" : \"$examType\"}') | |
left join subjects sub on ec.subject_id = sub.subjectID | |
left join subjectGroups_subjects grp on sub.subjectID = grp.subjects_id and grp.batches_id = fs.previousBatch | |
left join subjectGroups subgrp on subgrp.id = grp.subjectGroups_id | |
left join ec_semster_consolidated_mark_details ecsem on ecsem.student_id = t1.studentID and ecsem.batch_id = fs.previousBatch and ecsem.sem_id = ec.sem_id where fs.previousBatch = $batchId and fs.failedInSemester > '$semId' AND FIND_IN_SET('$semId', fs.hisSemestersInThisbatch) | |
union | |
SELECT s.studentID,s.regNo,s.studentName,sub.subjectID, sub.subjectDesc ,sub.subjectName,subgrp.code as subjectGroupCode ,subgrp.name as subjectGroupName,ec.*,ecsem.total_marks as semTotal,ecsem.mark_details as semesterMarkDetails,ecsem.percentage as semPercentage,ecsem.status as semStatus | |
FROM studentaccount s | |
inner join batches b on s.batchID=b.batchID | |
inner join exam_reg_studentchallan t2 ON s.studentID = t2.studentID and t2.examregID = $examRegId | |
inner join exam_reg_studentsubject t3 on t2.examregID = t3.examregID AND t2.studentID = t3.studentID left join ec_subject_consolidated_mark_details ec on ec.student_id = s.studentID and ec.batch_id = s.batchID and JSON_CONTAINS(ec.mark_history, '{\"examRegId\" : \"$examRegId\"}') and JSON_CONTAINS(ec.mark_history, '{\"examMarkType\" : \"$examType\"}') | |
left join subjects sub on ec.subject_id = sub.subjectID | |
left join subjectGroups_subjects grp on sub.subjectID = grp.subjects_id and grp.batches_id = s.batchID | |
left join subjectGroups subgrp on subgrp.id = grp.subjectGroups_id | |
left join ec_semster_consolidated_mark_details ecsem on ecsem.student_id = s.studentID and ecsem.batch_id = s.batchID and ecsem.sem_id = ec.sem_id where s.batchID = $batchId | |
ORDER BY regNo ASC"; | |
try { | |
$studentLists = $this->executeQueryForList($sql, $this->studentMarkSheetMapper[StudentExamMarkSheetServiceMapper::GET_STUDENTS_MARK_SHEET]); | |
} catch (\Exception $e) { | |
throw new ProfessionalException($e->getCode(), $e->getMessage()); | |
} | |
return $studentLists; | |
} | |
/** | |
* @param $batchId | |
* @return array|Object | |
* @throws ProfessionalException | |
* @author Aiswarya v | |
*/ | |
public function getSubjectLists($request) | |
{ | |
$examRegId = $this->realEscapeString($request->examRegId); | |
$batchId = $this->realEscapeString($request->batchId); | |
$examType = $this->realEscapeString($request->examType); | |
$semId = $this->realEscapeString($request->semId); | |
$subjectLists = []; | |
$sql = "SELECT t1.*, t2.subjectID, t2.subjectName, t2.subjectDesc,subgrp.code as subjectGroupCode from | |
exam_subjectcredit t1 | |
inner join subjects t2 on t1.subjectID=t2.subjectID | |
left join subjectGroups_subjects grp on t2.subjectID = grp.subjects_id and grp.batches_id = t1.batchID and grp.semesters_id = t1.semID | |
left join subjectGroups subgrp on subgrp.id = grp.subjectGroups_id | |
where t1.batchID=\"".$batchId."\" and t1.semID=\"".$semId."\" | |
order by t1.subjectOrder ASC"; | |
try { | |
$subjectLists = $this->executeQueryForList($sql); | |
} catch (\Exception $e) { | |
throw new ProfessionalException($e->getCode(), $e->getMessage()); | |
} | |
return $subjectLists; | |
} | |
/** | |
* @param $batchId | |
* @return array|Object | |
* @throws ProfessionalException | |
* @author Aiswarya v | |
*/ | |
public function getStudentsMarkSheetsUsingExamRegIdForSupply($request) | |
{ | |
$examRegId = $this->realEscapeString($request->examRegId); | |
$batchId = $this->realEscapeString($request->batchId); | |
$semId = $this->realEscapeString($request->semId); | |
$examType = $this->realEscapeString($request->examType); | |
$studentLists = []; | |
$sql = "SELECT t1.studentID,t1.regNo,t1.studentName,sub.subjectID, sub.subjectDesc ,sub.subjectName,subgrp.code as subjectGroupCode ,subgrp.name as subjectGroupName,ec.*,ecsem.total_marks as semTotal,ecsem.mark_details as semesterMarkDetails,ecsem.percentage as semPercentage,ecsem.status as semStatus | |
FROM failed_students fs | |
inner join studentaccount t1 on t1.studentID = fs.studentID and t1.batchID in (select batchID from batches fb where fb.batchName !='failed') | |
inner join batches b on fs.previousBatch =b.batchID | |
inner join exam_supplementary_student_details t3 on t1.studentID=t3.studentID and t3.paid=1 and t3.exam_supplementary_id=$examRegId | |
left join ec_subject_consolidated_mark_details ec on ec.student_id = t1.studentID and JSON_CONTAINS(ec.mark_history, '{\"examRegId\" : \"$examRegId\"}') and JSON_CONTAINS(ec.mark_history, '{\"examMarkType\" : \"$examType\"}') | |
left join subjects sub on ec.subject_id = sub.subjectID | |
left join subjectGroups_subjects grp on sub.subjectID = grp.subjects_id and grp.batches_id = fs.previousBatch | |
left join subjectGroups subgrp on subgrp.id = grp.subjectGroups_id | |
left join ec_semster_consolidated_mark_details ecsem on ecsem.student_id = t1.studentID and ecsem.batch_id = fs.previousBatch and ecsem.sem_id = ec.sem_id | |
where fs.previousBatch = $batchId and fs.failedInSemester > '$semId' AND FIND_IN_SET('$semId', fs.hisSemestersInThisbatch) | |
UNION | |
SELECT s.studentID,s.regNo,s.studentName,sub.subjectID, sub.subjectDesc ,sub.subjectName,subgrp.code as subjectGroupCode ,subgrp.name as subjectGroupName,ec.*,ecsem.total_marks as semTotal,ecsem.mark_details as semesterMarkDetails,ecsem.percentage as semPercentage,ecsem.status as semStatus | |
FROM studentaccount s | |
inner join batches b on s.batchID=b.batchID | |
inner join exam_supplementary_student_details t1 on t1.studentID=s.studentID and t1.paid=1 and t1.exam_supplementary_id=$examRegId | |
left join ec_subject_consolidated_mark_details ec on ec.student_id = s.studentID and JSON_CONTAINS(ec.mark_history, '{\"examRegId\" : \"$examRegId\"}') and JSON_CONTAINS(ec.mark_history, '{\"examMarkType\" : \"$examType\"}') | |
left join subjects sub on ec.subject_id = sub.subjectID | |
left join subjectGroups_subjects grp on sub.subjectID = grp.subjects_id and grp.batches_id = s.batchID | |
left join subjectGroups subgrp on subgrp.id = grp.subjectGroups_id | |
left join ec_semster_consolidated_mark_details ecsem on ecsem.student_id = s.studentID and ecsem.batch_id = s.batchID and ecsem.sem_id = ec.sem_id where s.batchID = $batchId | |
ORDER BY regNo ASC"; | |
try { | |
$studentLists = $this->executeQueryForList($sql, $this->studentMarkSheetMapper[StudentExamMarkSheetServiceMapper::GET_STUDENTS_MARK_SHEET]); | |
} catch (\Exception $e) { | |
throw new ProfessionalException($e->getCode(), $e->getMessage()); | |
} | |
return $studentLists; | |
} | |
/** | |
* @param $batchId .$examRegId | |
* @return array|Object | |
* @throws ProfessionalException | |
* @author Aiswarya v | |
*/ | |
public function getBatchDetailsByExamRegIdAndBatchId($request) | |
{ | |
$examRegId = $this->realEscapeString($request->examRegId); | |
$batchId = $this->realEscapeString($request->batchId); | |
$examType = $this->realEscapeString($request->examType); | |
$batchDetails = null; | |
$sql = "SELECT * FROM exam_registration_batches WHERE examregID = $examRegId AND batchID = $batchId "; | |
try { | |
$batchDetails = $this->executeQueryForObject($sql); | |
} catch (\Exception $e) { | |
throw new ProfessionalException($e->getCode(), $e->getMessage()); | |
} | |
return $batchDetails; | |
} | |
/** | |
* Method for getting supply exam month nd year by supplyexam reg id | |
* @throws ProfessionalException | |
* @return Object | |
* @author Aiswarya | |
*/ | |
public function getSupplyExamSem($supplyExamRegId) | |
{ | |
$supplyExamDetails=""; | |
$supplyExamRegId = $this->realEscapeString($supplyExamRegId); | |
try{ | |
$sql = "SELECT * from exam_supplementary where id='$supplyExamRegId'"; | |
$supplyExamDetails = $this->executeQueryForObject($sql); | |
}catch (\Exception $e){ | |
throw new ProfessionalException($e->getCode(),$e->getMessage()); | |
} | |
return $supplyExamDetails; | |
} | |
public function getRegularExamMonthAndYear($examregID) | |
{ | |
$regularExamDetails=""; | |
$examregID = $this->realEscapeString($examregID); | |
try{ | |
$sql = "SELECT examMonth,examYear FROM exam_registration WHERE examregID = ".$examregID.""; | |
$regularExamDetails = $this->executeQueryForObject($sql); | |
}catch (\Exception $e){ | |
throw new ProfessionalException($e->getCode(),$e->getMessage()); | |
} | |
return $regularExamDetails; | |
} | |
public function getSubjectGroups($batchId,$semId) | |
{ | |
$sql = null; | |
$batchId = $this->realEscapeString($batchId); | |
$semId = $this->realEscapeString($semId); | |
$subjectGroups = []; | |
try{ | |
$sql = "SELECT ersc.*,t2.subjectGroups_id AS groupId,t3.code,t3.name,t1.subjectName,t1.subjectDesc,t1.subjectID,t1.subjectPriority,ersc.subjectOrder,ersc.subjectType FROM subjects t1 INNER JOIN subjectGroups_subjects t2 ON t1.subjectID = t2.subjects_id LEFT JOIN subjectGroups t3 ON t2.subjectGroups_id = t3.id INNER JOIN exam_subjectcredit ersc ON ersc.batchID = t2.batches_id AND ersc.semID = t2.semesters_id AND t2.subjects_id = ersc.subjectID WHERE | |
t2.batches_id = $batchId AND t2.semesters_id = $semId ORDER BY subjectOrder ASC;"; | |
$subjectGroups = $this->executeQueryForList($sql, $this->studentMarkSheetMapper[StudentExamMarkSheetServiceMapper::GET_SUBJECT_GROUPS]); | |
}catch( \Exception $e){ | |
throw new AutonomousException($e->getCode(),$e->getMessage()); | |
} | |
return $subjectGroups; | |
} | |
/** | |
* @param $batchId | |
* @return array|Object | |
* @throws ProfessionalException | |
* @author Aiswarya v | |
*/ | |
public function getSubjectListsForSupply($request) | |
{ | |
$examRegId = $this->realEscapeString($request->examRegId); | |
$batchId = $this->realEscapeString($request->batchId); | |
$examType = $this->realEscapeString($request->examType); | |
$semId = $this->realEscapeString($request->semId); | |
$subjectLists = []; | |
$sql = "SELECT sub.subjectID, sub.subjectDesc ,sub.subjectName,subgrp.code as subjectGroupCode ,subgrp.name as subjectGroupName,ec.*,ecre.* FROM failed_students fs | |
inner join studentaccount t1 on t1.studentID = fs.studentID and t1.batchID in (select batchID from batches fb where fb.batchName !='failed') | |
inner join batches b on t1.batchID=b.batchID | |
inner join exam_supplementary_student_details t3 on t1.studentID=t3.studentID and t3.paid=1 and t3.exam_supplementary_id=$examRegId | |
left join ec_subject_consolidated_mark_details ec on ec.student_id = t1.studentID and JSON_CONTAINS(ec.mark_history, '{\"examRegId\" : \"$examRegId\"}') and JSON_CONTAINS(ec.mark_history, '{\"examMarkType\" : \"$examType\"}') | |
inner join subjects sub on ec.subject_id = sub.subjectID | |
left join subjectGroups_subjects grp on sub.subjectID = grp.subjects_id and grp.batches_id = fs.previousBatch | |
left join subjectGroups subgrp on subgrp.id = grp.subjectGroups_id | |
left join ec_semster_consolidated_mark_details ecsem on ecsem.student_id = t1.studentID and ecsem.batch_id = fs.previousBatch and ecsem.sem_id = ec.sem_id | |
left join exam_subjectcredit ecre on ecre.subjectID = sub.subjectID and ecre.batchID = fs.previousBatch and ecre.semID = $semId where fs.previousBatch = $batchId and fs.failedInSemester > '$semId' AND FIND_IN_SET('$semId', fs.hisSemestersInThisbatch) | |
UNION | |
SELECT sub.subjectID, sub.subjectDesc ,sub.subjectName,subgrp.code as subjectGroupCode ,subgrp.name as subjectGroupName,ec.*,ecre.* | |
FROM studentaccount s | |
inner join batches b on s.batchID=b.batchID | |
inner join exam_supplementary_student_details t1 on t1.studentID=s.studentID and t1.paid=1 and t1.exam_supplementary_id=$examRegId | |
left join ec_subject_consolidated_mark_details ec on ec.student_id = s.studentID and JSON_CONTAINS(ec.mark_history, '{\"examRegId\" : \"$examRegId\"}') and JSON_CONTAINS(ec.mark_history, '{\"examMarkType\" : \"$examType\"}') | |
inner join subjects sub on ec.subject_id = sub.subjectID | |
left join subjectGroups_subjects grp on sub.subjectID = grp.subjects_id and grp.batches_id = s.batchID | |
left join subjectGroups subgrp on subgrp.id = grp.subjectGroups_id | |
left join ec_semster_consolidated_mark_details ecsem on ecsem.student_id = s.studentID and ecsem.batch_id = s.batchID and ecsem.sem_id = ec.sem_id | |
left join exam_subjectcredit ecre on ecre.subjectID = sub.subjectID and ecre.batchID = s.batchID and ecre.semID = $semId where s.batchID = $batchId | |
"; | |
try { | |
$subjectLists = $this->executeQueryForList($sql, $this->studentMarkSheetMapper[StudentExamMarkSheetServiceMapper::GET_SUBJECT_LISTS]); | |
} catch (\Exception $e) { | |
throw new ProfessionalException($e->getCode(), $e->getMessage()); | |
} | |
return $subjectLists; | |
} | |
public function getStudentConsolidatedMarkDetails ($consolidatedMarkDetails){ | |
$consolidatedMarkDetails = $this->realEscapeObject($consolidatedMarkDetails); | |
$cond = ""; | |
$sql = "SELECT | |
ecsem.student_id AS studentID, | |
sa.studentName, | |
sa.regNo, | |
ecsem.mark_details AS semesterMarkDetails, | |
ecsem.no_of_arrears, | |
ecsem.total_supply_attempt_count, | |
ecsem.total_marks AS semTotal, | |
ecsem.percentage AS semPercentage, | |
ecsem.grade AS semGrade, | |
ecsem.class AS semClass, | |
ecsem.sgpa AS semSgpa, | |
ecsem.status AS semStatus, | |
ecsub.subject_id AS subjectID, | |
s.subjectName, | |
s.subjectDesc, | |
s.subjectPriority, | |
ecsub.id, | |
ecsub.subject_category_id, | |
sc.subjectcatID, | |
sc.subjectcatName, | |
sc.show_in_sem_term_reg, | |
ecsub.mark_details, | |
ecsub.mark_history, | |
ecsub.no_of_chances_taken, | |
ecsub.total_marks, | |
ecsub.percentage, | |
ecsub.grade, | |
ecsub.grade_point, | |
ecsub.credit_grade_point, | |
ecsub.status, | |
ecsub.class, | |
esc.credit AS credit, | |
esc.excludeSubjectFromTotal | |
FROM | |
ec_semster_consolidated_mark_details ecsem | |
INNER JOIN | |
ec_subject_consolidated_mark_details ecsub ON ecsub.student_id = ecsem.student_id | |
AND ecsub.sem_id = ecsem.sem_id | |
INNER JOIN | |
subjects s ON s.subjectID = ecsub.subject_id | |
INNER JOIN | |
semesters sem ON sem.semID = ecsem.sem_id | |
INNER JOIN | |
studentaccount sa ON sa.studentID = ecsem.student_id | |
INNER JOIN | |
exam_subjectcredit esc ON esc.subjectID = ecsub.subject_id | |
AND esc.semID = ecsub.sem_id AND esc.batchID = ecsub.batch_id | |
LEFT JOIN | |
subject_category sc ON sc.subjectcatID = s.subjectcatID | |
WHERE 1 = 1"; | |
try{ | |
$cond .= $consolidatedMarkDetails->semId?" AND ecsem.sem_id = '$consolidatedMarkDetails->semId'":""; | |
$cond .= $consolidatedMarkDetails->studentId?" AND ecsem.student_id = '$consolidatedMarkDetails->studentId'":""; | |
$cond .= $consolidatedMarkDetails->subjectId?" AND ecsub.subject_id = '$consolidatedMarkDetails->subjectId'":""; | |
$sql .= $cond; | |
$studentSemConsolidated = $this->executeQueryForList($sql,$this->studentMarkSheetMapper[StudentExamMarkSheetServiceMapper::GET_STUDENTS_MARK_SHEET]); | |
return $studentSemConsolidated; | |
} | |
catch(\Exception $e) { | |
throw new ProfessionalException($e->getCode(),$e->getMessage()); | |
} | |
} | |
public function getStudentCourseConsolidatedMarkDetail($request){ | |
$request = $this->realEscapeObject($request); | |
$cond = ""; | |
$sql = "SELECT ecm.student_id,ecm.percentage, ecm.cgpa, ecm.total_marks,ecm.status from ec_course_consolidated_mark_details ecm WHERE 1=1"; | |
try{ | |
$cond .= $request->studentId?" AND ecm.student_id = '$request->studentId'":""; | |
$studentConsolidatedMark = $this->executeQueryForList($sql); | |
return $studentConsolidatedMark; | |
} | |
catch(\Exception $e) { | |
throw new ProfessionalException($e->getCode(),$e->getMessage()); | |
} | |
} | |
} | |
?> |