From 37ccf7888df9451ff8d739bd8cb5ebc68c2c394b Mon Sep 17 00:00:00 2001 From: dxfeng Date: Thu, 19 Sep 2024 16:00:48 +0800 Subject: [PATCH] =?UTF-8?q?=E8=83=8C=E8=B0=83=E7=BB=93=E6=9E=9C=E5=8F=8D?= =?UTF-8?q?=E9=A6=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mzg/modeexpand/back/FeedbackExpand.java | 123 ++++++++++++++++++ 1 file changed, 123 insertions(+) create mode 100644 src/weaver/formmode/mzg/modeexpand/back/FeedbackExpand.java diff --git a/src/weaver/formmode/mzg/modeexpand/back/FeedbackExpand.java b/src/weaver/formmode/mzg/modeexpand/back/FeedbackExpand.java new file mode 100644 index 0000000..f549e0f --- /dev/null +++ b/src/weaver/formmode/mzg/modeexpand/back/FeedbackExpand.java @@ -0,0 +1,123 @@ +package weaver.formmode.mzg.modeexpand.back; + +import com.engine.mzg.conn.RecruitCommon; +import com.engine.mzg.conn.RecruitRecordSet; +import com.engine.mzg.exception.CustomizeRunTimeException; +import org.apache.commons.lang3.StringUtils; +import weaver.conn.RecordSet; +import weaver.formmode.IgnoreCaseHashMap; +import weaver.formmode.customjavacode.AbstractModeExpandJavaCodeNew; +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.HashMap; +import java.util.Map; +import java.util.UUID; + +/** + * 背调结果为“通过”,生成offer台账数据 + *

+ * 背调结果为“不通过”,招聘终止(逻辑同面试招聘终止) + * + * @author:dxfeng + * @createTime: 2024/09/19 + * @version: 1.0 + */ +public class FeedbackExpand extends AbstractModeExpandJavaCodeNew { + @Override + public Map doModeExpand(Map param) { + Map result = new HashMap<>(); + RecordSet rs = new RecordSet(); + try { + String recruitType = Util.null2String(param.get("recruitType")); + if (!"feedback".equals(recruitType)) { + return result; + } + RequestInfo requestInfo = (RequestInfo) param.get("RequestInfo"); + if (requestInfo != null) { + User user = (User) param.get("user"); + IgnoreCaseHashMap mainDataMap = new IgnoreCaseHashMap<>(); + MainTableInfo mainTableInfo = requestInfo.getMainTableInfo(); + Property[] properties = mainTableInfo.getProperty(); + for (Property property : properties) { + mainDataMap.put(property.getName(), property.getValue()); + } + + String bbdr = Util.null2String(mainDataMap.get("bbdr")); + String bdjg = Util.null2String(mainDataMap.get("bdjg")); + if (StringUtils.isBlank(bdjg)) { + result.put("errmsg", "背调结果为空"); + result.put("flag", "false"); + return result; + } + rs.executeQuery("select id,mslcid ,sqzw from uf_recruit_ms where id = ?", bbdr); + String msId = ""; + String sqzw = ""; + String mslcid = ""; + if (rs.next()) { + msId = rs.getString("id"); + sqzw = rs.getString("sqzw"); + mslcid = rs.getString("mslcid"); + } + + if (StringUtils.isAnyBlank(msId, sqzw, mslcid)) { + throw new CustomizeRunTimeException("面试数据异常,请联系管理员"); + } + + if ("0".equals(bdjg)) { + // 背调结果为“通过”,生成offer台账数据 + rs.executeQuery("select * from uf_recruit_zpxqglb where id = ?", sqzw); + IgnoreCaseHashMap recordMap = RecruitRecordSet.getSingleRecordMap(rs); + if (recordMap.isEmpty()) { + throw new CustomizeRunTimeException("未获取到招聘职位数据"); + } + String xqgw = Util.null2String(recordMap.get("xqgw")); + String gzdd = Util.null2String(recordMap.get("gzdd")); + String qtgzdd = Util.null2String(recordMap.get("qtgzdd")); + int zpxqFormId = RecruitCommon.getModeIdByTableName("uf_recruit_zpxqglb"); + String gzddStr = RecruitCommon.getSelectName(String.valueOf(zpxqFormId), "gzdd", gzdd); + if (StringUtils.isNotBlank(qtgzdd)) { + gzddStr = qtgzdd; + } + + + // 创建offer + String tableName = "uf_recruit_lytzs"; + IgnoreCaseHashMap dataMap = new IgnoreCaseHashMap<>(); + String uuid = UUID.randomUUID().toString(); + dataMap.put("modeuuid", uuid); + int formModeId = RecruitCommon.getModeIdByTableName(tableName); + dataMap.put("formmodeid", formModeId); + // 构建建模表基本数据 + RecruitRecordSet.buildModeInsertFields(dataMap, user.getUID()); + // 姓名 + dataMap.put("xm", bbdr); + // 岗位 + dataMap.put("gw", xqgw); + // 工作地点 + dataMap.put("gzdd", gzddStr); + + // 插入数据 + RecruitRecordSet.insertData(dataMap, tableName); + RecruitRecordSet.refreshRight(uuid, tableName, formModeId, user.getUID()); + } else { + // 背调结果为“不通过”,招聘终止(逻辑同面试招聘终止) + // 更新流程、建模状态 + rs.executeUpdate("update uf_recruit_ms set mszt = ? where id = ?", "2", msId); + // 获取流程表名 + String flowTableInterview = RecruitCommon.getSettingValue("FLOW_TABLE_INTERVIEW"); + rs.executeUpdate("update " + flowTableInterview + " set mszt = ? where requestId = ? ", "2", mslcid); + } + + } + } catch (Exception e) { + rs.writeLog(e); + result.put("errmsg", e.getMessage()); + result.put("flag", "false"); + } + return result; + } +}