From 38eed874fc4cf74789d438b78381bd26448ceb3f Mon Sep 17 00:00:00 2001
From: hyingbo <1363390067@qq.com>
Date: 星期四, 03 七月 2025 18:50:41 +0800
Subject: [PATCH] 查询所有未处理的安灯信息及查询所有设备

---
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/AndonOrderServiceImpl.java |   63 +++++++++++++++++++++++++++++++
 1 files changed, 62 insertions(+), 1 deletions(-)

diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/AndonOrderServiceImpl.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/AndonOrderServiceImpl.java
index 2d86f08..c6e8111 100644
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/AndonOrderServiceImpl.java
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/AndonOrderServiceImpl.java
@@ -2,6 +2,8 @@
 
 import cn.hutool.core.date.DatePattern;
 import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import com.baomidou.mybatisplus.core.toolkit.StringPool;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.apache.commons.compress.utils.Lists;
@@ -10,6 +12,7 @@
 import org.jeecg.common.constant.WebsocketConst;
 import org.jeecg.common.exception.JeecgBootException;
 import org.jeecg.common.system.vo.LoginUser;
+import org.jeecg.modules.board.vo.EquAndon;
 import org.jeecg.modules.mdc.dto.MdcEquProDto;
 import org.jeecg.modules.mdc.entity.AndonOrder;
 import org.jeecg.modules.mdc.mapper.AndonOrderMapper;
@@ -18,6 +21,8 @@
 import org.jeecg.modules.mdc.util.DateUtils;
 import org.jeecg.modules.mdc.vo.AndonOrderWebSocketVo;
 import org.jeecg.modules.message.websocket.WebSocket;
+import org.jeecg.modules.system.entity.SysUser;
+import org.jeecg.modules.system.service.ISysDictService;
 import org.jeecg.modules.system.service.ISysUserService;
 import org.springframework.stereotype.Service;
 
@@ -28,7 +33,7 @@
 /**
  * @Description: andon_order
  * @Author: jeecg-boot
- * @Date:   2025-06-11
+ * @Date: 2025-06-11
  * @Version: V1.0
  */
 @Service
@@ -40,6 +45,9 @@
     private WebSocket webSocket;
     @Resource
     private ISysUserService userService;
+    @Resource
+    private ISysDictService sysDictService;
+
     @Override
     public void procedureCall(AndonOrder andonOrder) {
         if (StringUtils.isBlank(andonOrder.getEquipmentId())) {
@@ -78,6 +86,7 @@
                 andonOrderWebSocketVo.setPersonResponsible(user.getRealname());
                 andonOrderWebSocketVo.setRepairTime(StringPool.EMPTY);
                 andonOrderWebSocketVo.setFaultInfo(StringPool.EMPTY);
+                andonOrderWebSocketVo.setType("open");
                 andonOrderWebSocketVo.setPlantName(equipmentIdToProductionIdMap != null && equipmentIdToProductionIdMap.containsKey(order.getEquipmentId()) ? equipmentIdToProductionIdMap.get(order.getEquipmentId()).getProductionName() : null);
                 andonOrderWebSocketVoList.add(andonOrderWebSocketVo);
             }
@@ -89,4 +98,56 @@
             webSocket.sendMessage(jsonObject.toJSONString());
         }
     }
+
+    /**
+     * 瀹夌伅闂鍒楄〃
+     */
+    @Override
+    public List<EquAndon> equAndonList(List<String> equipmentIdList) {
+        List<EquAndon> result = new ArrayList<>();
+        List<AndonOrder> andonOrderList = this.baseMapper.equAndonList(equipmentIdList);
+        if (andonOrderList != null && !andonOrderList.isEmpty()) {
+            andonOrderList.forEach(andonOrder -> {
+                EquAndon equAndon = new EquAndon();
+                equAndon.setEquipmentId(andonOrder.getEquipmentId());
+                StringBuilder infoBuilder = new StringBuilder();
+                infoBuilder.append("瀹夌伅绫诲瀷: ").append(sysDictService.queryDictTextByKey("andon_type",andonOrder.getAndonType())).append("\n");
+                infoBuilder.append("瀹夌伅浜�: ").append(sysDictService.queryTableDictTextByKey("sys_user", "realname", "id", andonOrder.getOperator())).append("\n");
+                infoBuilder.append("瀹夌伅鏃堕棿: ").append(DateUtils.format(andonOrder.getOperateTime(), DateUtils.STR_DATE_TIME_SMALL)).append("\n");
+                infoBuilder.append("瀹夌伅鐘舵��: ").append(sysDictService.queryDictTextByKey("order_status",andonOrder.getOrderStatus())).append("\n");
+                equAndon.setAndonInfo(infoBuilder.toString());
+                result.add(equAndon);
+            });
+        }
+        return result;
+    }
+
+    @Override
+    public List<AndonOrderWebSocketVo> untreatedAndonList() {
+        List<AndonOrderWebSocketVo> result = new ArrayList<>();
+        List<AndonOrder> andonOrderList = this.baseMapper.untreatedAndonList();
+        if (andonOrderList != null && !andonOrderList.isEmpty()) {
+
+            List<String> equipmentIds = andonOrderList.stream().map(AndonOrder::getEquipmentId).collect(Collectors.toList());
+            List<MdcEquProDto> equipmentList = mdcEquipmentService.findEquProList(equipmentIds);
+            Map<String, MdcEquProDto> equipmentIdToProductionIdMap = CollectionUtils.isNotEmpty(equipmentList) ? equipmentList.stream().collect(Collectors.toMap(MdcEquProDto::getEquipmentId, comRateDto -> comRateDto)) : new HashMap<>();
+
+            andonOrderList.forEach(andonOrder -> {
+                AndonOrderWebSocketVo andonOrderWebSocketVo = new AndonOrderWebSocketVo();
+                andonOrderWebSocketVo.setEquipmentId(andonOrder.getEquipmentId());
+                andonOrderWebSocketVo.setCallPersonnel(userService.getById(andonOrder.getOperator()).getRealname());
+                andonOrderWebSocketVo.setCallTime(DateUtils.format(andonOrder.getOperateTime(), DatePattern.NORM_DATE_PATTERN));
+                andonOrderWebSocketVo.setCallReason(andonOrder.getCallReason());
+                andonOrderWebSocketVo.setAndonType("绋嬪簭鍛煎彨");
+                andonOrderWebSocketVo.setPersonResponsible(userService.getById(andonOrder.getResponder()).getRealname());
+                andonOrderWebSocketVo.setRepairTime(StringPool.EMPTY);
+                andonOrderWebSocketVo.setFaultInfo(StringPool.EMPTY);
+                andonOrderWebSocketVo.setType("open");
+                andonOrderWebSocketVo.setPlantName(equipmentIdToProductionIdMap != null && equipmentIdToProductionIdMap.containsKey(andonOrder.getEquipmentId()) ? equipmentIdToProductionIdMap.get(andonOrder.getEquipmentId()).getProductionName() : null);
+                result.add(andonOrderWebSocketVo);
+
+            });
+        }
+        return result;
+    }
 }

--
Gitblit v1.9.3