package com.ruoyi.quality.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.quality.dto.QualityTestStandardBindingDto;
import com.ruoyi.quality.mapper.QualityTestStandardBindingMapper;
import com.ruoyi.quality.pojo.QualityTestStandardBinding;
import com.ruoyi.quality.service.QualityTestStandardBindingService;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
/**
*
* 检测标准主表与产品关联表 服务实现类
*
*
* @author 芯导软件(江苏)有限公司
* @since 2026-01-13 03:39:40
*/
@Service
@RequiredArgsConstructor
public class QualityTestStandardBindingServiceImpl extends ServiceImpl implements QualityTestStandardBindingService {
private final QualityTestStandardBindingMapper qualityTestStandardBindingMapper;
@Override
public List listBinding(Long testStandardId) {
return qualityTestStandardBindingMapper.listBinding(testStandardId);
}
@Override
public int add(List qualityTestStandardBindings) {
ArrayList qualityTestStandardBindings1 = new ArrayList<>(qualityTestStandardBindings.size());
//判断是否已经有绑定过的数据
for (QualityTestStandardBinding qualityTestStandardBinding : qualityTestStandardBindings) {
LambdaQueryWrapper queryWrapper = Wrappers.lambdaQuery()
.eq(QualityTestStandardBinding::getTestStandardId, qualityTestStandardBinding.getTestStandardId())
.eq(QualityTestStandardBinding::getProductId, qualityTestStandardBinding.getProductId());
if (qualityTestStandardBinding.getProductModelId() == null) {
queryWrapper.isNull(QualityTestStandardBinding::getProductModelId);
} else {
queryWrapper.eq(QualityTestStandardBinding::getProductModelId, qualityTestStandardBinding.getProductModelId());
}
if (qualityTestStandardBindingMapper.selectCount(queryWrapper) > 0) {
continue;
}
qualityTestStandardBindings1.add(qualityTestStandardBinding);
}
if (qualityTestStandardBindings1.isEmpty()) {
return 0;
}
saveBatch(qualityTestStandardBindings1);
return 0;
}
}