This commit is contained in:
bianyadong
2024-05-10 15:00:13 +08:00
parent 03bda50bce
commit 01dde13901
11 changed files with 74 additions and 14 deletions

View File

@@ -101,6 +101,10 @@ public enum MessageEnum {
case MESSAGE_14:
return "dingtalk://dingtalkclient/action/open_micro_app?appId="+appId+"&corpId="+corpId+"&page=" +
URLEncoder.encode("pages/common-web-view/index?noticeType=xfsg&routerUrl=notice&target=pointPush&timestamp="+System.currentTimeMillis()+"&lineId="+ paramMap.get("lineId"), StandardCharsets.UTF_8.name());
case MESSAGE_21:
case MESSAGE_22:
return "dingtalk://dingtalkclient/action/open_micro_app?appId="+appId+"&corpId="+corpId+"&page=" +
URLEncoder.encode("pages/common-web-view/index?noticeType=xfsg&routerUrl=notice&target=employeeTraining&timestamp="+System.currentTimeMillis()+"&userDetailId="+ paramMap.get("userDetailId"), StandardCharsets.UTF_8.name());
default:
return "";
}

View File

@@ -32,7 +32,7 @@ public class EmployeeTrainingDAO {
Integer assessmentStatus,
Boolean assignStoreFlag) {
return employeeTrainingMapper.employeeTrainingMapper(keyWord, regionIdList, authRegionIdList, assignFlag, beginTime, endTime, storeNumList,
return employeeTrainingMapper.employeeTrainingList(keyWord, regionIdList, authRegionIdList, assignFlag, beginTime, endTime, storeNumList,
theoreticalExamStatus, practicalExamStatus, assessmentStatus, assignStoreFlag);
}

View File

@@ -95,6 +95,13 @@ public class EnterpriseUserDAO {
return enterpriseUserMapper.getUserListByRegionIds( regionIds);
}
public List<String> getUserIdListByRegionId(Long regionId, List<String> userIdList){
if(CollectionUtils.isEmpty(userIdList) || regionId == null){
return Lists.newArrayList();
}
return enterpriseUserMapper.getUserIdListByRegionId(regionId, userIdList);
}
public Map<String, String> getUserNameAndMobile(List<String> userIds){
List<EnterpriseUserDO> userList = getUserInfoByUserIds(userIds);
return userList.stream().filter(o->!StringUtils.isAnyBlank(o.getMobile())).collect(Collectors.toMap(k -> k.getUserId(), v -> v.getName() + " " + v.getMobile()));

View File

@@ -11,7 +11,7 @@ import java.util.List;
public interface EmployeeTrainingMapper extends Mapper<EmployeeTrainingDO> {
List<EmployeeTrainingVO> employeeTrainingMapper(@Param("keyWord") String keyWord, @Param("regionIdList") List<String> regionIdList,
List<EmployeeTrainingVO> employeeTrainingList(@Param("keyWord") String keyWord, @Param("regionIdList") List<String> regionIdList,
@Param("authRegionIdList") List<String> authRegionIdList, @Param("assignFlag") Boolean assignFlag,
@Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("storeNumList") List<String> storeNumList,
@Param("theoreticalExamStatus") Integer theoreticalExamStatus,

View File

@@ -77,4 +77,10 @@ public interface EnterpriseUserMapper {
* @description: 根据userid查询名字
*/
List<UserNameDTO> selectNameByUserId(@Param("userIdList") List<String> userId);
/**
* 获取部门人员
* @return
*/
List<String> getUserIdListByRegionId( @Param("regionId") Long regionId, @Param("userIdList") List<String> userId);
}

View File

@@ -28,7 +28,7 @@
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime"/>
<result column="deleted" jdbcType="BIT" property="deleted"/>
</resultMap>
<select id="employeeTrainingMapper" resultType="com.cool.store.vo.EmployeeTrainingVO">
<select id="employeeTrainingList" resultType="com.cool.store.vo.EmployeeTrainingVO">
select
u.id,
u.username,

View File

@@ -152,6 +152,15 @@
</foreach>
</select>
<select id="getUserIdListByRegionId" resultType="java.lang.String">
select user_id as userId
from enterprise_user_${enterpriseId}
where user_id in
<foreach item="userId" index="index" collection="userIdList" open="(" separator="," close=")">
#{userId}
</foreach>
and user_region_ids like concat('%', #{regionId}, '%')
</select>
</mapper>

View File

@@ -23,7 +23,7 @@ public interface EmployeeTrainingService {
List<EmployeeTrainingVO> trainingListByShopId(Long shopId);
List<EmployeeTrainingVO> trainerUserList(String userId, Integer status);
PageInfo<EmployeeTrainingVO> trainerUserList(String userId, Integer status, Integer pageNum, Integer pageSize);
EmployeeUserTrainingVO trainerUserDetail(Long id);

View File

@@ -11,6 +11,7 @@ import com.cool.store.dto.openPreparation.PlanLineDTO;
import com.cool.store.entity.*;
import com.cool.store.enums.AssessmentTemplateType;
import com.cool.store.enums.ExamStatusEnum;
import com.cool.store.enums.MessageEnum;
import com.cool.store.enums.video.ResourceStatusEnum;
import com.cool.store.enums.video.UploadTypeEnum;
import com.cool.store.exception.ServiceException;
@@ -83,6 +84,9 @@ public class EmployeeTrainingServiceImpl implements EmployeeTrainingService {
@Resource
private LineInfoDAO lineInfoDAO;
@Resource
private CommonService commonService;
@Override
public PageInfo<EmployeeTrainingVO> employeeTrainingList(String userId, EmployeeTrainingRequest request) {
List<String> authRegionIdList = new ArrayList<>();
@@ -246,6 +250,14 @@ public class EmployeeTrainingServiceImpl implements EmployeeTrainingService {
assessmentDataDOList.add(assessmentDataDO);
});
assessmentDataDAO.batchInsertDO(assessmentDataDOList);
Map<String, String> messageMap = new HashMap<>();
messageMap.put("userName", tempUserDetailDO.getUsername());
messageMap.put("mobile", tempUserDetailDO.getMobile());
messageMap.put("registerTime", DateUtils.dateTime(tempUserDetailDO.getRegisterTime()));
messageMap.put("userDetailId", tempUserDetailDO.getId().toString());
commonService.sendMessage(Collections.singletonList(employeeTrainingDO.getTrainingTeacherUserId()), MessageEnum.MESSAGE_22, messageMap);
}
@Override
@@ -274,10 +286,11 @@ public class EmployeeTrainingServiceImpl implements EmployeeTrainingService {
}
@Override
public List<EmployeeTrainingVO> trainerUserList(String userId, Integer status) {
public PageInfo<EmployeeTrainingVO> trainerUserList(String userId, Integer status, Integer pageNum, Integer pageSize) {
PageHelper.startPage(pageNum, pageSize);
List<EmployeeTrainingVO> list = employeeTrainingDAO.trainingListByShopId(null, userId, status);
if (CollectionUtils.isEmpty(list)) {
return list;
return new PageInfo<>();
}
List<String> storeIdList = list.stream().map(EmployeeTrainingVO::getTrainingStoreId).collect(Collectors.toList());
List<StoreDO> storeDOList = storeDAO.getEffectiveStoreByStoreIds(storeIdList);
@@ -290,7 +303,7 @@ public class EmployeeTrainingServiceImpl implements EmployeeTrainingService {
item.setTrainingStoreName(storeNameMap.get(item.getTrainingStoreId()));
item.setRegionNodeName(regionNameMap.get(item.getRegionId()));
});
return list;
return new PageInfo<>(list);
}
@Override

View File

@@ -1,15 +1,14 @@
package com.cool.store.service.impl;
import com.cool.store.dao.EnterpriseUserDAO;
import com.cool.store.dao.ShopInfoDAO;
import com.cool.store.dao.ShopStageInfoDAO;
import com.cool.store.dao.TempUserDetailDAO;
import com.cool.store.dao.*;
import com.cool.store.dto.ehr.StaffBaseInfoDTO;
import com.cool.store.entity.EnterpriseUserDO;
import com.cool.store.entity.ShopInfoDO;
import com.cool.store.entity.ShopStageInfoDO;
import com.cool.store.entity.TempUserDetailDO;
import com.cool.store.enums.ErrorCodeEnum;
import com.cool.store.enums.MessageEnum;
import com.cool.store.enums.UserRoleEnum;
import com.cool.store.enums.point.ShopSubStageEnum;
import com.cool.store.enums.point.ShopSubStageStatusEnum;
import com.cool.store.exception.ServiceException;
@@ -17,6 +16,7 @@ import com.cool.store.request.TempUserDetailRequest;
import com.cool.store.service.TempUserDetailService;
import com.cool.store.service.XfsgEhrService;
import com.cool.store.utils.StringUtil;
import com.cool.store.utils.poi.DateUtils;
import com.cool.store.vo.TempUserDetailInfoVO;
import com.cool.store.vo.TempUserDetailListVO;
import com.cool.store.vo.TempUserDetailVO;
@@ -49,6 +49,12 @@ public class TempUserDetailServiceImpl implements TempUserDetailService {
@Autowired
private ShopStageInfoDAO shopStageInfoDAO;
@Autowired
private CommonService commonService;
@Autowired
private EnterpriseUserRoleDao enterpriseUserRoleDao;
@Override
public TempUserDetailListVO userList(Long shopId) {
List<TempUserDetailDO> tempUserDetailDOList = tempUserDetailDAO.userList(shopId);
@@ -120,6 +126,17 @@ public class TempUserDetailServiceImpl implements TempUserDetailService {
tempUserDetailDO.setSubmitTime(new Date());
tempUserDetailDO.setSource("create");
tempUserDetailDAO.insertSelective(tempUserDetailDO);
List<String> userIdList = enterpriseUserRoleDao.getUserIdsByRoleIdList(Collections.singletonList(UserRoleEnum.TRAINER.getCode()));
//
userIdList = enterpriseUserDAO.getUserIdListByRegionId(shopInfoDO.getRegionId(), userIdList);
Map<String, String> messageMap = new HashMap<>();
messageMap.put("userName", tempUserDetailRequest.getName());
messageMap.put("mobile", tempUserDetailRequest.getPhone());
messageMap.put("registerTime", DateUtils.dateTime(tempUserDetailRequest.getRegisterTime()));
messageMap.put("userDetailId", tempUserDetailDO.getId().toString());
commonService.sendMessage(userIdList, MessageEnum.MESSAGE_21, messageMap);
}
@Override

View File

@@ -72,10 +72,14 @@ public class EmployeeTrainingController {
@ApiOperation("培训-教练员-员工列表")
@PostMapping("/trainerUserList")
@ApiImplicitParams({
@ApiImplicitParam(name = "status", value = "带训状态 0-未完成 1-已完成")
@ApiImplicitParam(name = "status", value = "带训状态 0-未完成 1-已完成"),
@ApiImplicitParam(name = "pageNum", value = "分页页数"),
@ApiImplicitParam(name = "pageSize", value = "分页大小"),
})
public ResponseResult<List<EmployeeTrainingVO>> trainerUserList(@RequestParam(value = "status", required = false) Integer status) {
return ResponseResult.success(employeeTrainingService.trainerUserList(CurrentUserHolder.getUserId(), status));
public ResponseResult<PageInfo<EmployeeTrainingVO>> trainerUserList(@RequestParam(value = "status", required = false) Integer status,
@RequestParam(value = "pageNum" ,defaultValue = "1")Integer pageNum,
@RequestParam(value = "pageSize",defaultValue = "10")Integer pageSize) {
return ResponseResult.success(employeeTrainingService.trainerUserList(CurrentUserHolder.getUserId(), status, pageNum, pageSize));
}
@ApiOperation("培训-教练员-员工带训详情")