staff = $staff->getStaffBySid ( $_COOKIE ["staff"] );
return "/";
}
}
Doo::loadCore ( 'uri/DooUriRouter' );
$router = new DooUriRouter ();
$routeRs = $router->execute ( Doo::app ()->route, Doo::conf ()->SUBFOLDER );
if ($routeRs ['1'] != "appliedEntry") {
if ($routeRs ['1'] != "login") {
header ( 'Content-Type:text/html;charset=utf-8' );
@header ( "Location: /login" );
}
}
}
/**
* 人资首页
*/
function hr() {
Doo::loadModel ( 'staffManage' );
$staffManage = new staffManage ();
Doo::loadModel ( 'staff' );
$staff = new staff ();
// 获得当前账号需要审批的员工
$staffList = $staff->getStaffByApplied ( $this->staff ['sid'] );
$staffNew = $staff->getStaffByApprovals ();
// print_r($staffList);
$this->data ['staffList'] = $staffList;
$this->data ['staffNew'] = $staffNew;
$this->data ['memu'] = "HumanResource";
$this->data ['hrMemu'] = "hr";
$this->render ( "/humanResource/hr", $this->data );
}
/**
* 员工入职审批
*/
function employeeInductionApprovals() {
Doo::loadModel ( 'staff' );
$staff = new staff ();
Doo::loadClass ( 'XDeode' );
$XDeode = new XDeode ( 5 );
Doo::loadModel ( 'staffManage' );
$staffManage = new staffManage ();
$sidKey = $this->get_args ( 'sidKey' ) ? $this->get_args ( 'sidKey' ) : "";
$sid = $XDeode->decode ( $sidKey );
if (! is_numeric ( $sid ) || empty ( $sid ))
die ( 'illegal request' );
$staffDetail = $staff->getOne ( array (
'where' => 'pendStatus=2 and sid=' . $sid . ' and pendingApprovals=' . $this->staff ['sid'],
'asArray' => true
) );
if (empty ( $staffDetail ))
die ( 'illegal request' );
$processApprovals = json_decode ( $staffDetail ['processApprovals'], true );
$invoiceManage = json_decode ( $staffDetail ['staffManage'], true );
$staff = new staff ();
if (empty ( $processApprovals )) {
$processApprovals = array (
$this->staff ['sid'] => array (
'date' => date ( "Y-m-d H:i:s" )
)
);
$nextInvoiceManage = next ( $invoiceManage );
if ($nextInvoiceManage !== false)
$staff->pendingApprovals = $nextInvoiceManage [0];
$staff->processApprovals = json_encode ( $processApprovals );
} else {
$processApprovals [$this->staff ['sid']] = array (
'date' => date ( "Y-m-d H:i:s" )
);
$pendingApprovals = 0;
foreach ( $invoiceManage as $key => $value ) {
if ($value [0] == $this->staff ['sid']) {
if (isset ( $invoiceManage [$key + 1] ))
$pendingApprovals = $invoiceManage [$key + 1] [0];
break;
}
}
if (! empty ( $pendingApprovals ))
$staff->pendingApprovals = $pendingApprovals;
$staff->processApprovals = json_encode ( $processApprovals );
}
if (count ( $processApprovals ) == count ( $invoiceManage )) {
$staff->pendStatus = 0;
$staff->pendingApprovals = 0;
$staff->InductionDate = date ( "Y-m-d H:i:s" );
}
$staff->updateDate = date ( "Y-m-d H:i:s" );
$staff->update ( array (
'where' => 'sid=' . $sid
) );
// 操作日志
Doo::loadModel ( 'staffOperationLog' );
$staffOperationLog = new staffOperationLog ();
$item = array (
'date' => date ( "Y-m-d H:i:s" ),
'operation' => $this->staff ['username'] . "入职 审批通过" . $staffDetail ['username'],
'status' => 1,
'img' => $staffDetail ['avatar'],
'username' => $staffDetail ['username'],
'uid' => $staffDetail ['sid'],
'category' => $staffDetail ['category']
);
$staffOperationLog->setInvoiceOperationLog ( $item );
return '/hr';
}
/**
* 离职人员审批
*/
function employeeDimissionApprovals() {
Doo::loadModel ( 'staff' );
$staff = new staff ();
Doo::loadClass ( 'XDeode' );
$XDeode = new XDeode ( 5 );
Doo::loadModel ( 'staffLeaveManage' );
$staffLeaveManage = new staffLeaveManage ();
$sidKey = $this->get_args ( 'sidKey' ) ? $this->get_args ( 'sidKey' ) : "";
$sid = $XDeode->decode ( $sidKey );
if (! is_numeric ( $sid ) || empty ( $sid ))
die ( 'illegal request' );
$staffDetail = $staff->getOne ( array (
'where' => 'pendStatus=3 and sid=' . $sid . ' and pendingApprovalsLeave=' . $this->staff ['sid'],
'asArray' => true
) );
if (empty ( $staffDetail ))
die ( 'illegal request' );
$processApprovals = json_decode ( $staffDetail ['processApprovalsLeave'], true );
$invoiceManage = json_decode ( $staffDetail ['staffManageLeave'], true );
$staff = new staff ();
if (empty ( $processApprovals )) {
$processApprovals = array (
$this->staff ['sid'] => array (
'date' => date ( "Y-m-d H:i:s" )
)
);
$nextInvoiceManage = next ( $invoiceManage );
if ($nextInvoiceManage !== false)
$staff->pendingApprovalsLeave = $nextInvoiceManage [0];
$staff->processApprovalsLeave = json_encode ( $processApprovals );
} else {
$processApprovals [$this->staff ['sid']] = array (
'date' => date ( "Y-m-d H:i:s" )
);
$pendingApprovals = 0;
foreach ( $invoiceManage as $key => $value ) {
if ($value [0] == $this->staff ['sid']) {
if (isset ( $invoiceManage [$key + 1] ))
$pendingApprovals = $invoiceManage [$key + 1] [0];
break;
}
}
if (! empty ( $pendingApprovals ))
$staff->pendingApprovalsLeave = $pendingApprovals;
$staff->processApprovalsLeave = json_encode ( $processApprovals );
}
if (count ( $processApprovals ) == count ( $invoiceManage )) {
$staff->pendStatus = 4;
$staff->pendingApprovalsLeave = 0;
}
$staff->updateDate = date ( "Y-m-d H:i:s" );
$staff->update ( array (
'where' => 'sid=' . $sid
) );
// 操作日志
Doo::loadModel ( 'staffOperationLog' );
$staffOperationLog = new staffOperationLog ();
$item = array (
'date' => date ( "Y-m-d H:i:s" ),
'operation' => $this->staff ['username'] . "离职 审批通过" . $staffDetail ['username'],
'status' => 2,
'img' => $staffDetail ['avatar'],
'username' => $staffDetail ['username'],
'uid' => $staffDetail ['sid'],
'category' => $staffDetail ['category']
);
$staffOperationLog->setInvoiceOperationLog ( $item );
return '/hr';
}
/**
* 员工信息
*/
function hrEmployee() {
$pendStatus = $this->get_args ( 'pendStatus' ) ? $this->get_args ( 'pendStatus' ) : "ALL";
$nature = $this->get_args ( 'nature' ) ? $this->get_args ( 'nature' ) : 'ALL';
$cid_did = $this->get_args ( 'cid_did' ) ? $this->get_args ( 'cid_did' ) : 'ALL';
$MebSea = $this->get_args ( 'MebSea' ) ? $this->get_args ( 'MebSea' ) : '';
Doo::loadClass ( 'XDeode' );
$XDeode = new XDeode ( 5 );
$con = ' username != "admin" ';
if ($pendStatus == 'ALL')
$con .= ' and (pendStatus=0 or pendStatus=4) ';
elseif ($pendStatus == 'OTJOB')
$con .= ' and pendStatus=0 ';
elseif ($pendStatus == 'LVJOB')
$con .= ' and pendStatus=4 ';
if ($nature == 'ALL')
$con .= ' and (nature=1 or nature=2 or nature=3 or nature=4) ';
elseif ($nature == 'FORMAL')
$con .= ' and nature=1';
elseif ($nature == 'TRIAL')
$con .= ' and nature=2';
elseif ($nature == 'PRACTICE')
$con .= ' and nature=3';
if ($cid_did != 'ALL') {
$department = explode ( '_', $cid_did );
$cid = $XDeode->decode ( $department [0] );
$departmentID = false;
if (! empty ( $department [1] )) {
$departmentID = $XDeode->decode ( $department [1] );
}
if (is_numeric ( $cid ) && is_numeric ( $departmentID ))
$con .= ' and cid=' . $cid . ' and departmentID=' . $departmentID;
elseif (is_numeric ( $cid ) && ! is_numeric ( $departmentID ))
$con .= ' and cid=' . $cid;
}
if (! empty ( $MebSea ))
$con .= ' and ( username like "%' . $MebSea . '%" or jobNumber like "%' . $MebSea . '%" )';
Doo::loadModel ( 'staff' );
$staff = new staff ();
Doo::loadModel ( 'L_category' );
$L_category = new L_category ();
$stafflist = $staff->getStaffByCondition ( $con );
$monthstart = date ( 'Y-m-d 00:00:00', mktime ( 0, 0, 0, date ( 'm' ), 1, date ( 'Y' ) ) );
$monthend = date ( 'Y-m-d 23:59:59', mktime ( 0, 0, 0, date ( 'm' ) + 1, 0, date ( 'Y' ) ) );
// 本月在职 入职 离职人员数量
$onJobCount = $staff->count ( array (
'where' => 'pendStatus=0 and username!="admin"'
) );
$inJobCount = $staff->count ( array (
'where' => 'pendStatus=0 and username!="admin" and (InductionDate>="' . $monthstart . '" and InductionDate<="' . $monthend . '" )'
) );
$leaveJobCount = $staff->count ( array (
'where' => 'pendStatus=4 and username!="admin" and (dimissionDate>="' . $monthstart . '" and dimissionDate<="' . $monthend . '" )'
) );
// 生成工号
$jobNumber = $this->createJobNumber ();
// 获得办事和部门
$categoryList = $L_category->getCategoryDepartment ();
$monthstart = date ( 'm.d', mktime ( 0, 0, 0, date ( 'm' ), 1, date ( 'Y' ) ) );
$monthend = date ( 'm.d', mktime ( 0, 0, 0, date ( 'm' ) + 1, 0, date ( 'Y' ) ) );
$this->data ['onJobCount'] = $onJobCount;
$this->data ['inJobCount'] = $inJobCount;
$this->data ['leaveJobCount'] = $leaveJobCount;
$this->data ['monthstart'] = $monthstart;
$this->data ['monthend'] = $monthend;
$this->data ['pendStatus'] = $pendStatus;
$this->data ['nature'] = $nature;
$this->data ['MebSea'] = $MebSea;
$this->data ['cid_did'] = $cid_did;
$this->data ['categoryList'] = $categoryList;
$this->data ['jobNumber'] = $jobNumber;
$this->data ['stafflist'] = $stafflist;
$this->data ['memu'] = "HumanResource";
$this->data ['hrMemu'] = "hrEmployeeInfo";
$this->render ( "/humanResource/hrEmployee", $this->data );
}
function staffAdd() {
$username = $this->get_args ( 'username' ) ? $this->get_args ( 'username' ) : "";
$nature = is_numeric ( $this->get_args ( 'nature' ) ) ? $this->get_args ( 'nature' ) : 0;
$cid_did = $this->get_args ( 'cid_did' ) ? $this->get_args ( 'cid_did' ) : '';
$position = $this->get_args ( 'position' ) ? $this->get_args ( 'position' ) : '';
$hiredate = $this->get_args ( 'hiredate' ) ? $this->get_args ( 'hiredate' ) : '';
$telephone = $this->get_args ( 'telephone' ) ? $this->get_args ( 'telephone' ) : '';
$baseWage = is_numeric ( $this->get_args ( 'baseWage' ) ) ? $this->get_args ( 'baseWage' ) : 0;
$postWage = is_numeric ( $this->get_args ( 'postWage' ) ) ? $this->get_args ( 'postWage' ) : 0;
$achievementBonus = is_numeric ( $this->get_args ( 'achievementBonus' ) ) ? $this->get_args ( 'achievementBonus' ) : 0;
$gender = $this->get_args ( 'gender' ) ? $this->get_args ( 'gender' ) : '';
if (! empty ( $username ) && ! empty ( $nature ) && ! empty ( $cid_did ) && ! empty ( $position ) && ! empty ( $hiredate ) && ! empty ( $baseWage ) && ! empty ( $postWage ) && ! empty ( $achievementBonus )) {
Doo::loadClass ( 'XDeode' );
$XDeode = new XDeode ( 5 );
Doo::loadModel ( 'staff' );
$staff = new staff ();
Doo::loadModel ( 'L_category' );
$L_category = new L_category ();
Doo::loadModel ( 'tag' );
Doo::loadModel ( 'holidaystaff' );
Doo::loadModel ( 'staffManage' );
$staffManage = new staffManage ();
// 用户名检测
$staff->username = $username;
$staff->hiredate = $hiredate;
$staff->nature = $nature;
$staff->position = $position;
$department = explode ( '_', $cid_did );
$cid = $XDeode->decode ( $department [0] );
// 加入默认总部分类
if (! is_numeric ( $cid ))
die ( 'illegal request' );
$cagegory = $L_category->getCategoryById ( $cid );
// 部门
if (! empty ( $department [1] )) {
$did = $XDeode->decode ( $department [1] );
if (! is_numeric ( $did ))
die ( 'illegal request' );
$staff->departmentID = $did;
}
// 生成工号
$jobNumber = $this->createJobNumber ();
if ($nature == 1)
$staff->jobNumber = $jobNumber ['regularStaff'];
else {
$staff->jobNumber = $jobNumber ['internStaff'];
$staff->pendStatus = 1;
}
$staff->cid = $cagegory [0] ['cid'];
$staff->category = $cagegory [0] ['title'];
$staff->telephone = $telephone;
$staff->baseWage = $baseWage;
$staff->postWage = $postWage;
$staff->achievementBonus = $achievementBonus;
$staff->gender = $gender;
// 审批组
// 获得该办事处的审批组
$approvalKey = explode ( '_', $cid_did );
$cidMode = array ();
foreach ( $approvalKey as $value ) {
if (! empty ( $value )) {
$cid = $XDeode->decode ( $value );
array_push ( $cidMode, $cid );
}
}
$cidMode = implode ( '_', $cidMode );
$staffManageDetail = $staffManage->getStaffManageByCid ( $cidMode );
if (empty ( $staffManageDetail ))
die ( 'illegal request' );
$pendingApprovalsSid = current ( $staffManageDetail ['staffList'] ) [0];
$staff->pendingApprovals = $pendingApprovalsSid;
$staff->staffManage = $staffManageDetail ['staff'];
// 抄送组
$staff->processCC = $staffManageDetail ['CC'];
// 工龄记录
$seniorityFormula = array ();
array_push ( $seniorityFormula, array (
'InductionDate' => $hiredate,
'dimissionDate' => ''
) );
$staff->seniorityFormula = json_encode ( $seniorityFormula );
$id = $staff->insert ();
// 更新假期相关信息
$holidaystaff = new HStaff ();
$holidaystaff->uid = $id;
$holidaystaff->insert ();
$staffmsg = $staff->getUserById ( $id );
$this->updateAnnualLeave ( $staffmsg [0] );
// 标签更新
for($i = 1; $i <= 7; $i ++) {
$tag = new tag ();
$tag->name = "个人标签";
$tag->sid = $id;
$tag->colorid = $i;
$tag->insert ();
}
}
return '/hrEmployee';
}
/**
* 更新员工信息
*/
function staffUpdate() {
$sidKey = $this->get_args ( 'sidKey' ) ? $this->get_args ( 'sidKey' ) : "";
$username = $this->get_args ( 'username' ) ? $this->get_args ( 'username' ) : "";
$cid_did = $this->get_args ( 'cid_did' ) ? $this->get_args ( 'cid_did' ) : '';
$position = $this->get_args ( 'position' ) ? $this->get_args ( 'position' ) : '';
$hiredate = $this->get_args ( 'hiredate' ) ? $this->get_args ( 'hiredate' ) : '';
$telephone = $this->get_args ( 'telephone' ) ? $this->get_args ( 'telephone' ) : '';
// $baseWage = is_numeric ( $this->get_args ( 'baseWage' ) ) ? $this->get_args ( 'baseWage' ) : 0;
// $postWage = is_numeric ( $this->get_args ( 'postWage' ) ) ? $this->get_args ( 'postWage' ) : 0;
// $achievementBonus = is_numeric ( $this->get_args ( 'achievementBonus' ) ) ? $this->get_args ( 'achievementBonus' ) : 0;
$gender = $this->get_args ( 'gender' ) ? $this->get_args ( 'gender' ) : '';
$qq = is_numeric ( $this->get_args ( 'qq' ) ) ? $this->get_args ( 'qq' ) : 0;
$phone = is_numeric ( $this->get_args ( 'phone' ) ) ? $this->get_args ( 'phone' ) : 0;
$wecat = $this->get_args ( 'wecat' ) ? $this->get_args ( 'wecat' ) : '';
$email = $this->get_args ( 'email' ) ? $this->get_args ( 'email' ) : '';
$birthday = $this->get_args ( 'birthday' ) ? $this->get_args ( 'birthday' ) : '';
$qualifications = $this->get_args ( 'qualifications' ) ? $this->get_args ( 'qualifications' ) : '';
$marriage = $this->get_args ( 'marriage' ) ? $this->get_args ( 'marriage' ) : '';
$IDcards = $this->get_args ( 'IDcards' ) ? $this->get_args ( 'IDcards' ) : '';
$living = $this->get_args ( 'living' ) ? $this->get_args ( 'living' ) : '';
$nativePlace = $this->get_args ( 'nativePlace' ) ? $this->get_args ( 'nativePlace' ) : '';
$emergencyContacts = $this->get_args ( 'emergencyContacts' ) ? $this->get_args ( 'emergencyContacts' ) : '';
$remittanceName = $this->get_args ( 'remittanceName' ) ? $this->get_args ( 'remittanceName' ) : '';
$coupletNumber = $this->get_args ( 'coupletNumber' ) ? $this->get_args ( 'coupletNumber' ) : '';
$bankName = $this->get_args ( 'bankName' ) ? $this->get_args ( 'bankName' ) : '';
$bankNumber = $this->get_args ( 'bankNumber' ) ? $this->get_args ( 'bankNumber' ) : '';
$salaryCard = $this->get_args ( 'salaryCard' ) ? $this->get_args ( 'salaryCard' ) : '';
$salaryBank = $this->get_args ( 'salaryBank' ) ? $this->get_args ( 'salaryBank' ) : '';
$employeeInfo = $this->get_args ( 'employeeInfo' ) ? $this->get_args ( 'employeeInfo' ) : 'employeeInfo';
if (! empty ( $sidKey )) {
Doo::loadClass ( 'XDeode' );
$XDeode = new XDeode ( 5 );
Doo::loadModel ( 'staff' );
$staff = new staff ();
Doo::loadModel ( 'L_category' );
$L_category = new L_category ();
Doo::loadModel ( 'tag' );
Doo::loadModel ( 'holidaystaff' );
Doo::loadModel ( 'staffManage' );
$staffManage = new staffManage ();
// 用户名检测
if (! empty ( $username )) {
$detail = $staff->getStaffByName ( $username );
if (empty ( $detail ))
die ( 'illegal request' );
}
$detail = $staff->getStaffBySid ( $sidKey );
if (empty ( $detail ))
die ( 'illegal request' );
// if (!empty($username))
// $staff->username = $username;
if (! empty ( $hiredate ))
$staff->hiredate = $hiredate;
if (! empty ( $position ))
$staff->position = $position;
// 办事处-部门
if (! empty ( $cid_did )) {
$department = explode ( '_', $cid_did );
$cid = $XDeode->decode ( $department [0] );
// 加入默认总部分类
if (! is_numeric ( $cid ))
die ( 'illegal request' );
$cagegory = $L_category->getCategoryById ( $cid );
// 部门
if (! empty ( $department [1] )) {
$did = $XDeode->decode ( $department [1] );
if (! is_numeric ( $did ))
die ( 'illegal request' );
$staff->departmentID = $did;
}
$staff->cid = $cagegory [0] ['cid'];
$staff->category = $cagegory [0] ['title'];
}
if (! empty ( $telephone ))
$staff->telephone = $telephone;
// if (!empty($baseWage))
// $staff->baseWage = $baseWage;
// if (!empty($postWage))
// $staff->postWage = $postWage;
// if (!empty($achievementBonus))
// $staff->achievementBonus = $achievementBonus;
if (! empty ( $gender ))
$staff->gender = $gender;
if (! empty ( $qq ))
$staff->qq = $qq;
if (! empty ( $phone ))
$staff->phone = $phone;
if (! empty ( $wecat ))
$staff->wecat = $wecat;
if (! empty ( $email ))
$staff->email = $email;
if (! empty ( $birthday ))
$staff->birthday = $birthday;
if (! empty ( $$qualifications ))
$staff->qualifications = $qualifications;
if (! empty ( $marriage ))
$staff->marriage = $marriage;
if (! empty ( $IDcards ))
$staff->IDcards = $IDcards;
if (! empty ( $living ))
$staff->living = $living;
if (! empty ( $nativePlace ))
$staff->nativePlace = $nativePlace;
if (! empty ( $emergencyContacts ))
$staff->emergencyContacts = $emergencyContacts;
if (! empty ( $coupletNumber ))
$staff->coupletNumber = $coupletNumber;
if (! empty ( $bankName ))
$staff->bankName = $bankName;
if (! empty ( $bankNumber ))
$staff->bankNumber = $bankNumber;
if (! empty ( $remittanceName ))
$staff->remittanceName = $remittanceName;
if (! empty ( $salaryCard ))
$staff->salaryCard = $salaryCard;
if (! empty ( $salaryBank ))
$staff->salaryBank = $salaryBank;
$staff->update ( array (
'where' => 'sid=' . $detail ['sid']
) );
if ($employeeInfo == 'employeeInfo') {
return '/hr';
} elseif ($employeeInfo == 'settingEmployeeInfo') {
return '/settingEmployeeInfo';
} elseif ($employeeInfo == 'settingFinanceInfo') {
return '/settingFinanceInfo';
}
}
die ( 'illegal request' );
}
/**
* 员工转职
*/
function staffTransfer() {
$sidKey = $this->get_args ( 'sidKey' ) ? $this->get_args ( 'sidKey' ) : "";
$nature = $this->get_args ( 'nature' ) ? $this->get_args ( 'nature' ) : '';
if (! empty ( $sidKey ) && ! empty ( $nature )) {
Doo::loadClass ( 'XDeode' );
$XDeode = new XDeode ( 5 );
Doo::loadModel ( 'staff' );
$staff = new staff ();
$sid = $XDeode->decode ( $sidKey );
$staffDetail = $staff->getStaffBySid ( $sid );
$item = array (
'sid' => $sid
);
if ($nature == 'TRIAL')
$item += array (
// 试用
'nature' => 3,
'probationaryDate' => date ( "Y-m-d H:i:s" )
);
if ($nature == 'REGULARS') {
// 生成工号
$jobNumber = $this->createJobNumber ();
$item += array (
// 正式
'nature' => 1,
'jobNumber' => $jobNumber ['regularStaff'],
'regularsDate' => date ( "Y-m-d H:i:s" )
);
}
$staff->setStaffByCondition ( $item );
// 操作日志
Doo::loadModel ( 'staffOperationLog' );
$staffOperationLog = new staffOperationLog ();
$item = array (
'date' => date ( "Y-m-d H:i:s" ),
'status' => 1,
'img' => $staffDetail ['avatar'],
'username' => $staffDetail ['username'],
'uid' => $staffDetail ['sid'],
'category' => $staffDetail ['category']
);
if ($nature == 'TRIAL')
$item += array (
// 试用
'operation' => "员工 实习转试用"
);
if ($nature == 'REGULARS')
$item += array (
// 正式
'operation' => "员工 试用转正式"
);
$staffOperationLog->setInvoiceOperationLog ( $item );
return '/hrEmployee';
}
die ( 'illegal request' );
}
/**
* 申请入职
*/
function appliedEntry() {
$sidKey = $this->get_args ( 'sidKey' ) ? $this->get_args ( 'sidKey' ) : "";
$telephone = $this->get_args ( 'telephone' ) ? $this->get_args ( 'telephone' ) : '';
$qq = $this->get_args ( 'qq' ) ? $this->get_args ( 'qq' ) : '';
$wecat = $this->get_args ( 'wecat' ) ? $this->get_args ( 'wecat' ) : '';
$phone = $this->get_args ( 'phone' ) ? $this->get_args ( 'phone' ) : '';
$email = $this->get_args ( 'email' ) ? $this->get_args ( 'email' ) : '';
$gender = $this->get_args ( 'gender' ) ? $this->get_args ( 'gender' ) : '';
$birthday = $this->get_args ( 'birthday' ) ? $this->get_args ( 'birthday' ) : '';
$qualifications = $this->get_args ( 'qualifications' ) ? $this->get_args ( 'qualifications' ) : '';
$marriage = $this->get_args ( 'marriage' ) ? $this->get_args ( 'marriage' ) : '';
$nativePlace = $this->get_args ( 'nativePlace' ) ? $this->get_args ( 'nativePlace' ) : '';
$emergencyContacts = $this->get_args ( 'emergencyContacts' ) ? $this->get_args ( 'emergencyContacts' ) : '';
$living = $this->get_args ( 'living' ) ? $this->get_args ( 'living' ) : '';
if (! empty ( $sidKey ) && ! empty ( $telephone ) && ! empty ( $qq ) && ! empty ( $wecat ) && ! empty ( $phone ) && ! empty ( $email ) && ! empty ( $gender ) && ! empty ( $birthday ) && ! empty ( $qualifications ) && ! empty ( $marriage ) && ! empty ( $nativePlace ) && ! empty ( $emergencyContacts ) && ! empty ( $living )) {
Doo::loadClass ( 'XDeode' );
$XDeode = new XDeode ( 5 );
Doo::loadModel ( 'staff' );
$staff = new staff ();
$sid = $XDeode->decode ( $sidKey );
$item = array (
'sid' => $sid,
'qq' => $qq,
'wecat' => $wecat,
'phone' => $phone,
'email' => $email,
'gender' => $gender,
'birthday' => $birthday,
'qualifications' => $qualifications,
'marriage' => $marriage,
'nativePlace' => $nativePlace,
'emergencyContacts' => $emergencyContacts,
'living' => $living,
// 状态改成入职申请
'pendStatus' => 2
);
$staff->setStaffByCondition ( $item );
// 操作日志
Doo::loadModel ( 'staffOperationLog' );
$staffOperationLog = new staffOperationLog ();
$item = array (
'date' => date ( "Y-m-d H:i:s" ),
'status' => 3,
'img' => $this->staf ['avatar'],
'username' => $this->staf ['username'],
'operation' => "申请入职",
'uid' => $this->staf ['sid'],
'category' => $this->staf ['category']
);
$staffOperationLog->setInvoiceOperationLog ( $item );
return '/login';
}
die ( 'illegal request' );
}
/**
* 申请离职
*/
function appliedDimission() {
$dimissionReason = $this->get_args ( 'dimissionReason' ) ? $this->get_args ( 'dimissionReason' ) : '';
if (empty ( $dimissionReason ))
die ( 'illegal request' );
Doo::loadModel ( 'staff' );
$staff = new staff ();
Doo::loadModel ( 'staffLeaveManage' );
$staffLeaveManage = new staffLeaveManage ();
$item = array (
'sid' => $this->staff ['sid'],
'dimissionReason' => $dimissionReason,
// 状态改成离职申请
'pendStatus' => 3
);
$staff->setStaffByCondition ( $item );
// 操作日志
Doo::loadModel ( 'staffOperationLog' );
$staffOperationLog = new staffOperationLog ();
$item = array (
'date' => date ( "Y-m-d H:i:s" ),
'status' => 3,
'img' => $this->staff ['avatar'],
'username' => $this->staff ['username'],
'operation' => "申请离职",
'uid' => $this->staff ['sid'],
'category' => $this->staff ['category']
);
$staffOperationLog->setInvoiceOperationLog ( $item );
// 离职审批组
// 获得审批组KEY
$staff = new staff ();
$cidMode = $this->staff ['cid'];
if (! empty ( $this->staff ['departmentID'] ))
$cidMode = $this->staff ['cid'] . '_' . $this->staff ['departmentID'];
$staffManageDetail = $staffLeaveManage->getStaffManageByCid ( $cidMode );
if (empty ( $staffManageDetail ))
die ( 'illegal request' );
$pendingApprovalsSid = current ( $staffManageDetail ['staffList'] ) [0];
$staff->pendingApprovalsLeave = $pendingApprovalsSid;
$staff->staffManageLeave = $staffManageDetail ['staff'];
$staff->sid = $this->staff ['sid'];
// 抄送组
$staff->processLeaveCC = $staffManageDetail ['CC'];
$staff->update ();
return '/settingEmployeeInfo';
}
/**
* 确认离职
*/
function employeeDismiss() {
$sidKey = $this->get_args ( 'sidKey' ) ? $this->get_args ( 'sidKey' ) : "";
if (! empty ( $sidKey )) {
Doo::loadClass ( 'XDeode' );
$XDeode = new XDeode ( 5 );
Doo::loadModel ( 'staff' );
$staff = new staff ();
$sid = $XDeode->decode ( $sidKey );
$detail = $staff->getStaffBySid ( $sid );
if (empty ( $detail ))
die ( 'illegal request' );
//工龄记录
$seniorityFormula=json_decode($detail['seniorityFormula']);
$arr = array_keys($seniorityFormula);
$key=end($arr);
if (empty($seniorityFormula[$key]['dimissionDate']))
$seniorityFormula[$key]['dimissionDate']=date ( "Y-m-d H:i:s" );
else
die ( 'illegal request' );
$staff->seniorityFormula = json_encode ( $seniorityFormula );
$item = array (
'sid' => $sid,
'nature' => 4,
'pendStatus' => 4,
'seniorityFormula'=>json_encode($seniorityFormula),
'dimissionDate' => date ( "Y-m-d H:i:s" )
);
$staff->setStaffByCondition ( $item );
return '/hrEmployee';
}
die ( 'illegal request' );
}
/**
* 确认在入职
*/
function employeeReentry() {
$sidKey = $this->get_args ( 'sidKey' ) ? $this->get_args ( 'sidKey' ) : "";
if (! empty ( $sidKey )) {
Doo::loadClass ( 'XDeode' );
$XDeode = new XDeode ( 5 );
Doo::loadModel ( 'staff' );
$staff = new staff ();
$sid = $XDeode->decode ( $sidKey );
$detail = $staff->getStaffBySid ( $sid );
if (empty ( $detail ))
die ( 'illegal request' );
//工龄记录
$seniorityFormula=json_decode($detail['seniorityFormula']);
array_push ( $seniorityFormula, array (
'InductionDate' => date ( "Y-m-d H:i:s" ) ,
'dimissionDate' => ''
) );
$item = array (
'sid' => $sid,
'nature' => 1,
'pendStatus' => 0,
'seniorityFormula'=>json_encode($seniorityFormula),
'hiredate' => date ( "Y-m-d H:i:s" )
);
$staff->setStaffByCondition ( $item );
// 更新假期相关信息
Doo::loadModel ( 'holidaystaff' );
$holidaystaff = new HStaff ();
$holidaystaff->delete ( array (
'where' => 'uid=' . $sid
) );
$holidaystaff = new HStaff ();
$holidaystaff->uid = $sid;
$holidaystaff->insert ();
$staff = new staff ();
$staffmsg = $staff->getUserById ( $sid );
$this->updateAnnualLeave ( $staffmsg [0] );
return '/hrEmployee';
}
die ( 'illegal request' );
}
/**
* 员工审批流程
*/
function employeeApprovals() {
Doo::loadModel ( 'staff' );
$staff = new staff ();
Doo::loadModel ( 'L_category' );
$L_category = new L_category ();
Doo::loadModel ( 'staffManage' );
$staffManage = new staffManage ();
// 获得办事和部门
$categoryList = $L_category->getCategoryDepartment ();
$staffManageList = $staffManage->find ( array (
'asArray' => true
) );
foreach ( $staffManageList as $key => $value ) {
// 审批人员
$name = json_decode ( $value ['staff'] );
$employeeApprovals = array ();
if (count ( $name ) != 0) {
foreach ( $name as $ve ) {
array_push ( $employeeApprovals, $ve [1] );
}
}
$employeeApprovals = implode ( '->', $employeeApprovals );
// 抄送人员
$name = json_decode ( $value ['CC'] );
$CC = array ();
if (count ( $name ) != 0) {
foreach ( $name as $ve ) {
array_push ( $CC, $ve [1] );
}
}
$CC = implode ( ' ', $CC );
foreach ( $categoryList as $k => $v ) {
$cid = $v ['cid'];
if (isset ( $v ['did'] ))
$cid .= '_' . $v ['did'];
if ($cid == $value ['cid']) { // echo $cid.'//';echo $value['cid'].'
';
$categoryList [$k] ['employeeApprovals'] = $employeeApprovals;
$categoryList [$k] ['CC'] = $CC;
break;
}
}
}
foreach ( $categoryList as $key => $value ) {
if (! isset ( $value ['employeeApprovals'] ))
$categoryList [$key] ['employeeApprovals'] = '';
if (! isset ( $value ['CC'] ))
$categoryList [$key] ['CC'] = '';
}
// print_r($categoryList);
$stafflist = $staff->getStaff ( true );
$this->data ['categoryList'] = $categoryList;
$this->data ['staffList'] = $stafflist;
$this->data ['memu'] = "HumanResource";
$this->data ['hrMemu'] = "employeeApprovals";
$this->render ( "/humanResource/employeeApprovals", $this->data );
}
/**
* 添加员工审批人员
*/
function employeeApprovalsAdd() {
$cidKey = $this->get_args ( 'cidKey' ) ? $this->get_args ( 'cidKey' ) : "";
$uidlist = $this->get_args ( 'uidlist' ) ? $this->get_args ( 'uidlist' ) : "";
$uidlist = explode ( ",", $uidlist );
if (! empty ( $cidKey ) && ! empty ( $uidlist )) {
Doo::loadModel ( "staffManage" );
$staffManage = new staffManage ();
Doo::loadClass ( 'XDeode' );
$XDeode = new XDeode ( 5 );
// 获得抄送内容
$approvalKey = explode ( '_', $cidKey );
$cidMode = array ();
foreach ( $approvalKey as $value ) {
$cid = $XDeode->decode ( $value );
array_push ( $cidMode, $cid );
}
$cidMode = implode ( '_', $cidMode );
// echo $cidMode;die;
$staffManageInfo = $staffManage->getOne ( array (
'where' => 'cid ="' . $cidMode . '" ',
'asArray' => true
) );
// 审批人员
$list = array ();
foreach ( $uidlist as $key => $value ) {
$info = explode ( ":", $value );
array_push ( $list, $info );
}
if (empty ( $staffManageInfo )) {
$staffManage = new staffManage ();
$staffManage->cid = $cidMode;
$staffManage->staff = json_encode ( $list );
$staffManage->insert ();
} else {
$staffManage = new staffManage ();
$staffManage->staff = json_encode ( $list );
$staffManage->update ( array (
'where' => 'icid = ' . $staffManageInfo ['icid']
) );
}
return '/employeeApprovals';
}
die ( 'illegal request' );
}
/**
* 添加抄送员工,微信通知
*/
function employeeCCAdd() {
$cidKey = $this->get_args ( 'cidKey' ) ? $this->get_args ( 'cidKey' ) : "";
$staff = $this->get_args ( 'staff' ) ? $this->get_args ( 'staff' ) : "";
if (! empty ( $cidKey ) && ! empty ( $staff )) {
Doo::loadModel ( "staffManage" );
$staffManage = new staffManage ();
Doo::loadClass ( 'XDeode' );
$XDeode = new XDeode ( 5 );
// 获得抄送内容
$approvalKey = explode ( '_', $cidKey );
$cidMode = array ();
foreach ( $approvalKey as $value ) {
$cid = $XDeode->decode ( $value );
array_push ( $cidMode, $cid );
}
$cidMode = implode ( '_', $cidMode );
$staffManageInfo = $staffManage->getOne ( array (
'where' => 'cid ="' . $cidMode . '" ',
'asArray' => true
) );
$list = array ();
foreach ( $staff as $key => $value ) {
$info = explode ( ":", $value );
array_push ( $list, $info );
}
if (empty ( $staffManageInfo )) {
$staffManage = new staffManage ();
$staffManage->cid = $cidMode;
$staffManage->CC = json_encode ( $list );
$staffManage->insert ();
} else {
$staffManage = new staffManage ();
$staffManage->CC = json_encode ( $list );
$staffManage->update ( array (
'where' => 'icid = ' . $staffManageInfo ['icid']
) );
}
return '/employeeApprovals';
}
die ( 'illegal request' );
}
/**
* 离职审批流程设置
*/
function leaveOfficeApprovals() {
Doo::loadModel ( 'staff' );
$staff = new staff ();
Doo::loadModel ( 'L_category' );
$L_category = new L_category ();
Doo::loadModel ( 'staffLeaveManage' );
$staffManage = new staffLeaveManage ();
// 获得办事和部门
$categoryList = $L_category->getCategoryDepartment ();
$staffManageList = $staffManage->find ( array (
'asArray' => true
) );
foreach ( $staffManageList as $key => $value ) {
// 审批人员
$name = json_decode ( $value ['staff'] );
$employeeApprovals = array ();
if (count ( $name ) != 0) {
foreach ( $name as $ve ) {
array_push ( $employeeApprovals, $ve [1] );
}
}
$employeeApprovals = implode ( '->', $employeeApprovals );
// 抄送人员
$name = json_decode ( $value ['CC'] );
$CC = array ();
if (count ( $name ) != 0) {
foreach ( $name as $ve ) {
array_push ( $CC, $ve [1] );
}
}
$CC = implode ( ' ', $CC );
foreach ( $categoryList as $k => $v ) {
$cid = $v ['cid'];
if (isset ( $v ['did'] ))
$cid .= '_' . $v ['did'];
if ($cid == $value ['cid']) { // echo $cid.'//';echo $value['cid'].'
';
$categoryList [$k] ['employeeApprovals'] = $employeeApprovals;
$categoryList [$k] ['CC'] = $CC;
break;
}
}
}
foreach ( $categoryList as $key => $value ) {
if (! isset ( $value ['employeeApprovals'] ))
$categoryList [$key] ['employeeApprovals'] = '';
if (! isset ( $value ['CC'] ))
$categoryList [$key] ['CC'] = '';
}
// print_r($categoryList);
$stafflist = $staff->getStaff ( true );
$this->data ['categoryList'] = $categoryList;
$this->data ['staffList'] = $stafflist;
$this->data ['memu'] = "HumanResource";
$this->data ['hrMemu'] = "employeeApprovals";
$this->render ( "/humanResource/leaveOfficeApprovals", $this->data );
}
/**
* 添加员工审批人员
*/
function employeeleaveApprovalsAdd() {
$cidKey = $this->get_args ( 'cidKey' ) ? $this->get_args ( 'cidKey' ) : "";
$uidlist = $this->get_args ( 'uidlist' ) ? $this->get_args ( 'uidlist' ) : "";
$uidlist = explode ( ",", $uidlist );
if (! empty ( $cidKey ) && ! empty ( $uidlist )) {
Doo::loadModel ( "staffLeaveManage" );
$staffManage = new staffLeaveManage ();
Doo::loadClass ( 'XDeode' );
$XDeode = new XDeode ( 5 );
// 获得抄送内容
$approvalKey = explode ( '_', $cidKey );
$cidMode = array ();
foreach ( $approvalKey as $value ) {
$cid = $XDeode->decode ( $value );
array_push ( $cidMode, $cid );
}
$cidMode = implode ( '_', $cidMode );
// echo $cidMode;die;
$staffManageInfo = $staffManage->getOne ( array (
'where' => 'cid ="' . $cidMode . '" ',
'asArray' => true
) );
// 审批人员
$list = array ();
foreach ( $uidlist as $key => $value ) {
$info = explode ( ":", $value );
array_push ( $list, $info );
}
if (empty ( $staffManageInfo )) {
$staffManage = new staffLeaveManage ();
$staffManage->cid = $cidMode;
$staffManage->staff = json_encode ( $list );
$staffManage->insert ();
} else {
$staffManage = new staffLeaveManage ();
$staffManage->staff = json_encode ( $list );
$staffManage->update ( array (
'where' => 'icid = ' . $staffManageInfo ['icid']
) );
}
return '/leaveOfficeApprovals';
}
die ( 'illegal request' );
}
/**
* 添加抄送员工,微信通知
*/
function employeeleaveCCAdd() {
$cidKey = $this->get_args ( 'cidKey' ) ? $this->get_args ( 'cidKey' ) : "";
$staff = $this->get_args ( 'staff' ) ? $this->get_args ( 'staff' ) : "";
if (! empty ( $cidKey ) && ! empty ( $staff )) {
Doo::loadModel ( "staffLeaveManage" );
$staffManage = new staffLeaveManage ();
Doo::loadClass ( 'XDeode' );
$XDeode = new XDeode ( 5 );
// 获得抄送内容
$approvalKey = explode ( '_', $cidKey );
$cidMode = array ();
foreach ( $approvalKey as $value ) {
$cid = $XDeode->decode ( $value );
array_push ( $cidMode, $cid );
}
$cidMode = implode ( '_', $cidMode );
$staffManageInfo = $staffManage->getOne ( array (
'where' => 'cid ="' . $cidMode . '" ',
'asArray' => true
) );
$list = array ();
foreach ( $staff as $key => $value ) {
$info = explode ( ":", $value );
array_push ( $list, $info );
}
if (empty ( $staffManageInfo )) {
$staffManage = new staffLeaveManage ();
$staffManage->cid = $cidMode;
$staffManage->CC = json_encode ( $list );
$staffManage->insert ();
} else {
$staffManage = new staffLeaveManage ();
$staffManage->CC = json_encode ( $list );
$staffManage->update ( array (
'where' => 'icid = ' . $staffManageInfo ['icid']
) );
}
return '/leaveOfficeApprovals';
}
die ( 'illegal request' );
}
/**
* 获得员工信息(未编写html)
*/
function ajaxGetStaffInfoBySid() {
$serial = $this->get_args ( 'serial' ) ? $this->get_args ( 'serial' ) : "";
if (empty ( $serial )) {
echo json_encode ( array (
'status' => 2,
'msg' => 'illegal request'
) );
die ();
}
Doo::loadClass ( 'XDeode' );
$XDeode = new XDeode ( 5 );
Doo::loadModel ( 'staff' );
$staff = new staff ();
$sid = $XDeode->decode ( $serial );
$detail = $staff->getStaffBySid ( $sid );
echo json_encode ( array (
'status' => 1,
'detail' => $detail
) );
die ();
}
/**
* 获得员工信息
*/
function ajaxGetStaffInfoByType() {
$type = $this->get_args ( 'type' ) ? $this->get_args ( 'type' ) : "";
$serial = $this->get_args ( 'serial' ) ? $this->get_args ( 'serial' ) : "";
// $loss = $this->get_args ( 'loss' ) ? $this->get_args ( 'loss' ) : false;
if (empty ( $serial )) {
echo json_encode ( array (
'status' => 2,
'msg' => 'illegal request'
) );
die ();
}
Doo::loadClass ( 'XDeode' );
$XDeode = new XDeode ( 5 );
if ($type == 'STAFF') {
Doo::loadModel ( 'staff' );
$staff = new staff ();
$sid = $XDeode->decode ( $serial );
$detail = $staff->getStaffBySid ( $sid );
// $invoiceOperationLogList = $invoiceOperationLog->getInvoiceOperationLogByIid ( $detail ['iid'] );
if (empty ( $detail ))
$html = '';
else {
$html = '
工号 | ' . $detail ['jobNumber'] . ' |
姓名 | ' . $detail ['username'] . ' |
办事处/部门 | ' . $detail ['category'] . '/' . $detail ['department'] ['departmentName'] . ' |
岗位 | ' . $detail ['position'] . ' |
入职日期 | ' . $detail ['hiredate'] . ' |
手机 | ' . $detail ['telephone'] . ' |
QQ | ' . $detail ['qq'] . ' |
微信 | ' . $detail ['wecat'] . ' |
电话 | ' . $detail ['phone'] . ' |
邮箱 | ' . $detail ['email'] . ' |
性别 | ' . $detail ['gender'] . ' |
出生日期 | ' . $detail ['birthday'] . ' |
最高学历 | ' . $detail ['qualifications'] . ' |
婚姻状况 | ' . $detail ['marriage'] . ' |
籍贯 | ' . $detail ['nativePlace'] . ' |
现居住地址 | ' . $detail ['living'] . ' |
基本工资 | ' . $detail ['baseWage'] . ' |
岗位工资 | ' . $detail ['postWage'] . ' |
绩效奖金 | ' . $detail ['achievementBonus'] . ' |
| |
';
}
echo json_encode ( array (
'status' => 1,
'sidKey' => $serial,
'html' => $html
) );
die ();
} elseif ($type == 'EMPLOYEE') {
Doo::loadModel ( 'staff' );
$staff = new staff ();
Doo::loadModel ( 'L_category' );
$L_category = new L_category ();
Doo::loadModel ( 'staffOperationLog' );
$staffOperationLog = new staffOperationLog ();
// 获得办事和部门
$categoryList = $L_category->getCategoryDepartment ();
$sid = $XDeode->decode ( $serial );
$detail = $staff->getStaffBySid ( $sid );
// 获得操作日志
$SOPL = $staffOperationLog->getInvoiceOperationLogByUid ( $sid, 'desc' );
if (empty ( $detail ))
$html = '';
else {
$html = '
';
foreach ( $SOPL as $key => $value ) {
$html .= '
' . date ( 'm', strtotime ( $value ['date'] ) ) . '-' . date ( 'd', strtotime ( $value ['date'] ) ) . '
' . date ( 'Y', strtotime ( $value ['date'] ) ) . '
- ' . $value ['category'] . '-' . $value ['username'] . '
- ' . $value ['operation'] . '
';
}
$html .= '
';
}
echo json_encode ( array (
'status' => 1,
'sidKey' => $serial,
'html' => $html
) );
die ();
} elseif ($type == 'IRTC') {
Doo::loadModel ( 'invoice' );
$invoice = new invoice ();
Doo::loadModel ( 'invoiceOperationLog' );
$invoiceOperationLog = new invoiceOperationLog ();
Doo::loadModel ( 'invoiceReceivables' );
$invoiceReceivables = new invoiceReceivables ();
$detail = $invoice->getInvoiceByIsid ( $serial, $this->staff [0] ['sid'] );
$invoiceOperationLogList = $invoiceOperationLog->getInvoiceOperationLogByIid ( $detail ['iid'] );
if (empty ( $detail ))
$html = '';
else {
$receivablesPriceedHtml = '';
$receivablesPrice = $detail ['invoicePrice'];
if (! empty ( $detail ['irid'] )) {
$irList = $invoiceReceivables->getInvoiceReceivablesInIridString ( $detail ['irid'] );
if (empty ( $irList ))
$irList [0] ['sumPrice'] = 0;
$balance = $detail ['invoicePrice'] - $irList [0] ['sumPrice'];
$receivablesPriceedHtml = '
已入账金额 | ¥' . $irList [0] ['sumPrice'] . ' |
剩余入账金额 | ¥' . $balance . ' |
';
$receivablesPrice = $balance;
}
if ($loss)
$detail ['invoicePrice'] = - $detail ['invoicePrice'];
$html = $receivablesPriceedHtml . '
开票流水号 | ' . $detail ['invoiceSerial'] . ' |
提交时间 | ' . $detail ['date'] . ' |
所在办事处 | ' . $detail ['categoryName'] . '(' . $detail ['userName'] . ') |
开票内容 | ' . $detail ['invoiceElement'] . ' |
发票备注 | ' . $detail ['remark'] . ' |
数量 | ' . $detail ['invoiceQuantity'] . ' |
单价 | ¥' . $detail ['invoiceUnitPrice'] . ' |
开票金额 | ¥' . $detail ['invoicePrice'] . ' |
';
if ($detail ['invoiceType'] == 0) {
$html .= '
增值税普通发票 |
---|
发票抬头 | ' . $detail ['invoiceTitle'] . ' |
纳税人识别码 | ' . $detail ['TIN'] . ' |
';
$receivablesMessage = $detail ['invoiceTitle'];
} else {
$html .= '
增值税专用发票 |
---|
单位名称 | ' . $detail ['invoiceCompany'] . ' |
纳税人识别码 | ' . $detail ['TIN'] . ' |
';
$receivablesMessage = $detail ['invoiceCompany'];
}
$html .= '
注册地址 | ' . $detail ['address'] . ' |
注册电话 | ' . $detail ['phone'] . ' |
开户银行 | ' . $detail ['bankAccount'] . ' |
银行账号 | ' . $detail ['bank'] . ' |
';
if ($detail ['doPost'] == 1)
$html .= '邮寄信息 |
---|
收件人 | ' . $detail ['recipients'] . ' |
收件人手机/电话 | ' . $detail ['recipientsPhone'] . ' |
收件地址 | ' . $detail ['recipientsAddress'] . ' |
邮寄物品 | ' . $detail ['mailItems'] . ' |
';
if (! empty ( $invoiceOperationLogList )) {
$html .= '审批流程 |
---|
';
foreach ( $invoiceOperationLogList as $key => $value ) {
if ($value ['status'] == 1 || $value ['status'] == 2 || $value ['status'] == 3 || $value ['status'] == 4) {
$html .= '' . $value ['date'] . '
' . $value ['category'] . '-' . $value ['username'] . ' ';
if ($value ['status'] == 2) {
$html .= '同意';
} elseif ($value ['status'] == 3) {
$html .= '退回';
} elseif ($value ['status'] == 5) {
$html .= '打印';
}
$html .= $value ['operation'] . ' ';
}
}
$html .= ' |
';
}
}
echo json_encode ( array (
'status' => 1,
'html' => $html,
'receivablesPrice' => $receivablesPrice,
'receivablesMessage' => $receivablesMessage,
'receivablesDate' => date ( "Y-m-d" ),
'iidKey' => $serial
) );
die ();
}
}
/**
* 生成工号
*/
function createJobNumber() {
Doo::loadModel ( 'staff' );
$staff = new staff ();
$regularStaff = $staff->getStaffJobNumberByNature ( 1 );
$internStaff = $staff->getStaffJobNumberByNature ( 2 );
if (empty ( $regularStaff ['jobNumber'] ))
$regularStaffJobNumber = 'Z0001';
else {
$jobNumber = preg_replace ( '/[^\.0123456789]/s', '', $regularStaff ['jobNumber'] );
$regularStaffJobNumber = 'Z' . sprintf ( "%04d", $jobNumber + 1 );
}
$internStaffJobNumber = $internStaff ['jobNumber'];
if (empty ( $internStaff ['jobNumber'] ))
$internStaffJobNumber = 'C0001';
else {
$jobNumber = preg_replace ( '/[^\.0123456789]/s', '', $internStaff ['jobNumber'] );
$internStaffJobNumber = 'C' . sprintf ( "%04d", $jobNumber + 1 );
}
$list = array (
'regularStaff' => $regularStaffJobNumber,
'internStaff' => $internStaffJobNumber
);
return $list;
}
/**
* 获取get或者POST值
*
* @param string $name 属性名称
* @return fixed 值
*/
function get_args($name) {
if (isset ( $_GET [$name] )) {
if (is_array ( $_GET [$name] ))
return $_GET [$name];
else
return addslashes ( $_GET [$name] );
} elseif (isset ( $_POST [$name] )) {
if (is_array ( $_POST [$name] ))
return $_POST [$name];
else
return addslashes ( $_POST [$name] );
} else
return false;
}
// 检查年假是否过期并更新年假
private function updateAnnualLeave($staff) {
Doo::loadModel ( 'holidaystaff' );
$hstaff = new HStaff ();
$hstaffmsg = $hstaff->getOne ( array (
'where' => 'uid=' . $staff ['sid'],
'asArray' => TRUE
) );
$hiredate = $staff ['hiredate'];
$hadyear = intval ( (time () - strtotime ( $hiredate )) / (86400 * 365) );
if ($hadyear != $hstaffmsg ['hadyear']) {
$hstaff->uid = $staff ['sid'];
$hstaff->hadyear = $hadyear;
$hstaff->yearnum = $hadyear == 0 ? 0 : (($hadyear < 10 && $hadyear >= 1) ? 5 : (($hadyear >= 10 && $hadyear < 20) ? 10 : 15));
$hstaff->update ();
}
}
}
?>