ResumeConvertUtilEx.java 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. package com.kingdee.shr.recuritment.service.offer;
  2. import com.kingdee.bos.BOSException;
  3. import com.kingdee.bos.Context;
  4. import com.kingdee.bos.dao.IObjectPK;
  5. import com.kingdee.bos.util.BOSUuid;
  6. import com.kingdee.eas.basedata.person.PersonInfo;
  7. import com.kingdee.eas.common.EASBizException;
  8. import com.kingdee.shr.preentry.PreEntryPersonFactory;
  9. import com.kingdee.shr.preentry.PreEntryPersonInfo;
  10. import com.kingdee.shr.recuritment.RecRegisterFactory;
  11. import com.kingdee.shr.recuritment.RecRegisterInfo;
  12. import com.kingdee.shr.recuritment.RecRegisterStateEnum;
  13. import com.kingdee.shr.recuritment.ResumeBaseRecInfo;
  14. import com.kingdee.shr.recuritment.app.util.convert.ResumeConvertUtil;
  15. import org.apache.log4j.Logger;
  16. /**
  17. * @Description 简历转化工具类
  18. * @Date 2025/9/18 19:58
  19. * @Created by 59279
  20. */
  21. public class ResumeConvertUtilEx extends ResumeConvertUtil {
  22. private static final Logger logger = Logger.getLogger(ResumeConvertUtilEx.class);
  23. /**
  24. * 根据简历信息添加推荐注册记录。
  25. * <p>
  26. * 该方法会根据传入的简历信息创建预入职人员信息和推荐注册信息,并将这些信息保存到系统中。
  27. * 同时还会调用服务同步简历数据到预入职人员信息中。
  28. * </p>
  29. *
  30. * @param ctx 上下文对象,用于获取业务服务实例
  31. * @param resume 简历基本信息对象,包含待处理的简历数据
  32. * @throws BOSException 当业务操作过程中发生异常时抛出
  33. */
  34. public static void addRecRegisterByResume(Context ctx, ResumeBaseRecInfo resume) throws BOSException {
  35. // 创建推荐注册信息和预入职人员信息对象
  36. RecRegisterInfo newRecRegister = new RecRegisterInfo();
  37. PreEntryPersonInfo personInfo = new PreEntryPersonInfo();
  38. // 设置预入职人员基本信息
  39. personInfo.setName(resume.getName());
  40. personInfo.setIdCardNO(resume.getIdentityCardNo());
  41. personInfo.setPassportNO(resume.getPassportNo());
  42. personInfo.setBirthday(resume.getBirthday());
  43. personInfo.setGender(resume.getGender());
  44. personInfo.setNativePlace(resume.getNativePlace());
  45. personInfo.setHighestDegree(resume.getHDegree());
  46. personInfo.setNationality(resume.getNational());
  47. personInfo.setFolk(resume.getFolk());
  48. personInfo.setWed(resume.getWed());
  49. personInfo.setPoliticalFace(resume.getPoliticalFace());
  50. personInfo.setJobStartDate(resume.getWorkDate());
  51. // 创建并设置人员信息主键
  52. PersonInfo person = new PersonInfo();
  53. String personId = BOSUuid.create(person.getBOSType()).toString();
  54. person.setId(BOSUuid.read(personId));
  55. personInfo.setPerson(person);
  56. try {
  57. // 保存预入职人员信息并获取主键
  58. IObjectPK personPK = PreEntryPersonFactory.getLocalInstance(ctx).addnew(personInfo);
  59. personInfo.setId(BOSUuid.read(personPK.toString()));
  60. // 设置推荐注册信息的基本字段
  61. String cellPhone = resume.getMobilePhone();
  62. String email = resume.getEmail();
  63. newRecRegister.setCellPhone(cellPhone);
  64. newRecRegister.setEmail(email);
  65. newRecRegister.setTalent(personInfo);
  66. newRecRegister.setRecRegisterState(RecRegisterStateEnum.NOREGISTER);
  67. newRecRegister.setName(resume.getName());
  68. // 设置推荐注册信息的其他属性
  69. BOSUuid id = BOSUuid.create((new RecRegisterInfo()).getBOSType());
  70. newRecRegister.setId(id);
  71. newRecRegister.setResumeBaseRec(resume);
  72. newRecRegister.setIsLatest(true);
  73. newRecRegister.setIsSendLogin(false);
  74. newRecRegister.setNeedSendEmail(false);
  75. newRecRegister.setNeedSendSms(false);
  76. newRecRegister.setNumber(System.currentTimeMillis() + "");
  77. newRecRegister.setRecRegisterState(RecRegisterStateEnum.NOREGISTER);
  78. // 保存推荐注册信息
  79. RecRegisterFactory.getLocalInstance(ctx).addnew(newRecRegister);
  80. // 调用服务同步简历信息到预入职人员信息
  81. ResumeSyncToPEPersonServiceEx resumeSyncToPEPersonServiceEx = new ResumeSyncToPEPersonServiceEx();
  82. resumeSyncToPEPersonServiceEx.syncResumeToPEPerson(ctx, newRecRegister.getTalent(), resume);
  83. } catch (EASBizException e) {
  84. logger.error(e.getMessage());
  85. throw new BOSException(e.getMessage());
  86. }
  87. }
  88. }