wangfei
2025-02-21 1b6124a4dd5521770f9ab755cb5495e46ab2a8f2
Merge branch 'master' of http://10.153.19.25:10105/r/YiWuProject
1个文件已添加
22个文件已修改
403 ■■■■■ 已修改文件
hangzhoumesParent/common/servicebase/src/main/java/com/mes/base/entity/vo/BigStorageVO.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/common/servicebase/src/main/java/com/mes/rawglassdetails/entity/dto/RawGlassStorageDetailsDTO.java 52 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/common/servicebase/src/main/java/com/mes/rawglassdetails/mapper/RawGlassStorageDetailsMapper.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/common/servicebase/src/main/java/com/mes/rawglassdetails/service/RawGlassStorageDetailsService.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/common/servicebase/src/main/java/com/mes/rawglassdetails/service/impl/RawGlassStorageDetailsServiceImpl.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/common/servicebase/src/main/java/com/mes/temperingglass/service/TemperingGlassInfoService.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/common/servicebase/src/main/java/com/mes/temperingglass/service/impl/TemperingGlassInfoServiceImpl.java 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/common/servicebase/src/main/resources/mapper/RawGlassStorageDetailsMapper.xml 39 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/impl/EdgStorageCageDetailsServiceImpl.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/PushMessageToIndex.java 48 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/BigStorageCageDetailsService.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageDetailsServiceImpl.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageDetailsMapper.xml 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/job/RawGlassPushMessage.java 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglassdetails/controller/RawGlassStorageDetailsController.java 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/job/PlcLoadGlassTask.java 18 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/uppattenusage/controller/UpPattenUsageController.java 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/uppattenusage/service/UpPattenUsageService.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/uppattenusage/service/impl/UpPattenUsageServiceImpl.java 32 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/job/PlcTemperingGlassTask.java 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/temperingglass/controller/TemperingGlassInfoController.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/TemperingGlassModule/src/main/resources/application-dev.yml 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/hollowGlassModule/src/main/resources/mapper/HollowBigStorageCageDetailsMapper.xml 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/common/servicebase/src/main/java/com/mes/base/entity/vo/BigStorageVO.java
@@ -11,6 +11,8 @@
@Data
public class BigStorageVO {
    @ApiModelProperty(value = "笼子号")
    private int deviceId;
    @ApiModelProperty(value = "格子号")
    private int slot;
    @ApiModelProperty(value = "数量")
hangzhoumesParent/common/servicebase/src/main/java/com/mes/rawglassdetails/entity/dto/RawGlassStorageDetailsDTO.java
New file
@@ -0,0 +1,52 @@
package com.mes.rawglassdetails.entity.dto;
import lombok.Data;
/**
 * @Author : zhoush
 * @Date: 2024/9/20 16:31
 * @Description:
 */
@Data
public class RawGlassStorageDetailsDTO {
    /**
     * 原片宽
     */
    private Double patternWidth;
    /**
     * 原片高
     */
    private Double patternHeight;
    /**
     * 原片厚度
     */
    private Double patternThickness;
    /**
     * 膜系
     */
    private String filmsId;
    /**
     * 总原片数
     */
    private Integer totalCount;
    /**
     * 笼内片数
     */
    private String count;
    /**
     * 上片片数
     */
    private String finishCount;
    /**
     * 破损片数
     */
    private String damageCount;
}
hangzhoumesParent/common/servicebase/src/main/java/com/mes/rawglassdetails/mapper/RawGlassStorageDetailsMapper.java
@@ -2,6 +2,7 @@
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.mes.rawglassdetails.entity.RawGlassStorageDetails;
import com.mes.rawglassdetails.entity.dto.RawGlassStorageDetailsDTO;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@@ -24,4 +25,6 @@
     * @return
     */
    List<RawGlassStorageDetails> listBySlotState(@Param("leftingStation") List<Integer> liftingStation, @Param("state") List<Integer> state);
    List<RawGlassStorageDetailsDTO> patternUsage(@Param("width") String width, @Param("height") String height, @Param("thickness") String thickness, @Param("films") String films);
}
hangzhoumesParent/common/servicebase/src/main/java/com/mes/rawglassdetails/service/RawGlassStorageDetailsService.java
@@ -2,6 +2,7 @@
import com.baomidou.mybatisplus.extension.service.IService;
import com.mes.rawglassdetails.entity.RawGlassStorageDetails;
import com.mes.rawglassdetails.entity.dto.RawGlassStorageDetailsDTO;
import com.mes.rawglassdetails.entity.request.RawGlassRequest;
import java.util.List;
@@ -44,4 +45,6 @@
    boolean generateTask(int startSlot, int endSlot, int shelf, int patternQuantity, int taskType) throws Exception;
    String shelfReset(Long slot);
    List<RawGlassStorageDetailsDTO> patternUsage(String width, String height, String thickness, String films);
}
hangzhoumesParent/common/servicebase/src/main/java/com/mes/rawglassdetails/service/impl/RawGlassStorageDetailsServiceImpl.java
@@ -8,6 +8,7 @@
import com.kangaroohy.milo.service.MiloService;
import com.mes.common.config.Const;
import com.mes.rawglassdetails.entity.RawGlassStorageDetails;
import com.mes.rawglassdetails.entity.dto.RawGlassStorageDetailsDTO;
import com.mes.rawglassdetails.entity.request.RawGlassRequest;
import com.mes.rawglassdetails.mapper.RawGlassStorageDetailsMapper;
import com.mes.rawglassdetails.service.RawGlassStorageDetailsService;
@@ -212,4 +213,9 @@
        //生成一条详情数据  仅记录架子状态
        return "success";
    }
    @Override
    public List<RawGlassStorageDetailsDTO> patternUsage(String width, String height, String thickness, String films){
        return baseMapper.patternUsage(width, height, thickness, films);
    }
}
hangzhoumesParent/common/servicebase/src/main/java/com/mes/temperingglass/service/TemperingGlassInfoService.java
@@ -1,6 +1,9 @@
package com.mes.temperingglass.service;
import com.mes.temperingglass.entity.TemperingGlassInfo;
import com.github.yulichang.base.MPJBaseService;
import com.mes.glassinfo.entity.GlassInfo;
import com.mes.temperingglass.entity.TemperingGlassInfo;
import java.util.List;
/**
@@ -53,4 +56,7 @@
     */
    List<TemperingGlassInfo> selectGlassInfoById(Integer id);
    GlassInfo selectTempering(GlassInfo glassInfo);
    List<GlassInfo> selectTemperingGlass(GlassInfo glassInfo);
}
hangzhoumesParent/common/servicebase/src/main/java/com/mes/temperingglass/service/impl/TemperingGlassInfoServiceImpl.java
@@ -4,9 +4,12 @@
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.github.yulichang.base.MPJBaseServiceImpl;
import com.mes.glassinfo.entity.GlassInfo;
import com.mes.glassinfo.mapper.GlassInfoMapper;
import com.mes.temperingglass.entity.TemperingGlassInfo;
import com.mes.temperingglass.mapper.TemperingGlassInfoMapper;
import com.mes.temperingglass.service.TemperingGlassInfoService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
@@ -25,6 +28,8 @@
public class TemperingGlassInfoServiceImpl extends MPJBaseServiceImpl<TemperingGlassInfoMapper, TemperingGlassInfo> implements TemperingGlassInfoService {
    @Resource
    TemperingGlassInfoMapper temperingMapper;
    @Autowired
    private GlassInfoMapper glassInfoMapper;
    @Override
    public List<TemperingGlassInfo> selectWaitingGlass() {
@@ -132,4 +137,23 @@
        }
        return result;
    }
    @Override
    public GlassInfo selectTempering(GlassInfo glassInfo) {
        QueryWrapper<GlassInfo> wrapper = new QueryWrapper<>();
        wrapper.select("max(tempering_layout_id)as id")
                .eq("engineer_id", glassInfo.getEngineerId());
        return glassInfoMapper.selectOne(wrapper);
    }
    @Override
    public List<GlassInfo> selectTemperingGlass(GlassInfo glassInfo) {
        QueryWrapper<GlassInfo> wrapper = new QueryWrapper<>();
        wrapper.eq("engineer_id", glassInfo.getEngineerId())
                .eq("tempering_layout_id", glassInfo.getTemperingLayoutId())
                .select("engineer_id,tempering_layout_id,width,height,tempering_feed_sequence,x_coordinate,y_coordinate,angle,glass_id");
        return glassInfoMapper.selectList(wrapper);
    }
}
hangzhoumesParent/common/servicebase/src/main/resources/mapper/RawGlassStorageDetailsMapper.xml
@@ -6,6 +6,17 @@
        <result column="DEVICE_ID" property="deviceId"/>
        <result column="SLOT" property="slot"/>
    </resultMap>
    <resultMap id="RawGlassStorageDetailsDTO" type="com.mes.rawglassdetails.entity.dto.RawGlassStorageDetailsDTO">
        <result property="patternWidth" column="pattern_width"/>
        <result property="patternHeight" column="pattern_height"/>
        <result property="patternThickness" column="pattern_thickness"/>
        <result property="filmsId" column="films_id"/>
        <result property="count" column="count"/>
        <result property="finishCount" column="finishCount"/>
        <result property="damageCount" column="damageCount"/>
        <!-- 如果有其他字段,请继续添加 -->
    </resultMap>
    <select id="listBySlotState" resultMap="baseMap">
        SELECT
@@ -27,4 +38,32 @@
        </foreach>
        AND T1.SLOT IS NULL
    </select>
    <select id="listBySlotState" resultMap="RawGlassStorageDetailsDTO">
        select rgsd.pattern_width,
               rgsd.pattern_height,
               rgsd.pattern_thickness,
               rgsd.films_id,
               rgsd.count + sum(lgdth.finish_count) + sum(damage_count),
               rgsd.count,
               sum(lgdth.finish_count) as finishCount,
               sum(damage_count)       as damageCount
        from (select pattern_width,
                     pattern_height,
                     pattern_thickness,
                     films_id,
                     sum(case when state = 100 then remain_quantity else 0 end) as count
              from raw_glass_storage_details
              group by pattern_width, pattern_height, pattern_thickness, films_id) as rgsd
                 left JOIN load_glass_device_task_history as lgdth
                           on rgsd.pattern_width = lgdth.raw_glass_width
                               and rgsd.pattern_height = lgdth.raw_glass_height
                               and rgsd.pattern_thickness = lgdth.raw_glass_thickness
                               and rgsd.films_id = lgdth.raw_glass_films_id
        where rgsd.pattern_width like "%#{processId}%"
          and rgsd.pattern_height like "%#{pattern_height}%"
          and rgsd.pattern_thickness like "%#{pattern_thickness}%"
          and rgsd.films_id like "%#{films_id}%"
        group by rgsd.pattern_width, rgsd.pattern_height, rgsd.pattern_thickness, rgsd.films_id
    </select>
</mapper>
hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/impl/EdgStorageCageDetailsServiceImpl.java
@@ -102,8 +102,7 @@
                patternSequence = lastGlass.getPatternSequence() + 1;
            } else {
                //当前版图是否有剩余,有剩余显示当前版图
                patternSequence = lastGlass.getPatternSequence();
            }
                patternSequence = lastGlass.getPatternSequence();            }
        }
        return baseMapper.queryCutDrawingByEngineerId(engineering.getEngineerId(), patternSequence, 0);
    }
hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/PushMessageToIndex.java
@@ -9,6 +9,8 @@
import com.mes.edgstoragecage.entity.vo.EdgStorageCageVO;
import com.mes.edgstoragecage.service.EdgStorageCageDetailsService;
import com.mes.edgstoragecage.service.EdgStorageCageService;
import com.mes.engineering.entity.Engineering;
import com.mes.engineering.service.EngineeringService;
import com.mes.opctask.entity.EdgStorageDeviceTask;
import com.mes.opctask.entity.EdgStorageDeviceTaskHistory;
import com.mes.opctask.service.EdgStorageDeviceTaskHistoryService;
@@ -22,6 +24,7 @@
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.concurrent.CompletionStage;
/**
 * @Author : zhoush
@@ -42,6 +45,8 @@
    EdgStorageDeviceTaskService edgStorageDeviceTaskService;
    @Resource
    EdgStorageDeviceTaskHistoryService edgStorageDeviceTaskHistoryService;
    @Resource
    EngineeringService engineeringService;
    private static final String EDG_STORAGE_DEVICE_ONE_TASK = "edg_storage_device_one_task";
@@ -143,4 +148,47 @@
            }
        }
    }
    @Scheduled(fixedDelay = 1000)
    public void largenScreen() {
        JSONObject jsonObject = new JSONObject();
        //磨边信息
        List<EdgStorageDeviceTaskHistory> edgOneTasks = edgStorageDeviceTaskHistoryService.list(
                new LambdaQueryWrapper<EdgStorageDeviceTaskHistory>()
                        .eq(EdgStorageDeviceTaskHistory::getDeviceId, 1)
                        .eq(EdgStorageDeviceTaskHistory::getTaskState, Const.EDG_GLASS_BEFORE)
        );
        List<EdgStorageDeviceTaskHistory> edgTwoTasks = edgStorageDeviceTaskHistoryService.list(
                new LambdaQueryWrapper<EdgStorageDeviceTaskHistory>()
                        .eq(EdgStorageDeviceTaskHistory::getDeviceId, 1)
                        .eq(EdgStorageDeviceTaskHistory::getTaskState, Const.EDG_GLASS_BEFORE)
        );
        jsonObject.append("edgOneTasks", edgOneTasks);
        jsonObject.append("edgOneTasks", edgTwoTasks);
        List<Engineering> engineeringOne = engineeringService.list(
                new LambdaQueryWrapper<Engineering>()
                        .eq(Engineering::getStationCell, 5)
        );
        List<Engineering> engineeringTow = engineeringService.list(
                new LambdaQueryWrapper<Engineering>()
                        .eq(Engineering::getStationCell, 6)
        );
        jsonObject.append("engineeringOne", engineeringOne);
        jsonObject.append("engineeringTow", engineeringTow);
        ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("largenScreen");
        if (sendwServer != null) {
            for (WebSocketServer webserver : sendwServer) {
                if (webserver != null) {
                    webserver.sendMessage(jsonObject.toString());
                    List<String> messages = webserver.getMessages();
                    if (!messages.isEmpty()) {
                        // // 将最后一个消息转换为整数类型的列表
                        webserver.clearMessages();
                    }
                } else {
                    log.info("largenScreen is closed");
                }
            }
        }
    }
}
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/BigStorageCageDetailsService.java
@@ -9,6 +9,7 @@
import com.mes.glassinfo.entity.GlassInfo;
import java.util.List;
import java.util.Map;
/**
 * <p>
@@ -107,5 +108,5 @@
     */
    List<BigStorageCageDetails> queryRealGlassInfo(BigStorageQueryVO bigStorageQueryVO);
    List<BigStorageVO> querybigStorageCageDetail();
    Map<Integer, List<BigStorageVO>> querybigStorageCageDetail();
}
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageDetailsServiceImpl.java
@@ -451,8 +451,9 @@
    }
    @Override
    public List<BigStorageVO> querybigStorageCageDetail() {
        return baseMapper.querybigStorageCageDetail();
    public Map<Integer, List<BigStorageVO>> querybigStorageCageDetail() {
        List<BigStorageVO> bigStorageCages= baseMapper.querybigStorageCageDetail();
        return bigStorageCages.stream().collect(Collectors.groupingBy(item -> item.getDeviceId()));
    }
    @Override
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageDetailsMapper.xml
@@ -267,10 +267,10 @@
        FROM result
    </select>
    <select id="querybigStorageCageDetail" resultType="com.mes.base.entity.vo.BigStorageVO">
        SELECT SLOT, COUNT(1) AS COUNT
        FROM BIG_STORAGE_CAGE_DETAILS
        where state in (100, 102, 103, 104)
        group by SLOT
        ORDER BY SLOT
        select bsc.device_id, bsc.slot, count(bscd.glass_id) as count
        from big_storage_cage bsc left join big_storage_cage_details bscd
        on bsc.slot=bscd.slot and bscd.state in (100, 102, 103, 104)
        group by bsc.device_id, bsc.slot
        order by bsc.device_id, bsc.slot
    </select>
</mapper>
hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/job/RawGlassPushMessage.java
@@ -2,7 +2,10 @@
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.json.JSONObject;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.mes.common.config.Const;
import com.mes.rawglassdetails.entity.RawGlassStorageDetails;
import com.mes.rawglassdetails.service.RawGlassStorageDetailsService;
import com.mes.rawglassstation.service.RawGlassStorageStationService;
import com.mes.rawglasstask.entity.RawGlassStorageTask;
import com.mes.rawglasstask.service.RawGlassStorageTaskService;
@@ -27,6 +30,9 @@
    @Resource
    private RawGlassStorageTaskService rawGlassStorageTaskService;
    @Resource
    private RawGlassStorageDetailsService rawGlassStorageDetailsService;
    @Scheduled(fixedDelay = 2000)
    public void sendRawGlassMessage() {
        log.info("发送任务信息和架子信息");
@@ -43,4 +49,21 @@
            });
        }
    }
    @Scheduled(fixedDelay = 1000)
    public void largenScreen() {
        log.info("发送任务信息和架子信息");
        JSONObject jsonObject = new JSONObject();
        List<RawGlassStorageDetails> rawGlassStorageDetailList = rawGlassStorageDetailsService.list(
                new LambdaUpdateWrapper<RawGlassStorageDetails>()
                        .eq(RawGlassStorageDetails::getState, Const.RAW_GLASS_STATE_IN)
        );
        jsonObject.append("rawGlassStorageDetailList", rawGlassStorageDetailList);
        List<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("largenScreen");
        if (CollectionUtil.isNotEmpty(sendwServer)) {
            sendwServer.stream().forEach(e -> {
                e.sendMessage(String.valueOf(jsonObject));
            });
        }
    }
}
hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglassdetails/controller/RawGlassStorageDetailsController.java
@@ -1,5 +1,6 @@
package com.mes.rawglassdetails.controller;
import com.mes.rawglassdetails.entity.dto.RawGlassStorageDetailsDTO;
import com.mes.rawglassdetails.entity.request.RawGlassRequest;
import com.mes.rawglassdetails.service.RawGlassStorageDetailsService;
import com.mes.utils.Result;
@@ -10,6 +11,8 @@
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/**
 * 前端控制器
@@ -38,20 +41,10 @@
            200, "入库已完成,等待任务执行", rawGlassStorageDetailsService.patternWarehousing(request));
  }
  @ApiOperation("更新剩余数量")
  @PostMapping("/updateQuantity")
  public Result<Object> updateQuantity(@Validated @RequestBody RawGlassRequest request) {
    return Result.success(rawGlassStorageDetailsService.UpdateQuantity(request));
  }
  @ApiOperation("删除原片")
  @PostMapping("/deleteWarehousing")
  public Result<Object> deleteWarehousing(Long slotId) {
    return Result.success(rawGlassStorageDetailsService.deleteWarehousing(slotId));
  }
  @ApiOperation("原片出库")
  @PostMapping("/outWarehousing")
  public Result<Object> outWarehousing(Long slotId) {
    public Result<Object> outWarehousing(@RequestBody Long slotId) {
    return Result.success(rawGlassStorageDetailsService.outWarehousing(slotId));
  }
@@ -68,4 +61,21 @@
  public Result<String> shelfReset(Long slot) {
    return Result.success(rawGlassStorageDetailsService.shelfReset(slot));
  }
    @ApiOperation("原片使用情况")
    @PostMapping("/patternUsage")
    public Result<List<RawGlassStorageDetailsDTO>> patternUsage(String width, String height, String thickness, String films) {
        return Result.build(200, "查询成功", rawGlassStorageDetailsService.patternUsage(width, height, thickness, films));
    }
    @ApiOperation("更新剩余数量")
    @PostMapping("/updateQuantity")
    public Result<Object> updateQuantity(@Validated @RequestBody RawGlassRequest request) {
        return Result.success(rawGlassStorageDetailsService.UpdateQuantity(request));
    }
    @ApiOperation("删除原片")
    @PostMapping("/deleteWarehousing")
    public Result<Object> deleteWarehousing(@RequestBody Long slotId) {
        return Result.success(rawGlassStorageDetailsService.deleteWarehousing(slotId));
    }
}
hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/job/PlcLoadGlassTask.java
@@ -9,6 +9,7 @@
import com.mes.tools.WebSocketServer;
import com.mes.uppattenusage.entity.UpPattenUsage;
import com.mes.uppattenusage.service.UpPattenUsageService;
import com.mes.utils.RedisUtil;
import com.mes.workstation.entity.UpWorkstation;
import com.mes.workstation.service.UpWorkstationService;
import lombok.extern.slf4j.Slf4j;
@@ -34,7 +35,8 @@
    private UpPattenUsageService upPattenUsageService;
    @Autowired
    private OptimizeProjectService optimizeProjectService;
    @Autowired
    RedisUtil redisUtil;
    PlcParameterObject plcParameterObject = S7object.getinstance().PlcMesObject;
@@ -124,10 +126,20 @@
            jsonObject.append("prioritylist", upPattenUsages);
        }
        //查询1号线的任务
        List<UpPattenUsage> upPattenUsages1 = upPattenUsageService.selectLoadTask(5);
        Engineering request = redisUtil.getCacheObject("loadGlassRequest");
        if (request == null) {
            request = new Engineering();
            request.setStationCell(5);
        }
        List<UpPattenUsage> upPattenUsages1 = upPattenUsageService.selectLoadTask(request);
        jsonObject.append("loadTask1", upPattenUsages1);
        //查询2号线的任务
        List<UpPattenUsage> upPattenUsages2 = upPattenUsageService.selectLoadTask(6);
        Engineering request2 = redisUtil.getCacheObject("loadGlassRequest2");
        if (request2 == null) {
            request2 = new Engineering();
            request2.setStationCell(6);
        }
        List<UpPattenUsage> upPattenUsages2 = upPattenUsageService.selectLoadTask(request2);
        jsonObject.append("loadTask2", upPattenUsages2);
        //查询工位任务
        
hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/uppattenusage/controller/UpPattenUsageController.java
@@ -85,7 +85,14 @@
    @PostMapping("/setUpPattenRequest")
    public Result setRawGlassTaskRequest(@RequestBody Engineering request) {
        log.info("查询上片信息:{}", request);
        return Result.build(200, "查询成功", upPattenUsageService.setRawGlassTaskRequest(request));
        if (request.getStationCell() == 5) {
            return Result.build(200, "查询1号线", upPattenUsageService.setRawGlassTaskRequest(request));
        } else if (request.getStationCell() == 6) {
            return Result.build(200, "查询2号线", upPattenUsageService.setRawGlassTaskRequest2(request));
        } else {
            return Result.build(100, "查询失败", null);
        }
    }
}
hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/uppattenusage/service/UpPattenUsageService.java
@@ -66,7 +66,9 @@
      */
     Boolean updateGlassState(UpPattenUsage upPattenUsage);
     List<Engineering> setRawGlassTaskRequest(Engineering request);
     String setRawGlassTaskRequest(Engineering request);
     String setRawGlassTaskRequest2(Engineering request);
//     List<UpPattenUsage> selectSaveUpPattenUsage(String engineerId, Integer filmRemove, Integer stationCell);
@@ -77,7 +79,7 @@
    void deleteTask(String engineerId);
     List<UpPattenUsage> selectLoadTask(Integer i);
     List<UpPattenUsage> selectLoadTask(Engineering engineering);
     /**
      * 拿走:9/破损:8
hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/uppattenusage/service/impl/UpPattenUsageServiceImpl.java
@@ -17,6 +17,7 @@
import com.mes.uppattenusage.entity.UpPattenUsage;
import com.mes.uppattenusage.mapper.UpPattenUsageMapper;
import com.mes.uppattenusage.service.UpPattenUsageService;
import com.mes.utils.RedisUtil;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -42,6 +43,8 @@
    EngineeringService engineeringService;
    @Autowired
    DamageService damageService;
    @Autowired
    RedisUtil redisUtil;
    @Override
    public List<UpPattenUsage> prioritylist() {
        //获取正在上片的任务id
@@ -58,13 +61,16 @@
    }
    @Override
    public List<UpPattenUsage> selectLoadTask(Integer cell) {
    public List<UpPattenUsage> selectLoadTask(Engineering cell) {
        //获取正在上片的任务id
        Engineering engineering= engineeringService.selectInitiates(1,cell);
        Engineering engineering = engineeringService.selectInitiates(1, cell.getStationCell());
        //log.info("将参数传入到查询类里{}",engineering);
        if(engineering!=null){
            LambdaQueryWrapper<UpPattenUsage> wrapper = new LambdaQueryWrapper<>();
            wrapper.eq(UpPattenUsage::getEngineeringId, engineering.getEngineerId());
            if (cell.getState() != null) {
                wrapper.eq(UpPattenUsage::getState, cell.getState());
            }
            return this.list(wrapper);
        } else {
            return null;
@@ -191,9 +197,27 @@
    }
    @Override
    public List<Engineering> setRawGlassTaskRequest(Engineering request) {
        return null;
    public String setRawGlassTaskRequest(Engineering request) {
        // 调用 RedisUtil 保存 loadGlass
        if (request == null) {
            redisUtil.deleteObject("loadGlassRequest");
        } else {
            redisUtil.setCacheObject("loadGlassRequest", request);
    }
        return "success";
    }
    @Override
    public String setRawGlassTaskRequest2(Engineering request) {
        // 调用 RedisUtil 保存 loadGlass
        if (request == null) {
            redisUtil.deleteObject("loadGlassRequest2");
        } else {
            redisUtil.setCacheObject("loadGlassRequest2", request);
        }
        return "success";
    }
    public Object Engineering(Engineering request) {
        return null;
hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/job/PlcTemperingGlassTask.java
@@ -2,9 +2,11 @@
import cn.hutool.json.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.mes.common.config.Const;
import com.mes.damage.entity.Damage;
import com.mes.damage.service.DamageService;
import com.mes.engineering.entity.Engineering;
import com.mes.temperingglass.service.TemperingGlassInfoService;
import com.mes.temperingglass.entity.TemperingGlassInfo;
import com.mes.tools.WebSocketServer;
@@ -101,5 +103,38 @@
    }
    @Scheduled(fixedDelay = 1000)
    public void largenScreen() {
        JSONObject jsonObject = new JSONObject();
        //大屏钢化信息
        Integer putGlass = temperingAgoService.count(
                new LambdaUpdateWrapper<TemperingGlassInfo>()
                        .eq(TemperingGlassInfo::getState, Const.TEMPERING_NEW)
        );
        jsonObject.append("temperingTaskType", putGlass);
        //大屏钢化信息
        Integer temperingGlass = temperingAgoService.count(
                new LambdaUpdateWrapper<TemperingGlassInfo>()
                        .eq(TemperingGlassInfo::getState, Const.TEMPERING_START)
                        .groupBy(TemperingGlassInfo::getEngineerId,
                                TemperingGlassInfo::getTemperingLayoutId)
        );
        jsonObject.append("temperingGlass", temperingGlass);
        ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("largenScreen");
        if (sendwServer != null) {
            for (WebSocketServer webserver : sendwServer) {
                if (webserver != null) {
                    webserver.sendMessage(jsonObject.toString());
                    List<String> messages = webserver.getMessages();
                    if (!messages.isEmpty()) {
                        // // 将最后一个消息转换为整数类型的列表
                        webserver.clearMessages();
                    }
                } else {
                    log.info("largenScreen is closed");
                }
            }
        }
    }
}
hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/temperingglass/controller/TemperingGlassInfoController.java
@@ -1,9 +1,12 @@
package com.mes.temperingglass.controller;
import com.mes.damage.entity.Damage;
import com.mes.damage.service.DamageService;
import com.mes.temperingglass.service.TemperingGlassInfoService;
import com.mes.glassinfo.entity.GlassInfo;
import com.mes.temperingglass.entity.TemperingGlassInfo;
import com.mes.temperingglass.service.TemperingGlassInfoService;
import com.mes.utils.Result;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
@@ -15,6 +18,7 @@
/**
 * @author SNG-010
 */
@Api(tags = "钢化显示")
@RestController
@RequestMapping("/temperingGlassInfo")
@Slf4j
@@ -58,5 +62,19 @@
        return Result.build(200, "破损成功", result);
    }
    @ApiOperation("//查询当前工程号所有的炉号")
    @PostMapping("/selectTempering") //查询当前工程号所有的炉号
    public Result<GlassInfo> selectTempering(@RequestBody GlassInfo glassInfo) {
        GlassInfo glass = temperingGlassInfoService.selectTempering(glassInfo);
        return Result.build(200, "查询成功", glass);
    }
    @ApiOperation("//查询当前工程号的钢化版图")
    @PostMapping("/selectTemperingGlass") //查询当前工程号所有的炉号
    public Result<List<GlassInfo>> selectTemperingGlass(@RequestBody GlassInfo glassInfo) {
        List<GlassInfo> glass = temperingGlassInfoService.selectTemperingGlass(glassInfo);
        return Result.build(200, "查询成功", glass);
    }
}
hangzhoumesParent/moduleService/TemperingGlassModule/src/main/resources/application-dev.yml
@@ -10,7 +10,7 @@
          password: beibo.123/
          driver-class-name: com.mysql.cj.jdbc.Driver
        salve_northGlassMes:
          url: jdbc:sqlserver://127.0.0.1:1433;databasename=north_glass_mes
          url: jdbc:sqlserver://10.153.19.150:1433;databasename=north_glass_mes
          username: sa
          password: beibo.123/
          driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
@@ -37,3 +37,13 @@
    password: 123456
  liquibase:
    change-log: classpath:changelog/changelogBase.xml
kangaroohy:
  milo:
    enabled: true
    primary: default
    config:
      default:
        endpoint: opc.tcp://10.153.19.150:49320
        security-policy: basic256sha256
        username: admin
        password: 1qaz2wsx3edc4rfv
hangzhoumesParent/moduleService/hollowGlassModule/src/main/resources/mapper/HollowBigStorageCageDetailsMapper.xml
@@ -207,11 +207,11 @@
        </if>
    </select>
    <select id="queryHollowbigStorageCageDetail" resultType="com.mes.base.entity.vo.BigStorageVO">
        SELECT SLOT, COUNT(1) AS COUNT
        FROM HOLLOW_BIG_STORAGE_CAGE_DETAILS
        where state in (100, 102, 103, 104)
        group by SLOT
        ORDER BY SLOT
        select hbsc.device_id, hbsc.slot, count(hbscd.glass_id) as count
        from hollow_big_storage_cage hbsc left join hollow_big_storage_cage_details hbscd
        on hbsc.slot=hbscd.slot and hbscd.state in (100, 102, 103, 104)
        group by hbsc.device_id, hbsc.slot
        order by hbsc.device_id, hbsc.slot
    </select>
    <select id="querySlotMaxSequence" resultType="com.mes.hollow.entity.HollowBigStorageCageDetails">
        select max(sequence) as sequence, device_id, slot