|
...
|
...
|
@@ -4,22 +4,26 @@ namespace App\Http\Controllers\Aside\Project; |
|
|
|
|
|
|
|
use App\Enums\Common\Code;
|
|
|
|
use App\Http\Controllers\Aside\BaseController;
|
|
|
|
use App\Http\Logic\Aside\Manage\ManageLogic;
|
|
|
|
use App\Http\Logic\Aside\Project\OnlineCheckLogic;
|
|
|
|
use App\Http\Logic\Aside\Project\ProcessRecordsLogic;
|
|
|
|
use App\Http\Logic\Aside\Project\ProjectLogic;
|
|
|
|
use App\Http\Requests\Aside\Project\ProcessRecordsRequest;
|
|
|
|
use App\Http\Requests\Aside\Project\ProjectRequest;
|
|
|
|
use App\Models\ASide\APublicModel;
|
|
|
|
use App\Models\Channel\Channel;
|
|
|
|
use App\Models\Com\City;
|
|
|
|
use App\Models\Devops\ServerConfig;
|
|
|
|
use App\Models\Domain\DomainInfo;
|
|
|
|
use App\Models\Inquiry\InquirySet;
|
|
|
|
use App\Models\Manage\BelongingGroup;
|
|
|
|
use App\Models\Manage\Manage;
|
|
|
|
use App\Models\Manage\ManageHr;
|
|
|
|
use App\Models\Project\DeployBuild;
|
|
|
|
use App\Models\Project\DeployOptimize;
|
|
|
|
use App\Models\Project\Payment;
|
|
|
|
use App\Models\Project\Project;
|
|
|
|
use App\Models\Task\Task;
|
|
|
|
use Illuminate\Http\Request;
|
|
|
|
|
|
|
|
|
|
...
|
...
|
@@ -91,7 +95,61 @@ class ProjectController extends BaseController |
|
|
|
}
|
|
|
|
//搜索参数处理
|
|
|
|
$map = $this->searchParam($map,$this->map);
|
|
|
|
$project->formatQuery($map)->with()->paginate($this->row, ['*'], 'page', $this->page);
|
|
|
|
$filed = ['id', 'title', 'mysql_id' ,'channel','cooperate_date' ,'type', 'created_at'];
|
|
|
|
$lists = $project->select($filed)->formatQuery($map)->with('payment')->with('deploy_build')
|
|
|
|
->with('deploy_optimize')->with('online_check')->paginate($this->row, ['*'], 'page', $this->page);
|
|
|
|
if(!empty($lists)){
|
|
|
|
$lists = $lists->toArray();
|
|
|
|
foreach ($lists['list'] as $k=>$item){
|
|
|
|
$item = $this->handleParam($item);
|
|
|
|
$lists['list'][$k] = $item;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
$this->response('success',Code::SUCCESS,$lists);
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @remark :返回参数过滤
|
|
|
|
* @name :returnParamItem
|
|
|
|
* @author :lyh
|
|
|
|
* @method :post
|
|
|
|
* @time :2023/8/30 11:07
|
|
|
|
*/
|
|
|
|
public function handleParam(&$item){
|
|
|
|
$manageModel = new Manage();
|
|
|
|
if($item['mysql_id'] != 0){
|
|
|
|
$data = APublicModel::getNumByProjectId($item['id']);
|
|
|
|
}
|
|
|
|
$item = [
|
|
|
|
'id' => $item['id'],
|
|
|
|
'title' => $item['title'],
|
|
|
|
'channel' => Channel::getChannelText($item['channel']['user_id'] ?? 0),
|
|
|
|
'key' => $item['deploy_build']['keyword_num'] ?? 0,
|
|
|
|
'day' => $item['deploy_build']['service_duration'] ?? 0,
|
|
|
|
'amount' => $item['payment']['amount'] ?? 0,
|
|
|
|
'build_leader' => $manageModel->getName($item['deploy_build']['leader_mid']), //组长
|
|
|
|
'build_manager' => $manageModel->getName($item['deploy_build']['manager_mid']), //项目经理
|
|
|
|
'build_designer' => $manageModel->getName($item['deploy_build']['designer_mid']), //设计师
|
|
|
|
'build_tech' => $manageModel->getName($item['deploy_build']['tech_mid']), //技术助理
|
|
|
|
'optimize_manager' => $manageModel->getName($item['deploy_optimize']['manager_mid']), //优化服务经理
|
|
|
|
'optimize_optimist' => $manageModel->getName($item['deploy_optimize']['optimist_mid']), //优化师
|
|
|
|
'optimize_assist' => $manageModel->getName($item['deploy_optimize']['assist_mid']), //优化助理
|
|
|
|
'optimize_tech' => $manageModel->getName($item['deploy_optimize']['tech_mid']), //售后技术
|
|
|
|
'type' => $item['type'],
|
|
|
|
'test_domain' => $item['deploy_build']['test_domain'] ?? 0,
|
|
|
|
'plan' =>Project::planMap()[$item['deploy_build']['plan']],
|
|
|
|
'domain' => $item['deploy_optimize']['domain'] ?? 0,
|
|
|
|
'created_at' => date('Y年m月d日', strtotime($item['created_at'])),
|
|
|
|
'product_num' => $data['product'] ?? 0,
|
|
|
|
'keyword_num' => $item['deploy_build']['keyword_num'] ?? 0,
|
|
|
|
'article_num' => ($data['blog'] ?? 0) + ($data['news'] ?? 0),
|
|
|
|
'task_finish_num' => Task::getNumByProjectId($item['id'], Task::STATUS_DOWN),
|
|
|
|
'task_pending_num' => Task::getNumByProjectId($item['id'], [Task::STATUS_DONGING, Task::STATUS_WAIT]),
|
|
|
|
'optimist_status'=>$item['online_check']['optimist_status'] ?? 0,
|
|
|
|
'qa_status'=>$item['online_check']['qa_status'] ?? 0,
|
|
|
|
'service_day'=>$item['deploy_build']['service_duration'] - $this->compliance_day($item['id']),
|
|
|
|
];
|
|
|
|
return $item;
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
...
|
...
|
|