|
@@ -1351,15 +1351,185 @@ class CameraApiController extends BaseController
|
|
|
|
|
|
//首頁信息
|
|
|
public function taskHome(Request $request){
|
|
|
-// $result = DB::connection('task_xixuan')->table('xx_area')->get();
|
|
|
+ $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);
|
|
|
- dd($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 workSearch(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 areaWorkSearch(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);
|
|
|
}
|