From aace11a7e1201a8d1fc0b50b659368918d23e794 Mon Sep 17 00:00:00 2001
From: songhuangfeng123 <shf18767906695@163.com>
Date: Tue, 02 Aug 2022 16:43:59 +0800
Subject: [PATCH] 一览接口fix
---
emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/impl/EmergencyPlanServiceImpl.java | 330 ++++++++++++++++++++++++++++++++++++++++++++++++-------
1 files changed, 288 insertions(+), 42 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..e7a62f1 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 {
@@ -58,7 +61,7 @@
return new SearchResultVO<>(
true,
pageIndex,
- pageSize,
+ pageSize,page.getPages(),
page.getTotal(),
respList,
ResultCodes.OK
@@ -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,231 @@
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(nowDate);
+ 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();
+ emergencyPlanInfoService.deleteEmergencyPlan(PlanId);
+ //删除区域
+ emergencyPlanAreaInfoService.deleteEmergencyPlanAreaByPlanId(PlanId);
+ //删除适用部门
+ emergencyPlanDepartmentInfoService.deleteEmergencyPlanDepartmentByPlanId(PlanId);
+ //删除附件
+ emergencyPlanFileInfoService.deleteEmergencyPlanFileByPlanId(PlanId);
+ //删除应急队伍
+ emergencyPlanTeamInfoService.deleteEmergencyPlanTeamByPlanId(PlanId);
+ }
+ }
}
--
Gitblit v1.9.2