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