作者 lyh

gx

... ... @@ -101,7 +101,7 @@ class TaskController extends BaseController
'status.required' => '请选择状态',
'status.in' => '状态值不正确',
]);
$data = $logic->status($this->param['id'], $this->param['status']);
$data = $logic->status();
return $this->success($data);
}
... ...
... ... @@ -42,6 +42,7 @@ class TaskLogic extends BaseLogic
$this->fail('error');
}
$info = $this->getFileUrl($info);
$info['follow'] = $this->getFileUrl($info['follow']);
return $this->success($info);
}
... ... @@ -67,6 +68,15 @@ class TaskLogic extends BaseLogic
}
return $v;
}
/**
* @remark :保存
* @name :save
* @author :lyh
* @method :post
* @time :2023/8/23 17:19
*/
public function save($param){
DB::beginTransaction();
... ... @@ -97,36 +107,19 @@ class TaskLogic extends BaseLogic
* @author zbj
* @date 2023/4/27
*/
public function status($id, $status){
$task = $this->model->read(['id'=>$id]);
if(!$task){
$this->fail('任务不存在');
}
$manage_ids = Arr::pluck($task['owner'], 'manage_id', 'id');
if(!in_array(LoginLogic::manage('id'), $manage_ids)){
$this->fail('非本人任务,不能更新进程');
public function status(){
$taskOwnerModel = new TaskOwner();
$ownerInfo = $taskOwnerModel->read(['task_id'=>$this->param['id'],'manager_id'=>$this->manager['id']]);
if($ownerInfo === false){
$this->fail('当前工单不属于您');
}
$task_data = [
'id' => $id,
'status' => $status,
];
//个人任务
$task_owner_id = array_search(LoginLogic::manage('id'), $manage_ids);
(new TaskOwnerLogic())->status($task_owner_id, $status);
//一个人开始,任务开始,所有人完成,任务才完成
$owner_status = TaskOwner::where('task_id', $id)->pluck('status')->toArray();
//所有都完成
if(array_sum($owner_status) == count($owner_status) * TaskOwner::STATUS_DOWN){
$task_data['status'] = Task::STATUS_DOWN;
$task_data['done_at'] = date('Y-m-d H:i:s');
}else{
$task_data['status'] = Task::STATUS_DONGING;
$task_data['doing_at'] = date('Y-m-d H:i:s');
DB::beginTransaction();
try {
$this->model->edit(['status'=>$this->param['status']],['id'=>$this->param['id']]);
$taskOwnerModel->edit(['status'=>$this->param['status']],['task_id'=>$this->param['id']]);
}catch (\Exception $e){
$this->fail('error');
}
parent::save($task_data);
return $this->success();
}
... ...
... ... @@ -24,14 +24,6 @@ class TaskFollow extends Base
];
}
public function setAttachmentAttribute($value){
$this->attributes['attachment'] = Upload::url2path($value);
}
public function getAttachmentAttribute($value){
return Upload::path2url($value);
}
public function setManageIdAttribute($value){
$this->attributes['manage_id'] = LoginLogic::manage('id');
}
... ...