From 0414ddb0b2b3a7199ae6181a770f97ac140dbd73 Mon Sep 17 00:00:00 2001 From: zhangf <1603559716@qq.com> Date: 星期三, 08 五月 2024 16:46:22 +0800 Subject: [PATCH] spi统计 --- emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/impl/EmergencyTeamServiceImpl.java | 219 +++++++++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 199 insertions(+), 20 deletions(-) diff --git a/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/impl/EmergencyTeamServiceImpl.java b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/impl/EmergencyTeamServiceImpl.java index 5c5c0ef..b19852a 100644 --- a/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/impl/EmergencyTeamServiceImpl.java +++ b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/impl/EmergencyTeamServiceImpl.java @@ -8,8 +8,10 @@ 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.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; @@ -30,6 +32,7 @@ import java.util.ArrayList; import java.util.Date; import java.util.List; +import java.util.stream.Collectors; @Service("emergencyTeamService") public class EmergencyTeamServiceImpl implements EmergencyTeamService { @@ -72,7 +75,7 @@ return new SearchResultVO<>( true, pageIndex, - pageSize, + pageSize,page.getPages(), page.getTotal(), respList, ResultCodes.OK @@ -80,10 +83,11 @@ } @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.新增应急队伍 @@ -94,30 +98,48 @@ 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); + } + } - return new ResultVO(ResultCodes.OK); + 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); @@ -136,13 +158,162 @@ List<EmergencyTeamMemberRespDTO> emergencyTeamMemberRespDTOList = BeanCopyUtils.copyBeanList(emergencyTeamMemberInfoDOList , EmergencyTeamMemberRespDTO.class); emergencyTeamDetailRespDTO.setMemberList(emergencyTeamMemberRespDTOList); } + return new ResultVO<>(ResultCodes.OK ,emergencyTeamDetailRespDTO); } - 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) { @@ -151,7 +322,7 @@ throw new EmergencyException(EmergencyResultCodes.TEAM_NAME_NULL); } //级别 - if (StringUtils.isBlank(emergencyTeamReqDTO.getTeamLevel())) { + if (emergencyTeamReqDTO.getTeamLevel() == null) { throw new EmergencyException(EmergencyResultCodes.TEAM_LEVEL_NULL); } //负责人 @@ -159,7 +330,6 @@ throw new EmergencyException(EmergencyResultCodes.TEAM_PRINCIPAL_NULL); } //负责人部门 - if (emergencyTeamReqDTO.getPrincipalDepartmentId() == null || emergencyTeamReqDTO.getPrincipalDepartmentId() == 0) { throw new EmergencyException(EmergencyResultCodes.TEAM_PRINCIPAL_DEPARTMENT_NULL); } @@ -198,4 +368,13 @@ } } + /** + * 枚举验证 + */ + private void checkEnum(EmergencyTeamReqDTO emergencyTeamReqDTO) { + if (TeamLevelEnum.getByCode(emergencyTeamReqDTO.getTeamLevel()) == null) { + throw new EmergencyException(EmergencyResultCodes.TEAM_ENUM_LEVEL_NOT_EXIST); + } + } + } -- Gitblit v1.9.2