浏览代码

fix:export1

Xu·LinPeng 21 小时之前
父节点
当前提交
1b8b3ffb36
共有 1 个文件被更改,包括 33 次插入7 次删除
  1. 33 7
      Modules/Camera/Http/Controllers/Api/CameraApiController.php

+ 33 - 7
Modules/Camera/Http/Controllers/Api/CameraApiController.php

@@ -3034,7 +3034,7 @@ class CameraApiController extends BaseController
 
     //导出总表
     public function export1(Request $request){
-        $params = $request->all();
+//        $params = $request->all();
 
         $date = $request->query('date', date('Y-m-d'));
         $coal_washery_id = $request->query('coal_washery_id');
@@ -3051,7 +3051,7 @@ class CameraApiController extends BaseController
             ->where('t.delete_type',0)
             ->get();
         // 如果上边查到的风险类型还有问题的话,就用下边的维护的,不要去查数据库
-        $risk_type_dict = ['高处坠落','起重伤害','触电','火灾','机械伤害','中毒和窒息','物体打击','淹溺','灼烫','受限空间','坍塌','锅炉爆炸','其他爆炸','其他伤害'];;
+        $risk_type_dict = ['高处坠落','起重伤害','触电','火灾','机械伤害','中毒和窒息','物体打击','淹溺','灼烫','受限空间','坍塌','锅炉爆炸','其他爆炸','其他伤害'];
         foreach ($risk_type as $key=>$value) {
             $risk_type_key = $value->value_key;
             $risk_type_name = $value->NAME;
@@ -3138,7 +3138,9 @@ class CameraApiController extends BaseController
         $coal_washery_list = $coal_washery_list->select('t.*')->orderBy('t.sort')->get();
 
 
+        // 存放每个洗煤厂的信息
         $coal_washery_dict = [];
+        // 存放每个洗煤厂是自营还是外委的信息,0 自营,1 外委
         $coal_washery_type_dict = [];
         foreach ($coal_washery_list as $key=>$value) {
             $coal_washery_dict[$value->ID] = $value;
@@ -3157,6 +3159,8 @@ class CameraApiController extends BaseController
             "waiwei_list"   => [],
             "table_list"    => [],
         ];
+
+        // 以下两行统计高风险中的不同风险类型各有几项(中风险同理)
         $risk_zhong_con = [];
         $risk_gao_con = [];
         $coal_washery_risk_list = [];
@@ -3168,7 +3172,8 @@ class CameraApiController extends BaseController
 
             // 风险数量统计
             $risk_level = $value->risk_level;  // 风险类型
-            $risk_type = $risk_type_dict[$value->risk_type] ?? 2;
+            // 当 $risk_type_dict[$value->risk_type] 存在时取对应的值,不存在时取值 未知风险
+            $risk_type = $risk_type_dict[$value->risk_type] ?? "未知风险";
 
             if($risk_level == 0) {
                 $res['gao']++;
@@ -3217,12 +3222,14 @@ class CameraApiController extends BaseController
                 $place = '';//作业地点
                 $leader = '';//负责人
                 $reviewer = [];//审核人
+                // 拿出当前id煤矿的所有风险
                 $coal_washery_risk_info_arr = $coal_washery_risk_list[$id];
 
-                // 如果修改后的代码可以正常运行一段时间,以下注释的代码都可以删除,修改时间2025/1/9
+
                 $risk_index = 0;
                 if (isset($coal_washery_type_dict[$id])) {
                     $coal_washery_type = $coal_washery_type_dict[$id];
+                    // 以下的if分支 无论是自营还是委外,处理的逻辑和步骤都是一样的,所以可以优化掉分支结构
                     if ($coal_washery_type == 0) {
                         foreach ($coal_washery_risk_info_arr as $k => $v) {
                             $people += $v->work_num;
@@ -3298,6 +3305,12 @@ class CameraApiController extends BaseController
                 if ($gao   > 0) $level_total .= '高风险'.$gao."项\n";
                 if ($zhong > 0) $level_total .= '中风险'.$zhong."项\n";
                 if ($di    > 0) $level_total .= '低风险'.$di.'项';
+                /**
+                 * 在下文中的¥line中,'unit' 、'classes' 和 'risk_dexcribe' 中的 $v 可能未定义
+                 * (如果能取到值应该是上文定义的 $v 中的遍历的最后一个的对应值)
+                 * 这两个的值是不合理的,但是目前系统中 unit 的值总是 洗选中心,
+                 * classes 和 risk_dexcribe 的值的准确性也没有要求
+                 */
                 $line = [
                     'index' => $index,
                     'unit' => $v->unit,
@@ -4282,7 +4295,7 @@ class CameraApiController extends BaseController
 
     // 导出委外作业
     public function export6(Request $request){
-        $params = $request->all();
+//        $params = $request->all();
 
         $date = $request->query('date', date('Y-m-d'));
         $coal_washery_id = $request->query('coal_washery_id');
@@ -4386,7 +4399,9 @@ class CameraApiController extends BaseController
         $coal_washery_list = $coal_washery_list->select('t.*')->orderBy('t.sort')->get();
 
 
+        // 存放每个洗煤厂的信息
         $coal_washery_dict = [];
+        // 存放每个洗煤厂是自营还是外委的信息,0 自营,1 外委
         $coal_washery_type_dict = [];
         foreach ($coal_washery_list as $key=>$value) {
             $coal_washery_dict[$value->ID] = $value;
@@ -4405,6 +4420,8 @@ class CameraApiController extends BaseController
             "waiwei_list"   => [],
             "table_list"    => [],
         ];
+
+        // 以下两行统计高风险中的不同风险类型各有几项(中风险同理)
         $risk_zhong_con = [];
         $risk_gao_con = [];
         $coal_washery_risk_list = [];
@@ -4416,7 +4433,8 @@ class CameraApiController extends BaseController
 
             // 风险数量统计
             $risk_level = $value->risk_level;  // 风险类型
-            $risk_type = $risk_type_dict[$value->risk_type] ?? 2;
+            // 当 $risk_type_dict[$value->risk_type] 存在时取对应的值,不存在时取值 未知风险
+            $risk_type = $risk_type_dict[$value->risk_type] ?? "未知风险";
 
             if($risk_level == 0) {
                 $res['gao']++;
@@ -4465,12 +4483,14 @@ class CameraApiController extends BaseController
                 $place = '';//作业地点
                 $leader = '';//负责人
                 $reviewer = [];//审核人
+                // 拿出当前id煤矿的所有风险
                 $coal_washery_risk_info_arr = $coal_washery_risk_list[$id];
 
-                // 如果修改后的代码可以正常运行一段时间,以下注释的代码都可以删除,修改时间2025/1/9
+
                 $risk_index = 0;
                 if (isset($coal_washery_type_dict[$id])) {
                     $coal_washery_type = $coal_washery_type_dict[$id];
+                    // 以下的if分支 无论是自营还是委外,处理的逻辑和步骤都是一样的,所以可以优化掉分支结构
                     if ($coal_washery_type == 0) {
                         foreach ($coal_washery_risk_info_arr as $k => $v) {
                             $people += $v->work_num;
@@ -4546,6 +4566,12 @@ class CameraApiController extends BaseController
                 if ($gao   > 0) $level_total .= '高风险'.$gao."项\n";
                 if ($zhong > 0) $level_total .= '中风险'.$zhong."项\n";
                 if ($di    > 0) $level_total .= '低风险'.$di.'项';
+                /**
+                 * 在下文中的¥line中,'unit' 、'classes' 和 'risk_dexcribe' 中的 $v 可能未定义
+                 * (如果能取到值应该是上文定义的 $v 中的遍历的最后一个的对应值)
+                 * 这两个的值是不合理的,但是目前系统中 unit 的值总是 洗选中心,
+                 * classes 和 risk_dexcribe 的值的准确性也没有要求
+                 */
                 $line = [
                     'index' => $index,
                     'unit' => $v->unit,