五院杭州中心 引入产品功能 人员简历接口开发

五院杭州中心
Chengliang 2 months ago
parent a23e01ab92
commit fc1e776611

@ -16,6 +16,6 @@ workStartDate=field42
#高层次人才类别(工作信息) #高层次人才类别(工作信息)
highPersonType=field17 highPersonType=field17
#专业技术职务 #专业技术职务(个人信息)
jobCall=field42 jobCall=field45

@ -11,6 +11,8 @@ import lombok.NoArgsConstructor;
@NoArgsConstructor @NoArgsConstructor
public class EducationInfo { public class EducationInfo {
private Integer id;
private String xl; private String xl;
private String xw; private String xw;
@ -19,12 +21,11 @@ public class EducationInfo {
private String xxzy; private String xxzy;
private String sfzgxl; private Integer xxxs;
private String sfqrzzgxl; private Integer sfzgxl;
private String sfzgxw; private Integer sfzgxw;
private String sfqrzzgxw;
} }

@ -42,6 +42,7 @@ public class PersonnelResumePo {
private String joinPartyDate; private String joinPartyDate;
private String workStartDate; private String workStartDate;
private String highPersonType; private String highPersonType;
private String jobCall;
private String department; private String department;
private String jobTitle; private String jobTitle;
private String postionLevel; private String postionLevel;

@ -35,7 +35,9 @@ public class PersonnelResumeServiceImpl extends Service implements PersonnelResu
resultMap.put("nativePlace",personnelResumePo.getNativePlace()); resultMap.put("nativePlace",personnelResumePo.getNativePlace());
resultMap.put("companyStartDate",personnelResumePo.getCompanyStartDate()); resultMap.put("companyStartDate",personnelResumePo.getCompanyStartDate());
resultMap.put("joinPartyDate",personnelResumePo.getJoinPartyDate()); resultMap.put("joinPartyDate",personnelResumePo.getJoinPartyDate());
resultMap.put("workStartDate",personnelResumePo.getWorkStartDate());
resultMap.put("highPersonType",personnelResumePo.getHighPersonType()); resultMap.put("highPersonType",personnelResumePo.getHighPersonType());
resultMap.put("jobCall",personnelResumePo.getJobCall());
resultMap.put("department",personnelResumePo.getDepartment()); resultMap.put("department",personnelResumePo.getDepartment());
resultMap.put("jobTitle",personnelResumePo.getJobTitle()); resultMap.put("jobTitle",personnelResumePo.getJobTitle());
resultMap.put("postionLevel",personnelResumePo.getPostionLevel()); resultMap.put("postionLevel",personnelResumePo.getPostionLevel());
@ -66,24 +68,24 @@ public class PersonnelResumeServiceImpl extends Service implements PersonnelResu
LinkedList<EducationOrWorkInfo> educationInfos = selectEducationOrWorkInfo(resourceId); LinkedList<EducationOrWorkInfo> educationInfos = selectEducationOrWorkInfo(resourceId);
//按照起始时间排序 //按照起始时间排序
educationInfos.sort(Comparator.comparing(EducationOrWorkInfo::getStartDate));
//增加空行 //增加空行
educationInfos.add(EducationOrWorkInfo.builder().build()); educationInfos.add(EducationOrWorkInfo.builder().build());
for (EducationOrWorkInfo educationInfo : educationInfos) { for (EducationOrWorkInfo educationInfo : educationInfos) {
List<PersonnelResumeTd> educTr = new ArrayList<>(); List<PersonnelResumeTd> 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(2).value(educationInfo.getAddress()).rowspans(1).build());
educTr.add(PersonnelResumeTd.builder().colspans(1).value(educationInfo.getContent()).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); datas.add(educTr);
} }
columns.add(PersonnelResumeTd.builder().colspans(1).value("简历").rowspans(educationInfos.size()+1).build()); 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(2).value("单位/学校(从高中毕业后开始填写)").rowspans(1).build());
columns.add(PersonnelResumeTd.builder().colspans(1).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()); tables.add(PersonnelResumeTable.builder().columns(columns).datas(datas).build());
@ -93,32 +95,26 @@ public class PersonnelResumeServiceImpl extends Service implements PersonnelResu
private LinkedList<EducationOrWorkInfo> selectEducationOrWorkInfo(String resourceId) { private LinkedList<EducationOrWorkInfo> selectEducationOrWorkInfo(String resourceId) {
RecordSet rs = new RecordSet(); RecordSet rs = new RecordSet();
EducationLevelComInfo eduComInfo = new EducationLevelComInfo();
LinkedList<EducationOrWorkInfo> educationOrWorkInfos = new LinkedList<>(); LinkedList<EducationOrWorkInfo> educationOrWorkInfos = new LinkedList<>();
//教育经历 //教育经历
rs.executeQuery("select rxsj,bysj,byyx,xxzy,xl from uf_jxjl where xm = ?",resourceId); rs.executeQuery("select rxsj,bysj,byyx,xxzy,xl from uf_jxjl where xm = ?",resourceId);
EducationLevelComInfo educ = new EducationLevelComInfo();
while (rs.next()) { while (rs.next()) {
String date = Util.null2String(rs.getString("ksrq")) +" - " + Util.null2String(rs.getString("jsrq")); String date = Util.null2String(rs.getString("rxsj")) +" - " + Util.null2String(rs.getString("bysj"));
// 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() educationOrWorkInfos.add(EducationOrWorkInfo.builder()
.startDate(Util.null2String(rs.getString("rxsj"))) .startDate(Util.null2String(rs.getString("rxsj")))
.startAndEndDate(date) .startAndEndDate(date)
.address(Util.null2String(rs.getString("byyx"))) .address(Util.null2String(rs.getString("byyx")))
.content(Util.null2String(rs.getString("xxzy"))) .content(Util.null2String(rs.getString("xxzy")))
.level(Util.null2String(rs.getString("xl"))) .level(educ.getEducationLevelname(Util.null2String(rs.getString("xl"))))
.build()); .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()) { while (rs.next()) {
String date = Util.null2String(rs.getString("qssj")) +" - " + Util.null2String(rs.getString("zzsj")); 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() educationOrWorkInfos.add(EducationOrWorkInfo.builder()
.startDate(Util.null2String(rs.getString("qssj"))) .startDate(Util.null2String(rs.getString("qssj")))
.startAndEndDate(date) .startAndEndDate(date)
@ -128,8 +124,6 @@ public class PersonnelResumeServiceImpl extends Service implements PersonnelResu
.build()); .build());
} }
return educationOrWorkInfos; 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" + 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" + " 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 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" + " LEFT JOIN cus_fielddata c on c.id = h.id and c.scopeid = 3 and c.scope = 'HrmCustomFieldByInfoType' \n" +
"where h.id = ?",resourceId); "where h.id = ?",resourceId);
@ -167,14 +161,49 @@ public class PersonnelResumeServiceImpl extends Service implements PersonnelResu
personnelResumePo.setJoinPartyDate(Util.null2String(rs.getString("joinPartyDate"))); personnelResumePo.setJoinPartyDate(Util.null2String(rs.getString("joinPartyDate")));
personnelResumePo.setWorkStartDate(Util.null2String(rs.getString("workStartDate"))); personnelResumePo.setWorkStartDate(Util.null2String(rs.getString("workStartDate")));
personnelResumePo.setHighPersonType(selectItemValue(highPersonType,Util.getIntValue(rs.getString("highPersonType")),String.valueOf(user.getLanguage()))); 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.setDepartment(dept.getDepartmentName(Util.null2String(rs.getString("departmentid"))));
personnelResumePo.setJobTitle(job.getJobTitlesname(Util.null2String(rs.getString("jobTitle")))); personnelResumePo.setJobTitle(job.getJobTitlesname(Util.null2String(rs.getString("jobTitle"))));
personnelResumePo.setPostionLevel(selectPostionLevel(Util.null2String(rs.getString("postion")))); personnelResumePo.setPostionLevel(selectPostionLevel(Util.null2String(rs.getString("postion"))));
//学历学位 //全日制最高学历
//全日制最高学历毕业院校
//全日制最高学历毕业专业
List<EducationInfo> educationInfos = selectEducInfo(id); List<EducationInfo> 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<EducationInfo> selectEducInfo(String resourceId) { private List<EducationInfo> selectEducInfo(String resourceId) {
List<EducationInfo> educationInfos = new ArrayList<>(); List<EducationInfo> educationInfos = new ArrayList<>();
RecordSet rs = new RecordSet(); 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()) { while (rs.next()) {
educationInfos.add(EducationInfo.builder() educationInfos.add(EducationInfo.builder()
.xl(Util.null2String(rs.getString("xl"))) .id(Util.getIntValue(rs.getString("id")))
.xw(Util.null2String(rs.getString("xw"))) .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"))) .byyx(Util.null2String(rs.getString("byyx")))
.xxzy(Util.null2String(rs.getString("xxzy"))) .xxzy(Util.null2String(rs.getString("xxzy")))
.sfzgxw(Util.null2String(rs.getString("sfzgxw"))) .xxxs(Util.getIntValue(rs.getString("xxxs")))
.sfqrzzgxw(Util.null2String(rs.getString("sfqrzzgxw"))) .sfzgxw(Util.getIntValue(rs.getString("sfzgxw")))
.sfzgxl(Util.null2String(rs.getString("sfzgxl"))) .sfzgxl(Util.getIntValue(rs.getString("sfzgxl")))
.sfqrzzgxl(Util.null2String(rs.getString("sfqrzzgxl")))
.build()); .build());
} }
return educationInfos; return educationInfos;

Loading…
Cancel
Save