简历解析,原始简历反填

This commit is contained in:
dxfeng 2023-10-10 09:27:46 +08:00
parent ada279bb19
commit 490b71d5df
4 changed files with 118 additions and 2 deletions

View File

@ -72,4 +72,13 @@ public class ApplicantResumeController {
Map<String, Object> params = ParamUtil.request2Map(request);
return new ResponseResult<Map<String, Object>, Map<String, Object>>(user).run(getApplicantResumeWrapper(user)::updateApplicantsInfo, params);
}
@POST
@Path("/fullOriginalResumeId")
@Produces(MediaType.APPLICATION_JSON)
public String fullOriginalResumeId(@Context HttpServletRequest request, @Context HttpServletResponse response) {
User user = HrmUserVarify.getUser(request, response);
Map<String, Object> param = ParamUtil.request2Map(request);
return new ResponseResult<Map<String, Object>, Map<String, Object>>(user).run(getApplicantResumeWrapper(user)::fullOriginalResumeId, param);
}
}

View File

@ -53,4 +53,13 @@ public interface ApplicantResumeService {
* @return
*/
Map<String, Object> updateApplicantsInfo(Map<String, Object> params);
/**
* 完善OCR导入的简历原始简历字段
*
* @param params
* @return
*/
Map<String, Object> fullOriginalResumeId(Map<String, Object> params);
}

View File

@ -1,12 +1,20 @@
package com.engine.recruit.service.impl;
import cn.hutool.core.convert.Convert;
import com.engine.core.impl.Service;
import com.engine.recruit.enums.ApplicantOperateEnum;
import com.engine.recruit.enums.ApplicationStatusEnum;
import com.engine.recruit.service.ApplicantResumeService;
import org.apache.commons.lang3.StringUtils;
import weaver.conn.RecordSet;
import weaver.docs.docs.DocCoder;
import weaver.docs.docs.DocComInfo;
import weaver.docs.docs.DocImageManager;
import weaver.docs.docs.DocManager;
import weaver.file.ImageFileManager;
import weaver.general.TimeUtil;
import weaver.general.Util;
import weaver.hrm.User;
import weaver.hrm.resource.ResourceComInfo;
import java.util.ArrayList;
@ -147,7 +155,7 @@ public class ApplicantResumeServiceImpl extends Service implements ApplicantResu
RecordSet rs = new RecordSet();
if (ApplicantOperateEnum.ELIMINATE.getOperateType().equals(operateType)) {
String ids = Util.null2String(params.get("ids"));
rs.executeUpdate("update uf_jcl_yppc set zt = ? where id in (?)", ApplicationStatusEnum.OBSOLETE.getValue(), ids);
rs.executeUpdate("update uf_jcl_yppc set zt = ? where id in (" + ids + ")", ApplicationStatusEnum.OBSOLETE.getValue());
}
if (ApplicantOperateEnum.TRANSFER.getOperateType().equals(operateType)) {
String dqypjd = Util.null2String(params.get("dqypjd"));
@ -157,6 +165,23 @@ public class ApplicantResumeServiceImpl extends Service implements ApplicantResu
return returnMap;
}
@Override
public Map<String, Object> fullOriginalResumeId(Map<String, Object> params) {
int imageFileId = Convert.toInt(params.get("imageFileId"));
int resumeId = Convert.toInt(params.get("resumeId"));
int secCategory = Convert.toInt(params.get("secCategory"));
RecordSet rs = new RecordSet();
try {
int docId = createDocId(secCategory, imageFileId, user);
rs.executeUpdate("update uf_jcl_yppc set ysjl=? where id = ?", docId, resumeId);
} catch (Exception e) {
throw new RuntimeException(e);
}
return new HashMap<>();
}
/**
* 构建普通数据格式
*
@ -248,4 +273,71 @@ public class ApplicantResumeServiceImpl extends Service implements ApplicantResu
return browserMap;
}
/**
* 原始简历imageFieldId生成docId
* @param secCategory
* @param imageFieldId
* @param user
* @return
* @throws Exception
*/
public int createDocId(int secCategory, int imageFieldId, User user) throws Exception {
ImageFileManager manager = new ImageFileManager();
manager.getImageFileInfoById(imageFieldId);
String filenameqc = manager.getImageFileName();
String filenamebc = filenameqc.substring(0, filenameqc.lastIndexOf("."));
RecordSet rs = new RecordSet();
DocManager dm = new DocManager();
DocImageManager imgManger = new DocImageManager();
imgManger.setDocfiletype("2");
int docId = dm.getNextDocId(rs);
imgManger.setDocid(docId);
imgManger.setImagefileid(imageFieldId);
imgManger.setImagefilename(filenameqc);
imgManger.setIsextfile("1");
imgManger.AddDocImageInfo();
String date = TimeUtil.getCurrentDateString();
String time = TimeUtil.getOnlyCurrentTimeString();
dm.setId(docId);
dm.setMaincategory(0);
dm.setSubcategory(0);
dm.setSeccategory(secCategory);
dm.setLanguageid(user.getLanguage());
dm.setDocstatus("1");
dm.setDocsubject(filenamebc);
dm.setDoccreaterid(user.getUID());
dm.setDocCreaterType(user.getLogintype());
dm.setUsertype(user.getLogintype());
dm.setOwnerid(user.getUID());
dm.setOwnerType(user.getLogintype());
dm.setDoclastmoduserid(user.getUID());
dm.setDocLastModUserType(user.getLogintype());
dm.setDoccreatedate(date);
dm.setDoclastmoddate(date);
dm.setDoccreatetime(time);
dm.setDoclastmodtime(time);
dm.setDoclangurage(user.getLanguage());
dm.setKeyword(filenameqc);
dm.setIsapprover("0");
dm.setIsreply("");
dm.setDocdepartmentid(user.getUserDepartment());
dm.setDocreplyable("1");
dm.setAccessorycount(1);
dm.setParentids("" + docId);
dm.setUserid(user.getUID());
DocCoder docCoder = new DocCoder();
dm.setDocCode(docCoder.getDocCoder(""+secCategory));
dm.setDocEditionId(dm.getNextEditionId(rs));
dm.setDocEdition(1);
dm.AddDocInfo();
dm.AddShareInfo();
DocComInfo dc = new DocComInfo();
dc.addDocInfoCache("" + docId);
return docId;
}
}

View File

@ -29,10 +29,16 @@ public class ApplicantResumeWrapper extends Service {
public Map<String, Object> getDisplayLayoutId(Map<String, Object> params) {
return getApplicantResumeService(user).getDisplayLayoutId(params);
}
public Map<String, Object> getTabCount(Map<String, Object> params) {
return getApplicantResumeService(user).getTabCount(params);
}
public Map<String, Object> updateApplicantsInfo(Map<String, Object> params) {
public Map<String, Object> updateApplicantsInfo(Map<String, Object> params) {
return getApplicantResumeService(user).updateApplicantsInfo(params);
}
public Map<String, Object> fullOriginalResumeId(Map<String, Object> params) {
return getApplicantResumeService(user).fullOriginalResumeId(params);
}
}