package com.yuanchu.mom.controller; import com.alibaba.excel.EasyExcel; import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.yuanchu.mom.annotation.CustomClazzName; import com.yuanchu.mom.annotation.ValueClassify; import com.yuanchu.mom.common.GetLook; import com.yuanchu.mom.mapper.UserMapper; import com.yuanchu.mom.pojo.PersonTrackRecord; import com.yuanchu.mom.pojo.User; import com.yuanchu.mom.service.PersonTrackRecordService; import com.yuanchu.mom.vo.Result; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.AllArgsConstructor; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletResponse; import java.util.List; /** *

* 工作履历 前端控制器 *

* * @author 江苏鵷雏网络科技有限公司 * @since 2024-09-02 03:13:03 */ @Api(tags = "人员 - 工作履历") @RestController @AllArgsConstructor @RequestMapping("/personTrackRecord") @CustomClazzName(name = "资源要求",index = 8) public class PersonTrackRecordController { @Autowired private PersonTrackRecordService personTrackRecordService; private GetLook getLook; private UserMapper userMapper; @ValueClassify("工作履历") @ApiOperation(value = "新增工作履历") @PostMapping("personTrackRecordSave") public Result personTrackRecordSave(@RequestBody PersonTrackRecord personTrackRecord) { Integer userId = getLook.selectPowerByMethodAndUserId(null).get("userId"); User user = userMapper.selectById(userId); personTrackRecord.setCreateUser(user.getName()); personTrackRecordService.save(personTrackRecord); return Result.success(); } @ValueClassify("工作履历") @ApiOperation(value = "删除工作履历") @DeleteMapping("personTrackRecordDelete") public Result personTrackRecordDelete(@RequestParam("id") Integer id) { personTrackRecordService.removeById(id); return Result.success(); } @ValueClassify("工作履历") @ApiOperation(value = "工作履历更新") @PutMapping("personTrackRecordUpdate") public Result personTrackRecordUpdate(@RequestBody PersonTrackRecord personTrackRecord) { personTrackRecordService.updateById(personTrackRecord); return Result.success(); } @ValueClassify("工作履历") @ApiOperation(value = "查询工作履历") @GetMapping("personTrackRecordSelect") public Result> personTrackRecordSelect(Page page, String userId, String departmentId) { IPage iPage = personTrackRecordService.personTrackRecordSelect(page, userId, departmentId); return Result.success(iPage); } @ValueClassify("工作履历") @ApiOperation(value = "工作履历导出") @GetMapping("personTrackRecordExport") public void personTrackRecordExport(HttpServletResponse response, String userId, String departmentId) throws Exception { List data = personTrackRecordService.personTrackRecordExport(userId, departmentId); response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"); response.setHeader("requestType", "excel"); response.setHeader("Access-Control-Expose-Headers", "requestType"); // 设置单元格样式 // 保存到第一个sheet中 EasyExcel.write(response.getOutputStream()) .head(PersonTrackRecord.class) .registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()) // 自适应列宽 .sheet() .doWrite(data); } }