归档人才库操作

美之高
dxfeng 6 months ago
parent dc2164c49a
commit 5cd47c7ae3

@ -1,11 +1,18 @@
package com.engine.mzg.conn;
import com.engine.mzg.entity.SyncTableField;
import com.engine.mzg.exception.CustomizeRunTimeException;
import com.engine.mzg.util.RecruitUtil;
import com.weaver.formmodel.data.model.Formfield;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import weaver.conn.RecordSet;
import weaver.formmode.IgnoreCaseHashMap;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.UUID;
/**
* @author:dxfeng
@ -39,11 +46,11 @@ public class RecruitCommon {
public static String getSettingValue(String key, Map<String, Formfield> fieldMap, Map<String, Object> paramsData) {
RecordSet rs = new RecordSet();
rs.executeQuery("select pzz from uf_recruit_setting where pzx = ? ", key);
String content= "";
String content = "";
if (rs.next()) {
content = rs.getString("pzz");
}
if(StringUtils.isNotBlank(content)){
if (StringUtils.isNotBlank(content)) {
content = RecruitUtil.getMsgReplaceStr(content, fieldMap, paramsData);
}
return content;
@ -99,5 +106,122 @@ public class RecruitCommon {
return cancelReason;
}
public static String insertTablesData(String targetTable, String sourceTable, String sourceId, String relatedField, int creator) {
RecordSet rs = new RecordSet();
String mainId = "";
rs.executeQuery("select * from uf_recruit_table where target_table = ? and source_table =? ", targetTable, sourceTable);
String mainTableId = "";
if (rs.next()) {
mainTableId = rs.getString("id");
}
if (StringUtils.isNotBlank(mainTableId)) {
// 查询配置的字段,更新或者插入数据
List<SyncTableField> fields = getSyncTableFields(mainTableId);
rs.executeQuery("select * from " + sourceTable + " where id = ? ", sourceId);
IgnoreCaseHashMap<String, String> buildDataMap = new IgnoreCaseHashMap<>();
if (rs.next()) {
for (SyncTableField field : fields) {
String value = RecruitUtil.parseBlankToNull(rs.getString(field.getSourceField()));
if (StringUtils.isNotBlank(value)) {
buildDataMap.put(field.getTargetField(), value);
}
}
// 新增
String uuid = UUID.randomUUID().toString();
buildDataMap.put("modeuuid", uuid);
int formModeId = RecruitCommon.getModeIdByTableName(targetTable);
buildDataMap.put("formmodeid", formModeId);
// 构建建模表基本数据
if (StringUtils.isNotBlank(relatedField)) {
// 设置关联字段
buildDataMap.put(relatedField, sourceId);
}
RecruitRecordSet.buildModeInsertFields(buildDataMap, creator);
RecruitRecordSet.insertData(buildDataMap, targetTable);
mainId = String.valueOf(RecruitRecordSet.refreshRight(uuid, targetTable, formModeId, creator));
}
}
return mainId;
}
public static void updateTablesData(String targetTable, String sourceTable, String sourceId, String targetId, String relatedField, int creator) {
RecordSet rs = new RecordSet();
rs.executeQuery("select * from uf_recruit_table where target_table = ? and source_table =? ", targetTable, sourceTable);
String mainTableId = "";
if (rs.next()) {
mainTableId = rs.getString("id");
}
if (StringUtils.isNotBlank(mainTableId)) {
// 查询配置的字段,更新或者插入数据
List<SyncTableField> fields = getSyncTableFields(mainTableId);
rs.executeQuery("select * from " + sourceTable + " where id = ? ", sourceId);
IgnoreCaseHashMap<String, String> buildDataMap = new IgnoreCaseHashMap<>();
if (rs.next()) {
for (SyncTableField field : fields) {
String value = RecruitUtil.parseBlankToNull(rs.getString(field.getSourceField()));
if (StringUtils.isNotBlank(value)) {
buildDataMap.put(field.getTargetField(), value);
}
}
if (StringUtils.isNotBlank(relatedField)) {
// 设置关联字段
buildDataMap.put(relatedField, sourceId);
}
// 更新
buildDataMap.put("id", targetId);
RecruitRecordSet.buildModeUpdateFields(buildDataMap, creator);
RecruitRecordSet.updateDataById(buildDataMap, targetTable);
}
}
}
private static void syncDetailTablesData(String targetTable, String sourceTable, String sourceId, RecordSet rs, String mainId) {
IgnoreCaseHashMap<String, String> buildDataMap;
String mainTableId;
rs.executeQuery("select * from uf_recruit_table where source_table like '" + sourceTable + "_dt%' and target_table like '" + targetTable + "_dt%' ");
while (rs.next()) {
mainTableId = rs.getString("id");
String sourceDetailTable = rs.getString("source_table");
String targetDetailTable = rs.getString("target_table");
List<SyncTableField> syncTableFields = getSyncTableFields(mainTableId);
// 删除明细表数据
RecordSet recordSet = new RecordSet();
recordSet.executeUpdate(" delete from " + targetDetailTable + " where mainid = ?", mainId);
recordSet.executeQuery("select * from " + sourceDetailTable + " where mainid = ? ", sourceId);
while (recordSet.next()) {
buildDataMap = new IgnoreCaseHashMap<>();
buildDataMap.put("mainid", mainId);
for (SyncTableField field : syncTableFields) {
String value = RecruitUtil.parseBlankToNull(recordSet.getString(field.getSourceField()));
if (StringUtils.isNotBlank(value)) {
buildDataMap.put(field.getTargetField(), value);
}
}
RecruitRecordSet.insertData(buildDataMap, targetDetailTable);
}
}
}
/**
*
*
* @param mainTableId
* @return
*/
public static List<SyncTableField> getSyncTableFields(String mainTableId) {
RecordSet rs = new RecordSet();
rs.executeQuery("select * from uf_recruit_table_dt1 where mainid = ? ", mainTableId);
List<SyncTableField> fields = new ArrayList<>();
while (rs.next()) {
fields.add(SyncTableField.builder().sourceField(rs.getString("source_field")).targetField(rs.getString("target_field")).build());
}
if (CollectionUtils.isEmpty(fields)) {
throw new CustomizeRunTimeException("数据同步配置异常,请检查配置");
}
return fields;
}
}

@ -7,14 +7,16 @@ import com.engine.mzg.entity.SyncTableField;
import com.engine.mzg.exception.CustomizeRunTimeException;
import com.engine.mzg.service.RecruitMobileService;
import com.engine.mzg.util.RecruitUtil;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import weaver.conn.RecordSet;
import weaver.formmode.IgnoreCaseHashMap;
import weaver.formmode.mzg.modeexpand.disc.AddDiscExpand;
import weaver.general.Util;
import java.util.*;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.UUID;
import java.util.regex.Matcher;
/**
@ -86,7 +88,7 @@ public class RecruitMobileServiceImpl extends Service implements RecruitMobileSe
}
if (StringUtils.isNotBlank(mainTableId)) {
// 查询配置的字段,更新或者插入数据
List<SyncTableField> fields = getSyncTableFields(mainTableId);
List<SyncTableField> fields = RecruitCommon.getSyncTableFields(mainTableId);
rs.executeQuery("select * from " + sourceTable + " where id = ? ", billId);
IgnoreCaseHashMap<String, String> buildDataMap = new IgnoreCaseHashMap<>();
if (rs.next()) {
@ -119,6 +121,7 @@ public class RecruitMobileServiceImpl extends Service implements RecruitMobileSe
} else {
// 更新
buildDataMap.put("id", msId);
RecruitRecordSet.buildModeUpdateFields(buildDataMap, 1);
RecruitRecordSet.updateDataById(buildDataMap, targetTable);
}
}
@ -129,7 +132,7 @@ public class RecruitMobileServiceImpl extends Service implements RecruitMobileSe
mainTableId = rs.getString("id");
String sourceDetailTable = rs.getString("source_table");
String targetDetailTable = rs.getString("target_table");
List<SyncTableField> syncTableFields = getSyncTableFields(mainTableId);
List<SyncTableField> syncTableFields = RecruitCommon.getSyncTableFields(mainTableId);
// 删除明细表数据
RecordSet recordSet = new RecordSet();
@ -215,24 +218,7 @@ public class RecruitMobileServiceImpl extends Service implements RecruitMobileSe
return returnMap;
}
/**
*
*
* @param mainTableId
* @return
*/
private static List<SyncTableField> getSyncTableFields(String mainTableId) {
RecordSet rs = new RecordSet();
rs.executeQuery("select * from uf_recruit_table_dt1 where mainid = ? ", mainTableId);
List<SyncTableField> fields = new ArrayList<>();
while (rs.next()) {
fields.add(SyncTableField.builder().sourceField(rs.getString("source_field")).targetField(rs.getString("target_field")).build());
}
if (CollectionUtils.isEmpty(fields)) {
throw new CustomizeRunTimeException("数据同步配置异常,请检查配置");
}
return fields;
}
/**
*
@ -260,7 +246,7 @@ public class RecruitMobileServiceImpl extends Service implements RecruitMobileSe
}
if (StringUtils.isNotBlank(mainTableId)) {
// 查询配置的字段,更新或者插入数据
List<SyncTableField> fields = getSyncTableFields(mainTableId);
List<SyncTableField> fields = RecruitCommon.getSyncTableFields(mainTableId);
rs.executeQuery("select * from " + sourceTable + " where id = ? ", msId);
IgnoreCaseHashMap<String, String> buildDataMap = new IgnoreCaseHashMap<>();
if (rs.next()) {
@ -291,7 +277,7 @@ public class RecruitMobileServiceImpl extends Service implements RecruitMobileSe
mainTableId = rs.getString("id");
String sourceDetailTable = rs.getString("source_table");
String targetDetailTable = rs.getString("target_table");
List<SyncTableField> syncTableFields = getSyncTableFields(mainTableId);
List<SyncTableField> syncTableFields = RecruitCommon.getSyncTableFields(mainTableId);
// 删除明细表数据
RecordSet recordSet = new RecordSet();

@ -0,0 +1,47 @@
package weaver.formmode.mzg.modeexpand.resume;
import com.engine.mzg.conn.RecruitCommon;
import weaver.conn.RecordSet;
import weaver.formmode.customjavacode.AbstractModeExpandJavaCodeNew;
import weaver.hrm.User;
import weaver.soa.workflow.request.RequestInfo;
import java.util.HashMap;
import java.util.Map;
/**
* @author:dxfeng
* @createTime: 2024/10/11
* @version: 1.0
*/
public class ArchiveTalentPoolExpand extends AbstractModeExpandJavaCodeNew {
@Override
public Map<String, String> doModeExpand(Map<String, Object> param) {
Map<String, String> result = new HashMap<>();
RecordSet rs = new RecordSet();
try {
String billId;
RequestInfo requestInfo = (RequestInfo) param.get("RequestInfo");
if (requestInfo != null) {
User user = (User) param.get("user");
billId = requestInfo.getRequestid();
// 查询人才库中是否有该数据
rs.executeQuery("select id from uf_recruit_rck where jlkid = ?", billId);
String rckId = "";
if (rs.next()) {
rckId = rs.getString("id");
// 更新人才库
RecruitCommon.updateTablesData("uf_recruit_rck", "uf_recruit_resume", billId, rckId, "jlkid", user.getUID());
} else {
// 插入人才库
RecruitCommon.insertTablesData("uf_recruit_rck", "uf_recruit_resume",billId,"jlkid",user.getUID());
}
}
} catch (Exception e) {
rs.writeLog(e);
result.put("errmsg", e.getMessage());
result.put("flag", "false");
}
return result;
}
}

@ -109,18 +109,6 @@ public class InterviewCompletedAction implements Action {
dataMap.put("gw", xqgw);
// 工作地点
dataMap.put("gzdd", gzddStr);
//// 试用期税前
//dataMap.put("syqsq", "");
//// 转正税前
//dataMap.put("zzsq", "");
//// 年限
//dataMap.put("nx", "");
//// 试用期期限
//dataMap.put("syqqx", "");
//// 工作时间
//dataMap.put("gzsj", "");
//// 报道日期
//dataMap.put("bdrq", "");
// 插入数据
RecruitRecordSet.insertData(dataMap, tableName);

Loading…
Cancel
Save