\App\Http\Controllers\AdminMaintainOrganizationController

组织配置控制器(公司 + 部门)

职责:公司/部门 CRUD 与完整组织树的 HTTP 入口,校验入参、编排服务、 组装统一响应,业务下沉 MaintainOrganizationService。 按资源前缀区分方法:companies* 公司、depts* 部门。 岗位目录(depts/{dept}/posts)见 ConfigPostController。

┌────────────────── 分区导航(按此顺序阅读)──────────────────┐ 分区 1 · 公司 CRUD companiesIndex / companiesIds / companiesReorder companiesStore / companiesUpdate / companiesDestroy 分区 2 · 部门 CRUD deptsIndex / deptsStore / deptsUpdate / deptsDestroy 分区 3 · 组织树 orgTree └────────────────────────────────────────────────────────────┘

Summary

Methods
Properties
Constants
__construct()
companiesIndex()
companiesIds()
companiesReorder()
companiesStore()
companiesUpdate()
companiesDestroy()
deptsIndex()
deptsStore()
deptsUpdate()
deptsDestroy()
orgTree()
No public properties found
No constants found
No protected methods found
No protected properties found
N/A
No private methods found
$organizationService
N/A

Properties

Methods

__construct()

__construct(\App\Services\Admin\MaintainOrganizationService  $organizationService) : mixed

Parameters

\App\Services\Admin\MaintainOrganizationService $organizationService

Returns

mixed —

companiesIndex()

companiesIndex(\Illuminate\Http\Request  $request) : \Illuminate\Http\JsonResponse

公司列表

分页查询组织:search 按名称/编码模糊搜索,status 按状态筛选, org_kind 按组织类型筛选,缺省返回全部类型。

Parameters

\Illuminate\Http\Request $request

Returns

\Illuminate\Http\JsonResponse —

companiesIds()

companiesIds() : \Illuminate\Http\JsonResponse

公司全量 ID 清单

拖拽重排专用:无分页直接下发全量 id 与 sort。 列表接口 per_page 上限 100,超过 100 家公司时重排会被截断成脏顺序, 因此重排一律走本端点获取完整清单。

Returns

\Illuminate\Http\JsonResponse —

companiesReorder()

companiesReorder(\App\Http\Requests\Admin\MaintainCompanyReorderRequest  $request) : \Illuminate\Http\JsonResponse

公司批量重排

拖拽排序落定后提交全量新顺序:ids 须含全部公司 id, 按数组顺序重编号 sort=1..n。

Parameters

\App\Http\Requests\Admin\MaintainCompanyReorderRequest $request

Returns

\Illuminate\Http\JsonResponse —

companiesStore()

companiesStore(\App\Http\Requests\Admin\MaintainCompanyRequest  $request) : \Illuminate\Http\JsonResponse

创建公司

新建组织档案:名称与编码唯一,法人信息从关联用户模型读取, company_type 仅公司类组织有意义。

Parameters

\App\Http\Requests\Admin\MaintainCompanyRequest $request

Returns

\Illuminate\Http\JsonResponse —

companiesUpdate()

companiesUpdate(\App\Http\Requests\Admin\MaintainCompanyRequest  $request, \App\Models\SysCompany  $company) : \Illuminate\Http\JsonResponse

更新公司

更新组织档案字段,参数语义与创建一致。

Parameters

\App\Http\Requests\Admin\MaintainCompanyRequest $request
\App\Models\SysCompany $company

Returns

\Illuminate\Http\JsonResponse —

companiesDestroy()

companiesDestroy(\App\Models\SysCompany  $company) : \Illuminate\Http\JsonResponse

删除公司

公司下存在部门时拒绝删除。

Parameters

\App\Models\SysCompany $company

Returns

\Illuminate\Http\JsonResponse —

deptsIndex()

deptsIndex(\Illuminate\Http\Request  $request) : \Illuminate\Http\JsonResponse

部门树

传 company_id 返回该公司部门树;缺省返回全量组织树,各公司根节点并列。

Parameters

\Illuminate\Http\Request $request

Returns

\Illuminate\Http\JsonResponse —

deptsStore()

deptsStore(\App\Http\Requests\Admin\MaintainDeptRequest  $request) : \Illuminate\Http\JsonResponse

创建部门

在公司下新建部门:祖级路径自动维护,负责人信息从关联用户模型 读取,region_id=0 时跟随公司所在地区。

Parameters

\App\Http\Requests\Admin\MaintainDeptRequest $request

Returns

\Illuminate\Http\JsonResponse —

deptsUpdate()

deptsUpdate(\App\Http\Requests\Admin\MaintainDeptRequest  $request, \App\Models\SysDept  $dept) : \Illuminate\Http\JsonResponse

更新部门

调整父级时级联重算全部后代的祖级路径。

Parameters

\App\Http\Requests\Admin\MaintainDeptRequest $request
\App\Models\SysDept $dept

Returns

\Illuminate\Http\JsonResponse —

deptsDestroy()

deptsDestroy(\App\Models\SysDept  $dept) : \Illuminate\Http\JsonResponse

删除部门

存在子部门或任职用户时拒绝删除。

Parameters

\App\Models\SysDept $dept

Returns

\Illuminate\Http\JsonResponse —

orgTree()

orgTree() : \Illuminate\Http\JsonResponse

组织树

一次返回完整组织架构:公司 → 部门 → 岗位。 公司节点含法人信息,部门节点含负责人与岗位目录岗位详情。 权限码:sys:company:read / sys:dept:read。

Returns

\Illuminate\Http\JsonResponse —