From e70fb4b691d0411cb6de676256160255a153cada Mon Sep 17 00:00:00 2001
From: admin <15939171744@163.com>
Date: 星期四, 18 四月 2024 09:45:19 +0800
Subject: [PATCH] -

---
 jcdm-main/src/main/java/com/jcdm/main/bs/formulaChild/service/impl/BsFormulaChildInfoServiceImpl.java |   64 +++++++++++++++++++++++++++-----
 1 files changed, 54 insertions(+), 10 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 5548c31..91899ee 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
@@ -3,7 +3,11 @@
 import java.util.Date;
 import java.util.List;
 import java.util.Map;
+import java.util.stream.Collectors;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.jcdm.common.core.domain.AjaxResult;
 import com.jcdm.common.utils.DateUtils;
 import com.jcdm.framework.websocket.WebSocketUsers;
@@ -29,10 +33,13 @@
  * @date 2023-12-26
  */
 @Service
-public class BsFormulaChildInfoServiceImpl implements IBsFormulaChildInfoService 
+public class BsFormulaChildInfoServiceImpl extends ServiceImpl<BsFormulaChildInfoMapper,BsFormulaChildInfo> implements IBsFormulaChildInfoService
 {
     @Autowired
     private BsFormulaChildInfoMapper bsFormulaChildInfoMapper;
+
+    @Autowired
+    private IBsFormulaChildInfoService bsFormulaChildInfoService;
 
     @Autowired
     private DaParamCollectionMapper daParamCollectionMapper;
@@ -141,14 +148,23 @@
         return bsFormulaChildInfoMapper.releaseCheck(bsFormulaChildInfo);
     }
 
+    //1-闈炴湰宸ヤ綅鐗╂枡 2-姝e父鎵弿鍙户缁笅娆� 3-鎵弿缁撴潫宸茬粡鏄渶鍚庝竴浣嶅伐姝�
     @Override
     public AjaxResult updateResults(BsFormulaChildInfo bsFormulaChildInfo) {
-        BsFormulaChildInfo checkInfo = new BsFormulaChildInfo();
-        checkInfo.setProcessesCode(bsFormulaChildInfo.getLocationCode());
-        checkInfo.setProductCode(bsFormulaChildInfo.getProductCode());
-        bsFormulaChildInfo.setMaterialCode(bsFormulaChildInfo.getScanBarcode().substring(1,2));
-        List<BsFormulaChildInfo> bsFormulaChildInfos = bsFormulaChildInfoMapper.selectBsFormulaChildInfoList(bsFormulaChildInfo);
+        String result = "";
+//        BsFormulaChildInfo checkInfo = new BsFormulaChildInfo();
+//        checkInfo.setProcessesCode(bsFormulaChildInfo.getLocationCode());
+//        checkInfo.setProductCode(bsFormulaChildInfo.getProductCode());
+////        checkInfo.setMaterialCode(bsFormulaChildInfo.getScanBarcode());
+//        bsFormulaChildInfo.setMaterialCode(bsFormulaChildInfo.getScanBarcode().substring(1,2));
+//        List<BsFormulaChildInfo> bsFormulaChildInfos = bsFormulaChildInfoMapper.selectBsFormulaChildInfoList(checkInfo);
+        List<BsFormulaChildInfo> bsFormulaChildInfos = bsFormulaChildInfoService.list(new LambdaQueryWrapper<BsFormulaChildInfo>()
+                .eq(BsFormulaChildInfo::getProcessesCode, bsFormulaChildInfo.getLocationCode())
+                .eq(BsFormulaChildInfo::getProductCode, bsFormulaChildInfo.getProductCode())
+                .eq(BsFormulaChildInfo::getMaterialCode, bsFormulaChildInfo.getScanBarcode().substring(1, 2))
+        );
         if(bsFormulaChildInfos.size()>0){
+            String spareField4 = bsFormulaChildInfos.get(0).getSpareField4();
             bsFormulaChildInfos.get(0).setCollectData(bsFormulaChildInfo.getScanBarcode());
             bsFormulaChildInfos.get(0).setResults("OK");
             bsFormulaChildInfoMapper.updateBsFormulaChildInfo(bsFormulaChildInfos.get(0));
@@ -156,10 +172,21 @@
             bsFormulaChildInfo.setParamCode(bsFormulaChildInfos.get(0).getParamCode());
             bsFormulaChildInfo.setSfcBarcode(bsFormulaChildInfo.getSfcBarcode());
             addParameterCollection(bsFormulaChildInfo);
+            if (spareField4 != null && !spareField4.isEmpty()) {
+                // 鎵ц鎿嶄綔
+                if(bsFormulaChildInfos.get(0).getSpareField4().equals("1")){
+                    try {
+                        result = "3";
+                        miloService.writeToOpcShort(ReadWriteEntity.builder().identifier("PACK."+bsFormulaChildInfo.getLocationCode()+".RecordDataDone").value(21).build());
+                    } catch (Exception e) {
+                        throw new RuntimeException(e);
+                    }
+                }
+            }
         }else {
-            return AjaxResult.error("闈炴湰宸ヤ綅鐗╂枡锛岃閲嶆柊鎵弿");
+            result = "1";
         }
-        return AjaxResult.success("鎴愬姛");
+        return AjaxResult.success(result);
     }
 
     public void addParameterCollection(BsFormulaChildInfo bsFormulaChildInfo){
@@ -176,12 +203,29 @@
 
     @Override
     public AjaxResult workpieceRelease(BsFormulaChildInfo bsFormulaChildInfo) {
-        bsFormulaChildInfoMapper.workpieceRelease(bsFormulaChildInfo);
+        List<BsFormulaChildInfo> list = bsFormulaChildInfoService.list(new LambdaQueryWrapper<BsFormulaChildInfo>()
+                .eq(BsFormulaChildInfo::getProcessesCode, bsFormulaChildInfo.getLocationCode())
+                .eq(BsFormulaChildInfo::getProductCode, bsFormulaChildInfo.getProductCode()));
+        for (BsFormulaChildInfo info : list) {
+            info.setCollectData("");
+            info.setResults("");
+            bsFormulaChildInfoService.saveOrUpdate(info);
+        }
         return AjaxResult.success();
     }
 
     @Override
     public AjaxResult updateTighteningFormula(BsFormulaChildInfo bsFormulaChildInfo) {
+        BsFormulaChildInfo getMaterTwo = new BsFormulaChildInfo();
+        getMaterTwo.setProcessesCode(bsFormulaChildInfo.getLocationCode());
+        getMaterTwo.setOperationType("2");
+        List<BsFormulaChildInfo> operationType = bsFormulaChildInfoMapper.selectBsFormulaChildInfoList(getMaterTwo);
+        List<String> collect = operationType.stream().map(BsFormulaChildInfo::getResults).collect(Collectors.toList());
+        for (String s : collect) {
+            if(s.equals("")){
+                return AjaxResult.error("鎵弿鏈畬鎴愶紝绂佹鎷х揣鎿嶄綔锛�");
+            }
+        }
         BsFormulaChildInfo listQuery = new BsFormulaChildInfo();
         listQuery.setParamCode(bsFormulaChildInfo.getParamCode());
         String paramCode = bsFormulaChildInfo.getTightenTheArray();
@@ -207,7 +251,7 @@
 //                        List<DaPassingStationCollection> daPassingStationCollections = daPassingStationCollectionMapper.selectDaPassingStationCollectionList(daPassingStationCollection);
 //                        daPassingStationCollections.get(0).setOutboundTime(new Date());
 //                        daPassingStationCollectionMapper.updateDaPassingStationCollection(daPassingStationCollections.get(0));
-                        miloService.writeToOpcShort(ReadWriteEntity.builder().identifier("OP."+bsFormulaChildInfo.getLocationCode()+".RecordDataDone").value(21).build());
+                        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);

--
Gitblit v1.9.3