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/ElementManagementImpl.java | 180 +++++++++++++++++++++++++++++++++++++++++++++++------------ 1 files changed, 143 insertions(+), 37 deletions(-) diff --git a/src/main/java/com/gk/hotwork/Service/ServiceImpl/ElementManagementImpl.java b/src/main/java/com/gk/hotwork/Service/ServiceImpl/ElementManagementImpl.java index cf21e0d..e7741f2 100644 --- a/src/main/java/com/gk/hotwork/Service/ServiceImpl/ElementManagementImpl.java +++ b/src/main/java/com/gk/hotwork/Service/ServiceImpl/ElementManagementImpl.java @@ -5,12 +5,11 @@ 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.ElementManagement; -import com.gk.hotwork.Domain.ElementTree; +import com.gk.hotwork.Domain.*; import com.gk.hotwork.Domain.Exception.BusinessException; -import com.gk.hotwork.Domain.UserInfo; import com.gk.hotwork.Domain.Utils.StringUtils; import com.gk.hotwork.Mapper.ElementManagementMapper; +import com.gk.hotwork.Mapper.SafetyInspectionItemMapper; import com.gk.hotwork.Service.ElementManagementService; import org.apache.commons.collections4.CollectionUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -29,6 +28,9 @@ @Autowired private ElementManagementMapper elementManagementMapper; + @Autowired + private SafetyInspectionItemMapper safetyInspectionItemMapper; + /** * @Description: 分页 */ @@ -36,7 +38,6 @@ public IPage<ElementManagement> selectPage(Page<ElementManagement> page, Map<String, Object> filter, UserInfo user) { return elementManagementMapper.selectPages(page,filter); } - /** * @Description: 新增 @@ -88,42 +89,125 @@ return elementManagementMapper.getElementByType(0); } + public List<ElementTree> getChindrenTree(List<Map<String,Object>> list,Long pid){ + List<ElementTree> elementTreeList = new ArrayList<ElementTree>(); + for (Map<String,Object> e : list) { + if(e.get("pid")!=null && pid.toString().equals(e.get("pid").toString())){ + + ElementTree elementTree=new ElementTree(); + elementTree.setType(Integer.valueOf(e.get("type").toString())); + elementTree.setLabel(e.get("label").toString()); + elementTree.setValue(Long.valueOf(e.get("value").toString())); + elementTree.setLeaf(e.get("isLeaf").toString().equals("1")?true:false); + elementTree.setPid(Long.valueOf(e.get("pid").toString())); + elementTree.setPoint(e.get("point") != null ? Integer.valueOf(e.get("point").toString()) : 0); + if(elementTree.isLeaf()){ + elementTree.setChildren(new ArrayList<ElementTree>()); + elementTreeList.add(elementTree); + }else{ + elementTree.setChildren(getChindrenTree(list,elementTree.getValue())); + elementTreeList.add(elementTree); + } + } + } + return elementTreeList; + } + @Override public List<ElementTree> getElementTree() { - List<ElementTree> elementTreeList = new ArrayList<>(); + + List<ElementTree> returnTree = new ArrayList<>(); + List<Map<String,Object>> list = elementManagementMapper.getElementTree(); //读取元素配置 + for (Map<String, Object> map : list) { + if(map.get("pid")==null){ //一级要素 + ElementTree elementTree=new ElementTree(); + elementTree.setType(Integer.valueOf(map.get("type").toString())); + elementTree.setLabel(map.get("label").toString()); + elementTree.setValue(Long.valueOf(map.get("value").toString())); + elementTree.setLeaf(map.get("isLeaf").toString().equals("1")?true:false); + elementTree.setChildren(getChindrenTree(list,Long.valueOf(map.get("value").toString()))); + returnTree.add(elementTree); + }else{ + continue; + } + } - List<ElementManagement> list1 = elementManagementMapper.getElementByType(0); - List<ElementManagement> list2 = elementManagementMapper.getElementByType(1); - - if (CollectionUtils.isNotEmpty(list1)){ - for (ElementManagement elementManagement : list1){ - ElementTree elementTree=new ElementTree(); - elementTree.setType(0); - elementTree.setLabel(elementManagement.getName()); - elementTree.setValue(elementManagement.getId()); - elementTreeList.add(elementTree); - } - } - if (CollectionUtils.isNotEmpty(list2)) { - for (int i = 0; i < list2.size(); i++) { - for (int j = 0; j < elementTreeList.size(); j++) { - if (list2.get(i).getParentId().equals(elementTreeList.get(j).getValue())) { - if (CollectionUtils.isEmpty(elementTreeList.get(j).getChildren())) { - //如果为空 则new一个出来 - elementTreeList.get(j).setChildren(new ArrayList<>()); - } - ElementTree elementTree = new ElementTree(); - elementTree.setType(1); - elementTree.setLabel(list2.get(i).getName()); - elementTree.setValue(list2.get(i).getId()); - elementTreeList.get(j).getChildren().add(elementTree); - } - } - } - } - return elementTreeList; + return returnTree; } + @Override + public List<ElementTree> getMenuType1Tree() { + + List<ElementTree> returnTree = new ArrayList<>(); + List<Map<String,Object>> list = elementManagementMapper.getElementTree(); //读取元素配置 + for (Map<String, Object> map : list) { + if(map.get("pid")==null && "1".equals(map.get("mt").toString())){ //一级要素,MenuType1 + ElementTree elementTree=new ElementTree(); + elementTree.setType(Integer.valueOf(map.get("type").toString())); + elementTree.setLabel(map.get("label").toString()); + elementTree.setValue(Long.valueOf(map.get("value").toString())); + elementTree.setLeaf(map.get("isLeaf").toString().equals("1")?true:false); + elementTree.setChildren(getChindrenTree(list,Long.valueOf(map.get("value").toString()))); + returnTree.add(elementTree); + }else{ + continue; + } + } + + return returnTree; + } + + @Override + public List<ElementTree> getMenuType2Tree() { + + List<ElementTree> returnTree = new ArrayList<>(); + List<Map<String,Object>> list = elementManagementMapper.getElementTree(); //读取元素配置 + for (Map<String, Object> map : list) { + if(map.get("pid")==null && "2".equals(map.get("mt").toString())){ //一级要素,MenuType2 + ElementTree elementTree=new ElementTree(); + elementTree.setType(Integer.valueOf(map.get("type").toString())); + elementTree.setLabel(map.get("label").toString()); + elementTree.setValue(Long.valueOf(map.get("value").toString())); + elementTree.setLeaf(map.get("isLeaf").toString().equals("1")?true:false); + elementTree.setChildren(getChindrenTree(list,Long.valueOf(map.get("value").toString()))); + returnTree.add(elementTree); + }else{ + continue; + } + } + + return returnTree; + } + + @Override + public List<ElementManagement> getElementByParentId(Long parentId) { + List<ElementManagement> list = elementManagementMapper.selectList(new LambdaQueryWrapper<ElementManagement>() + .eq(ElementManagement::getValidFlag, 1) + .eq(ElementManagement::getParentId, parentId)); + return list; + } + + @Override + public List<ElementTree> getElementTreeByParentId(Long parentId) { + + List<ElementTree> returnTree = new ArrayList<>(); + List<Map<String,Object>> list = elementManagementMapper.getElementTree(); //读取元素配置 + for (Map<String, Object> map : list) { + if(map.get("value").equals(parentId)){ //一级要素 + ElementTree elementTree=new ElementTree(); + elementTree.setType(Integer.valueOf(map.get("type").toString())); + elementTree.setLabel(map.get("label").toString()); + elementTree.setValue(Long.valueOf(map.get("value").toString())); + elementTree.setLeaf(map.get("isLeaf").toString().equals("1")?true:false); + elementTree.setPoint(map.get("point") != null ? Integer.valueOf(map.get("point").toString()) : 0); + elementTree.setChildren(getChindrenTree(list,Long.valueOf(map.get("value").toString()))); + returnTree.add(elementTree); + }else{ + continue; + } + } + return returnTree; + } /** * 查询验证 @@ -144,9 +228,25 @@ public void requiredVerification(ElementManagement param){ if(StringUtils.isBlank(param.getName())) throw new BusinessException("请填写要素名称"); if (param.getType() == null) throw new BusinessException("请选择要素类型"); - if (param.getType() == 1 && param.getParentId()==null){ - throw new BusinessException("请选择父要素"); + if (param.getType() == 1 && param.getParentId() == null){//二级要素 + throw new BusinessException("请选择一级要素"); } + if(param.getType() == 2){//三级要素 + if(param.getParentId() == null){ + throw new BusinessException("请选择二级要素"); + } + List<SafetyInspectionItem> safetyInspectionItems = safetyInspectionItemMapper.selectList(new LambdaQueryWrapper<SafetyInspectionItem>() + .eq(SafetyInspectionItem::getValidFlag, 1) + .eq(SafetyInspectionItem::getElementB, param.getParentId())); + if(safetyInspectionItems.size() > 0){ + throw new BusinessException("二级要素下存在检查内容,不可建立三级"); + } + + } + + + + } /** @@ -163,4 +263,10 @@ if (count > 0) throw new BusinessException("当前A级要素仍然有已绑定的B级要素,无法删除"); } } + + + @Override + public List<ElementManagement> getSuperElement(Integer type) { + return elementManagementMapper.getElementByType(type); + } } -- Gitblit v1.9.2