From 87bc30b6600d5f348ccf89aeb711ad007b721183 Mon Sep 17 00:00:00 2001
From: zhoushihao <zsh19950802@163.com>
Date: 星期五, 19 七月 2024 09:44:44 +0800
Subject: [PATCH] 1、大理片调整:将定时任务时间有300ms调整为500ms 2、大理片笼:大理片详情表数据增加出片中状态,增加状态更改定时任务,用于处理玻璃是否执行完成 3、钢化对接功能文件名修改

---
 hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/job/TemperingTask.java |   53 ++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 52 insertions(+), 1 deletions(-)

diff --git a/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/job/TemperingTask.java b/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/job/TemperingTask.java
index 6b27ad0..8646b79 100644
--- a/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/job/TemperingTask.java
+++ b/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/job/TemperingTask.java
@@ -1,25 +1,76 @@
 package com.mes.job;
 
-import com.mes.tempering_record.service.TemperingRecordService;
+import cn.smallbun.screw.core.util.CollectionUtils;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.mes.common.S7object;
+import com.mes.common.config.Const;
+import com.mes.device.PlcParameterObject;
+import com.mes.temperingglass.entity.TemperingGlassInfo;
+import com.mes.temperingglass.service.TemperingGlassInfoService;
+import com.mes.temperingrecord.entity.TemperingRecord;
+import com.mes.temperingrecord.service.TemperingRecordService;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.stereotype.Component;
+
+import java.util.Date;
+import java.util.List;
+import java.util.stream.Collectors;
 
 /**
  * @Author : zhoush
  * @Date: 2024/7/17 12:47
  * @Description:
  */
+@Component
+@Slf4j
 public class TemperingTask {
 
     @Autowired
     private TemperingRecordService temporalRecordService;
 
+    @Autowired
+    private TemperingGlassInfoService temporaryGlassInfoService;
+    private static final String ALONE_STATE = "0";
+
 
     @Scheduled(fixedDelay = 1000)
     public void temperingGlassBefore() {
+        Date startDate = new Date();
+        log.info("鏈浠诲姟寮�濮嬫墽琛屾椂闂达細{}", startDate);
+        PlcParameterObject plcParameterObject = S7object.getinstance().PlcMesObject;
+        String state = plcParameterObject.getPlcParameter("state").getValue();
+//        褰撳墠杩炵嚎鐘舵�佷负
+        if (ALONE_STATE.equals(state)) {
+            log.info("褰撳墠閽㈠寲鐐夎繛绾挎ā寮忎负锛歿},涓嶆墽琛岃浠诲姟", state);
+            return;
+        }
+        //灏嗙‘璁ゅ瓧缃负0
+        S7object.getinstance().plccontrol.writeWord(plcParameterObject.getPlcParameter("confirmationWord").getAddress(), 0);
+
         //todo:鑾峰彇閽㈠寲鐗堝浘涓姸鎬佷负2鐨勶紙杩涚倝瀹屾垚鐨勭幓鐠冧俊鎭級  涓斾笉瀛樺湪閽㈠寲璁板綍琛ㄥ唴鐨�
+        List<Object> temperRecordIdListObj = temporalRecordService.listObjs(new QueryWrapper<TemperingRecord>().select("distinct tempering_layout_id"));
 
+        List<String> temperRecordIdList = temperRecordIdListObj.stream().map(String::valueOf).collect(Collectors.toList());
+        List<TemperingGlassInfo> list = temporaryGlassInfoService.list(new LambdaQueryWrapper<TemperingGlassInfo>()
+                .eq(TemperingGlassInfo::getState, Const.TEMPERING_START).notIn(TemperingGlassInfo::getTemperingLayoutId, temperRecordIdList));
+        if (CollectionUtils.isEmpty(list)) {
+            log.info("褰撳墠绯荤粺娌℃湁闇�瑕侀挗鍖栫殑鐜荤拑淇℃伅");
+            return;
+        }
+        List<Integer> temperingLayoutIdList = list.stream().map(TemperingGlassInfo::getTemperingLayoutId).distinct().collect(Collectors.toList());
+        if (CollectionUtils.isNotEmpty(temperRecordIdList)) {
+            temperingLayoutIdList.removeAll(temperRecordIdList);
+        }
+        if (CollectionUtils.isEmpty(temperingLayoutIdList)) {
+            log.info("褰撳墠鐜荤拑鏈夋鍦ㄩ挗鍖栫殑浠诲姟");
+        }
+//        鑾峰彇閽㈠寲涓嬬墖琛ㄧ姸鎬佷负2鐨勭幓鐠冧俊鎭�
 
+        //瀹屾垚浠诲姟灏嗙‘璁ゅ瓧缃负1
+        S7object.getinstance().plccontrol.writeWord(plcParameterObject.getPlcParameter("confirmationWord").getAddress(), 1);
     }
 
     @Scheduled(fixedDelay = 1000)

--
Gitblit v1.8.0