public function assignWork(AssignWorkRequest $request) { $work = Work::where('id', '=', $request->work_id)->first(); $departmentWork = DepartmentWork::where('id', '=', $work->last_department_work_id)->first(); if ($request->has('department_worker') && $work->last_department_work_id != null) { $data = DB::transaction(function () use($work, $departmentWork, $request) { $newUserWork = new UserWork(); $newUserWork->department_id = $departmentWork->department_id; $newUserWork->assign_date = time(); $newUserWork->assigned_to = $request->department_worker; $newUserWork->save(); $departmentWork->last_user_work_id = $newUserWork->id; $departmentWork->accepted = 1; $departmentWork->save(); /** * İŞ AÇILAN KİŞİYE MAİL ATMA */ $user = User::where('id', '=', $request->department_worker)->first(); $username = $user->first_name . " " . $user->last_name; $username = mb_convert_case($username, MB_CASE_TITLE, 'utf-8'); CommonController::mailSendNotQueue('IS TAKIP SISTEMI', [$user->email], ['fullname' => $username, 'message' => 'Departman lideriniz tarafından size "' . $work->title . '" başlıklı yeni bir iş açıldı. Detaylar için lütfen sisteme gidiniz.'], 'emails.work-mail-template'); CommonController::sendSms('RHPOZTFYAY', $user->phone, 'Merhaba ' . $username . ', departman lideriniz tarafından size "' . $work->title . '" başlıklı yeni bir iş atandı lütfen sistem üzerinden ayrıntıları inceleyin'); /** * İŞİ OLUŞTURAN KİŞİYE İŞİN ATANDIĞINA DAİR MAİL & SMS ATMA */ $workCreator = User::where('id', '=', $work->created_by)->first(); $creatorusername = $workCreator->first_name . " " . $workCreator->last_name; $creatorusername = mb_convert_case($creatorusername, MB_CASE_TITLE, 'utf-8'); CommonController::mailSendNotQueue('IS TAKIP SISTEMI', [$workCreator->email], ['fullname' => $creatorusername, 'message' => 'Açmış olduğunuz "' . $work->title . '" başlıklı iş , ' . $username . ' kişisine atanmıştır. Detaylar için lütfen sisteme gidiniz.'], 'emails.work-mail-template'); CommonController::sendSms('RHPOZTFYAY', $workCreator->phone, 'Merhaba ' . $creatorusername . ', açmış olduğunuz"' . $work->title . '" başlıklı iş ' . $username . ' kişisine atanmıştır. Detaylar için lütfen sisteme gidiniz.'); return ['success' => true, 'messages' => 'Atama İşlemi Başarılı', 'work' => $work, 'department' => $departmentWork, 'user' => $newUserWork]; }); return response()->json($data); } elseif ($request->has('department')) { $data = DB::transaction(function () use($request, $work) { $newDepartmentWork = new DepartmentWork(); $newDepartmentWork->department_id = $request->department; $newDepartmentWork->assign_date = time(); $newDepartmentWork->save(); $work->last_department_work_id = $newDepartmentWork->id; $work->save(); /** * İŞİN AÇILDIĞI DEPARTMAN SENIORUNA BILGI */ $departmentWithSenior = Department::where('id', '=', $request->department)->with('senior')->first(); $seniorUser = $departmentWithSenior->senior[0]; $username = $seniorUser->first_name . " " . $seniorUser->last_name; $username = mb_convert_case($username, MB_CASE_TITLE, 'utf-8'); $workCreator = User::where('id', '=', $work->created_by)->first(); $creatorusername = $workCreator->first_name . " " . $workCreator->last_name; $creatorusername = mb_convert_case($creatorusername, MB_CASE_TITLE, 'utf-8'); CommonController::mailSendNotQueue('IS TAKIP SISTEMI', [$seniorUser->email], ['fullname' => $username, 'message' => 'Departmanınıza ' . $creatorusername . ' tarafından , "' . $work->title . '"başlıklı yeni bir iş açılmıştır. İşin detayları ve işi atamak için lütfen sisteme gidiniz.'], 'emails.work-mail-template'); CommonController::sendSms('RHPOZTFYAY', $seniorUser->phone, 'Merhaba ' . $username . ', departmanınıza ' . $creatorusername . ' tarafından , "' . $work->title . '" başlıklı yeni bir iş açılmıştır. İşin detayları ve işi atamak için lütfen sisteme gidiniz.'); return ['success' => true, 'messages' => 'Atama İşlemi Başarılı', 'work' => $work, 'deparment' => $newDepartmentWork]; }); return response()->json($data); } elseif ($work->last_department_work_id == null && $request->has('department_worker')) { $data = DB::transaction(function () use($request, $work) { $newDepartmentWork = new DepartmentWork(); $newDepartmentWork->department_id = $request->department; $newDepartmentWork->assign_date = time(); $newDepartmentWork->save(); $work->last_department_work_id = $newDepartmentWork->id; $work->save(); $newUserWork = new UserWork(); $newUserWork->department_id = $newDepartmentWork->department_id; $newUserWork->assign_date = time(); $newUserWork->assigned_to = $request->department_worker; $newUserWork->save(); $newDepartmentWork->last_user_work_id = $newUserWork->id; $newDepartmentWork->accepted = 1; $newDepartmentWork->save(); /** * İŞ AÇILAN KİŞİYE MAİL ATMA */ $user = User::where('id', '=', $request->department_worker)->first(); $username = $user->first_name . " " . $user->last_name; $username = mb_convert_case($username, MB_CASE_TITLE, 'utf-8'); $workCreator = User::where('id', '=', $work->created_by)->first(); $creatorusername = $workCreator->first_name . " " . $workCreator->last_name; $creatorusername = mb_convert_case($creatorusername, MB_CASE_TITLE, 'utf-8'); CommonController::mailSendNotQueue('IS TAKIP SISTEMI', [$user->email], ['fullname' => $username, 'message' => 'Departman lideriniz ' . $creatorusername . ' tarafından size "' . $work->title . '" başlıklı yeni bir iş açıldı. Detaylar için lütfen sisteme gidiniz.'], 'emails.work-mail-template'); CommonController::sendSms('RHPOZTFYAY', $user->phone, 'Merhaba ' . $username . ', departman lideriniz ' . $creatorusername . ' tarafından size "' . $work->title . '" başlıklı yeni bir iş atandı lütfen sistem üzerinden ayrıntıları inceleyin'); /** * İŞİ OLUŞTURAN KİŞİYE İŞİN ATANDIĞINA DAiR MAİL & SMS ATMA */ $workCreator = User::where('id', '=', $work->created_by)->first(); $creatorusername = $workCreator->first_name . " " . $workCreator->last_name; $creatorusername = mb_convert_case($creatorusername, MB_CASE_TITLE, 'utf-8'); CommonController::mailSendNotQueue('IS TAKIP SISTEMI', [$workCreator->email], ['fullname' => $creatorusername, 'message' => 'Açmış olduğunuz "' . $work->title . '" başlıklı iş , ' . $username . ' kişisine atanmıştır. Detaylar için lütfen sisteme gidiniz.'], 'emails.work-mail-template'); CommonController::sendSms('RHPOZTFYAY', $workCreator->phone, 'Merhaba ' . $creatorusername . ', açmış olduğunuz"' . $work->title . '" başlıklı iş ' . $username . ' kişisine atanmıştır. Detaylar için lütfen sisteme gidiniz.'); return ['success' => true, 'messages' => 'Atama İşlemi Başarılı', 'work' => $work, 'department' => $newDepartmentWork, 'user' => $newUserWork]; }); return response()->json($data); } }
/** * Update the specified resource in storage. * * @param \Illuminate\Http\Request $request * @param int $id * @return \Illuminate\Http\Response */ public function update(WorkFlowTodoWorkRequest $request, $id) { if ($this->currentUser->hasAccess('wts.management.edit')) { DB::transaction(function () use($request) { $editWork = Work::where('id', '=', $request->work_id)->with('departmentWork')->first(); $editWork->slug = $request->slug_name; $editWork->title = $request->title; $editWork->description = $request->description; $editWork->importance = $request->importance; $editWork->deadline = strtotime(str_replace('/', '-', $request->deadline)); if ($request->hasFile('file')) { if ($editWork->file != '') { \File::delete(public_path() . "/uploads/works-files/" . $editWork->file); } $file = $request->file('file'); $fileName = CommonController::fileUpload($file, 'uploads/works-files'); $editWork->file = $fileName; $editWork->save(); } elseif (!$request->hasFile('file') && $request->file_hidden == 1) { if ($editWork->file != '') { \File::delete(public_path() . "/uploads/works-files/" . $editWork->file); $editWork->file = ""; } } if (empty($editWork->departmentWork) || $editWork->departmentWork->department_id != $request->department) { if ($request->department == '') { $editWork->last_department_id = ''; } else { $departmentWork = new DepartmentWork(); $departmentWork->department_id = $request->department; $departmentWork->assign_date = time(); //@todo DATE HATASI !!! BURALAR REVİZE EDİLMELİ $departmentWork->accepted = 0; $departmentWork->save(); $editWork->last_department_work_id = $departmentWork->id; if ($request->is_senior == 1 && $request->has('department_worker')) { $userWork = new UserWork(); $userWork->department_id = $request->department; $userWork->assign_date = time(); //@todo DATE HATASI !!! BURALAR REVİZE EDİLMELİ $userWork->assigned_to = $request->department_worker; $userWork->accepted = 0; $userWork->save(); $departmentWork->accepted = 1; $departmentWork->last_user_work_id = $userWork->id; $departmentWork->save(); /** * İŞ AÇILAN KİŞİYE MAİL ATMA */ $user = User::where('id', '=', $request->department_worker)->first(); $username = $user->first_name . " " . $user->last_name; $username = mb_convert_case($username, MB_CASE_TITLE, 'utf-8'); $workCreator = User::where('id', '=', $editWork->created_by)->first(); $creatorusername = $workCreator->first_name . " " . $workCreator->last_name; $creatorusername = mb_convert_case($creatorusername, MB_CASE_TITLE, 'utf-8'); CommonController::mailSendNotQueue('IS TAKIP SISTEMI', [$user->email], ['fullname' => $username, 'message' => 'Departman lideriniz ' . $creatorusername . ' tarafından size , "' . $editWork->title . '" başlıklı yeni bir iş açıldı. Detaylar için lütfen sisteme gidiniz.'], 'emails.work-mail-template'); CommonController::sendSms('RHPOZTFYAY', $user->phone, 'Merhaba ' . $username . ', departman lideriniz ' . $creatorusername . ' tarafından size yeni bir iş açıldı lütfen sistem üzerinden ayrıntıları inceleyin'); /** * İŞİ OLUŞTURAN KİŞİYE BİLGİLENDİRME */ $departmentWithSenior = Department::where('id', '=', $request->department)->with('senior')->first(); $seniorUser = $departmentWithSenior->senior[0]; $seniorUsername = $seniorUser->first_name . " " . $seniorUser->last_name; $seniorUsername = mb_convert_case($seniorUsername, MB_CASE_TITLE, 'utf-8'); CommonController::mailSendNotQueue('IS TAKIP SISTEMI', [$seniorUser->email], ['fullname' => $seniorUsername, 'message' => 'Departmanınıza "' . $editWork->title . '" başlıklı yeni bir iş açılmış ve bu iş ' . $username . ' kişisine atanmıştır. İşin detayları ve işi atamak için lütfen sisteme gidiniz.'], 'emails.work-mail-template'); CommonController::sendSms('RHPOZTFYAY', $seniorUser->phone, 'Merhaba ' . $seniorUsername . ', departmanınıza "' . $editWork->title . '" başlıklı yeni bir iş açılmış ve bu iş ' . $username . ' kişisine atanmıştır . İşin detayları ve işi atamak için lütfen sisteme gidiniz.'); } else { $workCreator = User::where('id', '=', $editWork->created_by)->first(); $creatorusername = $workCreator->first_name . " " . $workCreator->last_name; $creatorusername = mb_convert_case($creatorusername, MB_CASE_TITLE, 'utf-8'); /** * İŞİ OLUŞTURULAN KİŞİYE BİLGİLENDİRME */ $departmentWithSenior = Department::where('id', '=', $request->department)->with('senior')->first(); $seniorUser = $departmentWithSenior->senior[0]; $username = $seniorUser->first_name . " " . $seniorUser->last_name; $username = mb_convert_case($username, MB_CASE_TITLE, 'utf-8'); CommonController::mailSendNotQueue('IS TAKIP SISTEMI', [$seniorUser->email], ['fullname' => $username, 'message' => 'Departmanınıza ' . $creatorusername . ' kişisi tarafından, "' . $editWork->title . '" başlıklı yeni bir iş açılmıştır. İşin detayları ve işi atamak için lütfen sisteme gidiniz.'], 'emails.work-mail-template'); CommonController::sendSms('RHPOZTFYAY', $seniorUser->phone, 'Merhaba ' . $username . ', departmanınıza ' . $creatorusername . ' kişisi tarafından ,"' . $editWork->title . '" başlıklı yeni bir iş açılmıştır. İşin detayları ve işi atamak için lütfen sisteme gidiniz.'); } } } $editWork->save(); }); return response()->json($this->editResponseMessage); } else { abort(403, $this->accessForbidden); } }