$params['type'], 'type_user' => $params['type_user'], 'works' => $params['works'], 'plans' => $params['plans'] ?? '', 'remark' => $params['remark'] ?? '', 'admin_id' => $admin_id, 'annex' => $params['annex'] ? json_encode($params['annex']) : null, ]); $data = []; $to_users = explode(',',$params['type_user']); foreach ($to_users as $v){ $data[] = [ 'wid' => $res['id'], 'from_uid' => $admin_id, 'to_uid' => $v, 'send_time' => time(), 'read_time' => 0 ]; } (new OaWorkRecord()) -> saveAll($data); Db::commit(); return true; } catch (\Exception $e) { Db::rollback(); self::setError($e->getMessage()); return false; } } /** * @notes 编辑工作汇报 * @param array $params * @return bool * @author likeadmin * @date 2024/05/23 15:56 */ public static function edit(array $params): bool { Db::startTrans(); try { OaWork::where('id', $params['id'])->update([ 'type' => $params['type'], 'works' => $params['works'], 'plans' => $params['plans'] ?? '', 'remark' => $params['remark'] ?? '', 'annex' => $params['annex'] ? json_encode($params['annex']) : null, ]); Db::commit(); return true; } catch (\Exception $e) { Db::rollback(); self::setError($e->getMessage()); return false; } } /** * @notes 删除工作汇报 * @param array $params * @return bool * @author likeadmin * @date 2024/05/23 15:56 */ public static function delete(array $params): bool { Db::startTrans(); try { OaWork::destroy($params['id']); OaWorkRecord::destroy(function($query)use($params){ $query->where('wid','=',$params['id']); }); OaWorkComment::destroy(function($query)use($params){ $query->where('work_id','=',$params['id']); }); Db::commit(); return true; } catch (\Exception $e) { Db::rollback(); self::setError($e->getMessage()); return false; } } /** * @notes 获取工作汇报详情 * @param $params * @return array * @author likeadmin * @date 2024/05/23 15:56 */ public static function detail($params): array { $data = OaWork::findOrEmpty($params['id']); $type_user = Admin::where('id','in',$data['type_user'])->column('name'); $data['type_user_names'] = implode(',',$type_user); $data['type_text'] = $data->type_text; return $data->toArray(); } }