From 53e7dce8d55487cbac64e4374ec9aa1b52a6c6ed Mon Sep 17 00:00:00 2001
From: SZH <szh_hello@163.com>
Date: 星期四, 09 三月 2023 21:16:43 +0800
Subject: [PATCH] 解决npe问题
---
emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/impl/EmergencyDrillEvaluationServiceImpl.java | 155 +++++++++++++++++++++++++++++++++++++++------------
1 files changed, 117 insertions(+), 38 deletions(-)
diff --git a/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/impl/EmergencyDrillEvaluationServiceImpl.java b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/impl/EmergencyDrillEvaluationServiceImpl.java
index 060e0ee..e10a260 100644
--- a/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/impl/EmergencyDrillEvaluationServiceImpl.java
+++ b/emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/impl/EmergencyDrillEvaluationServiceImpl.java
@@ -8,22 +8,16 @@
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.EmergencyResultCodes;
+import com.gkhy.safePlatform.emergency.enums.*;
import com.gkhy.safePlatform.emergency.excepiton.EmergencyException;
import com.gkhy.safePlatform.emergency.model.dto.req.EmergencyDrillEvaluationFileReqDTO;
import com.gkhy.safePlatform.emergency.model.dto.req.EmergencyDrillEvaluationReqDTO;
import com.gkhy.safePlatform.emergency.model.dto.req.EmergencyDrillEvaluationUserReqDTO;
-import com.gkhy.safePlatform.emergency.model.dto.resp.EmergencyDrillEvaluationDetailRespDTO;
-import com.gkhy.safePlatform.emergency.model.dto.resp.EmergencyDrillEvaluationFileRespDTO;
-import com.gkhy.safePlatform.emergency.model.dto.resp.EmergencyDrillEvaluationPageRespDTO;
-import com.gkhy.safePlatform.emergency.model.dto.resp.EmergencyDrillEvaluationUserRespDTO;
+import com.gkhy.safePlatform.emergency.model.dto.resp.*;
import com.gkhy.safePlatform.emergency.query.EmergencyDrillEvaluationQuery;
import com.gkhy.safePlatform.emergency.query.db.EmergencyDrillEvaluationDBQuery;
import com.gkhy.safePlatform.emergency.service.EmergencyDrillEvaluationService;
-import com.gkhy.safePlatform.emergency.service.baseService.EmergencyDrillEvaluationFileInfoService;
-import com.gkhy.safePlatform.emergency.service.baseService.EmergencyDrillEvaluationInfoService;
-import com.gkhy.safePlatform.emergency.service.baseService.EmergencyDrillEvaluationUserInfoService;
-import com.gkhy.safePlatform.emergency.service.baseService.EmergencyDrillPlanInfoService;
+import com.gkhy.safePlatform.emergency.service.baseService.*;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -47,8 +41,16 @@
private EmergencyDrillEvaluationUserInfoService emergencyDrillEvaluationUserInfoService;
@Autowired
- private EmergencyDrillPlanInfoService emergencyDrillPlanInfoService;
+ private EmergencyDrillExecuteInfoService emergencyDrillExecuteInfoService;
+ @Autowired
+ private EmergencyDrillExecuteUserInfoService emergencyDrillExecuteUserInfoService;
+
+ @Autowired
+ private EmergencyDrillPlanFileInfoService emergencyDrillPlanFileInfoService;
+
+ @Autowired
+ private EmergencyDrillPlanUserInfoService emergencyDrillPlanUserInfoService;
@Override
public SearchResultVO<List<EmergencyDrillEvaluationPageRespDTO>> selectEmergencyDrillEvaluationList(PageQuery<EmergencyDrillEvaluationQuery> query) {
@@ -66,7 +68,7 @@
return new SearchResultVO<>(
true,
pageIndex,
- pageSize,
+ pageSize,page.getPages(),
page.getTotal(),
respList,
ResultCodes.OK
@@ -75,14 +77,17 @@
@Override
public ResultVO addEmergencyDrillEvaluation(Long uid, EmergencyDrillEvaluationReqDTO emergencyDrillEvaluationReqDTO) {
+ // 验证枚举
+ checkEnum(emergencyDrillEvaluationReqDTO);
+
// 判断请求中是否存在演练计划id
- if (emergencyDrillEvaluationReqDTO.getDrillPlanId() == null) {
- throw new EmergencyException(EmergencyResultCodes.DRILL_PLAN_NULL);
+ if (emergencyDrillEvaluationReqDTO.getDrillExecuteId() == null) {
+ throw new EmergencyException(EmergencyResultCodes.DRILL_EXECUTE_NULL);
} else {
- EmergencyDrillPlanInfoDetailDO emergencyDrillPlanInfoDetailDO = emergencyDrillPlanInfoService.selectEmergencyDrillPlanById(emergencyDrillEvaluationReqDTO.getDrillPlanId());
- // 判断是否存在该演练计划
- if (emergencyDrillPlanInfoDetailDO == null) {
- throw new EmergencyException(EmergencyResultCodes.DRILL_PLAN_NOT_EXIST);
+ EmergencyDrillExecuteInfoDetailDO emergencyDrillExecuteInfoDetailDO = emergencyDrillExecuteInfoService.selectEmergencyDrillExecuteById(emergencyDrillEvaluationReqDTO.getDrillExecuteId());
+ // 判断是否存在该演练实施
+ if (emergencyDrillExecuteInfoDetailDO == null) {
+ throw new EmergencyException(EmergencyResultCodes.DRILL_EXECUTE_NOT_EXIST);
} else {
Date nowDate = new Date();
// 新增应急演练实施评价
@@ -96,10 +101,11 @@
if (!CollectionUtils.isEmpty(emergencyDrillEvaluationReqDTO.getFileList())) {
addEmergencyDrillEvaluationFile(uid, emergencyDrillEvaluationInfo.getId(), nowDate, emergencyDrillEvaluationReqDTO.getFileList());
}
- // 新增急演练计划应急人员表
+ // 新增急演练实施评价应急人员表
if (!CollectionUtils.isEmpty(emergencyDrillEvaluationReqDTO.getUserList())) {
addEmergencyDrillEvaluationUser(uid, emergencyDrillEvaluationInfo.getId(), nowDate, emergencyDrillEvaluationReqDTO.getUserList());
}
+
return new ResultVO<>(ResultCodes.OK);
}
}
@@ -135,51 +141,79 @@
public ResultVO<EmergencyDrillEvaluationDetailRespDTO> getEmergencyDrillEvaluationById(Long id) {
EmergencyDrillEvaluationDetailRespDTO emergencyDrillEvaluationDetailRespDTO = new EmergencyDrillEvaluationDetailRespDTO();
// 查询是否存在
- EmergencyDrillEvaluationInfoDetailDO emergencyDrillEvaluationInfoDetailDO = emergencyDrillEvaluationInfoService.selectEmergencyDrillEvaluationById(id);
+ EmergencyDrillEvaluationInfoDetailDO emergencyDrillEvaluationInfoDetailDO = emergencyDrillEvaluationInfoService.selectEmergencyDrillEvaluationByExecuteId(id);
if (emergencyDrillEvaluationInfoDetailDO == null) {
throw new EmergencyException(EmergencyResultCodes.DRILL_EVALUATION_NOT_EXIST);
} else {
BeanUtils.copyProperties(emergencyDrillEvaluationInfoDetailDO, emergencyDrillEvaluationDetailRespDTO);
- // 查找对应的人员
- List<EmergencyDrillEvaluationUserInfoDO> emergencyDrillEvaluationUserInfoDOList = emergencyDrillEvaluationUserInfoService.selectEmergencyDrillEvaluationUserByDrillEvaluationId(id);
- if (!CollectionUtils.isEmpty(emergencyDrillEvaluationUserInfoDOList)) {
- List<EmergencyDrillEvaluationUserRespDTO> emergencyUserUserRespDTOList = BeanCopyUtils.copyBeanList(emergencyDrillEvaluationUserInfoDOList, EmergencyDrillEvaluationUserRespDTO.class);
- emergencyDrillEvaluationDetailRespDTO.setUserList(emergencyUserUserRespDTOList);
+ // 演练计划的文件
+ List<EmergencyDrillPlanFileInfoDO> planFileInfoDOList = emergencyDrillPlanFileInfoService.selectEmergencyDrillPlanFileByDrillPlanId(emergencyDrillEvaluationDetailRespDTO.getDrillPlanId());
+ if (!CollectionUtils.isEmpty(planFileInfoDOList)) {
+ List<EmergencyDrillPlanFileRespDTO> emergencyUserFileRespDTOList = BeanCopyUtils.copyBeanList(planFileInfoDOList, EmergencyDrillPlanFileRespDTO.class);
+ emergencyDrillEvaluationDetailRespDTO.setPlanFileList(emergencyUserFileRespDTOList);
}
- // 查找对应的附件
- List<EmergencyDrillEvaluationFileInfoDO> emergencyDrillEvaluationFileInfoDOList = emergencyDrillEvaluationFileInfoService.selectEmergencyDrillEvaluationFileByDrillEvaluationId(id);
+ // 演练计划的人员
+ List<EmergencyDrillPlanUserInfoDO> planUserInfoDOList = emergencyDrillPlanUserInfoService.selectEmergencyDrillPlanUserByDrillPlanId(emergencyDrillEvaluationDetailRespDTO.getDrillPlanId());
+ if (!CollectionUtils.isEmpty(planUserInfoDOList)) {
+ List<EmergencyDrillPlanUserRespDTO> emergencyDrillPlanUserRespDTOList = BeanCopyUtils.copyBeanList(planUserInfoDOList, EmergencyDrillPlanUserRespDTO.class);
+
+ List<EmergencyDrillPlanUserRespDTO> planUserList = emergencyDrillPlanUserRespDTOList.stream().filter(user -> user.getType()==1 ).collect(Collectors.toList());
+ List<EmergencyDrillPlanUserRespDTO> planChargeUserList = emergencyDrillPlanUserRespDTOList.stream().filter(user -> user.getType()==2 ).collect(Collectors.toList());
+ emergencyDrillEvaluationDetailRespDTO.setPlanUserList(planUserList);
+ emergencyDrillEvaluationDetailRespDTO.setPlanChargeUserList(planChargeUserList);
+ }
+ // 演练实施的人员
+ List<EmergencyDrillExecuteUserInfoDO> executeUserList = emergencyDrillExecuteUserInfoService.selectEmergencyDrillExecuteUserByDrillExecuteId(emergencyDrillEvaluationDetailRespDTO.getDrillExecuteId());
+ if (!CollectionUtils.isEmpty(executeUserList)) {
+ List<EmergencyDrillExecuteUserRespDTO> emergencyUserFileRespDTOList = BeanCopyUtils.copyBeanList(executeUserList, EmergencyDrillExecuteUserRespDTO.class);
+ emergencyDrillEvaluationDetailRespDTO.setExecuteUserList(emergencyUserFileRespDTOList);
+ }
+ // 演练评价的文件
+ List<EmergencyDrillEvaluationFileInfoDO> emergencyDrillEvaluationFileInfoDOList = emergencyDrillEvaluationFileInfoService.selectEmergencyDrillEvaluationFileByDrillEvaluationId(emergencyDrillEvaluationDetailRespDTO.getId());
if (!CollectionUtils.isEmpty(emergencyDrillEvaluationFileInfoDOList)) {
List<EmergencyDrillEvaluationFileRespDTO> emergencyUserFileRespDTOList = BeanCopyUtils.copyBeanList(emergencyDrillEvaluationFileInfoDOList, EmergencyDrillEvaluationFileRespDTO.class);
- emergencyDrillEvaluationDetailRespDTO.setFileList(emergencyUserFileRespDTOList);
+ emergencyDrillEvaluationDetailRespDTO.setEvaluationFileList(emergencyUserFileRespDTOList);
}
+ // 演练评价的人员
+ List<EmergencyDrillEvaluationUserInfoDO> emergencyDrillEvaluationUserInfoDOList = emergencyDrillEvaluationUserInfoService.selectEmergencyDrillEvaluationUserByDrillEvaluationId(emergencyDrillEvaluationDetailRespDTO.getId());
+ if (!CollectionUtils.isEmpty(emergencyDrillEvaluationUserInfoDOList)) {
+ List<EmergencyDrillEvaluationUserRespDTO> emergencyUserUserRespDTOList = BeanCopyUtils.copyBeanList(emergencyDrillEvaluationUserInfoDOList, EmergencyDrillEvaluationUserRespDTO.class);
+ emergencyDrillEvaluationDetailRespDTO.setEvaluationUserList(emergencyUserUserRespDTOList);
+ }
+
+
return new ResultVO<>(ResultCodes.OK, emergencyDrillEvaluationDetailRespDTO);
}
}
@Override
public ResultVO updateEmergencyDrillEvaluation(Long uid, EmergencyDrillEvaluationReqDTO emergencyDrillEvaluationReqDTO) {
+ // 验证枚举
+ checkEnum(emergencyDrillEvaluationReqDTO);
Date nowDate = new Date();
// 查询是否存在
- EmergencyDrillEvaluationInfoDetailDO emergencyDrillEvaluationInfoDetailDO = emergencyDrillEvaluationInfoService.selectEmergencyDrillEvaluationById(emergencyDrillEvaluationReqDTO.getId());
+ EmergencyDrillEvaluationInfoDetailDO emergencyDrillEvaluationInfoDetailDO = emergencyDrillEvaluationInfoService.selectEmergencyDrillEvaluationByExecuteId(emergencyDrillEvaluationReqDTO.getDrillExecuteId());
if (emergencyDrillEvaluationInfoDetailDO == null) {
throw new EmergencyException(EmergencyResultCodes.DRILL_EVALUATION_NOT_EXIST);
} else {
EmergencyDrillEvaluationInfo emergencyDrillEvaluationInfo = new EmergencyDrillEvaluationInfo();
BeanUtils.copyProperties(emergencyDrillEvaluationReqDTO, emergencyDrillEvaluationInfo);
+ emergencyDrillEvaluationInfo.setId(emergencyDrillEvaluationInfoDetailDO.getId());
emergencyDrillEvaluationInfo.setUpdateUid(uid);
emergencyDrillEvaluationInfo.setGmtModitify(nowDate);
emergencyDrillEvaluationInfoService.updateEmergencyDrillEvaluation(emergencyDrillEvaluationInfo);
- // 更新急演练计划附件表
+ // 更新急演练实施评价附件表
if (!CollectionUtils.isEmpty(emergencyDrillEvaluationReqDTO.getFileList())) {
updateEmergencyDrillEvaluationFile(uid, emergencyDrillEvaluationInfo.getId(), nowDate, emergencyDrillEvaluationReqDTO.getFileList());
}
- // 更新急演练计划应急队伍表
+ // 更新急演练实施评价应急队伍表
if (!CollectionUtils.isEmpty(emergencyDrillEvaluationReqDTO.getUserList())) {
updateEmergencyDrillEvaluationUser(uid, emergencyDrillEvaluationInfo.getId(), nowDate, emergencyDrillEvaluationReqDTO.getUserList());
}
-
+ // 修改实施表的评价状态
+ emergencyDrillExecuteInfoService.updateStatusById(emergencyDrillEvaluationInfoDetailDO.getDrillExecuteId());
return new ResultVO<>(ResultCodes.OK);
}
}
@@ -267,13 +301,13 @@
}
@Override
- public ResultVO batchDeleteEmergencyDrillEvaluation(String ids) {
- if (StringUtils.isBlank(ids)) {
+ public ResultVO batchDeleteEmergencyDrillEvaluation(Long[] ids) {
+
+ if (ids == null || ids.length==0){
throw new EmergencyException(EmergencyResultCodes.DRILL_EVALUATION_NULL);
- } else {
- String[] idArr = ids.split(",");
- for (String id : idArr) {
- deleteEmergencyDrillEvaluation(Long.valueOf(id));
+ }else{
+ for (Long id : ids){
+ deleteEmergencyDrillEvaluation(id);
}
return new ResultVO(ResultCodes.OK);
}
@@ -281,7 +315,7 @@
private void deleteEmergencyDrillEvaluation(Long id) {
//查询是否存在
- EmergencyDrillEvaluationInfoDetailDO emergencyDrillEvaluationInfoDetailDO = emergencyDrillEvaluationInfoService.selectEmergencyDrillEvaluationById(id);
+ EmergencyDrillEvaluationInfoDetailDO emergencyDrillEvaluationInfoDetailDO = emergencyDrillEvaluationInfoService.selectEmergencyDrillEvaluationByExecuteId(id);
if (emergencyDrillEvaluationInfoDetailDO == null) {
throw new EmergencyException(EmergencyResultCodes.DRILL_EVALUATION_NOT_EXIST);
} else {
@@ -293,4 +327,49 @@
emergencyDrillEvaluationUserInfoService.deleteEmergencyDrillEvaluationUserByDrillEvaluationId(DrillEvaluationId);
}
}
+
+
+ /**
+ *
+ * 枚举类验证
+ * @param emergencyDrillEvaluationReqDTO
+ */
+ public void checkEnum(EmergencyDrillEvaluationReqDTO emergencyDrillEvaluationReqDTO) {
+ if (DrillEvaluationSuitableEnum.getByCode(emergencyDrillEvaluationReqDTO.getSuitable()) == null) {
+ throw new EmergencyException(EmergencyResultCodes.DRILL_EVALUATION_ENUM_SUITABLE_NOT_EXIST);
+ }
+ if (DrillEvaluationSufficientEnum.getByCode(emergencyDrillEvaluationReqDTO.getSufficient()) == null) {
+ throw new EmergencyException(EmergencyResultCodes.DRILL_EVALUATION_ENUM_SUFFICIENT_NOT_EXIST);
+ }
+ if (DrillEvaluationArrivalEnum.getByCode(emergencyDrillEvaluationReqDTO.getArrival()) == null) {
+ throw new EmergencyException(EmergencyResultCodes.DRILL_EVALUATION_ENUM_ARRIVAL_NOT_EXIST);
+ }
+ if (DrillEvaluationSuppliesEnum.getByCode(emergencyDrillEvaluationReqDTO.getSupplies()) == null) {
+ throw new EmergencyException(EmergencyResultCodes.DRILL_EVALUATION_ENUM_SUPPLIES_NOT_EXIST);
+ }
+ if (DrillEvaluationProtectionEnum.getByCode(emergencyDrillEvaluationReqDTO.getProtection()) == null) {
+ throw new EmergencyException(EmergencyResultCodes.DRILL_EVALUATION_ENUM_PROTECTION_NOT_EXIST);
+ }
+ if (DrillEvaluationWholeEnum.getByCode(emergencyDrillEvaluationReqDTO.getWhole()) == null) {
+ throw new EmergencyException(EmergencyResultCodes.DRILL_EVALUATION_ENUM_WHOLE_NOT_EXIST);
+ }
+ if (DrillEvaluationDivisionEnum.getByCode(emergencyDrillEvaluationReqDTO.getDivision()) == null) {
+ throw new EmergencyException(EmergencyResultCodes.DRILL_EVALUATION_ENUM_DIVISION_NOT_EXIST);
+ }
+ if (DrillEvaluationEffectEnum.getByCode(emergencyDrillEvaluationReqDTO.getEffect()) == null) {
+ throw new EmergencyException(EmergencyResultCodes.DRILL_EVALUATION_ENUM_EFFECT_NOT_EXIST);
+ }
+ if (DrillEvaluationReportEnum.getByCode(emergencyDrillEvaluationReqDTO.getReport()) == null) {
+ throw new EmergencyException(EmergencyResultCodes.DRILL_EVALUATION_ENUM_REPORT_NOT_EXIST);
+ }
+ if (DrillEvaluationSafetyEnum.getByCode(emergencyDrillEvaluationReqDTO.getSafety()) == null) {
+ throw new EmergencyException(EmergencyResultCodes.DRILL_EVALUATION_ENUM_SAFETY_NOT_EXIST);
+ }
+ if (DrillEvaluationRescueEnum.getByCode(emergencyDrillEvaluationReqDTO.getRescue()) == null) {
+ throw new EmergencyException(EmergencyResultCodes.DRILL_EVALUATION_ENUM_RESCUE_NOT_EXIST);
+ }
+ if (DrillEvaluationEvacuateEnum.getByCode(emergencyDrillEvaluationReqDTO.getEvacuate()) == null) {
+ throw new EmergencyException(EmergencyResultCodes.DRILL_EVALUATION_ENUM_EVACUATE_NOT_EXIST);
+ }
+ }
}
--
Gitblit v1.9.2