user(); $projectFlowMemo = ProjectFlowMemo::query(); $projectFlowMemo1 = ProjectFlowMemo::query(); if ($type == 1) { $userList = ProjectFlowMemoRelation::query()->where('user_id', $user->id)->pluck('memo_id'); $projectFlowMemo->whereIn('id', $userList); $projectFlowMemo1->whereIn('id', $userList); } $flowList = $projectFlowMemo ->where('site_id', $siteId) ->with(['projectFlowMemoRelation']) ->orderBy('id', 'asc')->get(); //各阶段角色负责人 $this->getRoleUser($flowList, User::query()->pluck('nickname', 'id')); //总 $count = ProjectFlowMemo::query()->where('site_id', $siteId)->count() ?? 0; //未完成的 $toBeCompletedCount = ProjectFlowMemo::query()->where('site_id', $siteId)->where('status', 0)->count() ?? 0; //最后的上线时间 if (!empty($flowList->toArray())) { $nodeDate = $flowList[count($flowList) - 1]['node_date']; //延期的时间 if (date('Y-m-d') > $nodeDate) { $diff = strtotime(date('Y-m-d')) - strtotime($nodeDate); $newNodeDate = date('Y-m-d', (strtotime($nodeDate) + $diff)); } } //按阶段分类 $title = $projectFlowMemo1 ->where('site_id', $siteId) ->groupBy('rank', 'level') ->orderBy('level', 'asc') ->pluck('rank', 'level')->toArray() ?? []; $flowList = $flowList->groupBy('level')->toArray(); //统计阶段状态 $ids = $this->addUp($flowList); //标题、阶段、是否完成 foreach ($title as $key => $value) { $title[$key] = $value . ':' . $key . ':' . $ids[$key] ?? ''; } //合并两个数组 $list = array_combine($title, $flowList); //每个小阶段的起始和结束时间 [$taskLastDateStart, $taskLastDateEnd] = $this->getStageDate($list); //这周一周日、下周一下周末 [$monday, $sunday, $nextMonday, $nextSunday] = $this->getThisMonDayAndNextMonday(); $thisWeekTaskList = $this->getWeekTaskList($siteId, $monday, $sunday, 'this'); $nextWeekTaskList = $this->getWeekTaskList($siteId, $nextMonday, $nextSunday, 'next'); return [$list, $count, $toBeCompletedCount, $nodeDate ?? '', $user, $taskLastDateStart, $taskLastDateEnd, $newNodeDate ?? '', $thisWeekTaskList, $nextWeekTaskList]; } public function getWeekTaskList($siteId, $monday, $sunday, $type = 'this') { $task = ProjectFlowMemo::query()->with(['projectFlowMemoRelation']) ->select('id', 'title', 'rank', 'memo', 'node_date','overdue_memo','planning_week','planning_next_week') ->where('status', 0) ->where('site_id', $siteId); if ($type == 'this') { $taskList = $task->where('node_date', '<', $sunday)->get(); } else { $taskList = $task->whereBetween('node_date', [$monday, $sunday])->get(); } foreach ($taskList as $value) { $user = []; foreach ($value->projectFlowMemoRelation as $item) { $user[] = $item->user_id; } $value->user = $user; } foreach ($taskList as $item) { $item->userNames = implode(',', User::query()->whereIn('id', $item->user)->pluck('nickname')->toArray()); } return $taskList; } public function addUp($flowList) { //统计完成和没完成的阶段 $ids = []; foreach ($flowList as $key => $value) { $count1 = count($value); $num = 0; foreach ($value as $kk => $vv) { if (!empty($vv['status'])) { $num++; } } if ($num < $count1) { $ids[$key] = '进行中'; } if ($num == $count1) { $ids[$key] = '完成'; } if ($num == 0) { $ids[$key] = '未完成'; } } return $ids; } public function getRoleUser(&$flowList, $userList) { //各阶段角色负责人 foreach ($flowList as $item) { $roles = array_flip(explode(',', $item->roles)); foreach ($roles as $key => $role) { $roles[$key] = []; foreach ($item->projectFlowMemoRelation as $value) { if ($key == $value->roles_id && $item->id == $value->memo_id) { $value->nickname = $userList[$value->user_id] ?? ''; $roles[$key] = $value; } } } $item->roles = $roles; } } public function getStageDate($list) { $taskLastDateStart = []; $taskLastDateEnd = []; //每个小阶段的起始和结束时间 foreach ($list as $key => $value) { $lastDate = []; foreach ($value as $kk => $vv) { $lastDate[] = strtotime($vv['node_date']); } if (!empty($lastDate)) { $string = explode(':', $key); $taskLastDateStart[$string[1]] = date('Y-m-d', min($lastDate)); $taskLastDateEnd[$string[1]] = date('Y-m-d', max($lastDate)); } } return [$taskLastDateStart, $taskLastDateEnd]; } public function getThisMonDayAndNextMonday() { //当周一周日、下周一、周日 $week = date("w"); $monday = date("Y-m-d", strtotime("- " . ($week - 1) . " day ")); $sunday = date("Y-m-d", strtotime(7 - $week . " day ")); $nextMonday = date("Y-m-d", strtotime("+1 week", strtotime("-" . ($week - 1) . "day"))); $nextSunday = date("Y-m-d", strtotime("+1 week", strtotime(7 - $week . "day"))); return [$monday, $sunday, $nextMonday, $nextSunday]; } /** * 汇总项目流程里面的各阶段逾期时间 * @param $siteList * @return mixed */ public function getFlowListBySiteId($siteList) { foreach ($siteList as $key => $item) { $siteList[$key]['cn_title'] = $item['cn_title'];//$this->substrFormat($item['cn_title'], 7); $siteList[$key]['rank'] = $item['process_progress']['rank'] ?? 0; $siteList[$key]['memo'] = $item['process_progress']['memo'] ?? ''; if (empty($item['project_flow_memo'])) { $siteList[$key]['lv1'] = 0; $siteList[$key]['lv2'] = 0; $siteList[$key]['lv3'] = 0; $siteList[$key]['lv4'] = 0; $siteList[$key]['lv5'] = 0; $siteList[$key]['lv6'] = 0; $siteList[$key]['lv7'] = 0; $siteList[$key]['lv8'] = 0; $siteList[$key]['lv9'] = 0; $siteList[$key]['lv10'] = 0; $siteList[$key]['lv11'] = 0; $siteList[$key]['lv12'] = 0; $siteList[$key]['lv13'] = 0; $siteList[$key]['lv14'] = 0; } else { $siteList[$key]['lv1'] = 1; $siteList[$key]['lv2'] = 1; $siteList[$key]['lv3'] = 1; $siteList[$key]['lv4'] = 1; $siteList[$key]['lv5'] = 1; $siteList[$key]['lv6'] = 1; $siteList[$key]['lv7'] = 1; $siteList[$key]['lv8'] = 1; $siteList[$key]['lv9'] = 1; $siteList[$key]['lv10'] = 1; $siteList[$key]['lv11'] = 1; $siteList[$key]['lv12'] = 1; $siteList[$key]['lv13'] = 1; $siteList[$key]['lv14'] = 1; $lv1count = 0; $lv1complete = 0; $lv1OverdueTime = []; $lv1CompleteDate = []; $lv1CompleteOverdueTime = []; $lv1CompleteOverdueTime2 = []; $lv2count = 0; $lv2complete = 0; $lv2OverdueTime = []; $lv2CompleteDate = []; $lv2CompleteOverdueTime = []; $lv2CompleteOverdueTime2 = []; $lv3count = 0; $lv3complete = 0; $lv3OverdueTime = []; $lv3CompleteDate = []; $lv3CompleteOverdueTime = []; $lv3CompleteOverdueTime2 = []; $lv4count = 0; $lv4complete = 0; $lv4OverdueTime = []; $lv4CompleteDate = []; $lv4CompleteOverdueTime = []; $lv4CompleteOverdueTime2 = []; $lv5count = 0; $lv5complete = 0; $lv5OverdueTime = []; $lv5CompleteDate = []; $lv5CompleteOverdueTime = []; $lv5CompleteOverdueTime2 = []; $lv6count = 0; $lv6complete = 0; $lv6OverdueTime = []; $lv6CompleteDate = []; $lv6CompleteOverdueTime = []; $lv6CompleteOverdueTime2 = []; $lv7count = 0; $lv7complete = 0; $lv7OverdueTime = []; $lv7CompleteDate = []; $lv7CompleteOverdueTime = []; $lv7CompleteOverdueTime2 = []; $lv8count = 0; $lv8complete = 0; $lv8OverdueTime = []; $lv8CompleteDate = []; $lv8CompleteOverdueTime = []; $lv8CompleteOverdueTime2 = []; $lv9count = 0; $lv9complete = 0; $lv9OverdueTime = []; $lv9CompleteDate = []; $lv9CompleteOverdueTime = []; $lv9CompleteOverdueTime2 = []; $lv10count = 0; $lv10complete = 0; $lv10OverdueTime = []; $lv10CompleteDate = []; $lv10CompleteOverdueTime = []; $lv10CompleteOverdueTime2 = []; $lv11count = 0; $lv11complete = 0; $lv11OverdueTime = []; $lv11CompleteDate = []; $lv11CompleteOverdueTime = []; $lv11CompleteOverdueTime2 = []; $lv12count = 0; $lv12complete = 0; $lv12OverdueTime = []; $lv12CompleteDate = []; $lv12CompleteOverdueTime = []; $lv12CompleteOverdueTime2 = []; $lv13count = 0; $lv13complete = 0; $lv13OverdueTime = []; $lv13CompleteDate = []; $lv13CompleteOverdueTime = []; $lv13CompleteOverdueTime2 = []; $lv14count = 0; $lv14complete = 0; $lv14OverdueTime = []; $lv14CompleteDate = []; $lv14CompleteOverdueTime = []; $lv14CompleteOverdueTime2 = []; foreach ($item['project_flow_memo'] as $value) { if ($value['level'] == 1) { if (!empty($value['status'])) { $lv1complete++; $lv1CompleteDate[] = $value['status']; $lv1CompleteOverdueTime[] = strtotime($value['node_date']); $lv1CompleteOverdueTime2[strtotime($value['node_date'])] = strtotime(substr($value['status'], 0, 10)); } else { $lv1OverdueTime[] = strtotime($value['node_date']); } $lv1count++; } if ($value['level'] == 2) { if (!empty($value['status'])) { $lv2complete++; $lv2CompleteDate[] = $value['status']; $lv2CompleteOverdueTime[] = strtotime($value['node_date']); $lv2CompleteOverdueTime2[strtotime($value['node_date'])] = strtotime(substr($value['status'], 0, 10)); } else { $lv2OverdueTime[] = strtotime($value['node_date']); } $lv2count++; } if ($value['level'] == 3) { if (!empty($value['status'])) { $lv3complete++; $lv3CompleteDate[] = $value['status']; $lv3CompleteOverdueTime[] = strtotime($value['node_date']); $lv3CompleteOverdueTime2[strtotime($value['node_date'])] = strtotime(substr($value['status'], 0, 10)); } else { $lv3OverdueTime[] = strtotime($value['node_date']); } $lv3count++; } if ($value['level'] == 4) { if (!empty($value['status'])) { $lv4complete++; $lv4CompleteDate[] = $value['status']; $lv4CompleteOverdueTime[] = strtotime($value['node_date']); $lv4CompleteOverdueTime2[strtotime($value['node_date'])] = strtotime(substr($value['status'], 0, 10)); } else { $lv4OverdueTime[] = strtotime($value['node_date']); } $lv4count++; } if ($value['level'] == 5) { if (!empty($value['status'])) { $lv5complete++; $lv5CompleteDate[] = $value['status']; $lv5CompleteOverdueTime[] = strtotime($value['node_date']); $lv5CompleteOverdueTime2[strtotime($value['node_date'])] = strtotime(substr($value['status'], 0, 10)); } else { $lv5OverdueTime[] = strtotime($value['node_date']); } $lv5count++; } if ($value['level'] == 6) { if (!empty($value['status'])) { $lv6complete++; $lv6CompleteDate[] = $value['status']; $lv6CompleteOverdueTime[] = strtotime($value['node_date']); $lv6CompleteOverdueTime2[strtotime($value['node_date'])] = strtotime(substr($value['status'], 0, 10)); } else { $lv6OverdueTime[] = strtotime($value['node_date']); } $lv6count++; } if ($value['level'] == 7) { if (!empty($value['status'])) { $lv7complete++; $lv7CompleteDate[] = $value['status']; $lv7CompleteOverdueTime[] = strtotime($value['node_date']); $lv7CompleteOverdueTime2[strtotime($value['node_date'])] = strtotime(substr($value['status'], 0, 10)); } else { $lv7OverdueTime[] = strtotime($value['node_date']); } $lv7count++; } if ($value['level'] == 8) { if (!empty($value['status'])) { $lv8complete++; $lv8CompleteDate[] = $value['status']; $lv8CompleteOverdueTime[] = strtotime($value['node_date']); $lv8CompleteOverdueTime2[strtotime($value['node_date'])] = strtotime(substr($value['status'], 0, 10)); } else { $lv8OverdueTime[] = strtotime($value['node_date']); } $lv8count++; } if ($value['level'] == 9) { if (!empty($value['status'])) { $lv9complete++; $lv9CompleteDate[] = $value['status']; $lv9CompleteOverdueTime[] = strtotime($value['node_date']); $lv9CompleteOverdueTime2[strtotime($value['node_date'])] = strtotime(substr($value['status'], 0, 10)); } else { $lv9OverdueTime[] = strtotime($value['node_date']); } $lv9count++; } if ($value['level'] == 10) { if (!empty($value['status'])) { $lv10complete++; $lv10CompleteDate[] = $value['status']; $lv10CompleteOverdueTime[] = strtotime($value['node_date']); $lv10CompleteOverdueTime2[strtotime($value['node_date'])] = strtotime(substr($value['status'], 0, 10)); } else { $lv10OverdueTime[] = strtotime($value['node_date']); } $lv10count++; } if ($value['level'] == 11) { if (!empty($value['status'])) { $lv11complete++; $lv11CompleteDate[] = $value['status']; $lv11CompleteOverdueTime[] = strtotime($value['node_date']); $lv11CompleteOverdueTime2[strtotime($value['node_date'])] = strtotime(substr($value['status'], 0, 10)); } else { $lv11OverdueTime[] = strtotime($value['node_date']); } $lv11count++; } if ($value['level'] == 12) { if (!empty($value['status'])) { $lv12complete++; $lv12CompleteDate[] = $value['status']; $lv12CompleteOverdueTime[] = strtotime($value['node_date']); $lv12CompleteOverdueTime2[strtotime($value['node_date'])] = strtotime(substr($value['status'], 0, 10)); } else { $lv12OverdueTime[] = strtotime($value['node_date']); } $lv12count++; } if ($value['level'] == 13) { if (!empty($value['status'])) { $lv13complete++; $lv13CompleteDate[] = $value['status']; $lv13CompleteOverdueTime[] = strtotime($value['node_date']); $lv13CompleteOverdueTime2[strtotime($value['node_date'])] = strtotime(substr($value['status'], 0, 10)); } else { $lv13OverdueTime[] = strtotime($value['node_date']); } $lv13count++; } if ($value['level'] == 14) { if (!empty($value['status'])) { $lv14complete++; $lv14CompleteDate[] = $value['status']; $lv14CompleteOverdueTime[] = strtotime($value['node_date']); $lv14CompleteOverdueTime2[strtotime($value['node_date'])] = strtotime(substr($value['status'], 0, 10)); } else { $lv14OverdueTime[] = strtotime($value['node_date']); } $lv14count++; } if (!empty($value['level']) && $value['level'] == 1 && empty($value['status'])) { $siteList[$key]['lv1'] = 0; } if (!empty($value['level']) && $value['level'] == 2 && empty($value['status'])) { $siteList[$key]['lv2'] = 0; } if (!empty($value['level']) && $value['level'] == 3 && empty($value['status'])) { $siteList[$key]['lv3'] = 0; } if (!empty($value['level']) && $value['level'] == 4 && empty($value['status'])) { $siteList[$key]['lv4'] = 0; } if (!empty($value['level']) && $value['level'] == 5 && empty($value['status'])) { $siteList[$key]['lv5'] = 0; } if (!empty($value['level']) && $value['level'] == 6 && empty($value['status'])) { $siteList[$key]['lv6'] = 0; } if (!empty($value['level']) && $value['level'] == 7 && empty($value['status'])) { $siteList[$key]['lv7'] = 0; } if (!empty($value['level']) && $value['level'] == 8 && empty($value['status'])) { $siteList[$key]['lv8'] = 0; } if (!empty($value['level']) && $value['level'] == 9 && empty($value['status'])) { $siteList[$key]['lv9'] = 0; } if (!empty($value['level']) && $value['level'] == 10 && empty($value['status'])) { $siteList[$key]['lv10'] = 0; } if (!empty($value['level']) && $value['level'] == 11 && empty($value['status'])) { $siteList[$key]['lv11'] = 0; } if (!empty($value['level']) && $value['level'] == 12 && empty($value['status'])) { $siteList[$key]['lv12'] = 0; } if (!empty($value['level']) && $value['level'] == 13 && empty($value['status'])) { $siteList[$key]['lv13'] = 0; } if (!empty($value['level']) && $value['level'] == 14 && empty($value['status'])) { $siteList[$key]['lv14'] = 0; } } } $siteList[$key]['lv1count'] = $lv1count ?? 0; $siteList[$key]['lv1complete'] = $lv1complete ?? 0; if (!empty($lv1CompleteDate)) { $siteList[$key]['lv1completeDate'] = substr(max($lv1CompleteDate), 0, 10); } if (!empty($lv1OverdueTime)) { if (strtotime(date('Y-m-d 00:00:00')) > max($lv1OverdueTime)) { $siteList[$key]['lv1OverdueTime'] = (strtotime(date('Y-m-d 00:00:00')) - max($lv1OverdueTime)) / 3600 / 24;; } } if (!empty($lv1CompleteOverdueTime) && !empty($lv1CompleteOverdueTime2)) { //完成时间小于节点时间 if ($lv1CompleteOverdueTime2[max($lv1CompleteOverdueTime)] > max($lv1CompleteOverdueTime)) { $siteList[$key]['lv1CompleteOverdueTime'] = ($lv1CompleteOverdueTime2[max($lv1CompleteOverdueTime)] - max($lv1CompleteOverdueTime)) / 3600 / 24; } } $siteList[$key]['lv2count'] = $lv2count ?? 0; $siteList[$key]['lv2complete'] = $lv2complete ?? 0; if (!empty($lv2CompleteDate)) { $siteList[$key]['lv2completeDate'] = substr(max($lv2CompleteDate), 0, 10); } if (!empty($lv2OverdueTime)) { if (strtotime(date('Y-m-d 00:00:00')) > max($lv2OverdueTime)) { $siteList[$key]['lv2OverdueTime'] = (strtotime(date('Y-m-d 00:00:00')) - max($lv2OverdueTime)) / 3600 / 24;; } } if (!empty($lv2CompleteOverdueTime) && !empty($lv2CompleteOverdueTime2)) { //完成时间小于节点时间 if ($lv2CompleteOverdueTime2[max($lv2CompleteOverdueTime)] > max($lv2CompleteOverdueTime)) { $siteList[$key]['lv2CompleteOverdueTime'] = ($lv2CompleteOverdueTime2[max($lv2CompleteOverdueTime)] - max($lv2CompleteOverdueTime)) / 3600 / 24; } } $siteList[$key]['lv3count'] = $lv3count ?? 0; $siteList[$key]['lv3complete'] = $lv3complete ?? 0; if (!empty($lv3CompleteDate)) { $siteList[$key]['lv3completeDate'] = substr(max($lv3CompleteDate), 0, 10); } if (!empty($lv3OverdueTime)) { if (strtotime(date('Y-m-d 00:00:00')) > max($lv3OverdueTime)) { $siteList[$key]['lv3OverdueTime'] = (strtotime(date('Y-m-d 00:00:00')) - max($lv3OverdueTime)) / 3600 / 24;; } } if (!empty($lv3CompleteOverdueTime) && !empty($lv3CompleteOverdueTime2)) { //完成时间小于节点时间 if ($lv3CompleteOverdueTime2[max($lv3CompleteOverdueTime)] > max($lv3CompleteOverdueTime)) { $siteList[$key]['lv3CompleteOverdueTime'] = ($lv3CompleteOverdueTime2[max($lv3CompleteOverdueTime)] - max($lv3CompleteOverdueTime)) / 3600 / 24; } } $siteList[$key]['lv4count'] = $lv4count ?? 0; $siteList[$key]['lv4complete'] = $lv4complete ?? 0; if (!empty($lv4CompleteDate)) { $siteList[$key]['lv4completeDate'] = substr(max($lv4CompleteDate), 0, 10); } if (!empty($lv4OverdueTime)) { if (strtotime(date('Y-m-d 00:00:00')) > max($lv4OverdueTime)) { $siteList[$key]['lv4OverdueTime'] = (strtotime(date('Y-m-d 00:00:00')) - max($lv4OverdueTime)) / 3600 / 24;; } } if (!empty($lv4CompleteOverdueTime) && !empty($lv4CompleteOverdueTime2)) { //完成时间小于节点时间 if ($lv4CompleteOverdueTime2[max($lv4CompleteOverdueTime)] > max($lv4CompleteOverdueTime)) { $siteList[$key]['lv4CompleteOverdueTime'] = ($lv4CompleteOverdueTime2[max($lv4CompleteOverdueTime)] - max($lv4CompleteOverdueTime)) / 3600 / 24; } } $siteList[$key]['lv5count'] = $lv5count ?? 0; $siteList[$key]['lv5complete'] = $lv5complete ?? 0; if (!empty($lv5CompleteDate)) { $siteList[$key]['lv5completeDate'] = substr(max($lv5CompleteDate), 0, 10); } if (!empty($lv5OverdueTime)) { if (strtotime(date('Y-m-d 00:00:00')) > max($lv5OverdueTime)) { $siteList[$key]['lv5OverdueTime'] = (strtotime(date('Y-m-d 00:00:00')) - max($lv5OverdueTime)) / 3600 / 24;; } } if (!empty($lv5CompleteOverdueTime) && !empty($lv5CompleteOverdueTime2)) { //完成时间小于节点时间 if ($lv5CompleteOverdueTime2[max($lv5CompleteOverdueTime)] > max($lv5CompleteOverdueTime)) { $siteList[$key]['lv5CompleteOverdueTime'] = ($lv5CompleteOverdueTime2[max($lv5CompleteOverdueTime)] - max($lv5CompleteOverdueTime)) / 3600 / 24; } } $siteList[$key]['lv6count'] = $lv6count ?? 0; $siteList[$key]['lv6complete'] = $lv6complete ?? 0; if (!empty($lv6CompleteDate)) { $siteList[$key]['lv6completeDate'] = substr(max($lv6CompleteDate), 0, 10); } if (!empty($lv6OverdueTime)) { if (strtotime(date('Y-m-d 00:00:00')) > max($lv6OverdueTime)) { $siteList[$key]['lv6OverdueTime'] = (strtotime(date('Y-m-d 00:00:00')) - max($lv6OverdueTime)) / 3600 / 24;; } } if (!empty($lv6CompleteOverdueTime) && !empty($lv6CompleteOverdueTime2)) { //完成时间小于节点时间 if ($lv6CompleteOverdueTime2[max($lv6CompleteOverdueTime)] > max($lv6CompleteOverdueTime)) { $siteList[$key]['lv6CompleteOverdueTime'] = ($lv6CompleteOverdueTime2[max($lv6CompleteOverdueTime)] - max($lv6CompleteOverdueTime)) / 3600 / 24; } } $siteList[$key]['lv7count'] = $lv7count ?? 0; $siteList[$key]['lv7complete'] = $lv7complete ?? 0; if (!empty($lv7CompleteDate)) { $siteList[$key]['lv7completeDate'] = substr(max($lv7CompleteDate), 0, 10); } if (!empty($lv7OverdueTime)) { if (strtotime(date('Y-m-d 00:00:00')) > max($lv7OverdueTime)) { $siteList[$key]['lv7OverdueTime'] = (strtotime(date('Y-m-d 00:00:00')) - max($lv7OverdueTime)) / 3600 / 24;; } } if (!empty($lv7CompleteOverdueTime) && !empty($lv7CompleteOverdueTime2)) { //完成时间小于节点时间 if ($lv7CompleteOverdueTime2[max($lv7CompleteOverdueTime)] > max($lv7CompleteOverdueTime)) { $siteList[$key]['lv7CompleteOverdueTime'] = ($lv7CompleteOverdueTime2[max($lv7CompleteOverdueTime)] - max($lv7CompleteOverdueTime)) / 3600 / 24; } } $siteList[$key]['lv8count'] = $lv8count ?? 0; $siteList[$key]['lv8complete'] = $lv8complete ?? 0; if (!empty($lv8CompleteDate)) { $siteList[$key]['lv8completeDate'] = substr(max($lv8CompleteDate), 0, 10); } if (!empty($lv8OverdueTime)) { if (strtotime(date('Y-m-d 00:00:00')) > max($lv8OverdueTime)) { $siteList[$key]['lv8OverdueTime'] = (strtotime(date('Y-m-d 00:00:00')) - max($lv8OverdueTime)) / 3600 / 24;; } } if (!empty($lv8CompleteOverdueTime) && !empty($lv8CompleteOverdueTime2)) { //完成时间小于节点时间 if ($lv8CompleteOverdueTime2[max($lv8CompleteOverdueTime)] > max($lv8CompleteOverdueTime)) { $siteList[$key]['lv8CompleteOverdueTime'] = ($lv8CompleteOverdueTime2[max($lv8CompleteOverdueTime)] - max($lv8CompleteOverdueTime)) / 3600 / 24; } } $siteList[$key]['lv9count'] = $lv9count ?? 0; $siteList[$key]['lv9complete'] = $lv9complete ?? 0; if (!empty($lv9CompleteDate)) { $siteList[$key]['lv9completeDate'] = substr(max($lv9CompleteDate), 0, 10); } if (!empty($lv9OverdueTime)) { if (strtotime(date('Y-m-d 00:00:00')) > max($lv9OverdueTime)) { $siteList[$key]['lv9OverdueTime'] = (strtotime(date('Y-m-d 00:00:00')) - max($lv9OverdueTime)) / 3600 / 24;; } } if (!empty($lv9CompleteOverdueTime) && !empty($lv9CompleteOverdueTime2)) { //完成时间小于节点时间 if ($lv9CompleteOverdueTime2[max($lv9CompleteOverdueTime)] > max($lv9CompleteOverdueTime)) { $siteList[$key]['lv9CompleteOverdueTime'] = ($lv9CompleteOverdueTime2[max($lv9CompleteOverdueTime)] - max($lv9CompleteOverdueTime)) / 3600 / 24; } } $siteList[$key]['lv10count'] = $lv10count ?? 0; $siteList[$key]['lv10complete'] = $lv10complete ?? 0; if (!empty($lv10CompleteDate)) { $siteList[$key]['lv10completeDate'] = substr(max($lv10CompleteDate), 0, 10); } if (!empty($lv10OverdueTime)) { if (strtotime(date('Y-m-d 00:00:00')) > max($lv10OverdueTime)) { $siteList[$key]['lv10OverdueTime'] = (strtotime(date('Y-m-d 00:00:00')) - max($lv10OverdueTime)) / 3600 / 24;; } } if (!empty($lv10CompleteOverdueTime) && !empty($lv10CompleteOverdueTime2)) { //完成时间小于节点时间 if ($lv10CompleteOverdueTime2[max($lv10CompleteOverdueTime)] > max($lv10CompleteOverdueTime)) { $siteList[$key]['lv10CompleteOverdueTime'] = ($lv10CompleteOverdueTime2[max($lv10CompleteOverdueTime)] - max($lv10CompleteOverdueTime)) / 3600 / 24; } } $siteList[$key]['lv11count'] = $lv11count ?? 0; $siteList[$key]['lv11complete'] = $lv11complete ?? 0; if (!empty($lv11CompleteDate)) { $siteList[$key]['lv11completeDate'] = substr(max($lv11CompleteDate), 0, 10); } if (!empty($lv11OverdueTime)) { if (strtotime(date('Y-m-d 00:00:00')) > max($lv11OverdueTime)) { $siteList[$key]['lv11OverdueTime'] = (strtotime(date('Y-m-d 00:00:00')) - max($lv11OverdueTime)) / 3600 / 24;; } } if (!empty($lv11CompleteOverdueTime) && !empty($lv11CompleteOverdueTime2)) { //完成时间小于节点时间 if ($lv11CompleteOverdueTime2[max($lv11CompleteOverdueTime)] > max($lv11CompleteOverdueTime)) { $siteList[$key]['lv11CompleteOverdueTime'] = ($lv11CompleteOverdueTime2[max($lv11CompleteOverdueTime)] - max($lv11CompleteOverdueTime)) / 3600 / 24; } } $siteList[$key]['lv12count'] = $lv12count ?? 0; $siteList[$key]['lv12complete'] = $lv12complete ?? 0; if (!empty($lv12CompleteDate)) { $siteList[$key]['lv12completeDate'] = substr(max($lv12CompleteDate), 0, 10); } if (!empty($lv12OverdueTime)) { if (strtotime(date('Y-m-d 00:00:00')) > max($lv12OverdueTime)) { $siteList[$key]['lv12OverdueTime'] = (strtotime(date('Y-m-d 00:00:00')) - max($lv12OverdueTime)) / 3600 / 24;; } } if (!empty($lv12CompleteOverdueTime) && !empty($lv12CompleteOverdueTime2)) { //完成时间小于节点时间 if ($lv12CompleteOverdueTime2[max($lv12CompleteOverdueTime)] > max($lv12CompleteOverdueTime)) { $siteList[$key]['lv12CompleteOverdueTime'] = ($lv12CompleteOverdueTime2[max($lv12CompleteOverdueTime)] - max($lv12CompleteOverdueTime)) / 3600 / 24; } } $siteList[$key]['lv13count'] = $lv13count ?? 0; $siteList[$key]['lv13complete'] = $lv13complete ?? 0; if (!empty($lv13CompleteDate)) { $siteList[$key]['lv13completeDate'] = substr(max($lv13CompleteDate), 0, 10); } if (!empty($lv13OverdueTime)) { if (strtotime(date('Y-m-d 00:00:00')) > max($lv13OverdueTime)) { $siteList[$key]['lv13OverdueTime'] = (strtotime(date('Y-m-d 00:00:00')) - max($lv13OverdueTime)) / 3600 / 24;; } } if (!empty($lv13CompleteOverdueTime) && !empty($lv13CompleteOverdueTime2)) { //完成时间小于节点时间 if ($lv13CompleteOverdueTime2[max($lv13CompleteOverdueTime)] > max($lv13CompleteOverdueTime)) { $siteList[$key]['lv13CompleteOverdueTime'] = ($lv13CompleteOverdueTime2[max($lv13CompleteOverdueTime)] - max($lv13CompleteOverdueTime)) / 3600 / 24; } } $siteList[$key]['lv14count'] = $lv14count ?? 0; $siteList[$key]['lv14complete'] = $lv14complete ?? 0; if (!empty($lv14CompleteDate)) { $siteList[$key]['lv14completeDate'] = substr(max($lv14CompleteDate), 0, 10); } if (!empty($lv14OverdueTime)) { if (strtotime(date('Y-m-d 00:00:00')) > max($lv14OverdueTime)) { $siteList[$key]['lv14OverdueTime'] = (strtotime(date('Y-m-d 00:00:00')) - max($lv14OverdueTime)) / 3600 / 24;; } } if (!empty($lv14CompleteOverdueTime) && !empty($lv14CompleteOverdueTime2)) { //完成时间小于节点时间 if ($lv14CompleteOverdueTime2[max($lv14CompleteOverdueTime)] > max($lv14CompleteOverdueTime)) { $siteList[$key]['lv14CompleteOverdueTime'] = ($lv14CompleteOverdueTime2[max($lv14CompleteOverdueTime)] - max($lv14CompleteOverdueTime)) / 3600 / 24; } } } return $siteList; } }