Code Coverage |
||||||||||
Classes and Traits |
Functions and Methods |
Lines |
||||||||
| Total | |
0.00% |
0 / 1 |
|
0.00% |
0 / 9 |
CRAP | |
0.00% |
0 / 124 |
| SlowLearnerIdentificationService | |
0.00% |
0 / 1 |
|
0.00% |
0 / 9 |
650.00 | |
0.00% |
0 / 124 |
| __construct | |
0.00% |
0 / 1 |
2.00 | |
0.00% |
0 / 2 |
|||
| __clone | |
0.00% |
0 / 1 |
2.00 | |
0.00% |
0 / 2 |
|||
| getInstance | |
0.00% |
0 / 1 |
6.00 | |
0.00% |
0 / 5 |
|||
| addSlowLearnerIdentification | |
0.00% |
0 / 1 |
6.00 | |
0.00% |
0 / 28 |
|||
| updateSlowLearnerIdentification | |
0.00% |
0 / 1 |
6.00 | |
0.00% |
0 / 22 |
|||
| getSlowLearnerIdentification | |
0.00% |
0 / 1 |
132.00 | |
0.00% |
0 / 26 |
|||
| updateSlowLearnerIdentificationActions | |
0.00% |
0 / 1 |
6.00 | |
0.00% |
0 / 14 |
|||
| updateSlowLearnerIdentificationAttendance | |
0.00% |
0 / 1 |
6.00 | |
0.00% |
0 / 16 |
|||
| removeSlowLearnerIdentificationById | |
0.00% |
0 / 1 |
6.00 | |
0.00% |
0 / 9 |
|||
| <?php | |
| namespace com\linways\core\ams\professional\service; | |
| use com\linways\core\ams\professional\dto\ExamType; | |
| use com\linways\core\ams\professional\util\CommonUtil; | |
| use com\linways\core\ams\professional\service\CommonService; | |
| use com\linways\core\ams\professional\service\StudentService; | |
| use com\linways\core\ams\professional\mapper\ExamServiceMapper; | |
| use com\linways\core\ams\professional\mapper\InternalExamMapper; | |
| use com\linways\core\ams\professional\dto\SlowLearnerIdentification; | |
| use com\linways\core\ams\professional\exception\ProfessionalException; | |
| class SlowLearnerIdentificationService 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->mapper = ExamServiceMapper::getInstance()->getMapper(); | |
| // $this->internalExamMapper = InternalExamMapper::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; | |
| } | |
| /** | |
| * add slow learner identification | |
| * @param SlowLearnerIdentification $slowLearnerIdentification | |
| * @return object|NULL|\com\linways\base\util\$objectList[] | |
| * @throws ProfessionalException | |
| */ | |
| public function addSlowLearnerIdentification($slowLearnerIdentification) | |
| { | |
| $slowLearnerIdentification = $this->realEscapeObject($slowLearnerIdentification); | |
| $slowLearnerIdentification->identifyingContext = json_encode($slowLearnerIdentification->identifyingContext); | |
| $slowLearnerIdentification->weakStudentIds = json_encode($slowLearnerIdentification->weakStudentIds); | |
| $slowLearnerIdentification->attendedStudentsIds = json_encode($slowLearnerIdentification->attendedStudentsIds); | |
| $slowLearnerIdentification->actions = json_encode($slowLearnerIdentification->actions); | |
| $sql = "INSERT INTO slowLearnerIdentification ( | |
| identifying_context, | |
| exam_type_id, | |
| percentage, | |
| weakStudentIds, | |
| attendedStudentsIds, | |
| remedialMeasure, | |
| remedialActionEffectivenes, | |
| actions, | |
| date, | |
| createdBy, | |
| createdDate, | |
| updatedBy, | |
| updatedDate) | |
| VALUES ( | |
| '$slowLearnerIdentification->identifyingContext', '$slowLearnerIdentification->examTypeId', $slowLearnerIdentification->percentage, '$slowLearnerIdentification->weakStudentIds', '$slowLearnerIdentification->attendedStudentsIds', '$slowLearnerIdentification->remedialMeasure', '$slowLearnerIdentification->remedialActionEffectivenes', '$slowLearnerIdentification->actions', '$slowLearnerIdentification->date', $slowLearnerIdentification->createdBy, utc_timestamp(), $slowLearnerIdentification->updatedBy, utc_timestamp())"; | |
| try { | |
| return $this->executeQueryForObject($sql, true); | |
| } catch (\Exception $e) { | |
| throw new ProfessionalException($e->getMessage(), $e->getCode()); | |
| } | |
| } | |
| /** | |
| * update slow learner identification | |
| * @param SlowLearnerIdentification $slowLearnerIdentification | |
| * @return object|NULL|\com\linways\base\util\$objectList[] | |
| * @throws ProfessionalException | |
| */ | |
| public function updateSlowLearnerIdentification($slowLearnerIdentification) | |
| { | |
| $slowLearnerIdentification = $this->realEscapeObject($slowLearnerIdentification); | |
| $slowLearnerIdentification->weakStudentIds = json_encode($slowLearnerIdentification->weakStudentIds); | |
| $slowLearnerIdentification->attendedStudentsIds = json_encode($slowLearnerIdentification->attendedStudentsIds); | |
| $slowLearnerIdentification->actions = json_encode($slowLearnerIdentification->actions); | |
| $sql = "UPDATE slowLearnerIdentification SET | |
| percentage = $slowLearnerIdentification->percentage, | |
| weakStudentIds = '$slowLearnerIdentification->weakStudentIds', | |
| attendedStudentsIds = '$slowLearnerIdentification->attendedStudentsIds', | |
| remedialMeasure = '$slowLearnerIdentification->remedialMeasure', | |
| remedialActionEffectivenes = '$slowLearnerIdentification->remedialActionEffectivenes', | |
| actions = '$slowLearnerIdentification->actions', | |
| date = '$slowLearnerIdentification->date', | |
| updatedBy = $slowLearnerIdentification->updatedBy, | |
| updatedDate = utc_timestamp() | |
| WHERE id = '$slowLearnerIdentification->id'"; | |
| try { | |
| return $this->executeQueryForObject($sql); | |
| } catch (\Exception $e) { | |
| throw new ProfessionalException($e->getMessage(), $e->getCode()); | |
| } | |
| } | |
| /** | |
| * get slow learner identification | |
| * @param int $examTypeId | |
| * @param in $batchId | |
| * @param int $subjectId | |
| * @param float $percenatge | |
| * @param int $semId | |
| * @return object|NULL|\com\linways\base\util\$objectList[] | |
| * @throws ProfessionalException | |
| */ | |
| public function getSlowLearnerIdentification($request) | |
| { | |
| $request = $this->realEscapeObject($request); | |
| $where = []; | |
| $request->examTypeId? $where[] = " sl.exam_type_id = $request->examTypeId ":""; | |
| $request->batchId? $where[] = " sl.identifying_context->>'$.batchId' = $request->batchId ":""; | |
| $request->semId? $where[] = " sl.identifying_context->>'$.semId' = $request->semId ":""; | |
| $request->subjectId? $where[] = " sl.identifying_context->>'$.subjectId' = $request->subjectId ":""; | |
| $request->pseudoSubjectId? $where[] = " sl.identifying_context->>'$.pseudoSubjectId' = $request->pseudoSubjectId ":""; | |
| $request->id? $where[] = " sl.id = $request->id ":""; | |
| $request->date ? $where[] = " date = '$request->date' ":""; | |
| $sql = "SELECT sl.id, sl.identifying_context as identifyingContext, sl.exam_type_id as examTypeId, sl.percentage, sl.weakStudentIds, sl.attendedStudentsIds, actions, date FROM slowLearnerIdentification sl | |
| INNER JOIN exam_type et on et.typeID = sl.exam_type_id | |
| WHERE ".($where?implode(' AND ',$where):"")." ORDER BY sl.id"; | |
| try { | |
| $identifications = $this->executeQueryForList($sql); | |
| foreach ($identifications as $key => $identification) { | |
| $identification->identifyingContext = json_decode($identification->identifyingContext); | |
| $identification->weakStudentIds = json_decode($identification->weakStudentIds); | |
| $identification->attendedStudentsIds = json_decode($identification->attendedStudentsIds); | |
| $identification->actions = json_decode($identification->actions); | |
| } | |
| return $identifications; | |
| } catch (\Exception $e) { | |
| throw new ProfessionalException($e->getMessage(), $e->getCode()); | |
| } | |
| } | |
| /** | |
| * update slow learner identification | |
| * @param SlowLearnerIdentification $slowLearnerIdentification | |
| * @return object|NULL|\com\linways\base\util\$objectList[] | |
| * @throws ProfessionalException | |
| */ | |
| public function updateSlowLearnerIdentificationActions($slowLearnerIdentification) | |
| { | |
| $slowLearnerIdentification = $this->realEscapeObject($slowLearnerIdentification); | |
| $slowLearnerIdentification->actions = json_encode($slowLearnerIdentification->actions); | |
| $sql = "UPDATE slowLearnerIdentification SET | |
| actions = '$slowLearnerIdentification->actions', | |
| updatedBy = $slowLearnerIdentification->updatedBy, | |
| updatedDate = utc_timestamp() | |
| WHERE id = '$slowLearnerIdentification->id'"; | |
| try { | |
| return $this->executeQueryForObject($sql); | |
| } catch (\Exception $e) { | |
| throw new ProfessionalException($e->getMessage(), $e->getCode()); | |
| } | |
| } | |
| /** | |
| * update slow learner identification | |
| * @param SlowLearnerIdentification $slowLearnerIdentification | |
| * @return object|NULL|\com\linways\base\util\$objectList[] | |
| * @throws ProfessionalException | |
| */ | |
| public function updateSlowLearnerIdentificationAttendance($slowLearnerIdentification) | |
| { | |
| $slowLearnerIdentification = $this->realEscapeObject($slowLearnerIdentification); | |
| $slowLearnerIdentification->weakStudentIds = json_encode($slowLearnerIdentification->weakStudentIds); | |
| $slowLearnerIdentification->attendedStudentsIds = json_encode($slowLearnerIdentification->attendedStudentsIds); | |
| $sql = "UPDATE slowLearnerIdentification SET | |
| weakStudentIds = '$slowLearnerIdentification->weakStudentIds', | |
| attendedStudentsIds = '$slowLearnerIdentification->attendedStudentsIds', | |
| updatedBy = $slowLearnerIdentification->updatedBy, | |
| updatedDate = utc_timestamp() | |
| WHERE id = '$slowLearnerIdentification->id'"; | |
| try { | |
| return $this->executeQueryForObject($sql); | |
| } catch (\Exception $e) { | |
| throw new ProfessionalException($e->getMessage(), $e->getCode()); | |
| } | |
| } | |
| /** | |
| * get slow learner identification by examId | |
| * @param int $id | |
| * @return object|NULL|\com\linways\base\util\$objectList[] | |
| * @throws ProfessionalException | |
| */ | |
| public function removeSlowLearnerIdentificationById($id) | |
| { | |
| $id = $this->realEscapeString($id); | |
| $sql = "DELETE FROM slowLearnerIdentification WHERE id=$id"; | |
| try { | |
| return $this->executeQuery($sql); | |
| } catch (\Exception $e) { | |
| throw new ProfessionalException($e->getMessage(), $e->getCode()); | |
| } | |
| } | |
| } | |
| ?> |