员工考核

This commit is contained in:
bianyadong
2024-05-06 15:59:54 +08:00
parent e26183b764
commit 7d98d786f1
18 changed files with 575 additions and 90 deletions

View File

@@ -39,8 +39,11 @@ public class AssessmentDataDAO {
return 0; return 0;
} }
public List<AssessmentDataDO> selectList(Long shopId, String userId) { public List<AssessmentDataDO> selectList(Long shopId, String userId, List<Long> templateIdList) {
return assessmentDataMapper.select(AssessmentDataDO.builder().shopId(shopId).assessmentUserId(userId).build()); Example example = new Example(AssessmentDataDO.class);
example.createCriteria().andEqualTo("assessmentUserId", userId).andEqualTo("shopId", shopId).andIn("templateId", templateIdList);
return assessmentDataMapper.selectByExample(example);
} }
public AssessmentDataDO selectByTemplateId(Long templateId, String userId, Long shopId) { public AssessmentDataDO selectByTemplateId(Long templateId, String userId, Long shopId) {
@@ -60,4 +63,9 @@ public class AssessmentDataDAO {
example.createCriteria().andEqualTo("assessmentUserId", userId).andEqualTo("shopId", shopId).andIsNotNull("qualified"); example.createCriteria().andEqualTo("assessmentUserId", userId).andEqualTo("shopId", shopId).andIsNotNull("qualified");
return assessmentDataMapper.selectCountByExample(example); return assessmentDataMapper.selectCountByExample(example);
} }
public AssessmentDataDO selectByPrimaryKey(Long id) {
return assessmentDataMapper.selectByPrimaryKey(id);
}
} }

View File

@@ -56,5 +56,11 @@ public class EmployeeTrainingDAO {
return employeeTrainingMapper.trainingListByShopId(shopId, trainingTeacherUserId, status); return employeeTrainingMapper.trainingListByShopId(shopId, trainingTeacherUserId, status);
} }
public List<EmployeeTrainingVO> assessmentUserList(String name, String practicalAssessmentUserId,
Integer assessmentStatus,
String estimatedAssessmentBeginTime, String estimatedAssessmentEndTime,
String actualAssessmentBeginTime, String actualAssessmentEndTime) {
return employeeTrainingMapper.assessmentUserList(name, practicalAssessmentUserId, assessmentStatus, estimatedAssessmentBeginTime,
estimatedAssessmentEndTime, actualAssessmentBeginTime, actualAssessmentEndTime);
}
} }

View File

@@ -11,13 +11,19 @@ import java.util.List;
public interface EmployeeTrainingMapper extends Mapper<EmployeeTrainingDO> { public interface EmployeeTrainingMapper extends Mapper<EmployeeTrainingDO> {
List<EmployeeTrainingVO> employeeTrainingMapper(@Param("keyWord") String keyWord, @Param("regionIdList") List<String> regionIdList, List<EmployeeTrainingVO> employeeTrainingMapper(@Param("keyWord") String keyWord, @Param("regionIdList") List<String> regionIdList,
@Param("authRegionIdList") List<String> authRegionIdList, @Param("assignFlag") Boolean assignFlag, @Param("authRegionIdList") List<String> authRegionIdList, @Param("assignFlag") Boolean assignFlag,
@Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("shopIdList") List<Long> shopIdList, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("shopIdList") List<Long> shopIdList,
@Param("theoreticalExamStatus") Integer theoreticalExamStatus, @Param("theoreticalExamStatus") Integer theoreticalExamStatus,
@Param("practicalExamStatus") Integer practicalExamStatus, @Param("practicalExamStatus") Integer practicalExamStatus,
@Param("assessmentStatus") Integer assessmentStatus); @Param("assessmentStatus") Integer assessmentStatus);
List<EmployeeTrainingVO> trainingListByShopId(@Param("shopId") Long shopId, @Param("trainingTeacherUserId") String trainingTeacherUserId, List<EmployeeTrainingVO> trainingListByShopId(@Param("shopId") Long shopId, @Param("trainingTeacherUserId") String trainingTeacherUserId,
@Param("status") Integer status); @Param("status") Integer status);
List<EmployeeTrainingVO> assessmentUserList(@Param("name") String name, @Param("practicalAssessmentUserId") String practicalAssessmentUserId,
@Param("assessmentStatus") Integer assessmentStatus,
@Param("estimatedAssessmentBeginTime") String estimatedAssessmentBeginTime, @Param("estimatedAssessmentEndTime") String estimatedAssessmentEndTime,
@Param("actualAssessmentBeginTime") String actualAssessmentBeginTime, @Param("actualAssessmentEndTime") String actualAssessmentEndTime
);
} }

View File

@@ -124,4 +124,55 @@
and u.shop_id = #{shopId} and u.shop_id = #{shopId}
</if> </if>
</select> </select>
<select id="assessmentUserList" resultType="com.cool.store.vo.EmployeeTrainingVO">
select
u.id,
u.username,
u.mobile,
u.region_id as regionId,
u.role_id as roleId,
u.shop_id as shopId,
s.shop_name as shopName,
u.id_card as idCard,
e.id as employeeTrainingId,
e.training_store_id as trainingStoreId,
e.training_teacher_user_id as trainingTeacherUserId,
e.practical_assessment_user_id as practicalAssessmentUserId,
e.assessment_num as assessmentNum,
e.assessment_total_num as assessmentTotalNum,
e.theoretical_exam_status as theoreticalExamStatus,
e.theoretical_exam_score as theoreticalExamScore,
e.practical_exam_status as practicalExamStatus,
e.practical_exam_score as practicalExamScore,
e.assessment_status as assessmentStatus,
e.estimated_assessment_time as estimatedAssessmentTime,
e.actual_assessment_time as actualAssessmentTime,
e.training_start_time as trainingStartTime,
e.training_end_time as trainingEndTime
from xfsg_temp_user_detail u
left join xfsg_employee_training e on e.xfsg_user_detail_id = u.id
left join xfsg_shop_info s on s.id = u.shop_id
where u.deleted = 0
<if test="practicalAssessmentUserId != null and practicalAssessmentUserId != ''">
and e.practical_assessment_user_id = #{practicalAssessmentUserId}
</if>
<if test="assessmentStatus != null">
and e.assessment_status = #{assessmentStatus}
</if>
<if test="estimatedAssessmentBeginTime != null and estimatedAssessmentBeginTime != ''">
and e.estimated_assessment_time &gt;= #{estimatedAssessmentBeginTime}
</if>
<if test="estimatedAssessmentEndTime != null and estimatedAssessmentEndTime != ''">
and e.estimated_assessment_time &lt;= #{estimatedAssessmentEndTime}
</if>
<if test="actualAssessmentBeginTime != null and actualAssessmentBeginTime != ''">
and e.actual_assessment_time &gt;= #{actualAssessmentBeginTime}
</if>
<if test="actualAssessmentEndTime != null and actualAssessmentEndTime != ''">
and e.actual_assessment_time &lt;= #{actualAssessmentEndTime}
</if>
<if test="name != null and name != ''">
and u.username like concat('%',#{name},'%')
</if>
</select>
</mapper> </mapper>

View File

@@ -99,7 +99,7 @@ public class EmployeeTrainingDO {
* 理论考试状态 0-未开始 1-合格 2-不合格 * 理论考试状态 0-未开始 1-合格 2-不合格
*/ */
@Column(name = "theoretical_exam_status") @Column(name = "theoretical_exam_status")
private Byte theoreticalExamStatus; private Integer theoreticalExamStatus;
/** /**
* 理论考试分值 * 理论考试分值
@@ -111,7 +111,7 @@ public class EmployeeTrainingDO {
* 实操考试状态 0-未开始 1-合格 2-不合格 * 实操考试状态 0-未开始 1-合格 2-不合格
*/ */
@Column(name = "practical_exam_status") @Column(name = "practical_exam_status")
private Byte practicalExamStatus; private Integer practicalExamStatus;
/** /**
* 实操考试分值 * 实操考试分值
@@ -123,7 +123,7 @@ public class EmployeeTrainingDO {
* 考核状态 0-培训中 1-带考核 2-考核通过 3-考核不通过 * 考核状态 0-培训中 1-带考核 2-考核通过 3-考核不通过
*/ */
@Column(name = "assessment_status") @Column(name = "assessment_status")
private Byte assessmentStatus; private Integer assessmentStatus;
/** /**
* 创建时间 * 创建时间

View File

@@ -0,0 +1,20 @@
package com.cool.store.request;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
* @author byd
* @date 2024-04-30 17:30
*/
@Data
public class EmployeeAssessmentCommitListRequest {
@ApiModelProperty("培训id")
private Long employeeTrainingId;
@ApiModelProperty("培训考核结果列表")
List<EmployeeAssessmentCommitRequest> list;
}

View File

@@ -0,0 +1,27 @@
package com.cool.store.request;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author byd
* @date 2024-04-30 11:10
*/
@Data
public class EmployeeAssessmentCommitRequest {
@ApiModelProperty("数据项id")
private Long id;
@ApiModelProperty("模版id")
private Long templateId;
@ApiModelProperty("店铺id")
private Long shopId;
@ApiModelProperty("得分")
private Long score;
@ApiModelProperty("评语")
private String comments;
}

View File

@@ -0,0 +1,37 @@
package com.cool.store.request;
import com.cool.store.common.PageBasicInfo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
* @author byd
* @date 2024-04-30 11:10
*/
@Data
public class EmployeeAssessmentRequest extends PageBasicInfo {
@ApiModelProperty("姓名")
private String name;
@ApiModelProperty("预计考核时间-开始")
private Long estimatedAssessmentBeginTime;
@ApiModelProperty("预计考核时间-结束")
private Long estimatedAssessmentEndTime;
@ApiModelProperty("实际考核时间-开始")
private Long actualAssessmentBeginTime;
@ApiModelProperty("实际考核时间-结束")
private Long actualAssessmentEndTime;
@ApiModelProperty("实训门店id列表")
private List<String> storeIdList;
@ApiModelProperty("考核状态 0-培训中 1-带考核 2-考核通过 3-考核不通过")
private Integer assessmentStatus;
}

View File

@@ -0,0 +1,20 @@
package com.cool.store.request;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author byd
* @date 2024-04-30 11:10
*/
@Data
public class EmployeeAssessmentTurnRequest {
@ApiModelProperty("员工id")
private Long id;
@ApiModelProperty("转交人id")
private String turnUserId;
}

View File

@@ -10,9 +10,11 @@ import lombok.Data;
@Data @Data
public class EmployeeTrainingCommitRequest { public class EmployeeTrainingCommitRequest {
@ApiModelProperty("数据项id")
private Long id;
@ApiModelProperty("模版id") @ApiModelProperty("模版id")
private Long templateId; private Long templateId;
@ApiModelProperty("店铺id") @ApiModelProperty("店铺id")
private Long shopId; private Long shopId;
@@ -25,6 +27,4 @@ public class EmployeeTrainingCommitRequest {
*/ */
@ApiModelProperty("店铺是否合格") @ApiModelProperty("店铺是否合格")
private Boolean qualified; private Boolean qualified;
} }

View File

@@ -0,0 +1,110 @@
package com.cool.store.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.persistence.Column;
import java.util.Date;
import java.util.List;
/**
* @author byd
* @date 2024-04-30 10:53
*/
@Data
public class AssessmentUserTrainingVO {
@ApiModelProperty("id")
private Long id;
@ApiModelProperty("名字")
private String username;
@ApiModelProperty("手机号")
private String mobile;
@ApiModelProperty("身份证号")
private String idCard;
@ApiModelProperty("区域id")
private Long regionId;
@ApiModelProperty("角色id 170000000-店长 180000000-店员")
private Long roleId;
@ApiModelProperty("店铺id")
private Long shopId;
@ApiModelProperty("店铺名称")
private String shopName;
@ApiModelProperty("培训id")
private Long employeeTrainingId;
/**
* 实训门店ID
*/
@ApiModelProperty("实训门店ID")
private String trainingStoreId;
/**
* 实训门店ID
*/
@ApiModelProperty("实训门店名称")
private String trainingStoreName;
/**
* 实操考核人员ID
*/
@ApiModelProperty("实操考核人员ID")
private String practicalAssessmentUserId;
@ApiModelProperty("实操考核人员名称")
private String practicalAssessmentUserName;
/**
* 预计考核时间
*/
@ApiModelProperty("预计考核时间")
private Date estimatedAssessmentTime;
/**
* 实际考核时间
*/
@ApiModelProperty("实际考核时间")
private Date actualAssessmentTime;
/**
* 理论考试状态 0-未开始 1-合格 2-不合格
*/
@ApiModelProperty("理论考试状态 0-未开始 1-合格 2-不合格")
private Integer theoreticalExamStatus;
/**
* 理论考试分值
*/
@ApiModelProperty("理论考试分值")
private Integer theoreticalExamScore;
/**
* 实操考试分值
*/
@ApiModelProperty("实操考试分值")
private Integer practicalExamScore;
@ApiModelProperty("实操考试状态")
private Integer practicalExamStatus;
/**
* 考核状态 0-培训中 1-带考核 2-考核通过 3-考核不通过
*/
@ApiModelProperty("核状态 0-培训中 1-带考核 2-考核通过 3-考核不通过")
private Integer assessmentStatus;
@ApiModelProperty("考核数据")
List<AssessmentTemplateDataVO> templateDataList;
}

View File

@@ -130,7 +130,7 @@ public class EmployeeTrainingDetailVO {
* 理论考试状态 0-未开始 1-合格 2-不合格 * 理论考试状态 0-未开始 1-合格 2-不合格
*/ */
@ApiModelProperty("理论考试状态 0-未开始 1-合格 2-不合格") @ApiModelProperty("理论考试状态 0-未开始 1-合格 2-不合格")
private Byte theoreticalExamStatus; private Integer theoreticalExamStatus;
/** /**
* 理论考试分值 * 理论考试分值
@@ -142,7 +142,7 @@ public class EmployeeTrainingDetailVO {
* 实操考试状态 0-未开始 1-合格 2-不合格 * 实操考试状态 0-未开始 1-合格 2-不合格
*/ */
@ApiModelProperty("实操考试状态 0-未开始 1-合格 2-不合格") @ApiModelProperty("实操考试状态 0-未开始 1-合格 2-不合格")
private Byte practicalExamStatus; private Integer practicalExamStatus;
/** /**
* 实操考试分值 * 实操考试分值
@@ -154,6 +154,6 @@ public class EmployeeTrainingDetailVO {
* 考核状态 0-培训中 1-带考核 2-考核通过 3-考核不通过 * 考核状态 0-培训中 1-带考核 2-考核通过 3-考核不通过
*/ */
@ApiModelProperty("考核状态 0-培训中 1-带考核 2-考核通过 3-考核不通过") @ApiModelProperty("考核状态 0-培训中 1-带考核 2-考核通过 3-考核不通过")
private Byte assessmentStatus; private Integer assessmentStatus;
} }

View File

@@ -3,6 +3,7 @@ package com.cool.store.vo;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import javax.persistence.Column;
import java.util.Date; import java.util.Date;
/** /**
@@ -107,4 +108,15 @@ public class EmployeeTrainingVO {
@ApiModelProperty("实操考核人员名称") @ApiModelProperty("实操考核人员名称")
private String practicalAssessmentUserName; private String practicalAssessmentUserName;
/**
* 预计考核时间
*/
@ApiModelProperty("预计考核时间")
private Date estimatedAssessmentTime;
/**
* 实际考核时间
*/
@ApiModelProperty("实际考核时间")
private Date actualAssessmentTime;
} }

View File

@@ -1,8 +1,7 @@
package com.cool.store.service; package com.cool.store.service;
import com.cool.store.request.EmployeeTrainingCommitListRequest; import com.cool.store.request.*;
import com.cool.store.request.EmployeeTrainingDetailRequest; import com.cool.store.vo.AssessmentUserTrainingVO;
import com.cool.store.request.EmployeeTrainingRequest;
import com.cool.store.vo.EmployeeTrainingDetailVO; import com.cool.store.vo.EmployeeTrainingDetailVO;
import com.cool.store.vo.EmployeeTrainingVO; import com.cool.store.vo.EmployeeTrainingVO;
import com.cool.store.vo.EmployeeUserTrainingVO; import com.cool.store.vo.EmployeeUserTrainingVO;
@@ -29,4 +28,12 @@ public interface EmployeeTrainingService {
EmployeeUserTrainingVO trainerUserDetail(Long id); EmployeeUserTrainingVO trainerUserDetail(Long id);
void trainerUserCommit(EmployeeTrainingCommitListRequest request); void trainerUserCommit(EmployeeTrainingCommitListRequest request);
PageInfo<EmployeeTrainingVO> assessmentUserList(String userId, EmployeeAssessmentRequest request);
AssessmentUserTrainingVO assessmentUserDetail(Long id);
void turn(Long id, String userId, String turnUserId);
void assessmentUserCommit(EmployeeAssessmentCommitListRequest request);
} }

View File

@@ -1,23 +1,17 @@
package com.cool.store.service.impl; package com.cool.store.service.impl;
import cn.hutool.core.date.DateUtil;
import com.cool.store.constants.CommonConstants; import com.cool.store.constants.CommonConstants;
import com.cool.store.dao.*; import com.cool.store.dao.*;
import com.cool.store.entity.*; import com.cool.store.entity.*;
import com.cool.store.enums.AssessmentTemplateType; import com.cool.store.enums.AssessmentTemplateType;
import com.cool.store.exception.ServiceException; import com.cool.store.exception.ServiceException;
import com.cool.store.request.EmployeeTrainingCommitListRequest; import com.cool.store.request.*;
import com.cool.store.request.EmployeeTrainingDetailRequest;
import com.cool.store.request.EmployeeTrainingRequest;
import com.cool.store.service.EmployeeTrainingService; import com.cool.store.service.EmployeeTrainingService;
import com.cool.store.service.RegionService; import com.cool.store.service.RegionService;
import com.cool.store.service.SysRoleService; import com.cool.store.service.SysRoleService;
import com.cool.store.service.UserAuthMappingService; import com.cool.store.service.UserAuthMappingService;
import com.cool.store.utils.poi.DateUtils; import com.cool.store.utils.poi.DateUtils;
import com.cool.store.vo.AssessmentTemplateDataVO; import com.cool.store.vo.*;
import com.cool.store.vo.EmployeeTrainingDetailVO;
import com.cool.store.vo.EmployeeTrainingVO;
import com.cool.store.vo.EmployeeUserTrainingVO;
import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.CollectionUtils;
@@ -27,6 +21,7 @@ import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.*; import java.util.*;
import java.util.concurrent.atomic.AtomicReference; import java.util.concurrent.atomic.AtomicReference;
import java.util.stream.Collectors;
/** /**
* @author byd * @author byd
@@ -60,7 +55,7 @@ public class EmployeeTrainingServiceImpl implements EmployeeTrainingService {
private EnterpriseUserDAO enterpriseUserDAO; private EnterpriseUserDAO enterpriseUserDAO;
@Resource @Resource
private StoreDao storeDao; private StoreDao storeDAO;
@Resource @Resource
private AssessmentTemplateDAO assessmentTemplateDAO; private AssessmentTemplateDAO assessmentTemplateDAO;
@@ -68,6 +63,7 @@ public class EmployeeTrainingServiceImpl implements EmployeeTrainingService {
@Resource @Resource
private AssessmentDataDAO assessmentDataDAO; private AssessmentDataDAO assessmentDataDAO;
@Override @Override
public PageInfo<EmployeeTrainingVO> employeeTrainingList(String userId, EmployeeTrainingRequest request) { public PageInfo<EmployeeTrainingVO> employeeTrainingList(String userId, EmployeeTrainingRequest request) {
List<String> authRegionIdList = new ArrayList<>(); List<String> authRegionIdList = new ArrayList<>();
@@ -76,8 +72,8 @@ public class EmployeeTrainingServiceImpl implements EmployeeTrainingService {
} }
PageHelper.startPage(request.getPageNum(), request.getPageSize()); PageHelper.startPage(request.getPageNum(), request.getPageSize());
List<EmployeeTrainingVO> list = employeeTrainingDAO.employeeTrainingList(request.getKeyWord(), request.getRegionIdList(), authRegionIdList, request.getAssignFlag(), List<EmployeeTrainingVO> list = employeeTrainingDAO.employeeTrainingList(request.getKeyWord(), request.getRegionIdList(), authRegionIdList, request.getAssignFlag(),
DateUtil.format(new Date(request.getBeginTime()), DateUtils.YYYY_MM_DD_HH_MM_SS), DateUtils.parseLongDateToStr(request.getBeginTime()),
DateUtil.format(new Date(request.getEndTime()), DateUtils.YYYY_MM_DD_HH_MM_SS), null, DateUtils.parseLongDateToStr(request.getEndTime()), null,
request.getTheoreticalExamStatus(), request.getPracticalExamStatus(), request.getAssessmentStatus()); request.getTheoreticalExamStatus(), request.getPracticalExamStatus(), request.getAssessmentStatus());
list.forEach(item -> { list.forEach(item -> {
@@ -103,7 +99,7 @@ public class EmployeeTrainingServiceImpl implements EmployeeTrainingService {
employeeTrainingVO.setTrainingStartTime(employeeTrainingDO.getTrainingStartTime()); employeeTrainingVO.setTrainingStartTime(employeeTrainingDO.getTrainingStartTime());
employeeTrainingVO.setTrainingEndTime(employeeTrainingDO.getTrainingEndTime()); employeeTrainingVO.setTrainingEndTime(employeeTrainingDO.getTrainingEndTime());
employeeTrainingVO.setTrainingStoreId(employeeTrainingDO.getTrainingStoreId()); employeeTrainingVO.setTrainingStoreId(employeeTrainingDO.getTrainingStoreId());
StoreDO storeDO = storeDao.getByStoreId(employeeTrainingDO.getTrainingStoreId()); StoreDO storeDO = storeDAO.getByStoreId(employeeTrainingDO.getTrainingStoreId());
if (storeDO != null) { if (storeDO != null) {
employeeTrainingVO.setTrainingStoreName(storeDO.getStoreName()); employeeTrainingVO.setTrainingStoreName(storeDO.getStoreName());
} }
@@ -162,6 +158,7 @@ public class EmployeeTrainingServiceImpl implements EmployeeTrainingService {
employeeTrainingDO.setEstimatedAssessmentTime(request.getEstimatedAssessmentTime()); employeeTrainingDO.setEstimatedAssessmentTime(request.getEstimatedAssessmentTime());
employeeTrainingDO.setAssessmentNum(0); employeeTrainingDO.setAssessmentNum(0);
employeeTrainingDO.setAssessmentTotalNum(assessmentTemplateDOList.size()); employeeTrainingDO.setAssessmentTotalNum(assessmentTemplateDOList.size());
employeeTrainingDO.setAssessmentStatus(0);
if (employeeTrainingDO.getId() == null) { if (employeeTrainingDO.getId() == null) {
employeeTrainingDO.setXfsgUserDetailId(tempUserDetailDO.getId()); employeeTrainingDO.setXfsgUserDetailId(tempUserDetailDO.getId());
employeeTrainingDO.setRegionId(tempUserDetailDO.getRegionId()); employeeTrainingDO.setRegionId(tempUserDetailDO.getRegionId());
@@ -189,7 +186,7 @@ public class EmployeeTrainingServiceImpl implements EmployeeTrainingService {
List<EmployeeTrainingVO> list = employeeTrainingDAO.trainingListByShopId(shopId, null, null); List<EmployeeTrainingVO> list = employeeTrainingDAO.trainingListByShopId(shopId, null, null);
list.forEach(item -> { list.forEach(item -> {
StoreDO storeDO = storeDao.getByStoreId(item.getTrainingStoreId()); StoreDO storeDO = storeDAO.getByStoreId(item.getTrainingStoreId());
if (storeDO != null) { if (storeDO != null) {
item.setTrainingStoreName(storeDO.getStoreName()); item.setTrainingStoreName(storeDO.getStoreName());
} }
@@ -201,7 +198,7 @@ public class EmployeeTrainingServiceImpl implements EmployeeTrainingService {
public List<EmployeeTrainingVO> trainerUserList(String userId, Integer status) { public List<EmployeeTrainingVO> trainerUserList(String userId, Integer status) {
List<EmployeeTrainingVO> list = employeeTrainingDAO.trainingListByShopId(null, userId, status); List<EmployeeTrainingVO> list = employeeTrainingDAO.trainingListByShopId(null, userId, status);
list.forEach(item -> { list.forEach(item -> {
StoreDO storeDO = storeDao.getByStoreId(item.getTrainingStoreId()); StoreDO storeDO = storeDAO.getByStoreId(item.getTrainingStoreId());
if (storeDO != null) { if (storeDO != null) {
item.setTrainingStoreName(storeDO.getStoreName()); item.setTrainingStoreName(storeDO.getStoreName());
} }
@@ -228,8 +225,9 @@ public class EmployeeTrainingServiceImpl implements EmployeeTrainingService {
employeeUserTrainingVO.setRoleId(tempUserDetailDO.getRoleId()); employeeUserTrainingVO.setRoleId(tempUserDetailDO.getRoleId());
employeeUserTrainingVO.setIdCard(tempUserDetailDO.getIdCard()); employeeUserTrainingVO.setIdCard(tempUserDetailDO.getIdCard());
List<AssessmentTemplateDO> assessmentTemplateDOList = assessmentTemplateDAO.listByType(AssessmentTemplateType.TRAINER.getCode()); List<AssessmentTemplateDO> assessmentTemplateDOList = assessmentTemplateDAO.listByType(AssessmentTemplateType.TRAINER.getCode());
List<Long> templateIdList = assessmentTemplateDOList.stream().map(AssessmentTemplateDO::getId).collect(Collectors.toList());
List<AssessmentDataDO> assessmentDataDOList = assessmentDataDAO.selectList(tempUserDetailDO.getShopId(), enterpriseUserDO.getUserId()); List<AssessmentDataDO> assessmentDataDOList = assessmentDataDAO.selectList(tempUserDetailDO.getShopId(), enterpriseUserDO.getUserId(), templateIdList);
Map<String, AssessmentDataDO> assessmentDataMap = new HashMap<>(); Map<String, AssessmentDataDO> assessmentDataMap = new HashMap<>();
assessmentDataDOList.forEach(item -> { assessmentDataDOList.forEach(item -> {
@@ -262,7 +260,7 @@ public class EmployeeTrainingServiceImpl implements EmployeeTrainingService {
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
@Override @Override
public void trainerUserCommit(EmployeeTrainingCommitListRequest request) { public void trainerUserCommit(EmployeeTrainingCommitListRequest request) {
if(CollectionUtils.isEmpty(request.getList())){ if (CollectionUtils.isEmpty(request.getList())) {
return; return;
} }
Long shopId = request.getList().get(0).getShopId(); Long shopId = request.getList().get(0).getShopId();
@@ -273,7 +271,12 @@ public class EmployeeTrainingServiceImpl implements EmployeeTrainingService {
EnterpriseUserDO enterpriseUserDO = enterpriseUserDAO.getUserInfoByThirdOaUniqueFlag(tempUserDetailDO.getIdCard()); EnterpriseUserDO enterpriseUserDO = enterpriseUserDAO.getUserInfoByThirdOaUniqueFlag(tempUserDetailDO.getIdCard());
String userId = enterpriseUserDO.getUserId(); String userId = enterpriseUserDO.getUserId();
request.getList().forEach(item -> { request.getList().forEach(item -> {
AssessmentDataDO assessmentDataDO = assessmentDataDAO.selectByTemplateId(item.getTemplateId(), item.getUserDetailId(), item.getShopId()); AssessmentDataDO assessmentDataDO = null;
if (item.getId() != null) {
assessmentDataDO = assessmentDataDAO.selectByPrimaryKey(item.getId());
} else {
assessmentDataDO = assessmentDataDAO.selectByTemplateId(item.getTemplateId(), item.getUserDetailId(), item.getShopId());
}
if (assessmentDataDO != null) { if (assessmentDataDO != null) {
assessmentDataDO.setQualified(item.getQualified()); assessmentDataDO.setQualified(item.getQualified());
assessmentDataDAO.updateByPrimaryKeySelective(assessmentDataDO); assessmentDataDAO.updateByPrimaryKeySelective(assessmentDataDO);
@@ -288,6 +291,162 @@ public class EmployeeTrainingServiceImpl implements EmployeeTrainingService {
}); });
Integer num = assessmentDataDAO.selectCount(userId, shopId); Integer num = assessmentDataDAO.selectCount(userId, shopId);
employeeTrainingDO.setAssessmentNum(num); employeeTrainingDO.setAssessmentNum(num);
if(num.equals(employeeTrainingDO.getAssessmentTotalNum())){
employeeTrainingDO.setAssessmentStatus(1);
}
employeeTrainingDAO.updateByPrimaryKeySelective(employeeTrainingDO);
}
@Override
public PageInfo<EmployeeTrainingVO> assessmentUserList(String userId, EmployeeAssessmentRequest request) {
PageHelper.startPage(request.getPageNum(), request.getPageSize());
List<EmployeeTrainingVO> employeeTrainingVOList = employeeTrainingDAO.assessmentUserList(request.getName(), userId, request.getAssessmentStatus(),
DateUtils.parseLongDateToStr(request.getEstimatedAssessmentBeginTime()),
DateUtils.parseLongDateToStr(request.getEstimatedAssessmentEndTime()),
DateUtils.parseLongDateToStr(request.getActualAssessmentBeginTime()),
DateUtils.parseLongDateToStr(request.getActualAssessmentEndTime()));
if (CollectionUtils.isEmpty(employeeTrainingVOList)) {
return new PageInfo<>(employeeTrainingVOList);
}
List<String> storeIdList = employeeTrainingVOList.stream().map(EmployeeTrainingVO::getTrainingStoreId).collect(Collectors.toList());
List<StoreDO> storeDOList = storeDAO.getEffectiveStoreByStoreIds(storeIdList);
Map<String, String> storeNameMap = storeDOList.stream().collect(Collectors.toMap(StoreDO::getStoreId, StoreDO::getStoreName));
employeeTrainingVOList.forEach(item -> {
item.setTrainingStoreName(storeNameMap.get(item.getTrainingStoreId()));
});
return new PageInfo<>(employeeTrainingVOList);
}
@Override
public AssessmentUserTrainingVO assessmentUserDetail(Long id) {
AssessmentUserTrainingVO assessmentUserTrainingVO = new AssessmentUserTrainingVO();
TempUserDetailDO tempUserDetailDO = tempUserDetailDAO.selectById(id);
EnterpriseUserDO enterpriseUserDO = enterpriseUserDAO.getUserInfoByThirdOaUniqueFlag(tempUserDetailDO.getIdCard());
EmployeeTrainingDO employeeTrainingDO = employeeTrainingDAO.selectByUserDetailId(id);
assessmentUserTrainingVO.setEmployeeTrainingId(employeeTrainingDO.getId());
assessmentUserTrainingVO.setTrainingStoreId(employeeTrainingDO.getTrainingStoreId());
StoreDO storeDO = storeDAO.getByStoreId(employeeTrainingDO.getTrainingStoreId());
if (storeDO != null) {
assessmentUserTrainingVO.setTrainingStoreName(storeDO.getStoreName());
}
assessmentUserTrainingVO.setPracticalAssessmentUserId(employeeTrainingDO.getPracticalAssessmentUserId());
assessmentUserTrainingVO.setPracticalAssessmentUserName(enterpriseUserDAO.getUserName(employeeTrainingDO.getPracticalAssessmentUserId()));
assessmentUserTrainingVO.setMobile(tempUserDetailDO.getMobile());
assessmentUserTrainingVO.setRoleId(tempUserDetailDO.getRoleId());
assessmentUserTrainingVO.setIdCard(tempUserDetailDO.getIdCard());
assessmentUserTrainingVO.setActualAssessmentTime(employeeTrainingDO.getActualAssessmentTime());
assessmentUserTrainingVO.setEstimatedAssessmentTime(employeeTrainingDO.getEstimatedAssessmentTime());
assessmentUserTrainingVO.setUsername(tempUserDetailDO.getUsername());
assessmentUserTrainingVO.setAssessmentStatus(employeeTrainingDO.getAssessmentStatus());
assessmentUserTrainingVO.setShopId(tempUserDetailDO.getShopId());
assessmentUserTrainingVO.setTheoreticalExamStatus(employeeTrainingDO.getTheoreticalExamStatus());
assessmentUserTrainingVO.setTheoreticalExamScore(employeeTrainingDO.getTheoreticalExamScore());
assessmentUserTrainingVO.setPracticalExamScore(employeeTrainingDO.getPracticalExamScore());
assessmentUserTrainingVO.setPracticalExamStatus(employeeTrainingDO.getPracticalExamStatus());
ShopInfoDO shopInfoDO = shopInfoDAO.getShopInfo(employeeTrainingDO.getShopId());
if (shopInfoDO != null) {
assessmentUserTrainingVO.setShopName(shopInfoDO.getShopName());
}
List<AssessmentTemplateDO> assessmentTemplateDOList = assessmentTemplateDAO.listByType(AssessmentTemplateType.STORE_MANAGER.getCode());
List<Long> templateIdList = assessmentTemplateDOList.stream().map(AssessmentTemplateDO::getId).collect(Collectors.toList());
List<AssessmentDataDO> assessmentDataDOList = assessmentDataDAO.selectList(tempUserDetailDO.getShopId(), enterpriseUserDO.getUserId(), templateIdList);
Map<String, AssessmentDataDO> assessmentDataMap = new HashMap<>();
assessmentDataDOList.forEach(item -> {
assessmentDataMap.put(item.getTemplateId() + CommonConstants.COLON + item.getAssessmentUserId(), item);
});
List<AssessmentTemplateDataVO> templateDataVOList = new ArrayList<>();
assessmentTemplateDOList.forEach(item -> {
AssessmentTemplateDataVO assessmentTemplateDataVO = new AssessmentTemplateDataVO();
AssessmentDataDO assessmentDataDO = assessmentDataMap.get(item.getId() + CommonConstants.COLON + enterpriseUserDO.getUserId());
if (assessmentDataDO != null) {
assessmentTemplateDataVO.setGoalScore(assessmentDataDO.getScore());
assessmentTemplateDataVO.setReason(assessmentDataDO.getReason());
assessmentTemplateDataVO.setComments(assessmentDataDO.getComments());
assessmentTemplateDataVO.setQualified(assessmentDataDO.getQualified());
assessmentTemplateDataVO.setAssessmentDataId(assessmentDataDO.getId());
}
assessmentTemplateDataVO.setScore(item.getScore());
assessmentTemplateDataVO.setTemplateName(item.getTemplateName());
assessmentTemplateDataVO.setTemplateRemarkList(Arrays.asList(item.getTemplateRemark().split(CommonConstants.COMMA)));
assessmentTemplateDataVO.setCategory(item.getCategory());
assessmentTemplateDataVO.setId(item.getId());
assessmentTemplateDataVO.setType(item.getType());
assessmentTemplateDataVO.setCategory(item.getCategory());
assessmentTemplateDataVO.setTemplateRequirements(item.getTemplateRequirements());
templateDataVOList.add(assessmentTemplateDataVO);
});
assessmentUserTrainingVO.setTemplateDataList(templateDataVOList);
return assessmentUserTrainingVO;
}
@Override
public void turn(Long id, String userId, String turnUserId) {
TempUserDetailDO tempUserDetailDO = tempUserDetailDAO.selectById(id);
EmployeeTrainingDO employeeTrainingDO = employeeTrainingDAO.selectByUserDetailId(id);
employeeTrainingDO.setPracticalAssessmentUserId(turnUserId);
employeeTrainingDAO.updateByPrimaryKeySelective(employeeTrainingDO);
}
@Override
public void assessmentUserCommit(EmployeeAssessmentCommitListRequest request) {
if (CollectionUtils.isEmpty(request.getList())) {
return;
}
EmployeeTrainingDO employeeTrainingDO = employeeTrainingDAO.selectById(request.getEmployeeTrainingId());
TempUserDetailDO tempUserDetailDO = tempUserDetailDAO.selectById(employeeTrainingDO.getXfsgUserDetailId());
Boolean pass = true;
EnterpriseUserDO enterpriseUserDO = enterpriseUserDAO.getUserInfoByThirdOaUniqueFlag(tempUserDetailDO.getIdCard());
String userId = enterpriseUserDO.getUserId();
AtomicReference<Long> totalScore = new AtomicReference<>(0L);
request.getList().forEach(item -> {
AssessmentDataDO assessmentDataDO = null;
totalScore.set(totalScore.get() + item.getScore());
if (item.getId() != null) {
assessmentDataDO = assessmentDataDAO.selectByPrimaryKey(item.getId());
} else {
assessmentDataDO = assessmentDataDAO.selectByTemplateId(item.getTemplateId(), employeeTrainingDO.getXfsgUserDetailId().toString(), item.getShopId());
}
if (assessmentDataDO != null) {
assessmentDataDO.setScore(item.getScore());
assessmentDataDO.setComments(item.getComments());
assessmentDataDAO.updateByPrimaryKeySelective(assessmentDataDO);
} else {
assessmentDataDO = new AssessmentDataDO();
assessmentDataDO.setTemplateId(item.getTemplateId());
assessmentDataDO.setShopId(item.getShopId());
assessmentDataDO.setComments(item.getComments());
assessmentDataDO.setScore(item.getScore());
assessmentDataDO.setAssessmentUserId(employeeTrainingDO.getXfsgUserDetailId().toString());
assessmentDataDAO.insertSelective(assessmentDataDO);
}
});
employeeTrainingDO.setPracticalAssessmentUserId(userId);
employeeTrainingDO.setPracticalExamScore(totalScore.get().intValue());
if (totalScore.get().intValue() > CommonConstants.NINETY) {
employeeTrainingDO.setPracticalExamStatus(1);
} else {
employeeTrainingDO.setPracticalExamStatus(0);
}
employeeTrainingDO.setPracticalExamScore(totalScore.get().intValue());
employeeTrainingDO.setActualAssessmentTime(new Date());
if(employeeTrainingDO.getPracticalExamStatus() == 2 || employeeTrainingDO.getTheoreticalExamStatus() == 2){
employeeTrainingDO.setAssessmentStatus(3);
}
if(employeeTrainingDO.getPracticalExamStatus() == 1 && employeeTrainingDO.getTheoreticalExamStatus() == 1){
employeeTrainingDO.setAssessmentStatus(2);
}
employeeTrainingDAO.updateByPrimaryKeySelective(employeeTrainingDO); employeeTrainingDAO.updateByPrimaryKeySelective(employeeTrainingDO);
} }
} }

View File

@@ -98,9 +98,9 @@ public class TempUserDetailServiceImpl implements TempUserDetailService {
if(shopInfoDO == null){ if(shopInfoDO == null){
throw new ServiceException("该店铺不存在"); throw new ServiceException("该店铺不存在");
} }
if(StringUtil.isNotBlank(shopInfoDO.getStoreNum())){ // if(StringUtil.isNotBlank(shopInfoDO.getStoreNum())){
throw new ServiceException("系统建店已完成,无法手动登记"); // throw new ServiceException("系统建店已完成,无法手动登记");
} // }
tempUserDetailDO = new TempUserDetailDO(); tempUserDetailDO = new TempUserDetailDO();
tempUserDetailDO.setLineId(shopInfoDO.getLineId()); tempUserDetailDO.setLineId(shopInfoDO.getLineId());
tempUserDetailDO.setShopId(tempUserDetailRequest.getShopId()); tempUserDetailDO.setShopId(tempUserDetailRequest.getShopId());

View File

@@ -17,8 +17,7 @@ import java.util.Date;
* *
* @author fanlyun * @author fanlyun
*/ */
public class DateUtils extends org.apache.commons.lang3.time.DateUtils public class DateUtils extends org.apache.commons.lang3.time.DateUtils {
{
public static String YYYY = "yyyy"; public static String YYYY = "yyyy";
public static String YYYY_MM = "yyyy-MM"; public static String YYYY_MM = "yyyy-MM";
@@ -47,8 +46,7 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils
* *
* @return Date() 当前日期 * @return Date() 当前日期
*/ */
public static Date getNowDate() public static Date getNowDate() {
{
return new Date(); return new Date();
} }
@@ -57,56 +55,48 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils
* *
* @return String * @return String
*/ */
public static String getDate() public static String getDate() {
{
return dateTimeNow(YYYY_MM_DD); return dateTimeNow(YYYY_MM_DD);
} }
public static String getTime() public static String getTime() {
{
return dateTimeNow(YYYY_MM_DD_HH_MM_SS); return dateTimeNow(YYYY_MM_DD_HH_MM_SS);
} }
public static String dateTimeNow() public static String dateTimeNow() {
{
return dateTimeNow(YYYYMMDDHHMMSS); return dateTimeNow(YYYYMMDDHHMMSS);
} }
public static String dateTimeNow(final String format) public static String dateTimeNow(final String format) {
{
return parseDateToStr(format, new Date()); return parseDateToStr(format, new Date());
} }
public static String dateTime(final Date date) public static String dateTime(final Date date) {
{
return parseDateToStr(YYYY_MM_DD, date); return parseDateToStr(YYYY_MM_DD, date);
} }
/** /**
* 格式化日期 * 格式化日期
*
* @param format 格式化规则 * @param format 格式化规则
* @param date 日期 * @param date 日期
* @return 格式化完毕的日期 * @return 格式化完毕的日期
*/ */
public static String parseDateToStr(final String format, final Date date) public static String parseDateToStr(final String format, final Date date) {
{
return new SimpleDateFormat(format).format(date); return new SimpleDateFormat(format).format(date);
} }
/** /**
* 以规则解析时间字符串 * 以规则解析时间字符串
*
* @param format 格式化规则 * @param format 格式化规则
* @param ts 时间字符串 * @param ts 时间字符串
* @return 解析后时间 * @return 解析后时间
*/ */
public static Date dateTime(final String format, final String ts) public static Date dateTime(final String format, final String ts) {
{ try {
try
{
return new SimpleDateFormat(format).parse(ts); return new SimpleDateFormat(format).parse(ts);
} } catch (ParseException e) {
catch (ParseException e)
{
throw new RuntimeException(e); throw new RuntimeException(e);
} }
} }
@@ -114,8 +104,7 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils
/** /**
* 日期路径 即年/月/日 如2018/08/08 * 日期路径 即年/月/日 如2018/08/08
*/ */
public static String datePath() public static String datePath() {
{
Date now = new Date(); Date now = new Date();
return DateFormatUtils.format(now, "yyyy/MM/dd"); return DateFormatUtils.format(now, "yyyy/MM/dd");
} }
@@ -123,8 +112,7 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils
/** /**
* 日期路径 即年/月/日 如20180808 * 日期路径 即年/月/日 如20180808
*/ */
public static String dateTime() public static String dateTime() {
{
Date now = new Date(); Date now = new Date();
return DateFormatUtils.format(now, "yyyyMMdd"); return DateFormatUtils.format(now, "yyyyMMdd");
} }
@@ -132,18 +120,13 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils
/** /**
* 日期型字符串转化为日期 格式 * 日期型字符串转化为日期 格式
*/ */
public static Date parseDate(Object str) public static Date parseDate(Object str) {
{ if (str == null) {
if (str == null)
{
return null; return null;
} }
try try {
{
return parseDate(str.toString(), parsePatterns); return parseDate(str.toString(), parsePatterns);
} } catch (ParseException e) {
catch (ParseException e)
{
return null; return null;
} }
} }
@@ -151,8 +134,7 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils
/** /**
* 获取服务器启动时间 * 获取服务器启动时间
*/ */
public static Date getServerStartDate() public static Date getServerStartDate() {
{
long time = ManagementFactory.getRuntimeMXBean().getStartTime(); long time = ManagementFactory.getRuntimeMXBean().getStartTime();
return new Date(time); return new Date(time);
} }
@@ -160,8 +142,7 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils
/** /**
* 计算两个时间差 * 计算两个时间差
*/ */
public static String getDatePoor(Date endDate, Date nowDate) public static String getDatePoor(Date endDate, Date nowDate) {
{
long nd = 1000 * 24 * 60 * 60; long nd = 1000 * 24 * 60 * 60;
long nh = 1000 * 60 * 60; long nh = 1000 * 60 * 60;
long nm = 1000 * 60; long nm = 1000 * 60;
@@ -181,6 +162,7 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils
/** /**
* 以规则解析时间字符串 * 以规则解析时间字符串
*
* @param strDate 时间字符串 * @param strDate 时间字符串
* @param pattern 格式化规则 * @param pattern 格式化规则
* @return 解析后时间 * @return 解析后时间
@@ -193,6 +175,7 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils
/** /**
* 根据毫秒数获取时间 * 根据毫秒数获取时间
*
* @param millis 毫秒数 * @param millis 毫秒数
* @return 时间 * @return 时间
*/ */
@@ -201,16 +184,16 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils
SimpleDateFormat simpleDateFormat = new SimpleDateFormat(YYYY_MM_DD_HH_MM_SS); SimpleDateFormat simpleDateFormat = new SimpleDateFormat(YYYY_MM_DD_HH_MM_SS);
Date date = new Date(); Date date = new Date();
date.setTime(millis); date.setTime(millis);
return simpleDateFormat.format(date); return simpleDateFormat.format(date);
} }
public static String YYYY_MM_DD_HH_MM = "yyyy-MM-dd HH:mm"; public static String YYYY_MM_DD_HH_MM = "yyyy-MM-dd HH:mm";
public static String NOTICE_DATE = "yyyy年MM月dd日 HH:mm"; public static String NOTICE_DATE = "yyyy年MM月dd日 HH:mm";
/** /**
* 返回11个月之前的月从月的第一天开始如当前是2020-05-03 返回的是2019-06-01 00:00:00 * 返回11个月之前的月从月的第一天开始如当前是2020-05-03 返回的是2019-06-01 00:00:00
*
* @return Date * @return Date
*/ */
public static Date getNestOneYear() { public static Date getNestOneYear() {
@@ -220,6 +203,7 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils
/** /**
* 从1.8新增的{@link LocalDate}转换为{@link Date} * 从1.8新增的{@link LocalDate}转换为{@link Date}
*
* @param localDate {@link LocalDate} * @param localDate {@link LocalDate}
* @return 时间 * @return 时间
*/ */
@@ -229,4 +213,10 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils
return Date.from(instant); return Date.from(instant);
} }
public static String parseLongDateToStr(final Long time) {
if (time == null) {
return null;
}
return new SimpleDateFormat(YYYY_MM_DD_HH_MM_SS).format(new Date(time));
}
} }

View File

@@ -1,11 +1,10 @@
package com.cool.store.controller.webb; package com.cool.store.controller.webb;
import com.cool.store.context.CurrentUserHolder; import com.cool.store.context.CurrentUserHolder;
import com.cool.store.request.EmployeeTrainingCommitListRequest; import com.cool.store.request.*;
import com.cool.store.request.EmployeeTrainingDetailRequest;
import com.cool.store.request.EmployeeTrainingRequest;
import com.cool.store.response.ResponseResult; import com.cool.store.response.ResponseResult;
import com.cool.store.service.EmployeeTrainingService; import com.cool.store.service.EmployeeTrainingService;
import com.cool.store.vo.AssessmentUserTrainingVO;
import com.cool.store.vo.EmployeeTrainingDetailVO; import com.cool.store.vo.EmployeeTrainingDetailVO;
import com.cool.store.vo.EmployeeTrainingVO; import com.cool.store.vo.EmployeeTrainingVO;
import com.cool.store.vo.EmployeeUserTrainingVO; import com.cool.store.vo.EmployeeUserTrainingVO;
@@ -81,6 +80,39 @@ public class EmployeeTrainingController {
@ApiOperation("培训-教练员-提交培训") @ApiOperation("培训-教练员-提交培训")
@PostMapping("/trainerUserCommit") @PostMapping("/trainerUserCommit")
public ResponseResult<Boolean> trainerUserCommit(@RequestBody EmployeeTrainingCommitListRequest request) { public ResponseResult<Boolean> trainerUserCommit(@RequestBody EmployeeTrainingCommitListRequest request) {
employeeTrainingService.trainerUserCommit(request);
return ResponseResult.success(Boolean.TRUE); return ResponseResult.success(Boolean.TRUE);
} }
@ApiOperation("培训-战区经理-考核员工列表")
@PostMapping("/assessmentUserList")
public ResponseResult<PageInfo<EmployeeTrainingVO>> assessmentUserList(@RequestBody EmployeeAssessmentRequest request) {
return ResponseResult.success(employeeTrainingService.assessmentUserList(CurrentUserHolder.getUserId(), request));
}
@ApiOperation("培训-战区经理-员工考核详情")
@PostMapping("/assessmentUserDetail")
@ApiImplicitParams({
@ApiImplicitParam(name = "id", value = "员工id", required = true)
})
public ResponseResult<AssessmentUserTrainingVO> assessmentUserDetail(Long id) {
return ResponseResult.success(employeeTrainingService.assessmentUserDetail(id));
}
@ApiOperation("培训-实训考核-转交")
@PostMapping("/turn")
public ResponseResult<Boolean> turn(@RequestBody EmployeeAssessmentTurnRequest request) {
employeeTrainingService.turn(request.getId(), CurrentUserHolder.getUserId(), request.getTurnUserId());
return ResponseResult.success(Boolean.TRUE);
}
@ApiOperation("培训-实训考核-提交考核结果")
@PostMapping("/assessmentUserCommit")
public ResponseResult<Boolean> assessmentUserCommit(@RequestBody EmployeeAssessmentCommitListRequest request) {
employeeTrainingService.assessmentUserCommit(request);
return ResponseResult.success(Boolean.TRUE);
}
} }