From 5316c506119ad056a5640650e5e79babe4194d38 Mon Sep 17 00:00:00 2001
From: admin <15939171744@163.com>
Date: 星期四, 25 四月 2024 20:33:31 +0800
Subject: [PATCH] -

---
 jcdm-main/src/main/java/com/jcdm/main/da/paramCollection/service/impl/DaParamCollectionServiceImpl.java |   82 ++++++++++++++++++++++++++++++++++++++++
 1 files changed, 81 insertions(+), 1 deletions(-)

diff --git a/jcdm-main/src/main/java/com/jcdm/main/da/paramCollection/service/impl/DaParamCollectionServiceImpl.java b/jcdm-main/src/main/java/com/jcdm/main/da/paramCollection/service/impl/DaParamCollectionServiceImpl.java
index 35c193d..c4d4395 100644
--- a/jcdm-main/src/main/java/com/jcdm/main/da/paramCollection/service/impl/DaParamCollectionServiceImpl.java
+++ b/jcdm-main/src/main/java/com/jcdm/main/da/paramCollection/service/impl/DaParamCollectionServiceImpl.java
@@ -1,10 +1,15 @@
 package com.jcdm.main.da.paramCollection.service.impl;
 
 import cn.hutool.core.date.DateUtil;
+import cn.hutool.db.Db;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.jcdm.common.utils.DateUtils;
+import com.jcdm.main.bs.formula.service.IBsFormulaInfoService;
+import com.jcdm.main.bs.formula.service.impl.BsFormulaInfoServiceImpl;
 import com.jcdm.main.bs.formulaChild.domain.BsFormulaChildInfo;
 import com.jcdm.main.bs.formulaChild.mapper.BsFormulaChildInfoMapper;
+import com.jcdm.main.bs.formulaChild.service.IBsFormulaChildInfoService;
 import com.jcdm.main.da.collectionParamConf.domain.DaCollectionParamConf;
 import com.jcdm.main.da.collectionParamConf.mapper.DaCollectionParamConfMapper;
 import com.jcdm.main.da.paramCollection.domain.DaParamCollection;
@@ -13,11 +18,16 @@
 import com.jcdm.main.da.passingStationCollection.domain.DaPassingStationCollection;
 import com.jcdm.main.da.passingStationCollection.mapper.DaPassingStationCollectionMapper;
 import com.jcdm.main.da.passingStationCollection.service.IDaPassingStationCollectionService;
+import com.jcdm.main.plcserver.sub.OPCUaSubscription;
 import com.kangaroohy.milo.model.ReadWriteEntity;
 import com.kangaroohy.milo.service.MiloService;
+import org.apache.ibatis.session.ExecutorType;
+import org.apache.ibatis.session.SqlSession;
+import org.apache.ibatis.session.SqlSessionFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import javax.annotation.Resource;
 import java.util.*;
 
 /**
@@ -39,10 +49,19 @@
     private BsFormulaChildInfoMapper bsFormulaChildInfoMapper;
 
     @Autowired
+    private IBsFormulaChildInfoService bsFormulaChildInfoService;
+
+    @Autowired
     private MiloService miloService;
 
     @Autowired
     private DaPassingStationCollectionMapper daPassingStationCollectionMapper;
+
+    @Resource
+    private SqlSessionFactory sqlSessionFactory;
+
+    @Autowired
+    private IDaParamCollectionService daParamCollectionService;
 
     /**
      * 鏌ヨ璁惧浜у搧杩囩▼鍙傛暟閲囬泦
@@ -66,6 +85,27 @@
     public List<DaParamCollection> selectDaParamCollectionList(DaParamCollection daParamCollection)
     {
         return daParamCollectionMapper.selectDaParamCollectionList(daParamCollection);
+    }
+
+    @Override
+    public void saveBeachDaParamCollection(List<DaParamCollection> list) {
+        // ExecutorType.SIMPLE: 杩欎釜鎵ц鍣ㄧ被鍨嬩笉鍋氱壒娈婄殑浜嬫儏銆傚畠涓烘瘡涓鍙ョ殑鎵ц鍒涘缓涓�涓柊鐨勯澶勭悊璇彞銆�
+        // ExecutorType.REUSE: 杩欎釜鎵ц鍣ㄧ被鍨嬩細澶嶇敤棰勫鐞嗚鍙ャ��
+        // ExecutorType.BATCH: 杩欎釜鎵ц鍣ㄤ細鎵归噺鎵ц鎵�鏈夋洿鏂拌鍙�,濡傛灉 SELECT 鍦ㄥ畠浠腑闂存墽琛岃繕浼氭爣瀹氬畠浠槸 蹇呴』鐨�,鏉ヤ繚璇佷竴涓畝鍗曞苟鏄撲簬鐞嗚В鐨勮涓恒��
+
+        // 鍏抽棴session鐨勮嚜鍔ㄦ彁浜�
+        SqlSession sqlSession = sqlSessionFactory.openSession(ExecutorType.BATCH, false);
+        try {
+            DaParamCollectionMapper userMapper = sqlSession.getMapper(DaParamCollectionMapper.class);
+            list.stream().forEach(DaParamCollection -> userMapper.insertDaParamCollection(DaParamCollection));
+            // 鎻愪氦鏁版嵁
+            sqlSession.commit();
+            sqlSession.rollback();
+        } catch (Exception e) {
+            sqlSession.rollback();
+        } finally {
+            sqlSession.close();
+        }
     }
 
     /**
@@ -166,6 +206,18 @@
 
     @Override
     public void saveCampaignTimeParameters(DaParamCollection daParamCollection) {
+        List<BsFormulaChildInfo> list = bsFormulaChildInfoService.list(new LambdaQueryWrapper<BsFormulaChildInfo>()
+                .eq(BsFormulaChildInfo::getProcessesCode, daParamCollection.getLocationCode())
+                .eq(BsFormulaChildInfo::getSpareField4, "1")
+        );
+        if(!list.get(0).getResults().equals("OK")){
+            try {
+                miloService.writeToOpcShort(ReadWriteEntity.builder().identifier("PACK."+daParamCollection.getLocationCode()+".RecordDataDone").value(22).build());
+            } catch (Exception e) {
+                throw new RuntimeException(e);
+            }
+            return;
+        }
         BsFormulaChildInfo bsFormulaChildInfo = new BsFormulaChildInfo();
         bsFormulaChildInfo.setProcessesCode(daParamCollection.getLocationCode());
         bsFormulaChildInfo.setProductCode(daParamCollection.getProductCode());
@@ -193,15 +245,43 @@
                 //鏇存柊杩囩珯璁板綍琛ㄥ嚭绔欐椂闂�
                 DaPassingStationCollection daPassingStationCollection = new DaPassingStationCollection();
                 daPassingStationCollection.setWorkOrderNo(daParamCollection.getWorkOrderNo());
+                daPassingStationCollection.setLocationCode(daParamCollection.getLocationCode());
                 List<DaPassingStationCollection> daPassingStationCollections = daPassingStationCollectionMapper.selectDaPassingStationCollectionList(daPassingStationCollection);
                 daPassingStationCollections.get(0).setOutboundTime(new Date());
                 int i = daPassingStationCollectionMapper.updateDaPassingStationCollection(daPassingStationCollections.get(0));
 
+//                OPCUaSubscription.SaveParamData(daParamCollection.getProductBarcode(),"OP",daParamCollection.getLocationCode(),daParamCollection.getWorkOrderNo(),daParamCollection.getProductCode());
+
                 //缁檕pc鍙�21
-                miloService.writeToOpcShort(ReadWriteEntity.builder().identifier("OP."+daParamCollection.getLocationCode()+".RecordDataDone").value(21).build());
+                miloService.writeToOpcShort(ReadWriteEntity.builder().identifier("PACK."+daParamCollection.getLocationCode()+".RecordDataDone").value(21).build());
             } catch (Exception e) {
                 throw new RuntimeException(e);
             }
         }
     }
+
+    @Override
+    public void insertBatch(List<DaParamCollection> confList){
+        try{
+            this.saveBatch(confList);
+        }catch (Exception e){
+            return;
+        }
+
+    }
+
+    @Override
+    public void replaceAssemblyCode(DaParamCollection daParamCollection) {
+        List<DaParamCollection> list = daParamCollectionService.list(new LambdaQueryWrapper<DaParamCollection>()
+                .eq(DaParamCollection::getSfcCode, daParamCollection.getSfcCode())
+                .eq(DaParamCollection::getLocationCode, daParamCollection.getLocationCode())
+        );
+        if(list.size() > 0){
+            for (DaParamCollection paramCollection : list) {
+                paramCollection.setSfcCode(daParamCollection.getYzSfcCode());
+                daParamCollectionService.saveOrUpdate(paramCollection);
+            }
+        }
+
+    }
 }

--
Gitblit v1.9.3