| | |
| | | package com.gkhy.assess.system.service.impl; |
| | | |
| | | import cn.hutool.core.util.ObjectUtil; |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
| | | import com.gkhy.assess.common.enums.DeleteFlagEnum; |
| | | import com.gkhy.assess.common.exception.ApiException; |
| | | import com.gkhy.assess.common.utils.StringUtils; |
| | | import com.gkhy.assess.system.domain.AssPlanPerson; |
| | | import com.gkhy.assess.system.domain.SysUser; |
| | | import com.gkhy.assess.system.enums.PlayRoleEnum; |
| | | import com.gkhy.assess.system.mapper.AssPlanPersonMapper; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.gkhy.assess.system.mapper.SysUserMapper; |
| | | import com.gkhy.assess.system.service.AssPlanPersonService; |
| | | import com.gkhy.assess.system.service.AssProjectService; |
| | | import com.gkhy.assess.system.utils.ShiroUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.Arrays; |
| | | import java.util.List; |
| | | import java.util.stream.Collectors; |
| | | |
| | | /** |
| | | * <p> |
| | |
| | | public class AssPlanPersonServiceImpl extends ServiceImpl<AssPlanPersonMapper, AssPlanPerson> implements AssPlanPersonService { |
| | | @Autowired |
| | | private AssProjectService projectService; |
| | | @Autowired |
| | | private SysUserMapper sysUserMapper; |
| | | @Override |
| | | public List<AssPlanPerson> getByProjectId(Long projectId) { |
| | | projectService.checkUserAllowed(projectId); |
| | |
| | | return baseMapper.insert(planPerson); |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public void checkPersonUnique(AssPlanPerson planPerson) { |
| | | if(planPerson.getPlayRole()==null){ |
| | | planPerson.setPlayRole(PlayRoleEnum.PROJECT_MEMBER.getCode()); |
| | | } |
| | | LambdaQueryWrapper<AssPlanPerson> lambdaQueryWrapper = Wrappers.<AssPlanPerson>lambdaQuery() |
| | | .eq(AssPlanPerson::getPersonId, planPerson.getPersonId()) |
| | | .eq(AssPlanPerson::getDelFlag, DeleteFlagEnum.UN_DELETE) |
| | | .eq(AssPlanPerson::getProjectId, planPerson.getProjectId()); |
| | | .eq(AssPlanPerson::getProjectId, planPerson.getProjectId()) |
| | | .eq(AssPlanPerson::getPlayRole,planPerson.getPlayRole()); |
| | | if(planPerson.getId()!=null){ |
| | | lambdaQueryWrapper.ne(AssPlanPerson::getId,planPerson.getId()); |
| | | } |
| | | AssPlanPerson pPerson= getOne(lambdaQueryWrapper); |
| | | if(pPerson!=null){ |
| | | PlayRoleEnum playRoleEnum=PlayRoleEnum.getInfoByCode(pPerson.getPlayRole()); |
| | | SysUser sysUser=sysUserMapper.selectById(planPerson.getPersonId()); |
| | | if(sysUser==null){ |
| | | throw new ApiException("选择的用户不存在"); |
| | | } |
| | | String message=playRoleEnum!=null?playRoleEnum.getInfo():""; |
| | | if(StringUtils.isBlank(message)){ |
| | | message="改用户已存在"; |
| | | message=String.format("用户<%s>已担任职务",sysUser.getName()); |
| | | }else{ |
| | | message="该用户已担任"+message; |
| | | message=String.format("用户<%s>已担任%s",sysUser.getName(),message); |
| | | } |
| | | throw new ApiException(message); |
| | | } |
| | |
| | | .eq(AssPlanPerson::getPersonId,personId) |
| | | .eq(AssPlanPerson::getDelFlag,DeleteFlagEnum.UN_DELETE.getCode()) |
| | | .eq(AssPlanPerson::getProjectId,projectId)); |
| | | } |
| | | |
| | | @Override |
| | | public int getMajorPlanPersonCountByProject(Long projectId) { |
| | | return baseMapper.getMajorPlanPersonCountByProject(projectId); |
| | | } |
| | | |
| | | @Override |
| | |
| | | } |
| | | |
| | | @Override |
| | | public int deletePlanPersonByPersonId(Long personId) { |
| | | public int deletePlanPersonByPersonId(Long personId,Long projectId,Integer playCode) { |
| | | return baseMapper.update(null,Wrappers.<AssPlanPerson>lambdaUpdate() |
| | | .set(AssPlanPerson::getDelFlag,DeleteFlagEnum.DELETED.getCode()) |
| | | .set(AssPlanPerson::getUpdateBy,ShiroUtils.getSysUser().getUsername()) |
| | | .eq(AssPlanPerson::getPersonId,personId)); |
| | | .eq(AssPlanPerson::getPersonId,personId) |
| | | .eq(AssPlanPerson::getProjectId,projectId) |
| | | .eq(AssPlanPerson::getPlayRole,playCode)); |
| | | } |
| | | } |