sql_sort = 'ID desc'; $list->right_filter = function($right,$type){ $page = $_SERVER['PATH_INFO']; return \Jms\Ucenter\Right::defaultFilter($page,$right,$type); }; $list->sql_filter = function($search,&$cond){ //显示登录角色部门下属所有设备组 if($this->userinfo['OrganizationId']){ //非管理员 $base_ids = \Zndp\User\Util::get_depart_farm($this->userinfo['OrganizationId']); $cond['FarmId'] = array('IN',$base_ids); } }; $list->row_filter = function(&$row) use ($list){ $row['FarmId_text'] = MM('dpyh_farm')->where(array('ID'=>$row['FarmId']))->getField('FarmName'); //计算设备组包含的设备数量 $where = array('DeviceGroupId' => $row['ID'] ); $row['DeviceCount'] = M('dpsb_device')->where($where)->count(); }; $list->display($this); } function sys_addedit( ){ $form = new \Jiaruan\LigerIframeForm(); $form->before_add = function(&$data){ //检测设备组名是否重复 $org_name = trim($data['OrgName']); $org_info = M('dpsb_group')->where(array('OrgName'=>$org_name))->find(); if($org_info){ json_fail('该设备组名已存在,请重新输入!'); } }; $form->before_modify = function(&$data){ $id = I('get.id'); $org_name = trim($data['OrgName']); $cond = array('ID'=>$id); $group_info = M('dpsb_group')->where($cond)->field('OrgName')->find(); $org_info = M('dpsb_group')->where(array('OrgName'=>$org_name))->find(); if($org_name != $group_info['OrgName'] && $org_info){ json_fail('该设备组名已存在,请重新输入!'); } }; $form->form_filter = function(&$form){ //显示用户部门下属所有基地 if($this->userinfo['OrganizationId']){ $zndp_util = new \Zndp\User\Util(); $depart_list = $zndp_util->get_depart_farm_options($this->userinfo['OrganizationId']); }else{ $type = new \Zndp\Device\Option; $depart_list = $type->getFarmOption(); } $form['fields']['FarmId']['editor'] = array('options'=>$depart_list); }; $form->display($this); } public function sys_del( ){ $grid = new \Jiaruan\GridData(); $grid->before_delete = function($data){ $where = array('DeviceGroupId'=>$data['ID']); $count = M('dpsb_device')->where($where)->count(); if($count > 0){ json_fail('设备组下还有设备,无法删除'); } }; $grid->deleteByPk($this); } function import_device( ){ if(!I('get.id')){ exit('missing params'); } $form = new \Jms\Gui\ClForm(); $form->before_save = function(&$data){ $device_addr = trim($data['DeviceAddr']); $where = array( 'DeviceAddr'=>$device_addr); $dpsb_device = M('dpsb_device'); $device_info = $dpsb_device->field('DeviceGroupId')->where($where)->find(); if( !$device_info ){ json_fail('设备序列号:'.$device_addr . ' 未上报'); } if( $device_info['DeviceGroupId'] > 0 ){ json_fail('该设备已有设备组'); } $save_data = array( 'DeviceGroupId' => I('get.id'), 'DeviceTypeId' => $data['DeviceTypeId'], 'WorkUnitName' => $data['WorkUnitName'] ); $result = $dpsb_device->createSave($where,$save_data); if($result === false){ json_fail('导入失败'); }else{ json_success('导入成功'); } }; $form->form_filter = function(&$form){ //显示设备类型 $type_list = \Zndp\Device\Option::getDeviceTypeOption(); $form['fields']['DeviceTypeId']['editor'] = array('options'=>$type_list); }; $form->display($this); } }