作者 ZhengBing He

合并分支 'workorder' 到 'master'

工单增加是否推送微信



查看合并请求 !2418
@@ -78,8 +78,7 @@ class AsideTicketController extends BaseController @@ -78,8 +78,7 @@ class AsideTicketController extends BaseController
78 */ 78 */
79 public function getProjects($search) 79 public function getProjects($search)
80 { 80 {
81 - $projects = TicketProject::where('is_del', 0)  
82 - ->where(function ($query) use ($search) { 81 + $projects = TicketProject::where(function ($query) use ($search) {
83 // 查找项目名称或公司名称 82 // 查找项目名称或公司名称
84 $query->where('title', 'like', '%' . $search . '%') 83 $query->where('title', 'like', '%' . $search . '%')
85 ->orWhere('company_name', 'like', '%' . $search . '%'); 84 ->orWhere('company_name', 'like', '%' . $search . '%');
@@ -99,8 +98,7 @@ class AsideTicketController extends BaseController @@ -99,8 +98,7 @@ class AsideTicketController extends BaseController
99 $dept_id = ManageHr::where('manage_id', $this->manage['id']) 98 $dept_id = ManageHr::where('manage_id', $this->manage['id'])
100 ->value('dept_id'); 99 ->value('dept_id');
101 100
102 - $lists = TicketProject::where('is_del', 0)  
103 - ->when(($this->manage['role'] != 1 && $dept_id != 5), function ($query) use ($dept_id) { 101 + $lists = TicketProject::when(($this->manage['role'] != 1 && $dept_id != 5), function ($query) use ($dept_id) {
104 /** 102 /**
105 * 超管看所有项目 $this->manage['role']=1 103 * 超管看所有项目 $this->manage['role']=1
106 * 全球搜: 技术部ID 1、售后部ID 2 104 * 全球搜: 技术部ID 1、售后部ID 2
@@ -171,12 +169,13 @@ class AsideTicketController extends BaseController @@ -171,12 +169,13 @@ class AsideTicketController extends BaseController
171 $ticket->submit_username = $this->manage['name']; 169 $ticket->submit_username = $this->manage['name'];
172 $ticket->star = $request->input('star', 3); 170 $ticket->star = $request->input('star', 3);
173 $ticket->plan_end_at = $request->input('plan_end_at', null); 171 $ticket->plan_end_at = $request->input('plan_end_at', null);
  172 + $ticket->close_wechat = $request->input('close_wechat', false);
174 $ticket->save(); 173 $ticket->save();
175 174
176 // 分配工单参与人 175 // 分配工单参与人
177 $ticket->saveEngineers($request->input('engineer_ids', [])); 176 $ticket->saveEngineers($request->input('engineer_ids', []));
178 $nickname = ManageHr::where('manage_id', $this->manage['id'])->value('nickname') ?? mb_substr($ticket->submit_username, 0, 1) . '**'; 177 $nickname = ManageHr::where('manage_id', $this->manage['id'])->value('nickname') ?? mb_substr($ticket->submit_username, 0, 1) . '**';
179 - if ($project->wechat_switch) 178 + if ($project->wechat_switch && !$ticket->close_wechat)
180 $project->pushWechatGroupMsg("创贸({$nickname})新增了工单(ID:{$ticket->id}),请及时处理!"); 179 $project->pushWechatGroupMsg("创贸({$nickname})新增了工单(ID:{$ticket->id}),请及时处理!");
181 return $ticket; 180 return $ticket;
182 }); 181 });
@@ -237,7 +236,7 @@ class AsideTicketController extends BaseController @@ -237,7 +236,7 @@ class AsideTicketController extends BaseController
237 ->update(['status' => TicketLog::STATUS_COMPLETED, 'end_at' => now()]); 236 ->update(['status' => TicketLog::STATUS_COMPLETED, 'end_at' => now()]);
238 // 推动微信通知 237 // 推动微信通知
239 $project = $ticket->project; 238 $project = $ticket->project;
240 - if ($project->wechat_switch) 239 + if ($project->wechat_switch && !$ticket->close_wechat)
241 $project->pushWechatGroupMsg("工单(ID:{$ticket->id})已全部完成,请访问查看详情!"); 240 $project->pushWechatGroupMsg("工单(ID:{$ticket->id})已全部完成,请访问查看详情!");
242 $ticket->pushDing('finish'); 241 $ticket->pushDing('finish');
243 242
@@ -92,7 +92,7 @@ class AsideTicketLogController extends BaseController @@ -92,7 +92,7 @@ class AsideTicketLogController extends BaseController
92 $ticket->status = Tickets::STATUS_COMPLETED; 92 $ticket->status = Tickets::STATUS_COMPLETED;
93 $ticket->end_at = now(); 93 $ticket->end_at = now();
94 $project = $ticket->project; 94 $project = $ticket->project;
95 - if ($project->wechat_switch) 95 + if ($project->wechat_switch && !$ticket->close_wechat)
96 $project->pushWechatGroupMsg("工单(ID:{$ticket->id})已全部完成,请访问查看详情!"); 96 $project->pushWechatGroupMsg("工单(ID:{$ticket->id})已全部完成,请访问查看详情!");
97 $ticket->pushDing('finish'); 97 $ticket->pushDing('finish');
98 } 98 }
@@ -66,6 +66,7 @@ class TicketChatController extends BaseController @@ -66,6 +66,7 @@ class TicketChatController extends BaseController
66 $chat->save(); 66 $chat->save();
67 $project = $ticket->project; 67 $project = $ticket->project;
68 $nickname = ManageHr::where('manage_id', $this->manage['id'])->value('nickname') ?? mb_substr($ticket->submit_username, 0, 1) . '**'; 68 $nickname = ManageHr::where('manage_id', $this->manage['id'])->value('nickname') ?? mb_substr($ticket->submit_username, 0, 1) . '**';
  69 + if ($project->wechat_switch && !$ticket->close_wechat)
69 $project->pushWechatGroupMsg("创贸({$nickname})对工单(ID:{$ticket->id})进行了补充,请及时查看处理!"); 70 $project->pushWechatGroupMsg("创贸({$nickname})对工单(ID:{$ticket->id})进行了补充,请及时查看处理!");
70 $this->response('success', Code::SUCCESS, $chat); 71 $this->response('success', Code::SUCCESS, $chat);
71 } 72 }
@@ -31,6 +31,7 @@ class AsideTicketStoreRequest extends FormRequest @@ -31,6 +31,7 @@ class AsideTicketStoreRequest extends FormRequest
31 'engineer_ids' => 'array', 31 'engineer_ids' => 'array',
32 'star' => 'nullable|in:1,2,3|integer', 32 'star' => 'nullable|in:1,2,3|integer',
33 'plan_end_at' => 'nullable|date', 33 'plan_end_at' => 'nullable|date',
  34 + 'close_wechat' => 'nullable|boolean',
34 ]; 35 ];
35 } 36 }
36 } 37 }
@@ -53,7 +53,25 @@ class Tickets extends Base @@ -53,7 +53,25 @@ class Tickets extends Base
53 elseif ($this->project->project_cate == 4) 53 elseif ($this->project->project_cate == 4)
54 $canyu[] = 85; // 黄小玉 54 $canyu[] = 85; // 黄小玉
55 else{ 55 else{
56 - // todo 待完善 56 + // todo V5V6 的项目, 组长能够给看到组员的工单
  57 + $leaders = [];
  58 + foreach (array_merge($engineer_ids, $canyu) as $engineer_id)
  59 + {
  60 + $engineer = ManageHr::where('manage_id', $engineer_id)->first();
  61 + if ($engineer)
  62 + {
  63 + $leader = ManageHr::where('is_leader', 1)
  64 + ->where('status', ManageHr::STATUS_ONE)
  65 + ->where('dept_id', $engineer->dept_id)
  66 + ->where('belong_group', $engineer->belong_group)
  67 + ->value('manage_id');
  68 + if ($leader)
  69 + $leaders[] = $leader;
  70 + }
  71 +
  72 + }
  73 + // 合并组长 id 到 $canyu
  74 + $canyu = array_merge($canyu, $leaders);
57 } 75 }
58 76
59 $all_engineer_ids = array_unique(array_merge($canyu, $engineer_ids)); 77 $all_engineer_ids = array_unique(array_merge($canyu, $engineer_ids));