package com.ihrm.employee.controller;
import com.alibaba.fastjson.JSON;
import com.ihrm.common.controller.BaseController;
import com.ihrm.common.entity.PageResult;
import com.ihrm.common.entity.Result;
import com.ihrm.common.entity.ResultCode;
import com.ihrm.common.exception.CommonException;
import com.ihrm.common.poi.ExcelExportUtil;
import com.ihrm.common.utils.BeanMapUtils;
import com.ihrm.common.utils.DownloadUtils;
import com.ihrm.domain.employee.*;
import com.ihrm.domain.employee.response.EmployeeReportResult;
import com.ihrm.employee.service.*;
import io.jsonwebtoken.Claims;
import net.sf.jasperreports.engine.*;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.core.io.ClassPathResource;
import org.springframework.core.io.Resource;
import org.springframework.data.domain.Page;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletResponse;
import java.io.*;
import java.lang.reflect.Field;
import java.net.URLEncoder;
import java.util.*;
import java.util.concurrent.atomic.AtomicInteger;
@RestController
@CrossOrigin
@RequestMapping("/employees")
public class EmployeeController extends BaseController {
@Autowired
private UserCompanyPersonalService userCompanyPersonalService;
@Autowired
private UserCompanyJobsService userCompanyJobsService;
@Autowired
private ResignationService resignationService;
@Autowired
private TransferPositionService transferPositionService;
@Autowired
private PositiveService positiveService;
@Autowired
private ArchiveService archiveService;
/**
* 打印员工pdf报表x
*/
@RequestMapping(value="/{id}/pdf",method = RequestMethod.GET)
public void pdf(@PathVariable String id) throws IOException {
//1.引入jasper文件
Resource resource = new ClassPathResource("templates/profile.jasper");
FileInputStream fis = new FileInputStream(resource.getFile());
//2.构造数据
//a.用户详情数据
UserCompanyPersonal personal = userCompanyPersonalService.findById(id);
//b.用户岗位信息数据
UserCompanyJobs jobs = userCompanyJobsService.findById(id);
//c.用户头像 域名 / id
String staffPhoto = "http://pkbivgfrm.bkt.clouddn.com/"+id;
System.out.println(staffPhoto);
//3.填充pdf模板数据,并输出pdf
Map params = new HashMap();
Map<String, Object> map1 = BeanMapUtils.beanToMap(personal);
Map<String, Object> map2 = BeanMapUtils.beanToMap(jobs);
params.putAll(map1);
params.putAll(map2);
params.put("staffPhoto","staffPhoto");
ServletOutputStream os = response.getOutputStream();
try {
JasperPrint print = JasperFillManager.fillReport(fis, params,new JREmptyDataSource());
JasperExportManager.exportReportToPdfStream(print,os);
} catch (JRException e) {
e.printStackTrace();
}finally {
os.flush();
}
}
/**
* 员工个人信息保存
*/
@RequestMapping(value = "/{id}/personalInfo", method = RequestMethod.PUT)
public Result savePersonalInfo(@PathVariable(name = "id") String uid, @RequestBody Map map) throws Exception {
UserCompanyPersonal sourceInfo = BeanMapUtils.mapToBean(map, UserCompanyPersonal.class);
if (sourceInfo == null) {
sourceInfo = new UserCompanyPersonal();
}
sourceInfo.setUserId(uid);
sourceInfo.setCompanyId(super.companyId);
userCompanyPersonalService.save(sourceInfo);
return new Result(ResultCode.SUCCESS);
}
/**
* 员工个人信息读取
*/
@RequestMapping(value = "/{id}/personalInfo", method = RequestMethod.GET)
public Result findPersonalInfo(@PathVariable(name = "id") String uid) throws Exception {
UserCompanyPersonal info = userCompanyPersonalService.findById(uid);
if(info == null) {
info = new UserCompanyPersonal();
info.setUserId(uid);
}
return new Result(ResultCode.SUCCESS,info);
}
/**
* 员工岗位信息保存
*/
@RequestMapping(value = "/{id}/jobs", method = RequestMethod.PUT)
public Result saveJobsInfo(@PathVariable(name = "id") String uid, @RequestBody UserCompanyJobs sourceInfo) throws Exception {
//更新员工岗位信息
if (sourceInfo == null) {
sourceInfo = new UserCompanyJobs();
sourceInfo.setUserId(uid);
sourceInfo.setCompanyId(super.companyId);
}
userCompanyJobsService.save(sourceInfo);
return new Result(ResultCode.SUCCESS);
}
/**
* 员工岗位信息读取
*/
@RequestMapping(value = "/{id}/jobs", method = RequestMethod.GET)
public Result findJobsInfo(@PathVariable(name = "id") String uid) throws Exception {
UserCompanyJobs info = userCompanyJobsService.findById(uid);
if(info == null) {
info = new UserCompanyJobs();
info.setUserId(uid);
info.setCompanyId(companyId);
}
return new Result(ResultCode.SUCCESS,info);
}
/**
* 离职表单保存
*/
@RequestMapping(value = "/{id}/leave", method = RequestMethod.PUT)
public Result saveLeave(@PathVariable(name = "id") String uid, @RequestBody EmployeeResignation resignation) throws Exception {
resignation.setUserId(uid);
resignationService.save(resignation);
return new Result(ResultCode.SUCCESS);
}
/**
* 离职表单读取
*/
@RequestMapping(value = "/{id}/leave", method = RequestMethod.GET)
public Result findLeave(@PathVariable(name = "id") String uid) throws Exception {
EmployeeResignation resignation = resignationService.findById(uid);
if(resignation == null) {
resignation = new EmployeeResignation();
resignation.setUserId(uid);
}
return new Result(ResultCode.SUCCESS,resignation);
}
/**
* 调岗表单保存
*/
@RequestMapping(value = "/{id}/transferPosition", method = RequestMethod.PUT)
public Result saveTransferPosition(@PathVariable(name = "id") String uid, @RequestBody EmployeeTransferPosition transferPosition) throws Exception {
transferPosition.setUserId(uid);
transferPositionService.save(transferPosition);
return new Result(ResultCode.SUCCESS);
}
/**
* 调岗表单读取
*/
@RequestMapping(value = "/{id}/transferPosition", method = RequestMethod.GET)
public Result findTransferPosition(@PathVariable(name = "id") String uid) throws Exception {
UserCompanyJobs jobsInfo = userCompanyJobsService.findById(uid);
if(jobsInfo == null) {
jobsInfo = new UserCompanyJobs();
jobsInfo.setUserId(uid);
}
return new Result(ResultCode.SUCCESS,jobsInfo);
}
/**
* 转正表单保存
*/
@RequestMapping(value = "/{id}/positive", method = RequestMethod.PUT)
public Result savePositive(@PathVariable(name = "id") String uid, @RequestBody EmployeePositive positive) throws Exception {
positiveService.save(positive);
return new Result(ResultCode.SUCCESS);
}
/**
* 转正表单读取
*/
@RequestMapping(value = "/{id}/positive", method = RequestMethod.GET)
public Result findPositive(@PathVariable(name = "id"
没有合适的资源?快使用搜索试试~ 我知道了~
ihrm-parent.zip
共822个文件
xml:341个
class:222个
java:214个
需积分: 5 1 下载量 34 浏览量
2023-07-06
15:58:29
上传
评论
收藏 15.06MB ZIP 举报
温馨提示
一个办公系统的源码分享
资源推荐
资源详情
资源评论
收起资源包目录
ihrm-parent.zip (822个子文件)
ArchiveDetail.class 51KB
SalaryArchiveDetail.class 42KB
UserCompanyPersonal.class 41KB
AtteReportMonthlyBO.class 37KB
ArchiveMonthlyInfo.class 29KB
EmployeeReportResult.class 17KB
ReportItemVO.class 16KB
UserCompanyJobs.class 16KB
UserSocialSecurity.class 15KB
EmployeeController.class 14KB
EmployeeTransferPosition.class 13KB
Company.class 11KB
AuditService.class 11KB
UserController.class 10KB
DeductionDict.class 10KB
ProcInstance.class 9KB
Settings.class 9KB
Attendance.class 9KB
ArchiveService.class 9KB
UserSocialSecurityItem.class 8KB
UserService.class 7KB
SocialSecurityController.class 7KB
EmployeeResignation.class 7KB
AtteService.class 6KB
UserSalaryChange.class 6KB
ExtDutyVO.class 6KB
User.class 6KB
ProcTaskInstance.class 6KB
ExtraDutyRule.class 6KB
PermissionService.class 6KB
EmployeeArchive.class 6KB
Department.class 6KB
ExcelImportUtil.class 6KB
ExcelExportUtil.class 6KB
CityPaymentItem.class 5KB
ArchiveMonthly.class 5KB
AttendanceConfig.class 5KB
UserResult.class 5KB
DateUtil.class 5KB
UserSalary.class 5KB
Archive.class 5KB
SalaryArchive.class 5KB
PageResult.class 5KB
AttendanceController.class 5KB
ProcessController.class 5KB
RoleController.class 4KB
EmployeePositive.class 4KB
AtteItemBO.class 4KB
PaymentItem.class 4KB
RoleService.class 4KB
ProfileResult.class 4KB
ExtraDutyConfig.class 4KB
ExcelImportService.class 4KB
ShiroConfiguration.class 4KB
ShiroConfiguration.class 4KB
ArchiveService.class 4KB
ShiroConfiguration.class 4KB
ArchiveService.class 4KB
ShiroConfiguration.class 4KB
ShiroConfiguration.class 4KB
AtteSalaryStatisticsBO.class 4KB
ShiroConfiguration.class 4KB
ShiroConfiguration.class 4KB
ShiroConfiguration.class 4KB
AttePageVO.class 4KB
ReportVO.class 4KB
LeaveTypeEnum.class 4KB
AtteUploadVo.class 4KB
IdWorker.class 4KB
LeaveConfig.class 4KB
ArchiveService.class 4KB
AuditService$1.class 4KB
DayOffConfig.class 4KB
DepartmentController.class 4KB
AtteSalaryStatisticsVO.class 4KB
PermissionService$1.class 4KB
Result.class 4KB
AtteVo.class 3KB
JwtUtils.class 3KB
ArchiveMonthlyVO.class 3KB
JpaRepositoriesConfig.class 3KB
UserService$1.class 3KB
PermissionController.class 3KB
ProcessService.class 3KB
UserRealm.class 3KB
ProcUserGroup.class 3KB
ExtWorkVO.class 3KB
AuditApplication.class 3KB
SalaryController.class 3KB
ArchiveInfoVO.class 3KB
ArchiveService$1.class 3KB
CompanySettings.class 3KB
CompanySettings.class 3KB
ArchiveListBO.class 3KB
CompanySettings.class 3KB
CompanyController.class 3KB
CityController.class 3KB
JwtInterceptor.class 3KB
AtteStatisBO.class 3KB
PageResult.class 3KB
共 822 条
- 1
- 2
- 3
- 4
- 5
- 6
- 9
资源评论
JAVA编码选手
- 粉丝: 4294
- 资源: 77
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功