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 ++++++++++++++++-
 inspect-server/src/main/resources/mapper/InsOrderMapper.xml                                  |    6 ++++++
 inspect-server/src/main/java/com/ruoyi/inspect/mapper/InsOrderMapper.java                    |    2 ++
 inspect-server/src/main/java/com/ruoyi/inspect/vo/InsOrderPrintingVo.java                    |    3 +++
 4 files changed, 27 insertions(+), 1 deletions(-)

diff --git a/inspect-server/src/main/java/com/ruoyi/inspect/mapper/InsOrderMapper.java b/inspect-server/src/main/java/com/ruoyi/inspect/mapper/InsOrderMapper.java
index 88472a3..a9825b9 100644
--- a/inspect-server/src/main/java/com/ruoyi/inspect/mapper/InsOrderMapper.java
+++ b/inspect-server/src/main/java/com/ruoyi/inspect/mapper/InsOrderMapper.java
@@ -29,6 +29,8 @@
 @Mapper
 public interface InsOrderMapper extends BaseMapper<InsOrder> {
 
+    int updateInspectionOrderEntrustCode(@Param("orderId") Integer orderId,
+                                         @Param("entrustCode") String entrustCode);
 
     Integer selectQualityMonitorEvaluatorId(@Param("orderId") Integer orderId);
 
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) {
diff --git a/inspect-server/src/main/java/com/ruoyi/inspect/vo/InsOrderPrintingVo.java b/inspect-server/src/main/java/com/ruoyi/inspect/vo/InsOrderPrintingVo.java
index 7763ee4..6fd3af6 100644
--- a/inspect-server/src/main/java/com/ruoyi/inspect/vo/InsOrderPrintingVo.java
+++ b/inspect-server/src/main/java/com/ruoyi/inspect/vo/InsOrderPrintingVo.java
@@ -22,6 +22,9 @@
     @Schema(description = "鐢熶骇鍗曚綅")
     private String production;
 
+    @Schema(description = "鏍峰搧澶栬")
+    private String sampleStatus;
+
     @Schema(description = "瑙勬牸鍨嬪彿")
     private String sampleModel;
 
diff --git a/inspect-server/src/main/resources/mapper/InsOrderMapper.xml b/inspect-server/src/main/resources/mapper/InsOrderMapper.xml
index 8298947..8c68db8 100644
--- a/inspect-server/src/main/resources/mapper/InsOrderMapper.xml
+++ b/inspect-server/src/main/resources/mapper/InsOrderMapper.xml
@@ -3,6 +3,11 @@
         PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.ruoyi.inspect.mapper.InsOrderMapper">
+    <update id="updateInspectionOrderEntrustCode">
+        UPDATE cnas_inspection_order
+        SET entrust_code = #{entrustCode}
+        WHERE ins_order_id = #{orderId}
+    </update>
 
     <select id="selectQualityMonitorEvaluatorId" resultType="java.lang.Integer">
         SELECT cqmd.evaluator_user_id
@@ -433,6 +438,7 @@
         from (select io2.id insOrderId,
                      io2.sample_view,
                      io2.production,
+                     io2.sample_status,
                      io2.sample_date,
                      GROUP_CONCAT(DISTINCT isa.model SEPARATOR ' ') AS sample_model,
                      io2.prepare_user,

--
Gitblit v1.9.3