package com.lut.service.impl;
import com.lut.entity.Employee;
import com.lut.entity.Page;
import com.lut.entity.Result;
import com.lut.exception.MyException;
import com.lut.repository.EmployeeRepository;
import com.lut.service.IEmployeeService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import java.util.Date;
import java.util.List;
@Service
public class EmployeeServiceImpl implements IEmployeeService{
private final static Logger log = LoggerFactory.getLogger(EmployeeServiceImpl.class);
@Autowired(required = false)
private EmployeeRepository employeeRepository;
@Autowired
private EmployeeServiceImpl employeeServiceImpl;
@Autowired
private HttpServletRequest request;
@Autowired
private ServletContext servletContext;
@Override
public Result getPageDatas(Integer currentPage) {
HttpSession session = request.getSession();
Page page = (Page) session.getAttribute("page");
page.setPage(currentPage);
session.setAttribute("page",page);
return new Result(0,"操作成功",null);
}
/**
* 根据工号获取员工信息
* @param employeeNumber
* @return
*/
@Override
public Result getEmployeeByNumber(String employeeNumber) {
Employee employee = new Employee();
employee.setEmployeeNumber(employeeNumber);
List<Employee> es = employeeRepository.login(employee);
return new Result(0,"操作成功",es.get(0));
}
/**
* 员工登录
* @param employee
* @return
*/
@Override
public Result login(Employee employee) {
List<Employee> employees = employeeRepository.login(employee);
if (employees.size()==0){
return new Result(-1,"工号或密码错误",null);
}
if (employees.get(0).getPassword().equals(employee.getPassword())){
saveEmployeeLoginInfo(employees.get(0));
return new Result(0,"",employees.get(0));
}
return new Result(-1,"工号或密码错误",null);
}
/**
* 删除员工
* @param ids
* @return
*/
@Override
public Result deleteEmployees(String ids) {
String[] idss = ids.split(",");
for(String id:idss){
int i =Integer.parseInt(id);
/* int j = employeeRepository.deleteEmployee(i);*/
int j = employeeRepository.updateEmployeeByIds(i);
if (j!=1){
throw new MyException(-1,"删除员工异常");
}
}
updateAllEmployeeToSession();
return new Result(0,"操作成功",null);
}
/**
* 获取所有员工信息
* @return
*/
public List<Employee> getEmployees(){
Employee employee = employeeServiceImpl.getEmployeeLoginInfo();
List<Employee> employees = null;
if (employee.getPermissions() == 0){
employees = employeeRepository.logins(employee);
return employees;
}else if(employee.getPermissions() == 1){
employees = employeeRepository.login(new Employee());
return employees;
}else{
employees = employeeRepository.login1(new Employee());
return employees;
}
}
/**
* 保存当前员工登录成功的信息
* @param employee
*/
public void saveEmployeeLoginInfo(Employee employee){
HttpSession session = request.getSession();
log.info("登录成功,正在保存员工信息:"+employee);
session.setAttribute("employee",employee);
}
@Override
public Result addEmployee(Employee employee) {
// System.out.println("employee增加: " +employee.toString());
if (judgeEmployeeExistOrNo(employee)){
throw new MyException(-1,"该员工已存在");
}
employee.setPassword("666666");
employee.setFounder(getEmployeeLoginInfo().getEmployeeName());
employee.setCreateTime(new Date());
if ("0".equals(employee.getIfOnDuty())){
employee.setIfOnDuty("在职");
}else {
employee.setIfOnDuty("离职");
}
System.out.println("employee增加: " +employee.toString());
int i = employeeRepository.addEmployee(employee);
if (i!=1){
throw new MyException(-1,"添加失败");
}
return new Result(0,"操作成功",null);
}
/**
* 获取当前登录员工的信息
* @return
*/
public Employee getEmployeeLoginInfo(){
HttpSession session = request.getSession();
Employee employee = (Employee) session.getAttribute("employee");
if (employee==null){
throw new MyException(-1,"未检测到登录员工");
}
return employee;
}
/**
* 根据员工id查询员工信息
* @param employee
* @return
*/
@Override
public Result getEmployee(Employee employee) {
Employee e = employeeRepository.getEmployee(employee);
System.out.println("xiugai : " + e.toString());
if (e!=null){
return new Result(0,"操作成功",e);
}
return new Result(-1,"操作失败",null);
}
/**
* 更新员工信息
* @param employee
* @return
*/
@Override
public Result updateEmployeeById(Employee employee) {
/* Employee e = new Employee();
e.setEmployeeNumber(employee.getEmployeeNumber());*/
// System.out.println("e: "+ e);
/*
List<Employee> list = employeeRepository.login(e);
*/
/*System.out.println("employee修改B : " + list.toString());
System.out.println("employee修改B : " + list.size());*/
// if (list.size()!=0){
// if (list.get(0).getId()!=employee.getId()){
// throw new MyException(-1,"该员工已存在");
// }
// }
if ("0".equals(employee.getIfOnDuty())){
employee.setIfOnDuty("在职");
}else{
employee.setIfOnDuty("离职");
}
Employee e = employeeServiceImpl.getEmployeeLoginInfo();
employee.setModifier(e.getEmployeeName());
Date now = new Date();
employee.setModifyTime(now);
int i = employeeRepository.updateEmployeeById(employee);
if (i!=1){
throw new MyException(-1,"修改失败");
}
if (employee.getEmployeeNumber().equals(getEmployeeLoginInfo().getEmployeeNumber())){
updataSessionEmployee((Employee) getEmployeeByNumber(employee.getEmployeeNumber()).getData());
}
return new Result(0,"操作成功",null);
}
/**
* 更新session中的所有员工信息
*/
public void updateAllEmployeeToSession(){
Page<Employee> page = new Page<>(getEmployees());
request.getSession().setAttribute("page",page);
}
//更新当前登录的session的员工信息
public void updataSessionEmployee(Employee employee){
request.getSession().setAttribute("employee",employee);
}
/**
* 根据工号更新员工信息
* @param employee
* @return
*/
@Override
public Result updateEmployeeByNumber(Employee employee) {
int i = employeeRepository.updateEmployeeByNumber(employee);
if (i!=1){
throw new MyException(-1,"更新失败,未知错误");
}
updataSessionEmployee((Employee) getEmployeeByNumber(employee.getEmployeeNumber()).getData());
return new Result(0,"操作成功",null);
}
/**
* 判断指定员工号是否存在
* @param employee
* @return
*/
public Boolean judgeEmployeeExistOrNo(Employee employee){
String employeeNumber = emp
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
基于springboot、Jpa、Oracle、maven和jsp等技术的简单人事档案管理系统.zip (123个子文件)
mvnw.cmd 5KB
loading.gif 1KB
.gitattributes 87B
.gitignore 5KB
maven-wrapper.jar 46KB
EmployeeServiceImpl.java 11KB
EmployeeRepository.java 8KB
BulletinResourceServiceImpl.java 7KB
Employee.java 6KB
AwardAndPunishServiceImpl.java 5KB
CertificateServiceImpl.java 5KB
DepartmentServiceImpl.java 5KB
ExperienceServiceImpl.java 5KB
CommunityServiceImpl.java 5KB
CultivateServiceImpl.java 5KB
EducationServiceImpl.java 5KB
TitleServiceImpl.java 5KB
EducationController.java 5KB
CommunityController.java 5KB
EmployeeController.java 4KB
ExperienceController.java 4KB
DepartmentController.java 4KB
AwardAndPunishController.java 4KB
CertificateController.java 4KB
CultivateController.java 4KB
PageController.java 4KB
BulletinResourceController.java 4KB
EducationRepository.java 4KB
TitleController.java 4KB
DepartmentRepository.java 4KB
TitleRepository.java 4KB
CertificateRepository.java 3KB
CultivateRepository.java 3KB
ExperienceRepository.java 3KB
AwardAndPunishRepository.java 3KB
Education.java 3KB
Community.java 3KB
CommunityRepository.java 3KB
ListenerServer.java 2KB
BulletinResourceRepository.java 2KB
Department.java 2KB
Experience.java 2KB
Cultivate.java 2KB
Page.java 2KB
AwardAndPunish.java 2KB
Certificate.java 2KB
Title.java 2KB
BulletinResource.java 2KB
HttpAspect.java 2KB
ExceptionHandle.java 2KB
IAwardAndPunishService.java 1KB
ICertificateService.java 1KB
IExperienceService.java 1KB
IDepartmentService.java 1KB
ICultivateService.java 1KB
ICommunityService.java 1KB
IEducationService.java 1KB
ITitleService.java 1KB
IBulletinResourceService.java 1KB
IEmployeeService.java 1KB
Person.java 963B
ArchivesApplication.java 679B
Result.java 656B
SqlProvider.java 628B
PageTest.java 494B
ArchivesApplicationTests.java 326B
MyException.java 297B
ReturnPageException.java 92B
bg.jpg 60KB
jquery.js 242KB
before.js 38KB
education.js 10KB
community.js 9KB
department.js 9KB
cultivate.js 9KB
experience.js 9KB
awardAndPunish.js 9KB
certificate.js 9KB
bulletin.js 9KB
title.js 9KB
ajaxTemp.js 2KB
after.js 1KB
employeeInfo.jsp 33KB
myAccount.jsp 17KB
index.jsp 16KB
community.jsp 16KB
education.jsp 15KB
bulletin.jsp 15KB
department.jsp 14KB
experience.jsp 14KB
cultivate.jsp 14KB
awardAndPunish.jsp 14KB
certificate.jsp 13KB
title.jsp 12KB
login.jsp 4KB
image.jsp 3KB
information.jsp 3KB
test.jsp 1KB
mvnw 6KB
test.png 192KB
共 123 条
- 1
- 2
资源评论
博士僧小星
- 粉丝: 1922
- 资源: 5884
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功