From a72412ea76015aa84883da72e643c63096c71a24 Mon Sep 17 00:00:00 2001
From: zhoushihao <zsh19950802@163.com>
Date: 星期三, 24 四月 2024 09:00:44 +0800
Subject: [PATCH] 认证权限

---
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/impl/DownStorageCageServiceImpl.java |  385 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 379 insertions(+), 6 deletions(-)

diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/impl/DownStorageCageServiceImpl.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/impl/DownStorageCageServiceImpl.java
index fe93e4a..958affc 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/impl/DownStorageCageServiceImpl.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/impl/DownStorageCageServiceImpl.java
@@ -1,9 +1,18 @@
 package com.mes.downstorage.service.impl;
 
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.mes.common.PLCAutoMes;
+import com.mes.common.S7control;
+import com.mes.device.PlcParameterObject;
+import com.mes.downglassinfo.entity.DownGlassTask;
+import com.mes.downglassinfo.service.DownGlassTaskService;
 import com.mes.downstorage.entity.DownStorageCage;
+import com.mes.downstorage.entity.DownStorageCageDetails;
 import com.mes.downstorage.mapper.DownStorageCageMapper;
 import com.mes.downstorage.service.DownStorageCageService;
+import com.mes.glassinfo.entity.GlassInfo;
+import com.mes.glassinfo.service.GlassInfoService;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -12,23 +21,387 @@
 
 /**
  * <p>
- * 鏈嶅姟瀹炵幇绫�
+ *  鏈嶅姟瀹炵幇绫�
  * </p>
  *
  * @author zhoush
  * @since 2024-03-27
  */
+@Slf4j
 @Service
 public class DownStorageCageServiceImpl extends ServiceImpl<DownStorageCageMapper, DownStorageCage> implements DownStorageCageService {
+
     @Autowired
-    private DownStorageCageMapper downStorageCageMapper;
+    private GlassInfoService glassInfoService;
+    @Autowired
+    private DownStorageCageService downStorageCageService;
+    @Autowired
+    private DownGlassTaskService downGlassTaskService;
+    @Override
+    public List<Map> gettask(){
+        baseMapper.selectList(null);
+//        downStorageCageMapper.selectJoin();
+        return null;
+    };
+
+
 
     @Override
-    public List<Map> gettask() {
-        downStorageCageMapper.selectList(null);
-//        downStorageCageMapper.selectJoin();
+    public List<DownStorageCageDetails> getCacheLeisure() {
+        log.info(" 鏌ヨ绗煎瓙鍐呯┖闂�");
+//        MPJLambdaWrapper<DownStorageCageDetails> wrapper = new MPJLambdaWrapper<>();
+//        wrapper.selectAll(DownStorageCageDetails.class)
+//        List<DownStorageCageDetails> list = baseMapper.selectJoinList(
+//                DownStorageCageDetails.class,Wrapper<DownStorageCageDetails>()
+//                        .select("escd.*")
+//                        .leftJoin("down_storage_cage_details escd on t.slot = escd.slot")
+//                        .isNull("escd.slot")
+//                        .orderByAsc("escd.slot")
+//        );
+//        return list;
         return null;
     }
 
-    ;
+
+//    @Override
+//    public List<Map> getCacheOut(int start, int end) {
+//        log.info(" 鏍规嵁浼犲叆鐨勫伐浣嶆煡璇㈢鍚堟寜鐓ч『搴忓拰澶у皬鍑虹墖鐨勫皬鐗�");
+//        List<Map> map = downStorageCageMapper.selectJoinList(
+//                Map.class, new MPJQueryWrapper<DownStorageCageDetails>()
+//                        .select("escd.*")
+//                        .leftJoin("down_storage_cage_details escd on t.slot = escd.slot")
+//                        .leftJoin("down_workstation dw on escd.flow_card_id = dw.flow_card_id")
+//                        .isNotNull("escd.slot")
+//                        .between("dw.workstation_id", start, end)
+//                        .orderByAsc("escd.tempering_layout_id, escd.tempering_feed_sequence")
+//        );
+//        return map;
+//    }
+
+
+
+
+
+    @Override
+    public List<DownStorageCageDetails> getCacheOut(int start, int end) {
+        log.info("鏍规嵁浼犲叆鐨勫伐浣嶆煡璇㈢鍚堟寜鐓ч『搴忓拰澶у皬鍑虹墖鐨勫皬鐗�");
+//        return  baseMapper.selectJoinList(
+//                DownStorageCageDetails.class, new MPJQueryWrapper<DownStorageCageDetails>()
+//                        .select("escd.*")
+//                        .leftJoin("down_storage_cage_details escd on t.slot = escd.slot")
+//                        .leftJoin("down_workstation dw on escd.flow_card_id = dw.flow_card_id")
+//                        .leftJoin("glass_info gi on dw.flow_card_id = gi.flowcard_id  and gi.flowcard_id=escd.flow_card_id ")
+//                        .isNotNull("escd.slot")
+//                        .between("dw.workstation_id", start, end)
+//                        .orderByDesc("escd.width")
+//                        .orderByDesc("escd.height")
+//        );
+        return null;
+    }
+
+
+
+
+
+    @Override
+    public List<Map> getCacheInfo() {
+        log.info(" 鏌ヨ绗煎瓙鍐呬俊鎭�");
+//        return baseMapper.selectJoinList(
+//                Map.class, new MPJQueryWrapper<DownStorageCageDetails>()
+//                        .select("escd.*")
+//                        .leftJoin("down_storage_cage_details escd on t.slot = escd.slot")
+//                        .orderByAsc("t.slot")
+//        );
+        return null;
+
+    }
+
+
+
+    @Override
+    public List<DownStorageCageDetails> getIsExistIntoCacheByLayoutAndSequence(Integer tempering_layout_id, Integer tempering_feed_sequence, double width) {
+        log.info(" 鏌ヨ鍙繘姝ょ墖鐜荤拑鐨勬爡鏍煎彿  鎵惧埌鐩稿悓鐗堝浘id骞朵笖澶т簬鍓嶉潰鐨勯『搴忕殑绌烘牸");
+//        List<DownStorageCageDetails> list = baseMapper.selectJoinList(
+//                DownStorageCageDetails.class, new MPJQueryWrapper<DownStorageCageDetails>()
+//                        .select("escd.*")
+//                        .leftJoin("down_storage_cage_details escd on t.slot = escd.slot")
+//                        .isNotNull("escd.slot")
+//                        .eq("escd.tempering_layout_id", tempering_layout_id)
+//                        .lt("escd.tempering_feed_sequence", tempering_feed_sequence)
+//                        .gt("t.remain_width", width)
+//                        .orderByAsc("escd.tempering_feed_sequence")
+//        );
+//        return list;
+        return null;
+    }
+
+
+
+
+
+
+
+    @Override
+    public List<DownStorageCageDetails> IsExistIntoCacheByflowcardid(String flowcardid, double width) {
+        log.info(" 鏌ヨ鍙繘姝ょ墖鐜荤拑鐨勬爡鏍煎彿");
+//        return baseMapper.selectJoinList(
+//                DownStorageCageDetails.class, new MPJQueryWrapper<DownStorageCageDetails>()
+//                        .select("escd.*")
+//                        .leftJoin("down_storage_cage_details escd on t.slot = escd.slot")
+//                        .isNotNull("escd.slot")
+//                        .lt("escd.flow_card_id", flowcardid)
+//                        // 鏉′欢 t.remain_width - width > 0
+//                        .apply("t.remain_width - " + width + " > 0")
+//                        .orderByDesc("escd.tempering_layout_id, escd.tempering_feed_sequence")
+//        );
+        return null;
+
+    }
+
+
+    @Override
+    public List<DownStorageCageDetails> getIsExistIntoCacheByLayout(Integer tempering_layout_id, double width) {
+//        log.info(" 鏌ヨ鍙繘姝ょ墖鐜荤拑鐨勬爡鏍煎彿");
+//        return baseMapper.selectJoinList(
+//                DownStorageCageDetails.class, new MPJQueryWrapper<DownStorageCageDetails>()
+//                        .select("escd.*")
+//                        .leftJoin("down_storage_cage_details escd on t.slot = escd.slot")
+//                        .isNotNull("escd.slot")
+//                        .lt("escd.tempering_layout_id", tempering_layout_id)
+//                        // 鏉′欢 t.remain_width - width > 0
+//                        .apply("t.remain_width - " + width + " > 0")
+//                        .orderByDesc("escd.tempering_layout_id, escd.tempering_feed_sequence")
+//        );
+        return null;
+    }
+
+
+
+
+
+
+
+    @Override
+    public List<DownStorageCageDetails> getIsExistIntoCacheByflowcardid(String flowcardid, double width) {
+        log.info(" 鍗曠墖鎯呭喌  鏌ヨ鍙繘姝ょ墖鐜荤拑鐨勬爡鏍煎彿  鎵惧埌鐩稿悓娴佺▼鍗″彿鐨勭┖鏍�");
+
+//        return baseMapper.selectJoinList(
+//                DownStorageCageDetails.class, new MPJQueryWrapper<DownStorageCageDetails>()
+//                        .select("escd.*")
+//                        .leftJoin("down_storage_cage_details escd on t.slot = escd.slot")
+//                        .isNotNull("escd.slot")
+//                        .eq("escd.flow_card_id", flowcardid)
+//                        .gt("t.remain_width", width)
+//                        .orderByAsc("escd.sequence")
+//        );
+        return null;
+
+    }
+
+
+//    @Override
+//    public List<DownStorageCageDetails> Out() {
+//        log.info("鍗曠墖鎯呭喌   鏍规嵁浼犲叆鐨勫伐浣嶆煡璇㈢鍚堟寜鐓уぇ灏忓嚭鐗囩殑灏忕墖");
+//
+//
+//        return  downStorageCageMapper.selectJoinList(
+//                DownStorageCageDetails.class, new MPJQueryWrapper<DownStorageCageDetails>()
+//                        .select("escd.*")
+//                        .leftJoin("down_storage_cage_details escd on t.slot = escd.slot")
+//                        .leftJoin("down_workstation dw on escd.flow_card_id = dw.flow_card_id")
+//                        .isNotNull("escd.slot")
+//
+//                        .orderByDesc("escd.width")
+//                        .orderByDesc("escd.height")
+//        );
+//    }
+
+
+
+
+
+
+
+    public DownGlassTask createDownGlassTask(GlassInfo glassInfo, String startCell, String endCell,String taskType ) {
+        DownGlassTask downGlassTask = new DownGlassTask();
+        downGlassTask.setId(glassInfo.getId());
+        downGlassTask.setStartCell(startCell);
+        downGlassTask.setTaskType(taskType);
+        downGlassTask.setEndCell(endCell);
+        downGlassTask.setWidth(glassInfo.getWidth());
+        downGlassTask.setHeight(glassInfo.getHeight());
+        downGlassTask.setFilmsid(String.valueOf(glassInfo.getFilmsid()));
+        downGlassTask.setThickness(glassInfo.getThickness());
+        downGlassTask.setFlowCardId(glassInfo.getFlowcardId());
+
+        return downGlassTask;
+    }
+
+
+
+    @Override
+    public boolean processInto(String Number) {
+
+        //鎸塱d鏌ヨ鐜荤拑淇℃伅琛ㄩ噷鐨勭幓鐠�
+        GlassInfo GlassInfo = glassInfoService.selectGlassId(Number);
+     PlcParameterObject plcmes = PLCAutoMes.PlcMesObject;
+        //瀛樺湪姝ょ幓鐠冪紪鍙�
+        if (GlassInfo != null) {
+            //鍚屾壘鍒板悓娴佺▼鍗¢檮杩戠┖鏍�
+            List<DownStorageCageDetails> list = getIsExistIntoCacheByflowcardid(GlassInfo.getFlowcardId(),  GlassInfo.getWidth());
+            if (list.size() > 0) {
+                //瀛樺湪绌烘牸
+                //1.鐢熸垚浠诲姟锛�  璧峰浣嶇疆0   缁撴潫浣嶇疆this.slot  浠诲姟绫诲瀷 1   锛堣繘鐗囦换鍔★級
+                //2.鍥炲 1杩涚墖
+                DownStorageCageDetails item = list.get(0);
+
+                //selectInfo.insertCacheTask(GlassInfo.getId() + "", "0", item.getSlot() + "", "1", GlassInfo.getWidth(), GlassInfo.getHeight(), GlassInfo.getFilmsid(), GlassInfo.getThickness(), GlassInfo.getFlowcardId());
+
+                DownGlassTask downGlassTask =   createDownGlassTask(GlassInfo,"0",item.getSlot()+"","1");
+
+                downGlassTaskService.insertCacheTask(downGlassTask);
+
+               S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToGaStatus").getAddress(), (short) 1);
+
+
+                //瀹屾垚鍚庢彃鍏ュ皬鐗囨暟鎹埌缂撳瓨琛�
+                return true;
+            }
+
+        } else {
+            // ID缂栧彿涓嶅瓨鍦�   涓嶅鐞�/鍥炲PLC  杩涜鎶ヨ鎻愮ず
+        }
+        //杩斿洖缁撴灉
+        return false;
+    }
+
+
+    /**
+     * 鐞嗙墖 鍑�
+     * @return
+     */
+    //
+    @Override
+    public boolean processOut() {
+        // 鏌ヨ浠诲姟
+
+
+        PlcParameterObject plcmes = PLCAutoMes.PlcMesObject;
+
+        List<DownStorageCageDetails> list = getCacheOut(1, 5);
+        List<DownStorageCageDetails> list2 = getCacheOut(6, 10);
+        List<DownStorageCageDetails> list3 = getCacheOut(1, 10);
+        //鑷姩缁戝畾鏋跺瓙
+
+
+
+        // 浼樺厛 瓒呭嚭灏哄浼樺厛浜哄伐鍑虹墖 浜哄伐澶勭悊
+
+        if (!list3.isEmpty()) {
+            DownStorageCageDetails item3 = list3.get(0);
+            if (item3.getHeight() >= 1 && item3.getWidth() >= 1) {
+
+                String endcell = "13";
+                String SendEndcell = "1";
+
+//                selectInfo.insertCacheTask(item3.getGlassId() + "", "0", endcell, "2", item3.getWidth(), item3.getHeight(), item3.getFilmsid(), item3.getThickness(), item3.getFlowCardId());
+
+                DownGlassTask downGlassTask = new DownGlassTask();
+                downGlassTask.setId(item3.getId()); // 璁剧疆鐜荤拑ID
+                downGlassTask.setStartCell("0");
+                downGlassTask.setEndCell(endcell);
+                downGlassTask.setTaskType("2");
+                downGlassTask.setWidth(item3.getWidth()); // 璁剧疆鐜荤拑瀹藉害
+                downGlassTask.setHeight(item3.getHeight()); // 璁剧疆鐜荤拑楂樺害
+                downGlassTask.setFilmsid(item3.getFilmsid()+""); // 璁剧疆鑶淚D
+                downGlassTask.setThickness(item3.getThickness()); // 璁剧疆鐜荤拑鍘氬害
+                downGlassTask.setFlowCardId(item3.getFlowCardId()); // 璁剧疆娴佺▼鍗″彿
+                downGlassTaskService.insertCacheTask(downGlassTask);
+                S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.28").getAddress(), SendEndcell);
+                S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.20").getAddress(), "1");
+                return true;
+            }
+        }
+
+
+        //鍚屾椂璇锋眰 浼樺厛鍚庣鍑虹墖
+        else if (!list3.isEmpty()) {
+            DownStorageCageDetails item3 = list3.get(0);
+            String endcell = "11";
+            String SendEndcell = "1";
+            // selectInfo.insertCacheTask(item3.getGlassId() + "", "0", endcell, "2", item3.getWidth(), item3.getHeight(), item3.getFilmsid(), item3.getThickness(), item3.getFlowCardId());
+            DownGlassTask downGlassTask = new DownGlassTask();
+            downGlassTask.setId(item3.getId()); // 璁剧疆鐜荤拑ID
+            downGlassTask.setStartCell("0");
+            downGlassTask.setEndCell(endcell);
+            downGlassTask.setTaskType("2");
+            downGlassTask.setWidth(item3.getWidth()); // 璁剧疆鐜荤拑瀹藉害
+            downGlassTask.setHeight(item3.getHeight()); // 璁剧疆鐜荤拑楂樺害
+            downGlassTask.setFilmsid(item3.getFilmsid()+""); // 璁剧疆鑶淚D
+            downGlassTask.setThickness(item3.getThickness()); // 璁剧疆鐜荤拑鍘氬害
+            downGlassTask.setFlowCardId(item3.getFlowCardId()); // 璁剧疆娴佺▼鍗″彿
+            downGlassTaskService.insertCacheTask(downGlassTask);
+
+            S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.28").getAddress(), SendEndcell);
+            S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.20").getAddress(), "1");
+            return true;
+
+        }
+        // 鎸夌収澶у皬绗﹀悎鍓嶇鍑虹墖
+        else if (!list.isEmpty()) {
+            DownStorageCageDetails item = list.get(0);
+
+            // 鍑哄埌 G06
+            //selectInfo.insertCacheTask(item.getGlassId() + "", "0", "06", "2", item.getWidth(), item.getHeight(), item.getFilmsid(), item.getThickness(), item.getFlowCardId());
+            DownGlassTask downGlassTask = new DownGlassTask();
+            downGlassTask.setId(item.getId()); // 璁剧疆鐜荤拑ID
+            downGlassTask.setStartCell("0");
+            downGlassTask.setEndCell("06");
+            downGlassTask.setTaskType("2");
+            downGlassTask.setWidth(item.getWidth()); // 璁剧疆鐜荤拑瀹藉害
+            downGlassTask.setHeight(item.getHeight()); // 璁剧疆鐜荤拑楂樺害
+            downGlassTask.setFilmsid(item.getFilmsid()+""); // 璁剧疆鑶淚D
+            downGlassTask.setThickness(item.getThickness()); // 璁剧疆鐜荤拑鍘氬害
+            downGlassTask.setFlowCardId(item.getFlowCardId()); // 璁剧疆娴佺▼鍗″彿
+            downGlassTaskService.insertCacheTask(downGlassTask);
+            S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.28").getAddress(), "1");
+            S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.20").getAddress(), "1");
+            return true;
+
+            // 鎸夌収椤哄簭绗﹀悎鍚庣鍑虹墖
+        } else if (!list2.isEmpty()) {
+            DownStorageCageDetails item2 = list2.get(0);
+
+            // 鍑哄埌 G11
+            // selectInfo.insertCacheTask(item2.getGlassId() + "", "0", "11", "2", item2.getWidth(), item2.getHeight(), item2.getFilmsid(), item2.getThickness(), item2.getFlowCardId());
+            DownGlassTask downGlassTask = new DownGlassTask();
+            downGlassTask.setId(item2.getId()); // 璁剧疆鐜荤拑ID
+            downGlassTask.setStartCell("0");
+            downGlassTask.setEndCell("11");
+            downGlassTask.setTaskType("2");
+            downGlassTask.setWidth(item2.getWidth()); // 璁剧疆鐜荤拑瀹藉害
+            downGlassTask.setHeight(item2.getHeight()); // 璁剧疆鐜荤拑楂樺害
+            downGlassTask.setFilmsid(item2.getFilmsid()+""); // 璁剧疆鑶淚D
+            downGlassTask.setThickness(item2.getThickness()); // 璁剧疆鐜荤拑鍘氬害
+            downGlassTask.setFlowCardId(item2.getFlowCardId()); // 璁剧疆娴佺▼鍗″彿
+            downGlassTaskService.insertCacheTask(downGlassTask);
+
+            S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.28").getAddress(), "2");
+            S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.20").getAddress(), "1");
+            return true;
+
+
+        }
+
+
+
+        // 杩斿洖缁撴灉
+        return false;
+    }
+
+
+
+
+
+
 }

--
Gitblit v1.8.0