huminmin
2026-07-15 422a5676c2d96dd37c1be62935a314d70fef79b5
src/main/java/com/ruoyi/quality/service/impl/QualityInspectServiceImpl.java
@@ -17,6 +17,8 @@
import com.ruoyi.framework.web.domain.R;
import com.ruoyi.procurementrecord.service.ProcurementRecordService;
import com.ruoyi.procurementrecord.utils.StockUtils;
import com.ruoyi.production.mapper.ProductionProductMainMapper;
import com.ruoyi.production.pojo.ProductionProductMain;
import com.ruoyi.quality.dto.QualityInspectDto;
import com.ruoyi.quality.mapper.QualityInspectMapper;
import com.ruoyi.quality.mapper.QualityTestStandardMapper;
@@ -67,6 +69,8 @@
    private SalesLedgerProductMapper salesLedgerProductMapper;
    private ProcurementRecordService procurementRecordService;
    private ProductionProductMainMapper productionProductMainMapper;
    @Override
    public int add(QualityInspectDto qualityInspectDto) {
@@ -148,6 +152,7 @@
            qualityUnqualified.setInspectState(0);//待处理
            qualityUnqualified.setQuantity(qualityInspect.getUnqualifiedQuantity());
            qualityUnqualified.setProductModelId(qualityInspect.getProductModelId());
            applyDealTypeByReportType(qualityInspect, qualityUnqualified);
            List<QualityInspectParam> inspectParams = qualityInspectParamService.list(Wrappers.<QualityInspectParam>lambdaQuery().eq(QualityInspectParam::getInspectId, inspect.getId()));
            String text = inspectParams.stream().map(QualityInspectParam::getParameterItem).collect(Collectors.joining(","));
            qualityUnqualified.setDefectivePhenomena(text + "这些指标中存在不合格");//不合格现象
@@ -159,6 +164,32 @@
        return qualityInspectMapper.updateById(qualityInspect);
    }
    private void applyDealTypeByReportType(QualityInspect qualityInspect, QualityUnqualified qualityUnqualified) {
        if (qualityInspect == null || qualityUnqualified == null || qualityInspect.getProductMainId() == null) {
            return;
        }
        ProductionProductMain productMain = productionProductMainMapper.selectById(qualityInspect.getProductMainId());
        if (productMain == null || productMain.getReportType() == null) {
            return;
        }
        switch (productMain.getReportType()) {
            case 1:
                qualityUnqualified.setDealType(0);
                qualityUnqualified.setDealResult("报工");
                break;
            case 2:
                qualityUnqualified.setDealType(1);
                qualityUnqualified.setDealResult("报工");
                break;
            case 3:
                qualityUnqualified.setDealType(2);
                qualityUnqualified.setDealResult("报废");
                break;
            default:
                break;
        }
    }
    @Override
    public R autoSubmit(Long id) {
        if (id == null) {