作者 ZhengBing He

star

@@ -103,7 +103,7 @@ class FetchTicketProjects extends Command @@ -103,7 +103,7 @@ class FetchTicketProjects extends Command
103 $fields = [ 103 $fields = [
104 'post_id' => $item['postid'], 104 'post_id' => $item['postid'],
105 'company_name' => $item['company'], 105 'company_name' => $item['company'],
106 - 'title' => $item['title'], 106 + 'title' => $item['title'] . " - V5",
107 'engineer_id' => $engineer_id, // 第一负责人 107 'engineer_id' => $engineer_id, // 第一负责人
108 'assm_id' => $assm_id, 108 'assm_id' => $assm_id,
109 'seom_id' => $seom_id, 109 'seom_id' => $seom_id,
@@ -214,7 +214,7 @@ class FetchTicketProjects extends Command @@ -214,7 +214,7 @@ class FetchTicketProjects extends Command
214 214
215 $fields = [ 215 $fields = [
216 'company_name' => $item->company, 216 'company_name' => $item->company,
217 - 'title' => $item->title, 217 + 'title' => $item->title . " - V6",
218 'assm_id' => $assm_id, 218 'assm_id' => $assm_id,
219 'seom_id' => $seom_id, 219 'seom_id' => $seom_id,
220 'engineer_id' => $engineer_id, 220 'engineer_id' => $engineer_id,
@@ -8,10 +8,8 @@ use App\Http\Requests\Api\WorkOrder\TicketStoreRequest; @@ -8,10 +8,8 @@ use App\Http\Requests\Api\WorkOrder\TicketStoreRequest;
8 use App\Models\WorkOrder\TicketLog; 8 use App\Models\WorkOrder\TicketLog;
9 use App\Models\WorkOrder\TicketProject; 9 use App\Models\WorkOrder\TicketProject;
10 use App\Models\WorkOrder\Tickets; 10 use App\Models\WorkOrder\Tickets;
11 -use Darabonba\GatewaySpi\Models\InterceptorContext\response;  
12 use Illuminate\Http\Request; 11 use Illuminate\Http\Request;
13 use Illuminate\Support\Facades\DB; 12 use Illuminate\Support\Facades\DB;
14 -use Illuminate\Support\Facades\Http;  
15 13
16 class TicketController extends BaseController 14 class TicketController extends BaseController
17 { 15 {
@@ -29,8 +27,11 @@ class TicketController extends BaseController @@ -29,8 +27,11 @@ class TicketController extends BaseController
29 $size = (int)$request->input('size', 10); 27 $size = (int)$request->input('size', 10);
30 28
31 $tickets = Tickets::with([ 29 $tickets = Tickets::with([
32 - 'project:*',  
33 - 'logs.engineer:id,name', 30 + 'project.pm',
  31 + 'project.assm',
  32 + 'project.seom',
  33 + 'project.first_engineer',
  34 + 'logs.engineer',
34 ]) 35 ])
35 ->where('project_id', $project->id) 36 ->where('project_id', $project->id)
36 // ->where('submit_side', 2) 37 // ->where('submit_side', 2)
@@ -143,10 +144,10 @@ class TicketController extends BaseController @@ -143,10 +144,10 @@ class TicketController extends BaseController
143 public function projectInfo($project_id) 144 public function projectInfo($project_id)
144 { 145 {
145 $project = TicketProject::with([ 146 $project = TicketProject::with([
146 - 'projectV6:id,company',  
147 - 'assm:id,name',  
148 - 'seom:id,name',  
149 - 'first_engineer:id,name', 147 + 'pm',
  148 + 'assm',
  149 + 'seom',
  150 + 'first_engineer',
150 ]) 151 ])
151 ->where('uuid', $project_id)->first(); 152 ->where('uuid', $project_id)->first();
152 if (!$project) return $this->response('未找到项目', 404); 153 if (!$project) return $this->response('未找到项目', 404);
@@ -8,7 +8,6 @@ use App\Http\Requests\Aside\WorkOrder\AsideTicketStoreRequest; @@ -8,7 +8,6 @@ use App\Http\Requests\Aside\WorkOrder\AsideTicketStoreRequest;
8 use App\Http\Requests\Aside\WorkOrder\AsideTicketListRequest; 8 use App\Http\Requests\Aside\WorkOrder\AsideTicketListRequest;
9 use App\Http\Requests\Aside\WorkOrder\AsideTicketUpdateRequest; 9 use App\Http\Requests\Aside\WorkOrder\AsideTicketUpdateRequest;
10 use App\Http\Requests\Aside\WorkOrder\TicketProjectListRequest; 10 use App\Http\Requests\Aside\WorkOrder\TicketProjectListRequest;
11 -use App\Models\Workchat\MessagePush;  
12 use App\Models\WorkOrder\TicketLog; 11 use App\Models\WorkOrder\TicketLog;
13 use App\Models\WorkOrder\TicketProject; 12 use App\Models\WorkOrder\TicketProject;
14 use App\Models\WorkOrder\Tickets; 13 use App\Models\WorkOrder\Tickets;
@@ -27,7 +26,7 @@ class AsideTicketController extends BaseController @@ -27,7 +26,7 @@ class AsideTicketController extends BaseController
27 $validated = $request->validated(); 26 $validated = $request->validated();
28 $lists = Tickets::with([ 27 $lists = Tickets::with([
29 'logs.engineer:id,name', 28 'logs.engineer:id,name',
30 - 'project', 29 + 'project.pm',
31 ]) 30 ])
32 ->when(!empty($validated['engineer_id']), function ($query) use ($validated) { 31 ->when(!empty($validated['engineer_id']), function ($query) use ($validated) {
33 // 查 gl_tickets 表 submit_user_id 或 gl_ticket_logs 表 engineer_id 32 // 查 gl_tickets 表 submit_user_id 或 gl_ticket_logs 表 engineer_id
@@ -51,6 +50,10 @@ class AsideTicketController extends BaseController @@ -51,6 +50,10 @@ class AsideTicketController extends BaseController
51 $status = $request->input('status'); 50 $status = $request->input('status');
52 return $query->where('status', $status); 51 return $query->where('status', $status);
53 }) 52 })
  53 + ->when($request->input('star') !== null, function ($query) use ($request) {
  54 + $star = $request->input('star');
  55 + return $query->where('star', $star);
  56 + })
54 ->when($request->input('search'), function ($query) use ($request) { 57 ->when($request->input('search'), function ($query) use ($request) {
55 // search 查 gl_tickets.title 或 gl_ticket_projects.title 或 gl_ticket_projects.company_name 58 // search 查 gl_tickets.title 或 gl_ticket_projects.title 或 gl_ticket_projects.company_name
56 $search = $request->input('search'); 59 $search = $request->input('search');
@@ -26,6 +26,7 @@ class AsideTicketListRequest extends FormRequest @@ -26,6 +26,7 @@ class AsideTicketListRequest extends FormRequest
26 return [ 26 return [
27 'project_id' => 'nullable|string', 27 'project_id' => 'nullable|string',
28 'status' => 'nullable|in:0,1,2,3|integer', 28 'status' => 'nullable|in:0,1,2,3|integer',
  29 + 'star' => 'nullable|in:1,2,3|integer',
29 'search' => 'nullable|string', // 搜索关键词 30 'search' => 'nullable|string', // 搜索关键词
30 'engineer_id' => 'nullable|integer', // 工程师ID 31 'engineer_id' => 'nullable|integer', // 工程师ID
31 'page' => 'nullable|integer', 32 'page' => 'nullable|integer',
@@ -27,6 +27,7 @@ class AsideTicketUpdateRequest extends FormRequest @@ -27,6 +27,7 @@ class AsideTicketUpdateRequest extends FormRequest
27 'status' => 'nullable|in:0,1,2,3|integer', 27 'status' => 'nullable|in:0,1,2,3|integer',
28 'reply' => 'nullable|string', 28 'reply' => 'nullable|string',
29 'engineer_ids' => 'nullable|array', 29 'engineer_ids' => 'nullable|array',
  30 + 'star' => 'nullable|in:1,2,3|integer',
30 ]; 31 ];
31 } 32 }
32 } 33 }
@@ -4,6 +4,7 @@ namespace App\Models\WorkOrder; @@ -4,6 +4,7 @@ namespace App\Models\WorkOrder;
4 4
5 use App\Models\Base; 5 use App\Models\Base;
6 use App\Models\Manage\Manage; 6 use App\Models\Manage\Manage;
  7 +use App\Models\Manage\ManageHr;
7 use Illuminate\Database\Eloquent\Factories\HasFactory; 8 use Illuminate\Database\Eloquent\Factories\HasFactory;
8 9
9 class TicketLog extends Base 10 class TicketLog extends Base
@@ -19,8 +20,8 @@ class TicketLog extends Base @@ -19,8 +20,8 @@ class TicketLog extends Base
19 20
20 public function engineer() 21 public function engineer()
21 { 22 {
22 - return $this->belongsTo(Manage::class, 'engineer_id', 'id')  
23 - ->select(['id', 'name', 'mobile']); 23 + return $this->belongsTo(ManageHr::class, 'engineer_id', 'manage_id')
  24 + ->select(['manage_id', 'name', 'nickname']);
24 } 25 }
25 26
26 public function ticket() 27 public function ticket()
@@ -4,6 +4,7 @@ namespace App\Models\WorkOrder; @@ -4,6 +4,7 @@ namespace App\Models\WorkOrder;
4 4
5 use App\Models\Base; 5 use App\Models\Base;
6 use App\Models\Manage\Manage; 6 use App\Models\Manage\Manage;
  7 +use App\Models\Manage\ManageHr;
7 use App\Models\Project\Project; 8 use App\Models\Project\Project;
8 use App\Models\ProjectAssociation\ProjectAssociation; 9 use App\Models\ProjectAssociation\ProjectAssociation;
9 use App\Models\Workchat\MessagePush; 10 use App\Models\Workchat\MessagePush;
@@ -21,18 +22,24 @@ class TicketProject extends Base @@ -21,18 +22,24 @@ class TicketProject extends Base
21 ->where('version', 6); 22 ->where('version', 6);
22 } 23 }
23 24
  25 + // 项目经理
  26 + public function pm()
  27 + {
  28 + return $this->hasOne(ManageHr::class, 'manage_id', 'pm_id')->select(['manage_id', 'name', 'nickname']);
  29 + }
  30 +
24 //售后服务经理 31 //售后服务经理
25 public function assm() 32 public function assm()
26 { 33 {
27 - return $this->hasOne(Manage::class, 'id', 'assm_id')  
28 - ->select(['id', 'name']); 34 + return $this->hasOne(ManageHr::class, 'manage_id', 'assm_id')
  35 + ->select(['manage_id', 'name', 'nickname']);
29 } 36 }
30 37
31 // 优化师 38 // 优化师
32 public function seom() 39 public function seom()
33 { 40 {
34 - return $this->hasOne(Manage::class, 'id', 'seom_id')  
35 - ->select(['id', 'name']); 41 + return $this->hasOne(ManageHr::class, 'manage_id', 'seom_id')
  42 + ->select(['manage_id', 'name', 'nickname']);
36 } 43 }
37 44
38 /** 45 /**
@@ -40,8 +47,8 @@ class TicketProject extends Base @@ -40,8 +47,8 @@ class TicketProject extends Base
40 */ 47 */
41 public function first_engineer() 48 public function first_engineer()
42 { 49 {
43 - return $this->hasOne(Manage::class, 'id', 'engineer_id')  
44 - ->select(['id', 'name']); 50 + return $this->hasOne(ManageHr::class, 'manage_id', 'engineer_id')
  51 + ->select(['manage_id', 'name', 'nickname']);
45 } 52 }
46 53
47 /** 54 /**