盛虹化纤人员简历开发

盛虹化纤
Chengliang 2 months ago
parent 46f1c9fde1
commit 906acef453

@ -1,6 +1,6 @@
<component name="ArtifactManager">
<artifact type="jar" name="weaver-develop:jar">
<output-path>$PROJECT_DIR$/out/artifacts/weaver_develop_jar</output-path>
<output-path>$PROJECT_DIR$/../../../../weaver/ecology/WEB-INF/lib</output-path>
<root id="archive" name="weaver-develop.jar">
<element id="module-output" name="weaver-develop" />
</root>

@ -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…
Cancel
Save