盛虹化纤人员简历开发
parent
46f1c9fde1
commit
906acef453
@ -0,0 +1,12 @@
|
||||
package com.api.shkjsecond.web;
|
||||
|
||||
|
||||
import javax.ws.rs.Path;
|
||||
|
||||
|
||||
/**
|
||||
* @author apple
|
||||
*/
|
||||
@Path("/sh/second/personnelresume")
|
||||
public class PersonnelResumeAction extends com.engine.shkjsecond.web.PersonnelResumeAction {
|
||||
}
|
@ -0,0 +1,30 @@
|
||||
package com.engine.shkjsecond.entity;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
/**
|
||||
* @Author liang.cheng
|
||||
* @Date 2025/2/17 15:05
|
||||
* @Description:
|
||||
* @Version 1.0
|
||||
*/
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class EducationInfo {
|
||||
|
||||
private String startAndEndDate;
|
||||
|
||||
private String school;
|
||||
|
||||
private String educational;
|
||||
|
||||
private String degree;
|
||||
|
||||
private String major;
|
||||
}
|
@ -0,0 +1,32 @@
|
||||
package com.engine.shkjsecond.entity;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
/**
|
||||
* @Author liang.cheng
|
||||
* @Date 2025/2/17 15:07
|
||||
* @Description:
|
||||
* @Version 1.0
|
||||
*/
|
||||
@Data
|
||||
@Builder
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class FamilyInfo {
|
||||
|
||||
private String lastName;
|
||||
|
||||
private String relationship;
|
||||
|
||||
private String age;
|
||||
|
||||
private String workUnit;
|
||||
|
||||
private String position;
|
||||
|
||||
private String mobile;
|
||||
|
||||
}
|
@ -0,0 +1,118 @@
|
||||
package com.engine.shkjsecond.entity;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import net.coobird.thumbnailator.Thumbnails;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.poi.util.IOUtils;
|
||||
import weaver.file.ImageFileManager;
|
||||
import weaver.general.GCONST;
|
||||
import weaver.general.Util;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.nio.file.Files;
|
||||
import java.util.Base64;
|
||||
|
||||
/**
|
||||
* @Author liang.cheng
|
||||
* @Date 2025/2/17 14:56
|
||||
* @Description:
|
||||
* @Version 1.0
|
||||
*/
|
||||
@Data
|
||||
@Builder
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class PersonnelResumePo {
|
||||
|
||||
private Integer id;
|
||||
private String lastName;
|
||||
private String sex;
|
||||
private String birthday;
|
||||
private String resourceImageId;
|
||||
|
||||
private String certificatenum;
|
||||
private String residence;
|
||||
private String politicsStatus;
|
||||
private String nation;
|
||||
private String nativePlace;
|
||||
|
||||
private String height;
|
||||
private String weight;
|
||||
private String maritalStatus;
|
||||
|
||||
private String companyStartDate;
|
||||
private String jobTitle;
|
||||
private String department;
|
||||
private String educationlevel;
|
||||
private String graduateSchool;
|
||||
private String major;
|
||||
private String jobcall;
|
||||
private String address;
|
||||
private String mobile;
|
||||
private String email;
|
||||
|
||||
private String emergencyContact;
|
||||
private String relationship;
|
||||
private String eContactMobile;
|
||||
|
||||
public String getSex() {
|
||||
if ("1".equals(sex)) {
|
||||
return "女";
|
||||
}
|
||||
return "男";
|
||||
}
|
||||
|
||||
public String getImage() {
|
||||
if (StringUtils.isBlank(resourceImageId)) {
|
||||
return "";
|
||||
}
|
||||
ImageFileManager manager = new ImageFileManager();
|
||||
manager.getImageFileInfoById(Util.getIntValue(resourceImageId));
|
||||
InputStream inputStream = manager.getInputStream();
|
||||
String imageStr = "";
|
||||
try {
|
||||
String outPutPath = GCONST.getRootPath() + "hrm" + File.separator + "import" + File.separator + "template" + File.separator
|
||||
+ manager.getImageFileName();
|
||||
File f = new File(outPutPath);
|
||||
if (!f.exists()) {
|
||||
String substring = outPutPath.substring(0, outPutPath.lastIndexOf(File.separator));
|
||||
File file = new File(substring);
|
||||
if (file.mkdirs()) {
|
||||
boolean newFile = f.createNewFile();
|
||||
if (!newFile) {
|
||||
throw new IOException(outPutPath + "文件创建失败");
|
||||
}
|
||||
}
|
||||
}
|
||||
Thumbnails.of(inputStream).forceSize(100, 120).toFile(f);
|
||||
InputStream fileInputStream = Files.newInputStream(f.toPath());
|
||||
imageStr = "data:image/" + manager.getImageFileType() + ";base64," + Base64.getEncoder().encodeToString(IOUtils.toByteArray(fileInputStream));
|
||||
// 删除文件
|
||||
f.delete();
|
||||
} catch (IOException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
return imageStr;
|
||||
}
|
||||
|
||||
|
||||
public String getMarriage() {
|
||||
if (StringUtils.isBlank(maritalStatus)) {
|
||||
return "未婚";
|
||||
}
|
||||
switch (maritalStatus) {
|
||||
case "1":
|
||||
return "已婚";
|
||||
case "2":
|
||||
return "离异";
|
||||
case "0":
|
||||
default:
|
||||
return "未婚";
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,25 @@
|
||||
package com.engine.shkjsecond.entity;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @Author liang.cheng
|
||||
* @Date 2025/2/17 15:00
|
||||
* @Description:
|
||||
* @Version 1.0
|
||||
*/
|
||||
@Data
|
||||
@Builder
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class PersonnelResumeTable {
|
||||
|
||||
private List<PersonnelResumeTd> columns;
|
||||
|
||||
private List<List<PersonnelResumeTd>> datas;
|
||||
}
|
@ -0,0 +1,25 @@
|
||||
package com.engine.shkjsecond.entity;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
/**
|
||||
* @Author liang.cheng
|
||||
* @Date 2025/2/17 15:01
|
||||
* @Description:
|
||||
* @Version 1.0
|
||||
*/
|
||||
@Data
|
||||
@Builder
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class PersonnelResumeTd {
|
||||
|
||||
private String value;
|
||||
|
||||
private Integer colspans;
|
||||
|
||||
private Integer rowspans;
|
||||
}
|
@ -0,0 +1,28 @@
|
||||
package com.engine.shkjsecond.entity;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
/**
|
||||
* @Author liang.cheng
|
||||
* @Date 2025/2/17 15:06
|
||||
* @Description:
|
||||
* @Version 1.0
|
||||
*/
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class TrainingInfo {
|
||||
|
||||
private String startAndEndDate;
|
||||
|
||||
private String trainingContent;
|
||||
|
||||
private String trainingCompany;
|
||||
|
||||
private String certifications;
|
||||
}
|
@ -0,0 +1,30 @@
|
||||
package com.engine.shkjsecond.entity;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
/**
|
||||
* @Author liang.cheng
|
||||
* @Date 2025/2/17 15:07
|
||||
* @Description:
|
||||
* @Version 1.0
|
||||
*/
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class WorkInfo {
|
||||
|
||||
private String startAndEndDate;
|
||||
|
||||
private String company;
|
||||
|
||||
private String department;
|
||||
|
||||
private String position;
|
||||
|
||||
private String mobile;
|
||||
}
|
@ -0,0 +1,34 @@
|
||||
package com.engine.shkjsecond.service;
|
||||
|
||||
import com.engine.shkjsecond.entity.PersonnelResumePo;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @Author liang.cheng
|
||||
* @Date 2025/2/17 14:41
|
||||
* @Description:
|
||||
* @Version 1.0
|
||||
*/
|
||||
public interface PersonnelResumeService {
|
||||
|
||||
/**
|
||||
* @Description: 人员简历
|
||||
* @Author: liang.cheng
|
||||
* @Date: 2025/2/17 14:53
|
||||
* @param: [resourceId]
|
||||
* @return: java.util.Map<java.lang.String,java.lang.Object>
|
||||
*/
|
||||
Map<String, Object> getResumeList(String resourceId);
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* @Description: 根据人员id获取主表信息
|
||||
* @Author: liang.cheng
|
||||
* @Date: 2025/2/18 10:43
|
||||
* @param: [resourceId]
|
||||
* @return: com.engine.shkjsecond.entity.PersonnelResumePo
|
||||
*/
|
||||
PersonnelResumePo peopleMainInfo(String resourceId);
|
||||
}
|
@ -0,0 +1,70 @@
|
||||
package com.engine.shkjsecond.service.impl;
|
||||
|
||||
|
||||
import com.engine.core.impl.Service;
|
||||
import com.engine.shkjsecond.entity.PersonnelResumePo;
|
||||
import com.engine.shkjsecond.service.PersonnelResumeService;
|
||||
import weaver.conn.RecordSet;
|
||||
import weaver.general.Util;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @Author liang.cheng
|
||||
* @Date 2025/2/17 14:41
|
||||
* @Description:
|
||||
* @Version 1.0
|
||||
*/
|
||||
|
||||
public class PersonnelResumeServiceImpl extends Service implements PersonnelResumeService {
|
||||
|
||||
@Override
|
||||
public Map<String, Object> getResumeList(String resourceId) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public PersonnelResumePo peopleMainInfo(String resourceId) {
|
||||
RecordSet rs = new RecordSet();
|
||||
rs.executeQuery("SELECT h.id, lastname, sex, birthday, resourceimageid, certificatenum, e.field43 as residence, " +
|
||||
" e.field44 as politicsStatus, e.field48 as nation, nativeplace, height, weight, maritalstatus, companystartdate, " +
|
||||
" b.jobtitlename AS jobTitle, a.departmentname as department, c.name as educationlevel, e.field38 as graduateSchool, " +
|
||||
" e.field39 as major, d.name as jobcall, e.field40 as address, mobile, email, e.field41 as emergencyContact, " +
|
||||
" e.field45 as relationship, e.field46 as eContactMobile FROM hrmresource h " +
|
||||
" LEFT JOIN hrmdepartment a ON a.id = h.departmentid LEFT JOIN hrmjobtitles b ON b.id = h.jobtitle " +
|
||||
" LEFT JOIN hrmeducationlevel c on c.id = h.educationlevel LEFT JOIN hrmjobcall d on d.id = h.jobcall " +
|
||||
" LEFT JOIN cus_fielddata e on e.id = h.id and scopeid = 1 and scope = 'HrmCustomFieldByInfoType' where h.id = ?",resourceId);
|
||||
PersonnelResumePo personnelResumePo = PersonnelResumePo.builder().build();
|
||||
if (rs.next()) {
|
||||
personnelResumePo.setLastName(Util.null2String(rs.getString("lastname")));
|
||||
personnelResumePo.setSex(Util.null2String(rs.getString("sex")));
|
||||
personnelResumePo.setBirthday(Util.null2String(rs.getString("birthday")));
|
||||
personnelResumePo.setResourceImageId(Util.null2String(rs.getString("resourceimageid")));
|
||||
personnelResumePo.setCertificatenum(Util.null2String(rs.getString("certificatenum")));
|
||||
personnelResumePo.setResidence(Util.null2String(rs.getString("sex")));
|
||||
personnelResumePo.setSex(Util.null2String(rs.getString("sex")));
|
||||
personnelResumePo.setSex(Util.null2String(rs.getString("sex")));
|
||||
personnelResumePo.setSex(Util.null2String(rs.getString("sex")));
|
||||
personnelResumePo.setSex(Util.null2String(rs.getString("sex")));
|
||||
personnelResumePo.setSex(Util.null2String(rs.getString("sex")));
|
||||
personnelResumePo.setSex(Util.null2String(rs.getString("sex")));
|
||||
personnelResumePo.setSex(Util.null2String(rs.getString("sex")));
|
||||
personnelResumePo.setSex(Util.null2String(rs.getString("sex")));
|
||||
personnelResumePo.setSex(Util.null2String(rs.getString("sex")));
|
||||
personnelResumePo.setSex(Util.null2String(rs.getString("sex")));
|
||||
personnelResumePo.setSex(Util.null2String(rs.getString("sex")));
|
||||
personnelResumePo.setSex(Util.null2String(rs.getString("sex")));
|
||||
personnelResumePo.setSex(Util.null2String(rs.getString("sex")));
|
||||
personnelResumePo.setSex(Util.null2String(rs.getString("sex")));
|
||||
personnelResumePo.setSex(Util.null2String(rs.getString("sex")));
|
||||
personnelResumePo.setSex(Util.null2String(rs.getString("sex")));
|
||||
personnelResumePo.setSex(Util.null2String(rs.getString("sex")));
|
||||
|
||||
|
||||
//personnelResumePo.setLastName(Util.formatMultiLang());
|
||||
}
|
||||
|
||||
|
||||
return personnelResumePo;
|
||||
}
|
||||
}
|
@ -0,0 +1,49 @@
|
||||
package com.engine.shkjsecond.web;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.alibaba.fastjson.serializer.SerializerFeature;
|
||||
import com.azure.core.annotation.QueryParam;
|
||||
import com.engine.common.util.ServiceUtil;
|
||||
import com.engine.shkjsecond.service.PersonnelResumeService;
|
||||
import com.engine.shkjsecond.service.impl.PersonnelResumeServiceImpl;
|
||||
import weaver.hrm.HrmUserVarify;
|
||||
import weaver.hrm.User;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import javax.ws.rs.GET;
|
||||
import javax.ws.rs.Path;
|
||||
import javax.ws.rs.Produces;
|
||||
import javax.ws.rs.core.Context;
|
||||
import javax.ws.rs.core.MediaType;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @Author liang.cheng
|
||||
* @Date 2025/2/17 14:40
|
||||
* @Description:
|
||||
* @Version 1.0
|
||||
*/
|
||||
public class PersonnelResumeAction {
|
||||
|
||||
private PersonnelResumeService getService(User user) {
|
||||
return ServiceUtil.getService(PersonnelResumeServiceImpl.class, user);
|
||||
}
|
||||
|
||||
@GET
|
||||
@Path("/getResumeList")
|
||||
@Produces(MediaType.TEXT_PLAIN)
|
||||
public String getResumeList(@Context HttpServletRequest request, @Context HttpServletResponse response, @QueryParam("resourceId") String resourceId){
|
||||
Map<String, Object> data = new HashMap<>(8);
|
||||
try {
|
||||
User user = HrmUserVarify.getUser(request, response);
|
||||
data.put("resumeList",getService(user).getResumeList(resourceId));
|
||||
data.put("api_status", true);
|
||||
} catch (Exception e) {
|
||||
data.put("api_status", false);
|
||||
data.put("msg", "catch exception : " + e.getMessage());
|
||||
}
|
||||
return JSONObject.toJSONString(data, SerializerFeature.DisableCircularReferenceDetect);
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue