Explorar o código

改查询条件

qr hai 6 meses
pai
achega
02a849cd65
Modificáronse 1 ficheiros con 163 adicións e 44 borrados
  1. 163 44
      Modules/Camera/Http/Controllers/Api/CameraApiController.php

+ 163 - 44
Modules/Camera/Http/Controllers/Api/CameraApiController.php

@@ -2916,7 +2916,12 @@ class CameraApiController extends BaseController
         $risk_desc = ['高风险','中风险','低风险'];
         $risk_describe_dict = [0=>"设备日常护理", 1=>"停产检修", 2=>"大中修", 3=>"计划性检修", 4=>"委外施工"];
         // 风险类型
-        $risk_type = DB::connection('mysql_fwe10')->table('field_option')->where('field_id', '1055270106096394246')->get();
+        $risk_type = DB::connection('mysql_fwe10')
+            ->table('field_option as t')
+            ->where('t.field_id', '1055270106096394246')
+            ->where('t.is_delete',0)
+            ->where('t.delete_type',0)
+            ->get();
         $risk_type_dict = [];
         foreach ($risk_type as $key=>$value) {
             $risk_type_key = $value->value_key;
@@ -2924,10 +2929,28 @@ class CameraApiController extends BaseController
             $risk_type_dict[$risk_type_key] = $risk_type_name;
         }
 
-        // 风险数据
-        $risk_list = DB::connection('mysql_fwe10')->table('uf_xx_risk_assignment')->whereDate('create_time', $date)->where('is_delete',0)->get();
-        // 洗煤厂数据
+        // 风险数据 is_delete = 0 and delete_type = 0 and flow_id is not null
+        $risk_list = DB::connection('mysql_fwe10')
+            ->table('uf_xx_risk_assignment as t')
+            ->whereDate('t.create_time', $date)
+            ->where('t.is_delete',0)
+            ->where('t.delete_type',0)
+            ->whereNotNull('t.flow_id');
+
+        if (!empty($coal_washery_id)) $risk_list->where('t.coal_washery_id', $coal_washery_id); // 筛选洗煤厂
+        if (!empty($area_id)) {
+            $risk_list->join('uf_xx_coal_washery as t1','t.coal_washery_id','=','t1.id')
+                ->where('t1.is_delete',0)
+                ->where('t1.delete_type',0)
+                ->join('uf_xx_area as t2','t1.area_id','=','t2.id')
+                ->where('t2.is_delete',0)
+                ->where('t2.delete_type',0)
+                ->where('t2.id', $area_id);
+        }
+
+        $risk_list = $risk_list->get();
 
+        // 洗煤厂数据
         $coal_washery_list = DB::connection('mysql_fwe10')->table('uf_xx_coal_washery as t')->where('t.is_delete',0);
         if (!empty($coal_washery_id)) $coal_washery_list->where('t.id', $coal_washery_id); // 筛选洗煤厂
         // 筛选片区
@@ -2961,13 +2984,16 @@ class CameraApiController extends BaseController
         $risk_zhong_con = [];
         $risk_gao_con = [];
         $coal_washery_risk_list = [];
-        $coal_washery_risk_waiwei = [];
-        $coal_washery_risk_ziying = [];
 
+        // 组织字典
         foreach ($risk_list as $key=>$value) {
+            // 获取洗煤厂ID
+            $coal_washery_id = $value->coal_washery_id;
+
             // 风险数量统计
-            $risk_level = $value->risk_level;
+            $risk_level = $value->risk_level;  // 风险类型
             $risk_type = $risk_type_dict[$value->risk_type] ?? 2;
+
             if($risk_level == 0) {
                 $res['gao']++;
                 if (!isset($risk_gao_con[$risk_type])) {
@@ -2987,15 +3013,14 @@ class CameraApiController extends BaseController
             }
 
             // 洗煤厂类型统计(委外、自营)
-            $col_washery_id = $value->coal_washery_id;
-            $col_washery_type = $coal_washery_dict[$col_washery_id]->obj_type ?? "<请检查洗煤厂是否已被删除!>";
-            if($col_washery_type == 0) {
+            $coal_washery_type = $coal_washery_dict[$coal_washery_id]->obj_type ?? "<请检查洗煤厂是否已被删除!>";
+            if($coal_washery_type == 0) {
                 $res['ziying']++;
-            } else if ($col_washery_type == 1) {
+            } else if ($coal_washery_type == 1) {
                 $res['waiwei']++;
             }
             // 煤矿风险列表
-            $coal_washery_risk_list[$col_washery_id][] = $value;
+            $coal_washery_risk_list[$coal_washery_id][] = $value;
         }
 
         $res['num'] = count($risk_list);
@@ -3024,18 +3049,18 @@ class CameraApiController extends BaseController
                     $risk_info = '';
                     if ($v->risk_level == 0) {
                         $gao++;
-                        $risk_info = '('.$risk_desc[$v->risk_level].':'.$risk_type_dict[$v->risk_type].')';
+                        $risk_info = '('.$risk_desc[$v->risk_level].''.$risk_type_dict[$v->risk_type].')';
                     } else if ($v->risk_level == 1) {
                         $zhong++;
-                        $risk_info = '('.$risk_desc[$v->risk_level].':'.$risk_type_dict[$v->risk_type].')';
+                        $risk_info = '('.$risk_desc[$v->risk_level].''.$risk_type_dict[$v->risk_type].')';
                     } else {
                         $di++;
                     }
 
-                    $content .= ++$risk_index.".".$v->risk_name.$risk_info.";";
+                    $content .= ++$risk_index.".".$v->risk_name.$risk_info."";
 
-                    $place .= $risk_index.".".$v->risk_location.";";
-                    $leader .= $risk_index.".".$v->work_people.";";
+                    $place .= $risk_index.".".$v->risk_location."";
+                    $leader .= $risk_index.".".$v->work_people."";
 
                     if (isset($v->shr) && !empty($v->shr)) {
                         $reviewer[] = $v->shr;
@@ -3110,7 +3135,21 @@ class CameraApiController extends BaseController
         $result['type_list'] = [];
         $index = 0;
 
-        $type_list = ['高空坠落','起重伤害','触电','火灾','机械伤害','中毒和窒息'];
+        // 风险类型
+        $risk_type = DB::connection('mysql_fwe10')
+            ->table('field_option as t')
+            ->where('field_id', '1055270106096394246')
+            ->where('t.is_delete',0)
+            ->where('t.delete_type',0)
+            ->get();
+        $risk_type_dict = [];
+        foreach ($risk_type as $key=>$value) {
+            $risk_type_key = $value->value_key;
+            $risk_type_name = $value->NAME;
+            $risk_type_dict[$risk_type_key] = $risk_type_name;
+        }
+
+        // $type_list = ['高空坠落','起重伤害','触电','火灾','机械伤害','中毒和窒息'];
 
         if(isset($params['date'])){
             $date = $params['date'];
@@ -3118,17 +3157,39 @@ class CameraApiController extends BaseController
             $date = date('Y-m-d');
         }
 
-        $coal_list = DB::connection('mysql_fwe10')->table('uf_xx_coal_washery')
-            ->select('uf_xx_coal_washery.*','uf_xx_area.title as area_title')
-            ->leftJoin('uf_xx_area','uf_xx_area.id','=','uf_xx_coal_washery.area_id')
-            ->where('uf_xx_coal_washery.is_delete',0)->orderBy('uf_xx_area.create_time')->orderBy('uf_xx_coal_washery.sort')->get();
+        $coal_list = DB::connection('mysql_fwe10')->table('uf_xx_coal_washery as t')
+            ->select('t.*','t1.title as area_title')
+            ->leftJoin('uf_xx_area as t1','t1.id','=','t.area_id')
+            ->where('t.is_delete',0)
+            ->where('t.delete_type',0)
+            ->orderBy('t1.create_time')
+            ->orderBy('t.sort')
+            ->get();
 
-        for($i=0;$i<count($type_list);$i++){
+        for($i=0;$i<count($risk_type_dict);$i++){
             for($j=0;$j<count($coal_list);$j++){
                 $risk_level = '';
 
-                $risk_gao_list = DB::connection('mysql_fwe10')->table('uf_xx_risk_assignment')->where('risk_level',0)->whereDate('create_time', $date)->where('IS_DELETE', 0)->where('coal_washery_id',$coal_list[$j]->ID)->where('risk_type',$i)->orderBy('create_time')->get();
-                $risk_zhong_list = DB::connection('mysql_fwe10')->table('uf_xx_risk_assignment')->where('risk_level',1)->whereDate('create_time', $date)->where('IS_DELETE', 0)->where('coal_washery_id',$coal_list[$j]->ID)->where('risk_type',$i)->orderBy('create_time')->get();
+                $risk_gao_list = DB::connection('mysql_fwe10')
+                    ->table('uf_xx_risk_assignment')
+                    ->where('risk_level',0)
+                    ->whereDate('create_time', $date)
+                    ->where('coal_washery_id',$coal_list[$j]->ID)
+                    ->where('risk_type',$i)
+                    ->where('is_delete',0)
+                    ->where('delete_type',0)
+                    ->whereNotNull('flow_id')
+                    ->orderBy('create_time')->get();
+                $risk_zhong_list = DB::connection('mysql_fwe10')
+                    ->table('uf_xx_risk_assignment')
+                    ->where('risk_level',1)
+                    ->whereDate('create_time', $date)
+                    ->where('coal_washery_id',$coal_list[$j]->ID)
+                    ->where('risk_type',$i)
+                    ->where('is_delete',0)
+                    ->where('delete_type',0)
+                    ->whereNotNull('flow_id')
+                    ->orderBy('create_time')->get();
 
                 if(count($risk_gao_list) > 0){
                     $risk_level = '高风险'.count($risk_gao_list).'项,';
@@ -3144,7 +3205,7 @@ class CameraApiController extends BaseController
                         $index++;
                         array_push($result['type_list'],[
                             'index'=>$index,
-                            'risk_type'=>$type_list[$i],
+                            'risk_type'=>$risk_type_dict[$i],
                             'risk_level'=>$risk_level,
                             'unit'=>$coal_list[$j]->title,
                             'content'=>$risk_gao_list[$x]->risk_name,
@@ -3161,7 +3222,7 @@ class CameraApiController extends BaseController
                         array_push($result['type_list'],[
                             'area'=>$coal_list[$j]->area_title,
                             'index'=>$index,
-                            'risk_type'=>$type_list[$i],
+                            'risk_type'=>$risk_type_dict[$i],
                             'risk_level'=>$risk_level,
                             'unit'=>$coal_list[$j]->title,
                             'content'=>$risk_zhong_list[$x]->risk_name,
@@ -3173,7 +3234,6 @@ class CameraApiController extends BaseController
                 }
             }
         }
-
         return $result;
     }
 
@@ -3189,12 +3249,27 @@ class CameraApiController extends BaseController
             $date = date('Y-m-d');
         }
 
-        $coal_list = DB::connection('mysql_fwe10')->table('uf_xx_coal_washery')
-            ->select('uf_xx_coal_washery.*','uf_xx_area.title as area_title')
-            ->leftJoin('uf_xx_area','uf_xx_area.id','=','uf_xx_coal_washery.area_id')
-            ->where('uf_xx_coal_washery.is_delete',0)->orderBy('uf_xx_area.create_time')->orderBy('uf_xx_coal_washery.sort')->get();
+        $coal_list = DB::connection('mysql_fwe10')->table('uf_xx_coal_washery as t')
+            ->select('t.*','uf_xx_area.title as area_title')
+            ->leftJoin('uf_xx_area as t1','t1.id','=','t.area_id')
+            ->where('t.is_delete',0)
+            ->orderBy('t1.create_time')
+            ->orderBy('t.sort')
+            ->where('t.is_delete',0)
+            ->where('t.delete_type',0)
+            ->where('t1.is_delete',0)
+            ->where('t1.delete_type',0)
+            ->get();
 
-        $risk_list = DB::connection('mysql_fwe10')->table('uf_xx_risk_assignment')->where('risk_level',2)->whereDate('create_time', $date)->where('IS_DELETE', 0)->where('move_camera','!=',null)->orderBy('create_time')->get();
+        $risk_list = DB::connection('mysql_fwe10')
+            ->table('uf_xx_risk_assignment as t')
+            ->where('risk_level',2)
+            ->whereDate('create_time', $date)
+            ->where('IS_DELETE', 0)
+            ->where('t.delete_type',0)
+            ->whereNotNull('flow_id')
+            ->where('move_camera','!=',null)
+            ->orderBy('create_time')->get();
         $risk_dict = [];
         foreach ($risk_list as $key => $value) {
             $risk_dict[$value->coal_washery_id][] = $value;
@@ -3236,13 +3311,16 @@ class CameraApiController extends BaseController
             $date = date('Y-m-d');
         }
 
-        $risk_data = DB::connection('mysql_fwe10')->table('uf_xx_risk_assignment')
-            ->select('uf_xx_risk_assignment.*','uf_xx_area.title')
-            ->leftJoin('uf_xx_coal_washery', 'uf_xx_risk_assignment.coal_washery_id', '=', 'uf_xx_coal_washery.id')
-            ->leftJoin('uf_xx_area', 'uf_xx_coal_washery.area_id', '=', 'uf_xx_area.id')
-            ->whereDate('uf_xx_risk_assignment.create_time', $date)
-            ->where('uf_xx_risk_assignment.is_delete',0)
-            ->where('uf_xx_risk_assignment.wcqk',0)
+        $risk_data = DB::connection('mysql_fwe10')->table('uf_xx_risk_assignment as t')
+            ->select('t.*','t2.title')
+            ->leftJoin('uf_xx_coal_washery as t1', 't.coal_washery_id', '=', 't1.id')
+            ->leftJoin('uf_xx_area as t2', 't1.area_id', '=', 't2.id')
+            ->whereDate('t.create_time', $date)
+            ->where('t.is_delete',0)
+            ->where('t.wcqk',0)
+            ->where('t.is_delete',0)
+            ->where('t.delete_type',0)
+            ->whereNotNull('t.flow_id')
             ->get();
 
         $level_arr = [
@@ -3330,10 +3408,33 @@ class CameraApiController extends BaseController
             $date = date('Y-m-d');
         }
 
-        $coal_list = DB::connection('mysql_fwe10')->table('uf_xx_coal_washery')->where('is_delete',0)->where('obj_type',0)->orderBy('sort')->get();
+        $coal_list = DB::connection('mysql_fwe10')
+            ->table('uf_xx_coal_washery as t')
+            ->where('obj_type',0)
+            ->where('t.is_delete',0)
+            ->where('t.delete_type',0)
+            ->orderBy('sort')->get();
+
+
+        $risk_list_data = DB::connection('mysql_fwe10')
+            ->table('uf_xx_risk_assignment as t')
+            ->whereDate('create_time', $date)
+//            ->where('coal_washery_id',$coal_list[$i]->ID)
+            ->where('wcqk',0)
+            ->where('t.is_delete',0)
+            ->where('t.delete_type',0)
+            ->whereNotNull('t.flow_id')
+            ->orderBy('create_time')->get();
+
+        $risk_list_list = [];
+        foreach ($risk_list_data as $key => $value) {
+            $risk_list_list[$value['coal_washery_id']] = $value;
+        }
+
         if(count($coal_list) > 0){
             for($i=0;$i<count($coal_list);$i++){
-                $risk_list = DB::connection('mysql_fwe10')->table('uf_xx_risk_assignment')->whereDate('create_time', $date)->where('IS_DELETE', 0)->where('coal_washery_id',$coal_list[$i]->ID)->where('wcqk',0)->orderBy('create_time')->get();
+                $id = $coal_list[$i]->ID;
+                $risk_list = $risk_list_list[$id] ?? null;
                 if(count($risk_list) > 0){
                     $gao = 0;
                     $zhong = 0;
@@ -3406,10 +3507,28 @@ class CameraApiController extends BaseController
             $date = date('Y-m-d');
         }
 
-        $coal_list = DB::connection('mysql_fwe10')->table('uf_xx_coal_washery')->where('is_delete',0)->where('obj_type',1)->orderBy('sort')->get();
+        $coal_list = DB::connection('mysql_fwe10')
+            ->table('uf_xx_coal_washery as t')
+            ->where('is_delete',0)
+            ->where('obj_type',1)
+            ->where('t.is_delete',0)
+            ->where('t.delete_type',0)
+            ->whereNotNull('t.flow_id')
+            ->orderBy('sort')->get();
+
         if(count($coal_list) > 0){
             for($i=0;$i<count($coal_list);$i++){
-                $risk_list = DB::connection('mysql_fwe10')->table('uf_xx_risk_assignment')->whereDate('create_time', $date)->where('IS_DELETE', 0)->where('coal_washery_id',$coal_list[$i]->ID)->where('wcqk',0)->orderBy('create_time')->get();
+                $risk_list = DB::connection('mysql_fwe10')
+                    ->table('uf_xx_risk_assignment as t')
+                    ->whereDate('create_time', $date)
+                    ->where('IS_DELETE', 0)
+                    ->where('coal_washery_id',$coal_list[$i]->ID)
+                    ->where('wcqk',0)
+                    ->where('t.is_delete',0)
+                    ->where('t.delete_type',0)
+                    ->whereNotNull('t.flow_id')
+                    ->orderBy('create_time')->get();
+
                 if(count($risk_list) > 0){
                     $gao = 0;
                     $zhong = 0;