From 3ecd59250707b9e6fafb1d006c629953b07451cd Mon Sep 17 00:00:00 2001 From: Joe Date: Thu, 29 Jun 2023 10:54:12 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Sqlitedb/training.db | Bin 5963776 -> 5963776 bytes .../cms/controller/EmployeeController.java | 22 +++ .../jingcheng/cms/mapper/EmployeeMapper.java | 5 +- .../jingcheng/cms/model/EducationResume.java | 12 +- .../com/jingcheng/cms/model/Employee.java | 38 +---- .../cms/service/EmployeeService.java | 4 + .../cms/service/impl/EmployeeServiceImpl.java | 139 +++++++++++++----- src/main/resources/mapper/EmployeeMapper.xml | 29 +++- 8 files changed, 169 insertions(+), 80 deletions(-) diff --git a/Sqlitedb/training.db b/Sqlitedb/training.db index bb5e7cf85fcacbff824dfc3f6027794b8c6e63c3..86d31fb00ef4247c1c061995ca36a014fb4cbb02 100644 GIT binary patch delta 1263 zcmb8uZ)_7~90%~{{tl@Qe+%5CmLiOJ@h#Ta7z7MxLoFT5w8d!D=G zp8Gz(=dQQ+XSNqUUloWDB3ywmj1fZeX*DiHNbT+qvxi40v;L}|_gA=Svx_d%89GOs z=^*W=t@JorE829{y5-~PI5E@KwqhSjH!49{;G#^jv!}h)e80==Ibt4t%jC*R2iszb z&%=dS^WCnF&f}&@<_G&@RsP~VdF7s=8-p{kCJ*l|5SsM;>g)Cvveu8@6P94@uOPA# zVIqujzg1U77-S|=CBsN0nM@jbyiParL(|Tw5$EKDGjM}<>?Z#aa6vB&mEz5{7hlci*4tpGoeHew!be!UWvHjb6kM{$Gq8f9CirMwI=)+KU+F zD2Md0g0#JN*wFt~j)h#VF#U1nYNxuk@jusExOUDtHHxGa3X0x>cgTM)dUU1enSoBV zohj=JXsLk40BZ*{PP~#5mpI@-01;f^1_?@_6g=PsA5ic^z!sMt`F)Xd(|2swPjZ6t z*k6C@;Gzs=P!5km5FP^s9*0#>0U=lol@NwCuokM|35dWtSPvVZ8lJQdE=I@poDXaM ziw&y3*k5l@8Nb306OmjXbjs(G`dqi!AzYv_U!<+mHa)BU!ttdXSD&?X&c2;eH@eHk zIN{hyBHi;IVka@c!FbcwZ<4z>^iW}Y)*52MDNc0-Lm}p~1IOCl>@Zip{gs}#KN?nR zIqAsJW9Hjt&xX3p+!-~-dnork{x{CPcSe<2RE9}ptzAsX$xzf4tf^r?Y0osJ)pg9A z-IZ25Sk7BgeNGDxA5umBCZRXK31~SgZ{Y*jPdONrm0~1GE>}|Xvntd;EyO?r9Sn#= z9n`}{cnUVbX4nEx!!z(KJO^8$0UF_XcmcM-i|`V>4BMdznqdd*gkA6o?1nw|{A@xE z3k_K0<&1kN@g*yqx5t(etSGWS5W?O{O)MwiRd@|rU@z>0{qQ;*uqT$^Xp#N^MsVRU delta 1210 zcmaLXT})e500;1M&iyF2K+lECycDS1752e;prsX*eYI@XS)58|Rn(b^a06(!GU(!# z7)LW*8%>tYYO5|=7B`I#i?Nz{HG45xj3$%pVN3R?uO=p-4?L0Se<%+wgoj^la?eN3 z|DJ#D+}s~*4$ibTv=E|v1r~ft2>JD_h$tE&CN9zU*gyJJn!a1 zT;nBP^zzwxf2le0q4mvbA>SE*F1xe#0 zj_Wrg$z_kbh7=Ai7|;Y8-~lk98NAQ}tAkVg?>-@2cgPG2tQKIPjDq)n@{;lZ$_KlCe_GL)((ezOAWhQOW#HJso~IDk&yN6 zw4l1TRw9aACj3i}M=on8T{o19^dY@SKdR=7l&OJg{x9~*sqjXZIWR!qJCPfGHDj-R zH*3F@_a2B3rs7s=aL@j@DzBXvo9Qpk+4Ca9PKbK9W%(zkCMNCKTzYnFGMmlJ`mI!a zB(*i%*Vl!e-+rmnWhN4=82m5DdPQ8nrtHW2lKIwc^-9DF&x`HOrVAoNJ8_yqTbIl9 z`PgY~ { - 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