| | |
| | | import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
| | | import com.jilongda.common.basic.PageInfo; |
| | | import com.jilongda.manage.mapper.TBrandMapper; |
| | | import com.jilongda.manage.mapper.TMaterialMapper; |
| | | import com.jilongda.manage.mapper.TSupplierMapper; |
| | | import com.jilongda.manage.model.TBrand; |
| | | import com.jilongda.manage.model.TMaterial; |
| | | import com.jilongda.manage.model.TModel; |
| | | import com.jilongda.manage.mapper.TModelMapper; |
| | | import com.jilongda.manage.model.TSupplier; |
| | |
| | | import com.jilongda.manage.vo.TModelVO; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.util.CollectionUtils; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | import java.util.Objects; |
| | | import java.util.stream.Collectors; |
| | |
| | | private TBrandMapper brandMapper; |
| | | @Autowired |
| | | private TSupplierMapper supplierMapper; |
| | | @Autowired |
| | | private TMaterialMapper materialMapper; |
| | | |
| | | @Override |
| | | public Boolean upAndDown(String name, Integer status) { |
| | |
| | | public PageInfo<TModelVO> pageList(TModelQuery query) { |
| | | PageInfo<TModelVO> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize()); |
| | | List<TModelVO> list = this.baseMapper.pageList(query,pageInfo); |
| | | List<Integer> brandIds = list.stream().map(TModel::getBrandId).collect(Collectors.toList()); |
| | | List<Integer> supplierIds= list.stream().map(TModel::getSupplierId).collect(Collectors.toList()); |
| | | List<TBrand> tBrands = brandMapper.selectList(Wrappers.lambdaQuery(TBrand.class) |
| | | .in(TBrand::getId, brandIds)); |
| | | List<TSupplier> tSuppliers = supplierMapper.selectList(Wrappers.lambdaQuery(TSupplier.class) |
| | | .in(TSupplier::getId, supplierIds)); |
| | | for (TModelVO modelVO : list) { |
| | | TBrand tBrand = tBrands.stream().filter(brand -> brand.getId().equals(modelVO.getBrandId())).findFirst().orElse(null); |
| | | if(Objects.nonNull(tBrand)){ |
| | | modelVO.setBrandName(tBrand.getName()); |
| | | if(!CollectionUtils.isEmpty(list)){ |
| | | List<Integer> brandIds = list.stream().map(TModel::getBrandId).collect(Collectors.toList()); |
| | | List<Integer> supplierIds= list.stream().map(TModel::getSupplierId).collect(Collectors.toList()); |
| | | List<Integer> materialIds= list.stream().map(TModel::getMaterialId).collect(Collectors.toList()); |
| | | List<TBrand> tBrands = new ArrayList<>(); |
| | | if(!CollectionUtils.isEmpty(brandIds)){ |
| | | tBrands = brandMapper.selectList(Wrappers.lambdaQuery(TBrand.class) |
| | | .in(TBrand::getId, brandIds)); |
| | | } |
| | | TSupplier tSupplier = tSuppliers.stream().filter(supplier -> supplier.getId().equals(modelVO.getSupplierId())).findFirst().orElse(null); |
| | | if(Objects.nonNull(tSupplier)){ |
| | | modelVO.setSupplierName(tSupplier.getName()); |
| | | List<TSupplier> tSuppliers = new ArrayList<>(); |
| | | if(!CollectionUtils.isEmpty(supplierIds)){ |
| | | tSuppliers = supplierMapper.selectList(Wrappers.lambdaQuery(TSupplier.class) |
| | | .in(TSupplier::getId, supplierIds)); |
| | | } |
| | | List<TMaterial> materials = new ArrayList<>(); |
| | | if(!CollectionUtils.isEmpty(materialIds)){ |
| | | materials = materialMapper.selectList(Wrappers.lambdaQuery(TMaterial.class) |
| | | .in(TMaterial::getId, materialIds)); |
| | | } |
| | | for (TModelVO modelVO : list) { |
| | | TBrand tBrand = tBrands.stream().filter(brand -> brand.getId().equals(modelVO.getBrandId())).findFirst().orElse(null); |
| | | if(Objects.nonNull(tBrand)){ |
| | | modelVO.setBrandName(tBrand.getName()); |
| | | } |
| | | TSupplier tSupplier = tSuppliers.stream().filter(supplier -> supplier.getId().equals(modelVO.getSupplierId())).findFirst().orElse(null); |
| | | if(Objects.nonNull(tSupplier)){ |
| | | modelVO.setSupplierName(tSupplier.getName()); |
| | | } |
| | | TMaterial tMaterial = materials.stream().filter(material -> material.getId().equals(modelVO.getMaterialId())).findFirst().orElse(null); |
| | | if(Objects.nonNull(tMaterial)){ |
| | | modelVO.setMaterialName(tMaterial.getName()); |
| | | } |
| | | // 查询型号的色号 |
| | | List<TModel> colorList = this.list(Wrappers.lambdaQuery(TModel.class) |
| | | .eq(TModel::getName,modelVO.getName())); |
| | | String color = colorList.stream().map(TModel::getColor).collect(Collectors.joining(",")); |
| | | modelVO.setColor(color); |
| | | } |
| | | } |
| | | pageInfo.setRecords(list); |