ZengTao
2025-09-22 0fe4f45202452d5038efddffe0a5be4fb3745f8b
1、中空大理片汇总信息改为所有流程卡缺片信息

2、中空任务改为可领取多个

3、开始/暂停任务改为多任务操作,依次执行出片任务
14个文件已修改
257 ■■■■ 已修改文件
UI-Project/src/views/hollow/hollowequipment.vue 32 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/views/hollow/hollowequipmenthree.vue 32 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/views/hollow/hollowequipmenttwo.vue 35 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/common/servicebase/src/main/java/com/mes/tools/WebSocketServer.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/hollow/controller/HollowGlassOutRelationInfoController.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/hollow/controller/HollowGlassRelationInfoController.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/hollow/mapper/HollowGlassRelationInfoMapper.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/hollow/service/HollowGlassOutRelationInfoService.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/hollow/service/HollowGlassRelationInfoService.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/hollow/service/impl/HollowGlassOutRelationInfoServiceImpl.java 40 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/hollow/service/impl/HollowGlassRelationInfoServiceImpl.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/job/OpcPlcStorageCageHollowTask.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/job/PushMessageToIndex.java 34 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/hollowGlassModule/src/main/resources/mapper/HollowGlassRelationInfoMapper.xml 40 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/views/hollow/hollowequipment.vue
@@ -72,8 +72,8 @@
          $t('hellow.taskdet')
        }}
        </el-button> 
        <el-button style="margin-left: 10px;" :disabled="listFlow.length > 0 ? false : true" id="searchButton" type="warning"
          @click="handleBinde">{{
        <el-button style="margin-left: 10px;" id="searchButton" type="warning"
          @click="handleBinde(tab.tableDataa)">{{
            $t('searchOrder.printlabels')
          }}
        </el-button>
@@ -1654,19 +1654,6 @@
      dialogFormVisiblee.value = false
      selectedProjectNo.value = ''
      closeWebSocket(socket);
      const summary = response.data.reduce((map, item) => {
        const key = `${item.hollowSequence}`;
        if (!map[key]) {
          map[key] = {
            printQuantity: 1,
            order_number: item.glassType,
            processId: item.flowCardId,
            orderId:item.flowCardId.slice(0, 10)
          };
        }
        return map;
      }, {});
      listFlow.value = Object.values(summary);
    } else {
    }
  } catch (error) {
@@ -1820,7 +1807,20 @@
]
const blinde = ref(false)
const labelPrint = ref(false);
const handleBinde = (row) => {
const handleBinde = (flowCard) => {
  const summary = flowCard.reduce((map, item) => {
        const key = `${item.hollowSequence}`;
        if (!map[key]) {
          map[key] = {
            printQuantity: 1,
            order_number: item.glassType,
            processId: item.flowCardId,
            orderId:item.flowCardId.slice(0, 10)
          };
        }
        return map;
      }, {});
      listFlow.value = Object.values(summary);
  blinde.value = true;
  getTags();
  hiprint.init();
UI-Project/src/views/hollow/hollowequipmenthree.vue
@@ -38,7 +38,7 @@
          $t('hellow.taskdet')
        }}
        </el-button> 
        <el-button style="margin-left: 10px;" :disabled="listFlow.length > 0 ? false : true" id="searchButton" type="warning" @click="handleBinde">{{
        <el-button style="margin-left: 10px;" id="searchButton" type="warning" @click="handleBinde(tab.tableDataa)">{{
          $t('searchOrder.printlabels')
        }}
        </el-button>
@@ -683,7 +683,7 @@
      } 
    );
 if (confirmResult === 'confirm') {
      var url = "/hollowGlass/hollowGlassOutRelationInfo/deleteHollowTaskDetails?flowCardId=" + flowCardId + "&cell=" + 930;
      var url = "/hollowGlass/hollowGlassOutRelationInfo/deleteHollowTaskDetails?flowCardId=" + flowCardId + "&cell=" + 932;
      const response = await request.post(url)
    if (response.code === 200) {
      ElMessage.success(response.message);
@@ -926,19 +926,6 @@
      dialogFormVisiblee.value = false
      selectedProjectNo.value = ''
      closeWebSocket(socket);
      const summary = response.data.reduce((map, item) => {
              const key = `${item.hollowSequence}`;
              if (!map[key]) {
                map[key] = {
                  printQuantity: 1,
                  order_number: item.glassType,
                  processId: item.flowCardId,
                  orderId:item.flowCardId.slice(0, 10)
                };
              }
              return map;
            }, {});
            listFlow.value = Object.values(summary);
  } else {
    }
  } catch (error) {
@@ -1080,7 +1067,20 @@
]
const blinde = ref(false)
const labelPrint = ref(false);
const handleBinde = (row) => {
const handleBinde = (flowCard) => {
  const summary = flowCard.reduce((map, item) => {
        const key = `${item.hollowSequence}`;
        if (!map[key]) {
          map[key] = {
            printQuantity: 1,
            order_number: item.glassType,
            processId: item.flowCardId,
            orderId:item.flowCardId.slice(0, 10)
          };
        }
        return map;
      }, {});
      listFlow.value = Object.values(summary);
  blinde.value = true;
  getTags();
  hiprint.init();
UI-Project/src/views/hollow/hollowequipmenttwo.vue
@@ -40,7 +40,7 @@
          $t('hellow.taskdet')
        }}
        </el-button> 
        <el-button style="margin-left: 10px;" :disabled="listFlow.length > 0 ? false : true" id="searchButton" type="warning" @click="handleBinde">{{
        <el-button style="margin-left: 10px;"  id="searchButton" type="warning" @click="handleBinde(tab.tableDataa)">{{
          $t('searchOrder.printlabels')
        }}
        </el-button>
@@ -401,7 +401,7 @@
    <template #footer>
      <div id="dialog-footer">
        <el-button type="primary" @click="handlec">
          {{ $t('basicData.confirm') }}e
          {{ $t('basicData.confirm') }}
        </el-button>
        <el-button @click="blindc = false">{{ $t('basicData.cancel') }}</el-button>
      </div>
@@ -655,7 +655,20 @@
const handleBindc = (row) => {
  blindc.value = true;
};
const handleBinde = (row) => {
const handleBinde = (flowCard) => {
  const summary = flowCard.reduce((map, item) => {
        const key = `${item.hollowSequence}`;
        if (!map[key]) {
          map[key] = {
            printQuantity: 1,
            order_number: item.glassType,
            processId: item.flowCardId,
            orderId:item.flowCardId.slice(0, 10)
          };
        }
        return map;
      }, {});
      listFlow.value = Object.values(summary);
  blinde.value = true;
  getTags();
  hiprint.init();
@@ -941,20 +954,6 @@
      selectedProjectNo.value = ''
      closeWebSocket(socket);
      const summary = response.data.reduce((map, item) => {
        const key = `${item.hollowSequence}`;
        if (!map[key]) {
          map[key] = {
            printQuantity: 1,
            order_number: item.glassType,
            processId: item.flowCardId,
            orderId:item.flowCardId.slice(0, 10)
          };
        }
        return map;
      }, {});
      listFlow.value = Object.values(summary);
    } else {
    }
  } catch (error) {
@@ -1023,7 +1022,7 @@
      } 
    );
 if (confirmResult === 'confirm') {
      var url = "/hollowGlass/hollowGlassOutRelationInfo/deleteHollowTaskDetails?flowCardId=" + flowCardId + "&cell=" + 930;
      var url = "/hollowGlass/hollowGlassOutRelationInfo/deleteHollowTaskDetails?flowCardId=" + flowCardId + "&cell=" + 931;
      const response = await request.post(url)
    if (response.code === 200) {
      ElMessage.success(response.message);
hangzhoumesParent/common/servicebase/src/main/java/com/mes/tools/WebSocketServer.java
@@ -85,7 +85,7 @@
     * 向当前用户的所有会话发送消息
     */
    public void sendToWeb(String webSocketName, String message) {
        List<WebSocketServer> sessions = sessionMap.get(webSocketName);
         List<WebSocketServer> sessions = sessionMap.get(webSocketName);
        if (sessions == null) return;
        sessions.forEach(ws -> {
            try {
hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/hollow/controller/HollowGlassOutRelationInfoController.java
@@ -19,6 +19,7 @@
import javax.annotation.Resource;
import java.io.IOException;
import java.util.List;
import java.util.Map;
/**
 * (HollowGlassOutRelationInfo)表控制层
@@ -33,6 +34,7 @@
    @Resource
    HollowGlassOutRelationInfoService hollowGlassOutRelationInfoService;
    @ApiOperation("领取任务")
    @PostMapping("/receiveTask")
    public Result<HollowGlassOutRelationInfo> receiveTask(HollowTaskRequest request) {
@@ -63,26 +65,26 @@
    @ApiOperation("预览指定任务信息")
    @PostMapping("/appointHollowTaskDetails")
    public Result<List<HollowGlassQueueInfo>> appointHollowTaskDetails(String flowCardId, int cell) {
        return Result.build(200, "预览指定任务信息成功", hollowGlassOutRelationInfoService.appointHollowTaskDetails(flowCardId, cell));
    public Result<Map<String, List<HollowGlassQueueInfo>>> appointHollowTaskDetails(int cell) {
        return Result.build(200, "预览指定任务信息成功", hollowGlassOutRelationInfoService.appointHollowTaskDetails(cell));
    }
    @ApiOperation("删除指定任务信息")
    @PostMapping("/deleteHollowTaskDetails")
    public Result<Boolean> deleteHollowTaskDetails(String flowCardId, int cell) {
        return Result.build(200, "预览指定任务信息成功", hollowGlassOutRelationInfoService.deleteHollowTaskDetails(flowCardId, cell));
        return Result.build(200, "删除指定任务信息成功", hollowGlassOutRelationInfoService.deleteHollowTaskDetails(flowCardId, cell));
    }
    @ApiOperation("开始任务")
    @PostMapping("/startTask")
    public Result<Boolean> startTask(String flowCardId, int cell) {
        return Result.build(200, "开始任务成功", hollowGlassOutRelationInfoService.startTask(flowCardId, cell));
    public Result<Boolean> startTask(int cell) {
        return Result.build(200, "开始任务成功", hollowGlassOutRelationInfoService.startTask(cell));
    }
    @ApiOperation("暂停任务")
    @PostMapping("/pauseTask")
    public Result<Boolean> pauseTask(String flowCardId, int cell) {
        return Result.build(200, "暂停任务成功", hollowGlassOutRelationInfoService.pauseTask(flowCardId, cell));
    public Result<Boolean> pauseTask(int cell) {
        return Result.build(200, "暂停任务成功", hollowGlassOutRelationInfoService.pauseTask(cell));
    }
    @ApiOperation("结束任务")
hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/hollow/controller/HollowGlassRelationInfoController.java
@@ -41,8 +41,8 @@
    @ApiOperation("查询指定流程卡及层数的缺片详情")
    @PostMapping("/queryLackByFlowCard")
    public Result<Map<Integer, List<LackDetailsDTO>> > queryLackByFlowCard(String flowCardId) {
        Map<Integer, List<LackDetailsDTO>>  lackDetailsList = hollowGlassRelationInfoService.queryLackByFlowCard(flowCardId);
    public Result<List<LackDetailsDTO>> queryLackByFlowCard() {
        List<LackDetailsDTO> lackDetailsList = hollowGlassRelationInfoService.queryLackByFlowCard();
        return Result.success(lackDetailsList);
    }
hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/hollow/mapper/HollowGlassRelationInfoMapper.java
@@ -23,7 +23,7 @@
    List<HollowGlassDetailsDTO> queryFlowCardIdLayerGlassInfo(@Param("flowCardId") String flowCardId, @Param("totalLayer") int totalLayer, @Param("layer") int layer);
    List<LackDetailsDTO> queryLackByFlowCard(String flowCardId);
    List<LackDetailsDTO> queryLackByFlowCard();
    int queryLayerByFlowCardId(@Param("flowCardId") String flowCardId);
hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/hollow/service/HollowGlassOutRelationInfoService.java
@@ -10,6 +10,7 @@
import java.io.IOException;
import java.util.List;
import java.util.Map;
/**
 * (HollowGlassOutRelationInfo)表服务接口
@@ -29,11 +30,11 @@
    List<String> hollowTaskList(int cell);
    List<HollowGlassQueueInfo> appointHollowTaskDetails(String flowCardId, int cell);
    Map<String, List<HollowGlassQueueInfo>> appointHollowTaskDetails( int cell);
    Boolean startTask(String flowCardId, int cell);
    Boolean startTask(int cell);
    Boolean pauseTask(String flowCardId, int cell);
    Boolean pauseTask(int cell);
    Boolean finishTask(String flowCardId, int cell);
hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/hollow/service/HollowGlassRelationInfoService.java
@@ -35,7 +35,7 @@
    List<FlowCardGlassInfoDTO> queryHollowAllFlowCardSummary(HollowBigStorageDetailsQueryVO query);
    Map<Integer, List<LackDetailsDTO>> queryLackByFlowCard(String flowCardId);
    List<LackDetailsDTO> queryLackByFlowCard();
    int queryLayerByFlowCardId(String flowCardId);
//    List<LackDetailsDTO> queryLackByFlowCard(String flowCardId);
hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/hollow/service/impl/HollowGlassOutRelationInfoServiceImpl.java
@@ -115,44 +115,44 @@
    }
    @Override
    public List<HollowGlassQueueInfo> appointHollowTaskDetails(String flowCardId, int cell) {
    public Map<String, List<HollowGlassQueueInfo>> appointHollowTaskDetails(int cell) {
        //按照流程卡及路线,查找对应的任务信息
        HollowGlassOutRelationInfo hollowGlassOutRelationInfo = this.getOne(new LambdaQueryWrapper<HollowGlassOutRelationInfo>()
        List<HollowGlassOutRelationInfo> hollowGlassOutRelationInfos = this.list(new LambdaQueryWrapper<HollowGlassOutRelationInfo>()
                .in(HollowGlassOutRelationInfo::getState, Const.HOLLOW_FLOW_CARD_NEW, Const.HOLLOW_FLOW_CARD_START, Const.HOLLOW_FLOW_CARD_PAUSE)
                .eq(HollowGlassOutRelationInfo::getFlowCardId, flowCardId)
                .eq(HollowGlassOutRelationInfo::getCell, cell).last("limit 1"));
        if (null == hollowGlassOutRelationInfo) {
            return new ArrayList<HollowGlassQueueInfo>();
                .eq(HollowGlassOutRelationInfo::getCell, cell));
        if (CollectionUtil.isEmpty(hollowGlassOutRelationInfos)) {
            return null;
        }
        List<Long> ids = hollowGlassOutRelationInfos.stream()
                .map(HollowGlassOutRelationInfo::getId) // 提取每个元素的id
                .collect(Collectors.toList());
        //按照任务id查询对列表中的队列信息
        return hollowGlassQueueInfoService.list(new LambdaQueryWrapper<HollowGlassQueueInfo>()
                .eq(HollowGlassQueueInfo::getRelationId, hollowGlassOutRelationInfo.getId()));
        List<HollowGlassQueueInfo> hollowGlassQueueInfos = hollowGlassQueueInfoService.list(new LambdaQueryWrapper<HollowGlassQueueInfo>()
                .in(HollowGlassQueueInfo::getRelationId, ids)
                .orderByAsc(HollowGlassQueueInfo::getId));
        Map<String, List<HollowGlassQueueInfo>> groupedByFlowCardId = hollowGlassQueueInfos.stream()
                .collect(Collectors.groupingBy(
                        HollowGlassQueueInfo::getFlowCardId,
                        LinkedHashMap::new,
                        Collectors.toList()
                ));
        return groupedByFlowCardId;
    }
    @Override
    public Boolean startTask(String flowCardId, int cell) {
        log.info("查看该流程卡是否由正在执行的任务,流程卡:{}", flowCardId);
        int taskCount = this.count(new LambdaQueryWrapper<HollowGlassOutRelationInfo>()
                .in(HollowGlassOutRelationInfo::getState, Const.HOLLOW_FLOW_CARD_NEW, Const.HOLLOW_FLOW_CARD_START, Const.HOLLOW_FLOW_CARD_PAUSE)
                .eq(HollowGlassOutRelationInfo::getFlowCardId, flowCardId));
        if (taskCount == 0 || taskCount > 1) {
            log.info("该流程卡不存在任务或者有正在执行中,无法再次执行");
            return Boolean.FALSE;
        }
    public Boolean startTask(int cell) {
        //更新任务状态为开始
        return this.update(new LambdaUpdateWrapper<HollowGlassOutRelationInfo>()
                .set(HollowGlassOutRelationInfo::getState, Const.HOLLOW_FLOW_CARD_START)
                .eq(HollowGlassOutRelationInfo::getFlowCardId, flowCardId)
                .ne(HollowGlassOutRelationInfo::getState, Const.HOLLOW_FLOW_CARD_SUCCESS)
                .eq(HollowGlassOutRelationInfo::getCell, cell));
    }
    @Override
    public Boolean pauseTask(String flowCardId, int cell) {
    public Boolean pauseTask(int cell) {
//        更新任务状态为暂停
        return this.update(new LambdaUpdateWrapper<HollowGlassOutRelationInfo>()
                .set(HollowGlassOutRelationInfo::getState, Const.HOLLOW_FLOW_CARD_PAUSE)
                .eq(HollowGlassOutRelationInfo::getFlowCardId, flowCardId)
                .ne(HollowGlassOutRelationInfo::getState, Const.HOLLOW_FLOW_CARD_SUCCESS)
                .eq(HollowGlassOutRelationInfo::getCell, cell));
    }
hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/hollow/service/impl/HollowGlassRelationInfoServiceImpl.java
@@ -400,10 +400,9 @@
    }
    @Override
    public Map<Integer, List<LackDetailsDTO>> queryLackByFlowCard(String flowCardId) {
        List<LackDetailsDTO> lackDetailsList = this.baseMapper.queryLackByFlowCard(flowCardId);
        Map<Integer, List<LackDetailsDTO>> listMap = lackDetailsList.stream().collect(Collectors.groupingBy(LackDetailsDTO::getLayer));
        return listMap;
    public List<LackDetailsDTO> queryLackByFlowCard() {
        List<LackDetailsDTO> lackDetailsList = this.baseMapper.queryLackByFlowCard();
        return lackDetailsList;
    }
    @Override
hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/job/OpcPlcStorageCageHollowTask.java
@@ -418,6 +418,8 @@
                            .getOne(new LambdaQueryWrapper<HollowGlassOutRelationInfo>()
                                    .eq(HollowGlassOutRelationInfo::getCell, cell)
                                    .eq(HollowGlassOutRelationInfo::getState, Const.HOLLOW_FLOW_CARD_START)
                                    .orderByAsc(HollowGlassOutRelationInfo::getId)
                                    .last("limit 1")
                            );
                }
            } else {
@@ -431,6 +433,8 @@
                        .getOne(new LambdaQueryWrapper<HollowGlassOutRelationInfo>()
                                .eq(HollowGlassOutRelationInfo::getCell, cell)
                                .eq(HollowGlassOutRelationInfo::getState, Const.HOLLOW_FLOW_CARD_START)
                                .orderByAsc(HollowGlassOutRelationInfo::getId)
                                .last("limit 1")
                        );
            } else {
                break;
hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/job/PushMessageToIndex.java
@@ -1,6 +1,5 @@
package com.mes.job;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.json.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.github.xingshuangs.iot.protocol.modbus.service.ModbusTcp;
@@ -11,8 +10,8 @@
import com.mes.bigstoragecagetask.service.BigStorageCageTaskService;
import com.mes.common.config.Const;
import com.mes.hollow.entity.HollowBigStorageCageDetails;
import com.mes.hollow.entity.HollowGlassOutRelationInfo;
import com.mes.hollow.entity.dto.FlowCardGlassInfoDTO;
import com.mes.hollow.entity.dto.LackDetailsDTO;
import com.mes.hollow.entity.vo.HollowBigStorageDetailsQueryVO;
import com.mes.hollow.service.HollowBigStorageCageDetailsService;
import com.mes.hollow.service.HollowBigStorageCageService;
@@ -26,7 +25,6 @@
import com.mes.s7.entity.S7DataZKDLPOne;
import com.mes.s7.entity.S7DataZKDLPTwo;
import com.mes.s7.entity.S7DataZKExtra;
import com.mes.tools.WebSocketServer;
import com.mes.tools.WebSocketUtils;
import com.mes.utils.RedisUtil;
import lombok.extern.slf4j.Slf4j;
@@ -42,7 +40,6 @@
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
 * @Author : zhoush
@@ -117,21 +114,22 @@
    }
    public void hollowGlassTaskChild(int cell, String isFreeTag, String websocketName) {
        List<HollowGlassOutRelationInfo> taskList = hollowGlassOutRelationInfoService.list(new LambdaQueryWrapper<HollowGlassOutRelationInfo>()
                .in(HollowGlassOutRelationInfo::getState, Const.HOLLOW_FLOW_CARD_START).eq(HollowGlassOutRelationInfo::getCell, cell));
        JSONObject jsonObject = new JSONObject();
        if (CollectionUtil.isNotEmpty(taskList)) {
            List<Long> taskIdList = taskList.stream().map(HollowGlassOutRelationInfo::getId).collect(Collectors.toList());
            List<HollowGlassQueueInfo> list = hollowGlassQueueInfoService.list(new LambdaQueryWrapper<HollowGlassQueueInfo>().in(HollowGlassQueueInfo::getRelationId, taskIdList));
            jsonObject.append("queueInfo", list);
        }
//        List<HollowGlassOutRelationInfo> taskList = hollowGlassOutRelationInfoService.list(new LambdaQueryWrapper<HollowGlassOutRelationInfo>()
//                .in(HollowGlassOutRelationInfo::getState, Const.HOLLOW_FLOW_CARD_START).eq(HollowGlassOutRelationInfo::getCell, cell));
        JSONObject jsonObject = new JSONObject(true);
//        if (CollectionUtil.isNotEmpty(taskList)) {
//            List<Long> taskIdList = taskList.stream().map(HollowGlassOutRelationInfo::getId).collect(Collectors.toList());
//            List<HollowGlassQueueInfo> list = hollowGlassQueueInfoService.list(new LambdaQueryWrapper<HollowGlassQueueInfo>().in(HollowGlassQueueInfo::getRelationId, taskIdList));
//            jsonObject.append("queueInfo", list);
//        }
        Map<String, List<HollowGlassQueueInfo>> queueInfo = hollowGlassOutRelationInfoService.appointHollowTaskDetails(cell);
        jsonObject.append("queueInfo", queueInfo);
        try {
            jsonObject.append("freeRequest", isFreeTag);
        } catch (Exception e) {
            log.error("opc存在异常", e);
        }
        webSocketUtils.sendToWeb(websocketName,jsonObject);
        webSocketUtils.sendToWeb(websocketName, jsonObject);
    }
    @Scheduled(fixedDelay = 1000)
@@ -140,7 +138,7 @@
        try {
            //查询使用数据源1查询数据
            queryDataSource1(jsonObject);
            webSocketUtils.sendToWeb("hollowGlassMessage",jsonObject);
            webSocketUtils.sendToWeb("hollowGlassMessage", jsonObject);
        } catch (Exception e) {
            e.printStackTrace();
        }
@@ -328,6 +326,10 @@
        HollowBigStorageDetailsQueryVO hollowBigStorageDetailsQueryVO = new HollowBigStorageDetailsQueryVO();
        List<FlowCardGlassInfoDTO> bigStorageCageUsageSummary = hollowGlassRelationInfoService.queryHollowAllFlowCardSummary(hollowBigStorageDetailsQueryVO);
        jsonObject.append("bigStorageCageUsageSummary", bigStorageCageUsageSummary);
        //缺片详情
        List<LackDetailsDTO> lackDetailsList = hollowGlassRelationInfoService.queryLackByFlowCard();
        jsonObject.append("lackDetailsList", lackDetailsList);
    }
    @Scheduled(fixedDelay = 1000)
@@ -341,6 +343,6 @@
        jsonObject.append("pieChartVOS", pieChartVOS);
        List<RunTime> hollowRunTimes = hollowBigStorageCageHistoryTaskService.queryRunTimes(LocalDate.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
        jsonObject.append("hollowRunTimes", hollowRunTimes);
        webSocketUtils.sendToWeb("largenScreen",jsonObject);
        webSocketUtils.sendToWeb("largenScreen", jsonObject);
    }
}
hangzhoumesParent/moduleService/hollowGlassModule/src/main/resources/mapper/HollowGlassRelationInfoMapper.xml
@@ -106,23 +106,26 @@
        from result
    </select>
    <select id="queryLackByFlowCard" resultMap="lackBaseMap">
        with relation_length as (
            select flow_card_id,
                   layer,
                   order_sort,
                   tempering_layout_id,
                   tempering_feed_sequence,
                   GREATEST(width, height) as first_length,
                   LEAST(width, height)    as second_Length,
                   width,
                   height,
                   thickness,
                   films_id
            from hollow_glass_relation_info
            where flow_card_id = #{flowCardId}
              and tempering_layout_id is null
              and tempering_feed_sequence is null
        with flow_card_id_info as (
            select distinct flow_card_id from hollow_big_storage_cage_details where state = 100
        ),
             relation_length as (
                 select flow_card_id,
                        layer,
                        order_sort,
                        tempering_layout_id,
                        tempering_feed_sequence,
                        GREATEST(width, height) as first_length,
                        LEAST(width, height)    as second_Length,
                        width,
                        height,
                        thickness,
                        films_id
                 from hollow_glass_relation_info
                 where flow_card_id in (select flow_card_id from flow_card_id_info)
                   and tempering_layout_id is null
                   and tempering_feed_sequence is null
             ),
             lack_count_temp as (
                 select flow_card_id,
                        layer,
@@ -141,7 +144,9 @@
                        order_number      as order_sort,
                        count(1)          as damage_count
                 from damage
                 where process_id = #{flowCardId} and type in (8,9) and status &lt; 3
                 where process_id in (select flow_card_id from flow_card_id_info)
                   and type in (8, 9)
                   and status &lt; 3
                 group by process_id, technology_number, order_number
             ),
             result_count as (
@@ -149,6 +154,7 @@
                 from lack_count_temp t
                          left join damage_count_temp t1 on t.flow_card_id = t1.flow_card_id and t.layer = t1.layer and
                                                            t.order_sort = t1.order_sort
                 order by t.flow_card_id, t.layer
             )
        select *
        from result_count