美之高 接受offer提醒指定角色

美之高
dxfeng 7 months ago
parent 8d23a515d8
commit bf77e5f386

@ -1,5 +1,7 @@
package com.engine.mzg.conn;
import com.engine.common.service.HrmCommonService;
import com.engine.common.service.impl.HrmCommonServiceImpl;
import com.engine.mzg.entity.SyncTableField;
import com.engine.mzg.exception.CustomizeRunTimeException;
import com.engine.mzg.util.RecruitUtil;
@ -9,10 +11,7 @@ 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;
import java.util.*;
/**
* @author:dxfeng
@ -224,4 +223,19 @@ public class RecruitCommon {
return fields;
}
public static Set<String> getRoleUserIds(String roleName) {
Set<String> userSet = new HashSet<>();
RecordSet rs = new RecordSet();
String sql = "select id from hrmroles h where rolesmark like '% " + roleName + "`%' or rolesmark = '" + roleName + "'";
rs.executeQuery(sql);
while (rs.next()) {
String roleId = rs.getString("id");
HrmCommonService hrmCommonService = new HrmCommonServiceImpl();
String hrmIds = hrmCommonService.getRoleMemberIds(roleId, "0");
if (StringUtils.isNotBlank(hrmIds)) {
userSet.addAll(Arrays.asList(hrmIds.split(",")));
}
}
return userSet;
}
}

@ -7,17 +7,18 @@ 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 com.weaver.formmodel.data.manager.FormInfoManager;
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 weaver.formmode.mzg.modeexpand.disc.AddDiscExpand;
import weaver.general.Util;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.UUID;
import java.util.*;
import java.util.regex.Matcher;
import java.util.stream.Collectors;
/**
* @author:dxfeng
@ -219,7 +220,6 @@ public class RecruitMobileServiceImpl extends Service implements RecruitMobileSe
}
/**
*
*
@ -268,6 +268,30 @@ public class RecruitMobileServiceImpl extends Service implements RecruitMobileSe
RecruitRecordSet.insertData(buildDataMap, targetTable);
mainId = String.valueOf(RecruitRecordSet.refreshRight(uuid, targetTable, formModeId, 1));
// 发送消息
String roleNames = RecruitCommon.getSettingValue("OFFER_REMIND_ROLE");
if(StringUtils.isBlank(roleNames)){
roleNames="系统管理员";
}
if (StringUtils.isNotBlank(roleNames)) {
Set<String> remindUserSet = new HashSet<>();
// 根据角色名字,获取人员
String[] split = roleNames.split(",");
for (String roleName : split) {
Set<String> userIds = RecruitCommon.getRoleUserIds(roleName);
remindUserSet.addAll(userIds);
}
if (CollectionUtils.isNotEmpty(remindUserSet)) {
// 消息不为空,发送消息
List<Formfield> fieldList = FormInfoManager.getInstance().getAllField(formModeId);
Map<String, Formfield> fieldMap = fieldList.stream().collect(Collectors.toMap(Formfield::getFieldname, item -> item, (k1, k2) -> k1));
String msgContent = RecruitCommon.getSettingValue("OFFER_REMIND_CONTENT", fieldMap, buildDataMap);
String msgCenterId = RecruitCommon.getSettingValue("MSG_CENTER_ID");
RecruitUtil.messagePush(msgCenterId, "offer接受提醒", msgContent, remindUserSet, user.getUID());
}
}
}
// 更新明细表,明细表删除后重新插入数据

Loading…
Cancel
Save