rymc = $jwtAuth->getRymc(); //setRybh是在middleware/jwtAuth中完成的 } //查询任务列表数据 public function selectTask($data) { //如果需要查询的字段不为空就push一个查询条件 $where=[];//初始化$where //任务年度 if ($data['year']!='') array_push($where, ['year', '=', $data['year']]); //任务状态:0:未发布,1:执行中,2:已结束未完成,3:已结束已完成 if ($data['ispublic'] != '') array_push($where, ['ispublic', '=', $data['ispublic']]); //任务开始时间 if ($data['starttime'] != '') array_push($where, ['starttime', '>=', $data['starttime']]); //任务结束时间 if ($data['endtime'] != '') array_push($where, ['endtime', '<=', $data['endtime']]); //任务分类:例行or专项 if ($data['task_class'] != '') array_push($where, ['task_class', '=', $data['task_class']]); //任务名称:模糊查询 if ($data['task_name'] != '' ) array_push($where, ['task_name', 'LIKE', '%'.$data['task_name'].'%']); $result = (new Ccjc())->getInfoByTaskClass($where,(int)$data['pageNum'],(int)$data['pageSize'])->toArray(); $count = (new Ccjc())->getInfoListCount($where); return ['rows'=>$result, 'total'=>$count,]; } //创建任务 public function createTask($data,$orgs_data) { $data['creater'] = $this->rymc; //创建任务 $task_id = (new Ccjc())->createTask($data); for($i=0;$icreateOrgsInfo($orgs); return $result; } //删除任务 public function deleteTaskItem($data,$data_count) { for ($i = 0; $i < $data_count; $i++) { //从数据库中查询选取的数据 $task_info[$i] = (new Ccjc())->getTaskInfoByTaskID($data[$i]['id']); } //将数据库中的数据和选取的数据进行校验 for ($i = 0; $i < $data_count; $i++) { //如果查询结果存在null值,则未选取有效数据 if ($task_info[$i] == null) { throw new ApiException(config('status.none_data')); } //判断操作者是否具有操作权限(是否为创建者) if ($task_info[$i]['creater'] != $this->rymc) { throw new ApiException(config('status.none_authority')); } } //进行删除操作 for ($i = 0; $i < $data_count; $i++) { $result[$i] = (new Ccjc())->deleteItemById($data[$i]['id']);//删除的结果为布尔值 } //检查删除结果是否都为真 for ($i = 0; $i < $data_count; $i++) { if ($result[$i] != 1) { throw new ApiException(config('status.data_abnormal')); } } return '成功删除'."$data_count".'条数据'; } //修改任务发布状态(发布/废止) public function updateTaskUpdateInfo($data,$data_count) { //从数据库中获取任务信息 for ($i = 0; $i < $data_count; $i++) { $task[$i]=(new Ccjc())->getTaskInfoByTaskID($data[$i]['id'])->toArray(); } //是否发布,0:未发布,1:已发布,2:废止;3:已结束未完成;4:已结束已完成;5:执行中 for ($i = 0; $i < $data_count; $i++) { //只有未发布的,状态可以变成发布(0->1) if ($data[$i]['ispublic']==1 && $task[$i]['ispublic'] != 0) { throw new ApiException(config('status.err_enPublic_status'));//当前任务不可发布 } //只已发布的,状态可以变成废止(1->2) if ($data[$i]['ispublic'] == 2 && $task[$i]['ispublic'] != 1) { throw new ApiException(config('status.err_disPublic_status'));//当前任务不可废止 } //只有创建者creater是当前操作员才可以发布 if ($task[$i]['creater'] != $this->rymc) { throw new ApiException(config('status.none_authority'));//无权操作此项数据 } } //将releaser赋值为当前操作者的人员名称 for ($i = 0; $i < $data_count; $i++) { $data[$i]['releaser'] = $this->rymc; } //写入数据库 $result = (new Ccjc())->updateTaskByArrCondition($data); return $result; } }