package com.ruoyi.quality.utils;
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
import com.ruoyi.common.utils.bean.BeanUtils;
|
import com.ruoyi.purchase.pojo.PurchaseLedger;
|
import com.ruoyi.quality.mapper.QualityInspectMapper;
|
import com.ruoyi.quality.mapper.QualityInspectParamMapper;
|
import com.ruoyi.quality.mapper.QualityTestStandardMapper;
|
import com.ruoyi.quality.mapper.QualityTestStandardParamMapper;
|
import com.ruoyi.quality.pojo.QualityInspect;
|
import com.ruoyi.quality.pojo.QualityInspectParam;
|
import com.ruoyi.quality.pojo.QualityTestStandard;
|
import com.ruoyi.quality.pojo.QualityTestStandardParam;
|
import com.ruoyi.sales.pojo.SalesLedgerProduct;
|
import lombok.RequiredArgsConstructor;
|
import org.springframework.stereotype.Component;
|
|
import java.util.List;
|
|
/**
|
* 质检单创建工具类
|
*/
|
@Component
|
@RequiredArgsConstructor
|
public class QualityInspectHelper {
|
|
private final QualityInspectMapper qualityInspectMapper;
|
private final QualityTestStandardMapper qualityTestStandardMapper;
|
private final QualityTestStandardParamMapper qualityTestStandardParamMapper;
|
private final QualityInspectParamMapper qualityInspectParamMapper;
|
|
/**
|
* 创建质检单
|
* @param purchaseLedger 采购台账
|
* @param saleProduct 采购产品
|
*/
|
public void addQualityInspect(PurchaseLedger purchaseLedger, SalesLedgerProduct saleProduct) {
|
QualityInspect qualityInspect = new QualityInspect();
|
qualityInspect.setInspectType(0);
|
qualityInspect.setSupplier(purchaseLedger.getSupplierName());
|
qualityInspect.setPurchaseLedgerId(purchaseLedger.getId());
|
qualityInspect.setProductId(saleProduct.getProductId());
|
qualityInspect.setProductName(saleProduct.getProductCategory());
|
qualityInspect.setModel(saleProduct.getSpecificationModel());
|
qualityInspect.setProductModelId(saleProduct.getProductModelId());
|
qualityInspect.setUnit(saleProduct.getUnit());
|
qualityInspect.setQuantity(saleProduct.getQuantity());
|
qualityInspectMapper.insert(qualityInspect);
|
|
List<QualityTestStandard> qualityTestStandardList = qualityTestStandardMapper
|
.getQualityTestStandardByProductId(saleProduct.getProductId(), 0, null);
|
|
if (qualityTestStandardList.isEmpty()) {
|
return;
|
}
|
|
QualityTestStandard firstStandard = qualityTestStandardList.get(0);
|
qualityInspect.setTestStandardId(firstStandard.getId());
|
qualityInspectMapper.updateById(qualityInspect);
|
|
List<QualityTestStandardParam> standardParams = qualityTestStandardParamMapper.selectList(
|
Wrappers.<QualityTestStandardParam>lambdaQuery()
|
.eq(QualityTestStandardParam::getTestStandardId, firstStandard.getId()));
|
|
for (QualityTestStandardParam standardParam : standardParams) {
|
QualityInspectParam param = new QualityInspectParam();
|
BeanUtils.copyProperties(standardParam, param);
|
param.setId(null);
|
param.setInspectId(qualityInspect.getId());
|
qualityInspectParamMapper.insert(param);
|
}
|
}
|
}
|