|
@@ -274,12 +274,10 @@ class ApiService{
|
|
|
$result['msg'] = ApiEnum::RETURN_SUCCESS;
|
|
|
$result['data'] = [];
|
|
|
|
|
|
- $query = DB::connection('mysql_fwview')->table('uf_wghgl_new');
|
|
|
-
|
|
|
+ $query = DB::connection('mysql_fwe10')->table('uf_zhxx_qlcxjjl');
|
|
|
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') {
|
|
@@ -287,59 +285,41 @@ class ApiService{
|
|
|
} else {
|
|
|
$query = $query->where(DB::raw('WEEK(lrsj)'), DB::raw('WEEK(CURDATE())'));
|
|
|
}
|
|
|
+ $query = $query->get();
|
|
|
|
|
|
- $query = $query->groupBy('lrdate', 'xjdw', 'lrr', 'dwmc')
|
|
|
- ->select(
|
|
|
- [
|
|
|
- DB::raw('DATE(lrsj) as lrdate'),
|
|
|
- 'xjdw',
|
|
|
- 'lrr',
|
|
|
- 'dwmc'
|
|
|
- ]
|
|
|
- )
|
|
|
- ->get();
|
|
|
-
|
|
|
- $data = [];
|
|
|
- $pie = [];
|
|
|
- foreach ($query as $key => $val) {
|
|
|
- $lastname = DB::connection('mysql_fwview')->table('hrmresource')
|
|
|
- ->where('id', $val->lrr)->value('lastname');
|
|
|
- $allcount = DB::connection('mysql_fwview')->table('formtable_main_974')
|
|
|
- ->where('szxmc', $val->xjdw)->count();
|
|
|
-
|
|
|
- $detail = DB::connection('mysql_fwview')->table('uf_wghgl_new')
|
|
|
- ->where('xjdw', $val->xjdw)
|
|
|
- ->where(DB::raw('DATE(lrsj)'), $val->lrdate)
|
|
|
- ->where('lrr', $val->lrr)->count();
|
|
|
-
|
|
|
- if ($allcount <= 0) {
|
|
|
- continue;
|
|
|
+ $people_list = [];
|
|
|
+ if(count($query) > 0){
|
|
|
+ for($i=0;$i<count($query);$i++){
|
|
|
+ if(!in_array($query[$i]->lrr,$people_list)){
|
|
|
+ $people_list[] = $query[$i]->lrr;
|
|
|
+ }
|
|
|
}
|
|
|
-
|
|
|
-// 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,
|
|
|
- ];
|
|
|
- $pie[$val->lrr] = [
|
|
|
- 'name' => $lastname,
|
|
|
- 'value' => isset($data[$val->lrr]['value']) ? $data[$val->lrr]['value'] + 1 : 1,
|
|
|
- ];
|
|
|
-// } else {
|
|
|
-// continue;
|
|
|
-// }
|
|
|
}
|
|
|
|
|
|
- $data_arr = array_column($data, 'count');
|
|
|
- array_multisort($data_arr, SORT_DESC, $data);
|
|
|
+ $list = [];
|
|
|
+ $pie = [];
|
|
|
+
|
|
|
+ if(count($people_list) > 0){
|
|
|
+ for($i=0;$i<count($people_list);$i++){
|
|
|
+ $count = 0;
|
|
|
+ for($j=0;$j<count($query);$j++){
|
|
|
+ if($people_list[$i] == $query[$j]->lrr){
|
|
|
+ $list[$i]['department'] = $query[$j]->dwmc;
|
|
|
+ $count++;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ $lrr = explode('|',$people_list[$i]);
|
|
|
+ $list[$i]['lastname'] = $lrr[0];
|
|
|
+ $list[$i]['person_id'] = $lrr[1];
|
|
|
+ $list[$i]['count'] = $count;
|
|
|
|
|
|
- $pie_arr = array_column($pie, 'value');
|
|
|
- array_multisort($pie_arr, SORT_DESC, $pie);
|
|
|
+ $pie[$i]['name'] = $lrr[0];
|
|
|
+ $pie[$i]['value'] = $count;
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
- $result['data']['list'] = $data;
|
|
|
- $result['data']['pie'] = $pie;
|
|
|
+ $result['data']['list'] = $list;
|
|
|
+ $result['data']['pie'] = $pie;
|
|
|
|
|
|
return $result;
|
|
|
}
|
|
@@ -351,7 +331,7 @@ class ApiService{
|
|
|
$result['msg'] = ApiEnum::RETURN_SUCCESS;
|
|
|
$result['data'] = [];
|
|
|
|
|
|
- $query = DB::connection('mysql_fwview')->table('uf_wghgl_new')->where('lrr', $person_id);
|
|
|
+ $query = DB::connection('mysql_fwe10')->table('uf_zhxx_qlcxjjl')->where('lrr', 'like' ,'%'.$person_id.'%');
|
|
|
|
|
|
if ($depart != 'all') {
|
|
|
$query = $query->where('xjdw', $depart);
|
|
@@ -365,42 +345,25 @@ class ApiService{
|
|
|
$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();
|
|
|
+ $query = $query->select(
|
|
|
+ [
|
|
|
+ 'xjdw',
|
|
|
+ DB::raw('DATE(lrsj) as lrdate'),
|
|
|
+ 'lrr'
|
|
|
+ ]
|
|
|
+ )->get();
|
|
|
|
|
|
$data = [];
|
|
|
foreach ($query as $key => $val) {
|
|
|
- $lastname = DB::connection('mysql_fwview')->table('hrmresource')
|
|
|
- ->where('id', $person_id)->value('lastname');
|
|
|
-
|
|
|
- $allcount = DB::connection('mysql_fwview')->table('formtable_main_974')
|
|
|
- ->where('szxmc', $val->xjdw)->count();
|
|
|
+ $lrr = explode('|',$val->lrr);
|
|
|
|
|
|
- $detail = DB::connection('mysql_fwview')->table('uf_wghgl_new')
|
|
|
- ->where('xjdw', $val->xjdw)
|
|
|
- ->where(DB::raw('DATE(lrsj)'), $val->lrdate)
|
|
|
- ->where('lrr', $person_id)->count();
|
|
|
-
|
|
|
- if ($allcount <= 0) {
|
|
|
- continue;
|
|
|
- }
|
|
|
+ $data[] = [
|
|
|
+ 'lastname' => $lrr[0],
|
|
|
+ 'person_id' => $person_id,
|
|
|
+ 'depart' => $val->xjdw,
|
|
|
+ 'date' => $val->lrdate
|
|
|
+ ];
|
|
|
|
|
|
- if ($detail >= $allcount) {
|
|
|
- $data[] = [
|
|
|
- 'lastname' => $lastname,
|
|
|
- 'person_id' => $person_id,
|
|
|
- 'depart' => $val->xjdw,
|
|
|
- 'date' => $val->lrdate
|
|
|
- ];
|
|
|
- } else {
|
|
|
- continue;
|
|
|
- }
|
|
|
}
|
|
|
|
|
|
$data_arr = array_column($data, 'date');
|