ZengTao
2024-07-18 09312a47be9adb12715b73eddc9ac467cda3a361
Merge branch 'master' of http://10.153.19.25:10101/r/HangZhouMes
3个文件已修改
1个文件已添加
151 ■■■■■ 已修改文件
hangzhoumesParent/common/servicebase/src/main/java/com/mes/common/config/Const.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/PlcStorageCageTask.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageFeedTaskMapper.xml 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/TemperingGlassModule/src/main/resources/json/PlcTemperingGlass.json 132 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/common/servicebase/src/main/java/com/mes/common/config/Const.java
@@ -21,6 +21,7 @@
     * A09出片目标位置  d02卧转立    2001
     * A10出片目标位置  d05卧转立    2002
     */
    public static final Integer OUT_TARGET_POSITION_ZERO = 0;
    public static final Integer A09_OUT_TARGET_POSITION = 2001;
    public static final Integer A10_OUT_TARGET_POSITION = 2002;
@@ -29,7 +30,7 @@
     * A09出片目标位置  d02卧转立 钢化出片    3001
     * A10出片目标位置  d05卧转立 人工出片    3002
     */
    public static final Integer TEMPERING_OUT_TARGET_POSITION = 3001;
    public static final Integer TEMPERING_OUT_TARGET_POSITION = 3002;
    public static final Integer ARTIFICIAL_OUT_TARGET_POSITION = 3002;
    /**
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/PlcStorageCageTask.java
@@ -145,6 +145,7 @@
        }
        LambdaQueryWrapper<BigStorageCageFeedTask> wrapper = new LambdaQueryWrapper<BigStorageCageFeedTask>()
                .eq(BigStorageCageFeedTask::getTaskType, Const.BIG_STORAGE_IN_RUN)
                .and(e -> e.isNull(BigStorageCageFeedTask::getTargetSlot).or().eq(BigStorageCageFeedTask::getTargetSlot, Const.OUT_TARGET_POSITION_ZERO))
                .eq(BigStorageCageFeedTask::getTaskState, Const.BIG_STORAGE_IN_UP);
        //获取可以启动卧转立的任务线路
        List<BigStorageCageFeedTask> feedTaskList = bigStorageCageFeedTaskService.list(wrapper);
@@ -169,7 +170,7 @@
//            log.info("两条线都存在进片任务,结束任务");
//            return;
//        }
        //获取两条线卧转立是否有玻璃,且任务状态都为2
        //获取两条线卧转立是否有玻璃,且任务状态为1/2
        List<Integer> lineList = bigStorageCageFeedTaskService.querySitToUpGlass();
        if (CollectionUtils.isEmpty(lineList)) {
            Date endDate = new Date();
@@ -439,7 +440,8 @@
     */
    public Integer getStartLine() {
        List<BigStorageCageFeedTask> taskList = bigStorageCageFeedTaskService.list(new LambdaQueryWrapper<BigStorageCageFeedTask>()
                .inSql(BigStorageCageFeedTask::getId, "select min(id) from big_storage_cage_feed_task where task_state = 2 group by line"));
                .inSql(BigStorageCageFeedTask::getId, "select min(id) from big_storage_cage_feed_task where task_state = 2" +
                        "and (target_slot = 0 or target_slot is null) group by line"));
        Assert.isFalse(CollectionUtils.isEmpty(taskList), "卧转立两条线都没有玻璃进片任务");
        Map<String, Integer> taskMap = taskList.stream().collect(Collectors.toMap(BigStorageCageFeedTask::getGlassId,
                BigStorageCageFeedTask::getLine));
@@ -458,6 +460,7 @@
        //1、获取任务表中的所有玻璃(指定线路且已经进卧转立完成)
        List<BigStorageCageFeedTask> taskList = bigStorageCageFeedTaskService.list(new LambdaQueryWrapper<BigStorageCageFeedTask>()
                .eq(BigStorageCageFeedTask::getLine, line)
                .and(e -> e.isNull(BigStorageCageFeedTask::getTargetSlot).or().eq(BigStorageCageFeedTask::getTargetSlot, Const.OUT_TARGET_POSITION_ZERO))
                .in(BigStorageCageFeedTask::getTaskState, Const.BIG_STORAGE_IN_UP_ALL)
                .orderByAsc(BigStorageCageFeedTask::getId));
        //2、去笼子内查找是否可以继续存放的笼子
@@ -524,7 +527,7 @@
        //打车剩余尺寸
        Integer remainWidth = carWidth;
        for (T e : list) {
            if (bigStorageCageOutTaskList.size() > outCarMaxSize || e.getWidth() > remainWidth) {
            if (bigStorageCageOutTaskList.size() >= outCarMaxSize || e.getWidth() > remainWidth) {
                break;
            }
            remainWidth = remainWidth - (int) e.getWidth() - glassGap;
@@ -555,14 +558,14 @@
    /**
     * 更新笼子内格子的剩余尺寸
     *
     * @param list
     * @param taskGlassIds
     * @param list         笼内可以出笼的玻璃信息
     * @param taskGlassIds 本次任务出去的玻璃ids
     * @param <T>
     */
    public <T extends BigStorageCageBaseInfo> void updateSlotRemain(List<T> list, List<String> taskGlassIds) {
        //获取需要出去(包括待出去的)的所有玻璃格子号
        List<Integer> slotList = list.stream().map(T::getSlot).distinct().collect(Collectors.toList());
        //获取待出去的玻璃信息(等下车出去的玻璃)
        //获取待出去的玻璃信息(等待本次任务结束后下车出去的玻璃)
        Map<Integer, Double> slotRemainMap = list.stream().filter(e -> !taskGlassIds.contains(e.getGlassId()))
                .collect(Collectors.groupingBy(T::getSlot, Collectors.summingDouble(item -> item.getWidth() + glassGap)));
        if (CollectionUtils.isNotEmpty(slotRemainMap)) {
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageFeedTaskMapper.xml
@@ -34,6 +34,7 @@
                            END MAX_LENGTH
                 FROM BIG_STORAGE_CAGE_FEED_TASK
                 WHERE LINE = #{line}
                   AND (target_slot = 0 or target_slot is null)
                   AND TASK_STATE IN (1, 2)
             ) T
    </select>
hangzhoumesParent/moduleService/TemperingGlassModule/src/main/resources/json/PlcTemperingGlass.json
New file
@@ -0,0 +1,132 @@
{
    "plcAddressBegin": "DB88.0",
    "plcAddressLenght": "58",
    "dataType": "word",
    "parameteInfor": [
        {
            "codeId": "confirmationWord",
            "addressIndex": "0",
            "addressLenght": "2"
        },
        {
            "codeId": "temperingLayoutId",
            "addressIndex": "2",
            "addressLenght": "2"
        },
        {
            "codeId": "filmsid",
            "addressIndex": "4",
            "addressLenght": "2"
        },
        {
            "codeId": "temperingType",
            "addressIndex": "6",
            "addressLenght": "2"
        },
        {
            "codeId": "thickness",
            "addressIndex": "8",
            "addressLenght": "2"
        },
        {
            "codeId": "loadingRate",
            "addressIndex": "10",
            "addressLenght": "2"
        },
        {
            "codeId": "areaDifference",
            "addressIndex": "12",
            "addressLenght": "2"
        },
        {
            "codeId": "state",
            "addressIndex": "22",
            "addressLenght": "2"
        },
        {
            "codeId": "deviceState",
            "addressIndex": "24",
            "addressLenght": "2"
        },
        {
            "codeId": "resultState",
            "addressIndex": "26",
            "addressLenght": "2"
        },
        {
            "codeId": "loadSpeed",
            "addressIndex": "28",
            "addressLenght": "2"
        },
        {
            "codeId": "downSpeed",
            "addressIndex": "30",
            "addressLenght": "2"
        },
        {
            "codeId": "load1",
            "addressIndex": "32",
            "addressLenght": "2"
        },
        {
            "codeId": "heat1",
            "addressIndex": "34",
            "addressLenght": "2"
        },
        {
            "codeId": "heat2",
            "addressIndex": "36",
            "addressLenght": "2"
        },
        {
            "codeId": "cool1",
            "addressIndex": "38",
            "addressLenght": "2"
        },
        {
            "codeId": "cool2",
            "addressIndex": "40",
            "addressLenght": "2"
        },
        {
            "codeId": "downId",
            "addressIndex": "42",
            "addressLenght": "2"
        },
        {
            "codeId": "productionTime",
            "addressIndex": "44",
            "addressLenght": "2"
        },
        {
            "codeId": "heatEnergy",
            "addressIndex": "46",
            "addressLenght": "2"
        },
        {
            "codeId": "coolEnergy",
            "addressIndex": "48",
            "addressLenght": "2"
        },
        {
            "codeId": "temperatureUp1",
            "addressIndex": "50",
            "addressLenght": "2"
        },
        {
            "codeId": "temperatureDown1",
            "addressIndex": "52",
            "addressLenght": "2"
        },
        {
            "codeId": "temperatureUp2",
            "addressIndex": "54",
            "addressLenght": "2"
        },
        {
            "codeId": "temperatureDown2",
            "addressIndex": "56",
            "addressLenght": "2"
        }
    ]
}