From 66c8426d63806000326b1341a7e19200afa5fa72 Mon Sep 17 00:00:00 2001
From: liding <756868258@qq.com>
Date: 星期三, 23 九月 2026 16:56:24 +0800
Subject: [PATCH] fix(data): 修复样品名称查询

---
 cnas-process/src/main/java/com/ruoyi/process/listener/NewJuOrderInspectionListener.java |   70 +++++++++++++++++++++++++++++++++++
 1 files changed, 70 insertions(+), 0 deletions(-)

diff --git a/cnas-process/src/main/java/com/ruoyi/process/listener/NewJuOrderInspectionListener.java b/cnas-process/src/main/java/com/ruoyi/process/listener/NewJuOrderInspectionListener.java
new file mode 100644
index 0000000..c444fa5
--- /dev/null
+++ b/cnas-process/src/main/java/com/ruoyi/process/listener/NewJuOrderInspectionListener.java
@@ -0,0 +1,70 @@
+package com.ruoyi.process.listener;
+
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.ruoyi.inspect.event.NewJuOrderPlacedEvent;
+import com.ruoyi.inspect.pojo.InsOrder;
+import com.ruoyi.inspect.service.InsOrderService;
+import com.ruoyi.process.mapper.InspectionOrderMapper;
+import com.ruoyi.process.pojo.InspectionOrder;
+import lombok.AllArgsConstructor;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.context.event.EventListener;
+import org.springframework.stereotype.Component;
+
+import java.time.LocalDate;
+
+/**
+ * 鏂拌仛鎴愬搧涓嬪崟鎴愬姛鍚庯紝鑷姩鐢熸垚涓�鏉℃楠屽鎵樺崟銆�
+ */
+@Component
+@AllArgsConstructor
+public class NewJuOrderInspectionListener {
+
+    private final InsOrderService insOrderService;
+    private final InspectionOrderMapper inspectionOrderMapper;
+
+    @EventListener
+    public void onNewJuOrderPlaced(NewJuOrderPlacedEvent event) {
+        InsOrder order = insOrderService.getById(event.getInsOrderId());
+        if (order == null) {
+            return;
+        }
+        // 骞傜瓑锛氬悓涓�鎴愬搧璁㈠崟宸叉湁妫�楠屽鎵樺崟鍒欒烦杩�
+        Long count = inspectionOrderMapper.selectCount(Wrappers.<InspectionOrder>lambdaQuery()
+                .eq(InspectionOrder::getInsOrderId, order.getId()));
+        if (count > 0) {
+            return;
+        }
+        InspectionOrder inspectionOrder = new InspectionOrder();
+        inspectionOrder.setInsOrderId(order.getId());
+        inspectionOrder.setEntrustCode(order.getEntrustCode());
+        // 璇曟牱鍚嶇О浼樺厛鍙栨姤鍛婂睍绀哄瓧娈�
+        inspectionOrder.setSampleName(StringUtils.isNotBlank(order.getSampleView())
+                ? order.getSampleView() : order.getSample());
+        inspectionOrder.setProduction(order.getProduction());
+        inspectionOrder.setQuantity(order.getTestQuantity());
+        inspectionOrder.setCommissionDate(LocalDate.now());
+        inspectionOrder.setCommissionUnit(order.getCompany());
+        inspectionOrder.setCommissionUser(order.getPrepareUser());
+        inspectionOrder.setCommissionPhone(order.getPhone());
+        inspectionOrder.setSampleStatus("瀹屽ソ");
+        // 鏄惁鐣欐牱璇箟杞崲锛歩ns 0鍚�/1鏄� -> cnas 1鏄�/2鍚�
+        inspectionOrder.setIsLeave(Integer.valueOf(1).equals(order.getIsLeave()) ? 1 : 2);
+        // 鏍峰搧澶勭疆锛�1濮旀墭鏂瑰彇鍥�/2妫�娴嬫柟澶勭疆 -> processing 0濮旀墭鍗曚綅鍙栧洖/1瀹為獙瀹ゅ鐞嗭紱鏈�夋椂娌跨敤鏃у瓧娈�
+        if (Integer.valueOf(1).equals(order.getSampleDisposal())) {
+            inspectionOrder.setProcessing(0);
+        } else if (Integer.valueOf(2).equals(order.getSampleDisposal())) {
+            inspectionOrder.setProcessing(1);
+        } else {
+            inspectionOrder.setProcessing(order.getProcessing());
+        }
+        // 鎶ュ憡浜や粯鏂瑰紡锛�1鑷彇 -> send 1锛屽叾浣� 0锛涙湭閫夋椂娌跨敤鏃у瓧娈�
+        if (order.getReportDelivery() != null) {
+            inspectionOrder.setSend(Integer.valueOf(1).equals(order.getReportDelivery()) ? 1 : 0);
+        } else {
+            inspectionOrder.setSend(order.getSend());
+        }
+        // 鎶ュ憡鏂囦欢涓庣害瀹氭椂闂寸敓鎴愭椂涓虹┖锛屽悗缁湪妫�楠屽鎵樺崟椤甸潰缂栬緫/涓婁紶
+        inspectionOrderMapper.insert(inspectionOrder);
+    }
+}

--
Gitblit v1.9.3