diff --git a/Sqlitedb/training.db b/Sqlitedb/training.db index bb5e7cf..86d31fb 100644 Binary files a/Sqlitedb/training.db and b/Sqlitedb/training.db differ diff --git a/src/main/java/com/jingcheng/cms/controller/EmployeeController.java b/src/main/java/com/jingcheng/cms/controller/EmployeeController.java index 17ab563..7b56ff2 100644 --- a/src/main/java/com/jingcheng/cms/controller/EmployeeController.java +++ b/src/main/java/com/jingcheng/cms/controller/EmployeeController.java @@ -41,6 +41,16 @@ public class EmployeeController { employeeService.exportEmployee(jsonObject, response); } + @GetMapping("/exportEmployeeDetail") + @ApiOperation(value = "导出", notes = "导出") + public void exportEmployeeDetail(HttpServletResponse response, @RequestParam String employeeVal) { + JSONObject jsonObject = new JSONObject(); + if(StringUtils.isNotEmpty(employeeVal)) { + jsonObject = JSONObject.parseObject(employeeVal); + } + employeeService.exportEmployeeDetail(jsonObject, response); + } + /** * 新增或者更新 * @param jsonObject @@ -65,6 +75,18 @@ public class EmployeeController { return ajaxResult; } + /** + * 通过部门获取岗位 + * @param jsonObject + * @return + */ + @PostMapping("/getPostListByDept") + @ApiOperation(value = "通过部门获取岗位", notes = "通过部门获取岗位") + public AjaxResult getPostListByDept(@RequestBody JSONObject jsonObject) { + AjaxResult ajaxResult = employeeService.getPostListByDept(jsonObject); + return ajaxResult; + } + /** * 导入 * @param multipartFile diff --git a/src/main/java/com/jingcheng/cms/mapper/EmployeeMapper.java b/src/main/java/com/jingcheng/cms/mapper/EmployeeMapper.java index f5f32b8..88035bf 100644 --- a/src/main/java/com/jingcheng/cms/mapper/EmployeeMapper.java +++ b/src/main/java/com/jingcheng/cms/mapper/EmployeeMapper.java @@ -8,5 +8,8 @@ import org.apache.ibatis.annotations.Param; import java.util.List; public interface EmployeeMapper extends CommonMapper { - List dataStatistics(@Param(value = "type") Integer type, @Param(value = "postName") String postName); + List dataStatistics(@Param(value = "type") Integer type, @Param(value = "postName") String postName, @Param(value = "postNames") List postNames); + + + List getPostListByDept(@Param(value = "departments") List departments); } \ No newline at end of file diff --git a/src/main/java/com/jingcheng/cms/model/EducationResume.java b/src/main/java/com/jingcheng/cms/model/EducationResume.java index 64ccd5e..90f7401 100644 --- a/src/main/java/com/jingcheng/cms/model/EducationResume.java +++ b/src/main/java/com/jingcheng/cms/model/EducationResume.java @@ -38,7 +38,7 @@ public class EducationResume { * * @mbggenerated Wed May 03 18:26:57 CST 2023 */ - @Excel(name = "就业学历", orderNum = "2") + @Excel(name = "就业学历", orderNum = "5") private String education; /** @@ -47,7 +47,7 @@ public class EducationResume { * * @mbggenerated Wed May 03 18:26:57 CST 2023 */ - @Excel(name = "最高学历学校", orderNum = "6") + @Excel(name = "最高学历学校", orderNum = "3") private String school; /** @@ -56,7 +56,7 @@ public class EducationResume { * * @mbggenerated Wed May 03 18:26:57 CST 2023 */ - @Excel(name = "专业", orderNum = "7") + @Excel(name = "专业", orderNum = "4") private String speciality; /** @@ -83,7 +83,7 @@ public class EducationResume { * * @mbggenerated Tue Jun 13 23:39:23 CST 2023 */ - @Excel(name = "最高学历", orderNum = "3") + @Excel(name = "最高学历", orderNum = "2") private String highestEducation; /** @@ -92,7 +92,7 @@ public class EducationResume { * * @mbggenerated Tue Jun 13 23:39:23 CST 2023 */ - @Excel(name = "本科学历学校", orderNum = "4") + @Excel(name = "本科学历学校", orderNum = "7") private String undergraduateSchools; /** @@ -101,7 +101,7 @@ public class EducationResume { * * @mbggenerated Tue Jun 13 23:39:23 CST 2023 */ - @Excel(name = "本科学历专业", orderNum = "5") + @Excel(name = "本科学历专业", orderNum = "6") private String undergraduateMajor; /** diff --git a/src/main/java/com/jingcheng/cms/model/Employee.java b/src/main/java/com/jingcheng/cms/model/Employee.java index 8e61536..97c5cc5 100644 --- a/src/main/java/com/jingcheng/cms/model/Employee.java +++ b/src/main/java/com/jingcheng/cms/model/Employee.java @@ -176,15 +176,7 @@ public class Employee { * @mbggenerated Tue Jun 13 23:39:23 CST 2023 */ @Excel(name = "年龄", orderNum = "11") - private String age; - - /** - * This field was generated by MyBatis Generator. - * This field corresponds to the database column employee.age_id - * - * @mbggenerated Tue Jun 13 23:39:23 CST 2023 - */ - private Long ageId; + private Integer age; /** * This field was generated by MyBatis Generator. @@ -826,7 +818,7 @@ public class Employee { * * @mbggenerated Tue Jun 13 23:39:23 CST 2023 */ - public String getAge() { + public Integer getAge() { return age; } @@ -838,34 +830,10 @@ public class Employee { * * @mbggenerated Tue Jun 13 23:39:23 CST 2023 */ - public void setAge(String age) { + public void setAge(Integer age) { this.age = age; } - /** - * This method was generated by MyBatis Generator. - * This method returns the value of the database column employee.age_id - * - * @return the value of employee.age_id - * - * @mbggenerated Tue Jun 13 23:39:23 CST 2023 - */ - public Long getAgeId() { - return ageId; - } - - /** - * This method was generated by MyBatis Generator. - * This method sets the value of the database column employee.age_id - * - * @param ageId the value for employee.age_id - * - * @mbggenerated Tue Jun 13 23:39:23 CST 2023 - */ - public void setAgeId(Long ageId) { - this.ageId = ageId; - } - /** * This method was generated by MyBatis Generator. * This method returns the value of the database column employee.sex diff --git a/src/main/java/com/jingcheng/cms/service/EmployeeService.java b/src/main/java/com/jingcheng/cms/service/EmployeeService.java index 00102bc..7144a74 100644 --- a/src/main/java/com/jingcheng/cms/service/EmployeeService.java +++ b/src/main/java/com/jingcheng/cms/service/EmployeeService.java @@ -17,6 +17,8 @@ public interface EmployeeService { void exportEmployee(JSONObject jsonObject, HttpServletResponse response); + void exportEmployeeDetail(JSONObject jsonObject, HttpServletResponse response); + AjaxResult saveEmployee(JSONObject jsonObject); @@ -30,4 +32,6 @@ public interface EmployeeService { AjaxResult delEmployee(Long id); AjaxResult dataStatistics(JSONObject jsonObject); + + AjaxResult getPostListByDept(JSONObject jsonObject); } diff --git a/src/main/java/com/jingcheng/cms/service/impl/EmployeeServiceImpl.java b/src/main/java/com/jingcheng/cms/service/impl/EmployeeServiceImpl.java index f033d94..cd201e0 100644 --- a/src/main/java/com/jingcheng/cms/service/impl/EmployeeServiceImpl.java +++ b/src/main/java/com/jingcheng/cms/service/impl/EmployeeServiceImpl.java @@ -4,8 +4,11 @@ import cn.afterturn.easypoi.excel.ExcelExportUtil; import cn.afterturn.easypoi.excel.ExcelImportUtil; import cn.afterturn.easypoi.excel.entity.ExportParams; import cn.afterturn.easypoi.excel.entity.ImportParams; +import cn.afterturn.easypoi.excel.entity.enmus.ExcelType; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; +import com.google.common.collect.Lists; +import com.google.common.collect.Maps; import com.jingcheng.cms.constants.Constants; import com.jingcheng.cms.mapper.*; import com.jingcheng.cms.model.*; @@ -30,6 +33,7 @@ import java.io.File; import java.util.ArrayList; import java.util.Arrays; import java.util.List; +import java.util.Map; import java.util.stream.Collectors; @Service @@ -42,6 +46,12 @@ public class EmployeeServiceImpl implements EmployeeService { @Resource private EmployeeMapper employeeMapper; @Resource + private EducationResumeMapper educationResumeMapper; + @Resource + private FamilyMembersMapper familyMembersMapper; + @Resource + private WorkExperienceMapper workExperienceMapper; + @Resource private HonorMapper honorMapper; @Override @@ -71,8 +81,8 @@ public class EmployeeServiceImpl implements EmployeeService { List sexes = sexesJson != null ? sexesJson.toJavaList(Integer.class) : new ArrayList<>(); JSONArray departmentIdsJson = jsonObject.getJSONArray("departmentIds"); List departmentIds = departmentIdsJson != null ? departmentIdsJson.toJavaList(Long.class) : new ArrayList<>(); - JSONArray ageIdsJson = jsonObject.getJSONArray("ageIds"); - List ageIds = ageIdsJson != null ? ageIdsJson.toJavaList(Long.class) : new ArrayList<>(); + JSONArray agesJson = jsonObject.getJSONArray("ages"); + List ages = agesJson != null ? agesJson.toJavaList(Long.class) : new ArrayList<>(); List honorEmployees = new ArrayList<>(); if ((null != honorLevels && honorLevels.size() > 0) || StringUtils.isNotEmpty(honorDescription)) { Example example1 = new Example(Honor.class); @@ -95,7 +105,7 @@ public class EmployeeServiceImpl implements EmployeeService { if (StringUtils.isNotEmpty(employee.getMobile())) criteria.andLike("mobile", "%"+employee.getMobile()+"%"); if (null != sexes && sexes.size() > 0) criteria.andIn("sex", sexes); if (null != departmentIds && departmentIds.size() > 0) criteria.andIn("departmentId", departmentIds); - if (null != ageIds && ageIds.size() > 0) criteria.andIn("ageId", ageIds); + if (null != ages && ages.size() == 2) criteria.andBetween("age", ages.get(0), ages.get(1)); if (null != ptqIds && ptqIds.size() > 0) criteria.andIn("ptqId", ptqIds); if (null != unitIds && unitIds.size() > 0) criteria.andIn("unitId", unitIds); if (null != postIds && postIds.size() > 0) criteria.andIn("postId", postIds); @@ -134,8 +144,8 @@ public class EmployeeServiceImpl implements EmployeeService { List sexes = sexesJson != null ? sexesJson.toJavaList(Integer.class) : new ArrayList<>(); JSONArray departmentIdsJson = jsonObject.getJSONArray("departmentIds"); List departmentIds = departmentIdsJson != null ? departmentIdsJson.toJavaList(Long.class) : new ArrayList<>(); - JSONArray ageIdsJson = jsonObject.getJSONArray("ageIds"); - List ageIds = ageIdsJson != null ? ageIdsJson.toJavaList(Long.class) : new ArrayList<>(); + JSONArray agesJson = jsonObject.getJSONArray("ages"); + List ages = agesJson != null ? agesJson.toJavaList(Long.class) : new ArrayList<>(); List honorEmployees = new ArrayList<>(); if ((null != honorLevels && honorLevels.size() > 0) || StringUtils.isNotEmpty(honorDescription)) { Example example1 = new Example(Honor.class); @@ -157,7 +167,7 @@ public class EmployeeServiceImpl implements EmployeeService { if (null != ptqIds && ptqIds.size() > 0) criteria.andIn("ptqId", ptqIds); if (null != sexes && sexes.size() > 0) criteria.andIn("sex", sexes); if (null != departmentIds && departmentIds.size() > 0) criteria.andIn("departmentId", departmentIds); - if (null != ageIds && ageIds.size() > 0) criteria.andIn("ageId", ageIds); + if (null != ages && ages.size() == 2) criteria.andBetween("age", ages.get(0), ages.get(1)); if (null != unitIds && unitIds.size() > 0) criteria.andIn("unitId", unitIds); if (null != postIds && postIds.size() > 0) criteria.andIn("postId", postIds); if (null != groupsIds && groupsIds.size() > 0) criteria.andIn("groupsId", groupsIds); @@ -170,6 +180,64 @@ public class EmployeeServiceImpl implements EmployeeService { ExcelUtils.export(workbook, response, "员工导出"); } + @Override + public void exportEmployeeDetail(JSONObject jsonObject, HttpServletResponse response) { + List> exportParamList = Lists.newArrayList(); + String employeeNo = jsonObject.getString("employeeNo"); + // 员工基本信息 + Map sheetMap1 = Maps.newHashMap(); + Employee employee = new Employee(); + employee.setState(Constants.ENABLE); + employee.setEmployeeNo(employeeNo); + List employeeList = employeeMapper.select(employee); + sheetMap1.put("title", new ExportParams("员工基本信息", "员工基本信息")); + sheetMap1.put("entity", Employee.class); + sheetMap1.put("data", employeeList); + exportParamList.add(sheetMap1); + // 员工教育履历 + Map sheetMap2 = Maps.newHashMap(); + EducationResume educationResume = new EducationResume(); + educationResume.setState(Constants.ENABLE); + educationResume.setEmployeeNo(employeeNo); + List educationResumes = educationResumeMapper.select(educationResume); + sheetMap2.put("title", new ExportParams("员工教育履历", "员工教育履历")); + sheetMap2.put("entity", EducationResume.class); + sheetMap2.put("data", educationResumes); + exportParamList.add(sheetMap2); + // 员工家庭成员 + Map sheetMap3 = Maps.newHashMap(); + FamilyMembers familyMembers = new FamilyMembers(); + familyMembers.setState(Constants.ENABLE); + familyMembers.setEmployeeNo(employeeNo); + List familyMembersList = familyMembersMapper.select(familyMembers); + sheetMap3.put("title", new ExportParams("员工家庭成员", "员工家庭成员")); + sheetMap3.put("entity", FamilyMembers.class); + sheetMap3.put("data", familyMembersList); + exportParamList.add(sheetMap3); + // 员工工作经历 + Map sheetMap4 = Maps.newHashMap(); + WorkExperience workExperience = new WorkExperience(); + workExperience.setState(Constants.ENABLE); + workExperience.setEmployeeNo(employeeNo); + List workExperienceList = workExperienceMapper.select(workExperience); + sheetMap4.put("title", new ExportParams("员工工作经历", "员工工作经历")); + sheetMap4.put("entity", WorkExperience.class); + sheetMap4.put("data", workExperienceList); + exportParamList.add(sheetMap4); + // 员工奖惩 + Map sheetMap5 = Maps.newHashMap(); + Honor honor = new Honor(); + honor.setState(Constants.ENABLE); + honor.setEmployeeNo(employeeNo); + List honorList = honorMapper.select(honor); + sheetMap5.put("title", new ExportParams("员工奖惩", "员工奖惩")); + sheetMap5.put("entity", Honor.class); + sheetMap5.put("data", honorList); + exportParamList.add(sheetMap5); + Workbook workbook = ExcelExportUtil.exportExcel(exportParamList, ExcelType.HSSF); + ExcelUtils.export(workbook, response, "员工明细导出"); + } + @Override public AjaxResult saveEmployee(JSONObject jsonObject) { AjaxResult ajaxResult = new AjaxResult(); @@ -247,14 +315,6 @@ public class EmployeeServiceImpl implements EmployeeService { employee.setHighestEducationId(infoSettingValuesFilter.get(0).getId()); } } - //年龄 - if (StringUtils.isNotEmpty(employee.getAge())) { - List infoSettingValues = infoSettingValueService.getAllInfoSettingValueBySettingName("年龄"); - List infoSettingValuesFilter = infoSettingValues.stream().filter(item -> item.getSettingValue().equals(employee.getAge())).collect(Collectors.toList()); - if (infoSettingValuesFilter.size() > 0) { - employee.setAgeId(infoSettingValuesFilter.get(0).getId()); - } - } //部门 if (StringUtils.isNotEmpty(employee.getDepartment())) { List infoSettingValues = infoSettingValueService.getAllInfoSettingValueBySettingName("部门"); @@ -323,48 +383,49 @@ public class EmployeeServiceImpl implements EmployeeService { Integer isAge = jsonObject.getInteger("isAge"); Integer isSex = jsonObject.getInteger("isSex"); List dataStatisticsVOS = new ArrayList<>(); - List postNameList = new ArrayList<>(); - if (postNames != null && postNames.size() > 0) { - postNameList = postNames; + List departmentList = new ArrayList<>(); + if (departments != null && departments.size() > 0) { + departmentList = departments; } else { - List infoSettingValues = infoSettingValueService.getAllInfoSettingValueBySettingName("岗位"); - postNameList = infoSettingValues.stream().map(item -> item.getSettingValue()).collect(Collectors.toList()); + List infoSettingValues = infoSettingValueService.getAllInfoSettingValueBySettingName("部门"); + departmentList = infoSettingValues.stream().map(item -> item.getSettingValue()).collect(Collectors.toList()); } - for (String s : postNameList) { + for (String s : departmentList) { DataStatisticsVO dataStatisticsVO = new DataStatisticsVO(); dataStatisticsVO.setPostName(s); if (null != isEdu && isEdu == 1) { - List dataAnalysisVOS = employeeMapper.dataStatistics(1, s); + List dataAnalysisVOS = employeeMapper.dataStatistics(1, s, postNames); dataStatisticsVO.setEducationList(dataAnalysisVOS); } if (null != isPtq && isPtq == 1) { - List dataAnalysisVOS = employeeMapper.dataStatistics(2, s); + List dataAnalysisVOS = employeeMapper.dataStatistics(2, s, postNames); dataStatisticsVO.setPtqList(dataAnalysisVOS); } if (null != isSkill && isSkill == 1) { - List dataAnalysisVOS = employeeMapper.dataStatistics(3, s); + List dataAnalysisVOS = employeeMapper.dataStatistics(3, s, postNames); dataStatisticsVO.setSkillLevelList(dataAnalysisVOS); } if (null != isSex && isSex == 1) { - List dataAnalysisVOS = employeeMapper.dataStatistics(4, s); + List dataAnalysisVOS = employeeMapper.dataStatistics(4, s, postNames); dataStatisticsVO.setSexList(dataAnalysisVOS); } if (null != isAge && isAge == 1) { - List dataAnalysisVOS = employeeMapper.dataStatistics(5, s); + List dataAnalysisVOS = employeeMapper.dataStatistics(5, s, postNames); dataStatisticsVO.setAgeList(dataAnalysisVOS); } if (null != isDepartment && isDepartment == 1) { - List dataAnalysisVOS = employeeMapper.dataStatistics(6, s); - if (departments != null && departments.size()>0) { - List dataAnalysisVOS1 = new ArrayList<>(); - for (DataAnalysisVO dataAnalysisVO : dataAnalysisVOS) { - if (departments.contains(dataAnalysisVO.getAnalysisName())) { - dataAnalysisVOS1.add(dataAnalysisVO); - } - } - dataAnalysisVOS = dataAnalysisVOS1; + Employee employee = new Employee(); + employee.setState(Constants.ENABLE); + Integer all = employeeMapper.selectCount(employee); + List dataAnalysisVOS = employeeMapper.dataStatistics(6, s, postNames); + List dataAnalysisVOS1 = new ArrayList<>(); + for (DataAnalysisVO dataAnalysisVO : dataAnalysisVOS) { + dataAnalysisVO.setAnalysisCount(dataAnalysisVO.getPostCount()); + dataAnalysisVO.setPostCount(all.longValue()); + dataAnalysisVOS1.add(dataAnalysisVO); } + dataAnalysisVOS = dataAnalysisVOS1; dataStatisticsVO.setDepartmentList(dataAnalysisVOS); } dataStatisticsVOS.add(dataStatisticsVO); @@ -374,4 +435,14 @@ public class EmployeeServiceImpl implements EmployeeService { return ajaxResult; } + @Override + public AjaxResult getPostListByDept(JSONObject jsonObject) { + AjaxResult ajaxResult = new AjaxResult(); + JSONArray departmentsJson = jsonObject.getJSONArray("departments"); + List departments = departmentsJson != null ? departmentsJson.toJavaList(String.class) : new ArrayList<>(); + List postList = employeeMapper.getPostListByDept(departments); + ajaxResult.setData(postList); + return ajaxResult; + } + } diff --git a/src/main/resources/mapper/EmployeeMapper.xml b/src/main/resources/mapper/EmployeeMapper.xml index a6897f6..bb63cec 100644 --- a/src/main/resources/mapper/EmployeeMapper.xml +++ b/src/main/resources/mapper/EmployeeMapper.xml @@ -4,7 +4,7 @@ + + \ No newline at end of file