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;
|
|
/**
|
* <p>
|
* 工作履历 前端控制器
|
* </p>
|
*
|
* @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<IPage<PersonTrackRecord>> personTrackRecordSelect(Page page, String userId, String departmentId) {
|
IPage<PersonTrackRecord> 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<PersonTrackRecord> 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);
|
}
|
}
|