| | |
| | | package cc.mrbird.febs.server.hr.controller; |
| | | |
| | | import java.io.IOException; |
| | | import java.io.InputStream; |
| | | import java.util.ArrayList; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | |
| | | import javax.validation.Valid; |
| | | import javax.validation.constraints.NotBlank; |
| | | |
| | | import cc.mrbird.febs.common.core.entity.system.SystemUser; |
| | | import cc.mrbird.febs.server.hr.annotation.ControllerEndpoint; |
| | | import com.wuwenze.poi.ExcelKit; |
| | | |
| | | import org.springframework.security.access.prepost.PreAuthorize; |
| | | import org.springframework.validation.annotation.Validated; |
| | | import org.springframework.web.bind.annotation.DeleteMapping; |
| | | import org.springframework.web.bind.annotation.GetMapping; |
| | | import org.springframework.web.bind.annotation.PathVariable; |
| | | import org.springframework.web.bind.annotation.PostMapping; |
| | | import org.springframework.web.bind.annotation.PutMapping; |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | | import org.springframework.web.bind.annotation.RestController; |
| | | import org.springframework.web.bind.annotation.*; |
| | | import org.springframework.web.multipart.MultipartFile; |
| | | |
| | | import cc.mrbird.febs.common.core.entity.FebsResponse; |
| | | import cc.mrbird.febs.common.core.entity.QueryRequest; |
| | | import cc.mrbird.febs.common.core.exception.FebsException; |
| | | import cc.mrbird.febs.common.core.utils.FebsUtil; |
| | | import cc.mrbird.febs.server.hr.entity.EmpBaseInfo; |
| | | import cc.mrbird.febs.server.hr.entity.EmpDimissionLog; |
| | | import cc.mrbird.febs.server.hr.entity.EmpJobChange; |
| | | import cc.mrbird.febs.server.hr.feign.IRemoteDeptService; |
| | | import cc.mrbird.febs.server.hr.feign.IRemoteUserService; |
| | | import cc.mrbird.febs.server.hr.service.IEmpBaseInfoService; |
| | | import cc.mrbird.febs.server.hr.util.PoiExportExcel; |
| | | import cc.mrbird.febs.server.hr.util.PoiImportExcel; |
| | | import cn.hutool.core.date.DateUtil; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiOperation; |
| | |
| | | @PreAuthorize("hasAuthority('empBaseinfo:list')") |
| | | public FebsResponse empBaseInfoList(QueryRequest request, EmpBaseInfo empBaseinfo) { |
| | | Map<String, Object> dataTable = FebsUtil.getDataTable(this.empBaseInfoService.findEmpBaseInfos(request, empBaseinfo)); |
| | | return new FebsResponse().data(dataTable); |
| | | } |
| | | |
| | | @ApiOperation(value = "智搜人员基本信息翻页列表") |
| | | @GetMapping("zslist") |
| | | @PreAuthorize("hasAuthority('empBaseinfo:list')") |
| | | public FebsResponse empBaseInfoZsList(QueryRequest request, EmpBaseInfo empBaseinfo) { |
| | | Map<String, Object> dataTable = FebsUtil.getDataTable(this.empBaseInfoService.findZsEmpBaseInfos(request, empBaseinfo)); |
| | | return new FebsResponse().data(dataTable); |
| | | } |
| | | |
| | |
| | | throw new FebsException(message); |
| | | } |
| | | } |
| | | |
| | | @ApiOperation(value = "导出员工") |
| | | @RequestMapping(value = "export",method= RequestMethod.POST) |
| | | @ControllerEndpoint(operation = "导出用户数据", exceptionMessage = "导出Excel失败") |
| | | public void export(QueryRequest request, EmpBaseInfo empBaseinfo, HttpServletResponse response) throws IOException { |
| | | |
| | | @ApiOperation(value = "关闭员工档案") |
| | | @PostMapping("dimission") |
| | | public void dimissionEmp(EmpDimissionLog empDimissionLog) throws FebsException { |
| | | try { |
| | | this.empBaseInfoService.closeEmpArchives(empDimissionLog); |
| | | } catch (Exception e) { |
| | | String message = "关闭员工档案失败"; |
| | | log.error(message, e); |
| | | throw new FebsException(message); |
| | | } |
| | | } |
| | | @ApiOperation(value = "员工岗位变更") |
| | | @PostMapping("jobChange") |
| | | public void changeEmpJob(EmpJobChange empJobChange) throws FebsException { |
| | | try { |
| | | this.empBaseInfoService.changeEmpJob(empJobChange); |
| | | } catch (Exception e) { |
| | | String message = "员工调岗保存失败"; |
| | | log.error(message, e); |
| | | throw new FebsException(message); |
| | | } |
| | | } |
| | | |
| | | @ApiOperation(value = "导出员工") |
| | | @PostMapping("export") |
| | | public void export(QueryRequest request, HttpServletResponse response, String exportField) throws IOException { |
| | | EmpBaseInfo empBaseinfo = new EmpBaseInfo(); |
| | | empBaseinfo.setDelFlag(0); |
| | | List<EmpBaseInfo> exportList = empBaseInfoService.findEmpBaseInfos(empBaseinfo); |
| | | List<Map<String, Object>> listMapDicItem = new ArrayList(); |
| | | List<Map<String, Object>> allList = PoiExportExcel.getDataList(exportField, exportList, listMapDicItem); |
| | | String fileName = "在职员工列表"; |
| | | Date currentDate = new Date(); |
| | | String dateStr = DateUtil.formatDate(currentDate); |
| | | boolean result = PoiExportExcel.exportCommonExcel(response, fileName + dateStr, fileName, allList); |
| | | List<EmpBaseInfo> records = this.empBaseInfoService.findZsEmpBaseInfos(request, empBaseinfo).getRecords(); |
| | | ExcelKit.$Export(EmpBaseInfo.class, response).downXlsx(records, false); |
| | | } |
| | | |
| | | @ApiOperation(value = "导出员工") |
| | | |
| | | @ApiOperation(value = "导入员工") |
| | | @PostMapping("importEmp") |
| | | public void importEmp() throws IOException { |
| | | public void importEmp(MultipartFile file) throws IOException { |
| | | InputStream in = null; |
| | | List<List<Object>> listObject = null; |
| | | try { |
| | | if (!file.isEmpty()) { |
| | | in = file.getInputStream(); |
| | | listObject = new PoiImportExcel().getListByExcel(in, file.getOriginalFilename()); |
| | | in.close(); |
| | | empBaseInfoService.importEmpBaseInfo(listObject); |
| | | } |
| | | } catch (Exception e) { |
| | | log.error("导入员工", e); |
| | | } |
| | | |
| | | } |
| | | |
| | | } |