Viewing file: mo_rg_fee.php (8.4 KB) -rw-r--r-- 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 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;
}
}
?>
|