| | |
| | | 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; |
| | |
| | | @Autowired |
| | | private ElementManagementMapper elementManagementMapper; |
| | | |
| | | @Autowired |
| | | private SafetyInspectionItemMapper safetyInspectionItemMapper; |
| | | |
| | | /** |
| | | * @Description: 分页 |
| | | */ |
| | |
| | | public IPage<ElementManagement> selectPage(Page<ElementManagement> page, Map<String, Object> filter, UserInfo user) { |
| | | return elementManagementMapper.selectPages(page,filter); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * @Description: 新增 |
| | |
| | | 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") == parentId){ //一级要素,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.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; |
| | | } |
| | | |
| | | /** |
| | | * 查询验证 |
| | |
| | | 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("二级要素下存在检查内容,不可建立三级"); |
| | | } |
| | | |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | } |
| | | |
| | | /** |
| | |
| | | if (count > 0) throw new BusinessException("当前A级要素仍然有已绑定的B级要素,无法删除"); |
| | | } |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public List<ElementManagement> getSuperElement(Integer type) { |
| | | return elementManagementMapper.getElementByType(type); |
| | | } |
| | | } |