data ['exempt'] = false; Doo::loadModel ( 'staff' ); $staff = new staff (); $detail = $staff->getStaffBySid ( $_COOKIE ["staff"] ); // 拥有豁免权限 if ($action == 'appliedEntry' || $action == 'appliedDimission' || $action == 'appliedRegular'|| $action == 'reentryApprovals' || $detail ['sid'] == superHR) { return ''; } // 全员权限判定 $accessModular = 'HR'; if (empty ( $detail ['cldAccessArray'] )) { $flag = false; } else { if (in_array ( $accessModular, $detail ['cldAccessArray'] )) { if (Doo::acl ()->isAllowed ( $accessModular, $resource, $action )) { $flag = true; } else { $flag = false; } } else { $flag = false; } } // 个别审批人临时访问首页权限 if (! $flag) { $list = $staff->getApprovalData ( $detail ['sid'] ); // $staff->find ( array ( // 'asc' => 'sid', // 'where' => "(pendStatus= '2' or pendStatus='3' or pendStatus='5') and ( pendingApprovalsLeave='" . $detail ['sid'] . "' or pendingApprovals='" . $detail ['sid'] . "') ", // 'asArray' => TRUE // ) ); $isVisit = count ( $list ); if ($isVisit > 0) { // 未做强制不能访问 if ($action == 'hrEmployee' || $action == 'position' || $action == 'employeeApprovals') { die ( 'illegal request1' ); } $this->data ['exempt'] = true; return ''; } else die ( 'illegal request2' ); } } function __construct() { if (isset ( $_COOKIE ["staff"] )) { if (! empty ( $_COOKIE ["staff"] )) { Doo::loadModel ( 'staff' ); $staff = new staff (); $this->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 (); $staffProcessing = $staff->getStaffByProcessing ($this->staff ['sid'] ); // print_r($staffList); $this->data ['staffProcessing'] = $staffProcessing; $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->cldAccess='["INFORMATION","DIRECTORIES","LOCK","RECEIPTS","INVOICE"]'; if ($staffDetail ['nature'] == 2) $staff->practiceDate = date ( "Y-m-d H:i:s" ); if ($staffDetail ['nature'] == 3) $staff->probationaryDate = date ( "Y-m-d H:i:s" ); // 发送短信 $passwork = mt_rand ( 100000, 999999 ); $staff->passwork = md5 ( $passwork ); if (! empty ( $staffDetail ['telephone'] ) && is_numeric ( $staffDetail ['telephone'] )) { Doo::loadClass ( 'Human.func' ); $msg = $staffDetail ['username'] . ',' . $passwork; send_sms ( 17280, $staffDetail ['telephone'], '{"%msg%":"' . $msg . '"}' ); } // 操作日志 Doo::loadModel ( 'staffOperationLog' ); $staffOperationLog = new staffOperationLog (); $nature = ''; if ($staffDetail ['nature'] == 2) { $nature = '实习'; } elseif ($staffDetail ['nature'] == 3) { $nature = '试用'; } $item = array ( 'date' => date ( "Y-m-d H:i:s" ), 'operation' => "员工 入职审批通过", 'status' => 3, 'img' => $this->staff ['avatar'], 'username' => $this->staff ['username'], 'uid' => $staffDetail ['sid'], 'category' => $this->staff ['category'], 'sid' => $this->staff ['sid'] ); $staffOperationLog->setInvoiceOperationLog ( $item ); // 发送微信抄送 $msg = '[抄送]' . $staffDetail ['category'] . '-' . $staffDetail ['username'] . '申请入职成功\n入职时间:' . $staffDetail ['hiredate']; $cidmode = $staffDetail ['cid']; if (! empty ( $staffDetail ['departmentID'] )) $cidmode = $staffDetail ['cid'] . '-' . $staffDetail ['departmentID']; $InductionCC = $staffManage->getStaffManageByCid ( $cidmode ); $InductionCC = json_decode ( $InductionCC ['CC'], true ); foreach ( $InductionCC as $value ) { $this->setWXMsg ( $value [0], $msg ); } } $staff->updateDate = date ( "Y-m-d H:i:s" ); $staff->update ( array ( 'where' => 'sid=' . $sid ) ); // 权限跳转 $staff = new staff (); $CAAdetail = $staff->getStaffBySid ( $_COOKIE ["staff"] ); $accessModular = 'HR'; if (in_array ( $accessModular, $CAAdetail ['cldAccessArray'] )) { return '/hr'; } else { $list = $staff->getApprovalData ( $CAAdetail ['sid'] ); $isVisit = count ( $list ); if ($isVisit > 0) { // 未做强制不能访问 return '/hr'; } else { header ( 'Content-Type:text/html;charset=utf-8' ); echo "审批成功 点击跳转首页"; die (); } } } /** * 员工再入职审批 */ function employeeReentryApprovals() { Doo::loadModel ( 'staff' ); $staff = new staff (); Doo::loadClass ( 'XDeode' ); $XDeode = new XDeode ( 5 ); Doo::loadModel ( 'reentryManage' ); $staffManage = new reentryManage (); $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=7 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 )) { // 确认再入职 // Doo::loadClass ( 'XDeode' ); // $XDeode = new XDeode ( 5 ); // Doo::loadModel ( 'staff' ); // $staff = new staff (); // $sid = $XDeode->decode ( $sidKey ); // $detail = $staff->getStaffBySid ( $sid ); $staffDetail; $staff2 = new staff (); // 工龄记录 $seniorityFormula = json_decode ( $staffDetail ['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" ) , 'cldAccess'=>'["INFORMATION","DIRECTORIES","LOCK","RECEIPTS","INVOICE"]', ); $staff2->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] ); // 发送短信 $passwork = mt_rand ( 100000, 999999 ); $staff->passwork = md5 ( $passwork ); if (! empty ( $staffDetail ['telephone'] ) && is_numeric ( $staffDetail ['telephone'] )) { Doo::loadClass ( 'Human.func' ); $msg = $staffDetail ['username'] . ',' . $passwork; send_sms ( 17280, $staffDetail ['telephone'], '{"%msg%":"' . $msg . '"}' ); } // 操作日志 Doo::loadModel ( 'staffOperationLog' ); $staffOperationLog = new staffOperationLog (); $item = array ( 'date' => date ( "Y-m-d H:i:s" ), 'operation' => "员工 再入职审批通过", 'status' => 3, 'img' => $this->staff ['avatar'], 'username' => $this->staff ['username'], 'uid' => $staffDetail ['sid'], 'category' => $this->staff ['category'], 'sid' => $this->staff ['sid'] ); $staffOperationLog->setInvoiceOperationLog ( $item ); // 发送微信抄送 $msg = '[抄送]' . $staffDetail ['category'] . '-' . $staffDetail ['username'] . '申请 再入职成功\n入职时间:' . date ( "Y-m-d" ); $cidmode = $staffDetail ['cid']; if (! empty ( $staffDetail ['departmentID'] )) $cidmode = $staffDetail ['cid'] . '-' . $staffDetail ['departmentID']; $InductionCC = $staffManage->getStaffManageByCid ( $cidmode ); $InductionCC = json_decode ( $InductionCC ['CC'], true ); foreach ( $InductionCC as $value ) { $this->setWXMsg ( $value [0], $msg ); } } $staff->updateDate = date ( "Y-m-d H:i:s" ); $staff->update ( array ( 'where' => 'sid=' . $sid ) ); // 权限跳转 $staff = new staff (); $CAAdetail = $staff->getStaffBySid ( $_COOKIE ["staff"] ); $accessModular = 'HR'; if (in_array ( $accessModular, $CAAdetail ['cldAccessArray'] )) { return '/hr'; } else { $list = $staff->getApprovalData ( $CAAdetail ['sid'] ); $isVisit = count ( $list ); if ($isVisit > 0) { // 未做强制不能访问 return '/hr'; } else { header ( 'Content-Type:text/html;charset=utf-8' ); echo "审批成功 点击跳转首页"; die (); } } } /** * 离职人员审批 */ 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->nature=4;//离职后需要在人员页面确认离职不用在这改状态 // $staff->dimissionDate = date ( "Y-m-d" ); $staff->pendingApprovalsLeave = 0; // 操作日志 Doo::loadModel ( 'staffOperationLog' ); $staffOperationLog = new staffOperationLog (); $item = array ( 'date' => date ( "Y-m-d H:i:s" ), 'operation' => "员工 离职审批通过", 'status' => 2, 'img' => $this->staff ['avatar'], 'username' => $this->staff ['username'], 'uid' => $staffDetail ['sid'], 'category' => $this->staff ['category'], 'sid' => $this->staff ['sid'] ); $staffOperationLog->setInvoiceOperationLog ( $item ); } $staff->updateDate = date ( "Y-m-d H:i:s" ); $staff->update ( array ( 'where' => 'sid=' . $sid ) ); // 权限跳转 $staff = new staff (); $CAAdetail = $staff->getStaffBySid ( $_COOKIE ["staff"] ); $accessModular = 'HR'; if (in_array ( $accessModular, $CAAdetail ['cldAccessArray'] )) { return '/hr'; } else { $list = $staff->getApprovalData ( $CAAdetail ['sid'] ); $isVisit = count ( $list ); if ($isVisit > 0) { // 未做强制不能访问 return '/hr'; } else { header ( 'Content-Type:text/html;charset=utf-8' ); echo "审批成功 点击跳转首页"; die (); } } } /** * 转正审批 */ function employeeRegularApprovals() { Doo::loadModel ( 'staff' ); $staff = new staff (); Doo::loadClass ( 'XDeode' ); $XDeode = new XDeode ( 5 ); Doo::loadModel ( 'staffRegularManage' ); $staffLeaveManage = new staffRegularManage (); $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=5 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 = 0; $staff->nature = 1; // 工号 // 生成工号 $jobNumber = $this->createJobNumber (); $staff->jobNumber = $jobNumber ['regularStaff']; // $staff->dimissionDate = date ( "Y-m-d" ); $staff->pendingApprovalsLeave = 0; // 操作日志 Doo::loadModel ( 'staffOperationLog' ); $staffOperationLog = new staffOperationLog (); $item = array ( 'date' => date ( "Y-m-d H:i:s" ), 'operation' => "员工 转正审批通过", 'status' => 2, 'img' => $this->staff ['avatar'], 'username' => $this->staff ['username'], 'uid' => $staffDetail ['sid'], 'category' => $this->staff ['category'], 'sid' => $this->staff ['sid'] ); $staffOperationLog->setInvoiceOperationLog ( $item ); } $staff->updateDate = date ( "Y-m-d H:i:s" ); $staff->update ( array ( 'where' => 'sid=' . $sid ) ); // 权限跳转 $staff = new staff (); $CAAdetail = $staff->getStaffBySid ( $_COOKIE ["staff"] ); $accessModular = 'HR'; if (in_array ( $accessModular, $CAAdetail ['cldAccessArray'] )) { return '/hr'; } else { $list = $staff->getApprovalData ( $CAAdetail ['sid'] ); $isVisit = count ( $list ); if ($isVisit > 0) { // 未做强制不能访问 return '/hr'; } else { header ( 'Content-Type:text/html;charset=utf-8' ); echo "审批成功 点击跳转首页"; die (); } } } /** * 员工晋升审批 */ function employeePromoteApprovals() { 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=6 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 ); } $appliedPromote = $staffDetail ['appliedPromote']; $appliedPromote = explode ( '_', $appliedPromote ); if (count ( $processApprovals ) == count ( $invoiceManage )) { $staff->pendStatus = 0; $staff->pendingApprovalsLeave = 0; // 岗位薪资调整 $appliedPromote [4]; $staff->baseWage = $appliedPromote [2]; $staff->postWage = $appliedPromote [3]; $staff->achievementBonus = $appliedPromote [4]; $staff->positionId = $XDeode->decode ( $appliedPromote [0] ); // 发送微信抄送 $msg = '[抄送]' . $staffDetail ['category'] . '-' . $staffDetail ['username'] . '申请晋升成功\n晋升时间:' . date ( "Y-m-d" ); $cidmode = $staffDetail ['cid']; if (! empty ( $staffDetail ['departmentID'] )) $cidmode = $staffDetail ['cid'] . '-' . $staffDetail ['departmentID']; $InductionCC = $staffManage->getStaffManageByCid ( $cidmode ); $InductionCC = json_decode ( $InductionCC ['CC'], true ); foreach ( $InductionCC as $value ) { $this->setWXMsg ( $value [0], $msg ); } // 操作日志 Doo::loadModel ( 'staffOperationLog' ); $staffOperationLog = new staffOperationLog (); $nature = $appliedPromote [1]; $item = array ( 'date' => date ( "Y-m-d H:i:s" ), 'operation' => "员工 晋升审批通过", 'status' => 3, 'img' => $this->staff ['avatar'], 'username' => $this->staff ['username'], 'uid' => $staffDetail ['sid'], 'category' => $this->staff ['category'], 'sid' => $this->staff ['sid'] ); $staffOperationLog->setInvoiceOperationLog ( $item ); } $staff->updateDate = date ( "Y-m-d H:i:s" ); $staff->update ( array ( 'where' => 'sid=' . $sid ) ); // 权限跳转 $staff = new staff (); $CAAdetail = $staff->getStaffBySid ( $_COOKIE ["staff"] ); $accessModular = 'HR'; if (in_array ( $accessModular, $CAAdetail ['cldAccessArray'] )) { return '/hr'; } else { $list = $staff->getApprovalData ( $CAAdetail ['sid'] ); $isVisit = count ( $list ); if ($isVisit > 0) { // 未做强制不能访问 return '/hr'; } else { header ( 'Content-Type:text/html;charset=utf-8' ); echo "审批成功 点击跳转首页"; die (); } } } /** * 员工信息 */ function hrEmployee() { // $passwork=mt_rand(100000, 999999); // //$staff->passwork = md5 ( $passwork ); // $staffDetail['telephone']='13750039378'; // $staffDetail['username']='欧桃珍'; // if (!empty($staffDetail['telephone'])&&is_numeric($staffDetail['telephone'])){ // Doo::loadClass ( 'Human.func' ); // $msg=$staffDetail['username'].','.$passwork; // send_sms(17280,$staffDetail['telephone'],'{"%msg%":"'.$msg.'"}'); // } $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' ) : ''; // $this->send_sms(); Doo::loadClass ( 'XDeode' ); $XDeode = new XDeode ( 5 ); $con = ' username != "admin" '; if ($pendStatus == 'ALL') $con .= ' '; 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=3'; elseif ($nature == 'PRACTICE') $con .= ' and nature=2'; 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 . '%" )'; // echo $con; Doo::loadModel ( 'staff' ); $staff = new staff (); Doo::loadModel ( 'L_category' ); $L_category = new L_category (); Doo::loadModel ( 'position' ); $position = new position (); $stafflist = $staff->getStaffByCondition ( $con ); // print_r($stafflist); /* * foreach ($stafflist as $key=>$value){ $staff = new staff (); $staff->sid=$value['sid']; $seniorityFormula = array (); array_push ( $seniorityFormula, array ( 'InductionDate' =>$value['hiredate'] , 'dimissionDate' => '' ) ); if (empty($value['seniorityFormula'])){ $staff->seniorityFormula = json_encode ( $seniorityFormula ); //$staff->update(); } } */ $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 (); // 获得岗位 $listPosition = $position->getPositionByAll (); $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 ['listPosition'] = $listPosition; $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; // print_r($stafflist[43]); $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 )) { 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 (); // 用户名检测 $detailStaff = $staff->getStaffByName ( $username ); // print_r($detailStaff); if (! empty ( $detailStaff )){header ( 'Content-Type:text/html;charset=utf-8' ); die ( 'illegal request-username-用户名重复' ); } $staff->username = $username; $staff->hiredate = $hiredate; $staff->nature = $nature; $position = explode ( '_', $position ); $staff->position = $position [1]; $staff->positionId = $XDeode->decode ( $position [0] ); $department = explode ( '_', $cid_did ); $cid = $XDeode->decode ( $department [0] ); // 加入默认总部分类 if (! is_numeric ( $cid )) die ( 'illegal request1' ); $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 request2' ); $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 (); // 更新假期相关信息 Doo::loadModel ( 'holidaystaff' ); $holidaystaff = new HStaff (); $holidaystaff->uid = $id; $holidaystaff->insert (); $staff = new staff (); $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 (); } // 操作日志 Doo::loadModel ( 'staffOperationLog' ); $staffOperationLog = new staffOperationLog (); $item = array ( 'date' => date ( "Y-m-d H:i:s" ), 'status' => 1, 'img' => '/global/img/avtra', 'username' => $this->staff ['username'], 'uid' => $id, 'sid' => $this->staff ['sid'], 'operation' => "添加新员工", 'category' => $this->staff ['category'] ); $staffOperationLog->setInvoiceOperationLog ( $item ); if (! empty ( $telephone ) && is_numeric ( $telephone )) { Doo::loadClass ( 'Human.func' ); send_sms ( 17279, $telephone, '{"%name%":"' . $username . '"}' ); } } return '/hrEmployee'; } /** * 员工转职 */ 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" ) ); // 发送微信抄送 Doo::loadModel ( 'staffRegularManage' ); $staffLeaveManage = new staffRegularManage (); $msg = '[抄送]' . $staffDetail ['category'] . '-' . $staffDetail ['username'] . '申请转正成功\n转正时间:' . date ( "Y-m-d" ); $cidmode = $staffDetail ['cid']; if (! empty ( $staffDetail ['departmentID'] )) $cidmode = $staffDetail ['cid'] . '-' . $staffDetail ['departmentID']; $InductionCC = $staffLeaveManage->getStaffManageByCid ( $cidmode ); $InductionCC = json_decode ( $InductionCC ['CC'], true ); foreach ( $InductionCC as $value ) { $this->setWXMsg ( $value [0], $msg ); } } $staff->setStaffByCondition ( $item ); // 操作日志 Doo::loadModel ( 'staffOperationLog' ); $staffOperationLog = new staffOperationLog (); $item = array ( 'date' => date ( "Y-m-d H:i:s" ), 'status' => 1, 'img' => $this->staff ['avatar'], 'username' => $this->staff ['username'], 'uid' => $staffDetail ['sid'], 'category' => $this->staff ['category'], 'sid' => $this->staff ['sid'] ); 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' ) : ''; $email = $this->get_args ( 'email' ) ? $this->get_args ( 'email' ) : ''; $phone = $this->get_args ( 'phone' ) ? $this->get_args ( 'phone' ) : ''; $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' ) : '0'; $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' ) : ''; $nation = $this->get_args ( 'nation' ) ? $this->get_args ( 'nation' ) : ''; $graduateInstitutions = $this->get_args ( 'graduateInstitutions' ) ? $this->get_args ( 'graduateInstitutions' ) : ''; $major = $this->get_args ( 'major' ) ? $this->get_args ( 'major' ) : ''; $education = $this->get_args ( 'education' ) ? $this->get_args ( 'education' ) : ''; $graduationTime = $this->get_args ( 'graduationTime' ) ? $this->get_args ( 'graduationTime' ) : ''; $registeredResidence = $this->get_args ( 'registeredResidence' ) ? $this->get_args ( 'registeredResidence' ) : ''; $householdRegistrationType = $this->get_args ( 'householdRegistrationType' ) ? $this->get_args ( 'householdRegistrationType' ) : ''; $IDcardsValidity = $this->get_args ( 'IDcardsValidity' ) ? $this->get_args ( 'IDcardsValidity' ) : ''; $IDcards = $this->get_args ( 'IDcards' ) ? $this->get_args ( 'IDcards' ) : ''; // && ! empty ( $wecat ) && ! empty ( $email ) if (! empty ( $sidKey ) && ! empty ( $telephone ) && ! empty ( $qq ) && ! empty ( $phone ) && ! empty ( $gender ) && ! empty ( $birthday ) && ! empty ( $qualifications ) && ! 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, 'nation' => $nation, 'graduateInstitutions' => $graduateInstitutions, 'major' => $major, 'education' => $education, 'graduationTime' => $graduationTime, 'registeredResidence' => $registeredResidence, 'householdRegistrationType' => $householdRegistrationType, 'IDcardsValidity' => $IDcardsValidity, 'IDcards' => $IDcards, // 状态改成入职申请 'pendStatus' => 2 ); $staff->setStaffByCondition ( $item ); // 操作日志 $staffDetail = $staff->getStaffBySid ( $sid ); Doo::loadModel ( 'staffOperationLog' ); $staffOperationLog = new staffOperationLog (); $item = array ( 'date' => date ( "Y-m-d H:i:s" ), 'status' => 2, 'operation' => "申请入职", 'img' => $staffDetail ['avatar'], 'username' => $staffDetail ['username'], 'uid' => $staffDetail ['sid'], 'category' => $staffDetail ['category'], 'sid' => $staffDetail ['sid'] ); $staffOperationLog->setInvoiceOperationLog ( $item ); return '/login'; } die ( 'illegal request' ); } /** * 申请离职 */ function appliedDimission() { $dimissionReason = $this->get_args ( 'dimissionReason' ) ? $this->get_args ( 'dimissionReason' ) : ''; $applyLeaveDate = $this->get_args ( 'applyLeaveDate' ) ? $this->get_args ( 'applyLeaveDate' ) : ''; if (empty ( $dimissionReason )||empty($applyLeaveDate)) 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 ); // 离职审批组 // 获得审批组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]; if (empty ( $pendingApprovalsSid )) die ( 'illegal request ' ); $staff->pendingApprovalsLeave = $pendingApprovalsSid; $staff->staffManageLeave = $staffManageDetail ['staff']; $staff->processApprovalsLeave = ''; $staff->sid = $this->staff ['sid']; $staff->applyLeaveDate=$applyLeaveDate; // 抄送组 $staff->processLeaveCC = $staffManageDetail ['CC']; $staff->update (); // 操作日志 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'], 'sid' => $this->staff ['sid'] ); $staffOperationLog->setInvoiceOperationLog ( $item ); return '/settingEmployeeInfo'; } /** * 确认离职 */ function employeeDismiss() { //include Doo::conf ()->BASE_PATH . 'diagnostic/debug.php'; $sidKey = $this->get_args ( 'sidKey' ) ? $this->get_args ( 'sidKey' ) : ""; $applyLeaveDate = $this->get_args ( 'applyLeaveDate' ) ? $this->get_args ( 'applyLeaveDate' ) : ""; if (! empty ( $sidKey )&&!empty($applyLeaveDate)) { 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'], true ); $arr = array_keys ( $seniorityFormula ); $key = end ( $arr ); if (isset ( $seniorityFormula [$key] ['dimissionDate'] ) || empty ( $seniorityFormula [$key] ['dimissionDate'] )) $seniorityFormula [$key] ['dimissionDate'] = $applyLeaveDate;//date ( "Y-m-d" ); else die ( 'illegal request' ); // $staff->seniorityFormula = json_encode ( $seniorityFormula ); // 计算工龄天数 // echo $staff->seniorityFormula; $day = $this->getSeniority ( $seniorityFormula ); $dimissionDate = $applyLeaveDate;//date ( "Y-m-d " ); $item = array ( 'sid' => $sid, 'nature' => 4, 'pendStatus' => 4, 'seniorityFormula' => json_encode ( $seniorityFormula ), 'hireBiasDate' => $day, 'applyLeaveDate'=>$dimissionDate, 'dimissionDate' => $dimissionDate ); $staff->setStaffByCondition ( $item ); // 发送微信抄送 Doo::loadModel ( 'staffLeaveManage' ); $staffLeaveManage = new staffLeaveManage (); $msg = '[抄送]' . $detail ['category'] . '-' . $detail ['username'] . '申请离职成功\n离职时间:' . $dimissionDate; $cidmode = $detail ['cid']; if (! empty ( $detail ['departmentID'] )) $cidmode = $detail ['cid'] . '-' . $detail ['departmentID']; $InductionCC = $staffLeaveManage->getStaffManageByCid ( $cidmode ); $InductionCC = json_decode ( $InductionCC ['CC'], true ); foreach ( $InductionCC as $value ) { $this->setWXMsg ( $value [0], $msg ); } return '/hrEmployee'; } die ( 'illegal request' ); } /** * 申请转正 */ function appliedRegular() { Doo::loadModel ( 'staff' ); $staff = new staff (); Doo::loadModel ( 'staffRegularManage' ); $staffLeaveManage = new staffRegularManage (); $item = array ( 'sid' => $this->staff ['sid'], // 状态改成离职申请 'pendStatus' => 5 ); $staff->setStaffByCondition ( $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]; if (empty ( $pendingApprovalsSid )) die ( 'illegal request ' ); $staff->pendingApprovalsLeave = $pendingApprovalsSid; $staff->staffManageLeave = $staffManageDetail ['staff']; $staff->processApprovalsLeave = ''; $staff->sid = $this->staff ['sid']; // 抄送组 $staff->processLeaveCC = $staffManageDetail ['CC']; $staff->update (); // 操作日志 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'], 'sid' => $this->staff ['sid'] ); $staffOperationLog->setInvoiceOperationLog ( $item ); return '/settingEmployeeInfo'; } /** * 申请晋升 */ function appliedPromote() { $sidKey = $this->get_args ( 'sidKey' ) ? $this->get_args ( 'sidKey' ) : ""; $position = $this->get_args ( 'position' ) ? $this->get_args ( 'position' ) : ''; $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; Doo::loadModel ( 'staff' ); $staff = new staff (); Doo::loadModel ( 'promoteManage' ); $staffLeaveManage = new promoteManage (); Doo::loadClass ( 'XDeode' ); $XDeode = new XDeode ( 5 ); $sid = $XDeode->decode ( $sidKey ); $detail = $staff->getStaffBySid ( $sid ); // 离职审批组 // 获得审批组KEY $cidMode = $detail ['cid']; if (! empty ( $detail ['departmentID'] )) $cidMode = $detail ['cid'] . '_' . $detail ['departmentID']; $staffManageDetail = $staffLeaveManage->getStaffManageByCid ( $cidMode ); if (empty ( $staffManageDetail ['staffList'] )) die ( 'illegal request -auth' ); $pendingApprovalsSid = current ( $staffManageDetail ['staffList'] ) [0]; if (empty ( $pendingApprovalsSid )) die ( 'illegal request ' ); $item = array ( 'sid' => $sid, 'appliedPromote' => $position . '_' . $baseWage . '_' . $postWage . '_' . $achievementBonus, // 状态改成申请晋升 'pendStatus' => 6 ); $staff->setStaffByCondition ( $item ); $staff = new staff (); $staff->pendingApprovalsLeave = $pendingApprovalsSid; $staff->staffManageLeave = $staffManageDetail ['staff']; $staff->processApprovalsLeave = ''; $staff->sid = $sid; // 抄送组 $staff->processLeaveCC = $staffManageDetail ['CC']; $staff->update (); $pDetail = explode ( '_', $position ); // 操作日志 Doo::loadModel ( 'staffOperationLog' ); $staffOperationLog = new staffOperationLog (); $item = array ( 'date' => date ( "Y-m-d H:i:s" ), 'status' => 3, 'operation' => "申请晋升" . $pDetail [1], 'img' => $this->staff ['avatar'], 'username' => $this->staff ['username'], 'uid' => $detail ['sid'], 'category' => $this->staff ['category'], 'sid' => $this->staff ['sid'] ); $staffOperationLog->setInvoiceOperationLog ( $item ); return '/hrEmployee'; } /** * 再入职申请 */ function employeeReentryApply() { $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 (); Doo::loadModel ( 'reentryManage' ); $reentryManage = new reentryManage (); $sid = $XDeode->decode ( $sidKey ); $detail = $staff->getStaffBySid ( $sid ); if (empty ( $detail )) die ( 'illegal request' ); $item = array ( 'sid' => $sid, 'pendStatus' => 7 ); $staff->setStaffByCondition ( $item ); // 离职审批组 // 获得审批组KEY $staff = new staff (); $cidMode = $detail ['cid']; if (! empty ( $detail ['departmentID'] )) $cidMode = $detail ['cid'] . '_' . $detail ['departmentID']; $staffManageDetail = $reentryManage->getStaffManageByCid ( $cidMode ); if (empty ( $staffManageDetail )) die ( 'illegal request ' ); $pendingApprovalsSid = current ( $staffManageDetail ['staffList'] ) [0]; if (empty ( $pendingApprovalsSid )) die ( 'illegal request ' ); $staff->pendingApprovals = $pendingApprovalsSid; $staff->staffManage = $staffManageDetail ['staff']; $staff->processApprovals = ''; $staff->sid = $detail ['sid']; // 抄送组 $staff->processCC = $staffManageDetail ['CC']; $staff->update (); // 操作日志 Doo::loadModel ( 'staffOperationLog' ); $staffOperationLog = new staffOperationLog (); $item = array ( 'date' => date ( "Y-m-d H:i:s" ), 'status' => 3, 'img' => $detail ['avatar'], 'username' => $detail ['username'], 'operation' => "申请再入职", 'uid' => $detail ['sid'], 'category' => $detail ['category'], 'sid' => $detail ['sid'] ); $staffOperationLog->setInvoiceOperationLog ( $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" ) ); $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 reentryApprovals() { Doo::loadModel ( 'staff' ); $staff = new staff (); Doo::loadModel ( 'L_category' ); $L_category = new L_category (); Doo::loadModel ( 'reentryManage' ); $staffManage = new reentryManage (); // 获得办事和部门 $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/reentryApprovals", $this->data ); } /** * 添加员工审批人员 */ function reentryApprovalsAdd() { $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 ( "reentryManage" ); $staffManage = new reentryManage (); 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 reentryManage (); $staffManage->cid = $cidMode; $staffManage->staff = json_encode ( $list ); $staffManage->insert (); } else { $staffManage = new reentryManage (); $staffManage->staff = json_encode ( $list ); $staffManage->update ( array ( 'where' => 'icid = ' . $staffManageInfo ['icid'] ) ); } return '/reentryApprovals'; } die ( 'illegal request' ); } /** * 添加抄送员工,微信通知 */ function reentryCCAdd() { $cidKey = $this->get_args ( 'cidKey' ) ? $this->get_args ( 'cidKey' ) : ""; $staff = $this->get_args ( 'staff' ) ? $this->get_args ( 'staff' ) : ""; // && ! empty ( $staff ) if (! empty ( $cidKey )) { Doo::loadModel ( "reentryManage" ); $staffManage = new reentryManage (); 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 reentryManage (); $staffManage->cid = $cidMode; $staffManage->CC = json_encode ( $list ); $staffManage->insert (); } else { $staffManage = new reentryManage (); $staffManage->CC = json_encode ( $list ); $staffManage->update ( array ( 'where' => 'icid = ' . $staffManageInfo ['icid'] ) ); } return '/reentryApprovals'; } 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' ) : ""; // && ! empty ( $staff ) if (! empty ( $cidKey )) { 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' ); } /** * 转正审批流程设置 */ function regularApprovals() { Doo::loadModel ( 'staff' ); $staff = new staff (); Doo::loadModel ( 'L_category' ); $L_category = new L_category (); Doo::loadModel ( 'staffRegularManage' ); $staffManage = new staffRegularManage (); // 获得办事和部门 $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/regularApprovals", $this->data ); } /** * 添加转正审批人员 */ function employeRegularApprovalsAdd() { $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 ( "staffRegularManage" ); $staffManage = new staffRegularManage (); 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 staffRegularManage (); $staffManage->cid = $cidMode; $staffManage->staff = json_encode ( $list ); $staffManage->insert (); } else { $staffManage = new staffRegularManage (); $staffManage->staff = json_encode ( $list ); $staffManage->update ( array ( 'where' => 'icid = ' . $staffManageInfo ['icid'] ) ); } return '/regularApprovals'; } die ( 'illegal request' ); } /** * 添加抄送员工,微信通知 */ function employeRegularCCAdd() { $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 ( "staffRegularManage" ); $staffManage = new staffRegularManage (); 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 staffRegularManage (); $staffManage->cid = $cidMode; $staffManage->CC = json_encode ( $list ); $staffManage->insert (); } else { $staffManage = new staffRegularManage (); $staffManage->CC = json_encode ( $list ); $staffManage->update ( array ( 'where' => 'icid = ' . $staffManageInfo ['icid'] ) ); } return '/regularApprovals'; } die ( 'illegal request' ); } /** * 晋升流程设置 */ function promoteApprovals() { Doo::loadModel ( 'staff' ); $staff = new staff (); Doo::loadModel ( 'L_category' ); $L_category = new L_category (); Doo::loadModel ( 'promoteManage' ); $staffManage = new promoteManage (); // 获得办事和部门 $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/promoteApprovals", $this->data ); } /** * 添加晋升审批人员 */ function promoteApprovalsAdd() { $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 ( "promoteManage" ); $staffManage = new promoteManage (); 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 promoteManage (); $staffManage->cid = $cidMode; $staffManage->staff = json_encode ( $list ); $staffManage->insert (); } else { $staffManage = new promoteManage (); $staffManage->staff = json_encode ( $list ); $staffManage->update ( array ( 'where' => 'icid = ' . $staffManageInfo ['icid'] ) ); } return '/promoteApprovals'; } die ( 'illegal request' ); } /** * 添加抄送员工,微信通知 */ function promoteApprovalsCCAdd() { $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 ( "promoteManage" ); $staffManage = new promoteManage (); 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 promoteManage (); $staffManage->cid = $cidMode; $staffManage->CC = json_encode ( $list ); $staffManage->insert (); } else { $staffManage = new promoteManage (); $staffManage->CC = json_encode ( $list ); $staffManage->update ( array ( 'where' => 'icid = ' . $staffManageInfo ['icid'] ) ); } return '/promoteApprovals'; } die ( 'illegal request' ); } /** * 员工权限管理 */ function hrEmployeeApprovalsSetting() { $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 .= ' '; 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 ); //print_r($stafflist); $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' ) ) ); // 员工可选的 Doo::loadModel ( 'district' ); $district = new district (); $this->data ['districtList'] = $district->get_lv ( 1 ); $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/hrEmployeeApprovalsSetting", $this->data ); } /** * 设置员工访问CLD权限 */ function hrEmployeeAccess() { $sidKey = $this->get_args ( 'sidKey' ) ? $this->get_args ( 'sidKey' ) : ''; $access = $this->get_args ( 'access' ) ? $this->get_args ( 'access' ) : ""; if (! empty ( $sidKey )) { Doo::loadClass ( 'XDeode' ); $XDeode = new XDeode ( 5 ); Doo::loadModel ( 'staff' ); $staff = new staff (); $sid = $XDeode->decode ( $sidKey ); $detail = $staff->getStaffBySid ( $sid ); $access = json_encode ( $access ); $staff->cldAccess = $access; $staff->update ( array ( 'where' => 'sid=' . $sid ) ); return '/hrEmployeeApprovalsSetting'; } die ( 'illegal request' ); } /** * 添加浏览省份的权限 */ function addUserDistrictAuthor() { $didKey = $this->get_args ( 'didKey' ) ? $this->get_args ( 'didKey' ) : array (); $sidKey = $this->get_args ( 'sidKey' ) ? $this->get_args ( 'sidKey' ) : array (); if (! empty ( $didKey ) && ! empty ( $sidKey )) { Doo::loadModel ( 'staff' ); $staff = new staff (); Doo::loadClass ( 'XDeode' ); $XDeode = new XDeode ( 5 ); $sid = $XDeode->decode ( $sidKey ); $sDetail = $staff->getStaffBySid ( $sid ); $sDidList = explode ( ',', $sDetail ['did'] ); $staff->did = implode ( ',', $didKey ); $staff->sid = $sid; $staff->update (); return '/hrEmployeeApprovalsSetting'; } die ( 'illegal request' ); } /** * 岗位设置 */ function position() { Doo::loadModel ( 'position' ); $position = new position (); $listPosition = $position->getPositionByAll (); $this->data ['listPosition'] = $listPosition; $this->data ['memu'] = "HumanResource"; $this->data ['hrMemu'] = "position"; $this->render ( "/humanResource/position", $this->data ); } /** * 添加岗位设置 * @return string */ function positionAdd() { $positionName = $this->get_args ( 'positionName' ) ? $this->get_args ( 'positionName' ) : ""; $positionDescribe = $this->get_args ( 'positionDescribe' ) ? $this->get_args ( 'positionDescribe' ) : ""; $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; // && ! empty ( $postWage ) && ! empty ( $achievementBonus ) if (! empty ( $positionName ) && ! empty ( $positionDescribe ) && ! empty ( $baseWage )) { Doo::loadClass ( 'XDeode' ); $XDeode = new XDeode ( 5 ); Doo::loadModel ( 'position' ); $position = new position (); $position->positionName = $positionName; $position->positionDescribe = $positionDescribe; $position->baseWage = $baseWage; $position->postWage = $postWage; $position->achievementBonus = $achievementBonus; $position->insert (); } return '/position'; } /** * 添加岗位设置 * @return string */ function positionUpdate() { $pidkey = $this->get_args ( 'pidkey' ) ? $this->get_args ( 'pidkey' ) : ""; $positionName = $this->get_args ( 'positionName' ) ? $this->get_args ( 'positionName' ) : ""; $positionDescribe = $this->get_args ( 'positionDescribe' ) ? $this->get_args ( 'positionDescribe' ) : ""; $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; // && ! empty ( $postWage ) && ! empty ( $achievementBonus ) if (! empty ( $pidkey ) && ! empty ( $positionName ) && ! empty ( $positionDescribe ) && ! empty ( $baseWage )) { Doo::loadClass ( 'XDeode' ); $XDeode = new XDeode ( 5 ); Doo::loadModel ( 'position' ); $position = new position (); $pid = $XDeode->decode ( $pidkey ); $position->positionName = $positionName; $position->positionDescribe = $positionDescribe; $position->baseWage = $baseWage; $position->postWage = $postWage; $position->achievementBonus = $achievementBonus; $position->update ( array ( 'where' => ' pid=' . $pid ) ); // 更新用户岗位信息 Doo::loadModel ( 'staff' ); $staff = new staff (); $staff->position = $positionName; $staff->update ( array ( 'where' => ' positionId=' . $pid ) ); } return '/position'; } /** * 删除单位 */ function positionDelete() { $pidkey = $this->get_args ( 'pidkey' ) ? $this->get_args ( 'pidkey' ) : ""; if (! empty ( $pidkey )) { Doo::loadClass ( 'XDeode' ); $XDeode = new XDeode ( 5 ); Doo::loadModel ( 'position' ); $position = new position (); Doo::loadModel ( 'staff' ); $staff = new staff (); $pid = $XDeode->decode ( $pidkey ); $staffCount = $staff->count ( array ( 'where' => 'positionId = "' . $pid . '"' ) ); if ($staffCount != 0) die ( 'illegal request' ); $position->delete ( array ( 'where' => ' pid=' . $pid ) ); } return '/position'; } /** * 获得岗位下所有的用户 */ function ajaxGetStaffByPid() { $pidkey = $this->get_args ( 'pidkey' ) ? $this->get_args ( 'pidkey' ) : ""; if (empty ( $pidkey )) { echo json_encode ( array ( 'status' => 2, 'msg' => 'illegal request' ) ); die (); } Doo::loadClass ( 'XDeode' ); $XDeode = new XDeode ( 5 ); Doo::loadModel ( 'staff' ); $staff = new staff (); Doo::loadModel ( 'position' ); $position = new position (); $detail = $position->getPositionByPid ( $pidkey ); $list = $staff->getStaffByPositionId ( $pidkey ); $html = '办事处姓名入职时间'; foreach ( $list as $key => $value ) { // seniorityFormula $seniorityFormula = json_decode ( $value ['seniorityFormula'], true ); if (! isset ( $seniorityFormula [0] )) $seniorityFormula [0] ['InductionDate'] = 0; $html .= ' ' . $value ['category'] . '' . $value ['username'] . '' . $seniorityFormula [0] ['InductionDate'] . ' '; } echo json_encode ( array ( 'status' => 1, 'positionName' => $detail ['positionName'], 'html' => $html ) ); die (); } /** * 获取岗位信息 */ function ajaxGetPositionByPid() { $pidkey = $this->get_args ( 'pidkey' ) ? $this->get_args ( 'pidkey' ) : ""; if (empty ( $pidkey )) { echo json_encode ( array ( 'status' => 2, 'msg' => 'illegal request' ) ); die (); } Doo::loadModel ( 'position' ); $position = new position (); $detail = $position->getPositionByPid ( $pidkey ); echo json_encode ( array ( 'status' => 1, 'detail' => $detail ) ); die (); } /** * 获得员工信息(未编写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 (); Doo::loadModel ( 'staffOperationLog' ); $staffOperationLog = new staffOperationLog (); $sid = $XDeode->decode ( $serial ); $detail = $staff->getStaffBySid ( $sid ); // 获得操作日志 $SOPL = $staffOperationLog->getInvoiceOperationLogByUid ( $sid, 'desc' ); if (empty ( $detail )) $html = ''; else { $html = ' '; } 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 (); Doo::loadModel ( 'position' ); $position = new position (); // 获得办事和部门 $categoryList = $L_category->getCategoryDepartment (); // 获得岗位 $listPosition = $position->getPositionByAll (); $sid = $XDeode->decode ( $serial ); $detail = $staff->getStaffBySid ( $sid ); // 获得操作日志 $SOPL = $staffOperationLog->getInvoiceOperationLogByUid ( $sid, 'desc' ); if (empty ( $detail )) $html = ''; else { $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 .= ''; $receivablesMessage = $detail ['invoiceTitle']; } else { $html .= '
增值税普通发票
发票抬头' . $detail ['invoiceTitle'] . ' 纳税人识别码' . $detail ['TIN'] . '
'; $receivablesMessage = $detail ['invoiceCompany']; } $html .= '
增值税专用发票
单位名称' . $detail ['invoiceCompany'] . ' 纳税人识别码' . $detail ['TIN'] . '
注册地址' . $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 ajaxGetDistrictByLv1() { $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 ); // 员工可选的 Doo::loadModel ( 'district' ); $district = new district (); $districtList = $district->get_lv ( 1 ); $did = explode ( ',', $detail ['did'] ); $html = ''; foreach ( $districtList as $key => $value ) { $falg = true; foreach ( $did as $k => $v ) { if ($value ['didKey'] == $v) { $html .= ''; unset ( $did [$k] ); $falg = false; break; } } if ($falg) $html .= ''; } $html .=' '; echo json_encode ( array ( 'status' => 1, 'html' => $html ) ); } /** */ function ajaxGetPromotionStaffByPid() { $sidkey = $this->get_args ( 'sidkey' ) ? $this->get_args ( 'sidkey' ) : ""; Doo::loadModel ( 'staff' ); $staff = new staff (); Doo::loadModel ( 'position' ); $position = new position (); $listPosition = $position->getPositionByAll (); $detail = $staff->getStaffBySid ( $sidkey ); // print_r($deta); $html = '
工号' . $detail ['jobNumber'] . ' 姓名' . $detail ['username'] . '
办事处/部门' . $detail ['category']; if (! empty ( $detail ['department'] )) $html .= '/' . $detail ['department'] ['departmentName']; $html .= ' 岗位' . $detail ['positionDetail'] ['positionName'] . '
入职日期' . $detail ['hiredate'] . ' 已入职' . $detail ['workforce'] . '天 试用日期2013-07-01
基本工资' . $detail ['baseWage'] . ' 岗位工资' . $detail ['postWage'] . '
绩效奖金' . $detail ['achievementBonus'] . '
'; echo json_encode ( array ( 'status' => 1, 'detail' => $detail, 'html' => $html ) ); } /** * 生成工号 */ function createJobNumber() { Doo::loadModel ( 'staff' ); $staff = new staff (); $regularStaff = $staff->getStaffJobNumberByNature ( 1 ); $internStaff = $staff->getStaffJobNumberByInformal (); 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; } /** * 微信抄送功能 * @param unknown $rid * @param string $typeMsg */ function setWXMsg($sid, $msg = '', $msgtype = 'text') { Doo::loadModel ( 'staff' ); $staff = new staff (); $staffmsg = $staff->getOne ( array ( 'where' => "sid='" . $sid . "'", 'asArray' => TRUE ) ); if (! empty ( $staffmsg ['wxid'] )) { require_once (SITE_PATH . '/protected/class/client.php'); $client = new client ( 'http://m.cld.smartcost.com.cn/' ); $user = $staffmsg ['wxid']; $result = $client->SendMsg ( $user, $msg, $msgtype ); } } /** * 获取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 (); } } /** * 计算工龄 * @param string $seniorityFormula */ function getSeniority($seniorityFormula = '') { if (! empty ( $seniorityFormula )) { $Days = 0; foreach ( $seniorityFormula as $key => $value ) { $Date_1 = $value ['InductionDate']; $Date_2 = $value ['dimissionDate']; $d1 = strtotime ( $Date_1 ); $d2 = strtotime ( $Date_2 ); $D = round ( ($d2 - $d1) / 3600 / 24 ); $Days += $D; } return $Days; } return 0; } /** * 员工主访问权限 */ function isEmployeeVisit($employee = array()) { Doo::loadModel ( 'staff' ); $staff = new staff (); $staff->getStaffBySid ( $this->staff ['sid'] ); $access = explode ( ',', $employee ['access'] ); } } ?>