| | |
| | | import com.ruoyi.framework.web.domain.R; |
| | | import com.ruoyi.procurementrecord.service.ProcurementRecordService; |
| | | import com.ruoyi.procurementrecord.utils.StockUtils; |
| | | import com.ruoyi.quality.dto.AutoJudgeAllResponse; |
| | | import com.ruoyi.quality.dto.AutoJudgeRequest; |
| | | import com.ruoyi.quality.dto.AutoJudgeResponse; |
| | | import com.ruoyi.quality.dto.BatchQuickInspectRequest; |
| | | import com.ruoyi.quality.dto.QualityInspectDto; |
| | | import com.ruoyi.quality.mapper.QualityInspectMapper; |
| | |
| | | import com.ruoyi.quality.pojo.QualityInspectParam; |
| | | import com.ruoyi.quality.pojo.QualityUnqualified; |
| | | import com.ruoyi.quality.utils.QualityInspectTemplateExportHelper; |
| | | import com.ruoyi.quality.utils.QualityJudgeUtil; |
| | | import com.ruoyi.stock.pojo.StockInRecord; |
| | | import com.ruoyi.stock.service.StockInRecordService; |
| | | import com.ruoyi.quality.service.IQualityInspectParamService; |
| | |
| | | return qualityInspectTemplateExportHelper.analyzeTemplate(templatePath); |
| | | } |
| | | |
| | | @Override |
| | | public AutoJudgeResponse autoJudge(AutoJudgeRequest request) { |
| | | QualityJudgeUtil.JudgeResult result = QualityJudgeUtil.judge( |
| | | request.getTestValue(), |
| | | request.getStandardValue(), |
| | | request.getMinValue(), |
| | | request.getMaxValue(), |
| | | request.getJudgeType() |
| | | ); |
| | | return new AutoJudgeResponse(result.getQualified(), result.getMessage()); |
| | | } |
| | | |
| | | @Override |
| | | public AutoJudgeAllResponse autoJudgeAll(Long inspectId) { |
| | | List<QualityInspectParam> params = qualityInspectParamService.list( |
| | | Wrappers.<QualityInspectParam>lambdaQuery().eq(QualityInspectParam::getInspectId, inspectId)); |
| | | |
| | | AutoJudgeAllResponse response = new AutoJudgeAllResponse(); |
| | | List<AutoJudgeAllResponse.ParamJudgeResult> paramResults = new ArrayList<>(); |
| | | boolean hasRequiredUnqualified = false; |
| | | boolean allTextDescription = true; |
| | | boolean hasRequiredParam = false; |
| | | |
| | | for (QualityInspectParam param : params) { |
| | | AutoJudgeAllResponse.ParamJudgeResult paramResult = new AutoJudgeAllResponse.ParamJudgeResult(); |
| | | paramResult.setParamId(param.getId()); |
| | | paramResult.setParameterItem(param.getParameterItem()); |
| | | paramResult.setIsRequired(param.getIsRequired() != null && param.getIsRequired() == 1); |
| | | |
| | | if (paramResult.getIsRequired()) { |
| | | hasRequiredParam = true; |
| | | } |
| | | |
| | | String judgeType = param.getJudgeType(); |
| | | if (QualityJudgeUtil.JUDGE_TYPE_TEXT_DESCRIPTION.equals(judgeType)) { |
| | | paramResult.setIsQualified(null); |
| | | paramResult.setMessage("文字描述类型需手动判断"); |
| | | } else { |
| | | allTextDescription = false; |
| | | QualityJudgeUtil.JudgeResult result = QualityJudgeUtil.judge( |
| | | param.getTestValue(), |
| | | param.getStandardValue(), |
| | | param.getMinValue(), |
| | | param.getMaxValue(), |
| | | judgeType |
| | | ); |
| | | paramResult.setIsQualified(result.getQualified()); |
| | | paramResult.setMessage(result.getMessage()); |
| | | |
| | | // 更新参数项的判断结果 |
| | | if (result.getQualified() != null) { |
| | | param.setIsQualified(result.getQualified() ? 1 : 0); |
| | | qualityInspectParamService.updateById(param); |
| | | } |
| | | |
| | | // 检查必要判断参数是否不合格 |
| | | if (paramResult.getIsRequired() && Boolean.FALSE.equals(result.getQualified())) { |
| | | hasRequiredUnqualified = true; |
| | | } |
| | | } |
| | | paramResults.add(paramResult); |
| | | } |
| | | |
| | | response.setParamResults(paramResults); |
| | | response.setHasRequiredUnqualified(hasRequiredUnqualified); |
| | | response.setAllTextDescription(allTextDescription); |
| | | |
| | | // 确定整体判断结果 |
| | | if (allTextDescription) { |
| | | response.setAutoJudgeResult(null); |
| | | } else if (hasRequiredUnqualified) { |
| | | response.setAutoJudgeResult("不合格"); |
| | | } else { |
| | | // 所有需要自动判断的参数项都合格,整体为合格 |
| | | response.setAutoJudgeResult("合格"); |
| | | } |
| | | |
| | | // 更新质检主表的自动判断结果 |
| | | QualityInspect inspect = qualityInspectMapper.selectById(inspectId); |
| | | if (inspect != null) { |
| | | inspect.setAutoJudgeResult(response.getAutoJudgeResult()); |
| | | qualityInspectMapper.updateById(inspect); |
| | | } |
| | | |
| | | return response; |
| | | } |
| | | |
| | | } |