员工培训

This commit is contained in:
bianyadong
2024-05-06 18:30:03 +08:00
parent 3c0c5c1cd3
commit 253ea49237
11 changed files with 80 additions and 75 deletions

View File

@@ -36,6 +36,7 @@
u.region_id as regionId,
u.role_id as roleId,
u.shop_id as shopId,
u.register_time as registerTime,
s.shop_name as shopName,
e.id as employeeTrainingId,
e.assessment_num as assessmentNum,
@@ -45,6 +46,7 @@
e.practical_exam_status as practicalExamStatus,
e.practical_exam_score as practicalExamScore,
e.assessment_status as assessmentStatus
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
@@ -68,10 +70,10 @@
and e.assign_flag = #{assignFlag}
</if>
<if test="beginTime != null and beginTime != ''">
and e.register_time &gt;= #{beginTime}
and u.register_time &gt;= #{beginTime}
</if>
<if test="endTime != null and endTime != ''">
and e.register_time &lt;= #{endTime}
and u.register_time &lt;= #{endTime}
</if>
<if test="shopIdList != null and shopIdList.size() > 0">
and u.shop_id in

View File

@@ -40,13 +40,6 @@ public class EmployeeTrainingDetailRequest {
private String trainingTeacherUserId;
/**
* 实操考核人员ID
*/
@ApiModelProperty("实操考核人员ID")
private String practicalAssessmentUserId;
/**
* 预计考核时间
*/

View File

@@ -104,6 +104,10 @@ public class AssessmentUserTrainingVO {
private Integer assessmentStatus;
@ApiModelProperty("所属区域")
private String regionNodeName;
@ApiModelProperty("考核数据")
List<AssessmentTemplateDataVO> templateDataList;

View File

@@ -30,7 +30,7 @@ public class EmployeeTrainingDetailVO {
private Long regionId;
@ApiModelProperty("角色id 170000000-店长 180000000-店员")
private String roleId;
private Long roleId;
@ApiModelProperty("店铺id")
private Long shopId;
@@ -42,15 +42,9 @@ public class EmployeeTrainingDetailVO {
private Long employeeTrainingId;
@ApiModelProperty("战区名称")
private String regionName;
@ApiModelProperty("大区ID")
private Long largeRegionId;
@ApiModelProperty("大区名称")
private String largeRegionName;
@ApiModelProperty("所属区域")
private String regionNodeName;
/**
* 实训开始时间
*/

View File

@@ -35,7 +35,7 @@ public class EmployeeTrainingVO {
private Long shopId;
@ApiModelProperty("店铺名称")
private Long shopName;
private String shopName;
@ApiModelProperty("培训id")
private Long employeeTrainingId;
@@ -61,14 +61,9 @@ public class EmployeeTrainingVO {
@ApiModelProperty("考核状态 0-培训中 1-带考核 2-考核通过 3-考核不通过")
private Integer assessmentStatus;
@ApiModelProperty("战区名称")
private String regionName;
@ApiModelProperty("大区ID")
private Long largeRegionId;
@ApiModelProperty("大区名称")
private String largeRegionName;
@ApiModelProperty("所属区域")
private String regionNodeName;
/**
* 实训结束时间
*/
@@ -119,4 +114,7 @@ public class EmployeeTrainingVO {
*/
@ApiModelProperty("实际考核时间")
private Date actualAssessmentTime;
@ApiModelProperty("登记时间")
private Date registerTime;
}

View File

@@ -78,6 +78,9 @@ public class EmployeeUserTrainingVO {
@ApiModelProperty("带教老师名称")
private String trainingTeacherUserName;
@ApiModelProperty("所属区域")
private String regionNodeName;
@ApiModelProperty("培训数据")
List<AssessmentTemplateDataVO> templateDataList;

View File

@@ -36,14 +36,9 @@ public class OpenAcceptanceInfoListVO {
@ApiModelProperty("战区Id")
private Long regionId;
@ApiModelProperty("战区名称")
private String regionName;
@ApiModelProperty("所属区域")
private String regionNodeName;
@ApiModelProperty("大区ID")
private Long largeRegionId;
@ApiModelProperty("大区名称")
private String largeRegionName;
@ApiModelProperty("计划开业时间")
private Date planOpenTime;
@ApiModelProperty("新店开业结束时间")

View File

@@ -75,14 +75,16 @@ public class EmployeeTrainingServiceImpl implements EmployeeTrainingService {
DateUtils.parseLongDateToStr(request.getBeginTime()),
DateUtils.parseLongDateToStr(request.getEndTime()), null,
request.getTheoreticalExamStatus(), request.getPracticalExamStatus(), request.getAssessmentStatus());
if (CollectionUtils.isEmpty(list)) {
return new PageInfo<>(list);
}
List<Long> regionIds = list.stream().map(EmployeeTrainingVO::getRegionId).distinct().collect(Collectors.toList());
Map<Long, String> regionNameMap = regionService.getBelongWarRegionNameMap(regionIds);
list.forEach(item -> {
Long regionId = item.getRegionId();
Long bigRegionIdByAreaId = regionService.getBigRegionIdByAreaId(item.getRegionId());
Map<Long, String> regionNameMap = regionDao.getRegionNameMap(Arrays.asList(bigRegionIdByAreaId, item.getRegionId()));
item.setRegionName(regionNameMap.get(item.getRegionId()));
item.setLargeRegionId(bigRegionIdByAreaId);
item.setLargeRegionName(regionNameMap.get(bigRegionIdByAreaId));
item.setRegionNodeName(regionNameMap.get(item.getRegionId()));
});
return new PageInfo<>(list);
}
@@ -99,6 +101,8 @@ public class EmployeeTrainingServiceImpl implements EmployeeTrainingService {
employeeTrainingVO.setTrainingStartTime(employeeTrainingDO.getTrainingStartTime());
employeeTrainingVO.setTrainingEndTime(employeeTrainingDO.getTrainingEndTime());
employeeTrainingVO.setTrainingStoreId(employeeTrainingDO.getTrainingStoreId());
employeeTrainingVO.setRoleId(tempUserDetailDO.getRoleId());
employeeTrainingVO.setEmployeeTrainingId(employeeTrainingDO.getId());
StoreDO storeDO = storeDAO.getByStoreId(employeeTrainingDO.getTrainingStoreId());
if (storeDO != null) {
employeeTrainingVO.setTrainingStoreName(storeDO.getStoreName());
@@ -120,11 +124,9 @@ public class EmployeeTrainingServiceImpl implements EmployeeTrainingService {
employeeTrainingVO.setShopId(employeeTrainingDO.getShopId());
ShopInfoDO shopInfoDO = shopInfoDAO.getShopInfo(employeeTrainingDO.getShopId());
employeeTrainingVO.setShopName(shopInfoDO.getShopName());
Long bigRegionIdByAreaId = regionService.getBigRegionIdByAreaId(employeeTrainingDO.getRegionId());
Map<Long, String> regionNameMap = regionDao.getRegionNameMap(Arrays.asList(bigRegionIdByAreaId, employeeTrainingDO.getRegionId()));
employeeTrainingVO.setRegionName(regionNameMap.get(employeeTrainingDO.getRegionId()));
employeeTrainingVO.setLargeRegionId(bigRegionIdByAreaId);
employeeTrainingVO.setLargeRegionName(regionNameMap.get(bigRegionIdByAreaId));
Map<Long, String> regionNameMap = regionService.getBelongWarRegionNameMap(Collections.singletonList(employeeTrainingDO.getRegionId()));
employeeTrainingVO.setRegionNodeName(regionNameMap.get(employeeTrainingDO.getRegionId()));
employeeTrainingVO.setRegionId(employeeTrainingDO.getRegionId());
employeeTrainingVO.setMobile(tempUserDetailDO.getMobile());
employeeTrainingVO.setUsername(tempUserDetailDO.getUsername());
@@ -142,7 +144,7 @@ public class EmployeeTrainingServiceImpl implements EmployeeTrainingService {
EmployeeTrainingDO employeeTrainingDO = employeeTrainingDAO.selectByUserDetailId(request.getId());
if (employeeTrainingDO != null && employeeTrainingDO.getAssignFlag()) {
throw new ServiceException("已经分配");
throw new ServiceException("已经分配培训,无法再次分配");
}
if (employeeTrainingDO == null) {
employeeTrainingDO = new EmployeeTrainingDO();
@@ -154,7 +156,6 @@ public class EmployeeTrainingServiceImpl implements EmployeeTrainingService {
employeeTrainingDO.setTrainingStoreId(request.getTrainingStoreId());
employeeTrainingDO.setTrainingStartTime(request.getTrainingStartTime());
employeeTrainingDO.setTrainingEndTime(request.getTrainingEndTime());
employeeTrainingDO.setPracticalAssessmentUserId(request.getPracticalAssessmentUserId());
employeeTrainingDO.setEstimatedAssessmentTime(request.getEstimatedAssessmentTime());
employeeTrainingDO.setAssessmentNum(0);
employeeTrainingDO.setAssessmentTotalNum(assessmentTemplateDOList.size());
@@ -185,11 +186,20 @@ public class EmployeeTrainingServiceImpl implements EmployeeTrainingService {
public List<EmployeeTrainingVO> trainingListByShopId(Long shopId) {
List<EmployeeTrainingVO> list = employeeTrainingDAO.trainingListByShopId(shopId, null, null);
if (CollectionUtils.isEmpty(list)) {
return list;
}
List<String> storeIdList = list.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));
List<Long> regionIdList = list.stream().map(EmployeeTrainingVO::getRegionId).collect(Collectors.toList());
Map<Long, String> regionNameMap = regionService.getBelongWarRegionNameMap(regionIdList);
list.forEach(item -> {
StoreDO storeDO = storeDAO.getByStoreId(item.getTrainingStoreId());
if (storeDO != null) {
item.setTrainingStoreName(storeDO.getStoreName());
}
item.setTrainingStoreName(storeNameMap.get(item.getTrainingStoreId()));
item.setRegionNodeName(regionNameMap.get(item.getRegionId()));
});
return list;
}
@@ -197,11 +207,16 @@ public class EmployeeTrainingServiceImpl implements EmployeeTrainingService {
@Override
public List<EmployeeTrainingVO> trainerUserList(String userId, Integer status) {
List<EmployeeTrainingVO> list = employeeTrainingDAO.trainingListByShopId(null, userId, status);
List<String> storeIdList = list.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));
List<Long> regionIdList = list.stream().map(EmployeeTrainingVO::getRegionId).collect(Collectors.toList());
Map<Long, String> regionNameMap = regionService.getBelongWarRegionNameMap(regionIdList);
list.forEach(item -> {
StoreDO storeDO = storeDAO.getByStoreId(item.getTrainingStoreId());
if (storeDO != null) {
item.setTrainingStoreName(storeDO.getStoreName());
}
item.setTrainingStoreName(storeNameMap.get(item.getTrainingStoreId()));
item.setRegionNodeName(regionNameMap.get(item.getRegionId()));
});
return list;
}
@@ -254,6 +269,8 @@ public class EmployeeTrainingServiceImpl implements EmployeeTrainingService {
templateDataVOList.add(assessmentTemplateDataVO);
});
employeeUserTrainingVO.setTemplateDataList(templateDataVOList);
Map<Long, String> regionNameMap = regionService.getBelongWarRegionNameMap(Collections.singletonList(employeeTrainingDO.getRegionId()));
employeeUserTrainingVO.setRegionNodeName(regionNameMap.get(employeeTrainingDO.getRegionId()));
return employeeUserTrainingVO;
}
@@ -291,7 +308,7 @@ public class EmployeeTrainingServiceImpl implements EmployeeTrainingService {
});
Integer num = assessmentDataDAO.selectCount(userId, shopId);
employeeTrainingDO.setAssessmentNum(num);
if(num.equals(employeeTrainingDO.getAssessmentTotalNum())){
if (num.equals(employeeTrainingDO.getAssessmentTotalNum())) {
employeeTrainingDO.setAssessmentStatus(1);
}
employeeTrainingDAO.updateByPrimaryKeySelective(employeeTrainingDO);
@@ -312,8 +329,13 @@ public class EmployeeTrainingServiceImpl implements EmployeeTrainingService {
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));
List<Long> regionIdList = employeeTrainingVOList.stream().map(EmployeeTrainingVO::getRegionId).collect(Collectors.toList());
Map<Long, String> regionNameMap = regionService.getBelongWarRegionNameMap(regionIdList);
employeeTrainingVOList.forEach(item -> {
item.setTrainingStoreName(storeNameMap.get(item.getTrainingStoreId()));
item.setRegionNodeName(regionNameMap.get(item.getRegionId()));
});
return new PageInfo<>(employeeTrainingVOList);
}
@@ -351,6 +373,9 @@ public class EmployeeTrainingServiceImpl implements EmployeeTrainingService {
assessmentUserTrainingVO.setShopName(shopInfoDO.getShopName());
}
Map<Long, String> regionNameMap = regionService.getBelongWarRegionNameMap(Collections.singletonList(employeeTrainingDO.getRegionId()));
assessmentUserTrainingVO.setRegionNodeName(regionNameMap.get(employeeTrainingDO.getRegionId()));
List<AssessmentTemplateDO> assessmentTemplateDOList = assessmentTemplateDAO.listByType(AssessmentTemplateType.STORE_MANAGER.getCode());
List<Long> templateIdList = assessmentTemplateDOList.stream().map(AssessmentTemplateDO::getId).collect(Collectors.toList());
@@ -441,10 +466,10 @@ public class EmployeeTrainingServiceImpl implements EmployeeTrainingService {
}
employeeTrainingDO.setPracticalExamScore(totalScore.get().intValue());
employeeTrainingDO.setActualAssessmentTime(new Date());
if(employeeTrainingDO.getPracticalExamStatus() == 2 || employeeTrainingDO.getTheoreticalExamStatus() == 2){
if (employeeTrainingDO.getPracticalExamStatus() == 2 || employeeTrainingDO.getTheoreticalExamStatus() == 2) {
employeeTrainingDO.setAssessmentStatus(3);
}
if(employeeTrainingDO.getPracticalExamStatus() == 1 && employeeTrainingDO.getTheoreticalExamStatus() == 1){
if (employeeTrainingDO.getPracticalExamStatus() == 1 && employeeTrainingDO.getTheoreticalExamStatus() == 1) {
employeeTrainingDO.setAssessmentStatus(2);
}
employeeTrainingDAO.updateByPrimaryKeySelective(employeeTrainingDO);

View File

@@ -18,6 +18,7 @@ import com.cool.store.service.OpenAcceptanceInfoService;
import com.cool.store.service.RegionService;
import com.cool.store.utils.CoolDateUtils;
import com.cool.store.utils.poi.DateUtils;
import com.cool.store.vo.EmployeeTrainingVO;
import com.cool.store.vo.OpenAcceptanceInfoListVO;
import com.cool.store.vo.ShopAcceptanceVO;
import com.cool.store.vo.ShopStageAcceptanceVO;
@@ -28,6 +29,7 @@ import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.*;
import java.util.stream.Collectors;
/**
* @author byd
@@ -64,6 +66,10 @@ public class OpenAcceptanceInfoServiceImpl implements OpenAcceptanceInfoService
userIdList.add(vo.getAcceptanceUserId());
userIdList.add(vo.getInvestmentManager());
}
List<Long> regionIds = resultList.stream().map(OpenAcceptanceInfoListVO::getRegionId).distinct().collect(Collectors.toList());
Map<Long, String> regionNameMap = regionService.getBelongWarRegionNameMap(regionIds);
if (CollectionUtils.isNotEmpty(userIdList)) {
Map<String, String> userNameMap = userDAO.getUserNameMap(userIdList);
for (OpenAcceptanceInfoListVO vo : resultList) {
@@ -71,16 +77,12 @@ public class OpenAcceptanceInfoServiceImpl implements OpenAcceptanceInfoService
vo.setShopManagerUserName(userNameMap.get(vo.getShopManagerUserId()));
vo.setAcceptanceUserName(userNameMap.get(vo.getAcceptanceUserId()));
vo.setInvestmentManagerName(userNameMap.get(vo.getInvestmentManager()));
if(vo.getPlanOpenTime() != null){
if (vo.getPlanOpenTime() != null) {
vo.setPlanOpenEndTime(DateUtils.addDays(vo.getPlanOpenTime(), CommonConstants.THREE));
}
if (vo.getRegionId() != null) {
Long bigRegionIdByAreaId = regionService.getBigRegionIdByAreaId(vo.getRegionId());
Map<Long, String> regionNameMap = regionDao.getRegionNameMap(Arrays.asList(bigRegionIdByAreaId, vo.getRegionId()));
vo.setRegionId(vo.getRegionId());
vo.setRegionName(regionNameMap.get(vo.getRegionId()));
vo.setLargeRegionId(bigRegionIdByAreaId);
vo.setLargeRegionName(regionNameMap.get(bigRegionIdByAreaId));
vo.setRegionNodeName(regionNameMap.get(vo.getRegionId()));
}
}
}

View File

@@ -21,7 +21,7 @@ import java.util.List;
* @Version 1.0
*/
@RestController
@RequestMapping("/mini//newStoreOpening")
@RequestMapping("/mini/newStoreOpening")
@Api(tags = "mini新店开业")
public class MiniNewStoreOpeningController {

View File

@@ -62,15 +62,4 @@ public class TempUserDetailController {
public ResponseResult<TempUserDetailInfoVO> getUserInfoByIdUserDetailId(@RequestParam(value = "userDetailId") Long userDetailId) {
return ResponseResult.success(tempUserDetailService.getUserInfoByIdUserDetailId((userDetailId)));
}
@PostMapping(path = "/registrationCompleted")
@ApiOperation("培训登记-完成")
@ApiImplicitParams({
@ApiImplicitParam(name = "id", value = "店铺id shopId")
})
public ResponseResult<Boolean> registrationCompleted(@RequestBody IdRequest idRequest) {
tempUserDetailService.registrationCompleted((idRequest.getId()));
return ResponseResult.success(Boolean.TRUE);
}
}