From ef406c4432c290f2627fa3742a1489e660dcc239 Mon Sep 17 00:00:00 2001 From: zhangfeng <1603559716@qq.com> Date: 星期六, 22 七月 2023 18:30:26 +0800 Subject: [PATCH] 检查修改 --- src/main/java/com/gk/hotwork/Service/ServiceImpl/SafetyInspectionItemImpl.java | 79 +++++++++++++++++++++++++++++++++++++-- 1 files changed, 75 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/gk/hotwork/Service/ServiceImpl/SafetyInspectionItemImpl.java b/src/main/java/com/gk/hotwork/Service/ServiceImpl/SafetyInspectionItemImpl.java index d5bebd9..d1dc7fb 100644 --- a/src/main/java/com/gk/hotwork/Service/ServiceImpl/SafetyInspectionItemImpl.java +++ b/src/main/java/com/gk/hotwork/Service/ServiceImpl/SafetyInspectionItemImpl.java @@ -6,9 +6,11 @@ import com.gk.hotwork.Domain.*; import com.gk.hotwork.Domain.Exception.BusinessException; import com.gk.hotwork.Domain.Utils.StringUtils; +import com.gk.hotwork.Domain.dto.resp.SafetyInspectionElementRespDTO; import com.gk.hotwork.Mapper.SafetyInspectionItemDeductionMapper; import com.gk.hotwork.Mapper.SafetyInspectionItemMapper; import com.gk.hotwork.Service.ElementManagementService; +import com.gk.hotwork.Service.SafetyInspectionElementAService; import com.gk.hotwork.Service.SafetyInspectionItemService; import org.apache.commons.collections4.CollectionUtils; import org.checkerframework.checker.units.qual.C; @@ -20,6 +22,7 @@ import java.util.Date; import java.util.List; import java.util.Map; +import java.util.stream.Collectors; @Service("SafetyInspectionItemService") @Transactional @@ -32,6 +35,9 @@ @Autowired private ElementManagementService elementManagementService; + + @Autowired + private SafetyInspectionElementAService safetyInspectionElementAService; /** * @Description: 分页 @@ -175,10 +181,69 @@ } @Override - public List<SafetyInspectionItem> infoElementA(Long id, UserInfo user) { + public SafetyInspectionElementRespDTO infoElementA(Long id, UserInfo user) { + + //获取要素 + List<ElementTree> elementTree = elementManagementService.getElementTreeByParentId(id); + if(CollectionUtils.isEmpty(elementTree)){ + throw new BusinessException("该要素记录不存在"); + } + //获取要素树下面的检查项 List<SafetyInspectionItem> list = safetyInspectionItemMapper.infoElementA(id); - if (CollectionUtils.isNotEmpty(list)){ - for (SafetyInspectionItem safetyInspectionItem : list){ + + //一级 + SafetyInspectionElementRespDTO respDTO = new SafetyInspectionElementRespDTO(); + respDTO.setElementId(elementTree.get(0).getValue()); + respDTO.setElementName(elementTree.get(0).getLabel()); + respDTO.setType(elementTree.get(0).getType()); + respDTO.setPid(elementTree.get(0).getPid()); + List<SafetyInspectionElementRespDTO> sRespList = new ArrayList<>(); + //循环孩子节点(二级) + if(CollectionUtils.isNotEmpty(elementTree.get(0).getChildren())){ + for (ElementTree schildren : elementTree.get(0).getChildren()){ + SafetyInspectionElementRespDTO schildrenRespDTO = new SafetyInspectionElementRespDTO(); + schildrenRespDTO.setElementId(schildren.getValue()); + schildrenRespDTO.setElementName(schildren.getLabel()); + schildrenRespDTO.setType(schildren.getType()); + schildrenRespDTO.setPid(schildren.getPid()); + if(CollectionUtils.isEmpty(schildren.getChildren())){ + List<SafetyInspectionItem> sSelectItemList = list + .stream() + .filter(item -> item.getElementB().equals(schildren.getValue()) && item.getElementC() == null) + .collect(Collectors.toList()); + schildrenRespDTO.setItemList(getSafetyInspectionItem(sSelectItemList)); + }else { + List<SafetyInspectionElementRespDTO> tRespList = new ArrayList<>(); + //三级 + for (ElementTree tchildren : schildren.getChildren()){ + SafetyInspectionElementRespDTO tchildrenRespDTO = new SafetyInspectionElementRespDTO(); + tchildrenRespDTO.setElementId(tchildren.getValue()); + tchildrenRespDTO.setElementName(tchildren.getLabel()); + tchildrenRespDTO.setType(tchildren.getType()); + tchildrenRespDTO.setPid(tchildren.getPid()); + List<SafetyInspectionItem> tSelectItemList = list + .stream() + .filter(item -> item.getElementC() != null && item.getElementC().equals(tchildren.getValue())) + .collect(Collectors.toList()); + tchildrenRespDTO.setItemList(getSafetyInspectionItem(tSelectItemList)); + tRespList.add(tchildrenRespDTO); + } + schildrenRespDTO.setChildren(tRespList); + } + sRespList.add(schildrenRespDTO); + + + } + } + respDTO.setChildren(sRespList); + return respDTO; + + } + + private List<SafetyInspectionItem> getSafetyInspectionItem(List<SafetyInspectionItem> itemList){ + + if (CollectionUtils.isNotEmpty(itemList)){ + for (SafetyInspectionItem safetyInspectionItem : itemList){ List<SafetyInspectionItemDeduction> deductionList = safetyInspectionItemDeductionMapper.getBySafetyInspectionItemId(safetyInspectionItem.getId()); if (CollectionUtils.isNotEmpty(deductionList)){ safetyInspectionItem.setDeductionList(deductionList); @@ -187,7 +252,8 @@ } } } - return list; + return itemList; + } @Override @@ -221,6 +287,11 @@ public void requiredVerification(SafetyInspectionItem param){ if (param.getElementA() == null) throw new BusinessException("请选择A级要素"); if (param.getElementB() == null) throw new BusinessException("请选择B级要素"); + //如果有三级要素则不创建标准 + List<ElementManagement> elementList = elementManagementService.getElementByParentId(param.getElementB()); + if(elementList.size() > 0){ + throw new BusinessException("请先删除三级要素"); + } if(StringUtils.isBlank(param.getStandardizationRequirements())) throw new BusinessException("请填写标准化要求"); if(StringUtils.isBlank(param.getEnterpriseStandard())) throw new BusinessException("请填写企业达标标准"); if(StringUtils.isBlank(param.getReviewMethod())) throw new BusinessException("请填写评审方法"); -- Gitblit v1.9.2