Viewing file: m_hisaward.php (5.74 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
include_once("da_HisAward.php");
class M_hisaward extends Da_hisaward {
/*
* aOrderBy = array('fieldname' => 'ASC|DESC', ... )
*/
function get_all($aOrderBy=""){
$orderBy = "";
if ( is_array($aOrderBy) ) {
$orderBy.= "ORDER BY ";
foreach ($aOrderBy as $key => $value) {
$orderBy.= "$key $value, ";
}
$orderBy = substr($orderBy, 0, strlen($orderBy)-2);
}
$sql = "SELECT *
FROM HisAward
$orderBy";
$query = $this->db->query($sql);
return $query;
}
/*
* create array of pk field and value for generate select list in view, must edit PK_FIELD and FIELD_NAME manually
* the first line of select list is '-----เลือก-----' by default.
* if you do not need the first list of select list is '-----เลือก-----', please pass $optional parameter to other values.
* you can delete this function if it not necessary.
*/
function get_options($optional='y') {
$qry = $this->get_all();
if ($optional=='y') $opt[''] = '-----เลือก-----';
foreach ($qry->result() as $row) {
$opt[$row->PK_FIELD] = $row->FIELD_NAME;
}
return $opt;
}
public function getNextSeq($condition="") {
$where = $this->checkCondition($condition);
$c1 = substr($where, 0, -3);
$sql = "SELECT IFNULL(MAX(seqId), 0) + 1 AS seqId
FROM $this->ea_dbname.HisAward
$c1";
$query = $this->db->query($sql);
return $query->row()->seqId;
}
function qryHa($condition="",$order="",$group="") {
$where = $this->checkCondition($condition);
$order = $this->checkOrderBy($order);
$group = $this->checkGroupBy($group);
$c1 = substr($where, 0, -3);
$c2 = substr($order, 0, -1);
$c3 = substr($group, 0, -1);
$sql = "SELECT *
FROM $this->ea_dbname.HisAward
$c1
$c3
$c2";
$query = $this->db->query($sql);
return $query;
}
function qryHaJoinTaLaAmPf($condition="",$order="",$group="") {
$where = $this->checkCondition($condition);
$order = $this->checkOrderBy($order);
$group = $this->checkGroupBy($group);
$c1 = substr($where, 0, -3);
$c2 = substr($order, 0, -1);
$c3 = substr($group, 0, -1);
$sql = "SELECT *
FROM $this->ea_dbname.HisAward ha
LEFT JOIN $this->ea_dbname.TypeAward ta ON ha.typeAwardId=ta.typeAwardId
LEFT JOIN $this->ea_dbname.LevelAward la ON ha.levelAwardId=la.levelAwardId
LEFT JOIN $this->ea_dbname.AlumniMain am ON ha.alumniId=am.alumniId
LEFT JOIN $this->ppc_dbname.Prefix pf ON am.prefixId=pf.prefixId
$c1
$c3
$c2";
$query = $this->db->query($sql);
return $query;
}
function qryHaNotSeqIdAndAmId($awardNameT,$awardCompany,$typeAwardId,$levelAwardId,$receiveDate,$seqId,$alumniId) {
$sql = "SELECT *
FROM $this->ea_dbname.HisAward
WHERE awardNameT=?
AND awardCompany=?
AND typeAwardId=?
AND levelAwardId=?
AND receiveDate=?
AND seqId <> ?
AND alumniId=?";
$query = $this->db->query($sql, array($awardNameT,$awardCompany,$typeAwardId,$levelAwardId,$receiveDate,$seqId,$alumniId));
return $query;
}
public function qryHwByCurStdLevAndType($levelAwardId, $levelAwardName, $programAlumniId, $graduateY, $year1, $year2) {
$y1 = ($year1!="") ? $year1-543 : "0000";
$y2 = ($year2!="") ? $year2-543 : "9999";
$cond = "";
$cond.="AND YEAR(receiveDate) BETWEEN $y1 AND $y2";
$i = 0;
$arr = array();
$sql = "SELECT *
FROM $this->ea_dbname.TypeAward";
$query = $this->db->query($sql);
if($query->num_rows()) {
foreach($query->result() as $row_query) {
$sql_countAm = "SELECT *
FROM $this->ea_dbname.HisAward ha
INNER JOIN $this->ea_dbname.AlumniMain am ON ha.alumniId=am.alumniId
INNER JOIN $this->ea_dbname.TypeAward ta ON ha.typeAwardId=ta.typeAwardId
WHERE ta.typeAwardId=$row_query->typeAwardId
AND ha.levelAwardId=?
AND am.amProgramAlumni=?
AND am.graduateYear=?
$cond
GROUP BY ha.alumniId";
$query_countAm = $this->db->query($sql_countAm,array($levelAwardId, $programAlumniId, $graduateY));
$arr[$i]['level'] = ($i==0) ? $levelAwardName : "";
$arr[$i]['typeaward'] = $row_query->typeAwardNameT;
$arr[$i]['count'] = $query_countAm->num_rows();
$arr[$i]['url'] = "{'levelAward':".$levelAwardId.", 'typeAward':".$row_query->typeAwardId.", 'programAlumniId':".$programAlumniId.", 'graduateY':".$graduateY."}";
$i++;
}
}
return $arr;
}
public function qryHwByStdLevAndType($levelAwardId, $levelAwardName, $year1, $year2, $studentCode) {
$y1 = ($year1!="") ? $year1-543 : "0000";
$y2 = ($year2!="") ? $year2-543 : "9999";
$cond = "";
$cond.="AND YEAR(receiveDate) BETWEEN $y1 AND $y2";
$i = 0;
$arr = array();
$sql = "SELECT *
FROM $this->ea_dbname.TypeAward";
$query = $this->db->query($sql);
if($query->num_rows()) {
foreach($query->result() as $row_query) {
$sql_countAm = "SELECT *
FROM $this->ea_dbname.HisAward ha
INNER JOIN $this->ea_dbname.AlumniMain am ON ha.alumniId=am.alumniId
INNER JOIN $this->ea_dbname.TypeAward ta ON ha.typeAwardId=ta.typeAwardId
WHERE ta.typeAwardId=$row_query->typeAwardId
AND ha.levelAwardId=?
AND am.studentCode=?
$cond
GROUP BY ha.alumniId";
$query_countAm = $this->db->query($sql_countAm,array($levelAwardId, $studentCode));
$arr[$i]['level'] = ($i==0) ? $levelAwardName : "";
$arr[$i]['typeaward'] = $row_query->typeAwardNameT;
$arr[$i]['count'] = $query_countAm->num_rows();
$arr[$i]['url'] = "{'levelAward':".$levelAwardId.", 'typeAward':".$row_query->typeAwardId.", 'stdCode':".$studentCode."}";
$i++;
}
}
return $arr;
} // add your functions here
} // end class M_hisaward
?>
|