gongchunyi
3 天以前 d546e42089177442c5e43f9944052fcf3611b08d
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
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;
 
/**
 * <p>
 * 检测标准主表与产品关联表 服务实现类
 * </p>
 *
 * @author 芯导软件(江苏)有限公司
 * @since 2026-01-13 03:39:40
 */
@Service
@RequiredArgsConstructor
public class QualityTestStandardBindingServiceImpl extends ServiceImpl<QualityTestStandardBindingMapper, QualityTestStandardBinding> implements QualityTestStandardBindingService {
 
    private final QualityTestStandardBindingMapper qualityTestStandardBindingMapper;
 
    @Override
    public List<QualityTestStandardBindingDto> listBinding(Long testStandardId) {
        return qualityTestStandardBindingMapper.listBinding(testStandardId);
    }
 
    @Override
    public int add(List<QualityTestStandardBinding> qualityTestStandardBindings) {
        ArrayList<QualityTestStandardBinding> qualityTestStandardBindings1 = new ArrayList<>(qualityTestStandardBindings.size());
        //判断是否已经有绑定过的数据
        for (QualityTestStandardBinding qualityTestStandardBinding : qualityTestStandardBindings) {
            LambdaQueryWrapper<QualityTestStandardBinding> queryWrapper = Wrappers.<QualityTestStandardBinding>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;
    }
}