# new_kpi **Repository Path**: outta/new_kpi ## Basic Information - **Project Name**: new_kpi - **Description**: KPI管理系统 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 2 - **Created**: 2019-04-10 - **Last Updated**: 2020-12-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # new_kpi #### 项目介绍 KPI管理系统 #### 软件架构 软件架构说明 #### 安装教程 1. xxxx 2. xxxx 3. xxxx #### 使用说明 kpi说明 将User名字修改成 长袜子皮皮 ,则用户就拥有删除管理指标的权限 ==============================================================~.~================================================================|||| 1. 需求 创建管理指标,具有周期事件、人员信息、基本属性,系统定时器根据更新时间定时根据管理指标的信息创建表单,表单会在签核主管之间运行。 ==============================================================~.~================================================================|||| 2. 数据模型: 管理指标:/new_kpi/src/com/pegatron/kpi/entities/KPIModel.java 更新周期(一个管理指标对应多个更新周期):/new_kpi/src/com/pegatron/kpi/entities/KPIJob.java 表单(一个更新周期会有多个表单):/new_kpi/src/com/pegatron/kpi/entities/KPIOrder.java 人员(人员模块单独一个表User):/new_kpi/src/com/pegatron/kpi/entities/User.java 管理指标关联人员(是人员在管理指标上的映射,因此单独创建人员表,与人员模块的表分离,一个User会对应多个KPIUser):/new_kpi/src/com/pegatron/ kpi/entities/KPIUser.java 会话信息(每分表单在钱和主管之间运行都会记录签核主管的留言):/new_kpi/src/com/pegatron/kpi/entities/KPIMessage.java 假期记录:/new_kpi/src/com/pegatron/kpi/entities/Vacation.java 管理指标类型:/new_kpi/src/com/pegatron/kpi/entities/KPIType.java 部门:/new_kpi/src/com/pegatron/kpi/entities/Department.java 机种:/new_kpi/src/com/pegatron/kpi/entities/KPIAirPlaneType.java 单位(目标、实际、差异):/new_kpi/src/com/pegatron/kpi/entities/KPIUnit.java 文件(每个表单在运行的过程中签个主管都有可能上传文件):/new_kpi/src/com/pegatron/kpi/entities/KPIFile.java 注意事项: 1. 管理指标的目标是固定的,每次创建表单都是自动填写不可修改,因此将它定义在 KPIModel中 2. ==============================================================~.~================================================================|||| 3. 定时器信息 定时器分成两类 3.1. 周期定时器:每隔5分钟执行一次,工作内容如下: /new_kpi/src/com/pegatron/kpi/service/job/SendNoticeJob.java 3.1.1. 检测是否需要 自动发送给下一位签核主管 3.1.2. 是否需要提醒 到点创建表单 3.1.3. 检测是否需要 提前提醒 3.1.4. 检测是否需要 自动创建表单 3.2. 定点定时器:每天凌晨 0点1分 /new_kpi/src/com/pegatron/kpi/service/job/PrepareJob.java 主要工作内容如下: 3.2.1. 关闭 所有时间过期的Model、Job、Order 3.2.2. 将时间未到的暂停的Model开始 3.2.3. 删除过期代理记录 3.2.4. 重置 KPIJob的发送提醒状态 ==============================================================~.~================================================================|||| 4. 控制器: 4.1. "/kpi/kpi" /new_kpi/src/com/pegatron/kpi/controller/KpiController.java 创建管理指标: /kpi.action POST 发送管理指标: /send/{id}.action POST (已经停用) 根据管理指标创建规定周期的表单: /newsend/{id}.action POST 签核管理指标(签核主管): /response/{id}.action POST 签核管理指标(DRI签核): /driresponse/{id}.action POST 一键签核: /newsend/{id}.action POST 查看管理指标: /model/{id}.action GET 删除管理指标: /model/{id}.action DELETE 关闭管理指标: /model/{id}.action PUT (一份管理指标如果出错 签核主管有权利将其关闭) 获取直接关系的管理指标(用于设置代理人界面) /agent.json GET 直接关系:登录用户处于 管理指标 的CC、主管、DRI三者任意之一 代理关系:登录用户所代理的人是 管理指标的CC、主管、DRI三者任意之一 获取表单进度(在查看表单界面显示): /progress/{id}.json GET 获取管理指标的所有 运行周期( 用于在创建表单的时候选择属于的周期) /rate/list/{modelId}.json GET 首页统计图: /bar.json GET /order/scrop.action POST 4.2. "/kpi/list" /new_kpi/src/com/pegatron/kpi/controller/ListController.java (专门响应展示界面,大多是列表) 获取 我的 超标的 KPI: /over/dri/{pageNum}.json GET 获取 他人 超标的 KPI: /over/qh/{pageNum}.json GET 获取 自己 达标的 KPI: /on/dri/{pageNum}.json GET 获取 他人 达标的 KPI: /on/qh/{pageNum}.json GET 获取我相关的所有管理指标(正在运行,没有过期的) /model/list/{pageNum}.json GET 4.3. "/kpi/public" /new_kpi/src/com/pegatron/kpi/controller/PublicController.java 4.3.1. 文件相关: 下载阅览器: /file/brower GET 下载文件: /file/{fileId} GET 删除文件: /file/{fileId} DELETE 上传文件: /file POST 4.3.2. KPI属性实体类相关: 模糊查询 部门:department/{msg}.action GET 添加 单位: /unit.action POST 添加 部门: /dept.action POST 添加 管理指标类别: /kpiType.action POST 添加 机种: /airPlaneType.action POST 4.4. "/kpi/user" /new_kpi/src/com/pegatron/kpi/controller/UserController.java 登录: "/login" POST 使用Email登录: "/fromEmail" GET 错误登录请求拦截: "/login" GET 登出: "/logout" GET 进入用户修改界面: "/user.action" GET 修改用户信息: "/update.action" POST 模糊查询用户信息: "/user/{msg}" GET 设置代理人: "/agent.action" POST 删除CC人员: "/ccuser/{id}.action" DELETE (暂未使用) 进入注册界面: "/register.html" GET 注册用户 "/user" POST #### 参与贡献 1. Fork 本项目 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request #### 码云特技 1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md 2. 码云官方博客 [blog.gitee.com](https://blog.gitee.com) 3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解码云上的优秀开源项目 4. [GVP](https://gitee.com/gvp) 全称是码云最有价值开源项目,是码云综合评定出的优秀开源项目 5. 码云官方提供的使用手册 [http://git.mydoc.io/](http://git.mydoc.io/) 6. 码云封面人物是一档用来展示码云会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)