123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126 |
- <?php
- class DpsbGroupAction extends CommonAction {
- const tableName = 'dpsb_group';
- const pkName = 'ID';
-
-
- function sys_list( ){
- $list = new \Jms\Gui\ClGrid();
- $list->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);
- }
-
- }
|