yuanzhi_kuang пре 2 месеци
родитељ
комит
66f2665925

+ 169 - 0
websrc/src/com/kingdee/shr/recuritment/web/handler/resume/ResumeBaseRecListHandlerEx.java

@@ -0,0 +1,169 @@
+package com.kingdee.shr.recuritment.web.handler.resume;
+
+import java.sql.SQLException;
+import java.util.HashMap;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.apache.commons.lang3.StringUtils;
+import org.apache.log4j.Logger;
+import org.springframework.ui.ModelMap;
+
+import com.kingdee.bos.BOSException;
+import com.kingdee.bos.Context;
+import com.kingdee.bos.dao.ormapping.ObjectUuidPK;
+import com.kingdee.eas.base.permission.util.ToolUtils;
+import com.kingdee.eas.basedata.person.PersonInfo;
+import com.kingdee.eas.common.EASBizException;
+import com.kingdee.eas.util.app.DbUtil;
+import com.kingdee.jdbc.rowset.IRowSet;
+import com.kingdee.shr.base.syssetting.context.SHRContext;
+import com.kingdee.shr.base.syssetting.exception.ShrWebBizException;
+import com.kingdee.shr.recuritment.FocusOnSource;
+import com.kingdee.shr.recuritment.ISmartImportTask;
+import com.kingdee.shr.recuritment.ISmartImportTaskDetail;
+import com.kingdee.shr.recuritment.RecuritmentDemandInfo;
+import com.kingdee.shr.recuritment.ResumeFocusOnFactory;
+import com.kingdee.shr.recuritment.ResumeSourceInfo;
+import com.kingdee.shr.recuritment.SmartImportTaskDetailCollection;
+import com.kingdee.shr.recuritment.SmartImportTaskDetailFactory;
+import com.kingdee.shr.recuritment.SmartImportTaskDetailInfo;
+import com.kingdee.shr.recuritment.SmartImportTaskFactory;
+import com.kingdee.shr.recuritment.SmartImportTaskInfo;
+import com.kingdee.shr.recuritment.TaskTypeEnum;
+import com.kingdee.shr.recuritment.service.smartimport.SmartImportServiceEx;
+import com.kingdee.shr.recuritment.util.response.ResponseUtil;
+
+
+/**
+ * 简历筛选拓展
+ * @author coyle
+ *202501
+ */
+public class ResumeBaseRecListHandlerEx extends ResumeBaseRecListHandler {
+	private static Logger logger = Logger.getLogger(ResumeBaseRecListHandlerEx.class);
+	
+	public void resumeAnalysisAction(HttpServletRequest request, HttpServletResponse response, ModelMap modelMap) {
+		String recuritmentDemandId = request.getParameter("targetId");
+		String taskId = request.getParameter("taskId");
+		String resumeSourceId = request.getParameter("resumeSourceId");
+		String interRecommendationId = request.getParameter("interRecommendationId");
+		String sourceType = request.getParameter("sourceType");
+		String isKeyTalent = request.getParameter("isKeyTalent");
+		String phoneModify = request.getParameter("phoneModify");
+
+		try {
+			HashMap<String, String> paraMap = new HashMap<String, String>();
+			paraMap.put("sourceType", sourceType);
+			paraMap.put("interRecommendationId", interRecommendationId);
+			paraMap.put("resumeSourceId", resumeSourceId);
+			paraMap.put("recuritmentDemandId", recuritmentDemandId);
+			// 二开字段
+			paraMap.put("isKeyTalent", isKeyTalent);
+			paraMap.put("phoneModify", phoneModify);
+			SmartImportServiceEx.getInstance().resumeSmartImport(taskId, TaskTypeEnum.SMARTIMPORT_RESUME, paraMap);
+			ResponseUtil.success(response);
+		} catch (ShrWebBizException var10) {
+			logger.error(var10.getMessage(), var10);
+			ResponseUtil.error(response, var10.getMessage());
+		}
+		
+	}
+	
+
+	public void  afterSmartImportTaskAction(HttpServletRequest request, HttpServletResponse response,
+			ModelMap modelMap) {
+		Context ctx = SHRContext.getInstance().getContext();
+		// 登录人
+		String userId = ctx.getCaller().toString();
+
+		try {
+			String taskIds = request.getParameter("taskIds");
+			String[] split = taskIds.split(",");
+			ISmartImportTask taskIns = SmartImportTaskFactory.getLocalInstance(ctx);
+
+			ISmartImportTaskDetail detailIns = SmartImportTaskDetailFactory.getLocalInstance(ctx);
+			SmartImportTaskDetailCollection detailCol = detailIns
+					.getSmartImportTaskDetailCollection("where id in (" + ToolUtils.aryToStr(split, true) + ")");
+	 
+			for (int i = 0; i < detailCol.size(); i++) {
+				SmartImportTaskDetailInfo detailInfo = detailCol.get(i);
+				SmartImportTaskInfo taskInfo = detailInfo.getTask();
+				if (taskInfo != null) {
+					taskInfo = taskIns.getSmartImportTaskInfo(new ObjectUuidPK(taskInfo.getId()));
+
+					//招聘需求
+					RecuritmentDemandInfo recDemand = taskInfo.getRecDemand();
+					String recStr = recDemand == null ? "": recDemand.getId().toString();
+					PersonInfo inpInfo = taskInfo.getInterRecommendation();
+					String  inPersonStr = inpInfo == null ? "":inpInfo.getId().toString();
+					// 简历来源
+					ResumeSourceInfo resumeSource = taskInfo.getResumeSource();
+					String souStr = resumeSource == null ? "" : resumeSource.getId().toString();
+					// taskInfo 手机号
+					String phoneModify = com.kingdee.util.StringUtils.cnulls(taskInfo.get("phoneModify"));
+					// 是否重点人才
+					boolean isKeyTalent = taskInfo.getBoolean("isKeyTalent");
+
+					// 附件名
+					String resumeFileName = detailInfo.getResumeFileName();
+					StringBuffer sbu = new StringBuffer();
+					sbu.append(" select   TOP 1   fid , FMobilePhone ");
+					sbu.append(" from  T_REC_ResumeBaseRec where ");
+					sbu.append(" FCreatorID = '" + userId + "'  ");
+					sbu.append(" and  FRecuritmentDemandID = '" + recStr + "'  ");
+					// 附件名称 FResumeFileName
+					sbu.append(" and ( fid in ( select fboid  from T_BAS_BoAttchAsso ");
+					sbu.append(" where  FAttachmentID in ( select fid  from T_BAS_Attachment where fname_l2  ='"
+							+ resumeFileName + "' ) )");
+					sbu.append(" or  fid in ( select fboid from T_HR_SHRATTACHMENTEXT ");
+					sbu.append(" where  FAttachment in ( select fid  from T_BAS_Attachment where fname_l2  ='"
+							+ resumeFileName + "' ) ) )");
+					//内部推荐人
+					if (!StringUtils.isEmpty(inPersonStr)) {
+						sbu.append("  and  FInterRecomendationID = '" + inPersonStr + "'  ");
+					}
+					// 简历来源
+					if (!StringUtils.isEmpty(souStr)) {
+						sbu.append("  and  FResSourceID = '" + souStr + "'  ");
+					}
+					IRowSet executeQuery = null;
+
+					if (!StringUtils.isEmpty(phoneModify) || isKeyTalent) {
+						executeQuery = DbUtil.executeQuery(ctx, sbu.toString());
+						if (executeQuery.next()) {
+							String resumeId = executeQuery.getString("fid");
+							String FMobilePhone = executeQuery.getString("FMobilePhone");
+							if (!StringUtils.equals(FMobilePhone, phoneModify) && !StringUtils.isEmpty(phoneModify)) {
+								String upsql = " update T_REC_ResumeBaseRec  set  FMobilePhone =  '" + phoneModify
+										+ "'  where fid = '" + resumeId + "'";
+								DbUtil.execute(ctx, upsql);
+							}
+							// 如果是重点人才
+							if (isKeyTalent && !ResumeFocusOnFactory.getLocalInstance(ctx).isTalent(resumeId,
+									FocusOnSource.resume)) {
+								ResumeFocusOnFactory.getLocalInstance(ctx).joinFocusOn(resumeId, FocusOnSource.resume,
+										"简历筛选重点关注");
+							}
+						}
+					}
+
+
+				}
+			}
+		} catch (SQLException e) {
+			e.printStackTrace();
+		} catch (BOSException e) {
+			e.printStackTrace();
+		} catch (EASBizException e) {
+			e.printStackTrace();
+		}
+			
+	}
+			
+			
+		 
+
+
+}