From 91ab1a15515c4c213b2ac4f777a7f20c3d0d59ad Mon Sep 17 00:00:00 2001 From: zss <zss@example.com> Date: 星期五, 28 三月 2025 13:49:53 +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