From 490b71d5dffc241bd62d7aab293085c22d121ea0 Mon Sep 17 00:00:00 2001 From: dxfeng Date: Tue, 10 Oct 2023 09:27:46 +0800 Subject: [PATCH] =?UTF-8?q?=E7=AE=80=E5=8E=86=E8=A7=A3=E6=9E=90=EF=BC=8C?= =?UTF-8?q?=E5=8E=9F=E5=A7=8B=E7=AE=80=E5=8E=86=E5=8F=8D=E5=A1=AB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/ApplicantResumeController.java | 9 ++ .../service/ApplicantResumeService.java | 9 ++ .../impl/ApplicantResumeServiceImpl.java | 94 ++++++++++++++++++- .../wrapper/ApplicantResumeWrapper.java | 8 +- 4 files changed, 118 insertions(+), 2 deletions(-) diff --git a/src/com/engine/recruit/controller/ApplicantResumeController.java b/src/com/engine/recruit/controller/ApplicantResumeController.java index 7ae878a..f6d85d0 100644 --- a/src/com/engine/recruit/controller/ApplicantResumeController.java +++ b/src/com/engine/recruit/controller/ApplicantResumeController.java @@ -72,4 +72,13 @@ public class ApplicantResumeController { Map params = ParamUtil.request2Map(request); return new ResponseResult, Map>(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 param = ParamUtil.request2Map(request); + return new ResponseResult, Map>(user).run(getApplicantResumeWrapper(user)::fullOriginalResumeId, param); + } } diff --git a/src/com/engine/recruit/service/ApplicantResumeService.java b/src/com/engine/recruit/service/ApplicantResumeService.java index 1a40444..ab0cb8e 100644 --- a/src/com/engine/recruit/service/ApplicantResumeService.java +++ b/src/com/engine/recruit/service/ApplicantResumeService.java @@ -53,4 +53,13 @@ public interface ApplicantResumeService { * @return */ Map updateApplicantsInfo(Map params); + + + /** + * 完善OCR导入的简历,原始简历字段 + * + * @param params + * @return + */ + Map fullOriginalResumeId(Map params); } diff --git a/src/com/engine/recruit/service/impl/ApplicantResumeServiceImpl.java b/src/com/engine/recruit/service/impl/ApplicantResumeServiceImpl.java index 622c736..54d833b 100644 --- a/src/com/engine/recruit/service/impl/ApplicantResumeServiceImpl.java +++ b/src/com/engine/recruit/service/impl/ApplicantResumeServiceImpl.java @@ -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 fullOriginalResumeId(Map 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; + } } diff --git a/src/com/engine/recruit/wrapper/ApplicantResumeWrapper.java b/src/com/engine/recruit/wrapper/ApplicantResumeWrapper.java index 3d3a54a..1c52ab4 100644 --- a/src/com/engine/recruit/wrapper/ApplicantResumeWrapper.java +++ b/src/com/engine/recruit/wrapper/ApplicantResumeWrapper.java @@ -29,10 +29,16 @@ public class ApplicantResumeWrapper extends Service { public Map getDisplayLayoutId(Map params) { return getApplicantResumeService(user).getDisplayLayoutId(params); } + public Map getTabCount(Map params) { return getApplicantResumeService(user).getTabCount(params); } - public Map updateApplicantsInfo(Map params) { + + public Map updateApplicantsInfo(Map params) { return getApplicantResumeService(user).updateApplicantsInfo(params); } + + public Map fullOriginalResumeId(Map params) { + return getApplicantResumeService(user).fullOriginalResumeId(params); + } }