From 0cc648b0d3331001f026cd70c01e40d795479047 Mon Sep 17 00:00:00 2001
From: liding <756868258@qq.com>
Date: 星期二, 20 十月 2026 11:26:11 +0800
Subject: [PATCH] feat(sample-receipt): 作废时更新委托编号添加-zf后缀 - 打印VO新增sampleStatus(样品外观)字段及对应SQL查询

---
 inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsSampleReceiptServiceImpl.java |   17 ++++++++++++++++-
 1 files changed, 16 insertions(+), 1 deletions(-)

diff --git a/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsSampleReceiptServiceImpl.java b/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsSampleReceiptServiceImpl.java
index c10a4be..5337574 100644
--- a/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsSampleReceiptServiceImpl.java
+++ b/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsSampleReceiptServiceImpl.java
@@ -133,10 +133,25 @@
         receipt.setReceiveUserId(SecurityUtils.getUserId().intValue());
         receipt.setReceiveTime(LocalDateTime.now());
         receiptMapper.updateById(receipt);
+        InsOrder currentOrder = insOrderMapper.selectById(receipt.getInsOrderId());
+        if (currentOrder == null || StringUtils.isBlank(currentOrder.getEntrustCode())) {
+            throw new ErrorException("濮旀墭缂栧彿涓嶅瓨鍦紝涓嶈兘浣滃簾");
+        }
+        String originalCode = currentOrder.getEntrustCode();
+        String voidCode = originalCode + "-zf";
+        int suffix = 2;
+        // 鍚屼竴鍘熺紪鍙峰彲鑳界粡鍘嗗娆′笅鍗曘�佹嫆鏀讹紝淇濈暀姣忓紶浣滃簾鍗曠殑鍞竴缂栧彿銆�
+        while (insOrderMapper.selectCount(Wrappers.<InsOrder>lambdaQuery()
+                .eq(InsOrder::getEntrustCode, voidCode)
+                .ne(InsOrder::getId, currentOrder.getId())) > 0) {
+            voidCode = originalCode + "-" + suffix++ + "-zf";
+        }
         InsOrder order = new InsOrder();
-        order.setId(receipt.getInsOrderId());
+        order.setId(currentOrder.getId());
+        order.setEntrustCode(voidCode);
         order.setState(5);
         insOrderMapper.updateById(order);
+        insOrderMapper.updateInspectionOrderEntrustCode(order.getId(), voidCode);
     }
 
     private void ensurePending(InsSampleReceipt receipt) {

--
Gitblit v1.9.3