From bfcc71f500625a26886b43c43a8fdf2ea1152844 Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期二, 23 六月 2026 13:47:59 +0800
Subject: [PATCH] 环境检测排序,仓库绑定物联设备

---
 src/main/java/com/ruoyi/production/service/impl/ProductionProductMainServiceImpl.java |   22 ++++++++++++++++++++--
 1 files changed, 20 insertions(+), 2 deletions(-)

diff --git a/src/main/java/com/ruoyi/production/service/impl/ProductionProductMainServiceImpl.java b/src/main/java/com/ruoyi/production/service/impl/ProductionProductMainServiceImpl.java
index 2e1e578..00a340e 100644
--- a/src/main/java/com/ruoyi/production/service/impl/ProductionProductMainServiceImpl.java
+++ b/src/main/java/com/ruoyi/production/service/impl/ProductionProductMainServiceImpl.java
@@ -336,7 +336,25 @@
                 qualityInspectMapper.insert(qualityInspect);
                 List<QualityTestStandard> qualityTestStandard = qualityTestStandardMapper.getQualityTestStandardByProductId(product.getId(), inspectType, process);
                 if (!qualityTestStandard.isEmpty()) {
-                    qualityInspect.setTestStandardId(qualityTestStandard.get(0).getId());
+                    QualityTestStandard std = qualityTestStandard.get(0);
+                    qualityInspect.setTestStandardId(std.getId());
+                    qualityInspect.setInspectRule(std.getInspectRule());
+                    // 鏍规嵁 inspectRule 璁剧疆鎶芥姣斾緥鍜屾娊妫�鏁伴噺榛樿鍊�
+                    if (std.getInspectRule() == null || std.getInspectRule() == 0) {
+                        // 鍏ㄦ: sampleRatio=100, sampleQuantity=鍏ㄩ儴鏁伴噺
+                        qualityInspect.setSampleRatio(java.math.BigDecimal.valueOf(100));
+                        qualityInspect.setSampleQuantity(productQty != null ? productQty : java.math.BigDecimal.ZERO);
+                    } else {
+                        // 鎶芥: sampleRatio 鍙栨爣鍑嗛厤缃��
+                        java.math.BigDecimal ratio = std.getSampleRatio() != null ? std.getSampleRatio() : java.math.BigDecimal.ZERO;
+                        qualityInspect.setSampleRatio(ratio);
+                        if (productQty != null && ratio.compareTo(java.math.BigDecimal.ZERO) > 0) {
+                            qualityInspect.setSampleQuantity(productQty.multiply(ratio)
+                                    .divide(java.math.BigDecimal.valueOf(100), 0, java.math.RoundingMode.CEILING));
+                        } else {
+                            qualityInspect.setSampleQuantity(java.math.BigDecimal.ZERO);
+                        }
+                    }
                     qualityInspectMapper.updateById(qualityInspect);
                     qualityTestStandardParamMapper.selectList(Wrappers.<QualityTestStandardParam>lambdaQuery()
                                     .eq(QualityTestStandardParam::getTestStandardId, qualityTestStandard.get(0).getId()))
@@ -401,7 +419,7 @@
             productionAccount.setSchedulingUserId(user == null ? null : user.getUserId());
             productionAccount.setSchedulingUserName(user == null ? dto.getUserName() : user.getNickName());
             productionAccount.setFinishedNum(productQty);
-            productionAccount.setWorkHours(workHours);
+            productionAccount.setWorkHours(technologyOperation != null ? technologyOperation.getSalaryQuota() : null);
             productionAccount.setTechnologyOperationName(technologyOperation == null ? null : technologyOperation.getName());
             productionAccount.setSchedulingDate(LocalDateTime.now());
             productionAccountMapper.insert(productionAccount);

--
Gitblit v1.9.3