ManagementModel = new Management(); $this->ManagementItemModel = new ManagementItem(); } public function blockList(Request $request) { $param = $request->all(); $risk_management_id = $param['m_id']; $limit = $param['limit']; $managementBlock = new ManagementBlock(); $where=[]; $where['risk_management_id'] = $risk_management_id; $list = $managementBlock->getPaginateList($where, ['*'], ['id' => 'asc'], [], $limit); return sparKSuccess(dataReturn(0, 'success', $list)); } public function getBlockInfo(Request $request) { $param = $request->all(); $id = $param['id']; $managementBlock = new ManagementBlock(); $info = $managementBlock->getInfoById($id); $block_info = DingTalk::blockchainDownload($info['fileHash']); if(isset($block_info['error'])) { return sparKSuccess(dataReturn(-1, '获取失败')); } $data = json_decode($block_info['file_data'],true); $data['position_list'] = $this->getSelfPartorg($data['org_id']); return sparKSuccess(dataReturn(0, 'success', $data)); } public function getEngineeringList(){ $where = [['isdel','=',0]]; $where = [['pid','in',[0,1]]]; $engineering = new Engineering(); $res = $engineering->getAllList($where); $list = []; foreach ($res as $k=>$v){ $list[$k]['value'] = $v['id']; $list[$k]['label'] = $v['name']; $list[$k]['pid'] = $v['pid']; $list[$k]['id'] = $v['id']; } return sparKSuccess(dataReturn(0, 'success', $this->getPidList($list))); } public function getResponsibilityFarmerUnit() { $cooperativeUnit = new CooperativeUnit(); $list = $cooperativeUnit->getAllList([],['team_name']); $datas=[]; foreach($list as $k=>$v) { $data=[]; $data['value'] = $v['team_name']; $datas[] = $data; } return sparKSuccess(dataReturn(0, 'success', $datas)); } public function getQrcode(Request $request) { $param = $request->all(); $type = $param['type']; $field = ''; $name = ''; switch ($type) { case 'sign': $field ='signcode'; $name = '签到'; break; case 'enroll': $field ='enrollcode'; $name = '报名'; break; case 'detail': $field ='detailcode'; $name = '详情'; break; } $url = '/pages/train/'.$type.'?m_id='.$param['id']; $path = './public/qrcode/'.$name.'_'.$param['id'].'.png'; $res = Tool::instance()->qrcode($url,$path,0,8,1,true); $image_path = '/qrcode/'.$name.'_'.$param['id'].'.png'; $this->ManagementModel->updateById([$field => $image_path],$param['id']); return sparKSuccess(dataReturn(0, 'success', $image_path)); } /** 风险等级 */ private function getLevel($id){ $arr = ['','重大风险','较大风险','一般风险','较小风险']; return $arr[$id]; } /** 风险管理状态 */ private function getStatus($id){ $arr = ['已开启','已关闭']; return $arr[$id]; } /** 获取项目部领导信息 */ public function getleaderList(Request $request) { $param = $request->get(); $id = $param['id']; $list=[]; $list['project_manager'] = $this->getAdminUserNickname($id,100025); $list['project_zg'] = $this->getAdminUserNickname($id,100026); $list['safety_manager'] = $this->getAdminUserNickname($id,100028); $list['production_manager'] = $this->getAdminUserNickname($id,100027); $list['minister'] = $this->getAdminUserNickname($id,100030); return sparKSuccess(dataReturn(0, 'success', $list)); } public function getAdminUserNickname($org_id,$role_id) { $info = (new AdminOrgUser())->select('admin_user.nickname') ->where('admin_org_user_role.org_id',$org_id)->where('admin_org_user_role.role_id',$role_id) ->join('admin_user as admin_user','admin_user.id','=','admin_org_user_role.user_id') ->get()->toArray(); return count($info)>0?$info[0]['nickname']:''; } /** 首页/列表 */ public function index(Request $request){ if ($request->isAjax()) { $param = $request->all(); $limit = $param['limit']; $where = []; if(isset($param['unit']) && !empty($param['unit'])){ $where['unit'] = $param['unit']; } if(isset($param['name']) && !empty($param['name'])){ $where['name'] = ['name','like','%'.$param['name'].'%']; } $where[] = ['org_id','in',getOrgSelfAndChildrenIdsById(get_current_org_id())]; $list = $this->ManagementModel->getPaginateList($where, ['*'], ['id' => 'asc'], [], $limit); $data['orlist'] = $this->getListorg(); $data['belist'] = [];//(new BasicdataEngineeringController())->getListout(); // $data['maplist'] = []; //$data['palist'] = $this->getPartorg(); $listAll = $this->ManagementModel->getAllList($where); $data['maplist'] = $listAll; foreach ($list['data'] as $key => $item) { $whereao = [['id','=',$item['unit']]]; $list['data'][$key]['unitname'] = "无";//((new AdminOrg())->findOne($whereao,'name'))['data']['name']; $list['data'][$key]['statusname'] = $this->getStatus($item['status']); // if(count($this->maplist)>0){ // foreach ($this->maplist as $key1 => $item1) { // if($item1['id'] == $item['unit']){ // $item['long_lat'] = $item1['latitudelongitude']; // $item['unit_name'] = $item1['name']; // $data['maplist'] = array_merge($data['maplist'],[$item]); // } // } // } } $data['list'] = $list; return sparKSuccess(dataReturn(0, 'success', $data)); } return view('risk/management/index'); } /** 重点风险/列表 */ public function keyIndex(Request $request){ if ($request->isAjax()) { $param = $request->all(); $limit = $param['limit']; $where = []; if(isset($param['name']) && !empty($param['name'])){ $where['name'] = ['name','like','%'.$param['name'].'%']; } $where[] = ['org_id','in',getOrgSelfAndChildrenIdsById(get_current_org_id())]; $list = $this->ManagementModel->getPaginateList($where, ['*'], ['id' => 'asc'], [], $limit); $data['orlist'] = $this->getListorg(); $data['belist'] = [];//(new BasicdataEngineeringController())->getListout(); $data['maplist'] = []; //$data['palist'] = $this->getPartorg(); foreach ($list['data'] as $key => $item) { $whereao = [['id','=',$item['unit']]]; $list['data'][$key]['unitname'] = "无";//((new AdminOrg())->findOne($whereao,'name'))['data']['name']; $list['data'][$key]['statusname'] = $this->getStatus($item['status']); if(count($this->maplist)>0){ foreach ($this->maplist as $key1 => $item1) { if($item1['id'] == $item['unit']){ $item['long_lat'] = $item1['latitudelongitude']; $item['unit_name'] = $item1['name']; $data['maplist'] = array_merge($data['maplist'],[$item]); } } } } $data['list'] = $list; return sparKSuccess(dataReturn(0, 'success', $data)); } return view('risk/management/keynote/index'); } /** 添加 */ public function store(Request $request){ if ($request->isAjaxPost()) { $param = $request->post(); $project_id = $param['project_org_id']; $org_info = getOrg($project_id); if($org_info['level'] != 3) { return sparKSuccess(dataReturn(-1, '单位要是项目单位')); } $param['project_org_id'] = $org_info['id']; $param['project_org_name'] = $org_info['name']; $param['project_org_deptcode'] = $org_info['deptcode']; if($org_info['pid']) { $company_org = getOrg($org_info['pid']); $param['company_org_id'] = $company_org['id']; $param['company_org_name'] = $company_org['name']; $param['company_org_deptcode'] = $company_org['deptcode']; } $param['org_id'] = $org_info['id']; $param['org_name'] = $org_info['name']; $param['org_deptcode'] = $org_info['deptcode']; unset($param['project_id']); //if(isset($param['start_time'])) $param['start_time'] = strtotime($param['start_time']); //if(isset($param['end_time'])) $param['end_time'] = strtotime($param['end_time']); $param['create_time'] = now(); $res = $this->ManagementModel->insertOne($param); return sparkSuccess(dataReturn(0, '添加成功')); } return sparkSuccess(dataReturn(0, 'error')); } /** 编辑 */ public function update(Request $request){ if ($request->isAjaxPost()) { $param = $request->post(); $project_id = $param['project_org_id']; $org_info = getOrg($project_id); if($org_info['level'] != 3) { return sparKSuccess(dataReturn(-1, '单位要是项目单位')); } $param['update_time'] = now(); $result = DingTalk::blockchainUpload(json_encode($param)); if($result['res']['error'] != 0) { return sparKSuccess(dataReturn(-1, $result['res']['error'] )); } $data=[]; $data['risk_management_id'] = $param['id']; $data['fileHash'] = $result['fileHash']; $data['blockHash'] = $result['res']['blockHash']; $data['blockNumber'] = $result['res']['blockNumber']; $data['gasUsed'] = $result['res']['gasUsed']; $data['transactionHash'] = $result['res']['transactionHash']; $data['contractname'] = $result['res']['contractname']; $data['error'] = $result['res']['error']; $data['create_time'] = date('Y-m-d H:i:s',time()); (new ManagementBlock())->insertOne($data); $param['project_org_id'] = $org_info['id']; $param['project_org_name'] = $org_info['name']; $param['project_org_deptcode'] = $org_info['deptcode']; if($org_info['pid']) { $company_org = getOrg($org_info['pid']); $param['company_org_id'] = $company_org['id']; $param['company_org_name'] = $company_org['name']; $param['company_org_deptcode'] = $company_org['deptcode']; } $param['org_id'] = $org_info['id']; $param['org_name'] = $org_info['name']; $param['org_deptcode'] = $org_info['deptcode']; //if(isset($param['start_time'])) $param['start_time'] = strtotime($param['start_time']); //if(isset($param['end_time'])) $param['end_time'] = strtotime($param['end_time']); unset($param['create_time']); unset($param['lid_list']); unset($param['project_id']); $res = $this->ManagementModel->updateById($param,$param['id']); return sparkSuccess(dataReturn(0, '编辑成功')); } return sparkSuccess(dataReturn(0, 'error')); } /** 查询 */ public function show(Request $request){ $getData = $request->all(); $info = $this->ManagementModel->getInfoById($getData['id']); $data['row'] = $info; $data['lid_list'] = json_decode($info['risk_data'],true); $data['position'] = $this->getSelfPartorg($info['org_id']); //if(isset($data['row']['start_time'])) $data['row']['start_time'] = date('Y-m-d',$data['row']['start_time']); //if(isset($data['row']['end_time'])) $data['row']['end_time'] = date('Y-m-d',$data['row']['end_time']); // $data['lid_list'] = $this->getlistids($data['row']['lid']); return sparKSuccess(dataReturn(0, 'success', $data)); } public function getSelfPartorg($id){ $org_info = (new AdminOrg())->find($id); $res =[]; if($org_info['level'] == 3) { $where = [['deptcode','=',$org_info['deptcode']]]; $res = (new Usedpart())->getAllList($where); } $list = []; foreach ($res as $k=>$v){ $list[$k]['value'] = $v['id']; $list[$k]['label'] = $v['name']; $list[$k]['pid'] = $v['usedpart_parent_wbs']; $list[$k]['id'] = $v['usedpart_wbs']; } return $this->getSelfPartList($list); } private function getSelfPartList($list){ $packData = []; $tree = []; foreach ($list as $data) { $packData[$data['id']] = $data; } foreach ($packData as $key => $val) { if ($val['pid'] == 0) { $tree[] = &$packData[$key]; } else { $packData[$val['pid']]['children'][] = &$packData[$key]; } } return $tree; } /** 会员列表 */ public function getUser(Request $request){ $getData = $request->all(); $data['u_list'] = (new AdminService())->getList($getData); return sparKSuccess(dataReturn(0, 'success', $data)); } /** 删除 */ public function destroy(Request $request){ $id = $request->get('id'); $row = $this->ManagementModel->delById($id); return sparKSuccess(dataReturn(0, '删除成功')); } /** 单位无分页列表 */ public function getListorg(){ $where = [['status','=',1]]; $res = (new AdminOrg())->getAllList($where); $list = []; foreach ($res as $k=>$v){ $list[$k]['value'] = $v['id']; $list[$k]['label'] = $v['name']; $list[$k]['pid'] = $v['pid']; $list[$k]['id'] = $v['id']; if(!empty($v['latitudelongitude'])){ //$map_arr = explode(",",$v1['longitude_latitude']); $this->maplist = array_merge($this->maplist,[$v]); } } return $this->getPidList($list); } private function getPidList($list){ $packData = []; $tree = []; foreach ($list as $data) { $packData[$data['id']] = $data; } foreach ($packData as $key => $val) { if ($val['pid'] == 0) { $tree[] = &$packData[$key]; } else { $packData[$val['pid']]['children'][] = &$packData[$key]; } } return $tree; } /** id集风险标准库 */ public function getlistids($lid){ if(!isset($lid)) return []; $lid = json_decode($lid); $where = []; if(count($lid)>0){ $where['lid'] = ['id','in',$lid]; $list = (new Library())->getAllList($where); foreach ($list as $key => $item) { $list[$key]['levelname'] = $this->getLevel($item['level']); $list[$key]['projectname'] = (new IdentificationController())->getOnename($item['name']); } return $list; }else{ return []; } } /** 风险巡查规则列表 */ public function itemIndex(Request $request){ $param = $request->all(); $limit = $param['limit']; $where['project_id'] = $param['mid']; $list = $this->ManagementItemModel->getPaginateList($where, ['*'], ['id' => 'asc'], [], $limit); foreach ($list['data'] as $key => $item) { //if(isset($list['data']['first_time'])) $list['data']['first_time'] = date('Y-m-d',$list['data']['first_time']); //if(isset($list['data']['start_time'])) $list['data']['start_time'] = date('Y-m-d',$list['data']['start_time']); //if(isset($list['data']['end_time'])) $list['data']['end_time'] = date('Y-m-d',$list['data']['end_time']); //$list['data'][$key]['unitname'] = ((new AdminOrg())->findOne($whereao,'name'))['data']['name']; } $data['list'] = $list; return sparKSuccess(dataReturn(0, 'success', $data)); } /** 风险巡查规则添加 */ public function itemStore(Request $request){ if ($request->isAjaxPost()) { $param = $request->post(); //if(isset($param['first_time'])) $param['first_time'] = strtotime($param['first_time']); //if(isset($param['start_time'])) $param['start_time'] = strtotime($param['start_time']); //if(isset($param['end_time'])) $param['end_time'] = strtotime($param['end_time']); $param['create_time'] = now(); $res = $this->ManagementItemModel->insertOne($param); return sparkSuccess(dataReturn(0, '添加成功')); } return sparkSuccess(dataReturn(0, 'error')); } /** 风险巡查规则编辑 */ public function itemUpdate(Request $request){ if ($request->isAjaxPost()) { $param = $request->post(); //if(isset($param['first_time'])) $param['first_time'] = strtotime($param['first_time']); //if(isset($param['start_time'])) $param['start_time'] = strtotime($param['start_time']); //if(isset($param['end_time'])) $param['end_time'] = strtotime($param['end_time']); $param['update_time'] = now(); unset($param['create_time']); $res = $this->ManagementItemModel->updateById($param,$param['id']); return sparkSuccess(dataReturn(0, '编辑成功')); } return sparkSuccess(dataReturn(0, 'error')); } /** 查询风险巡查规则 */ public function itemShow(Request $request){ $getData = $request->all(); $data['row'] = $this->ManagementItemModel->getInfoById($getData['id']); //if(isset($data['row']['start_time'])) $data['row']['start_time'] = date('Y-m-d',$data['row']['start_time']); return sparKSuccess(dataReturn(0, 'success', $data)); } /** 删除风险巡查规则 */ public function itemDestroy(Request $request){ $id = $request->get('id'); $row = $this->ManagementItemModel->delById($id); return sparKSuccess(dataReturn(0, '删除成功')); } /** 部位 */ public function getPartorg(Request $request){ $param = $request->all(); $id = $param['id']; $org_info = (new AdminOrg())->find($id); $res =[]; if($org_info['level'] == 3) { $where = [['deptcode','=',$org_info['deptcode']]]; $res = (new Usedpart())->getAllList($where); } $list = []; foreach ($res as $k=>$v){ $list[$k]['value'] = $v['id']; $list[$k]['label'] = $v['name']; $list[$k]['pid'] = $v['usedpart_parent_wbs']; $list[$k]['id'] = $v['usedpart_wbs']; } return $this->getPartList($list); } private function getPartList($list){ $packData = []; $tree = []; foreach ($list as $data) { $packData[$data['id']] = $data; } foreach ($packData as $key => $val) { if ($val['pid'] == 0) { $tree[] = &$packData[$key]; } else { $packData[$val['pid']]['children'][] = &$packData[$key]; } } return sparKSuccess(dataReturn(0, 'success', $tree)); } }