From fc1e776611550ad697d4b84792fd57eb282b0f51 Mon Sep 17 00:00:00 2001 From: Chengliang <1546584672@qq.com> Date: Wed, 5 Mar 2025 15:22:50 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BA=94=E9=99=A2=E6=9D=AD=E5=B7=9E=E4=B8=AD?= =?UTF-8?q?=E5=BF=83=20=E5=BC=95=E5=85=A5=E4=BA=A7=E5=93=81=E5=8A=9F?= =?UTF-8?q?=E8=83=BD=20=E4=BA=BA=E5=91=98=E7=AE=80=E5=8E=86=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=E5=BC=80=E5=8F=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- WEB-INF/prop/wysecond.properties | 4 +- .../wysecond/entity/resume/EducationInfo.java | 9 +- .../entity/resume/PersonnelResumePo.java | 1 + .../impl/PersonnelResumeServiceImpl.java | 82 +++++++++++++------ 4 files changed, 64 insertions(+), 32 deletions(-) diff --git a/WEB-INF/prop/wysecond.properties b/WEB-INF/prop/wysecond.properties index a2db2b9..6f61a05 100644 --- a/WEB-INF/prop/wysecond.properties +++ b/WEB-INF/prop/wysecond.properties @@ -16,6 +16,6 @@ workStartDate=field42 #高层次人才类别(工作信息) highPersonType=field17 -#专业技术职务 -jobCall=field42 +#专业技术职务(个人信息) +jobCall=field45 diff --git a/src/com/engine/wysecond/entity/resume/EducationInfo.java b/src/com/engine/wysecond/entity/resume/EducationInfo.java index 26fef64..e021a23 100644 --- a/src/com/engine/wysecond/entity/resume/EducationInfo.java +++ b/src/com/engine/wysecond/entity/resume/EducationInfo.java @@ -11,6 +11,8 @@ import lombok.NoArgsConstructor; @NoArgsConstructor public class EducationInfo { + private Integer id; + private String xl; private String xw; @@ -19,12 +21,11 @@ public class EducationInfo { private String xxzy; - private String sfzgxl; + private Integer xxxs; - private String sfqrzzgxl; + private Integer sfzgxl; - private String sfzgxw; + private Integer sfzgxw; - private String sfqrzzgxw; } diff --git a/src/com/engine/wysecond/entity/resume/PersonnelResumePo.java b/src/com/engine/wysecond/entity/resume/PersonnelResumePo.java index 646c855..83d442f 100644 --- a/src/com/engine/wysecond/entity/resume/PersonnelResumePo.java +++ b/src/com/engine/wysecond/entity/resume/PersonnelResumePo.java @@ -42,6 +42,7 @@ public class PersonnelResumePo { private String joinPartyDate; private String workStartDate; private String highPersonType; + private String jobCall; private String department; private String jobTitle; private String postionLevel; diff --git a/src/com/engine/wysecond/service/impl/PersonnelResumeServiceImpl.java b/src/com/engine/wysecond/service/impl/PersonnelResumeServiceImpl.java index ff78fa3..3975320 100644 --- a/src/com/engine/wysecond/service/impl/PersonnelResumeServiceImpl.java +++ b/src/com/engine/wysecond/service/impl/PersonnelResumeServiceImpl.java @@ -35,7 +35,9 @@ public class PersonnelResumeServiceImpl extends Service implements PersonnelResu resultMap.put("nativePlace",personnelResumePo.getNativePlace()); resultMap.put("companyStartDate",personnelResumePo.getCompanyStartDate()); resultMap.put("joinPartyDate",personnelResumePo.getJoinPartyDate()); + resultMap.put("workStartDate",personnelResumePo.getWorkStartDate()); resultMap.put("highPersonType",personnelResumePo.getHighPersonType()); + resultMap.put("jobCall",personnelResumePo.getJobCall()); resultMap.put("department",personnelResumePo.getDepartment()); resultMap.put("jobTitle",personnelResumePo.getJobTitle()); resultMap.put("postionLevel",personnelResumePo.getPostionLevel()); @@ -66,24 +68,24 @@ public class PersonnelResumeServiceImpl extends Service implements PersonnelResu LinkedList educationInfos = selectEducationOrWorkInfo(resourceId); //按照起始时间排序 - + educationInfos.sort(Comparator.comparing(EducationOrWorkInfo::getStartDate)); //增加空行 educationInfos.add(EducationOrWorkInfo.builder().build()); for (EducationOrWorkInfo educationInfo : educationInfos) { List educTr = new ArrayList<>(); - educTr.add(PersonnelResumeTd.builder().colspans(1).value(educationInfo.getStartAndEndDate()).rowspans(1).build()); + educTr.add(PersonnelResumeTd.builder().colspans(2).value(educationInfo.getStartAndEndDate()).rowspans(1).build()); educTr.add(PersonnelResumeTd.builder().colspans(2).value(educationInfo.getAddress()).rowspans(1).build()); educTr.add(PersonnelResumeTd.builder().colspans(1).value(educationInfo.getContent()).rowspans(1).build()); - educTr.add(PersonnelResumeTd.builder().colspans(3).value(educationInfo.getLevel()).rowspans(1).build()); + educTr.add(PersonnelResumeTd.builder().colspans(2).value(educationInfo.getLevel()).rowspans(1).build()); datas.add(educTr); } columns.add(PersonnelResumeTd.builder().colspans(1).value("简历").rowspans(educationInfos.size()+1).build()); - columns.add(PersonnelResumeTd.builder().colspans(1).value("起始时间-结束时间").rowspans(1).build()); + columns.add(PersonnelResumeTd.builder().colspans(2).value("起始时间-结束时间").rowspans(1).build()); columns.add(PersonnelResumeTd.builder().colspans(2).value("单位/学校(从高中毕业后开始填写)").rowspans(1).build()); columns.add(PersonnelResumeTd.builder().colspans(1).value("岗位/专业").rowspans(1).build()); - columns.add(PersonnelResumeTd.builder().colspans(3).value("业务职务层级/学历").rowspans(1).build()); + columns.add(PersonnelResumeTd.builder().colspans(2).value("业务职务层级/学历").rowspans(1).build()); tables.add(PersonnelResumeTable.builder().columns(columns).datas(datas).build()); @@ -93,32 +95,26 @@ public class PersonnelResumeServiceImpl extends Service implements PersonnelResu private LinkedList selectEducationOrWorkInfo(String resourceId) { RecordSet rs = new RecordSet(); - EducationLevelComInfo eduComInfo = new EducationLevelComInfo(); - LinkedList educationOrWorkInfos = new LinkedList<>(); //教育经历 rs.executeQuery("select rxsj,bysj,byyx,xxzy,xl from uf_jxjl where xm = ?",resourceId); + EducationLevelComInfo educ = new EducationLevelComInfo(); while (rs.next()) { - String date = Util.null2String(rs.getString("ksrq")) +" - " + Util.null2String(rs.getString("jsrq")); -// String educationalAndDegree = eduComInfo.getEducationLevelname(Util.null2String(rs.getString("xl"))) +" / " -// + selectWorkflowItem("xw","uf_jyjl",Util.getIntValue(rs.getString("xw")),String.valueOf(user.getLanguage())); + String date = Util.null2String(rs.getString("rxsj")) +" - " + Util.null2String(rs.getString("bysj")); educationOrWorkInfos.add(EducationOrWorkInfo.builder() .startDate(Util.null2String(rs.getString("rxsj"))) .startAndEndDate(date) .address(Util.null2String(rs.getString("byyx"))) .content(Util.null2String(rs.getString("xxzy"))) - .level(Util.null2String(rs.getString("xl"))) + .level(educ.getEducationLevelname(Util.null2String(rs.getString("xl")))) .build()); } //工作经历 - rs.executeQuery("select qssj,zzsj,lldw,rzgw,zwzwdj from uf_gzjl where xm = ?",resourceId); + rs.executeQuery("select qssj,zzsj,lldw,rzgw,zwzwdj from uf_gzjj where xm = ?",resourceId); while (rs.next()) { String date = Util.null2String(rs.getString("qssj")) +" - " + Util.null2String(rs.getString("zzsj")); -// String educationalAndDegree = eduComInfo.getEducationLevelname(Util.null2String(rs.getString("xl"))) +" / " -// + selectWorkflowItem("xw","uf_jyjl",Util.getIntValue(rs.getString("xw")),String.valueOf(user.getLanguage())); - educationOrWorkInfos.add(EducationOrWorkInfo.builder() .startDate(Util.null2String(rs.getString("qssj"))) .startAndEndDate(date) @@ -128,8 +124,6 @@ public class PersonnelResumeServiceImpl extends Service implements PersonnelResu .build()); } - - return educationOrWorkInfos; } @@ -149,7 +143,7 @@ public class PersonnelResumeServiceImpl extends Service implements PersonnelResu rs.executeQuery("SELECT h.id, workcode, lastname, sex, birthday, resourceimageid, b."+nation+" as nation, nativeplace, \n" + " companystartdate, b."+joinPartyDate+" as joinPartyDate, c."+workStartDate+" as workStartDate, c."+highPersonType+" as highPersonType, \n" + - " departmentid, jobTitle, c."+postion+" as postion FROM hrmresource h \n" + + " b."+jobCall+" as jobCall,departmentid, jobTitle, c."+postion+" as postion FROM hrmresource h \n" + " LEFT JOIN cus_fielddata b on b.id = h.id and b.scopeid = 1 and b.scope = 'HrmCustomFieldByInfoType' \n" + " LEFT JOIN cus_fielddata c on c.id = h.id and c.scopeid = 3 and c.scope = 'HrmCustomFieldByInfoType' \n" + "where h.id = ?",resourceId); @@ -167,14 +161,49 @@ public class PersonnelResumeServiceImpl extends Service implements PersonnelResu personnelResumePo.setJoinPartyDate(Util.null2String(rs.getString("joinPartyDate"))); personnelResumePo.setWorkStartDate(Util.null2String(rs.getString("workStartDate"))); personnelResumePo.setHighPersonType(selectItemValue(highPersonType,Util.getIntValue(rs.getString("highPersonType")),String.valueOf(user.getLanguage()))); + personnelResumePo.setJobCall(selectItemValue(jobCall,Util.getIntValue(rs.getString("jobCall")),String.valueOf(user.getLanguage()))); personnelResumePo.setDepartment(dept.getDepartmentName(Util.null2String(rs.getString("departmentid")))); personnelResumePo.setJobTitle(job.getJobTitlesname(Util.null2String(rs.getString("jobTitle")))); personnelResumePo.setPostionLevel(selectPostionLevel(Util.null2String(rs.getString("postion")))); - //学历学位 + //全日制最高学历 + //全日制最高学历毕业院校 + //全日制最高学历毕业专业 List educationInfos = selectEducInfo(id); + EducationInfo highEduc = educationInfos.stream() + .filter(info -> (info.getXxxs() == 0 && info.getSfzgxl() == 0)) + .max(Comparator.comparingInt(EducationInfo::getId)) + .orElse(new EducationInfo()); + personnelResumePo.setFullHighEducational(highEduc.getXl()); + personnelResumePo.setFullHighSchool(highEduc.getByyx()); + personnelResumePo.setFullHighMajor(highEduc.getXxzy()); + //全日制最高学位 + EducationInfo highMajor = educationInfos.stream() + .filter(info -> (info.getXxxs() == 0 && info.getSfzgxw() == 0)) + .max(Comparator.comparingInt(EducationInfo::getId)) + .orElse(new EducationInfo()); + personnelResumePo.setFullHighDegree(highMajor.getXw()); + + //非全全日制最高学历 + //非全日制最高学历毕业院校 + //非全日制最高学历毕业专业 + EducationInfo nfHighEduc = educationInfos.stream() + .filter(info -> (info.getXxxs() == 1 && info.getSfzgxl() == 0)) + .max(Comparator.comparingInt(EducationInfo::getId)) + .orElse(new EducationInfo()); + + personnelResumePo.setNotfullHighEducational(nfHighEduc.getXl()); + personnelResumePo.setNotfullHighSchool(nfHighEduc.getByyx()); + personnelResumePo.setNotfullHighMajor(nfHighEduc.getXxzy()); + + //非全日制最高学位 + EducationInfo nfHighMajor = educationInfos.stream() + .filter(info -> (info.getXxxs() == 1 && info.getSfzgxw() == 0)) + .max(Comparator.comparingInt(EducationInfo::getId)) + .orElse(new EducationInfo()); + personnelResumePo.setNotfullHighDegree(nfHighMajor.getXw()); } @@ -222,17 +251,18 @@ public class PersonnelResumeServiceImpl extends Service implements PersonnelResu private List selectEducInfo(String resourceId) { List educationInfos = new ArrayList<>(); RecordSet rs = new RecordSet(); - rs.executeQuery("select xl,xw,byyx,xxzy,sfzgxw,sfqrzzgxw,sfzgxl,sfqrzzgxl from uf_jxjl where xm = ?",resourceId); + EducationLevelComInfo educ = new EducationLevelComInfo(); + rs.executeQuery("select id,xl,xw,byyx,xxzy,sfzgxw,sfzgxl,xxxs from uf_jxjl where xm = ?",resourceId); while (rs.next()) { educationInfos.add(EducationInfo.builder() - .xl(Util.null2String(rs.getString("xl"))) - .xw(Util.null2String(rs.getString("xw"))) + .id(Util.getIntValue(rs.getString("id"))) + .xl(educ.getEducationLevelname(Util.null2String(rs.getString("xl")))) + .xw(selectWorkflowItem("xw","uf_jxjl",Util.getIntValue(rs.getString("xw")),String.valueOf(user.getLanguage()))) .byyx(Util.null2String(rs.getString("byyx"))) .xxzy(Util.null2String(rs.getString("xxzy"))) - .sfzgxw(Util.null2String(rs.getString("sfzgxw"))) - .sfqrzzgxw(Util.null2String(rs.getString("sfqrzzgxw"))) - .sfzgxl(Util.null2String(rs.getString("sfzgxl"))) - .sfqrzzgxl(Util.null2String(rs.getString("sfqrzzgxl"))) + .xxxs(Util.getIntValue(rs.getString("xxxs"))) + .sfzgxw(Util.getIntValue(rs.getString("sfzgxw"))) + .sfzgxl(Util.getIntValue(rs.getString("sfzgxl"))) .build()); } return educationInfos;