123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326 |
- package com.ym.mec.web.controller;
- import com.ym.mec.biz.dal.dao.TeacherDao;
- import com.ym.mec.common.exception.BizException;
- import io.swagger.annotations.Api;
- import io.swagger.annotations.ApiOperation;
- import java.util.Date;
- import java.util.List;
- import java.util.stream.Collectors;
- import org.apache.commons.lang3.StringUtils;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.security.access.prepost.PreAuthorize;
- import org.springframework.web.bind.annotation.GetMapping;
- import org.springframework.web.bind.annotation.PostMapping;
- import org.springframework.web.bind.annotation.RequestBody;
- import org.springframework.web.bind.annotation.RequestMapping;
- import org.springframework.web.bind.annotation.RestController;
- import com.ym.mec.auth.api.client.SysUserFeignService;
- import com.ym.mec.auth.api.entity.SysUser;
- import com.ym.mec.biz.dal.dao.EmployeeDao;
- import com.ym.mec.biz.dal.dto.EmployeeLevelDto;
- import com.ym.mec.biz.dal.dto.SysEmployeePositionDto;
- import com.ym.mec.biz.dal.entity.Employee;
- import com.ym.mec.biz.dal.enums.EmployeeOperateEnum;
- import com.ym.mec.biz.dal.page.EmployeeQueryInfo;
- import com.ym.mec.biz.service.EmployeeService;
- import com.ym.mec.biz.service.OrganizationService;
- import com.ym.mec.biz.service.StudentManageService;
- import com.ym.mec.biz.service.SysEmployeePositionService;
- import com.ym.mec.common.controller.BaseController;
- import com.ym.mec.common.entity.HttpResponseResult;
- /**
- * @Author Joburgess
- * @Date 2019/9/17
- */
- @RequestMapping("employee")
- @Api(tags = "员工管理")
- @RestController
- public class EmployeeController extends BaseController {
- @Autowired
- private EmployeeService employeeService;
- @Autowired
- private SysUserFeignService sysUserFeignService;
- @Autowired
- private TeacherDao teacherDao;
- @Autowired
- private StudentManageService studentManageService;
- @Autowired
- private OrganizationService organizationService;
- @Autowired
- private EmployeeDao employeeDao;
- @Autowired
- private SysEmployeePositionService sysEmployeePositionService;
- @ApiOperation(value = "根据部门获取下面的员工")
- @GetMapping("/queryEmployByOrganId")
- @PreAuthorize("@pcs.hasPermissions('employee/queryEmployByOrganId')")
- public Object queryEmployByOrganId(EmployeeQueryInfo queryInfo) throws Exception {
- queryInfo.setOrganId(organizationService.getEmployeeOrgan(queryInfo.getOrganId()));
- return succeed(employeeService.queryEmployByOrganId(queryInfo));
- }
- @ApiOperation(value = "获取平台的员工")
- @GetMapping("/queryPlatformEmploy")
- @PreAuthorize("@pcs.hasPermissions('employee/queryPlatformEmploy')")
- public Object queryPlatformEmploy(EmployeeQueryInfo queryInfo) throws Exception {
- SysUser sysUser = sysUserFeignService.queryUserInfo();
- if (sysUser == null) {
- return failed("用户信息获取失败");
- }
- queryInfo.setOrganId(null);
- queryInfo.setTenantId(-1);
- return succeed(employeeService.queryEmployByOrganId(queryInfo));
- }
- @ApiOperation(value = "员工操作")
- @PostMapping("/employeeOperate")
- @PreAuthorize("@pcs.hasPermissions('employee/employeeOperate')")
- public Object employeeOperate(Integer employeeId, EmployeeOperateEnum operate){
- employeeService.employeeOperate(employeeId,operate);
- return succeed();
- }
- @ApiOperation(value = "当前用户是否有课程组教务老师关联")
- @PostMapping("/hasCourseGroupRelation")
- @PreAuthorize("@pcs.hasPermissions('employee/hasCourseGroupRelation')")
- public Object hasCourseGroupRelation(Integer employeeId){
- return succeed(employeeService.hasCourseGroupRelation(employeeId));
- }
- @ApiOperation(value = "修改指定的教务老师关联")
- @PostMapping("/updateEducationTeacherId")
- @PreAuthorize("@pcs.hasPermissions('employee/updateEducationTeacherId')")
- public Object updateEducationTeacherId(Integer currentUserId,Integer targetUserId){
- employeeService.updateEducationTeacherId(currentUserId,targetUserId);
- return succeed();
- }
- @ApiOperation(value = "新增员工")
- @PostMapping("/add")
- @PreAuthorize("@pcs.hasPermissions('employee/add')")
- public Object add(@RequestBody Employee employee) throws Exception {
- employeeService.add(employee);
- return succeed();
- }
- @ApiOperation(value = "修改员工")
- @PostMapping("/update")
- @PreAuthorize("@pcs.hasPermissions('employee/update')")
- public Object update(@RequestBody Employee employee) {
- employee.setUpdateTime(new Date());
- employeeService.updateEmployee(employee);
- return succeed();
- }
- @ApiOperation(value = "修改员工")
- @PostMapping("/simpleUpdate")
- @PreAuthorize("@pcs.hasPermissions('employee/simpleUpdate')")
- public Object simpleUpdate(@RequestBody Employee employee) {
- employeeService.simpleUpdate(employee);
- return succeed();
- }
- @ApiOperation(value = "修改用户")
- @PostMapping("/updateUser")
- public Object update(SysUser sysUser) {
- SysUser user = sysUserFeignService.queryUserInfo();
- if (user != null) {
- Date date = new Date();
- sysUser.setId(user.getId());
- sysUser.setUpdateTime(date);
- studentManageService.updateUser(sysUser);
- return succeed();
- }
- return failed("获取用户失败");
- }
- @ApiOperation(value = "获取所有员工")
- @GetMapping("/findAll")
- @PreAuthorize("@pcs.hasPermissions('employee/findAll')")
- public Object findAll() {
- return succeed(employeeService.findAll(null));
- }
- @ApiOperation(value = "获取用户信息")
- @GetMapping("/queryUserInfo")
- public Object apiQueryUserInfo() {
- SysUser sysUser = sysUserFeignService.queryUserInfo();
- if(sysUser != null && sysUser.getId() != null){
- Employee employee = employeeService.get(sysUser.getId());
- sysUser.setOrganName(organizationService.getOrganName(employee.getOrganIdList()));
- sysUser.setRoles(employeeDao.queryUserRole(sysUser.getId()));
- sysUser.setContactAddress(employee.getContactAddress());
- sysUser.setPostalCode(employee.getPostalCode());
- sysUser.setDeptId(employee.getDeptId());
- sysUser.setDeptIds(employee.getDeptIds());
- sysUser.setPostIds(employee.getPostIds());
- sysUser.setBankCard(employee.getBankCard());
- sysUser.setOpenBankAddress(employee.getOpenBankAddress());
- sysUser.setPostDeptIds(employee.getPostDeptIds());
-
- List<SysEmployeePositionDto> sysEmployeePositionDtoList = sysEmployeePositionService.queryByUserId(sysUser.getId());
- if(sysEmployeePositionDtoList != null && sysEmployeePositionDtoList.size() > 0){
- sysUser.setPositionName(sysEmployeePositionDtoList.stream().map(SysEmployeePositionDto :: getPositionName).collect(Collectors.joining(",")));
- }
- return succeed(sysUser);
- }
- return failed("获取用户信息失败");
- }
- /*@ApiOperation(value = "获取教务人员")
- @GetMapping("/findEducationUsers")
- public HttpResponseResult findEducationUsers(Integer userId, Integer organId){
- SysUser sysUser;
- if(userId == null){
- sysUser = sysUserFeignService.queryUserInfo();
- if (sysUser == null) {
- return failed("用户信息获取失败");
- }
- }else {
- sysUser = sysUserFeignService.queryUserById(userId);
- }
- String organIds = new String();
- if(Objects.isNull(organId)){
- Employee employee = employeeService.get(sysUser.getId());
- if (StringUtils.isEmpty(organIds)) {
- organIds = employee.getOrganIdList();
- }
- }else{
- organIds = organId.toString();
- }
- return succeed(employeeService.findByRole("4,5",organIds));
- }
- @ApiOperation(value = "获取对应角色的员工")
- @GetMapping("/findUserByRole")
- public HttpResponseResult findEducationUsers(Integer userId, Integer organId, EmployeeRoleEnum employeeRole){
- SysUser sysUser;
- if(userId == null){
- sysUser = sysUserFeignService.queryUserInfo();
- if (sysUser == null) {
- return failed("用户信息获取失败");
- }
- }else {
- sysUser = sysUserFeignService.queryUserById(userId);
- }
- String organIds = new String();
- if(Objects.isNull(organId)){
- Employee employee = employeeService.get(sysUser.getId());
- if (StringUtils.isEmpty(organIds)) {
- organIds = employee.getOrganIdList();
- }
- }else{
- organIds = organId.toString();
- }
- HashMap<String, Object> map = new HashMap<>();
- if(employeeRole == null){
- map.put("TEAM_TEACHER",employeeService.findByRole("5",organIds));
- map.put("TRANSACTION",employeeService.findByRole("58",organIds));
- map.put("EDUCATION",employeeService.findByRole("4",organIds));
- }else if(employeeRole == EmployeeRoleEnum.TEAM_TEACHER){
- map.put("TEAM_TEACHER",employeeService.findByRole("5",organIds));
- }else if(employeeRole == EmployeeRoleEnum.TRANSACTION){
- map.put("TRANSACTION",employeeService.findByRole("58",organIds));
- }else {
- map.put("EDUCATION",employeeService.findByRole("4",organIds));
- }
- return succeed(map);
- }
- @ApiOperation(value = "获取对应角色的员工")
- @GetMapping("/queryEmployeeByRole")
- public HttpResponseResult queryEmployeeByRole(Integer organId, String roleId){
- SysUser sysUser = sysUserFeignService.queryUserInfo();
- if (sysUser == null) {
- return failed(HttpStatus.FORBIDDEN,"请登录");
- }
- String organIds = new String();
- if(Objects.isNull(organId)){
- Employee employee = employeeService.get(sysUser.getId());
- if (StringUtils.isEmpty(organIds)) {
- organIds = employee.getOrganIdList();
- }
- }else{
- organIds = organId.toString();
- }
- return succeed(employeeService.findByRole(roleId, organIds));
- }
- @ApiOperation(value = "获取教务老师")
- @GetMapping("/findEducationTeacher")
- public HttpResponseResult findEducationTeacher(Integer userId){
- SysUser sysUser;
- if(userId == null){
- sysUser = sysUserFeignService.queryUserInfo();
- if (sysUser == null) {
- return failed("用户信息获取失败");
- }
- }else {
- sysUser = sysUserFeignService.queryUserById(userId);
- }
- String organIds = new String();
- Employee employee = employeeService.get(sysUser.getId());
- if (StringUtils.isEmpty(organIds)) {
- organIds = employee.getOrganIdList();
- }
- return succeed(employeeService.findByRole("4",organIds));
- }
- @ApiOperation(value = "获取维修技师")
- @GetMapping("/findTechnician")
- @PreAuthorize("@pcs.hasPermissions('employee/findTechnician')")
- public HttpResponseResult findTechnician(String organIds){
- SysUser sysUser = sysUserFeignService.queryUserInfo();
- if (sysUser == null) {
- return failed("用户信息获取失败");
- }
- if(StringUtils.isEmpty(organIds)){
- Employee employee = employeeService.get(sysUser.getId());
- if (StringUtils.isEmpty(organIds)) {
- organIds=employee.getOrganIdList();
- }
- }
- return succeed(employeeService.findByRole("37",organIds));
- }
- @ApiOperation(value = "获取所有维修技师(包含离职和冻结的)")
- @GetMapping("/findAllTechnician")
- @PreAuthorize("@pcs.hasPermissions('employee/findAllTechnician')")
- public HttpResponseResult<List<SimpleUserDto>> findAllTechnician(){
- SysUser sysUser = sysUserFeignService.queryUserInfo();
- String organIds = new String();
- if (sysUser == null) {
- return failed("用户信息获取失败");
- }
- Employee employee = employeeService.get(sysUser.getId());
- if (StringUtils.isEmpty(organIds)) {
- organIds=employee.getOrganIdList();
- }
- return succeed(employeeService.findAllByRole("37",organIds));
- }*/
- @ApiOperation(value = "获取所选用户离职所需交接信息")
- @GetMapping("/levelDetail")
- @PreAuthorize("@pcs.hasPermissions('employee/levelDetail')")
- public HttpResponseResult levelDetail(Integer userId){
- SysUser sysUser = sysUserFeignService.queryUserInfo();
- if (sysUser == null) {
- return failed("用户信息获取失败");
- }
- return succeed(employeeService.levelDetail(userId));
- }
- @ApiOperation(value = "员工离职交接")
- @PostMapping("/level")
- @PreAuthorize("@pcs.hasPermissions('employee/level')")
- public HttpResponseResult level(@RequestBody List<EmployeeLevelDto> employeeLevelDtos){
- employeeService.level(employeeLevelDtos);
- return succeed();
- }
- }
|