# OA-project **Repository Path**: vista99/oa-project ## Basic Information - **Project Name**: OA-project - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-08-09 - **Last Updated**: 2024-10-21 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README [toc] # PRD需求文档 ## 项目概述 本OA办公系统适合各中小企业,政务机关以及一切需要集团式管理,电子化办公的机构使用。 ## 项目价值: #### 1.员工信息管理 配置HR人事管理和部门人员配置等相应系统,方便部门人员管理和内部沟通 #### 2.提高工作效率 通过OA系统,员工可以集中处理工作任务、审批流程和信息共享,减少信息孤岛和沟通障碍。 #### 3.降低运营成本 节省纸张和办公耗材: 通过电子化办公,减少纸质文档的使用,降低办公用品的消耗。 减少时间成本: 自动化的工作流程减少了任务完成的时间,从而降低了员工加班和时间浪费的成本。 #### 4. 资产管理可视化 通过对公司固定资产(如车辆,生产器材)的数据管理,有效保障跨地域的固定资产管理,监管资产的真实使用和损耗情况,同时便于部门和管理层之间的调度和统计管理。 #### 5.优化业务流程 可以根据企业实际需求定制业务流程,减少冗余步骤,简化审批流程,加快决策速度,提供丰富的报表工具和数据分析功能,帮助企业领导做出更好的决策。 #### 6.提高数据安全性 严格的权限管理机制确保敏感数据的安全。定期数据备份和快速恢复机制,降低数据丢失的风险。 ## 项目背景: 对于企业而言,用电子办公系统取代传统办公系统是必然选择。随着业务扩张,传统办公模式在跨地域协作、流程管理和效率提升方面存在诸多不足。电子办公系统能够实现标准化流程、减少人为失误、提升运营效率,让员工专注核心业务,增强企业竞争力,适应市场变化。 同时,企业对数据安全有着较高的要求。在信息时代,数据是企业的重要资产,涉及商业机密、客户信息等敏感内容。独立的 OA 办公系统可以更好地进行数据管控,设置严格的访问权限和加密机制,有效防止数据泄露,保障企业的核心利益和持续稳定发展。 此外,软件技术的发展也为电子办公系统提供了有力支撑,使其功能更强大、使用更便捷、部署更灵活,满足大企业的复杂需求。 ## 需求用户 ### 项目目标人群 1. **中小企业**:这些企业通常没有足够的资源和能力来开发和维护复杂的OA系统,迫切需要一种性价比高、易于部署和使用的解决方案。 2. **大型企业的部门和分支机构**:大型企业虽然可能有自己的OA系统,但其下属部门或分支机构可能需要独立的或定制化的OA系统。 3. **特定行业用户**:如医疗、教育、制造业等,这些行业有特殊的业务需求,需要定制化的OA解决方案。 # 原型图参考链接 ##### PC端 : https://www.axureshop.com/a/2236859.html ##### 移动端: https://www.axureshop.com/a/2004032.html # 人员模板划分 ### **1.** 用户管理(许刚) \- **用户注册与登录**:支持多种认证方式(如OAuth等)。 \- **权限管理**:根据角色分配权限,确保数据安全和权限隔离。 \- **部门和职位管理**:支持多级部门架构和职位配置。 -**用户个人信息管理** ### 2. **流程审批**(许刚) \- **审批流管理**:支持自定义审批流程,灵活配置审批节点。 \- **表单管理**:提供多种表单模板,支持表单自定义和数据收集。 \- **流程追踪**:实时查看审批进度和历史记录。 \- **通知和提醒** \- **流程权限控制** ### 3.考勤管理(张杰滔) \- **考勤管理**:支持打卡考勤,缺勤查询,用于人事管理和部门监管。 \- **假期功能**:请假申请、审批流程、假期统计等。 \- **用车管理**:申请分配用车,上级审批员工用车,还车报表等。 ### **4.** 绩效考核(张杰滔) \- **绩效指标**:设定绩效考核标准和指标。 \- **考核评估**:定期评估员工绩效,支持多维度评估。 \- **反馈管理**:绩效结果反馈与改进建议。 ### 5.档案管理(陈洁全) \- **档案归档**:集中存储企业文件,支持权限管理。 \- **档案借阅**:检索档案且供员工借阅调用。 \- **档案保密等级管理**:根据档案保密分级对应员工权限,保障商业数据安全。 ### 6.薪资管理(陈洁全) \- **薪资计算**:允许设置工资项目、定义计算公式,实现部门效益工资上报、财务录入。 \- **工资条**:生成员工工资条,供人事管理和允许员工查询打印。 \- **员工薪资档案**:通过统一管理工资流程和员工档案,实现员工档案电子化。 ### 7.固定资产管理 (李俊星) \- **入库领用**:支持处理固定资产数据库的增删及作变动。 \- **车辆管理**:车辆信息管理,以及车辆使用人员的管理,以便调度分配公用车辆的使用。 \- **变更维修**:对固定资产的状态,维修处置等配置相对应的表单流程管理。 \- **盘点报表**:提供全面资产盘点报表,供资产管理和财政部门使用。 ### 9.首页工作台 (李俊星) \- **公告发布**:首页图文公告发布及审核。 \- **会议备忘**:首页文字备忘录供个人或部门查看。 \- **数据图表**:首页实时显示关键数据。 ### 10.数据统计 (李俊星) \- **统计报表**:结合主要模板业务的统计报表查询,筛选,以及预览下载。 \- **数据图表**:车辆信息管理,以及车辆使用人员的管理,以便调度分配公用车辆的使用。 \- **移动端数据查询**:移动端的数据报表可视化。 ### 11.移动端支持(优先WEB PC端)(后期协同) \- **移动应用**:支持全移动端办公,随时随地处理事务。 \- **响应式设计**:适配不同屏幕尺寸,提供良好的用户体验。 # 数据库设计 https://www.processon.com/view/link/66b07fc22515964e0bacd164?cid=66b077bb137e3111944769f5 ## 许刚 :用户管理+流程审批 ## 张杰滔 :考勤管理+绩效考核 ## 陈洁全:档案管理+薪资管理 ## 李俊星:固定资产管理+首页工作台 # OA办公系统接口文档 ## 用户模块接口文档(许刚) #### 1. 新增用户 - **URL**: `/oa/users/adduser` - **方法**: `POST` - **描述**: 添加新用户。 - **请求参数**: ``` `username` (String, required): 用户名。 `password` (String, required): 密码。 `email` (String, required): 邮箱地址。 `phone` (String, required): 手机号。 `gender` (int, required): 性别(0女 1男)。 `fullName` (String, required): 真实姓名。 `departmentId` (Long, required): 部门编号。 `positionId` (Long, required): 职位编号。 `createBy` (Long, required): 创建者编号。 ``` - **响应**: ```json { "code": 2000, "msg": "add user success", "data": null } ``` #### 2.编辑用户信息 - **URL**: `/oa/users/edituser/{id}` - **方法**: `POST` - **描述**: 更新指定用户的信息。 - **请求参数**: ``` `username` (String, required): 用户名。 `password` (String, required): 密码。 `email` (String, required): 邮箱地址。 `phone` (String, required): 手机号。 `gender` (int, required): 性别(0女 1男)。 `fullName` (String, required): 真实姓名。 `departmentId` (Long, required): 部门编号。 `positionId` (Long, required): 职位编号。 `createBy` (Long, required): 创建者编号。 ``` - **响应**: ```json { "code": 2000, "msg": "edit user success", "data": null } ``` - `4000 Bad Request`: 输入数据无效。 - `4004 Not Found`: 用户不存在。 #### 3.获取用户信息 - **URL**: `/oa/users/getuser` - **方法**: `GET` - **描述**: 获取用户列表。 - **请求参数**: ``` - id (Long, required): 用户ID。 - username (String, optional): 用户名。 - email (String, optional): 邮箱地址。 - phone (String, optional): 手机号。 - gender (int, optional): 性别(0女 1男)。 - status (int, optional): 账号状态(0正常 1停用 )。 ``` - **响应**: ```json { "code": 2000, "msg": "get user success", "data": [{"username":"admin","email":"","phone":"13812345678","gender":1,"status":0,"createTime":"2021-01-01 00:00:00","updateTime":"2021-01-01 00:00:00","departmentName":"开发部","positionName":"开发工程师","fullName":"Jane Doe"}] } ``` #### 4. 用户登录 - **URL**: `/oa/users/login` - **方法**: `POST` - **描述**: 用户登录。 - **请求参数**: - `username` (String, required): 用户名。 - `password` (String, required): 密码。 - `code` (String, required): 验证码。 - `uuid` (String, required): 验证码唯一标识符。 - **响应**: ```json { "code": 2000, "msg": "login success", "data": {"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c"} } ``` - `4000 Bad Request`: 输入数据无效。 - `4004 Not Found`: 用户不存在。 - `4005 Unauthorized`: 用户名或密码错误。 - `4006 Forbidden`: 验证码错误。 #### 5. 用户退出 - **URL**: `/oa/users/logout` - **方法**: `GET` - **描述**: 用户退出。 - **请求参数**: 无 - **响应**: ```json { "code": 2000, "msg": "logout success", "data": null } ``` ## 审批模块接口文档(许刚) #### 1. 创建审批请求 - **URL**: `/oa/requests/addrequest` - **方法**: `POST` - **描述**: 提交一个新的审批请求。 - **请求参数**: - `userId` (Long, required): 提交请求的用户ID。 - `flowId` (Long, required): 所选的审批流程ID。 - `startTime` (date, required): 请求开始日期。 - `endTime` (date, required): 请求结束日期。 - `days` (int, required): 总共天数。 - `reason` (String, required): 申请事由。 - **响应**: ```json { "code": 2000, "msg": "add approval request success", "data": null } ``` - `4000 Bad Request`: 输入数据无效。 - `4004 Not Found`: 审批流程不存在。 #### 2. 编辑审批请求 - **URL**: `/oa/requests/editrequest` - **方法**: `POST` - **描述**: 更新指定审批请求的信息。 - **请求参数**: - `userId` (Long, required): 提交请求的用户ID。 - `flowId` (Long, required): 所选的审批流程ID。 - `startTime` (date, required): 请求开始日期。 - `endTime` (date, required): 请求结束日期。 - `days` (int, required): 总共天数。 - `reason` (String, required): 申请事由。 - **响应**: ```json { "code": 2000, "msg": "edit approval request success", "data": null } ``` - `4000 Bad Request`: 输入数据无效。 - `4004 Not Found`: 审批请求不存在。 #### 3.删除审批请求 - **URL**: `/oa/requests/deleterequest/{id}` - **方法**: `POST` - **描述**: 删除指定审批请求。 - **请求参数**: - `id`(Long, required): 审批请求ID。 - **响应**: ```json { "code": 2000, "msg": "delete approval request success", "data": null } ``` #### 4. 审批请求列表 - **URL**: `/oa/requests/list` - **方法**: `GET` - **描述**: 获取所有审批请求的列表。 - **请求参数**: 无 - **响应**: ```json { "code": 2000, "msg": "get approval request list success", "data": [ { "id": 1, "userId": 1, "flowId": 1, "startTime": "2021-01-01", "endTime": "2021-01-31", "days": 30, "reason": "请假申请", "status": 10, "createTime": "2021-01-01 10:00:00", "updateTime": "2021-01-01 10:00:00", "currentStepId": 1 } ] } ``` #### 5. 获取审批请求详情 - **URL**: `/oa/requests/getrequest/{id}` - **方法**: `GET` - **描述**: 获取指定审批请求的详细信息。 - **请求参数**: ```` - `id` (Long, required): 审批请求ID。 ```` - **响应**: ```json { "code": 2000, "msg": "get approval request success", "data": { "id": 1, "userId": 1, "flowId": 1, "startTime": "2021-01-01", "endTime": "2021-01-31", "days": 30, "reason": "请假申请", "status": 10, "createTime": "2021-01-01 10:00:00", "updateTime": "2021-01-01 10:00:00", "currentStepId": 1 } } ``` - `4000 Bad Request`: 输入数据无效。 - `4004 Not Found`: 审批请求不存在。 #### 6. 获取 批准/拒绝 审批请求记录 - **URL**: `/oa/requests/record/{id}` - **方法**: `GET` - **描述**: 执行审批操作(批准或拒绝)。 - **请求参数**: - `id` (Long, required): 审批请求ID。 - **响应**: ```json { "code": 2000, "msg": "get approval record success", "data": {"action":10,"comment":"审批通过","approvedByName":"张三","actionTime":"2021-01-01 10:00:00"} } ``` - `4004 Not Found`: 审批请求不存在。 #### 7. 获取审批流程列表 - **URL**: `/oa/requests/flows/list` - **方法**: `GET` - **描述**: 获取所有审批流程的列表。 - **请求参数**: 无 - **响应**: ```json { "code": 2000, "msg": "get approval flow list success", "data": [{"flowName":"报销流程","description":"报销费用审批流程"},{"flowName":"请假流程","description":"请假申请审批流程"}] } ``` #### 8. 编辑审批流程 - **URL**: `/oa/requests/flows/edit` - **方法**: `GET` - **描述**: 获取所有审批流程的列表。 - **请求参数**: - `id`(Long, required): 审批流程ID。 - `flow_name`(String, required): 审批流程名称。 - `description`(String, required): 审批流程描述。 - **响应**: ```json { "code": 2000, "msg": "edit approval flow success", "data": null } ``` #### 9. 删除审批流程 - **URL**: `/oa/requests/flows/delete/{id}` - **方法**: `GET` - **描述**: 删除指定审批流程。 - **请求参数**: - `id`(Long, required): 审批流程ID。 - **响应**: ```json { "code": 2000, "msg": "delete approval flow success", "data": null } ``` #### 10. 新建审批流程 - **URL**: `/oa/flows/addflow` - **方法**: `POST` - **描述**: 新建一个审批流程。 - **请求参数**: - `flow_name` (String, required): 审批流程名称。 - `description` (String, required): 审批流程描述。 - **响应**: ```json { "code": 2000, "msg": "add approval flow success", "data": null } ``` #### 11. 获取审批记录 - **URL**: `/oa/requests/records/{requestid}` - **方法**: `GET` - **描述**: 获取指定审批请求的历史记录。 - **请求参数**: `` - `requestId` (Long, required): 审批请求ID。 - **响应**: ```json { "code": 2000, "msg": " get approval records success", "data": { "action":10,"comment":"审批通过","approved_by_name":"张三","action_time":"2021-01-01 10:00:00"} } ``` #### 12. 上传审批附件 - **URL**: `/oa/requests/upload` - **方法**: `POST` - **描述**: 上传审批请求的附件。 - **请求参数**: - `request_id` (Long, required): 审批请求ID。 - `file` (file, required): 上传的文件。 - **响应**: ```json { "code": 2000, "msg": "upload approval attachment success", "data": null } ``` ## 固定资产接口设计(李俊星) ### 1. 固定资产管理 #### 1.1 查询资产 - 请求路径:`/oa/asset/select` - 请求方式:`GET` - 入参设计:动态查询固定资产表 请求参数:**AssetQuery** | 参数名称 | 参数类型 | 是否必填 | 描述 | | ------------- | -------- | -------- | ---------------------------------------- | | code | string | 否 | 资产识别码 | | type | string | 否 | 资产类型 | | status | Integer | 否 | 资产状态 空闲1 占用2 待修3 修理中4 报废5 | | user_id | long | 否 | 目前使用者员工编号 | | location | string | 否 | 所属地 | | department_id | long | 否 | 所属部门编号 | - 返回值: ````java { "code": "2000", "msg": "ok", "data": List } ```` - List示例: | 参数名称 | 参数类型 | 描述 | | -------------- | -------- | ---------------------------------------- | | code | string | 资产识别码 | | type | string | 资产类型 | | brand | string | 品牌 | | specifications | string | 规格 | | stock_num | long | 库存数 | | buy_time | date | 购买时间 | | price | double | 购买价格 | | status | Integer | 资产状态 空闲1 占用2 待修3 修理中4 报废5 | | user_id | long | 目前使用者员工编号 | | location | string | 所属地 | | department_id | long | 所属部门编号 | | remark | string | 备注 | #### 1.2 新增资产 - 请求路径:`/oa/asset/save` - 请求方式:`POST` - 入参设计: 请求参数:**AssetSaveParam** | 参数名称 | 参数类型 | 是否必填 | 描述 | | -------------- | -------- | -------- | ---------------------------------------- | | code | string | 是 | 资产识别码 | | type | string | 是 | 资产类型 | | brand | string | 是 | 品牌 | | specifications | string | 否 | 规格 | | stock_num | long | 是 | 库存数 | | buy_time | date | 否 | 购买时间 | | price | double | 否 | 购买价格 | | status | Integer | 是 | 资产状态 空闲1 占用2 待修3 修理中4 报废5 | | user_id | long | 是 | 目前使用者员工编号 | | location | string | 是 | 所属地 | | department_id | long | 是 | 所属部门编号 | | remark | string | 否 | 备注 | - 返回值: ```Java { "code": "2000", "msg": "ok", "data": null } ``` #### 1.3 编辑资产 - 请求路径:`/oa/asset/save` - 请求方式:`POST` - 入参设计:根据回传的资产编号id修改资产资料 请求参数:**AssetSaveParam(包含id)** | 参数名称 | 参数类型 | 是否必填 | 描述 | | -------------- | -------- | -------- | ---------------------------------------- | | id | long | 是 | 资产编号(scope.row.id获取) | | code | string | 否 | 资产识别码 | | type | string | 否 | 资产类型 | | brand | string | 否 | 品牌 | | specifications | string | 否 | 规格 | | stock_num | long | 否 | 库存数 | | buy_time | date | 否 | 购买时间 | | price | double | 否 | 购买价格 | | status | Integer | 否 | 资产状态 空闲1 占用2 待修3 修理中4 报废5 | | user_id | long | 否 | 目前使用者员工编号 | | location | string | 否 | 所属地 | | department_id | long | 否 | 所属部门编号 | | remark | string | 否 | 备注 | - 返回值: ```Java { "code": "2000", "msg": "ok", "data": null } ``` #### 1.4 删除资产 - 请求路径:`/oa/asset/delete` - 请求方式:`POST` - 入参设计: 请求参数:**id** | 参数名称 | 参数类型 | 是否必填 | 描述 | | -------- | -------- | -------- | -------------------------- | | id | long | 是 | 资产编号(scope.row.id获取) | ### 2. 领用资产 #### 2.1 领用资产申请 - 请求路径:`/oa/asset/requisition/save` - 请求方式:`POST` - 入参设计:上级审批流程,同意领用将删除资产表内相关资产资料 请求参数:**AssetRequisitionSaveParam** | 参数名称 | 参数类型 | 是否必填 | 描述 | | ---------- | -------- | -------- | -------------------------------- | | id | long | 是 | 资产编号(scope.row.id获取) | | asset_code | string | 是 | 资产识别码(scope.row.code获取) | | num | long | 是 | 领用数量 | | user_id | long | 是 | 领用者员工编号(全局user参数) | | parent_id | long | 是 | 领用者上级编号(全局user参数查询) | | status | Integer | 否 | 审批状态 | | reason | string | 是 | 原因 | | remark | string | 否 | 备注 | | use_time | date | 是 | 领用时间 | - 返回值 ````json { "code": "2000", "msg": "ok", "data": null } ```` #### 2.2 查询领用 - 请求路径:`/oa/asset/requisition/select` - 请求方式:`GET` - 入参设计: 请求参数:**AssetRequisitionQuery** | 参数名称 | 参数类型 | 是否必填 | 描述 | | ---------- | -------- | -------- | -------------------------------- | | user_id | long | 是 | 领用者员工编号(全局user参数) | | parent_id | long | 是 | 领用者上级编号(全局user参数查询) | | status | Integer | 否 | 审批状态 | | asset_code | String | 否 | 资产识别码 | - 返回值 ````json { "code": "2000", "msg": "ok", "data": List } ```` - List示例: | 参数名称 | 参数类型 | 描述 | | -------------------- | -------- | -------------------------------- | | asset_code | string | 资产识别码(scope.row.code获取) | | asset_type | string | 资产类型 | | asset_brand | string | 品牌 | | asset_specifications | string | 规格 | | num | long | 领用数量 | | user_id | long | 领用者员工编号(全局user参数) | | parent_id | long | 领用者上级编号(全局user参数查询) | | status | Integer | 审批状态 | | reason | string | 原因 | | remark | string | 备注 | | use_time | date | 领用时间 | #### 补充: 实现审批领用+审批驳回(状态修改) ### 3. 盘点 #### 3.1 盘点资产查询 - 请求路径:`/oa/asset/select` - 请求方式:`GET` - 入参设计:动态查询固定资产表 请求参数:**AssetQuery** | 参数名称 | 参数类型 | 是否必填 | 描述 | | ------------- | -------- | -------- | ---------------------------------------- | | code | string | 否 | 资产识别码 | | type | string | 否 | 资产类型 | | status | Integer | 否 | 资产状态 空闲1 占用2 待修3 修理中4 报废5 | | user_id | long | 否 | 目前使用者员工编号 | | location | string | 否 | 所属地 | | department_id | long | 否 | 所属部门编号 | - 返回值: ````java { "code": "2000", "msg": "操作成功", "data": List } ```` - List示例:(显示最新盘点数) | 参数名称 | 参数类型 | 描述 | | -------------- | -------- | ---------------------------------------- | | code | string | 资产识别码 | | type | string | 资产类型 | | brand | string | 品牌 | | specifications | string | 规格 | | stock_num | long | 库存数 | | check_num | long | 最新盘点数 | | status | Integer | 资产状态 空闲1 占用2 待修3 修理中4 报废5 | | user_id | long | 目前使用者员工编号 | | location | string | 所属地 | | department_id | long | 所属部门编号 | | remark | string | 备注 | | check_user_id | long | 最新盘点负责人 | | check_time | date | 最新盘点日期 | #### 3.2 盘点资产更新 - 请求路径:`/oa/asset/save` - 请求方式:`POST` - 入参设计:根据回传的资产编号id修改资产资料 请求参数:**AssetSaveParam(包含id)** | 参数名称 | 参数类型 | 是否必填 | 描述 | | -------------- | -------- | -------- | ---------------------------------------- | | id | long | 是 | 资产编号(scope.row.id获取) | | code | string | 否 | 资产识别码 | | type | string | 否 | 资产类型 | | brand | string | 否 | 品牌 | | specifications | string | 否 | 规格 | | check_num | long | 是 | 最新盘点数 | | status | Integer | 是 | 资产状态 空闲1 占用2 待修3 修理中4 报废5 | | user_id | long | 否 | 目前使用者员工编号 | | location | string | 否 | 所属地 | | department_id | long | 否 | 所属部门编号 | | remark | string | 否 | 备注 | | check_user_id | long | 是 | 最新盘点负责人(user全局参数) | | check_time | date | 是 | 最新盘点日期 | - 返回值: ````java { "code": "2000", "msg": "操作成功", "data": null } ```` #### 3.3 盘点资产审批 - 请求路径:`/oa/asset/confirm` - 请求方式:`POST` - 入参设计:审批人确认最新盘点数,同步变动到库存数 请求参数: | 参数名称 | 参数类型 | 是否必填 | 描述 | | --------- | -------- | -------- | ---------------------------------- | | id | long | 否 | 资产编号(scope.row.id获取) | | check_num | long | 否 | 最新盘点数(scope.row.checkNum获取) | - 返回值: ````java { "code": "2000", "msg": "操作成功", "data": null } ```` ### 4. 车辆管理 #### 4.1 车辆查询 - 请求路径:`/oa/asset/vehicle/select` - 请求方式:`GET` - 入参设计:动态查询车辆表 请求参数:**VehicleQuery** | 参数名称 | 参数类型 | 是否必填 | 描述 | | ----------- | -------- | -------- | ---------------------------------------- | | asset_brand | string | 否 | 车辆品牌 | | license | string | 否 | 车牌号 | | asset_code | string | 否 | 车辆识别码(资产表) | | type | string | 否 | 车辆类型 轿车10 客车20 货车30 电单车40 | | status | Integer | 否 | 资产状态 空闲1 占用2 待修3 修理中4 报废5 | 返回值: ````java { "code": "2000", "msg": "操作成功", "data": List } ```` List示例: | 参数名称 | 参数类型 | 描述 | | -------------- | -------- | ---------------------------------------- | | id | long | 车辆编号 | | asset_brand | string | 车辆品牌 | | license | string | 车牌号 | | model | string | 车辆型号 | | seat | Integer | 座位数 | | asset_code | string | 车辆识别码(资产表) | | insurance | string | 车保编号 | | asset_location | string | 所属地 | | type | Integer | 车辆类型 轿车10 客车20 货车30 电单车40 | | energy | Integer | 车用能源 油车1 电车2 油电混合3 其它4 | | asset_status | Integer | 资产状态 空闲1 占用2 待修3 修理中4 报废5 | | user_id | long | 目前使用者员工编号 | | department_id | long | 所属部门编号 | | remark | string | 备注 | | asset_buy_time | date | 购买时间 | #### 4.2 新增车辆 - 请求路径:`/oa/asset/vehicle/save` - 请求方式:`POST` - 入参设计:新增车辆表,同步资料新增到资产表 请求参数:**VehicleSaveParam** | 参数名称 | 参数类型 | 是否必填 | 描述 | | -------------- | -------- | -------- | ---------------------------------------- | | asset_brand | string | 是 | 车辆品牌(资产表) | | license | string | 是 | 车牌号 | | model | string | 否 | 车辆型号 | | seat | Integer | 否 | 座位数 | | asset_code | string | 是 | 车辆识别码 | | insurance | string | 是 | 车保编号 | | asset_location | string | 是 | 所属地 | | type | string | 是 | 资产类型 | | energy | Integer | 是 | 车用能源 油车1 电车2 油电混合3 其它4 | | asset_status | Integer | 是 | 资产状态 空闲1 占用2 待修3 修理中4 报废5 | | user_id | long | 是 | 目前使用者员工编号 | | department_id | long | 是 | 所属部门编号 | | remark | string | 否 | 备注 | | asset_buy_time | date | 否 | 购买时间 | | asset_price | double | 否 | 购买价格 | - 返回值 ````json { "code": "2000", "msg": "操作成功", "data": null } ```` #### 4.3 编辑车辆 - 请求路径:`/oa/asset/vehicle/save` - 请求方式:`POST` - 入参设计:编辑车辆表,同步资料变动到资产表 请求参数:**VehicleSaveParam(包含id)** | 参数名称 | 参数类型 | 是否必填 | 描述 | | -------------- | -------- | -------- | ---------------------------------------- | | id | long | 是 | 资产编号(scope.row.id获取) | | asset_brand | string | 否 | 车辆品牌(资产表) | | license | string | 否 | 车牌号 | | model | string | 否 | 车辆型号 | | seat | Integer | 否 | 座位数 | | asset_code | string | 否 | 车辆识别码 | | insurance | string | 否 | 车保编号 | | asset_location | string | 否 | 所属地 | | type | string | 否 | 资产类型 | | energy | Integer | 否 | 车用能源 油车1 电车2 油电混合3 其它4 | | asset_status | Integer | 否 | 资产状态 空闲1 占用2 待修3 修理中4 报废5 | | user_id | long | 否 | 目前使用者员工编号 | | department_id | long | 否 | 所属部门编号 | | remark | string | 否 | 备注 | | asset_buy_time | date | 否 | 购买时间 | | asset_price | double | 否 | 购买价格 | - 返回值 ````json { "code": "2000", "msg": "操作成功", "data": null } ```` #### 4.4 删除车辆 - 请求路径:`/oa/asset/vehicle/delete` - 请求方式:`POST` - 入参设计:删除车辆表,同步删除变动到资产表 请求参数:**id** | 参数名称 | 参数类型 | 是否必填 | 描述 | | ---------- | -------- | -------- | ----------------------------------- | | id | long | 是 | 资产编号(scope.row.id获取) | | asset_code | string | 是 | 资产识别码(scope.row.assetCode获取) | 返回值 ````json { "code": "2000", "msg": "操作成功", "data": null } ```` ### 5. 维修 #### 5.1 维修申请 - 请求路径:`/oa/asset/repair/save` - 请求方式:`POST` - 入参设计:资产列表跳出弹窗,自动调资产详情已确认,提交后生成维修表且同步资产状态变动 - 请求参数:**RepairSaveParam** | 参数名称 | 参数类型 | 是否必填 | 描述 | | ---------------- | -------- | -------- | ---------------------------------- | | id | long | 是 | 维修单编号(scope.row.id获取) | | user_id | long | 是 | 申请者员工编号(全局user参数) | | asset_code | string | 是 | 资产识别码(scope.row.code获取) | | asset_type | string | 否 | 资产类型(AssetVO) | | asset_brand | string | 否 | 品牌(AssetVO) | | num | long | 是 | 维修数量 | | parent_id | long | 是 | 申请者者上级编号(全局user参数查询) | | status | Integer | 否 | 审批状态 | | reason | string | 是 | 原因 | | price_estimate | double | 是 | 预算费用 | | price_actual | double | 否 | 实际费用 | | remark | string | 否 | 备注 | | application_time | date | 是 | 申请时间 | - 返回值 ````json { "code": "2000", "msg": "ok", "data": null } ```` #### 5.2 维修单列表 - 请求路径:`/oa/asset/repair/select` - 请求方式:`GET` - 入参设计: 请求参数:**RepairQuery** | 参数名称 | 参数类型 | 是否必填 | 描述 | | ---------- | -------- | -------- | -------------------------------- | | user_id | long | 是 | 申请者员工编号(全局user参数) | | parent_id | long | 是 | 申请者上级编号(全局user参数查询) | | status | Integer | 否 | 审批状态 | | asset_code | String | 否 | 资产识别码 | - 返回值 ````json { "code": "2000", "msg": "ok", "data": List } ```` - List示例: | 参数名称 | 参数类型 | 描述 | | ---------------- | -------- | ------------------------------------------------------------ | | user_id | long | 申请者员工编号(全局user参数) | | asset_code | string | 资产识别码(scope.row.code获取) | | asset_type | string | 资产类型(AssetVO) | | num | long | 维修数量 | | parent_id | long | 申请者者上级编号(全局user参数查询) | | status | Integer | 审批状态 10 待我审批 20 待他人审批 30 已审批 40 驳回 50 已完成 | | application_time | date | 申请时间 | | price_estimate | double | 预算费用 | | price_actual | double | 实际费用 | #### 5.3 维修单详情 - 请求路径:`/oa/asset/repair/show` - 请求方式:`GET` - 入参设计: 请求参数:**RepairQuery** | 参数名称 | 参数类型 | 是否必填 | 描述 | | -------- | -------- | -------- | ---------------------- | | id | long | 是 | 维修单id(scope.row.id) | - 返回值 ````json { "code": "2000", "msg": "ok", "data": RepairVO } ```` - RepairVO示例: | 参数名称 | 参数类型 | 描述 | | -------------------- | -------- | ------------------------------------------------------------ | | user_id | long | 申请者员工编号(全局user参数) | | asset_code | string | 资产识别码(scope.row.code获取) | | asset_type | string | 资产类型(AssetVO) | | asset_brand | string | 品牌(AssetVO) | | asset_specifications | string | 规格(AssetVO) | | num | long | 维修数量 | | parent_id | long | 申请者者上级编号(全局user参数查询) | | status | Integer | 审批状态 10 待我审批 20 待他人审批 30 已审批 40 驳回 50 已完成 | | reason | string | 原因 | | remark | string | 备注 | | application_time | date | 申请时间 | | price_estimate | double | 预算费用 | | price_actual | double | 实际费用 | #### 5.4 完成维修处理 - 请求路径:`/oa/asset/repair/finish` - 请求方式:`POST` - 入参设计: 请求参数:**RepairFinish** | 参数名称 | 参数类型 | 是否必填 | 描述 | | ---------------- | -------- | -------- | ---------------------------------------- | | user_id | long | 是 | 申请者员工编号(全局user参数) | | parent_id | long | 是 | 申请者上级编号(全局user参数查询) | | asset_code | string | 是 | 资产识别码(scope.row.code获取) | | asset_status | Integer | 是 | 资产状态 空闲1 占用2 待修3 修理中4 报废5 | | remark | string | 否 | 备注 | | application_time | date | 否 | 申请时间(RepairVO) | | repaired_time | date | 是 | 完成修理时间 | | price_actual | double | 是 | 实际费用 | | status | Integer | 是 | 审批状态 50 已完成 | - 返回值 ````json { "code": "2000", "msg": "ok", "data": null } ```` #### 5.6 删除维修单 - 请求路径:`/oa/asset/repair/delete` - 请求方式:`POST` - 入参设计:删除维修单,同步删除变动到资产表 请求参数:**id,asset_code** | 参数名称 | 参数类型 | 是否必填 | 描述 | | -------- | -------- | -------- | -------------------------- | | id | long | 是 | 资产编号(scope.row.id获取) | 返回值 ````json { "code": "2000", "msg": "操作成功", "data": null } ```` #### 补充: 实现审批维修+审批驳回(状态修改) ## 首页工作台接口设计(李俊星) ### 1. 公告 #### 1.1 查询公告列表 - 请求路径:`/oa/announcement/select` - 请求方式:`GET` - 入参设计:首页显示所有公告+部门公告表 请求参数:AnnouncementQuery | 参数名称 | 参数类型 | 是否必填 | 描述 | | ------------- | -------- | -------- | ----------------------------------- | | user_id | long | 是 | 员工编号(全局user参数) | | department_id | long | 是 | 所属部门编号 | | visible | Integer | 否 | 可见范围 0:所有人可见 1:同部门可见 | | start_time | Date | 否 | 日期范围 :开始日期 | | end_time | Date | 否 | 日期范围 :结束日期 | - 返回值: ````java { "code": "2000", "msg": "ok", "data": List } ```` - List示例: | 参数名称 | 参数类型 | 描述 | | ------------- | -------- | ------------------ | | user_id | long | 发布者员工编号 | | department_id | long | 发布者所属部门编号 | | title | string | 标题 | | create_time | date | 创建时间 | #### 1.2 显示公告详情 - 请求路径:`/oa/announcement/show` - 请求方式:`GET` - 入参设计:显示公告详情 请求参数: | 参数名称 | 参数类型 | 是否必填 | 描述 | | -------- | -------- | -------- | ---------------------- | | id | long | 是 | 公告编号(scope.row.id) | - 返回值: ````java { "code": "2000", "msg": "ok", "data": AnnouncementVO } ```` - AnnouncementVO示例: | 参数名称 | 参数类型 | 描述 | | ------------- | -------- | ------------------ | | user_id | long | 发布者编号编号 | | department_id | long | 发布者所属部门编号 | | title | string | 标题 | | imgUrl | string | 配图路径 | | content | string | 文章内容 | | create_time | date | 创建时间 | #### 1.3 发布公告 - 请求路径:`/oa/announcement/save` - 请求方式:`POST` - 入参设计: 请求参数:AnnouncementSaveParam | 参数名称 | 参数类型 | 是否必填 | 描述 | | ------------- | -------- | -------- | ----------------------------------- | | user_id | long | 是 | 员工编号(全局user参数) | | department_id | long | 是 | 所属部门编号(全局user参数查询) | | parent_id | long | 是 | 上级编号(全局user参数查询 | | status | Integer | 否 | 审批状态 | | title | string | 是 | 标题 | | imgUrl | string | 否 | 配图路径 | | content | string | 是 | 文章内容 | | create_time | date | 是 | 创建时间 | | visible | Integer | 是 | 可见范围 0:所有人可见 1:同部门可见 | - 返回值: ````java { "code": "2000", "msg": "ok", "data": null } ```` #### 1.4 删除公告 - 请求路径:`/oa/announcement/delete` - 请求方式:`POST` - 入参设计:删除指定公告(指定员工可操作) 请求参数:**id,user_id** | 参数名称 | 参数类型 | 是否必填 | 描述 | | -------- | -------- | -------- | -------------------------- | | id | long | 是 | 资产编号(scope.row.id获取) | | user_id | long | 否 | 员工编号 | 返回值 ````json { "code": "2000", "msg": "操作成功", "data": null } ```` ### 2. 会议备忘录 #### 2.1 查询备忘录列表 - 请求路径:`/oa/note/select` - 请求方式:`GET` - 入参设计:首页显示所有备忘+部门备忘表 请求参数:NoteQuery | 参数名称 | 参数类型 | 是否必填 | 描述 | | ------------- | -------- | -------- | -------------------------------------------- | | user_id | long | 是 | 员工编号(全局user参数) | | department_id | long | 是 | 所属部门编号 | | visible | Integer | 否 | 可见范围 0:所有人可见 1:同部门可见 2:仅自己 | | start_time | Date | 否 | 日期范围 :开始日期 | | end_time | Date | 否 | 日期范围 :结束日期 | - 返回值: ````java { "code": "2000", "msg": "ok", "data": List } ```` - List示例: | 参数名称 | 参数类型 | 描述 | | ------------- | -------- | ------------------ | | user_id | long | 发布者员工编号 | | department_id | long | 发布者所属部门编号 | | title | string | 标题 | | create_time | date | 创建时间 | #### 2.2 显示备忘详情 - 请求路径:`/oa/note/show` - 请求方式:`GET` - 入参设计:显示备忘详情 请求参数: | 参数名称 | 参数类型 | 是否必填 | 描述 | | -------- | -------- | -------- | ---------------------- | | id | long | 是 | 备忘编号(scope.row.id) | - 返回值: ````java { "code": "2000", "msg": "ok", "data": NoteVO } ```` - NoteVO示例: | 参数名称 | 参数类型 | 描述 | | ------------- | -------- | ------------------ | | user_id | long | 发布者编号编号 | | department_id | long | 发布者所属部门编号 | | title | string | 标题 | | content | string | 文章内容 | | create_time | date | 创建时间 | #### 2.3 发布备忘 - 请求路径:`/oa/note/save` - 请求方式:`POST` - 入参设计: 请求参数:NoteSaveParam | 参数名称 | 参数类型 | 是否必填 | 描述 | | ------------- | -------- | -------- | --------------------------------------------- | | user_id | long | 是 | 员工编号(全局user参数) | | department_id | long | 是 | 所属部门编号(全局user参数查询) | | parent_id | long | 是 | 上级编号(全局user参数查询 | | status | Integer | 否 | 审批状态 | | title | string | 是 | 标题 | | content | string | 是 | 文章内容 | | create_time | date | 是 | 创建时间 | | visible | Integer | 是 | 可见范围 0:所有人可见 1:同部门可见 2:仅自己 | - 返回值: ````java { "code": "2000", "msg": "ok", "data": null } ```` #### 2.4 删除备忘录 - 请求路径:`/oa/note/delete` - 请求方式:`POST` - 入参设计:发布者删除指定备忘 请求参数:**id,user_id** | 参数名称 | 参数类型 | 是否必填 | 描述 | | -------- | -------- | -------- | -------------------------- | | id | long | 是 | 资产编号(scope.row.id获取) | | user_id | long | 否 | 员工编号 | 返回值 ````json { "code": "2000", "msg": "操作成功", "data": null } ```` ## 薪资模块接口文档(陈洁全) #### 1. 员工查询工资单 - **URL**: `/oa/salary/employeesalary` - **方法**: `GET` - **描述**: 员工查询自己的工资单。 - **请求参数**: ``` `employeeId (Long, required): 员工 ID。 ``` - **响应**: ```json { "code": 2000, "msg": "get employee salary success", "data": [ { "id": 0, "name": "张三", "department": "研发部", "position": "工程师", "employeeId": 1001, "employeeStatus": "在职", "basicSalary": 5000, "overtimePay": 500, "monthlyBonus": 1000, "yearEndBonus": 10000, "fullAttendanceDays": 22, "actualAttendanceDays": 20, "leaveDays": 2, "absenteeismDays": 0, "socialSecurityDeduction": 500, "providentFundDeduction": 500, "currentMonthlyGrossPay": 6000, "cumulativeMonthlyGrossPay": 36000, "taxableAmount": 4000, "taxRate": 0.1, "currentMonthlyNetPay": 5400, "yearEndBonusAmount": 10000, "netYearEndBonus": 9000, "totalNetPay": 45000 } ] } ``` - `4000 Bad Request`: 输入数据无效。 - `4011 Not Found`: 员工不存在。 #### 2.查询员工薪资详情 - **URL**: `/oa/salary/salarydetails` - **方法**: `GET` - **描述**: 查询所有员工的薪资详情。 - **请求参数**:无(需管理员权限) - **响应**: ```json { "code": 2000, "msg": "get salary details success", "data": [ { "id": 0, "name": "张三", "department": "研发部", "position": "工程师", "employeeId": 1001, "employeeStatus": "在职", "basicSalary": 5000, "overtimePay": 500, "monthlyBonus": 1000, "yearEndBonus": 10000, "fullAttendanceDays": 22, "actualAttendanceDays": 20, "leaveDays": 2, "absenteeismDays": 0, "socialSecurityDeduction": 500, "providentFundDeduction": 500, "currentMonthlyGrossPay": 6000, "cumulativeMonthlyGrossPay": 36000, "taxableAmount": 4000, "taxRate": 0.1, "currentMonthlyNetPay": 5400, "yearEndBonusAmount": 10000, "netYearEndBonus": 9000, "totalNetPay": 45000 } ] } ``` - `4000 Bad Request`: 输入数据无效。 - `4011 Unauthorized`: 无管理员权限。 ## 档案模块接口文档(陈洁全) #### 1. 档案建档 - **URL**: `/oa/archives/createarchive` - **方法**: `POST` - **描述**: 新建员工档案。 - **请求参数**: - `archiveNumber` (String, required): 档案号。 - `archiveCode` (String, required): 全宗号。 - `repositoryNumber` (String, required): 库号。 - `confidentialityLevel` (String, required): 保密等级。 - `fileTitle` (String, required): 文件标题。 - `responsiblePerson` (String, required): 责任人。 - `archiveSummary` (String, required): 档案摘要。 - `belongingFolder` (String, required): 所属案卷。 - `archiveName` (String, required): 全宗名称。 - `repositoryName` (String, required): 案库名称。 - `folderNumber` (String, required): 案卷号。 - `documentNumber` (String, required): 文号。 - `destructionStatus` (String, required): 销毁状态。 - `borrowingStatus` (String, required): 借阅状态。 - `borrowingRecord` (String, required): 借阅记录。 - `destructionTime` (String, required): 销毁时间。 - **响应**: ```json { "code": 2000, "msg": "create archive success", "data": null } ``` - `4000 Bad Request`: 输入数据无效。 #### 2. 档案借阅 - **URL**: `/oa/archives/borrowarchive` - **方法**: `POST` - **描述**: 申请借阅档案。 - **请求参数**: - `borrowingSerialNumber` (String, required): 借阅流水号。 - `employeeId` (Long, required): 员工编号。 - `confidentialityLevel` (String, required): 保密等级。 - `archiveTitle` (String, required): 档案标题。 - `newReturnDate` (String, required): 新归还日期。 - `renewalReason` (String, required): 续借事由。 - **响应**: ```json { "code": 2000, "msg": "borrow archive success", "data": null } ``` - `4000 Bad Request`: 输入数据无效。 #### 3.档案保密等级管理 - **URL**: `/oa/archives/manageconfidentiallevel` - **方法**: `POST` - **描述**: 管理档案的保密等级。 - **请求参数**: - `serialNumber`(String, required): 流水号。 - `description`(String, required): 说明。 - `confidentialityLevel`(String, required): 密级。 - **响应**: ```json { "code": 2000, "msg": "manage confidential level success", "data": null } ``` - `4000 Bad Request`: 输入数据无效。 - `4011 Unauthorized`: 无管理员权限。 ## 考勤管理模块(张杰滔) ### 1.每日考勤页面 #### 1.1加载列表页面 - **请求路径**:`/oa/attendance/load` - **请求方式**:`GET` | 参数名称 | 参数类型 | 是否必填 | 描述 | |----------|----------|----------|------| | userId | INT | 否 | 用户ID | | date | DATE | 是 | 日期 | | CheckInStatus | INT | 否 | 上班考勤状态 | | CheckOutStatus | INT | 否 | 下班考勤状态 | | DepartmentId | INT | 否 | 部门ID | | Id | INT | 否 | 考勤表ID | - **返回值** | 参数名称 | 参数类型 | 描述 | |----------|----------|------| | Status | INT | 响应状态 | | Message | String | 提示消息 | | Data | List[] | attendanceVO 包含以下字段:
- id (考勤表ID)
- date (日期)
- UserId (工号)
- UserName (员工姓名)
- DepartmentName (部门名)
- Position (职位)
- CheckInStatus (上班考勤)
- CheckOutStatus (下班考勤)
- AttendanceTime (上班时间)
- CheckInTime (实际上班时间)
- LatenessTime (迟到时长)
- ClosingTime (下班时间)
- CheckOutTime (实际下班时间) | ### 1.2修改考勤 - **请求路径**:`/oa/attendance/update` - **请求方式**:`POST` | 参数名称 | 参数类型 | 是否必填 | 描述 | |----------|----------|----------|------| | Id | INT | 是 | 考勤表ID | | CheckInStatus | INT | 否 | 上班考勤状态 | | CheckOutStatus | INT | 否 | 下班考勤状态 | | CheckInTime | INT | 否 | 实际上班时间 | | CheckOutTime | INT | 否 | 实际下班时间 | - **返回值** | 参数名称 | 参数类型 | 描述 | |----------|----------|------| | Status | INT | 响应状态 | | Message | String | 提示消息 | ### 2.考勤统计页面 #### 2.1加载列表页面 - **请求路径**:`/oa/attendance/statistics/load` - **请求方式**:`GET` | 参数名称 | 参数类型 | 是否必填 | 描述 | |----------|----------|----------|------| | username | String | 否 | 员工名称 | | date | DATE | 否 | 月份 | | DepartmentId | INT | 否 | 部门ID | | Id | INT | 否 | 统计表ID | - **返回值** | 参数名称 | 参数类型 | 描述 | |----------|----------|------| | Status | INT | 响应状态 | | Message | String | 提示消息 | | Data | List[] | statisticsVO 包含以下字段:
- Id (统计表ID)
- Userid (工号)
- UserName (员工姓名)
- DepartmentName (部门名)
- Position (职位)
- Late (迟到次数)
- Eatly (早退次数)
- Overtime (加班次数)
- OvertimeHours (加班时长)
- Afl (请假次数)
- AflDay (请假天数)
- Remainingleave (剩余请假次数)
- Replenish (剩余补卡次数) | ### 3补卡规则页面 #### 3.1加载列表页面 - **请求路径**:`/oa/Replenish/load` - **请求方式**:`GET` | 参数名称 | 参数类型 | 是否必填 | 描述 | |----------|----------|----------|------| | Id | INT | 否 | 补卡规则ID | - **返回值** | 参数名称 | 参数类型 | 描述 | |----------|----------|------| | Status | INT | 响应状态 | | Message | String | 提示消息 | | Data | List[] | ReplenishVO 包含以下字段:
- Id (补卡规则ID)
- Name (补卡规则名称)
- Limit (可补卡次数)
- Time (可补卡时间)
- NoClock (缺卡是否可补卡)
- BeLate (迟到是否可补卡)
- Early (早退是否可补卡) | #### 3.2修改补卡规则 - **请求路径**:`/oa/Replenish/update` - **请求方式**:`POST` | 参数名称 | 参数类型 | 是否必填 | 描述 | |----------|----------|----------|------| | Id | INT | 是 | 补卡规则ID | | Name | INT | 否 | 补卡规则名称 | | Limit | INT | 否 | 可补卡次数 | | Time | INT | 否 | 可补卡时间 | | NoClock | INT | 否 | 缺卡是否可补卡 | | BeLate | INT | 否 | 迟到是否可补卡 | | Early | INT | 否 | 早退是否可补卡 | - **返回值** | 参数名称 | 参数类型 | 描述 | |----------|----------|------| | Status | INT | 响应状态 | | Message | String | 提示消息 | #### 3.3新建补卡规则 - **请求路径**:`/oa/Replenish/save` - **请求方式**:`POST` | 参数名称 | 参数类型 | 是否必填 | 描述 | |----------|----------|----------|------| | Name | INT | 是 | 补卡规则名称 | | Limit | INT | 是 | 可补卡次数 | | Time | INT | 是 | 可补卡时间 | | NoClock | INT | 是 | 缺卡是否可补卡 | | BeLate | INT | 是 | 迟到是否可补卡 | | Early | INT | 是 | 早退是否可补卡 | - **返回值** | 参数名称 | 参数类型 | 描述 | |----------|----------|------| | Status | INT | 响应状态 | | Message | String | 提示消息 | #### 3.4删除补卡规则 - **请求路径**:`/oa/Replenish/delete` - **请求方式**:`POST` | 参数名称 | 参数类型 | 是否必填 | 描述 | |----------|----------|----------|------| | Id | INT | 是 | 补卡规则ID | - **返回值** | 参数名称 | 参数类型 | 描述 | |----------|----------|------| | Status | INT | 响应状态 | | Message | String | 提示消息 | ## 4.加班规则页面 ### 4.1加载列表页面 - **请求路径**:`/oa/overtime/rule/load` - **请求方式**:`GET` | 参数名称 | 参数类型 | 是否必填 | 描述 | |----------|----------|----------|------| | Id | INT | 否 | 加班规则ID | - **返回值** | 参数名称 | 参数类型 | 描述 | |----------|----------|------| | Status | INT | 响应状态 | | Message | String | 提示消息 | | Data | List[] | OvertimeRuleVO 包含以下字段:
- Id (加班规则ID)
- Name (加班规则名称)
- type (加班类型)
- AttendanceTime (上班前起算时间)
- ClosingTime (下班后起算时间)
- PayMents (结算方式) | ### 4.2修改加班规则 - **请求路径**:`/oa/overtime/rule/update` - **请求方式**:`POST` | 参数名称 | 参数类型 | 是否必填 | 描述 | |----------|----------|----------|------| | Id | INT | 是 | 加班规则ID | | Name | String | 否 | 加班规则名称 | | type | INT | 否 | 加班类型 | | AttendanceTime | Date | 否 | 上班前起算时间 | | ClosingTime | Date | 否 | 下班后起算时间 | | PayMents | INT | 否 | 结算方式 | - **返回值** | 参数名称 | 参数类型 | 描述 | |----------|----------|------| | Status | INT | 响应状态 | | Message | String | 提示消息 | ### 4.3新建加班规则 - **请求路径**:`/oa/overtime/rule/save` - **请求方式**:`POST` | 参数名称 | 参数类型 | 是否必填 | 描述 | |----------|----------|----------|------| | Name | String | 是 | 加班规则名称 | | type | INT | 是 | 加班类型 | | AttendanceTime | Date | 是 | 上班前起算时间 | | ClosingTime | Date | 是 | 下班后起算时间 | | PayMents | INT | 是 | 结算方式 | - **返回值** | 参数名称 | 参数类型 | 描述 | |----------|----------|------| | Status | INT | 响应状态 | | Message | String | 提示消息 | ### 4.4删除加班规则 - **请求路径**:`/oa/overtime/rule/delete` - **请求方式**:`POST` | 参数名称 | 参数类型 | 是否必填 | 描述 | |----------|----------|----------|------| | Id | INT | 是 | 加班规则ID | - **返回值** | 参数名称 | 参数类型 | 描述 | |----------|----------|------| | Status | INT | 响应状态 | | Message | String | 提示消息 | ## 5.请假类型页面 ### 5.1加载列表页面 - **请求路径**:`/oa/leave/type/load` - **请求方式**:`GET` | 参数名称 | 参数类型 | 是否必填 | 描述 | |----------|----------|----------|------| | Id | INT | 否 | 请假类型ID | | Name | string | 否 | 请假类型名称 | - **返回值** | 参数名称 | 参数类型 | 描述 | |----------|----------|------| | Status | INT | 响应状态 | | Message | String | 提示消息 | | Data | List[] | LeaveTypeVO 包含以下字段:
- Id (请假类型ID)
- Name (类型名称)
- WnVoucher (是否需要凭证)
- MinTime (最小请假时长)
- MaxTime (最大请假时长)
- SubmitTime (最晚提交时间)
- Interval (请假次数更新间隔)
- Refreshtime (请假次数更新日期)
- Number (请假可用次数)
- Ispay (是否带薪)
- Compensation (薪资计算) | ### 5.2修改请假类型 - **请求路径**:`/oa/leave/type/update` - **请求方式**:`POST` | 参数名称 | 参数类型 | 是否必填 | 描述 | |----------|----------|----------|------| | Id | INT | 是 | 请假类型ID | | Name | String | 否 | 类型名称 | | WnVoucher | INT | 否 | 是否需要凭证 | | MinTime | INT | 否 | 最小请假时长 | | MaxTime | INT | 否 | 最大请假时长 | | SubmitTime | INT | 否 | 最晚提交时间 | | Interval | INT | 否 | 请假次数更新间隔 | | Refreshtime | INT | 否 | 请假次数更新日期 | | Number | INT | 否 | 请假可用次数 | | Ispay | INT | 否 | 是否带薪 | | Compensation | INT | 否 | 工时折算 | - **返回值** | 参数名称 | 参数类型 | 描述 | |----------|----------|------| | Status | INT | 响应状态 | | Message | String | 提示消息 | ### 5.3新建请假类型 - **请求路径**:`/oa/leave/type/save` - **请求方式**:`POST` | 参数名称 | 参数类型 | 是否必填 | 描述 | |----------|----------|----------|------| | Name | String | 是 | 类型名称 | | WnVoucher | INT | 是 | 是否需要凭证 | | MinTime | INT | 是 | 最小请假时长 | | MaxTime | INT | 是 | 最大请假时长 | | SubmitTime | INT | 是 | 最晚提交时间 | | Interval | INT | 是 | 请假次数更新间隔 | | Refreshtime | INT | 是 | 请假次数更新日期 | | Number | INT | 是 | 请假可用次数 | | Ispay | INT | 是 | 是否带薪 | | Compensation | INT | 是 | 工时折算 | - **返回值** | 参数名称 | 参数类型 | 描述 | |----------|----------|------| | Status | INT | 响应状态 | | Message | String | 提示消息 | ### 5.4删除请假类型 - **请求路径**:`/oa/leave/type/delete` - **请求方式**:`POST` | 参数名称 | 参数类型 | 是否必填 | 描述 | |----------|----------|----------|------| | Id | INT | 是 | 请假类型ID | - **返回值** | 参数名称 | 参数类型 | 描述 | |----------|----------|------| | Status | INT | 响应状态 | | Message | String | 提示消息 | ## 6.班次页面 ### 6.1加载列表页面 - **请求路径**:`/oa/WorkingShift/load` - **请求方式**:`GET` | 参数名称 | 参数类型 | 是否必填 | 描述 | |----------|----------|----------|------| | Name | string | 否 | 班次名称 | | id | INT | 否 | 班次ID | - **返回值** | 参数名称 | 参数类型 | 描述 | |----------|----------|------| | Status | INT | 响应状态 | | Message | String | 提示消息 | | Data | List[] | WorkingShiftVO 包含以下字段:
- Id (班次ID)
- Name (班次名称)
- type (班次类型)
- User_id (建表人)
- UserName (建表人姓名)
- CheckInTime (上班可提前打卡时间)
- AttendanceTime (上班时间)
- LateAbsences (迟到记为缺勤半天时间)
- EarlyAbsences (早退记为缺勤半天时间)
- ClosingTime (下班时间)
- CheckOutTime (下班最晚可打卡时间) | ### 6.2修改班次 - **请求路径**:`/oa/WorkingShift/update` - **请求方式**:`POST` | 参数名称 | 参数类型 | 是否必填 | 描述 | |----------|----------|----------|------| | id | INT | 是 | 班次ID | | Name | String | 否 | 班次名称 | | type | INT | 否 | 班次类型 | | CheckInTime | INT | 否 | 上班可提前打卡时间 | | AttendanceTime | Date | 否 | 上班时间 | | LateAbsences | INT | 否 | 迟到记为缺勤半天时间 | | EarlyAbsences | INT | 否 | 早退记为缺勤半天时间 | | ClosingTime | Date | 否 | 下班时间 | | CheckOutTime | INT | 否 | 下班最晚可打卡时间 | - **返回值** | 参数名称 | 参数类型 | 描述 | |----------|----------|------| | Status | INT | 响应状态 | | Message | String | 提示消息 | ### 6.3新建班次 - **请求路径**:`/oa/WorkingShift/save` - **请求方式**:`POST` | 参数名称 | 参数类型 | 是否必填 | 描述 | |----------|----------|----------|------| | Name | String | 否 | 班次名称 | | type | INT | 否 | 班次类型 | | CheckInTime | INT | 否 | 上班可提前打卡时间 | | AttendanceTime | Date | 否 | 上班时间 | | LateAbsences | INT | 否 | 迟到记为缺勤半天时间 | | EarlyAbsences | INT | 否 | 早退记为缺勤半天时间 | | ClosingTime | Date | 否 | 下班时间 | | CheckOutTime | INT | 否 | 下班最晚可打卡时间 | - **返回值** | 参数名称 | 参数类型 | 描述 | |----------|----------|------| | Status | INT | 响应状态 | | Message | String | 提示消息 | ### 6.4删除班次 - **请求路径**:`/oa/WorkingShift/delete` - **请求方式**:`POST` | 参数名称 | 参数类型 | 是否必填 | 描述 | |----------|----------|----------|------| | Id | INT | 是 | 班次ID | - **返回值** | 参数名称 | 参数类型 | 描述 | |----------|----------|------| | Status | INT | 响应状态 | | Message | String | 提示消息 | ## 7.考勤管理页面 ### 7.1加载列表页面 - **请求路径**:`/oa/attendance/management/load` - **请求方式**:`GET` | 参数名称 | 参数类型 | 是否必填 | 描述 | |----------|----------|----------|------| | Name | String | 否 | 考勤组名称 | | Department_id | INT | 否 | 部门ID | - **返回值** | 参数名称 | 参数类型 | 描述 | |----------|----------|------| | Status | INT | 响应状态 | | Message | String | 提示消息 | | Data | List[] | AttendancemanagementVO 包含以下字段:
- Id (考勤组ID)
- Name (考勤管理组名)
- User_id (负责人)
- UserName (负责人姓名)
- Department_id (部门ID)
- FaceCheck (是否支持人脸打卡)
- WifiCheck (是否支持Wifi打卡)
- Location (打卡范围)
- Ip (网络地址)
- WorkingShiftVOList (班次)
- UserList (考勤人员)
- OvertimeRuleVO (加班规则)
- ReplenishVO (补卡规则)
- LeaveTypeVOList (请假规则) | ### 7.2修改考勤组 - **请求路径**:`/oa/attendance/management/update` - **请求方式**:`POST` | 参数名称 | 参数类型 | 是否必填 | 描述 | |----------|----------|----------|------| | Id | INT | 是 | 考勤组ID | | Name | String | 否 | 考勤组名称 | | Userid | INT | 否 | 负责人 | | UserName | String | 否 | 负责人姓名 | | Department_id | INT | 否 | 部门ID | | FaceCheck | INT | 否 | 是否支持人脸打卡 | | WifiCheck | INT | 否 | 是否支持Wifi打卡 | | Location | String | 否 | 打卡范围 | | Ip | String | 否 | 网络地址 | | WorkingShiftIDList | List[] | 否 | 班次ID | | UserIDList | List[] | 否 | 考勤人员 | | OvertimeRuleID | INT | 否 | 加班规则 | | ReplenishID | INT | 否 | 补卡规则 | | LeaveTypeIDList | List[] | 否 | 请假规则 | - **返回值** | 参数名称 | 参数类型 | 描述 | |----------|----------|------| | Status | INT | 响应状态 | | Message | String | 提示消息 | ### 7.3新建考勤组 - **请求路径**:`/oa/attendance/management/save` - **请求方式**:`POST` | 参数名称 | 参数类型 | 是否必填 | 描述 | |----------|----------|----------|------| | Id | INT | 是 | 考勤组ID | | Name | String | 是 | 考勤组名称 | | Userid | INT | 是 | 负责人 | | UserName | String | 是 | 负责人姓名 | | Department_id | INT | 是 | 部门ID | | FaceCheck | INT | 是 | 是否支持人脸打卡 | | WifiCheck | INT | 是 | 是否支持Wifi打卡 | | Location | String | 是 | 打卡范围 | | Ip | String | 是 | 网络地址 | | WorkingShiftIDList | List[] | 是 | 班次ID | | UserIDList | List[] | 是 | 考勤人员 | | OvertimeRuleID | INT | 是 | 加班规则 | | ReplenishID | INT | 是 | 补卡规则 | | LeaveTypeIDList | List[] | 是 | 请假规则 | - **返回值** | 参数名称 | 参数类型 | 描述 | |----------|----------|------| | Status | INT | 响应状态 | | Message | String | 提示消息 | ### 7.4删除考勤组 - **请求路径**:`/oa/attendance/management/delete` - **请求方式**:`POST` | 参数名称 | 参数类型 | 是否必填 | 描述 | |----------|----------|----------|------| | Id | INT | 是 | 考勤组ID | - **返回值** | 参数名称 | 参数类型 | 描述 | |----------|----------|------| | Status | INT | 响应状态 | | Message | String | 提示消息 | ## 绩效考核模块(张杰滔) ### 1.绩效档案页面 #### 1.1加载列表页面 - **请求路径**:`/oa/performance/load` - **请求方式**:`GET` | 参数名称 | 参数类型 | 是否必填 | 描述 | |----------|----------|----------|------| | Name | String | 否 | 员工姓名 | - **返回值** | 参数名称 | 参数类型 | 描述 | |----------|----------|------| | Status | INT | 响应状态 | | Message | String | 提示消息 | | Data | List[] | performanceVO 包含以下字段:
- Id (绩效档案)
- User_id (工号ID)
- UserName (员工姓名)
- DepartmentsName (部门名称)
- position_name (职位名称)
- leader (上级领导)
- number (考核次数) | ### 1.2加载员工考核表 - **请求路径**:`/oa/Assess/load` - **请求方式**:`GET` | 参数名称 | 参数类型 | 是否必填 | 描述 | |----------|----------|----------|------| | Id | INT | 否 | 考核表ID | | UserId | INT | 是 | 员工 | - **返回值** | 参数名称 | 参数类型 | 描述 | |----------|----------|------| | Status | INT | 响应状态 | | Message | String | 提示消息 | | Data | List[] | AssessVO 包含以下字段:
- Id (考核表ID)
- user_id (工号)
- UserName (员工姓名)
- DepartmentsName (部门名称)
- position_name (职位名称)
- date (考核日期)
- AssessProjectId (考核计划ID)
- AssessProjectName (考核计划名)
- AssessProjectUserName (考核负责人)
- leader (上级领导)
- level (绩效等级)
- onselfscore (自评得分)
- leaderScore (上级评得分)
- Status (状态)
- IndexScoreVOList (指标评分) | | 参数名称 | 参数类型 | 描述 | |----------|----------|------| | Id | INT | 指标评分ID | | Name | String | 指标名称 | | Assess_Id | INT | 考核ID | | Type | INT | 类型 | | Explain | String | 说明 | | Weight | INT | 权重 | | onselfScore | INT | 自评分 | | onselfRemark | String | 自评语 | | leaderScore | INT | 上级评分 | | leaderRemark | String | 上级评语 | ### 2.考核计划页面 #### 2.1加载页面 - **请求路径**:`/oa/Assess/Project/load` - **请求方式**:`GET` | 参数名称 | 参数类型 | 是否必填 | 描述 | |----------|----------|----------|------| | Name | String | 否 | 计划名称 | | Status | int | 否 | 考核状态 | - **返回值** | 参数名称 | 参数类型 | 描述 | |----------|----------|------| | Status | INT | 响应状态 | | Message | String | 提示消息 | | Data | List[] | AssessProject 包含以下字段:
- Id (考核计划ID)
- Name (计划名称)
- User_id (负责人ID)
- UserName (负责人姓名)
- StartTime (开始时间)
- EndTime (结束时间)
- SystemMode (评分制度)
- levelModeId (等级制度)
- Explain (说明)
- Status (状态) | #### 2.2详情页面 - **请求路径**:`/oa/Assess/Project/select` - **请求方式**:`GET` | 参数名称 | 参数类型 | 是否必填 | 描述 | |----------|----------|----------|------| | AssessProjectID | Int | 是 | 计划ID | - **返回值** | 参数名称 | 参数类型 | 描述 | |----------|----------|------| | Status | INT | 响应状态 | | Message | String | 提示消息 | | Data | List[] | AssessVO 包含以下字段:
- Id (考核表ID)
- user_id (工号)
- UserName (员工姓名)
- DepartmentsName (部门名称)
- position_name (职位名称)
- date (考核日期)
- AssessProjectId (考核计划ID)
- AssessProjectName (考核计划名)
- AssessProjectUserName (考核负责人)
- leader (上级领导)
- level (绩效等级)
- onselfscore (自评得分)
- leaderScore (上级评得分)
- Status (状态) | #### 2.3发布考核 - **请求路径**:`/oa/Assess/Project/save` - **请求方式**:`POST` | 参数名称 | 参数类型 | 是否必填 | 描述 | |----------|----------|----------|------| | Name | String | 是 | 计划名称 | | User_id | INT | 是 | 负责人ID | | UserName | String | 是 | 负责人姓名 | | StartTime | Date | 是 | 开始时间 | | EndTime | Date | 是 | 结束时间 | - **返回值** | 参数名称 | 参数类型 | 描述 | |----------|----------|------| | Status | INT | 响应状态 | | Message | String | 提示消息 | ## 前台考勤模块(张杰滔) ### 1.打卡页面 **请求路径:** `/oa/attendance/check/load` **请求方式:** GET | 参数名称 | 参数类型 | 是否必填 | 描述 | | --- | --- | --- | --- | | userId | INT | 是 | 用户id | | attendanceId | INT | 否 | 考勤表id | **返回值:** | 参数名称 | 参数类型 | 描述 | | --- | --- |--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | Status | INT | 响应状态 | | Message | String | 提示消息 | | Data | CheckVO | CheckVO{
id: 考勤表id
CheckInStatus: 上班考勤
CheckOutStatus: 下班考勤
AttendanceTime: 上班时间
CheckInTime: 实际上班时间
ClosingTime: 下班时间
CheckOutTime: 实际下班时间
} | ### 2.上班打卡 **请求路径:** `/oa/attendance/check/in` **请求方式:** POST | 参数名称 | 参数类型 | 是否必填 | 描述 | | --- | --- | --- | --- | | userId | INT | 是 | 用户id | | CheckInTime | Date | 是 | 实际上班时间 | | Img | String | 否 | 打卡照片 | | Location | String | 是 | 打卡地址 | | Ip | String | 否 | 网络地址 | **返回值:** | 参数名称 | 参数类型 | 描述 | | --- | --- | --- | | Status | INT | 响应状态 | | Message | String | 提示消息 | ### 3.下班打卡 **请求路径:** `/oa/attendance/check/out` **请求方式:** POST | 参数名称 | 参数类型 | 是否必填 | 描述 | | --- | --- | --- | --- | | userId | INT | 是 | 用户id | | CheckOutTime | Date | 是 | 实际下班时间 | | Img | String | 否 | 打卡照片 | | Location | String | 是 | 打卡地址 | | Ip | String | 否 | 网络地址 | **返回值:** | 参数名称 | 参数类型 | 描述 | | --- | --- | --- | | Status | INT | 响应状态 | | Message | String | 提示消息 | ### 4.打卡月历 **请求路径:** `/oa/attendance/monthly/load` **请求方式:** GET | 参数名称 | 参数类型 | 是否必填 | 描述 | | --- | --- | --- | --- | | userId | INT | 否 | 用户id | **返回值:** | 参数名称 | 参数类型 | 描述 | | --- | --- |-----------------------------------------------------------------------------------------------------| | Status | INT | 响应状态 | | Message | String | 提示消息 | | Data | List[] | attendanceVO{
id: 考勤表id
date: 日期
CheckInStatus: 上班考勤
CheckOutStatus: 下班考勤
} | ### 5.考勤统计 **请求路径:** `/oa/attendance/statistics/user/load` **请求方式:** GET | 参数名称 | 参数类型 | 是否必填 | 描述 | | --- | --- | --- | --- | | userId | INT | 是 | 员工id | **返回值:** | 参数名称 | 参数类型 | 描述 | | --- | --- |-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | Status | INT | 响应状态 | | Message | String | 提示消息 | | Data | List[] | statistics VO{
Userid: 工号
UserName: 员工姓名
DepartmentName: 部门名
Position: 职位
Late: 迟到次数
Eatly: 早退次数
Overtime: 加班次数
OvertimeHours: 加班时长
Afl: 请假次数
AflDay: 请假天数
Remainingleave: 剩余请假次数
Replenish: 剩余补卡次数
} | ### 6.查看班表 **请求路径:** `/oa/attendance/schedule/load` **请求方式:** GET | 参数名称 | 参数类型 | 是否必填 | 描述 | | --- | --- | --- | --- | | UserId | INT | 是 | 工号 | **返回值:** | 参数名称 | 参数类型 | 描述 | | --- | --- |---------------------------------------------------------------------------------------------------------| | Status | INT | 响应状态 | | Message | String | 提示消息 | | Data | List | WorkingShift VO{
Name: 班次名称
type: 班次类型
AttendanceTime: 上班时间
ClosingTime: 下班时间
} | ### 7.补卡申请 **请求路径:** `/oa/Replenish/Apply` **请求方式:** POST | 参数名称 | 参数类型 | 是否必填 | 描述 | | --- | --- | --- | --- | | User_id | INT | 是 | 工号 | | UserName | String | 是 | 姓名 | | Remark | String | 是 | 补卡说明 | | type | int | 是 | 补卡类型 | **返回值:** | 参数名称 | 参数类型 | 描述 | | --- | --- | --- | | Status | INT | 响应状态 | | Message | String | 提示消息 | ### 8.加班申请 **请求路径:** `/oa/Overtime/Apply` **请求方式:** POST | 参数名称 | 参数类型 | 是否必填 | 描述 | | --- | --- | --- | --- | | User_id | INT | 是 | 工号 | | UserName | String | 是 | 姓名 | | Remark | String | 否 | 备注 | | Date | Date | 是 | 加班日期 | **返回值:** | 参数名称 | 参数类型 | 描述 | | --- | --- | --- | | Status | INT | 响应状态 | | Message | String | 提示消息 | ### 9.请假申请 **请求路径:** `/oa/Leave/Apply` **请求方式:** POST | 参数名称 | 参数类型 | 是否必填 | 描述 | | --- | --- | --- | --- | | User_id | INT | 是 | 工号 | | UserName | String | 是 | 姓名 | | leavetypeid | INT | 是 | 请假类型 | | Reason | String | 是 | 请假原因 | | StartTime | Date | 是 | 开始时间 | | EndTime | Date | 是 | 结束时间 | | img | String | 否 | 请假证明 | **返回值:** | 参数名称 | 参数类型 | 描述 | | --- | --- | --- | | Status | INT | 响应状态 | | Message | String | 提示消息 | ### 10.用车申请 **请求路径:** `/oa/vehicle/Apply` **请求方式:** POST | 参数名称 | 参数类型 | 是否必填 | 描述 | | --- | --- | --- | --- | | User_id | INT | 是 | 工号 | | UserName | String | 是 | 姓名 | | Vehicle_id | INT | 是 | 车辆id | | StartTime | Date | 是 | 开始时间 | | EndTime | Date | 是 | 结束时间 | | Departure | String | 是 | 出发地 | | Destination | String | 是 | 目的地 | | Reason | String | 是 | 用车原因 | | img_url | String | 是 | 驾驶证照片 | **返回值:** | 参数名称 | 参数类型 | 描述 | | --- | --- | --- | | Status | INT | 响应状态 | | Message | String | 提示消息 | ## 前台考核模块(张杰滔) ### 1.加载页面 **请求路径:** `/oa/Assess/user/load` **请求方式:** GET | 参数名称 | 参数类型 | 是否必填 | 描述 | | --- | --- | --- | --- | | userid | INT | 是 | 工号 | | AssessID | INT | 否 | 考核表id | **返回值:** | 参数名称 | 参数类型 | 描述 | | --- | --- |-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | Status | INT | 响应状态 | | Message | String | 提示消息 | | Data | List | Assess VO{
Id: 考核表id
user_id: 工号
UserName: 员工姓名
DepartmentsName: 部门名称
position_name: 职位名称
date: 考核日期
AssessProjectId: 考核计划id
AssessProjectName: 考核计划名
AssessProjectUserName: 考核负责人
leader: 上级领导
level: 绩效等级
onselfscore: 自评得分
leaderScore: 上级评得分
Status: 状态
IndexScoreVOList[]: 指标评分列表
} | ### 2.自我评分 **请求路径:** `/oa/Assess/user/save` **请求方式:** POST | 参数名称 | 参数类型 | 是否必填 | 描述 | | --- | --- | --- |-----------------------------------------------------------------------------------| | AssessID | INT | 是 | 考核表id | | IndexScoreDTOList | List | 是 | IndexScoreDTO{
Id: 指标评分id
onselfScore: 自评分
onselfRemark: 自评语
} | **返回值:** | 参数名称 | 参数类型 | 描述 | | --- | --- | --- | | Status | INT | 响应状态 | | Message | String | 提示消息 | ### 3.上级评分 **请求路径:** `/oa/Assess/leader/save` **请求方式:** POST | 参数名称 | 参数类型 | 是否必填 | 描述 | | --- | --- | --- |-------------------------------------------------------------------------------------| | Id | INT | 是 | 考核表id | | IndexScoreDTOList | List | 是 | IndexScoreDTO{
Id: 指标评分id
leaderScore: 上级评分
leaderRemark: 上级评语
} | **返回值:** | 参数名称 | 参数类型 | 描述 | | --- | --- | --- | | Status | INT | 响应状态 | | Message | String | 提示消息 |