From 4bb08dd0399b3d7d034e72a3748e6676e2fc0398 Mon Sep 17 00:00:00 2001
From: SZH <szh_hello@163.com>
Date: 星期五, 19 八月 2022 10:44:28 +0800
Subject: [PATCH] 修改配置文件
---
emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/impl/EmergencyPlanServiceImpl.java | 427 +++++++++++++++++++++++++++++++++++++++++++++--------
1 files changed, 360 insertions(+), 67 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..9148846 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
@@ -1,28 +1,32 @@
package com.gkhy.safePlatform.emergency.service.impl;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.gkhy.safePlatform.account.rpc.apimodel.AccountDepartmentService;
+import com.gkhy.safePlatform.account.rpc.apimodel.model.resp.DepInfoRPCRespDTO;
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.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.ApproveStatus;
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;
import com.gkhy.safePlatform.emergency.service.EmergencyPlanService;
+import com.gkhy.safePlatform.emergency.service.EmergencyWorkApproveService;
import com.gkhy.safePlatform.emergency.service.baseService.*;
+import org.apache.dubbo.config.annotation.DubboReference;
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.Date;
-import java.util.List;
+import java.util.*;
+import java.util.stream.Collectors;
@Service("emergencyPlanService")
public class EmergencyPlanServiceImpl implements EmergencyPlanService {
@@ -42,8 +46,14 @@
@Autowired
private EmergencyPlanFileInfoService emergencyPlanFileInfoService;
+ @Autowired
+ private EmergencyWorkApproveInfoService emergencyWorkApproveInfoService;
+
+ @DubboReference(check = false)
+ private AccountDepartmentService accountDepartmentService;
+
@Override
- public SearchResultVO<List<EmergencyPlanPageRespDTO>> selectEmergencyPlanList(PageQuery<EmergencyPlanQuery> query) {
+ public SearchResultVO<List<EmergencyPlanPageRespDTO>> selectEmergencyPlanList(Long uid , PageQuery<EmergencyPlanQuery> query) {
Long pageIndex = query.getPageIndex();
Long pageSize = query.getPageSize();
Page<EmergencyPlanInfoPageDO> page = new Page<>(pageIndex, pageSize);
@@ -52,17 +62,35 @@
if (query.getSearchParams() != null) {
BeanUtils.copyProperties(query.getSearchParams(), emergencyPlanDBQuery);
}
- List<EmergencyPlanInfoPageDO> emergencyPlanListDoInfoList = emergencyPlanInfoService.selectEmergencyPlanList(page,emergencyPlanDBQuery);
- List<EmergencyPlanPageRespDTO> respList = BeanCopyUtils.copyBeanList(emergencyPlanListDoInfoList, EmergencyPlanPageRespDTO.class);
+ List<EmergencyPlanInfoPageDO> emergencyPlanListDoInfoList = emergencyPlanInfoService.selectEmergencyPlanList(page, emergencyPlanDBQuery);
+ List<EmergencyPlanPageRespDTO> respList = BeanCopyUtils.copyBeanList(emergencyPlanListDoInfoList, EmergencyPlanPageRespDTO.class);
+
+ // 判断审批人
+ for (EmergencyPlanPageRespDTO emergencyPlanPageRespDTO :respList){
+
+ //获取对应的审批记录
+ Integer type = ApproveStatus.EMERGENCY.getStatus();
+ List<EmergencyWorkApproveInfoDetailDO> emergencyWorkApproveInfoDetailDOList = emergencyWorkApproveInfoService.selectWorkApproveByRelateTypeAndRelateId(type,emergencyPlanPageRespDTO.getId());
+
+ if (!CollectionUtils.isEmpty(emergencyWorkApproveInfoDetailDOList)) {
+ emergencyPlanPageRespDTO.setApproveId(emergencyWorkApproveInfoDetailDOList.get(0).getId());
+ emergencyPlanPageRespDTO.setApproveStatus(emergencyWorkApproveInfoDetailDOList.get(0).getApproveStatus());
+ emergencyPlanPageRespDTO.setApprovePersonId(emergencyWorkApproveInfoDetailDOList.get(0).getApprovePersonId());
+ // 审批中 判断审批人是否人与当前登录人
+ if (emergencyPlanPageRespDTO.getApproveStatus()!=null && emergencyPlanPageRespDTO.getApproveStatus()==2){
+ emergencyPlanPageRespDTO.setCheckApprove(emergencyPlanPageRespDTO.getApprovePersonId().equals(uid));
+ }
+ }
+ }
return new SearchResultVO<>(
true,
pageIndex,
- pageSize,
+ pageSize, page.getPages(),
page.getTotal(),
respList,
ResultCodes.OK
- );
+ );
}
@Override
@@ -70,66 +98,82 @@
Date nowDate = new Date();
// 新增应急预案
EmergencyPlanInfo emergencyPlanInfo = new EmergencyPlanInfo();
- BeanUtils.copyProperties(emergencyPlanReqDTO,emergencyPlanInfo);
+ BeanUtils.copyProperties(emergencyPlanReqDTO, emergencyPlanInfo);
emergencyPlanInfo.setDelFlag(false);
emergencyPlanInfo.setCreateUid(uid);
emergencyPlanInfo.setGmtCreate(nowDate);
- emergencyPlanInfo.setStatus(EmergencyPlanStatus.START.getStatus());
+ emergencyPlanInfo.setAbolishStatus(false);
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);
- }
+ if (!CollectionUtils.isEmpty(emergencyPlanReqDTO.getAreaList())) {
+ 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);
- }
+ if (!CollectionUtils.isEmpty(emergencyPlanReqDTO.getDeptList())) {
+ 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);
- }
+ if (!CollectionUtils.isEmpty(emergencyPlanReqDTO.getFileList())) {
+ 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);
- }
+ if (!CollectionUtils.isEmpty(emergencyPlanReqDTO.getTeamList())) {
+ 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
@@ -137,36 +181,285 @@
EmergencyPlanDetailRespDTO emergencyPlanDetailRespDTO = new EmergencyPlanDetailRespDTO();
// 查询是否存在
EmergencyPlanInfoDetailDO emergencyPlanInfoDetailDO = emergencyPlanInfoService.selectEmergencyPlanById(id);
- if (emergencyPlanInfoDetailDO==null){
+ if (emergencyPlanInfoDetailDO == null) {
throw new EmergencyException(EmergencyResultCodes.PLAN_NOT_EXIST);
- }else{
- BeanUtils.copyProperties(emergencyPlanInfoDetailDO,emergencyPlanDetailRespDTO);
+ } else {
+ BeanUtils.copyProperties(emergencyPlanInfoDetailDO, emergencyPlanDetailRespDTO);
// 查找对应的区域
List<EmergencyPlanAreaInfoDO> emergencyPlanAreaInfoDOList = emergencyPlanAreaInfoService.selectEmergencyPlanAreaByPlanId(id);
- if (!CollectionUtils.isEmpty(emergencyPlanAreaInfoDOList)){
- List<EmergencyPlanAreaRespDTO> emergencyTeamFileRespDTOList = BeanCopyUtils.copyBeanList(emergencyPlanAreaInfoDOList , EmergencyPlanAreaRespDTO.class);
+ if (!CollectionUtils.isEmpty(emergencyPlanAreaInfoDOList)) {
+ List<EmergencyPlanAreaRespDTO> emergencyTeamFileRespDTOList = BeanCopyUtils.copyBeanList(emergencyPlanAreaInfoDOList, EmergencyPlanAreaRespDTO.class);
emergencyPlanDetailRespDTO.setAreaList(emergencyTeamFileRespDTOList);
}
// 查找对应的适用部门
List<EmergencyPlanDepartmentInfoDO> emergencyPlanDepartmentInfoDOList = emergencyPlanDepartmentInfoService.selectEmergencyPlanDepartmentByPlanId(id);
- if (!CollectionUtils.isEmpty(emergencyPlanDepartmentInfoDOList)){
- List<EmergencyPlanDepartmentRespDTO> emergencyTeamDepartmentRespDTOList = BeanCopyUtils.copyBeanList(emergencyPlanDepartmentInfoDOList , EmergencyPlanDepartmentRespDTO.class);
+ if (!CollectionUtils.isEmpty(emergencyPlanDepartmentInfoDOList)) {
+ List<EmergencyPlanDepartmentRespDTO> emergencyTeamDepartmentRespDTOList = BeanCopyUtils.copyBeanList(emergencyPlanDepartmentInfoDOList, EmergencyPlanDepartmentRespDTO.class);
+
+ Map<Long, String> deptPool = new HashMap<>();
+ for (EmergencyPlanDepartmentRespDTO emergencyPlanDepartmentRespDTO : emergencyTeamDepartmentRespDTOList) {
+ if (!deptPool.containsKey(emergencyPlanDepartmentRespDTO.getDepartmentId())) {
+ ResultVO<DepInfoRPCRespDTO> rpcResult = accountDepartmentService.getDepInfoByDepId(emergencyPlanDepartmentRespDTO.getDepartmentId());
+ if (rpcResult != null && rpcResult.getCode().equals(ResultCodes.OK.getCode())) {
+ if (rpcResult.getData() != null) {
+ DepInfoRPCRespDTO dep = (DepInfoRPCRespDTO) rpcResult.getData();
+
+ deptPool.put(dep.getDepId(), dep.getDepName());
+ }
+ }
+ }
+ String depName = deptPool.get(emergencyPlanDepartmentRespDTO.getDepartmentId());
+ emergencyPlanDepartmentRespDTO.setDepartmentName(depName);
+ }
emergencyPlanDetailRespDTO.setDeptList(emergencyTeamDepartmentRespDTOList);
}
// 查找对应的应急队伍
List<EmergencyPlanTeamInfoDO> emergencyPlanTeamInfoDOList = emergencyPlanTeamInfoService.selectEmergencyPlanTeamByPlanId(id);
- if (!CollectionUtils.isEmpty(emergencyPlanTeamInfoDOList)){
- List<EmergencyPlanTeamRespDTO> emergencyTeamTeamRespDTOList = BeanCopyUtils.copyBeanList(emergencyPlanTeamInfoDOList , EmergencyPlanTeamRespDTO.class);
+ if (!CollectionUtils.isEmpty(emergencyPlanTeamInfoDOList)) {
+ List<EmergencyPlanTeamRespDTO> emergencyTeamTeamRespDTOList = BeanCopyUtils.copyBeanList(emergencyPlanTeamInfoDOList, EmergencyPlanTeamRespDTO.class);
emergencyPlanDetailRespDTO.setTeamList(emergencyTeamTeamRespDTOList);
}
// 查找对应的附件
List<EmergencyPlanFileInfoDO> emergencyPlanFileInfoDOList = emergencyPlanFileInfoService.selectEmergencyPlanFileByPlanId(id);
- if (!CollectionUtils.isEmpty(emergencyPlanFileInfoDOList)){
- List<EmergencyPlanFileRespDTO> emergencyTeamFileRespDTOList = BeanCopyUtils.copyBeanList(emergencyPlanFileInfoDOList , EmergencyPlanFileRespDTO.class);
+ if (!CollectionUtils.isEmpty(emergencyPlanFileInfoDOList)) {
+ List<EmergencyPlanFileRespDTO> emergencyTeamFileRespDTOList = BeanCopyUtils.copyBeanList(emergencyPlanFileInfoDOList, EmergencyPlanFileRespDTO.class);
emergencyPlanDetailRespDTO.setFileList(emergencyTeamFileRespDTOList);
}
- return new ResultVO<>(ResultCodes.OK,emergencyPlanDetailRespDTO);
+ 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(Long[] ids) {
+
+ if (ids == null || ids.length==0){
+ throw new EmergencyException(EmergencyResultCodes.PLAN_NOT_EXIST);
+ }else{
+ for (Long id : ids){
+ deleteEmergencyPlan(id);
+ }
+ return new ResultVO(ResultCodes.OK);
+ }
+ }
+
+ @Override
+ public ResultVO updateAbolish(Long id, Boolean abolishStatus) {
+ emergencyPlanInfoService.updateAbolish(id,abolishStatus);
+ 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