package com.fad.hrm.controller; import cn.dev33.satoken.annotation.SaCheckPermission; import com.fad.common.annotation.Log; import com.fad.common.core.controller.BaseController; import com.fad.common.core.domain.PageQuery; import com.fad.common.core.domain.R; import com.fad.common.core.page.TableDataInfo; import com.fad.common.enums.BusinessType; import com.fad.hrm.domain.bo.HrmEmployeeBo; import com.fad.hrm.domain.vo.HrmEmployeeVo; import com.fad.hrm.service.IHrmEmployeeService; import lombok.RequiredArgsConstructor; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import javax.validation.constraints.NotEmpty; import javax.validation.constraints.NotNull; import java.util.Arrays; import java.util.List; @Validated @RequiredArgsConstructor @RestController @RequestMapping("/hrm/employee") public class HrmEmployeeController extends BaseController { private final IHrmEmployeeService service; @GetMapping("/list") public TableDataInfo list(HrmEmployeeBo bo, PageQuery pageQuery) { return service.queryPageList(bo, pageQuery); } @GetMapping("/{empId}") public R getInfo(@PathVariable @NotNull Long empId) { return R.ok(service.queryById(empId)); } @Log(title = "员工管理", businessType = BusinessType.INSERT) @PostMapping public R add(@Validated @RequestBody HrmEmployeeBo bo) { return toAjax(service.insertByBo(bo)); } @Log(title = "员工管理", businessType = BusinessType.UPDATE) @PutMapping public R edit(@Validated @RequestBody HrmEmployeeBo bo) { return toAjax(service.updateByBo(bo)); } @Log(title = "员工管理", businessType = BusinessType.DELETE) @DeleteMapping("/{empIds}") public R remove(@PathVariable @NotEmpty Long[] empIds) { return toAjax(service.deleteWithValidByIds(Arrays.asList(empIds), true)); } @GetMapping("/all") public R> all(HrmEmployeeBo bo) { return R.ok(service.queryList(bo)); } /** * 根据用户ID获取员工信息 */ @GetMapping("/byUserId/{userId}") public R getByUserId(@PathVariable @NotNull Long userId) { HrmEmployeeBo bo = new HrmEmployeeBo(); bo.setUserId(userId); List list = service.queryList(bo); if (list != null && !list.isEmpty()) { return R.ok(list.get(0)); } return R.fail("未找到该用户对应的员工信息"); } }