post(); if (!isset($param['id'])) { return $this->sendError('缺少必要参数: id'); } $opStories = db('work_story_info')->alias('os') ->join('work_story_state ps','os.story_state = ps.id','left') ->where('os.work_id', $param['id']) ->where('os.story_type', $param['story_type']) ->field('os.*, ps.desp as story_state_desp') ->select(); if(!$opStories){ return $this->sendSuccess($opStories); } if (empty($opStories)) { return $this->sendError('未找到相关故事信息'); } $result = []; $user = new User(); foreach ($opStories as $opStory) { $members = explode(',', $opStory['story_member']); $opStory['story_members'] = ''; $ret = []; for ($i=0; $iGetUserInfoByLoginId($members[$i]); $ret[] = $user_info['name']; } $opStory['story_members'] = implode(',', $ret); $opStory['story_managers'] = ''; if ($opStory['story_manager'] !== null) { $user_info = $user->GetUserInfoByLoginId($opStory['story_manager']); $opStory['story_managers'] = $user_info['name']; } $result[] = $opStory; } return $this->sendSuccess($result); } //添加项目Story public function AddStoryInfo() { $param = request()->post(); if($param){ $insert_info = []; $insert_info['story_name'] = $param['story_name']; $insert_info['story_intro'] = $param['story_intro']; $insert_info['story_state'] = $param['story_state']; $insert_info['story_type'] = $param['story_type']; $insert_info['work_id'] = $param['work_id']; $insert_info['story_manager'] = $param['story_manager']; $insert_info['story_member'] = implode(',', $param['story_member']); $insert_info['create_time'] = date('Y-m-d H:i:s'); $ret = db('work_story_info')->insert($insert_info); if($ret){ return $this->sendSuccess('添加成功'); }else{ return $this->sendError('','添加失败'); } } } //添加项目Task /*public function AddStoryTaskInfo() { $param = request()->post(); $insert_info = []; $insert_info['story_id'] = $param['story_id']; $insert_info['task_name'] = $param['task_name']; $insert_info['task_intro'] = $param['task_intro']; $insert_info['create_time'] = $param['create_time']; $insert_info['task_processor'] = $param['task_processor']; $insert_info['task_state'] = 1; $ProjectInfoList = db('project_task')->insert($insert_info); return $this->sendSuccess($ProjectInfoList); }*/ //添加项目Task public function GetStoryTaskInfo() { $param = request()->post(); $story_id = $param['story_id']; $ret = db('work_story_info')->alias('y') ->join('system_user u', 'u.id = y.story_manager', 'left') ->join('work_story_state p', 'p.id =y.story_state', 'left') ->join('hr_staff h', 'h.staff_id =u.user_id', 'left') ->where('y.story_id', $story_id) ->field('y.*, h.staff_name as story_manager_name, p.desp as story_state_desp') ->find(); return $this->sendSuccess($ret); } public function upStoryType() { $param = request()->post(); if ($param){ $ret = db('work_story_info')->where('story_id',$param['story_id'])->update(['story_state'=>$param['story_type']]); if ($ret){ return $this->sendSuccess('修改成功'); }else{ return $this->sendError('','修改失败'); } }else{ return $this->sendError('','修改失败'); } } /*public function GetTaskTypeList() { $ret = db('project_task_state')->select(); return $this->sendSuccess($ret); }*/ public function upTaskType() { $param = request()->post(); if($param){ $ret = db('project_task')->where('task_id',$param['task_id'])->update(['task_state'=>$param['task_type']]); if($ret){ return $this->sendSuccess('修改成功'); }else{ return $this->sendError('','修改失败'); } } } public function GetStoryMemberList() { $param = request()->post(); if ($param) { // 初始化 $array 为空数组 $array = []; $story_info_member = []; $story_info = db('work_story_info') ->where('story_id', $param['story_id']) ->find(); if ($story_info) { $user = new User(); $story_info_member = explode(',', $story_info['story_member']); foreach ($story_info_member as $memberId) { $user_info = $user->GetUserInfoByLoginId($memberId); $item['id'] = $user_info['id']; $item['staff_name'] = $user_info['name']; $array[] = $item; } } return $this->sendSuccess($array); } } public function AddStoryTaskInfo() { $param = request()->post(); $insert_info = []; $insert_info['story_id'] = $param['story_id']; $insert_info['task_intro'] = $param['task_intro']; $insert_info['create_time'] = date('Y-m-d H:i:s'); $insert_info['task_processor'] = $param['task_processor']; $insert_info['task_state'] = 1; $ProjectInfoList = db('work_task_info')->insert($insert_info); return $this->sendSuccess($ProjectInfoList); } //获取项目Story列表 public function GetStoryTaskList() { $param = request()->post(); if ($param) { $opTasks = db('work_task_info')->alias('ot') ->join('work_task_state p', 'p.id =ot.task_state', 'left') ->where('ot.story_id', $param['story_id']) ->field('ot.*, p.desp as task_state_desp') ->select(); $user = new User(); for ($i=0; $iGetUserInfoByLoginId($opTasks[$i]['task_processor']); $opTasks[$i]['task_processor_name'] = $user_info['name']; } return $this->sendSuccess($opTasks); } } public function UpdateStoryInfo() { $param = request()->param(); if($param) { $param['story_member'] = implode(',', $param['story_member']); //数组转字符串 $ret = db('work_story_info')->where('story_id',$param['story_id'])->update($param); if($ret){ return $this->sendSuccess('修改成功'); }else{ return $this->sendError('','修改失败'); } } } public function DeleteStory() { $param = request()->param(); if($param){ $ret = db('work_story_info')->where('story_id',$param['story_id'])->delete(); if($ret){ return $this->sendSuccess('删除成功'); }else{ return $this->sendError('','删除失败'); } } } public function GetStoryStateList() { $ret = db('work_story_state')->select(); return $this->sendSuccess($ret); } public function GetTaskStateList() { $ret = db('work_task_state')->select(); return $this->sendSuccess($ret); } public function UpdateTaskState() { $param = request()->post(); if ($param) { $updateData = ['task_state' => $param['task_state']]; if ($param['task_state'] == 4) { $task_info = db('work_task_info')->where('task_id', $param['task_id'])->find(); if ($task_info) { $createTime = $task_info['create_time']; $createTimestamp = strtotime($createTime); $currentTimestamp = time(); $timeDifference = $currentTimestamp - $createTimestamp; $updateData['consuming_time'] = $timeDifference; } } $ret = db('work_task_info')->where('task_id', $param['task_id'])->update($updateData); if ($ret) { return $this->sendSuccess('修改成功'); } else { return $this->sendError('修改失败'); } } } }