wangfei
2025-03-04 a0b6faef7b25572ef6f5c19aaacc8e0474ae7b3b
Merge remote-tracking branch 'origin/master'
7个文件已修改
1个文件已添加
194 ■■■■■ 已修改文件
UI-Project/src/lang/en.js 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/lang/zh.js 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/common/servicebase/src/main/java/com/mes/bigstoragecagetask/entity/BigStorageTaskVO.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/common/servicebase/src/main/java/com/mes/rawglassdetails/service/impl/RawGlassStorageDetailsServiceImpl.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/OPCPlcSlicecage.java 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglassdetails/controller/RawGlassStorageDetailsController.java 23 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/hollow/service/impl/HollowGlassOutRelationInfoServiceImpl.java 71 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/job/PushMessageToIndex.java 41 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/lang/en.js
@@ -484,6 +484,7 @@
          createTime :'Return date',
      },
      large:{
          percent:'Percent',
          time: 'The time of the break',
          number: 'Order number',
          jobnumber: 'Job number',
UI-Project/src/lang/zh.js
@@ -482,6 +482,7 @@
          createTime :'返库日期',
      },
      large:{
          percent:'进度百分比',
          time: '次破时间',
          number: '订单号',
          jobnumber: '报工编号',
hangzhoumesParent/common/servicebase/src/main/java/com/mes/bigstoragecagetask/entity/BigStorageTaskVO.java
New file
@@ -0,0 +1,17 @@
package com.mes.bigstoragecagetask.entity;
import lombok.Data;
/**
 * @Author : zhoush
 * @Date: 2025/3/3 15:05
 * @Description:
 */
@Data
public class BigStorageTaskVO extends BigStorageCageTask{
    /**
     * 是否相同
     */
    private int isSame;
}
hangzhoumesParent/common/servicebase/src/main/java/com/mes/rawglassdetails/service/impl/RawGlassStorageDetailsServiceImpl.java
@@ -128,9 +128,8 @@
    @Override
    public String deleteWarehousing(Long slotId) {
        update(new LambdaUpdateWrapper<RawGlassStorageDetails>().eq(RawGlassStorageDetails::getSlot, slotId)
                .eq(RawGlassStorageDetails::getState, Const.RAW_GLASS_STATE_OUT)
                .set(RawGlassStorageDetails::getState, Const.RAW_GLASS_STATE_IN));
        remove(new LambdaUpdateWrapper<RawGlassStorageDetails>().eq(RawGlassStorageDetails::getSlot, slotId)
                .eq(RawGlassStorageDetails::getState, Const.RAW_GLASS_STATE_IN));
        return "success";
    }
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/OPCPlcSlicecage.java
@@ -4,10 +4,13 @@
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.kangaroohy.milo.model.ReadWriteEntity;
import com.kangaroohy.milo.service.MiloService;
import com.mes.bigstorage.entity.BigStorageCageDetails;
import com.mes.bigstorage.service.BigStorageCageDetailsService;
import com.mes.bigstorage.service.BigStorageCageService;
import com.mes.bigstoragecagetask.entity.BigStorageCageTask;
import com.mes.bigstoragecagetask.entity.BigStorageTaskVO;
import com.mes.bigstoragecagetask.service.BigStorageCageTaskService;
import com.mes.common.config.Const;
import com.mes.glassinfo.service.GlassInfoService;
import com.mes.temperingglass.entity.TemperingGlassInfo;
import com.mes.temperingglass.service.TemperingGlassInfoService;
@@ -54,19 +57,26 @@
        carPostion.add(0.5);
        jsonObject.append("carPostion", carPostion);
        //界面展示笼子信息
      jsonObject.append("bigStorageCageInfos", bigStorageCageDetailsService.querybigStorageCageDetail());
        jsonObject.append("bigStorageCageInfos", bigStorageCageDetailsService.querybigStorageCageDetail());
        try{
        try {
            //进片任务数据
            List<BigStorageCageTask> inTaskList = new ArrayList();
            List<BigStorageTaskVO> inTaskList = new ArrayList();
            ReadWriteEntity fromOpcUa = miloService.readFromOpcUa("DLP1A.DLP1A.FROM1");
            for (int i = 1; i <= 6; i++) {
                ReadWriteEntity requestWord = miloService.readFromOpcUa("DLP1A.DLP1A.DI" + i);
                ReadWriteEntity targetSlotWord = miloService.readFromOpcUa("DLP1A.DLP1A.TO" + i);
                ReadWriteEntity stateWord = miloService.readFromOpcUa("DLP1A.DLP1A.STATE" + i);
                if (null != requestWord.getValue()) {
                    BigStorageCageTask task = new BigStorageCageTask();
                    BigStorageTaskVO task = new BigStorageTaskVO();
                    task.setGlassId(requestWord.getValue() + "");
                    int isExistCount = bigStorageCageDetailsService.count(new LambdaQueryWrapper<BigStorageCageDetails>().in(BigStorageCageDetails::getGlassId, task.getGlassId())
                            .in(BigStorageCageDetails::getState, Const.GLASS_STATE_IN_ALL_ZERO));
                    if (isExistCount > 0) {
                        task.setIsSame(1);
                    } else {
                        task.setIsSame(0);
                    }
                    task.setStartSlot(Integer.parseInt(fromOpcUa.getValue() + ""));
                    task.setTargetSlot(Integer.parseInt(targetSlotWord.getValue() + ""));
                    task.setTaskState(Integer.parseInt(stateWord.getValue() + ""));
@@ -75,7 +85,10 @@
                }
            }
            jsonObject.append("bigStorageCageDetailsFeedTask", inTaskList);
        } catch (Exception e) {
            //todo:不做任务处理
        }
        try {
            //进片联机
            ReadWriteEntity inkageEntity = miloService.readFromOpcUa("DLP1A.DLP1A.mesControl");
            jsonObject.append("inkageEntity", inkageEntity.getValue());
@@ -91,14 +104,14 @@
            //出片请求
            ReadWriteEntity outRequestEntity = miloService.readFromOpcUa("DLP1B.DLP1B.RequestMes");
            jsonObject.append("outRequestEntity", outRequestEntity.getValue());
        }catch(Exception e){
            //出片任务数据
            List<BigStorageCageTask> outTaskList = bigStorageCageTaskService.queryTaskMessage("big_storage_cage_out_one_task");
            jsonObject.append("bigStorageCageDetailsOutTask", outTaskList);
        } catch (Exception e) {
            //todo:不做任务处理
        }
        //出片任务数据
        List<BigStorageCageTask> outTaskList = bigStorageCageTaskService.queryTaskMessage("big_storage_cage_out_one_task");
        jsonObject.append("bigStorageCageDetailsOutTask", outTaskList);
        //钢化开关
        boolean temperingSwitch = false;
hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglassdetails/controller/RawGlassStorageDetailsController.java
@@ -41,21 +41,21 @@
                200, "入库已完成,等待任务执行", rawGlassStorageDetailsService.patternWarehousing(request));
    }
  @ApiOperation("更新剩余数量")
  @PostMapping("/updateQuantity")
  public Result<Object> updateQuantity(@Validated @RequestBody RawGlassRequest request) {
    return Result.success(rawGlassStorageDetailsService.updateQuantity(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("/deleteWarehousing")
    public Result<Object> deleteWarehousing(Long slot) {
        return Result.success(rawGlassStorageDetailsService.deleteWarehousing(slot));
    }
    @ApiOperation("原片出库")
    @PostMapping("/outWarehousing")
    public Result<Object> outWarehousing(@RequestBody Long slotId) {
    public Result<Object> outWarehousing(Long slotId) {
        return Result.success(rawGlassStorageDetailsService.outWarehousing(slotId));
    }
@@ -78,7 +78,6 @@
    public Result<List<RawGlassStorageDetailsDTO>> patternUsage(String width, String height, String thickness, String films) {
        return Result.build(200, "查询成功", rawGlassStorageDetailsService.patternUsage(width, height, thickness, films));
    }
}
hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/hollow/service/impl/HollowGlassOutRelationInfoServiceImpl.java
@@ -28,6 +28,7 @@
import freemarker.template.Version;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
@@ -59,6 +60,12 @@
    @Resource
    RedisUtil redisUtil;
    @Value("${mes.glassGap}")
    private Integer glassGap;
    @Value("${mes.carWidth}")
    private Integer carWidth;
    private static final int ID_RATIO = 10;
@@ -328,20 +335,45 @@
                .queryOutGlassList(request.getFlowCardId(), request.getCell());
        int isPairCount = glassInfo.getTotalLayer() * request.getTotalPairQuantity();
        List<HollowGlassQueueInfo> hollowQueues = new ArrayList<>();
        loop:
        for (HollowBigStorageCageDetails queue : hollowBigStorageCageDetailsList) {
            HollowGlassQueueInfo queueInfo = new HollowGlassQueueInfo();
            BeanUtils.copyProperties(queue, queueInfo);
            queueInfo.setRelationId(info.getId());
            queueInfo.setState(Const.TEMPERING_NEW);
            queueInfo.setCell(request.getCell());
            queueInfo.setCreateTime(new Date());
            queueInfo.setUpdateTime(new Date());
            hollowQueues.add(queueInfo);
            if (queue.getIsPair() == 1) {
                isPairCount -= 1;
                if (isPairCount == 0) {
                    break loop;
        if (930 == request.getCell()) {
            Map<Integer, List<HollowBigStorageCageDetails>> listMap = hollowBigStorageCageDetailsList.stream()
                    .collect(Collectors.groupingBy(HollowBigStorageCageDetails::getHollowSequence));
            for (Map.Entry<Integer, List<HollowBigStorageCageDetails>> entry : listMap.entrySet()) {
                //创建队列接收不满足成对情况下:一对玻璃分几次上车的次序问题
                List<HollowGlassQueueInfo> tempList = new ArrayList<>();
                //先将玻璃按照正常顺序排列,计算一车最多放几块,算好块数之后将一车的玻璃按照倒序存储
                List<HollowBigStorageCageDetails> reverse = CollectionUtil.reverse(entry.getValue());
                int remainWidth = carWidth;
                for (HollowBigStorageCageDetails item : reverse) {
                    remainWidth = remainWidth - (int) Math.max(item.getWidth(), item.getHeight());
                    if (remainWidth < 0) {
                        tempList = CollectionUtil.reverse(tempList);
                        remainWidth = carWidth - (int) Math.max(item.getWidth(), item.getHeight());
                    }
                    HollowGlassQueueInfo queueInfo = HollowBDetailToQueue(item, info.getId(), request.getCell());
                    tempList.add(queueInfo);
                    remainWidth = remainWidth - glassGap;
                }
                hollowQueues.addAll(tempList);
                HollowBigStorageCageDetails cageDetails = entry.getValue().get(0);
                if (cageDetails.getIsPair() == 1) {
                    isPairCount = isPairCount - cageDetails.getTotalLayer();
                    if (isPairCount == 0) {
                        break;
                    }
                }
            }
        } else {
            loop:
            for (HollowBigStorageCageDetails item : hollowBigStorageCageDetailsList) {
                HollowGlassQueueInfo queueInfo = HollowBDetailToQueue(item, info.getId(), request.getCell());
                hollowQueues.add(queueInfo);
                if (item.getIsPair() == 1) {
                    isPairCount = isPairCount - 1;
                    if (isPairCount == 0) {
                        break loop;
                    }
                }
            }
        }
@@ -355,5 +387,16 @@
        }
        return info;
    }
    private HollowGlassQueueInfo HollowBDetailToQueue(HollowBigStorageCageDetails details, Long taskId, int targetCell) {
        HollowGlassQueueInfo queueInfo = new HollowGlassQueueInfo();
        BeanUtils.copyProperties(details, queueInfo);
        queueInfo.setRelationId(taskId);
        queueInfo.setState(Const.TEMPERING_NEW);
        queueInfo.setCell(targetCell);
        queueInfo.setCreateTime(new Date());
        queueInfo.setUpdateTime(new Date());
        return queueInfo;
    }
}
hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/job/PushMessageToIndex.java
@@ -6,8 +6,10 @@
import com.kangaroohy.milo.model.ReadWriteEntity;
import com.kangaroohy.milo.service.MiloService;
import com.mes.bigstoragecagetask.entity.BigStorageCageTask;
import com.mes.bigstoragecagetask.entity.BigStorageTaskVO;
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.service.HollowBigStorageCageDetailsService;
import com.mes.hollow.service.HollowBigStorageCageService;
@@ -69,13 +71,13 @@
        jsonObject.append("932", listMap.get(932));
        try {
            //930空闲信号
            ReadWriteEntity freeOneRequestEntity =  miloService.readFromOpcUa("CMJ1.CMJ1.isFree");
            ReadWriteEntity freeOneRequestEntity = miloService.readFromOpcUa("CMJ1.CMJ1.isFree");
            jsonObject.append("freeOneRequestEntity", freeOneRequestEntity.getValue());
            //931空闲信号
            ReadWriteEntity freeTwoRequestEntity = miloService.readFromOpcUa("ZKQ2.ZKQ2.isFree");
            jsonObject.append("freeTwoRequestEntity", freeTwoRequestEntity.getValue());
        }catch (Exception e){
            log.error("opc存在异常",e);
        } catch (Exception e) {
            log.error("opc存在异常", e);
        }
        List<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("HollowGlass");
@@ -124,17 +126,24 @@
        //界面展示笼子信息
        jsonObject.append("bigStorageCageInfos", hollowBigStorageCageDetailsService.queryHollowbigStorageCageDetail());
        try{
        try {
            //进片任务数据
            List<BigStorageCageTask> inTaskList = new ArrayList();
            List<BigStorageTaskVO> inTaskList = new ArrayList();
            ReadWriteEntity fromOpcUa = miloService.readFromOpcUa("DLP2A.DLP2A.FROM1");
            for (int i = 1; i <= 6; i++) {
                ReadWriteEntity requestWord = miloService.readFromOpcUa("DLP2A.DLP2A.DI" + i);
                ReadWriteEntity targetSlotWord = miloService.readFromOpcUa("DLP2A.DLP2A.TO" + i);
                ReadWriteEntity stateWord = miloService.readFromOpcUa("DLP2A.DLP2A.STATE" + i);
                if (null != requestWord.getValue()) {
                    BigStorageCageTask task = new BigStorageCageTask();
                    BigStorageTaskVO task = new BigStorageTaskVO();
                    task.setGlassId(requestWord.getValue() + "");
                    int isExistCount = hollowBigStorageCageDetailsService.count(new LambdaQueryWrapper<HollowBigStorageCageDetails>().in(HollowBigStorageCageDetails::getGlassId, task.getGlassId())
                            .in(HollowBigStorageCageDetails::getState, Const.GLASS_STATE_IN_ALL_ZERO));
                    if (isExistCount > 0) {
                        task.setIsSame(1);
                    } else {
                        task.setIsSame(0);
                    }
                    task.setStartSlot(Integer.parseInt(fromOpcUa.getValue() + ""));
                    task.setTargetSlot(Integer.parseInt(targetSlotWord.getValue() + ""));
                    task.setTaskState(Integer.parseInt(stateWord.getValue() + ""));
@@ -143,6 +152,10 @@
                }
            }
            jsonObject.append("bigStorageCageDetailsFeedTask", inTaskList);
        } catch (Exception e) {
            //todo:不做任务处理
        }
        try {
            //进片联机
            ReadWriteEntity inkageEntity = miloService.readFromOpcUa("DLP2A.DLP2A.mesControl");
            jsonObject.append("inkageEntity", inkageEntity.getValue());
@@ -159,13 +172,12 @@
            ReadWriteEntity outRequestEntity = miloService.readFromOpcUa("DLP2B.DLP2B.RequestMes");
            jsonObject.append("outRequestEntity", outRequestEntity.getValue());
            //930空闲信号
            ReadWriteEntity freeOneRequestEntity =  miloService.readFromOpcUa("CMJ1.CMJ1.isFree");
            ReadWriteEntity freeOneRequestEntity = miloService.readFromOpcUa("CMJ1.CMJ1.isFree");
            jsonObject.append("freeOneRequestEntity", freeOneRequestEntity.getValue());
            //931空闲信号
            ReadWriteEntity freeTwoRequestEntity = miloService.readFromOpcUa("ZKQ2.ZKQ2.isFree");
            jsonObject.append("freeTwoRequestEntity", freeTwoRequestEntity.getValue());
        }catch(Exception e){
        } catch (Exception e) {
            //todo:不做任务处理
        }
@@ -185,17 +197,6 @@
        //理片笼使用情况
        List<Map<String, Object>> bigStorageCageUsage = hollowBigStorageCageService.selectBigStorageCageUsage();
        jsonObject.append("bigStorageCageUsage", bigStorageCageUsage);
//
//        //打印开关
//        boolean autoPrint = false;
//        if (redisUtil.getCacheObject("autoPrint") == null) {
//            redisUtil.setCacheObject("autoPrint", false);
//        } else {
//            autoPrint = redisUtil.getCacheObject("autoPrint");
//        }
//        jsonObject.append("autoPrint", autoPrint);
    }
}