From 264e33e46262e961d0c0c63d564e24488b673af4 Mon Sep 17 00:00:00 2001 From: bianyadong Date: Tue, 7 May 2024 14:06:43 +0800 Subject: [PATCH] =?UTF-8?q?=E5=91=98=E5=B7=A5=E5=9F=B9=E8=AE=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/cool/store/dao/AssessmentDataDAO.java | 8 +- .../store/mapper/AssessmentDataMapper.java | 2 + .../resources/mapper/AssessmentDataMapper.xml | 9 ++ .../mapper/AssessmentTemplateMapper.xml | 1 + .../mapper/EmployeeTrainingMapper.xml | 10 +- .../cool/store/entity/AssessmentDataDO.java | 4 + .../store/entity/AssessmentTemplateDO.java | 126 +----------------- .../EmployeeAssessmentCommitRequest.java | 6 + .../EmployeeTrainingCommitListRequest.java | 3 + .../store/vo/AssessmentTemplateDataVO.java | 7 + .../com/cool/store/vo/EmployeeTrainingVO.java | 6 + .../cool/store/vo/EmployeeUserTrainingVO.java | 2 +- .../impl/EmployeeTrainingServiceImpl.java | 49 ++++++- .../webb/EmployeeTrainingController.java | 4 +- .../webc/MiniEmployeeTrainingController.java | 6 +- 15 files changed, 107 insertions(+), 136 deletions(-) diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/dao/AssessmentDataDAO.java b/coolstore-partner-dao/src/main/java/com/cool/store/dao/AssessmentDataDAO.java index 5a5512a1a..38189244c 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/dao/AssessmentDataDAO.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/dao/AssessmentDataDAO.java @@ -2,10 +2,8 @@ package com.cool.store.dao; import com.cool.store.entity.AssessmentDataDO; import com.cool.store.mapper.AssessmentDataMapper; -import com.sun.org.apache.xpath.internal.operations.Bool; import org.apache.commons.collections4.CollectionUtils; import org.springframework.stereotype.Repository; -import org.springframework.stereotype.Service; import tk.mybatis.mapper.entity.Example; import javax.annotation.Resource; @@ -43,7 +41,6 @@ public class AssessmentDataDAO { public List selectList(Long shopId, String userId, List templateIdList) { Example example = new Example(AssessmentDataDO.class); example.createCriteria().andEqualTo("assessmentUserId", userId).andEqualTo("shopId", shopId).andIn("templateId", templateIdList); - return assessmentDataMapper.selectByExample(example); } @@ -79,4 +76,9 @@ public class AssessmentDataDAO { assessmentDataMapper.deleteByShopId(shopId); return Boolean.TRUE; } + public void batchInsertDO(List assessmentDataDOList) { + assessmentDataMapper.batchInsert(assessmentDataDOList); + } + + } diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/AssessmentDataMapper.java b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/AssessmentDataMapper.java index eac527f64..fd10197cb 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/AssessmentDataMapper.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/AssessmentDataMapper.java @@ -12,4 +12,6 @@ public interface AssessmentDataMapper extends Mapper { List selectListByShopId(@Param("shopId") Long shopId); Boolean deleteByShopId(@Param("shopId") Long shopId); + + Integer batchInsert(@Param("assessmentDataList") List assessmentDataList); } \ No newline at end of file diff --git a/coolstore-partner-dao/src/main/resources/mapper/AssessmentDataMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/AssessmentDataMapper.xml index 706b3a93f..ee87731b3 100644 --- a/coolstore-partner-dao/src/main/resources/mapper/AssessmentDataMapper.xml +++ b/coolstore-partner-dao/src/main/resources/mapper/AssessmentDataMapper.xml @@ -14,6 +14,15 @@ + + insert into xfsg_assessment_data (template_id, shop_id, + assessment_user_id) + values + + ( #{item.templateId}, #{item.shopId}, + #{item.assessmentUserId}) + + update xfsg_assessment_data diff --git a/coolstore-partner-dao/src/main/resources/mapper/AssessmentTemplateMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/AssessmentTemplateMapper.xml index 2f7d2e13a..627611691 100644 --- a/coolstore-partner-dao/src/main/resources/mapper/AssessmentTemplateMapper.xml +++ b/coolstore-partner-dao/src/main/resources/mapper/AssessmentTemplateMapper.xml @@ -12,6 +12,7 @@ + diff --git a/coolstore-partner-dao/src/main/resources/mapper/EmployeeTrainingMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/EmployeeTrainingMapper.xml index bcc207ac1..88012fa41 100644 --- a/coolstore-partner-dao/src/main/resources/mapper/EmployeeTrainingMapper.xml +++ b/coolstore-partner-dao/src/main/resources/mapper/EmployeeTrainingMapper.xml @@ -45,8 +45,14 @@ e.theoretical_exam_score as theoreticalExamScore, e.practical_exam_status as practicalExamStatus, e.practical_exam_score as practicalExamScore, - e.assessment_status as assessmentStatus - + e.assessment_status as assessmentStatus, + e.training_teacher_user_id as trainingTeacherUserId, + e.practical_assessment_user_id as practicalAssessmentUserId, + e.training_start_time as trainingStartTime, + e.training_end_time as trainingEndTime, + e.training_store_id as trainingStoreId, + e.estimated_assessment_time as estimatedAssessmentTime, + e.actual_assessment_time as actualAssessmentTime 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 diff --git a/coolstore-partner-model/src/main/java/com/cool/store/entity/AssessmentDataDO.java b/coolstore-partner-model/src/main/java/com/cool/store/entity/AssessmentDataDO.java index f3fb1776a..b3a2d9598 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/entity/AssessmentDataDO.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/entity/AssessmentDataDO.java @@ -55,4 +55,8 @@ public class AssessmentDataDO { */ private String comments; + private String picture; + + private String video; + } \ No newline at end of file diff --git a/coolstore-partner-model/src/main/java/com/cool/store/entity/AssessmentTemplateDO.java b/coolstore-partner-model/src/main/java/com/cool/store/entity/AssessmentTemplateDO.java index cf0d4e304..04b9b66a0 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/entity/AssessmentTemplateDO.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/entity/AssessmentTemplateDO.java @@ -1,7 +1,10 @@ package com.cool.store.entity; +import lombok.Data; + import javax.persistence.*; +@Data @Table(name = "xfsg_assessment_template") public class AssessmentTemplateDO { @Id @@ -41,125 +44,6 @@ public class AssessmentTemplateDO { @Column(name = "template_requirements") private String templateRequirements; - /** - * @return id - */ - public Long getId() { - return id; - } - - /** - * @param id - */ - public void setId(Long id) { - this.id = id; - } - - /** - * 获取模板类型:0 - 教练员, 1 - 店长, 2 - 店员, 3 - 三方验收 - * - * @return type - 模板类型:0 - 教练员, 1 - 店长, 2 - 店员, 3 - 三方验收 - */ - public Integer getType() { - return type; - } - - /** - * 设置模板类型:0 - 教练员, 1 - 店长, 2 - 店员, 3 - 三方验收 - * - * @param type 模板类型:0 - 教练员, 1 - 店长, 2 - 店员, 3 - 三方验收 - */ - public void setType(Integer type) { - this.type = type; - } - - /** - * 获取模板类别,可为空 - * - * @return category - 模板类别,可为空 - */ - public String getCategory() { - return category; - } - - /** - * 设置模板类别,可为空 - * - * @param category 模板类别,可为空 - */ - public void setCategory(String category) { - this.category = category; - } - - /** - * 获取模板名称 - * - * @return template_name - 模板名称 - */ - public String getTemplateName() { - return templateName; - } - - /** - * 设置模板名称 - * - * @param templateName 模板名称 - */ - public void setTemplateName(String templateName) { - this.templateName = templateName; - } - - /** - * 获取模板remark - * - * @return template_remark - 模板remark - */ - public String getTemplateRemark() { - return templateRemark; - } - - /** - * 设置模板remark - * - * @param templateRemark 模板remark - */ - public void setTemplateRemark(String templateRemark) { - this.templateRemark = templateRemark; - } - - /** - * 获取考核项分值 - * - * @return score - 考核项分值 - */ - public Long getScore() { - return score; - } - - /** - * 设置考核项分值 - * - * @param score 考核项分值 - */ - public void setScore(Long score) { - this.score = score; - } - - /** - * 获取模板要求明细,包括详细的考核要求描述 - * - * @return template_requirements - 模板要求明细,包括详细的考核要求描述 - */ - public String getTemplateRequirements() { - return templateRequirements; - } - - /** - * 设置模板要求明细,包括详细的考核要求描述 - * - * @param templateRequirements 模板要求明细,包括详细的考核要求描述 - */ - public void setTemplateRequirements(String templateRequirements) { - this.templateRequirements = templateRequirements; - } + @Column(name = "check_type") + private String checkType; } \ No newline at end of file diff --git a/coolstore-partner-model/src/main/java/com/cool/store/request/EmployeeAssessmentCommitRequest.java b/coolstore-partner-model/src/main/java/com/cool/store/request/EmployeeAssessmentCommitRequest.java index 1ee6a66c8..4c1bd1c3a 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/request/EmployeeAssessmentCommitRequest.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/request/EmployeeAssessmentCommitRequest.java @@ -24,4 +24,10 @@ public class EmployeeAssessmentCommitRequest { @ApiModelProperty("评语") private String comments; + + @ApiModelProperty("图片") + private String picture; + + @ApiModelProperty("视频") + private String video; } diff --git a/coolstore-partner-model/src/main/java/com/cool/store/request/EmployeeTrainingCommitListRequest.java b/coolstore-partner-model/src/main/java/com/cool/store/request/EmployeeTrainingCommitListRequest.java index 3d09a7536..0de8fef2f 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/request/EmployeeTrainingCommitListRequest.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/request/EmployeeTrainingCommitListRequest.java @@ -12,6 +12,9 @@ import java.util.List; @Data public class EmployeeTrainingCommitListRequest { + @ApiModelProperty("员工id") + private Long userDetailId; + @ApiModelProperty("培训结果列表") List list; } diff --git a/coolstore-partner-model/src/main/java/com/cool/store/vo/AssessmentTemplateDataVO.java b/coolstore-partner-model/src/main/java/com/cool/store/vo/AssessmentTemplateDataVO.java index 07eb7e342..873c5d630 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/vo/AssessmentTemplateDataVO.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/vo/AssessmentTemplateDataVO.java @@ -80,5 +80,12 @@ public class AssessmentTemplateDataVO { @ApiModelProperty("评语") private String comments; + @ApiModelProperty("考核方式") + private String checkType; + @ApiModelProperty("图片") + private String picture; + + @ApiModelProperty("视频") + private String video; } diff --git a/coolstore-partner-model/src/main/java/com/cool/store/vo/EmployeeTrainingVO.java b/coolstore-partner-model/src/main/java/com/cool/store/vo/EmployeeTrainingVO.java index 511dba323..9180bbc8b 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/vo/EmployeeTrainingVO.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/vo/EmployeeTrainingVO.java @@ -70,6 +70,12 @@ public class EmployeeTrainingVO { @ApiModelProperty("实训结束时间") private Date trainingEndTime; + /** + * 实训结束时间 + */ + @ApiModelProperty("实训开始时间") + private Date trainingStartTime; + /** * 实训门店ID */ diff --git a/coolstore-partner-model/src/main/java/com/cool/store/vo/EmployeeUserTrainingVO.java b/coolstore-partner-model/src/main/java/com/cool/store/vo/EmployeeUserTrainingVO.java index 938438bfb..97d4c4cd6 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/vo/EmployeeUserTrainingVO.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/vo/EmployeeUserTrainingVO.java @@ -35,7 +35,7 @@ public class EmployeeUserTrainingVO { private Long shopId; @ApiModelProperty("店铺名称") - private Long shopName; + private String shopName; @ApiModelProperty("培训id") private Long employeeTrainingId; diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/EmployeeTrainingServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/EmployeeTrainingServiceImpl.java index b7e1651b8..09fab01c0 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/EmployeeTrainingServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/EmployeeTrainingServiceImpl.java @@ -81,10 +81,29 @@ public class EmployeeTrainingServiceImpl implements EmployeeTrainingService { List regionIds = list.stream().map(EmployeeTrainingVO::getRegionId).distinct().collect(Collectors.toList()); + List storeIdList = list.stream().map(EmployeeTrainingVO::getTrainingStoreId).distinct().collect(Collectors.toList()); + + List storeDOList = storeDAO.getEffectiveStoreByStoreIds(storeIdList); + Map storeNameMap = storeDOList.stream().collect(Collectors.toMap(StoreDO::getStoreId, StoreDO::getStoreName)); + + List userIdList = list.stream().map(EmployeeTrainingVO::getTrainingTeacherUserId).distinct().collect(Collectors.toList()); + + + List practicalUserIdList = list.stream().map(EmployeeTrainingVO::getPracticalAssessmentUserId).distinct().collect(Collectors.toList()); + + if (CollectionUtils.isNotEmpty(practicalUserIdList)) { + userIdList.addAll(practicalUserIdList); + } + + Map userNameMap = enterpriseUserDAO.getUserNameMap(userIdList); + Map regionNameMap = regionService.getBelongWarRegionNameMap(regionIds); list.forEach(item -> { item.setRegionNodeName(regionNameMap.get(item.getRegionId())); + item.setTrainingStoreName(storeNameMap.get(item.getTrainingStoreId())); + item.setTrainingTeacherUserName(userNameMap.get(item.getTrainingTeacherUserId())); + item.setPracticalAssessmentUserName(userNameMap.get(item.getPracticalAssessmentUserId())); }); return new PageInfo<>(list); } @@ -179,7 +198,7 @@ public class EmployeeTrainingServiceImpl implements EmployeeTrainingService { assessmentDataDO.setShopId(shopId); assessmentDataDOList.add(assessmentDataDO); }); - assessmentDataDAO.batchInsert(assessmentDataDOList); + assessmentDataDAO.batchInsertDO(assessmentDataDOList); } @Override @@ -207,6 +226,9 @@ public class EmployeeTrainingServiceImpl implements EmployeeTrainingService { @Override public List trainerUserList(String userId, Integer status) { List list = employeeTrainingDAO.trainingListByShopId(null, userId, status); + if(CollectionUtils.isEmpty(list)){ + return list; + } List storeIdList = list.stream().map(EmployeeTrainingVO::getTrainingStoreId).collect(Collectors.toList()); List storeDOList = storeDAO.getEffectiveStoreByStoreIds(storeIdList); Map storeNameMap = storeDOList.stream().collect(Collectors.toMap(StoreDO::getStoreId, StoreDO::getStoreName)); @@ -239,6 +261,20 @@ public class EmployeeTrainingServiceImpl implements EmployeeTrainingService { employeeUserTrainingVO.setMobile(tempUserDetailDO.getMobile()); employeeUserTrainingVO.setRoleId(tempUserDetailDO.getRoleId()); employeeUserTrainingVO.setIdCard(tempUserDetailDO.getIdCard()); + employeeUserTrainingVO.setId(tempUserDetailDO.getId()); + employeeUserTrainingVO.setUsername(tempUserDetailDO.getUsername()); + employeeUserTrainingVO.setRegionId(tempUserDetailDO.getRegionId()); + employeeUserTrainingVO.setShopId(tempUserDetailDO.getShopId()); + ShopInfoDO shopInfoDO = shopInfoDAO.getShopInfo(tempUserDetailDO.getShopId()); + if(shopInfoDO != null){ + employeeUserTrainingVO.setShopName(shopInfoDO.getShopName()); + } + StoreDO storeDO = storeDAO.getByStoreId(employeeTrainingDO.getTrainingStoreId()); + if(storeDO != null){ + employeeUserTrainingVO.setTrainingStoreName(storeDO.getStoreName()); + } + + employeeUserTrainingVO.setTrainingTeacherUserName(enterpriseUserDAO.getUserName(employeeTrainingDO.getTrainingTeacherUserId())); List assessmentTemplateDOList = assessmentTemplateDAO.listByType(AssessmentTemplateType.TRAINER.getCode()); List templateIdList = assessmentTemplateDOList.stream().map(AssessmentTemplateDO::getId).collect(Collectors.toList()); @@ -280,8 +316,8 @@ public class EmployeeTrainingServiceImpl implements EmployeeTrainingService { if (CollectionUtils.isEmpty(request.getList())) { return; } - Long shopId = request.getList().get(0).getShopId(); - Long userDetailId = request.getList().get(0).getShopId(); + + Long userDetailId = request.getUserDetailId(); TempUserDetailDO tempUserDetailDO = tempUserDetailDAO.selectById(userDetailId); EmployeeTrainingDO employeeTrainingDO = employeeTrainingDAO.selectByUserDetailId(userDetailId); @@ -300,13 +336,13 @@ public class EmployeeTrainingServiceImpl implements EmployeeTrainingService { } else { assessmentDataDO = new AssessmentDataDO(); assessmentDataDO.setTemplateId(item.getTemplateId()); - assessmentDataDO.setAssessmentUserId(item.getUserDetailId()); + assessmentDataDO.setAssessmentUserId(userId); assessmentDataDO.setShopId(item.getShopId()); assessmentDataDO.setQualified(item.getQualified()); assessmentDataDAO.insertSelective(assessmentDataDO); } }); - Integer num = assessmentDataDAO.selectCount(userId, shopId); + Integer num = assessmentDataDAO.selectCount(userId, tempUserDetailDO.getShopId()); employeeTrainingDO.setAssessmentNum(num); if (num.equals(employeeTrainingDO.getAssessmentTotalNum())) { employeeTrainingDO.setAssessmentStatus(1); @@ -396,6 +432,8 @@ public class EmployeeTrainingServiceImpl implements EmployeeTrainingService { assessmentTemplateDataVO.setComments(assessmentDataDO.getComments()); assessmentTemplateDataVO.setQualified(assessmentDataDO.getQualified()); assessmentTemplateDataVO.setAssessmentDataId(assessmentDataDO.getId()); + assessmentTemplateDataVO.setPicture(assessmentDataDO.getPicture()); + assessmentTemplateDataVO.setVideo(assessmentDataDO.getVideo()); } assessmentTemplateDataVO.setScore(item.getScore()); assessmentTemplateDataVO.setTemplateName(item.getTemplateName()); @@ -405,6 +443,7 @@ public class EmployeeTrainingServiceImpl implements EmployeeTrainingService { assessmentTemplateDataVO.setType(item.getType()); assessmentTemplateDataVO.setCategory(item.getCategory()); assessmentTemplateDataVO.setTemplateRequirements(item.getTemplateRequirements()); + assessmentTemplateDataVO.setCheckType(item.getCheckType()); templateDataVOList.add(assessmentTemplateDataVO); }); assessmentUserTrainingVO.setTemplateDataList(templateDataVOList); diff --git a/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/EmployeeTrainingController.java b/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/EmployeeTrainingController.java index 3e2d81c87..888f041ae 100644 --- a/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/EmployeeTrainingController.java +++ b/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/EmployeeTrainingController.java @@ -62,9 +62,9 @@ public class EmployeeTrainingController { @ApiOperation("培训-教练员-员工列表") @PostMapping("/trainerUserList") @ApiImplicitParams({ - @ApiImplicitParam(name = "status", value = "带训状态 0-未完成 1-已完成", required = true) + @ApiImplicitParam(name = "status", value = "带训状态 0-未完成 1-已完成") }) - public ResponseResult> trainerUserList(@RequestParam("status") Integer status) { + public ResponseResult> trainerUserList(@RequestParam(value = "status", required = false) Integer status) { return ResponseResult.success(employeeTrainingService.trainerUserList(CurrentUserHolder.getUserId(), status)); } diff --git a/coolstore-partner-web/src/main/java/com/cool/store/controller/webc/MiniEmployeeTrainingController.java b/coolstore-partner-web/src/main/java/com/cool/store/controller/webc/MiniEmployeeTrainingController.java index c04d7310d..6d56670f7 100644 --- a/coolstore-partner-web/src/main/java/com/cool/store/controller/webc/MiniEmployeeTrainingController.java +++ b/coolstore-partner-web/src/main/java/com/cool/store/controller/webc/MiniEmployeeTrainingController.java @@ -3,12 +3,14 @@ package com.cool.store.controller.webc; import com.cool.store.response.ResponseResult; import com.cool.store.service.EmployeeTrainingService; import com.cool.store.vo.EmployeeTrainingVO; -import com.github.pagehelper.PageInfo; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; -import org.springframework.web.bind.annotation.*; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; import java.util.List;