From cbf12607ca1179d98f76d9b3a475d6224e85d59a Mon Sep 17 00:00:00 2001
From: wangfei <3597712270@qq.com>
Date: 星期四, 30 十月 2025 09:03:49 +0800
Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10105/r/YiWuProject

---
 hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/hollow/service/impl/HollowGlassOutRelationInfoServiceImpl.java |  179 +++++++++++++++++++++++++++++++++--------------------------
 1 files changed, 99 insertions(+), 80 deletions(-)

diff --git a/hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/hollow/service/impl/HollowGlassOutRelationInfoServiceImpl.java b/hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/hollow/service/impl/HollowGlassOutRelationInfoServiceImpl.java
index 92fd878..3b1bf13 100644
--- a/hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/hollow/service/impl/HollowGlassOutRelationInfoServiceImpl.java
+++ b/hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/hollow/service/impl/HollowGlassOutRelationInfoServiceImpl.java
@@ -14,7 +14,10 @@
 import com.mes.hollow.entity.HollowBigStorageCageDetails;
 import com.mes.hollow.entity.HollowFormulaDetails;
 import com.mes.hollow.entity.HollowGlassOutRelationInfo;
-import com.mes.hollow.entity.dto.*;
+import com.mes.hollow.entity.dto.LisecHollowDetails;
+import com.mes.hollow.entity.dto.LisecHollowFrameDetails;
+import com.mes.hollow.entity.dto.LisecHollowGlassAndFrameDetails;
+import com.mes.hollow.entity.dto.LisecHollowGlassDetails;
 import com.mes.hollow.entity.request.HollowHistoryTaskRequest;
 import com.mes.hollow.entity.request.HollowTaskRequest;
 import com.mes.hollow.mapper.HollowGlassOutRelationInfoMapper;
@@ -85,13 +88,13 @@
     private static final int ID_RATIO = 10;
 
     @Override
-    @Transactional
+//    @Transactional
     public HollowGlassOutRelationInfo receiveTask(HollowTaskRequest request) {
         return childrenTask(request, 0);
     }
 
     @Override
-    @Transactional
+//    @Transactional
     public HollowGlassOutRelationInfo forceOutGlass(HollowTaskRequest request) {
         return childrenTask(request, 1);
     }
@@ -200,6 +203,7 @@
         if (CollectionUtil.isEmpty(outRelationList) || outRelationList.size() != 1) {
             return "鏈潯绾夸笉瀛樺湪璇ユ祦绋嬩换鍔℃垨鑰呭悓娴佺▼鍗′换鍔℃暟澶т簬1";
         }
+        log.info("鏉庤禌鍏嬫祦绋嬪崱锛歿}", flowCardId);
         HollowGlassOutRelationInfo relationInfo = outRelationList.get(0);
         if (relationInfo.getTotalLayer() < 2) {
             return "浠诲姟鎬诲眰鏁板皬浜�2锛屼笉鐢熸垚鏉庤禌鍏嬫枃浠�";
@@ -209,6 +213,7 @@
         if (null == order) {
             return "鐢熸垚澶辫触锛岀浉鍏宠鍗曚俊鎭笉瀛樺湪";
         }
+        log.info("鏉庤禌鍏嬬浉鍏宠鍗曚俊鎭瘂}", order);
         //鑾峰彇閰嶆柟鐩稿叧淇℃伅
         HollowFormulaDetails formulaDetails = hollowFormulaDetailsService.getById(relationInfo.getFormulaId());
         if (null == formulaDetails) {
@@ -219,6 +224,8 @@
         if (layerCount != relationInfo.getTotalLayer() && isForce == 0) {
             return "鐢熸垚澶辫触锛岃娴佺▼鍗″唴灞傛暟涓庤繘绗煎叧绯昏〃鍐呭眰鏁版暟閲忎笉鐩稿悓";
         }
+
+        log.info("鏉庤禌鍏嬫�诲眰鏁皗}", layerCount);
         //璁剧疆鏂囦欢鐨勪富浣撳唴瀹�
         LisecHollowDetails details = new LisecHollowDetails();
         String randomNumber = "" + (int) (Math.random() * 100000 + 100000);
@@ -308,6 +315,7 @@
         // 鍒涘缓Calculator瀹炰緥
         Blank blank = new Blank();
 
+        log.info("鏉庤禌鍏嬪熀纭�鏁版嵁宸茬敓鎴愶細{}", details);
         // 鍒涘缓鏁版嵁妯″瀷
         Map<String, Object> root = new HashMap<>();
         root.put("blank", blank);
@@ -327,6 +335,8 @@
             writer.write(out.toString());
         } catch (TemplateException | IOException e) {
             e.printStackTrace();
+
+            log.info("鏉庤禌鍏嬬敓鎴愬紓甯革細{}", e.getMessage());
         }
         return "success";
     }
@@ -356,90 +366,99 @@
     }
 
     private HollowGlassOutRelationInfo childrenTask(HollowTaskRequest request, int isForce) {
-        GlassInfo glassInfo = glassInfoService.getOne(new LambdaQueryWrapper<GlassInfo>().eq(GlassInfo::getFlowCardId, request.getFlowCardId()).last("limit 1"));
-        HollowGlassOutRelationInfo info = new HollowGlassOutRelationInfo();
-        if (null == glassInfo) {
-            log.info("璇ユ祦绋嬪崱淇℃伅绯荤粺鏈壘鍒�");
-            return info;
-        }
-        List<HollowGlassOutRelationInfo> outRelationInfos = this.list(new LambdaQueryWrapper<HollowGlassOutRelationInfo>()
-                .eq(HollowGlassOutRelationInfo::getFlowCardId, request.getFlowCardId())
-                .in(HollowGlassOutRelationInfo::getState, Const.HOLLOW_FLOW_CARD_NEW, Const.HOLLOW_FLOW_CARD_START, Const.HOLLOW_FLOW_CARD_PAUSE));
-        if (CollectionUtil.isNotEmpty(outRelationInfos)) {
-            log.info("褰撳墠娴佺▼鍗℃湁鏈畬鎴愮殑浠诲姟");
-            return null;
-        }
-        //淇濆瓨浠诲姟鍏崇郴涓昏〃
-        info.setFlowCardId(request.getFlowCardId());
-        info.setCell(request.getCell());
-        info.setIsForce(isForce);
-        info.setTotalLayer(glassInfo.getTotalLayer());
-        info.setState(Const.HOLLOW_FLOW_CARD_NEW);
-        info.setTotalPairQuantity(request.getTotalPairQuantity());
-        info.setFormulaId(request.getFormulaId());
-        this.save(info);
-        // 鏌ヨ鍑洪渶瑕佸嚭鐜荤拑鐨勯槦鍒�
-        List<HollowBigStorageCageDetails> hollowBigStorageCageDetailsList = hollowBigStorageCageDetailsService
-                .queryOutGlassList(request.getFlowCardId(), request.getCell());
-        int isPairCount = glassInfo.getTotalLayer() * request.getTotalPairQuantity();
-        List<HollowGlassQueueInfo> hollowQueues = new ArrayList<>();
-        Integer carWidth = sysConfigService.queryConfigValue(ConstSysConfig.HOLLOW_CAR_WIDTH);
-//        Integer glassGap = sysConfigService.queryConfigValue(ConstSysConfig.HOLLOW_GLASS_GAP);
-        Integer glassGap = hollowGlassRelationInfoService.getGlassGapByThickness(hollowBigStorageCageDetailsList.get(0).getThickness());
-        if (930 == request.getCell()) {
-            Map<Integer, List<HollowBigStorageCageDetails>> listMap = hollowBigStorageCageDetailsList.stream()
-                    .collect(Collectors.groupingBy(HollowBigStorageCageDetails::getHollowSequence));
-            Map<Integer, List<HollowBigStorageCageDetails>> sortListMap = new TreeMap<>();
-            sortListMap.putAll(listMap);
-            for (Map.Entry<Integer, List<HollowBigStorageCageDetails>> entry : sortListMap.entrySet()) {
-                //鍒涘缓闃熷垪鎺ユ敹涓嶆弧瓒虫垚瀵规儏鍐典笅锛氫竴瀵圭幓鐠冨垎鍑犳涓婅溅鐨勬搴忛棶棰�
-                List<HollowGlassQueueInfo> tempList = new ArrayList<>();
-                //鍏堝皢鐜荤拑鎸夌収姝e父椤哄簭鎺掑垪锛岃绠椾竴杞︽渶澶氭斁鍑犲潡锛岀畻濂藉潡鏁颁箣鍚庡皢涓�杞︾殑鐜荤拑鎸夌収鍊掑簭瀛樺偍
-                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) {
-                        hollowQueues.addAll(CollectionUtil.reverse(tempList));
-                        tempList = new ArrayList<>();
-                        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(CollectionUtil.reverse(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;
+        try {
+
+            GlassInfo glassInfo = glassInfoService.getOne(new LambdaQueryWrapper<GlassInfo>().eq(GlassInfo::getFlowCardId, request.getFlowCardId()).last("limit 1"));
+            HollowGlassOutRelationInfo info = new HollowGlassOutRelationInfo();
+            if (null == glassInfo) {
+                log.info("璇ユ祦绋嬪崱淇℃伅绯荤粺鏈壘鍒�");
+                return info;
+            }
+            log.error("鍒涘缓浠诲姟鏃惰幏鍙栫幓鐠冧俊鎭細{}", info);
+            List<HollowGlassOutRelationInfo> outRelationInfos = this.list(new LambdaQueryWrapper<HollowGlassOutRelationInfo>()
+                    .eq(HollowGlassOutRelationInfo::getFlowCardId, request.getFlowCardId())
+                    .in(HollowGlassOutRelationInfo::getState, Const.HOLLOW_FLOW_CARD_NEW, Const.HOLLOW_FLOW_CARD_START, Const.HOLLOW_FLOW_CARD_PAUSE));
+            if (CollectionUtil.isNotEmpty(outRelationInfos)) {
+                log.info("褰撳墠娴佺▼鍗℃湁鏈畬鎴愮殑浠诲姟");
+                return null;
+            }
+            //淇濆瓨浠诲姟鍏崇郴涓昏〃
+            info.setFlowCardId(request.getFlowCardId());
+            info.setCell(request.getCell());
+            info.setIsForce(isForce);
+            info.setTotalLayer(glassInfo.getTotalLayer());
+            info.setState(Const.HOLLOW_FLOW_CARD_NEW);
+            info.setTotalPairQuantity(request.getTotalPairQuantity());
+            info.setFormulaId(request.getFormulaId());
+            this.save(info);
+            // 鏌ヨ鍑洪渶瑕佸嚭鐜荤拑鐨勯槦鍒�
+            List<HollowBigStorageCageDetails> hollowBigStorageCageDetailsList = hollowBigStorageCageDetailsService
+                    .queryOutGlassList(request.getFlowCardId(), request.getCell());
+            int isPairCount = glassInfo.getTotalLayer() * request.getTotalPairQuantity();
+            List<HollowGlassQueueInfo> hollowQueues = new ArrayList<>();
+            Integer carWidth = sysConfigService.queryConfigValue(ConstSysConfig.HOLLOW_CAR_WIDTH);
+            Integer glassGap = hollowGlassRelationInfoService.getGlassGapByThickness(hollowBigStorageCageDetailsList.get(0).getThickness());
+            if (930 == request.getCell()) {
+                Map<Integer, List<HollowBigStorageCageDetails>> listMap = hollowBigStorageCageDetailsList.stream()
+                        .collect(Collectors.groupingBy(HollowBigStorageCageDetails::getHollowSequence));
+                Map<Integer, List<HollowBigStorageCageDetails>> sortListMap = new TreeMap<>();
+                sortListMap.putAll(listMap);
+                for (Map.Entry<Integer, List<HollowBigStorageCageDetails>> entry : sortListMap.entrySet()) {
+                    //鍒涘缓闃熷垪鎺ユ敹涓嶆弧瓒虫垚瀵规儏鍐典笅锛氫竴瀵圭幓鐠冨垎鍑犳涓婅溅鐨勬搴忛棶棰�
+                    List<HollowGlassQueueInfo> tempList = new ArrayList<>();
+                    //鍏堝皢鐜荤拑鎸夌収姝e父椤哄簭鎺掑垪锛岃绠椾竴杞︽渶澶氭斁鍑犲潡锛岀畻濂藉潡鏁颁箣鍚庡皢涓�杞︾殑鐜荤拑鎸夌収鍊掑簭瀛樺偍
+                    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) {
+                            hollowQueues.addAll(CollectionUtil.reverse(tempList));
+                            tempList = new ArrayList<>();
+                            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(CollectionUtil.reverse(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;
+                        }
                     }
                 }
             }
-        }
-        hollowGlassQueueInfoService.saveBatch(hollowQueues);
-        try {
-            if (request.getCell() == 930) {
-                generateHollowLisecFile(request.getFlowCardId(), 930, isForce, 0);
+            hollowGlassQueueInfoService.saveBatch(hollowQueues);
+            try {
+                log.info("鏉庤禌鍏嬬敓鎴愭枃浠讹細{}", request);
+                if (request.getCell() == 930) {
+                    generateHollowLisecFile(request.getFlowCardId(), 930, isForce, 0);
+                }
+            } catch (Exception e) {
+                log.info("鐢熸垚鏉庤禌鍏嬫枃浠舵椂鍙戠敓寮傚父锛屾祦绋嬪崱鍙蜂负{}", request.getFlowCardId());
             }
+            return info;
+
         } catch (Exception e) {
-            log.info("鐢熸垚鏉庤禌鍏嬫枃浠舵椂鍙戠敓寮傚父锛屾祦绋嬪崱鍙蜂负{}", request.getFlowCardId());
+            log.error("鍒涘缓浠诲姟鏃跺彂鐢熷紓甯革細{}", e.getMessage());
+            throw new RuntimeException(e);
         }
-        return info;
     }
 
     private HollowGlassQueueInfo HollowBDetailToQueue(HollowBigStorageCageDetails details, Long taskId, int targetCell) {

--
Gitblit v1.8.0