| | |
| | | package cc.mrbird.febs.server.hr.controller; |
| | | |
| | | import cc.mrbird.febs.common.core.entity.system.Dept; |
| | | import java.io.IOException; |
| | | import java.io.InputStream; |
| | | import java.util.ArrayList; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | import javax.servlet.http.HttpServletResponse; |
| | | import javax.validation.Valid; |
| | | import javax.validation.constraints.NotBlank; |
| | | |
| | | import cc.mrbird.febs.common.core.entity.system.SystemUser; |
| | | import cc.mrbird.febs.server.hr.entity.EmpBaseInfo; |
| | | 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.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.*; |
| | | 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.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; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import lombok.RequiredArgsConstructor; |
| | | import org.springframework.security.access.prepost.PreAuthorize; |
| | | import org.springframework.validation.annotation.Validated; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import javax.validation.Valid; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | |
| | | /** |
| | | * name: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); |
| | | } |
| | | |
| | | @ApiOperation(value = "人员基本信息增加") |
| | | @PostMapping |
| | | @PreAuthorize("hasAuthority('empBaseinfo:add')") |
| | | public void addEmpBaseInfo(@Valid EmpBaseInfo empBaseinfo) throws FebsException { |
| | | if(this.empBaseInfoService.verifyEmpNumb(empBaseinfo)){ |
| | | throw new FebsException("已存在此员工编号"); |
| | | } |
| | | try { |
| | | //EmpBaseInfo tempInfo = this.empBaseInfoService. |
| | | this.empBaseInfoService.createEmpBaseInfo(empBaseinfo); |
| | | } catch (Exception e) { |
| | | String message = "新增员工基本信息失败"; |
| | |
| | | @ApiOperation(value = "人员基本信息逻辑删除") |
| | | @DeleteMapping("{ids}") |
| | | @PreAuthorize("hasAuthority('empBaseinfo:delete')") |
| | | public void logicDeleteEmpBaseInfo(@PathVariable("ids") String ids) throws FebsException { |
| | | public void logicDeleteEmpBaseInfo(@NotBlank(message = "{required}") @PathVariable("ids") String ids) throws FebsException { |
| | | try { |
| | | this.empBaseInfoService.logicDelEmpBaseInfo(ids); |
| | | } catch (Exception e) { |
| | |
| | | @ApiOperation(value = "人员基本信息修改") |
| | | @PutMapping |
| | | @PreAuthorize("hasAuthority('empBaseinfo:update')") |
| | | public void updateEmpBaseInfo(EmpBaseInfo empBaseinfo) throws FebsException { |
| | | public void updateEmpBaseInfo(@Valid EmpBaseInfo empBaseinfo) throws FebsException { |
| | | if(this.empBaseInfoService.verifyEmpNumb(empBaseinfo)){ |
| | | throw new FebsException("已存在此员工编号:" + empBaseinfo.getEmpNumb()); |
| | | } |
| | | try { |
| | | this.empBaseInfoService.updateEmpBaseInfo(empBaseinfo); |
| | | } catch (Exception e) { |
| | |
| | | throw new FebsException(message); |
| | | } |
| | | } |
| | | @ApiOperation(value = "基本信息提交") |
| | | @DeleteMapping("toNormal/{ids}") |
| | | @PreAuthorize("hasAuthority('empBaseinfo:delete')") |
| | | public void momentToNormal(@NotBlank(message = "{required}") @PathVariable("ids") String ids) throws FebsException { |
| | | try { |
| | | this.empBaseInfoService.momentToNormal(ids); |
| | | } catch (Exception e) { |
| | | String message = "基本信息提交失败"; |
| | | log.error(message, e); |
| | | 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 { |
| | | |
| | | // @GetMapping("user/list") |
| | | // public FebsResponse getRemoteUserList(QueryRequest request, SystemUser user) { |
| | | // return remoteUserService.userList(request, user); |
| | | // } |
| | | // @GetMapping("dept/list") |
| | | // public List<Dept> getRemoteDeptList(Dept dept) { |
| | | // return remoteDeptService.selectAllDept(dept); |
| | | // } |
| | | List<EmpBaseInfo> records = this.empBaseInfoService.findZsEmpBaseInfos(request, empBaseinfo).getRecords(); |
| | | ExcelKit.$Export(EmpBaseInfo.class, response).downXlsx(records, false); |
| | | } |
| | | |
| | | @ApiOperation(value = "导入员工") |
| | | @PostMapping("importEmp") |
| | | 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); |
| | | } |
| | | |
| | | } |
| | | |
| | | } |