|
@@ -2137,6 +2137,720 @@ class CameraApiController extends BaseController
|
|
|
return self::successResponse($result);
|
|
|
}
|
|
|
|
|
|
+ //主屏幕
|
|
|
+ public function mainHomeV2(Request $request){
|
|
|
+ $gao = DB::connection('task_xixuan')->table('xx_risk_assignment')->whereDate('optdt', today())->where('risk_level',0)->count();
|
|
|
+ $zhong = DB::connection('task_xixuan')->table('xx_risk_assignment')->whereDate('optdt', today())->where('risk_level',1)->count();
|
|
|
+ $di = DB::connection('task_xixuan')->table('xx_risk_assignment')->whereDate('optdt', today())->where('risk_level',2)->count();
|
|
|
+
|
|
|
+ $result = [
|
|
|
+ [
|
|
|
+ 'number' => $gao,
|
|
|
+ 'unit' => '项',
|
|
|
+ 'title' => '高风险作业',
|
|
|
+ 'color' => '#DA0000'
|
|
|
+ ],
|
|
|
+ [
|
|
|
+ 'number' => $zhong,
|
|
|
+ 'unit' => '项',
|
|
|
+ 'title' => '中风险作业',
|
|
|
+ 'color' => '#FFBA00'
|
|
|
+ ],
|
|
|
+ [
|
|
|
+ 'number' => $di,
|
|
|
+ 'unit' => '项',
|
|
|
+ 'title' => '低风险作业',
|
|
|
+ 'color' => '#2BB200'
|
|
|
+ ]
|
|
|
+ ];
|
|
|
+
|
|
|
+ return self::successResponse($result);
|
|
|
+ }
|
|
|
+
|
|
|
+ //风险作业占比
|
|
|
+ public function riskWorkPercentV2(Request $request){
|
|
|
+ $gao = DB::connection('task_xixuan')->table('xx_risk_assignment')->whereDate('optdt', today())->where('risk_level',0)->count();
|
|
|
+ $zhong = DB::connection('task_xixuan')->table('xx_risk_assignment')->whereDate('optdt', today())->where('risk_level',1)->count();
|
|
|
+ $di = DB::connection('task_xixuan')->table('xx_risk_assignment')->whereDate('optdt', today())->where('risk_level',2)->count();
|
|
|
+
|
|
|
+ $result = [
|
|
|
+ [
|
|
|
+ 'value' => $gao,
|
|
|
+ 'name' => '高风险',
|
|
|
+ ],
|
|
|
+ [
|
|
|
+ 'value' => $zhong,
|
|
|
+ 'name' => '中风险',
|
|
|
+ ],
|
|
|
+ [
|
|
|
+ 'value' => $di,
|
|
|
+ 'name' => '低风险',
|
|
|
+ ]
|
|
|
+ ];
|
|
|
+
|
|
|
+ return self::successResponse($result);
|
|
|
+ }
|
|
|
+
|
|
|
+ //片区占比
|
|
|
+ public function areaPercentV2(Request $request){
|
|
|
+ $area = DB::connection('task_xixuan')->table('xx_area')->get();
|
|
|
+
|
|
|
+ if(count($area) > 0){
|
|
|
+ for($i=0;$i<count($area);$i++){
|
|
|
+ $coal_washery_id_list = DB::connection('task_xixuan')->table('xx_coal_washery')->where('area_id',$area[$i]->id)->pluck('id');
|
|
|
+ $result[$i]['value'] = DB::connection('task_xixuan')->table('xx_risk_assignment')->whereIn('coal_washery_id',$coal_washery_id_list)->whereDate('optdt', today())->count();
|
|
|
+ $result[$i]['name'] = $area[$i]->name;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ return self::successResponse($result);
|
|
|
+ }
|
|
|
+
|
|
|
+ //地图数据
|
|
|
+ public function mapDataV2(Request $request){
|
|
|
+ $coal_washery = DB::connection('task_xixuan')->table('xx_coal_washery')->get();
|
|
|
+ $coal_list = [
|
|
|
+ '灵新洗煤厂'=>'linxing',
|
|
|
+ '红柳洗煤厂'=>'hongliu',
|
|
|
+ '枣泉洗煤厂'=>'zaoquan',
|
|
|
+ '大武口洗煤厂'=>'dawukou',
|
|
|
+ '金凤洗煤厂'=>'jinfeng',
|
|
|
+ '检修车间'=>'jianxiuchejian',
|
|
|
+ '太西洗煤厂'=>'taixi',
|
|
|
+ '清水营洗煤厂'=>'qingshuiying',
|
|
|
+ '梅花井洗煤厂'=>'meihuajing',
|
|
|
+ '石槽村洗煤厂'=>'shicaocun',
|
|
|
+ '双马洗煤厂'=>'shuangma',
|
|
|
+ '羊场湾洗煤厂'=>'yangchangwan',
|
|
|
+ '羊场湾二分区洗煤厂'=>'yangchangwanerfenqu'
|
|
|
+ ];
|
|
|
+
|
|
|
+ if(count($coal_washery) > 0){
|
|
|
+ for($i=0;$i<count($coal_washery);$i++){
|
|
|
+ if(array_key_exists($coal_washery[$i]->name, $coal_list)) {
|
|
|
+ $slog = $coal_list[$coal_washery[$i]->name];
|
|
|
+ $result[$slog]['title'] = $coal_washery[$i]->name;
|
|
|
+ $result[$slog]['id'] = $coal_washery[$i]->id;
|
|
|
+ $result[$slog]['data'] = [
|
|
|
+ [
|
|
|
+ 'name' => '高风险作业',
|
|
|
+ 'value'=> DB::connection('task_xixuan')->table('xx_risk_assignment')->where('coal_washery_id',$coal_washery[$i]->id)->where('risk_level',0)->whereDate('optdt', today())->count()
|
|
|
+ ],
|
|
|
+ [
|
|
|
+ 'name' => '中风险作业',
|
|
|
+ 'value'=> DB::connection('task_xixuan')->table('xx_risk_assignment')->where('coal_washery_id',$coal_washery[$i]->id)->where('risk_level',1)->whereDate('optdt', today())->count()
|
|
|
+ ],
|
|
|
+ [
|
|
|
+ 'name' => '低风险作业',
|
|
|
+ 'value'=> DB::connection('task_xixuan')->table('xx_risk_assignment')->where('coal_washery_id',$coal_washery[$i]->id)->where('risk_level',2)->whereDate('optdt', today())->count()
|
|
|
+ ]
|
|
|
+ ];
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ return self::successResponse($result);
|
|
|
+ }
|
|
|
+
|
|
|
+ //时间段作业数
|
|
|
+ public function timeWorkCountV2(Request $request){
|
|
|
+ $params = $request->all();
|
|
|
+
|
|
|
+ if(isset($params['start_date']) && isset($params['end_date'])){
|
|
|
+ $start_date = $params['start_date'];
|
|
|
+ $end_date = $params['end_date'];
|
|
|
+ }else{
|
|
|
+ $start_date = date('Y-m-d', strtotime(date('Y-m-d') . ' -6 day'));
|
|
|
+ $end_date = date('Y-m-d');
|
|
|
+ }
|
|
|
+
|
|
|
+ $current_date = $start_date;
|
|
|
+ $i = 0;
|
|
|
+ $result = [];
|
|
|
+ $result['xAxis']['type'] = 'category';
|
|
|
+ $result['xAxis']['data'] = [];
|
|
|
+ $result['series'] = [
|
|
|
+ [
|
|
|
+ 'name' => '高风险作业',
|
|
|
+ 'type' => 'bar',
|
|
|
+ 'stack'=> 'bar_1',
|
|
|
+ 'data' => [],
|
|
|
+ 'itemStyle' => [
|
|
|
+ 'color' => '#DA0000',
|
|
|
+ 'borderRadius' => [10,10,10,10]
|
|
|
+ ]
|
|
|
+ ],
|
|
|
+ [
|
|
|
+ 'name' => '中风险作业',
|
|
|
+ 'type' => 'bar',
|
|
|
+ 'stack'=> 'bar_2',
|
|
|
+ 'data' => [],
|
|
|
+ 'itemStyle' => [
|
|
|
+ 'color' => '#FFBA00',
|
|
|
+ 'borderRadius' => [10,10,10,10]
|
|
|
+ ]
|
|
|
+ ],
|
|
|
+ [
|
|
|
+ 'name' => '低风险作业',
|
|
|
+ 'type' => 'bar',
|
|
|
+ 'stack'=> 'bar_3',
|
|
|
+ 'data' => [],
|
|
|
+ 'itemStyle' => [
|
|
|
+ 'color' => '#2BB200',
|
|
|
+ 'borderRadius' => [10,10,10,10]
|
|
|
+ ]
|
|
|
+ ]
|
|
|
+ ];
|
|
|
+
|
|
|
+ while ($current_date <= $end_date) {
|
|
|
+ array_push($result['xAxis']['data'],$current_date);
|
|
|
+ array_push($result['series'][0]['data'],DB::connection('task_xixuan')->table('xx_risk_assignment')->whereDate('optdt', $current_date)->where('risk_level',0)->count());
|
|
|
+ array_push($result['series'][1]['data'],DB::connection('task_xixuan')->table('xx_risk_assignment')->whereDate('optdt', $current_date)->where('risk_level',1)->count());
|
|
|
+ array_push($result['series'][2]['data'],DB::connection('task_xixuan')->table('xx_risk_assignment')->whereDate('optdt', $current_date)->where('risk_level',2)->count());
|
|
|
+ $current_date = date('Y-m-d', strtotime($current_date . ' +1 day'));
|
|
|
+ $i++;
|
|
|
+ }
|
|
|
+
|
|
|
+ return self::successResponse($result);
|
|
|
+ }
|
|
|
+
|
|
|
+ //时间段片区统计
|
|
|
+ public function timeAreaTotalV2(Request $request){
|
|
|
+ $params = $request->all();
|
|
|
+
|
|
|
+ if (isset($params['area_id'])) {
|
|
|
+ $area_id = $params['area_id'];
|
|
|
+ }else{
|
|
|
+ $area_id = 1;
|
|
|
+ }
|
|
|
+
|
|
|
+ if(isset($params['start_date']) && isset($params['end_date'])){
|
|
|
+ $start_date = $params['start_date'];
|
|
|
+ $end_date = $params['end_date'];
|
|
|
+ }else{
|
|
|
+ $start_date = date('Y-m-d', strtotime(date('Y-m-d') . ' -6 day'));
|
|
|
+ $end_date = date('Y-m-d');
|
|
|
+ }
|
|
|
+
|
|
|
+ $coal_washery_id_list = DB::connection('task_xixuan')->table('xx_coal_washery')->where('area_id',$area_id)->pluck('id');
|
|
|
+
|
|
|
+ $result = [];
|
|
|
+ $current_date = $start_date;
|
|
|
+ $i = 0;
|
|
|
+
|
|
|
+ //当日片区数
|
|
|
+ $result['data'] = [
|
|
|
+ [
|
|
|
+ 'number' => DB::connection('task_xixuan')->table('xx_risk_assignment')->whereIn('coal_washery_id',$coal_washery_id_list)->whereDate('optdt', date('Y-m-d'))->where('risk_level',0)->count(),
|
|
|
+ 'unit' => '项',
|
|
|
+ 'title' => '高风险作业',
|
|
|
+ 'color' => '#DA0000'
|
|
|
+ ],
|
|
|
+ [
|
|
|
+ 'number' => DB::connection('task_xixuan')->table('xx_risk_assignment')->whereIn('coal_washery_id',$coal_washery_id_list)->whereDate('optdt', date('Y-m-d'))->where('risk_level',1)->count(),
|
|
|
+ 'unit' => '项',
|
|
|
+ 'title' => '中风险作业',
|
|
|
+ 'color' => '#FFBA00'
|
|
|
+ ],
|
|
|
+ [
|
|
|
+ 'number' => DB::connection('task_xixuan')->table('xx_risk_assignment')->whereIn('coal_washery_id',$coal_washery_id_list)->whereDate('optdt', date('Y-m-d'))->where('risk_level',2)->count(),
|
|
|
+ 'unit' => '项',
|
|
|
+ 'title' => '低风险作业',
|
|
|
+ 'color' => '#2BB200'
|
|
|
+ ]
|
|
|
+ ];
|
|
|
+
|
|
|
+ $result['xAxis']['type'] = 'category';
|
|
|
+ $result['xAxis']['data'] = [];
|
|
|
+ $result['series'] = [
|
|
|
+ [
|
|
|
+ 'name' => '高风险作业',
|
|
|
+ 'type' => 'line',
|
|
|
+ 'data' => [],
|
|
|
+ 'itemStyle' => [
|
|
|
+ 'color' => '#DA0000',
|
|
|
+ 'borderRadius' => [10,10,10,10]
|
|
|
+ ]
|
|
|
+ ],
|
|
|
+ [
|
|
|
+ 'name' => '中风险作业',
|
|
|
+ 'type' => 'line',
|
|
|
+ 'data' => [],
|
|
|
+ 'itemStyle' => [
|
|
|
+ 'color' => '#FFBA00',
|
|
|
+ 'borderRadius' => [10,10,10,10]
|
|
|
+ ]
|
|
|
+ ],
|
|
|
+ [
|
|
|
+ 'name' => '低风险作业',
|
|
|
+ 'type' => 'line',
|
|
|
+ 'data' => [],
|
|
|
+ 'itemStyle' => [
|
|
|
+ 'color' => '#2BB200',
|
|
|
+ 'borderRadius' => [10,10,10,10]
|
|
|
+ ]
|
|
|
+ ]
|
|
|
+ ];
|
|
|
+
|
|
|
+ while ($current_date <= $end_date) {
|
|
|
+ array_push($result['xAxis']['data'],$current_date);
|
|
|
+ array_push($result['series'][0]['data'],DB::connection('task_xixuan')->table('xx_risk_assignment')->whereIn('coal_washery_id',$coal_washery_id_list)->whereDate('optdt', $current_date)->where('risk_level',0)->count());
|
|
|
+ array_push($result['series'][1]['data'],DB::connection('task_xixuan')->table('xx_risk_assignment')->whereIn('coal_washery_id',$coal_washery_id_list)->whereDate('optdt', $current_date)->where('risk_level',1)->count());
|
|
|
+ array_push($result['series'][2]['data'],DB::connection('task_xixuan')->table('xx_risk_assignment')->whereIn('coal_washery_id',$coal_washery_id_list)->whereDate('optdt', $current_date)->where('risk_level',2)->count());
|
|
|
+ $current_date = date('Y-m-d', strtotime($current_date . ' +1 day'));
|
|
|
+ $i++;
|
|
|
+ }
|
|
|
+
|
|
|
+ return self::successResponse($result);
|
|
|
+ }
|
|
|
+
|
|
|
+ //洗煤厂统计
|
|
|
+ public function coalWasheryTotalV2(Request $request){
|
|
|
+ $params = $request->all();
|
|
|
+
|
|
|
+ if(isset($params['area_id'])){
|
|
|
+ $area = [$params['area_id']];
|
|
|
+ }else{
|
|
|
+ $area = [1,2];
|
|
|
+ }
|
|
|
+
|
|
|
+ $coal_washery = DB::connection('task_xixuan')->table('xx_coal_washery')->whereIn('area_id',$area)->get();
|
|
|
+ if(count($coal_washery) > 0){
|
|
|
+ for($i=0;$i<count($coal_washery);$i++){
|
|
|
+ $result[$i]['unit_name'] = $coal_washery[$i]->name;
|
|
|
+ $result[$i]['coal_washery_id'] = $coal_washery[$i]->id;
|
|
|
+ $result[$i]['data'] = [
|
|
|
+ [
|
|
|
+ 'label' => '高',
|
|
|
+ 'value' => DB::connection('task_xixuan')->table('xx_risk_assignment')->where('coal_washery_id',$coal_washery[$i]->id)->where('risk_level',0)->whereDate('optdt', today())->count(),
|
|
|
+ 'color' => '#DA0000'
|
|
|
+ ],
|
|
|
+ [
|
|
|
+ 'label' => '中',
|
|
|
+ 'value' => DB::connection('task_xixuan')->table('xx_risk_assignment')->where('coal_washery_id',$coal_washery[$i]->id)->where('risk_level',1)->whereDate('optdt', today())->count(),
|
|
|
+ 'color' => '#FFBA00'
|
|
|
+ ],
|
|
|
+ [
|
|
|
+ 'label' => '低',
|
|
|
+ 'value' => DB::connection('task_xixuan')->table('xx_risk_assignment')->where('coal_washery_id',$coal_washery[$i]->id)->where('risk_level',2)->whereDate('optdt', today())->count(),
|
|
|
+ 'color' => '#2BB200'
|
|
|
+ ],
|
|
|
+ ];
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ return self::successResponse($result);
|
|
|
+ }
|
|
|
+
|
|
|
+ //风险作业列表
|
|
|
+ public function riskWorkListV2(Request $request){
|
|
|
+ $params = $request->all();
|
|
|
+
|
|
|
+ if(isset($params['type'])){
|
|
|
+ $type = [$params['type']];
|
|
|
+ }else{
|
|
|
+ $type = [0,1,2];
|
|
|
+ }
|
|
|
+
|
|
|
+ $list = [];
|
|
|
+ if(isset($params['area_id'])){
|
|
|
+ $list = DB::connection('task_xixuan')->table('xx_coal_washery')->where('area_id',$params['area_id'])->pluck('id');
|
|
|
+ }
|
|
|
+ if(isset($params['coal_washery_id'])){
|
|
|
+ $list = [$params['coal_washery_id']];
|
|
|
+ }
|
|
|
+
|
|
|
+ $coal_washery_list = DB::connection('task_xixuan')->table('xx_coal_washery')->get();
|
|
|
+ if(count($coal_washery_list) > 0){
|
|
|
+ for($i=0;$i<count($coal_washery_list);$i++){
|
|
|
+ $result['unit_list'][$i]['text'] = $coal_washery_list[$i]->name;
|
|
|
+ $result['unit_list'][$i]['value'] = $coal_washery_list[$i]->name;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ $risk = DB::connection('task_xixuan')->table('xx_risk_assignment');
|
|
|
+ $risk = $risk->select('xx_risk_assignment.*','xx_coal_washery.name as coal_washery');
|
|
|
+ $risk = $risk->leftJoin('xx_coal_washery','xx_coal_washery.id','=','xx_risk_assignment.coal_washery_id');
|
|
|
+ if(count($list) > 0){
|
|
|
+ $risk = $risk->whereIn('coal_washery_id',$list);
|
|
|
+ }
|
|
|
+ $risk = $risk->whereDate('xx_risk_assignment.optdt', today());
|
|
|
+ if(isset($params['id'])){
|
|
|
+ $risk = $risk->where('xx_coal_washery.id',$params['id']);
|
|
|
+ }
|
|
|
+ $risk = $risk->whereIn('risk_level',$type)->get();
|
|
|
+
|
|
|
+ $risk_level = ['高风险','中风险','低风险'];
|
|
|
+ $risk_type = ['高空坠落','起重伤害','触电','火灾','机械伤害','中毒和窒息'];
|
|
|
+
|
|
|
+ $result['data'] = [];
|
|
|
+ if(count($risk) > 0){
|
|
|
+ for($i=0;$i<count($risk);$i++){
|
|
|
+ $result['data'][$i]['id'] = $risk[$i]->id;
|
|
|
+ $result['data'][$i]['unit_name'] = $risk[$i]->coal_washery;
|
|
|
+ $result['data'][$i]['place'] = $risk[$i]->work_location;
|
|
|
+ $result['data'][$i]['content'] = $risk[$i]->risk_name;
|
|
|
+
|
|
|
+ $result['data'][$i]['work_people'] = $risk[$i]->work_people;
|
|
|
+ $result['data'][$i]['work_num'] = $risk[$i]->work_num;
|
|
|
+ $result['data'][$i]['risk_level'] = $risk_level[$risk[$i]->risk_level];
|
|
|
+ if($risk[$i]->risk_type != null){
|
|
|
+ $result['data'][$i]['risk_type'] = $risk_type[$risk[$i]->risk_type];
|
|
|
+ }else{
|
|
|
+ $result['data'][$i]['risk_type'] = '无';
|
|
|
+ }
|
|
|
+ $result['data'][$i]['coal_washery'] = $risk[$i]->coal_washery;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ return self::successResponse($result);
|
|
|
+ }
|
|
|
+
|
|
|
+ //风险作业详情
|
|
|
+ public function riskWorkDetailV2(Request $request){
|
|
|
+ $params = $request->all();
|
|
|
+
|
|
|
+ if (!isset($params['id'])) {
|
|
|
+ return self::errorResponse(ApiEnum::STATUS_CODE_EMPTY);
|
|
|
+ }
|
|
|
+
|
|
|
+ $risk_type = ['高空坠落','起重伤害','触电','火灾','机械伤害','中毒和窒息'];
|
|
|
+ $risk_level = ['高风险','中风险','低风险'];
|
|
|
+
|
|
|
+ $type = '';
|
|
|
+ $camera_name = '无';
|
|
|
+ $result['camera']['camera_id'] = '';
|
|
|
+ $result['camera']['parent_id'] = '';
|
|
|
+
|
|
|
+ $move_type = '';
|
|
|
+ $move_camera_name = '无';
|
|
|
+ $result['move_camera']['camera_id'] = '';
|
|
|
+ $result['move_camera']['parent_id'] = '';
|
|
|
+
|
|
|
+ $zhifa_type = '';
|
|
|
+ $zhifa_camera_name = '无';
|
|
|
+ $result['zhifa_camera']['camera_id'] = '';
|
|
|
+ $result['zhifa_camera']['parent_id'] = '';
|
|
|
+
|
|
|
+ $risk = DB::connection('task_xixuan')->table('xx_risk_assignment')
|
|
|
+ ->select('xx_risk_assignment.*','xx_coal_washery.name as coal_washery')
|
|
|
+ ->leftJoin('xx_coal_washery','xx_coal_washery.id','=','xx_risk_assignment.coal_washery_id')
|
|
|
+ ->where('xx_risk_assignment.id',$params['id'])->get();
|
|
|
+
|
|
|
+ if(count($risk) > 0){
|
|
|
+ $camera_info = explode('|',$risk[0]->camera_id);
|
|
|
+
|
|
|
+ if(count($camera_info) > 1){
|
|
|
+ $camera_name = $camera_info[2];
|
|
|
+ $is_hak = MineListExt::where('mine_id', $camera_info[1])->value('is_hak');
|
|
|
+ if($is_hak == 2){
|
|
|
+ $type = 'rtsp';
|
|
|
+ }else{
|
|
|
+ $type = 'm3u8';
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ $move_camera_info = explode('|',$risk[0]->move_camera_id);
|
|
|
+
|
|
|
+ if(count($move_camera_info) > 1){
|
|
|
+ $move_camera_name = $move_camera_info[2];
|
|
|
+ $is_hak = MineListExt::where('mine_id', $move_camera_info[1])->value('is_hak');
|
|
|
+ if($is_hak == 2){
|
|
|
+ $move_type = 'rtsp';
|
|
|
+ }else{
|
|
|
+ $move_type = 'm3u8';
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ $zhifa_camera_info = explode('|',$risk[0]->zhifa_camera_id);
|
|
|
+
|
|
|
+ if(count($zhifa_camera_info) > 1){
|
|
|
+ $zhifa_camera_name = $zhifa_camera_info[2];
|
|
|
+ $is_hak = MineListExt::where('mine_id', $zhifa_camera_info[1])->value('is_hak');
|
|
|
+ if($is_hak == 2){
|
|
|
+ $zhifa_type = 'rtsp';
|
|
|
+ }else{
|
|
|
+ $zhifa_type = 'm3u8';
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ if($risk[0]->risk_type != '' && $risk[0]->risk_type !=null){
|
|
|
+ $risk_type_value = $risk_type[$risk[0]->risk_type];
|
|
|
+ }else{
|
|
|
+ $risk_type_value = '无';
|
|
|
+ }
|
|
|
+
|
|
|
+ $result['detail'] = [
|
|
|
+ [
|
|
|
+ 'label' => '所属单位:',
|
|
|
+ 'value' => $risk[0]->unit
|
|
|
+ ],
|
|
|
+ [
|
|
|
+ 'label' => '区队名称:',
|
|
|
+ 'value' => $risk[0]->coal_washery
|
|
|
+ ],
|
|
|
+ [
|
|
|
+ 'label' => '班次:',
|
|
|
+ 'value' => $risk[0]->classes
|
|
|
+ ],
|
|
|
+ [
|
|
|
+ 'label' => '作业人数:',
|
|
|
+ 'value' => $risk[0]->work_num
|
|
|
+ ],
|
|
|
+ [
|
|
|
+ 'label' => '风险等级:',
|
|
|
+ 'value' => $risk_level[$risk[0]->risk_level]
|
|
|
+ ],
|
|
|
+ [
|
|
|
+ 'label' => '风险类型:',
|
|
|
+ 'value' => $risk_type_value
|
|
|
+ ],
|
|
|
+ [
|
|
|
+ 'label' => '作业内容:',
|
|
|
+ 'value' => $risk[0]->risk_name
|
|
|
+ ],
|
|
|
+ [
|
|
|
+ 'label' => '作业地点:',
|
|
|
+ 'value' => $risk[0]->work_location
|
|
|
+ ],
|
|
|
+ [
|
|
|
+ 'label' => '现场负责人:',
|
|
|
+ 'value' => $risk[0]->work_people
|
|
|
+ ],
|
|
|
+ [
|
|
|
+ 'label' => '进展情况:',
|
|
|
+ 'value' => $risk[0]->describe
|
|
|
+ ],
|
|
|
+ [
|
|
|
+ 'label' => '固定摄像头:',
|
|
|
+ 'value' => $camera_name
|
|
|
+ ],
|
|
|
+ [
|
|
|
+ 'label' => '移动摄像头:',
|
|
|
+ 'value' => $move_camera_name
|
|
|
+ ],
|
|
|
+ [
|
|
|
+ 'label' => '执法记录仪:',
|
|
|
+ 'value' => $zhifa_camera_name
|
|
|
+ ],
|
|
|
+ ];
|
|
|
+
|
|
|
+ $camera_id = explode('|',$risk[0]->camera_id);
|
|
|
+
|
|
|
+ if(count($camera_id) > 1){
|
|
|
+ $result['camera']['camera_id'] = $camera_id[0];
|
|
|
+ $result['camera']['parent_id'] = $camera_id[1];
|
|
|
+ }
|
|
|
+
|
|
|
+ $result['camera']['camera_type'] = $type;
|
|
|
+
|
|
|
+ $move_camera_id = explode('|',$risk[0]->move_camera_id);
|
|
|
+
|
|
|
+ if(count($move_camera_id) > 1){
|
|
|
+ $result['move_camera']['camera_id'] = $move_camera_id[0];
|
|
|
+ $result['move_camera']['parent_id'] = $move_camera_id[1];
|
|
|
+ }
|
|
|
+
|
|
|
+ $result['move_camera']['camera_type'] = $move_type;
|
|
|
+
|
|
|
+ $zhifa_camera_id = explode('|',$risk[0]->zhifa_camera_id);
|
|
|
+
|
|
|
+ if(count($zhifa_camera_id) > 1){
|
|
|
+ $result['zhifa_camera']['camera_id'] = $zhifa_camera_id[0];
|
|
|
+ $result['zhifa_camera']['parent_id'] = $zhifa_camera_id[1];
|
|
|
+ }
|
|
|
+
|
|
|
+ $result['zhifa_camera']['camera_type'] = $zhifa_type;
|
|
|
+ }
|
|
|
+
|
|
|
+ return self::successResponse($result);
|
|
|
+ }
|
|
|
+
|
|
|
+ //首頁信息
|
|
|
+ public function taskHomeV2(Request $request){
|
|
|
+ $risk_type = ['高空坠落','起重伤害','触电','火灾','机械伤害','中毒和窒息'];
|
|
|
+ $risk_level = ['高风险','中风险','低风险'];
|
|
|
+
|
|
|
+ //高风险作业
|
|
|
+ $gaofengxian = DB::connection('task_xixuan')->table('xx_risk_assignment')
|
|
|
+ ->select('xx_risk_assignment.*','xx_coal_washery.name as coal_washery')
|
|
|
+ ->leftJoin('xx_coal_washery','xx_coal_washery.id','=','xx_risk_assignment.coal_washery_id')
|
|
|
+ ->whereDate('xx_risk_assignment.optdt', today())
|
|
|
+ ->where('risk_level',0)->get();
|
|
|
+ if(count($gaofengxian) > 0){
|
|
|
+ for($i=0;$i<count($gaofengxian);$i++){
|
|
|
+ if($gaofengxian[$i]->risk_type == ''){
|
|
|
+ $gaofengxian[$i]->risk_type_name = '无';
|
|
|
+ }else{
|
|
|
+ $gaofengxian[$i]->risk_type_name = $risk_type[$gaofengxian[$i]->risk_type];
|
|
|
+ }
|
|
|
+ $camera_info = explode('|',$gaofengxian[$i]->camera_id);
|
|
|
+ $gaofengxian[$i]->camera_type = CameraEnum::CAMERA_TYPE_EXCHANGE[$camera_info[3]];
|
|
|
+ $gaofengxian[$i]->risk_level_name = $risk_level[$gaofengxian[$i]->risk_level];
|
|
|
+ }
|
|
|
+ }
|
|
|
+ $result['gao_count'] = count($gaofengxian);
|
|
|
+ $result['gao'] = $gaofengxian;
|
|
|
+
|
|
|
+ //中风险作业
|
|
|
+ $zhongfengxian = DB::connection('task_xixuan')->table('xx_risk_assignment')
|
|
|
+ ->select('xx_risk_assignment.*','xx_coal_washery.name as coal_washery')
|
|
|
+ ->leftJoin('xx_coal_washery','xx_coal_washery.id','=','xx_risk_assignment.coal_washery_id')
|
|
|
+ ->whereDate('xx_risk_assignment.optdt', today())
|
|
|
+ ->where('risk_level',1)->get();
|
|
|
+ if(count($zhongfengxian) > 0){
|
|
|
+ for($i=0;$i<count($zhongfengxian);$i++){
|
|
|
+ if($zhongfengxian[$i]->risk_type == ''){
|
|
|
+ $zhongfengxian[$i]->risk_type_name = '无';
|
|
|
+ }else{
|
|
|
+ $zhongfengxian[$i]->risk_type_name = $risk_type[$zhongfengxian[$i]->risk_type];
|
|
|
+ }
|
|
|
+ $camera_info = explode('|',$zhongfengxian[$i]->camera_id);
|
|
|
+ $zhongfengxian[$i]->camera_type = CameraEnum::CAMERA_TYPE_EXCHANGE[$camera_info[3]];
|
|
|
+ $zhongfengxian[$i]->risk_level_name = $risk_level[$zhongfengxian[$i]->risk_level];
|
|
|
+ }
|
|
|
+ }
|
|
|
+ $result['zhong_count'] = count($zhongfengxian);
|
|
|
+ $result['zhong'] = $zhongfengxian;
|
|
|
+
|
|
|
+ //低风险作业
|
|
|
+ $difengxian = DB::connection('task_xixuan')->table('xx_risk_assignment')
|
|
|
+ ->select('xx_risk_assignment.*','xx_coal_washery.name as coal_washery')
|
|
|
+ ->leftJoin('xx_coal_washery','xx_coal_washery.id','=','xx_risk_assignment.coal_washery_id')
|
|
|
+ ->whereDate('xx_risk_assignment.optdt', today())
|
|
|
+ ->where('risk_level',2)->get();
|
|
|
+ if(count($difengxian) > 0){
|
|
|
+ for($i=0;$i<count($difengxian);$i++){
|
|
|
+ if($difengxian[$i]->risk_type == ''){
|
|
|
+ $difengxian[$i]->risk_type_name = '无';
|
|
|
+ }else{
|
|
|
+ $difengxian[$i]->risk_type_name = $risk_type[$difengxian[$i]->risk_type];
|
|
|
+ }
|
|
|
+ $camera_info = explode('|',$difengxian[$i]->camera_id);
|
|
|
+ $difengxian[$i]->camera_type = CameraEnum::CAMERA_TYPE_EXCHANGE[$camera_info[3]];
|
|
|
+ $difengxian[$i]->risk_level_name = $risk_level[$difengxian[$i]->risk_level];
|
|
|
+ }
|
|
|
+ }
|
|
|
+ $result['di_count'] = count($difengxian);
|
|
|
+ $result['di'] = $difengxian;
|
|
|
+
|
|
|
+ //片区作业数
|
|
|
+ $area = DB::connection('task_xixuan')->table('xx_area')->get();
|
|
|
+ $result['area_count'] = [];
|
|
|
+ if(count($area) > 0){
|
|
|
+ for($i=0;$i<count($area);$i++){
|
|
|
+ $result['area_count'][$i]['name'] = $area[$i]->name;
|
|
|
+ $coal_washery_id_list = DB::connection('task_xixuan')->table('xx_coal_washery')->where('area_id',$area[$i]->id)->pluck('id');
|
|
|
+ $result['area_count'][$i]['count'] = DB::connection('task_xixuan')->table('xx_risk_assignment')->whereIn('coal_washery_id',$coal_washery_id_list)->whereDate('optdt', today())->count();
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ //洗煤厂作业
|
|
|
+ $coal_washery = DB::connection('task_xixuan')->table('xx_coal_washery')->get();
|
|
|
+ $result['coal_washery_work_count'] = [];
|
|
|
+ if(count($coal_washery) > 0){
|
|
|
+ for($i=0;$i<count($coal_washery);$i++){
|
|
|
+ $result['coal_washery_work_count'][$i]['name'] = $coal_washery[$i]->name;
|
|
|
+ $result['coal_washery_work_count'][$i]['gao'] = DB::connection('task_xixuan')->table('xx_risk_assignment')->where('coal_washery_id',$coal_washery[$i]->id)->where('risk_level',0)->whereDate('optdt', today())->count();
|
|
|
+ $result['coal_washery_work_count'][$i]['zhong'] = DB::connection('task_xixuan')->table('xx_risk_assignment')->where('coal_washery_id',$coal_washery[$i]->id)->where('risk_level',1)->whereDate('optdt', today())->count();
|
|
|
+ $result['coal_washery_work_count'][$i]['di'] = DB::connection('task_xixuan')->table('xx_risk_assignment')->where('coal_washery_id',$coal_washery[$i]->id)->where('risk_level',2)->whereDate('optdt', today())->count();
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ //7天作业数
|
|
|
+ $result['seven_work_count'] = [];
|
|
|
+ for($i=0;$i<7;$i++){
|
|
|
+ $day = date('Y-m-d', strtotime('-'.$i.' day'));
|
|
|
+ $result['seven_work_count'][$i]['date'] = $day;
|
|
|
+ $result['seven_work_count'][$i]['gao'] = DB::connection('task_xixuan')->table('xx_risk_assignment')->whereDate('optdt', $day)->where('risk_level',0)->count();
|
|
|
+ $result['seven_work_count'][$i]['zhong'] = DB::connection('task_xixuan')->table('xx_risk_assignment')->whereDate('optdt', $day)->where('risk_level',1)->count();
|
|
|
+ $result['seven_work_count'][$i]['di'] = DB::connection('task_xixuan')->table('xx_risk_assignment')->whereDate('optdt', $day)->where('risk_level',2)->count();
|
|
|
+ }
|
|
|
+
|
|
|
+ //7天片区作业数
|
|
|
+ $result['seven_area_work_count'] = [];
|
|
|
+ if(count($area) > 0){
|
|
|
+ for($i=0;$i<count($area);$i++){
|
|
|
+ $result['seven_area_work_count'][$i]['name'] = $area[$i]->name;
|
|
|
+ $result['seven_area_work_count'][$i]['area_id'] = $area[$i]->id;
|
|
|
+ for($j=0;$j<7;$j++){
|
|
|
+ $day = date('Y-m-d', strtotime('-'.$j.' day'));
|
|
|
+ $result['seven_area_work_count'][$i]['work'][$j]['date'] = $day;
|
|
|
+ $coal_washery_id_list = DB::connection('task_xixuan')->table('xx_coal_washery')->where('area_id',$area[$i]->id)->pluck('id');
|
|
|
+ $result['seven_area_work_count'][$i]['work'][$j]['gao'] = DB::connection('task_xixuan')->table('xx_risk_assignment')->whereIn('coal_washery_id',$coal_washery_id_list)->whereDate('optdt', $day)->where('risk_level',0)->count();
|
|
|
+ $result['seven_area_work_count'][$i]['work'][$j]['zhong'] = DB::connection('task_xixuan')->table('xx_risk_assignment')->whereIn('coal_washery_id',$coal_washery_id_list)->whereDate('optdt', $day)->where('risk_level',1)->count();
|
|
|
+ $result['seven_area_work_count'][$i]['work'][$j]['di'] = DB::connection('task_xixuan')->table('xx_risk_assignment')->whereIn('coal_washery_id',$coal_washery_id_list)->whereDate('optdt', $day)->where('risk_level',2)->count();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ return self::successResponse($result);
|
|
|
+ }
|
|
|
+
|
|
|
+ //首页作业查询
|
|
|
+ public function workSearchV2(Request $request){
|
|
|
+ $params = $request->all();
|
|
|
+
|
|
|
+ if (!isset($params['start_date'])) {
|
|
|
+ return self::errorResponse(ApiEnum::STATUS_CODE_EMPTY);
|
|
|
+ }
|
|
|
+
|
|
|
+ if (!isset($params['end_date'])) {
|
|
|
+ return self::errorResponse(ApiEnum::STATUS_CODE_EMPTY);
|
|
|
+ }
|
|
|
+
|
|
|
+ $result = [];
|
|
|
+ $start_date = $params['start_date'];
|
|
|
+ $end_date = $params['end_date'];
|
|
|
+ $current_date = $start_date;
|
|
|
+ $i = 0;
|
|
|
+ while ($current_date <= $end_date) {
|
|
|
+ $result[$i]['date'] = $current_date;
|
|
|
+ $result[$i]['gao'] = DB::connection('task_xixuan')->table('xx_risk_assignment')->whereDate('optdt', $current_date)->where('risk_level',0)->count();
|
|
|
+ $result[$i]['zhong'] = DB::connection('task_xixuan')->table('xx_risk_assignment')->whereDate('optdt', $current_date)->where('risk_level',1)->count();
|
|
|
+ $result[$i]['di'] = DB::connection('task_xixuan')->table('xx_risk_assignment')->whereDate('optdt', $current_date)->where('risk_level',2)->count();
|
|
|
+ $current_date = date('Y-m-d', strtotime($current_date . ' +1 day'));
|
|
|
+ $i++;
|
|
|
+ }
|
|
|
+
|
|
|
+ return self::successResponse($result);
|
|
|
+ }
|
|
|
+
|
|
|
+ //首页片区作业查询
|
|
|
+ public function areaWorkSearchV2(Request $request){
|
|
|
+ $params = $request->all();
|
|
|
+
|
|
|
+ if (!isset($params['start_date'])) {
|
|
|
+ return self::errorResponse(ApiEnum::STATUS_CODE_EMPTY);
|
|
|
+ }
|
|
|
+
|
|
|
+ if (!isset($params['end_date'])) {
|
|
|
+ return self::errorResponse(ApiEnum::STATUS_CODE_EMPTY);
|
|
|
+ }
|
|
|
+
|
|
|
+ if (!isset($params['area_id'])) {
|
|
|
+ return self::errorResponse(ApiEnum::STATUS_CODE_EMPTY);
|
|
|
+ }
|
|
|
+
|
|
|
+ $coal_washery_id_list = DB::connection('task_xixuan')->table('xx_coal_washery')->where('area_id',$params['area_id'])->pluck('id');
|
|
|
+ $result = [];
|
|
|
+ $start_date = $params['start_date'];
|
|
|
+ $end_date = $params['end_date'];
|
|
|
+ $current_date = $start_date;
|
|
|
+ $i = 0;
|
|
|
+
|
|
|
+ while ($current_date <= $end_date) {
|
|
|
+ $result[$i]['date'] = $current_date;
|
|
|
+ $result[$i]['gao'] = DB::connection('task_xixuan')->table('xx_risk_assignment')->whereIn('coal_washery_id',$coal_washery_id_list)->whereDate('optdt', $current_date)->where('risk_level',0)->count();
|
|
|
+ $result[$i]['zhong'] = DB::connection('task_xixuan')->table('xx_risk_assignment')->whereIn('coal_washery_id',$coal_washery_id_list)->whereDate('optdt', $current_date)->where('risk_level',1)->count();
|
|
|
+ $result[$i]['di'] = DB::connection('task_xixuan')->table('xx_risk_assignment')->whereIn('coal_washery_id',$coal_washery_id_list)->whereDate('optdt', $current_date)->where('risk_level',2)->count();
|
|
|
+ $current_date = date('Y-m-d', strtotime($current_date . ' +1 day'));
|
|
|
+ $i++;
|
|
|
+ }
|
|
|
+
|
|
|
+ return self::successResponse($result);
|
|
|
+ }
|
|
|
+
|
|
|
//图片上传
|
|
|
public function uploadImg(Request $request){
|
|
|
$file = $request->file('file');
|