From 284034e851859cf2e0008ef3c353666bc12943a1 Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期一, 01 六月 2026 18:05:44 +0800
Subject: [PATCH] feat(stock): 添加库存物联设备绑定和实时数采功能
---
src/main/java/com/ruoyi/quality/service/impl/QualityInspectServiceImpl.java | 37 +++++++++----------------------------
1 files changed, 9 insertions(+), 28 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 590700d..effb6af 100644
--- a/src/main/java/com/ruoyi/quality/service/impl/QualityInspectServiceImpl.java
+++ b/src/main/java/com/ruoyi/quality/service/impl/QualityInspectServiceImpl.java
@@ -200,33 +200,11 @@
if (!validResults.contains(request.getCheckResult())) {
return R.fail("妫�娴嬬粨鏋滃繀椤讳负锛氬悎鏍笺�佷笉鍚堟牸銆侀儴鍒嗗悎鏍�");
}
- if (request.getQuantity() == null || request.getQuantity().compareTo(BigDecimal.ZERO) <= 0) {
- return R.fail("鎬绘暟閲忓繀椤诲ぇ浜�0");
- }
if (request.getTestStandardId() == null) {
return R.fail("鎸囨爣鏍囧噯ID涓嶈兘涓虹┖");
}
- // quantity = qualifiedQuantity + unqualifiedQuantity
- BigDecimal qty = request.getQuantity();
- BigDecimal qualified = request.getQualifiedQuantity() != null ? request.getQualifiedQuantity() : BigDecimal.ZERO;
- BigDecimal unqualified = request.getUnqualifiedQuantity() != null ? request.getUnqualifiedQuantity() : BigDecimal.ZERO;
- if (qty.compareTo(qualified.add(unqualified)) != 0) {
- return R.fail("鎬绘暟閲忓繀椤荤瓑浜庡悎鏍兼暟閲忓姞涓嶅悎鏍兼暟閲�");
- }
+
String checkResult = request.getCheckResult();
- if ("鍚堟牸".equals(checkResult)) {
- if (qualified.compareTo(qty) != 0 || unqualified.compareTo(BigDecimal.ZERO) != 0) {
- return R.fail("妫�楠岀粨鏋滀负鍚堟牸鏃讹紝鍚堟牸鏁伴噺搴旂瓑浜庢�绘暟閲忥紝涓嶅悎鏍兼暟閲忓簲涓�0");
- }
- } else if ("涓嶅悎鏍�".equals(checkResult)) {
- if (qualified.compareTo(BigDecimal.ZERO) != 0 || unqualified.compareTo(qty) != 0) {
- return R.fail("妫�楠岀粨鏋滀负涓嶅悎鏍兼椂锛屽悎鏍兼暟閲忓簲涓�0锛屼笉鍚堟牸鏁伴噺搴旂瓑浜庢�绘暟閲�");
- }
- } else {
- if (qualified.compareTo(BigDecimal.ZERO) <= 0 || unqualified.compareTo(BigDecimal.ZERO) <= 0) {
- return R.fail("妫�楠岀粨鏋滀负閮ㄥ垎鍚堟牸鏃讹紝鍚堟牸鏁伴噺鍜屼笉鍚堟牸鏁伴噺閮藉繀椤诲ぇ浜�0");
- }
- }
// 瑙f瀽妫�娴嬫棩鏈�
Date checkTimeDate = null;
@@ -239,8 +217,7 @@
for (Long id : request.getIds()) {
try {
- // 浣跨敤鐙珛浜嬪姟澶勭悊姣忎釜妫�楠屽崟锛岄伩鍏嶅崟涓け璐ュ奖鍝嶆暣浣撲簨鍔�
- processSingleInspect(id, request, checkResult, qty, qualified, unqualified, checkTimeDate);
+ processSingleInspect(id, request, checkResult, checkTimeDate);
success++;
} catch (Exception e) {
errors.add("妫�楠屽崟 " + id + " 澶勭悊澶辫触锛�" + e.getMessage());
@@ -256,12 +233,11 @@
/**
* 鍦ㄧ嫭绔嬩簨鍔′腑澶勭悊鍗曚釜妫�楠屽崟
+ * 鏁伴噺銆佸悎鏍兼暟閲忛粯璁や娇鐢ㄦ楠屽崟鑷韩鐨勬暟閲忥紝涓嶅悎鏍兼暟閲忎负0
*/
@Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRES_NEW)
public void processSingleInspect(Long id, BatchQuickInspectRequest request,
- String checkResult, BigDecimal qty,
- BigDecimal qualified, BigDecimal unqualified,
- Date checkTimeDate) {
+ String checkResult, Date checkTimeDate) {
QualityInspect qualityInspect = qualityInspectMapper.selectById(id);
if (qualityInspect == null) {
throw new RuntimeException("妫�楠屽崟涓嶅瓨鍦�");
@@ -270,6 +246,11 @@
throw new RuntimeException("妫�楠屽崟宸叉彁浜�");
}
+ // 鏁伴噺榛樿鍙栨楠屽崟鑷韩鐨勬暟閲忥紝涓嶅悎鏍兼暟閲忎负0
+ BigDecimal qty = qualityInspect.getQuantity() != null ? qualityInspect.getQuantity() : BigDecimal.ZERO;
+ BigDecimal qualified = qty;
+ BigDecimal unqualified = BigDecimal.ZERO;
+
// 2. 鏇存柊妫�楠屽崟瀛楁
qualityInspect.setCheckResult(checkResult);
qualityInspect.setTestStandardId(request.getTestStandardId());
--
Gitblit v1.9.3