From 14943f4a30e027dcf8956272192666524a851eff Mon Sep 17 00:00:00 2001
From: Houjie <714924425@qq.com>
Date: 星期一, 18 八月 2025 20:31:00 +0800
Subject: [PATCH] 安灯发起、安灯处理  安灯响应

---
 src/main/java/org/jeecg/modules/andon/controller/AndonOrderController.java |   55 +++++++++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 51 insertions(+), 4 deletions(-)

diff --git a/src/main/java/org/jeecg/modules/andon/controller/AndonOrderController.java b/src/main/java/org/jeecg/modules/andon/controller/AndonOrderController.java
index 9132c9f..2b8e922 100644
--- a/src/main/java/org/jeecg/modules/andon/controller/AndonOrderController.java
+++ b/src/main/java/org/jeecg/modules/andon/controller/AndonOrderController.java
@@ -6,12 +6,16 @@
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.shiro.SecurityUtils;
 import org.jeecg.common.api.vo.Result;
 import org.jeecg.common.aspect.annotation.AutoLog;
 import org.jeecg.common.system.base.controller.JeecgController;
 import org.jeecg.common.system.query.QueryGenerator;
+import org.jeecg.common.system.vo.LoginUser;
+import org.jeecg.modules.andon.dto.AndonOrdeDto;
 import org.jeecg.modules.andon.entity.AndonOrder;
 import org.jeecg.modules.andon.service.IAndonOrderService;
+import org.jeecg.modules.andon.service.IAndonResponseConfigService;
 import org.jeecg.modules.system.entity.SysUser;
 import org.jeecg.modules.system.service.ISysUserService;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -20,6 +24,7 @@
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
+import java.sql.Date;
 import java.util.Arrays;
 
 /**
@@ -37,6 +42,8 @@
     private IAndonOrderService andonOrderService;
 
 
+    @Autowired
+    private IAndonResponseConfigService andonResponseConfigService;
 
     /**
      * 鍒嗛〉鍒楄〃鏌ヨ
@@ -71,21 +78,62 @@
     @ApiOperation(value = "瀹夌伅宸ュ崟-娣诲姞", notes = "瀹夌伅宸ュ崟-娣诲姞")
     @PostMapping(value = "/add")
     public Result<String> add(@RequestBody AndonOrder andonOrder) {
+        // 鏍规嵁button_id鏌ヨ瀵瑰簲鐨勪骇绾縄D
+        if (andonOrder.getButtonId() != null) {
+            String productionLineId = andonResponseConfigService.getProductionLineIdByButtonId(andonOrder.getButtonId());
+            if (productionLineId != null) {
+                andonOrder.setFactoryId(productionLineId);
+            }
+        }
         andonOrderService.save(andonOrder);
         return Result.OK("娣诲姞鎴愬姛锛�");
     }
 
 
     /**
+     * 娣诲姞
+     *
+     * @param andonOrder
+     * @return
+     */
+    @AutoLog(value = "瀹夌伅APP宸ュ崟-娣诲姞")
+    @ApiOperation(value = "瀹夌伅APP宸ュ崟-娣诲姞", notes = "瀹夌伅APP宸ュ崟-娣诲姞")
+    @PostMapping(value = "/app/add")
+    public Result<String> appAdd(@RequestBody AndonOrder andonOrder) {
+        // 鏍规嵁button_id鏌ヨ瀵瑰簲鐨勪骇绾縄D
+        andonOrder.setAndonLevel("1");
+        andonOrder.setFactoryId(andonOrder.getFactoryId());
+        andonOrder.setOperator(andonOrder.getOperator());
+        String Responder = andonResponseConfigService.getResponderByButtonId(andonOrder.getButtonId(),andonOrder.getFactoryId());
+        andonOrder.setResponder(Responder);
+        andonOrder.setProcessor(Responder);
+        andonOrder.setOperateTime(new java.sql.Timestamp(System.currentTimeMillis()));
+        andonOrderService.save(andonOrder);
+        // 鍒涘缓AndonOrderDto瀵硅薄骞跺鍒跺睘鎬�
+        AndonOrdeDto andonOrderDto = new AndonOrdeDto();
+        // 澶嶅埗蹇呰灞炴�у埌Dto瀵硅薄
+        andonOrderDto.setId(andonOrder.getId());
+        andonOrderDto.setButtonId(andonOrder.getButtonId());
+        andonOrderDto.setFactoryId(andonOrder.getFactoryId());
+        andonOrderDto.setOperator(andonOrder.getOperator());
+        andonOrderDto.setResponder(andonOrder.getResponder());
+        andonOrderDto.setProcessor(andonOrder.getProcessor());
+        andonOrderDto.setAndonLevel(andonOrder.getAndonLevel());
+        andonOrderDto.setOperateTime(andonOrder.getOperateTime());
+        andonResponseConfigService.sendAndonNotification(andonOrderDto);
+        return Result.OK("娣诲姞鎴愬姛锛�");
+    }
+
+    /**
      * APP瀹夌伅鍝嶅簲鎿嶄綔
      *
-     * @param orderId
+     * @param id
      * @return
      */
     @ApiOperation(value = "APP瀹夌伅鍝嶅簲鎿嶄綔", notes = "APP瀹夌伅鍝嶅簲鎿嶄綔")
     @GetMapping(value = "/AndonRespond")
-    public Result<String> AndonRespond(@RequestParam("orderId") String orderId) {
-        AndonOrder andonOrder = andonOrderService.getById(orderId);
+    public Result<String> AndonRespond(@RequestParam("id") String id) {
+        AndonOrder andonOrder = andonOrderService.getById(id);
         andonOrder.setOrderStatus("2");
         andonOrderService.updateById(andonOrder);
         return Result.OK("鍝嶅簲鎴愬姛锛�");
@@ -94,7 +142,6 @@
 
     /**
      * APP瀹夌伅澶勭悊鎿嶄綔
-     *
      *
      * @return
      */

--
Gitblit v1.9.3