李林
2023-07-20 616c9c94af30ae75eb5994a2cea3fac16acaa005
standard-server/src/main/java/com/yuanchu/limslaboratory/service/impl/SpecificationsServiceImpl.java
@@ -5,16 +5,15 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yuanchu.limslaboratory.pojo.Specifications;
import com.yuanchu.limslaboratory.mapper.SpecificationsMapper;
import com.yuanchu.limslaboratory.service.SpecificationsService;
import com.yuanchu.limslaboratory.service.*;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yuanchu.limslaboratory.service.StandardsService;
import com.yuanchu.limslaboratory.service.UserService;
import com.yuanchu.limslaboratory.vo.ListSpecificationsInformation;
import com.yuanchu.limslaboratory.utils.MyUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.ObjectUtils;
import javax.annotation.Resource;
import java.util.List;
import java.util.Map;
import java.util.Objects;
@@ -38,6 +37,12 @@
    @Autowired
    private UserService userService;
    @Autowired
    private MaterialService materialService;
    @Autowired
    private ProductService productService;
    @Override
    public Integer addSpecificationsInformation(Specifications specifications) {
        Boolean userIsNull = userService.userIsNull(specifications.getUserId());
@@ -56,7 +61,37 @@
    }
    @Override
    public IPage<ListSpecificationsInformation> listSpecificationsInformation(String specificationsName, String serialNumberId, Page<Objects> page) {
    public IPage<Map<String, Objects>> listSpecificationsInformation(String specificationsName, String serialNumberId, Page<Objects> page) {
        return specificationsMapper.listSpecificationsInformation(specificationsName,serialNumberId,page);
    }
    @Override
    public Map<String, Object> selectSNameSNName(int materialId) {
        return specificationsMapper.selectSNameSNName(materialId);
    }
    @Override
    public Integer updateSpecificationsInformation(Specifications specifications) {
        LambdaQueryWrapper<Specifications> wrapper = new LambdaQueryWrapper<>();
        wrapper.eq(Specifications::getId, specifications.getId());
        return specificationsMapper.update(specifications, wrapper);
    }
    @Override
    public Integer deleteSpecifications(String specificationsId) {
        LambdaQueryWrapper<Specifications> wrapper = new LambdaQueryWrapper<>();
        wrapper.eq(Specifications::getId, specificationsId);
        // 删除Specifications中的数据
        int delete = specificationsMapper.delete(wrapper);
        if (delete == 1){
            // 删除等于SpecificationsId的Material表格中的数据,并且获取该数据的Id,用于删除Product表格中的数据
            List<String> materialListId = materialService.deleteMaterialEqSpecification(specificationsId);
            if (!ObjectUtils.isEmpty(materialListId)){
                // 根据Material表返回的列表Id,删除Product表中所有MaterialId等于该列表中的所有数据,无返回值
                productService.deleteProductEqMaterialId(materialListId);
            }
            return 1;
        }
        return 0;
    }
}