批量安排面试,创建日程

面试评价反馈,完成日程
This commit is contained in:
dxfeng 2024-11-25 16:20:37 +08:00
parent 170d19a251
commit 0e5b8a768f
2 changed files with 42 additions and 5 deletions

View File

@ -1,7 +1,10 @@
package weaver.formmode.recruit.modeexpand.interview;
import com.engine.common.util.ServiceUtil;
import com.engine.recruit.constant.RecruitConstant;
import com.engine.recruit.conn.ApplicantCommonInfo;
import com.engine.recruit.entity.workplan.WorkPlanCreateParams;
import com.engine.recruit.service.impl.WorkPlanServiceImpl;
import com.engine.recruit.util.RecruitMessageUtils;
import com.weaver.formmodel.data.model.Formfield;
import org.apache.commons.collections.CollectionUtils;
@ -39,6 +42,7 @@ public class BatchAddInterviewResultModeExpand extends AbstractModeExpandJavaCod
if (requestInfo != null) {
RecordSet rs = new RecordSet();
int formModeId = ApplicantCommonInfo.getModeIdByTableName(MODE_TABLE_NAME);
int formIdByTableName = ApplicantCommonInfo.getFormIdByTableName(MODE_TABLE_NAME);
MainTableInfo mainTableInfo = requestInfo.getMainTableInfo();
Property[] properties = mainTableInfo.getProperty();
Map<String, Object> mainDataMap = new HashMap<>();
@ -88,6 +92,12 @@ public class BatchAddInterviewResultModeExpand extends AbstractModeExpandJavaCod
Map<String, List<Formfield>> fieldMapList = fieldList.stream().collect(Collectors.groupingBy(Formfield::getLabelName));
String insertSql = "insert into " + MODE_TABLE_NAME + " (modeuuid, modedatacreatertype, formmodeid, modedatacreater, modedatacreatedate, modedatacreatetime, modedatamodifier, modedatamodifydatetime, pcid, ypz, ypzw, tdsj, sjhm, dzyx, tzypz, msfs, mshj, msc, msg, ptmsg, ptmsgsfcymspj, msrq, zt) values(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
StringBuilder msgBuilder = new StringBuilder();
String msg = Util.null2String(mainDataMap.get("msg"));
String ptmsg = Util.null2String(mainDataMap.get("ptmsg"));
Set<String> userIdSet = new HashSet<>();
userIdSet.addAll(Arrays.asList(msg.split(",")));
userIdSet.addAll(Arrays.asList(ptmsg.split(",")));
for (Map<String, Object> detailDataMap : detailMapList) {
List<Object> paramList = buildParamList(detailDataMap);
if (CollectionUtils.isNotEmpty(paramList)) {
@ -104,6 +114,21 @@ public class BatchAddInterviewResultModeExpand extends AbstractModeExpandJavaCod
getApplicantsInfo(msgBuilder, Util.null2String(detailDataMap.get("ypz")), Util.null2String(detailDataMap.get("ypzw")));
// 创建面试评价反馈数据
InterviewEvaluate.createEvaluate(detailDataMap, bid, user);
// 创建日程
WorkPlanCreateParams workPlanCreateParams = new WorkPlanCreateParams();
workPlanCreateParams.setWorkPlanType("0");
// ypzValue + "-" + ypzwValue + "-" + msfsValue
String ypzValue = ApplicantCommonInfo.getApplicantName(Util.null2String(detailDataMap.get("ypz")));
String ypzwValue = ApplicantCommonInfo.getApplicantPosition(Util.null2String(detailDataMap.get("ypzw")));
String msfsValue = ApplicantCommonInfo.getSelectName(String.valueOf(formIdByTableName), "msfs", Util.null2String(detailDataMap.get("msfs")));
workPlanCreateParams.setPlanName(ypzValue + "-" + ypzwValue + "-" + msfsValue);
workPlanCreateParams.setMemberIds(StringUtils.join(userIdSet,","));
workPlanCreateParams.setUrgentLevel("1");
workPlanCreateParams.setBeginDateTime(Util.null2String(detailDataMap.get("msrq")));
workPlanCreateParams.setOperateType("arrange");
workPlanCreateParams.setBillId(String.valueOf(bid));
ServiceUtil.getService(WorkPlanServiceImpl.class, user).operate(workPlanCreateParams);
}
// 发送邮件
@ -132,16 +157,12 @@ public class BatchAddInterviewResultModeExpand extends AbstractModeExpandJavaCod
if (StringUtils.isNotBlank(msgBuilder)) {
msgBuilder.insert(0, RecruitModeUtil.getResourceNames(requestInfo.getCreatorid()) + "安排了一场面试<br/>");
String msrq = Util.null2String(mainDataMap.get("msrq"));
String msg = Util.null2String(mainDataMap.get("msg"));
String ptmsg = Util.null2String(mainDataMap.get("ptmsg"));
String msdd = Util.null2String(mainDataMap.get("msdd"));
msgBuilder.append("面试时间:").append(msrq).append(";面试官:").append(RecruitModeUtil.getResourceNames(msg)).append("").append(RecruitModeUtil.getResourceNames(ptmsg)).append("<br/>");
msgBuilder.append("面试地址:").append(msdd);
// 消息发送
Set<String> userIdSet = new HashSet<>();
userIdSet.addAll(Arrays.asList(msg.split(",")));
userIdSet.addAll(Arrays.asList(ptmsg.split(",")));
RecruitModeUtil.messagePush(RecruitConstant.INTERVIEW_MESSAGE_TYPE, RecruitConstant.INTERVIEW_ADD_MESSAGE_TITLE, msgBuilder.toString(), userIdSet, user.getUID());
}
}

View File

@ -1,5 +1,8 @@
package weaver.formmode.recruit.modeexpand.interview;
import com.engine.common.util.ServiceUtil;
import com.engine.recruit.entity.workplan.WorkPlanCreateParams;
import com.engine.recruit.service.impl.WorkPlanServiceImpl;
import org.apache.commons.lang3.StringUtils;
import weaver.conn.RecordSet;
import weaver.formmode.customjavacode.AbstractModeExpandJavaCodeNew;
@ -48,6 +51,19 @@ public class EditInterviewEvaluateExpand extends AbstractModeExpandJavaCodeNew {
if (hasEvaluate) {
// 更新为已反馈
rs.executeUpdate("update uf_jcl_ms set zt = 2 where id = ? ", msid);
// 完成关联的日程
rs.executeQuery("select glrc from uf_jcl_ms where id = ?", msid);
if(rs.next()){
String glrc = rs.getString("glrc");
if(StringUtils.isNotBlank(glrc)) {
WorkPlanCreateParams workPlanCreateParams = new WorkPlanCreateParams();
workPlanCreateParams.setWorkId(glrc);
workPlanCreateParams.setOperateType("evaluate");
workPlanCreateParams.setBillId(msid);
ServiceUtil.getService(WorkPlanServiceImpl.class, user).operate(workPlanCreateParams);
}
}
} else {
// 更新为未反馈
rs.executeUpdate("update uf_jcl_ms set zt = 0 where id = ? ", msid);