package com.ruoyi.quality.service.impl;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.quality.mapper.QualityTestStandardParamMapper;
import com.ruoyi.quality.pojo.QualityTestStandard;
import com.ruoyi.quality.mapper.QualityTestStandardMapper;
import com.ruoyi.quality.pojo.QualityTestStandardParam;
import com.ruoyi.quality.service.IQualityTestStandardService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.quality.service.QualityTestStandardParamService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.stream.Collectors;
/**
*
* 检测标准主表 服务实现类
*
*
* @author 芯导软件(江苏)有限公司
* @since 2026-01-13 03:40:24
*/
@Service
public class QualityTestStandardServiceImpl extends ServiceImpl implements IQualityTestStandardService {
@Autowired
private QualityTestStandardMapper qualityTestStandardMapper;
@Autowired
private QualityTestStandardParamMapper qualityTestStandardParamMapper;
@Autowired
private QualityTestStandardParamService qualityTestStandardParamService;
@Override
public IPage qualityTestStandardListPage(Page page, QualityTestStandard qualityTestStandard) {
return qualityTestStandardMapper.qualityTestStandardListPage(page,qualityTestStandard);
}
@Override
public int copyParam(QualityTestStandard qualityTestStandard) {
//先查询被复制的检测标准的详情参数
List oldQualityTestStandardParams = qualityTestStandardParamMapper.selectList(Wrappers.lambdaQuery().eq(QualityTestStandardParam::getTestStandardId, qualityTestStandard.getId()));
QualityTestStandard testStandard = qualityTestStandardMapper.selectById(qualityTestStandard.getId());
testStandard.setId(null);
testStandard.setStandardNo(null);
qualityTestStandardMapper.insert(testStandard);
List newQualityTestStandardParams = oldQualityTestStandardParams.stream().map(oldQualityTestStandardParam -> {
oldQualityTestStandardParam.setTestStandardId(testStandard.getId());
return oldQualityTestStandardParam;
}).collect(Collectors.toList());
qualityTestStandardParamService.saveBatch(newQualityTestStandardParams);
return 0;
}
}