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.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.ruoyi.common.exception.base.BaseException;
|
import com.ruoyi.common.utils.poi.ExcelUtil;
|
import com.ruoyi.quality.mapper.QualityInspectMapper;
|
import com.ruoyi.quality.mapper.QualityInspectParamMapper;
|
import com.ruoyi.quality.mapper.QualityTestStandardMapper;
|
import com.ruoyi.quality.pojo.QualityInspect;
|
import com.ruoyi.quality.pojo.QualityInspectParam;
|
import com.ruoyi.quality.pojo.QualityTestStandard;
|
import com.ruoyi.quality.service.IQualityInspectParamService;
|
import com.ruoyi.quality.service.IQualityInspectService;
|
import com.ruoyi.staff.mapper.StaffJoinLeaveRecordMapper;
|
import com.ruoyi.staff.mapper.StaffOnJobMapper;
|
import com.ruoyi.staff.pojo.StaffJoinLeaveRecord;
|
import com.ruoyi.staff.pojo.StaffOnJob;
|
import com.ruoyi.staff.service.IStaffOnJobService;
|
import lombok.AllArgsConstructor;
|
import org.springframework.beans.BeanUtils;
|
import org.springframework.stereotype.Service;
|
import org.springframework.transaction.annotation.Transactional;
|
|
import javax.servlet.http.HttpServletResponse;
|
import java.util.List;
|
import java.util.stream.Collectors;
|
|
@AllArgsConstructor
|
@Service
|
@Transactional(rollbackFor = Exception.class)
|
public class QualityInspectServiceImpl extends ServiceImpl<QualityInspectMapper, QualityInspect> implements IQualityInspectService {
|
|
private QualityInspectMapper qualityInspectMapper;
|
|
private IQualityInspectParamService qualityInspectParamService;
|
|
private QualityTestStandardMapper qualityTestStandardMapper;
|
|
@Override
|
public int add(QualityInspect qualityInspect) {
|
String[] ignoreProperties = {"id"};//排除id属性
|
//根据产品id查询指标维护对应新增检验参数
|
List<QualityTestStandard> qualityTestStandards = qualityTestStandardMapper.selectList(Wrappers.<QualityTestStandard>lambdaQuery()
|
.eq(QualityTestStandard::getProductId, qualityInspect.getProductId()));
|
if (qualityTestStandards.size()>0){
|
qualityInspectMapper.insert(qualityInspect);
|
List<QualityInspectParam> qualityInspectParams = qualityTestStandards.stream().map(qualityTestStandard -> {
|
QualityInspectParam qualityInspectParam = new QualityInspectParam();
|
BeanUtils.copyProperties(qualityTestStandard, qualityInspectParam,ignoreProperties);
|
qualityInspectParam.setInspectId(qualityInspect.getId());
|
return qualityInspectParam;
|
}).collect(Collectors.toList());
|
qualityInspectParamService.saveBatch(qualityInspectParams);
|
}else{
|
throw new BaseException("该产品没有维护检验指标,请检查!!!!!!!!");
|
}
|
return 0;
|
}
|
|
@Override
|
public int updateQualityInspect(QualityInspect qualityInspect) {
|
String[] ignoreProperties = {"id"};//排除id属性
|
//先删除所有检验参数再新增
|
qualityInspectParamService.remove(Wrappers.<QualityInspectParam>lambdaQuery()
|
.eq(QualityInspectParam::getInspectId,qualityInspect.getId()));
|
//根据产品id查询指标维护对应新增检验参数
|
List<QualityTestStandard> qualityTestStandards = qualityTestStandardMapper.selectList(Wrappers.<QualityTestStandard>lambdaQuery()
|
.eq(QualityTestStandard::getProductId, qualityInspect.getProductId()));
|
if (qualityTestStandards.size()>0){
|
List<QualityInspectParam> qualityInspectParams = qualityTestStandards.stream().map(qualityTestStandard -> {
|
QualityInspectParam qualityInspectParam = new QualityInspectParam();
|
BeanUtils.copyProperties(qualityTestStandard, qualityInspectParam,ignoreProperties);
|
qualityInspectParam.setInspectId(qualityInspect.getId());
|
return qualityInspectParam;
|
}).collect(Collectors.toList());
|
qualityInspectParamService.saveBatch(qualityInspectParams);
|
}else{
|
throw new BaseException("该产品没有维护检验指标,请检查!!!!!!!!");
|
}
|
return qualityInspectMapper.updateById(qualityInspect);
|
}
|
|
@Override
|
public IPage<QualityInspect> qualityInspectListPage(Page page, QualityInspect qualityInspect) {
|
return qualityInspectMapper.qualityInspectListPage(page,qualityInspect);
|
}
|
|
@Override
|
public void qualityInspectExport(HttpServletResponse response, QualityInspect qualityInspect) {
|
List<QualityInspect> qualityInspects =qualityInspectMapper.qualityInspectExport(qualityInspect);
|
ExcelUtil<QualityInspect> util = new ExcelUtil<QualityInspect>(QualityInspect.class);
|
switch (qualityInspect.getInspectType()){
|
case 0:
|
util.exportExcel(response, qualityInspects, "原材料检验导出");
|
break;
|
case 1:
|
util.exportExcel(response, qualityInspects, "过程检验导出");
|
break;
|
case 2:
|
util.exportExcel(response, qualityInspects, "出厂检验导出");
|
break;
|
}
|
|
}
|
}
|