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/EmergencyPlanServiceImpl.java | 66 +++++++++++++++++++++++++++++++--
1 files changed, 62 insertions(+), 4 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 14c7f19..6f4a884 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
@@ -10,7 +10,8 @@
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.EmergencyPlanTypeEnum;
import com.gkhy.safePlatform.emergency.enums.EmergencyResultCodes;
import com.gkhy.safePlatform.emergency.excepiton.EmergencyException;
import com.gkhy.safePlatform.emergency.model.dto.req.*;
@@ -18,9 +19,9 @@
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.checkerframework.checker.units.qual.A;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -47,11 +48,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);
@@ -62,6 +66,24 @@
}
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,
@@ -75,6 +97,13 @@
@Override
public ResultVO addEmergencyPlan(Long uid, EmergencyPlanReqDTO emergencyPlanReqDTO) {
+ // 验证必填
+ checkRequired(emergencyPlanReqDTO);
+ // 验证枚举
+ checkEnum(emergencyPlanReqDTO);
+
+
+
Date nowDate = new Date();
// 新增应急预案
EmergencyPlanInfo emergencyPlanInfo = new EmergencyPlanInfo();
@@ -82,7 +111,7 @@
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())) {
@@ -212,6 +241,11 @@
@Override
public ResultVO updateEmergencyPlan(Long uid, EmergencyPlanReqDTO emergencyPlanReqDTO) {
+ // 验证必填
+ checkRequired(emergencyPlanReqDTO);
+ // 验证枚举
+ checkEnum(emergencyPlanReqDTO);
+
Date nowDate = new Date();
// 查询是否存在
EmergencyPlanInfoDetailDO emergencyPlanInfoDetailDO = emergencyPlanInfoService.selectEmergencyPlanById(emergencyPlanReqDTO.getId());
@@ -442,4 +476,28 @@
emergencyPlanTeamInfoService.deleteEmergencyPlanTeamByPlanId(PlanId);
}
}
+
+ /**
+ * 验证必填项
+ * @return
+ */
+ private void checkRequired(EmergencyPlanReqDTO emergencyPlanReqDTO) {
+ //名称
+ if (StringUtils.isBlank(emergencyPlanReqDTO.getName())) {
+ throw new EmergencyException(EmergencyResultCodes.PLAN_NAME_NULL);
+ }
+ }
+
+ /**
+ * 验证枚举
+ */
+ private void checkEnum(EmergencyPlanReqDTO emergencyPlanReqDTO){
+ if (EmergencyPlanTypeEnum.getByCode(emergencyPlanReqDTO.getType())==null){
+ throw new EmergencyException(EmergencyResultCodes.PLAN_ENUM_TYPE_NOT_EXIST);
+ }
+ if (EmergencyPlanTypeEnum.getByCode(emergencyPlanReqDTO.getLevel())==null){
+ throw new EmergencyException(EmergencyResultCodes.PLAN_ENUM_LEVEL_NOT_EXIST);
+ }
+ }
+
}
--
Gitblit v1.9.2