generated from dxfeng/secondev-chapanda-feishu
面试日程先关
This commit is contained in:
parent
8bab7386e1
commit
7b08a1e727
|
|
@ -0,0 +1,14 @@
|
|||
package com.api.recruit.controller;
|
||||
|
||||
import javax.ws.rs.Path;
|
||||
|
||||
/**
|
||||
* @Author liang.cheng
|
||||
* @Date 2023/10/17 10:49 AM
|
||||
* @Description: TODO
|
||||
* @Version 1.0
|
||||
*/
|
||||
|
||||
@Path("/jcl/recruit/workplan")
|
||||
public class WorkPlanController extends com.engine.recruit.controller.WorkPlanController {
|
||||
}
|
||||
|
|
@ -0,0 +1,41 @@
|
|||
package com.engine.recruit.controller;
|
||||
|
||||
import com.engine.common.util.ServiceUtil;
|
||||
import com.engine.recruit.entity.workplan.WorkPlanCreateParams;
|
||||
import com.engine.recruit.service.WorkPlanSerivice;
|
||||
import com.engine.recruit.service.impl.WorkPlanServiceImpl;
|
||||
import com.engine.recruit.util.ResponseResult;
|
||||
import io.swagger.v3.oas.annotations.parameters.RequestBody;
|
||||
import weaver.hrm.HrmUserVarify;
|
||||
import weaver.hrm.User;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import javax.ws.rs.POST;
|
||||
import javax.ws.rs.Path;
|
||||
import javax.ws.rs.Produces;
|
||||
import javax.ws.rs.core.Context;
|
||||
import javax.ws.rs.core.MediaType;
|
||||
|
||||
/**
|
||||
* @Author liang.cheng
|
||||
* @Date 2023/10/17 10:48 AM
|
||||
* @Description: 面试生成日程
|
||||
* @Version 1.0
|
||||
*/
|
||||
public class WorkPlanController {
|
||||
|
||||
public WorkPlanSerivice getRecruitPositionWrapper(User user) {
|
||||
return ServiceUtil.getService(WorkPlanServiceImpl.class, user);
|
||||
}
|
||||
|
||||
@POST
|
||||
@Path("/operate")
|
||||
@Produces(MediaType.APPLICATION_JSON)
|
||||
public String operateWorkPlan(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody WorkPlanCreateParams workPlanCreateParams) {
|
||||
User user = HrmUserVarify.getUser(request, response);
|
||||
return new ResponseResult<WorkPlanCreateParams, String>(user).run(getRecruitPositionWrapper(user)::operate, workPlanCreateParams);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,39 @@
|
|||
package com.engine.recruit.entity.workplan;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
/**
|
||||
* @Author liang.cheng
|
||||
* @Date 2023/10/17 3:01 PM
|
||||
* @Description:
|
||||
* @Version 1.0
|
||||
*/
|
||||
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@Builder
|
||||
public class WorkPlanCreateParams {
|
||||
|
||||
private String operateType;
|
||||
|
||||
private String billId;
|
||||
|
||||
private String workPlanType;
|
||||
|
||||
private String planName;
|
||||
|
||||
private String memberIds;
|
||||
|
||||
private String urgentLevel;
|
||||
|
||||
private String beginDateTime;
|
||||
|
||||
private String endDateTime;
|
||||
|
||||
private String workId;
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,20 @@
|
|||
package com.engine.recruit.service;
|
||||
|
||||
import com.engine.recruit.entity.workplan.WorkPlanCreateParams;
|
||||
|
||||
|
||||
/**
|
||||
* @Author liang.cheng
|
||||
* @Date 2023/10/17 10:50 AM
|
||||
* @Description: TODO
|
||||
* @Version 1.0
|
||||
*/
|
||||
public interface WorkPlanSerivice {
|
||||
|
||||
/**
|
||||
* @Description: 面试操作日程
|
||||
* @Author: liang.cheng
|
||||
* @Date: 2023/10/17 11:03 AM
|
||||
*/
|
||||
void operate(WorkPlanCreateParams workPlanCreateParams);
|
||||
}
|
||||
|
|
@ -0,0 +1,88 @@
|
|||
package com.engine.recruit.service.impl;
|
||||
|
||||
import com.engine.common.util.ServiceUtil;
|
||||
import com.engine.core.impl.Service;
|
||||
import com.engine.recruit.entity.workplan.WorkPlanCreateParams;
|
||||
import com.engine.recruit.enums.InterviewOperateTypeEnum;
|
||||
import com.engine.recruit.service.WorkPlanSerivice;
|
||||
import com.engine.workplan.service.WorkPlanBaseService;
|
||||
import com.engine.workplan.service.impl.WorkPlanBaseServiceImpl;
|
||||
import com.icbc.api.internal.apache.http.impl.cookie.S;
|
||||
import weaver.conn.RecordSet;
|
||||
import weaver.hrm.User;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.util.Arrays;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* @Author liang.cheng
|
||||
* @Date 2023/10/17 10:52 AM
|
||||
* @Description:
|
||||
* @Version 1.0
|
||||
*/
|
||||
public class WorkPlanServiceImpl extends Service implements WorkPlanSerivice {
|
||||
|
||||
private WorkPlanBaseService getService(User user) {
|
||||
return ServiceUtil.getService(WorkPlanBaseServiceImpl.class, user);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void operate(WorkPlanCreateParams workPlanCreateParams) {
|
||||
RecordSet rs = new RecordSet();
|
||||
|
||||
String operateType = workPlanCreateParams.getOperateType();
|
||||
String billId = workPlanCreateParams.getBillId();
|
||||
Map<String, Object> maps = new HashMap<>(16);
|
||||
|
||||
if (InterviewOperateTypeEnum.ARRANGE.getOperateType().equals(operateType) || InterviewOperateTypeEnum.ADJUSTMENT.getOperateType().equals(operateType)){
|
||||
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm");
|
||||
LocalDateTime dateTime = LocalDateTime.parse(workPlanCreateParams.getBeginDateTime(), formatter);
|
||||
LocalDateTime newDateTime = dateTime.plusHours(1);
|
||||
workPlanCreateParams.setEndDateTime(newDateTime.format(formatter));
|
||||
maps.put("workPlanType",workPlanCreateParams.getWorkPlanType());
|
||||
maps.put("planName",workPlanCreateParams.getPlanName());
|
||||
maps.put("memberIDs",workPlanCreateParams.getMemberIds());
|
||||
maps.put("urgentLevel",workPlanCreateParams.getUrgentLevel());
|
||||
maps.put("beginDateTime",workPlanCreateParams.getBeginDateTime());
|
||||
maps.put("endDateTime",workPlanCreateParams.getEndDateTime());
|
||||
maps.put("isEnableSecondAuth","0");
|
||||
maps.put("from","workplan");
|
||||
}
|
||||
|
||||
|
||||
List<String> list = Arrays.stream(billId.split(","))
|
||||
.collect(Collectors.toList());
|
||||
list.forEach(id -> {
|
||||
// 取消面试
|
||||
if (InterviewOperateTypeEnum.CANCEL.getOperateType().equals(operateType)) {
|
||||
Map<String, Object> map = new HashMap<String, Object>(2){{
|
||||
put("workid", workPlanCreateParams.getWorkId());
|
||||
}};
|
||||
getService(user).deleteWorkPlan(map);
|
||||
|
||||
//完成面试
|
||||
}else if (InterviewOperateTypeEnum.EVALUATE.getOperateType().equals(operateType)) {
|
||||
Map<String, Object> map = new HashMap<String, Object>(2){{
|
||||
put("workid", workPlanCreateParams.getWorkId());
|
||||
}};
|
||||
getService(user).finishWorkPlan(map);
|
||||
// 调整面试
|
||||
}else if (InterviewOperateTypeEnum.ADJUSTMENT.getOperateType().equals(operateType)){
|
||||
maps.put("workid",workPlanCreateParams.getWorkId());
|
||||
Map<String, Object> result = getService(user).addWorkPlan(maps);
|
||||
Integer workplanId = (Integer)result.get("workplanid");
|
||||
// 安排面试
|
||||
}else if (InterviewOperateTypeEnum.ARRANGE.getOperateType().equals(operateType)) {
|
||||
Map<String, Object> result = getService(user).addWorkPlan(maps);
|
||||
Integer workplanId = (Integer)result.get("workplanid");
|
||||
rs.executeUpdate("update uf_jcl_ms set glrc = ? where id = ?",workplanId,id);
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue