|
@@ -4282,7 +4282,6 @@ class CameraApiController extends BaseController
|
|
|
|
|
|
// 导出委外作业
|
|
|
public function export6(Request $request){
|
|
|
-
|
|
|
$date = $request->query('date', date('Y-m-d'));
|
|
|
$coal_washery_id = $request->query('coal_washery_id');
|
|
|
$area_id = $request->query('area_id');
|
|
@@ -4315,6 +4314,20 @@ class CameraApiController extends BaseController
|
|
|
->where('t.current_step','结束节点')
|
|
|
->whereNotNull('t.flow_id');
|
|
|
|
|
|
+
|
|
|
+ $previousDayTimestamp = strtotime($date . ' -1 day');
|
|
|
+ $previousDay = date('Y-m-d', $previousDayTimestamp);
|
|
|
+
|
|
|
+ $risk_list_previousDay = DB::connection('mysql_fwe10')
|
|
|
+ ->table('uf_xx_risk_assignment as t')
|
|
|
+ ->whereDate('t.create_time', $previousDay)
|
|
|
+ ->where('t.is_delete',0)
|
|
|
+ ->where('t.delete_type',0)
|
|
|
+ ->whereNotNull('t.wwdw')
|
|
|
+ ->whereNotNull('t.sgdd')
|
|
|
+ ->where('t.current_step','结束节点')
|
|
|
+ ->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')
|
|
@@ -4327,30 +4340,33 @@ class CameraApiController extends BaseController
|
|
|
->select([
|
|
|
't.*'
|
|
|
]);
|
|
|
+ $risk_list_previousDay->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)
|
|
|
+ ->select([
|
|
|
+ 't.*'
|
|
|
+ ]);
|
|
|
}
|
|
|
|
|
|
$risk_list = $risk_list->orderBy('risk_level')->get();
|
|
|
|
|
|
+ $risk_list_previousDay = $risk_list_previousDay->orderBy('risk_level')->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); // 筛选洗煤厂
|
|
|
- // 不要按片区筛选洗煤厂,因为有可能宁东片区的洗煤厂的施工地点在太西洗煤厂,反之亦然
|
|
|
-// if (!empty($area_id)) {
|
|
|
-// $coal_washery_list->leftJoin('uf_xx_area as t1','t1.id','=','t.area_id')
|
|
|
-// ->where('t1.id', $area_id);
|
|
|
-// }
|
|
|
|
|
|
$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;
|
|
|
-// $coal_washery_type_dict[$value->ID] = $value->obj_type;
|
|
|
}
|
|
|
|
|
|
$res = [
|
|
@@ -4410,6 +4426,7 @@ class CameraApiController extends BaseController
|
|
|
$coal_washery_risk_list[$coal_washery_id][] = $value;
|
|
|
}
|
|
|
|
|
|
+ $wwdwNum = count($outsourcedUnit_total);
|
|
|
$res['num'] = count($risk_list);
|
|
|
|
|
|
|
|
@@ -4435,7 +4452,60 @@ class CameraApiController extends BaseController
|
|
|
$risk_zhong_info = ";";
|
|
|
}
|
|
|
|
|
|
- $res['risk_info'] = "1.委外施工单位共".count($outsourcedUnit_total)."个,总作业项:".$res['num']."项;高风险:".$res['gao']."项".$risk_gao_info."中风险:".$res['zhong']."项".$risk_zhong_info."低风险:".$res['di']."项;总作业人数:".$people_total."人。";
|
|
|
+
|
|
|
+
|
|
|
+ // 统计前一天的相关数据
|
|
|
+ $preHigh = 0;
|
|
|
+ $preMid = 0;
|
|
|
+ $preLow = 0;
|
|
|
+ $prePeople = 0;
|
|
|
+ $preRiskNum = count($risk_list_previousDay);
|
|
|
+ $preWwdw = [];
|
|
|
+ foreach ($risk_list_previousDay as $key=>$value) {
|
|
|
+ // 获取洗煤厂ID
|
|
|
+ $coal_washery_id = $value->coal_washery_id;
|
|
|
+
|
|
|
+ if (!in_array($value->wwdw,$preWwdw)){
|
|
|
+ $preWwdw[] = $value->wwdw;
|
|
|
+ }
|
|
|
+
|
|
|
+ $prePeople += $value->work_num;
|
|
|
+
|
|
|
+ // 风险数量统计
|
|
|
+ $risk_level = $value->risk_level; // 风险类型
|
|
|
+ // 当 $risk_type_dict[$value->risk_type] 存在时取对应的值,不存在时取值 未知风险
|
|
|
+ $risk_type = $risk_type_dict[$value->risk_type] ?? "未知风险";
|
|
|
+
|
|
|
+ if($risk_level == 0) {
|
|
|
+ $preHigh++;
|
|
|
+ } else if($risk_level == 1) {
|
|
|
+ $preMid++;
|
|
|
+ } else {
|
|
|
+ $preLow++;
|
|
|
+ }
|
|
|
+
|
|
|
+ // 煤矿风险列表
|
|
|
+ $pre_day_coal_washery_risk_list[$coal_washery_id][] = $value;
|
|
|
+ }
|
|
|
+
|
|
|
+ $preWwdwNum = count($preWwdw);
|
|
|
+
|
|
|
+ // 委外单位相差
|
|
|
+ $preVar1 = sprintf("%+d", $wwdwNum - $preWwdwNum);
|
|
|
+ // 总作业想相差
|
|
|
+ $preVar2 = sprintf("%+d", $res['num'] - $preRiskNum);
|
|
|
+ // 高
|
|
|
+ $preVar3 = sprintf("%+d",$res['gao'] - $preHigh);
|
|
|
+ // 中
|
|
|
+ $preVar4 = sprintf("%+d",$res['zhong'] - $preMid);
|
|
|
+ // 低
|
|
|
+ $preVar5 = sprintf("%+d",$res['di'] - $preLow);
|
|
|
+ // 总人数相差
|
|
|
+ $preVar6 = sprintf("%+d",$people_total - $prePeople);
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ $res['risk_info'] = "1.委外施工单位共".$wwdwNum."个(".$preVar1."),总作业项:".$res['num']."项(".$preVar2.");高风险:".$res['gao']."项(".$preVar3.")".$risk_gao_info."中风险:".$res['zhong']."项(".$preVar4.")".$risk_zhong_info."低风险:".$res['di']."项(".$preVar5.");总作业人数:".$people_total."人(".$preVar6.")。";
|
|
|
|
|
|
|
|
|
|
|
@@ -4461,9 +4531,8 @@ class CameraApiController extends BaseController
|
|
|
if(!in_array($v->wwdw,$wwdw)){
|
|
|
$wwdw[] = $v->wwdw;
|
|
|
}
|
|
|
- $temp = $coal_washery_dict[$v->sgdd]->title;
|
|
|
- if (!in_array($temp,$sgdd)){
|
|
|
- $sgdd[] = $temp;
|
|
|
+ if (!in_array($v->sgdd,$sgdd)){
|
|
|
+ $sgdd[] = $v->sgdd;
|
|
|
}
|
|
|
$zyrs += $v->work_num;
|
|
|
if ($v->risk_level == 0){
|
|
@@ -4483,11 +4552,44 @@ class CameraApiController extends BaseController
|
|
|
|
|
|
$wwdw_num = count($wwdw);
|
|
|
$sgdd_num = count($sgdd);
|
|
|
- $var1 = implode('、',$wwdw);
|
|
|
- $var2 = implode('、',$sgdd);
|
|
|
|
|
|
-// $total2 .= ++$index_1.'.'.$value->title.'引进委外单位'.$wwdw_num.'个('.$var1.'),'.'作业单位'.$sgdd_num.'个('.$var2."),作业人数:".$zyrs."人。\n";
|
|
|
- $total2 .= ++$index_1.'.'.$value->title.'引进委外单位'.$wwdw_num.'个,作业单位'.$sgdd_num.'个,作业人数:'.$zyrs."人。\n";
|
|
|
+ /**
|
|
|
+ * 以下代码是对前一天的对应洗煤厂的统计
|
|
|
+ *
|
|
|
+ */
|
|
|
+ // 如果当前洗煤厂前一天有数据则拿出来统计没有相关的数据为零
|
|
|
+ $pre_wwdw = [];
|
|
|
+ $pre_sgdd = [];
|
|
|
+ $pre_zyrs = 0;
|
|
|
+
|
|
|
+ if (isset($pre_day_coal_washery_risk_list[$id])) {
|
|
|
+
|
|
|
+ // 拿出当前id煤矿的所有风险
|
|
|
+ $pre_coal_washery_risk_info_arr = $pre_day_coal_washery_risk_list[$id];
|
|
|
+
|
|
|
+
|
|
|
+ foreach ($pre_coal_washery_risk_info_arr as $k => $v) {
|
|
|
+ if(!in_array($v->wwdw,$pre_wwdw)){
|
|
|
+ $pre_wwdw[] = $v->wwdw;
|
|
|
+ }
|
|
|
+ if (!in_array($v->sgdd,$pre_sgdd)){
|
|
|
+ $pre_sgdd[] = $v->sgdd;
|
|
|
+ }
|
|
|
+ $pre_zyrs += $v->work_num;
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ $pre_wwdw_num = count($pre_wwdw);
|
|
|
+ $pre_sgdd_num = count($pre_sgdd);
|
|
|
+
|
|
|
+ // 委外单位差值
|
|
|
+ $preVar7 = sprintf("%+d",$wwdw_num - $pre_wwdw_num);
|
|
|
+ // 作业单位差值
|
|
|
+ $preVar8 = sprintf("%+d",$sgdd_num - $pre_sgdd_num);
|
|
|
+ // 作业人数差值
|
|
|
+ $preVar9 = sprintf("%+d",$zyrs - $pre_zyrs);
|
|
|
+
|
|
|
+ $total2 .= ++$index_1.'.'.$value->title.'引进委外单位'.$wwdw_num.'个('.$preVar7.'),单位'.$sgdd_num.'个('.$preVar8.'),人数:'.$zyrs."人(".$preVar9.")。\n";
|
|
|
|
|
|
|
|
|
$line = [
|
|
@@ -4535,33 +4637,6 @@ class CameraApiController extends BaseController
|
|
|
$line['fxlx'] = '未知';
|
|
|
}
|
|
|
|
|
|
-// $risk_info = '';
|
|
|
-// if ($v->risk_level == 0) {
|
|
|
-// $line['gao'] = 1;
|
|
|
-// $line['zhong'] = '';
|
|
|
-// $line['di'] = '';
|
|
|
-// if($v->risk_type != null) {
|
|
|
-// $risk_info = '(' . $risk_desc[$v->risk_level] . ',' . $risk_type_dict[$v->risk_type] . ')';
|
|
|
-// }else{
|
|
|
-// $risk_info = '('.$risk_desc[$v->risk_level].')';
|
|
|
-// }
|
|
|
-// } else if ($v->risk_level == 1) {
|
|
|
-// $line['gao'] = '';
|
|
|
-// $line['zhong'] = 1;
|
|
|
-// $line['di'] = '';
|
|
|
-// if($v->risk_type != null){
|
|
|
-// $risk_info = '('.$risk_desc[$v->risk_level].','.$risk_type_dict[$v->risk_type].')';
|
|
|
-// }else{
|
|
|
-// $risk_info = '('.$risk_desc[$v->risk_level].')';
|
|
|
-// }
|
|
|
-// } else {
|
|
|
-// $line['gao'] = '';
|
|
|
-// $line['zhong'] = '';
|
|
|
-// $line['di'] = 1;
|
|
|
-// }
|
|
|
-
|
|
|
-// $line['content'] = $v->risk_name.$risk_info."盯控人:".$v->work_people;
|
|
|
-
|
|
|
$res['risk_list'][] = $line;
|
|
|
|
|
|
|
|
@@ -4570,6 +4645,7 @@ class CameraApiController extends BaseController
|
|
|
|
|
|
}
|
|
|
}
|
|
|
+ $total2 = mb_substr($total2, 0, mb_strlen($total2) - 1);
|
|
|
|
|
|
$res['risk_info2'] = $total2;
|
|
|
|
|
@@ -4586,37 +4662,62 @@ class CameraApiController extends BaseController
|
|
|
|
|
|
}
|
|
|
|
|
|
- $uniqueKeys = array_keys($work_place_list);
|
|
|
- $count1 = count($uniqueKeys);
|
|
|
- $var3 = (int) ($count1 / 2);
|
|
|
+ $pre_work_place_list=[];
|
|
|
+ foreach ($risk_list_previousDay as $key1=>$v1) {
|
|
|
+ // 获取施工地点id
|
|
|
+ $pre_work_place = $v1->sgdd;
|
|
|
+ // 施工地点列表
|
|
|
+ $pre_work_place_list[$pre_work_place][] = $v1;
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+// $uniqueKeys = array_keys($work_place_list);
|
|
|
+// $count1 = count($uniqueKeys);
|
|
|
+// $var3 = (int) ($count1 / 2);
|
|
|
|
|
|
|
|
|
$total3 = '';
|
|
|
$total4 = '';
|
|
|
$index_2 = 0;
|
|
|
foreach ($coal_washery_dict as $key=>$value) {
|
|
|
- $dd_wwdw = [];
|
|
|
- $dd_sgdsl = 0;
|
|
|
- $workNumber = 0;
|
|
|
+
|
|
|
$id = $value->ID;
|
|
|
+ $area_id_tmp = $value->area_id;
|
|
|
|
|
|
if (isset($work_place_list[$id])) {
|
|
|
|
|
|
+ $workNumber = 0;
|
|
|
+ $riskWorkNum = 0;
|
|
|
+
|
|
|
// 拿出当前施工地点的所有风险
|
|
|
$work_place_list_arr = $work_place_list[$id];
|
|
|
foreach ($work_place_list_arr as $k => $v) {
|
|
|
- if (!in_array($v->wwdw,$dd_wwdw)) {
|
|
|
- $dd_wwdw[] = $v->wwdw;
|
|
|
- }
|
|
|
- $dd_sgdsl += $v->sgdsl;
|
|
|
$workNumber += $v->work_num;
|
|
|
}
|
|
|
+ $riskWorkNum = count($work_place_list_arr);
|
|
|
|
|
|
-// $total3 .= ++$index_2.'.'.$value->title.'委外作业'.count($work_place_list_arr).'项,委外施工单位'.count($dd_wwdw).'个,施工点'.$dd_sgdsl."个;\n";
|
|
|
- if (++$index_2<=$var3){
|
|
|
- $total3 .= $index_2.'.'.$value->title.'委外作业'.count($work_place_list_arr).'项,作业人数:'.$workNumber."人;\n";
|
|
|
+
|
|
|
+ $preWorkNumber = 0;
|
|
|
+ $preRiskWorkNum = 0;
|
|
|
+ if (isset($pre_work_place_list[$id])) {
|
|
|
+
|
|
|
+ // 拿出当前施工地点的所有风险
|
|
|
+ $pre_work_place_list_arr = $pre_work_place_list[$id];
|
|
|
+ foreach ($pre_work_place_list_arr as $k => $v) {
|
|
|
+ $preWorkNumber += $v->work_num;
|
|
|
+ }
|
|
|
+ $preRiskWorkNum = count($pre_work_place_list_arr);
|
|
|
+ }
|
|
|
+
|
|
|
+ // 委外作业项差值
|
|
|
+ $preVar10 = sprintf("%+d",$riskWorkNum - $preRiskWorkNum);
|
|
|
+ // 作业人数差值
|
|
|
+ $preVar11 = sprintf("%+d",$workNumber - $preWorkNumber);
|
|
|
+
|
|
|
+ if ($area_id_tmp == 1055262869143609349){
|
|
|
+ $total3 .= ++$index_2.'.'.$value->title.'作业'.$riskWorkNum.'项('.$preVar10.'),人数:'.$workNumber."人(".$preVar11.");\n";
|
|
|
} else{
|
|
|
- $total4 .= $index_2.'.'.$value->title.'委外作业'.count($work_place_list_arr).'项,作业人数:'.$workNumber."人;\n";
|
|
|
+ $total4 .= ++$index_2.'.'.$value->title.'作业'.$riskWorkNum.'项('.$preVar10.'),人数:'.$workNumber."人(".$preVar11.");\n";
|
|
|
}
|
|
|
|
|
|
|
|
@@ -4625,6 +4726,8 @@ class CameraApiController extends BaseController
|
|
|
}
|
|
|
|
|
|
|
|
|
+ $total3 = mb_substr($total3, 0, mb_strlen($total3) - 1);
|
|
|
+ $total4 = mb_substr($total4, 0, mb_strlen($total4) - 1);
|
|
|
|
|
|
$res['risk_info3'] = $total3;
|
|
|
$res['risk_info4'] = $total4;
|