From 929c6698f4d7598997fc233e09c39c3bdce9fcf8 Mon Sep 17 00:00:00 2001
From: zss <zss@example.com>
Date: 星期四, 14 八月 2025 10:23:15 +0800
Subject: [PATCH] 判断合格绝对值的问题
---
inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsProductServiceImpl.java | 42 +++++++++++++++++++++++++++++++-----------
1 files changed, 31 insertions(+), 11 deletions(-)
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsProductServiceImpl.java b/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsProductServiceImpl.java
index 8f6d417..f4c5291 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsProductServiceImpl.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsProductServiceImpl.java
@@ -11,9 +11,11 @@
import com.yuanchu.mom.mapper.InsOrderMapper;
import com.yuanchu.mom.mapper.InsProductMapper;
import com.yuanchu.mom.mapper.InsSampleMapper;
+import com.yuanchu.mom.mapper.WarehouseHistoryMapper;
import com.yuanchu.mom.pojo.InsOrder;
import com.yuanchu.mom.pojo.InsProduct;
import com.yuanchu.mom.pojo.InsSample;
+import com.yuanchu.mom.pojo.WarehouseHistory;
import com.yuanchu.mom.service.InsProductService;
import com.yuanchu.mom.utils.QueryWrappers;
import com.yuanchu.mom.vo.InsOrderPlanVO;
@@ -34,6 +36,8 @@
private InsSampleMapper insSampleMapper;
+ private WarehouseHistoryMapper warehouseHistoryMapper;
+
@Override
public int selectOrderManDay(Integer orderId) {
return insProductMapper.selectOrderManDay(orderId);
@@ -41,11 +45,15 @@
@Override
public int updateInspected(Integer id, String ids) {
- InsOrder insOrder = new InsOrder();
- insOrder.setId(id);
+ InsOrder insOrder = insOrderMapper.selectById(id);
insOrder.setIsRevocation(1);//闇�瑕佸鏍�
insOrder.setRevocationInsProductIds(ids);
- return insOrderMapper.updateById(insOrder);
+ insOrderMapper.updateById(insOrder);
+ //濡傛灉鏄唴閮ㄥ崟鏃犻渶瀹℃牳鎾ら攢
+ if (insOrder.getOrderType().equals("C")) {
+ checkUpdate(id, 1);
+ }
+ return 1;
}
@Override
@@ -79,6 +87,7 @@
@Override
public void checkUpdate(Integer orderId, Integer state) {
InsOrder insOrder = insOrderMapper.selectById(orderId);
+ //閫氳繃
if (state == 1) {
List<String> list = new ArrayList<>();
try {
@@ -95,18 +104,29 @@
if (insProducts.stream().map(InsProduct::getId).collect(Collectors.toList()).equals(ids)) {
//濡傛灉璇ユ楠屽崟涓嬬殑鎵�鏈夐」鐩叏閮ㄩ兘鎾ら攢,閭d箞杩欎釜鍗曞瓙涔熼渶瑕佹挙閿�
insOrder.setState(3);
+ //鍑哄叆搴撹褰曞叏閮ㄥ垹鎺�
+ warehouseHistoryMapper.delete(Wrappers.<WarehouseHistory>lambdaQuery().in(WarehouseHistory::getInsSampleId, collect));
+ //鍏ㄩ儴鎾ら攢,鏍峰搧鍜岄」鐩笉鑳藉垹鎺�,涓嶇劧妫�楠屼笅鍗曠殑鎾ら攢娌℃湁鏁版嵁
} else {
List<InsProduct> products = insProductMapper.selectBatchIds(ids);
- //棣栧厛鏍规嵁閫夋嫨鐨勯」鐩甶d杩涜鎾ら攢椤圭洰
- updateBatchById(products.stream().map(insProduct -> {
- insProduct.setState(0);
- return insProduct;
- }).collect(Collectors.toList()));
+ //濡傛灉璇ユ楠屽崟鏌愪釜鏍峰搧涓嬬殑椤圭洰鍏ㄩ儴閮芥挙閿�浜�,閭d箞杩欎釜鏍峰搧鐨勫嚭鍏ュ簱璁板綍涔熼渶瑕佸垹鎺�
+ List<Integer> sampleIds = products.stream().map(InsProduct::getInsSampleId).distinct().collect(Collectors.toList());
+ //椤圭洰鍒犳帀
+ insProductMapper.deleteBatchIds(ids);
+ for (Integer sampleId : sampleIds) {
+ Long count = insProductMapper.selectCount(Wrappers.<InsProduct>lambdaQuery()
+ .eq(InsProduct::getInsSampleId, sampleId)
+ .eq(InsProduct::getState, 1));
+ if (count <= 0) {
+ //鍑哄叆搴撹褰曞叏閮ㄥ垹鎺�
+ warehouseHistoryMapper.delete(Wrappers.<WarehouseHistory>lambdaQuery().eq(WarehouseHistory::getInsSampleId, sampleId));
+ //瀵瑰簲鐨勬牱鍝佸垹鎺�
+ insSampleMapper.deleteById(sampleId);
+ }
+ }
}
- //insProductMapper.updateInspected(id);
}
- //涓嶉�氳繃
- insOrder.setIsRevocation(0);
+ insOrder.setIsRevocation(state);
insOrderMapper.updateById(insOrder);
}
--
Gitblit v1.9.3