| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224 |
- <?php
- class kaoqinjClassAction extends Action
- {
-
- public function kqjsndelAjax()
- {
- $id = (int)$this->post('id');
- m('kqjsn')->delete("`id`='$id'");
- showreturn();
- }
-
-
- public function kqjcmddelAjax()
- {
- $id = c('check')->onlynumber($this->post('id'));
- m('kqjcmd')->delete("`id` in ($id)");
- showreturn();
- }
- //设备搜索
- public function kqjsnbefore($table)
- {
- $key = $this->post('key');
- $where = '';
- if(!isempt($key))$where = " and (`num`='$key' or `name` like '%$key%' or `company` like '%$key%')";
-
- return $where;
- }
-
- //设备搜索命令
- public function kqjcmdbefore($table)
- {
- $optdt= date('Y-m-d H:i:s', time()-10*60);
- m($table)->update('status=5',"`status`=0 and `optdt`<'$optdt'");
- $key = $this->post('key');
- $snid = (int)$this->post('snid','0');
- $where = '';
- if(!isempt($key))$where = " and (`num`='$key' or `name` like '%$key%' or `company` like '%$key%')";
- if($snid>0){
- $where.=" and a.`snid`='$snid'";
- }
- return array(
- 'where' => $where,
- 'table' => '`[Q]kqjcmd` a left join `[Q]kqjsn` b on a.`snid`=b.`id`',
- 'fields'=> 'a.*,b.`name`,b.`num`,b.`company`'
- );
- }
- public function kqjcmdafter($table,$rows)
- {
- $cmds = m('kqjcmd');
- $time = time();
- foreach($rows as $k=>$rs){
- $zt = $rs['status'];
- if($zt=='0')$zt = '<font color="blue">待发送</font>';
- if($zt=='1')$zt = '<font color="green">处理成功</font>';
- if($zt=='2')$zt = '<font color="#ff6600">已请求</font>';
- if($zt=='3')$zt = '<font color="red">处理失败</font>';
- if($zt=='5')$zt = '<font color="#888888">已过期</font>';
-
- $rows[$k]['atype'] = $cmds->cmdtype($rs['atype']);
- if($rs['status']=='5'){
- $rows[$k]['ishui'] = 1;
- }
-
- $rows[$k]['status'] = $zt;
- }
- $kqsnarr = array();
- if($this->loadci==1){
- $where1 = m('admin')->getcompanywhere(1);
- $kqsnarr = m('kqjsn')->getall('status=1 '.$where1.'','id,name,num','sort');
- foreach($kqsnarr as $k=>$rs){
- $kqsnarr[$k]['name'] = ''.$rs['id'].'.'.$rs['name'].'('.$rs['num'].')';
- }
- }
- return array(
- 'rows' => $rows,
- 'kqsnarr' => $kqsnarr
- );
- }
-
- //发送设备命令
- public function sendcmdAjax()
- {
- $ids = $this->get('ids');
- $type = $this->get('type');
- $ida = explode(',', $ids);
- $oi = 0;
- $msg = '';
- foreach($ida as $id1){
- $barr = m('kqjcmd')->send($id1, $type);
- if($barr['success']){
- $oi++;
- }else{
- if(substr($type,0,6)=='advert')return $barr;
- $msg .= ''.$barr['msg'].';';
- }
- }
- if($oi==0 && $msg!='')return returnerror($msg);
- return returnsuccess('成功发送'.$oi.'条命令,可到[考勤机命令查看]下查看结果<font color=red>'.$msg.'</font>');
- }
-
-
- //考勤机上人员管理
- public function kquserafter($table,$rows)
- {
- $snid = (int)$this->post('snid','0');
- $deptsdata = array();
- if($rows && $snid>0 && $snrs = m('kqjcmd')->getsninfo($snid)){
- $userids = $snrs['userids'];
- $deptids = $snrs['deptids'];
- $useridf = ','.$userids.','; //判断是否在考勤机上
- $uids = '';
- foreach($rows as $k=>$rs){
- if(contain($useridf,','.$rs['id'].',')){
- $kqjzt = '<font color=green>已上传</font>';
- }else{
- $kqjzt = '';//'<font color=red>未上传</font>';
- }
-
- $fingerprint1 = '';//'<font color=red>未采集</font>';
- $fingerprint2 = '';//'<font color=#888888>未采集</font>';
- $headpic = '';//'<font color=#888888>无</font>';
-
-
- $rows[$k]['fingerprint1'] = $fingerprint1;
- $rows[$k]['fingerprint2'] = $fingerprint2;
- $rows[$k]['headpic'] = $headpic;
- $rows[$k]['kqjzt'] = $kqjzt;
- $uids .= ','.$rs['id'].'';
- }
- $uids = substr($uids, 1);
-
- //显示已存在部门
- if(!isempt($deptids)){
- $detpros = m('dept')->getdeptrows($deptids);
- $deptsdata = $this->depttreeshu($detpros,'0');
- }
-
- //判断指纹是否存在
- $zwarr = $this->db->getarr('[Q]kqjuser','`snid`='.$snid.' and `uid` in('.$uids.')','fingerprint1,fingerprint2,headpic','uid');
- if($zwarr)foreach($rows as $k=>$rs){
- if(isset($zwarr[$rs['id']])){
- $ztrs = $zwarr[$rs['id']];
- if(!isempt($ztrs['fingerprint1'])){
- $rows[$k]['fingerprint1'] = '<font color=green>已采集</font>';
- }
- if(!isempt($ztrs['fingerprint2'])){
- $rows[$k]['fingerprint2'] = '<font color=green>已采集</font>';
- }
- if(!isempt($ztrs['headpic']) && file_exists($ztrs['headpic'])){
- $rows[$k]['headpic'] = '<img onclick="$.imgview({url:this.src})" src="'.$ztrs['headpic'].'" height="24">';
- }
- }
- }
-
- $barr['nocunid'] = m('kqjcmd')->getnosys($snid);
- $barr['nocunid'] = join(',', $barr['nocunid']);
- }
-
- $barr['rows'] = $rows;
- if($this->loadci==1){
- $drows = m('dept')->getdata('sd');
- $fid = '0';
- if(ISMORECOM)$fid = $drows[0]['pid'];
- $barr['deptdata'] = $this->depttreeshu($drows, $fid);
- $where1 = m('admin')->getcompanywhere(1);
- $kqsnarr = m('kqjsn')->getall('status=1 '.$where1.'','id,name,num','sort');
- foreach($kqsnarr as $k=>$rs){
- $kqsnarr[$k]['name'] = ''.$rs['id'].'.'.$rs['name'].'('.$rs['num'].')';
- }
- $barr['kqsnarr'] = $kqsnarr;
- }
- $barr['deptsdata'] = $deptsdata;
- return $barr;
- }
- public function kquserbefore($table)
- {
- $key = $this->post('key');
- $snid = (int)$this->post('snid','0');
- $detpid = (int)$this->post('deptid','0');
- $where = '';
- if(!isempt($key))$where = m('admin')->getkeywhere($key);
-
- if($detpid>1){
- $where.= " and instr(`deptpath`,'[$detpid]')>0";
- }
- if(ISMORECOM)$where .=' and `companyid` in('.m('admin')->getcompanyid().')';
-
- return array(
- 'fields'=>'id,name,deptname,ranking,status,face',
- 'where'=>$where,
- 'order'=> 'sort'
- );
- }
-
- //组织结构活动得到树形数据
- private function depttreeshu($rows, $pid)
- {
- $barr = array();
- foreach($rows as $k=>$rs){
- if($rs['pid']==$pid){
- $rs['children'] = $this->depttreeshu($rows, $rs['id']);
- $rs['expanded'] = $pid=='0';
- $barr[] = $rs;
- }
- }
- return $barr;
- }
-
- //人员到设备上信息管理
- public function sendusercmdAjax()
- {
- $uids = $this->get('uids'); //人员ID
- $snid = $this->get('snid');
- $type = $this->get('type');
-
- $gtype = (int)$this->post('gtype','0'); //0选中,1全部
- if($gtype==1)$uids = '0';
-
- $barr = m('kqjcmd')->send($snid, $type, $uids);
- if($barr['success'])$barr['data'] = '命令已发送,可到[考勤机命令查看]下查看结果';
-
- return $barr;
- }
- }
|