From b4a570aa5d20a42c63e3caff8c7c7d3f88d03b6c Mon Sep 17 00:00:00 2001
From: zhoushihao <zsh19950802@163.com>
Date: 星期日, 30 六月 2024 11:20:17 +0800
Subject: [PATCH] 1、修改Double为double,便于数据转换 2、新增进片发送启动子

---
 hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/PlcStorageCageTask.java |   26 +++++++++++++++-----------
 1 files changed, 15 insertions(+), 11 deletions(-)

diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/PlcStorageCageTask.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/PlcStorageCageTask.java
index 4b1aa74..7042a34 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/PlcStorageCageTask.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/PlcStorageCageTask.java
@@ -332,17 +332,17 @@
         //2銆佸幓绗煎瓙鍐呮煡鎵炬槸鍚﹀彲浠ョ户缁瓨鏀剧殑绗煎瓙
         List<String> glassIds = taskList.stream().map(BigStorageCageFeedTask::getGlassId).collect(Collectors.toList());
         List<GlassInfo> glassInfos = glassInfoService.list(new LambdaQueryWrapper<GlassInfo>().in(GlassInfo::getGlassId, glassIds));
-        return computeIsTemperingTargetByLine(glassInfos, taskList, Boolean.TRUE) && computeIsTemperingTargetByLine(glassInfos, taskList, Boolean.FALSE);
+        return computeIsTemperingTargetByLine(glassInfos, taskList, line) && computeIsTemperingTargetByLine(glassInfos, taskList, line);
     }
 
     /**
      * 鏄惁閽㈠寲鐜荤拑杩涚鐩爣浣嶇疆
      *
-     * @param glassInfos  褰撴潯绾垮崸杞珛鎵�鏈夌幓鐠�
-     * @param taskList    褰撴潯绾垮崸杞珛鎵�鏈変换鍔�
-     * @param isTempering true 閽㈠寲  false  涓嶉挗鍖�
+     * @param glassInfos 褰撴潯绾垮崸杞珛鎵�鏈夌幓鐠�
+     * @param taskList   褰撴潯绾垮崸杞珛鎵�鏈変换鍔�
+     * @param line       浠诲姟鏄摢鏉$嚎
      */
-    private boolean computeIsTemperingTargetByLine(List<GlassInfo> glassInfos, List<BigStorageCageFeedTask> taskList, Boolean isTempering) {
+    private boolean computeIsTemperingTargetByLine(List<GlassInfo> glassInfos, List<BigStorageCageFeedTask> taskList, Integer line) {
         //1銆佸皢鐜荤拑淇℃伅闆嗗悎杞负glassid涓簁ey鐨刴ap
         Map<String, GlassInfo> glassInfoMap = glassInfos.stream()
                 .collect(Collectors.toMap(GlassInfo::getGlassId, p -> p));
@@ -369,17 +369,21 @@
             bigStorageCageDetailsService.save(cageDetails);
         }
         //todo:鎸夌収杩涚墖淇℃伅鍚戞墦杞﹀彂閫佽繘杞︽暟鎹�
-        sendTaskListToPLC(taskList);
+        sendTaskListToPLC(taskList, line);
         return Boolean.TRUE;
     }
 
-    private void sendTaskListToPLC(List<BigStorageCageFeedTask> taskList) {
+    private void sendTaskListToPLC(List<BigStorageCageFeedTask> taskList, Integer line) {
         S7control s7control = S7object.getinstance().plccontrol;
         PlcParameterObject plcMesObject = S7object.getinstance().PlcMesObject;
+        String mesD03Address = plcMesObject.getPlcParameter("MESToD03").getAddress();
+        String mesD05Address = plcMesObject.getPlcParameter("MESToD05").getAddress();
+        String outLine = line.equals(Const.A09_OUT_TARGET_POSITION) ? mesD03Address : mesD05Address;
         for (int i = 1; i <= taskList.size(); i++) {
-            s7control.writeWord(plcMesObject.getPlcParameter("StartAddToImport" + i).getAddress(), Short.parseShort(taskList.get(i).getLine() + ""));
-            s7control.writeWord(plcMesObject.getPlcParameter("TargetAddToImport1" + i).getAddress(), Short.parseShort(taskList.get(i).getTargetSlot() + ""));
+            s7control.writeWord(plcMesObject.getPlcParameter("StartAddToImport" + i).getAddress(), (short) taskList.get(i).getLine());
+            s7control.writeWord(plcMesObject.getPlcParameter("TargetAddToImport1" + i).getAddress(), (short) taskList.get(i).getTargetSlot());
         }
+        s7control.writeWord(outLine, (short) 1);
     }
 
     private <T extends BigStorageCageBaseInfo> Boolean computeOutGlassInfo(List<T> list) {
@@ -391,9 +395,9 @@
             if (bigStorageCageOutTaskList.size() > carMaxSize || e.getWidth() > remainWidth) {
                 break;
             }
-            remainWidth = remainWidth - e.getWidth().intValue() - galssGap;
+            remainWidth = remainWidth - (int) e.getWidth() - galssGap;
             bigStorageCageOutTaskList.add(new BigStorageCageOutTask(e.getGlassId(), e.getSlot(), Const.A09_OUT_TARGET_POSITION,
-                    e.getWidth().intValue(), 0, 0, 1));
+                    (int) e.getWidth(), 0, 0, 1));
         }
         Assert.isFalse(CollectionUtils.isEmpty(bigStorageCageOutTaskList), "鏈幏鍙栧嚭鐗囨暟鎹紝缁撴潫鍑虹墖浠诲姟");
         log.info("鑾峰彇鍑虹墖浠诲姟鏁版嵁{}鏉★紝鎵ц淇濆瓨", bigStorageCageOutTaskList.size());

--
Gitblit v1.8.0