Viewing file:      mo_rg_fee.php (9.11 KB)      -rwxr-xr-x Select action/file-type:    (+) |   (+) |   (+) | Code (+) | Session (+) |   (+) | SDB (+) |   (+) |   (+) |   (+) |   (+) |   (+) |
 
<?php
 include_once("da_rg_Fee.php");
 class Mo_rg_fee extends Da_rg_Fee {
     /**
      * หน้าที่ของฟังก์ชั่น คือ หาข้อมูลค่าใช้จ่ายตามเงื่อนไข
      *
      * @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_Fee.*
      * @todo    use
      */
     public function qryFee($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_Fee
                     $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_Fee.*
      * @todo    use
      */
     public function qryFeeJoinFgPytElv($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_Fee
                     LEFT JOIN $this->rg_dbname.rg_FeeGroup ON feeFgId=fgId
                     LEFT JOIN $this->rg_dbname.rg_PayType ON feePytId=pytId
                     LEFT JOIN $this->ppc_dbname.Level ON feeElvId=levelId
                     $c1
                     $c3
                     $c2";
         $query = $this->db->query($sql);
         return $query;
     }
 
     /**
      * หน้าที่ของฟังก์ชั่น คือ หาข้อมูลค่าใช้จ่ายเพื่อแสดงเป็น dropdown
      *
      * @access    public
      * @param    array condition โดยรูปแบบของ array จะอยู่ในรูป condition('key' => value) ไว้สำหรับระบุเงื่อนไขของคำสั่ง SELECT
      * @order    array order โดยรูปแบบของ array จะอยู่ในรูป condition('key' => value) ไว้สำหรับระบุเงื่อนไขการเรียงลำดับ  GROUP BY
      * @group    array group โดยรูปแบบของ array จะอยู่ในรูป condition('key' => value) ไว้สำหรับระบุเงื่อนไขการจัดกลุ่ม ORDER BY
      * @param    char optional ไว้สำหรับสร้าง string ของ dropdown
      * @return    array $opt อยู่ในรูป array opt('feeId=> feeName)
      */
     public function get_options($condition="",$order="",$group="", $optional='y') {
         $query = $this->qryFee($condition,$order,$group);
         if($optional) $opt[''] = $optional;
         foreach($query->result() as $row) {
             $opt[$row->feeId] = $row->feeName;
         }
         return $opt;
     }
 
 
      /**
      * หน้าที่ของฟังก์ชั่น คือ หาข้อมูลค่าใช้จ่ายที่มี id ไม่เท่ากับค่าที่กำหนด
      *
      * @access    public
      * @param    array condition โดยรูปแบบของ array จะอยู่ในรูป condition('key' => value) ไว้สำหรับระบุเงื่อนไขของคำสั่ง SELECT
      * @param    $hpId คือ รหัสข้อมูลหมวดค่าใช้จ่าย
      * @return    query >= 1 rows : rg_FeeGroup.*
      * @todo    use
      */
     public function qryFeeNotId($condition="",$feeId) {
         $where = $this->checkCondition($condition);
 
         $c1 = substr($where, 0, -3);
 
         $sql = "SELECT *
                     FROM $this->rg_dbname.rg_Fee
                     $c1
                     AND feeId<>?";
         $query = $this->db->query($sql,array($feeId));
         return $query;
     }
 
     function qryFeeByStdIdAcYTmIdGroupFgId($stdId, $acY, $tmId) {
         $sql = "SELECT * FROM (
                         SELECT feeFgId 
                             FROM $this->rg_dbname.rg_CommonFee 
                             INNER JOIN $this->rg_dbname.rg_Fee ON cmfFeeId = feeId 
                             WHERE cmfStdId = ? 
                             AND cmfAcY = ? 
                             AND cmfTmId = ? 
                             AND feeOutBudget = 'N' 
                             GROUP BY feeFgId 
                         UNION 
                         SELECT feeFgId 
                             FROM $this->rg_dbname.rg_CurriculumFee 
                             INNER JOIN rg_Fee ON cfFeeId = feeId 
                             WHERE cfStdId = ? 
                             AND cfAcY = ? 
                             AND cfTmId = ? 
                             AND feeOutBudget = 'N' 
                             GROUP BY feeFgId
                     ) AS tb 
                     INNER JOIN $this->rg_dbname.rg_FeeGroup ON tb.feeFgId = fgId 
                     ORDER BY fgSeq";
 
         $query = $this->db->query($sql, array($stdId, $acY, $tmId, $stdId, $acY, $tmId));
         return $query;
     }
 
     function qryFeeByStdIdAcYTmId($stdId, $acY, $tmId) { // Add scphc 22-09-57
         $sql = "SELECT * FROM (
                     SELECT feeName, cmfAmt as feeAmt 
                         FROM $this->rg_dbname.rg_CommonFee 
                         INNER JOIN $this->rg_dbname.rg_Fee ON cmfFeeId = feeId 
                         WHERE cmfStdId = ? 
                         AND cmfAcY = ? 
                         AND cmfTmId = ? 
                         AND feeOutBudget = 'N'
                     UNION 
                     SELECT feeName, cfAmt as feeAmt 
                         FROM $this->rg_dbname.rg_CurriculumFee 
                         INNER JOIN rg_Fee ON cfFeeId = feeId 
                         WHERE cfStdId = ? 
                         AND cfAcY = ? 
                         AND cfTmId = ? 
                         AND feeOutBudget = 'N'
                 ) AS TB";
 
         $query = $this->db->query($sql, array($stdId, $acY, $tmId, $stdId, $acY, $tmId));
         return $query;
     }
 
     function qryFeeForSendToReceipt($stdId, $acY, $tmId, $kssFee, $domFee) {
         $sql = "SELECT T1.*, SUM(T1.amt) AS amt, prefixName , rfTotalAmt, curName, curAbbr, sdtCanRefund, fg.fgName FROM (
                     SELECT rg_Student.*, feeId, fgId, cmfAmt AS amt
                     FROM $this->rg_dbname.rg_Student
                     INNER JOIN $this->rg_dbname.rg_CommonFee ON stdId = cmfStdId
                     INNER JOIN $this->rg_dbname.rg_Fee ON cmfFeeId = feeId
                     INNER JOIN $this->rg_dbname.rg_FeeGroup ON fgId = feeFgId
                     WHERE cmfAcY = ?
                     AND cmfTmId = ?
                     AND stdId = ?
                     UNION 
                     SELECT rg_Student.*, feeId, fgId, cfAmt AS amt
                     FROM $this->rg_dbname.rg_Student
                     INNER JOIN $this->rg_dbname.rg_CurriculumFee ON stdId = cfStdId
                     INNER JOIN $this->rg_dbname.rg_Fee ON cfFeeId = feeId
                     INNER JOIN $this->rg_dbname.rg_FeeGroup ON fgId = feeFgId
                     WHERE cfAcY = ?
                     AND cfTmId = ?
                     AND stdId= ?
                     UNION 
                     SELECT rg_Student.*, '' AS feeId,  ? AS fgId, crfKssFeeAmt AS amt
                     FROM $this->rg_dbname.rg_Student
                     INNER JOIN $this->rg_dbname.rg_CourseFee ON stdId = crfStdId
                     WHERE crfAcY = ?
                     AND crfTmId = ?
                     AND stdId= ?
                     UNION
                     SELECT rg_Student.*, '' AS feeId, ? AS fgId, (dftAmt*sdmNumMonth) AS amt
                     FROM $this->rg_dbname.rg_Student
                     INNER JOIN $this->rg_dbname.rg_StudentDomitory ON stdId = sdmStdId
                     INNER JOIN $this->rg_dbname.rg_DomitoryFeeTp ON sdmDmId = dftDmId AND sdmTmId = dftTmId AND sdmAcY = dftAcY
                     WHERE sdmAcY = ?
                     AND sdmTmId = ?
                     AND stdId=?
                     ) AS T1 
                 INNER JOIN $this->ppc_dbname.Prefix ON T1.stdPfId=prefixId
                 INNER JOIN $this->rg_dbname.rg_Curriculum ON T1.stdCurId=curId
                 INNER JOIN $this->rg_dbname.rg_StudentDetails ON T1.stdId=sdtStdId
                 INNER JOIN $this->rg_dbname.rg_RegistFee ON T1.stdId=rfStdId AND rfAcY=? AND rfTmId=? AND rfTotalAmt != rfBalance AND rfBalance=0
                 INNER JOIN $this->rg_dbname.rg_FeeGroup fg ON T1.fgId=fg.fgId
                 INNER JOIN $this->rg_dbname.rg_Payment ON rfId=pmRfId
                 GROUP BY T1.stdId, T1.fgId";
         $query = $this->db->query($sql,array($acY, $tmId, $stdId, $acY, $tmId, $stdId, $kssFee, $acY, $tmId, $stdId, $domFee, $acY, $tmId, $stdId, $acY, $tmId));
 
         //echo $this->db->last_query();
         return $query;
     }
 }
 ?>
  |