| | |
| | | |
| | | @Override |
| | | public List<Map<String, Object>> getFourLevelInformation(String specificationName) { |
| | | LambdaQueryWrapper<Material> typeWrapper = new LambdaQueryWrapper<>(); |
| | | typeWrapper.groupBy(Material::getType); |
| | | typeWrapper.select(Material::getType); |
| | | List<Map<String, Object>> typeMaps = materialMapper.selectMaps(typeWrapper); |
| | | for (Map<String, Object> typeMap : typeMaps){ |
| | | LambdaQueryWrapper<Material> materialWrapper = new LambdaQueryWrapper<>(); |
| | | materialWrapper.eq(Material::getType, typeMap.get("type")); |
| | | materialWrapper.select(Material::getId, Material::getName); |
| | | List<Map<String, Object>> materialMaps = materialMapper.selectMaps(materialWrapper); |
| | | if (!ObjectUtils.isEmpty(materialMaps)){ |
| | | for (Map<String, Object> materialMap : materialMaps){ |
| | | LambdaQueryWrapper<Standard> wrapper = new LambdaQueryWrapper<>(); |
| | | wrapper.eq(Standard::getMaterialId, materialMap.get("id")); |
| | | wrapper.select(Standard::getId, Standard::getName); |
| | | List<Map<String, Object>> standardMaps = standardService.listMaps(wrapper); |
| | | if (!ObjectUtils.isEmpty(standardMaps)){ |
| | | for (Map<String, Object> standardMap : standardMaps){ |
| | | LambdaQueryWrapper<Specifications> specificationWrapper = new LambdaQueryWrapper<>(); |
| | | specificationWrapper.eq(Specifications::getStandardId, standardMap.get("id")); |
| | | if (!ObjectUtils.isEmpty(specificationName)){ |
| | | specificationWrapper.eq(Specifications::getName, specificationName); |
| | | } |
| | | specificationWrapper.select(Specifications::getId, Specifications::getName); |
| | | List<Map<String, Object>> specificationsMaps = specificationsService.listMaps(specificationWrapper); |
| | | if (!ObjectUtils.isEmpty(specificationsMaps)){ |
| | | standardMap.put("children", specificationsMaps); |
| | | } else { |
| | | standardMap.put("children", null); |
| | | } |
| | | } |
| | | materialMap.put("children", standardMaps); |
| | | } else { |
| | | materialMap.put("children", null); |
| | | } |
| | | } |
| | | typeMap.put("children", materialMaps); |
| | | } else { |
| | | typeMap.put("children", null); |
| | | } |
| | | } |
| | | return typeMaps; |
| | | return materialMapper.FourTree(specificationName); |
| | | } |
| | | } |