From c2e92c3bd4fc134b27ba6a6271f63b032b2b9d99 Mon Sep 17 00:00:00 2001
From: admin <15939171744@163.com>
Date: 星期三, 28 八月 2024 15:46:32 +0800
Subject: [PATCH] -打印bug修改

---
 jcdm-main/src/main/java/com/jcdm/main/bs/formulaChild/service/impl/BsFormulaChildInfoServiceImpl.java |   70 ++++++++++++++++++++++++++++------
 1 files changed, 57 insertions(+), 13 deletions(-)

diff --git a/jcdm-main/src/main/java/com/jcdm/main/bs/formulaChild/service/impl/BsFormulaChildInfoServiceImpl.java b/jcdm-main/src/main/java/com/jcdm/main/bs/formulaChild/service/impl/BsFormulaChildInfoServiceImpl.java
index 38654eb..b74e37d 100644
--- a/jcdm-main/src/main/java/com/jcdm/main/bs/formulaChild/service/impl/BsFormulaChildInfoServiceImpl.java
+++ b/jcdm-main/src/main/java/com/jcdm/main/bs/formulaChild/service/impl/BsFormulaChildInfoServiceImpl.java
@@ -8,6 +8,7 @@
 import java.util.regex.Pattern;
 import java.util.stream.Collectors;
 
+import cn.hutool.core.util.ObjectUtil;
 import cn.hutool.core.util.StrUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -17,6 +18,8 @@
 import com.jcdm.common.utils.DateUtils;
 import com.jcdm.common.utils.StringUtils;
 import com.jcdm.framework.websocket.WebSocketUsers;
+import com.jcdm.main.bs.formulaChildInfoTemp.domain.BsFormulaChildInfoTemp;
+import com.jcdm.main.bs.formulaChildInfoTemp.service.IBsFormulaChildInfoTempService;
 import com.jcdm.main.da.paramCollection.domain.DaParamCollection;
 import com.jcdm.main.da.paramCollection.mapper.DaParamCollectionMapper;
 import com.jcdm.main.da.paramCollection.service.IDaParamCollectionService;
@@ -80,6 +83,9 @@
     private IDaParamCollectionTempService daParamCollectionTempService;
 
     Map<String, Session> map = WebSocketUsers.getUsers();
+
+    @Autowired
+    private IBsFormulaChildInfoTempService bsFormulaChildInfoTempService;
 
     /**
      * 鏌ヨ閰嶆柟閰嶇疆瀛愪俊鎭�
@@ -190,6 +196,12 @@
                 }
             }
         }
+//        for (BsFormulaChildInfo formulaChildInfo : infos) {
+//            if(bsFormulaChildInfo.getScanBarcode().contains(formulaChildInfo.getMaterialCode())) {
+//                bsFormulaChildInfos.add(formulaChildInfo);
+//                break;
+//            }
+//        }
         if(bsFormulaChildInfos.size()>0){
             String spareField4 = bsFormulaChildInfos.get(0).getSpareField4();
             bsFormulaChildInfos.get(0).setCollectData(bsFormulaChildInfo.getScanBarcode());
@@ -386,7 +398,9 @@
         LambdaUpdateWrapper<BsFormulaChildInfo> updateWrapper = new LambdaUpdateWrapper();
         updateWrapper.set(BsFormulaChildInfo::getCollectData, "");
         updateWrapper.set(BsFormulaChildInfo::getResults,"");
+        updateWrapper.set(BsFormulaChildInfo::getNgTimes,0);
         updateWrapper.eq(BsFormulaChildInfo::getProcessesCode, bsFormulaChildInfo.getLocationCode());
+        updateWrapper.eq(BsFormulaChildInfo::getProductCode, bsFormulaChildInfo.getProductCode());
         BsFormulaChildInfo info = new BsFormulaChildInfo();
         boolean update = this.update(info,updateWrapper);
         return AjaxResult.success(update);
@@ -495,9 +509,10 @@
         daParamCollectionTemp.setParamValue(bsFormulaChildInfo.getParamValue());
         daParamCollectionTemp.setProductCode(bsFormulaChildInfo.getProductCode());
         daParamCollectionTemp.setCollectionTime(new Date());
-        daParamCollection.setSfcCode(scanBarCode);
+        daParamCollectionTemp.setSfcCode(scanBarCode);
 
-        daParamCollectionTempService.save(daParamCollectionTemp);
+        boolean save = daParamCollectionTempService.save(daParamCollectionTemp);
+        System.out.println(save);
     }
 
     @Override
@@ -536,13 +551,18 @@
 
         String paramCode = bsFormulaChildInfo.getTightenTheArray();
         if(paramCode.contains("NG")){
-       /*     List<BsFormulaChildInfo> bsFormulaChildInfos = bsFormulaChildInfoMapper.selectBsFormulaChildInfoList(listQuery);
-            bsFormulaChildInfos.get(0).setResults("NG");
-            bsFormulaChildInfos.get(0).setCollectData(bsFormulaChildInfo.getTightenTheArray());
-*/
             bsFormulaChildInfo.setResults("NG");
             bsFormulaChildInfo.setCollectData(bsFormulaChildInfo.getTightenTheArray());
+
+            Integer ngTimes = bsFormulaChildInfo.getNgTimes();
+            bsFormulaChildInfo.setNgTimes(ngTimes+1);
             bsFormulaChildInfoMapper.updateBsFormulaChildInfo(bsFormulaChildInfo);
+
+            if(bsFormulaChildInfo.getNgTimes() > 3){
+                this.recordNgTighteningData(bsFormulaChildInfo.getLocationCode(), bsFormulaChildInfo.getProductCode(), bsFormulaChildInfo.getProductBarcode());
+                WebSocketUsers.sendMessageToUserByText(map.get(bsFormulaChildInfo.getLocationCode()), "NG");
+                return AjaxResult.error("瓒呰繃涓夋鎷х揣 pack NG涓嬬嚎锛�");
+            }
             return AjaxResult.error("鎷х揣缁撴灉NG,璇烽噸鏂版嫥绱э紒");
         }else {
             //List<BsFormulaChildInfo> bsFormulaChildInfos = bsFormulaChildInfoMapper.selectBsFormulaChildInfoList(listQuery);
@@ -568,13 +588,6 @@
                     // 鎵ц鎿嶄綔
                     if(spareField4.equals("1")){
                         try {
-    //                        //鏇存柊杩囩珯璁板綍琛ㄥ嚭绔欐椂闂�
-    //                        DaPassingStationCollection daPassingStationCollection = new DaPassingStationCollection();
-    //                        daPassingStationCollection.setWorkOrderNo(bsFormulaChildInfo.getWorkOrderNo());
-    //                        List<DaPassingStationCollection> daPassingStationCollections = daPassingStationCollectionMapper.selectDaPassingStationCollectionList(daPassingStationCollection);
-    //                        daPassingStationCollections.get(0).setOutboundTime(new Date());
-    //                        daPassingStationCollectionMapper.updateDaPassingStationCollection(daPassingStationCollections.get(0));
-//                            miloService.writeToOpcShort(ReadWriteEntity.builder().identifier("PACK."+bsFormulaChildInfo.getLocationCode()+".RecordDataDone").value(21).build());
                             WebSocketUsers.sendMessageToUserByText(map.get(bsFormulaChildInfo.getLocationCode()), "OUT");
                         } catch (Exception e) {
                             throw new RuntimeException(e);
@@ -587,7 +600,17 @@
                 String originalString = bsFormulaChildInfo.getTightenTheArray();
                 String modifiedString = originalString.replaceFirst("OK", "NG");
                 bsFormulaChildInfo.setCollectData(modifiedString);
+//                bsFormulaChildInfoMapper.updateBsFormulaChildInfo(bsFormulaChildInfo);
+
+                Integer ngTimes = bsFormulaChildInfo.getNgTimes();
+                bsFormulaChildInfo.setNgTimes(ngTimes+1);
                 bsFormulaChildInfoMapper.updateBsFormulaChildInfo(bsFormulaChildInfo);
+
+                if(bsFormulaChildInfo.getNgTimes() > 3){
+                    this.recordNgTighteningData(bsFormulaChildInfo.getLocationCode(), bsFormulaChildInfo.getProductCode(), bsFormulaChildInfo.getProductBarcode());
+                    WebSocketUsers.sendMessageToUserByText(map.get(bsFormulaChildInfo.getLocationCode()), "NG");
+                    return AjaxResult.error("瓒呰繃涓夋鎷х揣 pack NG涓嬬嚎锛�");
+                }
                 return AjaxResult.error("鎷х揣缁撴灉NG,璇烽噸鏂版嫥绱э紒");
             }
 
@@ -597,6 +620,27 @@
         return AjaxResult.success("鎷х揣鎴愬姛锛�");
     }
 
+    public void recordNgTighteningData(String locationCode,String productCode,String packId){
+        List<BsFormulaChildInfo> ngFormulaList = bsFormulaChildInfoService.list(new LambdaQueryWrapper<BsFormulaChildInfo>()
+                .eq(BsFormulaChildInfo::getProcessesCode, locationCode)
+                .eq(BsFormulaChildInfo::getProductCode, productCode)
+        );
+        List<BsFormulaChildInfo> filteredList = ngFormulaList.stream()
+                .filter(formula -> formula.getResults() != null && !formula.getResults().isEmpty())
+                .collect(Collectors.toList());
+        for (BsFormulaChildInfo childInfo : filteredList) {
+            BsFormulaChildInfoTemp childInfoTemp = new BsFormulaChildInfoTemp();
+            childInfoTemp.setCollectData(childInfo.getCollectData());
+            childInfoTemp.setResults(childInfo.getResults());
+            childInfoTemp.setSfcCode(packId);
+            childInfoTemp.setProcessesCode(childInfo.getProcessesCode());
+            childInfoTemp.setProductCode(childInfo.getProductCode());
+            childInfoTemp.setStepSort(childInfo.getStepSort());
+            childInfoTemp.setChildId(childInfo.getId());
+            bsFormulaChildInfoTempService.save(childInfoTemp);
+        }
+    }
+
 
 
 

--
Gitblit v1.9.3