From c604f08ffc5264165a25d15b3eeef87c72ed8489 Mon Sep 17 00:00:00 2001 From: songhuangfeng123 <shf18767906695@163.com> Date: 星期二, 05 七月 2022 18:05:34 +0800 Subject: [PATCH] 应急队伍详情 --- emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/impl/EmergencyTeamServiceImpl.java | 151 +++++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 136 insertions(+), 15 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 f553a86..5c5c0ef 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 @@ -4,25 +4,31 @@ import com.gkhy.safePlatform.commons.enums.ResultCodes; import com.gkhy.safePlatform.commons.query.PageQuery; import com.gkhy.safePlatform.commons.utils.BeanCopyUtils; +import com.gkhy.safePlatform.commons.utils.StringUtils; import com.gkhy.safePlatform.commons.vo.ResultVO; import com.gkhy.safePlatform.commons.vo.SearchResultVO; -import com.gkhy.safePlatform.emergency.entity.EmergencyTeamFileInfo; -import com.gkhy.safePlatform.emergency.entity.EmergencyTeamFileInfoDO; -import com.gkhy.safePlatform.emergency.entity.EmergencyTeamInfoPageDO; +import com.gkhy.safePlatform.emergency.entity.*; +import com.gkhy.safePlatform.emergency.excepiton.EmergencyException; +import com.gkhy.safePlatform.emergency.enums.EmergencyResultCodes; +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 com.gkhy.safePlatform.emergency.service.EmergencyTeamService; import com.gkhy.safePlatform.emergency.service.baseService.EmergencyTeamFileInfoService; import com.gkhy.safePlatform.emergency.service.baseService.EmergencyTeamInfoService; +import com.gkhy.safePlatform.emergency.service.baseService.EmergencyTeamMemberInfoService; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; import java.util.ArrayList; +import java.util.Date; import java.util.List; @Service("emergencyTeamService") @@ -33,6 +39,9 @@ @Autowired private EmergencyTeamFileInfoService emergencyTeamFileInfoService; + + @Autowired + private EmergencyTeamMemberInfoService emergencyTeamMemberInfoService; @Override public SearchResultVO<List<EmergencyTeamPageRespDTO>> selectEmergencyTeamList(PageQuery<EmergencyTeamQuery> query) { @@ -46,15 +55,15 @@ } List<EmergencyTeamPageRespDTO> respList = new ArrayList<>(); - List<EmergencyTeamInfoPageDO> emergencyTeamInfoPageDOList = emergencyTeamInfoService.selectEmergencyTeamList(page,emergencyTeamDBQuery); + List<EmergencyTeamInfoPageDO> emergencyTeamInfoPageDOList = emergencyTeamInfoService.selectEmergencyTeamList(page, emergencyTeamDBQuery); - if (!CollectionUtils.isEmpty(emergencyTeamInfoPageDOList)){ - for (int i = 0 ; i < emergencyTeamInfoPageDOList.size() ; i++){ - List<EmergencyTeamFileInfoDO> emergencyTeamFileInfoDOList = emergencyTeamFileInfoService.selectByEmergencyTeamId(emergencyTeamInfoPageDOList.get(i).getId()); - List<EmergencyTeamFileRespDTO> emergencyTeamFileRespDTOList = BeanCopyUtils.copyBeanList(emergencyTeamFileInfoDOList, EmergencyTeamFileRespDTO.class); + if (!CollectionUtils.isEmpty(emergencyTeamInfoPageDOList)) { + for (EmergencyTeamInfoPageDO emergencyTeamInfoPageDO : emergencyTeamInfoPageDOList) { + List<EmergencyTeamFileInfoDO> emergencyTeamFileInfoDOList = emergencyTeamFileInfoService.selectByEmergencyTeamId(emergencyTeamInfoPageDO.getId()); + List<EmergencyTeamFileRespDTO> emergencyTeamFileRespDTOList = BeanCopyUtils.copyBeanList(emergencyTeamFileInfoDOList, EmergencyTeamFileRespDTO.class); EmergencyTeamPageRespDTO emergencyTeamPageRespDTO = new EmergencyTeamPageRespDTO(); - BeanUtils.copyProperties(emergencyTeamInfoPageDOList.get(i),emergencyTeamPageRespDTO); + BeanUtils.copyProperties(emergencyTeamInfoPageDO, emergencyTeamPageRespDTO); emergencyTeamPageRespDTO.setFileList(emergencyTeamFileRespDTOList); respList.add(emergencyTeamPageRespDTO); } @@ -67,14 +76,126 @@ page.getTotal(), respList, ResultCodes.OK - ); + ); } @Override - public ResultVO<String> add(Long valueOf, EmergencyTeamReqDTO emergencyTeamReqDTO) { - //新增应急预案 - //新增应急预案使用部门表 - // - return null; + public ResultVO addEmergencyTeam(Long uid, EmergencyTeamReqDTO emergencyTeamReqDTO) { + + //必填项验证 + checkRequired(emergencyTeamReqDTO); + + Date nowDate = new Date(); + //1.新增应急队伍 + EmergencyTeamInfo emergencyTeamInfo = new EmergencyTeamInfo(); + BeanUtils.copyProperties(emergencyTeamReqDTO, emergencyTeamInfo); + emergencyTeamInfo.setDelFlag(false); + emergencyTeamInfo.setCreateUid(uid); + emergencyTeamInfo.setGmtCreate(nowDate); + emergencyTeamInfoService.addEmergencyTeam(emergencyTeamInfo); + //2.新增应急队伍附件 + List<EmergencyTeamFileInfo> fileInfoList = BeanCopyUtils.copyBeanList(emergencyTeamReqDTO.getFileList(), EmergencyTeamFileInfo.class); + fileInfoList.forEach(EmergencyTeamFileInfo -> { + EmergencyTeamFileInfo.setTeamId(emergencyTeamInfo.getId()); + 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); + + return new ResultVO(ResultCodes.OK); } + + @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); + } + + /** + * 验证必填项 + * + * @return + */ + private void checkRequired(EmergencyTeamReqDTO emergencyTeamReqDTO) { + //名称 + if (StringUtils.isBlank(emergencyTeamReqDTO.getTeamName())) { + throw new EmergencyException(EmergencyResultCodes.TEAM_NAME_NULL); + } + //级别 + if (StringUtils.isBlank(emergencyTeamReqDTO.getTeamLevel())) { + throw new EmergencyException(EmergencyResultCodes.TEAM_LEVEL_NULL); + } + //负责人 + if (emergencyTeamReqDTO.getPrincipalUid() == null || emergencyTeamReqDTO.getPrincipalUid() == 0) { + throw new EmergencyException(EmergencyResultCodes.TEAM_PRINCIPAL_NULL); + } + //负责人部门 + + if (emergencyTeamReqDTO.getPrincipalDepartmentId() == null || emergencyTeamReqDTO.getPrincipalDepartmentId() == 0) { + throw new EmergencyException(EmergencyResultCodes.TEAM_PRINCIPAL_DEPARTMENT_NULL); + } + //负责人手机 + if (StringUtils.isBlank(emergencyTeamReqDTO.getPrincipalPhone())) { + throw new EmergencyException(EmergencyResultCodes.TEAM_PRINCIPAL_PHONE_NULL); + } + //固定电话 + if (StringUtils.isBlank(emergencyTeamReqDTO.getTelephoneNumber())) { + 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); + } + } + } + } + } -- Gitblit v1.9.2