123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776 |
- <?php
- /**
- * 首页服务类
- * @copyright 引擎力
- * @author lc
- * @since 2021-06-23
- */
- namespace App\Http\Services;
- use App\Http\Models\ProjectFlowMemo;
- use App\Http\Models\ProjectFlowMemoRelation;
- use App\Http\Models\User;
- class FlowService
- {
- public function getFlowListByUserId($type, $siteId)
- {
- $user = auth()->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;
- }
- }
|