From 9ca0dc6e7833715b875cc9b6b91d5c497b2bae8b Mon Sep 17 00:00:00 2001 From: zf <1603559716@qq.com> Date: 星期三, 30 八月 2023 09:05:45 +0800 Subject: [PATCH] Merge branch 'master' of https://sinanoaq.cn:8888/r/hazardInvestigationSystem into zf --- src/main/java/com/gk/hotwork/Service/ServiceImpl/SafetyInspectionItemImpl.java | 102 ++++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 93 insertions(+), 9 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 1102a12..b7bd72b 100644 --- a/src/main/java/com/gk/hotwork/Service/ServiceImpl/SafetyInspectionItemImpl.java +++ b/src/main/java/com/gk/hotwork/Service/ServiceImpl/SafetyInspectionItemImpl.java @@ -3,14 +3,14 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.gk.hotwork.Domain.EmergencyPlanFile; -import com.gk.hotwork.Domain.SafetyInspectionItem; +import com.gk.hotwork.Domain.*; import com.gk.hotwork.Domain.Exception.BusinessException; -import com.gk.hotwork.Domain.SafetyInspectionItemDeduction; -import com.gk.hotwork.Domain.UserInfo; 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; @@ -22,6 +22,7 @@ import java.util.Date; import java.util.List; import java.util.Map; +import java.util.stream.Collectors; @Service("SafetyInspectionItemService") @Transactional @@ -32,12 +33,30 @@ @Autowired private SafetyInspectionItemDeductionMapper safetyInspectionItemDeductionMapper; + @Autowired + private ElementManagementService elementManagementService; + + @Autowired + private SafetyInspectionElementAService safetyInspectionElementAService; + /** * @Description: 分页 */ @Override public IPage<SafetyInspectionItem> selectPage(Page<SafetyInspectionItem> page, Map<String, Object> filter, UserInfo user) { IPage<SafetyInspectionItem> res = safetyInspectionItemMapper.selectPages(page,filter); + if (CollectionUtils.isNotEmpty(res.getRecords())){ + for (int i = 0 ; i < res.getRecords().size(); i++){ + List<SafetyInspectionItemDeduction> fileList = safetyInspectionItemDeductionMapper.getBySafetyInspectionItemId(res.getRecords().get(i).getId()); + res.getRecords().get(i).setDeductionList(fileList); + } + } + return res; + } + + @Override + public IPage<SafetyInspectionItem> selectCPage(Page<SafetyInspectionItem> page, Map<String, Object> filter, UserInfo user) { + IPage<SafetyInspectionItem> res = safetyInspectionItemMapper.selectCPages(page,filter); if (CollectionUtils.isNotEmpty(res.getRecords())){ for (int i = 0 ; i < res.getRecords().size(); i++){ List<SafetyInspectionItemDeduction> fileList = safetyInspectionItemDeductionMapper.getBySafetyInspectionItemId(res.getRecords().get(i).getId()); @@ -90,7 +109,7 @@ String username = user.getRealname(); param.setUpdateTime(date); param.setUpdateBy(username); - this.updateById(param); + safetyInspectionItemMapper.updateSafetyInspectionItem(param); //更新扣分项表 List<SafetyInspectionItemDeduction> oldList = safetyInspectionItemDeductionMapper.getBySafetyInspectionItemId(param.getId()); @@ -162,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); @@ -174,7 +252,8 @@ } } } - return list; + return itemList; + } @Override @@ -208,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(param.getElementC() == null && 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