| | |
| | | package com.yuanchu.limslaboratory.service.impl; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; |
| | | import com.yuanchu.limslaboratory.pojo.Material; |
| | | import com.baomidou.mybatisplus.core.toolkit.IdWorker; |
| | | import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; |
| | | import com.yuanchu.limslaboratory.mapper.ProductModelMapper; |
| | | import com.yuanchu.limslaboratory.pojo.*; |
| | | import com.yuanchu.limslaboratory.mapper.MaterialMapper; |
| | | import com.yuanchu.limslaboratory.pojo.dto.AddMaterialDto; |
| | | import com.yuanchu.limslaboratory.service.MaterialService; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.yuanchu.limslaboratory.utils.MyUtil; |
| | | import com.yuanchu.limslaboratory.service.ProductService; |
| | | import com.yuanchu.limslaboratory.service.SpecificationsService; |
| | | import com.yuanchu.limslaboratory.service.StandardService; |
| | | import com.yuanchu.limslaboratory.utils.ArrayListUtil; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.util.ObjectUtils; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | import java.util.stream.Collectors; |
| | | |
| | | /** |
| | | * <p> |
| | | * 服务实现类 |
| | | * 服务实现类 |
| | | * </p> |
| | | * |
| | | * @author 江苏鵷雏网络科技有限公司 |
| | |
| | | @Resource |
| | | private MaterialMapper materialMapper; |
| | | |
| | | @Autowired |
| | | private StandardService standardService; |
| | | |
| | | @Autowired |
| | | private SpecificationsService specificationsService; |
| | | |
| | | @Autowired |
| | | private ProductService productService; |
| | | |
| | | @Resource |
| | | ProductModelMapper productModelMapper; |
| | | |
| | | //查询物料信息 |
| | | @Override |
| | | public Integer addMaterialInformation(Material material) { |
| | | return materialMapper.insert(material); |
| | | public List<Map> selectMaterialLimit(int pageSize, int countSize, int type) { |
| | | return materialMapper.selectMaterialLimit((pageSize - 1) * countSize, pageSize * countSize, type); |
| | | } |
| | | |
| | | @Override |
| | | public List<Map<String, Object>> getListMaterialInformation(String specificationsId) { |
| | | LambdaQueryWrapper<Material> wrapper = new LambdaQueryWrapper<>(); |
| | | wrapper.eq(Material::getSpecificationsId, specificationsId); |
| | | wrapper.select(Material::getId, Material::getName); |
| | | return materialMapper.selectMaps(wrapper); |
| | | } |
| | | |
| | | @Override |
| | | public Integer deleteMaterialInformation(Integer materialId) { |
| | | LambdaQueryWrapper<Material> wrapper = new LambdaQueryWrapper<>(); |
| | | wrapper.eq(Material::getId, materialId); |
| | | return materialMapper.delete(wrapper); |
| | | } |
| | | |
| | | @Override |
| | | public Integer updateMaterialInformation(Material material) { |
| | | LambdaUpdateWrapper<Material> updateWrapper = new LambdaUpdateWrapper<>(); |
| | | updateWrapper.eq(Material::getId, material.getId()); |
| | | materialMapper.updateById(material); |
| | | return materialMapper.update(material, updateWrapper); |
| | | updateWrapper.eq(Material::getId, materialId); |
| | | updateWrapper.set(Material::getState, 0); |
| | | int isDeleteSuccess = materialMapper.update(new Material(), updateWrapper); |
| | | if (isDeleteSuccess == 1) { |
| | | List<Integer> isDeleteStandard = standardService.deleteStandardsInformation(materialId); |
| | | if (!ObjectUtils.isEmpty(isDeleteStandard)) { |
| | | List<Integer> idDeleteSpecifications = specificationsService.StandardIdDeleteSpecifications(isDeleteStandard); |
| | | if (!ObjectUtils.isEmpty(idDeleteSpecifications)) { |
| | | productService.deleteProductInformation(idDeleteSpecifications); |
| | | } |
| | | } |
| | | return 1; |
| | | } |
| | | return 0; |
| | | } |
| | | |
| | | //三级新增 |
| | | @Override |
| | | public List<String> deleteMaterialEqSpecification(String specificationsId) { |
| | | LambdaQueryWrapper<Material> wrapper = new LambdaQueryWrapper<>(); |
| | | wrapper.eq(Material::getSpecificationsId, specificationsId); |
| | | wrapper.select(Material::getId); |
| | | List<Material> materials = materialMapper.selectList(wrapper); |
| | | if (!ObjectUtils.isEmpty(materials)){ |
| | | List<String> list = new ArrayList<>(); |
| | | for (Material material:materials){ |
| | | list.add(material.getId()); |
| | | } |
| | | int isDeleteList = materialMapper.deleteBatchIds(list); |
| | | if (isDeleteList != 0) { |
| | | return list; |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public Integer addMaterialInformation(AddMaterialDto addMaterialDto) { |
| | | Material material = new Material() |
| | | .setCode("BZ" + IdWorker.getIdStr()) |
| | | .setName(addMaterialDto.getMaterialName()) |
| | | .setType(addMaterialDto.getType()); |
| | | int isInsertSuccess = materialMapper.insert(material); |
| | | if (isInsertSuccess > 0) { |
| | | Standard standard = new Standard() |
| | | .setMaterialId(material.getId()) |
| | | .setName(addMaterialDto.getStandardName()); |
| | | boolean save = standardService.save(standard); |
| | | if (save) { |
| | | Specifications specifications = new Specifications() |
| | | .setName(addMaterialDto.getSpecificationsName()) |
| | | .setStandardId(standard.getId()); |
| | | boolean save1 = specificationsService.save(specifications); |
| | | if (save1) { |
| | | //添加型号之后添加项目 |
| | | List<Map<String, Object>> productModel = productModelMapper.seleMode(addMaterialDto.getMaterialName()); |
| | | List<Product> productList = productModel.stream().map(stringObjectMap -> { |
| | | Product product = new Product(); |
| | | product.setName(stringObjectMap.get("name").toString()); |
| | | if (ObjectUtils.isNotEmpty(stringObjectMap.get("father"))) { |
| | | product.setFather(stringObjectMap.get("father").toString()); |
| | | } |
| | | if (ObjectUtils.isNotEmpty(stringObjectMap.get("unit"))) { |
| | | product.setUnit(stringObjectMap.get("unit").toString()); |
| | | } |
| | | product.setSpecifications_id(specifications.getId()); |
| | | return product; |
| | | }).collect(Collectors.toList()); |
| | | productService.saveBatch(productList); |
| | | return 1; |
| | | } |
| | | } |
| | | } |
| | | return null; |
| | | return 0; |
| | | } |
| | | |
| | | @Override |
| | | public List<Map<String, Object>> getFourLevelInformation() { |
| | | return materialMapper.FourTree(); |
| | | } |
| | | |
| | | //添加指标-->选择样品名称 |
| | | @Override |
| | | public List<String> selectmater() { |
| | | return productModelMapper.selectmater(); |
| | | } |
| | | |
| | | @Override |
| | | public List<ProductModel> getSample() { |
| | | QueryWrapper<ProductModel>queryWrapper = new QueryWrapper<>(); |
| | | queryWrapper.lambda().select(ProductModel::getMaterial,ProductModel::getId).eq(ProductModel::getState,1); |
| | | return ArrayListUtil.oneObjectsDistinctByProperty(ProductModel::getMaterial,productModelMapper.selectList(queryWrapper)); |
| | | } |
| | | |
| | | |
| | | } |