Showing preview only (2,154K chars total). Download the full file or copy to clipboard to get everything.
Repository: lenve/vhr
Branch: master
Commit: 03abbd35af24
Files: 202
Total size: 2.0 MB
Directory structure:
gitextract_awylcubm/
├── .gitattributes
├── .gitignore
├── About.md
├── README.md
├── README_zh.md
├── vhr/
│ ├── mailserver/
│ │ ├── .gitignore
│ │ ├── .mvn/
│ │ │ └── wrapper/
│ │ │ ├── MavenWrapperDownloader.java
│ │ │ ├── maven-wrapper.jar
│ │ │ └── maven-wrapper.properties
│ │ ├── mvnw
│ │ ├── mvnw.cmd
│ │ ├── pom.xml
│ │ └── src/
│ │ ├── main/
│ │ │ ├── java/
│ │ │ │ └── org/
│ │ │ │ └── javaboy/
│ │ │ │ └── mailserver/
│ │ │ │ ├── MailserverApplication.java
│ │ │ │ └── receiver/
│ │ │ │ └── MailReceiver.java
│ │ │ └── resources/
│ │ │ ├── application.properties
│ │ │ └── templates/
│ │ │ └── mail.html
│ │ └── test/
│ │ └── java/
│ │ └── org/
│ │ └── javaboy/
│ │ └── mailserver/
│ │ └── MailserverApplicationTests.java
│ ├── pom.xml
│ └── vhrserver/
│ ├── pom.xml
│ ├── vhr-mapper/
│ │ ├── pom.xml
│ │ └── src/
│ │ └── main/
│ │ └── java/
│ │ └── org/
│ │ └── javaboy/
│ │ └── vhr/
│ │ └── mapper/
│ │ ├── AdjustSalaryMapper.java
│ │ ├── AdjustSalaryMapper.xml
│ │ ├── AppraiseMapper.java
│ │ ├── AppraiseMapper.xml
│ │ ├── DepartmentMapper.java
│ │ ├── DepartmentMapper.xml
│ │ ├── EmpSalaryMapper.java
│ │ ├── EmpSalaryMapper.xml
│ │ ├── EmployeeMapper.java
│ │ ├── EmployeeMapper.xml
│ │ ├── EmployeeecMapper.java
│ │ ├── EmployeeecMapper.xml
│ │ ├── EmployeeremoveMapper.java
│ │ ├── EmployeeremoveMapper.xml
│ │ ├── EmployeetrainMapper.java
│ │ ├── EmployeetrainMapper.xml
│ │ ├── HrMapper.java
│ │ ├── HrMapper.xml
│ │ ├── HrRoleMapper.java
│ │ ├── HrRoleMapper.xml
│ │ ├── JobLevelMapper.java
│ │ ├── JobLevelMapper.xml
│ │ ├── MailSendLogMapper.java
│ │ ├── MailSendLogMapper.xml
│ │ ├── MenuMapper.java
│ │ ├── MenuMapper.xml
│ │ ├── MenuRoleMapper.java
│ │ ├── MenuRoleMapper.xml
│ │ ├── MsgContentMapper.java
│ │ ├── MsgContentMapper.xml
│ │ ├── NationMapper.java
│ │ ├── NationMapper.xml
│ │ ├── OpLogMapper.java
│ │ ├── OpLogMapper.xml
│ │ ├── PoliticsstatusMapper.java
│ │ ├── PoliticsstatusMapper.xml
│ │ ├── PositionMapper.java
│ │ ├── PositionMapper.xml
│ │ ├── RoleMapper.java
│ │ ├── RoleMapper.xml
│ │ ├── SalaryMapper.java
│ │ ├── SalaryMapper.xml
│ │ ├── SysMsgMapper.java
│ │ └── SysMsgMapper.xml
│ ├── vhr-model/
│ │ ├── pom.xml
│ │ └── src/
│ │ └── main/
│ │ └── java/
│ │ └── org/
│ │ └── javaboy/
│ │ └── vhr/
│ │ └── model/
│ │ ├── AdjustSalary.java
│ │ ├── Appraise.java
│ │ ├── ChatMsg.java
│ │ ├── Department.java
│ │ ├── EmpSalary.java
│ │ ├── Employee.java
│ │ ├── Employeeec.java
│ │ ├── Employeeremove.java
│ │ ├── Employeetrain.java
│ │ ├── Hr.java
│ │ ├── HrRole.java
│ │ ├── JobLevel.java
│ │ ├── MailConstants.java
│ │ ├── MailSendLog.java
│ │ ├── Menu.java
│ │ ├── MenuRole.java
│ │ ├── Meta.java
│ │ ├── MsgContent.java
│ │ ├── Nation.java
│ │ ├── OpLog.java
│ │ ├── Politicsstatus.java
│ │ ├── Position.java
│ │ ├── RespBean.java
│ │ ├── RespPageBean.java
│ │ ├── Role.java
│ │ ├── Salary.java
│ │ └── SysMsg.java
│ ├── vhr-service/
│ │ ├── pom.xml
│ │ └── src/
│ │ └── main/
│ │ └── java/
│ │ └── org/
│ │ └── javaboy/
│ │ └── vhr/
│ │ ├── config/
│ │ │ └── RabbitConfig.java
│ │ ├── service/
│ │ │ ├── DepartmentService.java
│ │ │ ├── EmployeeService.java
│ │ │ ├── HrService.java
│ │ │ ├── JobLevelService.java
│ │ │ ├── MailSendLogService.java
│ │ │ ├── MenuService.java
│ │ │ ├── NationService.java
│ │ │ ├── PoliticsstatusService.java
│ │ │ ├── PositionService.java
│ │ │ ├── RoleService.java
│ │ │ └── SalaryService.java
│ │ ├── task/
│ │ │ └── MailSendTask.java
│ │ └── utils/
│ │ ├── HrUtils.java
│ │ └── POIUtils.java
│ └── vhr-web/
│ ├── pom.xml
│ └── src/
│ ├── main/
│ │ ├── java/
│ │ │ └── org/
│ │ │ └── javaboy/
│ │ │ └── vhr/
│ │ │ ├── VhrApplication.java
│ │ │ ├── config/
│ │ │ │ ├── CustomFilterInvocationSecurityMetadataSource.java
│ │ │ │ ├── CustomUrlDecisionManager.java
│ │ │ │ ├── FastDFSUtils.java
│ │ │ │ ├── LoginFilter.java
│ │ │ │ ├── SecurityConfig.java
│ │ │ │ ├── VerificationCode.java
│ │ │ │ └── WebSocketConfig.java
│ │ │ ├── controller/
│ │ │ │ ├── ChatController.java
│ │ │ │ ├── HrInfoController.java
│ │ │ │ ├── LoginController.java
│ │ │ │ ├── WsController.java
│ │ │ │ ├── config/
│ │ │ │ │ └── SystemConfigController.java
│ │ │ │ ├── emp/
│ │ │ │ │ └── EmpBasicController.java
│ │ │ │ ├── salary/
│ │ │ │ │ ├── SalaryController.java
│ │ │ │ │ └── SobConfigController.java
│ │ │ │ └── system/
│ │ │ │ ├── HrController.java
│ │ │ │ └── basic/
│ │ │ │ ├── DepartmentController.java
│ │ │ │ ├── JobLevelController.java
│ │ │ │ ├── PermissController.java
│ │ │ │ └── PositionController.java
│ │ │ ├── converter/
│ │ │ │ └── DateConverter.java
│ │ │ └── exception/
│ │ │ └── GlobalExceptionHandler.java
│ │ └── resources/
│ │ ├── application.yml
│ │ ├── db/
│ │ │ └── migration/
│ │ │ └── V1__vhr.sql
│ │ ├── fastdfs-client.properties
│ │ └── static/
│ │ ├── css/
│ │ │ ├── app.4e8a7623.css
│ │ │ ├── chunk-0c17a57a.42916da5.css
│ │ │ ├── chunk-64435448.3755e146.css
│ │ │ └── chunk-vendors.c805ba07.css
│ │ ├── index.html
│ │ └── js/
│ │ ├── app.36643c7a.js
│ │ ├── chunk-0c17a57a.3d783b80.js
│ │ ├── chunk-18458ebc.2dd3c93a.js
│ │ ├── chunk-2d0d03c8.3a093d55.js
│ │ ├── chunk-2d237c54.0b312051.js
│ │ ├── chunk-33b8cd94.a94483af.js
│ │ ├── chunk-4e552d82.57eb10c5.js
│ │ ├── chunk-64435448.c8d2ed8f.js
│ │ ├── chunk-df7e035a.c9947309.js
│ │ └── chunk-vendors.0a8f9d11.js
│ └── test/
│ └── java/
│ └── org/
│ └── javaboy/
│ └── vhr/
│ └── VhrApplicationTests.java
├── vhr.sql
└── vuehr/
├── .gitignore
├── README.md
├── babel.config.js
├── package.json
├── public/
│ └── index.html
├── src/
│ ├── App.vue
│ ├── components/
│ │ ├── chat/
│ │ │ ├── card.vue
│ │ │ ├── list.vue
│ │ │ ├── message.vue
│ │ │ └── usertext.vue
│ │ └── sys/
│ │ └── basic/
│ │ ├── DepMana.vue
│ │ ├── EcMana.vue
│ │ ├── JobLevelMana.vue
│ │ ├── PermissMana.vue
│ │ └── PosMana.vue
│ ├── main.js
│ ├── router.js
│ ├── store/
│ │ └── index.js
│ ├── utils/
│ │ ├── api.js
│ │ ├── menus.js
│ │ ├── mymessage.js
│ │ ├── sockjs.js
│ │ └── stomp.js
│ └── views/
│ ├── Home.vue
│ ├── HrInfo.vue
│ ├── Login.vue
│ ├── chat/
│ │ └── FriendChat.vue
│ ├── emp/
│ │ ├── EmpAdv.vue
│ │ └── EmpBasic.vue
│ ├── per/
│ │ ├── PerEc.vue
│ │ ├── PerEmp.vue
│ │ ├── PerMv.vue
│ │ ├── PerSalary.vue
│ │ └── PerTrain.vue
│ ├── sal/
│ │ ├── SalMonth.vue
│ │ ├── SalSearch.vue
│ │ ├── SalSob.vue
│ │ ├── SalSobCfg.vue
│ │ └── SalTable.vue
│ ├── sta/
│ │ ├── StaAll.vue
│ │ ├── StaPers.vue
│ │ ├── StaRecord.vue
│ │ └── StaScore.vue
│ └── sys/
│ ├── SysBasic.vue
│ ├── SysCfg.vue
│ ├── SysData.vue
│ ├── SysHr.vue
│ ├── SysInit.vue
│ └── SysLog.vue
└── vue.config.js
================================================
FILE CONTENTS
================================================
================================================
FILE: .gitattributes
================================================
*.css linguist-language=Java
*.less linguist-language=Java
*.js linguist-language=Java
*.html linguist-language=Java
*.vue linguist-language=Java
================================================
FILE: .gitignore
================================================
node_modules/
.DS_Store
/dist/
npm-debug.log*
yarn-debug.log*
yarn-error.log*
.idea
target/
*.iml
!.mvn/wrapper/maven-wrapper.jar
vhr.wiki
人事管理系统需求规格说明书.doc
================================================
FILE: About.md
================================================
vhr 在发布后,受到了很多小伙伴的关注,因此我也陆陆续续写了很多介绍的文章和相关的视频,但是一直都比较零散,这里将 vhr 相关的视频和文章列一个索引出来,供大家参考。
### 相关视频:
1. [Spring Boot 整合 RabbitMQ,消息重复消费怎么办?](https://mp.weixin.qq.com/s/SMPyyZlRvvKM-kSMbOOQAw)
2. [如何在微人事项目中提高RabbitMQ消息可靠性的?](https://mp.weixin.qq.com/s/aMu1qi46FbzIe0amJ4XJ7w)
3. [手把手教你给微人事添加登录验证码](https://mp.weixin.qq.com/s/aaop_dS9UIOgTtQd0hl_tw)
4. [使用 Spring Security 实现微人事前后端分离登录接口](https://mp.weixin.qq.com/s/eun-ChD5KyN6LsbR9qFfiQ)
5. [Spring Boot 在后端如何控制前端 Vue 中菜单动态加载?](https://mp.weixin.qq.com/s/rH5MeKuTnXbyaDaGsU4wNw)
6. [Spring Boot + Vue,手把手教你做文件上传](https://mp.weixin.qq.com/s/OMgoUfH8lk8hDfuqWXGWTA)
7. [Spring Boot+Vue+FastDFS 实现前后端分离文件上传](https://mp.weixin.qq.com/s/tIFyi2EiQRhdaOZi7bMoGw)
8. [Spring Boot+Vue前后端分离,如何避免前端页面 404](https://mp.weixin.qq.com/s/rXhXFXDhyYDP4F47Uat1DQ)
9. [Spring Security 如何动态更新已登录用户信息?](https://mp.weixin.qq.com/s/jQZx4i4-vqjpBjpoJKJF4A)
10. [手把手带你捋一遍 Spring Security 登录流程](https://mp.weixin.qq.com/s/z6GeR5O-vBzY3SHehmccVA)
11. [手把手教你部署前后端分离项目,再也不用担心跨域问题了](https://mp.weixin.qq.com/s/KWBtHi_au_1pH70OYptjfA)
12. [Spring Boot 结合 WebSocket 实现在线聊天](https://mp.weixin.qq.com/s/Rrj7oco3K8kJBsTxEEdz9g)
13. [说出来你可能不信,Spring Boot 中 Session 共享不超过 5 行代码!](https://mp.weixin.qq.com/s/sgjm09_e8ue5blXqPgeXZA)
### 相关文章:
1. [简化微人事部署,Flyway 搞起来](https://mp.weixin.qq.com/s/yabpyA90D1yUtWRNr330yA)
2. [GitHub 又掉链子,我给微人事 + Spring Boot + Spring Cloud 案例找了新家](https://mp.weixin.qq.com/s/yvJXiX70iNSdd2mbSQbUCQ)
3. [两年了,微人事项目迎来了一次重大更新](https://mp.weixin.qq.com/s/Eo2RRB6zKQuPDMWlnCHDrw)
4. [前后端分离开发中动态菜单的两种实现方案](https://mp.weixin.qq.com/s/NV7pRVnR6sLSjI2Snjl_aQ)
5. [Spring Security 前后端分离登录,非法请求直接返回 JSON](https://mp.weixin.qq.com/s/24pI8CG1zZU4KxOYhizV_g)
6. [使用 Nginx 部署前后端分离项目,解决跨域问题](https://mp.weixin.qq.com/s/C7PIck3SIPPTcA3NX3ELoQ)
7. [喜大普奔,两个开源的 Spring Boot + Vue 前后端分离项目可以在线体验了](https://mp.weixin.qq.com/s/GvqLzCZngQiMqVE_ZTafeA)
8. [前后端分离历险记](https://mp.weixin.qq.com/s/szgfT3tnYMCHSeiE3_QnpA)
9. [公司倒闭 1 年了,而我当年的项目上了 GitHub 热榜](https://mp.weixin.qq.com/s/qGFo2MKkD0AObBJDPR8veQ)
================================================
FILE: README.md
================================================
#### vhr 是一个脚手架,如需业务完整的项目,请移步这里->[TienChin](https://github.com/lenve/tienchin)
#### 本项目已使用 SpringBoot3+Vue3 重构,地址:[https://github.com/lenve/vhr2.0](https://github.com/lenve/vhr2.0)
## 项目介绍
微人事是一个前后端分离的人力资源管理系统,项目采用 SpringBoot+Vue 开发,项目加入常见的企业级应用所涉及到的技术点,例如 Redis、RabbitMQ 等。
- 项目地址:[https://github.com/lenve/vhr](https://github.com/lenve/vhr)
- [项目部署视频教程(旧版)](https://mp.weixin.qq.com/s/qN01Le434FWom0c3jqiQmA)
- [项目部署视频教程(新版)](https://mp.weixin.qq.com/s/dcJv6BIVFPnokI8nBf4IrQ)
- [项目其他相关资料](./README_zh.md)
### 项目技术栈
#### 后端技术栈
1. Spring Boot
2. Spring Security
3. MyBatis
4. MySQL
5. Redis
6. RabbitMQ
7. Spring Cache
8. WebSocket
9. ...
#### 前端技术栈
1. Vue
2. ElementUI
3. axios
4. vue-router
5. Vuex
6. WebSocket
7. vue-cli4
8. ...
### 项目效果图
首先,不同的用户在登录成功之后,根据不同的角色,会看到不同的系统菜单,完整菜单如下:

不同用户登录上来之后,可能看到的会有差异,如下:

每个用户的角色是由系统管理员进行分配的,系统管理员给用户分配角色的页面如下:

系统管理员也可以管理不同角色可以操作的资源,页面如下:

## 快速部署
1. clone 项目到本地 `git@github.com:lenve/vhr.git`
2. 数据库脚本使用 Flyway 管理,**不需要手动导入数据库脚本**,只需要提前在本地 MySQL 中创建一个空的数据库 vhr,并修改项目中关于数据的配置(resources 目录下的 application.properties 文件中)即可
3. 提前准备好 Redis,在 项目的 application.properties 文件中,将 Redis 配置改为自己的
4. 提前准备好 RabbitMQ,在项目的 application.properties 文件中将 RabbitMQ 的配置改为自己的(**注意,RabbitMQ 需要分别修改 mailserver 和 vhrserver 的配置文件**)
5. 在 IntelliJ IDEA 中打开 vhr 项目,启动 mailserver 模块
6. 运行 vhrserver 中的 vhr-web 模块
**OK,至此,服务端就启动成功了,此时我们直接在地址栏输入 `http://localhost:8081/index.html` 即可访问我们的项目,如果要做二次开发,请继续看第七、八步。**
7. 进入到vuehr目录中,在命令行依次输入如下命令:
```
# 安装依赖
npm install
# 在 localhost:8080 启动项目
npm run serve
```
由于我在 vuehr 项目中已经配置了端口转发,将数据转发到 Spring Boot 上,因此项目启动之后,在浏览器中输入 `http://localhost:8080` 就可以访问我们的前端项目了,所有的请求通过端口转发将数据传到 Spring Boot 中(注意此时不要关闭 Sprin gBoot 项目)。
8. 最后可以用 WebStorm 等工具打开 vuehr 项目,继续开发,开发完成后,当项目要上线时,依然进入到 vuehr 目录,然后执行如下命令:
```
npm run build
```
该命令执行成功之后,vuehr 目录下生成一个 dist 文件夹,将该文件夹中的两个文件 static 和 index.html 拷贝到 Spring Boot 项目中 resources/static/ 目录下,然后就可以像第 6 步那样直接访问了(关于前后端分离部署,大家也可以参考这个[使用 Nginx 部署前后端分离项目,解决跨域问题](https://mp.weixin.qq.com/s/C7PIck3SIPPTcA3NX3ELoQ))。
**步骤 7 中需要大家对 NodeJS、NPM 等有一定的使用经验,不熟悉的小伙伴可以先自行搜索学习下,推荐 [Vue 官方教程](https://cn.vuejs.org/v2/guide/)。**
## 文档
文档是对项目开发过程中遇到的一些问题的详细记录,主要是为了帮助没有基础的小伙伴快速理解这个项目。
1. [权限数据库设计](https://github.com/lenve/vhr/wiki/1.%E6%9D%83%E9%99%90%E6%95%B0%E6%8D%AE%E5%BA%93%E8%AE%BE%E8%AE%A1)
2. [服务端环境搭建](https://github.com/lenve/vhr/wiki/2.%E6%9C%8D%E5%8A%A1%E7%AB%AF%E7%8E%AF%E5%A2%83%E6%90%AD%E5%BB%BA)
3. [动态处理角色和资源的关系](https://github.com/lenve/vhr/wiki/3.%E5%8A%A8%E6%80%81%E5%A4%84%E7%90%86%E8%A7%92%E8%89%B2%E5%92%8C%E8%B5%84%E6%BA%90%E7%9A%84%E5%85%B3%E7%B3%BB)
4. [密码加密并加盐](https://github.com/lenve/vhr/wiki/4.%E5%AF%86%E7%A0%81%E5%8A%A0%E5%AF%86%E5%B9%B6%E5%8A%A0%E7%9B%90)
5. [服务端异常的统一处理](https://github.com/lenve/vhr/wiki/5.%E6%9C%8D%E5%8A%A1%E7%AB%AF%E5%BC%82%E5%B8%B8%E7%9A%84%E7%BB%9F%E4%B8%80%E5%A4%84%E7%90%86)
6. [axios 请求封装,请求异常统一处理](https://github.com/lenve/vhr/wiki/6.axios%E8%AF%B7%E6%B1%82%E5%B0%81%E8%A3%85,%E8%AF%B7%E6%B1%82%E5%BC%82%E5%B8%B8%E7%BB%9F%E4%B8%80%E5%A4%84%E7%90%86)
7. [将请求方法挂到Vue上](https://github.com/lenve/vhr/wiki/7.%E5%B0%86%E8%AF%B7%E6%B1%82%E6%96%B9%E6%B3%95%E6%8C%82%E5%88%B0Vue%E4%B8%8A)
8. [登录状态的保存](https://github.com/lenve/vhr/wiki/8.%E7%99%BB%E5%BD%95%E7%8A%B6%E6%80%81%E7%9A%84%E4%BF%9D%E5%AD%98)
9. [登录成功后动态加载组件](https://github.com/lenve/vhr/wiki/9.%E7%99%BB%E5%BD%95%E6%88%90%E5%8A%9F%E5%90%8E%E5%8A%A8%E6%80%81%E5%8A%A0%E8%BD%BD%E7%BB%84%E4%BB%B6)
10. [角色资源关系管理](https://github.com/lenve/vhr/wiki/10.%E8%A7%92%E8%89%B2%E8%B5%84%E6%BA%90%E5%85%B3%E7%B3%BB%E7%AE%A1%E7%90%86)
11. [用户角色关系管理](https://github.com/lenve/vhr/wiki/11.%E7%94%A8%E6%88%B7%E8%A7%92%E8%89%B2%E5%85%B3%E7%B3%BB%E7%AE%A1%E7%90%86)
### 更新记录
### 2018.1.10 更新
本次更新版本:v20180110
本次更新完成了部门管理功能,页面在 **[系统管理->基础信息设置->部门管理]**
>本次更新也更新了数据库脚本,小伙伴们需要重新下载数据库脚本执行。
#### 相关文档:
12. [部门数据库设计与存储过程编写](https://github.com/lenve/vhr/wiki/12.%E9%83%A8%E9%97%A8%E6%95%B0%E6%8D%AE%E5%BA%93%E8%AE%BE%E8%AE%A1%E4%B8%8E%E5%AD%98%E5%82%A8%E8%BF%87%E7%A8%8B%E7%BC%96%E5%86%99)
13. [递归查询与存储过程调用](https://github.com/lenve/vhr/wiki/13.%E9%80%92%E5%BD%92%E6%9F%A5%E8%AF%A2%E4%B8%8E%E5%AD%98%E5%82%A8%E8%BF%87%E7%A8%8B%E8%B0%83%E7%94%A8)
14. [Tree 树形控件使用要点](https://github.com/lenve/vhr/wiki/14.Tree%E6%A0%91%E5%BD%A2%E6%8E%A7%E4%BB%B6%E4%BD%BF%E7%94%A8%E8%A6%81%E7%82%B9)
### 2018.1.12 更新
本次更新版本:v20180112
本次更新完成了职称管理和职位管理,页面在 **[系统管理->基础信息设置->职位管理]** 和 **[系统管理->基础信息设置->职称管理]**
>本次更新也更新了数据库脚本,小伙伴们需要重新下载数据库脚本执行。
#### 相关文档:
15. [职位管理和职称管理功能介绍](https://github.com/lenve/vhr/wiki/15.%E8%81%8C%E4%BD%8D%E7%AE%A1%E7%90%86%E5%92%8C%E8%81%8C%E7%A7%B0%E7%AE%A1%E7%90%86%E5%8A%9F%E8%83%BD%E4%BB%8B%E7%BB%8D)
16. [组件复用](https://github.com/lenve/vhr/wiki/16.%E7%BB%84%E4%BB%B6%E5%A4%8D%E7%94%A8)
17. [[题外话]利用 git 标签回退至任意版本](https://github.com/lenve/vhr/wiki/17.%5B%E9%A2%98%E5%A4%96%E8%AF%9D%5D%E5%88%A9%E7%94%A8git%E6%A0%87%E7%AD%BE%E5%9B%9E%E9%80%80%E8%87%B3%E4%BB%BB%E6%84%8F%E7%89%88%E6%9C%AC)
### 2018.1.15 更新
本次更新版本:v20180115
本次更新完成了员工基本信息管理,页面在 **[员工资料->基本资料]**
>本次更新也更新了数据库脚本,小伙伴们需要重新下载数据库脚本执行。
#### 相关文档:
18. [员工基本信息管理功能介绍](https://github.com/lenve/vhr/wiki/18.%E5%91%98%E5%B7%A5%E5%9F%BA%E6%9C%AC%E4%BF%A1%E6%81%AF%E7%AE%A1%E7%90%86%E5%8A%9F%E8%83%BD%E4%BB%8B%E7%BB%8D)
19. [Spring Boot 中自定义参数绑定](https://github.com/lenve/vhr/wiki/19.SpringBoot%E4%B8%AD%E8%87%AA%E5%AE%9A%E4%B9%89%E5%8F%82%E6%95%B0%E7%BB%91%E5%AE%9A)
### 2018.1.16 更新
本次更新版本:v20180116
本次更新完成了员工的高级搜索功能,页面在 **[员工资料->基本资料]**
#### 相关文档:
20. [高级搜索功能介绍](https://github.com/lenve/vhr/wiki/20.%E9%AB%98%E7%BA%A7%E6%90%9C%E7%B4%A2%E5%8A%9F%E8%83%BD%E4%BB%8B%E7%BB%8D)
### 2018.1.17 更新
本次更新版本:v20180117
本次更新完成了员工数据的导入导出功能,即可将员工数据导出为Excel,也可以将外部Excel导入到员工数据表中,页面在 **[员工资料->基本资料]**
#### 相关文档:
21. [Excel 导入导出效果图](https://github.com/lenve/vhr/wiki/21.Excel%E5%AF%BC%E5%85%A5%E5%AF%BC%E5%87%BA%E6%95%88%E6%9E%9C%E5%9B%BE)
22. [SpringMVC 文件下载的两种方式](https://github.com/lenve/vhr/wiki/22.SpringMVC%E6%96%87%E4%BB%B6%E4%B8%8B%E8%BD%BD%E7%9A%84%E4%B8%A4%E7%A7%8D%E6%96%B9%E5%BC%8F)
23. [POI 生成 Excel](https://github.com/lenve/vhr/wiki/23.POI%E7%94%9F%E6%88%90Excel)
24. [axios 下载文件](https://github.com/lenve/vhr/wiki/24.axios%E4%B8%8B%E8%BD%BD%E6%96%87%E4%BB%B6)
25. [使用 POI 实现 Excel 导入](https://github.com/lenve/vhr/wiki/25.%E4%BD%BF%E7%94%A8POI%E5%AE%9E%E7%8E%B0Excel%E5%AF%BC%E5%85%A5)
### 2018.1.19 更新
本次更新版本:v20180119
本次更新主要实现了当管理员添加一个用户时,添加成功后,会根据该用户的邮箱自动向用户发送一封欢迎入职邮件,页面在 **[员工资料->基本资料->添加员工]** 详情可以参考下面的文档。 **注意:邮件发送需要小伙伴小伙伴自己配置授权码,配置方式参考下面的文档,配置文件在[src/main/java/org/sang/common/EmailRunnable.java](https://github.com/lenve/vhr/blob/master/hrserver/src/main/java/org/sang/common/EmailRunnable.java)**
#### 相关文档:
26. [Spring Boot 中使用 Freemarker 邮件模板生成邮件](https://github.com/lenve/vhr/wiki/26.SpringBoot%E4%B8%AD%E4%BD%BF%E7%94%A8Freemarker%E9%82%AE%E4%BB%B6%E6%A8%A1%E6%9D%BF%E7%94%9F%E6%88%90%E9%82%AE%E4%BB%B6)
27. [Java 中邮件的发送](https://github.com/lenve/vhr/wiki/27.Java%E4%B8%AD%E9%82%AE%E4%BB%B6%E7%9A%84%E5%8F%91%E9%80%81)
28. [Spring Boot 中使用新线程发送邮件](https://github.com/lenve/vhr/wiki/28.SpringBoot%E4%B8%AD%E4%BD%BF%E7%94%A8%E6%96%B0%E7%BA%BF%E7%A8%8B%E5%8F%91%E9%80%81%E9%82%AE%E4%BB%B6)
### 2018.1.25 更新
本次更新版本:v20180125
本次更新主要完成了工资账套管理功能,页面在 **[薪资管理->工资账套管理]**
>本次更新也更新了数据库脚本,小伙伴们需要重新下载数据库脚本执行。
#### 相关文档:
29. [工资账套管理功能介绍](https://github.com/lenve/vhr/wiki/29.%E5%B7%A5%E8%B5%84%E8%B4%A6%E5%A5%97%E7%AE%A1%E7%90%86%E5%8A%9F%E8%83%BD%E4%BB%8B%E7%BB%8D)
### 2018.1.26 更新
本次更新版本:v20180126
本次更新主要完成了员工账套设置功能,页面在 **[薪资管理->员工账套设置]**
>本次更新也更新了数据库脚本,小伙伴们需要重新下载数据库脚本执行。
#### 相关文档:
30. [员工账套设置功能介绍](https://github.com/lenve/vhr/wiki/30.%E5%91%98%E5%B7%A5%E8%B4%A6%E5%A5%97%E8%AE%BE%E7%BD%AE%E5%8A%9F%E8%83%BD%E4%BB%8B%E7%BB%8D)
### 2018.2.2 更新
本次更新版本:v20180202
本次更新完成了HR在线聊天功能,页面在 **[Home页->右上角铃铛->好友聊天]**
#### 相关文档:
31. [在线聊天功能介绍](https://github.com/lenve/vhr/wiki/31.%E5%9C%A8%E7%BA%BF%E8%81%8A%E5%A4%A9%E5%8A%9F%E8%83%BD%E4%BB%8B%E7%BB%8D)
32. [在线聊天功能实现](https://github.com/lenve/vhr/wiki/32.%E5%9C%A8%E7%BA%BF%E8%81%8A%E5%A4%A9%E5%8A%9F%E8%83%BD%E5%AE%9E%E7%8E%B0)
### 2018.2.5 更新
本次更新版本:v20180205
本次更新完成了管理员发送系统通知功能,页面在 **[Home页->右上角铃铛->系统通知]**
>本次更新也更新了数据库脚本,小伙伴们需要重新下载数据库脚本执行。
#### 相关文档:
33. [系统通知功能实现](https://github.com/lenve/vhr/wiki/33.%E7%B3%BB%E7%BB%9F%E9%80%9A%E7%9F%A5%E5%8A%9F%E8%83%BD%E5%AE%9E%E7%8E%B0)
### 2019.12.22 更新
本次更新版本:v20191222
本次更新是一次规模较大的更新,整个项目的版本得到升级,同时引入了多模块、RabbitMQ 等技术栈。
#### 相关文档
34. [两年了,微人事项目迎来了一次重大更新](https://mp.weixin.qq.com/s/Eo2RRB6zKQuPDMWlnCHDrw)
## 其他资料
[50+ 项目需求文档](https://github.com/lenve/javadoc)
## 参考
- [vue-chat](https://github.com/microzz/vue-chat)
## License
Copyright 2018 王松
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
================================================
FILE: README_zh.md
================================================
**最新版部署视频教程:[前后端分离项目(微人事)常见部署问题汇总](https://mp.weixin.qq.com/s/dcJv6BIVFPnokI8nBf4IrQ)**
vhr 在发布后,受到了很多小伙伴的关注,因此我也陆陆续续写了很多介绍的文章和相关的视频,但是一直都比较零散,这里将 vhr 相关的视频和文章列一个索引出来,供大家参考。
### 1.相关视频:
1. [Spring Boot 整合 RabbitMQ,消息重复消费怎么办?](https://mp.weixin.qq.com/s/SMPyyZlRvvKM-kSMbOOQAw)
2. [如何在微人事项目中提高RabbitMQ消息可靠性的?](https://mp.weixin.qq.com/s/aMu1qi46FbzIe0amJ4XJ7w)
3. [手把手教你给微人事添加登录验证码](https://mp.weixin.qq.com/s/aaop_dS9UIOgTtQd0hl_tw)
4. [使用 Spring Security 实现微人事前后端分离登录接口](https://mp.weixin.qq.com/s/eun-ChD5KyN6LsbR9qFfiQ)
5. [Spring Boot 在后端如何控制前端 Vue 中菜单动态加载?](https://mp.weixin.qq.com/s/rH5MeKuTnXbyaDaGsU4wNw)
6. [Spring Boot + Vue,手把手教你做文件上传](https://mp.weixin.qq.com/s/OMgoUfH8lk8hDfuqWXGWTA)
7. [Spring Boot+Vue+FastDFS 实现前后端分离文件上传](https://mp.weixin.qq.com/s/tIFyi2EiQRhdaOZi7bMoGw)
8. [Spring Boot+Vue前后端分离,如何避免前端页面 404](https://mp.weixin.qq.com/s/rXhXFXDhyYDP4F47Uat1DQ)
9. [Spring Security 如何动态更新已登录用户信息?](https://mp.weixin.qq.com/s/jQZx4i4-vqjpBjpoJKJF4A)
10. [手把手带你捋一遍 Spring Security 登录流程](https://mp.weixin.qq.com/s/z6GeR5O-vBzY3SHehmccVA)
11. [手把手教你部署前后端分离项目,再也不用担心跨域问题了](https://mp.weixin.qq.com/s/KWBtHi_au_1pH70OYptjfA)
12. [Spring Boot 结合 WebSocket 实现在线聊天](https://mp.weixin.qq.com/s/Rrj7oco3K8kJBsTxEEdz9g)
13. [说出来你可能不信,Spring Boot 中 Session 共享不超过 5 行代码!](https://mp.weixin.qq.com/s/sgjm09_e8ue5blXqPgeXZA)
### 2.相关文章:
1. [简化微人事部署,Flyway 搞起来](https://mp.weixin.qq.com/s/yabpyA90D1yUtWRNr330yA)
2. [GitHub 又掉链子,我给微人事 + Spring Boot + Spring Cloud 案例找了新家](https://mp.weixin.qq.com/s/yvJXiX70iNSdd2mbSQbUCQ)
3. [两年了,微人事项目迎来了一次重大更新](https://mp.weixin.qq.com/s/Eo2RRB6zKQuPDMWlnCHDrw)
4. [前后端分离开发中动态菜单的两种实现方案](https://mp.weixin.qq.com/s/NV7pRVnR6sLSjI2Snjl_aQ)
5. [Spring Security 前后端分离登录,非法请求直接返回 JSON](https://mp.weixin.qq.com/s/24pI8CG1zZU4KxOYhizV_g)
6. [使用 Nginx 部署前后端分离项目,解决跨域问题](https://mp.weixin.qq.com/s/C7PIck3SIPPTcA3NX3ELoQ)
7. [喜大普奔,两个开源的 Spring Boot + Vue 前后端分离项目可以在线体验了](https://mp.weixin.qq.com/s/GvqLzCZngQiMqVE_ZTafeA)
8. [前后端分离历险记](https://mp.weixin.qq.com/s/szgfT3tnYMCHSeiE3_QnpA)
9. [公司倒闭 1 年了,而我当年的项目上了 GitHub 热榜](https://mp.weixin.qq.com/s/qGFo2MKkD0AObBJDPR8veQ)
### 3. 部署问题
#### 3.1 下载问题
有两个地方可以下载到最新版的微人事,如果在 GitHub 上下载失败,也可以从 Gitee 上下载。
- GitHub:[https://github.com/lenve/vhr](https://github.com/lenve/vhr)
- Gitee:[https://gitee.com/lenve/vhr](https://gitee.com/lenve/vhr)
#### 3.2 提前准备
准备三样东西:
- 空的 vhr 数据库
- redis
- rabbitmq
#### 3.3 项目导入
项目的 Maven 依赖下载失败,可以参考这篇文章:
[依赖下载失败解决方案](https://mp.weixin.qq.com/s/6PPYwrNestz-gvmB4ZkAqQ)
#### 3.4 项目配置
vhrserver 的 web 模块 application.properties 中配置三样:
- 数据库连接
- redis
- rabbitmq
启动 vhr-web 模块。如果只是看效果,可以不启动 mailserver 模块(如果要启动 mailserver,一定先配置 mailserver 的 redis,rabbitmq 以及 邮件发送配置信息,邮件发送配置,可以参考这篇文章:[Spring Boot 中邮件发送](https://mp.weixin.qq.com/s/FKyQNyPDQY8O25Hk2x7rKg))。
#### 3.5 二次开发
这个需要部署前端。前端在运行时,需要准备一个 nodejs。
用 webstorm 打开下载的前端项目。
前端项目打开后,需要在项目根目录下,执行 npm install。
默认安装比较慢,可以修改为淘宝的源。[下载源修改为淘宝](https://mp.weixin.qq.com/s/HWRYAR16vLE1XFep6_i1tA)
npm install 执行成功后,再执行 npm run serve 启动前端项目。
二次开发完成后,执行 npm run build 前端编译打包。把打包后的文件拷贝到后端。
上线部署参考这篇文章:[手把手教你部署前后端分离项目,再也不用担心跨域问题了](https://mp.weixin.qq.com/s/KWBtHi_au_1pH70OYptjfA)
================================================
FILE: vhr/mailserver/.gitignore
================================================
HELP.md
target/
!.mvn/wrapper/maven-wrapper.jar
!**/src/main/**
!**/src/test/**
### STS ###
.apt_generated
.classpath
.factorypath
.project
.settings
.springBeans
.sts4-cache
### IntelliJ IDEA ###
.idea
*.iws
*.iml
*.ipr
### NetBeans ###
/nbproject/private/
/nbbuild/
/dist/
/nbdist/
/.nb-gradle/
build/
### VS Code ###
.vscode/
================================================
FILE: vhr/mailserver/.mvn/wrapper/MavenWrapperDownloader.java
================================================
/*
* Copyright 2012-2019 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* https://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import java.net.*;
import java.io.*;
import java.nio.channels.*;
import java.util.Properties;
public class MavenWrapperDownloader {
private static final String WRAPPER_VERSION = "0.5.5";
/**
* Default URL to download the maven-wrapper.jar from, if no 'downloadUrl' is provided.
*/
private static final String DEFAULT_DOWNLOAD_URL = "https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/"
+ WRAPPER_VERSION + "/maven-wrapper-" + WRAPPER_VERSION + ".jar";
/**
* Path to the maven-wrapper.properties file, which might contain a downloadUrl property to
* use instead of the default one.
*/
private static final String MAVEN_WRAPPER_PROPERTIES_PATH =
".mvn/wrapper/maven-wrapper.properties";
/**
* Path where the maven-wrapper.jar will be saved to.
*/
private static final String MAVEN_WRAPPER_JAR_PATH =
".mvn/wrapper/maven-wrapper.jar";
/**
* Name of the property which should be used to override the default download url for the wrapper.
*/
private static final String PROPERTY_NAME_WRAPPER_URL = "wrapperUrl";
public static void main(String args[]) {
System.out.println("- Downloader started");
File baseDirectory = new File(args[0]);
System.out.println("- Using base directory: " + baseDirectory.getAbsolutePath());
// If the maven-wrapper.properties exists, read it and check if it contains a custom
// wrapperUrl parameter.
File mavenWrapperPropertyFile = new File(baseDirectory, MAVEN_WRAPPER_PROPERTIES_PATH);
String url = DEFAULT_DOWNLOAD_URL;
if (mavenWrapperPropertyFile.exists()) {
FileInputStream mavenWrapperPropertyFileInputStream = null;
try {
mavenWrapperPropertyFileInputStream = new FileInputStream(mavenWrapperPropertyFile);
Properties mavenWrapperProperties = new Properties();
mavenWrapperProperties.load(mavenWrapperPropertyFileInputStream);
url = mavenWrapperProperties.getProperty(PROPERTY_NAME_WRAPPER_URL, url);
} catch (IOException e) {
System.out.println("- ERROR loading '" + MAVEN_WRAPPER_PROPERTIES_PATH + "'");
} finally {
try {
if (mavenWrapperPropertyFileInputStream != null) {
mavenWrapperPropertyFileInputStream.close();
}
} catch (IOException e) {
// Ignore ...
}
}
}
System.out.println("- Downloading from: " + url);
File outputFile = new File(baseDirectory.getAbsolutePath(), MAVEN_WRAPPER_JAR_PATH);
if (!outputFile.getParentFile().exists()) {
if (!outputFile.getParentFile().mkdirs()) {
System.out.println(
"- ERROR creating output directory '" + outputFile.getParentFile().getAbsolutePath() + "'");
}
}
System.out.println("- Downloading to: " + outputFile.getAbsolutePath());
try {
downloadFileFromURL(url, outputFile);
System.out.println("Done");
System.exit(0);
} catch (Throwable e) {
System.out.println("- Error downloading");
e.printStackTrace();
System.exit(1);
}
}
private static void downloadFileFromURL(String urlString, File destination) throws Exception {
if (System.getenv("MVNW_USERNAME") != null && System.getenv("MVNW_PASSWORD") != null) {
String username = System.getenv("MVNW_USERNAME");
char[] password = System.getenv("MVNW_PASSWORD").toCharArray();
Authenticator.setDefault(new Authenticator() {
@Override
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(username, password);
}
});
}
URL website = new URL(urlString);
ReadableByteChannel rbc;
rbc = Channels.newChannel(website.openStream());
FileOutputStream fos = new FileOutputStream(destination);
fos.getChannel().transferFrom(rbc, 0, Long.MAX_VALUE);
fos.close();
rbc.close();
}
}
================================================
FILE: vhr/mailserver/.mvn/wrapper/maven-wrapper.properties
================================================
distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.2/apache-maven-3.6.2-bin.zip
wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.5/maven-wrapper-0.5.5.jar
================================================
FILE: vhr/mailserver/mvnw
================================================
#!/bin/sh
# ----------------------------------------------------------------------------
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
# ----------------------------------------------------------------------------
# ----------------------------------------------------------------------------
# Maven2 Start Up Batch script
#
# Required ENV vars:
# ------------------
# JAVA_HOME - location of a JDK home dir
#
# Optional ENV vars
# -----------------
# M2_HOME - location of maven2's installed home dir
# MAVEN_OPTS - parameters passed to the Java VM when running Maven
# e.g. to debug Maven itself, use
# set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000
# MAVEN_SKIP_RC - flag to disable loading of mavenrc files
# ----------------------------------------------------------------------------
if [ -z "$MAVEN_SKIP_RC" ] ; then
if [ -f /etc/mavenrc ] ; then
. /etc/mavenrc
fi
if [ -f "$HOME/.mavenrc" ] ; then
. "$HOME/.mavenrc"
fi
fi
# OS specific support. $var _must_ be set to either true or false.
cygwin=false;
darwin=false;
mingw=false
case "`uname`" in
CYGWIN*) cygwin=true ;;
MINGW*) mingw=true;;
Darwin*) darwin=true
# Use /usr/libexec/java_home if available, otherwise fall back to /Library/Java/Home
# See https://developer.apple.com/library/mac/qa/qa1170/_index.html
if [ -z "$JAVA_HOME" ]; then
if [ -x "/usr/libexec/java_home" ]; then
export JAVA_HOME="`/usr/libexec/java_home`"
else
export JAVA_HOME="/Library/Java/Home"
fi
fi
;;
esac
if [ -z "$JAVA_HOME" ] ; then
if [ -r /etc/gentoo-release ] ; then
JAVA_HOME=`java-config --jre-home`
fi
fi
if [ -z "$M2_HOME" ] ; then
## resolve links - $0 may be a link to maven's home
PRG="$0"
# need this for relative symlinks
while [ -h "$PRG" ] ; do
ls=`ls -ld "$PRG"`
link=`expr "$ls" : '.*-> \(.*\)$'`
if expr "$link" : '/.*' > /dev/null; then
PRG="$link"
else
PRG="`dirname "$PRG"`/$link"
fi
done
saveddir=`pwd`
M2_HOME=`dirname "$PRG"`/..
# make it fully qualified
M2_HOME=`cd "$M2_HOME" && pwd`
cd "$saveddir"
# echo Using m2 at $M2_HOME
fi
# For Cygwin, ensure paths are in UNIX format before anything is touched
if $cygwin ; then
[ -n "$M2_HOME" ] &&
M2_HOME=`cygpath --unix "$M2_HOME"`
[ -n "$JAVA_HOME" ] &&
JAVA_HOME=`cygpath --unix "$JAVA_HOME"`
[ -n "$CLASSPATH" ] &&
CLASSPATH=`cygpath --path --unix "$CLASSPATH"`
fi
# For Mingw, ensure paths are in UNIX format before anything is touched
if $mingw ; then
[ -n "$M2_HOME" ] &&
M2_HOME="`(cd "$M2_HOME"; pwd)`"
[ -n "$JAVA_HOME" ] &&
JAVA_HOME="`(cd "$JAVA_HOME"; pwd)`"
fi
if [ -z "$JAVA_HOME" ]; then
javaExecutable="`which javac`"
if [ -n "$javaExecutable" ] && ! [ "`expr \"$javaExecutable\" : '\([^ ]*\)'`" = "no" ]; then
# readlink(1) is not available as standard on Solaris 10.
readLink=`which readlink`
if [ ! `expr "$readLink" : '\([^ ]*\)'` = "no" ]; then
if $darwin ; then
javaHome="`dirname \"$javaExecutable\"`"
javaExecutable="`cd \"$javaHome\" && pwd -P`/javac"
else
javaExecutable="`readlink -f \"$javaExecutable\"`"
fi
javaHome="`dirname \"$javaExecutable\"`"
javaHome=`expr "$javaHome" : '\(.*\)/bin'`
JAVA_HOME="$javaHome"
export JAVA_HOME
fi
fi
fi
if [ -z "$JAVACMD" ] ; then
if [ -n "$JAVA_HOME" ] ; then
if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
# IBM's JDK on AIX uses strange locations for the executables
JAVACMD="$JAVA_HOME/jre/sh/java"
else
JAVACMD="$JAVA_HOME/bin/java"
fi
else
JAVACMD="`which java`"
fi
fi
if [ ! -x "$JAVACMD" ] ; then
echo "Error: JAVA_HOME is not defined correctly." >&2
echo " We cannot execute $JAVACMD" >&2
exit 1
fi
if [ -z "$JAVA_HOME" ] ; then
echo "Warning: JAVA_HOME environment variable is not set."
fi
CLASSWORLDS_LAUNCHER=org.codehaus.plexus.classworlds.launcher.Launcher
# traverses directory structure from process work directory to filesystem root
# first directory with .mvn subdirectory is considered project base directory
find_maven_basedir() {
if [ -z "$1" ]
then
echo "Path not specified to find_maven_basedir"
return 1
fi
basedir="$1"
wdir="$1"
while [ "$wdir" != '/' ] ; do
if [ -d "$wdir"/.mvn ] ; then
basedir=$wdir
break
fi
# workaround for JBEAP-8937 (on Solaris 10/Sparc)
if [ -d "${wdir}" ]; then
wdir=`cd "$wdir/.."; pwd`
fi
# end of workaround
done
echo "${basedir}"
}
# concatenates all lines of a file
concat_lines() {
if [ -f "$1" ]; then
echo "$(tr -s '\n' ' ' < "$1")"
fi
}
BASE_DIR=`find_maven_basedir "$(pwd)"`
if [ -z "$BASE_DIR" ]; then
exit 1;
fi
##########################################################################################
# Extension to allow automatically downloading the maven-wrapper.jar from Maven-central
# This allows using the maven wrapper in projects that prohibit checking in binary data.
##########################################################################################
if [ -r "$BASE_DIR/.mvn/wrapper/maven-wrapper.jar" ]; then
if [ "$MVNW_VERBOSE" = true ]; then
echo "Found .mvn/wrapper/maven-wrapper.jar"
fi
else
if [ "$MVNW_VERBOSE" = true ]; then
echo "Couldn't find .mvn/wrapper/maven-wrapper.jar, downloading it ..."
fi
if [ -n "$MVNW_REPOURL" ]; then
jarUrl="$MVNW_REPOURL/io/takari/maven-wrapper/0.5.5/maven-wrapper-0.5.5.jar"
else
jarUrl="https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.5/maven-wrapper-0.5.5.jar"
fi
while IFS="=" read key value; do
case "$key" in (wrapperUrl) jarUrl="$value"; break ;;
esac
done < "$BASE_DIR/.mvn/wrapper/maven-wrapper.properties"
if [ "$MVNW_VERBOSE" = true ]; then
echo "Downloading from: $jarUrl"
fi
wrapperJarPath="$BASE_DIR/.mvn/wrapper/maven-wrapper.jar"
if $cygwin; then
wrapperJarPath=`cygpath --path --windows "$wrapperJarPath"`
fi
if command -v wget > /dev/null; then
if [ "$MVNW_VERBOSE" = true ]; then
echo "Found wget ... using wget"
fi
if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then
wget "$jarUrl" -O "$wrapperJarPath"
else
wget --http-user=$MVNW_USERNAME --http-password=$MVNW_PASSWORD "$jarUrl" -O "$wrapperJarPath"
fi
elif command -v curl > /dev/null; then
if [ "$MVNW_VERBOSE" = true ]; then
echo "Found curl ... using curl"
fi
if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then
curl -o "$wrapperJarPath" "$jarUrl" -f
else
curl --user $MVNW_USERNAME:$MVNW_PASSWORD -o "$wrapperJarPath" "$jarUrl" -f
fi
else
if [ "$MVNW_VERBOSE" = true ]; then
echo "Falling back to using Java to download"
fi
javaClass="$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.java"
# For Cygwin, switch paths to Windows format before running javac
if $cygwin; then
javaClass=`cygpath --path --windows "$javaClass"`
fi
if [ -e "$javaClass" ]; then
if [ ! -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then
if [ "$MVNW_VERBOSE" = true ]; then
echo " - Compiling MavenWrapperDownloader.java ..."
fi
# Compiling the Java class
("$JAVA_HOME/bin/javac" "$javaClass")
fi
if [ -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then
# Running the downloader
if [ "$MVNW_VERBOSE" = true ]; then
echo " - Running MavenWrapperDownloader.java ..."
fi
("$JAVA_HOME/bin/java" -cp .mvn/wrapper MavenWrapperDownloader "$MAVEN_PROJECTBASEDIR")
fi
fi
fi
fi
##########################################################################################
# End of extension
##########################################################################################
export MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"}
if [ "$MVNW_VERBOSE" = true ]; then
echo $MAVEN_PROJECTBASEDIR
fi
MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS"
# For Cygwin, switch paths to Windows format before running java
if $cygwin; then
[ -n "$M2_HOME" ] &&
M2_HOME=`cygpath --path --windows "$M2_HOME"`
[ -n "$JAVA_HOME" ] &&
JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"`
[ -n "$CLASSPATH" ] &&
CLASSPATH=`cygpath --path --windows "$CLASSPATH"`
[ -n "$MAVEN_PROJECTBASEDIR" ] &&
MAVEN_PROJECTBASEDIR=`cygpath --path --windows "$MAVEN_PROJECTBASEDIR"`
fi
# Provide a "standardized" way to retrieve the CLI args that will
# work with both Windows and non-Windows executions.
MAVEN_CMD_LINE_ARGS="$MAVEN_CONFIG $@"
export MAVEN_CMD_LINE_ARGS
WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain
exec "$JAVACMD" \
$MAVEN_OPTS \
-classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \
"-Dmaven.home=${M2_HOME}" "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \
${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@"
================================================
FILE: vhr/mailserver/mvnw.cmd
================================================
@REM ----------------------------------------------------------------------------
@REM Licensed to the Apache Software Foundation (ASF) under one
@REM or more contributor license agreements. See the NOTICE file
@REM distributed with this work for additional information
@REM regarding copyright ownership. The ASF licenses this file
@REM to you under the Apache License, Version 2.0 (the
@REM "License"); you may not use this file except in compliance
@REM with the License. You may obtain a copy of the License at
@REM
@REM https://www.apache.org/licenses/LICENSE-2.0
@REM
@REM Unless required by applicable law or agreed to in writing,
@REM software distributed under the License is distributed on an
@REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
@REM KIND, either express or implied. See the License for the
@REM specific language governing permissions and limitations
@REM under the License.
@REM ----------------------------------------------------------------------------
@REM ----------------------------------------------------------------------------
@REM Maven2 Start Up Batch script
@REM
@REM Required ENV vars:
@REM JAVA_HOME - location of a JDK home dir
@REM
@REM Optional ENV vars
@REM M2_HOME - location of maven2's installed home dir
@REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands
@REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a key stroke before ending
@REM MAVEN_OPTS - parameters passed to the Java VM when running Maven
@REM e.g. to debug Maven itself, use
@REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000
@REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files
@REM ----------------------------------------------------------------------------
@REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on'
@echo off
@REM set title of command window
title %0
@REM enable echoing by setting MAVEN_BATCH_ECHO to 'on'
@if "%MAVEN_BATCH_ECHO%" == "on" echo %MAVEN_BATCH_ECHO%
@REM set %HOME% to equivalent of $HOME
if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%")
@REM Execute a user defined script before this one
if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre
@REM check for pre script, once with legacy .bat ending and once with .cmd ending
if exist "%HOME%\mavenrc_pre.bat" call "%HOME%\mavenrc_pre.bat"
if exist "%HOME%\mavenrc_pre.cmd" call "%HOME%\mavenrc_pre.cmd"
:skipRcPre
@setlocal
set ERROR_CODE=0
@REM To isolate internal variables from possible post scripts, we use another setlocal
@setlocal
@REM ==== START VALIDATION ====
if not "%JAVA_HOME%" == "" goto OkJHome
echo.
echo Error: JAVA_HOME not found in your environment. >&2
echo Please set the JAVA_HOME variable in your environment to match the >&2
echo location of your Java installation. >&2
echo.
goto error
:OkJHome
if exist "%JAVA_HOME%\bin\java.exe" goto init
echo.
echo Error: JAVA_HOME is set to an invalid directory. >&2
echo JAVA_HOME = "%JAVA_HOME%" >&2
echo Please set the JAVA_HOME variable in your environment to match the >&2
echo location of your Java installation. >&2
echo.
goto error
@REM ==== END VALIDATION ====
:init
@REM Find the project base dir, i.e. the directory that contains the folder ".mvn".
@REM Fallback to current working directory if not found.
set MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR%
IF NOT "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir
set EXEC_DIR=%CD%
set WDIR=%EXEC_DIR%
:findBaseDir
IF EXIST "%WDIR%"\.mvn goto baseDirFound
cd ..
IF "%WDIR%"=="%CD%" goto baseDirNotFound
set WDIR=%CD%
goto findBaseDir
:baseDirFound
set MAVEN_PROJECTBASEDIR=%WDIR%
cd "%EXEC_DIR%"
goto endDetectBaseDir
:baseDirNotFound
set MAVEN_PROJECTBASEDIR=%EXEC_DIR%
cd "%EXEC_DIR%"
:endDetectBaseDir
IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config" goto endReadAdditionalConfig
@setlocal EnableExtensions EnableDelayedExpansion
for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a
@endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS%
:endReadAdditionalConfig
SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe"
set WRAPPER_JAR="%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.jar"
set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain
set DOWNLOAD_URL="https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.5/maven-wrapper-0.5.5.jar"
FOR /F "tokens=1,2 delims==" %%A IN ("%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.properties") DO (
IF "%%A"=="wrapperUrl" SET DOWNLOAD_URL=%%B
)
@REM Extension to allow automatically downloading the maven-wrapper.jar from Maven-central
@REM This allows using the maven wrapper in projects that prohibit checking in binary data.
if exist %WRAPPER_JAR% (
if "%MVNW_VERBOSE%" == "true" (
echo Found %WRAPPER_JAR%
)
) else (
if not "%MVNW_REPOURL%" == "" (
SET DOWNLOAD_URL="%MVNW_REPOURL%/io/takari/maven-wrapper/0.5.5/maven-wrapper-0.5.5.jar"
)
if "%MVNW_VERBOSE%" == "true" (
echo Couldn't find %WRAPPER_JAR%, downloading it ...
echo Downloading from: %DOWNLOAD_URL%
)
powershell -Command "&{"^
"$webclient = new-object System.Net.WebClient;"^
"if (-not ([string]::IsNullOrEmpty('%MVNW_USERNAME%') -and [string]::IsNullOrEmpty('%MVNW_PASSWORD%'))) {"^
"$webclient.Credentials = new-object System.Net.NetworkCredential('%MVNW_USERNAME%', '%MVNW_PASSWORD%');"^
"}"^
"[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $webclient.DownloadFile('%DOWNLOAD_URL%', '%WRAPPER_JAR%')"^
"}"
if "%MVNW_VERBOSE%" == "true" (
echo Finished downloading %WRAPPER_JAR%
)
)
@REM End of extension
@REM Provide a "standardized" way to retrieve the CLI args that will
@REM work with both Windows and non-Windows executions.
set MAVEN_CMD_LINE_ARGS=%*
%MAVEN_JAVA_EXE% %JVM_CONFIG_MAVEN_PROPS% %MAVEN_OPTS% %MAVEN_DEBUG_OPTS% -classpath %WRAPPER_JAR% "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" %WRAPPER_LAUNCHER% %MAVEN_CONFIG% %*
if ERRORLEVEL 1 goto error
goto end
:error
set ERROR_CODE=1
:end
@endlocal & set ERROR_CODE=%ERROR_CODE%
if not "%MAVEN_SKIP_RC%" == "" goto skipRcPost
@REM check for post script, once with legacy .bat ending and once with .cmd ending
if exist "%HOME%\mavenrc_post.bat" call "%HOME%\mavenrc_post.bat"
if exist "%HOME%\mavenrc_post.cmd" call "%HOME%\mavenrc_post.cmd"
:skipRcPost
@REM pause the script if MAVEN_BATCH_PAUSE is set to 'on'
if "%MAVEN_BATCH_PAUSE%" == "on" pause
if "%MAVEN_TERMINATE_CMD%" == "on" exit %ERROR_CODE%
exit /B %ERROR_CODE%
================================================
FILE: vhr/mailserver/pom.xml
================================================
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<artifactId>vhr</artifactId>
<groupId>org.javaboy</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
<groupId>org.javaboy</groupId>
<artifactId>mailserver</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>mailserver</name>
<description>Demo project for Spring Boot</description>
<properties>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-amqp</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
<dependency>
<groupId>org.javaboy</groupId>
<artifactId>vhr-model</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework.amqp</groupId>
<artifactId>spring-rabbit-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
================================================
FILE: vhr/mailserver/src/main/java/org/javaboy/mailserver/MailserverApplication.java
================================================
package org.javaboy.mailserver;
import org.javaboy.vhr.model.MailConstants;
import org.springframework.amqp.core.Queue;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.Bean;
@SpringBootApplication
public class MailserverApplication {
public static void main(String[] args) {
SpringApplication.run(MailserverApplication.class, args);
}
@Bean
Queue queue() {
return new Queue(MailConstants.MAIL_QUEUE_NAME);
}
}
================================================
FILE: vhr/mailserver/src/main/java/org/javaboy/mailserver/receiver/MailReceiver.java
================================================
package org.javaboy.mailserver.receiver;
import com.rabbitmq.client.Channel;
import org.javaboy.vhr.model.Employee;
import org.javaboy.vhr.model.MailConstants;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.amqp.support.AmqpHeaders;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.mail.MailProperties;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.mail.javamail.MimeMessageHelper;
import org.springframework.messaging.Message;
import org.springframework.messaging.MessageHeaders;
import org.springframework.stereotype.Component;
import org.thymeleaf.TemplateEngine;
import org.thymeleaf.context.Context;
import javax.mail.MessagingException;
import javax.mail.internet.MimeMessage;
import java.io.IOException;
import java.util.Date;
/**
* @作者 江南一点雨
* @公众号 江南一点雨
* @微信号 a_java_boy
* @GitHub https://github.com/lenve
* @博客 http://wangsong.blog.csdn.net
* @网站 http://www.javaboy.org
* @时间 2019-11-24 7:59
*/
@Component
public class MailReceiver {
public static final Logger logger = LoggerFactory.getLogger(MailReceiver.class);
@Autowired
JavaMailSender javaMailSender;
@Autowired
MailProperties mailProperties;
@Autowired
TemplateEngine templateEngine;
@Autowired
StringRedisTemplate redisTemplate;
@RabbitListener(queues = MailConstants.MAIL_QUEUE_NAME)
public void handler(Message message, Channel channel) throws IOException {
Employee employee = (Employee) message.getPayload();
MessageHeaders headers = message.getHeaders();
Long tag = (Long) headers.get(AmqpHeaders.DELIVERY_TAG);
String msgId = (String) headers.get("spring_returned_message_correlation");
if (redisTemplate.opsForHash().entries("mail_log").containsKey(msgId)) {
//redis 中包含该 key,说明该消息已经被消费过
logger.info(msgId + ":消息已经被消费");
channel.basicAck(tag, false);//确认消息已消费
return;
}
//收到消息,发送邮件
MimeMessage msg = javaMailSender.createMimeMessage();
MimeMessageHelper helper = new MimeMessageHelper(msg);
try {
helper.setTo(employee.getEmail());
helper.setFrom(mailProperties.getUsername());
helper.setSubject("入职欢迎");
helper.setSentDate(new Date());
Context context = new Context();
context.setVariable("name", employee.getName());
context.setVariable("posName", employee.getPosition().getName());
context.setVariable("joblevelName", employee.getJobLevel().getName());
context.setVariable("departmentName", employee.getDepartment().getName());
String mail = templateEngine.process("mail", context);
helper.setText(mail, true);
javaMailSender.send(msg);
redisTemplate.opsForHash().put("mail_log", msgId, "javaboy");
channel.basicAck(tag, false);
logger.info(msgId + ":邮件发送成功");
} catch (MessagingException e) {
channel.basicNack(tag, false, true);
e.printStackTrace();
logger.error("邮件发送失败:" + e.getMessage());
}
}
}
================================================
FILE: vhr/mailserver/src/main/resources/application.properties
================================================
server.port=8082
spring.mail.host=smtp.qq.com
spring.mail.protocol=smtp
spring.mail.default-encoding=UTF-8
spring.mail.password=
spring.mail.username=
spring.mail.port=587
spring.mail.properties.mail.smtp.socketFactory.class=javax.net.ssl.SSLSocketFactory
spring.mail.properties.mail.debug=true
spring.rabbitmq.username=guest
spring.rabbitmq.password=guest
spring.rabbitmq.host=192.168.91.128
spring.rabbitmq.port=5672
spring.rabbitmq.listener.simple.acknowledge-mode=manual
spring.rabbitmq.listener.simple.prefetch=100
spring.redis.host=192.168.91.128
spring.redis.port=6379
spring.redis.password=123
spring.redis.database=0
================================================
FILE: vhr/mailserver/src/main/resources/templates/mail.html
================================================
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8">
<title>入职欢迎邮件</title>
</head>
<body>
<!--
@作者 江南一点雨
@公众号 江南一点雨
@微信号 a_java_boy
@GitHub https://github.com/lenve
@博客 http://wangsong.blog.csdn.net
@网站 http://www.javaboy.org
@时间 2019-11-24 7:48
-->
欢迎 <span th:text="${name}"></span> 加入 Java达摩院 大家庭,您的入职信息如下:
<table border="1">
<tr>
<td>姓名</td>
<td th:text="${name}"></td>
</tr>
<tr>
<td>职位</td>
<td th:text="${posName}"></td>
</tr>
<tr>
<td>职称</td>
<td th:text="${joblevelName}"></td>
</tr>
<tr>
<td>部门</td>
<td th:text="${departmentName}"></td>
</tr>
</table>
<p>希望在未来的日子里,携手共进!</p>
</body>
</html>
================================================
FILE: vhr/mailserver/src/test/java/org/javaboy/mailserver/MailserverApplicationTests.java
================================================
package org.javaboy.mailserver;
import org.junit.Test;
import org.springframework.boot.test.context.SpringBootTest;
@SpringBootTest
class MailserverApplicationTests {
@Test
void contextLoads() {
}
}
================================================
FILE: vhr/pom.xml
================================================
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.4.0</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>org.javaboy</groupId>
<artifactId>vhr</artifactId>
<packaging>pom</packaging>
<version>1.0-SNAPSHOT</version>
<modules>
<module>vhrserver</module>
<module>mailserver</module>
</modules>
</project>
================================================
FILE: vhr/vhrserver/pom.xml
================================================
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>vhr</artifactId>
<groupId>org.javaboy</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>vhrserver</artifactId>
<packaging>pom</packaging>
<modules>
<module>vhr-mapper</module>
<module>vhr-model</module>
<module>vhr-service</module>
<module>vhr-web</module>
</modules>
</project>
================================================
FILE: vhr/vhrserver/vhr-mapper/pom.xml
================================================
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>vhrserver</artifactId>
<groupId>org.javaboy</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>vhr-mapper</artifactId>
<dependencies>
<dependency>
<groupId>org.javaboy</groupId>
<artifactId>vhr-model</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.1.0</version>
</dependency>
<dependency>
<groupId>org.flywaydb</groupId>
<artifactId>flyway-core</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.1.10</version>
</dependency>
</dependencies>
<build>
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.xml</include>
</includes>
</resource>
<resource>
<directory>src/main/resources</directory>
</resource>
</resources>
</build>
</project>
================================================
FILE: vhr/vhrserver/vhr-mapper/src/main/java/org/javaboy/vhr/mapper/AdjustSalaryMapper.java
================================================
package org.javaboy.vhr.mapper;
import org.javaboy.vhr.model.AdjustSalary;
public interface AdjustSalaryMapper {
int deleteByPrimaryKey(Integer id);
int insert(AdjustSalary record);
int insertSelective(AdjustSalary record);
AdjustSalary selectByPrimaryKey(Integer id);
int updateByPrimaryKeySelective(AdjustSalary record);
int updateByPrimaryKey(AdjustSalary record);
}
================================================
FILE: vhr/vhrserver/vhr-mapper/src/main/java/org/javaboy/vhr/mapper/AdjustSalaryMapper.xml
================================================
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="org.javaboy.vhr.mapper.AdjustSalaryMapper" >
<resultMap id="BaseResultMap" type="org.javaboy.vhr.model.AdjustSalary" >
<id column="id" property="id" jdbcType="INTEGER" />
<result column="eid" property="eid" jdbcType="INTEGER" />
<result column="asDate" property="asdate" jdbcType="DATE" />
<result column="beforeSalary" property="beforesalary" jdbcType="INTEGER" />
<result column="afterSalary" property="aftersalary" jdbcType="INTEGER" />
<result column="reason" property="reason" jdbcType="VARCHAR" />
<result column="remark" property="remark" jdbcType="VARCHAR" />
</resultMap>
<sql id="Base_Column_List" >
id, eid, asDate, beforeSalary, afterSalary, reason, remark
</sql>
<select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Integer" >
select
<include refid="Base_Column_List" />
from adjustsalary
where id = #{id,jdbcType=INTEGER}
</select>
<delete id="deleteByPrimaryKey" parameterType="java.lang.Integer" >
delete from adjustsalary
where id = #{id,jdbcType=INTEGER}
</delete>
<insert id="insert" parameterType="org.javaboy.vhr.model.AdjustSalary" >
insert into adjustsalary (id, eid, asDate,
beforeSalary, afterSalary, reason,
remark)
values (#{id,jdbcType=INTEGER}, #{eid,jdbcType=INTEGER}, #{asdate,jdbcType=DATE},
#{beforesalary,jdbcType=INTEGER}, #{aftersalary,jdbcType=INTEGER}, #{reason,jdbcType=VARCHAR},
#{remark,jdbcType=VARCHAR})
</insert>
<insert id="insertSelective" parameterType="org.javaboy.vhr.model.AdjustSalary" >
insert into adjustsalary
<trim prefix="(" suffix=")" suffixOverrides="," >
<if test="id != null" >
id,
</if>
<if test="eid != null" >
eid,
</if>
<if test="asdate != null" >
asDate,
</if>
<if test="beforesalary != null" >
beforeSalary,
</if>
<if test="aftersalary != null" >
afterSalary,
</if>
<if test="reason != null" >
reason,
</if>
<if test="remark != null" >
remark,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides="," >
<if test="id != null" >
#{id,jdbcType=INTEGER},
</if>
<if test="eid != null" >
#{eid,jdbcType=INTEGER},
</if>
<if test="asdate != null" >
#{asdate,jdbcType=DATE},
</if>
<if test="beforesalary != null" >
#{beforesalary,jdbcType=INTEGER},
</if>
<if test="aftersalary != null" >
#{aftersalary,jdbcType=INTEGER},
</if>
<if test="reason != null" >
#{reason,jdbcType=VARCHAR},
</if>
<if test="remark != null" >
#{remark,jdbcType=VARCHAR},
</if>
</trim>
</insert>
<update id="updateByPrimaryKeySelective" parameterType="org.javaboy.vhr.model.AdjustSalary" >
update adjustsalary
<set >
<if test="eid != null" >
eid = #{eid,jdbcType=INTEGER},
</if>
<if test="asdate != null" >
asDate = #{asdate,jdbcType=DATE},
</if>
<if test="beforesalary != null" >
beforeSalary = #{beforesalary,jdbcType=INTEGER},
</if>
<if test="aftersalary != null" >
afterSalary = #{aftersalary,jdbcType=INTEGER},
</if>
<if test="reason != null" >
reason = #{reason,jdbcType=VARCHAR},
</if>
<if test="remark != null" >
remark = #{remark,jdbcType=VARCHAR},
</if>
</set>
where id = #{id,jdbcType=INTEGER}
</update>
<update id="updateByPrimaryKey" parameterType="org.javaboy.vhr.model.AdjustSalary" >
update adjustsalary
set eid = #{eid,jdbcType=INTEGER},
asDate = #{asdate,jdbcType=DATE},
beforeSalary = #{beforesalary,jdbcType=INTEGER},
afterSalary = #{aftersalary,jdbcType=INTEGER},
reason = #{reason,jdbcType=VARCHAR},
remark = #{remark,jdbcType=VARCHAR}
where id = #{id,jdbcType=INTEGER}
</update>
</mapper>
================================================
FILE: vhr/vhrserver/vhr-mapper/src/main/java/org/javaboy/vhr/mapper/AppraiseMapper.java
================================================
package org.javaboy.vhr.mapper;
import org.javaboy.vhr.model.Appraise;
public interface AppraiseMapper {
int deleteByPrimaryKey(Integer id);
int insert(Appraise record);
int insertSelective(Appraise record);
Appraise selectByPrimaryKey(Integer id);
int updateByPrimaryKeySelective(Appraise record);
int updateByPrimaryKey(Appraise record);
}
================================================
FILE: vhr/vhrserver/vhr-mapper/src/main/java/org/javaboy/vhr/mapper/AppraiseMapper.xml
================================================
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="org.javaboy.vhr.mapper.AppraiseMapper" >
<resultMap id="BaseResultMap" type="org.javaboy.vhr.model.Appraise" >
<id column="id" property="id" jdbcType="INTEGER" />
<result column="eid" property="eid" jdbcType="INTEGER" />
<result column="appDate" property="appdate" jdbcType="DATE" />
<result column="appResult" property="appresult" jdbcType="VARCHAR" />
<result column="appContent" property="appcontent" jdbcType="VARCHAR" />
<result column="remark" property="remark" jdbcType="VARCHAR" />
</resultMap>
<sql id="Base_Column_List" >
id, eid, appDate, appResult, appContent, remark
</sql>
<select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Integer" >
select
<include refid="Base_Column_List" />
from appraise
where id = #{id,jdbcType=INTEGER}
</select>
<delete id="deleteByPrimaryKey" parameterType="java.lang.Integer" >
delete from appraise
where id = #{id,jdbcType=INTEGER}
</delete>
<insert id="insert" parameterType="org.javaboy.vhr.model.Appraise" >
insert into appraise (id, eid, appDate,
appResult, appContent, remark
)
values (#{id,jdbcType=INTEGER}, #{eid,jdbcType=INTEGER}, #{appdate,jdbcType=DATE},
#{appresult,jdbcType=VARCHAR}, #{appcontent,jdbcType=VARCHAR}, #{remark,jdbcType=VARCHAR}
)
</insert>
<insert id="insertSelective" parameterType="org.javaboy.vhr.model.Appraise" >
insert into appraise
<trim prefix="(" suffix=")" suffixOverrides="," >
<if test="id != null" >
id,
</if>
<if test="eid != null" >
eid,
</if>
<if test="appdate != null" >
appDate,
</if>
<if test="appresult != null" >
appResult,
</if>
<if test="appcontent != null" >
appContent,
</if>
<if test="remark != null" >
remark,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides="," >
<if test="id != null" >
#{id,jdbcType=INTEGER},
</if>
<if test="eid != null" >
#{eid,jdbcType=INTEGER},
</if>
<if test="appdate != null" >
#{appdate,jdbcType=DATE},
</if>
<if test="appresult != null" >
#{appresult,jdbcType=VARCHAR},
</if>
<if test="appcontent != null" >
#{appcontent,jdbcType=VARCHAR},
</if>
<if test="remark != null" >
#{remark,jdbcType=VARCHAR},
</if>
</trim>
</insert>
<update id="updateByPrimaryKeySelective" parameterType="org.javaboy.vhr.model.Appraise" >
update appraise
<set >
<if test="eid != null" >
eid = #{eid,jdbcType=INTEGER},
</if>
<if test="appdate != null" >
appDate = #{appdate,jdbcType=DATE},
</if>
<if test="appresult != null" >
appResult = #{appresult,jdbcType=VARCHAR},
</if>
<if test="appcontent != null" >
appContent = #{appcontent,jdbcType=VARCHAR},
</if>
<if test="remark != null" >
remark = #{remark,jdbcType=VARCHAR},
</if>
</set>
where id = #{id,jdbcType=INTEGER}
</update>
<update id="updateByPrimaryKey" parameterType="org.javaboy.vhr.model.Appraise" >
update appraise
set eid = #{eid,jdbcType=INTEGER},
appDate = #{appdate,jdbcType=DATE},
appResult = #{appresult,jdbcType=VARCHAR},
appContent = #{appcontent,jdbcType=VARCHAR},
remark = #{remark,jdbcType=VARCHAR}
where id = #{id,jdbcType=INTEGER}
</update>
</mapper>
================================================
FILE: vhr/vhrserver/vhr-mapper/src/main/java/org/javaboy/vhr/mapper/DepartmentMapper.java
================================================
package org.javaboy.vhr.mapper;
import org.javaboy.vhr.model.Department;
import java.util.List;
public interface DepartmentMapper {
int deleteByPrimaryKey(Integer id);
int insert(Department record);
int insertSelective(Department record);
Department selectByPrimaryKey(Integer id);
int updateByPrimaryKeySelective(Department record);
int updateByPrimaryKey(Department record);
List<Department> getAllDepartmentsByParentId(Integer pid);
void addDep(Department dep);
void deleteDepById(Department dep);
List<Department> getAllDepartmentsWithOutChildren();
}
================================================
FILE: vhr/vhrserver/vhr-mapper/src/main/java/org/javaboy/vhr/mapper/DepartmentMapper.xml
================================================
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="org.javaboy.vhr.mapper.DepartmentMapper">
<resultMap id="BaseResultMap" type="org.javaboy.vhr.model.Department">
<id column="id" property="id" jdbcType="INTEGER"/>
<result column="name" property="name" jdbcType="VARCHAR"/>
<result column="parentId" property="parentId" jdbcType="INTEGER"/>
<result column="depPath" property="depPath" jdbcType="VARCHAR"/>
<result column="enabled" property="enabled" jdbcType="BIT"/>
<result column="isParent" property="isParent" jdbcType="BIT"/>
</resultMap>
<resultMap id="DepartmentWithChildren" type="org.javaboy.vhr.model.Department" extends="BaseResultMap">
<collection property="children" ofType="org.javaboy.vhr.model.Department"
select="org.javaboy.vhr.mapper.DepartmentMapper.getAllDepartmentsByParentId" column="id"/>
</resultMap>
<sql id="Base_Column_List">
id, name, parentId, depPath, enabled, isParent
</sql>
<select id="getAllDepartmentsWithOutChildren" resultMap="BaseResultMap">
select
<include refid="Base_Column_List">
</include>
from department;
</select>
<select id="addDep" statementType="CALLABLE">
call addDep(#{name,mode=IN,jdbcType=VARCHAR},#{parentId,mode=IN,jdbcType=INTEGER},#{enabled,mode=IN,jdbcType=BOOLEAN},#{result,mode=OUT,jdbcType=INTEGER},#{id,mode=OUT,jdbcType=INTEGER})
</select>
<select id="deleteDepById" statementType="CALLABLE">
call deleteDep(#{id,mode=IN,jdbcType=INTEGER},#{result,mode=OUT,jdbcType=INTEGER})
</select>
<select id="getAllDepartmentsByParentId" resultMap="DepartmentWithChildren">
select * from department where parentId=#{pid};
</select>
<select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Integer">
select
<include refid="Base_Column_List"/>
from department
where id = #{id,jdbcType=INTEGER}
</select>
<delete id="deleteByPrimaryKey" parameterType="java.lang.Integer">
delete from department
where id = #{id,jdbcType=INTEGER}
</delete>
<insert id="insert" parameterType="org.javaboy.vhr.model.Department">
insert into department (id, name, parentId,
depPath, enabled, isParent)
values (#{id,jdbcType=INTEGER}, #{name,jdbcType=VARCHAR}, #{parentId,jdbcType=INTEGER},
#{depPath,jdbcType=VARCHAR}, #{enabled,jdbcType=BIT}, #{isParent,jdbcType=BIT})
</insert>
<insert id="insertSelective" parameterType="org.javaboy.vhr.model.Department">
insert into department
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="id != null">
id,
</if>
<if test="name != null">
name,
</if>
<if test="parentId != null">
parentId,
</if>
<if test="depPath != null">
depPath,
</if>
<if test="enabled != null">
enabled,
</if>
<if test="isParent != null">
isParent,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="id != null">
#{id,jdbcType=INTEGER},
</if>
<if test="name != null">
#{name,jdbcType=VARCHAR},
</if>
<if test="parentId != null">
#{parentId,jdbcType=INTEGER},
</if>
<if test="depPath != null">
#{depPath,jdbcType=VARCHAR},
</if>
<if test="enabled != null">
#{enabled,jdbcType=BIT},
</if>
<if test="isParent != null">
#{isParent,jdbcType=BIT},
</if>
</trim>
</insert>
<update id="updateByPrimaryKeySelective" parameterType="org.javaboy.vhr.model.Department">
update department
<set>
<if test="name != null">
name = #{name,jdbcType=VARCHAR},
</if>
<if test="parentId != null">
parentId = #{parentId,jdbcType=INTEGER},
</if>
<if test="depPath != null">
depPath = #{depPath,jdbcType=VARCHAR},
</if>
<if test="enabled != null">
enabled = #{enabled,jdbcType=BIT},
</if>
<if test="isParent != null">
isParent = #{isParent,jdbcType=BIT},
</if>
</set>
where id = #{id,jdbcType=INTEGER}
</update>
<update id="updateByPrimaryKey" parameterType="org.javaboy.vhr.model.Department">
update department
set name = #{name,jdbcType=VARCHAR},
parentId = #{parentId,jdbcType=INTEGER},
depPath = #{depPath,jdbcType=VARCHAR},
enabled = #{enabled,jdbcType=BIT},
isParent = #{isParent,jdbcType=BIT}
where id = #{id,jdbcType=INTEGER}
</update>
</mapper>
================================================
FILE: vhr/vhrserver/vhr-mapper/src/main/java/org/javaboy/vhr/mapper/EmpSalaryMapper.java
================================================
package org.javaboy.vhr.mapper;
import org.javaboy.vhr.model.EmpSalary;
public interface EmpSalaryMapper {
int deleteByPrimaryKey(Integer id);
int insert(EmpSalary record);
int insertSelective(EmpSalary record);
EmpSalary selectByPrimaryKey(Integer id);
int updateByPrimaryKeySelective(EmpSalary record);
int updateByPrimaryKey(EmpSalary record);
}
================================================
FILE: vhr/vhrserver/vhr-mapper/src/main/java/org/javaboy/vhr/mapper/EmpSalaryMapper.xml
================================================
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="org.javaboy.vhr.mapper.EmpSalaryMapper" >
<resultMap id="BaseResultMap" type="org.javaboy.vhr.model.EmpSalary" >
<id column="id" property="id" jdbcType="INTEGER" />
<result column="eid" property="eid" jdbcType="INTEGER" />
<result column="sid" property="sid" jdbcType="INTEGER" />
</resultMap>
<sql id="Base_Column_List" >
id, eid, sid
</sql>
<select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Integer" >
select
<include refid="Base_Column_List" />
from empsalary
where id = #{id,jdbcType=INTEGER}
</select>
<delete id="deleteByPrimaryKey" parameterType="java.lang.Integer" >
delete from empsalary
where id = #{id,jdbcType=INTEGER}
</delete>
<insert id="insert" parameterType="org.javaboy.vhr.model.EmpSalary" >
insert into empsalary (id, eid, sid)
values (#{id,jdbcType=INTEGER}, #{eid,jdbcType=INTEGER}, #{sid,jdbcType=INTEGER})
</insert>
<insert id="insertSelective" parameterType="org.javaboy.vhr.model.EmpSalary" >
insert into empsalary
<trim prefix="(" suffix=")" suffixOverrides="," >
<if test="id != null" >
id,
</if>
<if test="eid != null" >
eid,
</if>
<if test="sid != null" >
sid,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides="," >
<if test="id != null" >
#{id,jdbcType=INTEGER},
</if>
<if test="eid != null" >
#{eid,jdbcType=INTEGER},
</if>
<if test="sid != null" >
#{sid,jdbcType=INTEGER},
</if>
</trim>
</insert>
<update id="updateByPrimaryKeySelective" parameterType="org.javaboy.vhr.model.EmpSalary" >
update empsalary
<set >
<if test="eid != null" >
eid = #{eid,jdbcType=INTEGER},
</if>
<if test="sid != null" >
sid = #{sid,jdbcType=INTEGER},
</if>
</set>
where id = #{id,jdbcType=INTEGER}
</update>
<update id="updateByPrimaryKey" parameterType="org.javaboy.vhr.model.EmpSalary" >
update empsalary
set eid = #{eid,jdbcType=INTEGER},
sid = #{sid,jdbcType=INTEGER}
where id = #{id,jdbcType=INTEGER}
</update>
</mapper>
================================================
FILE: vhr/vhrserver/vhr-mapper/src/main/java/org/javaboy/vhr/mapper/EmployeeMapper.java
================================================
package org.javaboy.vhr.mapper;
import org.apache.ibatis.annotations.Param;
import org.javaboy.vhr.model.Employee;
import java.util.Date;
import java.util.List;
public interface EmployeeMapper {
int deleteByPrimaryKey(Integer id);
int insert(Employee record);
int insertSelective(Employee record);
Employee selectByPrimaryKey(Integer id);
int updateByPrimaryKeySelective(Employee record);
int updateByPrimaryKey(Employee record);
List<Employee> getEmployeeByPage(@Param("page") Integer page, @Param("size") Integer size, @Param("emp") Employee employee,@Param("beginDateScope") Date[] beginDateScope);
Long getTotal(@Param("emp") Employee employee,@Param("beginDateScope") Date[] beginDateScope);
Integer maxWorkID();
Integer addEmps(@Param("list") List<Employee> list);
Employee getEmployeeById(Integer id);
List<Employee> getEmployeeByPageWithSalary(@Param("page") Integer page, @Param("size") Integer size);
Integer updateEmployeeSalaryById(@Param("eid") Integer eid, @Param("sid") Integer sid);
}
================================================
FILE: vhr/vhrserver/vhr-mapper/src/main/java/org/javaboy/vhr/mapper/EmployeeMapper.xml
================================================
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="org.javaboy.vhr.mapper.EmployeeMapper">
<resultMap id="BaseResultMap" type="org.javaboy.vhr.model.Employee">
<id column="id" property="id" jdbcType="INTEGER"/>
<result column="name" property="name" jdbcType="VARCHAR"/>
<result column="gender" property="gender" jdbcType="CHAR"/>
<result column="birthday" property="birthday" jdbcType="DATE"/>
<result column="idCard" property="idCard" jdbcType="CHAR"/>
<result column="wedlock" property="wedlock" jdbcType="CHAR"/>
<result column="nationId" property="nationId" jdbcType="INTEGER"/>
<result column="nativePlace" property="nativePlace" jdbcType="VARCHAR"/>
<result column="politicId" property="politicId" jdbcType="INTEGER"/>
<result column="email" property="email" jdbcType="VARCHAR"/>
<result column="phone" property="phone" jdbcType="VARCHAR"/>
<result column="address" property="address" jdbcType="VARCHAR"/>
<result column="departmentId" property="departmentId" jdbcType="INTEGER"/>
<result column="jobLevelId" property="jobLevelId" jdbcType="INTEGER"/>
<result column="posId" property="posId" jdbcType="INTEGER"/>
<result column="engageForm" property="engageForm" jdbcType="VARCHAR"/>
<result column="tiptopDegree" property="tiptopDegree" jdbcType="CHAR"/>
<result column="specialty" property="specialty" jdbcType="VARCHAR"/>
<result column="school" property="school" jdbcType="VARCHAR"/>
<result column="beginDate" property="beginDate" jdbcType="DATE"/>
<result column="workState" property="workState" jdbcType="CHAR"/>
<result column="workID" property="workID" jdbcType="CHAR"/>
<result column="contractTerm" property="contractTerm" jdbcType="DOUBLE"/>
<result column="conversionTime" property="conversionTime" jdbcType="DATE"/>
<result column="notWorkDate" property="notWorkDate" jdbcType="DATE"/>
<result column="beginContract" property="beginContract" jdbcType="DATE"/>
<result column="endContract" property="endContract" jdbcType="DATE"/>
<result column="workAge" property="workAge" jdbcType="INTEGER"/>
</resultMap>
<resultMap id="AllEmployeeInfo" type="org.javaboy.vhr.model.Employee" extends="BaseResultMap">
<association property="nation" javaType="org.javaboy.vhr.model.Nation">
<id column="nid" property="id"/>
<result column="nname" property="name"/>
</association>
<association property="politicsstatus" javaType="org.javaboy.vhr.model.Politicsstatus">
<id column="pid" property="id"/>
<result column="pname" property="name"/>
</association>
<association property="department" javaType="org.javaboy.vhr.model.Department">
<id column="did" property="id"/>
<result column="dname" property="name"/>
</association>
<association property="jobLevel" javaType="org.javaboy.vhr.model.JobLevel">
<id column="jid" property="id"/>
<result column="jname" property="name"/>
</association>
<association property="position" javaType="org.javaboy.vhr.model.Position">
<id column="posid" property="id"/>
<result column="posname" property="name"/>
</association>
</resultMap>
<sql id="Base_Column_List">
id, name, gender, birthday, idCard, wedlock, nationId, nativePlace, politicId, email,
phone, address, departmentId, jobLevelId, posId, engageForm, tiptopDegree, specialty,
school, beginDate, workState, workID, contractTerm, conversionTime, notWorkDate,
beginContract, endContract, workAge
</sql>
<select id="maxWorkID" resultType="java.lang.Integer">
select max(workID) from employee
</select>
<resultMap id="EmployeeWithSalary" type="org.javaboy.vhr.model.Employee" extends="BaseResultMap">
<association property="salary" javaType="org.javaboy.vhr.model.Salary">
<id column="sid" property="id" jdbcType="INTEGER"/>
<result column="sbasicSalary" property="basicSalary" jdbcType="INTEGER"/>
<result column="sbonus" property="bonus" jdbcType="INTEGER"/>
<result column="slunchSalary" property="lunchSalary" jdbcType="INTEGER"/>
<result column="strafficSalary" property="trafficSalary" jdbcType="INTEGER"/>
<result column="sallSalary" property="allSalary" jdbcType="INTEGER"/>
<result column="spensionBase" property="pensionBase" jdbcType="INTEGER"/>
<result column="spensionPer" property="pensionPer" jdbcType="REAL"/>
<result column="screateDate" property="createDate" jdbcType="TIMESTAMP"/>
<result column="smedicalBase" property="medicalBase" jdbcType="INTEGER"/>
<result column="smedicalPer" property="medicalPer" jdbcType="REAL"/>
<result column="saccumulationFundBase" property="accumulationFundBase" jdbcType="INTEGER"/>
<result column="saccumulationFundPer" property="accumulationFundPer" jdbcType="REAL"/>
<result column="sname" property="name" jdbcType="VARCHAR"/>
</association>
<association property="department" javaType="org.javaboy.vhr.model.Department">
<result column="dname" property="name"/>
</association>
</resultMap>
<select id="getEmployeeByPageWithSalary" resultMap="EmployeeWithSalary">
SELECT e.*,d.`name` AS dname,s.`id` AS sid,s.`accumulationFundBase` AS
saccumulationFundBase,s.`accumulationFundPer` AS saccumulationFundPer,s.`allSalary` AS
sallSalary,s.`basicSalary` AS sbasicSalary,s.`bonus` AS sbonus,s.`createDate` AS screateDate,s.`lunchSalary` AS
slunchSalary,s.`medicalBase` AS smedicalBase,s.`medicalPer` AS smedicalPer,s.`name` AS sname,s.`pensionBase` AS
spensionBase,s.`pensionPer` AS spensionPer,s.`trafficSalary` AS strafficSalary FROM employee e LEFT JOIN
empsalary es ON e.`id`=es.`eid` LEFT JOIN salary s ON es.`sid`=s.`id` LEFT JOIN department d ON
e.`departmentId`=d.`id`
order by e.id
<if test="page !=null and size !=null">
limit #{page},#{size}
</if>
</select>
<insert id="updateEmployeeSalaryById">
REPLACE INTO empsalary (eid,sid) VALUES(#{eid},#{sid})
</insert>
<select id="getEmployeeById" resultMap="AllEmployeeInfo">
select e.*,p.`id` as pid,p.`name` as pname,n.`id` as nid,n.`name` as nname,d.`id` as did,d.`name` as
dname,j.`id` as jid,j.`name` as jname,pos.`id` as posid,pos.`name` as posname from employee e,nation
n,politicsstatus p,department d,joblevel j,position pos where e.`nationId`=n.`id` and e.`politicId`=p.`id` and
e.`departmentId`=d.`id` and e.`jobLevelId`=j.`id` and e.`posId`=pos.`id` and e.`id`=#{id}
</select>
<select id="getEmployeeByPage" resultMap="AllEmployeeInfo">
select e.*,p.`id` as pid,p.`name` as pname,n.`id` as nid,n.`name` as nname,d.`id` as did,d.`name` as
dname,j.`id` as jid,j.`name` as jname,pos.`id` as posid,pos.`name` as posname from employee e,nation
n,politicsstatus p,department d,joblevel j,position pos where e.`nationId`=n.`id` and e.`politicId`=p.`id` and
e.`departmentId`=d.`id` and e.`jobLevelId`=j.`id` and e.`posId`=pos.`id`
<if test="emp.name !=null and emp.name!=''">
and e.name like concat('%',#{emp.name},'%')
</if>
<if test="emp.politicId !=null">
and e.politicId =#{emp.politicId}
</if>
<if test="emp.nationId !=null">
and e.nationId =#{emp.nationId}
</if>
<if test="emp.departmentId !=null">
and e.departmentId =#{emp.departmentId}
</if>
<if test="emp.jobLevelId !=null">
and e.jobLevelId =#{emp.jobLevelId}
</if>
<if test="emp.engageForm !=null and emp.engageForm!=''">
and e.engageForm =#{emp.engageForm}
</if>
<if test="emp.posId !=null">
and e.posId =#{emp.posId}
</if>
<if test="beginDateScope !=null">
and e.beginDate between #{beginDateScope[0]} and #{beginDateScope[1]}
</if>
<if test="page !=null and size!=null">
limit #{page},#{size}
</if>
</select>
<select id="getTotal" resultType="java.lang.Long">
select count(*) from employee e
<where>
<if test="emp!=null">
<if test="emp.name !=null and emp.name!=''">
and e.name like concat('%',#{emp.name},'%')
</if>
<if test="emp.politicId !=null">
and e.politicId =#{emp.politicId}
</if>
<if test="emp.nationId !=null">
and e.nationId =#{emp.nationId}
</if>
<if test="emp.jobLevelId !=null">
and e.jobLevelId =#{emp.jobLevelId}
</if>
<if test="emp.departmentId !=null">
and e.departmentId =#{emp.departmentId}
</if>
<if test="emp.engageForm !=null and emp.engageForm!=''">
and e.engageForm =#{emp.engageForm}
</if>
<if test="emp.posId !=null">
and e.posId =#{emp.posId}
</if>
</if>
<if test="beginDateScope !=null">
and e.beginDate between #{beginDateScope[0]} and #{beginDateScope[1]}
</if>
</where>
</select>
<select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Integer">
select
<include refid="Base_Column_List"/>
from employee
where id = #{id,jdbcType=INTEGER}
</select>
<delete id="deleteByPrimaryKey" parameterType="java.lang.Integer">
delete from employee
where id = #{id,jdbcType=INTEGER}
</delete>
<insert id="addEmps">
insert into employee (name, gender,
birthday, idCard, wedlock, nationId,
nativePlace, politicId, email,
phone, address, departmentId,
jobLevelId, posId, engageForm,
tiptopDegree, specialty, school,
beginDate, workState, workID,
contractTerm, conversionTime, notWorkDate,
beginContract, endContract, workAge
)
values
<foreach collection="list" separator="," item="emp">
(#{emp.name,jdbcType=VARCHAR}, #{emp.gender,jdbcType=CHAR},
#{emp.birthday,jdbcType=DATE}, #{emp.idCard,jdbcType=CHAR}, #{emp.wedlock,jdbcType=CHAR},
#{emp.nationId,jdbcType=INTEGER},
#{emp.nativePlace,jdbcType=VARCHAR}, #{emp.politicId,jdbcType=INTEGER}, #{emp.email,jdbcType=VARCHAR},
#{emp.phone,jdbcType=VARCHAR}, #{emp.address,jdbcType=VARCHAR}, #{emp.departmentId,jdbcType=INTEGER},
#{emp.jobLevelId,jdbcType=INTEGER}, #{emp.posId,jdbcType=INTEGER}, #{emp.engageForm,jdbcType=VARCHAR},
#{emp.tiptopDegree,jdbcType=CHAR}, #{emp.specialty,jdbcType=VARCHAR}, #{emp.school,jdbcType=VARCHAR},
#{emp.beginDate,jdbcType=DATE}, #{emp.workState,jdbcType=CHAR}, #{emp.workID,jdbcType=CHAR},
#{emp.contractTerm,jdbcType=DOUBLE}, #{emp.conversionTime,jdbcType=DATE}, #{emp.notWorkDate,jdbcType=DATE},
#{emp.beginContract,jdbcType=DATE}, #{emp.endContract,jdbcType=DATE}, #{emp.workAge,jdbcType=INTEGER}
)
</foreach>
</insert>
<insert id="insert" parameterType="org.javaboy.vhr.model.Employee">
insert into employee (id, name, gender,
birthday, idCard, wedlock, nationId,
nativePlace, politicId, email,
phone, address, departmentId,
jobLevelId, posId, engageForm,
tiptopDegree, specialty, school,
beginDate, workState, workID,
contractTerm, conversionTime, notWorkDate,
beginContract, endContract, workAge
)
values (#{id,jdbcType=INTEGER}, #{name,jdbcType=VARCHAR}, #{gender,jdbcType=CHAR},
#{birthday,jdbcType=DATE}, #{idCard,jdbcType=CHAR}, #{wedlock,jdbcType=CHAR}, #{nationId,jdbcType=INTEGER},
#{nativePlace,jdbcType=VARCHAR}, #{politicId,jdbcType=INTEGER}, #{email,jdbcType=VARCHAR},
#{phone,jdbcType=VARCHAR}, #{address,jdbcType=VARCHAR}, #{departmentId,jdbcType=INTEGER},
#{jobLevelId,jdbcType=INTEGER}, #{posId,jdbcType=INTEGER}, #{engageForm,jdbcType=VARCHAR},
#{tiptopDegree,jdbcType=CHAR}, #{specialty,jdbcType=VARCHAR}, #{school,jdbcType=VARCHAR},
#{beginDate,jdbcType=DATE}, #{workState,jdbcType=CHAR}, #{workID,jdbcType=CHAR},
#{contractTerm,jdbcType=DOUBLE}, #{conversionTime,jdbcType=DATE}, #{notWorkDate,jdbcType=DATE},
#{beginContract,jdbcType=DATE}, #{endContract,jdbcType=DATE}, #{workAge,jdbcType=INTEGER}
)
</insert>
<insert id="insertSelective" parameterType="org.javaboy.vhr.model.Employee" useGeneratedKeys="true"
keyProperty="id">
insert into employee
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="id != null">
id,
</if>
<if test="name != null">
name,
</if>
<if test="gender != null">
gender,
</if>
<if test="birthday != null">
birthday,
</if>
<if test="idCard != null">
idCard,
</if>
<if test="wedlock != null">
wedlock,
</if>
<if test="nationId != null">
nationId,
</if>
<if test="nativePlace != null">
nativePlace,
</if>
<if test="politicId != null">
politicId,
</if>
<if test="email != null">
email,
</if>
<if test="phone != null">
phone,
</if>
<if test="address != null">
address,
</if>
<if test="departmentId != null">
departmentId,
</if>
<if test="jobLevelId != null">
jobLevelId,
</if>
<if test="posId != null">
posId,
</if>
<if test="engageForm != null">
engageForm,
</if>
<if test="tiptopDegree != null">
tiptopDegree,
</if>
<if test="specialty != null">
specialty,
</if>
<if test="school != null">
school,
</if>
<if test="beginDate != null">
beginDate,
</if>
<if test="workState != null">
workState,
</if>
<if test="workID != null">
workID,
</if>
<if test="contractTerm != null">
contractTerm,
</if>
<if test="conversionTime != null">
conversionTime,
</if>
<if test="notWorkDate != null">
notWorkDate,
</if>
<if test="beginContract != null">
beginContract,
</if>
<if test="endContract != null">
endContract,
</if>
<if test="workAge != null">
workAge,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="id != null">
#{id,jdbcType=INTEGER},
</if>
<if test="name != null">
#{name,jdbcType=VARCHAR},
</if>
<if test="gender != null">
#{gender,jdbcType=CHAR},
</if>
<if test="birthday != null">
#{birthday,jdbcType=DATE},
</if>
<if test="idCard != null">
#{idCard,jdbcType=CHAR},
</if>
<if test="wedlock != null">
#{wedlock,jdbcType=CHAR},
</if>
<if test="nationId != null">
#{nationId,jdbcType=INTEGER},
</if>
<if test="nativePlace != null">
#{nativePlace,jdbcType=VARCHAR},
</if>
<if test="politicId != null">
#{politicId,jdbcType=INTEGER},
</if>
<if test="email != null">
#{email,jdbcType=VARCHAR},
</if>
<if test="phone != null">
#{phone,jdbcType=VARCHAR},
</if>
<if test="address != null">
#{address,jdbcType=VARCHAR},
</if>
<if test="departmentId != null">
#{departmentId,jdbcType=INTEGER},
</if>
<if test="jobLevelId != null">
#{jobLevelId,jdbcType=INTEGER},
</if>
<if test="posId != null">
#{posId,jdbcType=INTEGER},
</if>
<if test="engageForm != null">
#{engageForm,jdbcType=VARCHAR},
</if>
<if test="tiptopDegree != null">
#{tiptopDegree,jdbcType=CHAR},
</if>
<if test="specialty != null">
#{specialty,jdbcType=VARCHAR},
</if>
<if test="school != null">
#{school,jdbcType=VARCHAR},
</if>
<if test="beginDate != null">
#{beginDate,jdbcType=DATE},
</if>
<if test="workState != null">
#{workState,jdbcType=CHAR},
</if>
<if test="workID != null">
#{workID,jdbcType=CHAR},
</if>
<if test="contractTerm != null">
#{contractTerm,jdbcType=DOUBLE},
</if>
<if test="conversionTime != null">
#{conversionTime,jdbcType=DATE},
</if>
<if test="notWorkDate != null">
#{notWorkDate,jdbcType=DATE},
</if>
<if test="beginContract != null">
#{beginContract,jdbcType=DATE},
</if>
<if test="endContract != null">
#{endContract,jdbcType=DATE},
</if>
<if test="workAge != null">
#{workAge,jdbcType=INTEGER},
</if>
</trim>
</insert>
<update id="updateByPrimaryKeySelective" parameterType="org.javaboy.vhr.model.Employee">
update employee
<set>
<if test="name != null">
name = #{name,jdbcType=VARCHAR},
</if>
<if test="gender != null">
gender = #{gender,jdbcType=CHAR},
</if>
<if test="birthday != null">
birthday = #{birthday,jdbcType=DATE},
</if>
<if test="idCard != null">
idCard = #{idCard,jdbcType=CHAR},
</if>
<if test="wedlock != null">
wedlock = #{wedlock,jdbcType=CHAR},
</if>
<if test="nationId != null">
nationId = #{nationId,jdbcType=INTEGER},
</if>
<if test="nativePlace != null">
nativePlace = #{nativePlace,jdbcType=VARCHAR},
</if>
<if test="politicId != null">
politicId = #{politicId,jdbcType=INTEGER},
</if>
<if test="email != null">
email = #{email,jdbcType=VARCHAR},
</if>
<if test="phone != null">
phone = #{phone,jdbcType=VARCHAR},
</if>
<if test="address != null">
address = #{address,jdbcType=VARCHAR},
</if>
<if test="departmentId != null">
departmentId = #{departmentId,jdbcType=INTEGER},
</if>
<if test="jobLevelId != null">
jobLevelId = #{jobLevelId,jdbcType=INTEGER},
</if>
<if test="posId != null">
posId = #{posId,jdbcType=INTEGER},
</if>
<if test="engageForm != null">
engageForm = #{engageForm,jdbcType=VARCHAR},
</if>
<if test="tiptopDegree != null">
tiptopDegree = #{tiptopDegree,jdbcType=CHAR},
</if>
<if test="specialty != null">
specialty = #{specialty,jdbcType=VARCHAR},
</if>
<if test="school != null">
school = #{school,jdbcType=VARCHAR},
</if>
<if test="beginDate != null">
beginDate = #{beginDate,jdbcType=DATE},
</if>
<if test="workState != null">
workState = #{workState,jdbcType=CHAR},
</if>
<if test="workID != null">
workID = #{workID,jdbcType=CHAR},
</if>
<if test="contractTerm != null">
contractTerm = #{contractTerm,jdbcType=DOUBLE},
</if>
<if test="conversionTime != null">
conversionTime = #{conversionTime,jdbcType=DATE},
</if>
<if test="notWorkDate != null">
notWorkDate = #{notWorkDate,jdbcType=DATE},
</if>
<if test="beginContract != null">
beginContract = #{beginContract,jdbcType=DATE},
</if>
<if test="endContract != null">
endContract = #{endContract,jdbcType=DATE},
</if>
<if test="workAge != null">
workAge = #{workAge,jdbcType=INTEGER},
</if>
</set>
where id = #{id,jdbcType=INTEGER}
</update>
<update id="updateByPrimaryKey" parameterType="org.javaboy.vhr.model.Employee">
update employee
set name = #{name,jdbcType=VARCHAR},
gender = #{gender,jdbcType=CHAR},
birthday = #{birthday,jdbcType=DATE},
idCard = #{idCard,jdbcType=CHAR},
wedlock = #{wedlock,jdbcType=CHAR},
nationId = #{nationId,jdbcType=INTEGER},
nativePlace = #{nativePlace,jdbcType=VARCHAR},
politicId = #{politicId,jdbcType=INTEGER},
email = #{email,jdbcType=VARCHAR},
phone = #{phone,jdbcType=VARCHAR},
address = #{address,jdbcType=VARCHAR},
departmentId = #{departmentId,jdbcType=INTEGER},
jobLevelId = #{jobLevelId,jdbcType=INTEGER},
posId = #{posId,jdbcType=INTEGER},
engageForm = #{engageForm,jdbcType=VARCHAR},
tiptopDegree = #{tiptopDegree,jdbcType=CHAR},
specialty = #{specialty,jdbcType=VARCHAR},
school = #{school,jdbcType=VARCHAR},
beginDate = #{beginDate,jdbcType=DATE},
workState = #{workState,jdbcType=CHAR},
workID = #{workID,jdbcType=CHAR},
contractTerm = #{contractTerm,jdbcType=DOUBLE},
conversionTime = #{conversionTime,jdbcType=DATE},
notWorkDate = #{notWorkDate,jdbcType=DATE},
beginContract = #{beginContract,jdbcType=DATE},
endContract = #{endContract,jdbcType=DATE},
workAge = #{workAge,jdbcType=INTEGER}
where id = #{id,jdbcType=INTEGER}
</update>
</mapper>
================================================
FILE: vhr/vhrserver/vhr-mapper/src/main/java/org/javaboy/vhr/mapper/EmployeeecMapper.java
================================================
package org.javaboy.vhr.mapper;
import org.javaboy.vhr.model.Employeeec;
public interface EmployeeecMapper {
int deleteByPrimaryKey(Integer id);
int insert(Employeeec record);
int insertSelective(Employeeec record);
Employeeec selectByPrimaryKey(Integer id);
int updateByPrimaryKeySelective(Employeeec record);
int updateByPrimaryKey(Employeeec record);
}
================================================
FILE: vhr/vhrserver/vhr-mapper/src/main/java/org/javaboy/vhr/mapper/EmployeeecMapper.xml
================================================
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="org.javaboy.vhr.mapper.EmployeeecMapper" >
<resultMap id="BaseResultMap" type="org.javaboy.vhr.model.Employeeec" >
<id column="id" property="id" jdbcType="INTEGER" />
<result column="eid" property="eid" jdbcType="INTEGER" />
<result column="ecDate" property="ecdate" jdbcType="DATE" />
<result column="ecReason" property="ecreason" jdbcType="VARCHAR" />
<result column="ecPoint" property="ecpoint" jdbcType="INTEGER" />
<result column="ecType" property="ectype" jdbcType="INTEGER" />
<result column="remark" property="remark" jdbcType="VARCHAR" />
</resultMap>
<sql id="Base_Column_List" >
id, eid, ecDate, ecReason, ecPoint, ecType, remark
</sql>
<select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Integer" >
select
<include refid="Base_Column_List" />
from employeeec
where id = #{id,jdbcType=INTEGER}
</select>
<delete id="deleteByPrimaryKey" parameterType="java.lang.Integer" >
delete from employeeec
where id = #{id,jdbcType=INTEGER}
</delete>
<insert id="insert" parameterType="org.javaboy.vhr.model.Employeeec" >
insert into employeeec (id, eid, ecDate,
ecReason, ecPoint, ecType,
remark)
values (#{id,jdbcType=INTEGER}, #{eid,jdbcType=INTEGER}, #{ecdate,jdbcType=DATE},
#{ecreason,jdbcType=VARCHAR}, #{ecpoint,jdbcType=INTEGER}, #{ectype,jdbcType=INTEGER},
#{remark,jdbcType=VARCHAR})
</insert>
<insert id="insertSelective" parameterType="org.javaboy.vhr.model.Employeeec" >
insert into employeeec
<trim prefix="(" suffix=")" suffixOverrides="," >
<if test="id != null" >
id,
</if>
<if test="eid != null" >
eid,
</if>
<if test="ecdate != null" >
ecDate,
</if>
<if test="ecreason != null" >
ecReason,
</if>
<if test="ecpoint != null" >
ecPoint,
</if>
<if test="ectype != null" >
ecType,
</if>
<if test="remark != null" >
remark,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides="," >
<if test="id != null" >
#{id,jdbcType=INTEGER},
</if>
<if test="eid != null" >
#{eid,jdbcType=INTEGER},
</if>
<if test="ecdate != null" >
#{ecdate,jdbcType=DATE},
</if>
<if test="ecreason != null" >
#{ecreason,jdbcType=VARCHAR},
</if>
<if test="ecpoint != null" >
#{ecpoint,jdbcType=INTEGER},
</if>
<if test="ectype != null" >
#{ectype,jdbcType=INTEGER},
</if>
<if test="remark != null" >
#{remark,jdbcType=VARCHAR},
</if>
</trim>
</insert>
<update id="updateByPrimaryKeySelective" parameterType="org.javaboy.vhr.model.Employeeec" >
update employeeec
<set >
<if test="eid != null" >
eid = #{eid,jdbcType=INTEGER},
</if>
<if test="ecdate != null" >
ecDate = #{ecdate,jdbcType=DATE},
</if>
<if test="ecreason != null" >
ecReason = #{ecreason,jdbcType=VARCHAR},
</if>
<if test="ecpoint != null" >
ecPoint = #{ecpoint,jdbcType=INTEGER},
</if>
<if test="ectype != null" >
ecType = #{ectype,jdbcType=INTEGER},
</if>
<if test="remark != null" >
remark = #{remark,jdbcType=VARCHAR},
</if>
</set>
where id = #{id,jdbcType=INTEGER}
</update>
<update id="updateByPrimaryKey" parameterType="org.javaboy.vhr.model.Employeeec" >
update employeeec
set eid = #{eid,jdbcType=INTEGER},
ecDate = #{ecdate,jdbcType=DATE},
ecReason = #{ecreason,jdbcType=VARCHAR},
ecPoint = #{ecpoint,jdbcType=INTEGER},
ecType = #{ectype,jdbcType=INTEGER},
remark = #{remark,jdbcType=VARCHAR}
where id = #{id,jdbcType=INTEGER}
</update>
</mapper>
================================================
FILE: vhr/vhrserver/vhr-mapper/src/main/java/org/javaboy/vhr/mapper/EmployeeremoveMapper.java
================================================
package org.javaboy.vhr.mapper;
import org.javaboy.vhr.model.Employeeremove;
public interface EmployeeremoveMapper {
int deleteByPrimaryKey(Integer id);
int insert(Employeeremove record);
int insertSelective(Employeeremove record);
Employeeremove selectByPrimaryKey(Integer id);
int updateByPrimaryKeySelective(Employeeremove record);
int updateByPrimaryKey(Employeeremove record);
}
================================================
FILE: vhr/vhrserver/vhr-mapper/src/main/java/org/javaboy/vhr/mapper/EmployeeremoveMapper.xml
================================================
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="org.javaboy.vhr.mapper.EmployeeremoveMapper" >
<resultMap id="BaseResultMap" type="org.javaboy.vhr.model.Employeeremove" >
<id column="id" property="id" jdbcType="INTEGER" />
<result column="eid" property="eid" jdbcType="INTEGER" />
<result column="afterDepId" property="afterdepid" jdbcType="INTEGER" />
<result column="afterJobId" property="afterjobid" jdbcType="INTEGER" />
<result column="removeDate" property="removedate" jdbcType="DATE" />
<result column="reason" property="reason" jdbcType="VARCHAR" />
<result column="remark" property="remark" jdbcType="VARCHAR" />
</resultMap>
<sql id="Base_Column_List" >
id, eid, afterDepId, afterJobId, removeDate, reason, remark
</sql>
<select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Integer" >
select
<include refid="Base_Column_List" />
from employeeremove
where id = #{id,jdbcType=INTEGER}
</select>
<delete id="deleteByPrimaryKey" parameterType="java.lang.Integer" >
delete from employeeremove
where id = #{id,jdbcType=INTEGER}
</delete>
<insert id="insert" parameterType="org.javaboy.vhr.model.Employeeremove" >
insert into employeeremove (id, eid, afterDepId,
afterJobId, removeDate, reason,
remark)
values (#{id,jdbcType=INTEGER}, #{eid,jdbcType=INTEGER}, #{afterdepid,jdbcType=INTEGER},
#{afterjobid,jdbcType=INTEGER}, #{removedate,jdbcType=DATE}, #{reason,jdbcType=VARCHAR},
#{remark,jdbcType=VARCHAR})
</insert>
<insert id="insertSelective" parameterType="org.javaboy.vhr.model.Employeeremove" >
insert into employeeremove
<trim prefix="(" suffix=")" suffixOverrides="," >
<if test="id != null" >
id,
</if>
<if test="eid != null" >
eid,
</if>
<if test="afterdepid != null" >
afterDepId,
</if>
<if test="afterjobid != null" >
afterJobId,
</if>
<if test="removedate != null" >
removeDate,
</if>
<if test="reason != null" >
reason,
</if>
<if test="remark != null" >
remark,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides="," >
<if test="id != null" >
#{id,jdbcType=INTEGER},
</if>
<if test="eid != null" >
#{eid,jdbcType=INTEGER},
</if>
<if test="afterdepid != null" >
#{afterdepid,jdbcType=INTEGER},
</if>
<if test="afterjobid != null" >
#{afterjobid,jdbcType=INTEGER},
</if>
<if test="removedate != null" >
#{removedate,jdbcType=DATE},
</if>
<if test="reason != null" >
#{reason,jdbcType=VARCHAR},
</if>
<if test="remark != null" >
#{remark,jdbcType=VARCHAR},
</if>
</trim>
</insert>
<update id="updateByPrimaryKeySelective" parameterType="org.javaboy.vhr.model.Employeeremove" >
update employeeremove
<set >
<if test="eid != null" >
eid = #{eid,jdbcType=INTEGER},
</if>
<if test="afterdepid != null" >
afterDepId = #{afterdepid,jdbcType=INTEGER},
</if>
<if test="afterjobid != null" >
afterJobId = #{afterjobid,jdbcType=INTEGER},
</if>
<if test="removedate != null" >
removeDate = #{removedate,jdbcType=DATE},
</if>
<if test="reason != null" >
reason = #{reason,jdbcType=VARCHAR},
</if>
<if test="remark != null" >
remark = #{remark,jdbcType=VARCHAR},
</if>
</set>
where id = #{id,jdbcType=INTEGER}
</update>
<update id="updateByPrimaryKey" parameterType="org.javaboy.vhr.model.Employeeremove" >
update employeeremove
set eid = #{eid,jdbcType=INTEGER},
afterDepId = #{afterdepid,jdbcType=INTEGER},
afterJobId = #{afterjobid,jdbcType=INTEGER},
removeDate = #{removedate,jdbcType=DATE},
reason = #{reason,jdbcType=VARCHAR},
remark = #{remark,jdbcType=VARCHAR}
where id = #{id,jdbcType=INTEGER}
</update>
</mapper>
================================================
FILE: vhr/vhrserver/vhr-mapper/src/main/java/org/javaboy/vhr/mapper/EmployeetrainMapper.java
================================================
package org.javaboy.vhr.mapper;
import org.javaboy.vhr.model.Employeetrain;
public interface EmployeetrainMapper {
int deleteByPrimaryKey(Integer id);
int insert(Employeetrain record);
int insertSelective(Employeetrain record);
Employeetrain selectByPrimaryKey(Integer id);
int updateByPrimaryKeySelective(Employeetrain record);
int updateByPrimaryKey(Employeetrain record);
}
================================================
FILE: vhr/vhrserver/vhr-mapper/src/main/java/org/javaboy/vhr/mapper/EmployeetrainMapper.xml
================================================
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="org.javaboy.vhr.mapper.EmployeetrainMapper" >
<resultMap id="BaseResultMap" type="org.javaboy.vhr.model.Employeetrain" >
<id column="id" property="id" jdbcType="INTEGER" />
<result column="eid" property="eid" jdbcType="INTEGER" />
<result column="trainDate" property="traindate" jdbcType="DATE" />
<result column="trainContent" property="traincontent" jdbcType="VARCHAR" />
<result column="remark" property="remark" jdbcType="VARCHAR" />
</resultMap>
<sql id="Base_Column_List" >
id, eid, trainDate, trainContent, remark
</sql>
<select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Integer" >
select
<include refid="Base_Column_List" />
from employeetrain
where id = #{id,jdbcType=INTEGER}
</select>
<delete id="deleteByPrimaryKey" parameterType="java.lang.Integer" >
delete from employeetrain
where id = #{id,jdbcType=INTEGER}
</delete>
<insert id="insert" parameterType="org.javaboy.vhr.model.Employeetrain" >
insert into employeetrain (id, eid, trainDate,
trainContent, remark)
values (#{id,jdbcType=INTEGER}, #{eid,jdbcType=INTEGER}, #{traindate,jdbcType=DATE},
#{traincontent,jdbcType=VARCHAR}, #{remark,jdbcType=VARCHAR})
</insert>
<insert id="insertSelective" parameterType="org.javaboy.vhr.model.Employeetrain" >
insert into employeetrain
<trim prefix="(" suffix=")" suffixOverrides="," >
<if test="id != null" >
id,
</if>
<if test="eid != null" >
eid,
</if>
<if test="traindate != null" >
trainDate,
</if>
<if test="traincontent != null" >
trainContent,
</if>
<if test="remark != null" >
remark,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides="," >
<if test="id != null" >
#{id,jdbcType=INTEGER},
</if>
<if test="eid != null" >
#{eid,jdbcType=INTEGER},
</if>
<if test="traindate != null" >
#{traindate,jdbcType=DATE},
</if>
<if test="traincontent != null" >
#{traincontent,jdbcType=VARCHAR},
</if>
<if test="remark != null" >
#{remark,jdbcType=VARCHAR},
</if>
</trim>
</insert>
<update id="updateByPrimaryKeySelective" parameterType="org.javaboy.vhr.model.Employeetrain" >
update employeetrain
<set >
<if test="eid != null" >
eid = #{eid,jdbcType=INTEGER},
</if>
<if test="traindate != null" >
trainDate = #{traindate,jdbcType=DATE},
</if>
<if test="traincontent != null" >
trainContent = #{traincontent,jdbcType=VARCHAR},
</if>
<if test="remark != null" >
remark = #{remark,jdbcType=VARCHAR},
</if>
</set>
where id = #{id,jdbcType=INTEGER}
</update>
<update id="updateByPrimaryKey" parameterType="org.javaboy.vhr.model.Employeetrain" >
update employeetrain
set eid = #{eid,jdbcType=INTEGER},
trainDate = #{traindate,jdbcType=DATE},
trainContent = #{traincontent,jdbcType=VARCHAR},
remark = #{remark,jdbcType=VARCHAR}
where id = #{id,jdbcType=INTEGER}
</update>
</mapper>
================================================
FILE: vhr/vhrserver/vhr-mapper/src/main/java/org/javaboy/vhr/mapper/HrMapper.java
================================================
package org.javaboy.vhr.mapper;
import org.apache.ibatis.annotations.Param;
import org.javaboy.vhr.model.Hr;
import org.javaboy.vhr.model.Role;
import java.util.List;
public interface HrMapper {
int deleteByPrimaryKey(Integer id);
int insert(Hr record);
int insertSelective(Hr record);
Hr selectByPrimaryKey(Integer id);
int updateByPrimaryKeySelective(Hr record);
int updateByPrimaryKey(Hr record);
Hr loadUserByUsername(String username);
List<Role> getHrRolesById(Integer id);
List<Hr> getAllHrs(@Param("hrid") Integer hrid, @Param("keywords") String keywords);
List<Hr> getAllHrsExceptCurrentHr(Integer id);
Integer updatePasswd(@Param("hrid") Integer hrid, @Param("encodePass") String encodePass);
Integer updateUserface(@Param("url") String url, @Param("id") Integer id);
}
================================================
FILE: vhr/vhrserver/vhr-mapper/src/main/java/org/javaboy/vhr/mapper/HrMapper.xml
================================================
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="org.javaboy.vhr.mapper.HrMapper">
<resultMap id="BaseResultMap" type="org.javaboy.vhr.model.Hr">
<id column="id" property="id" jdbcType="INTEGER"/>
<result column="name" property="name" jdbcType="VARCHAR"/>
<result column="phone" property="phone" jdbcType="CHAR"/>
<result column="telephone" property="telephone" jdbcType="VARCHAR"/>
<result column="address" property="address" jdbcType="VARCHAR"/>
<result column="enabled" property="enabled" jdbcType="BIT"/>
<result column="username" property="username" jdbcType="VARCHAR"/>
<result column="password" property="password" jdbcType="VARCHAR"/>
<result column="userface" property="userface" jdbcType="VARCHAR"/>
<result column="remark" property="remark" jdbcType="VARCHAR"/>
</resultMap>
<resultMap id="HrWithRoles" type="org.javaboy.vhr.model.Hr" extends="BaseResultMap">
<collection property="roles" ofType="org.javaboy.vhr.model.Role">
<id column="rid" property="id"/>
<result column="rname" property="name"/>
<result column="rnameZh" property="nameZh"/>
</collection>
</resultMap>
<sql id="Base_Column_List">
id, name, phone, telephone, address, enabled, username, password, userface, remark
</sql>
<select id="getAllHrsExceptCurrentHr" resultMap="BaseResultMap">
select * from hr where id !=#{id};
</select>
<select id="getAllHrs" resultMap="HrWithRoles">
select hr.id, hr.name, hr.phone, hr.telephone, hr.address, hr.enabled, hr.username, hr.userface,
hr.remark,r.`id` as rid,r.`name` as rname,r.`nameZh` as rnameZh from hr left join hr_role hrr on
hr.`id`=hrr.`hrid` left join role r on hrr.`rid`=r.`id` where hr.`id`!=#{hrid}
<if test="keywords!=null">
and hr.name like concat('%',#{keywords},'%')
</if>
order by hr.id
</select>
<select id="getHrRolesById" resultType="org.javaboy.vhr.model.Role">
select r.* from role r,hr_role hrr where hrr.`rid`=r.`id` and hrr.`hrid`=#{id}
</select>
<select id="loadUserByUsername" resultMap="BaseResultMap">
select * from hr where username=#{username}
</select>
<select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Integer">
select
<include refid="Base_Column_List"/>
from hr
where id = #{id,jdbcType=INTEGER}
</select>
<delete id="deleteByPrimaryKey" parameterType="java.lang.Integer">
delete from hr
where id = #{id,jdbcType=INTEGER}
</delete>
<insert id="insert" parameterType="org.javaboy.vhr.model.Hr">
insert into hr (id, name, phone,
telephone, address, enabled,
username, password, userface,
remark)
values (#{id,jdbcType=INTEGER}, #{name,jdbcType=VARCHAR}, #{phone,jdbcType=CHAR},
#{telephone,jdbcType=VARCHAR}, #{address,jdbcType=VARCHAR}, #{enabled,jdbcType=BIT},
#{username,jdbcType=VARCHAR}, #{password,jdbcType=VARCHAR}, #{userface,jdbcType=VARCHAR},
#{remark,jdbcType=VARCHAR})
</insert>
<insert id="insertSelective" parameterType="org.javaboy.vhr.model.Hr">
insert into hr
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="id != null">
id,
</if>
<if test="name != null">
name,
</if>
<if test="phone != null">
phone,
</if>
<if test="telephone != null">
telephone,
</if>
<if test="address != null">
address,
</if>
<if test="enabled != null">
enabled,
</if>
<if test="username != null">
username,
</if>
<if test="password != null">
password,
</if>
<if test="userface != null">
userface,
</if>
<if test="remark != null">
remark,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="id != null">
#{id,jdbcType=INTEGER},
</if>
<if test="name != null">
#{name,jdbcType=VARCHAR},
</if>
<if test="phone != null">
#{phone,jdbcType=CHAR},
</if>
<if test="telephone != null">
#{telephone,jdbcType=VARCHAR},
</if>
<if test="address != null">
#{address,jdbcType=VARCHAR},
</if>
<if test="enabled != null">
#{enabled,jdbcType=BIT},
</if>
<if test="username != null">
#{username,jdbcType=VARCHAR},
</if>
<if test="password != null">
#{password,jdbcType=VARCHAR},
</if>
<if test="userface != null">
#{userface,jdbcType=VARCHAR},
</if>
<if test="remark != null">
#{remark,jdbcType=VARCHAR},
</if>
</trim>
</insert>
<update id="updateByPrimaryKeySelective" parameterType="org.javaboy.vhr.model.Hr">
update hr
<set>
<if test="name != null">
name = #{name,jdbcType=VARCHAR},
</if>
<if test="phone != null">
phone = #{phone,jdbcType=CHAR},
</if>
<if test="telephone != null">
telephone = #{telephone,jdbcType=VARCHAR},
</if>
<if test="address != null">
address = #{address,jdbcType=VARCHAR},
</if>
<if test="enabled != null">
enabled = #{enabled,jdbcType=BIT},
</if>
<if test="username != null">
username = #{username,jdbcType=VARCHAR},
</if>
<if test="password != null">
password = #{password,jdbcType=VARCHAR},
</if>
<if test="userface != null">
userface = #{userface,jdbcType=VARCHAR},
</if>
<if test="remark != null">
remark = #{remark,jdbcType=VARCHAR},
</if>
</set>
where id = #{id,jdbcType=INTEGER}
</update>
<update id="updateUserface">
update hr set userface = #{url} where id=#{id};
</update>
<update id="updatePasswd">
update hr set password = #{encodePass} where id=#{hrid};
</update>
<update id="updateByPrimaryKey" parameterType="org.javaboy.vhr.model.Hr">
update hr
set name = #{name,jdbcType=VARCHAR},
phone = #{phone,jdbcType=CHAR},
telephone = #{telephone,jdbcType=VARCHAR},
address = #{address,jdbcType=VARCHAR},
enabled = #{enabled,jdbcType=BIT},
username = #{username,jdbcType=VARCHAR},
password = #{password,jdbcType=VARCHAR},
userface = #{userface,jdbcType=VARCHAR},
remark = #{remark,jdbcType=VARCHAR}
where id = #{id,jdbcType=INTEGER}
</update>
</mapper>
================================================
FILE: vhr/vhrserver/vhr-mapper/src/main/java/org/javaboy/vhr/mapper/HrRoleMapper.java
================================================
package org.javaboy.vhr.mapper;
import org.apache.ibatis.annotations.Param;
import org.javaboy.vhr.model.HrRole;
public interface HrRoleMapper {
int deleteByPrimaryKey(Integer id);
int insert(HrRole record);
int insertSelective(HrRole record);
HrRole selectByPrimaryKey(Integer id);
int updateByPrimaryKeySelective(HrRole record);
int updateByPrimaryKey(HrRole record);
void deleteByHrid(Integer hrid);
Integer addRole(@Param("hrid") Integer hrid, @Param("rids") Integer[] rids);
}
================================================
FILE: vhr/vhrserver/vhr-mapper/src/main/java/org/javaboy/vhr/mapper/HrRoleMapper.xml
================================================
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="org.javaboy.vhr.mapper.HrRoleMapper" >
<resultMap id="BaseResultMap" type="org.javaboy.vhr.model.HrRole" >
<id column="id" property="id" jdbcType="INTEGER" />
<result column="hrid" property="hrid" jdbcType="INTEGER" />
<result column="rid" property="rid" jdbcType="INTEGER" />
</resultMap>
<sql id="Base_Column_List" >
id, hrid, rid
</sql>
<delete id="deleteByHrid">
delete from hr_role where hrid=#{hrid}
</delete>
<insert id="addRole">
insert into hr_role (hrid,rid) values
<foreach collection="rids" item="rid" separator=",">
(#{hrid},#{rid})
</foreach>
</insert>
<select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Integer" >
select
<include refid="Base_Column_List" />
from hr_role
where id = #{id,jdbcType=INTEGER}
</select>
<delete id="deleteByPrimaryKey" parameterType="java.lang.Integer" >
delete from hr_role
where id = #{id,jdbcType=INTEGER}
</delete>
<insert id="insert" parameterType="org.javaboy.vhr.model.HrRole" >
insert into hr_role (id, hrid, rid
)
values (#{id,jdbcType=INTEGER}, #{hrid,jdbcType=INTEGER}, #{rid,jdbcType=INTEGER}
)
</insert>
<insert id="insertSelective" parameterType="org.javaboy.vhr.model.HrRole" >
insert into hr_role
<trim prefix="(" suffix=")" suffixOverrides="," >
<if test="id != null" >
id,
</if>
<if test="hrid != null" >
hrid,
</if>
<if test="rid != null" >
rid,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides="," >
<if test="id != null" >
#{id,jdbcType=INTEGER},
</if>
<if test="hrid != null" >
#{hrid,jdbcType=INTEGER},
</if>
<if test="rid != null" >
#{rid,jdbcType=INTEGER},
</if>
</trim>
</insert>
<update id="updateByPrimaryKeySelective" parameterType="org.javaboy.vhr.model.HrRole" >
update hr_role
<set >
<if test="hrid != null" >
hrid = #{hrid,jdbcType=INTEGER},
</if>
<if test="rid != null" >
rid = #{rid,jdbcType=INTEGER},
</if>
</set>
where id = #{id,jdbcType=INTEGER}
</update>
<update id="updateByPrimaryKey" parameterType="org.javaboy.vhr.model.HrRole" >
update hr_role
set hrid = #{hrid,jdbcType=INTEGER},
rid = #{rid,jdbcType=INTEGER}
where id = #{id,jdbcType=INTEGER}
</update>
</mapper>
================================================
FILE: vhr/vhrserver/vhr-mapper/src/main/java/org/javaboy/vhr/mapper/JobLevelMapper.java
================================================
package org.javaboy.vhr.mapper;
import org.apache.ibatis.annotations.Param;
import org.javaboy.vhr.model.JobLevel;
import java.util.List;
public interface JobLevelMapper {
int deleteByPrimaryKey(Integer id);
int insert(JobLevel record);
int insertSelective(JobLevel record);
JobLevel selectByPrimaryKey(Integer id);
int updateByPrimaryKeySelective(JobLevel record);
int updateByPrimaryKey(JobLevel record);
List<JobLevel> getAllJobLevels();
Integer deleteJobLevelsByIds(@Param("ids") Integer[] ids);
}
================================================
FILE: vhr/vhrserver/vhr-mapper/src/main/java/org/javaboy/vhr/mapper/JobLevelMapper.xml
================================================
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="org.javaboy.vhr.mapper.JobLevelMapper" >
<resultMap id="BaseResultMap" type="org.javaboy.vhr.model.JobLevel" >
<id column="id" property="id" jdbcType="INTEGER" />
<result column="name" property="name" jdbcType="VARCHAR" />
<result column="titleLevel" property="titleLevel" jdbcType="CHAR" />
<result column="createDate" property="createDate" jdbcType="TIMESTAMP" />
<result column="enabled" property="enabled" jdbcType="BIT" />
</resultMap>
<sql id="Base_Column_List" >
id, name, titleLevel, createDate, enabled
</sql>
<delete id="deleteJobLevelsByIds">
delete from joblevel where id in
<foreach collection="ids" item="id" close=")" open="(" separator=",">
#{id}
</foreach>
</delete>
<select id="getAllJobLevels" resultMap="BaseResultMap">
select * from joblevel;
</select>
<select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Integer" >
select
<include refid="Base_Column_List" />
from joblevel
where id = #{id,jdbcType=INTEGER}
</select>
<delete id="deleteByPrimaryKey" parameterType="java.lang.Integer" >
delete from joblevel
where id = #{id,jdbcType=INTEGER}
</delete>
<insert id="insert" parameterType="org.javaboy.vhr.model.JobLevel" >
insert into joblevel (id, name, titleLevel,
createDate, enabled)
values (#{id,jdbcType=INTEGER}, #{name,jdbcType=VARCHAR}, #{titleLevel,jdbcType=CHAR},
#{createDate,jdbcType=TIMESTAMP}, #{enabled,jdbcType=BIT})
</insert>
<insert id="insertSelective" parameterType="org.javaboy.vhr.model.JobLevel" >
insert into joblevel
<trim prefix="(" suffix=")" suffixOverrides="," >
<if test="id != null" >
id,
</if>
<if test="name != null" >
name,
</if>
<if test="titleLevel != null" >
titleLevel,
</if>
<if test="createDate != null" >
createDate,
</if>
<if test="enabled != null" >
enabled,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides="," >
<if test="id != null" >
#{id,jdbcType=INTEGER},
</if>
<if test="name != null" >
#{name,jdbcType=VARCHAR},
</if>
<if test="titleLevel != null" >
#{titleLevel,jdbcType=CHAR},
</if>
<if test="createDate != null" >
#{createDate,jdbcType=TIMESTAMP},
</if>
<if test="enabled != null" >
#{enabled,jdbcType=BIT},
</if>
</trim>
</insert>
<update id="updateByPrimaryKeySelective" parameterType="org.javaboy.vhr.model.JobLevel" >
update joblevel
<set >
<if test="name != null" >
name = #{name,jdbcType=VARCHAR},
</if>
<if test="titleLevel != null" >
titleLevel = #{titleLevel,jdbcType=CHAR},
</if>
<if test="createDate != null" >
createDate = #{createDate,jdbcType=TIMESTAMP},
</if>
<if test="enabled != null" >
enabled = #{enabled,jdbcType=BIT},
</if>
</set>
where id = #{id,jdbcType=INTEGER}
</update>
<update id="updateByPrimaryKey" parameterType="org.javaboy.vhr.model.JobLevel" >
update joblevel
set name = #{name,jdbcType=VARCHAR},
titleLevel = #{titleLevel,jdbcType=CHAR},
createDate = #{createDate,jdbcType=TIMESTAMP},
enabled = #{enabled,jdbcType=BIT}
where id = #{id,jdbcType=INTEGER}
</update>
</mapper>
================================================
FILE: vhr/vhrserver/vhr-mapper/src/main/java/org/javaboy/vhr/mapper/MailSendLogMapper.java
================================================
package org.javaboy.vhr.mapper;
import org.apache.ibatis.annotations.Param;
import org.javaboy.vhr.model.MailSendLog;
import java.util.Date;
import java.util.List;
public interface MailSendLogMapper {
Integer updateMailSendLogStatus(@Param("msgId") String msgId, @Param("status") Integer status);
Integer insert(MailSendLog mailSendLog);
List<MailSendLog> getMailSendLogsByStatus();
Integer updateCount(@Param("msgId") String msgId, @Param("date") Date date);
}
================================================
FILE: vhr/vhrserver/vhr-mapper/src/main/java/org/javaboy/vhr/mapper/MailSendLogMapper.xml
================================================
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.javaboy.vhr.mapper.MailSendLogMapper">
<update id="updateMailSendLogStatus">
update mail_send_log set status = #{status} where msgId=#{msgId};
</update>
<insert id="insert" parameterType="org.javaboy.vhr.model.MailSendLog">
insert into mail_send_log (msgId,empId,routeKey,exchange,tryTime,createTime) values (#{msgId},#{empId},#{routeKey},#{exchange},#{tryTime},#{createTime});
</insert>
<select id="getMailSendLogsByStatus" resultType="org.javaboy.vhr.model.MailSendLog">
select * from mail_send_log where status=0 and tryTime < sysdate()
</select>
<update id="updateCount">
update mail_send_log set count=count+1,updateTime=#{date} where msgId=#{msgId};
</update>
</mapper>
================================================
FILE: vhr/vhrserver/vhr-mapper/src/main/java/org/javaboy/vhr/mapper/MenuMapper.java
================================================
package org.javaboy.vhr.mapper;
import org.javaboy.vhr.model.Menu;
import java.util.List;
public interface MenuMapper {
int deleteByPrimaryKey(Integer id);
int insert(Menu record);
int insertSelective(Menu record);
Menu selectByPrimaryKey(Integer id);
int updateByPrimaryKeySelective(Menu record);
int updateByPrimaryKey(Menu record);
List<Menu> getMenusByHrId(Integer hrid);
List<Menu> getAllMenusWithRole();
List<Menu> getAllMenus();
List<Integer> getMidsByRid(Integer rid);
}
================================================
FILE: vhr/vhrserver/vhr-mapper/src/main/java/org/javaboy/vhr/mapper/MenuMapper.xml
================================================
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="org.javaboy.vhr.mapper.MenuMapper" >
<resultMap id="BaseResultMap" type="org.javaboy.vhr.model.Menu" >
<id column="id" property="id" jdbcType="INTEGER" />
<result column="url" property="url" jdbcType="VARCHAR" />
<result column="path" property="path" jdbcType="VARCHAR" />
<result column="component" property="component" jdbcType="VARCHAR" />
<result column="name" property="name" jdbcType="VARCHAR" />
<result column="iconCls" property="iconCls" jdbcType="VARCHAR" />
<result column="parentId" property="parentId" jdbcType="INTEGER" />
<result column="enabled" property="enabled" jdbcType="BIT" />
<association property="meta" javaType="org.javaboy.vhr.model.Meta">
<result column="keepAlive" property="keepAlive" jdbcType="BIT" />
<result column="requireAuth" property="requireAuth" jdbcType="BIT" />
</association>
</resultMap>
<resultMap id="Menus2" type="org.javaboy.vhr.model.Menu" extends="BaseResultMap">
<collection property="children" ofType="org.javaboy.vhr.model.Menu">
<id column="id2" property="id" jdbcType="INTEGER" />
<result column="url2" property="url" jdbcType="VARCHAR" />
<result column="path2" property="path" jdbcType="VARCHAR" />
<result column="component2" property="component" jdbcType="VARCHAR" />
<result column="name2" property="name" jdbcType="VARCHAR" />
<result column="iconCls2" property="iconCls" jdbcType="VARCHAR" />
<result column="parentId2" property="parentId" jdbcType="INTEGER" />
<result column="enabled2" property="enabled" jdbcType="BIT" />
<association property="meta" javaType="org.javaboy.vhr.model.Meta">
<result column="keepAlive2" property="keepAlive" jdbcType="BIT" />
<result column="requireAuth2" property="requireAuth" jdbcType="BIT" />
</association>
</collection>
</resultMap>
<resultMap id="MenuWithRole" type="org.javaboy.vhr.model.Menu" extends="BaseResultMap">
<collection property="roles" ofType="org.javaboy.vhr.model.Role">
<id column="rid" property="id"/>
<result column="rname" property="name"/>
<result column="rnameZh" property="nameZh"/>
</collection>
</resultMap>
<resultMap id="MenuWithChildren" type="org.javaboy.vhr.model.Menu" extends="BaseResultMap">
<id column="id1" property="id"/>
<result column="name1" property="name"/>
<collection property="children" ofType="org.javaboy.vhr.model.Menu">
<id column="id2" property="id"/>
<result column="name2" property="name"/>
<collection property="children" ofType="org.javaboy.vhr.model.Menu">
<id column="id3" property="id"/>
<result column="name3" property="name"/>
</collection>
</collection>
</resultMap>
<select id="getMidsByRid" resultType="java.lang.Integer">
select mid from menu_role where rid=#{rid};
</select>
<select id="getAllMenus" resultMap="MenuWithChildren">
select m1.`id` as id1,m1.`name` as name1,m2.`id` as id2,m2.`name` as name2,m3.`id` as id3,m3.`name` as name3 from menu m1,menu m2,menu m3 where m1.`id`=m2.`parentId` and m2.`id`=m3.`parentId` and m3.`enabled`=true order by m1.`id`,m2.`id`,m3.`id`
</select>
<select id="getAllMenusWithRole" resultMap="MenuWithRole">
select m.*,r.`id` as rid,r.`name` as rname,r.`nameZh` as rnameZh from menu m,menu_role mr,role r where m.`id`=mr.`mid` and mr.`rid`=r.`id` order by m.`id`
</select>
<select id="getMenusByHrId" resultMap="Menus2">
select distinct m1.*,m2.`id` as id2,m2.`component` as component2,m2.`enabled` as enabled2,m2.`iconCls` as iconCls2,m2.`keepAlive` as keepAlive2,m2.`name` as name2,m2.`parentId` as parentId2,m2.`requireAuth` as requireAuth2,m2.`path` as path2 from menu m1,menu m2,hr_role hrr,menu_role mr where m1.`id`=m2.`parentId` and hrr.`hrid`=#{hrid} and hrr.`rid`=mr.`rid` and mr.`mid`=m2.`id` and m2.`enabled`=true order by m1.`id`,m2.`id`
</select>
<sql id="Base_Column_List" >
id, url, path, component, name, iconCls, keepAlive, requireAuth, parentId, enabled
</sql>
<select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Integer" >
select
<include refid="Base_Column_List" />
from menu
where id = #{id,jdbcType=INTEGER}
</select>
<delete id="deleteByPrimaryKey" parameterType="java.lang.Integer" >
delete from menu
where id = #{id,jdbcType=INTEGER}
</delete>
<insert id="insert" parameterType="org.javaboy.vhr.model.Menu" >
insert into menu (id, url, path,
component, name, iconCls,
keepAlive, requireAuth, parentId,
enabled)
values (#{id,jdbcType=INTEGER}, #{url,jdbcType=VARCHAR}, #{path,jdbcType=VARCHAR},
#{component,jdbcType=VARCHAR}, #{name,jdbcType=VARCHAR}, #{iconcls,jdbcType=VARCHAR},
#{keepalive,jdbcType=BIT}, #{requireauth,jdbcType=BIT}, #{parentid,jdbcType=INTEGER},
#{enabled,jdbcType=BIT})
</insert>
<insert id="insertSelective" parameterType="org.javaboy.vhr.model.Menu" >
insert into menu
<trim prefix="(" suffix=")" suffixOverrides="," >
<if test="id != null" >
id,
</if>
<if test="url != null" >
url,
</if>
<if test="path != null" >
path,
</if>
<if test="component != null" >
component,
</if>
<if test="name != null" >
name,
</if>
<if test="iconcls != null" >
iconCls,
</if>
<if test="keepalive != null" >
keepAlive,
</if>
<if test="requireauth != null" >
requireAuth,
</if>
<if test="parentid != null" >
parentId,
</if>
<if test="enabled != null" >
enabled,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides="," >
<if test="id != null" >
#{id,jdbcType=INTEGER},
</if>
<if test="url != null" >
#{url,jdbcType=VARCHAR},
</if>
<if test="path != null" >
#{path,jdbcType=VARCHAR},
</if>
<if test="component != null" >
#{component,jdbcType=VARCHAR},
</if>
<if test="name != null" >
#{name,jdbcType=VARCHAR},
</if>
<if test="iconcls != null" >
#{iconcls,jdbcType=VARCHAR},
</if>
<if test="keepalive != null" >
#{keepalive,jdbcType=BIT},
</if>
<if test="requireauth != null" >
#{requireauth,jdbcType=BIT},
</if>
<if test="parentid != null" >
#{parentid,jdbcType=INTEGER},
</if>
<if test="enabled != null" >
#{enabled,jdbcType=BIT},
</if>
</trim>
</insert>
<update id="updateByPrimaryKeySelective" parameterType="org.javaboy.vhr.model.Menu" >
update menu
<set >
<if test="url != null" >
url = #{url,jdbcType=VARCHAR},
</if>
<if test="path != null" >
path = #{path,jdbcType=VARCHAR},
</if>
<if test="component != null" >
component = #{component,jdbcType=VARCHAR},
</if>
<if test="name != null" >
name = #{name,jdbcType=VARCHAR},
</if>
<if test="iconcls != null" >
iconCls = #{iconcls,jdbcType=VARCHAR},
</if>
<if test="keepalive != null" >
keepAlive = #{keepalive,jdbcType=BIT},
</if>
<if test="requireauth != null" >
requireAuth = #{requireauth,jdbcType=BIT},
</if>
<if test="parentid != null" >
parentId = #{parentid,jdbcType=INTEGER},
</if>
<if test="enabled != null" >
enabled = #{enabled,jdbcType=BIT},
</if>
</set>
where id = #{id,jdbcType=INTEGER}
</update>
<update id="updateByPrimaryKey" parameterType="org.javaboy.vhr.model.Menu" >
update menu
set url = #{url,jdbcType=VARCHAR},
path = #{path,jdbcType=VARCHAR},
component = #{component,jdbcType=VARCHAR},
name = #{name,jdbcType=VARCHAR},
iconCls = #{iconcls,jdbcType=VARCHAR},
keepAlive = #{keepalive,jdbcType=BIT},
requireAuth = #{requireauth,jdbcType=BIT},
parentId = #{parentid,jdbcType=INTEGER},
enabled = #{enabled,jdbcType=BIT}
where id = #{id,jdbcType=INTEGER}
</update>
</mapper>
================================================
FILE: vhr/vhrserver/vhr-mapper/src/main/java/org/javaboy/vhr/mapper/MenuRoleMapper.java
================================================
package org.javaboy.vhr.mapper;
import org.apache.ibatis.annotations.Param;
import org.javaboy.vhr.model.MenuRole;
public interface MenuRoleMapper {
int deleteByPrimaryKey(Integer id);
int insert(MenuRole record);
int insertSelective(MenuRole record);
MenuRole selectByPrimaryKey(Integer id);
int updateByPrimaryKeySelective(MenuRole record);
int updateByPrimaryKey(MenuRole record);
void deleteByRid(Integer rid);
Integer insertRecord(@Param("rid") Integer rid, @Param("mids") Integer[] mids);
}
================================================
FILE: vhr/vhrserver/vhr-mapper/src/main/java/org/javaboy/vhr/mapper/MenuRoleMapper.xml
================================================
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="org.javaboy.vhr.mapper.MenuRoleMapper" >
<resultMap id="BaseResultMap" type="org.javaboy.vhr.model.MenuRole" >
<id column="id" property="id" jdbcType="INTEGER" />
<result column="mid" property="mid" jdbcType="INTEGER" />
<result column="rid" property="rid" jdbcType="INTEGER" />
</resultMap>
<sql id="Base_Column_List" >
id, mid, rid
</sql>
<delete id="deleteByRid">
delete from menu_role where rid=#{rid}
</delete>
<insert id="insertRecord">
insert into menu_role (mid,rid) values
<foreach collection="mids" separator="," item="mid">
(#{mid},#{rid})
</foreach>
</insert>
<select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Integer" >
select
<include refid="Base_Column_List" />
from menu_role
where id = #{id,jdbcType=INTEGER}
</select>
<delete id="deleteByPrimaryKey" parameterType="java.lang.Integer" >
delete from menu_role
where id = #{id,jdbcType=INTEGER}
</delete>
<insert id="insert" parameterType="org.javaboy.vhr.model.MenuRole" >
insert into menu_role (id, mid, rid)
values (#{id,jdbcType=INTEGER}, #{mid,jdbcType=INTEGER}, #{rid,jdbcType=INTEGER})
</insert>
<insert id="insertSelective" parameterType="org.javaboy.vhr.model.MenuRole" >
insert into menu_role
<trim prefix="(" suffix=")" suffixOverrides="," >
<if test="id != null" >
id,
</if>
<if test="mid != null" >
mid,
</if>
<if test="rid != null" >
rid,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides="," >
<if test="id != null" >
#{id,jdbcType=INTEGER},
</if>
<if test="mid != null" >
#{mid,jdbcType=INTEGER},
</if>
<if test="rid != null" >
#{rid,jdbcType=INTEGER},
</if>
</trim>
</insert>
<update id="updateByPrimaryKeySelective" parameterType="org.javaboy.vhr.model.MenuRole" >
update menu_role
<set >
<if test="mid != null" >
mid = #{mid,jdbcType=INTEGER},
</if>
<if test="rid != null" >
rid = #{rid,jdbcType=INTEGER},
</if>
</set>
where id = #{id,jdbcType=INTEGER}
</update>
<update id="updateByPrimaryKey" parameterType="org.javaboy.vhr.model.MenuRole" >
update menu_role
set mid = #{mid,jdbcType=INTEGER},
rid = #{rid,jdbcType=INTEGER}
where id = #{id,jdbcType=INTEGER}
</update>
</mapper>
================================================
FILE: vhr/vhrserver/vhr-mapper/src/main/java/org/javaboy/vhr/mapper/MsgContentMapper.java
================================================
package org.javaboy.vhr.mapper;
import org.javaboy.vhr.model.MsgContent;
public interface MsgContentMapper {
int deleteByPrimaryKey(Integer id);
int insert(MsgContent record);
int insertSelective(MsgContent record);
MsgContent selectByPrimaryKey(Integer id);
int updateByPrimaryKeySelective(MsgContent record);
int updateByPrimaryKey(MsgContent record);
}
================================================
FILE: vhr/vhrserver/vhr-mapper/src/main/java/org/javaboy/vhr/mapper/MsgContentMapper.xml
================================================
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="org.javaboy.vhr.mapper.MsgContentMapper" >
<resultMap id="BaseResultMap" type="org.javaboy.vhr.model.MsgContent" >
<id column="id" property="id" jdbcType="INTEGER" />
<result column="title" property="title" jdbcType="VARCHAR" />
<result column="message" property="message" jdbcType="VARCHAR" />
<result column="createDate" property="createdate" jdbcType="TIMESTAMP" />
</resultMap>
<sql id="Base_Column_List" >
id, title, message, createDate
</sql>
<select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Integer" >
select
<include refid="Base_Column_List" />
from msgcontent
where id = #{id,jdbcType=INTEGER}
</select>
<delete id="deleteByPrimaryKey" parameterType="java.lang.Integer" >
delete from msgcontent
where id = #{id,jdbcType=INTEGER}
</delete>
<insert id="insert" parameterType="org.javaboy.vhr.model.MsgContent" >
insert into msgcontent (id, title, message,
createDate)
values (#{id,jdbcType=INTEGER}, #{title,jdbcType=VARCHAR}, #{message,jdbcType=VARCHAR},
#{createdate,jdbcType=TIMESTAMP})
</insert>
<insert id="insertSelective" parameterType="org.javaboy.vhr.model.MsgContent" >
insert into msgcontent
<trim prefix="(" suffix=")" suffixOverrides="," >
<if test="id != null" >
id,
</if>
<if test="title != null" >
title,
</if>
<if test="message != null" >
message,
</if>
<if test="createdate != null" >
createDate,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides="," >
<if test="id != null" >
#{id,jdbcType=INTEGER},
</if>
<if test="title != null" >
#{title,jdbcType=VARCHAR},
</if>
<if test="message != null" >
#{message,jdbcType=VARCHAR},
</if>
<if test="createdate != null" >
#{createdate,jdbcType=TIMESTAMP},
</if>
</trim>
</insert>
<update id="updateByPrimaryKeySelective" parameterType="org.javaboy.vhr.model.MsgContent" >
update msgcontent
<set >
<if test="title != null" >
title = #{title,jdbcType=VARCHAR},
</if>
<if test="message != null" >
message = #{message,jdbcType=VARCHAR},
</if>
<if test="createdate != null" >
createDate = #{createdate,jdbcType=TIMESTAMP},
</if>
</set>
where id = #{id,jdbcType=INTEGER}
</update>
<update id="updateByPrimaryKey" parameterType="org.javaboy.vhr.model.MsgContent" >
update msgcontent
set title = #{title,jdbcType=VARCHAR},
message = #{message,jdbcType=VARCHAR},
createDate = #{createdate,jdbcType=TIMESTAMP}
where id = #{id,jdbcType=INTEGER}
</update>
</mapper>
================================================
FILE: vhr/vhrserver/vhr-mapper/src/main/java/org/javaboy/vhr/mapper/NationMapper.java
================================================
package org.javaboy.vhr.mapper;
import org.javaboy.vhr.model.Nation;
import java.util.List;
public interface NationMapper {
int deleteByPrimaryKey(Integer id);
int insert(Nation record);
int insertSelective(Nation record);
Nation selectByPrimaryKey(Integer id);
int updateByPrimaryKeySelective(Nation record);
int updateByPrimaryKey(Nation record);
List<Nation> getAllNations();
}
================================================
FILE: vhr/vhrserver/vhr-mapper/src/main/java/org/javaboy/vhr/mapper/NationMapper.xml
================================================
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="org.javaboy.vhr.mapper.NationMapper" >
<resultMap id="BaseResultMap" type="org.javaboy.vhr.model.Nation" >
<id column="id" property="id" jdbcType="INTEGER" />
<result column="name" property="name" jdbcType="VARCHAR" />
</resultMap>
<sql id="Base_Column_List" >
id, name
</sql>
<select id="getAllNations" resultMap="BaseResultMap">
select * from nation;
</select>
<select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Integer" >
select
<include refid="Base_Column_List" />
from nation
where id = #{id,jdbcType=INTEGER}
</select>
<delete id="deleteByPrimaryKey" parameterType="java.lang.Integer" >
delete from nation
where id = #{id,jdbcType=INTEGER}
</delete>
<insert id="insert" parameterType="org.javaboy.vhr.model.Nation" >
insert into nation (id, name)
values (#{id,jdbcType=INTEGER}, #{name,jdbcType=VARCHAR})
</insert>
<insert id="insertSelective" parameterType="org.javaboy.vhr.model.Nation" >
insert into nation
<trim prefix="(" suffix=")" suffixOverrides="," >
<if test="id != null" >
id,
</if>
<if test="name != null" >
name,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides="," >
<if test="id != null" >
#{id,jdbcType=INTEGER},
</if>
<if test="name != null" >
#{name,jdbcType=VARCHAR},
</if>
</trim>
</insert>
<update id="updateByPrimaryKeySelective" parameterType="org.javaboy.vhr.model.Nation" >
update nation
<set >
<if test="name != null" >
name = #{name,jdbcType=VARCHAR},
</if>
</set>
where id = #{id,jdbcType=INTEGER}
</update>
<update id="updateByPrimaryKey" parameterType="org.javaboy.vhr.model.Nation" >
update nation
set name = #{name,jdbcType=VARCHAR}
where id = #{id,jdbcType=INTEGER}
</update>
</mapper>
================================================
FILE: vhr/vhrserver/vhr-mapper/src/main/java/org/javaboy/vhr/mapper/OpLogMapper.java
================================================
package org.javaboy.vhr.mapper;
import org.javaboy.vhr.model.OpLog;
public interface OpLogMapper {
int deleteByPrimaryKey(Integer id);
int insert(OpLog record);
int insertSelective(OpLog record);
OpLog selectByPrimaryKey(Integer id);
int updateByPrimaryKeySelective(OpLog record);
int updateByPrimaryKey(OpLog record);
}
================================================
FILE: vhr/vhrserver/vhr-mapper/src/main/java/org/javaboy/vhr/mapper/OpLogMapper.xml
================================================
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="org.javaboy.vhr.mapper.OpLogMapper" >
<resultMap id="BaseResultMap" type="org.javaboy.vhr.model.OpLog" >
<id column="id" property="id" jdbcType="INTEGER" />
<result column="addDate" property="adddate" jdbcType="DATE" />
<result column="operate" property="operate" jdbcType="VARCHAR" />
<result column="hrid" property="hrid" jdbcType="INTEGER" />
</resultMap>
<sql id="Base_Column_List" >
id, addDate, operate, hrid
</sql>
<select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Integer" >
select
<include refid="Base_Column_List" />
from oplog
where id = #{id,jdbcType=INTEGER}
</select>
<delete id="deleteByPrimaryKey" parameterType="java.lang.Integer" >
delete from oplog
where id = #{id,jdbcType=INTEGER}
</delete>
<insert id="insert" parameterType="org.javaboy.vhr.model.OpLog" >
insert into oplog (id, addDate, operate,
hrid)
values (#{id,jdbcType=INTEGER}, #{adddate,jdbcType=DATE}, #{operate,jdbcType=VARCHAR},
#{hrid,jdbcType=INTEGER})
</insert>
<insert id="insertSelective" parameterType="org.javaboy.vhr.model.OpLog" >
insert into oplog
<trim prefix="(" suffix=")" suffixOverrides="," >
<if test="id != null" >
id,
</if>
<if test="adddate != null" >
addDate,
</if>
<if test="operate != null" >
operate,
</if>
<if test="hrid != null" >
hrid,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides="," >
<if test="id != null" >
#{id,jdbcType=INTEGER},
</if>
<if test="adddate != null" >
#{adddate,jdbcType=DATE},
</if>
<if test="operate != null" >
#{operate,jdbcType=VARCHAR},
</if>
<if test="hrid != null" >
#{hrid,jdbcType=INTEGER},
</if>
</trim>
</insert>
<update id="updateByPrimaryKeySelective" parameterType="org.javaboy.vhr.model.OpLog" >
update oplog
<set >
<if test="adddate != null" >
addDate = #{adddate,jdbcType=DATE},
</if>
<if test="operate != null" >
operate = #{operate,jdbcType=VARCHAR},
</if>
<if test="hrid != null" >
hrid = #{hrid,jdbcType=INTEGER},
</if>
</set>
where id = #{id,jdbcType=INTEGER}
</update>
<update id="updateByPrimaryKey" parameterType="org.javaboy.vhr.model.OpLog" >
update oplog
set addDate = #{adddate,jdbcType=DATE},
operate = #{operate,jdbcType=VARCHAR},
hrid = #{hrid,jdbcType=INTEGER}
where id = #{id,jdbcType=INTEGER}
</update>
</mapper>
================================================
FILE: vhr/vhrserver/vhr-mapper/src/main/java/org/javaboy/vhr/mapper/PoliticsstatusMapper.java
================================================
package org.javaboy.vhr.mapper;
import org.javaboy.vhr.model.Politicsstatus;
import java.util.List;
public interface PoliticsstatusMapper {
int deleteByPrimaryKey(Integer id);
int insert(Politicsstatus record);
int insertSelective(Politicsstatus record);
Politicsstatus selectByPrimaryKey(Integer id);
int updateByPrimaryKeySelective(Politicsstatus record);
int updateByPrimaryKey(Politicsstatus record);
List<Politicsstatus> getAllPoliticsstatus();
}
================================================
FILE: vhr/vhrserver/vhr-mapper/src/main/java/org/javaboy/vhr/mapper/PoliticsstatusMapper.xml
================================================
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="org.javaboy.vhr.mapper.PoliticsstatusMapper" >
<resultMap id="BaseResultMap" type="org.javaboy.vhr.model.Politicsstatus" >
<id column="id" property="id" jdbcType="INTEGER" />
<result column="name" property="name" jdbcType="VARCHAR" />
</resultMap>
<sql id="Base_Column_List" >
id, name
</sql>
<select id="getAllPoliticsstatus" resultMap="BaseResultMap">
select * from politicsstatus
</select>
<select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Integer" >
select
<include refid="Base_Column_List" />
from politicsstatus
where id = #{id,jdbcType=INTEGER}
</select>
<delete id="deleteByPrimaryKey" parameterType="java.lang.Integer" >
delete from politicsstatus
where id = #{id,jdbcType=INTEGER}
</delete>
<insert id="insert" parameterType="org.javaboy.vhr.model.Politicsstatus" >
insert into politicsstatus (id, name)
values (#{id,jdbcType=INTEGER}, #{name,jdbcType=VARCHAR})
</insert>
<insert id="insertSelective" parameterType="org.javaboy.vhr.model.Politicsstatus" >
insert into politicsstatus
<trim prefix="(" suffix=")" suffixOverrides="," >
<if test="id != null" >
id,
</if>
<if test="name != null" >
name,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides="," >
<if test="id != null" >
#{id,jdbcType=INTEGER},
</if>
<if test="name != null" >
#{name,jdbcType=VARCHAR},
</if>
</trim>
</insert>
<update id="updateByPrimaryKeySelective" parameterType="org.javaboy.vhr.model.Politicsstatus" >
update politicsstatus
<set >
<if test="name != null" >
name = #{name,jdbcType=VARCHAR},
</if>
</set>
where id = #{id,jdbcType=INTEGER}
</update>
<update id="updateByPrimaryKey" parameterType="org.javaboy.vhr.model.Politicsstatus" >
update politicsstatus
set name = #{name,jdbcType=VARCHAR}
where id = #{id,jdbcType=INTEGER}
</update>
</mapper>
================================================
FILE: vhr/vhrserver/vhr-mapper/src/main/java/org/javaboy/vhr/mapper/PositionMapper.java
================================================
package org.javaboy.vhr.mapper;
import org.apache.ibatis.annotations.Param;
import org.javaboy.vhr.model.Position;
import java.util.List;
public interface PositionMapper {
int deleteByPrimaryKey(Integer id);
int insert(Position record);
int insertSelective(Position record);
Position selectByPrimaryKey(Integer id);
int updateByPrimaryKeySelective(Position record);
int updateByPrimaryKey(Position record);
List<Position> getAllPositions();
Integer deletePositionsByIds(@Param("ids") Integer[] ids);
}
================================================
FILE: vhr/vhrserver/vhr-mapper/src/main/java/org/javaboy/vhr/mapper/PositionMapper.xml
================================================
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="org.javaboy.vhr.mapper.PositionMapper" >
<resultMap id="BaseResultMap" type="org.javaboy.vhr.model.Position" >
<id column="id" property="id" jdbcType="INTEGER" />
<result column="name" property="name" jdbcType="VARCHAR" />
<result column="createDate" property="createDate" jdbcType="TIMESTAMP" />
<result column="enabled" property="enabled" jdbcType="BIT" />
</resultMap>
<sql id="Base_Column_List" >
id, name, createDate, enabled
</sql>
<select id="getAllPositions" resultMap="BaseResultMap">
select * from position;
</select>
<select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Integer" >
select
<include refid="Base_Column_List" />
from position
where id = #{id,jdbcType=INTEGER}
</select>
<delete id="deleteByPrimaryKey" parameterType="java.lang.Integer" >
delete from position
where id = #{id,jdbcType=INTEGER}
</delete>
<insert id="insert" parameterType="org.javaboy.vhr.model.Position" >
insert into position (id, name, createDate,
enabled)
values (#{id,jdbcType=INTEGER}, #{name,jdbcType=VARCHAR}, #{createDate,jdbcType=TIMESTAMP},
#{enabled,jdbcType=BIT})
</insert>
<insert id="insertSelective" parameterType="org.javaboy.vhr.model.Position" >
insert into position
<trim prefix="(" suffix=")" suffixOverrides="," >
<if test="id != null" >
id,
</if>
<if test="name != null" >
name,
</if>
<if test="createDate != null" >
createDate,
</if>
<if test="enabled != null" >
enabled,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides="," >
<if test="id != null" >
#{id,jdbcType=INTEGER},
</if>
<if test="name != null" >
#{name,jdbcType=VARCHAR},
</if>
<if test="createDate != null" >
#{createDate,jdbcType=TIMESTAMP},
</if>
<if test="enabled != null" >
#{enabled,jdbcType=BIT},
</if>
</trim>
</insert>
<delete id="deletePositionsByIds">
delete from position where id in
<foreach collection="ids" item="id" separator="," open="(" close=")">
#{id}
</foreach>
</delete>
<update id="updateByPrimaryKeySelective" parameterType="org.javaboy.vhr.model.Position" >
update position
<set >
<if test="name != null" >
name = #{name,jdbcType=VARCHAR},
</if>
<if test="createDate != null" >
createDate = #{createDate,jdbcType=TIMESTAMP},
</if>
<if test="enabled != null" >
enabled = #{enabled,jdbcType=BIT},
</if>
</set>
where id = #{id,jdbcType=INTEGER}
</update>
<update id="updateByPrimaryKey" parameterType="org.javaboy.vhr.model.Position" >
update position
set name = #{name,jdbcType=VARCHAR},
createDate = #{createDate,jdbcType=TIMESTAMP},
enabled = #{enabled,jdbcType=BIT}
where id = #{id,jdbcType=INTEGER}
</update>
</mapper>
================================================
FILE: vhr/vhrserver/vhr-mapper/src/main/java/org/javaboy/vhr/mapper/RoleMapper.java
================================================
package org.javaboy.vhr.mapper;
import org.javaboy.vhr.model.Role;
import java.util.List;
public interface RoleMapper {
int deleteByPrimaryKey(Integer id);
int insert(Role record);
int insertSelective(Role record);
Role selectByPrimaryKey(Integer id);
int updateByPrimaryKeySelective(Role record);
int updateByPrimaryKey(Role record);
List<Role> getAllRoles();
}
================================================
FILE: vhr/vhrserver/vhr-mapper/src/main/java/org/javaboy/vhr/mapper/RoleMapper.xml
================================================
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="org.javaboy.vhr.mapper.RoleMapper" >
<resultMap id="BaseResultMap" type="org.javaboy.vhr.model.Role" >
<id column="id" property="id" jdbcType="INTEGER" />
<result column="name" property="name" jdbcType="VARCHAR" />
<result column="nameZh" property="nameZh" jdbcType="VARCHAR" />
</resultMap>
<sql id="Base_Column_List" >
id, name, nameZh
</sql>
<select id="getAllRoles" resultMap="BaseResultMap">
select * from role;
</select>
<select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Integer" >
select
<include refid="Base_Column_List" />
from role
where id = #{id,jdbcType=INTEGER}
</select>
<delete id="deleteByPrimaryKey" parameterType="java.lang.Integer" >
delete from role
where id = #{id,jdbcType=INTEGER}
</delete>
<insert id="insert" parameterType="org.javaboy.vhr.model.Role" >
insert into role (id, name, nameZh
)
values (#{id,jdbcType=INTEGER}, #{name,jdbcType=VARCHAR}, #{nameZh,jdbcType=VARCHAR}
)
</insert>
<insert id="insertSelective" parameterType="org.javaboy.vhr.model.Role" >
insert into role
<trim prefix="(" suffix=")" suffixOverrides="," >
<if test="id != null" >
id,
</if>
<if test="name != null" >
name,
</if>
<if test="nameZh != null" >
nameZh,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides="," >
<if test="id != null" >
#{id,jdbcType=INTEGER},
</if>
<if test="name != null" >
#{name,jdbcType=VARCHAR},
</if>
<if test="nameZh != null" >
#{nameZh,jdbcType=VARCHAR},
</if>
</trim>
</insert>
<update id="updateByPrimaryKeySelective" parameterType="org.javaboy.vhr.model.Role" >
update role
<set >
<if test="name != null" >
name = #{name,jdbcType=VARCHAR},
</if>
<if test="nameZh != null" >
nameZh = #{nameZh,jdbcType=VARCHAR},
</if>
</set>
where id = #{id,jdbcType=INTEGER}
</update>
<update id="updateByPrimaryKey" parameterType="org.javaboy.vhr.model.Role" >
update role
set name = #{name,jdbcType=VARCHAR},
nameZh = #{nameZh,jdbcType=VARCHAR}
where id = #{id,jdbcType=INTEGER}
</update>
</mapper>
================================================
FILE: vhr/vhrserver/vhr-mapper/src/main/java/org/javaboy/vhr/mapper/SalaryMapper.java
================================================
package org.javaboy.vhr.mapper;
import org.javaboy.vhr.model.Salary;
import java.util.List;
public interface SalaryMapper {
int deleteByPrimaryKey(Integer id);
int insert(Salary record);
int insertSelective(Salary record);
Salary selectByPrimaryKey(Integer id);
int updateByPrimaryKeySelective(Salary record);
int updateByPrimaryKey(Salary record);
List<Salary> getAllSalaries();
}
================================================
FILE: vhr/vhrserver/vhr-mapper/src/main/java/org/javaboy/vhr/mapper/SalaryMapper.xml
================================================
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="org.javaboy.vhr.mapper.SalaryMapper">
<resultMap id="BaseResultMap" type="org.javaboy.vhr.model.Salary">
<id column="id" property="id" jdbcType="INTEGER"/>
<result column="basicSalary" property="basicSalary" jdbcType="INTEGER"/>
<result column="bonus" property="bonus" jdbcType="INTEGER"/>
<result column="lunchSalary" property="lunchSalary" jdbcType="INTEGER"/>
<result column="trafficSalary" property="trafficSalary" jdbcType="INTEGER"/>
<result column="allSalary" property="allSalary" jdbcType="INTEGER"/>
<result column="pensionBase" property="pensionBase" jdbcType="INTEGER"/>
<result column="pensionPer" property="pensionPer" jdbcType="REAL"/>
<result column="createDate" property="createDate" jdbcType="TIMESTAMP"/>
<result column="medicalBase" property="medicalBase" jdbcType="INTEGER"/>
<result column="medicalPer" property="medicalPer" jdbcType="REAL"/>
<result column="accumulationFundBase" property="accumulationFundBase" jdbcType="INTEGER"/>
<result column="accumulationFundPer" property="accumulationFundPer" jdbcType="REAL"/>
<result column="name" property="name" jdbcType="VARCHAR"/>
</resultMap>
<sql id="Base_Column_List">
id, basicSalary, bonus, lunchSalary, trafficSalary, allSalary, pensionBase, pensionPer,
createDate, medicalBase, medicalPer, accumulationFundBase, accumulationFundPer, name
</sql>
<select id="getAllSalaries" resultMap="BaseResultMap">
select
<include refid="Base_Column_List"/>
from salary
</select>
<select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Integer">
select
<include refid="Base_Column_List"/>
from salary
where id = #{id,jdbcType=INTEGER}
</select>
<delete id="deleteByPrimaryKey" parameterType="java.lang.Integer">
delete from salary
where id = #{id,jdbcType=INTEGER}
</delete>
<insert id="insert" parameterType="org.javaboy.vhr.model.Salary">
insert into salary (id, basicSalary, bonus,
lunchSalary, trafficSalary, allSalary,
pensionBase, pensionPer, createDate,
medicalBase, medicalPer, accumulationFundBase,
accumulationFundPer, name)
values (#{id,jdbcType=INTEGER}, #{basicSalary,jdbcType=INTEGER}, #{bonus,jdbcType=INTEGER},
#{lunchSalary,jdbcType=INTEGER}, #{trafficSalary,jdbcType=INTEGER}, #{allSalary,jdbcType=INTEGER},
#{pensionBase,jdbcType=INTEGER}, #{pensionPer,jdbcType=REAL}, #{createDate,jdbcType=TIMESTAMP},
#{medicalBase,jdbcType=INTEGER}, #{medicalPer,jdbcType=REAL}, #{accumulationFundBase,jdbcType=INTEGER},
#{accumulationFundPer,jdbcType=REAL}, #{name,jdbcType=VARCHAR})
</insert>
<insert id="insertSelective" parameterType="org.javaboy.vhr.model.Salary">
insert into salary
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="id != null">
id,
</if>
<if test="basicSalary != null">
basicSalary,
</if>
<if test="bonus != null">
bonus,
</if>
<if test="lunchSalary != null">
lunchSalary,
</if>
<if test="trafficSalary != null">
trafficSalary,
</if>
<if test="allSalary != null">
allSalary,
</if>
<if test="pensionBase != null">
pensionBase,
</if>
<if test="pensionPer != null">
pensionPer,
</if>
<if test="createDate != null">
createDate,
</if>
<if test="medicalBase != null">
medicalBase,
</if>
<if test="medicalPer != null">
medicalPer,
</if>
<if test="accumulationFundBase != null">
accumulationFundBase,
</if>
<if test="accumulationFundPer != null">
accumulationFundPer,
</if>
<if test="name != null">
name,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="id != null">
#{id,jdbcType=INTEGER},
</if>
<if test="basicSalary != null">
#{basicSalary,jdbcType=INTEGER},
</if>
<if test="bonus != null">
#{bonus,jdbcType=INTEGER},
</if>
<if test="lunchSalary != null">
#{lunchSalary,jdbcType=INTEGER},
</if>
<if test="trafficSalary != null">
#{trafficSalary,jdbcType=INTEGER},
</if>
<if test="allSalary != null">
#{allSalary,jdbcType=INTEGER},
</if>
<if test="pensionBase != null">
#{pensionBase,jdbcType=INTEGER},
</if>
<if test="pensionPer != null">
#{pensionPer,jdbcType=REAL},
</if>
<if test="createDate != null">
#{createDate,jdbcType=TIMESTAMP},
</if>
<if test="medicalBase != null">
#{medicalBase,jdbcType=INTEGER},
</if>
<if test="medicalPer != null">
#{medicalPer,jdbcType=REAL},
</if>
<if test="accumulationFundBase != null">
#{accumulationFundBase,jdbcType=INTEGER},
</if>
<if test="accumulationFundPer != null">
#{accumulationFundPer,jdbcType=REAL},
</if>
<if test="name != null">
#{name,jdbcType=VARCHAR},
</if>
</trim>
</insert>
<update id="updateByPrimaryKeySelective" parameterType="org.javaboy.vhr.model.Salary">
update salary
<set>
<if test="basicSalary != null">
basicSalary = #{basicSalary,jdbcType=INTEGER},
</if>
<if test="bonus != null">
bonus = #{bonus,jdbcType=INTEGER},
</if>
<if test="lunchSalary != null">
lunchSalary = #{lunchSalary,jdbcType=INTEGER},
</if>
<if test="trafficSalary != null">
trafficSalary = #{trafficSalary,jdbcType=INTEGER},
</if>
<if test="allSalary != null">
allSalary = #{allSalary,jdbcType=INTEGER},
</if>
<if test="pensionBase != null">
pensionBase = #{pensionBase,jdbcType=INTEGER},
</if>
<if test="pensionPer != null">
pensionPer = #{pensionPer,jdbcType=REAL},
</if>
<if test="createDate != null">
createDate = #{createDate,jdbcType=TIMESTAMP},
</if>
<if test="medicalBase != null">
medicalBase = #{medicalBase,jdbcType=INTEGER},
</if>
<if test="medicalPer != null">
medicalPer = #{medicalPer,jdbcType=REAL},
</if>
<if test="accumulationFundBase != null">
accumulationFundBase = #{accumulationFundBase,jdbcType=INTEGER},
</if>
<if test="accumulationFundPer != null">
accumulationFundPer = #{accumulationFundPer,jdbcType=REAL},
</if>
<if test="name != null">
name = #{name,jdbcType=VARCHAR},
</if>
</set>
where id = #{id,jdbcType=INTEGER}
</update>
<update id="updateByPrimaryKey" parameterType="org.javaboy.vhr.model.Salary">
update salary
set basicSalary = #{basicSalary,jdbcType=INTEGER},
bonus = #{bonus,jdbcType=INTEGER},
lunchSalary = #{lunchSalary,jdbcType=INTEGER},
trafficSalary = #{trafficSalary,jdbcType=INTEGER},
allSalary = #{allSalary,jdbcType=INTEGER},
pensionBase = #{pensionBase,jdbcType=INTEGER},
pensionPer = #{pensionPer,jdbcType=REAL},
createDate = #{createDate,jdbcType=TIMESTAMP},
medicalBase = #{medicalBase,jdbcType=INTEGER},
medicalPer = #{medicalPer,jdbcType=REAL},
accumulationFundBase = #{accumulationFundBase,jdbcType=INTEGER},
accumulationFundPer = #{accumulationFundPer,jdbcType=REAL},
name = #{name,jdbcType=VARCHAR}
where id = #{id,jdbcType=INTEGER}
</update>
</mapper>
================================================
FILE: vhr/vhrserver/vhr-mapper/src/main/java/org/javaboy/vhr/mapper/SysMsgMapper.java
================================================
package org.javaboy.vhr.mapper;
import org.javaboy.vhr.model.SysMsg;
public interface SysMsgMapper {
int deleteByPrimaryKey(Integer id);
int insert(SysMsg record);
int insertSelective(SysMsg record);
SysMsg selectByPrimaryKey(Integer id);
int updateByPrimaryKeySelective(SysMsg record);
int updateByPrimaryKey(SysMsg record);
}
================================================
FILE: vhr/vhrserver/vhr-mapper/src/main/java/org/javaboy/vhr/mapper/SysMsgMapper.xml
================================================
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="org.javaboy.vhr.mapper.SysMsgMapper" >
<resultMap id="BaseResultMap" type="org.javaboy.vhr.model.SysMsg" >
<id column="id" property="id" jdbcType="INTEGER" />
<result column="mid" property="mid" jdbcType="INTEGER" />
<result column="type" property="type" jdbcType="INTEGER" />
<result column="hrid" property="hrid" jdbcType="INTEGER" />
<result column="state" property="state" jdbcType="INTEGER" />
</resultMap>
<sql id="Base_Column_List" >
id, mid, type, hrid, state
</sql>
<select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Integer" >
select
<include refid="Base_Column_List" />
from sysmsg
where id = #{id,jdbcType=INTEGER}
</select>
<delete id="deleteByPrimaryKey" parameterType="java.lang.Integer" >
delete from sysmsg
where id = #{id,jdbcType=INTEGER}
</delete>
<insert id="insert" parameterType="org.javaboy.vhr.model.SysMsg" >
insert into sysmsg (id, mid, type,
hrid, state)
values (#{id,jdbcType=INTEGER}, #{mid,jdbcType=INTEGER}, #{type,jdbcType=INTEGER},
#{hrid,jdbcType=INTEGER}, #{state,jdbcType=INTEGER})
</insert>
<insert id="insertSelective" parameterType="org.javaboy.vhr.model.SysMsg" >
insert into sysmsg
<trim prefix="(" suffix=")" suffixOverrides="," >
<if test="id != null" >
id,
</if>
<if test="mid != null" >
mid,
</if>
<if test="type != null" >
type,
</if>
<if test="hrid != null" >
hrid,
</if>
<if test="state != null" >
state,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides="," >
<if test="id != null" >
#{id,jdbcType=INTEGER},
</if>
<if test="mid != null" >
#{mid,jdbcType=INTEGER},
</if>
<if test="type != null" >
#{type,jdbcType=INTEGER},
</if>
<if test="hrid != null" >
#{hrid,jdbcType=INTEGER},
</if>
<if test="state != null" >
#{state,jdbcType=INTEGER},
</if>
</trim>
</insert>
<update id="updateByPrimaryKeySelective" parameterType="org.javaboy.vhr.model.SysMsg" >
update sysmsg
<set >
<if test="mid != null" >
mid = #{mid,jdbcType=INTEGER},
</if>
<if test="type != null" >
type = #{type,jdbcType=INTEGER},
</if>
<if test="hrid != null" >
hrid = #{hrid,jdbcType=INTEGER},
</if>
<if test="state != null" >
state = #{state,jdbcType=INTEGER},
</if>
</set>
where id = #{id,jdbcType=INTEGER}
</update>
<update id="updateByPrimaryKey" parameterType="org.javaboy.vhr.model.SysMsg" >
update sysmsg
set mid = #{mid,jdbcType=INTEGER},
type = #{type,jdbcType=INTEGER},
hrid = #{hrid,jdbcType=INTEGER},
state = #{state,jdbcType=INTEGER}
where id = #{id,jdbcType=INTEGER}
</update>
</mapper>
================================================
FILE: vhr/vhrserver/vhr-model/pom.xml
================================================
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>vhrserver</artifactId>
<groupId>org.javaboy</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>vhr-model</artifactId>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
</dependencies>
</project>
================================================
FILE: vhr/vhrserver/vhr-model/src/main/java/org/javaboy/vhr/model/AdjustSalary.java
================================================
package org.javaboy.vhr.model;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.util.Date;
public class AdjustSalary {
private Integer id;
private Integer eid;
private Date asdate;
private Integer beforesalary;
private Integer aftersalary;
private String reason;
private String remark;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public Integer getEid() {
return eid;
}
public void setEid(Integer eid) {
this.eid = eid;
}
public Date getAsdate() {
return asdate;
}
public void setAsdate(Date asdate) {
this.asdate = asdate;
}
public Integer getBeforesalary() {
return beforesalary;
}
public void setBeforesalary(Integer beforesalary) {
this.beforesalary = beforesalary;
}
public Integer getAftersalary() {
return aftersalary;
}
public void setAftersalary(Integer aftersalary) {
this.aftersalary = aftersalary;
}
public String getReason() {
return reason;
}
public void setReason(String reason) {
this.reason = reason == null ? null : reason.trim();
}
public String getRemark() {
return remark;
}
public void setRemark(String remark) {
this.remark = remark == null ? null : remark.trim();
}
}
================================================
FILE: vhr/vhrserver/vhr-model/src/main/java/org/javaboy/vhr/model/Appraise.java
================================================
package org.javaboy.vhr.model;
import java.util.Date;
public class Appraise {
private Integer id;
private Integer eid;
private Date appdate;
private String appresult;
private String appcontent;
private String remark;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public Integer getEid() {
return eid;
}
public void setEid(Integer eid) {
this.eid = eid;
}
public Date getAppdate() {
return appdate;
}
public void setAppdate(Date appdate) {
this.appdate = appdate;
}
public String getAppresult() {
return appresult;
}
public void setAppresult(String appresult) {
this.appresult = appresult == null ? null : appresult.trim();
}
public String getAppcontent() {
return appcontent;
}
public void setAppcontent(String appcontent) {
this.appcontent = appcontent == null ? null : appcontent.trim();
}
public String getRemark() {
return remark;
}
public void setRemark(String remark) {
this.remark = remark == null ? null : remark.trim();
}
}
================================================
FILE: vhr/vhrserver/vhr-model/src/main/java/org/javaboy/vhr/model/ChatMsg.java
================================================
package org.javaboy.vhr.model;
import java.util.Date;
public class ChatMsg {
private String from;
private String to;
private String content;
private Date date;
private String fromNickname;
public String getFromNickname() {
return fromNickname;
}
public void setFromNickname(String fromNickname) {
this.fromNickname = fromNickname;
}
public String getFrom() {
return from;
}
public void setFrom(String from) {
this.from = from;
}
public String getTo() {
return to;
}
public void setTo(String to) {
this.to = to;
}
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
public Date getDate() {
return date;
}
public void setDate(Date date) {
this.date = date;
}
}
================================================
FILE: vhr/vhrserver/vhr-model/src/main/java/org/javaboy/vhr/model/Department.java
================================================
package org.javaboy.vhr.model;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
public class Department implements Serializable {
private Integer id;
private String name;
private Integer parentId;
public Department() {
}
public Department(String name) {
this.name = name;
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
Department that = (Department) o;
return Objects.equals(name, that.name);
}
@Override
public int hashCode() {
return Objects.hash(name);
}
private String depPath;
private Boolean enabled;
private Boolean isParent;
private List<Department> children = new ArrayList<>();
private Integer result;
public Integer getResult() {
return result;
}
public void setResult(Integer result) {
this.result = result;
}
public List<Department> getChildren() {
return children;
}
public void setChildren(List<Department> children) {
this.children = children;
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name == null ? null : name.trim();
}
public Boolean getEnabled() {
return enabled;
}
public void setEnabled(Boolean enabled) {
this.enabled = enabled;
}
public Integer getParentId() {
return parentId;
}
public void setParentId(Integer parentId) {
this.parentId = parentId;
}
public String getDepPath() {
return depPath;
}
public void setDepPath(String depPath) {
this.depPath = depPath;
}
public Boolean getParent() {
return isParent;
}
public void setParent(Boolean parent) {
isParent = parent;
}
}
================================================
FILE: vhr/vhrserver/vhr-model/src/main/java/org/javaboy/vhr/model/EmpSalary.java
================================================
package org.javaboy.vhr.model;
public class EmpSalary {
private Integer id;
private Integer eid;
private Integer sid;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public Integer getEid() {
return eid;
}
public void setEid(Integer eid) {
this.eid = eid;
}
public Integer getSid() {
return sid;
}
public void setSid(Integer sid) {
this.sid = sid;
}
}
================================================
FILE: vhr/vhrserver/vhr-model/src/main/java/org/javaboy/vhr/model/Employee.java
================================================
package org.javaboy.vhr.model;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.io.Serializable;
import java.util.Date;
public class Employee implements Serializable {
private Integer id;
private String name;
private String gender;
@Override
public String toString() {
return "Employee{" +
"id=" + id +
", name='" + name + '\'' +
", gender='" + gender + '\'' +
", birthday=" + birthday +
", idCard='" + idCard + '\'' +
", wedlock='" + wedlock + '\'' +
", nationId=" + nationId +
", nativePlace='" + nativePlace + '\'' +
", politicId=" + politicId +
", email='" + email + '\'' +
", phone='" + phone + '\'' +
", address='" + address + '\'' +
", departmentId=" + departmentId +
", jobLevelId=" + jobLevelId +
", posId=" + posId +
", engageForm='" + engageForm + '\'' +
", tiptopDegree='" + tiptopDegree + '\'' +
", specialty='" + specialty + '\'' +
", school='" + school + '\'' +
", beginDate=" + beginDate +
", workState='" + workState + '\'' +
", workID='" + workID + '\'' +
", contractTerm=" + contractTerm +
", conversionTime=" + conversionTime +
", notWorkDate=" + notWorkDate +
", beginContract=" + beginContract +
", endContract=" + endContract +
", workAge=" + workAge +
", nation=" + nation +
", politicsstatus=" + politicsstatus +
", department=" + department +
", jobLevel=" + jobLevel +
", position=" + position +
'}';
}
@JsonFormat(pattern = "yyyy-MM-dd",timezone = "Asia/Shanghai")
private Date birthday;
private String idCard;
private String wedlock;
private Integer nationId;
private String nativePlace;
private Integer politicId;
private String email;
private String phone;
private String address;
private Integer departmentId;
private Integer jobLevelId;
private Integer posId;
private String engageForm;
private String tiptopDegree;
private String specialty;
private String school;
@JsonFormat(pattern = "yyyy-MM-dd",timezone = "Asia/Shanghai")
private Date beginDate;
private String workState;
private String workID;
private Double contractTerm;
@JsonFormat(pattern = "yyyy-MM-dd",timezone = "Asia/Shanghai")
private Date conversionTime;
@JsonFormat(pattern = "yyyy-MM-dd",timezone = "Asia/Shanghai")
private Date notWorkDate;
@JsonFormat(pattern = "yyyy-MM-dd",timezone = "Asia/Shanghai")
private Date beginContract;
@JsonFormat(pattern = "yyyy-MM-dd",timezone = "Asia/Shanghai")
private Date endContract;
private Integer workAge;
private Nation nation;
private Politicsstatus politicsstatus;
private Department department;
private JobLevel jobLevel;
private Position position;
private Salary salary;
public Salary getSalary() {
return salary;
}
public void setSalary(Salary salary) {
this.salary = salary;
}
public Nation getNation() {
return nation;
}
public void setNation(Nation nation) {
this.nation = nation;
}
public Politicsstatus getPoliticsstatus() {
return politicsstatus;
}
public void setPoliticsstatus(Politicsstatus politicsstatus) {
this.politicsstatus = politicsstatus;
}
public Department getDepartment() {
return department;
}
public void setDepartment(Department department) {
this.department = department;
}
public JobLevel getJobLevel() {
return jobLevel;
}
public void setJobLevel(JobLevel jobLevel) {
this.jobLevel = jobLevel;
}
public Position getPosition() {
return position;
}
public void setPosition(Position position) {
this.position = position;
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getGender() {
return gender;
}
public void setGender(String gender) {
this.gender = gender;
}
public Date getBirthday() {
return birthday;
}
public void setBirthday(Date birthday) {
this.birthday = birthday;
}
public String getIdCard() {
return idCard;
}
public void setIdCard(String idCard) {
this.idCard = idCard;
}
public String getWedlock() {
return wedlock;
}
public void setWedlock(String wedlock) {
this.wedlock = wedlock;
}
public Integer getNationId() {
return nationId;
}
public void setNationId(Integer nationId) {
this.nationId = nationId;
}
public String getNativePlace() {
return nativePlace;
}
public void setNativePlace(String nativePlace) {
this.nativePlace = nativePlace;
}
public Integer getPoliticId() {
return politicId;
}
public void setPoliticId(Integer politicId) {
this.politicId = politicId;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getPhone() {
return phone;
}
public void setPhone(String phone) {
this.phone = phone;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public Integer getDepartmentId() {
return departmentId;
}
public void setDepartmentId(Integer departmentId) {
this.departmentId = departmentId;
}
public Integer getJobLevelId() {
return jobLevelId;
}
public void setJobLevelId(Integer jobLevelId) {
this.jobLevelId = jobLevelId;
}
public Integer getPosId() {
return posId;
}
public void setPosId(Integer posId) {
this.posId = posId;
}
public String getEngageForm() {
return engageForm;
}
public void setEngageForm(String engageForm) {
this.engageForm = engageForm;
}
public String getTiptopDegree() {
return tiptopDegree;
}
public void setTiptopDegree(String tiptopDegree) {
this.tiptopDegree = tiptopDegree;
}
public String getSpecialty() {
return specialty;
}
public void setSpecialty(String specialty) {
this.specialty = specialty;
}
public String getSchool() {
return school;
}
public void setSchool(String school) {
this.school = school;
}
public Date getBeginDate() {
return beginDate;
}
public void setBeginDate(Date beginDate) {
this.beginDate = beginDate;
}
public String getWorkState() {
return workState;
}
public void setWorkState(String workState) {
this.workState = workState;
}
public String getWorkID() {
return workID;
}
public void setWorkID(String workID) {
this.workID = workID;
}
public Double getContractTerm() {
return contractTerm;
}
public void setContractTerm(Double contractTerm) {
this.contractTerm = contractTerm;
}
public Date getConversionTime() {
return conversionTime;
}
public void setConversionTime(Date conversionTime) {
this.conversionTime = conversionTime;
}
public Date getNotWorkDate() {
return notWorkDate;
}
public void setNotWorkDate(Date notWorkDate) {
this.notWorkDate = notWorkDate;
}
public Date getBeginContract() {
return beginContract;
}
public void setBeginContract(Date beginContract) {
this.beginContract = beginContract;
}
public Date getEndContract() {
return endContract;
}
public void setEndContract(Date endContract) {
this.endContract = endContract;
}
public Integer getWorkAge() {
return workAge;
}
public void setWorkAge(Integer workAge) {
this.workAge = workAge;
}
}
================================================
FILE: vhr/vhrserver/vhr-model/src/main/java/org/javaboy/vhr/model/Employeeec.java
================================================
package org.javaboy.vhr.model;
import java.util.Date;
public class Employeeec {
private Integer id;
private Integer eid;
private Date ecdate;
private String ecreason;
private Integer ecpoint;
private Integer ectype;
private String remark;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public Integer getEid() {
return eid;
}
public void setEid(Integer eid) {
this.eid = eid;
}
public Date getEcdate() {
return ecdate;
}
public void setEcdate(Date ecdate) {
this.ecdate = ecdate;
}
public String getEcreason() {
return ecreason;
}
public void setEcreason(String ecreason) {
this.ecreason = ecreason == null ? null : ecreason.trim();
}
public Integer getEcpoint() {
return ecpoint;
}
public void setEcpoint(Integer ecpoint) {
this.ecpoint = ecpoint;
}
public Integer getEctype() {
return ectype;
}
public void setEctype(Integer ectype) {
this.ectype = ectype;
}
public String getRemark() {
return remark;
}
public void setRemark(String remark) {
this.remark = remark == null ? null : remark.trim();
}
}
================================================
FILE: vhr/vhrserver/vhr-model/src/main/java/org/javaboy/vhr/model/Employeeremove.java
================================================
package org.javaboy.vhr.model;
import java.util.Date;
public class Employeeremove {
private Integer id;
private Integer eid;
private Integer afterdepid;
private Integer afterjobid;
private Date removedate;
private String reason;
private String remark;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public Integer getEid() {
return eid;
}
public void setEid(Integer eid) {
this.eid = eid;
}
public Integer getAfterdepid() {
return afterdepid;
}
public void setAfterdepid(Integer afterdepid) {
this.afterdepid = afterdepid;
}
public Integer getAfterjobid() {
return afterjobid;
}
public void setAfterjobid(Integer afterjobid) {
this.afterjobid = afterjobid;
}
public Date getRemovedate() {
return removedate;
}
public void setRemovedate(Date removedate) {
this.removedate = removedate;
}
public String getReason() {
return reason;
}
public void setReason(String reason) {
this.reason = reason == null ? null : reason.trim();
}
public String getRemark() {
return remark;
}
public void setRemark(String remark) {
this.remark = remark == null ? null : remark.trim();
}
}
================================================
FILE: vhr/vhrserver/vhr-model/src/main/java/org/javaboy/vhr/model/Employeetrain.java
================================================
package org.javaboy.vhr.model;
import java.util.Date;
public class Employeetrain {
private Integer id;
private Integer eid;
private Date traindate;
private String traincontent;
private String remark;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public Integer getEid() {
return eid;
}
public void setEid(Integer eid) {
this.eid = eid;
}
public Date getTraindate() {
return traindate;
}
public void setTraindate(Date traindate) {
this.traindate = traindate;
}
public String getTraincontent() {
return traincontent;
}
public void setTraincontent(String traincontent) {
this.traincontent = traincontent == null ? null : traincontent.trim();
}
public String getRemark() {
return remark;
}
public void setRemark(String remark) {
this.remark = remark == null ? null : remark.trim();
}
}
================================================
FILE: vhr/vhrserver/vhr-model/src/main/java/org/javaboy/vhr/model/Hr.java
================================================
package org.javaboy.vhr.model;
import com.fasterxml.jackson.annotation.JsonIgnore;
import org.springframework.security.core.GrantedAuthority;
import org.springframework.security.core.authority.SimpleGrantedAuthority;
import org.springframework.security.core.userdetails.UserDetails;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import java.util.Objects;
public class Hr implements UserDetails {
private Integer id;
private String name;
private String phone;
private String telephone;
private String address;
private Boolean enabled;
private String username;
private String password;
private String userface;
private String remark;
private List<Role> roles;
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
Hr hr = (Hr) o;
return Objects.equals(username, hr.username);
}
@Override
public int hashCode() {
return Objects.hash(username);
}
public List<Role> getRoles() {
return roles;
}
public void setRoles(List<Role> roles) {
this.roles = roles;
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name == null ? null : name.trim();
}
public String getPhone() {
return phone;
}
public void setPhone(String phone) {
this.phone = phone == null ? null : phone.trim();
}
public String getTelephone() {
return telephone;
}
public void setTelephone(String telephone) {
this.telephone = telephone == null ? null : telephone.trim();
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address == null ? null : address.trim();
}
public void setEnabled(Boolean enabled) {
this.enabled = enabled;
}
public String getUsername() {
return username;
}
@Override
public boolean isAccountNonExpired() {
return true;
}
@Override
public boolean isAccountNonLocked() {
return true;
}
@Override
public boolean isCredentialsNonExpired() {
return true;
}
@Override
public boolean isEnabled() {
return enabled;
}
public void setUsername(String username) {
this.username = username == null ? null : username.trim();
}
@Override
@JsonIgnore
public Collection<? extends GrantedAuthority> getAuthorities() {
List<SimpleGrantedAuthority> authorities = new ArrayList<>(roles.size());
for (Role role : roles) {
authorities.add(new SimpleGrantedAuthority(role.getName()));
}
return authorities;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password == null ? null : password.trim();
}
public String getUserface() {
return userface;
}
public void setUserface(String userface) {
this.userface = userface == null ? null : userface.trim();
}
public String getRemark() {
return remark;
}
public void setRemark(String remark) {
this.remark = remark == null ? null : remark.trim();
}
}
================================================
FILE: vhr/vhrserver/vhr-model/src/main/java/org/javaboy/vhr/model/HrRole.java
================================================
package org.javaboy.vhr.model;
public class HrRole {
private Integer id;
private Integer hrid;
private Integer rid;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public Integer getHrid() {
return hrid;
}
public void setHrid(Integer hrid) {
this.hrid = hrid;
}
public Integer getRid() {
return rid;
}
public void setRid(Integer rid) {
this.rid = rid;
}
}
================================================
FILE: vhr/vhrserver/vhr-model/src/main/java/org/javaboy/vhr/model/JobLevel.java
================================================
package org.javaboy.vhr.model;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.io.Serializable;
import java.util.Date;
import java.util.Objects;
public class JobLevel implements Serializable {
private Integer id;
private String name;
private String titleLevel;
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
JobLevel jobLevel = (JobLevel) o;
return Objects.equals(name, jobLevel.name);
}
@Override
public int hashCode() {
return Objects.hash(name);
}
public JobLevel() {
}
public JobLevel(String name) {
this.name = name;
}
@JsonFormat(pattern = "yyyy-MM-dd",timezone = "Asia/Shanghai")
private Date createDate;
private Boolean enabled;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getTitleLevel() {
return titleLevel;
}
public void setTitleLevel(String titleLevel) {
this.titleLevel = titleLevel;
}
public Date getCreateDate() {
return cre
gitextract_awylcubm/
├── .gitattributes
├── .gitignore
├── About.md
├── README.md
├── README_zh.md
├── vhr/
│ ├── mailserver/
│ │ ├── .gitignore
│ │ ├── .mvn/
│ │ │ └── wrapper/
│ │ │ ├── MavenWrapperDownloader.java
│ │ │ ├── maven-wrapper.jar
│ │ │ └── maven-wrapper.properties
│ │ ├── mvnw
│ │ ├── mvnw.cmd
│ │ ├── pom.xml
│ │ └── src/
│ │ ├── main/
│ │ │ ├── java/
│ │ │ │ └── org/
│ │ │ │ └── javaboy/
│ │ │ │ └── mailserver/
│ │ │ │ ├── MailserverApplication.java
│ │ │ │ └── receiver/
│ │ │ │ └── MailReceiver.java
│ │ │ └── resources/
│ │ │ ├── application.properties
│ │ │ └── templates/
│ │ │ └── mail.html
│ │ └── test/
│ │ └── java/
│ │ └── org/
│ │ └── javaboy/
│ │ └── mailserver/
│ │ └── MailserverApplicationTests.java
│ ├── pom.xml
│ └── vhrserver/
│ ├── pom.xml
│ ├── vhr-mapper/
│ │ ├── pom.xml
│ │ └── src/
│ │ └── main/
│ │ └── java/
│ │ └── org/
│ │ └── javaboy/
│ │ └── vhr/
│ │ └── mapper/
│ │ ├── AdjustSalaryMapper.java
│ │ ├── AdjustSalaryMapper.xml
│ │ ├── AppraiseMapper.java
│ │ ├── AppraiseMapper.xml
│ │ ├── DepartmentMapper.java
│ │ ├── DepartmentMapper.xml
│ │ ├── EmpSalaryMapper.java
│ │ ├── EmpSalaryMapper.xml
│ │ ├── EmployeeMapper.java
│ │ ├── EmployeeMapper.xml
│ │ ├── EmployeeecMapper.java
│ │ ├── EmployeeecMapper.xml
│ │ ├── EmployeeremoveMapper.java
│ │ ├── EmployeeremoveMapper.xml
│ │ ├── EmployeetrainMapper.java
│ │ ├── EmployeetrainMapper.xml
│ │ ├── HrMapper.java
│ │ ├── HrMapper.xml
│ │ ├── HrRoleMapper.java
│ │ ├── HrRoleMapper.xml
│ │ ├── JobLevelMapper.java
│ │ ├── JobLevelMapper.xml
│ │ ├── MailSendLogMapper.java
│ │ ├── MailSendLogMapper.xml
│ │ ├── MenuMapper.java
│ │ ├── MenuMapper.xml
│ │ ├── MenuRoleMapper.java
│ │ ├── MenuRoleMapper.xml
│ │ ├── MsgContentMapper.java
│ │ ├── MsgContentMapper.xml
│ │ ├── NationMapper.java
│ │ ├── NationMapper.xml
│ │ ├── OpLogMapper.java
│ │ ├── OpLogMapper.xml
│ │ ├── PoliticsstatusMapper.java
│ │ ├── PoliticsstatusMapper.xml
│ │ ├── PositionMapper.java
│ │ ├── PositionMapper.xml
│ │ ├── RoleMapper.java
│ │ ├── RoleMapper.xml
│ │ ├── SalaryMapper.java
│ │ ├── SalaryMapper.xml
│ │ ├── SysMsgMapper.java
│ │ └── SysMsgMapper.xml
│ ├── vhr-model/
│ │ ├── pom.xml
│ │ └── src/
│ │ └── main/
│ │ └── java/
│ │ └── org/
│ │ └── javaboy/
│ │ └── vhr/
│ │ └── model/
│ │ ├── AdjustSalary.java
│ │ ├── Appraise.java
│ │ ├── ChatMsg.java
│ │ ├── Department.java
│ │ ├── EmpSalary.java
│ │ ├── Employee.java
│ │ ├── Employeeec.java
│ │ ├── Employeeremove.java
│ │ ├── Employeetrain.java
│ │ ├── Hr.java
│ │ ├── HrRole.java
│ │ ├── JobLevel.java
│ │ ├── MailConstants.java
│ │ ├── MailSendLog.java
│ │ ├── Menu.java
│ │ ├── MenuRole.java
│ │ ├── Meta.java
│ │ ├── MsgContent.java
│ │ ├── Nation.java
│ │ ├── OpLog.java
│ │ ├── Politicsstatus.java
│ │ ├── Position.java
│ │ ├── RespBean.java
│ │ ├── RespPageBean.java
│ │ ├── Role.java
│ │ ├── Salary.java
│ │ └── SysMsg.java
│ ├── vhr-service/
│ │ ├── pom.xml
│ │ └── src/
│ │ └── main/
│ │ └── java/
│ │ └── org/
│ │ └── javaboy/
│ │ └── vhr/
│ │ ├── config/
│ │ │ └── RabbitConfig.java
│ │ ├── service/
│ │ │ ├── DepartmentService.java
│ │ │ ├── EmployeeService.java
│ │ │ ├── HrService.java
│ │ │ ├── JobLevelService.java
│ │ │ ├── MailSendLogService.java
│ │ │ ├── MenuService.java
│ │ │ ├── NationService.java
│ │ │ ├── PoliticsstatusService.java
│ │ │ ├── PositionService.java
│ │ │ ├── RoleService.java
│ │ │ └── SalaryService.java
│ │ ├── task/
│ │ │ └── MailSendTask.java
│ │ └── utils/
│ │ ├── HrUtils.java
│ │ └── POIUtils.java
│ └── vhr-web/
│ ├── pom.xml
│ └── src/
│ ├── main/
│ │ ├── java/
│ │ │ └── org/
│ │ │ └── javaboy/
│ │ │ └── vhr/
│ │ │ ├── VhrApplication.java
│ │ │ ├── config/
│ │ │ │ ├── CustomFilterInvocationSecurityMetadataSource.java
│ │ │ │ ├── CustomUrlDecisionManager.java
│ │ │ │ ├── FastDFSUtils.java
│ │ │ │ ├── LoginFilter.java
│ │ │ │ ├── SecurityConfig.java
│ │ │ │ ├── VerificationCode.java
│ │ │ │ └── WebSocketConfig.java
│ │ │ ├── controller/
│ │ │ │ ├── ChatController.java
│ │ │ │ ├── HrInfoController.java
│ │ │ │ ├── LoginController.java
│ │ │ │ ├── WsController.java
│ │ │ │ ├── config/
│ │ │ │ │ └── SystemConfigController.java
│ │ │ │ ├── emp/
│ │ │ │ │ └── EmpBasicController.java
│ │ │ │ ├── salary/
│ │ │ │ │ ├── SalaryController.java
│ │ │ │ │ └── SobConfigController.java
│ │ │ │ └── system/
│ │ │ │ ├── HrController.java
│ │ │ │ └── basic/
│ │ │ │ ├── DepartmentController.java
│ │ │ │ ├── JobLevelController.java
│ │ │ │ ├── PermissController.java
│ │ │ │ └── PositionController.java
│ │ │ ├── converter/
│ │ │ │ └── DateConverter.java
│ │ │ └── exception/
│ │ │ └── GlobalExceptionHandler.java
│ │ └── resources/
│ │ ├── application.yml
│ │ ├── db/
│ │ │ └── migration/
│ │ │ └── V1__vhr.sql
│ │ ├── fastdfs-client.properties
│ │ └── static/
│ │ ├── css/
│ │ │ ├── app.4e8a7623.css
│ │ │ ├── chunk-0c17a57a.42916da5.css
│ │ │ ├── chunk-64435448.3755e146.css
│ │ │ └── chunk-vendors.c805ba07.css
│ │ ├── index.html
│ │ └── js/
│ │ ├── app.36643c7a.js
│ │ ├── chunk-0c17a57a.3d783b80.js
│ │ ├── chunk-18458ebc.2dd3c93a.js
│ │ ├── chunk-2d0d03c8.3a093d55.js
│ │ ├── chunk-2d237c54.0b312051.js
│ │ ├── chunk-33b8cd94.a94483af.js
│ │ ├── chunk-4e552d82.57eb10c5.js
│ │ ├── chunk-64435448.c8d2ed8f.js
│ │ ├── chunk-df7e035a.c9947309.js
│ │ └── chunk-vendors.0a8f9d11.js
│ └── test/
│ └── java/
│ └── org/
│ └── javaboy/
│ └── vhr/
│ └── VhrApplicationTests.java
├── vhr.sql
└── vuehr/
├── .gitignore
├── README.md
├── babel.config.js
├── package.json
├── public/
│ └── index.html
├── src/
│ ├── App.vue
│ ├── components/
│ │ ├── chat/
│ │ │ ├── card.vue
│ │ │ ├── list.vue
│ │ │ ├── message.vue
│ │ │ └── usertext.vue
│ │ └── sys/
│ │ └── basic/
│ │ ├── DepMana.vue
│ │ ├── EcMana.vue
│ │ ├── JobLevelMana.vue
│ │ ├── PermissMana.vue
│ │ └── PosMana.vue
│ ├── main.js
│ ├── router.js
│ ├── store/
│ │ └── index.js
│ ├── utils/
│ │ ├── api.js
│ │ ├── menus.js
│ │ ├── mymessage.js
│ │ ├── sockjs.js
│ │ └── stomp.js
│ └── views/
│ ├── Home.vue
│ ├── HrInfo.vue
│ ├── Login.vue
│ ├── chat/
│ │ └── FriendChat.vue
│ ├── emp/
│ │ ├── EmpAdv.vue
│ │ └── EmpBasic.vue
│ ├── per/
│ │ ├── PerEc.vue
│ │ ├── PerEmp.vue
│ │ ├── PerMv.vue
│ │ ├── PerSalary.vue
│ │ └── PerTrain.vue
│ ├── sal/
│ │ ├── SalMonth.vue
│ │ ├── SalSearch.vue
│ │ ├── SalSob.vue
│ │ ├── SalSobCfg.vue
│ │ └── SalTable.vue
│ ├── sta/
│ │ ├── StaAll.vue
│ │ ├── StaPers.vue
│ │ ├── StaRecord.vue
│ │ └── StaScore.vue
│ └── sys/
│ ├── SysBasic.vue
│ ├── SysCfg.vue
│ ├── SysData.vue
│ ├── SysHr.vue
│ ├── SysInit.vue
│ └── SysLog.vue
└── vue.config.js
SYMBOL INDEX (1651 symbols across 107 files)
FILE: vhr.sql
type `adjustsalary` (line 21) | CREATE TABLE `adjustsalary` (
type `appraise` (line 40) | CREATE TABLE `appraise` (
type `mail_send_log` (line 53) | CREATE TABLE `mail_send_log` (
type `department` (line 70) | CREATE TABLE `department` (
type `employee` (line 88) | CREATE TABLE `employee` (
type `employeeec` (line 139) | CREATE TABLE `employeeec` (
type `employeeremove` (line 158) | CREATE TABLE `employeeremove` (
type `employeetrain` (line 177) | CREATE TABLE `employeetrain` (
type `empsalary` (line 194) | CREATE TABLE `empsalary` (
type `hr` (line 213) | CREATE TABLE `hr` (
type `hr_role` (line 235) | CREATE TABLE `hr_role` (
type `joblevel` (line 254) | CREATE TABLE `joblevel` (
type `menu` (line 271) | CREATE TABLE `menu` (
type `menu_role` (line 295) | CREATE TABLE `menu_role` (
type `msgcontent` (line 314) | CREATE TABLE `msgcontent` (
type `nation` (line 330) | CREATE TABLE `nation` (
type `oplog` (line 344) | CREATE TABLE `oplog` (
type `politicsstatus` (line 360) | CREATE TABLE `politicsstatus` (
type `position` (line 374) | CREATE TABLE `position` (
type `role` (line 391) | CREATE TABLE `role` (
type `salary` (line 406) | CREATE TABLE `salary` (
type `sysmsg` (line 432) | CREATE TABLE `sysmsg` (
FILE: vhr/mailserver/.mvn/wrapper/MavenWrapperDownloader.java
class MavenWrapperDownloader (line 22) | public class MavenWrapperDownloader {
method main (line 49) | public static void main(String args[]) {
method downloadFileFromURL (line 98) | private static void downloadFileFromURL(String urlString, File destina...
FILE: vhr/mailserver/src/main/java/org/javaboy/mailserver/MailserverApplication.java
class MailserverApplication (line 9) | @SpringBootApplication
method main (line 12) | public static void main(String[] args) {
method queue (line 16) | @Bean
FILE: vhr/mailserver/src/main/java/org/javaboy/mailserver/receiver/MailReceiver.java
class MailReceiver (line 35) | @Component
method handler (line 49) | @RabbitListener(queues = MailConstants.MAIL_QUEUE_NAME)
FILE: vhr/mailserver/src/test/java/org/javaboy/mailserver/MailserverApplicationTests.java
class MailserverApplicationTests (line 6) | @SpringBootTest
method contextLoads (line 9) | @Test
FILE: vhr/vhrserver/vhr-mapper/src/main/java/org/javaboy/vhr/mapper/AdjustSalaryMapper.java
type AdjustSalaryMapper (line 5) | public interface AdjustSalaryMapper {
method deleteByPrimaryKey (line 6) | int deleteByPrimaryKey(Integer id);
method insert (line 8) | int insert(AdjustSalary record);
method insertSelective (line 10) | int insertSelective(AdjustSalary record);
method selectByPrimaryKey (line 12) | AdjustSalary selectByPrimaryKey(Integer id);
method updateByPrimaryKeySelective (line 14) | int updateByPrimaryKeySelective(AdjustSalary record);
method updateByPrimaryKey (line 16) | int updateByPrimaryKey(AdjustSalary record);
FILE: vhr/vhrserver/vhr-mapper/src/main/java/org/javaboy/vhr/mapper/AppraiseMapper.java
type AppraiseMapper (line 5) | public interface AppraiseMapper {
method deleteByPrimaryKey (line 6) | int deleteByPrimaryKey(Integer id);
method insert (line 8) | int insert(Appraise record);
method insertSelective (line 10) | int insertSelective(Appraise record);
method selectByPrimaryKey (line 12) | Appraise selectByPrimaryKey(Integer id);
method updateByPrimaryKeySelective (line 14) | int updateByPrimaryKeySelective(Appraise record);
method updateByPrimaryKey (line 16) | int updateByPrimaryKey(Appraise record);
FILE: vhr/vhrserver/vhr-mapper/src/main/java/org/javaboy/vhr/mapper/DepartmentMapper.java
type DepartmentMapper (line 7) | public interface DepartmentMapper {
method deleteByPrimaryKey (line 8) | int deleteByPrimaryKey(Integer id);
method insert (line 10) | int insert(Department record);
method insertSelective (line 12) | int insertSelective(Department record);
method selectByPrimaryKey (line 14) | Department selectByPrimaryKey(Integer id);
method updateByPrimaryKeySelective (line 16) | int updateByPrimaryKeySelective(Department record);
method updateByPrimaryKey (line 18) | int updateByPrimaryKey(Department record);
method getAllDepartmentsByParentId (line 20) | List<Department> getAllDepartmentsByParentId(Integer pid);
method addDep (line 22) | void addDep(Department dep);
method deleteDepById (line 24) | void deleteDepById(Department dep);
method getAllDepartmentsWithOutChildren (line 26) | List<Department> getAllDepartmentsWithOutChildren();
FILE: vhr/vhrserver/vhr-mapper/src/main/java/org/javaboy/vhr/mapper/EmpSalaryMapper.java
type EmpSalaryMapper (line 5) | public interface EmpSalaryMapper {
method deleteByPrimaryKey (line 6) | int deleteByPrimaryKey(Integer id);
method insert (line 8) | int insert(EmpSalary record);
method insertSelective (line 10) | int insertSelective(EmpSalary record);
method selectByPrimaryKey (line 12) | EmpSalary selectByPrimaryKey(Integer id);
method updateByPrimaryKeySelective (line 14) | int updateByPrimaryKeySelective(EmpSalary record);
method updateByPrimaryKey (line 16) | int updateByPrimaryKey(EmpSalary record);
FILE: vhr/vhrserver/vhr-mapper/src/main/java/org/javaboy/vhr/mapper/EmployeeMapper.java
type EmployeeMapper (line 9) | public interface EmployeeMapper {
method deleteByPrimaryKey (line 10) | int deleteByPrimaryKey(Integer id);
method insert (line 12) | int insert(Employee record);
method insertSelective (line 14) | int insertSelective(Employee record);
method selectByPrimaryKey (line 16) | Employee selectByPrimaryKey(Integer id);
method updateByPrimaryKeySelective (line 18) | int updateByPrimaryKeySelective(Employee record);
method updateByPrimaryKey (line 20) | int updateByPrimaryKey(Employee record);
method getEmployeeByPage (line 22) | List<Employee> getEmployeeByPage(@Param("page") Integer page, @Param("...
method getTotal (line 24) | Long getTotal(@Param("emp") Employee employee,@Param("beginDateScope")...
method maxWorkID (line 26) | Integer maxWorkID();
method addEmps (line 28) | Integer addEmps(@Param("list") List<Employee> list);
method getEmployeeById (line 30) | Employee getEmployeeById(Integer id);
method getEmployeeByPageWithSalary (line 32) | List<Employee> getEmployeeByPageWithSalary(@Param("page") Integer page...
method updateEmployeeSalaryById (line 34) | Integer updateEmployeeSalaryById(@Param("eid") Integer eid, @Param("si...
FILE: vhr/vhrserver/vhr-mapper/src/main/java/org/javaboy/vhr/mapper/EmployeeecMapper.java
type EmployeeecMapper (line 5) | public interface EmployeeecMapper {
method deleteByPrimaryKey (line 6) | int deleteByPrimaryKey(Integer id);
method insert (line 8) | int insert(Employeeec record);
method insertSelective (line 10) | int insertSelective(Employeeec record);
method selectByPrimaryKey (line 12) | Employeeec selectByPrimaryKey(Integer id);
method updateByPrimaryKeySelective (line 14) | int updateByPrimaryKeySelective(Employeeec record);
method updateByPrimaryKey (line 16) | int updateByPrimaryKey(Employeeec record);
FILE: vhr/vhrserver/vhr-mapper/src/main/java/org/javaboy/vhr/mapper/EmployeeremoveMapper.java
type EmployeeremoveMapper (line 5) | public interface EmployeeremoveMapper {
method deleteByPrimaryKey (line 6) | int deleteByPrimaryKey(Integer id);
method insert (line 8) | int insert(Employeeremove record);
method insertSelective (line 10) | int insertSelective(Employeeremove record);
method selectByPrimaryKey (line 12) | Employeeremove selectByPrimaryKey(Integer id);
method updateByPrimaryKeySelective (line 14) | int updateByPrimaryKeySelective(Employeeremove record);
method updateByPrimaryKey (line 16) | int updateByPrimaryKey(Employeeremove record);
FILE: vhr/vhrserver/vhr-mapper/src/main/java/org/javaboy/vhr/mapper/EmployeetrainMapper.java
type EmployeetrainMapper (line 5) | public interface EmployeetrainMapper {
method deleteByPrimaryKey (line 6) | int deleteByPrimaryKey(Integer id);
method insert (line 8) | int insert(Employeetrain record);
method insertSelective (line 10) | int insertSelective(Employeetrain record);
method selectByPrimaryKey (line 12) | Employeetrain selectByPrimaryKey(Integer id);
method updateByPrimaryKeySelective (line 14) | int updateByPrimaryKeySelective(Employeetrain record);
method updateByPrimaryKey (line 16) | int updateByPrimaryKey(Employeetrain record);
FILE: vhr/vhrserver/vhr-mapper/src/main/java/org/javaboy/vhr/mapper/HrMapper.java
type HrMapper (line 9) | public interface HrMapper {
method deleteByPrimaryKey (line 10) | int deleteByPrimaryKey(Integer id);
method insert (line 12) | int insert(Hr record);
method insertSelective (line 14) | int insertSelective(Hr record);
method selectByPrimaryKey (line 16) | Hr selectByPrimaryKey(Integer id);
method updateByPrimaryKeySelective (line 18) | int updateByPrimaryKeySelective(Hr record);
method updateByPrimaryKey (line 20) | int updateByPrimaryKey(Hr record);
method loadUserByUsername (line 22) | Hr loadUserByUsername(String username);
method getHrRolesById (line 24) | List<Role> getHrRolesById(Integer id);
method getAllHrs (line 26) | List<Hr> getAllHrs(@Param("hrid") Integer hrid, @Param("keywords") Str...
method getAllHrsExceptCurrentHr (line 28) | List<Hr> getAllHrsExceptCurrentHr(Integer id);
method updatePasswd (line 30) | Integer updatePasswd(@Param("hrid") Integer hrid, @Param("encodePass")...
method updateUserface (line 32) | Integer updateUserface(@Param("url") String url, @Param("id") Integer ...
FILE: vhr/vhrserver/vhr-mapper/src/main/java/org/javaboy/vhr/mapper/HrRoleMapper.java
type HrRoleMapper (line 6) | public interface HrRoleMapper {
method deleteByPrimaryKey (line 7) | int deleteByPrimaryKey(Integer id);
method insert (line 9) | int insert(HrRole record);
method insertSelective (line 11) | int insertSelective(HrRole record);
method selectByPrimaryKey (line 13) | HrRole selectByPrimaryKey(Integer id);
method updateByPrimaryKeySelective (line 15) | int updateByPrimaryKeySelective(HrRole record);
method updateByPrimaryKey (line 17) | int updateByPrimaryKey(HrRole record);
method deleteByHrid (line 19) | void deleteByHrid(Integer hrid);
method addRole (line 21) | Integer addRole(@Param("hrid") Integer hrid, @Param("rids") Integer[] ...
FILE: vhr/vhrserver/vhr-mapper/src/main/java/org/javaboy/vhr/mapper/JobLevelMapper.java
type JobLevelMapper (line 8) | public interface JobLevelMapper {
method deleteByPrimaryKey (line 9) | int deleteByPrimaryKey(Integer id);
method insert (line 11) | int insert(JobLevel record);
method insertSelective (line 13) | int insertSelective(JobLevel record);
method selectByPrimaryKey (line 15) | JobLevel selectByPrimaryKey(Integer id);
method updateByPrimaryKeySelective (line 17) | int updateByPrimaryKeySelective(JobLevel record);
method updateByPrimaryKey (line 19) | int updateByPrimaryKey(JobLevel record);
method getAllJobLevels (line 21) | List<JobLevel> getAllJobLevels();
method deleteJobLevelsByIds (line 23) | Integer deleteJobLevelsByIds(@Param("ids") Integer[] ids);
FILE: vhr/vhrserver/vhr-mapper/src/main/java/org/javaboy/vhr/mapper/MailSendLogMapper.java
type MailSendLogMapper (line 9) | public interface MailSendLogMapper {
method updateMailSendLogStatus (line 10) | Integer updateMailSendLogStatus(@Param("msgId") String msgId, @Param("...
method insert (line 12) | Integer insert(MailSendLog mailSendLog);
method getMailSendLogsByStatus (line 14) | List<MailSendLog> getMailSendLogsByStatus();
method updateCount (line 16) | Integer updateCount(@Param("msgId") String msgId, @Param("date") Date ...
FILE: vhr/vhrserver/vhr-mapper/src/main/java/org/javaboy/vhr/mapper/MenuMapper.java
type MenuMapper (line 7) | public interface MenuMapper {
method deleteByPrimaryKey (line 8) | int deleteByPrimaryKey(Integer id);
method insert (line 10) | int insert(Menu record);
method insertSelective (line 12) | int insertSelective(Menu record);
method selectByPrimaryKey (line 14) | Menu selectByPrimaryKey(Integer id);
method updateByPrimaryKeySelective (line 16) | int updateByPrimaryKeySelective(Menu record);
method updateByPrimaryKey (line 18) | int updateByPrimaryKey(Menu record);
method getMenusByHrId (line 20) | List<Menu> getMenusByHrId(Integer hrid);
method getAllMenusWithRole (line 22) | List<Menu> getAllMenusWithRole();
method getAllMenus (line 24) | List<Menu> getAllMenus();
method getMidsByRid (line 26) | List<Integer> getMidsByRid(Integer rid);
FILE: vhr/vhrserver/vhr-mapper/src/main/java/org/javaboy/vhr/mapper/MenuRoleMapper.java
type MenuRoleMapper (line 6) | public interface MenuRoleMapper {
method deleteByPrimaryKey (line 7) | int deleteByPrimaryKey(Integer id);
method insert (line 9) | int insert(MenuRole record);
method insertSelective (line 11) | int insertSelective(MenuRole record);
method selectByPrimaryKey (line 13) | MenuRole selectByPrimaryKey(Integer id);
method updateByPrimaryKeySelective (line 15) | int updateByPrimaryKeySelective(MenuRole record);
method updateByPrimaryKey (line 17) | int updateByPrimaryKey(MenuRole record);
method deleteByRid (line 19) | void deleteByRid(Integer rid);
method insertRecord (line 21) | Integer insertRecord(@Param("rid") Integer rid, @Param("mids") Integer...
FILE: vhr/vhrserver/vhr-mapper/src/main/java/org/javaboy/vhr/mapper/MsgContentMapper.java
type MsgContentMapper (line 5) | public interface MsgContentMapper {
method deleteByPrimaryKey (line 6) | int deleteByPrimaryKey(Integer id);
method insert (line 8) | int insert(MsgContent record);
method insertSelective (line 10) | int insertSelective(MsgContent record);
method selectByPrimaryKey (line 12) | MsgContent selectByPrimaryKey(Integer id);
method updateByPrimaryKeySelective (line 14) | int updateByPrimaryKeySelective(MsgContent record);
method updateByPrimaryKey (line 16) | int updateByPrimaryKey(MsgContent record);
FILE: vhr/vhrserver/vhr-mapper/src/main/java/org/javaboy/vhr/mapper/NationMapper.java
type NationMapper (line 7) | public interface NationMapper {
method deleteByPrimaryKey (line 8) | int deleteByPrimaryKey(Integer id);
method insert (line 10) | int insert(Nation record);
method insertSelective (line 12) | int insertSelective(Nation record);
method selectByPrimaryKey (line 14) | Nation selectByPrimaryKey(Integer id);
method updateByPrimaryKeySelective (line 16) | int updateByPrimaryKeySelective(Nation record);
method updateByPrimaryKey (line 18) | int updateByPrimaryKey(Nation record);
method getAllNations (line 20) | List<Nation> getAllNations();
FILE: vhr/vhrserver/vhr-mapper/src/main/java/org/javaboy/vhr/mapper/OpLogMapper.java
type OpLogMapper (line 5) | public interface OpLogMapper {
method deleteByPrimaryKey (line 6) | int deleteByPrimaryKey(Integer id);
method insert (line 8) | int insert(OpLog record);
method insertSelective (line 10) | int insertSelective(OpLog record);
method selectByPrimaryKey (line 12) | OpLog selectByPrimaryKey(Integer id);
method updateByPrimaryKeySelective (line 14) | int updateByPrimaryKeySelective(OpLog record);
method updateByPrimaryKey (line 16) | int updateByPrimaryKey(OpLog record);
FILE: vhr/vhrserver/vhr-mapper/src/main/java/org/javaboy/vhr/mapper/PoliticsstatusMapper.java
type PoliticsstatusMapper (line 7) | public interface PoliticsstatusMapper {
method deleteByPrimaryKey (line 8) | int deleteByPrimaryKey(Integer id);
method insert (line 10) | int insert(Politicsstatus record);
method insertSelective (line 12) | int insertSelective(Politicsstatus record);
method selectByPrimaryKey (line 14) | Politicsstatus selectByPrimaryKey(Integer id);
method updateByPrimaryKeySelective (line 16) | int updateByPrimaryKeySelective(Politicsstatus record);
method updateByPrimaryKey (line 18) | int updateByPrimaryKey(Politicsstatus record);
method getAllPoliticsstatus (line 20) | List<Politicsstatus> getAllPoliticsstatus();
FILE: vhr/vhrserver/vhr-mapper/src/main/java/org/javaboy/vhr/mapper/PositionMapper.java
type PositionMapper (line 8) | public interface PositionMapper {
method deleteByPrimaryKey (line 9) | int deleteByPrimaryKey(Integer id);
method insert (line 11) | int insert(Position record);
method insertSelective (line 13) | int insertSelective(Position record);
method selectByPrimaryKey (line 15) | Position selectByPrimaryKey(Integer id);
method updateByPrimaryKeySelective (line 17) | int updateByPrimaryKeySelective(Position record);
method updateByPrimaryKey (line 19) | int updateByPrimaryKey(Position record);
method getAllPositions (line 21) | List<Position> getAllPositions();
method deletePositionsByIds (line 23) | Integer deletePositionsByIds(@Param("ids") Integer[] ids);
FILE: vhr/vhrserver/vhr-mapper/src/main/java/org/javaboy/vhr/mapper/RoleMapper.java
type RoleMapper (line 7) | public interface RoleMapper {
method deleteByPrimaryKey (line 8) | int deleteByPrimaryKey(Integer id);
method insert (line 10) | int insert(Role record);
method insertSelective (line 12) | int insertSelective(Role record);
method selectByPrimaryKey (line 14) | Role selectByPrimaryKey(Integer id);
method updateByPrimaryKeySelective (line 16) | int updateByPrimaryKeySelective(Role record);
method updateByPrimaryKey (line 18) | int updateByPrimaryKey(Role record);
method getAllRoles (line 20) | List<Role> getAllRoles();
FILE: vhr/vhrserver/vhr-mapper/src/main/java/org/javaboy/vhr/mapper/SalaryMapper.java
type SalaryMapper (line 7) | public interface SalaryMapper {
method deleteByPrimaryKey (line 8) | int deleteByPrimaryKey(Integer id);
method insert (line 10) | int insert(Salary record);
method insertSelective (line 12) | int insertSelective(Salary record);
method selectByPrimaryKey (line 14) | Salary selectByPrimaryKey(Integer id);
method updateByPrimaryKeySelective (line 16) | int updateByPrimaryKeySelective(Salary record);
method updateByPrimaryKey (line 18) | int updateByPrimaryKey(Salary record);
method getAllSalaries (line 20) | List<Salary> getAllSalaries();
FILE: vhr/vhrserver/vhr-mapper/src/main/java/org/javaboy/vhr/mapper/SysMsgMapper.java
type SysMsgMapper (line 5) | public interface SysMsgMapper {
method deleteByPrimaryKey (line 6) | int deleteByPrimaryKey(Integer id);
method insert (line 8) | int insert(SysMsg record);
method insertSelective (line 10) | int insertSelective(SysMsg record);
method selectByPrimaryKey (line 12) | SysMsg selectByPrimaryKey(Integer id);
method updateByPrimaryKeySelective (line 14) | int updateByPrimaryKeySelective(SysMsg record);
method updateByPrimaryKey (line 16) | int updateByPrimaryKey(SysMsg record);
FILE: vhr/vhrserver/vhr-model/src/main/java/org/javaboy/vhr/model/AdjustSalary.java
class AdjustSalary (line 8) | public class AdjustSalary {
method getId (line 23) | public Integer getId() {
method setId (line 27) | public void setId(Integer id) {
method getEid (line 31) | public Integer getEid() {
method setEid (line 35) | public void setEid(Integer eid) {
method getAsdate (line 39) | public Date getAsdate() {
method setAsdate (line 43) | public void setAsdate(Date asdate) {
method getBeforesalary (line 47) | public Integer getBeforesalary() {
method setBeforesalary (line 51) | public void setBeforesalary(Integer beforesalary) {
method getAftersalary (line 55) | public Integer getAftersalary() {
method setAftersalary (line 59) | public void setAftersalary(Integer aftersalary) {
method getReason (line 63) | public String getReason() {
method setReason (line 67) | public void setReason(String reason) {
method getRemark (line 71) | public String getRemark() {
method setRemark (line 75) | public void setRemark(String remark) {
FILE: vhr/vhrserver/vhr-model/src/main/java/org/javaboy/vhr/model/Appraise.java
class Appraise (line 5) | public class Appraise {
method getId (line 18) | public Integer getId() {
method setId (line 22) | public void setId(Integer id) {
method getEid (line 26) | public Integer getEid() {
method setEid (line 30) | public void setEid(Integer eid) {
method getAppdate (line 34) | public Date getAppdate() {
method setAppdate (line 38) | public void setAppdate(Date appdate) {
method getAppresult (line 42) | public String getAppresult() {
method setAppresult (line 46) | public void setAppresult(String appresult) {
method getAppcontent (line 50) | public String getAppcontent() {
method setAppcontent (line 54) | public void setAppcontent(String appcontent) {
method getRemark (line 58) | public String getRemark() {
method setRemark (line 62) | public void setRemark(String remark) {
FILE: vhr/vhrserver/vhr-model/src/main/java/org/javaboy/vhr/model/ChatMsg.java
class ChatMsg (line 5) | public class ChatMsg {
method getFromNickname (line 12) | public String getFromNickname() {
method setFromNickname (line 16) | public void setFromNickname(String fromNickname) {
method getFrom (line 20) | public String getFrom() {
method setFrom (line 24) | public void setFrom(String from) {
method getTo (line 28) | public String getTo() {
method setTo (line 32) | public void setTo(String to) {
method getContent (line 36) | public String getContent() {
method setContent (line 40) | public void setContent(String content) {
method getDate (line 44) | public Date getDate() {
method setDate (line 48) | public void setDate(Date date) {
FILE: vhr/vhrserver/vhr-model/src/main/java/org/javaboy/vhr/model/Department.java
class Department (line 8) | public class Department implements Serializable {
method Department (line 15) | public Department() {
method Department (line 18) | public Department(String name) {
method equals (line 23) | @Override
method hashCode (line 32) | @Override
method getResult (line 46) | public Integer getResult() {
method setResult (line 50) | public void setResult(Integer result) {
method getChildren (line 54) | public List<Department> getChildren() {
method setChildren (line 58) | public void setChildren(List<Department> children) {
method getId (line 62) | public Integer getId() {
method setId (line 66) | public void setId(Integer id) {
method getName (line 70) | public String getName() {
method setName (line 74) | public void setName(String name) {
method getEnabled (line 78) | public Boolean getEnabled() {
method setEnabled (line 82) | public void setEnabled(Boolean enabled) {
method getParentId (line 86) | public Integer getParentId() {
method setParentId (line 90) | public void setParentId(Integer parentId) {
method getDepPath (line 94) | public String getDepPath() {
method setDepPath (line 98) | public void setDepPath(String depPath) {
method getParent (line 102) | public Boolean getParent() {
method setParent (line 106) | public void setParent(Boolean parent) {
FILE: vhr/vhrserver/vhr-model/src/main/java/org/javaboy/vhr/model/EmpSalary.java
class EmpSalary (line 3) | public class EmpSalary {
method getId (line 10) | public Integer getId() {
method setId (line 14) | public void setId(Integer id) {
method getEid (line 18) | public Integer getEid() {
method setEid (line 22) | public void setEid(Integer eid) {
method getSid (line 26) | public Integer getSid() {
method setSid (line 30) | public void setSid(Integer sid) {
FILE: vhr/vhrserver/vhr-model/src/main/java/org/javaboy/vhr/model/Employee.java
class Employee (line 8) | public class Employee implements Serializable {
method toString (line 15) | @Override
method getSalary (line 116) | public Salary getSalary() {
method setSalary (line 120) | public void setSalary(Salary salary) {
method getNation (line 123) | public Nation getNation() {
method setNation (line 127) | public void setNation(Nation nation) {
method getPoliticsstatus (line 131) | public Politicsstatus getPoliticsstatus() {
method setPoliticsstatus (line 135) | public void setPoliticsstatus(Politicsstatus politicsstatus) {
method getDepartment (line 139) | public Department getDepartment() {
method setDepartment (line 143) | public void setDepartment(Department department) {
method getJobLevel (line 147) | public JobLevel getJobLevel() {
method setJobLevel (line 151) | public void setJobLevel(JobLevel jobLevel) {
method getPosition (line 155) | public Position getPosition() {
method setPosition (line 159) | public void setPosition(Position position) {
method getId (line 163) | public Integer getId() {
method setId (line 167) | public void setId(Integer id) {
method getName (line 171) | public String getName() {
method setName (line 175) | public void setName(String name) {
method getGender (line 179) | public String getGender() {
method setGender (line 183) | public void setGender(String gender) {
method getBirthday (line 187) | public Date getBirthday() {
method setBirthday (line 191) | public void setBirthday(Date birthday) {
method getIdCard (line 195) | public String getIdCard() {
method setIdCard (line 199) | public void setIdCard(String idCard) {
method getWedlock (line 203) | public String getWedlock() {
method setWedlock (line 207) | public void setWedlock(String wedlock) {
method getNationId (line 211) | public Integer getNationId() {
method setNationId (line 215) | public void setNationId(Integer nationId) {
method getNativePlace (line 219) | public String getNativePlace() {
method setNativePlace (line 223) | public void setNativePlace(String nativePlace) {
method getPoliticId (line 227) | public Integer getPoliticId() {
method setPoliticId (line 231) | public void setPoliticId(Integer politicId) {
method getEmail (line 235) | public String getEmail() {
method setEmail (line 239) | public void setEmail(String email) {
method getPhone (line 243) | public String getPhone() {
method setPhone (line 247) | public void setPhone(String phone) {
method getAddress (line 251) | public String getAddress() {
method setAddress (line 255) | public void setAddress(String address) {
method getDepartmentId (line 259) | public Integer getDepartmentId() {
method setDepartmentId (line 263) | public void setDepartmentId(Integer departmentId) {
method getJobLevelId (line 267) | public Integer getJobLevelId() {
method setJobLevelId (line 271) | public void setJobLevelId(Integer jobLevelId) {
method getPosId (line 275) | public Integer getPosId() {
method setPosId (line 279) | public void setPosId(Integer posId) {
method getEngageForm (line 283) | public String getEngageForm() {
method setEngageForm (line 287) | public void setEngageForm(String engageForm) {
method getTiptopDegree (line 291) | public String getTiptopDegree() {
method setTiptopDegree (line 295) | public void setTiptopDegree(String tiptopDegree) {
method getSpecialty (line 299) | public String getSpecialty() {
method setSpecialty (line 303) | public void setSpecialty(String specialty) {
method getSchool (line 307) | public String getSchool() {
method setSchool (line 311) | public void setSchool(String school) {
method getBeginDate (line 315) | public Date getBeginDate() {
method setBeginDate (line 319) | public void setBeginDate(Date beginDate) {
method getWorkState (line 323) | public String getWorkState() {
method setWorkState (line 327) | public void setWorkState(String workState) {
method getWorkID (line 331) | public String getWorkID() {
method setWorkID (line 335) | public void setWorkID(String workID) {
method getContractTerm (line 339) | public Double getContractTerm() {
method setContractTerm (line 343) | public void setContractTerm(Double contractTerm) {
method getConversionTime (line 347) | public Date getConversionTime() {
method setConversionTime (line 351) | public void setConversionTime(Date conversionTime) {
method getNotWorkDate (line 355) | public Date getNotWorkDate() {
method setNotWorkDate (line 359) | public void setNotWorkDate(Date notWorkDate) {
method getBeginContract (line 363) | public Date getBeginContract() {
method setBeginContract (line 367) | public void setBeginContract(Date beginContract) {
method getEndContract (line 371) | public Date getEndContract() {
method setEndContract (line 375) | public void setEndContract(Date endContract) {
method getWorkAge (line 379) | public Integer getWorkAge() {
method setWorkAge (line 383) | public void setWorkAge(Integer workAge) {
FILE: vhr/vhrserver/vhr-model/src/main/java/org/javaboy/vhr/model/Employeeec.java
class Employeeec (line 5) | public class Employeeec {
method getId (line 20) | public Integer getId() {
method setId (line 24) | public void setId(Integer id) {
method getEid (line 28) | public Integer getEid() {
method setEid (line 32) | public void setEid(Integer eid) {
method getEcdate (line 36) | public Date getEcdate() {
method setEcdate (line 40) | public void setEcdate(Date ecdate) {
method getEcreason (line 44) | public String getEcreason() {
method setEcreason (line 48) | public void setEcreason(String ecreason) {
method getEcpoint (line 52) | public Integer getEcpoint() {
method setEcpoint (line 56) | public void setEcpoint(Integer ecpoint) {
method getEctype (line 60) | public Integer getEctype() {
method setEctype (line 64) | public void setEctype(Integer ectype) {
method getRemark (line 68) | public String getRemark() {
method setRemark (line 72) | public void setRemark(String remark) {
FILE: vhr/vhrserver/vhr-model/src/main/java/org/javaboy/vhr/model/Employeeremove.java
class Employeeremove (line 5) | public class Employeeremove {
method getId (line 20) | public Integer getId() {
method setId (line 24) | public void setId(Integer id) {
method getEid (line 28) | public Integer getEid() {
method setEid (line 32) | public void setEid(Integer eid) {
method getAfterdepid (line 36) | public Integer getAfterdepid() {
method setAfterdepid (line 40) | public void setAfterdepid(Integer afterdepid) {
method getAfterjobid (line 44) | public Integer getAfterjobid() {
method setAfterjobid (line 48) | public void setAfterjobid(Integer afterjobid) {
method getRemovedate (line 52) | public Date getRemovedate() {
method setRemovedate (line 56) | public void setRemovedate(Date removedate) {
method getReason (line 60) | public String getReason() {
method setReason (line 64) | public void setReason(String reason) {
method getRemark (line 68) | public String getRemark() {
method setRemark (line 72) | public void setRemark(String remark) {
FILE: vhr/vhrserver/vhr-model/src/main/java/org/javaboy/vhr/model/Employeetrain.java
class Employeetrain (line 5) | public class Employeetrain {
method getId (line 16) | public Integer getId() {
method setId (line 20) | public void setId(Integer id) {
method getEid (line 24) | public Integer getEid() {
method setEid (line 28) | public void setEid(Integer eid) {
method getTraindate (line 32) | public Date getTraindate() {
method setTraindate (line 36) | public void setTraindate(Date traindate) {
method getTraincontent (line 40) | public String getTraincontent() {
method setTraincontent (line 44) | public void setTraincontent(String traincontent) {
method getRemark (line 48) | public String getRemark() {
method setRemark (line 52) | public void setRemark(String remark) {
FILE: vhr/vhrserver/vhr-model/src/main/java/org/javaboy/vhr/model/Hr.java
class Hr (line 13) | public class Hr implements UserDetails {
method equals (line 35) | @Override
method hashCode (line 43) | @Override
method getRoles (line 48) | public List<Role> getRoles() {
method setRoles (line 52) | public void setRoles(List<Role> roles) {
method getId (line 56) | public Integer getId() {
method setId (line 60) | public void setId(Integer id) {
method getName (line 64) | public String getName() {
method setName (line 68) | public void setName(String name) {
method getPhone (line 72) | public String getPhone() {
method setPhone (line 76) | public void setPhone(String phone) {
method getTelephone (line 80) | public String getTelephone() {
method setTelephone (line 84) | public void setTelephone(String telephone) {
method getAddress (line 88) | public String getAddress() {
method setAddress (line 92) | public void setAddress(String address) {
method setEnabled (line 96) | public void setEnabled(Boolean enabled) {
method getUsername (line 100) | public String getUsername() {
method isAccountNonExpired (line 104) | @Override
method isAccountNonLocked (line 109) | @Override
method isCredentialsNonExpired (line 114) | @Override
method isEnabled (line 119) | @Override
method setUsername (line 124) | public void setUsername(String username) {
method getAuthorities (line 128) | @Override
method getPassword (line 138) | public String getPassword() {
method setPassword (line 142) | public void setPassword(String password) {
method getUserface (line 146) | public String getUserface() {
method setUserface (line 150) | public void setUserface(String userface) {
method getRemark (line 154) | public String getRemark() {
method setRemark (line 158) | public void setRemark(String remark) {
FILE: vhr/vhrserver/vhr-model/src/main/java/org/javaboy/vhr/model/HrRole.java
class HrRole (line 3) | public class HrRole {
method getId (line 10) | public Integer getId() {
method setId (line 14) | public void setId(Integer id) {
method getHrid (line 18) | public Integer getHrid() {
method setHrid (line 22) | public void setHrid(Integer hrid) {
method getRid (line 26) | public Integer getRid() {
method setRid (line 30) | public void setRid(Integer rid) {
FILE: vhr/vhrserver/vhr-model/src/main/java/org/javaboy/vhr/model/JobLevel.java
class JobLevel (line 9) | public class JobLevel implements Serializable {
method equals (line 16) | @Override
method hashCode (line 24) | @Override
method JobLevel (line 30) | public JobLevel() {
method JobLevel (line 34) | public JobLevel(String name) {
method getId (line 44) | public Integer getId() {
method setId (line 48) | public void setId(Integer id) {
method getName (line 52) | public String getName() {
method setName (line 56) | public void setName(String name) {
method getTitleLevel (line 60) | public String getTitleLevel() {
method setTitleLevel (line 64) | public void setTitleLevel(String titleLevel) {
method getCreateDate (line 68) | public Date getCreateDate() {
method setCreateDate (line 72) | public void setCreateDate(Date createDate) {
method getEnabled (line 76) | public Boolean getEnabled() {
method setEnabled (line 80) | public void setEnabled(Boolean enabled) {
FILE: vhr/vhrserver/vhr-model/src/main/java/org/javaboy/vhr/model/MailConstants.java
class MailConstants (line 3) | public class MailConstants {
FILE: vhr/vhrserver/vhr-model/src/main/java/org/javaboy/vhr/model/MailSendLog.java
class MailSendLog (line 5) | public class MailSendLog {
method getMsgId (line 17) | public String getMsgId() {
method setMsgId (line 21) | public void setMsgId(String msgId) {
method getEmpId (line 25) | public Integer getEmpId() {
method setEmpId (line 29) | public void setEmpId(Integer empId) {
method getStatus (line 33) | public Integer getStatus() {
method setStatus (line 37) | public void setStatus(Integer status) {
method getRouteKey (line 41) | public String getRouteKey() {
method setRouteKey (line 45) | public void setRouteKey(String routeKey) {
method getExchange (line 49) | public String getExchange() {
method setExchange (line 53) | public void setExchange(String exchange) {
method getCount (line 57) | public Integer getCount() {
method setCount (line 61) | public void setCount(Integer count) {
method getTryTime (line 65) | public Date getTryTime() {
method setTryTime (line 69) | public void setTryTime(Date tryTime) {
method getCreateTime (line 73) | public Date getCreateTime() {
method setCreateTime (line 77) | public void setCreateTime(Date createTime) {
method getUpdateTime (line 81) | public Date getUpdateTime() {
method setUpdateTime (line 85) | public void setUpdateTime(Date updateTime) {
FILE: vhr/vhrserver/vhr-model/src/main/java/org/javaboy/vhr/model/Menu.java
class Menu (line 6) | public class Menu implements Serializable {
method getRoles (line 27) | public List<Role> getRoles() {
method setRoles (line 31) | public void setRoles(List<Role> roles) {
method getMeta (line 35) | public Meta getMeta() {
method setMeta (line 39) | public void setMeta(Meta meta) {
method getChildren (line 43) | public List<Menu> getChildren() {
method setChildren (line 47) | public void setChildren(List<Menu> children) {
method getId (line 51) | public Integer getId() {
method setId (line 55) | public void setId(Integer id) {
method getUrl (line 59) | public String getUrl() {
method setUrl (line 63) | public void setUrl(String url) {
method getPath (line 67) | public String getPath() {
method setPath (line 71) | public void setPath(String path) {
method getComponent (line 75) | public String getComponent() {
method setComponent (line 79) | public void setComponent(String component) {
method getName (line 83) | public String getName() {
method setName (line 87) | public void setName(String name) {
method getIconCls (line 91) | public String getIconCls() {
method setIconCls (line 95) | public void setIconCls(String iconCls) {
method getParentId (line 99) | public Integer getParentId() {
method setParentId (line 103) | public void setParentId(Integer parentId) {
method getEnabled (line 107) | public Boolean getEnabled() {
method setEnabled (line 111) | public void setEnabled(Boolean enabled) {
FILE: vhr/vhrserver/vhr-model/src/main/java/org/javaboy/vhr/model/MenuRole.java
class MenuRole (line 3) | public class MenuRole {
method getId (line 10) | public Integer getId() {
method setId (line 14) | public void setId(Integer id) {
method getMid (line 18) | public Integer getMid() {
method setMid (line 22) | public void setMid(Integer mid) {
method getRid (line 26) | public Integer getRid() {
method setRid (line 30) | public void setRid(Integer rid) {
FILE: vhr/vhrserver/vhr-model/src/main/java/org/javaboy/vhr/model/Meta.java
class Meta (line 14) | public class Meta implements Serializable {
method getKeepAlive (line 19) | public Boolean getKeepAlive() {
method setKeepAlive (line 23) | public void setKeepAlive(Boolean keepAlive) {
method getRequireAuth (line 27) | public Boolean getRequireAuth() {
method setRequireAuth (line 31) | public void setRequireAuth(Boolean requireAuth) {
FILE: vhr/vhrserver/vhr-model/src/main/java/org/javaboy/vhr/model/MsgContent.java
class MsgContent (line 5) | public class MsgContent {
method getId (line 14) | public Integer getId() {
method setId (line 18) | public void setId(Integer id) {
method getTitle (line 22) | public String getTitle() {
method setTitle (line 26) | public void setTitle(String title) {
method getMessage (line 30) | public String getMessage() {
method setMessage (line 34) | public void setMessage(String message) {
method getCreatedate (line 38) | public Date getCreatedate() {
method setCreatedate (line 42) | public void setCreatedate(Date createdate) {
FILE: vhr/vhrserver/vhr-model/src/main/java/org/javaboy/vhr/model/Nation.java
class Nation (line 6) | public class Nation implements Serializable {
method equals (line 11) | @Override
method Nation (line 19) | public Nation() {
method Nation (line 22) | public Nation(String name) {
method hashCode (line 27) | @Override
method getId (line 33) | public Integer getId() {
method setId (line 37) | public void setId(Integer id) {
method getName (line 41) | public String getName() {
method setName (line 45) | public void setName(String name) {
FILE: vhr/vhrserver/vhr-model/src/main/java/org/javaboy/vhr/model/OpLog.java
class OpLog (line 5) | public class OpLog {
method getId (line 14) | public Integer getId() {
method setId (line 18) | public void setId(Integer id) {
method getAdddate (line 22) | public Date getAdddate() {
method setAdddate (line 26) | public void setAdddate(Date adddate) {
method getOperate (line 30) | public String getOperate() {
method setOperate (line 34) | public void setOperate(String operate) {
method getHrid (line 38) | public Integer getHrid() {
method setHrid (line 42) | public void setHrid(Integer hrid) {
FILE: vhr/vhrserver/vhr-model/src/main/java/org/javaboy/vhr/model/Politicsstatus.java
class Politicsstatus (line 6) | public class Politicsstatus implements Serializable {
method equals (line 11) | @Override
method hashCode (line 19) | @Override
method Politicsstatus (line 25) | public Politicsstatus() {
method Politicsstatus (line 29) | public Politicsstatus(String name) {
method getId (line 34) | public Integer getId() {
method setId (line 38) | public void setId(Integer id) {
method getName (line 42) | public String getName() {
method setName (line 46) | public void setName(String name) {
FILE: vhr/vhrserver/vhr-model/src/main/java/org/javaboy/vhr/model/Position.java
class Position (line 9) | public class Position implements Serializable {
method equals (line 12) | @Override
method hashCode (line 20) | @Override
method Position (line 26) | public Position() {
method Position (line 30) | public Position(String name) {
method getId (line 42) | public Integer getId() {
method setId (line 46) | public void setId(Integer id) {
method getName (line 50) | public String getName() {
method setName (line 54) | public void setName(String name) {
method getCreateDate (line 58) | public Date getCreateDate() {
method setCreateDate (line 62) | public void setCreateDate(Date createDate) {
method getEnabled (line 66) | public Boolean getEnabled() {
method setEnabled (line 70) | public void setEnabled(Boolean enabled) {
FILE: vhr/vhrserver/vhr-model/src/main/java/org/javaboy/vhr/model/RespBean.java
class RespBean (line 12) | public class RespBean {
method build (line 17) | public static RespBean build() {
method ok (line 21) | public static RespBean ok(String msg) {
method ok (line 25) | public static RespBean ok(String msg, Object obj) {
method error (line 29) | public static RespBean error(String msg) {
method error (line 33) | public static RespBean error(String msg, Object obj) {
method RespBean (line 37) | private RespBean() {
method RespBean (line 40) | private RespBean(Integer status, String msg, Object obj) {
method getStatus (line 46) | public Integer getStatus() {
method setStatus (line 50) | public RespBean setStatus(Integer status) {
method getMsg (line 55) | public String getMsg() {
method setMsg (line 59) | public RespBean setMsg(String msg) {
method getObj (line 64) | public Object getObj() {
method setObj (line 68) | public RespBean setObj(Object obj) {
FILE: vhr/vhrserver/vhr-model/src/main/java/org/javaboy/vhr/model/RespPageBean.java
class RespPageBean (line 14) | public class RespPageBean {
method getTotal (line 18) | public Long getTotal() {
method setTotal (line 22) | public void setTotal(Long total) {
method getData (line 26) | public List<?> getData() {
method setData (line 30) | public void setData(List<?> data) {
FILE: vhr/vhrserver/vhr-model/src/main/java/org/javaboy/vhr/model/Role.java
class Role (line 6) | public class Role implements Serializable {
method getId (line 13) | public Integer getId() {
method setId (line 17) | public void setId(Integer id) {
method getName (line 21) | public String getName() {
method setName (line 25) | public void setName(String name) {
method getNameZh (line 29) | public String getNameZh() {
method setNameZh (line 33) | public void setNameZh(String nameZh) {
FILE: vhr/vhrserver/vhr-model/src/main/java/org/javaboy/vhr/model/Salary.java
class Salary (line 7) | public class Salary {
method getId (line 37) | public Integer getId() {
method setId (line 41) | public void setId(Integer id) {
method getBasicSalary (line 45) | public Integer getBasicSalary() {
method setBasicSalary (line 49) | public void setBasicSalary(Integer basicSalary) {
method getBonus (line 53) | public Integer getBonus() {
method setBonus (line 57) | public void setBonus(Integer bonus) {
method getLunchSalary (line 61) | public Integer getLunchSalary() {
method setLunchSalary (line 65) | public void setLunchSalary(Integer lunchSalary) {
method getTrafficSalary (line 69) | public Integer getTrafficSalary() {
method setTrafficSalary (line 73) | public void setTrafficSalary(Integer trafficSalary) {
method getAllSalary (line 77) | public Integer getAllSalary() {
method setAllSalary (line 81) | public void setAllSalary(Integer allSalary) {
method getPensionBase (line 85) | public Integer getPensionBase() {
method setPensionBase (line 89) | public void setPensionBase(Integer pensionBase) {
method getPensionPer (line 93) | public Float getPensionPer() {
method setPensionPer (line 97) | public void setPensionPer(Float pensionPer) {
method getCreateDate (line 101) | public Date getCreateDate() {
method setCreateDate (line 105) | public void setCreateDate(Date createDate) {
method getMedicalBase (line 109) | public Integer getMedicalBase() {
method setMedicalBase (line 113) | public void setMedicalBase(Integer medicalBase) {
method getMedicalPer (line 117) | public Float getMedicalPer() {
method setMedicalPer (line 121) | public void setMedicalPer(Float medicalPer) {
method getAccumulationFundBase (line 125) | public Integer getAccumulationFundBase() {
method setAccumulationFundBase (line 129) | public void setAccumulationFundBase(Integer accumulationFundBase) {
method getAccumulationFundPer (line 133) | public Float getAccumulationFundPer() {
method setAccumulationFundPer (line 137) | public void setAccumulationFundPer(Float accumulationFundPer) {
method getName (line 141) | public String getName() {
method setName (line 145) | public void setName(String name) {
FILE: vhr/vhrserver/vhr-model/src/main/java/org/javaboy/vhr/model/SysMsg.java
class SysMsg (line 3) | public class SysMsg {
method getId (line 14) | public Integer getId() {
method setId (line 18) | public void setId(Integer id) {
method getMid (line 22) | public Integer getMid() {
method setMid (line 26) | public void setMid(Integer mid) {
method getType (line 30) | public Integer getType() {
method setType (line 34) | public void setType(Integer type) {
method getHrid (line 38) | public Integer getHrid() {
method setHrid (line 42) | public void setHrid(Integer hrid) {
method getState (line 46) | public Integer getState() {
method setState (line 50) | public void setState(Integer state) {
FILE: vhr/vhrserver/vhr-service/src/main/java/org/javaboy/vhr/config/RabbitConfig.java
class RabbitConfig (line 17) | @Configuration
method rabbitTemplate (line 25) | @Bean
method mailQueue (line 43) | @Bean
method mailExchange (line 48) | @Bean
method mailBinding (line 53) | @Bean
FILE: vhr/vhrserver/vhr-service/src/main/java/org/javaboy/vhr/service/DepartmentService.java
class DepartmentService (line 19) | @Service
method getAllDepartments (line 23) | public List<Department> getAllDepartments() {
method addDep (line 27) | public void addDep(Department dep) {
method deleteDepById (line 32) | public void deleteDepById(Department dep) {
method getAllDepartmentsWithOutChildren (line 36) | public List<Department> getAllDepartmentsWithOutChildren() {
FILE: vhr/vhrserver/vhr-service/src/main/java/org/javaboy/vhr/service/EmployeeService.java
class EmployeeService (line 30) | @Service
method getEmployeeByPage (line 43) | public RespPageBean getEmployeeByPage(Integer page, Integer size, Empl...
method addEmp (line 55) | public Integer addEmp(Employee employee) {
method maxWorkID (line 78) | public Integer maxWorkID() {
method deleteEmpByEid (line 82) | public Integer deleteEmpByEid(Integer id) {
method updateEmp (line 86) | public Integer updateEmp(Employee employee) {
method addEmps (line 90) | public Integer addEmps(List<Employee> list) {
method getEmployeeByPageWithSalary (line 94) | public RespPageBean getEmployeeByPageWithSalary(Integer page, Integer ...
method updateEmployeeSalaryById (line 105) | public Integer updateEmployeeSalaryById(Integer eid, Integer sid) {
method getEmployeeById (line 109) | public Employee getEmployeeById(Integer empId) {
FILE: vhr/vhrserver/vhr-service/src/main/java/org/javaboy/vhr/service/HrService.java
class HrService (line 26) | @Service
method loadUserByUsername (line 33) | @Override
method getAllHrs (line 43) | public List<Hr> getAllHrs(String keywords) {
method updateHr (line 47) | public Integer updateHr(Hr hr) {
method updateHrRole (line 51) | @Transactional
method deleteHrById (line 57) | public Integer deleteHrById(Integer id) {
method getAllHrsExceptCurrentHr (line 61) | public List<Hr> getAllHrsExceptCurrentHr() {
method updateHyById (line 65) | public Integer updateHyById(Hr hr) {
method updateHrPasswd (line 69) | public boolean updateHrPasswd(String oldpass, String pass, Integer hri...
method updateUserface (line 82) | public Integer updateUserface(String url, Integer id) {
FILE: vhr/vhrserver/vhr-service/src/main/java/org/javaboy/vhr/service/JobLevelService.java
class JobLevelService (line 20) | @Service
method getAllJobLevels (line 25) | public List<JobLevel> getAllJobLevels() {
method addJobLevel (line 29) | public Integer addJobLevel(JobLevel jobLevel) {
method updateJobLevelById (line 35) | public Integer updateJobLevelById(JobLevel jobLevel) {
method deleteJobLevelById (line 39) | public Integer deleteJobLevelById(Integer id) {
method deleteJobLevelsByIds (line 43) | public Integer deleteJobLevelsByIds(Integer[] ids) {
FILE: vhr/vhrserver/vhr-service/src/main/java/org/javaboy/vhr/service/MailSendLogService.java
class MailSendLogService (line 11) | @Service
method updateMailSendLogStatus (line 15) | public Integer updateMailSendLogStatus(String msgId, Integer status) {
method insert (line 19) | public Integer insert(MailSendLog mailSendLog) {
method getMailSendLogsByStatus (line 23) | public List<MailSendLog> getMailSendLogsByStatus() {
method updateCount (line 27) | public Integer updateCount(String msgId, Date date) {
FILE: vhr/vhrserver/vhr-service/src/main/java/org/javaboy/vhr/service/MenuService.java
class MenuService (line 26) | @Service
method getMenusByHrId (line 33) | public List<Menu> getMenusByHrId() {
method getAllMenusWithRole (line 37) | @Cacheable
method getAllMenus (line 42) | public List<Menu> getAllMenus() {
method getMidsByRid (line 46) | public List<Integer> getMidsByRid(Integer rid) {
method updateMenuRole (line 50) | @Transactional
FILE: vhr/vhrserver/vhr-service/src/main/java/org/javaboy/vhr/service/NationService.java
class NationService (line 19) | @Service
method getAllNations (line 23) | public List<Nation> getAllNations() {
FILE: vhr/vhrserver/vhr-service/src/main/java/org/javaboy/vhr/service/PoliticsstatusService.java
class PoliticsstatusService (line 19) | @Service
method getAllPoliticsstatus (line 23) | public List<Politicsstatus> getAllPoliticsstatus() {
FILE: vhr/vhrserver/vhr-service/src/main/java/org/javaboy/vhr/service/PositionService.java
class PositionService (line 21) | @Service
method getAllPositions (line 25) | public List<Position> getAllPositions() {
method addPosition (line 29) | public Integer addPosition(Position position) {
method updatePositions (line 35) | public Integer updatePositions(Position position) {
method deletePositionById (line 39) | public Integer deletePositionById(Integer id) {
method deletePositionsByIds (line 43) | public Integer deletePositionsByIds(Integer[] ids) {
FILE: vhr/vhrserver/vhr-service/src/main/java/org/javaboy/vhr/service/RoleService.java
class RoleService (line 19) | @Service
method getAllRoles (line 23) | public List<Role> getAllRoles() {
method addRole (line 27) | public Integer addRole(Role role) {
method deleteRoleById (line 34) | public Integer deleteRoleById(Integer rid) {
FILE: vhr/vhrserver/vhr-service/src/main/java/org/javaboy/vhr/service/SalaryService.java
class SalaryService (line 11) | @Service
method getAllSalaries (line 16) | public List<Salary> getAllSalaries() {
method addSalary (line 20) | public Integer addSalary(Salary salary) {
method deleteSalaryById (line 25) | public Integer deleteSalaryById(Integer id) {
method updateSalaryById (line 29) | public Integer updateSalaryById(Salary salary) {
FILE: vhr/vhrserver/vhr-service/src/main/java/org/javaboy/vhr/task/MailSendTask.java
class MailSendTask (line 17) | @Component
method mailResendTask (line 25) | @Scheduled(cron = "0/10 * * * * ?")
FILE: vhr/vhrserver/vhr-service/src/main/java/org/javaboy/vhr/utils/HrUtils.java
class HrUtils (line 15) | public class HrUtils {
method getCurrentHr (line 16) | public static Hr getCurrentHr() {
FILE: vhr/vhrserver/vhr-service/src/main/java/org/javaboy/vhr/utils/POIUtils.java
class POIUtils (line 31) | public class POIUtils {
method employee2Excel (line 33) | public static ResponseEntity<byte[]> employee2Excel(List<Employee> lis...
method excel2Employee (line 229) | public static List<Employee> excel2Employee(MultipartFile file, List<N...
FILE: vhr/vhrserver/vhr-web/src/main/java/org/javaboy/vhr/VhrApplication.java
class VhrApplication (line 9) | @SpringBootApplication
method main (line 15) | public static void main(String[] args) {
FILE: vhr/vhrserver/vhr-web/src/main/java/org/javaboy/vhr/config/CustomFilterInvocationSecurityMetadataSource.java
class CustomFilterInvocationSecurityMetadataSource (line 28) | @Component
method getAttributes (line 33) | @Override
method getAllConfigAttributes (line 50) | @Override
method supports (line 55) | @Override
FILE: vhr/vhrserver/vhr-web/src/main/java/org/javaboy/vhr/config/CustomUrlDecisionManager.java
class CustomUrlDecisionManager (line 23) | @Component
method decide (line 25) | @Override
method supports (line 46) | @Override
method supports (line 51) | @Override
FILE: vhr/vhrserver/vhr-web/src/main/java/org/javaboy/vhr/config/FastDFSUtils.java
class FastDFSUtils (line 21) | public class FastDFSUtils {
method upload (line 37) | public static String upload(MultipartFile file) {
FILE: vhr/vhrserver/vhr-web/src/main/java/org/javaboy/vhr/config/LoginFilter.java
class LoginFilter (line 28) | public class LoginFilter extends UsernamePasswordAuthenticationFilter {
method attemptAuthentication (line 31) | @Override
method checkCode (line 69) | public void checkCode(HttpServletResponse resp, String code, String ve...
FILE: vhr/vhrserver/vhr-web/src/main/java/org/javaboy/vhr/config/SecurityConfig.java
class SecurityConfig (line 35) | @Configuration
method passwordEncoder (line 44) | @Bean
method configure (line 49) | @Override
method configure (line 54) | @Override
method loginFilter (line 59) | @Bean
method sessionRegistry (line 102) | @Bean
method configure (line 107) | @Override
FILE: vhr/vhrserver/vhr-web/src/main/java/org/javaboy/vhr/config/VerificationCode.java
class VerificationCode (line 21) | public class VerificationCode {
method randomColor (line 36) | private Color randomColor() {
method randomFont (line 48) | private Font randomFont() {
method randomChar (line 60) | private char randomChar() {
method createImage (line 69) | private BufferedImage createImage() {
method getImage (line 77) | public BufferedImage getImage() {
method drawLine (line 99) | private void drawLine(BufferedImage image) {
method getText (line 113) | public String getText() {
method output (line 117) | public static void output(BufferedImage image, OutputStream out) throw...
FILE: vhr/vhrserver/vhr-web/src/main/java/org/javaboy/vhr/config/WebSocketConfig.java
class WebSocketConfig (line 9) | @Configuration
method registerStompEndpoints (line 12) | @Override
method configureMessageBroker (line 19) | @Override
FILE: vhr/vhrserver/vhr-web/src/main/java/org/javaboy/vhr/controller/ChatController.java
class ChatController (line 12) | @RestController
method getAllHrs (line 17) | @GetMapping("/hrs")
FILE: vhr/vhrserver/vhr-web/src/main/java/org/javaboy/vhr/controller/HrInfoController.java
class HrInfoController (line 26) | @RestController
method getCurrentHr (line 35) | @GetMapping("/hr/info")
method updateHr (line 40) | @PutMapping("/hr/info")
method updateHrPasswd (line 49) | @PutMapping("/hr/pass")
method updateHrUserface (line 60) | @PostMapping("/hr/userface")
FILE: vhr/vhrserver/vhr-web/src/main/java/org/javaboy/vhr/controller/LoginController.java
class LoginController (line 23) | @RestController
method login (line 25) | @GetMapping("/login")
method verifyCode (line 30) | @GetMapping("/verifyCode")
FILE: vhr/vhrserver/vhr-web/src/main/java/org/javaboy/vhr/controller/WsController.java
class WsController (line 14) | @Controller
method handleMsg (line 19) | @MessageMapping("/ws/chat")
FILE: vhr/vhrserver/vhr-web/src/main/java/org/javaboy/vhr/controller/config/SystemConfigController.java
class SystemConfigController (line 22) | @RestController
method getMenusByHrId (line 27) | @GetMapping("/menu")
FILE: vhr/vhrserver/vhr-web/src/main/java/org/javaboy/vhr/controller/emp/EmpBasicController.java
class EmpBasicController (line 24) | @RestController
method getEmployeeByPage (line 40) | @GetMapping("/")
method addEmp (line 45) | @PostMapping("/")
method deleteEmpByEid (line 53) | @DeleteMapping("/{id}")
method updateEmp (line 61) | @PutMapping("/")
method getAllNations (line 69) | @GetMapping("/nations")
method getAllPoliticsstatus (line 74) | @GetMapping("/politicsstatus")
method getAllJobLevels (line 79) | @GetMapping("/joblevels")
method getAllPositions (line 84) | @GetMapping("/positions")
method maxWorkID (line 89) | @GetMapping("/maxWorkID")
method getAllDepartments (line 96) | @GetMapping("/deps")
method exportData (line 101) | @GetMapping("/export")
method importData (line 107) | @PostMapping("/import")
FILE: vhr/vhrserver/vhr-web/src/main/java/org/javaboy/vhr/controller/salary/SalaryController.java
class SalaryController (line 11) | @RestController
method getAllSalaries (line 17) | @GetMapping("/")
method addSalary (line 22) | @PostMapping("/")
method deleteSalaryById (line 30) | @DeleteMapping("/{id}")
method updateSalaryById (line 38) | @PutMapping("/")
FILE: vhr/vhrserver/vhr-web/src/main/java/org/javaboy/vhr/controller/salary/SobConfigController.java
class SobConfigController (line 14) | @RestController
method getEmployeeByPageWithSalary (line 22) | @GetMapping("/")
method getAllSalaries (line 27) | @GetMapping("/salaries")
method updateEmployeeSalaryById (line 32) | @PutMapping("/")
FILE: vhr/vhrserver/vhr-web/src/main/java/org/javaboy/vhr/controller/system/HrController.java
class HrController (line 22) | @RestController
method getAllHrs (line 29) | @GetMapping("/")
method updateHr (line 34) | @PutMapping("/")
method getAllRoles (line 41) | @GetMapping("/roles")
method updateHrRole (line 46) | @PutMapping("/role")
method deleteHrById (line 54) | @DeleteMapping("/{id}")
FILE: vhr/vhrserver/vhr-web/src/main/java/org/javaboy/vhr/controller/system/basic/DepartmentController.java
class DepartmentController (line 20) | @RestController
method getAllDepartments (line 25) | @GetMapping("/")
method addDep (line 29) | @PostMapping("/")
method deleteDepById (line 38) | @DeleteMapping("/{id}")
FILE: vhr/vhrserver/vhr-web/src/main/java/org/javaboy/vhr/controller/system/basic/JobLevelController.java
class JobLevelController (line 21) | @RestController
method getAllJobLevels (line 26) | @GetMapping("/")
method addJobLevel (line 31) | @PostMapping("/")
method updateJobLevelById (line 39) | @PutMapping("/")
method deleteJobLevelById (line 47) | @DeleteMapping("/{id}")
method deleteJobLevelsByIds (line 55) | @DeleteMapping("/")
FILE: vhr/vhrserver/vhr-web/src/main/java/org/javaboy/vhr/controller/system/basic/PermissController.java
class PermissController (line 22) | @RestController
method getAllRoles (line 29) | @GetMapping("/")
method getAllMenus (line 33) | @GetMapping("/menus")
method getMidsByRid (line 38) | @GetMapping("/mids/{rid}")
method updateMenuRole (line 43) | @PutMapping("/")
method addRole (line 51) | @PostMapping("/role")
method deleteRoleById (line 59) | @DeleteMapping("/role/{rid}")
FILE: vhr/vhrserver/vhr-web/src/main/java/org/javaboy/vhr/controller/system/basic/PositionController.java
class PositionController (line 20) | @RestController
method getAllPositions (line 25) | @GetMapping("/")
method addPosition (line 30) | @PostMapping("/")
method updatePositions (line 38) | @PutMapping("/")
method deletePositionById (line 46) | @DeleteMapping("/{id}")
method deletePositionsByIds (line 54) | @DeleteMapping("/")
FILE: vhr/vhrserver/vhr-web/src/main/java/org/javaboy/vhr/converter/DateConverter.java
class DateConverter (line 19) | @Component
method convert (line 23) | @Override
FILE: vhr/vhrserver/vhr-web/src/main/java/org/javaboy/vhr/exception/GlobalExceptionHandler.java
class GlobalExceptionHandler (line 19) | @RestControllerAdvice
method sqlException (line 21) | @ExceptionHandler(SQLException.class)
FILE: vhr/vhrserver/vhr-web/src/main/resources/db/migration/V1__vhr.sql
type `adjustsalary` (line 21) | CREATE TABLE `adjustsalary` (
type `appraise` (line 40) | CREATE TABLE `appraise` (
type `mail_send_log` (line 53) | CREATE TABLE `mail_send_log` (
type `department` (line 70) | CREATE TABLE `department` (
type `employee` (line 88) | CREATE TABLE `employee` (
type `employeeec` (line 139) | CREATE TABLE `employeeec` (
type `employeeremove` (line 158) | CREATE TABLE `employeeremove` (
type `employeetrain` (line 177) | CREATE TABLE `employeetrain` (
type `empsalary` (line 194) | CREATE TABLE `empsalary` (
type `hr` (line 213) | CREATE TABLE `hr` (
type `hr_role` (line 235) | CREATE TABLE `hr_role` (
type `joblevel` (line 254) | CREATE TABLE `joblevel` (
type `menu` (line 271) | CREATE TABLE `menu` (
type `menu_role` (line 295) | CREATE TABLE `menu_role` (
type `msgcontent` (line 314) | CREATE TABLE `msgcontent` (
type `nation` (line 330) | CREATE TABLE `nation` (
type `oplog` (line 344) | CREATE TABLE `oplog` (
type `politicsstatus` (line 360) | CREATE TABLE `politicsstatus` (
type `position` (line 374) | CREATE TABLE `position` (
type `role` (line 391) | CREATE TABLE `role` (
type `salary` (line 406) | CREATE TABLE `salary` (
type `sysmsg` (line 432) | CREATE TABLE `sysmsg` (
FILE: vhr/vhrserver/vhr-web/src/main/resources/static/js/app.36643c7a.js
function t (line 1) | function t(t){for(var r,o,a=t[0],c=t[1],u=t[2],l=0,f=[];l<a.length;l++)o...
function n (line 1) | function n(){for(var e,t=0;t<s.length;t++){for(var n=s[t],r=!0,o=1;o<n.l...
function a (line 1) | function a(e){return c.p+"js/"+({}[e]||e)+"."+{"chunk-0c17a57a":"3d783b8...
function c (line 1) | function c(t){if(r[t])return r[t].exports;var n=r[t]={i:t,l:!1,exports:{...
function e (line 1) | function e(){Object(rt["a"])(this,e)}
function n (line 1) | function n(e,t,n){this.command=e,this.headers=null!=t?t:{},this.body=nul...
function o (line 1) | function o(e){this.ws=e,this.ws.binaryType="arraybuffer",this.counter=0,...
function i (line 1) | function i(a,c){if(!n[a]){if(!t[a]){var u="function"==typeof r&&r;if(!c&...
function i (line 1) | function i(){o.call(this),this.initEvent("close",!1,!1),this.wasClean=!1...
function i (line 1) | function i(){o.call(this)}
function o (line 1) | function o(){n.removeListener(e,o),r||(r=!0,t.apply(this,arguments))}
function r (line 1) | function r(e){this.type=e}
function r (line 1) | function r(){this._listeners={}}
function i (line 1) | function i(e){o.call(this),this.initEvent("message",!1,!1),this.data=e}
function i (line 1) | function i(e){this._transport=e,e.on("message",this._transportMessage.bi...
function c (line 1) | function c(e,t){r.call(this);var n=this,o=+new Date;this.xo=new t("GET",...
function c (line 1) | function c(e){var t=this;o.call(this),this.ir=new a(e,s),this.ir.once("f...
function f (line 1) | function f(e,t){var n=this;o.call(this);var i=function(){var r=n.ifr=new...
function h (line 1) | function h(e,t){d(e);var n=this;r.call(this),setTimeout((function(){n.do...
function E (line 1) | function E(e,t,n){if(!(this instanceof E))return new E(e,t,n);if(argumen...
function S (line 1) | function S(e){return 1e3===e||e>=3e3&&e<=4999}
function b (line 1) | function b(e){var t=+e;return t!==t?t=0:0!==t&&t!==1/0&&t!==-1/0&&(t=(t>...
function g (line 1) | function g(e){return e>>>0}
function y (line 1) | function y(){}
function l (line 1) | function l(e,t,n,r){u(e,t);var i=this;o.call(this),setTimeout((function(...
function c (line 1) | function c(e){if(!c.enabled())throw new Error("Transport created when di...
function a (line 1) | function a(e){if(!o.enabled)throw new Error("Transport created when disa...
function d (line 1) | function d(e,t,n){if(!d.enabled())throw new Error("Transport created whe...
function a (line 1) | function a(e){if(!a.enabled())throw new Error("Transport created when di...
function a (line 1) | function a(e){return function(t,n,r){s("create ajax sender",t,n);var i={...
function c (line 1) | function c(e,t,n,r){i.call(this,e,t,a(r),n,r)}
function s (line 1) | function s(e,t){i(e),o.call(this),this.sendBuffer=[],this.sender=t,this....
function n (line 1) | function n(e,n){o.call(this,t.transportName,e,n)}
function s (line 1) | function s(e,t,n){i(t),o.call(this),this.Receiver=e,this.receiveUrl=t,th...
function c (line 1) | function c(e,t,n,r,c){var u=o.addPath(e,t);a(u);var l=this;i.call(this,e...
function a (line 1) | function a(e){s(e),o.call(this);var t=this,n=this.es=new i(e);n.onmessag...
function l (line 1) | function l(e){u(e),a.call(this);var t=this;i.polluteGlobalNamespace(),th...
function f (line 1) | function f(e){l(e);var t=this;u.call(this),o.polluteGlobalNamespace(),th...
function s (line 1) | function s(e,t){i(e),o.call(this);var n=this;this.bufferPosition=0,this....
function u (line 1) | function u(e){c("createIframe",e);try{return r.document.createElement('<...
function l (line 1) | function l(){c("createForm"),o=r.document.createElement("form"),o.style....
function l (line 1) | function l(e,t,n){u(e,t);var r=this;o.call(this),setTimeout((function(){...
function i (line 1) | function i(e,t,n,r){o.call(this,e,t,n,r)}
function i (line 1) | function i(){var e=this;r.call(this),this.to=setTimeout((function(){e.em...
function i (line 1) | function i(e,t,n){o.call(this,e,t,n,{noCredentials:!0})}
function u (line 1) | function u(e,t,n){if(!u.enabled())throw new Error("Transport created whe...
function c (line 1) | function c(e){if(!a.enabled)throw new Error("Transport created when disa...
function a (line 1) | function a(e){if(!s.enabled)throw new Error("Transport created when disa...
function c (line 1) | function c(e){if(!a.enabled&&!s.enabled)throw new Error("Transport creat...
function u (line 1) | function u(e){if(!a.enabled&&!s.enabled)throw new Error("Transport creat...
function i (line 1) | function i(){return!("undefined"===typeof window||!window||"undefined"==...
function s (line 1) | function s(e){var t=this.useColors;if(e[0]=(t?"%c":"")+this.namespace+(t...
function a (line 1) | function a(){return"object"===("undefined"===typeof console?"undefined":...
function c (line 1) | function c(e){try{null==e?n.storage.removeItem("debug"):n.storage.debug=...
function u (line 1) | function u(){try{return n.storage.debug}catch(e){}if("undefined"!==typeo...
function l (line 1) | function l(){try{return window.localStorage}catch(e){}}
function o (line 1) | function o(e){var t,r=0;for(t in e)r=(r<<5)-r+e.charCodeAt(t),r|=0;retur...
function i (line 1) | function i(e){function t(){if(t.enabled){var e=t,o=+new Date,i=o-(r||o);...
function s (line 1) | function s(e){n.save(e);for(var t=(e||"").split(/[\s,]+/),r=t.length,o=0...
function a (line 1) | function a(){n.enable("")}
function c (line 1) | function c(e){var t,r;for(t=0,r=n.skips.length;t<r;t++)if(n.skips[t].tes...
function u (line 1) | function u(e){return e instanceof Error?e.stack||e.message:e}
function l (line 1) | function l(e,t){e||(e=c["Object"]()),t||(t=c["Object"]());var n=e["Numbe...
function u (line 1) | function u(e){if(e=String(e),!(e.length>1e4)){var t=/^((?:\d+)?\.?\d+) *...
function l (line 1) | function l(e){return e>=a?Math.round(e/a)+"d":e>=s?Math.round(e/s)+"h":e...
function f (line 1) | function f(e){return d(e,a,"day")||d(e,s,"hour")||d(e,i,"minute")||d(e,r...
function d (line 1) | function d(e,t,n){if(!(e<t))return e<1.5*t?Math.floor(e/t)+" "+n:Math.ce...
function o (line 1) | function o(e){for(var t,n=/([^=?&]+)=?([^&]*)/g,r={};t=n.exec(e);r[decod...
function i (line 1) | function i(e,t){t=t||"";var n=[];for(var o in"string"!==typeof t&&(t="?"...
function u (line 1) | function u(e){var t=a.exec(e);return{protocol:t[1]?t[1].toLowerCase():""...
function l (line 1) | function l(e,t){var n=(t||"/").split("/").slice(0,-1).concat(e.split("/"...
function f (line 1) | function f(e,t,n){if(!(this instanceof f))return new f(e,t,n);var a,d,h,...
FILE: vhr/vhrserver/vhr-web/src/main/resources/static/js/chunk-18458ebc.2dd3c93a.js
function a (line 1) | function a(e){var n=c(e);return t(n)}
function c (line 1) | function c(e){if(!t.o(r,e)){var n=new Error("Cannot find module '"+e+"'"...
FILE: vhr/vhrserver/vhr-web/src/main/resources/static/js/chunk-2d0d03c8.3a093d55.js
function u (line 1) | function u(e){var n=s(e);return o(n)}
function s (line 1) | function s(e){if(!o.o(r,e)){var n=new Error("Cannot find module '"+e+"'"...
FILE: vhr/vhrserver/vhr-web/src/main/resources/static/js/chunk-2d237c54.0b312051.js
function u (line 1) | function u(n){var e=c(n);return o(e)}
function c (line 1) | function c(n){if(!o.o(r,n)){var e=new Error("Cannot find module '"+n+"'"...
FILE: vhr/vhrserver/vhr-web/src/main/resources/static/js/chunk-33b8cd94.a94483af.js
function n (line 1) | function n(e){var t=r(e);return a(t)}
function r (line 1) | function r(e){if(!a.o(l,e)){var t=new Error("Cannot find module '"+e+"'"...
FILE: vhr/vhrserver/vhr-web/src/main/resources/static/js/chunk-4e552d82.57eb10c5.js
function a (line 1) | function a(e){var n=u(e);return r(n)}
function u (line 1) | function u(e){if(!r.o(t,e)){var n=new Error("Cannot find module '"+e+"'"...
FILE: vhr/vhrserver/vhr-web/src/main/resources/static/js/chunk-df7e035a.c9947309.js
function n (line 1) | function n(t){var e=i(t);return a(e)}
function i (line 1) | function i(t){if(!a.o(l,t)){var e=new Error("Cannot find module '"+t+"'"...
FILE: vhr/vhrserver/vhr-web/src/main/resources/static/js/chunk-vendors.0a8f9d11.js
function n (line 1) | function n(i){if(t[i])return t[i].exports;var r=t[i]={i:i,l:!1,exports:{...
function i (line 1) | function i(e,t,n,i,r,o,a,s){var l,u="function"===typeof e?e.options:e;if...
function l (line 1) | function l(e){this.defaults=e,this.interceptors={request:new o,response:...
function n (line 1) | function n(i){if(t[i])return t[i].exports;var r=t[i]={i:i,l:!1,exports:{...
function n (line 1) | function n(i){if(t[i])return t[i].exports;var r=t[i]={i:i,l:!1,exports:{...
function i (line 1) | function i(e,t,n,i,r,o,a,s){var l,u="function"===typeof e?e.options:e;if...
function l (line 1) | function l(e){return e&&e.__esModule?e:{default:e}}
function n (line 1) | function n(i){if(t[i])return t[i].exports;var r=t[i]={i:i,l:!1,exports:{...
function u (line 1) | function u(e){var t=e.move,n=e.size,i=e.bar,r={},o="translate"+i.axis+"(...
function n (line 1) | function n(i){if(t[i])return t[i].exports;var r=t[i]={i:i,l:!1,exports:{...
function i (line 1) | function i(e,t,n,i,r,o,a,s){var l,u="function"===typeof e?e.options:e;if...
function a (line 1) | function a(e,t){!i.isUndefined(e)&&i.isUndefined(e["Content-Type"])&&(e[...
function s (line 1) | function s(){var e;return"undefined"!==typeof t&&"[object process]"===Ob...
function i (line 1) | function i(e,t,n,i,r,o,a,s){var l,u="function"===typeof e?e.options:e;if...
function n (line 1) | function n(i){if(t[i])return t[i].exports;var r=t[i]={i:i,l:!1,exports:{...
function o (line 1) | function o(e){return e&&e.__esModule?e:{default:e}}
function a (line 1) | function a(e,t){if(!r.default.prototype.$isServer)if(t){var n=[],i=t.off...
function i (line 7) | function i(e){return void 0===e||null===e}
function r (line 7) | function r(e){return void 0!==e&&null!==e}
function o (line 7) | function o(e){return!0===e}
function a (line 7) | function a(e){return!1===e}
function s (line 7) | function s(e){return"string"===typeof e||"number"===typeof e||"symbol"==...
function l (line 7) | function l(e){return null!==e&&"object"===typeof e}
function c (line 7) | function c(e){return"[object Object]"===u.call(e)}
function d (line 7) | function d(e){return"[object RegExp]"===u.call(e)}
function f (line 7) | function f(e){var t=parseFloat(String(e));return t>=0&&Math.floor(t)===t...
function h (line 7) | function h(e){return r(e)&&"function"===typeof e.then&&"function"===type...
function p (line 7) | function p(e){return null==e?"":Array.isArray(e)||c(e)&&e.toString===u?J...
function m (line 7) | function m(e){var t=parseFloat(e);return isNaN(t)?e:t}
function v (line 7) | function v(e,t){for(var n=Object.create(null),i=e.split(","),r=0;r<i.len...
function b (line 7) | function b(e,t){if(e.length){var n=e.indexOf(t);if(n>-1)return e.splice(...
function _ (line 7) | function _(e,t){return y.call(e,t)}
function x (line 7) | function x(e){var t=Object.create(null);return function(n){var i=t[n];re...
function E (line 7) | function E(e,t){function n(n){var i=arguments.length;return i?i>1?e.appl...
function $ (line 7) | function $(e,t){return e.bind(t)}
function T (line 7) | function T(e,t){t=t||0;var n=e.length-t,i=new Array(n);while(n--)i[n]=e[...
function D (line 7) | function D(e,t){for(var n in t)e[n]=t[n];return e}
function M (line 7) | function M(e){for(var t={},n=0;n<e.length;n++)e[n]&&D(t,e[n]);return t}
function P (line 7) | function P(e,t,n){}
function I (line 7) | function I(e,t){if(e===t)return!0;var n=l(e),i=l(t);if(!n||!i)return!n&&...
function F (line 7) | function F(e,t){for(var n=0;n<e.length;n++)if(I(e[n],t))return n;return-1}
function R (line 7) | function R(e){var t=!1;return function(){t||(t=!0,e.apply(this,arguments...
function W (line 7) | function W(e){var t=(e+"").charCodeAt(0);return 36===t||95===t}
function U (line 7) | function U(e,t,n,i){Object.defineProperty(e,t,{value:n,enumerable:!!i,wr...
function Y (line 7) | function Y(e){if(!q.test(e)){var t=e.split(".");return function(e){for(v...
function ce (line 7) | function ce(e){return"function"===typeof e&&/native code/.test(e.toStrin...
function e (line 7) | function e(){this.set=Object.create(null)}
function ge (line 7) | function ge(e){ve.push(e),me.target=e}
function be (line 7) | function be(){ve.pop(),me.target=ve[ve.length-1]}
function we (line 7) | function we(e){return new ye(void 0,void 0,void 0,String(e))}
function Ce (line 7) | function Ce(e){var t=new ye(e.tag,e.data,e.children&&e.children.slice(),...
function je (line 7) | function je(e){$e=e}
function De (line 7) | function De(e,t){e.__proto__=t}
function Me (line 7) | function Me(e,t,n){for(var i=0,r=n.length;i<r;i++){var o=n[i];U(e,o,t[o])}}
function Pe (line 7) | function Pe(e,t){var n;if(l(e)&&!(e instanceof ye))return _(e,"__ob__")&...
function Ne (line 7) | function Ne(e,t,n,i,r){var o=new me,a=Object.getOwnPropertyDescriptor(e,...
function Ae (line 7) | function Ae(e,t,n){if(Array.isArray(e)&&f(t))return e.length=Math.max(e....
function Ie (line 7) | function Ie(e,t){if(Array.isArray(e)&&f(t))e.splice(t,1);else{var n=e.__...
function Fe (line 7) | function Fe(e){for(var t=void 0,n=0,i=e.length;n<i;n++)t=e[n],t&&t.__ob_...
function Le (line 7) | function Le(e,t){if(!t)return e;for(var n,i,r,o=fe?Reflect.ownKeys(t):Ob...
function Ve (line 7) | function Ve(e,t,n){return n?function(){var i="function"===typeof t?t.cal...
function Be (line 7) | function Be(e,t){var n=t?e?e.concat(t):Array.isArray(t)?t:[t]:e;return n...
function ze (line 7) | function ze(e){for(var t=[],n=0;n<e.length;n++)-1===t.indexOf(e[n])&&t.p...
function He (line 7) | function He(e,t,n,i){var r=Object.create(e||null);return t?D(r,t):r}
function Ue (line 7) | function Ue(e,t){var n=e.props;if(n){var i,r,o,a={};if(Array.isArray(n))...
function qe (line 7) | function qe(e,t){var n=e.inject;if(n){var i=e.inject={};if(Array.isArray...
function Ye (line 7) | function Ye(e){var t=e.directives;if(t)for(var n in t){var i=t[n];"funct...
function Ke (line 7) | function Ke(e,t,n){if("function"===typeof t&&(t=t.options),Ue(t,n),qe(t,...
function Xe (line 7) | function Xe(e,t,n,i){if("string"===typeof n){var r=e[t];if(_(r,n))return...
function Ge (line 7) | function Ge(e,t,n,i){var r=t[e],o=!_(n,e),a=n[e],s=et(Boolean,r.type);if...
function Je (line 7) | function Je(e,t,n){if(_(t,"default")){var i=t.default;return e&&e.$optio...
function Ze (line 7) | function Ze(e){var t=e&&e.toString().match(/^\s*function (\w+)/);return ...
function Qe (line 7) | function Qe(e,t){return Ze(e)===Ze(t)}
function et (line 7) | function et(e,t){if(!Array.isArray(t))return Qe(t,e)?0:-1;for(var n=0,i=...
function tt (line 7) | function tt(e,t,n){ge();try{if(t){var i=t;while(i=i.$parent){var r=i.$op...
function nt (line 7) | function nt(e,t,n,i,r){var o;try{o=n?e.apply(t,n):e.call(t),o&&!o._isVue...
function it (line 7) | function it(e,t,n){if(z.errorHandler)try{return z.errorHandler.call(null...
function rt (line 7) | function rt(e,t,n){if(!G&&!J||"undefined"===typeof console)throw e;conso...
function ut (line 7) | function ut(){lt=!1;var e=st.slice(0);st.length=0;for(var t=0;t<e.length...
function pt (line 7) | function pt(e,t){var n;if(st.push((function(){if(e)try{e.call(t)}catch(C...
function vt (line 7) | function vt(e){gt(e,mt),mt.clear()}
function gt (line 7) | function gt(e,t){var n,i,r=Array.isArray(e);if(!(!r&&!l(e)||Object.isFro...
function yt (line 7) | function yt(e,t){function n(){var e=arguments,i=n.fns;if(!Array.isArray(...
function _t (line 7) | function _t(e,t,n,r,a,s){var l,u,c,d;for(l in e)u=e[l],c=t[l],d=bt(l),i(...
function xt (line 7) | function xt(e,t,n){var a;e instanceof ye&&(e=e.data.hook||(e.data.hook={...
function wt (line 7) | function wt(e,t,n){var o=t.options.props;if(!i(o)){var a={},s=e.attrs,l=...
function Ct (line 7) | function Ct(e,t,n,i,o){if(r(t)){if(_(t,n))return e[n]=t[n],o||delete t[n...
function St (line 7) | function St(e){for(var t=0;t<e.length;t++)if(Array.isArray(e[t]))return ...
function Ot (line 7) | function Ot(e){return s(e)?[we(e)]:Array.isArray(e)?Et(e):void 0}
function kt (line 7) | function kt(e){return r(e)&&r(e.text)&&a(e.isComment)}
function Et (line 7) | function Et(e,t){var n,a,l,u,c=[];for(n=0;n<e.length;n++)a=e[n],i(a)||"b...
function $t (line 7) | function $t(e){var t=e.$options.provide;t&&(e._provided="function"===typ...
function jt (line 7) | function jt(e){var t=Tt(e.$options.inject,e);t&&(je(!1),Object.keys(t).f...
function Tt (line 7) | function Tt(e,t){if(e){for(var n=Object.create(null),i=fe?Reflect.ownKey...
function Dt (line 7) | function Dt(e,t){if(!e||!e.length)return{};for(var n={},i=0,r=e.length;i...
function Mt (line 7) | function Mt(e){return e.isComment&&!e.asyncFactory||" "===e.text}
function Pt (line 7) | function Pt(e,t,i){var r,o=Object.keys(t).length>0,a=e?!!e.$stable:!o,s=...
function Nt (line 7) | function Nt(e,t,n){var i=function(){var e=arguments.length?n.apply(null,...
function At (line 7) | function At(e,t){return function(){return e[t]}}
function It (line 7) | function It(e,t){var n,i,o,a,s;if(Array.isArray(e)||"string"===typeof e)...
function Ft (line 7) | function Ft(e,t,n,i){var r,o=this.$scopedSlots[e];o?(n=n||{},i&&(n=D(D({...
function Rt (line 7) | function Rt(e){return Xe(this.$options,"filters",e,!0)||A}
function Lt (line 7) | function Lt(e,t){return Array.isArray(e)?-1===e.indexOf(t):e!==t}
function Vt (line 7) | function Vt(e,t,n,i,r){var o=z.keyCodes[t]||n;return r&&i&&!z.keyCodes[t...
function Bt (line 7) | function Bt(e,t,n,i,r){if(n)if(l(n)){var o;Array.isArray(n)&&(n=M(n));va...
function zt (line 7) | function zt(e,t){var n=this._staticTrees||(this._staticTrees=[]),i=n[e];...
function Ht (line 7) | function Ht(e,t,n){return Wt(e,"__once__"+t+(n?"_"+n:""),!0),e}
function Wt (line 7) | function Wt(e,t,n){if(Array.isArray(e))for(var i=0;i<e.length;i++)e[i]&&...
function Ut (line 7) | function Ut(e,t,n){e.isStatic=!0,e.key=t,e.isOnce=n}
function qt (line 7) | function qt(e,t){if(t)if(c(t)){var n=e.on=e.on?D({},e.on):{};for(var i i...
function Yt (line 7) | function Yt(e,t,n,i){t=t||{$stable:!n};for(var r=0;r<e.length;r++){var o...
function Kt (line 7) | function Kt(e,t){for(var n=0;n<t.length;n+=2){var i=t[n];"string"===type...
function Xt (line 7) | function Xt(e,t){return"string"===typeof e?t+e:e}
function Gt (line 7) | function Gt(e){e._o=Ht,e._n=m,e._s=p,e._l=It,e._t=Ft,e._q=I,e._i=F,e._m=...
function Jt (line 7) | function Jt(e,t,i,r,a){var s,l=this,u=a.options;_(r,"_uid")?(s=Object.cr...
function Zt (line 7) | function Zt(e,t,i,o,a){var s=e.options,l={},u=s.props;if(r(u))for(var c ...
function Qt (line 7) | function Qt(e,t,n,i,r){var o=Ce(e);return o.fnContext=n,o.fnOptions=i,t....
function en (line 7) | function en(e,t){for(var n in t)e[C(n)]=t[n]}
function rn (line 7) | function rn(e,t,n,a,s){if(!i(e)){var u=n.$options._base;if(l(e)&&(e=u.ex...
function on (line 7) | function on(e,t){var n={_isComponent:!0,_parentVnode:e,parent:t},i=e.dat...
function an (line 7) | function an(e){for(var t=e.hook||(e.hook={}),n=0;n<nn.length;n++){var i=...
function sn (line 7) | function sn(e,t){var n=function(n,i){e(n,i),t(n,i)};return n._merged=!0,n}
function ln (line 7) | function ln(e,t){var n=e.model&&e.model.prop||"value",i=e.model&&e.model...
function dn (line 7) | function dn(e,t,n,i,r,a){return(Array.isArray(n)||s(n))&&(r=i,i=n,n=void...
function fn (line 7) | function fn(e,t,n,i,o){if(r(n)&&r(n.__ob__))return xe();if(r(n)&&r(n.is)...
function hn (line 7) | function hn(e,t,n){if(e.ns=t,"foreignObject"===e.tag&&(t=void 0,n=!0),r(...
function pn (line 7) | function pn(e){l(e.style)&&vt(e.style),l(e.class)&&vt(e.class)}
function mn (line 7) | function mn(e){e._vnode=null,e._staticTrees=null;var t=e.$options,i=e.$v...
function bn (line 7) | function bn(e){Gt(e.prototype),e.prototype.$nextTick=function(e){return ...
function yn (line 7) | function yn(e,t){return(e.__esModule||fe&&"Module"===e[Symbol.toStringTa...
function _n (line 7) | function _n(e,t,n,i,r){var o=xe();return o.asyncFactory=e,o.asyncMeta={d...
function xn (line 7) | function xn(e,t){if(o(e.error)&&r(e.errorComp))return e.errorComp;if(r(e...
function wn (line 7) | function wn(e){return e.isComment&&e.asyncFactory}
function Cn (line 7) | function Cn(e){if(Array.isArray(e))for(var t=0;t<e.length;t++){var n=e[t...
function Sn (line 7) | function Sn(e){e._events=Object.create(null),e._hasHookEvent=!1;var t=e....
function On (line 7) | function On(e,t){vn.$on(e,t)}
function kn (line 7) | function kn(e,t){vn.$off(e,t)}
function En (line 7) | function En(e,t){var n=vn;return function i(){var r=t.apply(null,argumen...
function $n (line 7) | function $n(e,t,n){vn=e,_t(t,n||{},On,kn,En,e),vn=void 0}
function jn (line 7) | function jn(e){var t=/^hook:/;e.prototype.$on=function(e,n){var i=this;i...
function Dn (line 7) | function Dn(e){var t=Tn;return Tn=e,function(){Tn=t}}
function Mn (line 7) | function Mn(e){var t=e.$options,n=t.parent;if(n&&!t.abstract){while(n.$o...
function Pn (line 7) | function Pn(e){e.prototype._update=function(e,t){var n=this,i=n.$el,r=n....
function Nn (line 7) | function Nn(e,t,n){var i;return e.$el=t,e.$options.render||(e.$options.r...
function An (line 7) | function An(e,t,i,r,o){var a=r.data.scopedSlots,s=e.$scopedSlots,l=!!(a&...
function In (line 7) | function In(e){while(e&&(e=e.$parent))if(e._inactive)return!0;return!1}
function Fn (line 7) | function Fn(e,t){if(t){if(e._directInactive=!1,In(e))return}else if(e._d...
function Rn (line 7) | function Rn(e,t){if((!t||(e._directInactive=!0,!In(e)))&&!e._inactive){e...
function Ln (line 7) | function Ln(e,t){ge();var n=e.$options[t],i=t+" hook";if(n)for(var r=0,o...
function qn (line 7) | function qn(){Un=Vn.length=Bn.length=0,zn={},Hn=Wn=!1}
function Gn (line 7) | function Gn(){var e,t;for(Yn=Kn(),Wn=!0,Vn.sort((function(e,t){return e....
function Jn (line 7) | function Jn(e){var t=e.length;while(t--){var n=e[t],i=n.vm;i._watcher===...
function Zn (line 7) | function Zn(e){e._inactive=!1,Bn.push(e)}
function Qn (line 7) | function Qn(e){for(var t=0;t<e.length;t++)e[t]._inactive=!0,Fn(e[t],!0)}
function ei (line 7) | function ei(e){var t=e.id;if(null==zn[t]){if(zn[t]=!0,Wn){var n=Vn.lengt...
function ri (line 7) | function ri(e,t,n){ii.get=function(){return this[t][n]},ii.set=function(...
function oi (line 7) | function oi(e){e._watchers=[];var t=e.$options;t.props&&ai(e,t.props),t....
function ai (line 7) | function ai(e,t){var n=e.$options.propsData||{},i=e._props={},r=e.$optio...
function si (line 7) | function si(e){var t=e.$options.data;t=e._data="function"===typeof t?li(...
function li (line 7) | function li(e,t){ge();try{return e.call(t,t)}catch(Ca){return tt(Ca,t,"d...
function ci (line 7) | function ci(e,t){var n=e._computedWatchers=Object.create(null),i=le();fo...
function di (line 7) | function di(e,t,n){var i=!le();"function"===typeof n?(ii.get=i?fi(t):hi(...
function fi (line 7) | function fi(e){return function(){var t=this._computedWatchers&&this._com...
function hi (line 7) | function hi(e){return function(){return e.call(this,this)}}
function pi (line 7) | function pi(e,t){e.$options.props;for(var n in t)e[n]="function"!==typeo...
function mi (line 7) | function mi(e,t){for(var n in t){var i=t[n];if(Array.isArray(i))for(var ...
function vi (line 7) | function vi(e,t,n,i){return c(n)&&(i=n,n=n.handler),"string"===typeof n&...
function gi (line 7) | function gi(e){var t={get:function(){return this._data}},n={get:function...
function yi (line 7) | function yi(e){e.prototype._init=function(e){var t=this;t._uid=bi++,t._i...
function _i (line 7) | function _i(e,t){var n=e.$options=Object.create(e.constructor.options),i...
function xi (line 7) | function xi(e){var t=e.options;if(e.super){var n=xi(e.super),i=e.superOp...
function wi (line 7) | function wi(e){var t,n=e.options,i=e.sealedOptions;for(var r in n)n[r]!=...
function Ci (line 7) | function Ci(e){this._init(e)}
function Si (line 7) | function Si(e){e.use=function(e){var t=this._installedPlugins||(this._in...
function Oi (line 7) | function Oi(e){e.mixin=function(e){return this.options=Ke(this.options,e...
function ki (line 7) | function ki(e){e.cid=0;var t=1;e.extend=function(e){e=e||{};var n=this,i...
function Ei (line 7) | function Ei(e){var t=e.options.props;for(var n in t)ri(e.prototype,"_pro...
function $i (line 7) | function $i(e){var t=e.options.computed;for(var n in t)di(e.prototype,n,...
function ji (line 7) | function ji(e){V.forEach((function(t){e[t]=function(e,n){return n?("comp...
function Ti (line 7) | function Ti(e){return e&&(e.Ctor.options.name||e.tag)}
function Di (line 7) | function Di(e,t){return Array.isArray(e)?e.indexOf(t)>-1:"string"===type...
function Mi (line 7) | function Mi(e,t){var n=e.cache,i=e.keys,r=e._vnode;for(var o in n){var a...
function Pi (line 7) | function Pi(e,t,n,i){var r=e[t];!r||i&&r.tag===i.tag||r.componentInstanc...
function Fi (line 7) | function Fi(e){var t={get:function(){return z}};Object.defineProperty(e,...
function Xi (line 7) | function Xi(e){var t=e.data,n=e,i=e;while(r(i.componentInstance))i=i.com...
function Gi (line 7) | function Gi(e,t){return{staticClass:Zi(e.staticClass,t.staticClass),clas...
function Ji (line 7) | function Ji(e,t){return r(e)||r(t)?Zi(e,Qi(t)):""}
function Zi (line 7) | function Zi(e,t){return e?t?e+" "+t:e:t||""}
function Qi (line 7) | function Qi(e){return Array.isArray(e)?er(e):l(e)?tr(e):"string"===typeo...
function er (line 7) | function er(e){for(var t,n="",i=0,o=e.length;i<o;i++)r(t=Qi(e[i]))&&""!=...
function tr (line 7) | function tr(e){var t="";for(var n in e)e[n]&&(t&&(t+=" "),t+=n);return t}
function ar (line 7) | function ar(e){return rr(e)?"svg":"math"===e?"math":void 0}
function lr (line 7) | function lr(e){if(!G)return!0;if(or(e))return!1;if(e=e.toLowerCase(),nul...
function cr (line 7) | function cr(e){if("string"===typeof e){var t=document.querySelector(e);r...
function dr (line 7) | function dr(e,t){var n=document.createElement(e);return"select"!==e?n:(t...
function fr (line 7) | function fr(e,t){return document.createElementNS(nr[e],t)}
function hr (line 7) | function hr(e){return document.createTextNode(e)}
function pr (line 7) | function pr(e){return document.createComment(e)}
function mr (line 7) | function mr(e,t,n){e.insertBefore(t,n)}
function vr (line 7) | function vr(e,t){e.removeChild(t)}
function gr (line 7) | function gr(e,t){e.appendChild(t)}
function br (line 7) | function br(e){return e.parentNode}
function yr (line 7) | function yr(e){return e.nextSibling}
function _r (line 7) | function _r(e){return e.tagName}
function xr (line 7) | function xr(e,t){e.textContent=t}
function wr (line 7) | function wr(e,t){e.setAttribute(t,"")}
function Or (line 7) | function Or(e,t){var n=e.data.ref;if(r(n)){var i=e.context,o=e.component...
function $r (line 7) | function $r(e,t){return e.key===t.key&&(e.tag===t.tag&&e.isComment===t.i...
function jr (line 7) | function jr(e,t){if("input"!==e.tag)return!0;var n,i=r(n=e.data)&&r(n=n....
function Tr (line 7) | function Tr(e,t,n){var i,o,a={};for(i=t;i<=n;++i)o=e[i].key,r(o)&&(a[o]=...
function Dr (line 7) | function Dr(e){var t,n,a={},l=e.modules,u=e.nodeOps;for(t=0;t<Er.length;...
function Pr (line 7) | function Pr(e,t){(e.data.directives||t.data.directives)&&Nr(e,t)}
function Nr (line 7) | function Nr(e,t){var n,i,r,o=e===kr,a=t===kr,s=Ir(e.data.directives,e.co...
function Ir (line 7) | function Ir(e,t){var n,i,r=Object.create(null);if(!e)return r;for(n=0;n<...
function Fr (line 7) | function Fr(e){return e.rawName||e.name+"."+Object.keys(e.modifiers||{})...
function Rr (line 7) | function Rr(e,t,n,i,r){var o=e.def&&e.def[t];if(o)try{o(n.elm,e,n,i,r)}c...
function Vr (line 7) | function Vr(e,t){var n=t.componentOptions;if((!r(n)||!1!==n.Ctor.options...
function Br (line 7) | function Br(e,t,n){e.tagName.indexOf("-")>-1?zr(e,t,n):Wi(t)?Ki(n)?e.rem...
function zr (line 7) | function zr(e,t,n){if(Ki(n))e.removeAttribute(t);else{if(ee&&!te&&"TEXTA...
function Wr (line 7) | function Wr(e,t){var n=t.elm,o=t.data,a=e.data;if(!(i(o.staticClass)&&i(...
function Xr (line 7) | function Xr(e){if(r(e[Yr])){var t=ee?"change":"input";e[t]=[].concat(e[Y...
function Gr (line 7) | function Gr(e,t,n){var i=Ur;return function r(){var o=t.apply(null,argum...
function Zr (line 7) | function Zr(e,t,n,i){if(Jr){var r=Yn,o=t;t=o._wrapper=function(e){if(e.t...
function Qr (line 7) | function Qr(e,t,n,i){(i||Ur).removeEventListener(e,t._wrapper||t,n)}
function eo (line 7) | function eo(e,t){if(!i(e.data.on)||!i(t.data.on)){var n=t.data.on||{},r=...
function io (line 7) | function io(e,t){if(!i(e.data.domProps)||!i(t.data.domProps)){var n,o,a=...
function ro (line 7) | function ro(e,t){return!e.composing&&("OPTION"===e.tagName||oo(e,t)||ao(...
function oo (line 7) | function oo(e,t){var n=!0;try{n=document.activeElement!==e}catch(Ca){}re...
function ao (line 7) | function ao(e,t){var n=e.value,i=e._vModifiers;if(r(i)){if(i.number)retu...
function uo (line 7) | function uo(e){var t=co(e.style);return e.staticStyle?D(e.staticStyle,t):t}
function co (line 7) | function co(e){return Array.isArray(e)?M(e):"string"===typeof e?lo(e):e}
function fo (line 7) | function fo(e,t){var n,i={};if(t){var r=e;while(r.componentInstance)r=r....
function yo (line 7) | function yo(e,t){var n=t.data,o=e.data;if(!(i(n.staticStyle)&&i(n.style)...
function wo (line 7) | function wo(e,t){if(t&&(t=t.trim()))if(e.classList)t.indexOf(" ")>-1?t.s...
function Co (line 7) | function Co(e,t){if(t&&(t=t.trim()))if(e.classList)t.indexOf(" ")>-1?t.s...
function So (line 7) | function So(e){if(e){if("object"===typeof e){var t={};return!1!==e.css&&...
function No (line 7) | function No(e){Po((function(){Po(e)}))}
function Ao (line 7) | function Ao(e,t){var n=e._transitionClasses||(e._transitionClasses=[]);n...
function Io (line 7) | function Io(e,t){e._transitionClasses&&b(e._transitionClasses,t),Co(e,t)}
function Fo (line 7) | function Fo(e,t,n){var i=Lo(e,t),r=i.type,o=i.timeout,a=i.propCount;if(!...
function Lo (line 7) | function Lo(e,t){var n,i=window.getComputedStyle(e),r=(i[jo+"Delay"]||""...
function Vo (line 7) | function Vo(e,t){while(e.length<t.length)e=e.concat(e);return Math.max.a...
function Bo (line 7) | function Bo(e){return 1e3*Number(e.slice(0,-1).replace(",","."))}
function zo (line 7) | function zo(e,t){var n=e.elm;r(n._leaveCb)&&(n._leaveCb.cancelled=!0,n._...
function Ho (line 7) | function Ho(e,t){var n=e.elm;r(n._enterCb)&&(n._enterCb.cancelled=!0,n._...
function Wo (line 7) | function Wo(e){return"number"===typeof e&&!isNaN(e)}
function Uo (line 7) | function Uo(e){if(i(e))return!1;var t=e.fns;return r(t)?Uo(Array.isArray...
function qo (line 7) | function qo(e,t){!0!==t.data.show&&zo(t)}
function Zo (line 7) | function Zo(e,t,n){Qo(e,t,n),(ee||ne)&&setTimeout((function(){Qo(e,t,n)}...
function Qo (line 7) | function Qo(e,t,n){var i=t.value,r=e.multiple;if(!r||Array.isArray(i)){f...
function ea (line 7) | function ea(e,t){return t.every((function(t){return!I(t,e)}))}
function ta (line 7) | function ta(e){return"_value"in e?e._value:e.value}
function na (line 7) | function na(e){e.target.composing=!0}
function ia (line 7) | function ia(e){e.target.composing&&(e.target.composing=!1,ra(e.target,"i...
function ra (line 7) | function ra(e,t){var n=document.createEvent("HTMLEvents");n.initEvent(t,...
function oa (line 7) | function oa(e){return!e.componentInstance||e.data&&e.data.transition?e:o...
function ua (line 7) | function ua(e){var t=e&&e.componentOptions;return t&&t.Ctor.options.abst...
function ca (line 7) | function ca(e){var t={},n=e.$options;for(var i in n.propsData)t[i]=e[i];...
function da (line 7) | function da(e,t){if(/\d-keep-alive$/.test(t.tag))return e("keep-alive",{...
function fa (line 7) | function fa(e){while(e=e.parent)if(e.data.transition)return!0}
function ha (line 7) | function ha(e,t){return t.key===e.key&&t.tag===e.tag}
function ya (line 7) | function ya(e){e.elm._moveCb&&e.elm._moveCb(),e.elm._enterCb&&e.elm._ent...
function _a (line 7) | function _a(e){e.data.newPos=e.elm.getBoundingClientRect()}
function xa (line 7) | function xa(e){var t=e.data.pos,n=e.data.newPos,i=t.left-n.left,r=t.top-...
function i (line 13) | function i(e){var t=Number(e.version.split(".")[0]);if(t>=2)e.mixin({bef...
function a (line 13) | function a(e){o&&(e._devtoolHook=o,o.emit("vuex:init",e),o.on("vuex:trav...
function s (line 13) | function s(e,t){Object.keys(e).forEach((function(n){return t(e[n],n)}))}
function l (line 13) | function l(e){return null!==e&&"object"===typeof e}
function u (line 13) | function u(e){return e&&"function"===typeof e.then}
function c (line 13) | function c(e,t){return function(){return e(t)}}
function p (line 13) | function p(e,t,n){if(t.update(n),n.modules)for(var i in n.modules){if(!t...
function b (line 13) | function b(e,t){return t.indexOf(e)<0&&t.push(e),function(){var n=t.inde...
function y (line 13) | function y(e,t){e._actions=Object.create(null),e._mutations=Object.creat...
function _ (line 13) | function _(e,t,n){var i=e._vm;e.getters={};var r=e._wrappedGetters,o={};...
function x (line 13) | function x(e,t,n,i,r){var o=!n.length,a=e._modules.getNamespace(n);if(i....
function w (line 13) | function w(e,t,n){var i=""===t,r={dispatch:i?e.dispatch:function(n,i,r){...
function C (line 13) | function C(e,t){var n={},i=t.length;return Object.keys(e.getters).forEac...
function S (line 13) | function S(e,t,n,i){var r=e._mutations[t]||(e._mutations[t]=[]);r.push((...
function O (line 13) | function O(e,t,n,i){var r=e._actions[t]||(e._actions[t]=[]);r.push((func...
function k (line 13) | function k(e,t,n,i){e._wrappedGetters[t]||(e._wrappedGetters[t]=function...
function E (line 13) | function E(e){e._vm.$watch((function(){return this._data.$$state}),(func...
function $ (line 13) | function $(e,t){return t.length?t.reduce((function(e,t){return e[t]}),e):e}
function j (line 13) | function j(e,t,n){return l(e)&&e.type&&(n=t,t=e,e=e.type),{type:e,payloa...
function T (line 13) | function T(e){m&&e===m||(m=e,i(m))}
function I (line 13) | function I(e){return Array.isArray(e)?e.map((function(e){return{key:e,va...
function F (line 13) | function F(e){return function(t,n){return"string"!==typeof t?(n=t,t=""):...
function R (line 13) | function R(e,t,n){var i=e._modulesNamespaceMap[n];return i}
function r (line 13) | function r(e){return encodeURIComponent(e).replace(/%40/gi,"@").replace(...
function n (line 13) | function n(i){if(t[i])return t[i].exports;var r=t[i]={i:i,l:!1,exports:{...
function i (line 13) | function i(e,t,n,i,r,o,a,s){var l,u="function"===typeof e?e.options:e;if...
function r (line 13) | function r(e){var i=e;return t&&(n.setAttribute("href",i),i=n.href),n.se...
function r (line 13) | function r(e){return!!e&&"object"===typeof e}
function o (line 13) | function o(e){var t=Object.prototype.toString.call(e);return"[object Reg...
function l (line 13) | function l(e){return e.$$typeof===s}
function u (line 13) | function u(e){return Array.isArray(e)?[]:{}}
function c (line 13) | function c(e,t){var n=t&&!0===t.clone;return n&&i(e)?h(u(e),e,t):e}
function d (line 13) | function d(e,t,n){var r=e.slice();return t.forEach((function(t,o){"undef...
function f (line 13) | function f(e,t,n){var r={};return i(e)&&Object.keys(e).forEach((function...
function h (line 13) | function h(e,t,n){var i=Array.isArray(t),r=Array.isArray(e),o=n||{arrayM...
function n (line 13) | function n(i){if(t[i])return t[i].exports;var r=t[i]={i:i,l:!1,exports:{...
function i (line 13) | function i(e,t,n,i,r,o,a,s){var l,u="function"===typeof e?e.options:e;if...
function o (line 13) | function o(e){return e&&e.__esModule?e:{default:e}}
function n (line 13) | function n(i){if(t[i])return t[i].exports;var r=t[i]={i:i,l:!1,exports:{...
function i (line 13) | function i(e,t,n,i,r,o,a,s){var l,u="function"===typeof e?e.options:e;if...
function a (line 13) | function a(e){return e&&e.__esModule?e:{default:e}}
function d (line 13) | function d(e,t,n){return function(){var i=arguments.length>0&&void 0!==a...
function o (line 13) | function o(e){return e&&e.__esModule?e:{default:e}}
function o (line 13) | function o(e){return null!==e&&"object"===("undefined"===typeof e?"undef...
function n (line 13) | function n(i){if(t[i])return t[i].exports;var r=t[i]={i:i,l:!1,exports:{...
function i (line 13) | function i(e,t,n,i,r,o,a,s){var l,u="function"===typeof e?e.options:e;if...
function d (line 13) | function d(e){return e&&e.__esModule?e:{default:e}}
function a (line 13) | function a(e){return e&&e.__esModule?e:{default:e}}
function n (line 13) | function n(i){if(t[i])return t[i].exports;var r=t[i]={i:i,l:!1,exports:{...
function i (line 13) | function i(e,t,n,i,r,o,a,s){var l,u="function"===typeof e?e.options:e;if...
function n (line 13) | function n(i){if(t[i])return t[i].exports;var r=t[i]={i:i,l:!1,exports:{...
function i (line 13) | function i(e,t,n,i,r,o,a,s){var l,u="function"===typeof e?e.options:e;if...
function f (line 13) | function f(e){return e&&e.__esModule?e:{default:e}}
function u (line 13) | function u(e){e.cancelToken&&e.cancelToken.throwIfRequested()}
function r (line 13) | function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a ...
function e (line 13) | function e(){r(this,e)}
function a (line 13) | function a(e){return e&&e.__esModule?e:{default:e}}
function m (line 13) | function m(e,t){if(!e||!t)return!1;if(-1!==t.indexOf(" "))throw new Erro...
function v (line 13) | function v(e,t){if(e){for(var n=e.className,i=(t||"").split(" "),r=0,o=i...
function g (line 13) | function g(e,t){if(e&&t){for(var n=t.split(" "),i=" "+e.className+" ",r=...
function y (line 13) | function y(e,t,n){if(e&&t)if("object"===("undefined"===typeof t?"undefin...
function a (line 13) | function a(){var a=this,s=Number(new Date)-o,l=arguments;function u(){o=...
function n (line 13) | function n(i){if(t[i])return t[i].exports;var r=t[i]={i:i,l:!1,exports:{...
function i (line 13) | function i(e,t,n,i,r,o,a,s){var l,u="function"===typeof e?e.options:e;if...
function n (line 13) | function n(e,n,i){this._reference=e.jquery?e[0]:e,this.state={};var r="u...
function i (line 13) | function i(t){var n=t.style.display,i=t.style.visibility;t.style.display...
function r (line 13) | function r(e){var t={left:"right",right:"left",bottom:"top",top:"bottom"...
function o (line 13) | function o(e){var t=Object.assign({},e);return t.right=t.left+t.width,t....
function a (line 13) | function a(e,t){var n,i=0;for(n in e){if(e[n]===t)return i;i++}return null}
function s (line 13) | function s(t,n){var i=e.getComputedStyle(t,null);return i[n]}
function l (line 13) | function l(t){var n=t.offsetParent;return n!==e.document.body&&n?n:e.doc...
function u (line 13) | function u(t){var n=t.parentNode;return n?n===e.document?e.document.body...
function c (line 13) | function c(t){return t!==e.document.body&&("fixed"===s(t,"position")||(t...
function d (line 13) | function d(e,t){function n(e){return""!==e&&!isNaN(parseFloat(e))&&isFin...
function f (line 13) | function f(e){var t={};return e&&"[object Function]"===t.toString.call(e)}
function h (line 13) | function h(e){var t={width:e.offsetWidth,height:e.offsetHeight,left:e.of...
function p (line 13) | function p(e){var t=e.getBoundingClientRect(),n=-1!=navigator.userAgent....
function m (line 13) | function m(e,t,n){var i=p(e),r=p(t);if(n){var o=u(t);r.top+=o.scrollTop,...
function v (line 13) | function v(t){for(var n=["","ms","webkit","moz","o"],i=0;i<n.length;i++)...
function s (line 13) | function s(e,t){t.forEach((function(t){e.classList.add(t)}))}
function l (line 13) | function l(e,t){t.forEach((function(t){e.setAttribute(t.split(":")[0],t....
function n (line 13) | function n(i){if(t[i])return t[i].exports;var r=t[i]={i:i,l:!1,exports:{...
function i (line 13) | function i(e,t,n,i,r,o,a,s){var l,u="function"===typeof e?e.options:e;if...
function e (line 13) | function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.en...
function h (line 13) | function h(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a ...
function e (line 13) | function e(t){for(var n in h(this,e),this.id=g++,this.text=null,this.che...
function x (line 13) | function x(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a ...
function e (line 13) | function e(t){var n=this;for(var i in x(this,e),this.currentNode=null,th...
function n (line 13) | function n(i){if(t[i])return t[i].exports;var r=t[i]={i:i,l:!1,exports:{...
function i (line 13) | function i(e,t,n,i,r,o,a,s){var l,u="function"===typeof e?e.options:e;if...
function n (line 13) | function n(i){if(t[i])return t[i].exports;var r=t[i]={i:i,l:!1,exports:{...
function i (line 13) | function i(e,t,n,i,r,o,a,s){var l,u="function"===typeof e?e.options:e;if...
function e (line 13) | function e(e,t){var n=-1;return e.some((function(e,i){return e[0]===t&&(...
function t (line 13) | function t(){this.__entries__=[]}
function s (line 13) | function s(e,t){var n=!1,i=!1,r=0;function s(){n&&(n=!1,e()),i&&u()}func...
function e (line 13) | function e(){this.connected_=!1,this.mutationEventsAdded_=!1,this.mutati...
function m (line 13) | function m(e){return parseFloat(e)||0}
function v (line 13) | function v(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n...
function g (line 13) | function g(e){for(var t=["top","right","bottom","left"],n={},i=0,r=t;i<r...
function b (line 13) | function b(e){var t=e.getBBox();return S(0,0,t.width,t.height)}
function y (line 13) | function y(e){var t=e.clientWidth,n=e.clientHeight;if(!t&&!n)return p;va...
function x (line 13) | function x(e){return e===h(e).document.documentElement}
function w (line 13) | function w(e){return i?_(e)?b(e):y(e):p}
function C (line 13) | function C(e){var t=e.x,n=e.y,i=e.width,r=e.height,o="undefined"!==typeo...
function S (line 13) | function S(e,t,n,i){return{x:e,y:t,width:n,height:i}}
function e (line 13) | function e(e){this.broadcastWidth=0,this.broadcastHeight=0,this.contentR...
function e (line 13) | function e(e,t){var n=C(t);f(this,{target:e,contentRect:n})}
function e (line 13) | function e(e,t,i){if(this.activeObservations_=[],this.observations_=new ...
function e (line 13) | function e(t){if(!(this instanceof e))throw new TypeError("Cannot call a...
function n (line 13) | function n(i){if(t[i])return t[i].exports;var r=t[i]={i:i,l:!1,exports:{...
function i (line 13) | function i(e,t,n,i,r,o,a,s){var l,u="function"===typeof e?e.options:e;if...
function a (line 13) | function a(e){return e&&e.__esModule?e:{default:e}}
function n (line 13) | function n(i){if(t[i])return t[i].exports;var r=t[i]={i:i,l:!1,exports:{...
function i (line 13) | function i(e,t,n,i,r,o,a,s){var l,u="function"===typeof e?e.options:e;if...
function f (line 13) | function f(){}
function s (line 13) | function s(e){return s="function"===typeof a.a&&"symbol"===typeof r.a?fu...
function l (line 13) | function l(e){return l="function"===typeof a.a&&"symbol"===s(r.a)?functi...
function n (line 13) | function n(i){if(t[i])return t[i].exports;var r=t[i]={i:i,l:!1,exports:{...
function i (line 13) | function i(e,t,n,i,r,o,a,s){var l,u="function"===typeof e?e.options:e;if...
function i (line 13) | function i(e){this.message=e}
function n (line 13) | function n(i){if(t[i])return t[i].exports;var r=t[i]={i:i,l:!1,exports:{...
function i (line 13) | function i(e,t,n,i,r,o,a,s){var l,u="function"===typeof e?e.options:e;if...
function o (line 28) | function o(e,t){if(!r.canUseDOM||t&&!("addEventListener"in document))ret...
function n (line 28) | function n(i){if(t[i])return t[i].exports;var r=t[i]={i:i,l:!1,exports:{...
function i (line 28) | function i(e,t,n,i,r,o,a,s){var l,u="function"===typeof e?e.options:e;if...
function s (line 28) | function s(e){return e&&e.__esModule?e:{default:e}}
function u (line 28) | function u(){}
function c (line 28) | function c(e,t){return l.call(e,t)}
function d (line 28) | function d(e,t){for(var n in t)e[n]=t[n];return e}
function f (line 28) | function f(e){for(var t={},n=0;n<e.length;n++)e[n]&&d(t,e[n]);return t}
function h (line 28) | function h(e,t,n){var i=e;t=t.replace(/\[(\w+)\]/g,".$1"),t=t.replace(/^...
function b (line 28) | function b(e){var t=!1;return function(){for(var n=this,i=arguments.leng...
function y (line 28) | function y(e){return Array.isArray(e)?e:g(e)?[]:[e]}
function n (line 28) | function n(i){if(t[i])return t[i].exports;var r=t[i]={i:i,l:!1,exports:{...
function i (line 28) | function i(e,t,n,i,r,o,a,s){var l,u="function"===typeof e?e.options:e;if...
function n (line 28) | function n(i){if(t[i])return t[i].exports;var r=t[i]={i:i,l:!1,exports:{...
function i (line 28) | function i(e,t,n,i,r,o,a,s){var l,u="function"===typeof e?e.options:e;if...
function n (line 28) | function n(i){if(t[i])return t[i].exports;var r=t[i]={i:i,l:!1,exports:{...
function i (line 28) | function i(e,t,n,i,r,o,a,s){var l,u="function"===typeof e?e.options:e;if...
function v (line 28) | function v(e,t,n){var i=void 0;i=n.response?""+(n.response.error||n.resp...
function g (line 28) | function g(e){var t=e.responseText||e.response;if(!t)return t;try{return...
function b (line 28) | function b(e){if("undefined"!==typeof XMLHttpRequest){var t=new XMLHttpR...
function P (line 28) | function P(){}
function n (line 28) | function n(i){if(t[i])return t[i].exports;var r=t[i]={i:i,l:!1,exports:{...
function i (line 28) | function i(e,t,n,i,r,o,a,s){var l,u="function"===typeof e?e.options:e;if...
function i (line 33) | function i(e,t){0}
function r (line 33) | function r(e){return Object.prototype.toString.call(e).indexOf("Error")>-1}
function o (line 33) | function o(e,t){return t instanceof e||t&&(t.name===e.name||t._name===e....
function a (line 33) | function a(e,t){for(var n in t)e[n]=t[n];return e}
function l (line 33) | function l(e,t){switch(typeof t){case"undefined":return;case"object":ret...
function p (line 33) | function p(e,t,n){void 0===t&&(t={});var i,r=n||m;try{i=r(e||"")}catch(a...
function m (line 33) | function m(e){var t={};return e=e.trim().replace(/^(\?|#|&)/,""),e?(e.sp...
function v (line 33) | function v(e){var t=e?Object.keys(e).map((function(t){var n=e[t];if(void...
function b (line 33) | function b(e,t,n,i){var r=i&&i.options.stringifyQuery,o=t.query||{};try{...
function y (line 33) | function y(e){if(Array.isArray(e))return e.map(y);if(e&&"object"===typeo...
function x (line 33) | function x(e){var t=[];while(e)t.unshift(e),e=e.parent;return t}
function w (line 33) | function w(e,t){var n=e.path,i=e.query;void 0===i&&(i={});var r=e.hash;v...
function C (line 33) | function C(e,t){return t===_?e===t:!!t&&(e.path&&t.path?e.path.replace(g...
function S (line 33) | function S(e,t){if(void 0===e&&(e={}),void 0===t&&(t={}),!e||!t)return e...
function O (line 33) | function O(e,t){return 0===e.path.replace(g,"/").indexOf(t.path.replace(...
function k (line 33) | function k(e,t){for(var n in t)if(!(n in e))return!1;return!0}
function E (line 33) | function E(e,t,n){var i=e.charAt(0);if("/"===i)return e;if("?"===i||"#"=...
function $ (line 33) | function $(e){var t="",n="",i=e.indexOf("#");i>=0&&(t=e.slice(i),e=e.sli...
function j (line 33) | function j(e){return e.replace(/\/\//g,"/")}
function F (line 33) | function F(e,t){var n,i=[],r=0,o=0,a="",s=t&&t.delimiter||"/";while(null...
function R (line 33) | function R(e,t){return B(F(e,t))}
function L (line 33) | function L(e){return encodeURI(e).replace(/[\/?#]/g,(function(e){return"...
function V (line 33) | function V(e){return encodeURI(e).replace(/[?#]/g,(function(e){return"%"...
function B (line 33) | function B(e){for(var t=new Array(e.length),n=0;n<e.length;n++)"object"=...
function z (line 33) | function z(e){return e.replace(/([.+*?=^!:${}()[\]|\/\\])/g,"\\$1")}
function H (line 33) | function H(e){return e.replace(/([=!:$\/()])/g,"\\$1")}
function W (line 33) | function W(e,t){return e.keys=t,e}
function U (line 33) | function U(e){return e.sensitive?"":"i"}
function q (line 33) | function q(e,t){var n=e.source.match(/\((?!\?)/g);if(n)for(var i=0;i<n.l...
function Y (line 33) | function Y(e,t,n){for(var i=[],r=0;r<e.length;r++)i.push(G(e[r],t,n).sou...
function K (line 33) | function K(e,t,n){return X(F(e,n),t,n)}
function X (line 33) | function X(e,t,n){T(t)||(n=t||n,t=[]),n=n||{};for(var i=n.strict,r=!1!==...
function G (line 33) | function G(e,t,n){return T(t)||(n=t||n,t=[]),n=n||{},e instanceof RegExp...
function Z (line 33) | function Z(e,t,n){t=t||{};try{var i=J[e]||(J[e]=D.compile(e));return t.p...
function Q (line 33) | function Q(e,t,n,i){var r="string"===typeof e?{path:e}:e;if(r._normalize...
function oe (line 33) | function oe(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defa...
function ae (line 33) | function ae(e){if(e)for(var t,n=0;n<e.length;n++){if(t=e[n],"a"===t.tag)...
function se (line 33) | function se(e){if(!se.installed||ee!==e){se.installed=!0,ee=e;var t=func...
function ue (line 33) | function ue(e,t,n,i){var r=t||[],o=n||Object.create(null),a=i||Object.cr...
function ce (line 33) | function ce(e,t,n,i,r,o){var a=i.path,s=i.name;var l=i.pathToRegexpOptio...
function de (line 33) | function de(e,t){var n=D(e,[],t);return n}
function fe (line 33) | function fe(e,t,n){return n||(e=e.replace(/\/$/,"")),"/"===e[0]?e:null==...
function he (line 33) | function he(e,t){var n=ue(e),i=n.pathList,r=n.pathMap,o=n.nameMap;functi...
function pe (line 33) | function pe(e,t,n){var i=t.match(e);if(!i)return!1;if(!n)return!0;for(va...
function me (line 33) | function me(e,t){return E(e,t.parent?t.parent.path:"/",!0)}
function ge (line 33) | function ge(){return ve.now().toFixed(3)}
function ye (line 33) | function ye(){return be}
function _e (line 33) | function _e(e){return be=e}
function we (line 33) | function we(){var e=window.location.protocol+"//"+window.location.host,t...
function Ce (line 33) | function Ce(e,t,n,i){if(e.app){var r=e.options.scrollBehavior;r&&e.app.$...
function Se (line 33) | function Se(){var e=ye();e&&(xe[e]={x:window.pageXOffset,y:window.pageYO...
function Oe (line 33) | function Oe(){var e=ye();if(e)return xe[e]}
function ke (line 33) | function ke(e,t){var n=document.documentElement,i=n.getBoundingClientRec...
function Ee (line 33) | function Ee(e){return Te(e.x)||Te(e.y)}
function $e (line 33) | function $e(e){return{x:Te(e.x)?e.x:window.pageXOffset,y:Te(e.y)?e.y:win...
function je (line 33) | function je(e){return{x:Te(e.x)?e.x:0,y:Te(e.y)?e.y:0}}
function Te (line 33) | function Te(e){return"number"===typeof e}
function Me (line 33) | function Me(e,t){var n="object"===typeof e;if(n&&"string"===typeof e.sel...
function Ne (line 33) | function Ne(e,t){Se();var n=window.history;try{t?n.replaceState({key:ye(...
function Ae (line 33) | function Ae(e){Ne(e,!0)}
function Ie (line 33) | function Ie(e,t,n){var i=function(r){r>=e.length?n():e[r]?t(e[r],(functi...
function Fe (line 33) | function Fe(e){return function(t,n,i){var o=!1,a=0,s=null;Re(e,(function...
function Re (line 33) | function Re(e,t){return Le(e.map((function(e){return Object.keys(e.compo...
function Le (line 33) | function Le(e){return Array.prototype.concat.apply([],e)}
function Be (line 33) | function Be(e){return e.__esModule||Ve&&"Module"===e[Symbol.toStringTag]}
function ze (line 33) | function ze(e){var t=!1;return function(){var n=[],i=arguments.length;wh...
function t (line 33) | function t(t){e.call(this),this.name=this._name="NavigationDuplicated",t...
function Ue (line 33) | function Ue(e){if(!e)if(le){var t=document.querySelector("base");e=t&&t....
function qe (line 33) | function qe(e,t){var n,i=Math.max(e.length,t.length);for(n=0;n<i;n++)if(...
function Ye (line 33) | function Ye(e,t,n,i){var r=Re(e,(function(e,i,r,o){var a=Ke(e,t);if(a)re...
function Ke (line 33) | function Ke(e,t){return"function"!==typeof e&&(e=ee.extend(e)),e.options...
function Xe (line 33) | function Xe(e){return Ye(e,"beforeRouteLeave",Je,!0)}
function Ge (line 33) | function Ge(e){return Ye(e,"beforeRouteUpdate",Je)}
function Je (line 33) | function Je(e,t){if(t)return function(){return e.apply(t,arguments)}}
function Ze (line 33) | function Ze(e,t,n){return Ye(e,"beforeRouteEnter",(function(e,i,r,o){ret...
function Qe (line 33) | function Qe(e,t,n,i,r){return function(o,a,s){return e(o,a,(function(e){...
function et (line 33) | function et(e,t,n,i){t[n]&&!t[n]._isBeingDestroyed?e(t[n]):i()&&setTimeo...
function t (line 33) | function t(t,n){var i=this;e.call(this,t,n);var r=t.options.scrollBehavi...
function nt (line 33) | function nt(e){var t=decodeURI(window.location.pathname);return e&&0===t...
function t (line 33) | function t(t,n,i){e.call(this,t,n),i&&rt(this.base)||ot()}
function rt (line 33) | function rt(e){var t=nt(e);if(!/^\/#/.test(t))return window.location.rep...
function ot (line 33) | function ot(){var e=at();return"/"===e.charAt(0)||(ut("/"+e),!1)}
function at (line 33) | function at(){var e=window.location.href,t=e.indexOf("#");if(t<0)return"...
function st (line 33) | function st(e){var t=window.location.href,n=t.indexOf("#"),i=n>=0?t.slic...
function lt (line 33) | function lt(e){Pe?Ne(st(e)):window.location.hash=e}
function ut (line 33) | function ut(e){Pe?Ae(st(e)):window.location.replace(st(e))}
function t (line 33) | function t(t,n){e.call(this,t,n),this.stack=[],this.index=-1}
function ht (line 33) | function ht(e,t){return e.push(t),function(){var n=e.indexOf(t);n>-1&&e....
function pt (line 33) | function pt(e,t,n){var i="hash"===n?"#"+t:t;return e?j(e+"/"+i):i}
function r (line 33) | function r(e){if("function"!==typeof e)throw new TypeError("executor mus...
function b (line 33) | function b(){if(!g){g=!0;var e=navigator.userAgent,t=/(?:MSIE.(\d+\.\d+)...
function i (line 33) | function i(e,t){return function(){e&&e.apply(this,arguments),t&&t.apply(...
function n (line 33) | function n(i){if(t[i])return t[i].exports;var r=t[i]={i:i,l:!1,exports:{...
function i (line 33) | function i(e,t,n,i,r,o,a,s){var l,u="function"===typeof e?e.options:e;if...
function t (line 33) | function t(e){for(var t=arguments.length,n=Array(t>1?t-1:0),a=1;a<t;a++)...
function u (line 33) | function u(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=argu...
function c (line 33) | function c(e){return"string"===e||"url"===e||"hex"===e||"email"===e||"pa...
function d (line 33) | function d(e,t){return void 0===e||null===e||(!("array"!==t||!Array.isAr...
function f (line 33) | function f(e,t,n){var i=[],r=0,o=e.length;function a(e){i.push.apply(i,e...
function h (line 33) | function h(e,t,n){var i=0,r=e.length;function o(a){if(a&&a.length)n(a);e...
function p (line 33) | function p(e){var t=[];return Object.keys(e).forEach((function(n){t.push...
function m (line 33) | function m(e,t,n,i){if(t.first){var r=p(e);return h(r,n,i)}var o=t.first...
function v (line 33) | function v(e){return function(t){return t&&t.message?(t.field=t.field||e...
function g (line 33) | function g(e,t){if(t)for(var n in t)if(t.hasOwnProperty(n)){var i=t[n];"...
function b (line 33) | function b(e,t,n,i,r,o){!e.required||n.hasOwnProperty(e.field)&&!d(t,o||...
function _ (line 33) | function _(e,t,n,i,r){(/^\s+$/.test(t)||""===t)&&i.push(u(r.messages.whi...
function S (line 33) | function S(e,t,n,i,r){if(e.required&&void 0===t)y(e,t,n,i,r);else{var o=...
function k (line 33) | function k(e,t,n,i,r){var o="number"===typeof e.len,a="number"===typeof ...
function j (line 33) | function j(e,t,n,i,r){e[$]=Array.isArray(e[$])?e[$]:[],-1===e[$].indexOf...
function D (line 33) | function D(e,t,n,i,r){if(e.pattern)if(e.pattern instanceof RegExp)e.patt...
function N (line 33) | function N(e,t,n,i,r){var o=[],a=e.required||!e.required&&i.hasOwnProper...
function I (line 33) | function I(e,t,n,i,r){var o=[],a=e.required||!e.required&&i.hasOwnProper...
function R (line 33) | function R(e,t,n,i,r){var o=[],a=e.required||!e.required&&i.hasOwnProper...
function V (line 33) | function V(e,t,n,i,r){var o=[],a=e.required||!e.required&&i.hasOwnProper...
function z (line 33) | function z(e,t,n,i,r){var o=[],a=e.required||!e.required&&i.hasOwnProper...
function W (line 33) | function W(e,t,n,i,r){var o=[],a=e.required||!e.required&&i.hasOwnProper...
function q (line 33) | function q(e,t,n,i,r){var o=[],a=e.required||!e.required&&i.hasOwnProper...
function K (line 33) | function K(e,t,n,i,r){var o=[],a=e.required||!e.required&&i.hasOwnProper...
function G (line 33) | function G(e,t,n,i,r){var o=[],a=e.required||!e.required&&i.hasOwnProper...
function Q (line 33) | function Q(e,t,n,i,r){var o=[],a=e.required||!e.required&&i.hasOwnProper...
function te (line 33) | function te(e,t,n,i,r){var o=[],a=e.required||!e.required&&i.hasOwnPrope...
function ie (line 33) | function ie(e,t,n,i,r){var o=[],a=e.required||!e.required&&i.hasOwnPrope...
function oe (line 33) | function oe(e,t,n,i,r){var o=[],s=Array.isArray(t)?"array":"undefined"==...
function se (line 33) | function se(e,t,n,i,r){var o=e.type,a=[],s=e.required||!e.required&&i.ha...
function ce (line 33) | function ce(){return{default:"Validation error on field %s",required:"%s...
function fe (line 33) | function fe(e){this.rules=null,this._messages=de,this.define(e)}
function o (line 33) | function o(e,t){return r()({},t,{fullField:n.fullField+"."+e})}
function c (line 33) | function c(){var a=arguments.length>0&&void 0!==arguments[0]?arguments[0...
function _ (line 33) | function _(e){var t=void 0,n=void 0,i=[],r={};function o(e){Array.isArra...
function v (line 33) | function v(e,t,i,o,a,s){var l=i+e.length,u=o.length,c=h;return void 0!==...
function n (line 33) | function n(i){if(t[i])return t[i].exports;var r=t[i]={i:i,l:!1,exports:{...
function i (line 33) | function i(e,t,n,i,r,o,a,s){var l,u="function"===typeof e?e.options:e;if...
function n (line 33) | function n(i){if(t[i])return t[i].exports;var r=t[i]={i:i,l:!1,exports:{...
function i (line 33) | function i(e,t,n,i,r,o,a,s){var l,u="function"===typeof e?e.options:e;if...
function r (line 33) | function r(e){var t,n;this.promise=new e((function(e,i){if(void 0!==t||v...
function i (line 33) | function i(e){return"[object String]"===Object.prototype.toString.call(e)}
function r (line 33) | function r(e){return"[object Object]"===Object.prototype.toString.call(e)}
function o (line 33) | function o(e){return e&&e.nodeType===Node.ELEMENT_NODE}
function n (line 33) | function n(i){if(t[i])return t[i].exports;var r=t[i]={i:i,l:!1,exports:{...
function i (line 33) | function i(e,t,n,i,r,o,a,s){var l,u="function"===typeof e?e.options:e;if...
function h (line 33) | function h(e,t){return Object.prototype.hasOwnProperty.call(e,t)}
function p (line 33) | function p(e,t){var n={},i=void 0;for(i in e)n[i]=e[i];for(i in t)if(h(t...
function m (line 33) | function m(e){return void 0!==e&&(e=parseInt(e,10),isNaN(e)&&(e=null)),e}
function v (line 33) | function v(e){return"undefined"!==typeof e&&(e=m(e),isNaN(e)&&(e=80)),e}
function g (line 33) | function g(e){return"number"===typeof e?e:"string"===typeof e?/^\d+(?:px...
function b (line 33) | function b(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=argu...
function y (line 33) | function y(e,t,n){var i=!1,r=e.indexOf(t),o=-1!==r,a=function(){e.push(t...
function _ (line 33) | function _(e,t){var n=arguments.length>2&&void 0!==arguments[2]?argument...
function N (line 33) | function N(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[...
function A (line 33) | function A(e){var t={};return Object.keys(e).forEach((function(n){var i=...
function R (line 33) | function R(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a ...
function e (line 33) | function e(t){for(var n in R(this,e),this.observers=[],this.table=null,t...
function o (line 33) | function o(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.en...
function a (line 33) | function a(e,t,n){return t&&o(e.prototype,t),n&&o(e,n),e}
function n (line 33) | function n(i){if(t[i])return t[i].exports;var r=t[i]={i:i,l:!1,exports:{...
function i (line 33) | function i(e,t,n,i,r,o,a,s){var l,u="function"===typeof e?e.options:e;if...
function n (line 33) | function n(i){if(t[i])return t[i].exports;var r=t[i]={i:i,l:!1,exports:{...
function i (line 33) | function i(e,t,n,i,r,o,a,s){var l,u="function"===typeof e?e.options:e;if...
function n (line 33) | function n(i){if(t[i])return t[i].exports;var r=t[i]={i:i,l:!1,exports:{...
function i (line 33) | function i(e,t,n,i,r,o,a,s){var l,u="function"===typeof e?e.options:e;if...
function n (line 33) | function n(i){if(t[i])return t[i].exports;var r=t[i]={i:i,l:!1,exports:{...
function i (line 33) | function i(e,t,n,i,r,o,a,s){var l,u="function"===typeof e?e.options:e;if...
function n (line 33) | function n(i){if(t[i])return t[i].exports;var r=t[i]={i:i,l:!1,exports:{...
function i (line 33) | function i(e,t,n,i,r,o,a,s){var l,u="function"===typeof e?e.options:e;if...
function n (line 33) | function n(i){if(t[i])return t[i].exports;var r=t[i]={i:i,l:!1,exports:{...
function i (line 33) | function i(e,t,n,i,r,o,a,s){var l,u="function"===typeof e?e.options:e;if...
function n (line 33) | function n(i){if(t[i])return t[i].exports;var r=t[i]={i:i,l:!1,exports:{...
function a (line 33) | function a(e){return"[object Array]"===o.call(e)}
function s (line 33) | function s(e){return"[object ArrayBuffer]"===o.call(e)}
function l (line 33) | function l(e){return"undefined"!==typeof FormData&&e instanceof FormData}
function u (line 33) | function u(e){var t;return t="undefined"!==typeof ArrayBuffer&&ArrayBuff...
function c (line 33) | function c(e){return"string"===typeof e}
function d (line 33) | function d(e){return"number"===typeof e}
function f (line 33) | function f(e){return"undefined"===typeof e}
function h (line 33) | function h(e){return null!==e&&"object"===typeof e}
function p (line 33) | function p(e){return"[object Date]"===o.call(e)}
function m (line 33) | function m(e){return"[object File]"===o.call(e)}
function v (line 33) | function v(e){return"[object Blob]"===o.call(e)}
function g (line 33) | function g(e){return"[object Function]"===o.call(e)}
function b (line 33) | function b(e){return h(e)&&g(e.pipe)}
function y (line 33) | function y(e){return"undefined"!==typeof URLSearchParams&&e instanceof U...
function _ (line 33) | function _(e){return e.replace(/^\s*/,"").replace(/\s*$/,"")}
function x (line 33) | function x(){return("undefined"===typeof navigator||"ReactNative"!==navi...
function w (line 33) | function w(e,t){if(null!==e&&"undefined"!==typeof e)if("object"!==typeof...
function C (line 33) | function C(){var e={};function t(t,n){"object"===typeof e[n]&&"object"==...
function S (line 33) | function S(){var e={};function t(t,n){"object"===typeof e[n]&&"object"==...
function O (line 33) | function O(e,t,n){return w(t,(function(t,r){e[r]=n&&"function"===typeof ...
function n (line 33) | function n(i){if(t[i])return t[i].exports;var r=t[i]={i:i,l:!1,exports:{...
function i (line 33) | function i(e,t,n,i,r,o,a,s){var l,u="function"===typeof e?e.options:e;if...
function l (line 40) | function l(e){var t=new o(e),n=r(o.prototype.request,t);return i.extend(...
function i (line 40) | function i(e,t,n){this.$children.forEach((function(r){var o=r.$options.c...
function n (line 40) | function n(i){if(t[i])return t[i].exports;var r=t[i]={i:i,l:!1,exports:{...
function i (line 40) | function i(e,t,n,i,r,o,a,s){var l,u="function"===typeof e?e.options:e;if...
function i (line 40) | function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a ...
function i (line 40) | function i(e){return void 0!==e&&null!==e}
function r (line 40) | function r(e){var t=/([(\uAC00-\uD7AF)|(\u3130-\u318F)])+/gi;return t.te...
function l (line 40) | function l(e){var t=0,n=0,i=0,r=0;return"detail"in e&&(n=e.detail),"whee...
function h (line 40) | function h(e){return e.replace(/[|\\{()[^$+*?.-]/g,"\\$&")}
function p (line 40) | function p(e,t){for(var n=[],i=0,r=e.length;i<r;i++)n.push(e[i].substr(0...
function m (line 40) | function m(e){return function(t,n,i){var r=i[e].indexOf(n.charAt(0).toUp...
function v (line 40) | function v(e,t){e=String(e),t=t||2;while(e.length<t)e="0"+e;return e}
function a (line 40) | function a(e){return e&&e.__esModule?e:{default:e}}
function v (line 40) | function v(e,t,n,i){for(var r=t;r<n;r++)e[r]=i}
function n (line 40) | function n(i){if(t[i])return t[i].exports;var r=t[i]={i:i,l:!1,exports:{...
function i (line 40) | function i(e,t,n,i,r,o,a,s){var l,u="function"===typeof e?e.options:e;if...
function n (line 40) | function n(i){if(t[i])return t[i].exports;var r=t[i]={i:i,l:!1,exports:{...
function i (line 40) | function i(e,t,n,i,r,o,a,s){var l,u="function"===typeof e?e.options:e;if...
function n (line 40) | function n(i){if(t[i])return t[i].exports;var r=t[i]={i:i,l:!1,exports:{...
function i (line 40) | function i(e,t,n,i,r,o,a,s){var l,u="function"===typeof e?e.options:e;if...
function n (line 40) | function n(i){if(t[i])return t[i].exports;var r=t[i]={i:i,l:!1,exports:{...
function i (line 40) | function i(e,t,n,i,r,o,a,s){var l,u="function"===typeof e?e.options:e;if...
function n (line 40) | function n(i){if(t[i])return t[i].exports;var r=t[i]={i:i,l:!1,exports:{...
function i (line 40) | function i(e,t,n,i,r,o,a,s){var l,u="function"===typeof e?e.options:e;if...
function o (line 40) | function o(e){return e&&e.__esModule?e:{default:e}}
function n (line 40) | function n(i){if(t[i])return t[i].exports;var r=t[i]={i:i,l:!1,exports:{...
function i (line 40) | function i(e,t,n,i,r,o,a,s){var l,u="function"===typeof e?e.options:e;if...
function a (line 40) | function a(e){return e&&e.__esModule?e:{default:e}}
function n (line 40) | function n(i){if(t[i])return t[i].exports;var r=t[i]={i:i,l:!1,exports:{...
function a (line 40) | function a(e,t){var n=t.row,r=t.column,o=t.$index,a=r.property,s=a&&Obje...
function s (line 40) | function s(e,t){var n=t.row,i=t.treeNode,r=t.store;if(!i)return null;var...
function h (line 40) | function h(e,t){return Object.prototype.hasOwnProperty.call(e,t)}
function p (line 40) | function p(e,t){var n={},i=void 0;for(i in e)n[i]=e[i];for(i in t)if(h(t...
function m (line 40) | function m(e){return void 0!==e&&(e=parseInt(e,10),isNaN(e)&&(e=null)),e}
function v (line 40) | function v(e){return"undefined"!==typeof e&&(e=m(e),isNaN(e)&&(e=80)),e}
function g (line 40) | function g(e){return"number"===typeof e?e:"string"===typeof e?/^\d+(?:px...
function b (line 40) | function b(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=argu...
function y (line 40) | function y(e,t,n){var i=!1,r=e.indexOf(t),o=-1!==r,a=function(){e.push(t...
function _ (line 40) | function _(e,t){var n=arguments.length>2&&void 0!==arguments[2]?argument...
function V (line 40) | function V(e,t,n){var i,r,o,a=new Array(n),s=8*n-t-1,l=(1<<s)-1,u=l>>1,c...
function B (line 40) | function B(e,t,n){var i,r=8*n-t-1,o=(1<<r)-1,a=o>>1,s=r-7,l=n-1,u=e[l--]...
function z (line 40) | function z(e){return e[3]<<24|e[2]<<16|e[1]<<8|e[0]}
function H (line 40) | function H(e){return[255&e]}
function W (line 40) | function W(e){return[255&e,e>>8&255]}
function U (line 40) | function U(e){return[255&e,e>>8&255,e>>16&255,e>>24&255]}
function q (line 40) | function q(e){return V(e,52,8)}
function Y (line 40) | function Y(e){return V(e,23,4)}
function K (line 40) | function K(e,t,n){m(e[_],t,{get:function(){return this[n]}})}
function X (line 40) | function X(e,t,n,i){var r=+n,o=h(r);if(o+t>e[R])throw k(w);var a=e[F]._b...
function G (line 40) | function G(e,t,n,i,r,o){var a=+n,s=h(a);if(s+t>e[R])throw k(w);for(var l...
function n (line 40) | function n(i){if(t[i])return t[i].exports;var r=t[i]={i:i,l:!1,exports:{...
function i (line 40) | function i(e,t,n,i,r,o,a,s){var l,u="function"===typeof e?e.options:e;if...
function o (line 40) | function o(){throw new Error("setTimeout has not been defined")}
function a (line 40) | function a(){throw new Error("clearTimeout has not been defined")}
function s (line 40) | function s(e){if(n===setTimeout)return setTimeout(e,0);if((n===o||!n)&&s...
function l (line 40) | function l(e){if(i===clearTimeout)return clearTimeout(e);if((i===a||!i)&...
function h (line 40) | function h(){d&&u&&(d=!1,u.length?c=u.concat(c):f=-1,c.length&&p())}
function p (line 40) | function p(){if(!d){var e=s(h);d=!0;var t=c.length;while(t){u=c,c=[];whi...
function m (line 40) | function m(e,t){this.fun=e,this.array=t}
function v (line 40) | function v(){}
function n (line 40) | function n(i){if(t[i])return t[i].exports;var r=t[i]={i:i,l:!1,exports:{...
function i (line 40) | function i(e,t,n,i,r,o,a,s){var l,u="function"===typeof e?e.options:e;if...
function f (line 40) | function f(e){var t=window.getComputedStyle(e),n=t.getPropertyValue("box...
function h (line 40) | function h(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[...
function n (line 40) | function n(i){if(t[i])return t[i].exports;var r=t[i]={i:i,l:!1,exports:{...
function i (line 40) | function i(e,t,n,i,r,o,a,s){var l,u="function"===typeof e?e.options:e;if...
function n (line 40) | function n(i){if(t[i])return t[i].exports;var r=t[i]={i:i,l:!1,exports:{...
function i (line 40) | function i(e,t,n,i,r,o,a,s){var l,u="function"===typeof e?e.options:e;if...
function n (line 40) | function n(i){if(t[i])return t[i].exports;var r=t[i]={i:i,l:!1,exports:{...
function i (line 40) | function i(e,t,n,i,r,o,a,s){var l,u="function"===typeof e?e.options:e;if...
function r (line 40) | function r(){this.handlers=[]}
FILE: vhr/vhrserver/vhr-web/src/test/java/org/javaboy/vhr/VhrApplicationTests.java
class VhrApplicationTests (line 10) | @SpringBootTest
method contextLoads (line 13) | @Test
FILE: vuehr/src/store/index.js
method INIT_CURRENTHR (line 24) | INIT_CURRENTHR(state, hr) {
method initRoutes (line 27) | initRoutes(state, data) {
method changeCurrentSession (line 30) | changeCurrentSession(state, currentSession) {
method addMessage (line 34) | addMessage(state, msg) {
method INIT_DATA (line 46) | INIT_DATA(state) {
method INIT_HR (line 53) | INIT_HR(state, data) {
method connect (line 58) | connect(context) {
method initData (line 79) | initData(context) {
FILE: vuehr/src/utils/menus.js
method component (line 36) | component(resolve) {
FILE: vuehr/src/utils/mymessage.js
class JavaboyMessage (line 5) | class JavaboyMessage {
method [showMessage] (line 6) | [showMessage](type, options, single) {
method info (line 15) | info(options, single = true) {
method warning (line 18) | warning(options, single = true) {
method error (line 21) | error(options, single = true) {
method success (line 24) | success(options, single = true) {
FILE: vuehr/src/utils/sockjs.js
function s (line 2) | function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&re...
function CloseEvent (line 24) | function CloseEvent() {
function EventEmitter (line 43) | function EventEmitter() {
function g (line 61) | function g() {
function Event (line 98) | function Event(eventType) {
function EventTarget (line 126) | function EventTarget() {
function TransportMessageEvent (line 190) | function TransportMessageEvent(data) {
function FacadeJS (line 207) | function FacadeJS(transport) {
function InfoAjax (line 351) | function InfoAjax(url, AjaxObject) {
function InfoReceiverIframe (line 400) | function InfoReceiverIframe(transUrl) {
function InfoIframe (line 442) | function InfoIframe(baseUrl, url) {
function InfoReceiver (line 519) | function InfoReceiver(baseUrl, urlInfo) {
function SockJS (line 641) | function SockJS(url, protocols, options) {
function userSetCode (line 736) | function userSetCode(code) {
function toInteger (line 1070) | function toInteger(num) {
function ToUint32 (line 1080) | function ToUint32(x) {
function Empty (line 1092) | function Empty() {}
function AbstractXHRObject (line 1484) | function AbstractXHRObject(method, url, payload, opts) {
function EventSourceTransport (line 1697) | function EventSourceTransport(transUrl) {
function HtmlFileTransport (line 1725) | function HtmlFileTransport(transUrl) {
function IframeTransport (line 1770) | function IframeTransport(transport, transUrl, baseUrl) {
function JsonPTransport (line 1907) | function JsonPTransport(transUrl) {
function createAjaxSender (line 1942) | function createAjaxSender(AjaxObject) {
function AjaxBasedTransport (line 1972) | function AjaxBasedTransport(transUrl, urlSuffix, Receiver, AjaxObject) {
function BufferedSender (line 1995) | function BufferedSender(url, sender) {
function IframeWrapTransport (line 2085) | function IframeWrapTransport(transUrl, baseUrl) {
function Polling (line 2125) | function Polling(Receiver, receiveUrl, AjaxObject) {
function SenderReceiver (line 2189) | function SenderReceiver(transUrl, urlSuffix, senderFunc, Receiver, AjaxO...
function EventSourceReceiver (line 2238) | function EventSourceReceiver(url) {
function HtmlfileReceiver (line 2308) | function HtmlfileReceiver(url) {
function JsonpReceiver (line 2401) | function JsonpReceiver(url) {
function XhrReceiver (line 2585) | function XhrReceiver(url, AjaxObject) {
function createIframe (line 2662) | function createIframe(id) {
function createForm (line 2674) | function createForm() {
function XDRObject (line 2771) | function XDRObject(method, url, payload) {
function XHRCorsObject (line 2866) | function XHRCorsObject(method, url, payload, opts) {
function XHRFake (line 2883) | function XHRFake(/* method, url, payload, opts */) {
function XHRLocalObject (line 2909) | function XHRLocalObject(method, url, payload /*, opts */) {
function WebSocketTransport (line 2937) | function WebSocketTransport(transUrl, ignore, options) {
function XdrPollingTransport (line 3035) | function XdrPollingTransport(transUrl) {
function XdrStreamingTransport (line 3063) | function XdrStreamingTransport(transUrl) {
function XhrPollingTransport (line 3094) | function XhrPollingTransport(transUrl) {
function XhrStreamingTransport (line 3131) | function XhrStreamingTransport(transUrl) {
function useColors (line 3770) | function useColors() {
function formatArgs (line 3809) | function formatArgs(args) {
function log (line 3849) | function log() {
function save (line 3864) | function save(namespaces) {
function load (line 3881) | function load() {
function localstorage (line 3909) | function localstorage() {
function selectColor (line 3961) | function selectColor(namespace) {
function createDebug (line 3980) | function createDebug(namespace) {
function enable (line 4055) | function enable(namespaces) {
function disable (line 4078) | function disable() {
function enabled (line 4090) | function enabled(name) {
function coerce (line 4113) | function coerce(val) {
function runInContext (line 4173) | function runInContext(context, exports) {
function parse (line 5096) | function parse(str) {
function fmtShort (line 5155) | function fmtShort(ms) {
function fmtLong (line 5179) | function fmtLong(ms) {
function plural (line 5191) | function plural(ms, n, name) {
function querystring (line 5213) | function querystring(query) {
function querystringify (line 5239) | function querystringify(obj, prefix) {
function extractProtocol (line 5349) | function extractProtocol(address) {
function resolve (line 5367) | function resolve(relative, base) {
function URL (line 5404) | function URL(address, location, parser) {
FILE: vuehr/src/utils/stomp.js
function Frame (line 23) | function Frame(command, headers, body) {
function Client (line 129) | function Client(ws) {
Condensed preview — 202 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (2,185K chars).
[
{
"path": ".gitattributes",
"chars": 146,
"preview": "*.css linguist-language=Java\n*.less linguist-language=Java\n*.js linguist-language=Java\n*.html linguist-language=Java\n*.v"
},
{
"path": ".gitignore",
"chars": 157,
"preview": "node_modules/\n.DS_Store\n/dist/\nnpm-debug.log*\nyarn-debug.log*\nyarn-error.log*\n.idea\ntarget/\n*.iml\n!.mvn/wrapper/maven-wr"
},
{
"path": "About.md",
"chars": 2015,
"preview": "vhr 在发布后,受到了很多小伙伴的关注,因此我也陆陆续续写了很多介绍的文章和相关的视频,但是一直都比较零散,这里将 vhr 相关的视频和文章列一个索引出来,供大家参考。\n\n### 相关视频:\n\n1. [Spring Boot 整合 Rab"
},
{
"path": "README.md",
"chars": 9413,
"preview": "#### vhr 是一个脚手架,如需业务完整的项目,请移步这里->[TienChin](https://github.com/lenve/tienchin)\n#### 本项目已使用 SpringBoot3+Vue3 重构,地址:[https"
},
{
"path": "README_zh.md",
"chars": 3151,
"preview": "**最新版部署视频教程:[前后端分离项目(微人事)常见部署问题汇总](https://mp.weixin.qq.com/s/dcJv6BIVFPnokI8nBf4IrQ)**\n\nvhr 在发布后,受到了很多小伙伴的关注,因此我也陆陆续续写了"
},
{
"path": "vhr/mailserver/.gitignore",
"chars": 333,
"preview": "HELP.md\ntarget/\n!.mvn/wrapper/maven-wrapper.jar\n!**/src/main/**\n!**/src/test/**\n\n### STS ###\n.apt_generated\n.classpath\n."
},
{
"path": "vhr/mailserver/.mvn/wrapper/MavenWrapperDownloader.java",
"chars": 4948,
"preview": "/*\n * Copyright 2012-2019 the original author or authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"Lic"
},
{
"path": "vhr/mailserver/.mvn/wrapper/maven-wrapper.properties",
"chars": 218,
"preview": "distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.2/apache-maven-3.6.2-bin.zip\nwrap"
},
{
"path": "vhr/mailserver/mvnw",
"chars": 10079,
"preview": "#!/bin/sh\n# ----------------------------------------------------------------------------\n# Licensed to the Apache Softwa"
},
{
"path": "vhr/mailserver/mvnw.cmd",
"chars": 6610,
"preview": "@REM ----------------------------------------------------------------------------\n@REM Licensed to the Apache Software F"
},
{
"path": "vhr/mailserver/pom.xml",
"chars": 2442,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project xmlns=\"http://maven.apache.org/POM/4.0.0\" xmlns:xsi=\"http://www.w3.org/2"
},
{
"path": "vhr/mailserver/src/main/java/org/javaboy/mailserver/MailserverApplication.java",
"chars": 568,
"preview": "package org.javaboy.mailserver;\n\nimport org.javaboy.vhr.model.MailConstants;\nimport org.springframework.amqp.core.Queue;"
},
{
"path": "vhr/mailserver/src/main/java/org/javaboy/mailserver/receiver/MailReceiver.java",
"chars": 3366,
"preview": "package org.javaboy.mailserver.receiver;\n\nimport com.rabbitmq.client.Channel;\nimport org.javaboy.vhr.model.Employee;\nimp"
},
{
"path": "vhr/mailserver/src/main/resources/application.properties",
"chars": 626,
"preview": "server.port=8082\nspring.mail.host=smtp.qq.com\nspring.mail.protocol=smtp\nspring.mail.default-encoding=UTF-8\nspring.mail.p"
},
{
"path": "vhr/mailserver/src/main/resources/templates/mail.html",
"chars": 760,
"preview": "<!DOCTYPE html>\n<html lang=\"en\" xmlns:th=\"http://www.thymeleaf.org\">\n<head>\n <meta charset=\"UTF-8\">\n <title>入职欢迎邮件"
},
{
"path": "vhr/mailserver/src/test/java/org/javaboy/mailserver/MailserverApplicationTests.java",
"chars": 214,
"preview": "package org.javaboy.mailserver;\n\nimport org.junit.Test;\nimport org.springframework.boot.test.context.SpringBootTest;\n\n@S"
},
{
"path": "vhr/pom.xml",
"chars": 783,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project xmlns=\"http://maven.apache.org/POM/4.0.0\"\n xmlns:xsi=\"http://www"
},
{
"path": "vhr/vhrserver/pom.xml",
"chars": 697,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project xmlns=\"http://maven.apache.org/POM/4.0.0\"\n xmlns:xsi=\"http://www"
},
{
"path": "vhr/vhrserver/vhr-mapper/pom.xml",
"chars": 1617,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project xmlns=\"http://maven.apache.org/POM/4.0.0\"\n xmlns:xsi=\"http://www"
},
{
"path": "vhr/vhrserver/vhr-mapper/src/main/java/org/javaboy/vhr/mapper/AdjustSalaryMapper.java",
"chars": 400,
"preview": "package org.javaboy.vhr.mapper;\n\nimport org.javaboy.vhr.model.AdjustSalary;\n\npublic interface AdjustSalaryMapper {\n i"
},
{
"path": "vhr/vhrserver/vhr-mapper/src/main/java/org/javaboy/vhr/mapper/AdjustSalaryMapper.xml",
"chars": 4154,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\" \"http://mybatis.org"
},
{
"path": "vhr/vhrserver/vhr-mapper/src/main/java/org/javaboy/vhr/mapper/AppraiseMapper.java",
"chars": 372,
"preview": "package org.javaboy.vhr.mapper;\n\nimport org.javaboy.vhr.model.Appraise;\n\npublic interface AppraiseMapper {\n int delet"
},
{
"path": "vhr/vhrserver/vhr-mapper/src/main/java/org/javaboy/vhr/mapper/AppraiseMapper.xml",
"chars": 3674,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\" \"http://mybatis.org"
},
{
"path": "vhr/vhrserver/vhr-mapper/src/main/java/org/javaboy/vhr/mapper/DepartmentMapper.java",
"chars": 607,
"preview": "package org.javaboy.vhr.mapper;\n\nimport org.javaboy.vhr.model.Department;\n\nimport java.util.List;\n\npublic interface Depa"
},
{
"path": "vhr/vhrserver/vhr-mapper/src/main/java/org/javaboy/vhr/mapper/DepartmentMapper.xml",
"chars": 5113,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\" \"http://mybatis.org"
},
{
"path": "vhr/vhrserver/vhr-mapper/src/main/java/org/javaboy/vhr/mapper/EmpSalaryMapper.java",
"chars": 379,
"preview": "package org.javaboy.vhr.mapper;\n\nimport org.javaboy.vhr.model.EmpSalary;\n\npublic interface EmpSalaryMapper {\n int del"
},
{
"path": "vhr/vhrserver/vhr-mapper/src/main/java/org/javaboy/vhr/mapper/EmpSalaryMapper.xml",
"chars": 2349,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\" \"http://mybatis.org"
},
{
"path": "vhr/vhrserver/vhr-mapper/src/main/java/org/javaboy/vhr/mapper/EmployeeMapper.java",
"chars": 1067,
"preview": "package org.javaboy.vhr.mapper;\n\nimport org.apache.ibatis.annotations.Param;\nimport org.javaboy.vhr.model.Employee;\n\nimp"
},
{
"path": "vhr/vhrserver/vhr-mapper/src/main/java/org/javaboy/vhr/mapper/EmployeeMapper.xml",
"chars": 23514,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\" \"http://mybatis.org"
},
{
"path": "vhr/vhrserver/vhr-mapper/src/main/java/org/javaboy/vhr/mapper/EmployeeecMapper.java",
"chars": 386,
"preview": "package org.javaboy.vhr.mapper;\n\nimport org.javaboy.vhr.model.Employeeec;\n\npublic interface EmployeeecMapper {\n int d"
},
{
"path": "vhr/vhrserver/vhr-mapper/src/main/java/org/javaboy/vhr/mapper/EmployeeecMapper.xml",
"chars": 4018,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\" \"http://mybatis.org"
},
{
"path": "vhr/vhrserver/vhr-mapper/src/main/java/org/javaboy/vhr/mapper/EmployeeremoveMapper.java",
"chars": 414,
"preview": "package org.javaboy.vhr.mapper;\n\nimport org.javaboy.vhr.model.Employeeremove;\n\npublic interface EmployeeremoveMapper {\n "
},
{
"path": "vhr/vhrserver/vhr-mapper/src/main/java/org/javaboy/vhr/mapper/EmployeeremoveMapper.xml",
"chars": 4192,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\" \"http://mybatis.org"
},
{
"path": "vhr/vhrserver/vhr-mapper/src/main/java/org/javaboy/vhr/mapper/EmployeetrainMapper.java",
"chars": 407,
"preview": "package org.javaboy.vhr.mapper;\n\nimport org.javaboy.vhr.model.Employeetrain;\n\npublic interface EmployeetrainMapper {\n "
},
{
"path": "vhr/vhrserver/vhr-mapper/src/main/java/org/javaboy/vhr/mapper/EmployeetrainMapper.xml",
"chars": 3344,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\" \"http://mybatis.org"
},
{
"path": "vhr/vhrserver/vhr-mapper/src/main/java/org/javaboy/vhr/mapper/HrMapper.java",
"chars": 840,
"preview": "package org.javaboy.vhr.mapper;\n\nimport org.apache.ibatis.annotations.Param;\nimport org.javaboy.vhr.model.Hr;\nimport org"
},
{
"path": "vhr/vhrserver/vhr-mapper/src/main/java/org/javaboy/vhr/mapper/HrMapper.xml",
"chars": 7320,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\" \"http://mybatis.org"
},
{
"path": "vhr/vhrserver/vhr-mapper/src/main/java/org/javaboy/vhr/mapper/HrRoleMapper.java",
"chars": 522,
"preview": "package org.javaboy.vhr.mapper;\n\nimport org.apache.ibatis.annotations.Param;\nimport org.javaboy.vhr.model.HrRole;\n\npubli"
},
{
"path": "vhr/vhrserver/vhr-mapper/src/main/java/org/javaboy/vhr/mapper/HrRoleMapper.xml",
"chars": 2604,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\" \"http://mybatis.org"
},
{
"path": "vhr/vhrserver/vhr-mapper/src/main/java/org/javaboy/vhr/mapper/JobLevelMapper.java",
"chars": 543,
"preview": "package org.javaboy.vhr.mapper;\n\nimport org.apache.ibatis.annotations.Param;\nimport org.javaboy.vhr.model.JobLevel;\n\nimp"
},
{
"path": "vhr/vhrserver/vhr-mapper/src/main/java/org/javaboy/vhr/mapper/JobLevelMapper.xml",
"chars": 3573,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\" \"http://mybatis.org"
},
{
"path": "vhr/vhrserver/vhr-mapper/src/main/java/org/javaboy/vhr/mapper/MailSendLogMapper.java",
"chars": 484,
"preview": "package org.javaboy.vhr.mapper;\n\nimport org.apache.ibatis.annotations.Param;\nimport org.javaboy.vhr.model.MailSendLog;\n\n"
},
{
"path": "vhr/vhrserver/vhr-mapper/src/main/java/org/javaboy/vhr/mapper/MailSendLogMapper.xml",
"chars": 930,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n<!DOCTYPE mapper\n PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\"\n \"ht"
},
{
"path": "vhr/vhrserver/vhr-mapper/src/main/java/org/javaboy/vhr/mapper/MenuMapper.java",
"chars": 530,
"preview": "package org.javaboy.vhr.mapper;\n\nimport org.javaboy.vhr.model.Menu;\n\nimport java.util.List;\n\npublic interface MenuMapper"
},
{
"path": "vhr/vhrserver/vhr-mapper/src/main/java/org/javaboy/vhr/mapper/MenuMapper.xml",
"chars": 8334,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\" \"http://mybatis.org"
},
{
"path": "vhr/vhrserver/vhr-mapper/src/main/java/org/javaboy/vhr/mapper/MenuRoleMapper.java",
"chars": 537,
"preview": "package org.javaboy.vhr.mapper;\n\nimport org.apache.ibatis.annotations.Param;\nimport org.javaboy.vhr.model.MenuRole;\n\npub"
},
{
"path": "vhr/vhrserver/vhr-mapper/src/main/java/org/javaboy/vhr/mapper/MenuRoleMapper.xml",
"chars": 2604,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\" \"http://mybatis.org"
},
{
"path": "vhr/vhrserver/vhr-mapper/src/main/java/org/javaboy/vhr/mapper/MsgContentMapper.java",
"chars": 386,
"preview": "package org.javaboy.vhr.mapper;\n\nimport org.javaboy.vhr.model.MsgContent;\n\npublic interface MsgContentMapper {\n int d"
},
{
"path": "vhr/vhrserver/vhr-mapper/src/main/java/org/javaboy/vhr/mapper/MsgContentMapper.xml",
"chars": 2915,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\" \"http://mybatis.org"
},
{
"path": "vhr/vhrserver/vhr-mapper/src/main/java/org/javaboy/vhr/mapper/NationMapper.java",
"chars": 417,
"preview": "package org.javaboy.vhr.mapper;\n\nimport org.javaboy.vhr.model.Nation;\n\nimport java.util.List;\n\npublic interface NationMa"
},
{
"path": "vhr/vhrserver/vhr-mapper/src/main/java/org/javaboy/vhr/mapper/NationMapper.xml",
"chars": 2073,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\" \"http://mybatis.org"
},
{
"path": "vhr/vhrserver/vhr-mapper/src/main/java/org/javaboy/vhr/mapper/OpLogMapper.java",
"chars": 351,
"preview": "package org.javaboy.vhr.mapper;\n\nimport org.javaboy.vhr.model.OpLog;\n\npublic interface OpLogMapper {\n int deleteByPri"
},
{
"path": "vhr/vhrserver/vhr-mapper/src/main/java/org/javaboy/vhr/mapper/OpLogMapper.xml",
"chars": 2774,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\" \"http://mybatis.org"
},
{
"path": "vhr/vhrserver/vhr-mapper/src/main/java/org/javaboy/vhr/mapper/PoliticsstatusMapper.java",
"chars": 488,
"preview": "package org.javaboy.vhr.mapper;\n\nimport org.javaboy.vhr.model.Politicsstatus;\n\nimport java.util.List;\n\npublic interface "
},
{
"path": "vhr/vhrserver/vhr-mapper/src/main/java/org/javaboy/vhr/mapper/PoliticsstatusMapper.xml",
"chars": 2183,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\" \"http://mybatis.org"
},
{
"path": "vhr/vhrserver/vhr-mapper/src/main/java/org/javaboy/vhr/mapper/PositionMapper.java",
"chars": 543,
"preview": "package org.javaboy.vhr.mapper;\n\nimport org.apache.ibatis.annotations.Param;\nimport org.javaboy.vhr.model.Position;\n\nimp"
},
{
"path": "vhr/vhrserver/vhr-mapper/src/main/java/org/javaboy/vhr/mapper/PositionMapper.xml",
"chars": 3164,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\" \"http://mybatis.org"
},
{
"path": "vhr/vhrserver/vhr-mapper/src/main/java/org/javaboy/vhr/mapper/RoleMapper.java",
"chars": 399,
"preview": "package org.javaboy.vhr.mapper;\n\nimport org.javaboy.vhr.model.Role;\n\nimport java.util.List;\n\npublic interface RoleMapper"
},
{
"path": "vhr/vhrserver/vhr-mapper/src/main/java/org/javaboy/vhr/mapper/RoleMapper.xml",
"chars": 2448,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\" \"http://mybatis.org"
},
{
"path": "vhr/vhrserver/vhr-mapper/src/main/java/org/javaboy/vhr/mapper/SalaryMapper.java",
"chars": 418,
"preview": "package org.javaboy.vhr.mapper;\n\nimport org.javaboy.vhr.model.Salary;\n\nimport java.util.List;\n\npublic interface SalaryMa"
},
{
"path": "vhr/vhrserver/vhr-mapper/src/main/java/org/javaboy/vhr/mapper/SalaryMapper.xml",
"chars": 8672,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\" \"http://mybatis.org"
},
{
"path": "vhr/vhrserver/vhr-mapper/src/main/java/org/javaboy/vhr/mapper/SysMsgMapper.java",
"chars": 358,
"preview": "package org.javaboy.vhr.mapper;\n\nimport org.javaboy.vhr.model.SysMsg;\n\npublic interface SysMsgMapper {\n int deleteByP"
},
{
"path": "vhr/vhrserver/vhr-mapper/src/main/java/org/javaboy/vhr/mapper/SysMsgMapper.xml",
"chars": 3079,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\" \"http://mybatis.org"
},
{
"path": "vhr/vhrserver/vhr-model/pom.xml",
"chars": 866,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project xmlns=\"http://maven.apache.org/POM/4.0.0\"\n xmlns:xsi=\"http://www"
},
{
"path": "vhr/vhrserver/vhr-model/src/main/java/org/javaboy/vhr/model/AdjustSalary.java",
"chars": 1428,
"preview": "package org.javaboy.vhr.model;\n\nimport org.slf4j.Logger;\nimport org.slf4j.LoggerFactory;\n\nimport java.util.Date;\n\npublic"
},
{
"path": "vhr/vhrserver/vhr-model/src/main/java/org/javaboy/vhr/model/Appraise.java",
"chars": 1207,
"preview": "package org.javaboy.vhr.model;\n\nimport java.util.Date;\n\npublic class Appraise {\n private Integer id;\n\n private Int"
},
{
"path": "vhr/vhrserver/vhr-model/src/main/java/org/javaboy/vhr/model/ChatMsg.java",
"chars": 913,
"preview": "package org.javaboy.vhr.model;\n\nimport java.util.Date;\n\npublic class ChatMsg {\n private String from;\n private Stri"
},
{
"path": "vhr/vhrserver/vhr-model/src/main/java/org/javaboy/vhr/model/Department.java",
"chars": 2084,
"preview": "package org.javaboy.vhr.model;\n\nimport java.io.Serializable;\nimport java.util.ArrayList;\nimport java.util.List;\nimport j"
},
{
"path": "vhr/vhrserver/vhr-model/src/main/java/org/javaboy/vhr/model/EmpSalary.java",
"chars": 506,
"preview": "package org.javaboy.vhr.model;\n\npublic class EmpSalary {\n private Integer id;\n\n private Integer eid;\n\n private "
},
{
"path": "vhr/vhrserver/vhr-model/src/main/java/org/javaboy/vhr/model/Employee.java",
"chars": 8631,
"preview": "package org.javaboy.vhr.model;\n\nimport com.fasterxml.jackson.annotation.JsonFormat;\n\nimport java.io.Serializable;\nimport"
},
{
"path": "vhr/vhrserver/vhr-model/src/main/java/org/javaboy/vhr/model/Employeeec.java",
"chars": 1314,
"preview": "package org.javaboy.vhr.model;\n\nimport java.util.Date;\n\npublic class Employeeec {\n private Integer id;\n\n private I"
},
{
"path": "vhr/vhrserver/vhr-model/src/main/java/org/javaboy/vhr/model/Employeeremove.java",
"chars": 1379,
"preview": "package org.javaboy.vhr.model;\n\nimport java.util.Date;\n\npublic class Employeeremove {\n private Integer id;\n\n priva"
},
{
"path": "vhr/vhrserver/vhr-model/src/main/java/org/javaboy/vhr/model/Employeetrain.java",
"chars": 1017,
"preview": "package org.javaboy.vhr.model;\n\nimport java.util.Date;\n\npublic class Employeetrain {\n private Integer id;\n\n privat"
},
{
"path": "vhr/vhrserver/vhr-model/src/main/java/org/javaboy/vhr/model/Hr.java",
"chars": 3528,
"preview": "package org.javaboy.vhr.model;\n\nimport com.fasterxml.jackson.annotation.JsonIgnore;\nimport org.springframework.security."
},
{
"path": "vhr/vhrserver/vhr-model/src/main/java/org/javaboy/vhr/model/HrRole.java",
"chars": 510,
"preview": "package org.javaboy.vhr.model;\n\npublic class HrRole {\n private Integer id;\n\n private Integer hrid;\n\n private In"
},
{
"path": "vhr/vhrserver/vhr-model/src/main/java/org/javaboy/vhr/model/JobLevel.java",
"chars": 1592,
"preview": "package org.javaboy.vhr.model;\n\nimport com.fasterxml.jackson.annotation.JsonFormat;\n\nimport java.io.Serializable;\nimport"
},
{
"path": "vhr/vhrserver/vhr-model/src/main/java/org/javaboy/vhr/model/MailConstants.java",
"chars": 571,
"preview": "package org.javaboy.vhr.model;\n\npublic class MailConstants {\n public static final Integer DELIVERING = 0;//消息投递中\n "
},
{
"path": "vhr/vhrserver/vhr-model/src/main/java/org/javaboy/vhr/model/MailSendLog.java",
"chars": 1698,
"preview": "package org.javaboy.vhr.model;\n\nimport java.util.Date;\n\npublic class MailSendLog {\n private String msgId;\n private"
},
{
"path": "vhr/vhrserver/vhr-model/src/main/java/org/javaboy/vhr/model/Menu.java",
"chars": 1989,
"preview": "package org.javaboy.vhr.model;\n\nimport java.io.Serializable;\nimport java.util.List;\n\npublic class Menu implements Serial"
},
{
"path": "vhr/vhrserver/vhr-model/src/main/java/org/javaboy/vhr/model/MenuRole.java",
"chars": 505,
"preview": "package org.javaboy.vhr.model;\n\npublic class MenuRole {\n private Integer id;\n\n private Integer mid;\n\n private I"
},
{
"path": "vhr/vhrserver/vhr-model/src/main/java/org/javaboy/vhr/model/Meta.java",
"chars": 689,
"preview": "package org.javaboy.vhr.model;\n\nimport java.io.Serializable;\n\n/**\n * @作者 江南一点雨\n * @公众号 江南一点雨\n * @微信号 a_java_boy\n * @GitH"
},
{
"path": "vhr/vhrserver/vhr-model/src/main/java/org/javaboy/vhr/model/MsgContent.java",
"chars": 821,
"preview": "package org.javaboy.vhr.model;\n\nimport java.util.Date;\n\npublic class MsgContent {\n private Integer id;\n\n private S"
},
{
"path": "vhr/vhrserver/vhr-model/src/main/java/org/javaboy/vhr/model/Nation.java",
"chars": 893,
"preview": "package org.javaboy.vhr.model;\n\nimport java.io.Serializable;\nimport java.util.Objects;\n\npublic class Nation implements S"
},
{
"path": "vhr/vhrserver/vhr-model/src/main/java/org/javaboy/vhr/model/OpLog.java",
"chars": 761,
"preview": "package org.javaboy.vhr.model;\n\nimport java.util.Date;\n\npublic class OpLog {\n private Integer id;\n\n private Date a"
},
{
"path": "vhr/vhrserver/vhr-model/src/main/java/org/javaboy/vhr/model/Politicsstatus.java",
"chars": 930,
"preview": "package org.javaboy.vhr.model;\n\nimport java.io.Serializable;\nimport java.util.Objects;\n\npublic class Politicsstatus impl"
},
{
"path": "vhr/vhrserver/vhr-model/src/main/java/org/javaboy/vhr/model/Position.java",
"chars": 1423,
"preview": "package org.javaboy.vhr.model;\n\nimport com.fasterxml.jackson.annotation.JsonFormat;\n\nimport java.io.Serializable;\nimport"
},
{
"path": "vhr/vhrserver/vhr-model/src/main/java/org/javaboy/vhr/model/RespBean.java",
"chars": 1448,
"preview": "package org.javaboy.vhr.model;\n\n/**\n * @作者 江南一点雨\n * @公众号 江南一点雨\n * @微信号 a_java_boy\n * @GitHub https://github.com/lenve\n *"
},
{
"path": "vhr/vhrserver/vhr-model/src/main/java/org/javaboy/vhr/model/RespPageBean.java",
"chars": 580,
"preview": "package org.javaboy.vhr.model;\n\nimport java.util.List;\n\n/**\n * @作者 江南一点雨\n * @公众号 江南一点雨\n * @微信号 a_java_boy\n * @GitHub htt"
},
{
"path": "vhr/vhrserver/vhr-model/src/main/java/org/javaboy/vhr/model/Role.java",
"chars": 629,
"preview": "package org.javaboy.vhr.model;\n\nimport java.io.Serializable;\nimport java.util.List;\n\npublic class Role implements Serial"
},
{
"path": "vhr/vhrserver/vhr-model/src/main/java/org/javaboy/vhr/model/Salary.java",
"chars": 2997,
"preview": "package org.javaboy.vhr.model;\n\nimport com.fasterxml.jackson.annotation.JsonFormat;\n\nimport java.util.Date;\n\npublic clas"
},
{
"path": "vhr/vhrserver/vhr-model/src/main/java/org/javaboy/vhr/model/SysMsg.java",
"chars": 835,
"preview": "package org.javaboy.vhr.model;\n\npublic class SysMsg {\n private Integer id;\n\n private Integer mid;\n\n private Int"
},
{
"path": "vhr/vhrserver/vhr-service/pom.xml",
"chars": 1378,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project xmlns=\"http://maven.apache.org/POM/4.0.0\"\n xmlns:xsi=\"http://www"
},
{
"path": "vhr/vhrserver/vhr-service/src/main/java/org/javaboy/vhr/config/RabbitConfig.java",
"chars": 2019,
"preview": "package org.javaboy.vhr.config;\n\nimport org.javaboy.vhr.model.MailConstants;\nimport org.javaboy.vhr.service.MailSendLogS"
},
{
"path": "vhr/vhrserver/vhr-service/src/main/java/org/javaboy/vhr/service/DepartmentService.java",
"chars": 1013,
"preview": "package org.javaboy.vhr.service;\n\nimport org.javaboy.vhr.mapper.DepartmentMapper;\nimport org.javaboy.vhr.model.Departmen"
},
{
"path": "vhr/vhrserver/vhr-service/src/main/java/org/javaboy/vhr/service/EmployeeService.java",
"chars": 4424,
"preview": "package org.javaboy.vhr.service;\n\nimport org.javaboy.vhr.mapper.EmployeeMapper;\nimport org.javaboy.vhr.model.Employee;\ni"
},
{
"path": "vhr/vhrserver/vhr-service/src/main/java/org/javaboy/vhr/service/HrService.java",
"chars": 2736,
"preview": "package org.javaboy.vhr.service;\n\nimport org.javaboy.vhr.mapper.HrMapper;\nimport org.javaboy.vhr.mapper.HrRoleMapper;\nim"
},
{
"path": "vhr/vhrserver/vhr-service/src/main/java/org/javaboy/vhr/service/JobLevelService.java",
"chars": 1216,
"preview": "package org.javaboy.vhr.service;\n\nimport org.javaboy.vhr.mapper.JobLevelMapper;\nimport org.javaboy.vhr.model.JobLevel;\ni"
},
{
"path": "vhr/vhrserver/vhr-service/src/main/java/org/javaboy/vhr/service/MailSendLogService.java",
"chars": 899,
"preview": "package org.javaboy.vhr.service;\n\nimport org.javaboy.vhr.mapper.MailSendLogMapper;\nimport org.javaboy.vhr.model.MailSend"
},
{
"path": "vhr/vhrserver/vhr-service/src/main/java/org/javaboy/vhr/service/MenuService.java",
"chars": 1763,
"preview": "package org.javaboy.vhr.service;\n\nimport org.javaboy.vhr.mapper.MenuMapper;\nimport org.javaboy.vhr.mapper.MenuRoleMapper"
},
{
"path": "vhr/vhrserver/vhr-service/src/main/java/org/javaboy/vhr/service/NationService.java",
"chars": 610,
"preview": "package org.javaboy.vhr.service;\n\nimport org.javaboy.vhr.mapper.NationMapper;\nimport org.javaboy.vhr.model.Nation;\nimpor"
},
{
"path": "vhr/vhrserver/vhr-service/src/main/java/org/javaboy/vhr/service/PoliticsstatusService.java",
"chars": 680,
"preview": "package org.javaboy.vhr.service;\n\nimport org.javaboy.vhr.mapper.PoliticsstatusMapper;\nimport org.javaboy.vhr.model.Polit"
},
{
"path": "vhr/vhrserver/vhr-service/src/main/java/org/javaboy/vhr/service/PositionService.java",
"chars": 1251,
"preview": "package org.javaboy.vhr.service;\n\nimport org.javaboy.vhr.mapper.PositionMapper;\nimport org.javaboy.vhr.model.Position;\ni"
},
{
"path": "vhr/vhrserver/vhr-service/src/main/java/org/javaboy/vhr/service/RoleService.java",
"chars": 899,
"preview": "package org.javaboy.vhr.service;\n\nimport org.javaboy.vhr.mapper.RoleMapper;\nimport org.javaboy.vhr.model.Role;\nimport or"
},
{
"path": "vhr/vhrserver/vhr-service/src/main/java/org/javaboy/vhr/service/SalaryService.java",
"chars": 837,
"preview": "package org.javaboy.vhr.service;\n\nimport org.javaboy.vhr.mapper.SalaryMapper;\nimport org.javaboy.vhr.model.Salary;\nimpor"
},
{
"path": "vhr/vhrserver/vhr-service/src/main/java/org/javaboy/vhr/task/MailSendTask.java",
"chars": 1610,
"preview": "package org.javaboy.vhr.task;\n\nimport org.javaboy.vhr.model.Employee;\nimport org.javaboy.vhr.model.MailConstants;\nimport"
},
{
"path": "vhr/vhrserver/vhr-service/src/main/java/org/javaboy/vhr/utils/HrUtils.java",
"chars": 480,
"preview": "package org.javaboy.vhr.utils;\n\nimport org.javaboy.vhr.model.Hr;\nimport org.springframework.security.core.context.Securi"
},
{
"path": "vhr/vhrserver/vhr-service/src/main/java/org/javaboy/vhr/utils/POIUtils.java",
"chars": 16294,
"preview": "package org.javaboy.vhr.utils;\n\nimport org.apache.poi.hpsf.DocumentSummaryInformation;\nimport org.apache.poi.hpsf.Summar"
},
{
"path": "vhr/vhrserver/vhr-web/pom.xml",
"chars": 2442,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project xmlns=\"http://maven.apache.org/POM/4.0.0\" xmlns:xsi=\"http://www.w3.org/2"
},
{
"path": "vhr/vhrserver/vhr-web/src/main/java/org/javaboy/vhr/VhrApplication.java",
"chars": 574,
"preview": "package org.javaboy.vhr;\n\nimport org.mybatis.spring.annotation.MapperScan;\nimport org.springframework.boot.SpringApplica"
},
{
"path": "vhr/vhrserver/vhr-web/src/main/java/org/javaboy/vhr/config/CustomFilterInvocationSecurityMetadataSource.java",
"chars": 2005,
"preview": "package org.javaboy.vhr.config;\n\nimport org.javaboy.vhr.model.Menu;\nimport org.javaboy.vhr.model.Role;\nimport org.javabo"
},
{
"path": "vhr/vhrserver/vhr-web/src/main/java/org/javaboy/vhr/config/CustomUrlDecisionManager.java",
"chars": 2003,
"preview": "package org.javaboy.vhr.config;\n\nimport org.springframework.security.access.AccessDecisionManager;\nimport org.springfram"
},
{
"path": "vhr/vhrserver/vhr-web/src/main/java/org/javaboy/vhr/config/FastDFSUtils.java",
"chars": 1436,
"preview": "package org.javaboy.vhr.config;\n\nimport org.csource.common.MyException;\nimport org.csource.fastdfs.ClientGlobal;\nimport "
},
{
"path": "vhr/vhrserver/vhr-web/src/main/java/org/javaboy/vhr/config/LoginFilter.java",
"chars": 3361,
"preview": "package org.javaboy.vhr.config;\n\nimport com.fasterxml.jackson.databind.ObjectMapper;\nimport org.javaboy.vhr.model.Hr;\nim"
},
{
"path": "vhr/vhrserver/vhr-web/src/main/java/org/javaboy/vhr/config/SecurityConfig.java",
"chars": 7425,
"preview": "package org.javaboy.vhr.config;\n\nimport com.fasterxml.jackson.databind.ObjectMapper;\nimport org.javaboy.vhr.model.Hr;\nim"
},
{
"path": "vhr/vhrserver/vhr-web/src/main/java/org/javaboy/vhr/config/VerificationCode.java",
"chars": 2778,
"preview": "package org.javaboy.vhr.config;\n\nimport javax.imageio.ImageIO;\nimport java.awt.*;\nimport java.awt.image.BufferedImage;\ni"
},
{
"path": "vhr/vhrserver/vhr-web/src/main/java/org/javaboy/vhr/config/WebSocketConfig.java",
"chars": 908,
"preview": "package org.javaboy.vhr.config;\n\nimport org.springframework.context.annotation.Configuration;\nimport org.springframework"
},
{
"path": "vhr/vhrserver/vhr-web/src/main/java/org/javaboy/vhr/controller/ChatController.java",
"chars": 615,
"preview": "package org.javaboy.vhr.controller;\n\nimport org.javaboy.vhr.model.Hr;\nimport org.javaboy.vhr.service.HrService;\nimport o"
},
{
"path": "vhr/vhrserver/vhr-web/src/main/java/org/javaboy/vhr/controller/HrInfoController.java",
"chars": 2638,
"preview": "package org.javaboy.vhr.controller;\n\nimport org.javaboy.vhr.config.FastDFSUtils;\nimport org.javaboy.vhr.model.Hr;\nimport"
},
{
"path": "vhr/vhrserver/vhr-web/src/main/java/org/javaboy/vhr/controller/LoginController.java",
"chars": 1232,
"preview": "package org.javaboy.vhr.controller;\n\nimport org.javaboy.vhr.config.VerificationCode;\nimport org.javaboy.vhr.model.RespBe"
},
{
"path": "vhr/vhrserver/vhr-web/src/main/java/org/javaboy/vhr/controller/WsController.java",
"chars": 965,
"preview": "package org.javaboy.vhr.controller;\n\nimport org.javaboy.vhr.model.ChatMsg;\nimport org.javaboy.vhr.model.Hr;\nimport org.s"
},
{
"path": "vhr/vhrserver/vhr-web/src/main/java/org/javaboy/vhr/controller/config/SystemConfigController.java",
"chars": 865,
"preview": "package org.javaboy.vhr.controller.config;\n\nimport org.javaboy.vhr.model.Menu;\nimport org.javaboy.vhr.model.RespBean;\nim"
},
{
"path": "vhr/vhrserver/vhr-web/src/main/java/org/javaboy/vhr/controller/emp/EmpBasicController.java",
"chars": 3739,
"preview": "package org.javaboy.vhr.controller.emp;\n\nimport org.javaboy.vhr.model.*;\nimport org.javaboy.vhr.service.*;\nimport org.ja"
},
{
"path": "vhr/vhrserver/vhr-web/src/main/java/org/javaboy/vhr/controller/salary/SalaryController.java",
"chars": 1273,
"preview": "package org.javaboy.vhr.controller.salary;\n\nimport org.javaboy.vhr.model.RespBean;\nimport org.javaboy.vhr.model.Salary;\n"
},
{
"path": "vhr/vhrserver/vhr-web/src/main/java/org/javaboy/vhr/controller/salary/SobConfigController.java",
"chars": 1307,
"preview": "package org.javaboy.vhr.controller.salary;\n\nimport org.javaboy.vhr.model.Employee;\nimport org.javaboy.vhr.model.RespBean"
},
{
"path": "vhr/vhrserver/vhr-web/src/main/java/org/javaboy/vhr/controller/system/HrController.java",
"chars": 1634,
"preview": "package org.javaboy.vhr.controller.system;\n\nimport org.javaboy.vhr.model.Hr;\nimport org.javaboy.vhr.model.RespBean;\nimpo"
},
{
"path": "vhr/vhrserver/vhr-web/src/main/java/org/javaboy/vhr/controller/system/basic/DepartmentController.java",
"chars": 1562,
"preview": "package org.javaboy.vhr.controller.system.basic;\n\nimport org.javaboy.vhr.model.Department;\nimport org.javaboy.vhr.model."
},
{
"path": "vhr/vhrserver/vhr-web/src/main/java/org/javaboy/vhr/controller/system/basic/JobLevelController.java",
"chars": 1812,
"preview": "package org.javaboy.vhr.controller.system.basic;\n\nimport org.apache.ibatis.annotations.Delete;\nimport org.javaboy.vhr.mo"
},
{
"path": "vhr/vhrserver/vhr-web/src/main/java/org/javaboy/vhr/controller/system/basic/PermissController.java",
"chars": 1826,
"preview": "package org.javaboy.vhr.controller.system.basic;\n\nimport org.javaboy.vhr.model.Menu;\nimport org.javaboy.vhr.model.RespBe"
},
{
"path": "vhr/vhrserver/vhr-web/src/main/java/org/javaboy/vhr/controller/system/basic/PositionController.java",
"chars": 1757,
"preview": "package org.javaboy.vhr.controller.system.basic;\n\nimport org.javaboy.vhr.model.Position;\nimport org.javaboy.vhr.model.Re"
},
{
"path": "vhr/vhrserver/vhr-web/src/main/java/org/javaboy/vhr/converter/DateConverter.java",
"chars": 774,
"preview": "package org.javaboy.vhr.converter;\n\nimport org.springframework.core.convert.converter.Converter;\nimport org.springframew"
},
{
"path": "vhr/vhrserver/vhr-web/src/main/java/org/javaboy/vhr/exception/GlobalExceptionHandler.java",
"chars": 818,
"preview": "package org.javaboy.vhr.exception;\n\nimport org.javaboy.vhr.model.RespBean;\nimport org.springframework.web.bind.annotatio"
},
{
"path": "vhr/vhrserver/vhr-web/src/main/resources/application.yml",
"chars": 567,
"preview": "spring:\n datasource:\n type: com.alibaba.druid.pool.DruidDataSource\n username: root\n password: 123\n url: jdb"
},
{
"path": "vhr/vhrserver/vhr-web/src/main/resources/db/migration/V1__vhr.sql",
"chars": 159340,
"preview": "/*\nSQLyog Ultimate v12.08 (32 bit)\nMySQL - 8.0.18 : Database - vhr\n*****************************************************"
},
{
"path": "vhr/vhrserver/vhr-web/src/main/resources/fastdfs-client.properties",
"chars": 869,
"preview": "## fastdfs-client.properties\n\nfastdfs.connect_timeout_in_seconds = 5\nfastdfs.network_timeout_in_seconds = 30\n\nfastdfs.ch"
},
{
"path": "vhr/vhrserver/vhr-web/src/main/resources/static/css/app.4e8a7623.css",
"chars": 3548,
"preview": ".loginContainer{border-radius:15px;background-clip:padding-box;margin:180px auto;width:350px;padding:15px 35px 15px 35px"
},
{
"path": "vhr/vhrserver/vhr-web/src/main/resources/static/css/chunk-0c17a57a.42916da5.css",
"chars": 879,
"preview": ".depBtn{padding:2px}.addPosInput{width:300px;margin-right:8px}.updatePosInput{width:200px;margin-left:8px}.posManaMain{m"
},
{
"path": "vhr/vhrserver/vhr-web/src/main/resources/static/css/chunk-64435448.3755e146.css",
"chars": 311,
"preview": ".slide-fade-enter-active{-webkit-transition:all .8s ease;transition:all .8s ease}.slide-fade-leave-active{-webkit-transi"
},
{
"path": "vhr/vhrserver/vhr-web/src/main/resources/static/css/chunk-vendors.c805ba07.css",
"chars": 269062,
"preview": ".el-button,.el-input__inner{-webkit-appearance:none;outline:0}.el-message-box,.el-popup-parent--hidden{overflow:hidden}."
},
{
"path": "vhr/vhrserver/vhr-web/src/main/resources/static/index.html",
"chars": 1427,
"preview": "<!DOCTYPE html><html lang=en><head><meta charset=utf-8><meta http-equiv=X-UA-Compatible content=\"IE=edge\"><meta name=vie"
},
{
"path": "vhr/vhrserver/vhr-web/src/main/resources/static/js/app.36643c7a.js",
"chars": 104442,
"preview": "(function(e){function t(t){for(var r,o,a=t[0],c=t[1],u=t[2],l=0,f=[];l<a.length;l++)o=a[l],Object.prototype.hasOwnProper"
},
{
"path": "vhr/vhrserver/vhr-web/src/main/resources/static/js/chunk-0c17a57a.3d783b80.js",
"chars": 23260,
"preview": "(window[\"webpackJsonp\"]=window[\"webpackJsonp\"]||[]).push([[\"chunk-0c17a57a\"],{\"09cd\":function(e,t,n){},\"1fe7\":function(e"
},
{
"path": "vhr/vhrserver/vhr-web/src/main/resources/static/js/chunk-18458ebc.2dd3c93a.js",
"chars": 1529,
"preview": "(window[\"webpackJsonp\"]=window[\"webpackJsonp\"]||[]).push([[\"chunk-18458ebc\"],{\"0aaf\":function(e,n,t){\"use strict\";t.r(n)"
},
{
"path": "vhr/vhrserver/vhr-web/src/main/resources/static/js/chunk-2d0d03c8.3a093d55.js",
"chars": 534,
"preview": "(window[\"webpackJsonp\"]=window[\"webpackJsonp\"]||[]).push([[\"chunk-2d0d03c8\"],{\"66b4\":function(e,n,o){var r={\"./SysBasic."
},
{
"path": "vhr/vhrserver/vhr-web/src/main/resources/static/js/chunk-2d237c54.0b312051.js",
"chars": 443,
"preview": "(window[\"webpackJsonp\"]=window[\"webpackJsonp\"]||[]).push([[\"chunk-2d237c54\"],{fd11:function(n,e,o){var r={\"./EmpAdv.vue\""
},
{
"path": "vhr/vhrserver/vhr-web/src/main/resources/static/js/chunk-33b8cd94.a94483af.js",
"chars": 13001,
"preview": "(window[\"webpackJsonp\"]=window[\"webpackJsonp\"]||[]).push([[\"chunk-33b8cd94\"],{\"0aaf\":function(e,t,a){\"use strict\";a.r(t)"
},
{
"path": "vhr/vhrserver/vhr-web/src/main/resources/static/js/chunk-4e552d82.57eb10c5.js",
"chars": 1793,
"preview": "(window[\"webpackJsonp\"]=window[\"webpackJsonp\"]||[]).push([[\"chunk-4e552d82\"],{5865:function(e,n,r){\"use strict\";r.r(n);v"
},
{
"path": "vhr/vhrserver/vhr-web/src/main/resources/static/js/chunk-64435448.c8d2ed8f.js",
"chars": 25681,
"preview": "(window[\"webpackJsonp\"]=window[\"webpackJsonp\"]||[]).push([[\"chunk-64435448\"],{\"58da\":function(e,t,i){\"use strict\";i.r(t)"
},
{
"path": "vhr/vhrserver/vhr-web/src/main/resources/static/js/chunk-df7e035a.c9947309.js",
"chars": 10112,
"preview": "(window[\"webpackJsonp\"]=window[\"webpackJsonp\"]||[]).push([[\"chunk-df7e035a\"],{1937:function(t,e,a){\"use strict\";a.r(e);v"
},
{
"path": "vhr/vhrserver/vhr-web/src/main/resources/static/js/chunk-vendors.0a8f9d11.js",
"chars": 704594,
"preview": "(window[\"webpackJsonp\"]=window[\"webpackJsonp\"]||[]).push([[\"chunk-vendors\"],{\"014b\":function(e,t,n){\"use strict\";var i=n"
},
{
"path": "vhr/vhrserver/vhr-web/src/test/java/org/javaboy/vhr/VhrApplicationTests.java",
"chars": 319,
"preview": "package org.javaboy.vhr;\n\n//import org.junit.Test;\n//import org.junit.runner.RunWith;\n\nimport org.junit.jupiter.api.Test"
},
{
"path": "vhr.sql",
"chars": 159265,
"preview": "/*\nSQLyog Ultimate v12.08 (32 bit)\nMySQL - 8.0.18 : Database - vhr\n*****************************************************"
},
{
"path": "vuehr/.gitignore",
"chars": 214,
"preview": ".DS_Store\nnode_modules\n/dist\n\n# local env files\n.env.local\n.env.*.local\n\n# Log files\nnpm-debug.log*\nyarn-debug.log*\nyarn"
},
{
"path": "vuehr/README.md",
"chars": 73,
"preview": "菜单项数据加载成功之后,在前端有几个可以存放的地方:\n\n1. sessionStorage\n2. localStorage\n**3. vuex**"
},
{
"path": "vuehr/babel.config.js",
"chars": 335,
"preview": "module.exports = {\n presets: [\n '@vue/app',\n [\n '@babel/preset-env', {\n modules: "
},
{
"path": "vuehr/package.json",
"chars": 772,
"preview": "{\n \"name\": \"vuehr\",\n \"version\": \"0.1.0\",\n \"private\": true,\n \"scripts\": {\n \"serve\": \"vue-cli-service serve\",\n \""
},
{
"path": "vuehr/public/index.html",
"chars": 580,
"preview": "<!DOCTYPE html>\n<html lang=\"en\">\n <head>\n <meta charset=\"utf-8\">\n <meta http-equiv=\"X-UA-Compatible\" content=\"IE="
},
{
"path": "vuehr/src/App.vue",
"chars": 67,
"preview": "<template>\n <div id=\"app\">\n <router-view/>\n </div>\n</template>"
},
{
"path": "vuehr/src/components/chat/card.vue",
"chars": 926,
"preview": "<template>\n <div id=\"card\">\n \t<header>\n \t\t<img class=\"avatar\" v-bind:src=\"user.userface\" v-bind:alt=\"user.name\">\n \t\t"
},
{
"path": "vuehr/src/components/chat/list.vue",
"chars": 1811,
"preview": "<template>\n <div id=\"list\">\n <ul style=\"padding-left: 0px\">\n <li v-for=\"item in hrs\" :class=\"{ acti"
},
{
"path": "vuehr/src/components/chat/message.vue",
"chars": 3096,
"preview": "<template>\n <div id=\"message\" v-scroll-bottom=\"sessions\">\n <ul v-if=\"currentSession\">\n <li v-for=\"e"
},
{
"path": "vuehr/src/components/chat/usertext.vue",
"chars": 1336,
"preview": "<template>\n <div id=\"uesrtext\">\n <textarea placeholder=\"按 Ctrl + Enter 发送\" v-model=\"content\" v-on:keyup=\"addMe"
},
{
"path": "vuehr/src/components/sys/basic/DepMana.vue",
"chars": 5891,
"preview": "<template>\n <div style=\"width: 500px;\">\n <el-input\n placeholder=\"请输入部门名称进行搜索...\"\n "
},
{
"path": "vuehr/src/components/sys/basic/EcMana.vue",
"chars": 152,
"preview": "<template>\n <div>\n 奖惩规则\n </div>\n</template>\n\n<script>\n export default {\n name: \"EcMana\"\n }\n</s"
},
{
"path": "vuehr/src/components/sys/basic/JobLevelMana.vue",
"chars": 8744,
"preview": "<template>\n <div>\n <div>\n <el-input size=\"small\" v-model=\"jl.name\" style=\"width: 300px;\" prefix-ico"
},
{
"path": "vuehr/src/components/sys/basic/PermissMana.vue",
"chars": 6289,
"preview": "<template>\n <div\n v-loading=\"globalLoading\"\n element-loading-text=\"正在添加...\"\n element"
},
{
"path": "vuehr/src/components/sys/basic/PosMana.vue",
"chars": 7461,
"preview": "<template>\n <div>\n <div>\n <el-input\n size=\"small\"\n class=\"add"
},
{
"path": "vuehr/src/main.js",
"chars": 2616,
"preview": "import Vue from 'vue'\nimport App from './App.vue'\nimport router from './router'\nimport store from './store'\nimport {\n "
},
{
"path": "vuehr/src/router.js",
"chars": 1060,
"preview": "import Vue from 'vue'\nimport Router from 'vue-router'\nimport Login from './views/Login.vue'\nimport Home from './views/Ho"
},
{
"path": "vuehr/src/store/index.js",
"chars": 3301,
"preview": "import Vue from 'vue'\nimport Vuex from 'vuex'\nimport { Notification } from 'element-ui';\nimport {getRequest} from \"../ut"
},
{
"path": "vuehr/src/utils/api.js",
"chars": 2175,
"preview": "import axios from 'axios'\nimport {Message} from 'element-ui';\nimport router from '../router'\nimport {mymessage} from '@/"
},
{
"path": "vuehr/src/utils/menus.js",
"chars": 1875,
"preview": "import {getRequest} from \"./api\";\n\nexport const initMenu = (router, store) => {\n if (store.state.routes.length > 0) {"
},
{
"path": "vuehr/src/utils/mymessage.js",
"chars": 802,
"preview": "import {\n Message\n} from 'element-ui';\nconst showMessage = Symbol('showMessage')\nclass JavaboyMessage {\n [showMess"
},
{
"path": "vuehr/src/utils/sockjs.js",
"chars": 180552,
"preview": "/* sockjs-client v1.1.2 | http://sockjs.org | MIT license */\n(function(f){if(typeof exports===\"object\"&&typeof module!=="
},
{
"path": "vuehr/src/utils/stomp.js",
"chars": 19796,
"preview": "// Generated by CoffeeScript 1.7.1\n\n/*\n Stomp Over WebSocket http://www.jmesnil.net/stomp-websocket/doc/ | Apache Licens"
},
{
"path": "vuehr/src/views/Home.vue",
"chars": 4650,
"preview": "<template>\n <div>\n <el-container>\n <el-header class=\"homeHeader\">\n <div class=\"title"
},
{
"path": "vuehr/src/views/HrInfo.vue",
"chars": 7939,
"preview": "<template>\n <div v-if=\"hr\">\n <el-card class=\"box-card\" style=\"width: 400px\">\n <div slot=\"header\" cl"
},
{
"path": "vuehr/src/views/Login.vue",
"chars": 3922,
"preview": "<template>\n <div>\n <el-form\n :rules=\"rules\"\n ref=\"loginForm\"\n v-l"
},
{
"path": "vuehr/src/views/chat/FriendChat.vue",
"chars": 1337,
"preview": "<template>\n <div id=\"app\">\n <div class=\"sidebar\">\n <card></card>\n <list></list>\n "
},
{
"path": "vuehr/src/views/emp/EmpAdv.vue",
"chars": 152,
"preview": "<template>\n <div>\n 高级资料\n </div>\n</template>\n\n<script>\n export default {\n name: \"EmpAdv\"\n }\n</s"
},
{
"path": "vuehr/src/views/emp/EmpBasic.vue",
"chars": 43535,
"preview": "<template>\n <div>\n <div>\n <div style=\"display: flex;justify-content: space-between\">\n "
},
{
"path": "vuehr/src/views/per/PerEc.vue",
"chars": 152,
"preview": "<template>\n <div>\n PerEc\n </div>\n</template>\n\n<script>\n export default {\n name: \"PerEc\"\n }\n</s"
},
{
"path": "vuehr/src/views/per/PerEmp.vue",
"chars": 152,
"preview": "<template>\n <div>\n 员工资料\n </div>\n</template>\n\n<script>\n export default {\n name: \"PerEmp\"\n }\n</s"
},
{
"path": "vuehr/src/views/per/PerMv.vue",
"chars": 151,
"preview": "<template>\n <div>\n 员工调动\n </div>\n</template>\n\n<script>\n export default {\n name: \"PerMv\"\n }\n</sc"
},
{
"path": "vuehr/src/views/per/PerSalary.vue",
"chars": 155,
"preview": "<template>\n <div>\n 员工调薪\n </div>\n</template>\n\n<script>\n export default {\n name: \"PerSalary\"\n }\n"
},
{
"path": "vuehr/src/views/per/PerTrain.vue",
"chars": 154,
"preview": "<template>\n <div>\n 员工培训\n </div>\n</template>\n\n<script>\n export default {\n name: \"PerTrain\"\n }\n<"
},
{
"path": "vuehr/src/views/sal/SalMonth.vue",
"chars": 154,
"preview": "<template>\n <div>\n 月末处理\n </div>\n</template>\n\n<script>\n export default {\n name: \"SalMonth\"\n }\n<"
},
{
"path": "vuehr/src/views/sal/SalSearch.vue",
"chars": 156,
"preview": "<template>\n <div>\n 工资表查询\n </div>\n</template>\n\n<script>\n export default {\n name: \"SalSearch\"\n }"
},
{
"path": "vuehr/src/views/sal/SalSob.vue",
"chars": 8002,
"preview": "<template>\n <div>\n <div style=\"display: flex;justify-content: space-between\">\n <el-button icon=\"el-"
},
{
"path": "vuehr/src/views/sal/SalSobCfg.vue",
"chars": 7253,
"preview": "<template>\n <div>\n <div>\n <el-table :data=\"emps\" border stripe size=\"mini\">\n <el-tab"
},
{
"path": "vuehr/src/views/sal/SalTable.vue",
"chars": 155,
"preview": "<template>\n <div>\n 工资表管理\n </div>\n</template>\n\n<script>\n export default {\n name: \"SalTable\"\n }\n"
},
{
"path": "vuehr/src/views/sta/StaAll.vue",
"chars": 154,
"preview": "<template>\n <div>\n 综合信息统计\n </div>\n</template>\n\n<script>\n export default {\n name: \"StaAll\"\n }\n<"
},
{
"path": "vuehr/src/views/sta/StaPers.vue",
"chars": 155,
"preview": "<template>\n <div>\n 人事信息统计\n </div>\n</template>\n\n<script>\n export default {\n name: \"StaPers\"\n }\n"
},
{
"path": "vuehr/src/views/sta/StaRecord.vue",
"chars": 157,
"preview": "<template>\n <div>\n 人事记录统计\n </div>\n</template>\n\n<script>\n export default {\n name: \"StaRecord\"\n "
},
{
"path": "vuehr/src/views/sta/StaScore.vue",
"chars": 156,
"preview": "<template>\n <div>\n 员工积分统计\n </div>\n</template>\n\n<script>\n export default {\n name: \"StaScore\"\n }"
},
{
"path": "vuehr/src/views/sys/SysBasic.vue",
"chars": 1233,
"preview": "<template>\n <div>\n <el-tabs v-model=\"activeName\" type=\"card\">\n <el-tab-pane label=\"部门管理\" name=\"depm"
},
{
"path": "vuehr/src/views/sys/SysCfg.vue",
"chars": 152,
"preview": "<template>\n <div>\n 系统管理\n </div>\n</template>\n\n<script>\n export default {\n name: \"SysCfg\"\n }\n</s"
},
{
"path": "vuehr/src/views/sys/SysData.vue",
"chars": 156,
"preview": "<template>\n <div>\n 备份恢复数据库\n </div>\n</template>\n\n<script>\n export default {\n name: \"SysData\"\n }"
},
{
"path": "vuehr/src/views/sys/SysHr.vue",
"chars": 7190,
"preview": "<template>\n <div>\n <div style=\"margin-top: 10px;display: flex;justify-content: center\">\n <el-input "
},
{
"path": "vuehr/src/views/sys/SysInit.vue",
"chars": 155,
"preview": "<template>\n <div>\n 初始化数据库\n </div>\n</template>\n\n<script>\n export default {\n name: \"SysInit\"\n }\n"
},
{
"path": "vuehr/src/views/sys/SysLog.vue",
"chars": 154,
"preview": "<template>\n <div>\n 操作日志管理\n </div>\n</template>\n\n<script>\n export default {\n name: \"SysLog\"\n }\n<"
}
]
// ... and 2 more files (download for full content)
About this extraction
This page contains the full source code of the lenve/vhr GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 202 files (2.0 MB), approximately 538.6k tokens, and a symbol index with 1651 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.