package com.product.org.admin.controller; import com.alibaba.druid.util.StringUtils; import com.product.admin.util.ResultInfo; import com.product.core.config.CoreConst; import com.product.core.controller.support.AbstractBaseController; import com.product.core.entity.DataTableEntity; import com.product.core.entity.FieldSetEntity; import com.product.core.entity.RequestParameterEntity; import com.product.core.exception.BaseException; import com.product.core.permission.PermissionService; import com.product.core.spring.context.SpringMVCContextHolder; import com.product.module.sys.config.SystemErrorCode; import com.product.module.sys.version.ApiVersion; import com.product.org.admin.config.CmnCode; import com.product.org.admin.config.CmnConst; import com.product.org.admin.config.SystemCode; import com.product.org.admin.service.EmployeeFileService; import com.product.org.admin.service.idel.IEmployeeFileService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController; import javax.servlet.http.HttpServletRequest; /** * Copyright LX * * @Title: EmployeeFileController * @Project: product-server * @date: 2021-08-21 16:06 * @author: ZhouJie * @Description: 员工档案 */ @RestController @RequestMapping("/api/employeefile") public class EmployeeFileController extends AbstractBaseController { @Autowired PermissionService permissionService; @Autowired private EmployeeFileService employeeFileService; /** * 公司列表查询接口 * @param request * @return */ @RequestMapping(value = "/list-orglevels/{version}", method = RequestMethod.POST) @ApiVersion(1) public String listCompany(HttpServletRequest request) { try { FieldSetEntity fse = null; Object bean = request.getAttribute(CoreConst.API_POST_REQUEST_DATA); if (bean != null) { RequestParameterEntity reqp = (RequestParameterEntity) bean; fse = reqp.getFormData(); } if (bean == null || fse == null) { SpringMVCContextHolder.getSystemLogger().error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText()); return this.error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText()); } // 判断表名是否正常 if (fse.getTableName() == null || (!CmnConst.PRODUCT_SYS_ORG_LEVELS.equals(fse.getTableName())&& !(CmnConst.PRODUCT_SYS_STAFFS.equals(fse.getTableName())))) { SpringMVCContextHolder.getSystemLogger().error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText()); return this.error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText()); } fse.setValue(CmnConst.ORG_LEVEL_TYPE, 0); return ResultInfo.success(employeeFileService.listOrgLevels(fse)); } catch (BaseException e) { SpringMVCContextHolder.getSystemLogger().error(e); return error(e.getCode(), e.getMessageInfo()); } catch (Exception e) { SpringMVCContextHolder.getSystemLogger().error(e); e.printStackTrace(); return this.error(SystemCode.SYSTEM_GET_COMPANYLIST_FAIL.getValue(), SystemCode.SYSTEM_GET_COMPANYLIST_FAIL.getText()); } } /** * 员工档案列表 * @param request * @return */ @RequestMapping(value = "/list-employee/{version}", method = RequestMethod.POST) @ApiVersion(1) public String listStaffInfo(HttpServletRequest request) { try { //获取参数 FieldSetEntity fse=null; Object bean=request.getAttribute(CoreConst.API_POST_REQUEST_DATA); if(bean != null){ RequestParameterEntity reqp=(RequestParameterEntity)bean; fse = reqp.getFormData(); } //判断参数是否为空 if(bean == null || fse == null) { SpringMVCContextHolder.getSystemLogger().error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText()); return this.error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText()); } //判断分页参数是否正常 if (StringUtils.isEmpty(fse.getString(CmnConst.PAGESIZE))|| StringUtils.isEmpty(fse.getString(CmnConst.CPAGE))) { SpringMVCContextHolder.getSystemLogger().error(SystemCode.SYSTEM_FORM_COUNT.getValue(), SystemCode.SYSTEM_FORM_COUNT.getText()); return this.error(SystemCode.SYSTEM_FORM_COUNT.getValue(), SystemCode.SYSTEM_FORM_COUNT.getText()); } return OK_List(employeeFileService.listEmployee(fse)); } catch (BaseException e) { SpringMVCContextHolder.getSystemLogger().error(e); return error(e.getCode(), e.getMessageInfo()); } catch (Exception e) { e.printStackTrace(); SpringMVCContextHolder.getSystemLogger().error(e); return error(SystemCode.GET_EMPLOYEELIST_FAIL.getValue(), SystemCode.GET_EMPLOYEELIST_FAIL.getText()+e.getMessage()); } } /** * 员工档案详情 * @param request * @return */ @RequestMapping(value = "/get-employeeinfo/{version}", method = RequestMethod.POST) @ApiVersion(1) public String getEmployeeInfo(HttpServletRequest request) { try { //获取参数 FieldSetEntity fse=null; Object bean=request.getAttribute(CoreConst.API_POST_REQUEST_DATA); if(bean != null){ RequestParameterEntity reqp=(RequestParameterEntity)bean; fse = reqp.getFormData(); } //判断参数是否为空 if(bean == null || fse == null) { SpringMVCContextHolder.getSystemLogger().error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText()); return this.error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText()); } //判断表名是否正常 if (!CmnConst.PRODUCT_SYS_STAFFS.equals(fse.getTableName())) { SpringMVCContextHolder.getSystemLogger().error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText()); return this.error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText()); } //判断参数是否正常 if (StringUtils.isEmpty(fse.getString(CmnConst.UUID))) { SpringMVCContextHolder.getSystemLogger().error(SystemCode.SYSTEM_FORM_COUNT.getValue(), SystemCode.SYSTEM_FORM_COUNT.getText()); return this.error(SystemCode.SYSTEM_FORM_COUNT.getValue(), SystemCode.SYSTEM_FORM_COUNT.getText()); } //数据操作的权限验证 if(!permissionService.validDataPermission(fse,CoreConst.DATA_PERMISSION_VALID_TYPE_ORG)) { SpringMVCContextHolder.getSystemLogger().error(SystemErrorCode.SYSTEM_NOT_OPER_PERMISSION.getValue(),SystemErrorCode.SYSTEM_NOT_OPER_PERMISSION.getText()); return this.error(SystemErrorCode.SYSTEM_NOT_OPER_PERMISSION.getValue(), SystemErrorCode.SYSTEM_NOT_OPER_PERMISSION.getText()); } FieldSetEntity fseStaff=employeeFileService.getEmployeeInfo(fse); return OK_List(fseStaff); } catch (BaseException e) { SpringMVCContextHolder.getSystemLogger().error(e); return error(e.getCode(), e.getMessageInfo()); } catch (Exception e) { e.printStackTrace(); SpringMVCContextHolder.getSystemLogger().error(e); return error(SystemCode.GET_EMPLOYEEINFO_FAIL.getValue(), SystemCode.GET_EMPLOYEEINFO_FAIL.getText()+e.getMessage()); } } /** * 修改员工档案信息 * @param request * @return */ @RequestMapping(value = "/update-employee/{version}", method = RequestMethod.POST) @ApiVersion(1) public String updateEmployee(HttpServletRequest request) { try { FieldSetEntity fse = null; Object bean = request.getAttribute(CoreConst.API_POST_REQUEST_DATA); if (bean != null) { RequestParameterEntity reqp = (RequestParameterEntity) bean; fse = reqp.getFormData(); } if (fse == null) { SpringMVCContextHolder.getSystemLogger().error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText()); return this.error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText()); } if (fse.getTableName() == null || !CmnConst.PRODUCT_SYS_STAFFS.equals(fse.getTableName())) { SpringMVCContextHolder.getSystemLogger().error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText()); return this.error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText()); } IEmployeeFileService service=(IEmployeeFileService)getProxyInstance(employeeFileService); if(service.updateEmployee(fse)){ return OK(); }else { SpringMVCContextHolder.getSystemLogger().error(SystemCode.UPDATE_EMPLOYEELIST_FAIL.getValue(), SystemCode.UPDATE_EMPLOYEELIST_FAIL.getText()); return this.error(SystemCode.UPDATE_EMPLOYEELIST_FAIL.getValue(), SystemCode.UPDATE_EMPLOYEELIST_FAIL.getText()); } }catch(BaseException e) { SpringMVCContextHolder.getSystemLogger().error(e); return this.error(e.getCode(), e.getMessageInfo()); } catch (Exception e) { e.printStackTrace(); SpringMVCContextHolder.getSystemLogger().error(e); return this.error(SystemCode.UPDATE_EMPLOYEELIST_FAIL.getValue(), SystemCode.UPDATE_EMPLOYEELIST_FAIL.getText()); } } //员工档案子表 /** * 保存员工档案子表 * @param request * @return */ @RequestMapping(value = "/save-employsub/{version}", method = RequestMethod.POST) public String saveEmployeeSub(HttpServletRequest request) { try { //获取参数 FieldSetEntity fse=null; Object bean=request.getAttribute(CoreConst.API_POST_REQUEST_DATA); if(bean != null){ RequestParameterEntity reqp=(RequestParameterEntity)bean; fse = reqp.getFormData(); } //判断参数是否为空 if(bean == null || fse == null) { SpringMVCContextHolder.getSystemLogger().error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText()); return this.error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText()); } //判断表名是否正常 if (CmnConst.PRODUCT_SYS_STAFF_EDUCATION.equals(fse.getTableName())||CmnConst.PRODUCT_SYS_STAFF_RESUME.equals(fse.getTableName()) ||CmnConst.PRODUCT_SYS_STAFF_SALARY_CHANGE.equals(fse.getTableName()) ||CmnConst.PRODUCT_SYS_STAFF_LABOR_CONTRACT.equals(fse.getTableName()) ||CmnConst.PRODUCT_SYS_STAFF_FAMILY_INFO.equals(fse.getTableName())||CmnConst.PRODUCT_SYS_STAFF_MOVEMENT.equals(fse.getTableName())) { IEmployeeFileService service = (IEmployeeFileService) getProxyInstance(employeeFileService); String uuid = service.saveEmployeeSub(fse); if (!com.product.common.lang.StringUtils.isEmpty(uuid)) { return OK_Add(uuid); } SpringMVCContextHolder.getSystemLogger().error(SystemCode.SYSTEM_SAVE_EMPLOYEE_EDUCATION_FAIL.getValue(), SystemCode.SYSTEM_SAVE_EMPLOYEE_EDUCATION_FAIL.getText()); return error(SystemCode.SYSTEM_SAVE_EMPLOYEE_EDUCATION_FAIL.getValue(), SystemCode.SYSTEM_SAVE_EMPLOYEE_EDUCATION_FAIL.getText()); }else{ SpringMVCContextHolder.getSystemLogger().error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText()); return this.error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText()); } }catch(BaseException e) { SpringMVCContextHolder.getSystemLogger().error(e); return this.error(e); }catch (Exception e) { SpringMVCContextHolder.getSystemLogger().error(e); return this.error(SystemCode.SYSTEM_SAVE_EMPLOYEE_EDUCATION_FAIL.getValue(), SystemCode.SYSTEM_SAVE_EMPLOYEE_EDUCATION_FAIL.getText()); } } /** * 删除员工档案子表 * @param request * @return */ @RequestMapping(value = "/delete-employsub/{version}", method = RequestMethod.POST) @ApiVersion(1) public String delEmployeeSub(HttpServletRequest request) { try { //获取参数 FieldSetEntity fse=null; Object bean=request.getAttribute(CoreConst.API_POST_REQUEST_DATA); if(bean != null) { RequestParameterEntity reqp=(RequestParameterEntity)bean; fse = reqp.getFormData(); } //判断参数是否为空 if(bean == null || fse == null) { SpringMVCContextHolder.getSystemLogger().error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText()); return this.error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText()); } //判断表名是否正常 if (CmnConst.PRODUCT_SYS_STAFF_EDUCATION.equals(fse.getTableName())||CmnConst.PRODUCT_SYS_STAFF_RESUME.equals(fse.getTableName()) ||CmnConst.PRODUCT_SYS_STAFF_SALARY_CHANGE.equals(fse.getTableName()) ||CmnConst.PRODUCT_SYS_STAFF_LABOR_CONTRACT.equals(fse.getTableName()) ||CmnConst.PRODUCT_SYS_STAFF_FAMILY_INFO.equals(fse.getTableName())||CmnConst.PRODUCT_SYS_STAFF_MOVEMENT.equals(fse.getTableName())) { //判断uuid是否为空 if (com.alibaba.druid.util.StringUtils.isEmpty(fse.getString("uuid"))) { SpringMVCContextHolder.getSystemLogger().error(SystemCode.SYSTEM_FORM_COUNT.getValue(), SystemCode.SYSTEM_FORM_COUNT.getText()); return this.error(SystemCode.SYSTEM_FORM_COUNT.getValue(), SystemCode.SYSTEM_FORM_COUNT.getText()); } IEmployeeFileService service = (IEmployeeFileService) getProxyInstance(employeeFileService); boolean success=service.delEmployeeSub(fse); if(success) { return OK(); } SpringMVCContextHolder.getSystemLogger().error(SystemCode.SYSTEM_DELETE_EMPLOYEE_EDUCATION_FAIL.getValue(),SystemCode.SYSTEM_DELETE_EMPLOYEE_EDUCATION_FAIL.getText()); return error(SystemCode.SYSTEM_DELETE_EMPLOYEE_EDUCATION_FAIL.getValue(),SystemCode.SYSTEM_DELETE_EMPLOYEE_EDUCATION_FAIL.getText()); }else{ SpringMVCContextHolder.getSystemLogger().error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText()); return this.error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText()); } }catch(BaseException e) { SpringMVCContextHolder.getSystemLogger().error(e); return this.error(e); }catch (Exception e) { SpringMVCContextHolder.getSystemLogger().error(e); return this.error(SystemCode.SYSTEM_DELETE_EMPLOYEE_EDUCATION_FAIL.getValue(),SystemCode.SYSTEM_DELETE_EMPLOYEE_EDUCATION_FAIL.getText()); } } /** * 获取员工档案子表列表 * @param request * @return */ @RequestMapping(value = "/list-employsub/{version}", method = RequestMethod.POST) public String EmployeeSublist(HttpServletRequest request) { try { // 获取参数 FieldSetEntity fse = null; Object bean = request.getAttribute(CoreConst.API_POST_REQUEST_DATA); if (bean != null) { RequestParameterEntity reqp = (RequestParameterEntity) bean; fse = reqp.getFormData(); } // 判断参数是否为空 if (bean == null || fse == null) { SpringMVCContextHolder.getSystemLogger().error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText()); return this.error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText()); } // 判断表名是否正常 if (CmnConst.PRODUCT_SYS_STAFF_EDUCATION.equals(fse.getTableName())||CmnConst.PRODUCT_SYS_STAFF_RESUME.equals(fse.getTableName()) ||CmnConst.PRODUCT_SYS_STAFF_SALARY_CHANGE.equals(fse.getTableName()) ||CmnConst.PRODUCT_SYS_STAFF_LABOR_CONTRACT.equals(fse.getTableName()) ||CmnConst.PRODUCT_SYS_STAFF_FAMILY_INFO.equals(fse.getTableName())||CmnConst.PRODUCT_SYS_STAFF_MOVEMENT.equals(fse.getTableName())) { // 判断分页参数 if (fse.getString(CmnConst.PAGESIZE) == null || fse.getString(CmnConst.CPAGE) == null) { return this.error(SystemCode.SYSTEM_CPAGES_NOT_NULL.getValue(), SystemCode.SYSTEM_CPAGES_NOT_NULL.getText()); } DataTableEntity dt = employeeFileService.EmployeeSublist(fse); return OK_List(dt); }else{ SpringMVCContextHolder.getSystemLogger().error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText()); return this.error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText()); } } catch (BaseException e) { e.printStackTrace(); SpringMVCContextHolder.getSystemLogger().error(e); return this.error(e); } catch (Exception e) { e.printStackTrace(); SpringMVCContextHolder.getSystemLogger().error(e); return this.error(SystemCode.SYSTEM_GET_EMPLOYEE_EDUCATION_LIST_FAIL.getValue(), SystemCode.SYSTEM_GET_EMPLOYEE_EDUCATION_LIST_FAIL.getText()); } } /** * 获取员工档案子表详情 * @param request * @return */ @RequestMapping(value = "/info-employsub/{version}", method = RequestMethod.POST) @ApiVersion(1) public String EmployeeSubInfo(HttpServletRequest request) { try { // 获取参数 FieldSetEntity fse = null; Object bean = request.getAttribute(CoreConst.API_POST_REQUEST_DATA); if (bean != null) { RequestParameterEntity reqp = (RequestParameterEntity) bean; fse = reqp.getFormData(); } // 判断参数是否为空 if (bean == null || fse == null) { SpringMVCContextHolder.getSystemLogger().error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText()); return this.error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText()); } // 判断表名是否正常 if (CmnConst.PRODUCT_SYS_STAFF_EDUCATION.equals(fse.getTableName())||CmnConst.PRODUCT_SYS_STAFF_RESUME.equals(fse.getTableName()) ||CmnConst.PRODUCT_SYS_STAFF_SALARY_CHANGE.equals(fse.getTableName()) ||CmnConst.PRODUCT_SYS_STAFF_LABOR_CONTRACT.equals(fse.getTableName()) ||CmnConst.PRODUCT_SYS_STAFF_FAMILY_INFO.equals(fse.getTableName())||CmnConst.PRODUCT_SYS_STAFF_MOVEMENT.equals(fse.getTableName())) { // 判断uuid是否为空 if (com.alibaba.druid.util.StringUtils.isEmpty(fse.getString("uuid"))) { SpringMVCContextHolder.getSystemLogger().error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText()); return this.error(SystemCode.SYSTEM_FORM_COUNT.getValue(), SystemCode.SYSTEM_FORM_COUNT.getText()); } FieldSetEntity fs = employeeFileService.EmployeeSubInfo(fse); return OK_List(fs); }else{ SpringMVCContextHolder.getSystemLogger().error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText()); return this.error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText()); } } catch (BaseException e) { e.printStackTrace(); SpringMVCContextHolder.getSystemLogger().error(e); return this.error(e); } catch (Exception e) { e.printStackTrace(); SpringMVCContextHolder.getSystemLogger().error(e); return this.error(SystemCode.SYSTEM_GET_EMPLOYEE_EDUCATION_INFO_FAIL.getValue(), SystemCode.SYSTEM_GET_EMPLOYEE_EDUCATION_INFO_FAIL.getText()); } } }