| | |
| | | import com.gkhy.safePlatform.commons.vo.ResultVO; |
| | | import com.gkhy.safePlatform.commons.vo.SearchResultVO; |
| | | import com.gkhy.safePlatform.emergency.entity.*; |
| | | import com.gkhy.safePlatform.emergency.excepiton.EmergencyServiceException; |
| | | import com.gkhy.safePlatform.emergency.enums.TeamLevelEnum; |
| | | import com.gkhy.safePlatform.emergency.excepiton.EmergencyException; |
| | | import com.gkhy.safePlatform.emergency.enums.EmergencyResultCodes; |
| | | import com.gkhy.safePlatform.emergency.model.dto.req.EmergencyTeamFileReqDTO; |
| | | import com.gkhy.safePlatform.emergency.model.dto.req.EmergencyTeamMemberReqDTO; |
| | | import com.gkhy.safePlatform.emergency.model.dto.req.EmergencyTeamReqDTO; |
| | | import com.gkhy.safePlatform.emergency.model.dto.resp.EmergencyTeamDetailRespDTO; |
| | | import com.gkhy.safePlatform.emergency.model.dto.resp.EmergencyTeamFileRespDTO; |
| | | import com.gkhy.safePlatform.emergency.model.dto.resp.EmergencyTeamMemberRespDTO; |
| | | import com.gkhy.safePlatform.emergency.model.dto.resp.EmergencyTeamPageRespDTO; |
| | | import com.gkhy.safePlatform.emergency.query.EmergencyTeamQuery; |
| | | import com.gkhy.safePlatform.emergency.query.db.EmergencyTeamDBQuery; |
| | |
| | | import java.util.ArrayList; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | import java.util.stream.Collectors; |
| | | |
| | | @Service("emergencyTeamService") |
| | | public class EmergencyTeamServiceImpl implements EmergencyTeamService { |
| | |
| | | return new SearchResultVO<>( |
| | | true, |
| | | pageIndex, |
| | | pageSize, |
| | | pageSize,page.getPages(), |
| | | page.getTotal(), |
| | | respList, |
| | | ResultCodes.OK |
| | |
| | | } |
| | | |
| | | @Override |
| | | public ResultVO addEmergencyTeam(Long uid, EmergencyTeamReqDTO emergencyTeamReqDTO) { |
| | | |
| | | public ResultVO<EmergencyTeamDetailRespDTO> addEmergencyTeam(Long uid, EmergencyTeamReqDTO emergencyTeamReqDTO) { |
| | | //必填项验证 |
| | | checkRequired(emergencyTeamReqDTO); |
| | | // 验证枚举 |
| | | checkEnum(emergencyTeamReqDTO); |
| | | |
| | | Date nowDate = new Date(); |
| | | //1.新增应急队伍 |
| | |
| | | emergencyTeamInfo.setGmtCreate(nowDate); |
| | | emergencyTeamInfoService.addEmergencyTeam(emergencyTeamInfo); |
| | | //2.新增应急队伍附件 |
| | | List<EmergencyTeamFileInfo> fileInfoList = BeanCopyUtils.copyBeanList(emergencyTeamReqDTO.getFileList(), EmergencyTeamFileInfo.class); |
| | | if (!CollectionUtils.isEmpty(emergencyTeamReqDTO.getFileList())){ |
| | | addEmergencyTeamFile(emergencyTeamInfo.getId(),uid,nowDate,emergencyTeamReqDTO.getFileList()); |
| | | } |
| | | //3.新增应急队伍人员 |
| | | if (!CollectionUtils.isEmpty(emergencyTeamReqDTO.getMemberList())){ |
| | | addEmergencyTeamMember(emergencyTeamInfo.getId(),uid,nowDate,emergencyTeamReqDTO.getMemberList()); |
| | | } |
| | | EmergencyTeamDetailRespDTO emergencyTeamDetailRespDTO = new EmergencyTeamDetailRespDTO(); |
| | | BeanUtils.copyProperties(emergencyTeamInfo,emergencyTeamDetailRespDTO); |
| | | return new ResultVO<>(ResultCodes.OK,emergencyTeamDetailRespDTO); |
| | | } |
| | | |
| | | private void addEmergencyTeamFile(Long teamId ,Long uid , Date nowDate , List<EmergencyTeamFileReqDTO> emergencyTeamFileReqDTOList){ |
| | | List<EmergencyTeamFileInfo> fileInfoList = BeanCopyUtils.copyBeanList(emergencyTeamFileReqDTOList, EmergencyTeamFileInfo.class); |
| | | fileInfoList.forEach(EmergencyTeamFileInfo -> { |
| | | EmergencyTeamFileInfo.setTeamId(emergencyTeamInfo.getId()); |
| | | EmergencyTeamFileInfo.setTeamId(teamId); |
| | | EmergencyTeamFileInfo.setDelFlag(false); |
| | | EmergencyTeamFileInfo.setCreateUid(uid); |
| | | EmergencyTeamFileInfo.setGmtCreate(nowDate); |
| | | }); |
| | | emergencyTeamFileInfoService.addEmergencyTeamFile(fileInfoList); |
| | | //3.新增应急队伍人员 |
| | | List<EmergencyTeamMemberInfo> memberInfoList = BeanCopyUtils.copyBeanList(emergencyTeamReqDTO.getMemberList(), EmergencyTeamMemberInfo.class); |
| | | memberInfoList.forEach(EmergencyTeamMemberInfo -> { |
| | | EmergencyTeamMemberInfo.setTeamId(emergencyTeamInfo.getId()); |
| | | EmergencyTeamMemberInfo.setDelFlag(false); |
| | | EmergencyTeamMemberInfo.setCreateUid(uid); |
| | | EmergencyTeamMemberInfo.setGmtCreate(nowDate); |
| | | }); |
| | | emergencyTeamMemberInfoService.addEmergencyTeamMember(memberInfoList); |
| | | for (EmergencyTeamFileInfo emergencyTeamFileInfo :fileInfoList){ |
| | | emergencyTeamFileInfoService.addEmergencyTeamFile(emergencyTeamFileInfo); |
| | | } |
| | | } |
| | | |
| | | private void addEmergencyTeamMember(Long teamId ,Long uid , Date nowDate , List<EmergencyTeamMemberReqDTO> emergencyTeamMemberReqDTOList){ |
| | | List<EmergencyTeamMemberInfo> memberInfoList = BeanCopyUtils.copyBeanList(emergencyTeamMemberReqDTOList, EmergencyTeamMemberInfo.class); |
| | | memberInfoList.forEach(EmergencyTeamFileInfo -> { |
| | | EmergencyTeamFileInfo.setTeamId(teamId); |
| | | EmergencyTeamFileInfo.setDelFlag(false); |
| | | EmergencyTeamFileInfo.setCreateUid(uid); |
| | | EmergencyTeamFileInfo.setGmtCreate(nowDate); |
| | | }); |
| | | for (EmergencyTeamMemberInfo emergencyTeamMemberInfo : memberInfoList){ |
| | | emergencyTeamMemberInfoService.addEmergencyTeamMember(emergencyTeamMemberInfo); |
| | | } |
| | | } |
| | | |
| | | @Override |
| | | public ResultVO<EmergencyTeamDetailRespDTO> getEmergencyTeamById(Long id) { |
| | | EmergencyTeamDetailRespDTO emergencyTeamDetailRespDTO = new EmergencyTeamDetailRespDTO(); |
| | | //查询是否存在 |
| | | EmergencyTeamInfoDetailDO emergencyTeamInfoDetailDO = emergencyTeamInfoService.selectEmergencyTeamById(id); |
| | | if (emergencyTeamInfoDetailDO==null){ |
| | | throw new EmergencyException(EmergencyResultCodes.TEAM_NOT_EXIST); |
| | | }else{ |
| | | BeanUtils.copyProperties(emergencyTeamInfoDetailDO,emergencyTeamDetailRespDTO); |
| | | //查找对应的附件 |
| | | List<EmergencyTeamFileInfoDO> emergencyTeamFileInfoDOList = emergencyTeamFileInfoService.selectByEmergencyTeamId(id); |
| | | if (!CollectionUtils.isEmpty(emergencyTeamFileInfoDOList)){ |
| | | List<EmergencyTeamFileRespDTO> emergencyTeamFileRespDTOList = BeanCopyUtils.copyBeanList(emergencyTeamFileInfoDOList , EmergencyTeamFileRespDTO.class); |
| | | emergencyTeamDetailRespDTO.setFileList(emergencyTeamFileRespDTOList); |
| | | } |
| | | |
| | | //查找对应的人员 |
| | | List<EmergencyTeamMemberInfoDO> emergencyTeamMemberInfoDOList = emergencyTeamMemberInfoService.selectByEmergencyTeamId(id); |
| | | if (!CollectionUtils.isEmpty(emergencyTeamMemberInfoDOList)){ |
| | | List<EmergencyTeamMemberRespDTO> emergencyTeamMemberRespDTOList = BeanCopyUtils.copyBeanList(emergencyTeamMemberInfoDOList , EmergencyTeamMemberRespDTO.class); |
| | | emergencyTeamDetailRespDTO.setMemberList(emergencyTeamMemberRespDTOList); |
| | | } |
| | | return new ResultVO<>(ResultCodes.OK ,emergencyTeamDetailRespDTO); |
| | | } |
| | | } |
| | | |
| | | @Override |
| | | public ResultVO updateEmergencyTeam(Long uid, EmergencyTeamReqDTO emergencyTeamReqDTO) { |
| | | // 验证枚举 |
| | | checkEnum(emergencyTeamReqDTO); |
| | | Date nowDate = new Date(); |
| | | //查询是否存在 |
| | | EmergencyTeamInfoDetailDO emergencyTeamInfoDetailDO = emergencyTeamInfoService.selectEmergencyTeamById(emergencyTeamReqDTO.getId()); |
| | | if (emergencyTeamInfoDetailDO==null){ |
| | | throw new EmergencyException(EmergencyResultCodes.TEAM_NOT_EXIST); |
| | | }else{ |
| | | EmergencyTeamInfo emergencyTeamInfo = new EmergencyTeamInfo(); |
| | | BeanUtils.copyProperties(emergencyTeamReqDTO,emergencyTeamInfo); |
| | | emergencyTeamInfo.setUpdateUid(uid); |
| | | emergencyTeamInfo.setGmtModitify(nowDate); |
| | | emergencyTeamInfoService.updateEmergencyTeam(emergencyTeamInfo); |
| | | //修改应急队伍附件 |
| | | updateEmergencyTeamFile(uid,emergencyTeamReqDTO.getId(),nowDate,emergencyTeamReqDTO.getFileList()); |
| | | return new ResultVO(ResultCodes.OK); |
| | | } |
| | | } |
| | | |
| | | private void updateEmergencyTeamFile(Long uid ,Long teamId ,Date nowDate,List<EmergencyTeamFileReqDTO> emergencyTeamFileReqDTOList){ |
| | | |
| | | List<EmergencyTeamFileInfoDO> emergencyTeamFileInfoDOList = emergencyTeamFileInfoService.selectByEmergencyTeamId(teamId); |
| | | List<Long> oldIdsList = emergencyTeamFileInfoDOList.stream().map(EmergencyTeamFileInfoDO::getId).collect(Collectors.toList()); |
| | | List<Long> newIdsList = new ArrayList<>(); |
| | | |
| | | //新增的附件集合 |
| | | List<EmergencyTeamFileInfo> addList = new ArrayList<>(); |
| | | //删除的附件集合(id) |
| | | List<Long> deleteList = new ArrayList<>(); |
| | | for (EmergencyTeamFileReqDTO emergencyTeamFileReqDTO : emergencyTeamFileReqDTOList){ |
| | | //如果不存在id则表示页面新增的附件 |
| | | if (emergencyTeamFileReqDTO.getId() == null){ |
| | | EmergencyTeamFileInfo emergencyTeamFileInfo = new EmergencyTeamFileInfo(); |
| | | BeanUtils.copyProperties(emergencyTeamFileReqDTO,emergencyTeamFileInfo); |
| | | emergencyTeamFileInfo.setDelFlag(false); |
| | | emergencyTeamFileInfo.setGmtCreate(nowDate); |
| | | emergencyTeamFileInfo.setCreateUid(uid); |
| | | emergencyTeamFileInfo.setTeamId(teamId); |
| | | addList.add(emergencyTeamFileInfo); |
| | | } |
| | | //如果存在id则判断页面是否删除 |
| | | else{ |
| | | newIdsList.add(emergencyTeamFileReqDTO.getId()); |
| | | } |
| | | } |
| | | for (Long oldId : oldIdsList){ |
| | | if (!newIdsList.contains(oldId)){ |
| | | deleteList.add(oldId); |
| | | } |
| | | } |
| | | if (!CollectionUtils.isEmpty(addList)){ |
| | | for (EmergencyTeamFileInfo emergencyTeamFileInfo : addList){ |
| | | emergencyTeamFileInfoService.addEmergencyTeamFile(emergencyTeamFileInfo); |
| | | } |
| | | } |
| | | if (!CollectionUtils.isEmpty(deleteList)){ |
| | | emergencyTeamFileInfoService.deleteEmergencyTeamFileByIds(deleteList); |
| | | } |
| | | } |
| | | |
| | | @Override |
| | | public ResultVO addEmergencyTeamMember(Long uid, EmergencyTeamMemberReqDTO emergencyTeamMemberReqDTO) { |
| | | EmergencyTeamMemberInfo emergencyTeamMemberInfo = new EmergencyTeamMemberInfo(); |
| | | BeanUtils.copyProperties(emergencyTeamMemberReqDTO,emergencyTeamMemberInfo); |
| | | emergencyTeamMemberInfo.setCreateUid(uid); |
| | | emergencyTeamMemberInfo.setGmtCreate(new Date()); |
| | | emergencyTeamMemberInfo.setDelFlag(false); |
| | | emergencyTeamMemberInfoService.addEmergencyTeamMember(emergencyTeamMemberInfo); |
| | | return new ResultVO(ResultCodes.OK); |
| | | } |
| | | |
| | | @Override |
| | | public ResultVO updateEmergencyTeamMember(Long uid, EmergencyTeamMemberReqDTO emergencyTeamMemberReqDTO) { |
| | | //查询是否存在 |
| | | EmergencyTeamMemberInfoDO emergencyTeamMemberInfoDO = emergencyTeamMemberInfoService.selectEmergencyTeamMemberById(emergencyTeamMemberReqDTO.getId()); |
| | | if (emergencyTeamMemberInfoDO==null){ |
| | | throw new EmergencyException(EmergencyResultCodes.TEAM_USER_NOT_EXIST); |
| | | }else{ |
| | | EmergencyTeamMemberInfo emergencyTeamMemberInfo = new EmergencyTeamMemberInfo(); |
| | | BeanUtils.copyProperties(emergencyTeamMemberReqDTO,emergencyTeamMemberInfo); |
| | | emergencyTeamMemberInfo.setUpdateUid(uid); |
| | | emergencyTeamMemberInfo.setGmtModitify(new Date()); |
| | | emergencyTeamMemberInfoService.updateEmergencyTeamMember(emergencyTeamMemberInfo); |
| | | return new ResultVO(ResultCodes.OK); |
| | | } |
| | | } |
| | | |
| | | @Override |
| | | public ResultVO batchDeleteEmergencyTeam(Long[] ids) { |
| | | if (ids == null || ids.length==0){ |
| | | throw new EmergencyException(EmergencyResultCodes.TEAM_NULL); |
| | | }else{ |
| | | for (Long id : ids){ |
| | | deleteEmergencyTeam(id); |
| | | } |
| | | return new ResultVO(ResultCodes.OK); |
| | | } |
| | | } |
| | | |
| | | @Override |
| | | public ResultVO getEmergencyTeamMemberByTeamId(Long teamId) { |
| | | List<EmergencyTeamMemberInfoDO> emergencyTeamMemberInfoDOList = emergencyTeamMemberInfoService.selectByEmergencyTeamId(teamId); |
| | | List<EmergencyTeamMemberRespDTO> emergencyTeamMemberRespDTOList = BeanCopyUtils.copyBeanList(emergencyTeamMemberInfoDOList , EmergencyTeamMemberRespDTO.class); |
| | | return new ResultVO<>(ResultCodes.OK,emergencyTeamMemberRespDTOList); |
| | | } |
| | | |
| | | private void deleteEmergencyTeam(Long id) { |
| | | //查询是否存在 |
| | | EmergencyTeamInfoDetailDO emergencyTeamInfoDetailDO = emergencyTeamInfoService.selectEmergencyTeamById(id); |
| | | if (emergencyTeamInfoDetailDO==null){ |
| | | throw new EmergencyException(EmergencyResultCodes.TEAM_NOT_EXIST); |
| | | }else{ |
| | | Long teamId = emergencyTeamInfoDetailDO.getId(); |
| | | //删除人员 |
| | | emergencyTeamMemberInfoService.deleteEmergencyTeamMemberByTeamId(teamId); |
| | | //删除附件 |
| | | emergencyTeamFileInfoService.deleteEmergencyTeamFileByTeamId(teamId); |
| | | //删除应急队伍 |
| | | emergencyTeamInfoService.deleteEmergencyTeamById(teamId); |
| | | } |
| | | } |
| | | |
| | | @Override |
| | | public ResultVO deleteEmergencyTeamMember(Long id) { |
| | | //查询是否存在 |
| | | EmergencyTeamMemberInfoDO emergencyTeamMemberInfoDO = emergencyTeamMemberInfoService.selectEmergencyTeamMemberById(id); |
| | | if (emergencyTeamMemberInfoDO==null){ |
| | | throw new EmergencyException(EmergencyResultCodes.TEAM_USER_NOT_EXIST); |
| | | }else{ |
| | | emergencyTeamMemberInfoService.deleteEmergencyTeamMemberById(id); |
| | | return new ResultVO(ResultCodes.OK); |
| | | } |
| | | } |
| | | |
| | | @Override |
| | | public ResultVO<EmergencyTeamMemberRespDTO> getEmergencyTeamMemberById(Long id) { |
| | | //查询是否存在 |
| | | EmergencyTeamMemberInfoDO emergencyTeamMemberInfoDO = emergencyTeamMemberInfoService.selectEmergencyTeamMemberById(id); |
| | | if (emergencyTeamMemberInfoDO==null){ |
| | | throw new EmergencyException(EmergencyResultCodes.TEAM_USER_NOT_EXIST); |
| | | }else{ |
| | | EmergencyTeamMemberRespDTO emergencyTeamMemberRespDTO = new EmergencyTeamMemberRespDTO(); |
| | | BeanUtils.copyProperties(emergencyTeamMemberInfoDO,emergencyTeamMemberRespDTO); |
| | | return new ResultVO<>(ResultCodes.OK ,emergencyTeamMemberRespDTO); |
| | | } |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 验证必填项 |
| | | * |
| | | * @return |
| | | */ |
| | | private void checkRequired(EmergencyTeamReqDTO emergencyTeamReqDTO) { |
| | | //名称 |
| | | if (StringUtils.isBlank(emergencyTeamReqDTO.getTeamName())) { |
| | | throw new EmergencyServiceException(EmergencyResultCodes.TEAM_NAME_NULL); |
| | | throw new EmergencyException(EmergencyResultCodes.TEAM_NAME_NULL); |
| | | } |
| | | //级别 |
| | | if (StringUtils.isBlank(emergencyTeamReqDTO.getTeamLevel())) { |
| | | throw new EmergencyServiceException(EmergencyResultCodes.TEAM_LEVEL_NULL); |
| | | if (emergencyTeamReqDTO.getTeamLevel() == null) { |
| | | throw new EmergencyException(EmergencyResultCodes.TEAM_LEVEL_NULL); |
| | | } |
| | | //负责人 |
| | | if (emergencyTeamReqDTO.getPrincipalUid() == null || emergencyTeamReqDTO.getPrincipalUid() == 0) { |
| | | throw new EmergencyServiceException(EmergencyResultCodes.TEAM_PRINCIPAL_NULL); |
| | | throw new EmergencyException(EmergencyResultCodes.TEAM_PRINCIPAL_NULL); |
| | | } |
| | | //负责人部门 |
| | | |
| | | if (emergencyTeamReqDTO.getPrincipalDepartmentId() == null || emergencyTeamReqDTO.getPrincipalDepartmentId() == 0) { |
| | | throw new EmergencyServiceException(EmergencyResultCodes.TEAM_PRINCIPAL_DEPARTMENT_NULL); |
| | | throw new EmergencyException(EmergencyResultCodes.TEAM_PRINCIPAL_DEPARTMENT_NULL); |
| | | } |
| | | //负责人手机 |
| | | if (StringUtils.isBlank(emergencyTeamReqDTO.getPrincipalPhone())) { |
| | | throw new EmergencyServiceException(EmergencyResultCodes.TEAM_PRINCIPAL_PHONE_NULL); |
| | | throw new EmergencyException(EmergencyResultCodes.TEAM_PRINCIPAL_PHONE_NULL); |
| | | } |
| | | //固定电话 |
| | | if (StringUtils.isBlank(emergencyTeamReqDTO.getTelephoneNumber())) { |
| | | throw new EmergencyServiceException(EmergencyResultCodes.TEAM_TELEPHONE_NUMBER_NULL); |
| | | throw new EmergencyException(EmergencyResultCodes.TEAM_TELEPHONE_NUMBER_NULL); |
| | | } |
| | | //人员列表如果不为空,则需要验证其中的必填项 |
| | | if (!CollectionUtils.isEmpty(emergencyTeamReqDTO.getMemberList())){ |
| | | for(EmergencyTeamMemberReqDTO emergencyTeamMemberReqDTO : emergencyTeamReqDTO.getMemberList()){ |
| | | //工号 |
| | | if (StringUtils.isBlank(emergencyTeamMemberReqDTO.getJobNumber())) { |
| | | throw new EmergencyException(EmergencyResultCodes.TEAM_USER_JOB_NUMBER_NULL); |
| | | } |
| | | //名称 |
| | | if (StringUtils.isBlank(emergencyTeamMemberReqDTO.getName())) { |
| | | throw new EmergencyException(EmergencyResultCodes.TEAM_USER_NAME_NULL); |
| | | } |
| | | //性别 |
| | | if (emergencyTeamMemberReqDTO.getGender()==null) { |
| | | throw new EmergencyException(EmergencyResultCodes.TEAM_USER_GENDER_NULL); |
| | | } |
| | | //手机号码 |
| | | if (StringUtils.isBlank(emergencyTeamMemberReqDTO.getPhone())) { |
| | | throw new EmergencyException(EmergencyResultCodes.TEAM_USER_PHONE_NULL); |
| | | } |
| | | //职务 |
| | | if (StringUtils.isBlank(emergencyTeamMemberReqDTO.getPosition())) { |
| | | throw new EmergencyException(EmergencyResultCodes.TEAM_USER_POSITION_NULL); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 验证数据库是否存在 |
| | | * |
| | | * @return |
| | | * 枚举验证 |
| | | */ |
| | | public Boolean checkeExist() { |
| | | return null; |
| | | private void checkEnum(EmergencyTeamReqDTO emergencyTeamReqDTO) { |
| | | if (TeamLevelEnum.getByCode(emergencyTeamReqDTO.getTeamLevel()) == null) { |
| | | throw new EmergencyException(EmergencyResultCodes.TEAM_ENUM_LEVEL_NOT_EXIST); |
| | | } |
| | | } |
| | | |
| | | } |