From 59f7fe112570f654ed6f85319d88c803e5dfd067 Mon Sep 17 00:00:00 2001
From: dxfeng
Date: Wed, 18 Oct 2023 14:20:12 +0800
Subject: [PATCH 1/4] =?UTF-8?q?=E6=8B=9B=E8=81=98=E8=81=8C=E4=BD=8D?=
=?UTF-8?q?=E5=85=B3=E8=81=94=E6=8B=9B=E8=81=98=E9=98=B6=E6=AE=B5=E4=BF=A1?=
=?UTF-8?q?=E6=81=AF?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../engine/recruit/constant/ModeTable.java | 11 ++
.../recruit/browser/RecruitStageBrowser.java | 28 ++++
.../position/PositionRelatedStageExpand.java | 68 +++++++++
.../process/RelatedStageModeExpand.java | 134 +----------------
.../modeexpand/process/StageDataInsert.java | 139 ++++++++++++++++++
5 files changed, 250 insertions(+), 130 deletions(-)
create mode 100644 src/weaver/formmode/recruit/browser/RecruitStageBrowser.java
create mode 100644 src/weaver/formmode/recruit/modeexpand/position/PositionRelatedStageExpand.java
create mode 100644 src/weaver/formmode/recruit/modeexpand/process/StageDataInsert.java
diff --git a/src/com/engine/recruit/constant/ModeTable.java b/src/com/engine/recruit/constant/ModeTable.java
index eb9dfe6..1cbd3da 100644
--- a/src/com/engine/recruit/constant/ModeTable.java
+++ b/src/com/engine/recruit/constant/ModeTable.java
@@ -1,6 +1,8 @@
package com.engine.recruit.constant;
/**
+ * 聚才林招聘,建模表
+ *
* @author:dxfeng
* @createTime: 2023/10/17
* @version: 1.0
@@ -11,6 +13,15 @@ public class ModeTable {
*/
public static final String UF_JCL_YPPC = "uf_jcl_yppc";
+ /**
+ * JCL_招聘阶段设置
+ */
+ public static final String UF_JCL_ZPJDSZ = "uf_jcl_zpjdsz";
+ /**
+ * JCL_招聘流程
+ */
+ public static final String UF_JCL_ZPLC = "uf_jcl_zplc";
+
/**
* 获取明细表表名
diff --git a/src/weaver/formmode/recruit/browser/RecruitStageBrowser.java b/src/weaver/formmode/recruit/browser/RecruitStageBrowser.java
new file mode 100644
index 0000000..3e0de69
--- /dev/null
+++ b/src/weaver/formmode/recruit/browser/RecruitStageBrowser.java
@@ -0,0 +1,28 @@
+package weaver.formmode.recruit.browser;
+
+import weaver.formmode.customjavacode.AbstractCustomSqlConditionJavaCode;
+import weaver.hrm.User;
+
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * @author:dxfeng
+ * @createTime: 2023/10/18
+ * @version: 1.0
+ */
+public class RecruitStageBrowser extends AbstractCustomSqlConditionJavaCode {
+ @Override
+ public String generateSqlCondition(Map param) throws Exception {
+ User user = (User)param.get("user");
+ Object extensionParam = param.get("extensionParam");//其他参数
+ HashMap extensionMap = (HashMap)extensionParam;
+
+ //获取参数示例 "min" 只是示例 需要根据自己传入的参数名获取
+ //String min = (String)extensionMap.get("min");
+
+ String sqlCondition = "";
+
+ return sqlCondition;
+ }
+}
diff --git a/src/weaver/formmode/recruit/modeexpand/position/PositionRelatedStageExpand.java b/src/weaver/formmode/recruit/modeexpand/position/PositionRelatedStageExpand.java
new file mode 100644
index 0000000..da7f1bd
--- /dev/null
+++ b/src/weaver/formmode/recruit/modeexpand/position/PositionRelatedStageExpand.java
@@ -0,0 +1,68 @@
+package weaver.formmode.recruit.modeexpand.position;
+
+import com.engine.recruit.constant.ModeTable;
+import org.apache.commons.lang3.StringUtils;
+import weaver.conn.RecordSet;
+import weaver.formmode.customjavacode.AbstractModeExpandJavaCodeNew;
+import weaver.formmode.recruit.modeexpand.process.StageDataInsert;
+import weaver.general.BaseBean;
+import weaver.hrm.User;
+import weaver.soa.workflow.request.MainTableInfo;
+import weaver.soa.workflow.request.Property;
+import weaver.soa.workflow.request.RequestInfo;
+
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * 应聘职位关联招聘流程对应的招聘阶段
+ *
+ * @author:dxfeng
+ * @createTime: 2023/10/18
+ * @version: 1.0
+ */
+public class PositionRelatedStageExpand extends AbstractModeExpandJavaCodeNew {
+ @Override
+ public Map doModeExpand(Map param) {
+ Map result = new HashMap<>();
+ try {
+ String billId;
+ RequestInfo requestInfo = (RequestInfo) param.get("RequestInfo");
+ if (requestInfo != null) {
+ billId = requestInfo.getRequestid();
+ // 获取表单名称
+ MainTableInfo mainTableInfo = requestInfo.getMainTableInfo();
+ Property[] properties = mainTableInfo.getProperty();
+ Map mainDataMap = new HashMap<>();
+ for (Property property : properties) {
+ mainDataMap.put(property.getName(), property.getValue());
+ }
+ // 招聘流程
+ String zplc = mainDataMap.get("zplc");
+ if (StringUtils.isBlank(zplc)) {
+ // 未配置招聘流程,不做任何处理
+ return result;
+ }
+
+ RecordSet rs = new RecordSet();
+ rs.executeQuery("select ksjd, gcjd, jsjd from " + ModeTable.UF_JCL_ZPLC + " where id = ? ", zplc);
+ if (rs.next()) {
+ // 开始阶段
+ String ksjd = mainDataMap.get("ksjd");
+ // 过程阶段
+ String gcjd = mainDataMap.get("gcjd");
+ // 结束阶段
+ String jsjd = mainDataMap.get("jsjd");
+ // 查询所有的操作阶段信息
+ User user = (User) param.get("user");
+ StageDataInsert.relatedStageData(user.getUID(), billId, "ypzw", ksjd, gcjd, jsjd);
+ }
+ }
+ } catch (Exception e) {
+ new BaseBean().writeLog(e);
+ result.put("errmsg", e.getMessage());
+ result.put("flag", "false");
+ }
+ return result;
+ }
+}
diff --git a/src/weaver/formmode/recruit/modeexpand/process/RelatedStageModeExpand.java b/src/weaver/formmode/recruit/modeexpand/process/RelatedStageModeExpand.java
index 8c5a459..8caff3d 100644
--- a/src/weaver/formmode/recruit/modeexpand/process/RelatedStageModeExpand.java
+++ b/src/weaver/formmode/recruit/modeexpand/process/RelatedStageModeExpand.java
@@ -1,19 +1,14 @@
package weaver.formmode.recruit.modeexpand.process;
-import org.apache.commons.lang3.StringUtils;
-import weaver.common.DateUtil;
-import weaver.conn.RecordSet;
import weaver.formmode.customjavacode.AbstractModeExpandJavaCodeNew;
-import weaver.formmode.recruit.modeexpand.util.RecruitModeUtil;
-import weaver.formmode.setup.ModeRightInfo;
import weaver.general.BaseBean;
-import weaver.general.Util;
import weaver.hrm.User;
import weaver.soa.workflow.request.MainTableInfo;
import weaver.soa.workflow.request.Property;
import weaver.soa.workflow.request.RequestInfo;
-import java.util.*;
+import java.util.HashMap;
+import java.util.Map;
/**
* 聚才林招聘
@@ -25,9 +20,6 @@ import java.util.*;
* @version: 1.0
*/
public class RelatedStageModeExpand extends AbstractModeExpandJavaCodeNew {
- private static final String MODE_TABLE_NAME = "uf_jcl_zpjdsz";
- private static final String MODE_TABLE_NAME_DT1 = "uf_jcl_zpjdsz_dt1";
- private static final String MODE_TABLE_NAME_DT2 = "uf_jcl_zpjdsz_dt2";
@Override
public Map doModeExpand(Map param) {
@@ -52,131 +44,13 @@ public class RelatedStageModeExpand extends AbstractModeExpandJavaCodeNew {
String jsjd = mainDataMap.get("jsjd");
// 查询所有的操作阶段信息
User user = (User) param.get("user");
- relatedStageData(user.getUID(), billId, ksjd, gcjd, jsjd);
+ StageDataInsert.relatedStageData(user.getUID(), billId, "zplc", ksjd, gcjd, jsjd);
}
} catch (Exception e) {
new BaseBean().writeLog(e);
- result.put("errmsg", "完成需求操作失败");
+ result.put("errmsg", e.getMessage());
result.put("flag", "false");
}
return result;
}
-
- /**
- * 生成关联的招聘阶段数据
- *
- * @param creator 创建者ID
- * @param billId 当前数据ID
- * @param processIds 路程表单所选阶段ID
- */
- private void relatedStageData(int creator, String billId, String... processIds) {
- String dateTime = DateUtil.getFullDate();
- String[] dateSplit = dateTime.split(" ");
-
- List
+ * key忽略大小写
+ *
+ * @author:dxfeng
+ * @createTime: 2023/10/19
+ * @version: 1.0
+ */
+public class RecruitDataMap extends HashMap {
+ @Override
+ public V get(Object key) {
+ if (key instanceof String) {
+ // 将键转为小写形式再进行查找
+ return super.get(((String) key).toLowerCase());
+ }
+ return null;
+ }
+
+ @Override
+ public V put(String key, V value) {
+ // 将键转为小写形式后作为真正的键
+ return super.put(key.toLowerCase(), value);
+ }
+}
diff --git a/src/com/engine/recruit/conn/RecruitRecordSet.java b/src/com/engine/recruit/conn/RecruitRecordSet.java
new file mode 100644
index 0000000..3ab8691
--- /dev/null
+++ b/src/com/engine/recruit/conn/RecruitRecordSet.java
@@ -0,0 +1,56 @@
+package com.engine.recruit.conn;
+
+import org.apache.commons.lang3.StringUtils;
+import weaver.conn.RecordSet;
+import weaver.formmode.recruit.modeexpand.util.RecruitModeUtil;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @author:dxfeng
+ * @createTime: 2023/10/19
+ * @version: 1.0
+ */
+public class RecruitRecordSet {
+
+ /**
+ * 获取单个记录映射
+ *
+ * @param rs RecordSet
+ * @return
+ */
+ public static Map getSingleRecordMap(RecordSet rs) {
+ Map dataMap = new RecruitDataMap<>();
+ if (rs.next()) {
+ String[] columnNames = rs.getColumnName();
+ for (String columnName : columnNames) {
+ dataMap.put(columnName.toLowerCase(), RecruitModeUtil.parseBlankToNull(rs.getString(columnName)));
+ }
+ }
+ return dataMap;
+ }
+
+ /**
+ * 插入数据
+ *
+ * @param dataMap 数据集合
+ * @param tableName 表名
+ */
+ public static void insertData(Map dataMap, String tableName) {
+ List fieldList = new ArrayList<>();
+ List dataList = new ArrayList<>();
+ List paramList = new ArrayList<>();
+
+ dataMap.forEach((key, value) -> {
+ fieldList.add(key);
+ dataList.add(value);
+ paramList.add("?");
+ });
+ String insertSql = " insert into " + tableName + "(" + StringUtils.join(fieldList, ",") + ") values (" + StringUtils.join(paramList, ",") + ")";
+ RecordSet rs = new RecordSet();
+ rs.executeUpdate(insertSql, dataList);
+ }
+
+}
diff --git a/src/com/engine/recruit/service/impl/ApplicantResumeServiceImpl.java b/src/com/engine/recruit/service/impl/ApplicantResumeServiceImpl.java
index 7b70ea1..087612f 100644
--- a/src/com/engine/recruit/service/impl/ApplicantResumeServiceImpl.java
+++ b/src/com/engine/recruit/service/impl/ApplicantResumeServiceImpl.java
@@ -2,6 +2,7 @@ package com.engine.recruit.service.impl;
import cn.hutool.core.convert.Convert;
import com.engine.core.impl.Service;
+import com.engine.recruit.conn.RecruitRecordSet;
import com.engine.recruit.enums.ApplicantOperateEnum;
import com.engine.recruit.enums.ApplicationStatusEnum;
import com.engine.recruit.service.ApplicantResumeService;
@@ -174,11 +175,60 @@ public class ApplicantResumeServiceImpl extends Service implements ApplicantResu
rs.executeUpdate("update uf_jcl_yppc set gdyy = ?,gdxxyy = ? where id = ? ", gdyy, gdxxyy, id);
// 建模推送建模
archiveTalentPool(id, false);
-
+ // 更新应聘状态为已归档
+ rs.executeUpdate("update uf_jcl_yppc set zt = ? where id = ? ", ApplicationStatusEnum.ARCHIVED.getValue(), id);
}
} else {
returnMap.put("msg", "请至少选择一条数据");
}
+ } else if (ApplicantOperateEnum.REFERRAL.getOperateType().equals(operateType)) {
+ // 转推其他职位
+ String sourceId = Util.null2String(params.get("sourceId"));
+ String ypzw = Util.null2String(params.get("ypzw"));
+ String zplc = null;
+ rs.executeQuery("select zplc from uf_jcl_zp_zpzw where id = ?", ypzw);
+ if (rs.next()) {
+ zplc = rs.getString("zplc");
+ }
+
+ rs.executeQuery("select * from uf_jcl_yppc where id = ?", sourceId);
+ Map mainDataMap = RecruitRecordSet.getSingleRecordMap(rs);
+ // 构建新数据
+ mainDataMap.put("ypzw", ypzw);
+ mainDataMap.put("zplc", zplc);
+ mainDataMap.put("zpjd", null);
+ mainDataMap.put("dqypjd", null);
+ mainDataMap.put("zt", ApplicationStatusEnum.CANDIDATE.getValue());
+ buildBaseFields(mainDataMap);
+ String uuid = UUID.randomUUID().toString();
+ mainDataMap.put("modeuuid", uuid);
+ // 移除不需要插入的字段
+ mainDataMap.remove("id");
+ mainDataMap.remove("requestId");
+ mainDataMap.remove("form_biz_id");
+
+ // 插入数据
+ RecruitRecordSet.insertData(mainDataMap, "uf_jcl_yppc");
+ // 权限重构
+ rs.executeQuery("select id,formmodeid from uf_jcl_yppc where modeuuid='" + uuid + "'");
+ if (rs.next()) {
+ //建模数据的id
+ int targetId = Util.getIntValue(rs.getString("id"));
+ int formModeId = Util.getIntValue(rs.getString("formmodeid"));
+ ModeRightInfo modeRightInfo = new ModeRightInfo();
+ modeRightInfo.setNewRight(true);
+ //新建的时候添加共享
+ modeRightInfo.editModeDataShare(1, formModeId, targetId);
+
+ // 复制明细表数据
+ rs.executeUpdate("insert into uf_jcl_yppc_dt1 (mainid,xxmc,xl,zy,kssj,jssj) select ?,xxmc,xl,zy,kssj,jssj from uf_jcl_yppc_dt1 where mainid = ?", targetId, sourceId);
+ rs.executeUpdate("insert into uf_jcl_yppc_dt2 (mainid,gsmc,kssj,jssj,gw,sqyxk,lzyy,gzzz) select ?,gsmc,kssj,jssj,gw,sqyxk,lzyy,gzzz from uf_jcl_yppc_dt2 where mainid = ?", targetId, sourceId);
+ rs.executeUpdate("insert into uf_jcl_yppc_dt3 (mainid,xmmc,kssj,jssj,drjs,xmms) select ?,xmmc,kssj,jssj,drjs,xmms from uf_jcl_yppc_dt3 where mainid = ?", targetId, sourceId);
+ rs.executeUpdate("insert into uf_jcl_yppc_dt4 (mainid,yylx,zwcd) select ?,yylx,zwcd from uf_jcl_yppc_dt4 where mainid = ?", targetId, sourceId);
+
+ }
+
+
}
return returnMap;
}
@@ -192,7 +242,7 @@ public class ApplicantResumeServiceImpl extends Service implements ApplicantResu
try {
int docId = RecruitModeUtil.createDocId(secCategory, imageFileId, user);
// 更新原始简历信息,设置应聘状态未待分配
- rs.executeUpdate("update uf_jcl_yppc set ysjl=?,zt=? where id = ?", docId, 0, resumeId);
+ rs.executeUpdate("update uf_jcl_yppc set ysjl=?,zt=? where id = ?", docId, ApplicationStatusEnum.DISTRIBUTION.getValue(), resumeId);
} catch (Exception e) {
throw new RuntimeException(e);
@@ -299,12 +349,12 @@ public class ApplicantResumeServiceImpl extends Service implements ApplicantResu
* @param applicantId 应聘者ID
* @param joinBlacklist 是否加入黑名单
*/
- private void archiveTalentPool(String applicantId, boolean joinBlacklist) {
+ public void archiveTalentPool(String applicantId, boolean joinBlacklist) {
RecordSet rs = new RecordSet();
String name = "";
String mobile = "";
String talentPoolId = "";
- rs.executeQuery("select xm,sjhm from uf_jcl_yppc");
+ rs.executeQuery("select xm,sjhm from uf_jcl_yppc where id = ?", applicantId);
if (rs.next()) {
name = rs.getString("xm");
mobile = rs.getString("sjhm");
@@ -319,7 +369,6 @@ public class ApplicantResumeServiceImpl extends Service implements ApplicantResu
String insertSql = "insert into uf_jcl_rck (modeuuid, formmodeid, modedatacreater, modedatacreatedate, modedatacreatetime, modedatamodifier, modedatamodifydatetime, modedatacreatertype," +
"sfz,jlzp,zhypzw,ysjl,jlly,xm,xb,sjhm,dzyx,csrq,nl,zgxl,zgxw,byyx,zy,hyzk,gzjy,zzzt,dqszd,zhtdsj,cjr,zwpj,mz,jg,zzmm,sgcm,tzkg,gdjd,gdyy,gdxxyy,lstdcs,sfjrhmd)" +
" values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
- rs.executeQuery("select * from uf_jcl_yppc where id = ?", applicantId);
List mainDataList = new ArrayList<>();
String uuid = UUID.randomUUID().toString();
mainDataList.add(uuid);
@@ -331,6 +380,7 @@ public class ApplicantResumeServiceImpl extends Service implements ApplicantResu
mainDataList.add(formModeId);
// 构建建模表基本数据
buildBaseFields(mainDataList);
+ rs.executeQuery("select * from uf_jcl_yppc where id = ?", applicantId);
if (rs.next()) {
mainDataList.add(RecruitModeUtil.parseBlankToNull(rs.getString("sfz")));
mainDataList.add(RecruitModeUtil.parseBlankToNull(rs.getString("jlzp")));
@@ -378,6 +428,10 @@ public class ApplicantResumeServiceImpl extends Service implements ApplicantResu
// 删除人才库原来的数据
rs.executeUpdate("delete from uf_jcl_rck where id = ? ", talentPoolId);
+ rs.executeUpdate("delete from uf_jcl_rck_dt1 where mainid = ? ", talentPoolId);
+ rs.executeUpdate("delete from uf_jcl_rck_dt2 where mainid = ? ", talentPoolId);
+ rs.executeUpdate("delete from uf_jcl_rck_dt3 where mainid = ? ", talentPoolId);
+ rs.executeUpdate("delete from uf_jcl_rck_dt4 where mainid = ? ", talentPoolId);
}
/**
@@ -402,6 +456,22 @@ public class ApplicantResumeServiceImpl extends Service implements ApplicantResu
mainDataList.add("0");
}
+ /**
+ * 构建建模表基本数据
+ *
+ * @param mainDataMap 参数集合
+ */
+ private void buildBaseFields(Map mainDataMap) {
+ String dateTime = DateUtil.getFullDate();
+ String[] dateSplit = dateTime.split(" ");
+ mainDataMap.put("modedatacreater", user.getUID());
+ mainDataMap.put("modedatacreatedate", dateSplit[0]);
+ mainDataMap.put("modedatacreatetime", dateSplit[1]);
+ mainDataMap.put("modedatamodifier", user.getUID());
+ mainDataMap.put("modedatamodifydatetime", dateTime);
+ mainDataMap.put("modedatacreatertype", "0");
+ }
+
/**
* 权限重构
*
diff --git a/src/com/engine/recruit/service/impl/JoinBlacklistServiceImpl.java b/src/com/engine/recruit/service/impl/JoinBlacklistServiceImpl.java
index 9fb38f8..b852909 100644
--- a/src/com/engine/recruit/service/impl/JoinBlacklistServiceImpl.java
+++ b/src/com/engine/recruit/service/impl/JoinBlacklistServiceImpl.java
@@ -1,9 +1,18 @@
package com.engine.recruit.service.impl;
+import com.engine.common.util.ServiceUtil;
import com.engine.core.impl.Service;
+import com.engine.recruit.enums.ApplicationStatusEnum;
import com.engine.recruit.service.RecruitButtonService;
+import weaver.conn.RecordSet;
+import weaver.formmode.recruit.modeexpand.util.ApplicantCommonInfo;
+import weaver.formmode.recruit.modeexpand.util.RecruitModeUtil;
+import weaver.general.Util;
+import java.util.Arrays;
+import java.util.HashSet;
import java.util.Map;
+import java.util.Set;
/**
* 聚才林招聘
@@ -16,6 +25,46 @@ import java.util.Map;
public class JoinBlacklistServiceImpl extends Service implements RecruitButtonService {
@Override
public Map execute(Map params) {
+ // 当前应聘者ID
+ String billId = Util.null2String(params.get("billId"));
+ RecordSet rs = new RecordSet();
+
+ // 推人才表,建模推建模(更新人才表数据),是否加入黑名单字段值变更为“是”
+ ServiceUtil.getService(ApplicantResumeServiceImpl.class, user).archiveTalentPool(billId, true);
+
+ // 更新当前应聘者关联的所有简历状态为已淘汰
+ String name = "";
+ String mobile = "";
+ String positionId = "";
+ rs.executeQuery("select xm, sjhm, ypzw from uf_jcl_yppc where id = ? ", billId);
+ if (rs.next()) {
+ name = rs.getString("xm");
+ mobile = rs.getString("sjhm");
+ positionId = rs.getString("ypzw");
+ }
+ rs.executeUpdate("update uf_jcl_yppc set zt = ? where xm = ? and sjhm = ?", ApplicationStatusEnum.OBSOLETE.getValue(), name, mobile);
+
+ // 消息提醒当前人员简历的跟进者(应聘职位的负责人/协助人)
+ String messageType = RecruitModeUtil.getRecruitPropValue("RECRUIT_MESSAGE_TYPE");
+ String messageTitle = RecruitModeUtil.getRecruitPropValue("JOIN_BLACKLIST_MESSAGE_TITLE");
+ String applicantName = ApplicantCommonInfo.getApplicantName(billId);
+ String operatorName = RecruitModeUtil.getResourceNames(String.valueOf(user.getUID()));
+ String messageContent = "应聘者:【" + applicantName + "】,已被【" + operatorName + "】加入黑名单,相关投递已自动淘汰,请知悉。";
+
+ // 消息提醒当前人员简历的跟进者(应聘职位的负责人/协助人)
+ String zpzwfzr = "";
+ String zpxzr = "";
+ rs.executeQuery("select zpzwfzr , zpxzr from uf_jcl_zp_zpzw where id = ?", positionId);
+ if (rs.next()) {
+ zpzwfzr = rs.getString("zpzwfzr");
+ zpxzr = rs.getString("zpxzr");
+ }
+ Set userIdSet = new HashSet<>();
+ userIdSet.addAll(Arrays.asList(zpzwfzr.split(",")));
+ userIdSet.addAll(Arrays.asList(zpxzr.split(",")));
+ RecruitModeUtil.messagePush(messageType, messageTitle, messageContent, userIdSet, user.getUID());
+
return null;
}
+
}
diff --git a/src/weaver/formmode/recruit/modeexpand/entrymanager/AddEntryModeExpand.java b/src/weaver/formmode/recruit/modeexpand/entrymanager/AddEntryModeExpand.java
index f46c27a..c5569aa 100644
--- a/src/weaver/formmode/recruit/modeexpand/entrymanager/AddEntryModeExpand.java
+++ b/src/weaver/formmode/recruit/modeexpand/entrymanager/AddEntryModeExpand.java
@@ -1,7 +1,6 @@
package weaver.formmode.recruit.modeexpand.entrymanager;
import com.engine.recruit.enums.EntryStatusEnum;
-import org.apache.commons.lang3.StringUtils;
import weaver.conn.RecordSet;
import weaver.formmode.customjavacode.AbstractModeExpandJavaCodeNew;
import weaver.general.Util;
@@ -52,11 +51,11 @@ public class AddEntryModeExpand extends AbstractModeExpandJavaCodeNew {
return result;
}
}
- // 更新应聘者当前应聘阶段
- String dqypjd = Util.null2String(param.get("dqypjd"));
- if (StringUtils.isNotBlank(dqypjd)) {
- rs.executeUpdate("update uf_jcl_yppc set dqypjd = ? where id = ?", dqypjd, pcid);
- }
+ //// 更新应聘者当前应聘阶段
+ //String dqypjd = Util.null2String(param.get("dqypjd"));
+ //if (StringUtils.isNotBlank(dqypjd)) {
+ // rs.executeUpdate("update uf_jcl_yppc set dqypjd = ? where id = ?", dqypjd, pcid);
+ //}
}
}
} catch (Exception e) {
diff --git a/src/weaver/formmode/recruit/modeexpand/interview/BatchAddInterviewResultModeExpand.java b/src/weaver/formmode/recruit/modeexpand/interview/BatchAddInterviewResultModeExpand.java
index e814cdd..21a787e 100644
--- a/src/weaver/formmode/recruit/modeexpand/interview/BatchAddInterviewResultModeExpand.java
+++ b/src/weaver/formmode/recruit/modeexpand/interview/BatchAddInterviewResultModeExpand.java
@@ -38,7 +38,7 @@ public class BatchAddInterviewResultModeExpand extends AbstractModeExpandJavaCod
public BatchAddInterviewResultModeExpand() throws UnsupportedEncodingException {
super();
- messageType = RecruitModeUtil.getRecruitPropValue("INTERVIEW_MESSAGE_TYPE");
+ messageType = RecruitModeUtil.getRecruitPropValue("RECRUIT_MESSAGE_TYPE");
title = RecruitModeUtil.getRecruitPropValue("INTERVIEW_ADD_MESSAGE_TITLE");
}
diff --git a/src/weaver/formmode/recruit/modeexpand/interview/CreateInterviewModeExpand.java b/src/weaver/formmode/recruit/modeexpand/interview/CreateInterviewModeExpand.java
index d6cd277..59d7dc6 100644
--- a/src/weaver/formmode/recruit/modeexpand/interview/CreateInterviewModeExpand.java
+++ b/src/weaver/formmode/recruit/modeexpand/interview/CreateInterviewModeExpand.java
@@ -61,7 +61,7 @@ public class CreateInterviewModeExpand extends AbstractModeExpandJavaCodeNew {
InterviewOperateTypeEnum operateTypeEnum = InterviewOperateTypeEnum.getOperateType(operateType);
switch (operateTypeEnum) {
case ARRANGE:
- messageType = RecruitModeUtil.getRecruitPropValue("INTERVIEW_MESSAGE_TYPE");
+ messageType = RecruitModeUtil.getRecruitPropValue("RECRUIT_MESSAGE_TYPE");
title = RecruitModeUtil.getRecruitPropValue("INTERVIEW_ADD_MESSAGE_TITLE");
arrangeInterview(user, mainDataMap);
default:
diff --git a/src/weaver/formmode/recruit/modeexpand/interview/UpdateInterviewModeExpand.java b/src/weaver/formmode/recruit/modeexpand/interview/UpdateInterviewModeExpand.java
index 1fd9f4c..55f2467 100644
--- a/src/weaver/formmode/recruit/modeexpand/interview/UpdateInterviewModeExpand.java
+++ b/src/weaver/formmode/recruit/modeexpand/interview/UpdateInterviewModeExpand.java
@@ -63,13 +63,13 @@ public class UpdateInterviewModeExpand extends AbstractModeExpandJavaCodeNew {
switch (operateTypeEnum) {
case EVALUATE:
// 面试评价
- messageType = RecruitModeUtil.getRecruitPropValue("INTERVIEW_MESSAGE_TYPE");
+ messageType = RecruitModeUtil.getRecruitPropValue("RECRUIT_MESSAGE_TYPE");
title = RecruitModeUtil.getRecruitPropValue("INTERVIEW_EVALUATE_MESSAGE_TITLE");
evaluateInterview(params, requestInfo.getCreatorid(), mainDataMap);
break;
case CANCEL:
// 面试取消
- messageType = RecruitModeUtil.getRecruitPropValue("INTERVIEW_MESSAGE_TYPE");
+ messageType = RecruitModeUtil.getRecruitPropValue("RECRUIT_MESSAGE_TYPE");
title = RecruitModeUtil.getRecruitPropValue("INTERVIEW_CANCEL_MESSAGE_TITLE");
cancelInterView(params, requestInfo, billId, mainDataMap);
break;
diff --git a/src/weaver/formmode/recruit/modeexpand/position/ResumeSavedThread.java b/src/weaver/formmode/recruit/modeexpand/position/ResumeSavedThread.java
index 63002ac..ccc90ec 100644
--- a/src/weaver/formmode/recruit/modeexpand/position/ResumeSavedThread.java
+++ b/src/weaver/formmode/recruit/modeexpand/position/ResumeSavedThread.java
@@ -2,6 +2,7 @@ package weaver.formmode.recruit.modeexpand.position;
import cn.hutool.core.convert.Convert;
import com.engine.recruit.constant.ModeTable;
+import com.engine.recruit.enums.ApplicationStatusEnum;
import com.engine.recruit.enums.CommonBrowserTypeEnum;
import com.engine.recruit.enums.HighestDegreeEnum;
import com.weaver.rpa.sdk.clients.application.resume.ERPAResumeSDKClient;
@@ -78,7 +79,7 @@ public class ResumeSavedThread extends LocalRunnable {
// 千里聆简历ID
params.put("qlljl", resumeId);
// 状态,指定待分配
- params.put("zt", "0");
+ params.put("zt", ApplicationStatusEnum.DISTRIBUTION.getValue());
// 填充建模数据基本信息
int formModeId = ApplicantCommonInfo.getModeIdByTableName(ModeTable.UF_JCL_YPPC);
From 30d31e2fe53dd99f5039cb88b59e14a915ba6574 Mon Sep 17 00:00:00 2001
From: dxfeng
Date: Fri, 20 Oct 2023 09:46:18 +0800
Subject: [PATCH 4/4] =?UTF-8?q?=E5=8A=A0=E5=85=A5=E9=BB=91=E5=90=8D?=
=?UTF-8?q?=E5=8D=95?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../engine/recruit/conn/RecruitRecordSet.java | 17 +++
.../impl/ApplicantResumeServiceImpl.java | 124 +++++++-----------
.../impl/JoinBlacklistServiceImpl.java | 1 +
3 files changed, 63 insertions(+), 79 deletions(-)
diff --git a/src/com/engine/recruit/conn/RecruitRecordSet.java b/src/com/engine/recruit/conn/RecruitRecordSet.java
index 3ab8691..69a2037 100644
--- a/src/com/engine/recruit/conn/RecruitRecordSet.java
+++ b/src/com/engine/recruit/conn/RecruitRecordSet.java
@@ -1,6 +1,7 @@
package com.engine.recruit.conn;
import org.apache.commons.lang3.StringUtils;
+import weaver.common.DateUtil;
import weaver.conn.RecordSet;
import weaver.formmode.recruit.modeexpand.util.RecruitModeUtil;
@@ -53,4 +54,20 @@ public class RecruitRecordSet {
rs.executeUpdate(insertSql, dataList);
}
+ /**
+ * 构建建模表基本数据
+ *
+ * @param mainDataMap 参数集合
+ */
+ public static void buildModeBaseFields(Map mainDataMap, Object userId) {
+ String dateTime = DateUtil.getFullDate();
+ String[] dateSplit = dateTime.split(" ");
+ mainDataMap.put("modedatacreater", userId);
+ mainDataMap.put("modedatacreatedate", dateSplit[0]);
+ mainDataMap.put("modedatacreatetime", dateSplit[1]);
+ mainDataMap.put("modedatamodifier", userId);
+ mainDataMap.put("modedatamodifydatetime", dateTime);
+ mainDataMap.put("modedatacreatertype", "0");
+ }
+
}
diff --git a/src/com/engine/recruit/service/impl/ApplicantResumeServiceImpl.java b/src/com/engine/recruit/service/impl/ApplicantResumeServiceImpl.java
index 087612f..8522de7 100644
--- a/src/com/engine/recruit/service/impl/ApplicantResumeServiceImpl.java
+++ b/src/com/engine/recruit/service/impl/ApplicantResumeServiceImpl.java
@@ -2,12 +2,12 @@ package com.engine.recruit.service.impl;
import cn.hutool.core.convert.Convert;
import com.engine.core.impl.Service;
+import com.engine.recruit.conn.RecruitDataMap;
import com.engine.recruit.conn.RecruitRecordSet;
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.common.DateUtil;
import weaver.conn.RecordSet;
import weaver.formmode.recruit.modeexpand.util.RecruitModeUtil;
import weaver.formmode.setup.ModeRightInfo;
@@ -199,7 +199,7 @@ public class ApplicantResumeServiceImpl extends Service implements ApplicantResu
mainDataMap.put("zpjd", null);
mainDataMap.put("dqypjd", null);
mainDataMap.put("zt", ApplicationStatusEnum.CANDIDATE.getValue());
- buildBaseFields(mainDataMap);
+ RecruitRecordSet.buildModeBaseFields(mainDataMap, user.getUID());
String uuid = UUID.randomUUID().toString();
mainDataMap.put("modeuuid", uuid);
// 移除不需要插入的字段
@@ -366,63 +366,66 @@ public class ApplicantResumeServiceImpl extends Service implements ApplicantResu
}
// 推送建模主表数据
- String insertSql = "insert into uf_jcl_rck (modeuuid, formmodeid, modedatacreater, modedatacreatedate, modedatacreatetime, modedatamodifier, modedatamodifydatetime, modedatacreatertype," +
- "sfz,jlzp,zhypzw,ysjl,jlly,xm,xb,sjhm,dzyx,csrq,nl,zgxl,zgxw,byyx,zy,hyzk,gzjy,zzzt,dqszd,zhtdsj,cjr,zwpj,mz,jg,zzmm,sgcm,tzkg,gdjd,gdyy,gdxxyy,lstdcs,sfjrhmd)" +
- " values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
- List mainDataList = new ArrayList<>();
+ Map dataMap = new RecruitDataMap<>();
String uuid = UUID.randomUUID().toString();
- mainDataList.add(uuid);
+ dataMap.put("modeuuid", uuid);
int formModeId = -1;
rs.executeQuery("select id from modeinfo where formid =( select id from workflow_bill where tablename = 'uf_jcl_rck' )");
if (rs.next()) {
formModeId = rs.getInt("id");
}
- mainDataList.add(formModeId);
+ dataMap.put("formmodeid", formModeId);
// 构建建模表基本数据
- buildBaseFields(mainDataList);
+ RecruitRecordSet.buildModeBaseFields(dataMap, user.getUID());
rs.executeQuery("select * from uf_jcl_yppc where id = ?", applicantId);
if (rs.next()) {
- mainDataList.add(RecruitModeUtil.parseBlankToNull(rs.getString("sfz")));
- mainDataList.add(RecruitModeUtil.parseBlankToNull(rs.getString("jlzp")));
- mainDataList.add(RecruitModeUtil.parseBlankToNull(rs.getString("ypzw")));
- mainDataList.add(RecruitModeUtil.parseBlankToNull(rs.getString("ysjl")));
- mainDataList.add(RecruitModeUtil.parseBlankToNull(rs.getString("jlly")));
- mainDataList.add(RecruitModeUtil.parseBlankToNull(rs.getString("xm")));
- mainDataList.add(RecruitModeUtil.parseBlankToNull(rs.getString("xb")));
- mainDataList.add(RecruitModeUtil.parseBlankToNull(rs.getString("sjhm")));
- mainDataList.add(RecruitModeUtil.parseBlankToNull(rs.getString("dzyx")));
- mainDataList.add(RecruitModeUtil.parseBlankToNull(rs.getString("csrq")));
- mainDataList.add(RecruitModeUtil.parseBlankToNull(rs.getString("nl")));
- mainDataList.add(RecruitModeUtil.parseBlankToNull(rs.getString("zgxl")));
- mainDataList.add(RecruitModeUtil.parseBlankToNull(rs.getString("zgxw")));
- mainDataList.add(RecruitModeUtil.parseBlankToNull(rs.getString("byyx")));
- mainDataList.add(RecruitModeUtil.parseBlankToNull(rs.getString("zy")));
- mainDataList.add(RecruitModeUtil.parseBlankToNull(rs.getString("hyzk")));
- mainDataList.add(RecruitModeUtil.parseBlankToNull(rs.getString("gzjy")));
- mainDataList.add(RecruitModeUtil.parseBlankToNull(rs.getString("zzzt")));
- mainDataList.add(RecruitModeUtil.parseBlankToNull(rs.getString("dqszd")));
- mainDataList.add(RecruitModeUtil.parseBlankToNull(rs.getString("tdsj")));
- mainDataList.add(RecruitModeUtil.parseBlankToNull(rs.getString("cjr")));
- mainDataList.add(RecruitModeUtil.parseBlankToNull(rs.getString("zwpj")));
- mainDataList.add(RecruitModeUtil.parseBlankToNull(rs.getString("mz")));
- mainDataList.add(RecruitModeUtil.parseBlankToNull(rs.getString("jg")));
- mainDataList.add(RecruitModeUtil.parseBlankToNull(rs.getString("zzmm")));
- mainDataList.add(RecruitModeUtil.parseBlankToNull(rs.getString("sgcm")));
- mainDataList.add(RecruitModeUtil.parseBlankToNull(rs.getString("tzkg")));
+ dataMap.put("sfz", RecruitModeUtil.parseBlankToNull(rs.getString("sfz")));
+ dataMap.put("jlzp", RecruitModeUtil.parseBlankToNull(rs.getString("jlzp")));
+ dataMap.put("zhypzw", RecruitModeUtil.parseBlankToNull(rs.getString("ypzw")));
+ dataMap.put("ysjl", RecruitModeUtil.parseBlankToNull(rs.getString("ysjl")));
+ dataMap.put("jlly", RecruitModeUtil.parseBlankToNull(rs.getString("jlly")));
+ dataMap.put("xm", RecruitModeUtil.parseBlankToNull(rs.getString("xm")));
+ dataMap.put("xb", RecruitModeUtil.parseBlankToNull(rs.getString("xb")));
+ dataMap.put("sjhm", RecruitModeUtil.parseBlankToNull(rs.getString("sjhm")));
+ dataMap.put("dzyx", RecruitModeUtil.parseBlankToNull(rs.getString("dzyx")));
+ dataMap.put("csrq", RecruitModeUtil.parseBlankToNull(rs.getString("csrq")));
+ dataMap.put("nl", RecruitModeUtil.parseBlankToNull(rs.getString("nl")));
+ dataMap.put("zgxl", RecruitModeUtil.parseBlankToNull(rs.getString("zgxl")));
+ dataMap.put("zgxw", RecruitModeUtil.parseBlankToNull(rs.getString("zgxw")));
+ dataMap.put("byyx", RecruitModeUtil.parseBlankToNull(rs.getString("byyx")));
+ dataMap.put("zy", RecruitModeUtil.parseBlankToNull(rs.getString("zy")));
+ dataMap.put("hyzk", RecruitModeUtil.parseBlankToNull(rs.getString("hyzk")));
+ dataMap.put("gzjy", RecruitModeUtil.parseBlankToNull(rs.getString("gzjy")));
+ dataMap.put("zzzt", RecruitModeUtil.parseBlankToNull(rs.getString("zzzt")));
+ dataMap.put("dqszd", RecruitModeUtil.parseBlankToNull(rs.getString("dqszd")));
+ dataMap.put("zhtdsj", RecruitModeUtil.parseBlankToNull(rs.getString("tdsj")));
+ dataMap.put("cjr", RecruitModeUtil.parseBlankToNull(rs.getString("cjr")));
+ dataMap.put("zwpj", RecruitModeUtil.parseBlankToNull(rs.getString("zwpj")));
+ dataMap.put("mz", RecruitModeUtil.parseBlankToNull(rs.getString("mz")));
+ dataMap.put("jg", RecruitModeUtil.parseBlankToNull(rs.getString("jg")));
+ dataMap.put("zzmm", RecruitModeUtil.parseBlankToNull(rs.getString("zzmm")));
+ dataMap.put("sgcm", RecruitModeUtil.parseBlankToNull(rs.getString("sgcm")));
+ dataMap.put("tzkg", RecruitModeUtil.parseBlankToNull(rs.getString("tzkg")));
// 归档阶段
- mainDataList.add(null);
- mainDataList.add(RecruitModeUtil.parseBlankToNull(rs.getString("gdyy")));
- mainDataList.add(RecruitModeUtil.parseBlankToNull(rs.getString("gdxxyy")));
+ dataMap.put("gdjd", null);
+ dataMap.put("gdyy", RecruitModeUtil.parseBlankToNull(rs.getString("gdyy")));
+ dataMap.put("gdxxyy", RecruitModeUtil.parseBlankToNull(rs.getString("gdxxyy")));
}
// 历史投递次数
rs.executeQuery("select count(id) as num from uf_jcl_yppc where xm=? and sjhm =?", rs.getString("xm"), rs.getString("sjhm"));
if (rs.next()) {
- mainDataList.add(rs.getInt("num"));
+ dataMap.put("lstdcs", rs.getInt("num"));
}
// 是否加入黑名单
- mainDataList.add(joinBlacklist ? 0 : 1);
+ if (joinBlacklist) {
+ dataMap.put("sfjrhmd", 0);
+ // 归档原因黑名单
+ dataMap.put("gdyy", 16);
+ } else {
+ dataMap.put("sfjrhmd", 1);
+ }
- rs.executeUpdate(insertSql, mainDataList);
+ RecruitRecordSet.insertData(dataMap, "uf_jcl_rck");
refreshRight(uuid, formModeId, applicantId);
@@ -434,43 +437,6 @@ public class ApplicantResumeServiceImpl extends Service implements ApplicantResu
rs.executeUpdate("delete from uf_jcl_rck_dt4 where mainid = ? ", talentPoolId);
}
- /**
- * 构建建模表基本数据
- *
- * @param mainDataList 参数集合
- */
- private void buildBaseFields(List mainDataList) {
- String dateTime = DateUtil.getFullDate();
- String[] dateSplit = dateTime.split(" ");
- // modedatacreater
- mainDataList.add(user.getUID());
- // modedatacreatedate
- mainDataList.add(dateSplit[0]);
- // modedatacreatetime
- mainDataList.add(dateSplit[1]);
- // modedatamodifier
- mainDataList.add(user.getUID());
- // modedatamodifydatetime
- mainDataList.add(dateTime);
- // modedatacreatertype
- mainDataList.add("0");
- }
-
- /**
- * 构建建模表基本数据
- *
- * @param mainDataMap 参数集合
- */
- private void buildBaseFields(Map mainDataMap) {
- String dateTime = DateUtil.getFullDate();
- String[] dateSplit = dateTime.split(" ");
- mainDataMap.put("modedatacreater", user.getUID());
- mainDataMap.put("modedatacreatedate", dateSplit[0]);
- mainDataMap.put("modedatacreatetime", dateSplit[1]);
- mainDataMap.put("modedatamodifier", user.getUID());
- mainDataMap.put("modedatamodifydatetime", dateTime);
- mainDataMap.put("modedatacreatertype", "0");
- }
/**
* 权限重构
diff --git a/src/com/engine/recruit/service/impl/JoinBlacklistServiceImpl.java b/src/com/engine/recruit/service/impl/JoinBlacklistServiceImpl.java
index b852909..2fd495b 100644
--- a/src/com/engine/recruit/service/impl/JoinBlacklistServiceImpl.java
+++ b/src/com/engine/recruit/service/impl/JoinBlacklistServiceImpl.java
@@ -42,6 +42,7 @@ public class JoinBlacklistServiceImpl extends Service implements RecruitButtonSe
mobile = rs.getString("sjhm");
positionId = rs.getString("ypzw");
}
+ // 更新当前应聘者关联的所有简历状态为已淘汰
rs.executeUpdate("update uf_jcl_yppc set zt = ? where xm = ? and sjhm = ?", ApplicationStatusEnum.OBSOLETE.getValue(), name, mobile);
// 消息提醒当前人员简历的跟进者(应聘职位的负责人/协助人)