# 报工系统 **Repository Path**: mickys/Work-Vue ## Basic Information - **Project Name**: 报工系统 - **Description**: 报工系统:员工报工、工时统计 - **Primary Language**: Java - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 34 - **Created**: 2022-10-12 - **Last Updated**: 2022-10-12 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 报工系统 ![](doc/img/01.jpg) ------ ## 1、背景 `创作背景:`公司需要一个记录人员日常工时情况; `开发背景:`该系统以 [ruoyi](https://gitee.com/link?target=http%3A%2F%2Fdoc.ruoyi.vip%2Fruoyi-vue%2F) 为基础框架做出的二次开发,主要是以人员报工填报为主(以项目维度和非项目的部门维度报工),最终输出不同维度的报表; `Gitee:`https://gitee.com/mmdz/Work-Vue ------ ## 2、内置功能(ruoyi) ?>Ruoyi 的创作文档与项目说明 http://doc.ruoyi.vip/ruoyi-vue/ 1. 用户管理:用户是系统操作者,该功能主要完成系统用户配置。 2. 部门管理:配置系统组织机构(公司、部门、小组),树结构展现支持数据权限。 3. 岗位管理:配置系统用户所属担任职务。 4. 菜单管理:配置系统菜单,操作权限,按钮权限标识等。 5. 角色管理:角色菜单权限分配、设置角色按机构进行数据范围权限划分。 6. 字典管理:对系统中经常使用的一些较为固定的数据进行维护。 7. 参数管理:对系统动态配置常用参数。 8. 通知公告:系统通知公告信息发布维护。 9. 操作日志:系统正常操作日志记录和查询;系统异常信息日志记录和查询。 10. 登录日志:系统登录日志记录查询包含登录异常。 11. 在线用户:当前系统中活跃用户状态监控。 12. 定时任务:在线(添加、修改、删除)任务调度包含执行结果日志。 13. 代码生成:前后端代码的生成(java、html、xml、sql)支持CRUD下载 。 14. 系统接口:根据业务代码自动生成相关的api接口文档。 15. 服务监控:监视当前系统CPU、内存、磁盘、堆栈等相关信息。 16. 缓存监控:对系统的缓存信息查询,命令统计等。 17. 在线构建器:拖动表单元素生成相应的HTML代码。 18. 连接池监视:监视当前系统数据库连接池状态,可进行分析SQL找出系统性能瓶颈。 ------ ## 3、项目介绍 ?>后端结构 ```text com.ruoyi ├── common // 工具类 │ └── annotation // 自定义注解 │ └── config // 全局配置 │ └── constant // 通用常量 │ └── core // 核心控制 │ └── enums // 通用枚举 │ └── exception // 通用异常 │ └── filter // 过滤器处理 │ └── utils // 通用类处理 ├── framework // 框架核心 │ └── aspectj // 注解实现 │ └── config // 系统配置 │ └── datasource // 数据权限 │ └── interceptor // 拦截器 │ └── manager // 异步处理 │ └── security // 权限控制 │ └── web // 前端控制 ├── ruoyi-generator // 代码生成(可移除) ├── ruoyi-quartz // 定时任务(可移除) ├── ruoyi-system // 系统代码 ├── ruoyi-admin // 后台服务 ├── ruoyi-work // 报工模块 ``` ?>前端结构 ```text ├── build // 构建相关 ├── bin // 执行脚本 ├── public // 公共文件 │ ├── favicon.ico // favicon图标 │ └── index.html // html模板 │ └── robots.txt // 反爬虫 ├── src // 源代码 │ ├── api // 所有请求 │ ├── assets // 主题 字体等静态资源 │ ├── components // 全局公用组件 │ ├── directive // 全局指令 │ ├── layout // 布局 │ ├── router // 路由 │ ├── store // 全局 store管理 │ ├── utils // 全局公用方法 │ ├── views // view │ ├── App.vue // 入口页面 │ ├── main.js // 入口 加载组件 初始化等 │ ├── permission.js // 权限管理 │ └── settings.js // 系统配置 ├── .editorconfig // 编码格式 ├── .env.development // 开发环境配置 ├── .env.production // 生产环境配置 ├── .env.staging // 测试环境配置 ├── .eslintignore // 忽略语法检查 ├── .eslintrc.js // eslint 配置项 ├── .gitignore // git 忽略项 ├── babel.config.js // babel.config.js ├── package.json // package.json └── vue.config.js // vue.config.js ``` ------ ## 4、二次开发功能 1. 用户管理:集成企业微信用户列表,可一键同步用户基础信息等 2. 部门管理:集成企业微信部门列表,可一键同步 3. 开发阶段:项目开发阶段(项目的阶段划分) 4. 事务种类:包含项目和项目外的事务类型划分 5. 人员配置:作用于确定需要提报的人员,方便用以统计项目工时和项目成本 6. 项目配置:定位具体项目上的报工以及非项目的部门级别报工(集成ERP的项目代码) 7. 人力成本:员工成本预算(结合员工职级职等、周薪资、月薪资) 8. 工时填报:人员工时填报(集成企业微信,可在企业微信自定义应用中填报) 9. 申报回退:处理项目经理回退的单据(需要员工和项目经理自行商议工时合理性) 10. 填报记录:个人的填报记录和自己参与的项目(以项目负责人审核通过后的有效公式为主) 11. 我的工时:包含我的工时,我的项目累计工时报表(以项目负责人审核通过后的有效公式为主) 12. 工时审核:项目经理对自己项目维度人员工时的审核与回退(集成企业微信,可在企业微信自定义应用中审核) 13. 提报查询:查看每个填报人员的每天的填报情况,作用于推进报工力度,和查询统计人员填报与审核情况 14. 数据清除/还原:规范员工填报行为,防止不小心填写错误,汇总上级审核错误,给予已经审核过的错误数据进行7天时间内的清除(时间可自定义),以及数据还原 15. 总体统计:统计所有人每天的填报情况,已每天的填报、未填报、请假等维度进行统计 16. 提报功能预警:每天在企业微信上提醒人员提报、审核、处理回退单就 17. 报表(人员工时清单) 18. 报表(项目工时清单):以项目和阶段维度,统计项目每个阶段的工时合计(可动态统计阶段数据,支持动态导出) 19. 报表(部门人力成本统计表):以部门为维度;统计部门人员的人力成本费用(可动态统计项目数据,支持动态导出) 20. 报表(项目人力成本统计表):以项目代号为维度;统计项目人员的人力成本费用 21. 报表(人力成本明细) 22. 报表(人力成本总汇) 23. 报表(人力成本核算 ------ ## 5、功能演示 ### 报工配置 ?>`报工配置:`项目、人员、成本等基础配置情况 ![](doc/img/02.jpg) ![](doc/img/03.jpg) ![](doc/img/04.jpg) ![](doc/img/05.jpg) ![](doc/img/06.jpg) ### 任务查询 ?>`任务查询:`人员工时填报、填报回退处理、人员工时审核、填报情况查询等功能,以填报工时和推广填报进度为主 ![](doc/img/07.jpg) ![](doc/img/08.jpg) ![](doc/img/09.jpg) ![](doc/img/10.jpg) ![](doc/img/11.jpg) ![](doc/img/12.jpg) ![](doc/img/34.jpg) ### 统计报表 ?>`统计报表:` 汇总合计、部门合计、日期合计、项目合计、阶段合计等报表呈现方式
`主要作用:` 1) 提供数据明细,便于各类目的的加工处理; | 2) 各部门的人力负荷饱和度 ; | 3) 所有项目工作量 | 4) 从项目维度看人力工时投入 ... ![](doc/img/21.jpg) ![](doc/img/22.jpg) ![](doc/img/23.jpg) ![](doc/img/24.jpg) ![](doc/img/35.jpg) ### 企业微信 ![](doc/img/36.png) ![](doc/img/37.png) ------ ## 6、部署系统 !>`提示:`因为本项目是前后端完全分离的,所以需要前后端都单独部署好,才能进行访问。 ?>Nginx配置 ```shell # ngnix启动 切换路径: cd /usr/local/nginx/sbin/ 启动命令: ./nginx # ngnix重启 切换路径: cd /usr/local/nginx/sbin/ 启动命令: ./nginx -s reload # ngnix进程 ps -ef|grep nginx # 杀死进程 kill -QUIT 3905 # 快速停止 kill -TERM 3905 # 或者 kill -INT 3905 # 强制停止 pkill -9 nginx ``` ![](doc/img/32.jpg) ?>Redis配置 ```bash # Redis启动 切换路径: cd /usr/local/bin 启动命令: redis-server redis.conf # 关闭Redis服务 shutdown # 查看redis进程 ps -ef|grep redis ``` ![](doc/img/33.jpg) ?>后端部署 ```bash ## 在ruoyi项目的bin目录下执行package.bat打包Web工程,生成war/jar包文件。然后会在项目下生成target文件夹包含war或jar ## 1、jar部署方式 执行脚本:ruoyi/bin/package.bat (target文件夹包含jar) ## 2、war部署方式 ruoyi/pom.xml中的packaging修改为war,放入tomcat服务器webapps ``` ?>前端部署 ```bash # 打包正式环境 npm run build:prod # 打包预发布环境 npm run build:stage # 构建打包成功之后,会在根目录生成 dist 文件夹,里面就是构建打包好的文件,通常是 ***.js 、***.css、index.html 等静态文件。 # 通常情况下 dist 文件夹的静态文件发布到你的 nginx 或者静态服务器即可,其中的 index.html 是后台服务的入口页面。 ``` ![](doc/img/31.jpg)