|
@@ -4,22 +4,26 @@ namespace App\Http\Controllers\Aside\Project; |
|
@@ -4,22 +4,26 @@ namespace App\Http\Controllers\Aside\Project; |
|
4
|
|
4
|
|
|
5
|
use App\Enums\Common\Code;
|
5
|
use App\Enums\Common\Code;
|
|
6
|
use App\Http\Controllers\Aside\BaseController;
|
6
|
use App\Http\Controllers\Aside\BaseController;
|
|
|
|
7
|
+use App\Http\Logic\Aside\Manage\ManageLogic;
|
|
7
|
use App\Http\Logic\Aside\Project\OnlineCheckLogic;
|
8
|
use App\Http\Logic\Aside\Project\OnlineCheckLogic;
|
|
8
|
use App\Http\Logic\Aside\Project\ProcessRecordsLogic;
|
9
|
use App\Http\Logic\Aside\Project\ProcessRecordsLogic;
|
|
9
|
use App\Http\Logic\Aside\Project\ProjectLogic;
|
10
|
use App\Http\Logic\Aside\Project\ProjectLogic;
|
|
10
|
use App\Http\Requests\Aside\Project\ProcessRecordsRequest;
|
11
|
use App\Http\Requests\Aside\Project\ProcessRecordsRequest;
|
|
11
|
use App\Http\Requests\Aside\Project\ProjectRequest;
|
12
|
use App\Http\Requests\Aside\Project\ProjectRequest;
|
|
12
|
use App\Models\ASide\APublicModel;
|
13
|
use App\Models\ASide\APublicModel;
|
|
|
|
14
|
+use App\Models\Channel\Channel;
|
|
13
|
use App\Models\Com\City;
|
15
|
use App\Models\Com\City;
|
|
14
|
use App\Models\Devops\ServerConfig;
|
16
|
use App\Models\Devops\ServerConfig;
|
|
15
|
use App\Models\Domain\DomainInfo;
|
17
|
use App\Models\Domain\DomainInfo;
|
|
16
|
use App\Models\Inquiry\InquirySet;
|
18
|
use App\Models\Inquiry\InquirySet;
|
|
17
|
use App\Models\Manage\BelongingGroup;
|
19
|
use App\Models\Manage\BelongingGroup;
|
|
|
|
20
|
+use App\Models\Manage\Manage;
|
|
18
|
use App\Models\Manage\ManageHr;
|
21
|
use App\Models\Manage\ManageHr;
|
|
19
|
use App\Models\Project\DeployBuild;
|
22
|
use App\Models\Project\DeployBuild;
|
|
20
|
use App\Models\Project\DeployOptimize;
|
23
|
use App\Models\Project\DeployOptimize;
|
|
21
|
use App\Models\Project\Payment;
|
24
|
use App\Models\Project\Payment;
|
|
22
|
use App\Models\Project\Project;
|
25
|
use App\Models\Project\Project;
|
|
|
|
26
|
+use App\Models\Task\Task;
|
|
23
|
use Illuminate\Http\Request;
|
27
|
use Illuminate\Http\Request;
|
|
24
|
|
28
|
|
|
25
|
|
29
|
|
|
@@ -91,7 +95,61 @@ class ProjectController extends BaseController |
|
@@ -91,7 +95,61 @@ class ProjectController extends BaseController |
|
91
|
}
|
95
|
}
|
|
92
|
//搜索参数处理
|
96
|
//搜索参数处理
|
|
93
|
$map = $this->searchParam($map,$this->map);
|
97
|
$map = $this->searchParam($map,$this->map);
|
|
94
|
- $project->formatQuery($map)->with()->paginate($this->row, ['*'], 'page', $this->page);
|
98
|
+ $filed = ['id', 'title', 'mysql_id' ,'channel','cooperate_date' ,'type', 'created_at'];
|
|
|
|
99
|
+ $lists = $project->select($filed)->formatQuery($map)->with('payment')->with('deploy_build')
|
|
|
|
100
|
+ ->with('deploy_optimize')->with('online_check')->paginate($this->row, ['*'], 'page', $this->page);
|
|
|
|
101
|
+ if(!empty($lists)){
|
|
|
|
102
|
+ $lists = $lists->toArray();
|
|
|
|
103
|
+ foreach ($lists['list'] as $k=>$item){
|
|
|
|
104
|
+ $item = $this->handleParam($item);
|
|
|
|
105
|
+ $lists['list'][$k] = $item;
|
|
|
|
106
|
+ }
|
|
|
|
107
|
+ }
|
|
|
|
108
|
+ $this->response('success',Code::SUCCESS,$lists);
|
|
|
|
109
|
+ }
|
|
|
|
110
|
+
|
|
|
|
111
|
+ /**
|
|
|
|
112
|
+ * @remark :返回参数过滤
|
|
|
|
113
|
+ * @name :returnParamItem
|
|
|
|
114
|
+ * @author :lyh
|
|
|
|
115
|
+ * @method :post
|
|
|
|
116
|
+ * @time :2023/8/30 11:07
|
|
|
|
117
|
+ */
|
|
|
|
118
|
+ public function handleParam(&$item){
|
|
|
|
119
|
+ $manageModel = new Manage();
|
|
|
|
120
|
+ if($item['mysql_id'] != 0){
|
|
|
|
121
|
+ $data = APublicModel::getNumByProjectId($item['id']);
|
|
|
|
122
|
+ }
|
|
|
|
123
|
+ $item = [
|
|
|
|
124
|
+ 'id' => $item['id'],
|
|
|
|
125
|
+ 'title' => $item['title'],
|
|
|
|
126
|
+ 'channel' => Channel::getChannelText($item['channel']['user_id'] ?? 0),
|
|
|
|
127
|
+ 'key' => $item['deploy_build']['keyword_num'] ?? 0,
|
|
|
|
128
|
+ 'day' => $item['deploy_build']['service_duration'] ?? 0,
|
|
|
|
129
|
+ 'amount' => $item['payment']['amount'] ?? 0,
|
|
|
|
130
|
+ 'build_leader' => $manageModel->getName($item['deploy_build']['leader_mid']), //组长
|
|
|
|
131
|
+ 'build_manager' => $manageModel->getName($item['deploy_build']['manager_mid']), //项目经理
|
|
|
|
132
|
+ 'build_designer' => $manageModel->getName($item['deploy_build']['designer_mid']), //设计师
|
|
|
|
133
|
+ 'build_tech' => $manageModel->getName($item['deploy_build']['tech_mid']), //技术助理
|
|
|
|
134
|
+ 'optimize_manager' => $manageModel->getName($item['deploy_optimize']['manager_mid']), //优化服务经理
|
|
|
|
135
|
+ 'optimize_optimist' => $manageModel->getName($item['deploy_optimize']['optimist_mid']), //优化师
|
|
|
|
136
|
+ 'optimize_assist' => $manageModel->getName($item['deploy_optimize']['assist_mid']), //优化助理
|
|
|
|
137
|
+ 'optimize_tech' => $manageModel->getName($item['deploy_optimize']['tech_mid']), //售后技术
|
|
|
|
138
|
+ 'type' => $item['type'],
|
|
|
|
139
|
+ 'test_domain' => $item['deploy_build']['test_domain'] ?? 0,
|
|
|
|
140
|
+ 'plan' =>Project::planMap()[$item['deploy_build']['plan']],
|
|
|
|
141
|
+ 'domain' => $item['deploy_optimize']['domain'] ?? 0,
|
|
|
|
142
|
+ 'created_at' => date('Y年m月d日', strtotime($item['created_at'])),
|
|
|
|
143
|
+ 'product_num' => $data['product'] ?? 0,
|
|
|
|
144
|
+ 'keyword_num' => $item['deploy_build']['keyword_num'] ?? 0,
|
|
|
|
145
|
+ 'article_num' => ($data['blog'] ?? 0) + ($data['news'] ?? 0),
|
|
|
|
146
|
+ 'task_finish_num' => Task::getNumByProjectId($item['id'], Task::STATUS_DOWN),
|
|
|
|
147
|
+ 'task_pending_num' => Task::getNumByProjectId($item['id'], [Task::STATUS_DONGING, Task::STATUS_WAIT]),
|
|
|
|
148
|
+ 'optimist_status'=>$item['online_check']['optimist_status'] ?? 0,
|
|
|
|
149
|
+ 'qa_status'=>$item['online_check']['qa_status'] ?? 0,
|
|
|
|
150
|
+ 'service_day'=>$item['deploy_build']['service_duration'] - $this->compliance_day($item['id']),
|
|
|
|
151
|
+ ];
|
|
|
|
152
|
+ return $item;
|
|
95
|
}
|
153
|
}
|
|
96
|
|
154
|
|
|
97
|
/**
|
155
|
/**
|