| xqd
@@ -6,6 +6,7 @@ use App\Models\Project;
|
|
|
use App\Models\ProjectRole;
|
|
|
use App\Models\ProjectUser;
|
|
|
use App\Models\User;
|
|
|
+use function Couchbase\defaultDecoder;
|
|
|
use Illuminate\Http\Request;
|
|
|
|
|
|
class ProjectUserController extends BaseController
|
| xqd
@@ -83,29 +84,48 @@ class ProjectUserController extends BaseController
|
|
|
$project_id = $data['project_id'];
|
|
|
$user_id = $data['user_id'];
|
|
|
$project_role_id = $data['project_role_id'];
|
|
|
- //新加的角色是项目经理
|
|
|
- if ($project_role_id == 4)
|
|
|
+ //查找该用户
|
|
|
+ $project_users = ProjectUser::where('project_id',$project_id)->where('user_id',$user_id)->get()->toArray();
|
|
|
+ //用户在项目中
|
|
|
+ if (count($project_users)!=0)
|
|
|
{
|
|
|
- $m_user = ProjectUser::where('project_id',$project_id)->where('project_role_id',4)->value('user_id');
|
|
|
- ProjectUser::where('project_id',$project_id)->where('project_role_id',4)->where('user_id',$m_user)->update(['project_role_id'=>3]);
|
|
|
- }
|
|
|
- //新加的角色是机电负责人
|
|
|
- if ($project_role_id == 2)
|
|
|
- {
|
|
|
- $s_user = ProjectUser::where('project_id',$project_id)->where('project_role_id',2)->value('user_id');
|
|
|
- ProjectUser::where('project_id',$project_id)->where('project_role_id',2)->where('user_id',$s_user)->update(['project_role_id'=>1]);
|
|
|
+ if ($project_role_id == 4)
|
|
|
+ {
|
|
|
+ //原本的项目经理变成项目副经理
|
|
|
+ $s_user_id = ProjectUser::where('project_id',$project_id)->where('project_role_id',4)->value('user_id');
|
|
|
+ ProjectUser::where('project_id',$project_id)->where('user_id',$s_user_id)->update(['project_role_id'=>3]);
|
|
|
+ }else if ($project_role_id == 2)
|
|
|
+ {
|
|
|
+ $m_user_id = ProjectUser::where('project_id',$project_id)->where('project_role_id',2)->value('user_id');
|
|
|
+ ProjectUser::where('project_id',$project_id)->where('user_id',$m_user_id)->update(['project_role_id'=>1]);
|
|
|
+ }
|
|
|
+ //自己的角色变成项目经理
|
|
|
+ $res = ProjectUser::where('project_id',$project_id)->where('user_id',$user_id)->update(['project_role_id'=>$project_role_id]);
|
|
|
+ if(empty($res)) return back()->withErrors(['sg_error_info' => '更新失败']);
|
|
|
+ return redirect($this->pre_uri . 'create')->with(['sg_success_info' => '更新成功']);
|
|
|
+ }else{
|
|
|
+ // 用户不在项目中
|
|
|
+ if ($project_role_id == 4)
|
|
|
+ {
|
|
|
+ //原本的项目经理变成项目副经理
|
|
|
+ $s_user_id = ProjectUser::where('project_id',$project_id)->where('project_role_id',4)->value('user_id');
|
|
|
+ ProjectUser::where('project_id',$project_id)->where('user_id',$s_user_id)->update(['project_role_id'=>3]);
|
|
|
+ }else if ($project_role_id == 2)
|
|
|
+ {
|
|
|
+ $m_user_id = ProjectUser::where('project_id',$project_id)->where('project_role_id',2)->value('user_id');
|
|
|
+ ProjectUser::where('project_id',$project_id)->where('user_id',$m_user_id)->update(['project_role_id'=>1]);
|
|
|
+ }
|
|
|
+ $res = $this->model->create($data);
|
|
|
+ if(empty($res)) return back()->withErrors(['sg_error_info' => '保存失败']);
|
|
|
+ return redirect($this->pre_uri . 'create')->with(['sg_success_info' => '创建成功']);
|
|
|
}
|
|
|
- $this->model->where('user_id', $data['user_id'])->where('project_id',$project_id)->update(['project_role_id'=>$project_role_id]);
|
|
|
- $res = $this->model->create($data);
|
|
|
- if(empty($res)) return back()->withErrors(['sg_error_info' => '保存失败']);
|
|
|
- return redirect($this->pre_uri . 'create')->with(['sg_success_info' => '创建成功']);
|
|
|
}
|
|
|
|
|
|
public function edit(Request $request)
|
|
|
{
|
|
|
if(empty($request->input('id')) || empty($item = $this->model->find($request->input('id')))) return back()->withErrors(['sg_error_info' => '找不到要编辑的数据']);
|
|
|
$user_options = (new User())->getOptions();
|
|
|
- $role_options = (new ProjectRole())->getOptions();
|
|
|
+ $role_options = (new ProjectRole())->getNotLeaderOptions();
|
|
|
list($model, $model_name, $pre_uri) = array($this->model, $this->model_name, $this->pre_uri);
|
|
|
return view($this->view_path . 'edit', compact('model', 'model_name', 'pre_uri', 'item', 'user_options', 'role_options'));
|
|
|
}
|
| xqd
@@ -119,9 +139,43 @@ class ProjectUserController extends BaseController
|
|
|
return back()->withErrors($validator)->withInput();
|
|
|
}
|
|
|
$data = $request->input('data');
|
|
|
- $res = $this->model->where('id', $request->input('id'))->update($data);
|
|
|
- if(!$res) return back()->withErrors(['sg_error_info' => '数据库保存失败!']);
|
|
|
- return back()->with(['sg_success_info' => '编辑成功']);
|
|
|
+ $project_id = $request->input('project_id');
|
|
|
+ $project_users = ProjectUser::where('project_id',$project_id)->where('user_id',$data['user_id'])->get()->toArray();
|
|
|
+
|
|
|
+ if (count($project_users)!=0)
|
|
|
+ {
|
|
|
+ if ($data['project_role_id'] == 4)
|
|
|
+ {
|
|
|
+ //原本的项目经理变成项目副经理
|
|
|
+ $s_user_id = ProjectUser::where('project_id',$project_id)->where('project_role_id',4)->value('user_id');
|
|
|
+ ProjectUser::where('project_id',$project_id)->where('user_id',$s_user_id)->update(['project_role_id'=>3]);
|
|
|
+ }else if ($data['project_role_id'] == 2)
|
|
|
+ {
|
|
|
+ $m_user_id = ProjectUser::where('project_id',$project_id)->where('project_role_id',2)->value('user_id');
|
|
|
+ ProjectUser::where('project_id',$project_id)->where('user_id',$m_user_id)->update(['project_role_id'=>1]);
|
|
|
+ }
|
|
|
+ //自己的角色变成项目经理
|
|
|
+ $res = ProjectUser::where('project_id',$project_id)->where('user_id',$data['user_id'])->update(['project_role_id'=>$data['project_role_id']]);
|
|
|
+ if(empty($res)) return back()->withErrors(['sg_error_info' => '更新失败']);
|
|
|
+ return redirect($this->pre_uri . 'create')->with(['sg_success_info' => '更新成功']);
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ if ($data['project_role_id'] == 4)
|
|
|
+ {
|
|
|
+ //原本的项目经理变成项目副经理
|
|
|
+ $s_user_id = ProjectUser::where('project_id',$project_id)->where('project_role_id',4)->value('user_id');
|
|
|
+ ProjectUser::where('project_id',$project_id)->where('user_id',$s_user_id)->update(['project_role_id'=>3]);
|
|
|
+ }else if ($data['project_role_id'] == 2)
|
|
|
+ {
|
|
|
+ $m_user_id = ProjectUser::where('project_id',$data['project_id'])->where('project_role_id',2)->value('user_id');
|
|
|
+ ProjectUser::where('project_id',$project_id)->where('user_id',$m_user_id)->update(['project_role_id'=>1]);
|
|
|
+ }
|
|
|
+ $res = $this->model->create($data);
|
|
|
+ if(empty($res)) return back()->withErrors(['sg_error_info' => '保存失败']);
|
|
|
+ return redirect($this->pre_uri . 'create')->with(['sg_success_info' => '创建成功']);
|
|
|
+ }
|
|
|
+
|
|
|
}
|
|
|
|
|
|
public function delete(Request $request)
|