基於SSM開發的企業人事管理系統
10120 基於SSM開發的企業人事管理系統
執行視訊、程式碼等:
鏈-椄:https://pan@baidu@com/s/1tw4Qvtcuwt7ys36M7HvLSg(把@換成 . 就可正常訪問)
趧-紶-碼:1589
f/u枝此段-吶傛開啟baidu網盤手機App,caozuo更方便哦
技術
Spring + SpringMVC+ MyBatis
工具
eclipse + tomact + mysql + jdk
功能詳情
- 使用者管理
- 職位管理
- 部門管理
- 員工管理
- 公告管理
- 下載中心
- 系統設定
系統相關截圖
package org.javaboy.vhr.service;
import org.javaboy.vhr.mapper.JobLevelMapper;
import org.javaboy.vhr.model.JobLevel;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.Date;
import java.util.List;
@Service
public class JobLevelService {
@Autowired
JobLevelMapper jobLevelMapper;
public List<JobLevel> getAllJobLevels() {
return jobLevelMapper.getAllJobLevels();
}
public Integer addJobLevel(JobLevel jobLevel) {
jobLevel.setCreateDate(new Date());
jobLevel.setEnabled(true);
return jobLevelMapper.insertSelective(jobLevel);
}
public Integer updateJobLevelById(JobLevel jobLevel) {
return jobLevelMapper.updateByPrimaryKeySelective(jobLevel);
}
public Integer deleteJobLevelById(Integer id) {
return jobLevelMapper.deleteByPrimaryKey(id);
}
public Integer deleteJobLevelsByIds(Integer[] ids) {
return jobLevelMapper.deleteJobLevelsByIds(ids);
}
}
package org.javaboy.vhr.service;
import org.javaboy.vhr.mapper.MailSendLogMapper;
import org.javaboy.vhr.model.MailSendLog;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.Date;
import java.util.List;
@Service
public class MailSendLogService {
@Autowired
MailSendLogMapper mailSendLogMapper;
public Integer updateMailSendLogStatus(String msgId, Integer status) {
return mailSendLogMapper.updateMailSendLogStatus(msgId, status);
}
public Integer insert(MailSendLog mailSendLog) {
return mailSendLogMapper.insert(mailSendLog);
}
public List<MailSendLog> getMailSendLogsByStatus() {
return mailSendLogMapper.getMailSendLogsByStatus();
}
public Integer updateCount(String msgId, Date date) {
return mailSendLogMapper.updateCount(msgId,date);
}
}
package org.javaboy.vhr.service;
import org.javaboy.vhr.mapper.SalaryMapper;
import org.javaboy.vhr.model.Salary;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.Date;
import java.util.List;
@Service
public class SalaryService {
@Autowired
SalaryMapper salaryMapper;
public List<Salary> getAllSalaries() {
return salaryMapper.getAllSalaries();
}
public Integer addSalary(Salary salary) {
salary.setCreateDate(new Date());
return salaryMapper.insertSelective(salary);
}
public Integer deleteSalaryById(Integer id) {
return salaryMapper.deleteByPrimaryKey(id);
}
public Integer updateSalaryById(Salary salary) {
return salaryMapper.updateByPrimaryKeySelective(salary);
}
}package org.javaboy.vhr.service;
import org.javaboy.vhr.mapper.HrMapper;
import org.javaboy.vhr.mapper.HrRoleMapper;
import org.javaboy.vhr.model.Hr;
import org.javaboy.vhr.utils.HrUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.core.userdetails.UserDetails;
import org.springframework.security.core.userdetails.UserDetailsService;
import org.springframework.security.core.userdetails.UsernameNotFoundException;
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
@Service
public class HrService implements UserDetailsService {
@Autowired
HrMapper hrMapper;
@Autowired
HrRoleMapper hrRoleMapper;
@Override
public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException {
Hr hr = hrMapper.loadUserByUsername(username);
if (hr == null) {
throw new UsernameNotFoundException("使用者名稱不存在!");
}
hr.setRoles(hrMapper.getHrRolesById(hr.getId()));
return hr;
}
public List<Hr> getAllHrs(String keywords) {
return hrMapper.getAllHrs(HrUtils.getCurrentHr().getId(),keywords);
}
public Integer updateHr(Hr hr) {
return hrMapper.updateByPrimaryKeySelective(hr);
}
@Transactional
public boolean updateHrRole(Integer hrid, Integer[] rids) {
hrRoleMapper.deleteByHrid(hrid);
return hrRoleMapper.addRole(hrid, rids) == rids.length;
}
public Integer deleteHrById(Integer id) {
return hrMapper.deleteByPrimaryKey(id);
}
public List<Hr> getAllHrsExceptCurrentHr() {
return hrMapper.getAllHrsExceptCurrentHr(HrUtils.getCurrentHr().getId());
}
public Integer updateHyById(Hr hr) {
return hrMapper.updateByPrimaryKeySelective(hr);
}
public boolean updateHrPasswd(String oldpass, String pass, Integer hrid) {
Hr hr = hrMapper.selectByPrimaryKey(hrid);
BCryptPasswordEncoder encoder = new BCryptPasswordEncoder();
if (encoder.matches(oldpass, hr.getPassword())) {
String encodePass = encoder.encode(pass);
Integer result = hrMapper.updatePasswd(hrid, encodePass);
if (result == 1) {
return true;
}
}
return false;
}
public Integer updateUserface(String url, Integer id) {
return hrMapper.updateUserface(url, id);
}
}package org.javaboy.vhr.task;
import org.javaboy.vhr.model.Employee;
import org.javaboy.vhr.model.MailConstants;
import org.javaboy.vhr.model.MailSendLog;
import org.javaboy.vhr.service.EmployeeService;
import org.javaboy.vhr.service.MailSendLogService;
import org.springframework.amqp.rabbit.connection.CorrelationData;
import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import java.util.Date;
import java.util.List;
@Component
public class MailSendTask {
@Autowired
MailSendLogService mailSendLogService;
@Autowired
RabbitTemplate rabbitTemplate;
@Autowired
EmployeeService employeeService;
@Scheduled(cron = “0/10 * * * * ?”)
public void mailResendTask() {
List logs = mailSendLogService.getMailSendLogsByStatus();
if (logs == null || logs.size() == 0) {
return;
}
logs.forEach(mailSendLog->{
if (mailSendLog.getCount() >= 3) {
mailSendLogService.updateMailSendLogStatus(mailSendLog.getMsgId(), 2);//直接設定該條訊息傳送失敗
}else{
mailSendLogService.updateCount(mailSendLog.getMsgId(), new Date());
Employee emp = employeeService.getEmployeeById(mailSendLog.getEmpId());
rabbitTemplate.convertAndSend(MailConstants.MAIL_EXCHANGE_NAME, MailConstants.MAIL_ROUTING_KEY_NAME, emp, new CorrelationData(mailSendLog.getMsgId()));
}
});
}
}
相關文章
- 基於SSM開發的企業進存銷系統 JAVA MySQLSSMJavaMySql
- 基於MVC的企業人事管理系統(含原始檔)MVC
- 基於SSM開發的物業維修管理系統SSM
- 基於本人開發的許可權系統開發的企業站
- 基於SSM開發的健身俱樂部管理系統 JAVA MySQLSSMJavaMySql
- 基於TP3.1開發的企業網站管理系統網站
- 基於SSM的職員考勤系統SSM
- SSM + easyUI 搭建簡易的人事管理系統 系統概要部分SSMUI
- java 基於SSM框架開發線上音樂視訊MV管理系統JavaSSM框架
- 基於SSM的酒店管理系統畢業設計論文【範文】SSM
- 基於spring的醫院人事管理系統設計和實現Spring
- 基於SSM的網上商城系統畢業設計論文【範文】SSM
- java jsp企業員工考勤系統ssm框架JavaJSSSM框架
- 免費開源TuziCMS基於ThinkPHP的企業網站管理系統PHP網站
- 073基於SSM酒店管理系統(前後臺)SSM
- 基於SSM框架的文章管理系統(增加留言回覆功能)SSM框架
- 基於SSM框架的JavaWeb通用許可權管理系統SSM框架JavaWeb
- 基於SSM保護隱私的遠端醫療查詢系統設計與開發SSM
- 企業管理系統-ERP開發
- 基於SSM的線上考試系統畢業設計論文【範文】SSM
- 基於java jsp的某企業員工管理系統JavaJS
- DukuanCMS_V1.0.0,企業建站系統,開源免費,CMS系統,企業建站系統,可免費用於商業的企業網站管理系統網站
- 開發者可以基於低程式碼平臺快速搭建企業資訊化系統
- 基於adminlte的後臺管理系統開發
- Java基於SSM框架的計算機學院管理系統(3)JavaSSM框架計算機
- 餐飲行業企業管理系統開發行業
- 怎麼選擇更適合企業的ERP系統?企業ERP管理系統開發
- 電商企業如何選擇erp系統開發?erp系統開發
- 基於SSM的校園論壇網站系統畢業設計論文【範文】SSM網站
- 基於SSM的線上外賣訂餐系統畢業設計論文【範文】SSM
- 基於JSP開發的物流資訊管理系統JS
- 基於OT開發系統的專利問題
- 基於tp開發的線上教育系統
- 基於Tp23開發的bug管理系統
- 基於ssm、Vue.js的簡單教師資訊管理系統SSMVue.js
- 基於THINKPHP3.2 開發 商城系統PHP
- DF開源多語言企業網站管理系統基於TP3.2.3網站
- 機械企業管理系統的設計與開發