作者 ZhengBing He

team ok

... ... @@ -100,6 +100,22 @@ class FetchTicketProjects extends Command
elseif ($status == 1)
$engineer_id = $pm_id; // 建站中找项目经理
$team_names = [
$item['pm'],
$item['assm'],
$item['yhs'],
$item['team_leader'],
$item['technology'],
$item['designer'],
$item['yhszl'],
];
// 过滤掉空值,去掉重复
$team_ids = ManageHr::whereIn('name', $team_names)->pluck('manage_id')
->unique()
->filter(fn($v) => !is_null($v) && $v !== 0)
->values()
->toArray();
$fields = [
'post_id' => $item['postid'],
'company_name' => $item['company'],
... ... @@ -114,7 +130,8 @@ class FetchTicketProjects extends Command
'project_cate' => 1,
'pm_id' => $pm_id,
'status' => $status, // 项目状态
'wechat_group_id' => $item['wx_id']
'wechat_group_id' => $item['wx_id'],
'team' => $team_ids ? json_encode($team_ids) : null,
];
if (!$project) {
$new = new TicketProject();
... ... @@ -212,6 +229,23 @@ class FetchTicketProjects extends Command
|| $item->site_status == 1
) ? 1 : 0;
$team_ids = [
$item->deploy_build->leader_mid,
$item->deploy_build->manager_mid,
$item->deploy_build->designer_mid,
$item->deploy_build->tech_mid,
$item->deploy_optimize->manager_mid,
$item->deploy_optimize->optimist_mid,
$item->deploy_optimize->assist_mid,
$item->deploy_optimize->tech_mid,
$item->deploy_optimize->tech_leader,
];
// $team_ids 去重复
$team_ids = array_unique($team_ids);
$team_ids = array_filter($team_ids);
// $team_ids 去掉下标
$team_ids = array_values($team_ids);
$fields = [
'company_name' => $item->company,
'title' => $item->title . " - V6",
... ... @@ -230,6 +264,7 @@ class FetchTicketProjects extends Command
->value('friend_id'),
'pm_id' => $pm_id,
'status' => $status, // 项目状态
'team' => $team_ids ? json_encode($team_ids) : null,
];
if (!$project) {
$project = new TicketProject();
... ...
... ... @@ -93,4 +93,24 @@ class TicketProjectController extends BaseController
{
//
}
/**
* 获取项目团队信息
*
* @param string $id 项目UUID
* @return mixed 返回项目团队信息或错误响应
*/
public function team($id)
{
// 根据UUID查找项目
$project = TicketProject::where('uuid', $id)->first();
// 如果项目不存在,返回错误响应
if (!$project) $this->response('Project not found', Code::USER_MODEL_NOTFOUND_ERROE);
// 返回项目团队信息
// 修改: 使用 getTeam() 方法而不是 getTeam 属性
return $this->response('Project team', Code::SUCCESS, $project->getTeam());
}
}
... ...
... ... @@ -93,4 +93,11 @@ class TicketProject extends Base
$message_push->save();
}
}
public function getTeam()
{
return ManageHr::whereIn('manage_id', json_decode($this->team, true))
->where('manage_id', '>', 0)
->select(['manage_id', 'name', 'nickname', 'mobile'])->get()->toArray();
}
}
... ...
... ... @@ -258,6 +258,7 @@ Route::middleware(['aloginauth'])->group(function () {
Route::get('/pushNotify/{id}', [Aside\WorkOrder\AsideTicketController::class, 'pushNotify'])->name('admin.tickets.pushNotify')->summary('A端工单推送企微群');
Route::get('/projects/{search}', [Aside\WorkOrder\AsideTicketController::class, 'getProjects'])->name('admin.tickets.projects')->summary('A端V5V6项目列表');
Route::patch('/projects/{id}', [Aside\WorkOrder\TicketProjectController::class, 'update'])->name('admin.tickets.projects.update')->summary('A端修改工单项目');
Route::get('/projects_team/{id}', [Aside\WorkOrder\TicketProjectController::class, 'team'])->name('admin.tickets.projects_team')->summary('A端工单项目团队');
Route::get('/v56_projects/list', [Aside\WorkOrder\AsideTicketController::class, 'projectList'])->name('admin.tickets.projectList')->summary('A端V5V6项目列表')
->description("project_cate[项目分类1]: 1 V5, 2 V6, 3 超迹, 4 域途");
Route::post('/log/{id}', [Aside\WorkOrder\AsideTicketLogController::class, 'update'])->name('admin.tickets.log.update')->summary('A端工单操作日志更新,完成工单');
... ...