?? customimport.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/dao/DMLFunctions.php';require_once ROOT_PATH.'/lib/dao/SQLQBuilder.php';require_once ROOT_PATH.'/lib/confs/sysConf.php';require_once ROOT_PATH.'/lib/common/CommonFunctions.php';require_once ROOT_PATH . '/lib/common/UniqueIDGenerator.php';class CustomImport { /** * Table Name */ const TABLE_NAME = 'hs_hr_custom_import'; const DB_FIELDS_ID = 'import_id'; const DB_FIELDS_NAME = 'name'; const DB_FIELDS_FIELDS = 'fields'; const DB_FIELDS_HAS_HEADING = 'has_heading'; const NO_HEADING = 0; const HAS_HEADING = 1; /** CSV Field name constants */ const FIELD_EMPID = 'empId'; const FIELD_LASTNAME = 'lastName'; const FIELD_FIRSTNAME = 'firstName'; const FIELD_MIDDLENAME = 'middleName'; const FIELD_STREET1 = 'street1'; const FIELD_STREET2 = 'street2'; const FIELD_CITY = 'city'; const FIELD_STATE = 'state'; const FIELD_ZIP = 'zip'; const FIELD_GENDER = 'gender'; const FIELD_BIRTHDATE = 'birthDate'; const FIELD_SSN = 'ssn'; const FIELD_JOINEDDATE = 'joinedDate'; const FIELD_WORKSTATION = 'workStation'; const FIELD_CUSTOM1 = 'custom1'; const FIELD_CUSTOM2 = 'custom2'; const FIELD_CUSTOM3 = 'custom3'; const FIELD_CUSTOM4 = 'custom4'; const FIELD_CUSTOM5 = 'custom5'; const FIELD_CUSTOM6 = 'custom6'; const FIELD_CUSTOM7 = 'custom7'; const FIELD_CUSTOM8 = 'custom8'; const FIELD_CUSTOM9 = 'custom9'; const FIELD_CUSTOM10 = 'custom10'; const FIELD_WORKSTATE = 'workState'; const FIELD_FITWSTATUS = 'FITWStatus'; const FIELD_FITWEXCEMPTIONS = 'FITWExemptions'; const FIELD_SITWSTATE = 'SITWState'; const FIELD_SITWSTATUS = 'SITWStatus'; const FIELD_SITWEXCEMPTIONS = 'SITWExemptions'; const FIELD_SUISTATE = 'SUIState'; const FIELD_DD1ROUTING = 'DD1Routing'; const FIELD_DD1ACCOUNT = 'DD1Account'; const FIELD_DD1AMOUNT = 'DD1Amount'; const FIELD_DD1AMOUNTCODE = 'DD1AmountCode'; const FIELD_DD1CHECKING = 'DD1Checking'; const FIELD_DD2ROUTING = 'DD2Routing'; const FIELD_DD2ACCOUNT = 'DD2Account'; const FIELD_DD2AMOUNT = 'DD2Amount'; const FIELD_DD2AMOUNTCODE = 'DD2AmountCode'; const FIELD_DD2CHECKING = 'DD2Checking'; const FIELD_HOME_PHONE = 'HomePhone'; const FIELD_MOBILE_PHONE = 'MobilePhone'; const FIELD_WORK_PHONE = 'WorkPhone'; const FIELD_WORK_EMAIL = 'WorkEmail'; const FIELD_OTHER_EMAIL = 'OtherEmail'; const FIELD_DRIVING_LIC = 'DrivingLic'; /** * Class Attributes */ private $id; private $name; private $assignedFields; private $containsHeader; private $maxFieldLengths; /** * Setter method followed by getter method for each * attribute */ public function setId($id) { $this->id = $id; } public function getId() { return $this->id; } public function setName($name){ $this->name = $name; } public function getName(){ return $this->name; } public function setAssignedFields($fields) { $this->assignedFields = $fields; } public function getAssignedFields() { return $this->assignedFields; } public function setContainsHeader($containsHeader) { return $this->containsHeader = $containsHeader; } public function getContainsHeader() { return $this->containsHeader; } public function getFieldCount() { return count($this->assignedFields); } public function __construct() { $this->maxFieldLengths = self::getMaxFieldLengths(); } /** * Get CustomImport with given Id * * @param int Custom import id * @return CustomImport Custom Import object if found or null if not */ public static function getCustomImport($id) { if (!CommonFunctions::isValidId($id)) { throw new CustomImportException("Invalid parameters to getCustomImport(): id = $id", CustomImportException::INVALID_PARAMETERS); } $selectCondition[] = self::DB_FIELDS_ID . " = $id"; $list = self::_getList($selectCondition); $import = count($list) == 0 ? null : $list[0]; return $import; } public static function getAllFields() { $allFields = array(self::FIELD_EMPID, self::FIELD_LASTNAME, self::FIELD_FIRSTNAME, self::FIELD_MIDDLENAME, self::FIELD_HOME_PHONE, self::FIELD_MOBILE_PHONE, self::FIELD_WORK_PHONE, self::FIELD_WORK_EMAIL, self::FIELD_OTHER_EMAIL, self::FIELD_DRIVING_LIC, self::FIELD_STREET1, self::FIELD_STREET2, self::FIELD_CITY, self::FIELD_STATE, self::FIELD_ZIP, self::FIELD_GENDER, self::FIELD_BIRTHDATE, self::FIELD_SSN, self::FIELD_JOINEDDATE, self::FIELD_WORKSTATION, self::FIELD_CUSTOM1, self::FIELD_CUSTOM2, self::FIELD_CUSTOM3, self::FIELD_CUSTOM4, self::FIELD_CUSTOM5, self::FIELD_CUSTOM6, self::FIELD_CUSTOM7, self::FIELD_CUSTOM8, self::FIELD_CUSTOM9, self::FIELD_CUSTOM10, self::FIELD_WORKSTATE, self::FIELD_FITWSTATUS, self::FIELD_FITWEXCEMPTIONS, self::FIELD_SITWSTATE, self::FIELD_SITWSTATUS, self::FIELD_SITWEXCEMPTIONS, self::FIELD_SUISTATE, self::FIELD_DD1ROUTING, self::FIELD_DD1ACCOUNT, self::FIELD_DD1AMOUNT, self::FIELD_DD1AMOUNTCODE, self::FIELD_DD1CHECKING, self::FIELD_DD2ROUTING, self::FIELD_DD2ACCOUNT, self::FIELD_DD2AMOUNT, self::FIELD_DD2AMOUNTCODE, self::FIELD_DD2CHECKING); return $allFields; } /** * Check if given value is within allowed field length for the given field * * @param string $fieldName The field to check * @param string $value The field value to check * @return boolean true if field length within allowed limits, false otherwise */ public function checkFieldLength($fieldName, $value) { if (isset($this->maxFieldLengths[$fieldName])) { $maxLength = $this->maxFieldLengths[$fieldName]; if (($maxLength > -1) && (strlen($value) > $maxLength)) { return false; } } return true; } /** * Get array with maximum allowed field lengths for all supported fields * Max length is set to -1 where not applicable * * @return array Array with maximum allowed field lengths. */ public static function getMaxFieldLengths() { $maxLengths = array( self::FIELD_EMPID => 50, self::FIELD_LASTNAME => 100, self::FIELD_FIRSTNAME => 100, self::FIELD_MIDDLENAME => 100, self::FIELD_STREET1 => 100, self::FIELD_STREET2 => 100, self::FIELD_CITY => 100, self::FIELD_STATE => 100, self::FIELD_ZIP => 20, self::FIELD_GENDER => -1, self::FIELD_BIRTHDATE => -1, self::FIELD_SSN => 100, self::FIELD_JOINEDDATE => -1, self::FIELD_WORKSTATION => -1, self::FIELD_CUSTOM1 => 250, self::FIELD_CUSTOM2 => 250, self::FIELD_CUSTOM3 => 250, self::FIELD_CUSTOM4 => 250, self::FIELD_CUSTOM5 => 250, self::FIELD_CUSTOM6 => 250, self::FIELD_CUSTOM7 => 250, self::FIELD_CUSTOM8 => 250, self::FIELD_CUSTOM9 => 250, self::FIELD_CUSTOM10 => 250, self::FIELD_WORKSTATE => 13, self::FIELD_FITWSTATUS => 13, self::FIELD_FITWEXCEMPTIONS => -1, self::FIELD_SITWSTATE => 13, self::FIELD_SITWSTATUS => 13, self::FIELD_SITWEXCEMPTIONS => -1, self::FIELD_SUISTATE => 13, self::FIELD_DD1ROUTING => -1, self::FIELD_DD1ACCOUNT => 100, self::FIELD_DD1AMOUNT => -1, self::FIELD_DD1AMOUNTCODE => 20, self::FIELD_DD1CHECKING => 20, self::FIELD_DD2ROUTING => -1, self::FIELD_DD2ACCOUNT => 100, self::FIELD_DD2AMOUNT => -1, self::FIELD_DD2AMOUNTCODE => 20, self::FIELD_DD2CHECKING => 20, self::FIELD_HOME_PHONE => 50, self::FIELD_MOBILE_PHONE => 50, self::FIELD_WORK_PHONE => 50, self::FIELD_WORK_EMAIL => 50, self::FIELD_OTHER_EMAIL => 50, self::FIELD_DRIVING_LIC => 100); return $maxLengths; } /** * Return array of fields that must be included in import file * @return array Array of compulsary fields */ public static function getCompulsaryFields() { $compulsaryFields = array(self::FIELD_LASTNAME, self::FIELD_FIRSTNAME); return $compulsaryFields; } /**
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -