From 6b9fc3971427488212b9652ef84596f7efb6b0cb Mon Sep 17 00:00:00 2001
From: zss <zss@example.com>
Date: 星期五, 28 八月 2026 23:08:48 +0800
Subject: [PATCH] fix(mapper): 修正检定校准记录查询排序字段错误
---
src/main/java/com/ruoyi/quality/service/impl/QualityInspectServiceImpl.java | 75 +++++++++++++++++++++++++++++++++++--
1 files changed, 70 insertions(+), 5 deletions(-)
diff --git a/src/main/java/com/ruoyi/quality/service/impl/QualityInspectServiceImpl.java b/src/main/java/com/ruoyi/quality/service/impl/QualityInspectServiceImpl.java
index 0707375..05abc11 100644
--- a/src/main/java/com/ruoyi/quality/service/impl/QualityInspectServiceImpl.java
+++ b/src/main/java/com/ruoyi/quality/service/impl/QualityInspectServiceImpl.java
@@ -1,7 +1,6 @@
package com.ruoyi.quality.service.impl;
-import cn.hutool.core.lang.Assert;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
@@ -11,10 +10,14 @@
import com.deepoove.poi.config.Configure;
import com.ruoyi.common.enums.StockInQualifiedRecordTypeEnum;
import com.ruoyi.common.exception.ServiceException;
+import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.HackLoopTableRenderPolicy;
import com.ruoyi.common.utils.poi.ExcelUtil;
+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;
@@ -22,12 +25,12 @@
import com.ruoyi.quality.pojo.QualityInspect;
import com.ruoyi.quality.pojo.QualityInspectParam;
import com.ruoyi.quality.pojo.QualityUnqualified;
-import com.ruoyi.stock.pojo.StockInRecord;
-import com.ruoyi.stock.service.StockInRecordService;
import com.ruoyi.quality.service.IQualityInspectParamService;
import com.ruoyi.quality.service.IQualityInspectService;
import com.ruoyi.sales.mapper.SalesLedgerProductMapper;
import com.ruoyi.stock.dto.StockInventoryDto;
+import com.ruoyi.stock.pojo.StockInRecord;
+import com.ruoyi.stock.service.StockInRecordService;
import com.ruoyi.stock.service.StockInventoryService;
import jakarta.servlet.http.HttpServletResponse;
import lombok.AllArgsConstructor;
@@ -39,6 +42,8 @@
import java.io.OutputStream;
import java.math.BigDecimal;
import java.net.URLEncoder;
+import java.time.LocalDate;
+import java.time.LocalDateTime;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
@@ -63,6 +68,8 @@
private SalesLedgerProductMapper salesLedgerProductMapper;
private ProcurementRecordService procurementRecordService;
+
+ private ProductionProductMainMapper productionProductMainMapper;
@Override
public int add(QualityInspectDto qualityInspectDto) {
@@ -115,8 +122,8 @@
qualityInspect.setUnqualifiedQuantity(BigDecimal.ZERO);
}
- // 鍚堟牸鐩存帴鍏ュ簱
- if(qualityInspect.getQualifiedQuantity().compareTo(BigDecimal.ZERO) > 0){
+ // 鍚堟牸鐩存帴鍏ュ簱(杩囩▼妫�涓嶅叆搴�)
+ if(qualityInspect.getQualifiedQuantity().compareTo(BigDecimal.ZERO) > 0 && qualityInspect.getInspectType()!=1){
//浠呮坊鍔犲叆搴撹褰�
StockInventoryDto stockInventoryDto = new StockInventoryDto();
//濡傛灉鏄噰璐川妫�鍚堟牸鍏ュ簱閫夌敤CUSTOMIZATION_UNSTOCK_OUT,鍏朵綑鍚堟牸鍏ュ簱閫夌敤QUALITYINSPECT_STOCK_IN
@@ -127,6 +134,10 @@
stockInventoryDto.setRecordId(qualityInspect.getId());
stockInventoryDto.setProductModelId(qualityInspect.getProductModelId());
stockInventoryDto.setQualitity(qualityInspect.getQualifiedQuantity());
+ if (qualityInspect.getCheckTime() != null) {
+ LocalDate stockCreateDate = DateUtils.toLocalDate(qualityInspect.getCheckTime()).plusDays(1);
+ stockInventoryDto.setCreateTime(LocalDateTime.of(stockCreateDate, java.time.LocalTime.MIDNIGHT));
+ }
stockInventoryDto.setBatchNo(resolveProductionBatchNo(
qualityInspect.getProductMainId(),
qualityInspect.getId(),
@@ -140,6 +151,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 + "杩欎簺鎸囨爣涓瓨鍦ㄤ笉鍚堟牸");//涓嶅悎鏍肩幇璞�
@@ -151,6 +163,59 @@
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) {
+ return R.fail("妫�楠屽崟ID涓嶈兘涓虹┖");
+ }
+ QualityInspect qualityInspect = qualityInspectMapper.selectById(id);
+ if (qualityInspect == null) {
+ return R.fail("妫�楠屽崟涓嶅瓨鍦�");
+ }
+ if (Integer.valueOf(1).equals(qualityInspect.getInspectState())) {
+ return R.ok("妫�楠屽崟宸叉彁浜�");
+ }
+
+ if (ObjectUtils.isNull(qualityInspect.getCheckResult())) {
+ qualityInspect.setCheckResult("鍚堟牸");
+ }
+ if (ObjectUtils.isNull(qualityInspect.getQualifiedQuantity())) {
+ qualityInspect.setQualifiedQuantity(qualityInspect.getQuantity() == null ? BigDecimal.ZERO : qualityInspect.getQuantity());
+ }
+ if (ObjectUtils.isNull(qualityInspect.getUnqualifiedQuantity())) {
+ qualityInspect.setUnqualifiedQuantity(BigDecimal.ZERO);
+ }
+ qualityInspectMapper.updateById(qualityInspect);
+ int rows = submit(qualityInspect);
+ return rows > 0 ? R.ok("妫�楠屽崟鎻愪氦鎴愬姛") : R.fail("妫�楠屽崟鎻愪氦澶辫触");
+ }
+
private String resolveProductionBatchNo(Long productionProductMainId,
Long qualityInspectId,
Long productModelId) {
--
Gitblit v1.9.3