generated from dxfeng/secondev-chapanda-feishu
招聘职位关联招聘阶段信息
This commit is contained in:
parent
2a62e2d42d
commit
59f7fe1125
|
|
@ -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";
|
||||
|
||||
|
||||
/**
|
||||
* 获取明细表表名
|
||||
|
|
|
|||
|
|
@ -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<String, Object> param) throws Exception {
|
||||
User user = (User)param.get("user");
|
||||
Object extensionParam = param.get("extensionParam");//其他参数
|
||||
HashMap<String,Object> extensionMap = (HashMap<String,Object>)extensionParam;
|
||||
|
||||
//获取参数示例 "min" 只是示例 需要根据自己传入的参数名获取
|
||||
//String min = (String)extensionMap.get("min");
|
||||
|
||||
String sqlCondition = "";
|
||||
|
||||
return sqlCondition;
|
||||
}
|
||||
}
|
||||
|
|
@ -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<String, String> doModeExpand(Map<String, Object> param) {
|
||||
Map<String, String> 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<String, String> 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;
|
||||
}
|
||||
}
|
||||
|
|
@ -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;
|
||||
|
||||
/**
|
||||
* <p>聚才林招聘</p>
|
||||
|
|
@ -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<String, String> doModeExpand(Map<String, Object> 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<Object> paramsList = new ArrayList<>();
|
||||
// modedatacreater
|
||||
paramsList.add(creator);
|
||||
// modedatacreatedate
|
||||
paramsList.add(dateSplit[0]);
|
||||
// modedatacreatetime
|
||||
paramsList.add(dateSplit[1]);
|
||||
// modedatamodifier
|
||||
paramsList.add(creator);
|
||||
// modedatamodifydatetime
|
||||
paramsList.add(dateTime);
|
||||
// modedatacreatertype
|
||||
paramsList.add("0");
|
||||
|
||||
String processIdsStr = StringUtils.join(Arrays.asList(processIds), ",");
|
||||
String insertSql = "insert into " + MODE_TABLE_NAME + " (modeuuid, modedatacreater, modedatacreatedate, modedatacreatetime, modedatamodifier, modedatamodifydatetime, modedatacreatertype, formmodeid, jdmc, jdms, jdlx, hj, sfqy, zssx, zpjd, zplc) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
|
||||
if (StringUtils.isNotBlank(processIdsStr)) {
|
||||
insertMainTableData(billId, processIdsStr, insertSql, paramsList);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 插入主表数据
|
||||
*
|
||||
* @param billId 招聘流程表单ID
|
||||
* @param processIdsStr 招聘阶段ID
|
||||
* @param insertSql 插入SQL语句
|
||||
* @param paramsList 待插入参数集合
|
||||
*/
|
||||
private void insertMainTableData(String billId, String processIdsStr, String insertSql, List<Object> paramsList) {
|
||||
RecordSet rs = new RecordSet();
|
||||
rs.executeQuery("select * from uf_jcl_zpjdsz where id in (" + processIdsStr + ") order by hj,zssx");
|
||||
while (rs.next()) {
|
||||
String uuid = UUID.randomUUID().toString();
|
||||
ArrayList<Object> insertList = new ArrayList<>(paramsList);
|
||||
insertList.add(0, uuid);
|
||||
String formModeId = rs.getString("formmodeid");
|
||||
insertList.add(formModeId);
|
||||
insertList.add(RecruitModeUtil.parseBlankToNull(rs.getString("jdmc")));
|
||||
insertList.add(RecruitModeUtil.parseBlankToNull(rs.getString("jdms")));
|
||||
insertList.add(RecruitModeUtil.parseBlankToNull(rs.getString("jdlx")));
|
||||
insertList.add(RecruitModeUtil.parseBlankToNull(rs.getString("hj")));
|
||||
insertList.add(RecruitModeUtil.parseBlankToNull(rs.getString("sfqy")));
|
||||
insertList.add(RecruitModeUtil.parseBlankToNull(rs.getString("zssx")));
|
||||
// zpjd
|
||||
insertList.add(RecruitModeUtil.parseBlankToNull(rs.getString("id")));
|
||||
// zplc
|
||||
insertList.add(RecruitModeUtil.parseBlankToNull(billId));
|
||||
// 插入主表数据
|
||||
rs.executeUpdate(insertSql, insertList);
|
||||
refreshRight(uuid, formModeId, rs.getString("id"));
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 权限重构,插入明细表数据
|
||||
*
|
||||
* @param uuid UUID
|
||||
* @param formModeId formModeId
|
||||
*/
|
||||
private void refreshRight(String uuid, String formModeId, String processId) {
|
||||
RecordSet rs = new RecordSet();
|
||||
rs.executeQuery("select id from " + MODE_TABLE_NAME + " where modeuuid='" + uuid + "'");
|
||||
if (rs.next()) {
|
||||
//建模数据的id
|
||||
String bid = rs.getString("id");
|
||||
ModeRightInfo modeRightInfo = new ModeRightInfo();
|
||||
modeRightInfo.setNewRight(true);
|
||||
//新建的时候添加共享
|
||||
modeRightInfo.editModeDataShare(1, Util.getIntValue(formModeId), Util.getIntValue(bid));
|
||||
|
||||
// 插入明细表数据
|
||||
rs.executeQuery("select * from " + MODE_TABLE_NAME_DT1 + " where mainid = ? ", processId);
|
||||
List<List<Object>> insertList = new ArrayList<>();
|
||||
while (rs.next()) {
|
||||
List<Object> paramList = new ArrayList<>();
|
||||
// mainid
|
||||
paramList.add(bid);
|
||||
paramList.add(RecruitModeUtil.parseBlankToNull(rs.getString("czan")));
|
||||
paramList.add(RecruitModeUtil.parseBlankToNull(rs.getString("zdyxsmc")));
|
||||
paramList.add(RecruitModeUtil.parseBlankToNull(rs.getString("sfqy")));
|
||||
paramList.add(RecruitModeUtil.parseBlankToNull(rs.getString("tzymbt")));
|
||||
paramList.add(RecruitModeUtil.parseBlankToNull(rs.getString("tzymdz")));
|
||||
paramList.add(RecruitModeUtil.parseBlankToNull(rs.getString("zssx")));
|
||||
insertList.add(paramList);
|
||||
}
|
||||
for (List<Object> list : insertList) {
|
||||
rs.executeUpdate("insert into " + MODE_TABLE_NAME_DT1 + " (mainid, czan, zdyxsmc, sfqy, tzymbt, tzymdz, zssx) values (?, ?, ?, ?, ?, ?, ?)", list);
|
||||
}
|
||||
|
||||
insertList = new ArrayList<>();
|
||||
rs.executeQuery("select * from " + MODE_TABLE_NAME_DT2 + " where mainid = ? ", processId);
|
||||
while (rs.next()) {
|
||||
List<Object> paramList = new ArrayList<>();
|
||||
// mainid
|
||||
paramList.add(bid);
|
||||
paramList.add(RecruitModeUtil.parseBlankToNull(rs.getString("ymbt")));
|
||||
paramList.add(RecruitModeUtil.parseBlankToNull(rs.getString("ymdz")));
|
||||
paramList.add(RecruitModeUtil.parseBlankToNull(rs.getString("zssx")));
|
||||
insertList.add(paramList);
|
||||
}
|
||||
for (List<Object> list : insertList) {
|
||||
rs.executeUpdate("insert into " + MODE_TABLE_NAME_DT2 + " (mainid, ymbt, ymdz, zssx) values (?, ?, ?, ?)", list);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,139 @@
|
|||
package weaver.formmode.recruit.modeexpand.process;
|
||||
|
||||
import com.engine.recruit.constant.ModeTable;
|
||||
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;
|
||||
import weaver.general.Util;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
* @author:dxfeng
|
||||
* @createTime: 2023/10/18
|
||||
* @version: 1.0
|
||||
*/
|
||||
public class StageDataInsert {
|
||||
/**
|
||||
* 生成关联的招聘阶段数据
|
||||
*
|
||||
* @param creator 创建者ID
|
||||
* @param billId 当前数据ID
|
||||
* @param processIds 路程表单所选阶段ID
|
||||
*/
|
||||
public static void relatedStageData(int creator, String billId, String relateField, String... processIds) {
|
||||
String dateTime = DateUtil.getFullDate();
|
||||
String[] dateSplit = dateTime.split(" ");
|
||||
|
||||
List<Object> paramsList = new ArrayList<>();
|
||||
// modedatacreater
|
||||
paramsList.add(creator);
|
||||
// modedatacreatedate
|
||||
paramsList.add(dateSplit[0]);
|
||||
// modedatacreatetime
|
||||
paramsList.add(dateSplit[1]);
|
||||
// modedatamodifier
|
||||
paramsList.add(creator);
|
||||
// modedatamodifydatetime
|
||||
paramsList.add(dateTime);
|
||||
// modedatacreatertype
|
||||
paramsList.add("0");
|
||||
|
||||
String processIdsStr = StringUtils.join(Arrays.asList(processIds), ",");
|
||||
String insertSql = "insert into " + ModeTable.UF_JCL_ZPJDSZ + " (modeuuid, modedatacreater, modedatacreatedate, modedatacreatetime, modedatamodifier, modedatamodifydatetime, modedatacreatertype, formmodeid, jdmc, jdms, jdlx, hj, sfqy, zssx, zpjd, " + relateField + ") values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
|
||||
if (StringUtils.isNotBlank(processIdsStr)) {
|
||||
insertMainTableData(billId, processIdsStr, insertSql, paramsList);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 插入主表数据
|
||||
*
|
||||
* @param billId 招聘流程表单ID
|
||||
* @param processIdsStr 招聘阶段ID
|
||||
* @param insertSql 插入SQL语句
|
||||
* @param paramsList 待插入参数集合
|
||||
*/
|
||||
private static void insertMainTableData(String billId, String processIdsStr, String insertSql, List<Object> paramsList) {
|
||||
RecordSet rs = new RecordSet();
|
||||
rs.executeQuery("select * from uf_jcl_zpjdsz where id in (" + processIdsStr + ") order by hj,zssx");
|
||||
while (rs.next()) {
|
||||
String uuid = UUID.randomUUID().toString();
|
||||
ArrayList<Object> insertList = new ArrayList<>(paramsList);
|
||||
insertList.add(0, uuid);
|
||||
String formModeId = rs.getString("formmodeid");
|
||||
insertList.add(formModeId);
|
||||
insertList.add(RecruitModeUtil.parseBlankToNull(rs.getString("jdmc")));
|
||||
insertList.add(RecruitModeUtil.parseBlankToNull(rs.getString("jdms")));
|
||||
insertList.add(RecruitModeUtil.parseBlankToNull(rs.getString("jdlx")));
|
||||
insertList.add(RecruitModeUtil.parseBlankToNull(rs.getString("hj")));
|
||||
insertList.add(RecruitModeUtil.parseBlankToNull(rs.getString("sfqy")));
|
||||
insertList.add(RecruitModeUtil.parseBlankToNull(rs.getString("zssx")));
|
||||
// zpjd
|
||||
insertList.add(RecruitModeUtil.parseBlankToNull(rs.getString("id")));
|
||||
// zplc
|
||||
insertList.add(RecruitModeUtil.parseBlankToNull(billId));
|
||||
// 插入主表数据
|
||||
rs.executeUpdate(insertSql, insertList);
|
||||
refreshRight(uuid, formModeId, rs.getString("id"));
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 权限重构,插入明细表数据
|
||||
*
|
||||
* @param uuid UUID
|
||||
* @param formModeId formModeId
|
||||
*/
|
||||
private static void refreshRight(String uuid, String formModeId, String processId) {
|
||||
RecordSet rs = new RecordSet();
|
||||
rs.executeQuery("select id from " + ModeTable.UF_JCL_ZPJDSZ + " where modeuuid='" + uuid + "'");
|
||||
if (rs.next()) {
|
||||
//建模数据的id
|
||||
String bid = rs.getString("id");
|
||||
ModeRightInfo modeRightInfo = new ModeRightInfo();
|
||||
modeRightInfo.setNewRight(true);
|
||||
//新建的时候添加共享
|
||||
modeRightInfo.editModeDataShare(1, Util.getIntValue(formModeId), Util.getIntValue(bid));
|
||||
|
||||
// 插入明细表数据
|
||||
rs.executeQuery("select * from " + ModeTable.getDetailTableName(ModeTable.UF_JCL_ZPJDSZ, 1) + " where mainid = ? ", processId);
|
||||
List<List<Object>> insertList = new ArrayList<>();
|
||||
while (rs.next()) {
|
||||
List<Object> paramList = new ArrayList<>();
|
||||
// mainid
|
||||
paramList.add(bid);
|
||||
paramList.add(RecruitModeUtil.parseBlankToNull(rs.getString("czan")));
|
||||
paramList.add(RecruitModeUtil.parseBlankToNull(rs.getString("zdyxsmc")));
|
||||
paramList.add(RecruitModeUtil.parseBlankToNull(rs.getString("sfqy")));
|
||||
paramList.add(RecruitModeUtil.parseBlankToNull(rs.getString("tzymbt")));
|
||||
paramList.add(RecruitModeUtil.parseBlankToNull(rs.getString("tzymdz")));
|
||||
paramList.add(RecruitModeUtil.parseBlankToNull(rs.getString("zssx")));
|
||||
insertList.add(paramList);
|
||||
}
|
||||
for (List<Object> list : insertList) {
|
||||
rs.executeUpdate("insert into " + ModeTable.getDetailTableName(ModeTable.UF_JCL_ZPJDSZ, 1) + " (mainid, czan, zdyxsmc, sfqy, tzymbt, tzymdz, zssx) values (?, ?, ?, ?, ?, ?, ?)", list);
|
||||
}
|
||||
|
||||
insertList = new ArrayList<>();
|
||||
rs.executeQuery("select * from " + ModeTable.getDetailTableName(ModeTable.UF_JCL_ZPJDSZ, 2) + " where mainid = ? ", processId);
|
||||
while (rs.next()) {
|
||||
List<Object> paramList = new ArrayList<>();
|
||||
// mainid
|
||||
paramList.add(bid);
|
||||
paramList.add(RecruitModeUtil.parseBlankToNull(rs.getString("ymbt")));
|
||||
paramList.add(RecruitModeUtil.parseBlankToNull(rs.getString("ymdz")));
|
||||
paramList.add(RecruitModeUtil.parseBlankToNull(rs.getString("zssx")));
|
||||
insertList.add(paramList);
|
||||
}
|
||||
for (List<Object> list : insertList) {
|
||||
rs.executeUpdate("insert into " + ModeTable.getDetailTableName(ModeTable.UF_JCL_ZPJDSZ, 2) + " (mainid, ymbt, ymdz, zssx) values (?, ?, ?, ?)", list);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue