|
@@ -25,6 +25,9 @@ import com.kingdee.eas.custom.recuritment.IApplicantBeisen;
|
|
|
import com.kingdee.eas.custom.recuritment.bizEnum.ExecuteResultEnum;
|
|
|
import com.kingdee.eas.custom.recuritment.utils.AttachmentUtils;
|
|
|
import com.kingdee.eas.custom.recuritment.utils.InitialValueUtils;
|
|
|
+import com.kingdee.eas.hr.base.IRelation;
|
|
|
+import com.kingdee.eas.hr.base.RelationCollection;
|
|
|
+import com.kingdee.eas.hr.base.RelationFactory;
|
|
|
import com.kingdee.shr.recuritment.*;
|
|
|
import com.kingdee.util.StringUtils;
|
|
|
import org.apache.commons.lang3.ObjectUtils;
|
|
@@ -257,6 +260,9 @@ public class RecuritmentFacadeControllerBean extends AbstractRecuritmentFacadeCo
|
|
|
sectionHandlers.put("lang", this::saveLanguageAbility);
|
|
|
sectionHandlers.put("skill", this::saveProfessionalSkills);
|
|
|
sectionHandlers.put("awards", this::saveResumeRewardPunish);
|
|
|
+ //
|
|
|
+ sectionHandlers.put("family", this::saveFamilyInfo);
|
|
|
+
|
|
|
// 遍历处理所有简历部分
|
|
|
sectionHandlers.forEach((sectionKey, handler) -> {
|
|
|
//判断是否存key
|
|
@@ -781,6 +787,85 @@ public class RecuritmentFacadeControllerBean extends AbstractRecuritmentFacadeCo
|
|
|
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 简历-社会关系
|
|
|
+ * @param education
|
|
|
+ * coyle
|
|
|
+ * 20250715
|
|
|
+ */
|
|
|
+ public void saveFamilyInfo(Context ctx, JSONArray family, ResumeBaseRecInfo resumeBaseRecInfo) {
|
|
|
+ logger.error("family--" + family);
|
|
|
+ try {
|
|
|
+ IResumeFamily familyIns = ResumeFamilyFactory.getLocalInstance(ctx);
|
|
|
+ ResumeFamilyCollection familyCol = familyIns.getResumeFamilyCollection("where resumeBase = '" + resumeBaseRecInfo.getId().toString() + "'");
|
|
|
+
|
|
|
+ //关系
|
|
|
+ IRelation relationIns = RelationFactory.getLocalInstance(ctx);
|
|
|
+ //简历基本信息
|
|
|
+ for (int i = 0; i < family.size(); i++) {
|
|
|
+ ResumeFamilyInfo familyInfo = new ResumeFamilyInfo() ;
|
|
|
+ if( familyCol.size()> i ) {
|
|
|
+ familyInfo = familyCol.get(i);
|
|
|
+ }
|
|
|
+ familyInfo.setResumeBase(resumeBaseRecInfo);
|
|
|
+
|
|
|
+ JSONArray array = family.getJSONArray(i);
|
|
|
+ for (int j = 0; j < array.size(); j++) {
|
|
|
+ JSONObject data = array.getJSONObject(j);
|
|
|
+ String name = data.getString("name");
|
|
|
+ String value = data.getString("value");
|
|
|
+ String text = data.getString("text");
|
|
|
+ //姓名
|
|
|
+ if ("Name".equals(name)) {
|
|
|
+ familyInfo.setName(value);
|
|
|
+ }
|
|
|
+ // 与本人关系
|
|
|
+ if ("relation".equals(name)) {
|
|
|
+ RelationCollection relationCol = relationIns.getRelationCollection("where beisenVal = '" + value + "'");
|
|
|
+ if (!relationCol.isEmpty()) {
|
|
|
+ familyInfo.setRelation(relationCol.get(0));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if ("age".equals(name)) {
|
|
|
+ familyInfo.setAge(text);
|
|
|
+ }
|
|
|
+ //职务
|
|
|
+ if ("JobTitle".equals(name)) {
|
|
|
+ familyInfo.setSpecDuty(text);
|
|
|
+ }
|
|
|
+ //公司名
|
|
|
+ if ("CompanyName".equals(name)) {
|
|
|
+ familyInfo.setWorkUnit(text);
|
|
|
+ }
|
|
|
+ //telephone
|
|
|
+ if ("telephone".equals(name)) {
|
|
|
+ familyInfo.setOfficePhone(text);
|
|
|
+ }
|
|
|
+ familyIns.save(familyInfo);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } catch (Exception e) {
|
|
|
+ logger.error("社会关系保存失败!" + e.getMessage());
|
|
|
+ throw new RuntimeException(e);
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
/**
|
|
|
* 简历-项目经历
|
|
|
*
|