优化案件模块

This commit is contained in:
27942
2026-01-20 17:12:11 +08:00
parent 513f2d529d
commit c6f45fa37b
2 changed files with 195 additions and 4 deletions

View File

@@ -2513,13 +2513,42 @@ class reimbursement(APIView):
class reimbursementdetail(APIView):
def post(self, request, *args, **kwargs):
"""
报销申请列表展示接口
必填参数page页码、per_page每页数量
可选参数times开始时间、end_time结束时间、person报销人搜索
"""
page = request.data.get('page')
per_page = request.data.get('per_page')
times = request.data.get('times')
end_time = request.data.get('end_time')
person = request.data.get('person')
if not all([page, per_page]):
return Response({'status': 'error', 'message': '缺少参数', 'code': 1}, status=status.HTTP_400_BAD_REQUEST)
# 验证必填参数
if not page:
return Response({
'status': 'error',
'message': '缺少必填参数: page(页码)',
'code': 1
}, status=status.HTTP_400_BAD_REQUEST)
if not per_page:
return Response({
'status': 'error',
'message': '缺少必填参数: per_page(每页数量)',
'code': 1
}, status=status.HTTP_400_BAD_REQUEST)
# 转换为整数
try:
page = int(page)
per_page = int(per_page)
except (ValueError, TypeError):
return Response({
'status': 'error',
'message': '参数类型错误: page和per_page必须是数字',
'code': 1
}, status=status.HTTP_400_BAD_REQUEST)
Q_obj = Q()
if times and end_time:
Q_obj &= Q(times__gte=times) & Q(times__lte=end_time)
@@ -2724,13 +2753,42 @@ class Change(APIView):
class ChangeDetail(APIView):
def post(self, request, *args, **kwargs):
"""
工资/奖金变更列表展示接口
必填参数page页码、per_page每页数量
可选参数times开始时间、end_time结束时间、username用户名搜索
"""
page = request.data.get('page')
per_page = request.data.get('per_page')
times = request.data.get('times')
end_time = request.data.get('end_time')
username = request.data.get('username')
if not all([page, per_page]):
return Response({'status': 'error', 'message': '缺少参数', 'code': 1}, status=status.HTTP_400_BAD_REQUEST)
# 验证必填参数
if not page:
return Response({
'status': 'error',
'message': '缺少必填参数: page(页码)',
'code': 1
}, status=status.HTTP_400_BAD_REQUEST)
if not per_page:
return Response({
'status': 'error',
'message': '缺少必填参数: per_page(每页数量)',
'code': 1
}, status=status.HTTP_400_BAD_REQUEST)
# 转换为整数
try:
page = int(page)
per_page = int(per_page)
except (ValueError, TypeError):
return Response({
'status': 'error',
'message': '参数类型错误: page和per_page必须是数字',
'code': 1
}, status=status.HTTP_400_BAD_REQUEST)
Q_obj = Q()
if times and end_time:
Q_obj &= Q(times__gte=times) & Q(times__lte=end_time)

133
接口列表文档.md Normal file
View File

@@ -0,0 +1,133 @@
# 接口列表文档
本文档列出了系统中的所有主要接口及其说明。
## 用户相关接口 (`/user/`)
### 1. 待办列表
- **接口地址**: `POST /user/roxyexhibition`
- **说明**: 代办展示,显示当前用户的待办事项列表
- **主要功能**: 根据用户角色和部门显示待办审批事项
### 2. 审批处理
- **接口地址**: `POST /user/approval_processing`
- **说明**: 审批处理接口,用于处理各种类型的审批(开票、收入确认、付款申请、报销申请等)
- **主要功能**: 根据审批类型和团队类型进行多级审批流程处理
### 3. 审批状态查询
- **接口地址**: `POST /user/approval-status-check`
- **说明**: 查询待办是否已经审核完全通过
- **主要功能**: 前端财务查看时传入类型和待办ID返回审批状态
### 4. 人员列表
- **接口地址**: `GET /user/personneldisplay`
- **说明**: 人员列表展示
- **主要功能**: 显示所有人员信息
## 财务相关接口 (`/finance/`)
### 1. 入职财务登记
- **接口地址**: `POST /finance/user-register`
- **说明**: 入职财务登记,只需填写姓名、入职时间、工资三个字段
### 2. 已入职用户列表
- **接口地址**: `POST /finance/registered-user-list`
- **说明**: 查询已完成入职财务登记的用户列表
### 3. 未入职用户列表
- **接口地址**: `POST /finance/unregistered-user-list`
- **说明**: 查询在人事管理中已创建,但还没有完成入职财务登记的用户
### 4. 开票申请
- **接口地址**: `POST /finance/issue-invoice`
- **说明**: 财务开票,合同号从案件表选择,负责人自动同步
### 5. 开票详情
- **接口地址**: `POST /finance/issue-Detail`
- **说明**: 开票记录详情查询
### 6. 收入确认
- **接口地址**: `POST /finance/confirm`
- **说明**: 收入确认,根据团队类型判断是否需要审批
### 7. 收入确认列表
- **接口地址**: `POST /finance/confirmdisplay`
- **说明**: 收入确认展示,权限控制:律师只能看自己的数据,管委会和财务部能查看所有
### 8. 调账申请
- **接口地址**: `POST /finance/loan`
- **说明**: 调账申请,直接抄送财务负责人储存、办理,不需要审核流程
### 9. 调账申请列表
- **接口地址**: `POST /finance/loandisplay`
- **说明**: 调账申请列表展示CustomerID字段直接返回客户名字
### 10. 付款申请
- **接口地址**: `POST /finance/payment-request`
- **说明**: 付款申请,根据团队类型判断是否需要审批(独立律师不需要,团队律师需要)
### 11. 付款申请列表
- **接口地址**: `POST /finance/PaymentDisplay`
- **说明**: 付款申请列表展示接口必填参数page页码、per_page每页数量
### 12. 报销申请
- **接口地址**: `POST /finance/reimbursement`
- **说明**: 报销申请,根据团队类型判断是否需要审批(独立律师不需要,团队律师需要多级审批)
### 13. 报销申请列表
- **接口地址**: `POST /finance/reidetail`
- **说明**: 报销申请列表展示接口必填参数page页码、per_page每页数量
### 14. 工资/奖金变更
- **接口地址**: `POST /finance/change`
- **说明**: 工资/奖金变更申请
### 15. 工资/奖金变更列表
- **接口地址**: `POST /finance/ChangeDetail`
- **说明**: 工资/奖金变更列表展示接口
### 16. 离职财务登记
- **接口地址**: `POST /finance/user-departure`
- **说明**: 离职财务登记,只需填写姓名和离职时间,其余字段从人事管理中同步
### 17. 离职登记列表
- **接口地址**: `POST /finance/user-departure-detail`
- **说明**: 离职登记列表查询
## 业务相关接口 (`/business/`)
### 1. 案件下拉列表
- **接口地址**: `POST /business/case-dropdown-list`
- **说明**: 获取案件下拉列表,用于选择案件
## 审批流程说明
### 团队类型判断
- **个人团队personal/独立律师)**
- 不触发审批流程
- 直接抄送财务
- 状态直接设为"已通过"
- **团队team/团队律师)**
- 需要审批流程
- 必须提供 `approvers` 参数(审批人列表)
- 按审批人顺序依次审批
- 最后一个审批人通过后,抄送财务
- 状态初始为"审核中"
### 审批流程
```
提交申请 → 审批人1 → 审批人2 → ... → 审批人N → 财务 → 完成
```
- 每个审批人按顺序审核
- 如果任一审批人拒绝,流程终止,状态设为"未通过"
- 所有审批人通过后,自动抄送财务
- 财务查看后,状态更新为"已通过"
## 注意事项
1. 所有列表接口都需要 `page``per_page` 参数
2. 审批相关接口需要根据团队类型提供 `approvers` 参数
3. 财务查看时,`state` 参数可选,默认为"已通过"
4. 所有接口都支持通过 `token` 自动获取当前用户信息