From 404093ca6bf6d521631b863aae92ea4ebc333bb3 Mon Sep 17 00:00:00 2001 From: songhuangfeng123 <shf18767906695@163.com> Date: 星期五, 08 七月 2022 17:10:00 +0800 Subject: [PATCH] 应急预案修改 删除 --- emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/impl/EmergencyPlanServiceImpl.java | 327 +++++++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 286 insertions(+), 41 deletions(-) diff --git a/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/impl/EmergencyPlanServiceImpl.java b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/impl/EmergencyPlanServiceImpl.java index 2a3b615..5aad17f 100644 --- a/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/impl/EmergencyPlanServiceImpl.java +++ b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/impl/EmergencyPlanServiceImpl.java @@ -4,13 +4,14 @@ 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.*; import com.gkhy.safePlatform.emergency.enums.EmergencyPlanStatus; import com.gkhy.safePlatform.emergency.enums.EmergencyResultCodes; import com.gkhy.safePlatform.emergency.excepiton.EmergencyException; -import com.gkhy.safePlatform.emergency.model.dto.req.EmergencyPlanReqDTO; +import com.gkhy.safePlatform.emergency.model.dto.req.*; import com.gkhy.safePlatform.emergency.model.dto.resp.*; import com.gkhy.safePlatform.emergency.query.EmergencyPlanQuery; import com.gkhy.safePlatform.emergency.query.db.EmergencyPlanDBQuery; @@ -21,8 +22,10 @@ import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; +import java.util.ArrayList; import java.util.Date; import java.util.List; +import java.util.stream.Collectors; @Service("emergencyPlanService") public class EmergencyPlanServiceImpl implements EmergencyPlanService { @@ -78,58 +81,74 @@ emergencyPlanInfoService.addEmergencyPlan(emergencyPlanInfo); // 新增应急预案区域表 if (!CollectionUtils.isEmpty(emergencyPlanReqDTO.getAreaList())){ - List<EmergencyPlanAreaInfo> emergencyPlanAreaInfoList = BeanCopyUtils.copyBeanList(emergencyPlanReqDTO.getAreaList(),EmergencyPlanAreaInfo.class); - emergencyPlanAreaInfoList.forEach(EmergencyPlanAreaInfo->{ - EmergencyPlanAreaInfo.setDelFlag(false); - EmergencyPlanAreaInfo.setCreateUid(uid); - EmergencyPlanAreaInfo.setGmtCreate(nowDate); - EmergencyPlanAreaInfo.setPlanId(emergencyPlanInfo.getId()); - }); - for (EmergencyPlanAreaInfo emergencyPlanAreaInfo : emergencyPlanAreaInfoList){ - emergencyPlanAreaInfoService.addEmergencyPlanArea(emergencyPlanAreaInfo); - } + addEmergencyPlanArea(uid,emergencyPlanInfo.getId(),nowDate,emergencyPlanReqDTO.getAreaList()); } // 新增应急预案适用部门表 if (!CollectionUtils.isEmpty(emergencyPlanReqDTO.getDeptList())){ - List<EmergencyPlanDepartmentInfo> emergencyPlanDepartmentInfoList = BeanCopyUtils.copyBeanList(emergencyPlanReqDTO.getDeptList(),EmergencyPlanDepartmentInfo.class); - emergencyPlanDepartmentInfoList.forEach(EmergencyPlanDepartmentInfo->{ - EmergencyPlanDepartmentInfo.setDelFlag(false); - EmergencyPlanDepartmentInfo.setCreateUid(uid); - EmergencyPlanDepartmentInfo.setGmtCreate(nowDate); - EmergencyPlanDepartmentInfo.setPlanId(emergencyPlanInfo.getId()); - }); - for (EmergencyPlanDepartmentInfo emergencyPlanDepartmentInfo : emergencyPlanDepartmentInfoList){ - emergencyPlanDepartmentInfoService.addEmergencyPlanDepartment(emergencyPlanDepartmentInfo); - } + addEmergencyPlanDepartment(uid,emergencyPlanInfo.getId(),nowDate,emergencyPlanReqDTO.getDeptList()); } // 新增应急预案附件表 if (!CollectionUtils.isEmpty(emergencyPlanReqDTO.getFileList())){ - List<EmergencyPlanFileInfo> emergencyPlanFileInfoList = BeanCopyUtils.copyBeanList(emergencyPlanReqDTO.getFileList(),EmergencyPlanFileInfo.class); - emergencyPlanFileInfoList.forEach(EmergencyPlanFileInfo->{ - EmergencyPlanFileInfo.setDelFlag(false); - EmergencyPlanFileInfo.setCreateUid(uid); - EmergencyPlanFileInfo.setGmtCreate(nowDate); - EmergencyPlanFileInfo.setPlanId(emergencyPlanInfo.getId()); - }); - for (EmergencyPlanFileInfo emergencyPlanFileInfo : emergencyPlanFileInfoList){ - emergencyPlanFileInfoService.addEmergencyPlanFile(emergencyPlanFileInfo); - } + addEmergencyPlanFile(uid,emergencyPlanInfo.getId(),nowDate,emergencyPlanReqDTO.getFileList()); } // 新增应急预案应急队伍表 if (!CollectionUtils.isEmpty(emergencyPlanReqDTO.getTeamList())){ - List<EmergencyPlanTeamInfo> emergencyPlanTeamInfoList = BeanCopyUtils.copyBeanList(emergencyPlanReqDTO.getTeamList(),EmergencyPlanTeamInfo.class); - emergencyPlanTeamInfoList.forEach(EmergencyPlanTeamInfo->{ - EmergencyPlanTeamInfo.setDelFlag(false); - EmergencyPlanTeamInfo.setCreateUid(uid); - EmergencyPlanTeamInfo.setGmtCreate(nowDate); - EmergencyPlanTeamInfo.setPlanId(emergencyPlanInfo.getId()); - }); - for (EmergencyPlanTeamInfo emergencyPlanTeamInfo : emergencyPlanTeamInfoList){ - emergencyPlanTeamInfoService.addEmergencyPlanTeam(emergencyPlanTeamInfo); - } + addEmergencyPlanTeam(uid,emergencyPlanInfo.getId(),nowDate,emergencyPlanReqDTO.getTeamList()); } return new ResultVO<>(ResultCodes.OK); + } + + private void addEmergencyPlanArea(Long uid,Long planId, Date nowDate,List<EmergencyPlanAreaReqDTO> emergencyPlanAreaReqDTOList){ + List<EmergencyPlanAreaInfo> emergencyPlanAreaInfoList = BeanCopyUtils.copyBeanList(emergencyPlanAreaReqDTOList,EmergencyPlanAreaInfo.class); + emergencyPlanAreaInfoList.forEach(EmergencyPlanAreaInfo->{ + EmergencyPlanAreaInfo.setDelFlag(false); + EmergencyPlanAreaInfo.setCreateUid(uid); + EmergencyPlanAreaInfo.setGmtCreate(nowDate); + EmergencyPlanAreaInfo.setPlanId(planId); + }); + for (EmergencyPlanAreaInfo emergencyPlanAreaInfo : emergencyPlanAreaInfoList){ + emergencyPlanAreaInfoService.addEmergencyPlanArea(emergencyPlanAreaInfo); + } + } + + private void addEmergencyPlanDepartment(Long uid,Long planId, Date nowDate,List<EmergencyPlanDepartmentReqDTO> emergencyPlanDepartmentReqDTOList){ + List<EmergencyPlanDepartmentInfo> emergencyPlanDepartmentInfoList = BeanCopyUtils.copyBeanList(emergencyPlanDepartmentReqDTOList,EmergencyPlanDepartmentInfo.class); + emergencyPlanDepartmentInfoList.forEach(EmergencyPlanDepartmentInfo->{ + EmergencyPlanDepartmentInfo.setDelFlag(false); + EmergencyPlanDepartmentInfo.setCreateUid(uid); + EmergencyPlanDepartmentInfo.setGmtCreate(nowDate); + EmergencyPlanDepartmentInfo.setPlanId(planId); + }); + for (EmergencyPlanDepartmentInfo emergencyPlanDepartmentInfo : emergencyPlanDepartmentInfoList){ + emergencyPlanDepartmentInfoService.addEmergencyPlanDepartment(emergencyPlanDepartmentInfo); + } + } + + private void addEmergencyPlanFile(Long uid,Long planId, Date nowDate,List<EmergencyPlanFileReqDTO> emergencyPlanFileReqDTOList){ + List<EmergencyPlanFileInfo> emergencyPlanFileInfoList = BeanCopyUtils.copyBeanList(emergencyPlanFileReqDTOList,EmergencyPlanFileInfo.class); + emergencyPlanFileInfoList.forEach(EmergencyPlanFileInfo->{ + EmergencyPlanFileInfo.setDelFlag(false); + EmergencyPlanFileInfo.setCreateUid(uid); + EmergencyPlanFileInfo.setGmtCreate(nowDate); + EmergencyPlanFileInfo.setPlanId(planId); + }); + for (EmergencyPlanFileInfo emergencyPlanFileInfo : emergencyPlanFileInfoList){ + emergencyPlanFileInfoService.addEmergencyPlanFile(emergencyPlanFileInfo); + } + } + + private void addEmergencyPlanTeam(Long uid,Long planId, Date nowDate,List<EmergencyPlanTeamReqDTO> emergencyPlanTeamReqDTOList){ + List<EmergencyPlanTeamInfo> emergencyPlanTeamInfoList = BeanCopyUtils.copyBeanList(emergencyPlanTeamReqDTOList,EmergencyPlanTeamInfo.class); + emergencyPlanTeamInfoList.forEach(EmergencyPlanTeamInfo->{ + EmergencyPlanTeamInfo.setDelFlag(false); + EmergencyPlanTeamInfo.setCreateUid(uid); + EmergencyPlanTeamInfo.setGmtCreate(nowDate); + EmergencyPlanTeamInfo.setPlanId(planId); + }); + for (EmergencyPlanTeamInfo emergencyPlanTeamInfo : emergencyPlanTeamInfoList){ + emergencyPlanTeamInfoService.addEmergencyPlanTeam(emergencyPlanTeamInfo); + } } @Override @@ -169,4 +188,230 @@ return new ResultVO<>(ResultCodes.OK,emergencyPlanDetailRespDTO); } } + + @Override + public ResultVO updateEmergencyPlan(Long uid, EmergencyPlanReqDTO emergencyPlanReqDTO) { + Date nowDate = new Date(); + // 查询是否存在 + EmergencyPlanInfoDetailDO emergencyPlanInfoDetailDO = emergencyPlanInfoService.selectEmergencyPlanById(emergencyPlanReqDTO.getId()); + if (emergencyPlanInfoDetailDO==null){ + throw new EmergencyException(EmergencyResultCodes.PLAN_NOT_EXIST); + }else{ + EmergencyPlanInfo emergencyPlanInfo = new EmergencyPlanInfo(); + BeanUtils.copyProperties(emergencyPlanReqDTO,emergencyPlanInfo); + emergencyPlanInfo.setUpdateUid(uid); + emergencyPlanInfo.setGmtModitify(new Date()); + emergencyPlanInfoService.updateEmergencyPlan(emergencyPlanInfo); + + // 更新应急预案区域表 + if (!CollectionUtils.isEmpty(emergencyPlanReqDTO.getAreaList())){ + updateEmergencyPlanArea(uid,emergencyPlanInfo.getId(),nowDate,emergencyPlanReqDTO.getAreaList()); + } + // 更新应急预案适用部门表 + if (!CollectionUtils.isEmpty(emergencyPlanReqDTO.getDeptList())){ + updateEmergencyPlanDepartment(uid,emergencyPlanInfo.getId(),nowDate,emergencyPlanReqDTO.getDeptList()); + } + // 更新应急预案附件表 + if (!CollectionUtils.isEmpty(emergencyPlanReqDTO.getFileList())){ + updateEmergencyPlanFile(uid,emergencyPlanInfo.getId(),nowDate,emergencyPlanReqDTO.getFileList()); + } + // 更新应急预案应急队伍表 + if (!CollectionUtils.isEmpty(emergencyPlanReqDTO.getTeamList())){ + updateEmergencyPlanTeam(uid,emergencyPlanInfo.getId(),nowDate,emergencyPlanReqDTO.getTeamList()); + } + + return new ResultVO<>(ResultCodes.OK); + } + } + + private void updateEmergencyPlanArea(Long uid, Long planId, Date nowDate, List<EmergencyPlanAreaReqDTO> areaReqDTOList) { + List<EmergencyPlanAreaInfoDO> emergencyPlanAreaInfoDOList = emergencyPlanAreaInfoService.selectEmergencyPlanAreaByPlanId(planId); + List<Long> oldIdsList = emergencyPlanAreaInfoDOList.stream().map(EmergencyPlanAreaInfoDO::getId).collect(Collectors.toList()); + List<Long> newIdsList = new ArrayList<>(); + + //新增的区域集合 + List<EmergencyPlanAreaInfo> addList = new ArrayList<>(); + //删除的区域集合(id) + List<Long> deleteList = new ArrayList<>(); + for (EmergencyPlanAreaReqDTO emergencyPlanAreaReqDTO : areaReqDTOList){ + //如果不存在id则表示页面新增的附件 + if (emergencyPlanAreaReqDTO.getId() == null){ + EmergencyPlanAreaInfo emergencyPlanAreaInfo = new EmergencyPlanAreaInfo(); + BeanUtils.copyProperties(emergencyPlanAreaReqDTO,emergencyPlanAreaInfo); + emergencyPlanAreaInfo.setDelFlag(false); + emergencyPlanAreaInfo.setGmtCreate(nowDate); + emergencyPlanAreaInfo.setCreateUid(uid); + emergencyPlanAreaInfo.setPlanId(planId); + addList.add(emergencyPlanAreaInfo); + } + //如果存在id则判断页面是否删除 + else{ + newIdsList.add(emergencyPlanAreaReqDTO.getId()); + } + } + for (Long oldId : oldIdsList){ + if (!newIdsList.contains(oldId)){ + deleteList.add(oldId); + } + } + if (!CollectionUtils.isEmpty(addList)){ + for (EmergencyPlanAreaInfo emergencyPlanAreaInfo : addList){ + emergencyPlanAreaInfoService.addEmergencyPlanArea(emergencyPlanAreaInfo); + } + } + if (!CollectionUtils.isEmpty(deleteList)){ + emergencyPlanAreaInfoService.deleteEmergencyPlanAreaByIds(deleteList); + } + } + + private void updateEmergencyPlanDepartment(Long uid, Long planId, Date nowDate, List<EmergencyPlanDepartmentReqDTO> departmentReqDTOList) { + List<EmergencyPlanDepartmentInfoDO> emergencyPlanDepartmentInfoDOList = emergencyPlanDepartmentInfoService.selectEmergencyPlanDepartmentByPlanId(planId); + List<Long> oldIdsList = emergencyPlanDepartmentInfoDOList.stream().map(EmergencyPlanDepartmentInfoDO::getId).collect(Collectors.toList()); + List<Long> newIdsList = new ArrayList<>(); + + //新增的区域集合 + List<EmergencyPlanDepartmentInfo> addList = new ArrayList<>(); + //删除的区域集合(id) + List<Long> deleteList = new ArrayList<>(); + for (EmergencyPlanDepartmentReqDTO emergencyPlanDepartmentReqDTO : departmentReqDTOList){ + //如果不存在id则表示页面新增的附件 + if (emergencyPlanDepartmentReqDTO.getId() == null){ + EmergencyPlanDepartmentInfo emergencyPlanDepartmentInfo = new EmergencyPlanDepartmentInfo(); + BeanUtils.copyProperties(emergencyPlanDepartmentReqDTO,emergencyPlanDepartmentInfo); + emergencyPlanDepartmentInfo.setDelFlag(false); + emergencyPlanDepartmentInfo.setGmtCreate(nowDate); + emergencyPlanDepartmentInfo.setCreateUid(uid); + emergencyPlanDepartmentInfo.setPlanId(planId); + addList.add(emergencyPlanDepartmentInfo); + } + //如果存在id则判断页面是否删除 + else{ + newIdsList.add(emergencyPlanDepartmentReqDTO.getId()); + } + } + for (Long oldId : oldIdsList){ + if (!newIdsList.contains(oldId)){ + deleteList.add(oldId); + } + } + if (!CollectionUtils.isEmpty(addList)){ + for (EmergencyPlanDepartmentInfo emergencyPlanDepartmentInfo : addList){ + emergencyPlanDepartmentInfoService.addEmergencyPlanDepartment(emergencyPlanDepartmentInfo); + } + } + if (!CollectionUtils.isEmpty(deleteList)){ + emergencyPlanDepartmentInfoService.deleteEmergencyPlanDepartmentByIds(deleteList); + } + } + + private void updateEmergencyPlanFile(Long uid, Long planId, Date nowDate, List<EmergencyPlanFileReqDTO> fileReqDTOList) { + List<EmergencyPlanFileInfoDO> emergencyPlanFileInfoDOList = emergencyPlanFileInfoService.selectEmergencyPlanFileByPlanId(planId); + List<Long> oldIdsList = emergencyPlanFileInfoDOList.stream().map(EmergencyPlanFileInfoDO::getId).collect(Collectors.toList()); + List<Long> newIdsList = new ArrayList<>(); + + //新增的区域集合 + List<EmergencyPlanFileInfo> addList = new ArrayList<>(); + //删除的区域集合(id) + List<Long> deleteList = new ArrayList<>(); + for (EmergencyPlanFileReqDTO emergencyPlanFileReqDTO : fileReqDTOList){ + //如果不存在id则表示页面新增的附件 + if (emergencyPlanFileReqDTO.getId() == null){ + EmergencyPlanFileInfo emergencyPlanFileInfo = new EmergencyPlanFileInfo(); + BeanUtils.copyProperties(emergencyPlanFileReqDTO,emergencyPlanFileInfo); + emergencyPlanFileInfo.setDelFlag(false); + emergencyPlanFileInfo.setGmtCreate(nowDate); + emergencyPlanFileInfo.setCreateUid(uid); + emergencyPlanFileInfo.setPlanId(planId); + addList.add(emergencyPlanFileInfo); + } + //如果存在id则判断页面是否删除 + else{ + newIdsList.add(emergencyPlanFileReqDTO.getId()); + } + } + for (Long oldId : oldIdsList){ + if (!newIdsList.contains(oldId)){ + deleteList.add(oldId); + } + } + if (!CollectionUtils.isEmpty(addList)){ + for (EmergencyPlanFileInfo emergencyPlanFileInfo : addList){ + emergencyPlanFileInfoService.addEmergencyPlanFile(emergencyPlanFileInfo); + } + } + if (!CollectionUtils.isEmpty(deleteList)){ + emergencyPlanFileInfoService.deleteEmergencyPlanFileByIds(deleteList); + } + } + + private void updateEmergencyPlanTeam(Long uid, Long planId, Date nowDate, List<EmergencyPlanTeamReqDTO> teamReqDTOList) { + List<EmergencyPlanTeamInfoDO> emergencyPlanTeamInfoDOList = emergencyPlanTeamInfoService.selectEmergencyPlanTeamByPlanId(planId); + List<Long> oldIdsList = emergencyPlanTeamInfoDOList.stream().map(EmergencyPlanTeamInfoDO::getId).collect(Collectors.toList()); + List<Long> newIdsList = new ArrayList<>(); + + //新增的区域集合 + List<EmergencyPlanTeamInfo> addList = new ArrayList<>(); + //删除的区域集合(id) + List<Long> deleteList = new ArrayList<>(); + for (EmergencyPlanTeamReqDTO emergencyPlanTeamReqDTO : teamReqDTOList){ + //如果不存在id则表示页面新增的附件 + if (emergencyPlanTeamReqDTO.getId() == null){ + EmergencyPlanTeamInfo emergencyPlanTeamInfo = new EmergencyPlanTeamInfo(); + BeanUtils.copyProperties(emergencyPlanTeamReqDTO,emergencyPlanTeamInfo); + emergencyPlanTeamInfo.setDelFlag(false); + emergencyPlanTeamInfo.setGmtCreate(nowDate); + emergencyPlanTeamInfo.setCreateUid(uid); + emergencyPlanTeamInfo.setPlanId(planId); + addList.add(emergencyPlanTeamInfo); + } + //如果存在id则判断页面是否删除 + else{ + newIdsList.add(emergencyPlanTeamReqDTO.getId()); + } + } + for (Long oldId : oldIdsList){ + if (!newIdsList.contains(oldId)){ + deleteList.add(oldId); + } + } + if (!CollectionUtils.isEmpty(addList)){ + for (EmergencyPlanTeamInfo emergencyPlanTeamInfo : addList){ + emergencyPlanTeamInfoService.addEmergencyPlanTeam(emergencyPlanTeamInfo); + } + } + if (!CollectionUtils.isEmpty(deleteList)){ + emergencyPlanTeamInfoService.deleteEmergencyPlanTeamByIds(deleteList); + } + } + + @Override + public ResultVO batchDeleteEmergencyPlan(String ids) { + if (StringUtils.isBlank(ids)) { + throw new EmergencyException(EmergencyResultCodes.PLAN_NOT_EXIST); + } else { + String[] idArr = ids.split(","); + for (String id : idArr) { + deleteEmergencyPlan(Long.valueOf(id)); + } + return new ResultVO(ResultCodes.OK); + } + } + + private void deleteEmergencyPlan(Long id) { + //查询是否存在 + EmergencyPlanInfoDetailDO emergencyPlanInfoDetailDO = emergencyPlanInfoService.selectEmergencyPlanById(id); + if (emergencyPlanInfoDetailDO==null){ + throw new EmergencyException(EmergencyResultCodes.PLAN_NOT_EXIST); + }else{ + Long PlanId = emergencyPlanInfoDetailDO.getId(); + //删除区域 + emergencyPlanAreaInfoService.deleteEmergencyPlanAreaByPlanId(PlanId); + //删除适用部门 + emergencyPlanDepartmentInfoService.deleteEmergencyPlanDepartmentByPlanId(PlanId); + //删除附件 + emergencyPlanFileInfoService.deleteEmergencyPlanFileByPlanId(PlanId); + //删除应急队伍 + emergencyPlanTeamInfoService.deleteEmergencyPlanTeamByPlanId(PlanId); + } + } } -- Gitblit v1.9.2