亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? salarygrades.php

?? 國外的人才求職招聘最新版
?? PHP
字號:
<?php
/*
// OrangeHRM is a comprehensive Human Resource Management (HRM) System that captures
// all the essential functionalities required for any enterprise.
// Copyright (C) 2006 OrangeHRM Inc., http://www.orangehrm.com

// OrangeHRM is free software; you can redistribute it and/or modify it under the terms of
// the GNU General Public License as published by the Free Software Foundation; either
// version 2 of the License, or (at your option) any later version.

// OrangeHRM is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
// without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
// See the GNU General Public License for more details.

// You should have received a copy of the GNU General Public License along with this program;
// if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
// Boston, MA  02110-1301, USA
*/

require_once ROOT_PATH . '/lib/confs/Conf.php';
require_once ROOT_PATH . '/lib/dao/DMLFunctions.php';
require_once ROOT_PATH . '/lib/dao/SQLQBuilder.php';
require_once ROOT_PATH . '/lib/common/CommonFunctions.php';
require_once ROOT_PATH . '/lib/common/UniqueIDGenerator.php';

class SalaryGrades {

	var $tableName = 'HS_PR_SALARY_GRADE';

	var $salgrdId;
	var $salgrdDesc;
	var $arrayDispList;
	var $singleField;


	function SalaryGrades() {

	}

	function setSalGrdId($salgrdId) {

		$this->salgrdId = $salgrdId;

	}

	function setSalGrdDesc($salgrdDesc) {

		$this->salgrdDesc = $salgrdDesc;
	}


	function getSalGrdId() {

		return $this->salgrdId;

	}

	function getSalGrdDesc() {

		return $this->salgrdDesc;

	}

	function getListofCashBenefits($pageNO,$schStr,$mode, $sortField = 0, $sortOrder = 'ASC') {

		$tableName = 'HS_PR_SALARY_GRADE';
		$arrFieldList[0] = 'SAL_GRD_CODE';
		$arrFieldList[1] = 'SAL_GRD_NAME';

		$sql_builder = new SQLQBuilder();

		$sql_builder->table_name = $tableName;
		$sql_builder->table2_name = 'HS_HR_CASH_BEN_SALGRADE';
		$sql_builder->field = 'SAL_GRD_CODE';
		$sql_builder->flg_select = 'true';
		$sql_builder->arr_select = $arrFieldList;

		$sqlQString = $sql_builder->selectMultipleTab($pageNO,$schStr,$mode, $sortField, $sortOrder);

		//echo $sqlQString;
		$dbConnection = new DMLFunctions();
		$message2 = $dbConnection -> executeQuery($sqlQString); //Calling the addData() function

		$i=0;

		 while ($line = mysql_fetch_array($message2, MYSQL_NUM)) {

	    	$arrayDispList[$i][0] = $line[0];
	    	$arrayDispList[$i][1] = $line[1];
	    	$i++;

	     }

	     if (isset($arrayDispList)) {

			return $arrayDispList;

		} else {

			$arrayDispList = '';
			return $arrayDispList;

		}
	}

	function countCashBenefits($schStr,$mode) {

		$tableName = 'HS_PR_SALARY_GRADE';
		$arrFieldList[0] = 'SAL_GRD_CODE';
		$arrFieldList[1] = 'SAL_GRD_NAME';

		$sql_builder = new SQLQBuilder();

		$sql_builder->table_name = $tableName;
		$sql_builder->table2_name='HS_HR_CASH_BEN_SALGRADE';
		$sql_builder->flg_select = 'true';
		$sql_builder->field='SAL_GRD_CODE';
		$sql_builder->arr_select = $arrFieldList;

		$sqlQString = $sql_builder->countMultipleTab($schStr,$mode);

		//echo $sqlQString;
		$dbConnection = new DMLFunctions();
		$message2 = $dbConnection -> executeQuery($sqlQString); //Calling the addData() function

		$line = mysql_fetch_array($message2, MYSQL_NUM);

	    	return $line[0];
	}

	function getUnAssCashBenefits($pageNO,$schStr,$mode) {

		$tableName = 'HS_PR_SALARY_GRADE';
		$arrFieldList[0] = 'SAL_GRD_CODE';
		$arrFieldList[1] = 'SAL_GRD_NAME';

		$sql_builder = new SQLQBuilder();

		$sql_builder->table_name = $tableName;
		$sql_builder->table2_name = 'HS_HR_CASH_BEN_SALGRADE';
		$sql_builder->field = 'SAL_GRD_CODE';
		$sql_builder->flg_select = 'true';
		$sql_builder->arr_select = $arrFieldList;

		$sqlQString = $sql_builder->passResultFilter($pageNO,$schStr,$mode);

		//echo $sqlQString;
		$dbConnection = new DMLFunctions();
		$message2 = $dbConnection -> executeQuery($sqlQString); //Calling the addData() function

		$i=0;

		 while ($line = mysql_fetch_array($message2, MYSQL_NUM)) {

	    	$arrayDispList[$i][0] = $line[0];
	    	$arrayDispList[$i][1] = $line[1];
	    	$i++;

	     }

	     if (isset($arrayDispList)) {

			return $arrayDispList;

		} else {

			$arrayDispList = '';
			return $arrayDispList;

		}
	}

	function countUnAssCashBenefits($schStr,$mode) {

		$tableName = 'HS_PR_SALARY_GRADE';
		$arrFieldList[0] = 'SAL_GRD_CODE';
		$arrFieldList[1] = 'SAL_GRD_NAME';

		$sql_builder = new SQLQBuilder();

		$sql_builder->table_name = $tableName;
		$sql_builder->table2_name='HS_HR_CASH_BEN_SALGRADE';
		$sql_builder->flg_select = 'true';
		$sql_builder->field='SAL_GRD_CODE';
		$sql_builder->arr_select = $arrFieldList;

		$sqlQString = $sql_builder->countResultFilter($schStr,$mode);

		//echo $sqlQString;
		$dbConnection = new DMLFunctions();
		$message2 = $dbConnection -> executeQuery($sqlQString); //Calling the addData() function

		$line = mysql_fetch_array($message2, MYSQL_NUM);

	    	return $line[0];
	}

	function getSalGrades() {

		$sql_builder = new SQLQBuilder();
		$tableName = 'HS_PR_SALARY_GRADE';
		$arrFieldList[0] = 'SAL_GRD_CODE';
		$arrFieldList[1] = 'SAL_GRD_NAME';

		$sql_builder->table_name = $tableName;
		$sql_builder->flg_select = 'true';
		$sql_builder->arr_select = $arrFieldList;

		$sqlQString = $sql_builder->passResultSetMessage();

		$dbConnection = new DMLFunctions();
       		$message2 = $dbConnection -> executeQuery($sqlQString); //Calling the addData() function

		$common_func = new CommonFunctions();

		$i=0;

		 while ($line = mysql_fetch_array($message2, MYSQL_NUM)) {

	    	$arrayDispList[$i][0] = $line[0];
	    	$arrayDispList[$i][1] = $line[1];


	    	$i++;

	     }

	     if (isset($arrayDispList)) {

	       	return $arrayDispList;

	     } else {

	     	//Handle Exceptions
	     	//Create Logs

	     }

	}

	function getListofSalaryGrades($pageNO,$schStr,$mode, $sortField = 0, $sortOrder = 'ASC') {

		$tableName = 'HS_PR_SALARY_GRADE';
		$arrFieldList[0] = 'SAL_GRD_CODE';
		$arrFieldList[1] = 'SAL_GRD_NAME';

		$sql_builder = new SQLQBuilder();

		$sql_builder->table_name = $tableName;
		$sql_builder->flg_select = 'true';
		$sql_builder->arr_select = $arrFieldList;

		$sqlQString = $sql_builder->passResultSetMessage($pageNO,$schStr,$mode, $sortField, $sortOrder);

		//echo $sqlQString;
		$dbConnection = new DMLFunctions();
		$message2 = $dbConnection -> executeQuery($sqlQString); //Calling the addData() function

		$i=0;

		 while ($line = mysql_fetch_array($message2, MYSQL_NUM)) {

	    	$arrayDispList[$i][0] = $line[0];
	    	$arrayDispList[$i][1] = $line[1];
	    	$i++;

	     }

	     if (isset($arrayDispList)) {

			return $arrayDispList;

		} else {

			$arrayDispList = '';
			return $arrayDispList;

		}
	}

	function countSalaryGrades($schStr,$mode) {

		$tableName = 'HS_PR_SALARY_GRADE';
		$arrFieldList[0] = 'SAL_GRD_CODE';
		$arrFieldList[1] = 'SAL_GRD_NAME';

		$sql_builder = new SQLQBuilder();

		$sql_builder->table_name = $tableName;
		$sql_builder->flg_select = 'true';
		$sql_builder->arr_select = $arrFieldList;

		$sqlQString = $sql_builder->countResultset($schStr,$mode);

		//echo $sqlQString;
		$dbConnection = new DMLFunctions();
		$message2 = $dbConnection -> executeQuery($sqlQString); //Calling the addData() function

		$line = mysql_fetch_array($message2, MYSQL_NUM);

	    	return $line[0];
	}

	function delSalaryGrades($arrList) {

		$tableName = 'HS_PR_SALARY_GRADE';
		$arrFieldList[0] = 'SAL_GRD_CODE';

		$sql_builder = new SQLQBuilder();

		$sql_builder->table_name = $tableName;
		$sql_builder->flg_delete = 'true';
		$sql_builder->arr_delete = $arrFieldList;

		$sqlQString = $sql_builder->deleteRecord($arrList);

		//echo $sqlQString;
		$dbConnection = new DMLFunctions();
		$message2 = $dbConnection -> executeQuery($sqlQString); //Calling the addData() function

		return $message2;
	}


	function addSalaryGrades() {

		$tableName = 'HS_PR_SALARY_GRADE';

		$this->salgrdId = UniqueIDGenerator::getInstance()->getNextID($tableName, 'SAL_GRD_CODE', 'SAL');
		$arrFieldList[0] = "'". $this->getSalGrdId() . "'";
		$arrFieldList[1] = "'". $this->getSalGrdDesc() . "'";

		$sql_builder = new SQLQBuilder();

		$sql_builder->table_name = $tableName;
		$sql_builder->flg_insert = 'true';
		$sql_builder->arr_insert = $arrFieldList;


		$sqlQString = $sql_builder->addNewRecordFeature1();

		$dbConnection = new DMLFunctions();
		$message2 = $dbConnection -> executeQuery($sqlQString); //Calling the addData() function

		return $message2;
	}

	function updateSalaryGrades() {

		$this->getSalGrdId();
		$arrRecordsList[0] = "'". $this->getSalGrdId() . "'";
		$arrRecordsList[1] = "'". $this->getSalGrdDesc() . "'";
		$arrFieldList[0] = 'SAL_GRD_CODE';
		$arrFieldList[1] = 'SAL_GRD_NAME';

		$tableName = 'HS_PR_SALARY_GRADE';

		$sql_builder = new SQLQBuilder();

		$sql_builder->table_name = $tableName;
		$sql_builder->flg_update = 'true';
		$sql_builder->arr_update = $arrFieldList;
		$sql_builder->arr_updateRecList = $arrRecordsList;

		$sqlQString = $sql_builder->addUpdateRecord1();

		$dbConnection = new DMLFunctions();
		$message2 = $dbConnection -> executeQuery($sqlQString); //Calling the addData() function

		return $message2;


	}


	function filterSalaryGrades($getID) {

		$this->getID = $getID;
		$tableName = 'HS_PR_SALARY_GRADE';
		$arrFieldList[0] = 'SAL_GRD_CODE';
		$arrFieldList[1] = 'SAL_GRD_NAME';

		$sql_builder = new SQLQBuilder();

		$sql_builder->table_name = $tableName;
		$sql_builder->flg_select = 'true';
		$sql_builder->arr_select = $arrFieldList;

		$sqlQString = $sql_builder->selectOneRecordFiltered($this->getID);

		//echo $sqlQString;
		$dbConnection = new DMLFunctions();
		$message2 = $dbConnection -> executeQuery($sqlQString); //Calling the addData() function

		$i=0;

		 while ($line = mysql_fetch_array($message2, MYSQL_NUM)) {

	    	$arrayDispList[$i][0] = $line[0];
	    	$arrayDispList[$i][1] = $line[1];
	    	$i++;

	     }

	     if (isset($arrayDispList)) {

			return $arrayDispList;

		} else {

			$arrayDispList = '';
			return $arrayDispList;

		}

	}

	function getListofNonCashBenefits($pageNO,$schStr,$mode) {

		$tableName = 'HS_PR_SALARY_GRADE';
		$arrFieldList[0] = 'SAL_GRD_CODE';
		$arrFieldList[1] = 'SAL_GRD_NAME';

		$sql_builder = new SQLQBuilder();

		$sql_builder->table_name = $tableName;
		$sql_builder->table2_name = 'HS_HR_NONCASH_BEN_SALGRADE';
		$sql_builder->field = 'SAL_GRD_CODE';
		$sql_builder->flg_select = 'true';
		$sql_builder->arr_select = $arrFieldList;

		$sqlQString = $sql_builder->selectMultipleTab($pageNO,$schStr,$mode);

		//echo $sqlQString;
		$dbConnection = new DMLFunctions();
		$message2 = $dbConnection -> executeQuery($sqlQString); //Calling the addData() function

		$i=0;

		 while ($line = mysql_fetch_array($message2, MYSQL_NUM)) {

	    	$arrayDispList[$i][0] = $line[0];
	    	$arrayDispList[$i][1] = $line[1];
	    	$i++;

	     }

	     if (isset($arrayDispList)) {

			return $arrayDispList;

		} else {

			$arrayDispList = '';
			return $arrayDispList;

		}
	}

	function countNonCashBenefits($schStr,$mode) {

		$tableName = 'HS_PR_SALARY_GRADE';
		$arrFieldList[0] = 'SAL_GRD_CODE';
		$arrFieldList[1] = 'SAL_GRD_NAME';

		$sql_builder = new SQLQBuilder();

		$sql_builder->table_name = $tableName;
		$sql_builder->table2_name='HS_HR_NONCASH_BEN_SALGRADE';
		$sql_builder->flg_select = 'true';
		$sql_builder->field='SAL_GRD_CODE';
		$sql_builder->arr_select = $arrFieldList;

		$sqlQString = $sql_builder->countMultipleTab($schStr,$mode);

		//echo $sqlQString;
		$dbConnection = new DMLFunctions();
		$message2 = $dbConnection -> executeQuery($sqlQString); //Calling the addData() function

		$line = mysql_fetch_array($message2, MYSQL_NUM);

	    	return $line[0];
	}

	function getUnAssNonCashBenefits($pageNO,$schStr,$mode) {

		$tableName = 'HS_PR_SALARY_GRADE';
		$arrFieldList[0] = 'SAL_GRD_CODE';
		$arrFieldList[1] = 'SAL_GRD_NAME';

		$sql_builder = new SQLQBuilder();

		$sql_builder->table_name = $tableName;
		$sql_builder->table2_name = 'HS_HR_NONCASH_BEN_SALGRADE';
		$sql_builder->field = 'SAL_GRD_CODE';
		$sql_builder->flg_select = 'true';
		$sql_builder->arr_select = $arrFieldList;

		$sqlQString = $sql_builder->passResultFilter($pageNO,$schStr,$mode);

		//echo $sqlQString;
		$dbConnection = new DMLFunctions();
		$message2 = $dbConnection -> executeQuery($sqlQString); //Calling the addData() function

		$i=0;

		 while ($line = mysql_fetch_array($message2, MYSQL_NUM)) {

	    	$arrayDispList[$i][0] = $line[0];
	    	$arrayDispList[$i][1] = $line[1];
	    	$i++;

	     }

	     if (isset($arrayDispList)) {

			return $arrayDispList;

		} else {

			$arrayDispList = '';
			return $arrayDispList;

		}
	}

	function countUnAssNonCashBenefits($schStr,$mode) {

		$tableName = 'HS_PR_SALARY_GRADE';
		$arrFieldList[0] = 'SAL_GRD_CODE';
		$arrFieldList[1] = 'SAL_GRD_NAME';

		$sql_builder = new SQLQBuilder();

		$sql_builder->table_name = $tableName;
		$sql_builder->table2_name='HS_HR_NONCASH_BEN_SALGRADE';
		$sql_builder->flg_select = 'true';
		$sql_builder->field='SAL_GRD_CODE';
		$sql_builder->arr_select = $arrFieldList;

		$sqlQString = $sql_builder->countResultFilter($schStr,$mode);

		//echo $sqlQString;
		$dbConnection = new DMLFunctions();
		$message2 = $dbConnection -> executeQuery($sqlQString); //Calling the addData() function

		$line = mysql_fetch_array($message2, MYSQL_NUM);

	    	return $line[0];
	}

	function getSalGrdCodes() {

		$tableName = 'HS_PR_SALARY_GRADE';
		$arrFieldList[0] = 'SAL_GRD_CODE';
		$arrFieldList[1] = 'SAL_GRD_NAME';

		$sql_builder = new SQLQBuilder();

		$sql_builder->table_name = $tableName;
		$sql_builder->flg_select = 'true';
		$sql_builder->arr_select = $arrFieldList;

		$sqlQString = $sql_builder->passResultSetMessage();

		//echo $sqlQString;
		$dbConnection = new DMLFunctions();
		$message2 = $dbConnection -> executeQuery($sqlQString); //Calling the addData() function

		$i=0;

		 while ($line = mysql_fetch_array($message2, MYSQL_NUM)) {

	    	$arrayDispList[$i][0] = $line[0];
	    	$arrayDispList[$i][1] = $line[1];
	    	$i++;

	     }

	     if (isset($arrayDispList)) {

			return $arrayDispList;

		} else {

			$arrayDispList = '';
			return $arrayDispList;

		}
	}
}
?>

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日本韩国精品在线| 韩国精品主播一区二区在线观看| 欧美视频一区在线观看| 成人天堂资源www在线| 日本91福利区| 秋霞成人午夜伦在线观看| 国产91精品欧美| 91一区二区三区在线观看| 成人免费视频一区| 日韩三级视频中文字幕| 91精品国产免费久久综合| 欧美男男青年gay1069videost| 欧美日本一区二区三区四区| 国产精品久久久久桃色tv| 国产精品久久久久影视| 激情久久五月天| 日韩一区二区三区精品视频| 亚洲国产综合人成综合网站| 午夜精彩视频在线观看不卡| 日韩av成人高清| 国产馆精品极品| 96av麻豆蜜桃一区二区| 欧美三级中文字幕| 欧美成人欧美edvon| 国产欧美中文在线| 亚洲自拍偷拍欧美| 日韩精品电影在线| 国产福利一区在线观看| 精品动漫一区二区三区在线观看| 国产精品人妖ts系列视频| 爽爽淫人综合网网站| 欧美三级电影网站| 夜夜夜精品看看| 国模一区二区三区白浆| 精品电影一区二区三区| 国产在线精品视频| 欧美日韩黄色一区二区| 亚洲丶国产丶欧美一区二区三区| 精品一区二区三区在线视频| av电影在线不卡| 日韩你懂的电影在线观看| 一区二区三区视频在线看| 91影视在线播放| 亚洲专区一二三| 67194成人在线观看| 1024成人网| 国产一区二区在线影院| 国产亚洲一区二区三区在线观看| 亚洲精品成a人| 国产精品一线二线三线精华| 欧美亚洲图片小说| 日韩黄色在线观看| 久久亚洲一区二区三区四区| 午夜精品福利一区二区三区蜜桃| 欧美麻豆精品久久久久久| 国产精品色一区二区三区| 色老汉av一区二区三区| 天堂午夜影视日韩欧美一区二区| 欧美大片一区二区三区| 国产精品一级片| 一区二区激情视频| 久久久久久亚洲综合| 美女mm1313爽爽久久久蜜臀| 欧美日韩视频在线第一区| 美女视频免费一区| 综合激情网...| 成人免费福利片| 午夜精品一区在线观看| 国产视频不卡一区| 欧美日韩成人综合| 国产999精品久久| 午夜日韩在线观看| 日本一区二区三区dvd视频在线| 欧美中文字幕一区| 亚洲午夜在线电影| 2024国产精品| 欧美日韩日日摸| 91亚洲精品久久久蜜桃| 麻豆精品久久精品色综合| 亚洲精品国产a久久久久久| 久久婷婷综合激情| 欧美精品一二三| 91在线云播放| 国产精品18久久久久久久久 | 精品对白一区国产伦| aaa亚洲精品| 蜜桃精品视频在线| 亚洲一级片在线观看| 国产精品久久毛片| 国产夜色精品一区二区av| 6080午夜不卡| 欧美久久一二三四区| 色婷婷国产精品| 一区二区三区四区在线播放| 久久先锋影音av| 日韩欧美国产一区二区三区| 欧美日本韩国一区| 精品视频1区2区| 91尤物视频在线观看| 成人福利视频在线看| 亚洲伊人伊色伊影伊综合网| 国产精品污网站| 国产无一区二区| 精品国产凹凸成av人导航| 日韩精品一区二区三区四区| 欧美日本一道本| 欧美日韩国产三级| 欧美日韩精品欧美日韩精品一综合| 不卡av在线网| 成人高清视频免费观看| 国产高清精品久久久久| 国产毛片精品一区| 国产电影一区在线| 成人听书哪个软件好| 成人精品国产福利| 成人爱爱电影网址| 91老师国产黑色丝袜在线| 91亚洲精品一区二区乱码| 91久久精品国产91性色tv| 欧美伊人久久大香线蕉综合69 | 欧美第一区第二区| 精品国产一区二区三区不卡 | 日韩avvvv在线播放| 蜜桃av一区二区三区| 美女国产一区二区| 国产综合色视频| 成人av在线资源网站| 91在线视频观看| 欧美视频在线不卡| 日韩一级精品视频在线观看| 精品成人一区二区| 国产精品色噜噜| 亚洲影院免费观看| 日本麻豆一区二区三区视频| 国产乱码精品1区2区3区| 不卡在线视频中文字幕| 91亚洲精品久久久蜜桃网站 | 亚洲欧美成aⅴ人在线观看 | 欧美日本在线观看| 日韩精品一区二区三区中文不卡 | 欧美精品 日韩| 精品乱人伦小说| 国产精品国产三级国产aⅴ入口| 一区二区三区中文字幕电影| 日韩影院免费视频| 成人福利视频网站| 91精品国产入口在线| 国产欧美一区二区精品婷婷| 亚洲黄色录像片| 极品少妇一区二区三区精品视频| 99视频一区二区三区| 欧美日韩精品电影| 国产欧美日韩麻豆91| 国产成人精品免费| 91片黄在线观看| 日韩免费观看高清完整版| 国产精品毛片大码女人| 日本欧美在线观看| 成人av集中营| 日韩三级在线观看| 一区二区三区精品视频| 国产一区免费电影| 欧美群妇大交群中文字幕| 国产精品三级电影| 老司机精品视频在线| 蜜臀av性久久久久av蜜臀妖精| 高清免费成人av| 日韩写真欧美这视频| 亚洲人成网站在线| 精品一二三四区| 精品视频资源站| 亚洲激情一二三区| 波多野结衣在线一区| 91麻豆精品国产91久久久久| 成人免费在线视频观看| 国产精品伊人色| 日韩欧美国产成人一区二区| 日韩伦理电影网| av中文字幕亚洲| 国产午夜精品一区二区三区视频 | 不卡电影免费在线播放一区| 精品国产乱码91久久久久久网站| 夜夜嗨av一区二区三区| 成人av网站免费| 久久久精品日韩欧美| 麻豆精品视频在线观看免费| 欧美一区二区成人6969| 婷婷久久综合九色国产成人| 91官网在线免费观看| 亚洲精品美腿丝袜| 91性感美女视频| 亚洲乱码中文字幕| 91免费版在线| 亚洲精品免费看| 欧美伊人久久大香线蕉综合69 | 国产精品网站在线播放| 成人三级在线视频| 自拍偷在线精品自拍偷无码专区| 波多野洁衣一区| 中文字幕一区二区三区四区|