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 |  298 +++++++++++++++++++++++++++++++++++++----------------------
 1 files changed, 188 insertions(+), 110 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 23ca85f..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,56 +6,66 @@
 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;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.servlet.ModelAndView;
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
+import java.sql.Date;
 import java.util.Arrays;
 
 /**
-* @Description: 瀹夌伅宸ュ崟
-* @Author: jeecg-boot
-* @Date:   2025-07-10
-* @Version: V1.0
-*/
-@Api(tags="瀹夌伅宸ュ崟")
+ * @Description: 瀹夌伅宸ュ崟
+ * @Author: jeecg-boot
+ * @Date: 2025-07-10
+ * @Version: V1.0
+ */
+@Api(tags = "瀹夌伅宸ュ崟")
 @RestController
 @RequestMapping("/andonorder/andonOrder")
 @Slf4j
 public class AndonOrderController extends JeecgController<AndonOrder, IAndonOrderService> {
-   @Autowired
-   private IAndonOrderService andonOrderService;
+    @Autowired
+    private IAndonOrderService andonOrderService;
 
-   /**
-    * 鍒嗛〉鍒楄〃鏌ヨ
-    *
-    * @param andonOrder
-    * @param pageNo
-    * @param pageSize
-    * @param req
-    * @return
-    */
-   //@AutoLog(value = "瀹夌伅宸ュ崟-鍒嗛〉鍒楄〃鏌ヨ")
-   @ApiOperation(value="瀹夌伅宸ュ崟-鍒嗛〉鍒楄〃鏌ヨ", notes="瀹夌伅宸ュ崟-鍒嗛〉鍒楄〃鏌ヨ")
-   @GetMapping(value = "/list")
-   public Result<IPage<AndonOrder>> queryPageList(AndonOrder andonOrder,
-                                  @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
-                                  @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
-                                  HttpServletRequest req) {
-       QueryWrapper<AndonOrder> queryWrapper = QueryGenerator.initQueryWrapper(andonOrder, req.getParameterMap());
-       Page<AndonOrder> page = new Page<AndonOrder>(pageNo, pageSize);
-       IPage<AndonOrder> pageList = andonOrderService.page(page, queryWrapper);
-       return Result.OK(pageList);
-   }
 
+    @Autowired
+    private IAndonResponseConfigService andonResponseConfigService;
+
+    /**
+     * 鍒嗛〉鍒楄〃鏌ヨ
+     *
+     * @param andonOrder
+     * @param pageNo
+     * @param pageSize
+     * @param req
+     * @return
+     */
+    //@AutoLog(value = "瀹夌伅宸ュ崟-鍒嗛〉鍒楄〃鏌ヨ")
+    @ApiOperation(value = "瀹夌伅宸ュ崟-鍒嗛〉鍒楄〃鏌ヨ", notes = "瀹夌伅宸ュ崟-鍒嗛〉鍒楄〃鏌ヨ")
+    @GetMapping(value = "/list")
+    public Result<IPage<AndonOrder>> queryPageList(AndonOrder andonOrder,
+                                                   @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
+                                                   @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
+                                                   HttpServletRequest req) {
+        QueryWrapper<AndonOrder> queryWrapper = QueryGenerator.initQueryWrapper(andonOrder, req.getParameterMap());
+        Page<AndonOrder> page = new Page<AndonOrder>(pageNo, pageSize);
+        IPage<AndonOrder> pageList = andonOrderService.page(page, queryWrapper);
+        return Result.OK(pageList);
+    }
 
 
     /**
@@ -65,100 +75,168 @@
      * @return
      */
     @AutoLog(value = "瀹夌伅宸ュ崟-娣诲姞")
-    @ApiOperation(value="瀹夌伅宸ュ崟-娣诲姞", notes="瀹夌伅宸ュ崟-娣诲姞")
+    @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("娣诲姞鎴愬姛锛�");
+    }
 
-   /**
-    *  缂栬緫
-    *
-    * @param andonOrder
-    * @return
-    */
-   @AutoLog(value = "瀹夌伅宸ュ崟-缂栬緫")
-   @ApiOperation(value="瀹夌伅宸ュ崟-缂栬緫", notes="瀹夌伅宸ュ崟-缂栬緫")
-   //@RequiresPermissions("org.jeecg.modules:andon_order:edit")
-   @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
-   public Result<String> edit(@RequestBody AndonOrder andonOrder) {
-       andonOrderService.updateById(andonOrder);
-       return Result.OK("缂栬緫鎴愬姛!");
-   }
+    /**
+     * APP瀹夌伅鍝嶅簲鎿嶄綔
+     *
+     * @param id
+     * @return
+     */
+    @ApiOperation(value = "APP瀹夌伅鍝嶅簲鎿嶄綔", notes = "APP瀹夌伅鍝嶅簲鎿嶄綔")
+    @GetMapping(value = "/AndonRespond")
+    public Result<String> AndonRespond(@RequestParam("id") String id) {
+        AndonOrder andonOrder = andonOrderService.getById(id);
+        andonOrder.setOrderStatus("2");
+        andonOrderService.updateById(andonOrder);
+        return Result.OK("鍝嶅簲鎴愬姛锛�");
+    }
 
-   /**
-    *   閫氳繃id鍒犻櫎
-    *
-    * @param id
-    * @return
-    */
-   @AutoLog(value = "瀹夌伅宸ュ崟-閫氳繃id鍒犻櫎")
-   @ApiOperation(value="瀹夌伅宸ュ崟-閫氳繃id鍒犻櫎", notes="瀹夌伅宸ュ崟-閫氳繃id鍒犻櫎")
-   //@RequiresPermissions("org.jeecg.modules:andon_order:delete")
-   @DeleteMapping(value = "/delete")
-   public Result<String> delete(@RequestParam(name="id",required=true) String id) {
-       andonOrderService.removeById(id);
-       return Result.OK("鍒犻櫎鎴愬姛!");
-   }
 
-   /**
-    *  鎵归噺鍒犻櫎
-    *
-    * @param ids
-    * @return
-    */
-   @AutoLog(value = "瀹夌伅宸ュ崟-鎵归噺鍒犻櫎")
-   @ApiOperation(value="瀹夌伅宸ュ崟-鎵归噺鍒犻櫎", notes="瀹夌伅宸ュ崟-鎵归噺鍒犻櫎")
-   //@RequiresPermissions("org.jeecg.modules:andon_order:deleteBatch")
-   @DeleteMapping(value = "/deleteBatch")
-   public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
-       this.andonOrderService.removeByIds(Arrays.asList(ids.split(",")));
-       return Result.OK("鎵归噺鍒犻櫎鎴愬姛!");
-   }
+    /**
+     * APP瀹夌伅澶勭悊鎿嶄綔
+     *
+     * @return
+     */
+    @ApiOperation(value = "APP瀹夌伅澶勭悊鎿嶄綔", notes = "APP瀹夌伅澶勭悊鎿嶄綔")
+    @PostMapping(value = "/AndonHandel")
+    public Result<String> AndonHandel(@RequestBody AndonOrder andonOrder) {
+        return andonOrderService.handleAndonOrder(andonOrder);
+    }
 
-   /**
-    * 閫氳繃id鏌ヨ
-    *
-    * @param id
-    * @return
-    */
-   //@AutoLog(value = "瀹夌伅宸ュ崟-閫氳繃id鏌ヨ")
-   @ApiOperation(value="瀹夌伅宸ュ崟-閫氳繃id鏌ヨ", notes="瀹夌伅宸ュ崟-閫氳繃id鏌ヨ")
-   @GetMapping(value = "/queryById")
-   public Result<AndonOrder> queryById(@RequestParam(name="id",required=true) String id) {
-       AndonOrder andonOrder = andonOrderService.getById(id);
-       if(andonOrder==null) {
-           return Result.error("鏈壘鍒板搴旀暟鎹�");
-       }
-       return Result.OK(andonOrder);
-   }
 
-   /**
-   * 瀵煎嚭excel
-   *
-   * @param request
-   * @param andonOrder
-   */
-   //@RequiresPermissions("org.jeecg.modules:andon_order:exportXls")
-   @RequestMapping(value = "/exportXls")
-   public ModelAndView exportXls(HttpServletRequest request, AndonOrder andonOrder) {
-       return super.exportXls(request, andonOrder, AndonOrder.class, "瀹夌伅宸ュ崟");
-   }
+    /**
+     * 缂栬緫
+     *
+     * @param andonOrder
+     * @return
+     */
+    @AutoLog(value = "瀹夌伅宸ュ崟-缂栬緫")
+    @ApiOperation(value = "瀹夌伅宸ュ崟-缂栬緫", notes = "瀹夌伅宸ュ崟-缂栬緫")
+    //@RequiresPermissions("org.jeecg.modules:andon_order:edit")
+    @RequestMapping(value = "/edit", method = {RequestMethod.PUT, RequestMethod.POST})
+    public Result<String> edit(@RequestBody AndonOrder andonOrder) {
+        andonOrderService.updateById(andonOrder);
+        return Result.OK("缂栬緫鎴愬姛!");
+    }
 
-   /**
+    /**
+     * 閫氳繃id鍒犻櫎
+     *
+     * @param id
+     * @return
+     */
+    @AutoLog(value = "瀹夌伅宸ュ崟-閫氳繃id鍒犻櫎")
+    @ApiOperation(value = "瀹夌伅宸ュ崟-閫氳繃id鍒犻櫎", notes = "瀹夌伅宸ュ崟-閫氳繃id鍒犻櫎")
+    //@RequiresPermissions("org.jeecg.modules:andon_order:delete")
+    @DeleteMapping(value = "/delete")
+    public Result<String> delete(@RequestParam(name = "id", required = true) String id) {
+        andonOrderService.removeById(id);
+        return Result.OK("鍒犻櫎鎴愬姛!");
+    }
+
+    /**
+     * 鎵归噺鍒犻櫎
+     *
+     * @param ids
+     * @return
+     */
+    @AutoLog(value = "瀹夌伅宸ュ崟-鎵归噺鍒犻櫎")
+    @ApiOperation(value = "瀹夌伅宸ュ崟-鎵归噺鍒犻櫎", notes = "瀹夌伅宸ュ崟-鎵归噺鍒犻櫎")
+    //@RequiresPermissions("org.jeecg.modules:andon_order:deleteBatch")
+    @DeleteMapping(value = "/deleteBatch")
+    public Result<String> deleteBatch(@RequestParam(name = "ids", required = true) String ids) {
+        this.andonOrderService.removeByIds(Arrays.asList(ids.split(",")));
+        return Result.OK("鎵归噺鍒犻櫎鎴愬姛!");
+    }
+
+    /**
+     * 閫氳繃id鏌ヨ
+     *
+     * @param id
+     * @return
+     */
+    //@AutoLog(value = "瀹夌伅宸ュ崟-閫氳繃id鏌ヨ")
+    @ApiOperation(value = "瀹夌伅宸ュ崟-閫氳繃id鏌ヨ", notes = "瀹夌伅宸ュ崟-閫氳繃id鏌ヨ")
+    @GetMapping(value = "/queryById")
+    public Result<AndonOrder> queryById(@RequestParam(name = "id", required = true) String id) {
+        AndonOrder andonOrder = andonOrderService.getById(id);
+        if (andonOrder == null) {
+            return Result.error("鏈壘鍒板搴旀暟鎹�");
+        }
+        return Result.OK(andonOrder);
+    }
+
+    /**
+     * 瀵煎嚭excel
+     *
+     * @param request
+     * @param andonOrder
+     */
+    //@RequiresPermissions("org.jeecg.modules:andon_order:exportXls")
+    @RequestMapping(value = "/exportXls")
+    public ModelAndView exportXls(HttpServletRequest request, AndonOrder andonOrder) {
+        return super.exportXls(request, andonOrder, AndonOrder.class, "瀹夌伅宸ュ崟");
+    }
+
+    /**
      * 閫氳繃excel瀵煎叆鏁版嵁
-   *
-   * @param request
-   * @param response
-   * @return
-   */
-   //@RequiresPermissions("andon_order:importExcel")
-   @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
-   public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
-       return super.importExcel(request, response, AndonOrder.class);
-   }
+     *
+     * @param request
+     * @param response
+     * @return
+     */
+    //@RequiresPermissions("andon_order:importExcel")
+    @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
+    public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
+        return super.importExcel(request, response, AndonOrder.class);
+    }
 
 }

--
Gitblit v1.9.3