$params['lrr'], 'dwmc' => $params['dwmc'], 'xjdw' => $params['xjdw'], 'jcqy' => $params['jcqy'], 'jclx' => $params['jclx'], 'lrsj' => $params['lrsj'], 'jcwt' => $params['jcwt'], 'wtms' => $params['wtms'], 'dkpz' => $params['dkpz'], ]; $res = DB::connection('mysql_fwview')->table('uf_wghgl_new')->insert($insert); return $result; } //网格化人员轨迹查询条件 public static function getQueryConitions($date = '') { $result['status'] = true; $result['msg'] = ApiEnum::RETURN_SUCCESS; $result['data'] = []; if (!$date) { $date = date('Y-m-d', time()); } $depart = DB::connection('mysql_fwview')->table('hrmdepartment') ->where('subcompanyid1', 49) ->where('departmentname', 'like', '%' . '洗煤厂') ->where('id', '!=', 1602)->get(); $depart_arr = []; foreach ($depart as $key => $val) { $depart_name = str_replace('洗选中心', '', $val->DEPARTMENTNAME); $depart_arr[$key] = [ 'name' => $depart_name, ]; $query = DB::connection('mysql_fwview')->table('uf_wghgl_new') ->join('hrmresource', 'uf_wghgl_new.lrr', '=', 'hrmresource.id') ->where('xjdw1', $depart_name) ->where('lrsj', 'like', '%' . $date . '%') ->groupBy('lrr')->select( [ 'hrmresource.lastname as person_name', 'uf_wghgl_new.lrr as person_id' ] )->get(); $query = json_decode($query); $depart_arr[$key]['person_list'] = $query; } $result['data'] = $depart_arr; return $result; } //网格化人员轨迹 public static function getPersonTravel($person_id, $depart, $date = '') { $result['status'] = true; $result['msg'] = ApiEnum::RETURN_SUCCESS; $result['data'] = []; if (!$date) { $date = date('Y-m-d', time()); } $res = []; $area_arr = []; $query = DB::connection('mysql_fwview')->table('uf_wghgl_new') ->where('lrr', $person_id) ->where('lrsj', 'like', '%' . $date . '%') ->where('xjdw1', $depart) ->orderBy('lrsj', 'asc')->get(); $query = json_decode($query); if ($query) { foreach ($query as $key => $val) { $area_arr[] = $val->jcqy; $res[] = [ 'area' => $val->jcqy, 'date' => $val->lrsj, 'data_id' => $val->id, 'url' => '/mobilemode/formbasebrowserview.jsp?billid=' . $val->id . '&modeId=580&formId=-976', ]; } $area_list = DB::connection('mysql_fwview')->table('formtable_main_974') ->whereNotIn('qymc', $area_arr) ->where('szxmc', $depart)->orderBy('areaid', 'asc')->get(); foreach ($area_list as $area) { $res[] = [ 'area' => $area->qymc, 'date' => '', 'data_id' => '', 'url' => '', ]; } $result['data'] = $res; } return $result; } //网格化巡检记录查询条件 public static function getResultConition() { $result['status'] = true; $result['msg'] = ApiEnum::RETURN_SUCCESS; $result['data'] = []; $depart = DB::connection('mysql_fwview')->table('hrmdepartment') ->where('subcompanyid1', 49) ->where('departmentname', 'like', '%' . '洗煤厂') ->where('id', '!=', 1602)->get(); $depart_arr = []; foreach ($depart as $key => $val) { $depart_name = str_replace('洗选中心', '', $val->DEPARTMENTNAME); $depart_arr[$key] = $depart_name; } $result['data'] = $depart_arr; return $result; } //网格化巡检记录查询 public static function getResultRecord($depart = 'all', $date_type = 'week') { $result['status'] = true; $result['msg'] = ApiEnum::RETURN_SUCCESS; $result['data'] = []; $query = DB::connection('mysql_fwview')->table('uf_wghgl_new'); if ($depart != 'all') { $query = $query->where('xjdw', $depart); } if ($date_type == 'month') { $query = $query->where(DB::raw('MONTH(lrsj)'), DB::raw('MONTH(CURDATE())')); } else if ($date_type = 'quarter') { $query = $query->where(DB::raw('QUARTER(lrsj)'), DB::raw('QUARTER(CURDATE())')); } else { $query = $query->where(DB::raw('WEEK(lrsj)'), DB::raw('WEEK(CURDATE())')); } $query = $query->groupBy('lrdate', 'lrr', 'dwmc') ->select( [ DB::raw('DATE(lrsj) as lrdate'), 'lrr', 'dwmc' ] ) ->get(); dd($query); $data = []; foreach ($query as $key => $val) { if ($depart == 'all') { $wghgl = DB::connection('mysql_fwview')->table('uf_wghgl_new') ->where(DB::raw('DATE(lrsj)'), $val->lrdate) ->where('lrr', $val->lrr) ->groupBy('xjdw') ->select('xjdw') ->get(); $lastname = DB::connection('mysql_fwview')->table('hrmresource') ->where('id', $val->lrr)->value('lastname'); foreach ($wghgl as $k => $v) { $allcount = DB::connection('mysql_fwview')->table('formtable_main_974') ->where('szxmc', $v->xjdw)->count(); $detail = DB::connection('mysql_fwview')->table('uf_wghgl_new') ->where('xjdw', $v->xjdw) ->where(DB::raw('DATE(lrsj)'), $val->lrdate) ->where('lrr', $val->lrr)->count(); if ($detail >= $allcount) { $data[$val->lrr] = [ 'department' => $val->dwmc, 'lastname' => $lastname, 'count' => isset($data[$val->lrr]['count']) ? $data[$val->lrr]['count'] + 1 : 0, ]; } else { continue; } } } else { $allcount = DB::connection('mysql_fwview')->table('formtable_main_974') ->where('szxmc', $depart)->count(); $detail = DB::connection('mysql_fwview')->table('uf_wghgl_new') ->where('xjdw', $depart) ->where(DB::raw('DATE(lrsj)'), $val->lrdate) ->where('lrr', $val->lrr)->count(); if ($detail >= $allcount) { $lastname = DB::connection('mysql_fwview')->table('hrmresource') ->where('id', $val->lrr)->value('lastname'); $data[$val->lrr] = [ 'department' => $val->dwmc, 'lastname' => $lastname, 'count' => isset($data[$val->lrr]['count']) ? $data[$val->lrr]['count'] + 1 : 0, ]; } else { continue; } } } $cmf_arr = array_column($data, 'count'); array_multisort($cmf_arr, SORT_DESC, $data); $result['data'] = $data; return $result; } }