ソースを参照

Merge branch 'master' of http://47.92.104.23:3000/project/guyitang

qingwu 2 週間 前
コミット
6d60fa4136

+ 85 - 0
src/com/kingdee/eas/custom/recuritment/task/RecuritmentFacadeControllerBean.java

@@ -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);
+        }
+
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
     /**
      * 简历-项目经历
      *