Your IP : 216.73.217.117


Current Path : /var/www/cesa.co.za/php/includes/
Upload File :
Current File : /var/www/cesa.co.za/php/includes/ADQAnswers.php

<?php

/*
 * Contact otto@igotafrica.com for details
 */

include_once('BaseTableClass.php');

/**
 * Control the  ADQAnswers table
 *
 * @author Otto Saayman
 */
class ADQAnswers extends BaseTableClass {

    public function getByADQFirmIdQId($qid, $adqFirmId) {

        $sql = "SELECT adqa.* FROM ADQAnswers adqa "
                . "RIGHT JOIN ADQuestions adq ON (adqa.ADQuestionID=adq.ADQuestionID AND adqa.ADQFirmID=" . $adqFirmId . ") "
                . "WHERE adq.ADQID=" . $qid . " "
                . "ORDER BY adq.SectionNum, adq.QuestionNum";

//        echo $sql;
//        exit;

        return $this->sqlf->getAll($sql);
    }

    function testAndCopy($questionnaireFirmID, $memberFirmID, $questionnaireId, $auditYear) {

        $answers = $this->sqlf->getAll("SELECT * FROM ADQAnswers WHERE ADQFirmID = $questionnaireFirmID");

        if (!is_countable($answers) || count($answers) <= 0) {

            $adqFirms = new ADQFirms($this->sqlf);

            $prevFirmQuestionnaire = $adqFirms->findByMemberFirmIdQuestionnaireIdYear($memberFirmID, $questionnaireId, ($auditYear - 1));

            if (is_countable($prevFirmQuestionnaire) && count($prevFirmQuestionnaire) > 0) {

                $prevAnswers = $this->sqlf->getAll("SELECT * FROM ADQAnswers WHERE ADQFirmID = " . $prevFirmQuestionnaire['ADQFirmID']);

                if (is_countable($prevAnswers) && count($prevAnswers) > 0) {
                    echo '<p>Fetched data from previous year</p>';

                    $firmQuestionnaire = $adqFirms->findByMemberFirmIdQuestionnaireIdYear($memberFirmID, $questionnaireId, $auditYear);

                    foreach ($prevAnswers as $prevAnswer) {

                        $prevAnswer['ADQFirmID'] = $firmQuestionnaire['ADQFirmID'];

                        $this->sqlf->autoExecute('ADQAnswers', $prevAnswer, 'INSERT');
                    }
                }
            }
        }
    }

    function getCertificationAnswer($ADQID, $ADQFirmID) {
        $sql = "SELECT * "
                . "FROM ADQAnswers JOIN ADQuestions USING (ADQuestionID) "
                . "INNER JOIN ADecQuestionnaires USING (ADQID) "
                . "WHERE ADQuestions.ADQID=" . $ADQID . " AND ADQAnswers.ADQFirmID=" . $ADQFirmID . " AND SectionNum=1 AND QuestionNum IN (1,3,4) ORDER BY QuestionNum";

        return $this->sqlf->getRow($sql);
    }

    function upsert($ADQAnswers) {

        $action = 'INSERT';
        $where = '';

//        var_dump($ADQAnswers);
//        exit;

        if (isset($ADQAnswers['ADQFirmID']) && $ADQAnswers['ADQFirmID'] > 0 && isset($ADQAnswers['ADQuestionID']) && $ADQAnswers['ADQuestionID'] > 0) {

            $ADQAnswersTest = $this->sqlf->getRow("SELECT * FROM ADQAnswers WHERE ADQFirmID = " . $ADQAnswers['ADQFirmID'] . " AND ADQuestionID = " . $ADQAnswers['ADQuestionID']);

//            var_dump($ADQAnswersTest);

            if (is_array($ADQAnswersTest) && count($ADQAnswersTest) > 0) {
                $action = 'UPDATE';
                $where = 'ADQFirmID = ' . $ADQAnswers['ADQFirmID'] . ' AND ADQuestionID = ' . $ADQAnswers['ADQuestionID'];
            }
        }

        return $this->sqlf->autoExecute('ADQAnswers', $ADQAnswers, $action, $where, '');
    }
}