Files
xinhu/webmain/flow/input/mode_userinfoAction.php
2023-05-11 16:19:42 +08:00

125 lines
3.0 KiB
PHP

<?php
/**
* 此文件是流程模块【userinfo.人员信息】对应接口文件。
*/
class mode_userinfoClassAction extends inputAction{
public function companydata()
{
return m('company')->getselectdata(1);
}
protected function savebefore($table, $arr, $id, $addbo){
$mobile = $arr['mobile'];
$optlx = $this->post('optlx');
if(!c('check')->ismobile($mobile)){
return '手机号格式有误';
}
//if(m('admin')->rows("`mobile`='$mobile' and `id`<>'$id'")>0){
// return '手机号['.$mobile.']已存在';
//}
$notsave = 'name,deptname,ranking,email';//不保存字段
if($id==1)$notsave.=',quitdt';
if($optlx=='my')$notsave.=',state,workdate,syenddt,positivedt,quitdt,companyid'; //个人编辑不保存
return array(
'notsave' => $notsave
);
}
protected function saveafter($table, $arr, $id, $addbo){
$this->userstateafter($table, $arr, $id);
}
public function storeafter($table, $rows)
{
$deptdata = false;
if($this->loadci==1 && $this->post('showdept')=='1'){
$drows = m('dept')->getall('1=1','`id`,`name`,`pid`');
$deptdata = $this->depttreeshu($drows, '0', '0');
}
return array(
'statearr' => $this->flow->statearrs,
'isadd' => false,
'deptdata' => $deptdata,
);
}
//组织结构活动得到树形数据
private function depttreeshu($rows, $pid, $fids)
{
$barr = array();
foreach($rows as $k=>$rs){
if($rs['pid']==$pid){
$rs['children'] = $this->depttreeshu($rows, $rs['id'], $fids);
$rs['expanded'] = $pid==$fids;
$barr[] = $rs;
}
}
return $barr;
}
//人员状态切换保存后处理
public function userstateafter($table, $cans, $id)
{
$optlx = $this->post('optlx');
$quitdt = $cans['quitdt'];
$state = array($cans,'state');
$workdate = $cans['workdate'];
$uarr = array();
if($optlx!='my'){
$uarr['workdate'] = $workdate;
$uarr['quitdt'] = $quitdt;
if(!isempt($quitdt) || $state=='5')$uarr['status']='0';//离职状态
}
if(isset($cans['tel']))$uarr['tel'] = $cans['tel'];
if(isset($cans['mobile']))$uarr['mobile'] = $cans['mobile'];
if(isset($cans['sex']))$uarr['sex'] = $cans['sex'];
if($id==1){
unset($uarr['status']);
unset($uarr['quitdt']);
}
if($uarr){
m('admin')->update($uarr, $id);
c('cache')->del('deptuserjson');
}
}
//获取打开记录
public function gethetongAjax()
{
$guid = (int)$this->get('guid','0');
$ind = (int)$this->get('ind','0');
$bh = 'userract';
$zd = 'uid';
if($ind==4){
$bh = 'reward';
$zd = 'objectid';
}
if($ind==5){
$bh = 'hrpositive';
}
if($ind==6){
$bh = 'hrredund';
}
if($ind==7){
$bh = 'hrtrsalary';
}
if($ind==8){
$bh = 'hrtransfer';
$zd = 'tranuid';
}
$flow = m('flow')->initflow($bh);
$cont = $flow->getrowstable('all','and {asqom}`'.$zd.'`='.$guid.'');
return $cont;
}
}