|
@@ -179,10 +179,11 @@ class ApiService{
|
|
|
$query = $query->where(DB::raw('WEEK(lrsj)'), DB::raw('WEEK(CURDATE())'));
|
|
|
}
|
|
|
|
|
|
- $query = $query->groupBy('lrdate', 'lrr', 'dwmc')
|
|
|
+ $query = $query->groupBy('lrdate', 'xjdw', 'lrr', 'dwmc')
|
|
|
->select(
|
|
|
[
|
|
|
DB::raw('DATE(lrsj) as lrdate'),
|
|
|
+ 'xjdw',
|
|
|
'lrr',
|
|
|
'dwmc'
|
|
|
]
|
|
@@ -193,22 +194,22 @@ class ApiService{
|
|
|
$pie = [];
|
|
|
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();
|
|
|
+// $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) {
|
|
|
+// foreach ($wghgl as $k => $v) {
|
|
|
$allcount = DB::connection('mysql_fwview')->table('formtable_main_974')
|
|
|
- ->where('szxmc', $v->xjdw)->count();
|
|
|
+ ->where('szxmc', $val->xjdw)->count();
|
|
|
|
|
|
$detail = DB::connection('mysql_fwview')->table('uf_wghgl_new')
|
|
|
- ->where('xjdw', $v->xjdw)
|
|
|
+ ->where('xjdw', $val->xjdw)
|
|
|
->where(DB::raw('DATE(lrsj)'), $val->lrdate)
|
|
|
->where('lrr', $val->lrr)->count();
|
|
|
|
|
@@ -216,6 +217,7 @@ class ApiService{
|
|
|
$data[$val->lrr] = [
|
|
|
'department' => $val->dwmc,
|
|
|
'lastname' => $lastname,
|
|
|
+ 'person_id' => $val->lrr,
|
|
|
'count' => isset($data[$val->lrr]['count']) ? $data[$val->lrr]['count'] + 1 : 1,
|
|
|
];
|
|
|
$pie[$val->lrr] = [
|
|
@@ -225,7 +227,7 @@ class ApiService{
|
|
|
} else {
|
|
|
continue;
|
|
|
}
|
|
|
- }
|
|
|
+// }
|
|
|
} else {
|
|
|
$allcount = DB::connection('mysql_fwview')->table('formtable_main_974')
|
|
|
->where('szxmc', $depart)->count();
|
|
@@ -242,6 +244,7 @@ class ApiService{
|
|
|
$data[$val->lrr] = [
|
|
|
'department' => $val->dwmc,
|
|
|
'lastname' => $lastname,
|
|
|
+ 'person_id' => $val->lrr,
|
|
|
'count' => isset($data[$val->lrr]['count']) ? $data[$val->lrr]['count'] + 1 : 1,
|
|
|
];
|
|
|
$pie[$val->lrr] = [
|
|
@@ -265,4 +268,100 @@ class ApiService{
|
|
|
|
|
|
return $result;
|
|
|
}
|
|
|
+
|
|
|
+ //网格化巡检记录查询
|
|
|
+ public static function getResultList($person_id, $depart = 'all', $date_type = 'week')
|
|
|
+ {
|
|
|
+ $result['status'] = true;
|
|
|
+ $result['msg'] = ApiEnum::RETURN_SUCCESS;
|
|
|
+ $result['data'] = [];
|
|
|
+
|
|
|
+ $query = DB::connection('mysql_fwview')->table('uf_wghgl_new')->where('lrr', $person_id);
|
|
|
+
|
|
|
+ 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', 'xjdw')
|
|
|
+ ->select(
|
|
|
+ [
|
|
|
+ 'xjdw',
|
|
|
+ DB::raw('DATE(lrsj) as lrdate'),
|
|
|
+ ]
|
|
|
+ )
|
|
|
+ ->get();
|
|
|
+
|
|
|
+ $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', $person_id)
|
|
|
+ ->groupBy('xjdw')
|
|
|
+ ->select('xjdw')
|
|
|
+ ->get();
|
|
|
+
|
|
|
+ $lastname = DB::connection('mysql_fwview')->table('hrmresource')
|
|
|
+ ->where('id', $person_id)->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,
|
|
|
+ 'person_id' => $val->lrr,
|
|
|
+ 'count' => isset($data[$val->lrr]['count']) ? $data[$val->lrr]['count'] + 1 : 1,
|
|
|
+ ];
|
|
|
+ } 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,
|
|
|
+ 'person_id' => $val->lrr,
|
|
|
+ 'count' => isset($data[$val->lrr]['count']) ? $data[$val->lrr]['count'] + 1 : 1,
|
|
|
+ ];
|
|
|
+ } else {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ $data_arr = array_column($data, 'count');
|
|
|
+ array_multisort($data_arr, SORT_DESC, $data);
|
|
|
+
|
|
|
+ $result['data']['list'] = $data;
|
|
|
+
|
|
|
+ return $result;
|
|
|
+ }
|
|
|
}
|