Viewing file: clsdept.php (11.4 KB) -rwxr-xr-x Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
//--Class base_department--------------------------
//--PK of base_department ::
// 1. deptId
include_once "clsDB.php";
class Department extends db{
var $result;
var $deptId;
var $deptName;
var $deptDesc;
var $deptCode;
var $deptParent;
var $deptYear;
var $deptDate;
var $deptRef;
var $pbriId;
var $deptflag;
function Department(&$c){
$this->c=$c;
}
function AddNew(){
//--ใช้เมธอดนี้เมื่อต้องการเพิ่มข้อมูลใหม่
//--โดยจะกำหนดสถานะของข้อมูลของอ๊อบเจ๊กให้เป็น 1
$this->status = 1;
}
function Edit(){
//--ใช้เมธอดนี้เมื่อต้องการปรับปรุงข้อมูล
//--โดยจะกำหนดสถานะของข้อมูลของอ๊อบเจ๊กให้เป็น 2
$this->status = 2;
}
function Save(){
//--ใช้เมธอดนี้เมื่อต้องการบันทึกข้อมูลในอ๊อบเจ๊กเข้าสู่ฐานข้อมูล
//--โดยจะตรวจสอบสถานะของข้อมูลว่าข้อมูลในอ๊อบเจ๊กเป็นข้อมูลใหม่หรือข้อมูลเดิม
//--1 เป็นข้อมูลใหม่ 2 เป็นข้อมูลเดิม
if ($this->status==1){
//$this->deptId=$this->GetNextCode();
$sql = "insert into Department values('$this->deptId', '$this->deptName', '$this->deptDesc', '$this->deptCode', '$this->deptParent', '$this->deptYear', '$this->deptDate', '$this->deptRef', '$this->pbriId', '$this->deptflag')";
}else {
$sql = "update Department set deptName='$this->deptName', deptDesc='$this->deptDesc', deptCode='$this->deptCode', deptParent='$this->deptParent', deptYear='$this->deptYear', deptDate='$this->deptDate', deptRef='$this->deptRef', pbriId='$this->pbriId', deptflag='$this->deptflag' where deptId='$this->deptId'";
}
//echo ">>>>>>>>".$sql;
return $this->Dml($sql);
}
function Delete(){
//--ใช้เมธอดนี้เพื่อลบข้อมูลเดิมในอ๊อบเจ๊ก
//--เป็นการลบข้อมูลทีละ 1 เรคอร์ด
//--ต้องเรียกเมธอดตามลำดับดังนี้ SearchByKey()-->GetRecord()-->Delete()
return $this->Dml("delete from Department where deptId='$this->deptId'");
}
function GetNextCode(){
//--ใช้เมธอดนี้เพื่อหาค่าสูงสุดของฟิลด์ที่ใช้เป็นคีย์ของตาราง ในลักษณะ auto increment
//--ต้องเป็นฟิลด์ที่ไม่ได้กำหนดรหัสเองทางจอภาพ
$this->SetQuery("select max(deptId) as num from Department");
if ($result=$this->GetResult()) {
return $result['num']+1;
}
}
function GetNextCodeByCond($fieldnameindex="0", $cond="1", $delim="/", $count="1"){
//--ใช้เมธอดนี้เพื่อหาค่าสูงสุดของฟิลด์ที่กำหนดตามเงื่อนไขที่ได้รับมา ในลักษณะ auto increment
//--ต้องเป็นฟิลด์ที่ไม่ได้กำหนดรหัสเองทางจอภาพ
//--ตัวแปร fieldnameindex = อินเดกซ์ของ field ที่ต้องการหาค่าสูงสุด
//--ตัวแปร cond = เงื่อนไขของ query ในการหาค่าสูงสุด
//--ตัวแปร delim= ตัวแยกข้อมูลของ field ที่เลือกมาและเป็น string
//--ตัวแปร count= กำหนดข้อมูลที่ต้องการแสดงโดยนับจากข้อมูลที่ถูกแบ่งจากตัว delim แล้ว
$this->SetQuery("select max(substring_index(".mysql_field_name($this->SetQuery("select * from Department"), $fieldnameindex).", '$delim', $count)) as num from Department where $cond");
if ($result=$this->GetResult()) {
return $result['num']+1;
}
}
function RSDepartment1($cond="1"){
//--เมธอดที่ขึ้นต้นด้วย RS (Result Set) มีความหมายว่าจะได้รับข้อมูลกลับมาจากการ select มากกว่า 1 เรคอร์ด
//--ปกติเมื่อเรียกใช้เมธอด RSxxxx จะต้องเรียกเมธอด GetRecord() ด้วยเสมอ
//--โดยสามารถเพิ่มเมธอดได้ตามต้องการ แต่ต้องขึ้นต้นด้วย RS
$this->SetQuery("select * from Department where deptParent=$cond order by deptId");
}
function RSDepartment($cond="1"){
//--เมธอดที่ขึ้นต้นด้วย RS (Result Set) มีความหมายว่าจะได้รับข้อมูลกลับมาจากการ select มากกว่า 1 เรคอร์ด
//--ปกติเมื่อเรียกใช้เมธอด RSxxxx จะต้องเรียกเมธอด GetRecord() ด้วยเสมอ
//--โดยสามารถเพิ่มเมธอดได้ตามต้องการ แต่ต้องขึ้นต้นด้วย RS
$this->SetQuery("select * from Department where deptParent=$cond and deptName != 'วิทยาลัยการสาธารณสุขสิรินธร' order by deptId");
}
function GetRecord(){
//--เป็นเมธอดที่นำข้อมูลจาก ResultSet มากำหนดให้กับแอตทริบิวต์ของอ๊อบเจ็ก
//--เรียก GetRecord() หนึ่งครั้ง จะเลื่อนตัวชี้เรคอร์ดไปอีกหนึ่งเรคอร์ด
if ($this->result = $this->GetResult()) {
$this->deptId = $this->result['deptId'];
$this->deptName = $this->result['deptName'];
$this->deptDesc = $this->result['deptDesc'];
$this->deptCode = $this->result['deptCode'];
$this->deptParent = $this->result['deptParent'];
$this->deptYear = $this->result['deptYear'];
$this->deptDate= $this->result['deptDate'];
$this->deptRef = $this->result['deptRef'];
$this->pbriId = $this->result['pbriId'];
$this->deptflag = $this->result['deptflag'];
return 1;
}else {
return 0;
}
}
function SearchByKey($xKey){
//--ใช้เมธอดนี้เพื่อค้นหาข้อมูลตาม PK ต้องระบุพารามิเตอร์ด้วย
//--และต้องตามด้วยเมธอด GetRecord() เสมอ
if ($this->SetQuery("select * from Department where deptId= '$xKey'")){
return 1;
}else {
return 0;
}
}
function GetCustomRecord($query){
//--ใช้เมธอดนี้ในกรณีที่ต้องการกำหนด query ด้วยตนเอง
$this->SetQuery($query);
$this->result=$this->GetResult();
return $this->result;
}
function selectHTML($name, $ID=""){
$s="<select name=\"$name\">\n";
$s.="<option value=\"0\">---เลือกหน่วยงานย่อยที่สังกัด---\n";
$this->RSDepartment();
while($this->GetRecord()){
$s.="<option value=\"$this->deptId\" ";
$s.=($this->deptId==$ID) ? "Selected" : "" ;
$s.=">$this->deptName\n";
}
return $s.="</select>\n";
}
function selectHTMLNew($name, $ID=""){
$s="<select name=\"$name\">\n";
$s.="<option value=\"0\">---เลือกหน่วยงานย่อยที่สังกัด---\n";
$this->RSDepartmentEmptyDate();
while($this->GetRecord()){
$s.="<option value=\"$this->deptId\" ";
$s.=($this->deptId==$ID) ? "Selected" : "" ;
$s.=">$this->deptName\n";
}
return $s.="</select>\n";
}
function selectHTMLNow($name, $ID=""){
$s="<select name=\"$name\">\n";
$s.="<option value=\"0\">---เลือกหน่วยงานย่อยที่สังกัด---\n";
$this->RSDepartmentMaxDate();
while($this->GetRecord()){
$s.="<option value=\"$this->deptId\" ";
$s.=($this->deptId==$ID) ? "Selected" : "" ;
$s.=">$this->deptName\n";
}
return $s.="</select>\n";
}
function selectHTMLNowCon($name, $ID=""){
$s="<select name=\"$name\">\n";
$s.="<option value=\"0\">---ไม่ผ่านหน่วยงานย่อยที่สังกัด---\n";
$this->RSDepartmentMaxDate();
while($this->GetRecord()){
$s.="<option value=\"$this->deptId\" ";
$s.=($this->deptId==$ID) ? "Selected" : "" ;
$s.=">$this->deptName\n";
}
return $s.="</select>\n";
}
function RSdeptName($xKey){
//--เมธอดที่ขึ้นต้นด้วย RS (Result Set) มีความหมายว่าจะได้รับข้อมูลกลับมาจากการ select มากกว่า 1 เรคอร์ด
//--ปกติเมื่อเรียกใช้เมธอด RSxxxx จะต้องเรียกเมธอด GetRecord() ด้วยเสมอ
//--โดยสามารถเพิ่มเมธอดได้ตามต้องการ แต่ต้องขึ้นต้นด้วย RS
$this->SetQuery("select * from Department where deptName like '%$xKey%' order by deptName ");
}
function RSdeptNameId($xKey){
//--เมธอดที่ขึ้นต้นด้วย RS (Result Set) มีความหมายว่าจะได้รับข้อมูลกลับมาจากการ select มากกว่า 1 เรคอร์ด
//--ปกติเมื่อเรียกใช้เมธอด RSxxxx จะต้องเรียกเมธอด GetRecord() ด้วยเสมอ
//--โดยสามารถเพิ่มเมธอดได้ตามต้องการ แต่ต้องขึ้นต้นด้วย RS
$maxdate = $this->MaxDate();
$this->SetQuery("select * from Department where deptName like '%$xKey%' and deptDate = '$maxdate' and deptParent=1 order by deptId ");
}
function MaxDate(){
//--ใช้เมธอดนี้เพื่อหาค่าสูงสุดของฟิลด์ที่ใช้เป็นคีย์ของตาราง ในลักษณะ auto increment
//--ต้องเป็นฟิลด์ที่ไม่ได้กำหนดรหัสเองทางจอภาพ
//$this->SetQuery("select max(deptDate) as num from Department ")
//$yy =GetbudYearTh(getNowDateTh());
//echo "select max(deptDate) as num from Department where deptYear ='$yy'";
$this->SetQuery("select max(deptDate) as num from Department ");
if ($result=$this->GetResult()) {
return $result['num'];
}
}
function RSDepartmentMaxDate(){
//--เมธอดที่ขึ้นต้นด้วย RS (Result Set) มีความหมายว่าจะได้รับข้อมูลกลับมาจากการ select มากกว่า 1 เรคอร์ด
//--ปกติเมื่อเรียกใช้เมธอด RSxxxx จะต้องเรียกเมธอด GetRecord() ด้วยเสมอ
//--โดยสามารถเพิ่มเมธอดได้ตามต้องการ แต่ต้องขึ้นต้นด้วย RS
//echo "select * from Department where deptDate = $maxDate and deptParent=1 order by deptId";
$maxdate = $this->MaxDate();
// echo "select * from Department where deptDate = '$maxdate' and deptParent=1 order by deptId";
$this->SetQuery("select * from Department where deptDate = '$maxdate' and deptParent=1 order by deptId");
}
function RSDepartmentMaxDateNoOrandNOoBoss(){
//--เมธอดที่ขึ้นต้นด้วย RS (Result Set) มีความหมายว่าจะได้รับข้อมูลกลับมาจากการ select มากกว่า 1 เรคอร์ด
//--ปกติเมื่อเรียกใช้เมธอด RSxxxx จะต้องเรียกเมธอด GetRecord() ด้วยเสมอ
//--โดยสามารถเพิ่มเมธอดได้ตามต้องการ แต่ต้องขึ้นต้นด้วย RS
//echo "select * from Department where deptDate = $maxDate and deptParent=1 order by deptId";
$maxdate = $this->MaxDate();
$this->SetQuery("select * from Department where deptDate = '$maxdate' and deptParent=1 and (deptName!='วิทยาลัยการสาธารณสุขสิรินธร' and deptName != 'ผู้อำนวยการ') order by deptId");
}
function RSDepartmentMaxDateNoOr(){
//--เมธอดที่ขึ้นต้นด้วย RS (Result Set) มีความหมายว่าจะได้รับข้อมูลกลับมาจากการ select มากกว่า 1 เรคอร์ด
//--ปกติเมื่อเรียกใช้เมธอด RSxxxx จะต้องเรียกเมธอด GetRecord() ด้วยเสมอ
//--โดยสามารถเพิ่มเมธอดได้ตามต้องการ แต่ต้องขึ้นต้นด้วย RS
//echo "select * from Department where deptDate = $maxDate and deptParent=1 order by deptId";
$maxdate = $this->MaxDate();
$this->SetQuery("select * from Department where deptDate = '$maxdate' and deptParent=1 and deptName!='วิทยาลัยการสาธารณสุขสิรินธร' order by deptId");
}
function SearchByDeptRef($xKey){
//--ใช้เมธอดนี้เพื่อค้นหาข้อมูลตาม PK ต้องระบุพารามิเตอร์ด้วย
//--และต้องตามด้วยเมธอด GetRecord() เสมอ
if ($this->SetQuery("select * from Department where deptRef= '$xKey'")){
return 1;
}else {
return 0;
}
}
function RSDepartmentEmptyDate(){
//--เมธอดที่ขึ้นต้นด้วย RS (Result Set) มีความหมายว่าจะได้รับข้อมูลกลับมาจากการ select มากกว่า 1 เรคอร์ด
//--ปกติเมื่อเรียกใช้เมธอด RSxxxx จะต้องเรียกเมธอด GetRecord() ด้วยเสมอ
//--โดยสามารถเพิ่มเมธอดได้ตามต้องการ แต่ต้องขึ้นต้นด้วย RS
//echo "select * from Department where deptDate = $maxDate and deptParent=1 order by deptId";
$this->SetQuery("select * from Department where deptDate = '0000-00-00' and deptParent=1 and deptflag !='B' order by deptId");
}
function checkEmptyDateBudget($yy){
if ($this->SetQuery("select * from Department where deptDate = '0000-00-00' and deptParent=1 and deptYear='$yy' and deptflag ='B' ")){
return 1;
}else {
return 0;
}
}
function RSDepartmentMaxDateByKey($xKey){
//--เมธอดที่ขึ้นต้นด้วย RS (Result Set) มีความหมายว่าจะได้รับข้อมูลกลับมาจากการ select มากกว่า 1 เรคอร์ด
//--ปกติเมื่อเรียกใช้เมธอด RSxxxx จะต้องเรียกเมธอด GetRecord() ด้วยเสมอ
//--โดยสามารถเพิ่มเมธอดได้ตามต้องการ แต่ต้องขึ้นต้นด้วย RS
//echo "select * from Department where deptDate = $maxDate and deptParent=1 order by deptId";
$maxdate = $this->MaxDate();
if($xKey !=0)
{
$this->SetQuery("select * from Department where deptDate = '$maxdate' and deptId= '$xKey' and deptParent=1 order by deptId");
}
else
{
$this->SetQuery("select * from Department where deptDate = '$maxdate' and deptParent=1 order by deptId");
}
}
// ---------- Start Esupport ----------
function GetMaxDeptDate(){
$this->SetQuery("select max(deptDate) as num from Department");
if ($result=$this->GetResult()) {
return $result['num'];
}
}
function RSDepartmentByDateOrderId($dpDate){
$this->SetQuery("select * from Department where deptDate='$dpDate' order by deptId");
}
// ---------- End Esupport ----------
// ---------- Start Esupport By Pao ----------
function RSDepartmentByGroupBydeptdate(){
$this->SetQuery("select * from Department GROUP BY deptDate ORDER BY deptDate");
}
// ---------- End Esupport By Pao----------
} //--End class base_department--
?>
|