Code Coverage |
||||||||||
Classes and Traits |
Functions and Methods |
Lines |
||||||||
Total | |
0.00% |
0 / 1 |
|
0.00% |
0 / 16 |
CRAP | |
0.00% |
0 / 355 |
FeedbackService | |
0.00% |
0 / 1 |
|
0.00% |
0 / 16 |
4032.00 | |
0.00% |
0 / 355 |
__construct | |
0.00% |
0 / 1 |
2.00 | |
0.00% |
0 / 3 |
|||
__clone | n/a |
0 / 0 |
1 | n/a |
0 / 0 |
|||||
getInstance | |
0.00% |
0 / 1 |
6.00 | |
0.00% |
0 / 5 |
|||
insertFeedbackToBulkOfStudents | |
0.00% |
0 / 1 |
42.00 | |
0.00% |
0 / 26 |
|||
getAllFeedbackTypes | |
0.00% |
0 / 1 |
20.00 | |
0.00% |
0 / 16 |
|||
getAllBulkFeedbacks | |
0.00% |
0 / 1 |
20.00 | |
0.00% |
0 / 35 |
|||
getBulkFeedbackDetails | |
0.00% |
0 / 1 |
20.00 | |
0.00% |
0 / 31 |
|||
deleteBulkFeedback | |
0.00% |
0 / 1 |
6.00 | |
0.00% |
0 / 14 |
|||
updateBulkFeedback | |
0.00% |
0 / 1 |
132.00 | |
0.00% |
0 / 49 |
|||
getSelectedStudentListOfBulkFeedback | |
0.00% |
0 / 1 |
30.00 | |
0.00% |
0 / 36 |
|||
addFeedbackAboutStudent | |
0.00% |
0 / 1 |
12.00 | |
0.00% |
0 / 9 |
|||
removeFeedbackAboutStudent | |
0.00% |
0 / 1 |
6.00 | |
0.00% |
0 / 9 |
|||
getFeedbackAboutStudent | |
0.00% |
0 / 1 |
30.00 | |
0.00% |
0 / 22 |
|||
addFeedbackAboutStudentForMentorMentee | |
0.00% |
0 / 1 |
12.00 | |
0.00% |
0 / 26 |
|||
getFeedbackAboutStudentForMentorMentee | |
0.00% |
0 / 1 |
42.00 | |
0.00% |
0 / 35 |
|||
removeFeedbackAboutStudentForMentorMentee | |
0.00% |
0 / 1 |
6.00 | |
0.00% |
0 / 9 |
|||
getFeedbackAboutStudentBatch | |
0.00% |
0 / 1 |
6.00 | |
0.00% |
0 / 30 |
<?php | |
namespace com\linways\core\ams\professional\service; | |
use com\linways\core\ams\professional\service\BaseService; | |
use com\linways\core\ams\professional\dto\SettingsConstents; | |
use com\linways\core\ams\professional\service\CommonService; | |
use com\linways\core\ams\professional\service\PermissionService; | |
use com\linways\core\ams\professional\mapper\FeedbackServiceMapper; | |
use com\linways\core\ams\professional\exception\ProfessionalException; | |
use com\linways\core\ams\professional\request\SearchBulkFeedbacksRequest; | |
use com\linways\core\ams\professional\service\nba\ExtraActivitiesService; | |
use com\linways\core\ams\professional\dto\nba\FeedbackToStudentBulkInsert; | |
use com\linways\core\ams\professional\request\nba\GetExtraActivityRequest; | |
use com\linways\core\ams\professional\dto\FeedbackAboutStudent; | |
class FeedbackService extends BaseService | |
{ | |
// /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 = FeedbackServiceMapper::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 FeedbackToStudentBulkInsert $feedback | |
* @return void | |
*/ | |
public function insertFeedbackToBulkOfStudents($feedback) { | |
$feedback = $this->realEscapeObject($feedback); | |
$ignoreNotAttendedStudents = CommonService::getInstance()->getSettings(SettingsConstents::STUDENT_EXTRA_ACTITITY, SettingsConstents::IGNORE_NOT_ATTENDED_STUDENTS); | |
$sqlForWrapperTable = ""; | |
$sqlForWrapperTable = "INSERT INTO bulk_add_feedback_about_student (name, description, student_feedback_type_id, batchID, semID, subjectID, created_by, created_date, updated_by, updated_date) VALUES ('$feedback->feedbackName', '$feedback->feedbackDescription', '$feedback->feedbackTypeId', '$feedback->batchId', '$feedback->semId', '$feedback->subjectId', '$feedback->createdBy', UTC_TIMESTAMP(), '$feedback->updatedBy', UTC_TIMESTAMP())"; | |
try { | |
$bulkInsertId = $this->executeQueryForObject($sqlForWrapperTable, true); | |
} catch (\Exception $e) { | |
throw new ProfessionalException($e->getCode(), $e->getMessage()); | |
} | |
$sql = ""; | |
$sql = "INSERT INTO feedback_about_student (studentID, staffID, feedback, feedback_name, createdDate, student_feedback_type_id, created_by, created_date, updated_by, updated_date, bulk_add_feedback_about_student_id, isAttended) VALUES "; | |
$values = []; | |
foreach ($feedback->studentIdList as $student) { | |
if ( $ignoreNotAttendedStudents == 1 && $student['isAttended'] == 0 ) { | |
continue; | |
} | |
$values[] = "(".$student['studentId'].", ".$feedback->staffId.", '".$feedback->feedbackDescription."', '".$feedback->feedbackName."', UTC_TIMESTAMP(),".$feedback->feedbackTypeId.", ".$feedback->createdBy.", UTC_TIMESTAMP(), ".$feedback->updatedBy.", UTC_TIMESTAMP(), ".$bulkInsertId.", ".$student['isAttended'].")"; | |
} | |
$sql .= implode(',', $values); | |
try { | |
$this->executeQuery($sql); | |
} catch (\Exception $e) { | |
throw new ProfessionalException($e->getCode(), $e->getMessage()); | |
} | |
return true; | |
} | |
/** | |
* get all feedback/activity types | |
* | |
* @return void | |
*/ | |
public function getAllFeedbackTypes() | |
{ | |
$sql = ""; | |
$sql = "SELECT id, name, description, is_activity as isActivity, activity_points as activityPoints, use_in_co as useInCo, use_in_po as useInPo FROM student_feedback_type"; | |
try { | |
$responseList = $this->executeQueryForList($sql); | |
} catch (\Exception $e) { | |
throw new ProfessionalException($e->getCode(), $e->getMessage()); | |
} | |
foreach($responseList as $response){ | |
if(!PermissionService::isNBAEnabled()){ | |
$response->useInCo = 0; | |
$response->useInPo = 0; | |
} | |
} | |
return $responseList; | |
} | |
/** | |
* @param GetAllBulkFeedbacksRequest $request | |
* @return void | |
*/ | |
public function getAllBulkFeedbacks($request) | |
{ | |
$request = $this->realEscapeObject($request); | |
$responseList = null; | |
$sql = ""; | |
$sql = "SELECT | |
bafs.id AS bulk_add_feedback_about_student_id, | |
bafs.name AS bulk_add_feedback_about_student_name, | |
bafs.description AS bulk_add_feedback_about_student_description, | |
bafs.student_feedback_type_id AS bulk_add_feedback_about_student_student_feedback_type_id, | |
IF(fas.isAttended, 1, 0) as feedback_about_student_studentAlreadySelected, | |
sta.studentID AS studentaccount_studentId, | |
sta.studentName AS studentaccount_studentName, | |
sta.admissionNo AS studentaccount_admissionNumber, | |
if(bafs.created_by = $request->staffId, 'ME', sa.staffName) AS created_by | |
FROM | |
bulk_add_feedback_about_student bafs | |
INNER JOIN | |
staffaccounts sa ON (bafs.created_by = sa.staffID) | |
INNER JOIN | |
feedback_about_student fas ON fas.bulk_add_feedback_about_student_id = bafs.id | |
INNER JOIN | |
studentaccount sta ON sta.studentID = fas.studentID WHERE 1=1 "; | |
// if ($request->staffId) { | |
// $sql .= "AND fas.staffID ='$request->staffId'"; | |
// } | |
if ($request->batchId) { | |
$sql .= "AND sta.batchID ='$request->batchId'"; | |
} | |
// if($request->bulkFeedbackId){ | |
// $sql .= "AND bafs.id = '$request->bulkFeedbackId'"; | |
// } | |
if($request->sortBy){ | |
$sql .= " ORDER BY sta.$request->sortBy"; | |
} | |
try { | |
$responseList = $this->executeQueryForList($sql, $this->mapper[FeedbackServiceMapper::GET_ALL_BULK_FEEDBACK]); | |
} catch (\Exception $e) { | |
throw new ProfessionalException($e->getCode(), $e->getMessage()); | |
} | |
return $responseList; | |
} | |
public function getBulkFeedbackDetails($request) | |
{ | |
$request = $this->realEscapeObject($request); | |
$response = null; | |
$sql = ""; | |
$sql = "SELECT | |
bafs.id AS bulk_add_feedback_about_student_id, | |
bafs.name AS bulk_add_feedback_about_student_name, | |
bafs.description AS bulk_add_feedback_about_student_description, | |
bafs.student_feedback_type_id AS bulk_add_feedback_about_student_student_feedback_type_id, | |
sta.studentID AS studentaccount_studentId, | |
sta.studentName AS studentaccount_studentName, | |
sta.admissionNo AS studentaccount_admissionNumber | |
FROM | |
bulk_add_feedback_about_student bafs | |
INNER JOIN | |
feedback_about_student fas ON fas.bulk_add_feedback_about_student_id = bafs.id | |
INNER JOIN | |
studentaccount sta ON sta.studentID = fas.studentID WHERE 1=1 "; | |
if ($request->staffId) { | |
$sql .= "AND fas.staffID ='$request->staffId'"; | |
} | |
if ($request->bulkFeedbackId) { | |
$sql .= "AND bafs.id = '$request->bulkFeedbackId'"; | |
} | |
try { | |
$response = $this->executeQueryForObject($sql, false, $this->mapper[FeedbackServiceMapper::GET_ALL_BULK_FEEDBACK]); | |
} catch (\Exception $e) { | |
throw new ProfessionalException($e->getCode(), $e->getMessage()); | |
} | |
return $response; | |
} | |
/** | |
* @param [type] $bulkFeedbackId | |
* @return void | |
*/ | |
public function deleteBulkFeedback($bulkFeedbackId) | |
{ | |
$bulkFeedbackId = $this->realEscapeString($bulkFeedbackId); | |
$sqlForDeletingFromCoMap = "DELETE mapco.* FROM nba_map_extra_activities_to_course_outcome mapco INNER JOIN feedback_about_student fas ON (mapco.feedback_about_student_feedbackID = fas.feedbackID) WHERE fas.bulk_add_feedback_about_student_id = $bulkFeedbackId"; | |
$sqlForDeletingFromFas = "DELETE FROM feedback_about_student WHERE bulk_add_feedback_about_student_id = $bulkFeedbackId"; | |
$sqlForDeletingFromBulk = "DELETE FROM bulk_add_feedback_about_student WHERE id = $bulkFeedbackId"; | |
try { | |
$this->executeQuery($sqlForDeletingFromCoMap); | |
$this->executeQuery($sqlForDeletingFromFas); | |
$this->executeQuery($sqlForDeletingFromBulk); | |
} catch (\Exception $e) { | |
throw new ProfessionalException($e->getCode(), $e->getMessage()); | |
} | |
return true; | |
} | |
/** | |
* | |
* @param [type] $bulkFeedback | |
* @return void | |
*/ | |
public function updateBulkFeedback($bulkFeedback) | |
{ | |
$ignoreNotAttendedStudents = CommonService::getInstance()->getSettings(SettingsConstents::STUDENT_EXTRA_ACTITITY, SettingsConstents::IGNORE_NOT_ATTENDED_STUDENTS); | |
$bulkFeedback = $this->realEscapeObject($bulkFeedback); | |
if (empty($bulkFeedback->studentIdList)) { | |
throw new ProfessionalException(ProfessionalException::INSUFFICIENT_PARAMETERS, 'Please Provide Atleast One Student...'); | |
} | |
$studentIds = []; | |
foreach ($bulkFeedback->studentIdList as $student) { | |
if ( $ignoreNotAttendedStudents == 1 && $student['isAttended'] == 0 ) { | |
continue; | |
} | |
$studentIds[] = $student['studentId']; | |
} | |
$request = new GetExtraActivityRequest(); | |
$request->semId = $bulkFeedback->semId; | |
$request->batchId = $bulkFeedback->batchId; | |
$request->subjectId = $bulkFeedback->subjectId; | |
$request->activityId = $bulkFeedback->id; | |
$coDetails = ExtraActivitiesService::getInstance()->getCoPercentageOfActivity ( $request, $bulkFeedback->id); | |
ExtraActivitiesService::getInstance()->deleteExtraActivitiesCoMappingByActivityId($request); | |
$sqlForDeletingStudents = "DELETE FROM feedback_about_student WHERE studentID NOT IN (" . implode(',', $studentIds) . ") AND bulk_add_feedback_about_student_id = '$bulkFeedback->id'"; | |
$sqlForupdatingToBulkFeedback = "UPDATE bulk_add_feedback_about_student SET name = '$bulkFeedback->name', description = '$bulkFeedback->description', student_feedback_type_id = $bulkFeedback->feedbackTypeId, batchID = $bulkFeedback->batchId, semID = $bulkFeedback->semId, subjectID = $bulkFeedback->subjectId, updated_by = $bulkFeedback->updatedBy, updated_date = UTC_TIMESTAMP() WHERE id = $bulkFeedback->id"; | |
$sqlForupdatingToFeedbackAboutStudent = "INSERT INTO feedback_about_student | |
(studentID, staffID, feedback, feedback_name, createdDate, student_feedback_type_id, created_by, created_date, updated_by, updated_date, bulk_add_feedback_about_student_id, isAttended) VALUES "; | |
$values = []; | |
foreach($bulkFeedback->studentIdList as $student) { | |
if ( $ignoreNotAttendedStudents == 1 && $student['isAttended'] == 0 ) { | |
continue; | |
} | |
$values[] = "(".$student['studentId'].", '$bulkFeedback->staffId', '$bulkFeedback->description', '$bulkFeedback->name', UTC_TIMESTAMP(),'$bulkFeedback->feedbackTypeId', '$bulkFeedback->createdBy', UTC_TIMESTAMP(), '$bulkFeedback->updatedBy', UTC_TIMESTAMP(), '$bulkFeedback->id', ".$student['isAttended'].")"; | |
} | |
$sqlForupdatingToFeedbackAboutStudent .= implode(',',$values); | |
$sqlForupdatingToFeedbackAboutStudent .= "ON DUPLICATE KEY UPDATE | |
feedback='$bulkFeedback->description', student_feedback_type_id = '$bulkFeedback->feedbackTypeId',feedback_name='$bulkFeedback->name', updated_by= $bulkFeedback->updatedBy, updated_date= UTC_TIMESTAMP(), isAttended = VALUES(isAttended)"; | |
try { | |
$this->executeQuery($sqlForDeletingStudents); | |
$this->executeQuery($sqlForupdatingToBulkFeedback); | |
$this->executeQuery($sqlForupdatingToFeedbackAboutStudent); | |
if ( !empty ( $coDetails ) ) { | |
$co_ids = []; | |
foreach ($coDetails as $co) { | |
$co_ids[] = $co->co_id; | |
} | |
ExtraActivitiesService::getInstance()->upsertExtraActivities($request, $co_ids); | |
} | |
} catch (\Exception $e) { | |
throw new ProfessionalException($e->getCode(), $e->getMessage()); | |
} | |
} | |
public function getSelectedStudentListOfBulkFeedback($bulkFeedbackId, $batchId, $semId, $subjectId, $staffId = NULL) | |
{ | |
$bulkFeedbackId = $this->realEscapeString($bulkFeedbackId); | |
$batchId = $this->realEscapeString($batchId); | |
$semId = $this->realEscapeString($semId); | |
$subjectId = $this->realEscapeString($subjectId); | |
$studentList = null; | |
$isCurrentSem = SemesterService::getInstance()->isCurrentSemester($batchId, $semId); | |
$subbatches = BatchService::getInstance()->getSubbatchBySubject($subjectId, $semId, $batchId, $staffId); | |
if (empty($subbatches)) | |
{ | |
if ($isCurrentSem) { | |
$sql = "SELECT sa.studentID AS id, studentName AS name, sa.admissionNo AS admissionNumber, sa.rollNo, IF(fas.isAttended, 1, 0) as studentAlreadySelected from studentaccount sa left join feedback_about_student fas ON sa.studentID = fas.studentID AND fas.bulk_add_feedback_about_student_id = '$bulkFeedbackId' where sa.batchID=\"" . $batchId . "\" order by sa.admissionNo ASC";//Here we use "IF" because fas.isAttended can be null due to left join | |
} else { | |
$sql = " | |
SELECT sa.studentID AS id, studentName AS name, admissionNo AS admissionNumber, rollNo, IF(fas.isAttended, 1, 0) as studentAlreadySelected from studentaccount sa inner join batches ba on sa.batchID = ba.batchID left join feedback_about_student fas ON sa.studentID = fas.studentID AND fas.bulk_add_feedback_about_student_id = '$bulkFeedbackId' where ba.batchID = $batchId | |
UNION SELECT sa.studentID AS id, studentName AS name, admissionNo AS admissionNumber, rollNo, IF(fas.isAttended, 1, 0) as studentAlreadySelected from failed_students fs left join studentaccount sa on fs.studentID= sa.studentID left join feedback_about_student fas ON sa.studentID = fas.studentID AND fas.bulk_add_feedback_about_student_id = '$bulkFeedbackId' where previousBatch = $batchId and failedInSemester > $semId order by admissionNumber ASC; "; | |
} | |
} | |
else | |
{ | |
if($isCurrentSem) | |
{ | |
$sql = "SELECT distinct sa.studentID AS id, studentName AS name, admissionNo AS admissionNumber, rollNo, IF(fas.isAttended, 1, 0) as studentAlreadySelected from sbs_relation sr inner join subbatch_sbs ssbs on sr.sbsID = ssbs.sbsID inner join subbatch_student ss on ss.subbatchID = ssbs.subbatchID inner join studentaccount sa on sa.studentID = ss.studentID left join feedback_about_student fas ON sa.studentID = fas.studentID AND fas.bulk_add_feedback_about_student_id = '$bulkFeedbackId' where sr.batchID = $batchId and sr.semID = $semId and subjectID = $subjectId order by admissionNumber ASC"; | |
} | |
else | |
{ | |
$sql = "SELECT distinct sa.studentID AS id, studentName AS name, admissionNo AS admissionNumber, rollNo, IF(fas.isAttended, 1, 0) as studentAlreadySelected from sbs_relation sr inner join subbatch_sbs ssbs on sr.sbsID = ssbs.sbsID inner join subbatch_student ss on ss.subbatchID = ssbs.subbatchID inner join studentaccount sa on sa.studentID = ss.studentID left join feedback_about_student fas ON sa.studentID = fas.studentID AND fas.bulk_add_feedback_about_student_id = '$bulkFeedbackId' where sr.batchID = $batchId and sr.semID = $semId and subjectID = $subjectId and sa.studentID in (select studentID from studentaccount where batchID = $batchId union select studentID from failed_students where previousBatch = $batchId and failedInSemester > $semId) order by admissionNumber ASC"; | |
} | |
} | |
try { | |
$studentList = $this->executeQueryForList($sql); | |
}catch(\Exception $e){ | |
throw new ProfessionalException($e->getCode(), $e->getMessage()); | |
} | |
return $studentList; | |
} | |
/** | |
* add feedback about student | |
* @param FeedbackAboutStudent $feedbackAboutStudent | |
* @throws ProfessionalException | |
* @return \com\linways\base\dto\MySqlResult|NULL | |
*/ | |
public function addFeedbackAboutStudent(FeedbackAboutStudent $feedbackAboutStudent) | |
{ | |
$feedbackAboutStudent = $this->realEscapeObject($feedbackAboutStudent); | |
$sql = "INSERT INTO feedback_about_student (studentID, staffID, feedback, feedback_name, createdDate, student_feedback_type_id, created_by, created_date, updated_by, updated_date) VALUES (".$feedbackAboutStudent->studentId.", ".$feedbackAboutStudent->staffId.", '".$feedbackAboutStudent->description."', '".$feedbackAboutStudent->feedbackName."', UTC_TIMESTAMP(),'".($feedbackAboutStudent->studentFeedbackTypeId?$feedbackAboutStudent->studentFeedbackTypeId:'null')."', ".$feedbackAboutStudent->createdBy.", UTC_TIMESTAMP(), ".$feedbackAboutStudent->updatedBy.", UTC_TIMESTAMP())"; | |
try { | |
return $this->executeQuery($sql); | |
}catch(\Exception $e){ | |
throw new ProfessionalException($e->getCode(), $e->getMessage()); | |
} | |
} | |
/** | |
* remove feedback about student | |
* @param int $feedbackId | |
* @throws ProfessionalException | |
* @return \com\linways\base\dto\MySqlResult|NULL | |
*/ | |
public function removeFeedbackAboutStudent($feedbackId) | |
{ | |
$feedbackId = $this->realEscapeString($feedbackId); | |
$sql = "DELETE FROM feedback_about_student WHERE feedbackID='$feedbackId'"; | |
try { | |
return $this->executeQuery($sql); | |
}catch(\Exception $e){ | |
throw new ProfessionalException($e->getCode(), $e->getMessage()); | |
} | |
} | |
/** | |
* get feeback about student | |
* @param FeedbackAboutStudent $feedbackAboutStudent | |
* @throws ProfessionalException | |
* @return object|array|\com\linways\base\util\$objectList[] | |
*/ | |
public function getFeedbackAboutStudent(FeedbackAboutStudent $feedbackAboutStudent) | |
{ | |
$feedbackAboutStudent = $this->realEscapeObject($feedbackAboutStudent); | |
$sql ="SELECT fas.feedbackID, fas.feedback_name as feedbackName, fas.feedback, fas.createdDate, fas.staffID, sa.staffName, fas.student_feedback_type_id, sft.name as feedbackTypeName FROM feedback_about_student fas INNER JOIN staffaccounts sa ON sa.staffID=fas.staffID LEFT JOIN student_feedback_type sft ON sft.id=fas.student_feedback_type_id WHERE fas.feedbackID is not null"; | |
if($feedbackAboutStudent->studentId) | |
{ | |
$sql .=" AND fas.studentID='$feedbackAboutStudent->studentId'"; | |
} | |
if($feedbackAboutStudent->isAttended !==null) | |
{ | |
$sql .=" AND fas.isAttended=$feedbackAboutStudent->isAttended"; | |
} | |
if($feedbackAboutStudent->studentFeedbackTypeId) | |
{ | |
$sql .=" AND fas.student_feedback_type_id=$feedbackAboutStudent->studentFeedbackTypeId"; | |
} | |
$sql .=" ORDER BY fas.createdDate"; | |
try { | |
return $this->executeQueryForList($sql); | |
}catch(\Exception $e){ | |
throw new ProfessionalException($e->getCode(), $e->getMessage()); | |
} | |
} | |
public function addFeedbackAboutStudentForMentorMentee(FeedbackAboutStudent $feedbackAboutStudent) | |
{ | |
$feedbackAboutStudent = $this->realEscapeObject($feedbackAboutStudent); | |
$sql = "INSERT INTO mentor_mentee_student_feedbacks(`studentID`, | |
`staffID`, | |
`feedback`, | |
`feedback_name`, | |
`student_feedback_type`, | |
`created_by`, | |
`created_date`, | |
`updated_by`, | |
`updated_date`) | |
VALUES (".$feedbackAboutStudent->studentId.", | |
".$feedbackAboutStudent->staffId.", | |
'".$feedbackAboutStudent->description."', | |
'".$feedbackAboutStudent->feedbackName."', | |
'".($feedbackAboutStudent->studentFeedbackTypeId?$feedbackAboutStudent->studentFeedbackTypeId:'null')."', | |
.".$feedbackAboutStudent->createdBy.", | |
UTC_TIMESTAMP(), | |
".$feedbackAboutStudent->updatedBy.", | |
UTC_TIMESTAMP())"; | |
try { | |
return $this->executeQuery($sql); | |
}catch(\Exception $e){ | |
throw new ProfessionalException($e->getCode(), $e->getMessage()); | |
} | |
} | |
public function getFeedbackAboutStudentForMentorMentee(FeedbackAboutStudent $feedbackAboutStudent) | |
{ | |
$feedbackAboutStudent = $this->realEscapeObject($feedbackAboutStudent); | |
$sql ="SELECT fas.id, | |
fas.feedback_name as feedbackName, | |
fas.feedback, | |
fas.createdDate, | |
fas.staffID, | |
sa.staffName, | |
fas.student_feedback_type | |
FROM mentor_mentee_student_feedbacks fas | |
INNER JOIN staffaccounts sa ON sa.staffID=fas.staffID | |
WHERE fas.id is not null"; | |
if($feedbackAboutStudent->studentId) | |
{ | |
$sql .=" AND fas.studentID='$feedbackAboutStudent->studentId'"; | |
} | |
if($feedbackAboutStudent->isAttended !==null) | |
{ | |
$sql .=" AND fas.isAttended=$feedbackAboutStudent->isAttended"; | |
} | |
if($feedbackAboutStudent->studentFeedbackTypeId) | |
{ | |
$sql .=" AND fas.student_feedback_type='$feedbackAboutStudent->studentFeedbackTypeId'"; | |
} | |
if($feedbackAboutStudent->staffId) | |
{ | |
$sql .=" AND fas.staffID=$feedbackAboutStudent->staffId"; | |
} | |
$sql .=" ORDER BY fas.createdDate"; | |
try { | |
return $this->executeQueryForList($sql); | |
}catch(\Exception $e){ | |
throw new ProfessionalException($e->getCode(), $e->getMessage()); | |
} | |
} | |
public function removeFeedbackAboutStudentForMentorMentee($feedbackId) | |
{ | |
$feedbackId = $this->realEscapeString($feedbackId); | |
$sql = "DELETE FROM mentor_mentee_student_feedbacks WHERE id='$feedbackId'"; | |
try { | |
return $this->executeQuery($sql); | |
}catch(\Exception $e){ | |
throw new ProfessionalException($e->getCode(), $e->getMessage()); | |
} | |
} | |
public function getFeedbackAboutStudentBatch ($batchIds) | |
{ | |
try { | |
$batchIds = $this->realEscapeArray($batchIds); | |
$batchIds = implode(',',$batchIds); | |
$sql = "SELECT | |
s.studentID , | |
s.studentName , | |
sft.name , | |
fas.feedback_name , | |
fas.feedback, | |
s2.staffID , | |
s2.staffName , | |
b.batchID , | |
b.batchName | |
from | |
feedback_about_student fas | |
inner join studentaccount s | |
on s.studentID = fas.studentID | |
inner join batches b on b.batchID = s.batchID | |
inner join student_feedback_type sft on sft.id = fas.student_feedback_type_id | |
inner join staffaccounts s2 on s2.staffID = fas.staffID | |
where | |
s.batchID in ($batchIds) | |
order by | |
fas.feedbackID,b.batchID desc"; | |
return $this->executeQueryForList($sql); | |
//code... | |
}catch(\Exception $e){ | |
throw new ProfessionalException($e->getCode(), $e->getMessage()); | |
} | |
} | |
} |