Viewing file:      mo_rg_realstudyplan.php (9.94 KB)      -rwxr-xr-x Select action/file-type:    (+) |   (+) |   (+) | Code (+) | Session (+) |   (+) | SDB (+) |   (+) |   (+) |   (+) |   (+) |   (+) |
 
<?php
 include_once("da_rg_RealStudyPlan.php");
 class Mo_rg_realstudyplan extends Da_rg_RealStudyPlan {
 
     /**
      * หน้าที่ของฟังก์ชั่น คือ ต่อสตริงของ sql->order by รูปแบบที่ 2
      *
      * @access    public
      * @param    array condition โดยรูปแบบของ array จะอยู่ในรูป condition('key' => value)
      * @return    string con โดยอยู่ในรูปแบบ ORDER $field
      * @todo    use
      */
     public function checkOrderBy_2($condition="") {
         $con = "";
         if($condition) {
             $con .= "ORDER BY";
             foreach ($condition as $key => $value) {
                 if($key=="crsCode" || $key=="crsName")
                     $con .= " CONVERT($value USING tis620) ,";
                 else
                     $con .= " $value ,";
             }
         }
         return $con;
     }
     
     /**
      * หน้าที่ของฟังก์ชั่น คือ หาข้อมูลโปรแกรมการเรียนจริงตามเงื่อนไข
      *
      * @access    public
      * @param    array condition โดยรูปแบบของ array จะอยู่ในรูป condition('key' => value) ไว้สำหรับระบุเงื่อนไขของคำสั่ง SELECT
      * @param    array order โดยรูปแบบของ array จะอยู่ในรูป condition('key' => value) ไว้สำหรับระบุเงื่อนไขการเรียงลำดับ ORDER BY
      * @param    array group โดยรูปแบบของ array จะอยู่ในรูป condition('key' => value) ไว้สำหรับระบุเงื่อนไขการจัดกลุ่ม GROUP BY
      * @return    query >= 1 rows : rg_RealStudyPlan.*
      * @todo    use
      */
     public function qryRsp($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->rg_dbname.rg_RealStudyPlan
                     $c1
                     $c3
                     $c2";
         $query = $this->db->query($sql);
         return $query;
     }
 
     /**
      * หน้าที่ของฟังก์ชั่น คือ หาข้อมูลโปรแกรมการเรียนจริง รายวิชาที่เปิดสอน และข้อมูลรายวิชาตามเงื่อนไข
      *
      * @access    public
      * @param    array condition โดยรูปแบบของ array จะอยู่ในรูป condition('key' => value) ไว้สำหรับระบุเงื่อนไขของคำสั่ง SELECT
      * @param    array order โดยรูปแบบของ array จะอยู่ในรูป condition('key' => value) ไว้สำหรับระบุเงื่อนไขการเรียงลำดับ ORDER BY
      * @param    array group โดยรูปแบบของ array จะอยู่ในรูป condition('key' => value) ไว้สำหรับระบุเงื่อนไขการจัดกลุ่ม GROUP BY
      * @return    query >= 1 rows : rg_RealStudyPlan.*, rg_CourseOpen.*, rg_Course.*
      * @todo    use
      */
     public function qryRspJoinCoCrs($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->rg_dbname.rg_RealStudyPlan
                 INNER JOIN $this->rg_dbname.rg_CourseOpen ON rspCoId=coId
                 INNER JOIN $this->rg_dbname.rg_Course ON coCrsId=crsId
                 $c1
                 $c3
                 $c2";
         $query = $this->db->query($sql);
         return $query;
     }
 
     /**
      * หน้าที่ของฟังก์ชั่น คือ หาข้อมูลโปรแกรมการเรียนจริง และข้อมูลรายวิชาตามเงื่อนไข
      *
      * @access    public
      * @param    array condition โดยรูปแบบของ array จะอยู่ในรูป condition('key' => value) ไว้สำหรับระบุเงื่อนไขของคำสั่ง SELECT
      * @param    array order โดยรูปแบบของ array จะอยู่ในรูป condition('key' => value) ไว้สำหรับระบุเงื่อนไขการเรียงลำดับ ORDER BY
      * @param    array group โดยรูปแบบของ array จะอยู่ในรูป condition('key' => value) ไว้สำหรับระบุเงื่อนไขการจัดกลุ่ม GROUP BY
      * @return    query >= 1 rows : rg_RealStudyPlan.*, rg_Course.*
      * @todo    use
      */
     public function qryRspJoinCrs($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->rg_dbname.rg_RealStudyPlan
                 INNER JOIN $this->rg_dbname.rg_Course ON rspCrsId=crsId
                 $c1
                 $c3
                 $c2";
         $query = $this->db->query($sql);
         return $query;
     }
     /* ##### เพิ่มส่วน GROUP BY ##### */
     /**
      * หน้าที่ของฟังก์ชั่น คือ หาข้อมูลชั้นปีที่มีการกำหนดโปรแกรมการเรียนจริง
      *
      * @access    public
      * @param    $rspAdY คือ ปีการศึกษาที่เข้า
      * @param    $rspCurId คือ รหัสหลักสูตร
      * @return    query >= 1 rows : rspSyId
      * @todo    use
      */
     public function qryByAdYANDCurIdGroupSyId($rspAdY,$rspCurId) {
         $sql = "SELECT rspSyId
                 FROM $this->rg_dbname.rg_RealStudyPlan
                 WHERE rspAdY=?
                 AND rspCurId=?
                 GROUP BY rspSyId";
         $query=$this->db->query($sql,array($rspAdY,$rspCurId));
         return $query;
     }
 
     /**
      * หน้าที่ของฟังก์ชั่น คือ หาข้อมูลชั้นปีที่มีการกำหนดโปรแกรมการเรียนจริง
      *
      * @access    public
      * @param    $rspAdY คือ ปีการศึกษาที่เข้า
      * @param    $rspCurId คือ รหัสหลักสูตร
      * @param    $rspSyId คือ รหัสชั้นปี
      * @return    query >= 1 rows : rspTmId
      * @todo    use
      */
     public function qryByAdYANDCurIdANDSyIdGroupTmId($rspAdY,$rspCurId,$rspSyId) {
         $sql = "SELECT rspTmId
                 FROM $this->rg_dbname.rg_RealStudyPlan
                 WHERE rspAdY=?
                 AND rspCurId=?
                 AND rspSyId=?
                 GROUP BY rspTmId";
         $query=$this->db->query($sql,array($rspAdY,$rspCurId,$rspSyId));
         return $query;
     }
 
     /**
      * หน้าที่ของฟังก์ชั่น คือ หาผลรวมของหน่วยกิตที่กำหนดในโปรแกรมการเรียนจริงตามเงื่อนไข
      *
      * @access    public
      * @param    array condition โดยรูปแบบของ array จะอยู่ในรูป condition('key' => value) ไว้สำหรับระบุเงื่อนไขของคำสั่ง SELECT
      * @return    num: ผลรวมของหน่วยกิตที่กำหนดในโปรแกรมการเรียนจริง
      * @todo    use
      */
     public function getSumCreditTotal($condition="") {
         $where = $this->checkCondition($condition);
 
         $c1 = substr($where, 0, -3);
 
         $sql = "SELECT SUM(crsCreditTotal) AS num
                 FROM $this->rg_dbname.rg_RealStudyPlan
                 INNER JOIN $this->rg_dbname.rg_CourseOpen ON rspCoId=coId
                 INNER JOIN $this->rg_dbname.rg_Course ON coCrsId=crsId
                 $c1";
         $query = $this->db->query($sql);
         return $query->row()->num;
     }
 
     /**
      * หน้าที่ของฟังก์ชั่น คือ query โปรแกรมการเรียนจริงสำหรับรายงาน Ris133
      *
      * @access    public
      * @param    $curId  คือ รหัสหลักสูตร
      * @param    $adY คือ ปีการศึกษาที่เข้าี่
      * @param    $syId คือ ชั้นปี
      * @return        query
      * @todo        use
      */
     public function rsRealStudyPlanForRis133($curId,$adY,$syId) {
         $sql = "SELECT rsp.*, cs.csCdId1, cs.csCreditTotal, cd.cdName, co.*
                     FROM $this->rg_dbname.rg_RealStudyPlan AS rsp
                     LEFT JOIN (SELECT csCdId1, csCurId, MAX(csCreditTotal) AS csCreditTotal FROM $this->rg_dbname.rg_CurriculumStructure GROUP BY csCdId1) AS cs ON rsp.rspCurId = cs.csCurId
                     LEFT JOIN $this->rg_dbname.rg_Condition AS cd ON rsp.rspCdId1 = cd.cdId
                     LEFT JOIN $this->rg_dbname.rg_Course AS co ON rsp.rspCrsId = co.crsId
                     WHERE rsp.rspCurId=? AND rsp.rspAdY=? AND rsp.rspSyId=?
                     ORDER BY rsp.rspTmId ASC";
         $query = $this->db->query($sql,array($curId, $adY, $syId));
         return $query;
     }
 
     public function qryRspJoinCoCrsGroupCrsId($condition="") {
         $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 crs.*
                 FROM $this->rg_dbname.rg_RealStudyPlan
                 INNER JOIN $this->rg_dbname.rg_CourseOpen ON rspCoId=coId
                 INNER JOIN $this->rg_dbname.rg_Course crs ON coCrsId=crsId
                 INNER JOIN $this->rg_dbname.rg_CourseOpenStudent ON coId=cosCoId
                 $c1
                 GROUP BY crsId
                 ORDER BY CONVERT(crsCode USING TIS620),
                 CONVERT(crsName USING TIS620)";
         $query = $this->db->query($sql);
         return $query;
     }
 }
 ?>
  |