面试稽核查询

This commit is contained in:
xiaodong.hu
2023-07-20 11:34:26 +08:00
parent 9b52bad406
commit 6953151963
13 changed files with 462 additions and 7 deletions

View File

@@ -1,7 +1,16 @@
package com.cool.store.mapper; package com.cool.store.mapper;
import com.cool.store.entity.HyInspection; import com.cool.store.entity.HyInspection;
import com.cool.store.request.GetInterviewInspectionListReq;
import com.cool.store.request.GetInterviewInspectionResultListReq;
import com.cool.store.vo.interview.InterviewInspectionHistoryInfo;
import com.cool.store.vo.interview.InterviewInspectionInfo;
import com.cool.store.vo.interview.InterviewInspectionResultVO;
import com.cool.store.vo.interview.InterviewInspectionVO;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@Mapper @Mapper
public interface HyInspectionMapper { public interface HyInspectionMapper {
@@ -16,4 +25,13 @@ public interface HyInspectionMapper {
int updateByPrimaryKeySelective(HyInspection record); int updateByPrimaryKeySelective(HyInspection record);
int updateByPrimaryKey(HyInspection record); int updateByPrimaryKey(HyInspection record);
List<InterviewInspectionVO> interviewInspectionGetList(GetInterviewInspectionListReq request);
InterviewInspectionInfo interviewInspectionGetDetail(@Param("id") Long id);
List<InterviewInspectionHistoryInfo> interviewInspectionGetHistoryDetail(@Param("id") Long id);
List<InterviewInspectionResultVO> interviewInspectionResultGetList(GetInterviewInspectionResultListReq request);
} }

View File

@@ -29,7 +29,19 @@
from hy_inspection from hy_inspection
where id = #{id} where id = #{id}
</select> </select>
<delete id="deleteByPrimaryKey" parameterType="java.lang.Long"> <select id="interviewInspectionGetList" resultType="com.cool.store.vo.interview.InterviewInspectionVO">
</select>
<select id="interviewInspectionGetDetail" resultType="com.cool.store.vo.interview.InterviewInspectionInfo">
</select>
<select id="interviewInspectionGetHistoryDetail" resultType="com.cool.store.vo.interview.InterviewInspectionHistoryInfo">
</select>
<select id="interviewInspectionResultGetList" resultType="com.cool.store.vo.interview.InterviewInspectionResultVO">
</select>
<delete id="deleteByPrimaryKey" parameterType="java.lang.Long">
delete from hy_inspection delete from hy_inspection
where id = #{id} where id = #{id}
</delete> </delete>

View File

@@ -0,0 +1,41 @@
package com.cool.store.request;
import com.cool.store.common.PageBasicInfo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @Author: hxd
* @Date: 2023-06-06 15:50
* @Description:
*/
@Data
@ApiModel
public class GetInterviewInspectionListReq extends PageBasicInfo {
@ApiModelProperty("搜索类型")
private String searchType;
@ApiModelProperty("搜索内容")
private String searchContent;
@ApiModelProperty("稽核状态0为未稽核1为合格2为不合格")
private Integer status;
@ApiModelProperty("意向开店区域")
private String wantShopArea;
@ApiModelProperty("面试开始时间")
private String startTime;
@ApiModelProperty("面试结束时间")
private String endTime;
}

View File

@@ -0,0 +1,41 @@
package com.cool.store.request;
import com.cool.store.common.PageBasicInfo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @Author: hxd
* @Date: 2023-06-06 15:50
* @Description:
*/
@Data
@ApiModel
public class GetInterviewInspectionResultListReq extends PageBasicInfo {
@ApiModelProperty("搜索类型")
private String searchType;
@ApiModelProperty("搜索内容")
private String searchContent;
@ApiModelProperty("稽核状态0为未稽核1为合格2为不合格")
private Integer status;
@ApiModelProperty("意向开店区域")
private String wantShopArea;
@ApiModelProperty("面试开始时间")
private String startTime;
@ApiModelProperty("面试结束时间")
private String endTime;
}

View File

@@ -0,0 +1,24 @@
package com.cool.store.vo.interview;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;
import java.util.List;
/**
* @Author: hxd
* @Date: 2023-06-16 13:19
* @Description:
*/
@Data
@Accessors(chain = true)
@ApiModel(description = "面试稽核历史")
public class GetInterviewInspectionHistoryListVO {
@ApiModelProperty("面试稽核历史列表")
private List<InterviewInspectionHistoryInfo> interviewInspectionHistoryInfos;
}

View File

@@ -0,0 +1,34 @@
package com.cool.store.vo.interview;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
import java.util.List;
/**
* @Author: hxd
* @Date: 2023-06-16 13:19
* @Description:
*/
@ApiModel(description = "面试稽核历史详情")
@Data
public class InterviewInspectionHistoryInfo {
@ApiModelProperty(value = "操作人")
private String operatorUser;
@ApiModelProperty(value = "稽核时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date inspectionTime;
@ApiModelProperty(value = "原因")
private String description;
@ApiModelProperty(value = "凭证或者证据")
private List<String> files;
}

View File

@@ -0,0 +1,37 @@
package com.cool.store.vo.interview;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;
import java.util.Date;
import java.util.List;
/**
* @Author: hxd
* @Date: 2023-06-08 16:26
* @Description:
*/
@Data
@Accessors(chain = true)
@ApiModel(description = "面试稽核详情信息")
public class InterviewInspectionInfo {
@ApiModelProperty(value = "稽核人")
private String auditor;
@ApiModelProperty(value = "稽核时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date inspectionTime;
@ApiModelProperty(value = "稽核结果0为未稽核1为合格2为不合格3为撤销")
private Integer status;
@ApiModelProperty(value = "稽核说明")
private String description;
@ApiModelProperty(value = "凭证或者证据")
private List<String> files;
}

View File

@@ -0,0 +1,50 @@
package com.cool.store.vo.interview;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;
import java.util.Date;
/**
* @Author: HXD
* @Date: 2023-06-08 16:26
* @Description:
*/
@Data
@Accessors(chain = true)
@ApiModel(description = "面试稽核结果信息")
public class InterviewInspectionResultVO {
@ApiModelProperty(value = "被面试人姓名")
private String intervieweeName;
@ApiModelProperty(value = "被面试人手机号")
private String intervieweeMobile;
@ApiModelProperty(value = "意向开店区域")
private String wantShopAreaName;
@ApiModelProperty(value = "面试通过时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date interviewPassTime;
@ApiModelProperty(value = "稽核状态0为未稽核1为合格2为不合格")
private Integer status;
@ApiModelProperty(value = "稽核人姓名")
private String auditorName;
@ApiModelProperty(value = "稽核人电话")
private String auditorMobile;
@ApiModelProperty(value = "稽核时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date inspectionTime;
}

View File

@@ -0,0 +1,60 @@
package com.cool.store.vo.interview;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;
import java.util.Date;
/**
* @Author: HXD
* @Date: 2023-06-08 16:26
* @Description:
*/
@Data
@Accessors(chain = true)
@ApiModel(description = "面试稽核信息")
public class InterviewInspectionVO {
@ApiModelProperty(value = "面试官姓名")
private String interviewerName;
@ApiModelProperty(value = "面试官手机号")
private String interviewerMobile;
@ApiModelProperty(value = "被面试人姓名")
private String intervieweeName;
@ApiModelProperty(value = "被面试人手机号")
private String intervieweeMobile;
@ApiModelProperty(value = "意向开店区域")
private String wantShopAreaName;
@ApiModelProperty(value = "面试通过时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date interviewPassTime;
@ApiModelProperty(value = "稽核状态0为未稽核1为合格2为不合格")
private Integer status;
@ApiModelProperty(value = "稽核人姓名")
private String auditorName;
@ApiModelProperty(value = "稽核人电话")
private String auditorMobile;
@ApiModelProperty(value = "稽核时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date inspectionTime;
@ApiModelProperty(value = "稽核表id")
private Long id;
@ApiModelProperty(value = "面试计划id")
private Integer interviewPlanId;
}

View File

@@ -1,15 +1,31 @@
package com.cool.store.service; package com.cool.store.service;
import com.cool.store.request.GetInterviewInspectionListReq;
import com.cool.store.request.GetInterviewInspectionResultListReq;
import com.cool.store.response.ResponseResult;
import com.cool.store.vo.interview.InterviewInspectionHistoryInfo;
import com.cool.store.vo.interview.InterviewInspectionInfo;
import com.cool.store.vo.interview.InterviewInspectionResultVO;
import com.cool.store.vo.interview.InterviewInspectionVO;
import com.github.pagehelper.PageInfo;
import com.cool.store.dto.inspection.interview.InspectionRevocationDTO; import com.cool.store.dto.inspection.interview.InspectionRevocationDTO;
import com.cool.store.dto.inspection.interview.InspectionSubmissionDTO; import com.cool.store.dto.inspection.interview.InspectionSubmissionDTO;
import com.cool.store.exception.ApiException; import com.cool.store.exception.ApiException;
import com.cool.store.dto.inspection.interview.InspectionRevocationDTO;
import com.cool.store.dto.inspection.interview.InspectionSubmissionDTO;
import com.cool.store.exception.ApiException;
import java.util.List;
/** /**
* @author Fun Li * @author Fun Li
* @version 1.0 * @version 1.0
* @date 2023/7/19 16:50 * @date 2023/7/19 16:50
*/ */
public interface InterviewInspectionService { public interface InterviewInspectionService {
List<InterviewInspectionVO> interviewInspectionGetList(GetInterviewInspectionListReq request);
/** /**
* 提交稽核结果 * 提交稽核结果
@@ -21,4 +37,10 @@ public interface InterviewInspectionService {
*/ */
void revoke(InspectionRevocationDTO dto) throws ApiException; void revoke(InspectionRevocationDTO dto) throws ApiException;
InterviewInspectionInfo interviewInspectionGetDetail(Long id);
List<InterviewInspectionHistoryInfo> interviewInspectionGetHistoryDetail(Long id);
List<InterviewInspectionResultVO> interviewInspectionResultGetList(GetInterviewInspectionResultListReq request);
} }

View File

@@ -9,12 +9,18 @@ import com.cool.store.entity.HyInterviewInspectionLog;
import com.cool.store.enums.ErrorCodeEnum; import com.cool.store.enums.ErrorCodeEnum;
import com.cool.store.enums.InspectionOperationTypeEnum; import com.cool.store.enums.InspectionOperationTypeEnum;
import com.cool.store.enums.InspectionStatusEnum; import com.cool.store.enums.InspectionStatusEnum;
import com.cool.store.enums.InspectionTyeEnum;
import com.cool.store.exception.ApiException; import com.cool.store.exception.ApiException;
import com.cool.store.mapper.HyInspectionMapper; import com.cool.store.mapper.HyInspectionMapper;
import com.cool.store.request.GetInterviewInspectionListReq;
import com.cool.store.request.GetInterviewInspectionResultListReq;
import com.cool.store.response.ResponseResult;
import com.cool.store.mapper.HyInterviewInspectionLogMapper; import com.cool.store.mapper.HyInterviewInspectionLogMapper;
import com.cool.store.service.InterviewInspectionService; import com.cool.store.service.InterviewInspectionService;
import org.springframework.beans.BeanUtils; import com.cool.store.vo.interview.InterviewInspectionHistoryInfo;
import com.cool.store.vo.interview.InterviewInspectionInfo;
import com.cool.store.vo.interview.InterviewInspectionResultVO;
import com.cool.store.vo.interview.InterviewInspectionVO;
import com.github.pagehelper.PageInfo;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@@ -94,6 +100,21 @@ public class InterviewInspectionServiceImpl implements InterviewInspectionServic
inspectionMapper.updateByPrimaryKey(hyInspection); inspectionMapper.updateByPrimaryKey(hyInspection);
} }
@Override
public InterviewInspectionInfo interviewInspectionGetDetail(Long id) {
return inspectionMapper.interviewInspectionGetDetail(id);
}
@Override
public List<InterviewInspectionHistoryInfo> interviewInspectionGetHistoryDetail(Long id) {
return inspectionMapper.interviewInspectionGetHistoryDetail(id);
}
@Override
public List<InterviewInspectionResultVO> interviewInspectionResultGetList(GetInterviewInspectionResultListReq request) {
return inspectionMapper.interviewInspectionResultGetList(request);
}
private String spliceFiles(List<String> files) { private String spliceFiles(List<String> files) {
if (files == null || files.size() == 0) { if (files == null || files.size() == 0) {
return null; return null;
@@ -101,4 +122,9 @@ public class InterviewInspectionServiceImpl implements InterviewInspectionServic
return files.stream().map(String::valueOf).collect(Collectors.joining(",")); return files.stream().map(String::valueOf).collect(Collectors.joining(","));
} }
@Override
public List<InterviewInspectionVO> interviewInspectionGetList(GetInterviewInspectionListReq request) {
String userId = CurrentUserHolder.getUserId();
return inspectionMapper.interviewInspectionGetList(request);
}
} }

View File

@@ -0,0 +1,43 @@
package com.cool.store.controller;
import com.cool.store.request.GetInterviewInspectionResultListReq;
import com.cool.store.response.ResponseResult;
import com.cool.store.service.InterviewInspectionService;
import com.cool.store.vo.interview.InterviewInspectionResultVO;
import com.github.pagehelper.PageInfo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/**
* @author hxd
* @version 1.0
* @date 2023/7/19 16:48
*/
@RestController
@RequestMapping("/inspection/auditResult")
@Api(tags = "面试稽核结果")
public class AuditResultController {
@Autowired
private InterviewInspectionService interviewInspectionService;
/**
* 获取面试稽核结果列表
*
* @param request
* @return
*/
@PostMapping("/getList")
@ApiOperation("获取面试稽核结果列表")
public ResponseResult interviewInspectionResultGetList(GetInterviewInspectionResultListReq request) {
List<InterviewInspectionResultVO> interviewInspectionResultGetList = interviewInspectionService.interviewInspectionResultGetList(request);
return ResponseResult.success(new PageInfo<>(interviewInspectionResultGetList));
}
}

View File

@@ -3,15 +3,20 @@ package com.cool.store.controller;
import com.cool.store.dto.inspection.interview.InspectionRevocationDTO; import com.cool.store.dto.inspection.interview.InspectionRevocationDTO;
import com.cool.store.dto.inspection.interview.InspectionSubmissionDTO; import com.cool.store.dto.inspection.interview.InspectionSubmissionDTO;
import com.cool.store.exception.ApiException; import com.cool.store.exception.ApiException;
import com.cool.store.request.GetInterviewInspectionListReq;
import com.cool.store.response.ResponseResult; import com.cool.store.response.ResponseResult;
import com.cool.store.service.InterviewInspectionService; import com.cool.store.service.InterviewInspectionService;
import com.cool.store.vo.interview.GetInterviewInspectionHistoryListVO;
import com.cool.store.vo.interview.InterviewInspectionHistoryInfo;
import com.cool.store.vo.interview.InterviewInspectionInfo;
import com.cool.store.vo.interview.InterviewInspectionVO;
import com.github.pagehelper.PageInfo;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping; import java.util.List;
import org.springframework.web.bind.annotation.RestController;
/** /**
* @author Fun Li * @author Fun Li
@@ -40,4 +45,46 @@ public class InterviewInspectionController {
return ResponseResult.success(); return ResponseResult.success();
} }
/**
* 获取面试稽核列表
*
* @param request
* @return
*/
@PostMapping("/getList")
@ApiOperation("获取面试稽核列表")
public ResponseResult interviewInspectionGetList(GetInterviewInspectionListReq request) {
List<InterviewInspectionVO> interviewInspectionVOList = interviewInspectionService.interviewInspectionGetList(request);
return ResponseResult.success(new PageInfo<>(interviewInspectionVOList));
}
/**
* 获取面试稽核详情信息
*
* @param id
* @return
*/
@GetMapping("/getDetail")
@ApiOperation("获取面试稽核详情信息")
public ResponseResult interviewInspectionGetDetail(@RequestParam("id") Long id) {
InterviewInspectionInfo interviewInspectionInfo = interviewInspectionService.interviewInspectionGetDetail(id);
return ResponseResult.success(interviewInspectionInfo);
}
/**
* 面试稽核历史结果查看
*
* @param id
* @return
*/
@GetMapping("/getHistoryDetail")
@ApiOperation("稽核历史结果查看")
public ResponseResult interviewInspectionGetHistoryDetail(@RequestParam("id") Long id) {
List<InterviewInspectionHistoryInfo> interviewInspectionHistoryInfos = interviewInspectionService.interviewInspectionGetHistoryDetail(id);
return ResponseResult.success(new GetInterviewInspectionHistoryListVO().setInterviewInspectionHistoryInfos(interviewInspectionHistoryInfos));
}
} }