From 43f0e69715099cfc8c8b8ea5284b874bfad14400 Mon Sep 17 00:00:00 2001
From: zhangherong <571457620@qq.com>
Date: 星期二, 19 八月 2025 10:49:28 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 src/main/java/org/jeecg/modules/andon/service/impl/AndonResponseConfigServiceImpl.java |   44 +++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 39 insertions(+), 5 deletions(-)

diff --git a/src/main/java/org/jeecg/modules/andon/service/impl/AndonResponseConfigServiceImpl.java b/src/main/java/org/jeecg/modules/andon/service/impl/AndonResponseConfigServiceImpl.java
index c895470..5129363 100644
--- a/src/main/java/org/jeecg/modules/andon/service/impl/AndonResponseConfigServiceImpl.java
+++ b/src/main/java/org/jeecg/modules/andon/service/impl/AndonResponseConfigServiceImpl.java
@@ -3,7 +3,10 @@
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.apache.commons.lang.StringUtils;
+import org.apache.shiro.SecurityUtils;
+import org.jeecg.common.system.vo.LoginUser;
 import org.jeecg.modules.andon.dto.AndonButtonDTO;
+import org.jeecg.modules.andon.dto.AndonOrdeDto;
 import org.jeecg.modules.andon.entity.AndonButtonConfig;
 import org.jeecg.modules.andon.entity.AndonOrder;
 import org.jeecg.modules.andon.entity.AndonResponseConfig;
@@ -50,12 +53,34 @@
     }
 
     @Override
-    public List<AndonButtonDTO> queryAndonButtonList(String factoryId) {
-        return Collections.emptyList();
+    public String getProductionLineIdByButtonId(String buttonId) {
+        QueryWrapper<AndonResponseConfig> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("button_id", buttonId);
+        AndonResponseConfig config = this.getOne(queryWrapper);
+        return config != null ? config.getFactoryId() : null;
     }
 
     @Override
-    public void sendAndonNotification(AndonButtonDTO andonButtonDTO) {
+    public String getResponderByButtonId(String buttonId,String factoryId) {
+        QueryWrapper<AndonResponseConfig> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("button_id", buttonId);
+        queryWrapper.eq("factory_id", factoryId); // 鍋囪factory_id瀵瑰簲浜х嚎ID
+        AndonResponseConfig config = this.getOne(queryWrapper, false);
+        return config != null ? config.getFirsterResponder() : null;
+    }
+
+    @Override
+    public AndonResponseConfig getResponseConfigByButtonIdAndFactoryId(String buttonId, String factoryId) {
+        QueryWrapper<AndonResponseConfig> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("button_id", buttonId);
+        queryWrapper.eq("factory_id", factoryId);
+        // 浣跨敤false鍙傛暟锛屽綋鏌ヨ鍒板鏉¤褰曟椂涓嶄細鎶涘嚭寮傚父锛岃�屾槸杩斿洖绗竴鏉�
+        return this.getOne(queryWrapper, false);
+    }
+
+
+    @Override
+    public void sendAndonNotification(AndonOrdeDto andonButtonDTO) {
         /**
          * 1. 楠岃瘉宸ュ崟鐘舵��
          */
@@ -63,16 +88,25 @@
             log.warn("璇锋眰鍙傛暟涓虹┖");
             throw new IllegalArgumentException("璇锋眰鍙傛暟涓嶈兘涓虹┖");
         }
+
         /**
          * 2. 鑾峰彇鍝嶅簲閰嶇疆
          */
-        AndonResponseConfig andonResponseConfig = this.getById(andonButtonDTO.getId());
+        AndonResponseConfig andonResponseConfig = getResponseConfigByButtonIdAndFactoryId(andonButtonDTO.getButtonId(), andonButtonDTO.getFactoryId());
 
-        AndonOrder andonOrder = andonOrderService.getById(andonButtonDTO.getOrderIds());
+        AndonOrder andonOrder = andonOrderService.getById(andonButtonDTO.getId());
         if (andonOrder == null) {
             log.warn("鏈壘鍒癐D涓篬{}]鐨勫畨鐏鍗�");
             throw new IllegalArgumentException("鏈壘鍒板搴旂殑瀹夌伅璁㈠崟");
         }
+        // 鑾峰彇褰撳墠鐧诲綍鐢ㄦ埛
+        LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
+        if (loginUser != null) {
+            log.warn("鏈壘鍒板綋鍓嶇敤鎴�");
+
+        }
+        assert loginUser != null;
+        andonOrder.setResponder(loginUser.getId());
         String orderStatus = andonOrder.getOrderStatus();
         andonButtonDTO.setOrderStatus(orderStatus);
         if (andonResponseConfig == null) {

--
Gitblit v1.9.3