statearr = explode(',','还未开始,进行中,已结束'); } public function getstatestr($zt) { return arrvalue($this->statearr, $zt); } protected function flowsubmit($na, $sm) { if($this->rs['status']==1)$this->sendtodo(); } //审核完成后发通知 protected function flowcheckfinsh($zt) { if($zt==1)$this->sendtodo(); } //发通知给对应人员 public function sendtodo() { $rows = m('knowtrais')->getall('mid='.$this->id.' and `isks`=0','uid'); $ids = ''; foreach($rows as $k=>$rs)$ids.=','.$rs['uid'].''; if($ids=='')return; $ids = substr($ids, 1); $cont = ''.$this->adminname.'发布培训考试,主题:{title},时间{startdt}至{enddt}。'; $this->push($ids,'', $cont); } public function flowisreadqx() { $to = m('knowtrais')->rows('`mid`='.$this->id.' and `uid`='.$this->adminid.''); return $to>0; } public function flowrsreplace($rs,$lx=0) { $zt = $rs['state']; $rs['state'] = $this->getstatestr($zt); if($lx==1 && $zt==1){ //我当前状态 $ors = m('knowtrais')->getone('`mid`='.$rs['id'].' and `uid`='.$this->adminid.''); if($ors){ if($ors['isks']=='0'){ $rs['state'] .= ' 去考试'; }else{ $rs['state'] .= '  已考试分数:'.$ors['fenshu'].''; } } } return $rs; } //更新题库状态 public function reloadstate($id='') { $where = '1=1'; if($id!='')$where='id in('.$id.')'; $rows = $this->getall($where); $now = $this->rock->now; foreach($rows as $k=>$rs){ $zt = 0; if($rs['enddt']<$now){ $zt = 2; }else if($rs['startdt']<$now){ $zt = 1; } if($zt!=$rs['state'])$this->update('`state`='.$zt.'', $rs['id']); } $rows = $this->db->getall('SELECT mid,count(1)stotal FROM `[q]knowtrais` where isks=1 GROUP BY mid'); foreach($rows as $k=>$rs)$this->update('`ydshu`='.$rs['stotal'].'', $rs['mid']); } protected function flowbillwhere($uid, $lx) { $this->reloadstate(); } //每天通知未考试培训人员 public function todaytodo() { } //选取选择题库的条件 public function gettikuwhere($tiid, $dwid=0) { $str1 = ''; if($dwid==0)$dwid = $this->adminmodel->getcompanyid(); if(ISMORECOM)$str1 = " and `comid`=".$dwid.""; if(isempt($tiid))return $str1; $sid = ''; $tarr = explode(',', $tiid); $dbs = m('option'); foreach($tarr as $sid1){ $ssid = $dbs->getalldownid($sid1); $sid.=','.$ssid.''; } if($sid!=''){ $sid = substr($sid, 1); return ' and `typeid` in('.$sid.')'; }else{ return $str1; } } //删除单据时调用 protected function flowdeletebill($sm) { m('knowtrais')->delete("`mid`='".$this->id."'"); } }